updates 18.0.5 → 18.0.6

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/README.md CHANGED
@@ -44,7 +44,7 @@ npx updates -u && npm i
44
44
  |`-m, --minor [<dep,...>]`|Consider only up to semver-minor|
45
45
  |`-d, --allow-downgrade [<dep,...>]`|Allow downgrading onto a lower `latest` tag|
46
46
  |`-s, --sockets <num>`|Maximum number of parallel HTTP sockets opened. Default: 50|
47
- |`-T, --timeout <ms>`|Network request timeout in ms. Default: 5000|
47
+ |`-T, --timeout <ms>`|Network request timeout in ms, go probes use half. Default: 5000|
48
48
  |`-r, --registry <url>`|Override npm registry URL|
49
49
  |`-I, --indirect`|Include indirect Go dependencies|
50
50
  |`-E, --error-on-outdated`|Exit with code 2 when updates are available and 0 when not|
@@ -63,7 +63,7 @@ A failed lookup is reported on its own, does not hold back the other results and
63
63
 
64
64
  ## Config File
65
65
 
66
- Configure via `updates.config.{ts,js,mjs,mts}`. Each manifest uses the nearest config above it, and workspace members use the workspace root config. CLI arguments win over configured values, including `include`, `exclude` and `pin`.
66
+ Configure via `updates.config.{js,ts,mjs,mts}`. Each manifest uses the nearest config above it, and workspace members use the workspace root config. CLI arguments win over configured values, including `include`, `exclude` and `pin`.
67
67
 
68
68
  ```ts
69
69
  import type {Config} from "updates";
@@ -103,7 +103,7 @@ export default {
103
103
 
104
104
  ### Renovate config
105
105
 
106
- A [Renovate](https://docs.renovatebot.com/) `renovate.json` is picked up automatically, inheriting `ignoreDeps`, `enabled` and `allowedVersions` from matching `packageRules` as `include`/`exclude`/`pin`. Exact-name `allowedVersions` ranges become pin ceilings that never downgrade. Configs using `extends` are rejected. `minimumReleaseAge` is not inherited unless opted in:
106
+ A [Renovate](https://docs.renovatebot.com/) `renovate.json`, `renovate.jsonc` or `renovate.json5` is picked up automatically, inheriting `ignoreDeps`, `enabled` and `allowedVersions` from matching local `packageRules` as `include`/`exclude`/`pin`. Exact-name `allowedVersions` ranges become pin ceilings that never downgrade. Local fields are imported when `extends` is present, but preset contents are not resolved. `minimumReleaseAge` is not inherited unless opted in:
107
107
 
108
108
  ```ts
109
109
  export default {
package/dist/api.d.ts CHANGED
@@ -39,7 +39,7 @@ type Config = {
39
39
  noColor?: boolean;
40
40
  /** Disable HTTP cache */
41
41
  noCache?: boolean;
42
- /** Network request timeout in ms */
42
+ /** Network request timeout in ms, go probes use half */
43
43
  timeout?: number;
44
44
  /** Maximum number of parallel HTTP sockets */
45
45
  sockets?: number;
package/dist/api.js CHANGED
@@ -1 +1 @@
1
- import{O as e,a as t}from"./shared.js";export{e as cliConfigBaseDir,t as updates};
1
+ import{D as e,r as t}from"./shared.js";export{e as cliConfigBaseDir,t as updates};
package/dist/cli.js CHANGED
@@ -1 +1 @@
1
- import{n as e,r as t}from"./shared.js";export{e as parseCliArgs,t as resolveConfig};
1
+ import{n as e,t}from"./shared.js";export{t as parseCliArgs,e as resolveConfig};
package/dist/dns.js CHANGED
@@ -1 +1 @@
1
- import e from"node:dns";let t=null;function n(){if(t){if(e.lookup===t.lookup)return t.users++,r(t);t=null}let n=new Map,i=new Map,a=e.lookup,o=function(t,...r){let o=typeof r[0]!=`function`,s=o?r[0]:void 0,c=typeof s==`number`?{family:s}:s||{},l=o?r[1]:r[0];if(typeof l!=`function`)return a.call(e,t,...r);let u=JSON.stringify([t,c.family??0,c.hints??0,!!c.all,c.order??``,c.verbatim??``]),d=n.get(u);if(d){if(d.expires>Date.now()){queueMicrotask(()=>l(null,...d.result));return}n.delete(u)}let f=i.get(u);if(f){f.push(l);return}i.set(u,[l]);let p=(e,...t)=>{queueMicrotask(()=>{let r=i.get(u);i.delete(u),e||(n.size>=512&&n.delete(n.keys().next().value),n.set(u,{expires:Date.now()+6e4,result:t}));for(let n of r)n(e,...t)})};try{o?a.call(e,t,s,p):a.call(e,t,p)}catch(e){throw i.delete(u),e}};return e.lookup=o,t={lookup:o,original:a,users:1},r(t)}function r(n){let r=!1;return()=>{r||(r=!0,n.users--,!n.users&&(e.lookup===n.lookup&&(e.lookup=n.original),t===n&&(t=null)))}}export{n as enableDnsCache};
1
+ import e from"node:dns";let t=null;function n(){if(e.lookup===t?.lookup)return t.users++,r(t);let n=new Map,i=new Map,a=e.lookup,o=function(t,...r){let o=typeof r[0]!=`function`,s=o?r[0]:void 0,c=typeof s==`number`?{family:s}:s||{},l=o?r[1]:r[0];if(typeof l!=`function`)return a.call(e,t,...r);let u=JSON.stringify([t,c.family??0,c.hints??0,!!c.all,c.order??``,c.verbatim??``]),d=n.get(u);if(d){if(d.expires>Date.now()){queueMicrotask(()=>l(null,...d.result));return}n.delete(u)}let f=i.get(u);if(f){f.push(l);return}i.set(u,[l]);let p=(e,...t)=>{queueMicrotask(()=>{let r=i.get(u);i.delete(u),e||(n.size>=512&&n.delete(n.keys().next().value),n.set(u,{expires:Date.now()+6e4,result:t}));for(let n of r)n(e,...t)})};try{o?a.call(e,t,s,p):a.call(e,t,p)}catch(e){throw i.delete(u),e}};return e.lookup=o,t={lookup:o,original:a,users:1},r(t)}function r(n){let r=!1;return()=>{r||(r=!0,n.users--,!n.users&&(e.lookup===n.lookup&&(e.lookup=n.original),t===n&&(t=null)))}}export{n as enableDnsCache};
package/dist/go.js CHANGED
@@ -1 +1 @@
1
- import{C as e,D as t,E as n,S as r,T as i,_ as a,b as o,c as s,d as c,f as l,g as u,h as d,l as f,m as p,o as m,p as h,s as g,u as _,v,w as y,x as b,y as x}from"./shared.js";export{m as buildGoModulePath,g as encodeGoModulePath,s as extractGoMajor,f as fetchFromGoProxyChain,_ as fetchGoLatestOnce,c as fetchGoProxyInfo,l as getGoInfoUrl,h as goModulePathForVersion,p as goProxyHeaders,d as isGoNoProxy,u as parseGoMod,a as parseGoNoProxy,v as parseGoProxy,x as parseGoWork,o as pickGoListVersion,b as resolveGoProxyChain,r as resolveGoWorkModule,e as rewriteGoImportPaths,y as rewriteGoImports,i as shortenGoModule,n as shortenGoVersion,t as updateGoMod};
1
+ import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,o as h,p as g,s as _,u as v,v as y,w as b,x,y as S}from"./shared.js";export{f as buildGoModulePath,a as encodeGoModulePath,h as extractGoMajor,_ as fetchFromGoProxyChain,s as fetchGoLatestOnce,p as fetchGoProxyInfo,v as getGoInfoUrl,c as goModulePathForVersion,l as goProxyHeaders,g as isGoNoProxy,m as parseGoMod,d as parseGoModule,u as parseGoNoProxy,i as parseGoProxy,y as parseGoWork,S as pickGoListVersion,o as resolveGoProxyChain,x as resolveGoWorkModule,n as rewriteGoImportPaths,e as rewriteGoImports,b as shortenGoModule,r as shortenGoVersion,t as updateGoMod};
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{argv as e,exit as t,platform as n,stderr as r,stdout as i,versions as a}from"node:process";import{readFileSync as o,statSync as s}from"node:fs";import{dirname as c,join as l,resolve as u}from"node:path";import{pathToFileURL as d}from"node:url";let f=String,p=String,m=!1;const h=new Set(`deflCpgPtmsTriM`);function g(e,t,n){if(e.includes(`--${t}`))return!0;for(let t of e){if(!/^-[^-]/.test(t))continue;let e=t.slice(1),r=e.indexOf(n);if(r!==-1&&Array.from(e.slice(0,r)).every(e=>!h.has(e)))return!0}return!1}const _={d:`allow-downgrade`,e:`exclude`,f:`file`,l:`pin`,C:`cooldown`,p:`prerelease`,R:`release`,g:`greatest`,t:`types`,P:`patch`,m:`minor`,s:`sockets`,T:`timeout`,r:`registry`,i:`include`,M:`modes`,forgeapi:`forgeapi`,pypiapi:`pypiapi`,jsrapi:`jsrapi`,goproxy:`goproxy`,cargoapi:`cargoapi`,dockerapi:`dockerapi`,file:`file`,modes:`modes`,registry:`registry`};async function v(e){let t={},n;for(let r=0;r<e.length;r++){let i=e[r];if(!i.startsWith(`-`)){n??=i;continue}let a=/^--([^=]+)(?:=(.*))?$/.exec(i),o=/^-([A-Za-z])(.*)$/.exec(i),s=a?_[a[1]]:o?_[o[1]]:void 0;if(!s)continue;let c=a?a[2]:o?.[2],l=c||e[r+1]?.startsWith(`-`)===!1?c||e[++r]:void 0;l!==void 0&&(s===`file`||s===`modes`?(t[s]??=[]).push(...l.split(`,`)):t[s]=l)}let r=t.file?.[0]??n,i=r?u(r):process.cwd(),a=r?c(i):i;try{s(i).isDirectory()&&(a=i)}catch{}let o={};configSearch:for(let e=a;;e=c(e)){for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=l(e,`updates.config.${t}`);try{if(!s(n).isFile())continue;o=(await import(d(n).href)).default??{};break configSearch}catch{}}if(c(e)===e)break}o={...o,...t};let f=Array.isArray(o.file)?o.file:o.files,{prewarmOrigins:p}=await import(`./prewarm.js`);for(let e of p(a,{...o,files:f}))(async()=>{try{await fetch(e,{method:`HEAD`})}catch{}})()}async function y(e,r){if(e){let t=e.message??String(e);console.info(m?JSON.stringify({error:t}):f(t))}n===`win32`&&Number(a.node.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),t(r??+!!e)}async function b(){for(let e of[i,r])e?._handle?.setBlocking?.(!0);let t=e.slice(2);if(m=g(t,`json`,`j`),g(t,`help`,`h`)&&(i.write(`usage: updates [options] [files...]
2
+ import{argv as e,exit as t,platform as n,stderr as r,stdout as i,versions as a}from"node:process";import{readFileSync as o,statSync as s}from"node:fs";import{dirname as c,join as l,resolve as u}from"node:path";import{pathToFileURL as d}from"node:url";let f=String,p=String,m=!1;const h={d:`allow-downgrade`,e:`exclude`,f:`file`,l:`pin`,C:`cooldown`,p:`prerelease`,R:`release`,g:`greatest`,t:`types`,P:`patch`,m:`minor`,s:`sockets`,T:`timeout`,r:`registry`,i:`include`,M:`modes`,forgeapi:`forgeapi`,pypiapi:`pypiapi`,jsrapi:`jsrapi`,goproxy:`goproxy`,cargoapi:`cargoapi`,dockerapi:`dockerapi`},g=new Set(Object.keys(h));for(let e of Object.values(h))h[e]=e;function _(e,t,n){if(e.includes(`--${t}`))return!0;for(let t of e){if(!/^-[^-]/.test(t))continue;let e=t.slice(1),r=e.indexOf(n);if(r!==-1&&Array.from(e.slice(0,r)).every(e=>!g.has(e)))return!0}return!1}async function v(e){let t={},n;for(let r=0;r<e.length;r++){let i=e[r];if(!i.startsWith(`-`)){n??=i;continue}let a=/^--([^=]+)(?:=(.*))?$/.exec(i),o=/^-([A-Za-z])(.*)$/.exec(i),s=a?h[a[1]]:o?h[o[1]]:void 0;if(!s)continue;let c=(a?a[2]:o?.[2])||(e[r+1]?.startsWith(`-`)===!1?e[++r]:void 0);c!==void 0&&(s===`file`||s===`modes`?(t[s]??=[]).push(...c.split(`,`)):t[s]=c)}let r=t.file?.[0]??n,i=r?u(r):process.cwd(),a=r?c(i):i;try{s(i).isDirectory()&&(a=i)}catch{}let o={};configSearch:for(let e=a;;e=c(e)){for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=l(e,`updates.config.${t}`);try{if(!s(n).isFile())continue;o=(await import(d(n).href)).default??{};break configSearch}catch{}}if(c(e)===e)break}o={...o,...t};let f=Array.isArray(o.file)?o.file:o.files,{prewarmOrigins:p}=await import(`./prewarm.js`);for(let e of p(a,{...o,files:f}))(async()=>{try{await fetch(e,{method:`HEAD`})}catch{}})()}async function y(e,r){if(e){let t=e.message??String(e);console.info(m?JSON.stringify({error:t}):f(t))}n===`win32`&&Number(a.node.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),t(r??+!!e)}async function b(){for(let e of[i,r])e._handle?.setBlocking?.(!0);let t=e.slice(2);if(m=_(t,`json`,`j`),_(t,`help`,`h`)&&(i.write(`usage: updates [options] [files...]
3
3
 
4
4
  Options:
5
5
  -u, --update Update versions and write dependency file
@@ -44,4 +44,4 @@ import{argv as e,exit as t,platform as n,stderr as r,stdout as i,versions as a}f
44
44
  $ updates -f Dockerfile
45
45
  $ updates -f docker-compose.yml
46
46
  $ updates -f Makefile
47
- `),await y()),g(t,`version`,`v`)){let e;try{e=o(new URL(`package.json`,import.meta.url),`utf8`)}catch{e=o(new URL(`../package.json`,import.meta.url),`utf8`)}console.info(JSON.parse(e).version),await y()}try{await v(t)}catch{}let{parseCliArgs:n,resolveConfig:a}=await import(`./cli.js`),{args:s,positionals:c}=n(),l=await a(s,c),[{updates:u},{highlightDiff:d,textTable:h},{shortenGoModule:_},{stripVTControlCharacters:b,styleText:S}]=await Promise.all([import(`./api.js`),import(`./utils.js`),import(`./go.js`),import(`node:util`)]);!l.noColor&&(l.color||i.isTTY)&&(f=e=>S(`red`,String(e),{validateStream:!1}),p=e=>S(`green`,String(e),{validateStream:!1})),m=!!l.json;let C=await u(l),w=Object.keys(C.results).length>0,T=C.errors??[];if(l.json?console.info(JSON.stringify({...C.message&&{message:C.message},...w&&{results:C.results},...T.length&&{errors:T}})):C.message?console.info(C.message):w&&console.info(x(C,_,d,h,b)),l.update&&!l.json)for(let e of Object.keys(C.results))console.info(p(`✨ ${e} updated`));if(!l.json)for(let{mode:e,name:t,error:n}of T)console.info(f(`${e} ${t}: ${n}`));await y(void 0,T.length?1:l.errorOnOutdated?w?2:0:l.errorOnUnchanged?w?0:2:0)}function x(e,t,n,r,i){let a=Object.keys(e.results),o=a.length>1,s=[o?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],c=new Set;for(let r of a){let i=Object.values(e.results[r]).flatMap(e=>Object.entries(e));for(let[e,a]of i.sort(([e],[t])=>e<t?-1:+(e>t))){let i=`${r}|${e}|${a.old}|${a.new}`;c.has(i)||(c.add(i),s.push([r===`go`?t(e):e,...o?[r]:[],n(a.old,a.new,f),n(a.new,a.old,p),a.age||``,a.info||``]))}}return r(s,e=>i(e).length)}try{await b()}catch(e){await y(e)}export{};
47
+ `),await y()),_(t,`version`,`v`)){let e;try{e=o(new URL(`package.json`,import.meta.url),`utf8`)}catch{e=o(new URL(`../package.json`,import.meta.url),`utf8`)}console.info(JSON.parse(e).version),await y()}try{await v(t)}catch{}let{parseCliArgs:n,resolveConfig:a}=await import(`./cli.js`),{args:s,positionals:c}=n(),l=await a(s,c),[{updates:u},{highlightDiff:d,textTable:h},{shortenGoModule:g},{stripVTControlCharacters:b,styleText:S}]=await Promise.all([import(`./api.js`),import(`./utils.js`),import(`./go.js`),import(`node:util`)]);!l.noColor&&(l.color||i.isTTY)&&(f=e=>S(`red`,String(e),{validateStream:!1}),p=e=>S(`green`,String(e),{validateStream:!1})),m=!!l.json;let C=await u(l),w=Object.keys(C.results).length>0,T=C.errors??[];if(l.json?console.info(JSON.stringify({...C.message&&{message:C.message},...w&&{results:C.results},...T.length&&{errors:T}})):C.message?console.info(C.message):w&&console.info(x(C,g,d,h,b)),l.update&&!l.json)for(let e of Object.keys(C.results))console.info(p(`✨ ${e} updated`));if(!l.json)for(let{mode:e,name:t,error:n}of T)console.info(f(`${e} ${t}: ${n}`));await y(void 0,T.length?1:l.errorOnOutdated?w?2:0:l.errorOnUnchanged?w?0:2:0)}function x(e,t,n,r,i){let a=Object.keys(e.results),o=a.length>1,s=[o?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],c=new Set;for(let r of a){let i=Object.values(e.results[r]).flatMap(e=>Object.entries(e));for(let[e,a]of i.sort(([e],[t])=>e<t?-1:+(e>t))){let i=`${r}|${e}|${a.old}|${a.new}`;c.has(i)||(c.add(i),s.push([r===`go`?t(e):e,...o?[r]:[],n(a.old,a.new,f),n(a.new,a.old,p),a.age||``,a.info||``]))}}return r(s,e=>i(e).length)}try{await b()}catch(e){await y(e)}export{};
package/dist/prewarm.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./shared.js";export{e as prewarmOrigins};
1
+ import{env as e}from"node:process";import{readFileSync as t,readdirSync as n,statSync as r}from"node:fs";import{basename as i,join as a,resolve as o}from"node:path";const s=new Set([`.github`,`.gitea`,`.forgejo`]),c={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:`https://api.github.com`,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},l=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`,`resolutions`],u=e=>e===`package.json`||e===`pnpm-workspace.yaml`?`npm`:e===`pyproject.toml`?`pypi`:e===`Cargo.toml`?`cargo`:e===`go.mod`||e===`go.work`?`go`:/^Dockerfile(?:\..+)?$/.test(e)||/^(?:docker-|compose).*\.ya?ml$/.test(e)?`docker`:[`Makefile`,`makefile`,`GNUmakefile`].includes(e)||e.endsWith(`.mk`)?`make`:/\.ya?ml$/.test(e)?`actions`:``;function d(d,f){let p=Array.isArray(f.modes)?new Set(f.modes):typeof f.modes==`string`?new Set(f.modes.split(`,`)):null,m=new Set,h=new Set,g=Array.isArray(f.files)&&f.files.length?f.files.filter(e=>typeof e==`string`):[d];for(let e of g){let t=o(e);try{if(r(t).isFile()){h.add(t);continue}for(let e of n(t,{withFileTypes:!0}))if(e.isFile())h.add(a(t,e.name));else if(s.has(e.name))try{for(let r of n(a(t,e.name,`workflows`),{withFileTypes:!0}))r.isFile()&&/\.ya?ml$/.test(r.name)&&h.add(a(t,e.name,`workflows`,r.name))}catch{}}catch{}}for(let e of h){let n=i(e),r=u(n);if(!(!r||p&&!p.has(r)&&!(r===`actions`&&p.has(`docker`))))try{let r=t(e,`utf8`);if(n===`package.json`){let e;try{e=JSON.parse(r)}catch{continue}let t=l.flatMap(t=>Object.values(e[t]??{}));typeof e.packageManager==`string`&&t.push(e.packageManager.split(`@`,1)[0]);for(let e of t)typeof e!=`string`||/^(?:file|link|workspace):/.test(e)||(/^(?:jsr:|npm:@jsr\/)/.test(e)?m.add(`jsrapi`):/^(?:git(?:\+https?|\+ssh)?:|https?:\/\/[^/]*(?:github|gitea|forgejo)|github:|gitea:|forgejo:)/.test(e)?m.add(`forgeapi`):m.add(`registry`))}else if(n===`pnpm-workspace.yaml`)/\b(?:jsr:|npm:@jsr\/)/.test(r)&&m.add(`jsrapi`),/\b(?:catalogs?|overrides):|:\s*["']?[~^<>=]*\d/.test(r)&&m.add(`registry`);else if(n===`pyproject.toml`)/^[ \t]*["'][A-Za-z0-9][\w.-]*(?:\[[^\]]+\])?\s*(?:[<>=!~]|@)/m.test(r)&&m.add(`pypiapi`);else if(n===`Cargo.toml`)/^\s*\[(?:target\.[^\]]+\.)?(?:dev-|build-)?dependencies\]/m.test(r)&&m.add(`cargoapi`);else if(n===`go.mod`||n===`go.work`)/^\s*(?:require\s+)?\S+\s+v\d/m.test(r)&&m.add(`goproxy`);else if(/^Dockerfile(?:\..+)?$/.test(n)||/^(?:docker-|compose).*\.ya?ml$/.test(n))/^\s*(?:FROM\s+(?:--\S+\s+)*|image\s*:\s*)[^\s#]+[:@]/im.test(r)&&m.add(`dockerapi`);else if([`Makefile`,`makefile`,`GNUmakefile`].includes(n)||n.endsWith(`.mk`))/\bgo\s+install\s+\S+@v\d/.test(r)&&m.add(`goproxy`),/\b(?:docker|image)\b[^\n]*[\w./-]+:[\w.-]+/i.test(r)&&m.add(`dockerapi`);else{let e=-1;for(let t of r.split(/\r?\n/)){let n=t.search(/\S|$/);e!==-1&&(!t.trim()||n>e)||(e=/:\s*[|>](?:[1-9][+-]?|[+-][1-9]?)?\s*(?:#.*)?$/.test(t)?n:-1,(!p||p.has(`actions`))&&/^\s*(?:-\s*)?uses\s*:\s*["']?(?!\.\/|docker:\/\/)[^\s#]+@/.test(t)&&m.add(`forgeapi`),(!p||p.has(`docker`))&&/^\s*(?:(?:container|image)\s*:\s*["']?[^\s#]+[:@]|(?:-\s*)?uses\s*:\s*["']?docker:\/\/)/.test(t)&&m.add(`dockerapi`))}}}catch{}}let _=new Set;for(let n of m){let r=f[n];if(n===`registry`&&typeof r!=`string`)try{r=/^\s*registry\s*=\s*(\S+)\s*$/m.exec(t(a(d,`.npmrc`),`utf8`))?.[1]}catch{}else n===`goproxy`&&typeof r!=`string`&&(r=e.GOPROXY);let i=typeof r==`string`&&r?r:c[n];if(!(n===`goproxy`&&(i=i.split(/[|,]/,1)[0].trim(),i===`off`||i===`direct`)))try{_.add(`${new URL(i).origin}/`)}catch{}}return Array.from(_)}export{d as prewarmOrigins};
package/dist/shared.js CHANGED
@@ -1,24 +1,26 @@
1
- import{cwd as e,env as t,pid as n,platform as r,stderr as i}from"node:process";import{accessSync as a,globSync as o,readFile as s,readFileSync as c,readdirSync as l,realpathSync as u,statSync as d,truncateSync as f,writeFileSync as p}from"node:fs";import{basename as m,dirname as h,isAbsolute as g,join as _,relative as v,resolve as y,sep as b}from"node:path";import{pathToFileURL as x}from"node:url";import{parseArgs as S,styleText as ee}from"node:util";import{access as te,mkdir as C,readFile as w,readdir as ne,realpath as T,rename as re,stat as ie,unlink as E,utimes as ae,writeFile as oe}from"node:fs/promises";import{AsyncLocalStorage as se}from"node:async_hooks";import{Buffer as D}from"node:buffer";import{setTimeout as O}from"node:timers/promises";import{createHash as ce}from"node:crypto";import{homedir as k}from"node:os";const A=/^\[\[([^\]]+)\]\]$/,le=/^\[([^[\]]+)\]$/,j=()=>Object.create(null);function ue(e){let t=j(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=r[e],a=ge(i).trim();if(!a)continue;let o=A.exec(a);if(o){let e=t,r=he(o[1]);for(let t=0;t<r.length-1;t++){let n=e[r[t]];Array.isArray(n)?e=n[n.length-1]:((!n||typeof n!=`object`)&&(e[r[t]]=j()),e=e[r[t]])}let i=r[r.length-1];Array.isArray(e[i])||(e[i]=[]);let a=j();e[i].push(a),n=a;continue}let s=le.exec(a);if(s){n=P(t,he(s[1]));continue}let c=N(a,`=`);if(c<0)continue;let l=a.slice(0,c).trim(),u=a.slice(c+1).trim(),d=he(l),f=P(n,d.slice(0,-1)),p=d[d.length-1],m=[`"""`,`'''`].find(e=>u.startsWith(e)&&!u.includes(e,3))??``;if((u.startsWith(`[`)||u.startsWith(`{`))&&!pe(u)){let t=u,n=e+1;for(;n<r.length&&(t+=`\n${ge(r[n])}`,!pe(t));n++);e=n,f[p]=M(t)}else if(m){let t=u.slice(3),n=e+1;for(;n<r.length;n++){let e=r[n].indexOf(m);if(e>=0){t+=(t?`
1
+ import{cwd as e,env as t,pid as n,platform as r,stderr as i}from"node:process";import{accessSync as a,globSync as o,readFile as s,readFileSync as c,readdirSync as l,realpathSync as u,statSync as d,truncateSync as f,writeFileSync as p}from"node:fs";import{basename as m,dirname as h,isAbsolute as g,join as _,relative as v,resolve as y,sep as b}from"node:path";import{pathToFileURL as x}from"node:url";import{parseArgs as S,styleText as ee}from"node:util";import{access as te,mkdir as C,readFile as w,readdir as ne,realpath as T,rename as re,stat as ie,unlink as E,utimes as ae,writeFile as oe}from"node:fs/promises";import{AsyncLocalStorage as se}from"node:async_hooks";import{Buffer as D}from"node:buffer";import{setTimeout as O}from"node:timers/promises";import{createHash as ce}from"node:crypto";import{homedir as k}from"node:os";const A=/^\[\[([^\]]+)\]\]$/,le=/^\[([^[\]]+)\]$/,ue=[`"""`,`'''`],j=()=>Object.create(null);function de(e){let t=j(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=ge(r[e]).trim();if(!i)continue;let a=A.exec(i);if(a){let e=t,r=he(a[1]);for(let t=0;t<r.length-1;t++){let n=e[r[t]];Array.isArray(n)?e=n[n.length-1]:((!n||typeof n!=`object`)&&(e[r[t]]=j()),e=e[r[t]])}let i=r[r.length-1];Array.isArray(e[i])||(e[i]=[]);let o=j();e[i].push(o),n=o;continue}let o=le.exec(i);if(o){n=P(t,he(o[1]));continue}let s=N(i,`=`);if(s<0)continue;let c=i.slice(0,s).trim(),l=i.slice(s+1).trim(),u=he(c),d=P(n,u.slice(0,-1)),f=u[u.length-1],p=ue.find(e=>l.startsWith(e)&&!l.includes(e,3))??``,m={depth:0,inStr:null,index:0};if((l.startsWith(`[`)||l.startsWith(`{`))&&!M(l,m)){let t=l,n=e+1;for(;n<r.length&&(t+=`\n${ge(r[n])}`,!M(t,m));n++);e=n,d[f]=fe(t)}else if(p){let t=l.slice(3),n=e+1;for(;n<r.length;n++){let e=r[n].indexOf(p);if(e>=0){t+=(t?`
2
2
  `:``)+r[n].slice(0,e);break}t+=(t?`
3
- `:``)+r[n]}e=n,f[p]=M(m+t+m)}else f[p]=M(u)}return t}function M(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of me(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(M(e))}return t}return e.startsWith(`{`)?de(e):e.startsWith(`"""`)?_e(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?_e(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function de(e){let t=j(),n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of me(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=M(e.slice(n+1).trim())}return t}function fe(e,t){let n=[],r=0,i=null,a=0;for(let o=0;o<e.length;o++){let s=e[o];if(i){if(s===`\\`&&i===`"`){o++;continue}s===i&&(i=null)}else if(s===`"`||s===`'`)i=s;else if(s===`{`||s===`[`)r++;else if(s===`}`||s===`]`){if(r--,!t&&r===0)return n}else t&&s===`,`&&r===0&&(n.push(e.slice(a,o)),a=o+1)}return t?(a<e.length&&n.push(e.slice(a)),n):null}function pe(e){return fe(e,!1)!==null}function me(e){return fe(e,!0)}function he(e){let t=[],n=``,r=null;for(let i of e)if(r){if(i===r){r=null;continue}n+=i}else i===`"`||i===`'`?r=i:i===`.`?(t.push(n.trim()),n=``):n+=i;return n.trim()&&t.push(n.trim()),t}function ge(e){let t=N(e,`#`);return t<0?e:e.slice(0,t)}function N(e,t){let n=null;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(i===`\\`&&n===`"`){r++;continue}i===n&&(n=null)}else if(i===`"`||i===`'`)n=i;else if(i===t)return r}return-1}function P(e,t){for(let n of t)(!(n in e)||typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=j()),e=e[n];return e}function _e(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>{switch(t[0]){case`"`:return`"`;case`\\`:return`\\`;case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
3
+ `:``)+r[n]}e=n,d[f]=fe(p+t+p)}else d[f]=fe(l)}return t}function fe(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of me(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(fe(e))}return t}return e.startsWith(`{`)?pe(e):e.startsWith(`"""`)?_e(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?_e(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function pe(e){let t=j(),n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of me(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=fe(e.slice(n+1).trim())}return t}function M(e,t){for(;t.index<e.length;t.index++){let n=e[t.index];if(t.inStr){if(n===`\\`&&t.inStr===`"`){t.index++;continue}n===t.inStr&&(t.inStr=null)}else if(n===`"`||n===`'`)t.inStr=n;else if(n===`{`||n===`[`)t.depth++;else if((n===`}`||n===`]`)&&(t.depth--,!t.depth))return!0}return!1}function me(e){let t=[],n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r){if(o===`\\`&&r===`"`){a++;continue}o===r&&(r=null)}else o===`"`||o===`'`?r=o:o===`{`||o===`[`?n++:o===`}`||o===`]`?n--:o===`,`&&n===0&&(t.push(e.slice(i,a)),i=a+1)}return i<e.length&&t.push(e.slice(i)),t}function he(e){let t=[],n=``,r=null;for(let i of e)if(r){if(i===r){r=null;continue}n+=i}else i===`"`||i===`'`?r=i:i===`.`?(t.push(n.trim()),n=``):n+=i;return n.trim()&&t.push(n.trim()),t}function ge(e){let t=N(e,`#`);return t<0?e:e.slice(0,t)}function N(e,t){let n=null;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(i===`\\`&&n===`"`){r++;continue}i===n&&(n=null)}else if(i===`"`||i===`'`)n=i;else if(i===t)return r}return-1}function P(e,t){for(let n of t)(!(n in e)||typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=j()),e=e[n];return e}function _e(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>{switch(t[0]){case`"`:return`"`;case`\\`:return`\\`;case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
4
4
  `;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}function ve(e,t,n){if(e===t)return e;let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;if(r>0&&e[r-1]!==`.`&&e[r-1]!==`-`){let t=r-1;for(;t>=0&&e[t]!==`.`&&e[t]!==`-`;)t--;if(t>=0)r=t+1;else{let t=0;for(;t<r;){let n=e.charCodeAt(t);if(n>=48&&n<=57)break;t++}r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const ye=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,be=/^(\s*\()([^)]*)(\)\s*)$/,xe=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,Se=new Set([`===`,`==`,`>=`,`~=`]),Ce=/^v?\d[0-9a-z.!+_-]*$/i;function we(e){let t=[];for(let n of e.split(`,`)){let e=xe.exec(n);if(!e)return null;let[,r,i,a,o,s]=e;t.push({lead:r,op:i,sep:a,version:o,trail:s})}return t}function Te(e){let t=e.indexOf(`;`),n=ye.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[,r,i,a,o,s,c]=n,l=be.exec(c);return{name:i,extras:o,specifiers:we(l?l[2]:c),marker:t===-1?``:e.slice(t),head:`${r}${i}${a}${o}${s}`,open:l?.[1]??``,close:l?.[3]??``}}function F({head:e,open:t,close:n,marker:r},i){return`${e}${t}${i.map(({lead:e,op:t,sep:n,version:r,trail:i})=>`${e}${t}${n}${r}${i}`).join(`,`)}${n}${r}`}function Ee(e){return e.find(({op:e,version:t})=>Se.has(e)&&Ce.test(t))}function De(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=Te(n);if(!e?.specifiers)continue;let r=Ee(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const Oe=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],ke=[`node`,`deno`,`bun`],Ae=[`.github`,`.gitea`,`.forgejo`],je={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},Me=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`],Ne=[`deps`,`indirect`,`replace`,`tool`],Pe=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Fe=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function Ie(e,t){let n=[],r=(e,t,i,a,o)=>{if(t===e.length){a!==void 0&&n.push([o?JSON.stringify(i):i.join(`.`),a]);return}if(!a||typeof a!=`object`)return;let s=e[t],c=s===`*`?Array.isArray(a)?[]:Object.keys(a):[s];for(let n of c)r(e,t+1,[...i,n],a[n],o)};for(let n of e)r(n.split(`.`),0,[],t,n.startsWith(`target.*.`));return n}function Le(e,t){if(t===!0)return!0;if(!(t instanceof Set))return!1;for(let n of t)if(n.test(e))return!0;return!1}function I(e){return e.split(`,`).filter(Boolean)}function Re(){let e=new Date;return new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().replace(`T`,` `).slice(0,-1)}function ze(e,t){let n=Array(e[0].length).fill(0),r=Array(e.length);for(let i=0;i<e.length;i++){let a=e[i],o=Array(a.length);for(let e=0;e<a.length;e++){let r=t(a[e]);o[e]=r,r>n[e]&&(n[e]=r)}r[i]=o}let i=``;for(let t=0;t<e.length;t++){let a=e[t],o=a.length-1;for(let e=0;e<=o;e++)if(e>0&&(i+=` `),i+=a[e],e!==o){let a=n[e]-r[t][e];a>0&&(i+=` `.repeat(a))}t<e.length-1&&(i+=`
5
- `)}return i}const Be={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Ve(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Be[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}function He(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function L(e,t,{concurrency:n=1/0}={}){let r=Array.from(e);if(!Number.isFinite(n))return Promise.all(r.map(t));let i=Array(r.length),a=0;return await Promise.all(Array.from({length:Math.min(Math.max(n,1),r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}async function R(e){try{return await e}catch{return null}}const z=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Ue(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(z).join(`|`)}const We=new WeakMap;var B=class extends RegExp{constructor(e,t,n){super(e,n),We.set(this,t)}test(e){return We.get(this)(e)}};function Ge(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++)e[i]===`(`||e[i]===`{`?n++:e[i]===`)`||e[i]===`}`?n--:(e[i]===`|`||e[i]===`,`)&&n===0&&(t.push(e.slice(r,i)),r=i+1);return t.push(e.slice(r)),t}function Ke(e,t,n,r){let i=0;for(let a=t;a<e.length;a++)if(e[a]===n)i++;else if(e[a]===r&&--i===0)return a;return-1}function qe(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return Ge(e);let n=/^-?\d+$/.test(t[1])&&/^-?\d+$/.test(t[2]),r=n?Number(t[1]):t[1].codePointAt(0),i=n?Number(t[2]):t[2].codePointAt(0),a=Math.abs(Number(t[3])||1)*(r<=i?1:-1),o=[];for(;(a>0?r<=i:r>=i)&&o.length<1e3;)o.push(n?String(r):String.fromCodePoint(r)),r+=a;return o}function V(e){let t=``,n=[],r=e=>{t+=e,n.push({kind:`char`,matcher:RegExp(`^(?:${e})$`,`i`)})};for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`&&i+1<e.length)r(z(e[++i]));else if(a===`*`&&e[i+1]!==`(`){if(e[i+1]===`*`){for(;e[i+1]===`*`;)i++;e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else t+=`.*`,n.push({kind:`span`,slash:!0})}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`){let a=Ke(e,i,`{`,`}`);if(a===-1)r(`\\{`);else{let r=qe(e.slice(i+1,a)).map(V);t+=`(?:${r.map(e=>e.source).join(`|`)})`,n.push({kind:`alternatives`,alternatives:r.map(e=>e.tokens),minimum:1,repeat:!1}),i=a}}else if(`@+?*!`.includes(a)&&e[i+1]===`(`){let o=Ke(e,i+1,`(`,`)`);if(o===-1)r(z(a));else{let r=Ge(e.slice(i+2,o)).map(V),s=r.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${s})(?:/|$))[^/]*`:`(?:${s})${a===`@`?``:a}`;let c=r.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:c}:{kind:`alternatives`,alternatives:c,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=o}}else r(z(a))}return{source:t,tokens:n}}function Je(e,t){let n=new WeakMap,r=(e,n,r)=>{for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=n.get(e);o||(o=new Map,n.set(e,o));let s=o.get(a);if(s)return s;let c=new Set([a]);o.set(a,c);for(let n of e){let e=new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);let t=new Set(n.alternatives.flatMap(e=>[...i(e,a)]));for(let n of t)e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function Ye(e){if(e instanceof RegExp)return/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e;let t=/^(!?)\/(.*)\/(i?)$/.exec(e);if(t)try{let n=new RegExp(t[2],t[3]);return t[1]?new B(e,e=>!n.test(e)):n}catch{}let n=0;for(;e[n]===`!`&&e[n+1]!==`(`;)n++;let r=n%2==1,{source:i,tokens:a}=V(e.slice(n)),o=RegExp(`^${i}$`,`i`),s=e=>Je(a,e);return r?new B(e,e=>!s(e)):new B(o.source,s,o.flags)}async function Xe(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function Ze(e,t){let n=e;for(;;){let e=t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function Qe(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function H(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function $e(e){let t=new Map;return n=>H(t,n,()=>e(n))}const et=`0|[1-9]\\d*`,tt=/^(?:0|[1-9]\d*)$/,nt=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,rt=RegExp(`^v?(${et})\\.(${et})\\.(${et})(?:-((?:${nt})(?:\\.(?:${nt}))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$`),it=new Map;function U(e){return typeof e==`string`?H(it,e,()=>{let t=rt.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if(!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)&&Number(e)<2**53-1?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,build:t[5]?.split(`.`)??[],raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function at(e,t){let n=typeof e==`number`||/^\d+$/.test(e),r=typeof t==`number`||/^\d+$/.test(t);if(n&&r){let n=String(e),r=String(t);return n.length-r.length||(n<r?-1:+(n>r))}return n?-1:r?1:e<t?-1:+(e>t)}function ot(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function st(e,t){let n=ot(e,t);if(n!==0)return n;let r=e.prerelease.length>0,i=t.prerelease.length>0;if(!r&&!i)return 0;if(r&&!i)return-1;if(!r&&i)return 1;let a=Math.max(e.prerelease.length,t.prerelease.length);for(let n=0;n<a;n++){if(e.prerelease[n]===void 0)return-1;if(t.prerelease[n]===void 0)return 1;let r=at(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function ct(e){return U(e)?.version??null}function W(e){return U(e)}const lt=new Map,ut=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function dt(e){return typeof e==`string`?H(lt,e,()=>{let t=ut.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function ft(e,t){let n=U(e),r=U(t);return!n||!r?null:pt(n,r)}function pt(e,t){if(e.version===t.version)return null;let n=st(e,t),r=n>0?e:t,i=n>0?t:e,a=r.prerelease.length>0;if(i.prerelease.length>0&&!a){if(!i.patch&&!i.minor)return`major`;if(ot(i,r)===0)return i.minor&&!i.patch?`minor`:`patch`}let o=a?`pre`:``;return e.major===t.major?e.minor===t.minor?e.patch===t.patch?`prerelease`:`${o}patch`:`${o}minor`:`${o}major`}function mt(e,t){let n=U(e),r=U(t);return n&&r?st(n,r):null}function ht(e,t){return(mt(e,t)??-1)>0}function gt(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=t[1].split(`.`),r=[],i=!1;for(let e of n)if(/^[xX*]$/.test(e))i=!0,r.push(null);else{if(i||!tt.test(e))return null;let t=Number(e);if(!Number.isSafeInteger(t))return null;r.push(t)}for(;r.length<3;)r.push(null);return(t[2]||t[3])&&r.some(e=>e===null)||(t[2]||t[3])&&!U(`${r.join(`.`)}${t[2]??``}${t[3]??``}`)?null:{major:r[0],minor:r[1],patch:r[2],suffix:`${t[2]??``}${t[3]??``}`}}function G(e,t,n,r,i=``){let a=U(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function K(...e){let t=e.filter(e=>e!==null);return t.length===e.length?t:null}function _t(e,t){let n=st(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return!1}}function q(e,t,n){return G(`<`,e,t,n,`-0`)}function vt(e,t){if(e.major===null)return e.minor!==null||e.patch!==null?null:t===`>`||t===`<`?K(q(0,0,0)):[];let n=e.major,r=e.minor??0,i=e.patch??0;if(t===`^`||t===`~`){let a=G(`>=`,n,r,i,e.suffix);return e.minor===null?K(a,q(n+1,0,0)):t===`~`?K(a,q(n,r+1,0)):n===0?e.patch!==null&&r===0?K(a,q(0,0,i+1)):K(a,q(0,r+1,0)):K(a,q(n+1,0,0))}return e.minor!==null&&e.patch!==null?K(G(t||`=`,n,r,i,e.suffix)):!t||t===`=`?e.minor===null?K(G(`>=`,n,0,0),q(n+1,0,0)):K(G(`>=`,n,r,0),q(n,r+1,0)):t===`>`?e.minor===null?K(G(`>=`,n+1,0,0)):K(G(`>=`,n,r+1,0)):t===`<=`?e.minor===null?K(q(n+1,0,0)):K(q(n,r+1,0)):t===`<`?e.minor===null?K(q(n,0,0)):K(q(n,r,0)):K(G(`>=`,n,r,0))}function yt(e,t){let n=gt(e),r=gt(t);if(!n||!r)return null;let i=[];if(n.major!==null){let e=G(`>=`,n.major,n.minor??0,n.patch??0,n.suffix);if(!e)return null;i.push(e)}if(r.major===null)return i;let a=r.minor===null?q(r.major+1,0,0):r.patch===null?q(r.major,r.minor+1,0):G(`<=`,r.major,r.minor,r.patch,r.suffix);return a?(i.push(a),i):null}function bt(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t)return yt(t[1],t[2]);let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&gt(t[2]),i=n?vt(n,t?.[1]??``):null;if(!i)return null;r.push(...i)}return r}const xt=new Map;function St(e){return H(xt,e,()=>{let t=e.split(`||`).map(e=>bt(e.trim()));return t.some(e=>e===null)?null:t})}function Ct(e,t){return t.some(t=>!_t(e,t))?!1:!e.prerelease.length||t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch)}function J(e,t){let n=U(e);return n?!!St(t)?.some(e=>Ct(n,e)):!1}function Y(e){return typeof e==`string`&&St(e)?e:null}const wt=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,Tt=RegExp(`^${wt}$`,`i`),Et=RegExp(wt,`i`),Dt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},Ot=new Map;function X(e){return typeof e==`string`?H(Ot,e,()=>{let t=Tt.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[Dt[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function kt(e){return X(e)??X(Et.exec(e)?.[0]??``)}const At=e=>!!(e.pre||e.dev);function jt(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function Mt(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?jt(e.local,t.local):a<o?-1:1}function Nt(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function Pt(e,t){let n=Mt(e,t);if(n===0)return null;let r=Nt(e,t);return At(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Ft=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,It={parse:W,parseRange:e=>W(Ft.exec(e)?.[0]??``)??W(dt(e)?.version??``),compare:st,diff:pt,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:(e,t)=>J(e.version,t)},Lt=new Map;function Rt(e){return H(Lt,e,()=>{let t=e.trim().replace(/^v/i,``);return(W(t)??W(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?W(dt(t)?.version??``):null)})}const zt={...It,parse:Rt,parseRange:Rt,isRangePrerelease:e=>!!Rt(e)?.prerelease.length},Bt={parse:X,parseRange:kt,compare:Mt,diff:Pt,isPrerelease:At,isRangePrerelease:e=>{let t=kt(e);return!!(t&&At(t))},satisfiesRange:({release:e},t)=>J(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Vt=[[1e3,6e4,`sec`,`s`,`second`],[6e4,36e5,`min`,`m`,`minute`],[36e5,864e5,`hour`,`h`],[864e5,6048e5,`day`,`d`],[6048e5,2628e6,`week`,`w`],[2628e6,31536e6,`month`,`mo`],[31536e6,1/0,`year`,`y`]],Ht={"1 day ago":`yesterday`,"1 week ago":`last week`,"1 month ago":`last month`,"1 year ago":`last year`,"in 1 day":`tomorrow`,"in 1 week":`next week`,"in 1 month":`next month`,"in 1 year":`next year`};function Ut(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function Wt(e,{now:t,noAffix:n=!1,times:r=Vt,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=Ht,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():Ut(t))-Ut(e);if(Number.isNaN(d))return o||String(e);let f=d<0;if(f&&(d=-d),d<i)return a;let p=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(d>=t[1])continue;let n=Math.trunc(d/t[0]);p=u?`${n}${t[3]||t[2]}`:`${n} ${l&&t[4]||t[2]}${n>1?`s`:``}`;break}let m=n?p:f?`in ${p}`:`${p} ago`;return s?c[m]??m:m}function Gt(e){return new Promise((t,n)=>{s(e,`utf8`,(e,r)=>e?n(e):t(r))})}const Kt=_(r===`win32`?t.LOCALAPPDATA||_(k(),`AppData`,`Local`):t.XDG_CACHE_HOME||_(k(),`.cache`),`updates`),qt=new Map;function Jt(e){return ce(`sha256`).update(e).digest(`hex`)}const Yt=6048e5;async function Xt(e,t=Kt){try{let n=_(t,`${Jt(e)}.cache`);if(Date.now()-(await ie(n)).mtimeMs>Yt)return await E(n),null;let r=await Gt(n),i=r.indexOf(`
6
- `);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=new Date;return await R(ae(n,s,s)),{etag:a,body:o}}catch{return null}}const Zt=new Set;let Qt=0;function $t(e,t,r,i=Kt){let a=(async()=>{try{let e=qt.get(i);e||(e=C(i,{recursive:!0}),qt.set(i,e)),await e}catch{qt.delete(i);return}let a;try{let o=_(i,`${Jt(e)}.cache`);a=`${o}.${n}-${Qt++}.tmp`,await oe(a,`${t}\n${r}`),await re(a,o)}catch{a&&await R(E(a))}})();Zt.add(a),(async()=>{await a,Zt.delete(a)})()}async function en(e=Kt){for(;Zt.size;)await Promise.all(Zt);try{let t=(await ne(e)).filter(e=>e.endsWith(`.cache`)),n=(await Promise.all(t.map(async t=>{let n=_(e,t);try{return{path:n,mtime:(await ie(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),r=n.filter(e=>Date.now()-e.mtime<=Yt);await Promise.all([...n.filter(e=>Date.now()-e.mtime>Yt),...r.slice(4096)].map(e=>R(E(e.path))))}catch{}}var tn=`18.0.5`;function nn(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const rn=tn,an=`https://api.github.com`,on={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:an,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},Z=e=>e[0]===`v`?e.substring(1):e,sn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function cn(e,t){return{headers:{"user-agent":`updates/${rn}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const ln=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function un(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&ln.has(t)}async function dn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=un(t),n}}async function fn(e,t,n={}){let r=xn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim(),s=o&&!/^\d+$/.test(o)?Date.parse(o):NaN,c=o?/^\d+$/.test(o)?Number(o)*1e3:Number.isNaN(s)?null:Math.max(s-Date.now(),0):null,l=e.fetchTimeout,u=a&&a.status>=500&&a.status<600?c!==null&&c<=l?c:0:a&&(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await O(u)}catch(e){if(i>=2||!e?.transient)throw e}}const pn=e=>t=>JSON.stringify(e(JSON.parse(t))),mn=new WeakMap;function hn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()).sort(),n.body??null,r?.toString()]),s=H(mn,t,()=>new Map),c=s.get(o);return c||(c=(async()=>{try{let o=t.noCache?null:await Xt(i);if(a&&o)return{body:o.body};let s=n.headers,c=o?{...s,"if-none-match":o.etag}:s,l=await fn(t,e,{...n,headers:c});if(l.status===304&&o)return{body:o.body,res:l};if(!l.ok)return{res:l};let u=await l.text();if(r&&u.length>=16384)try{u=r(u)}catch{}let d=a?`immutable`:l.headers.get(`etag`);return d&&!t.noCache&&$t(i,d,u),{body:u,res:l}}finally{s.delete(o)}})(),s.set(o,c)),c}function gn(e,t,n={},r,i=e){return hn(e,t,n,r,i,!1)}function _n(e,t,n={},r){return hn(e,t,n,r,e,!0)}async function Q(e,t,n,r,i=!0){let a=H(e,t,()=>new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const vn=new se,yn=e=>Math.max(e.concurrency||50,1),bn=new WeakMap;function xn(e){let t=bn.get(e);if(!t){let n=yn(e),r=0,i=0,a=[];t=async e=>{if(vn.getStore())return e();r<n?r++:await new Promise(e=>{a.push(e)});try{return await vn.run(!0,e)}finally{i<a.length?(a[i++](),i===a.length&&(a=[],i=0)):r--}},bn.set(e,t)}return t}function Sn(e,t=It){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const Cn=new WeakMap,wn=new WeakMap;function Tn(e,t,n,r,i=It){let a=t||i.isRangePrerelease(e),o=r;if(a){let e=t?Cn:wn;o=e.get(r)??new Set(r).add(`prerelease`),t&&(r.has(`patch`)&&o.add(`prepatch`),r.has(`minor`)&&o.add(`preminor`),r.has(`major`)&&o.add(`premajor`)),e.set(r,o)}return{effectiveSemvers:o,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function En(e){return dt(e)?.version??``}function Dn(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=It}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=Tn(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),S=!!u&&(!!y||m.isPrerelease(h)),ee=e?.time,te=!!(d&&f),C=null;for(let e of t){let t=m.parse(e);if(!t||_(t))continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||C&&m.compare(t,C)<=0||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||te&&!nn(p?p(e):ee?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;!i||!g.has(i)||(C=t)}return C?.raw??C?.version??null}function On(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function kn(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?Bt:It,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),g=e=>t[e].reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=typeof n==`string`?Date.parse(n):NaN;return!Number.isNaN(r)&&r<e.time?{date:n,time:r}:e},{time:1/0}).date,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[En(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=En(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=Tn(p,i,a,o,f),m=e.old||p,h=f.parseRange(m),g=!!d||!!s&&!c&&!!h&&!f.satisfiesRange(h,s),_=(e,i)=>{let a=En(e),o=f.parse(e),c=On(e);if(!a||!c&&r(o))return!1;let d=ft(m,e)??ft(t,a),p=c?d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0||!nn(i,l,u)?!1:!s||J(a,s)};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return Dn(e,m,{range:p,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:h,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:g,versioning:f})}function An(e){try{return new URL(e).host}catch{return``}}function jn(e){let n=I(t.UPDATES_FORGE_TOKENS??``).find(t=>{let n=t.lastIndexOf(`:`);return n>0&&t.slice(0,n)===e});return n?n.slice(n.lastIndexOf(`:`)+1):null}let Mn;function Nn(){return Mn||=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})(),Mn}const Pn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];let Fn;function In(){let e=Array.from(new Set(Pn.map(e=>t[e]).filter(e=>!!e)));return e.length?Promise.resolve(e):Fn??=(async()=>{try{let{stdout:e}=await(await Nn())(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),t=e.trim();return t?[t]:[]}catch{return[]}})()}const Ln=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Rn(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=Ln.exec(n);if(!e)continue;let r=An(e[1]),i=D.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let zn;function Bn(){return zn??=(async()=>{try{let{stdout:e}=await(await Nn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Rn(e)}catch{return new Map}})()}const Vn=new Map;async function Hn(e,t){if(!e)return[];let n=jn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===An(t),[a,o]=await Promise.all([i?In():[],Bn()]),s=o.get(r);return Array.from(new Set(s?[...a,s]:a))}var Un=class extends Error{name=`ForgeError`;kind;host;status;reset;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),this.kind=e,this.host=t,this.status=r,this.reset=i}};async function Wn(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function Gn(e,t,n,r){if(e.status>=500)throw new Un(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Wn(e);if(i===null)return e;throw new Un(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function Kn(e,t,n){let r=An(e),i=await Hn(r,t.forgeApiUrl),a=async a=>{let o=cn(`Bearer`,a);return o.headers={...o.headers,...n},Gn(await fn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Vn.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return Vn.set(r,t),n;t===e&&Vn.delete(r)}return await a()}catch(e){throw e instanceof Un?e:new Un(`network`,r,e?.message??String(e),{cause:e})}}function qn(e,t){let n=Z(t);if(!ct(n))return null;let r=``,i=``;for(let t of e){let e=Z(t);ct(e)&&(!r||ht(e,i))&&(r=t,i=e)}return r&&ht(i,n)?r:null}function Jn(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,(e,t)=>`https://${t}.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Yn=RegExp(`^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$`,`i`),Xn=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function Zn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Qn(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function $n(e){if(!Array.isArray(e))throw TypeError(`Invalid Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||e.commit?.sha!==void 0&&typeof e.commit.sha!=`string`)throw TypeError(`Invalid Forge tag entry`);return{name:e.name,commitSha:e.commit?.sha||``}})}const er=(e,t)=>{if(!t)return $n(e);if(!Array.isArray(e))throw TypeError(`Invalid cached Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||typeof e.commitSha!=`string`||e.isStable!==void 0&&typeof e.isStable!=`boolean`)throw TypeError(`Invalid cached Forge tag entry`);return{...e}})},tr=new WeakMap;function nr(e,t,n,r){let i=`${n}${e}`;return Q(tr,t,i,async()=>{let n=t.noCache?null:await Xt(e),a=await Kn(e,t,n?{"if-none-match":n.etag}:void 0);if(a?.status===304&&n)return n.body;if(!a?.ok)return tr.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&$t(e,s,o),o})}function rr(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r}})}async function ir(e,t,n,r){let i=await nr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link}}function ar(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function or(e,t,n,r,i){let a=await ir(e(1),t,n,r);if(!a)return;let o=ar(a.link),s=yn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>ir(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function sr(e,t,n){let r=new Map;return await or(n=>`${an}/repos/${e}/${t}/releases?per_page=100&page=${n}`,n,`releases`,rr,e=>{for(let t of e)r.set(t.name,t.isStable);return!1}),r}async function cr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await or(r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,r,`tags`,er,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function lr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return cr(e,t,n,r,i);let[o,s]=await Promise.allSettled([cr(e,t,n,r,i),sr(t,n,r)]);if(o.status===`rejected`)throw o.reason;if(s.status===`rejected`&&!(s.reason instanceof Un))throw s.reason;if(s.status===`fulfilled`)for(let e of o.value)s.value.has(e.name)&&(e.isStable=s.value.get(e.name));return o.value}function ur(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}const dr=2e7;function fr(e,t){let n=Z(e).split(`.`),r=Z(t).split(`.`);return n.length<r.length?!1:Number(n[0])<dr||Number(r[0])>=dr}function pr(e,t,n=``){let r=Z(e),i=Z(t).split(`.`).length,a=r.split(`.`),o=i>=3?r:Array.from({length:i},(e,t)=>a[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${o}${n}`}function mr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const hr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function gr({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of hr)if(t?.[n]){e=t[n];break}e??=`https://pypi.org/project/${i}/`}let a=``;return r===`https://npm.pkg.github.com`?`https://github.com/${i.replace(/^@/,``)}`:(e&&(a=Jn(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${mr(a)}/${e.directory}`)),a||t||``)}const _r={y:365,year:365,years:365,mo:30,month:30,months:30,w:7,week:7,weeks:7,d:1,day:1,days:1,h:1/24,hour:1/24,hours:1/24,min:1/1440,minute:1/1440,minutes:1/1440,s:1/86400,second:1/86400,seconds:1/86400};function vr(e){let t;for(let n of e.matchAll(/(\d+(?:\.\d+)?)\s*([a-z]+)/gi)){let e=_r[n[2].toLowerCase()];if(e===void 0)return;t=(t??0)+Number(n[1])*e}return t}const yr={packageName:{target:`package`,convert:e=>e},packagePattern:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackageNames:{target:`package`,convert:e=>e},packageNames:{target:`package`,convert:e=>e},matchPackagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},packagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackagePrefixes:{target:`package`,convert:e=>`${e}{/,}**`},excludePackageNames:{target:`package`,convert:e=>`!${e}`},excludedPackageNames:{target:`package`,convert:e=>`!${e}`},excludePackagePatterns:{target:`package`,convert:e=>`!/${e}/`},excludePackagePrefixes:{target:`package`,convert:e=>`!${e}{/,}**`},matchDepNames:{target:`dep`,convert:e=>e},matchDepPatterns:{target:`dep`,convert:e=>`/${e}/`},matchDepPrefixes:{target:`dep`,convert:e=>`${e}{/,}**`},excludeDepNames:{target:`dep`,convert:e=>`!${e}`},excludeDepPatterns:{target:`dep`,convert:e=>`!/${e}/`},excludeDepPrefixes:{target:`dep`,convert:e=>`!${e}{/,}**`}},br=new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function xr(e){let t={Package:[],Dep:[]};for(let[n,r]of Object.entries(e)){let e=Object.hasOwn(yr,n)?yr[n]:void 0;if(!e){if(n.startsWith(`match`)||n.startsWith(`exclude`)||br.has(n))return;continue}let i=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(i))return;for(let n of i){if(typeof n!=`string`||!n)return;t[e.target===`package`?`Package`:`Dep`].push(e.convert(n))}}let n={},r=[];for(let[e,i]of Object.entries(t)){let t=[],a=[];for(let e of i){let n=e.startsWith(`!`)?a:t,i=n===a?e.slice(1):e;n.push(Sr(i)??i),n===t&&!/[*?[\]{}!()|+]/.test(i)&&!Sr(i)&&r.push(i)}t.length&&(n[`match${e}Names`]=t),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function Sr(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Cr=new Map,wr=e=>H(Cr,e,()=>Ye(e)),Tr=(e,t,n)=>(!t?.length||t.some(t=>wr(t).test(e)))&&(!n?.length||n.every(t=>!wr(t).test(e)));function Er(e,t,n){return Tr(t,e.matchPackageNames,e.excludePackageNames)&&Tr(n,e.matchDepNames,e.excludeDepNames)}const Dr=new WeakMap;var Or=class extends RegExp{constructor(e,t){super(e),Dr.set(this,t)}testNames(e,t){return Dr.get(this)(e,t)}test(e){return this.testNames(e,e)}};function kr(e,t,n,r){return e instanceof Or?e.testNames(n,r):e.test(t)}function Ar(e,t){let n=[],r={},i=new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=xr(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o};if(t&&typeof r.minimumReleaseAge==`string`){let e=vr(r.minimumReleaseAge);e!==void 0&&(c.cooldownDays=e)}if(typeof r.allowedVersions==`string`){let e=Y(r.allowedVersions);if(!e&&!Sr(r.allowedVersions))throw Error(`Invalid renovate allowedVersions: ${r.allowedVersions}`);if(c.allowedVersions=r.allowedVersions,e)for(let e of s)i.add(e)}(c.allowedVersions||c.cooldownDays!==void 0)&&a.push(c)}for(let e of i){let t=a.findLast(t=>t.allowedVersions!==void 0&&Er(t,e,e))?.allowedVersions;t&&Y(t)&&(r[e]=t)}let o;return n.some(e=>!e.enabled)&&(o=new Or(`renovate-package-rules`,(e,t)=>{let r=!0;for(let i of n)Er(i.matchers,e,t)&&(r=i.enabled);return!r})),{disabled:o,pin:r,versionRules:a}}function jr(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={};if(t.cooldown&&typeof e.minimumReleaseAge==`string`){let t=vr(e.minimumReleaseAge);t!==void 0&&t>0&&(n.cooldown=t)}let r=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Or(`^${z(e)}$`,(t,n)=>n===e)):[],{disabled:i,pin:a,versionRules:o}=Ar(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),s=i?[...r,i]:r;return s.length&&(n.exclude=s),Object.keys(a).length&&(n.pin=a,n.pinNoDowngrade=!0),o.length&&(n.renovateVersionRules=o),n}function Mr(e){return!!(e&&typeof e==`object`&&(Object.hasOwn(e,`extends`)||Object.values(e).some(Mr)))}async function Nr(e,t={}){let n=await Xe(e,async e=>{let t=_(e,`renovate.json`),n;try{n=await w(t,`utf8`)}catch{return null}let r;try{r=JSON.parse(n)}catch(e){throw Error(`Unable to parse renovate config ${t}: ${e.message}`)}return r&&typeof r==`object`?{parsed:r,path:t}:null});if(!n)return{};if(Mr(n.parsed))throw Error(`Renovate extends is unsupported in ${n.path}`);return jr(n.parsed,t)}const Pr=Symbol(`cliBaseConfig`),Fr={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-cache":{short:`x`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}};function Ir(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`).flatMap(I)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function Lr(e){for(let[t,{short:n}]of Object.entries(Fr))if(t===e||n===e)return t;return``}function Rr(e){return new Set(e.map(Ye))}function zr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(I):[]}function Br(e){for(let[t,n]of Object.entries(e??{}))if(!Y(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function Vr(e){let t={};for(let n of Array.isArray(e)?e:[e]){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<1)throw Error(`Invalid pin: ${n}, expected <dep>=<range>`);t[n.slice(0,e)]=n.slice(e+1)}return Br(t),t}function Hr(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:Rr(e)}const Ur=$e(e=>Xe(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=_(e,n);try{await te(r)}catch(e){if(e?.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e?.message??e}`)}try{return(await import(x(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null}));async function Wr(e){let t=await Ur(e)??{},n=await Nr(e,t.inherit?.renovate),r={...n,...t};return n.pin&&(r.pin={...n.pin,...t.pin},r.pinNoDowngrade=Object.keys(n.pin).filter(e=>!t.pin?.[e])),n.overrides?.length&&(r.overrides=[...n.overrides,...t.overrides??[]]),Br(r.pin),r}function Gr(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function Kr(e){try{return Gr(c(e,`utf-8`))}catch{return}}function qr(e,t){return Ze(t,t=>{let n=_(t,e);try{if(d(n).isFile())return n}catch{}return null})??void 0}function Jr(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function Yr(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[{...i}],l=[];function u(e){if(!e||l.includes(e))return;let t=Kr(e);t&&(c.push(t),l.push(e))}o||(u(_(`/etc`,n,`config`)),u(_(`/etc`,`${n}rc`))),s&&(u(_(s,`.config`,n,`config`)),u(_(s,`.config`,n)),u(_(s,`.${n}`,`config`)),u(_(s,`.${n}rc`))),u(qr(`.${n}rc`,a));let d=Jr(`${n}_`);return d.config&&u(d.config),Object.assign({},...c,d,l.length?{configs:l,config:l[l.length-1]}:void 0)}function Xr(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const Zr=new WeakMap;function Qr(e,t){let n=H(Zr,e,()=>{let t=new Map;for(let[n,r]of Object.entries(e)){let[e,...i]=n.split(`\0`),a=e.indexOf(`|`);Qe(t,a===-1?`.`:e.slice(a+1),[[Xr(e),...i].join(`\0`),r])}return t});return Object.fromEntries(n.get(t)??[])}const $r=/[*?{[]/;function ei(e,t){return o(e,{cwd:t,withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>y(e.parentPath,e.name))}async function ti(e,t,n,r=32){let i=await T(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>ei(e.slice(1),t)).map(e=>v(t,e).replace(/\\/g,`/`))),o=new Set,s=[];for(let n of e){if(n.startsWith(`!`))continue;let e=$r.test(n)?ei(n,t):[y(_(t,n))];for(let n of e){let e=v(t,n).replace(/\\/g,`/`);a.has(e)||o.has(n)||(o.add(n),s.push({dir:n,memberPath:`./${e}`}))}}return(await L(s,async({dir:e,memberPath:t})=>{try{let r=await T(_(e,n)),a=v(i,r);return a===`..`||a.startsWith(`..${b}`)||g(a)?null:{absPath:r,content:await w(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const ni=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#][^:#]*?))\s*:(?:\s+(.*))?$/,ri=/\s#/;function ii(e){let t=ni.exec(e);if(!t)return null;let[,n,r,i,a,o=``]=t,s=e.length-o.length,c=o.search(ri),l=(c===-1?o:o.slice(0,c)).trimEnd(),u=l[0];return(u===`"`||u===`'`)&&l.length>1&&l.endsWith(u)&&(l=l.slice(1,-1),s+=1),{indent:n.length,key:r??i??a,value:l,valueIndex:s}}function ai(e){let t=[],n=1,r=-1,i=0,a=``;for(let o=1;o<e.length-1;o++){let s=e[o];if(a)s===`\\`&&a===`"`?o++:s===a&&(a===`'`&&e[o+1]===`'`?o++:a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return null;i--}else s===`:`&&i===0&&r===-1?r=o-n:s===`,`&&i===0&&(t.push({colon:r,start:n,text:e.slice(n,o)}),n=o+1,r=-1)}return a||i!==0?null:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function oi(e){let t=e.length-e.trimStart().length,n=e.trim();if(!n)return null;let r=n[0];if(r===`"`||r===`'`){let e=n.indexOf(r,1);return e===-1?null:{value:n.slice(1,e),valueIndex:t+1}}let i=n.search(/\s#/);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function si(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return null;let n=[];for(let r of ai(e)??[]){if(r.colon===-1)return null;let e=oi(r.text.slice(0,r.colon)),i=oi(r.text.slice(r.colon+1));if(!e||!i)return null;n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function ci(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=ii(i);if(e){if(e.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of si(e.value,e.valueIndex)??[])n[t.key]=t.value}else r&&e.value&&(n[e.key]=e.value)}}return{registry:t,registries:Object.fromEntries(Object.entries(n).filter(([,e])=>!e.includes("${")))}}function li(e,t){let n=Ze(y(t),t=>{try{return{content:c(_(t,e),`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e}return null});return n?n.content:null}const ui=new Map;function di(e,t){let n=ui.get(t);n||(n=ci(li(`pnpm-workspace.yaml`,t)??``),ui.set(t,n));for(let[t,r]of Object.entries(n.registries))if(t!=="default"&&e.startsWith(`${t}/`))return r;return n.registries.default||n.registry||null}function*fi(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
7
- `).entries()){let e=ii(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s===`catalog`||s===`catalogs`?s:``,n=``,r=-1,s===`catalog`)for(let e of si(c,l)??[])yield{type:`catalog`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex};else if(s===`catalogs`)for(let e of si(c,l)??[])for(let t of si(e.value,e.valueIndex)??[])yield{type:`catalogs.${e.key}`,name:t.key,value:t.value,lineIndex:i,valueIndex:t.valueIndex}}else if(t===`catalog`)c&&(yield{type:`catalog`,name:s,value:c,lineIndex:i,valueIndex:l});else if(t===`catalogs`){if(r===-1||o<=r){n=s,r=o;for(let e of si(c,l)??[])yield{type:`catalogs.${n}`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex}}else c&&(yield{type:`catalogs.${n}`,name:s,value:c,lineIndex:i,valueIndex:l})}}}function pi(e,t){let n=e.split(`
8
- `),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of Array.from(fi(e)).sort((e,t)=>t.lineIndex-e.lineIndex||t.valueIndex-e.valueIndex)){let e=t[`${i}${a}`];if(!e||(e.oldOrig||e.old)!==o)continue;let l=n[s];n[s]=l.slice(0,c)+e.new+l.slice(c+o.length),r=!0}return r?n.join(`
9
- `):e}function mi(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=ii(r);if(e?.indent===0&&e.key===`packages`){if(e.value.startsWith(`[`)&&e.value.endsWith(`]`))for(let n of ai(e.value)??[]){let e=oi(n.text);e&&t.push(e.value)}n=!0;continue}if(n){let e=r.trim();if(!e||e.startsWith(`#`))continue;if(!e.startsWith(`-`))break;let n=oi(e.slice(1));n&&t.push(n.value)}}return t}const hi=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,gi=new Set([`resolutions`,`overrides`]);function _i(e){return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(e)?.[1]??e}const vi=on.registry,yi=new Map,bi=new Map,xi=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function Si(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=`//${n.host}${r.replace(/\/$/,``)}`,i=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=i(`_authToken`);if(a)return{token:xi(a),type:`Bearer`};let o=i(`username`),s=i(`_password`);if(o&&s){let e=Buffer.from(xi(s),`base64`).toString(`utf8`);return{token:Buffer.from(`${o}:${e}`).toString(`base64`),type:`Basic`}}let c=i(`_auth`);if(c)return{token:xi(c),type:`Basic`};n.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname}if(e===vi&&t._auth)return{token:xi(t._auth),type:`Basic`}}function Ci(e,t,n,r){let i=H(yi,r??``,()=>Yr(`npm`,{registry:vi},r)),a=sn(typeof n.registry==`string`&&n.registry||t.registry||i.registry||vi),o=e.startsWith(`@`)?e.split(`/`)[0]:``,s=r?di(e,r):null,c=o&&r?di(``,r):null;return H(bi,`${r??``}${o}:${a}:${s??``}:${c??``}`,()=>{let e=s?sn(s):a,t=s===c&&o&&i[`${o}:registry`];if(t)try{let n=sn(t);n!==e&&(e=n)}catch{}return{auth:Si(e,i),registry:e}})}const wi=(e,t,n)=>{let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r},Ti=new WeakMap,Ei=new WeakMap,Di=new WeakMap,Oi=new WeakMap,ki=(e,t)=>`${e}\0v2${t?`-dates`:``}`;function Ai(e){let t={};for(let n of Object.keys(e.versions??{}))t[n]=e.versions[n]?.deprecated?{deprecated:!0}:{};return{name:e.name,"dist-tags":e[`dist-tags`],versions:t,time:e.time,error:e.error}}async function ji(e,t,n,r,i,a,o=``){let s=gi.has(t)?_i(e):t===`packageManager`&&e===`yarn`&&(W(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Ci(s,n,r,a),u=wi(l,s),d=ki(u,!!r.needsDates);return[await Q(Ti,i,d,async()=>{let t=cn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await gn(u,i,t,pn(Ai),d);return`body`in n||ur(n.res,u,e,l),JSON.parse(n.body)}),l]}async function Mi(e,t,n,r,i,a){let{auth:o,registry:s}=Ci(e,n,r,a),c=wi(s,e,t);return Q(Ei,i,c,async()=>{try{let n=cn(o?.type,o?.token),a=await _n(c,i,n,pn(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in a))return{};let l=JSON.parse(a.body),u=``,d=/(\d{13})/.exec(l?._npmOperationalInternal?.tmp??``);d&&(u=new Date(Number(d[1])).toISOString());let f=wi(s,e);return!u&&r.needsDates&&(u=(await Ti.get(i)?.get(ki(f,!0)))?.time?.[t]||``),u||=(await R(Q(Di,i,f,async()=>{let e=await fn(i,f,n);return e?.ok?await e.json():null})))?.time?.[t]||``,{repository:l.repository,homepage:l.homepage,date:u}}catch{return{}}})}function Ni(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Pi(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Fi(e){return e.startsWith(`catalog:`)}const Ii=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Li(e){let t=Ii.exec(e);return t&&Y(t[2])?{name:t[1],range:t[2]}:null}const Ri=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,zi=/^@([^/]+)\/(.+)$/;function Bi(e,t){let n=Ri.exec(e);if(n)return{scope:n[1]||n[3],name:n[2]||n[4],version:n[5]};if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=zi.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function Vi(e,t){if(!zi.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Q(Oi,t,n,async()=>{let r=await gn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||ur(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return{name:e,"dist-tags":{latest:i.latest},versions:a,time:o}}),t.jsrApiUrl]}function Hi(e,t){try{JSON.parse(e)}catch{return e}let n=new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`){for(r++,i();e[r]!==`}`&&r<e.length;){let n=a().value;if(i(),e[r++]!==`:`)return;if(o([...t,n]),i(),e[r]===`,`)r++,i();else break}e[r]===`}`&&r++}else if(e[r]===`[`){r++;let n=0;for(i();e[r]!==`]`&&r<e.length&&(o([...t,n++]),i(),e[r]===`,`);)r++,i();e[r]===`]`&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=r.oldOrig||r.old,c=n.get(JSON.stringify(a?JSON.parse(a):[t,i])),l=r.new;c||(c=n.get(JSON.stringify([t])),o=`${i}@${o}`,l=`${i}@${l}`),c?.value===o&&s.push({...c,value:JSON.stringify(l)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const Ui=String.raw`[<>]=?|~>|[\^~=]`,Wi=new RegExp(String.raw`^(${Ui})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),Gi=RegExp(`^(?:${Ui})$`),Ki=/^[xX*]$/,qi=/\+[0-9A-Za-z.-]+/g,Ji=/\|\||[\dxX*]\s+\S/;function Yi(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&Gi.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function Xi(e,t){let n=Wi.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&c.length<=3&&!/[xX*]/.test(o)){let{major:e,minor:n,patch:a}=W(t);return`${r}${i}${c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:!s&&o.endsWith(`.0.0`)?`${e+1}.0.0`:!s&&o.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;let l=t.split(`-`)[0].split(`.`);return l.join(`.`)===t?`${r}${i}${a}${c.map((e,t)=>Ki.test(e)?e:l[t]??`0`).join(`.`)}`:`${r}${i}${a}${t}`}function Zi(e,t){if(J(t,e))return e;let n=Yi(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=Xi(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=Xi(r,t),n.join(` `)}function Qi(e,t,n,r){let i=(n||e).replace(qi,``),a=r===`peerDependencies`||Ji.test(i)?Zi(i,t):Xi(i,t);return J(t,a)?a:i}function $i(e){if(/[xX*]/.test(e))return e;let t=e.match(hi);return t?.length===1?e.replace(hi,En(t[0])):e}async function ea(e,t,n){let r=await nr(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,`commits`,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function ta(e,t,n,r){return(await cr(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function na(e){let t=e.lastIndexOf(`#`);if(t===e.length-1)return null;let n=e.slice(0,t===-1?e.length:t).replace(/^git\+/i,``),r=t===-1?``:e.slice(t+1);if(/^github:/i.test(n))n=n.slice(7);else if(/^git@github\.com:/i.test(n))n=n.replace(/^git@github\.com:/i,``);else if(/^(?:https?|git|ssh):/i.test(n)){let e=/^(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:](.+)$/i.exec(n);if(!e)return null;n=e[1]}else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let i=n.split(`/`);if(i.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(i[0])||!/^[a-z\d._-]{1,100}$/i.test(i[1]))return null;let a=r.startsWith(`semver:`)&&Y(r.slice(7))?r.slice(7):null;return!a&&!Xn.test(r)&&!ct(r)?null:{user:i[0],repo:i[1],ref:a??r,selector:a}}async function ra(e,t,n){let r=na(t.old);if(!r)return null;let{user:i,repo:a,ref:o,selector:s}=r,c=e=>{let n=t.old.lastIndexOf(o);return`${t.old.slice(0,n)}${e}${t.old.slice(n+o.length)}`};if(Xn.test(o)){let{hash:t,commit:r}=await ea(i,a,n);if(!t)return null;let s=Qn(r),l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:c(l),user:i,repo:a,oldRef:o,newRef:l,newDate:s}}else{let t=qn(await ta(i,a,o,n),s?En(s):o);if(t){let n=s?Qi(s,t.replace(/^v/,``),s):t;if(n!==o)return{key:e,newRange:c(n),user:i,repo:a,oldRef:o,newRef:n}}}return null}const ia=/[-_.]+/g,aa=new WeakMap;function oa(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=(r??[]).map(e=>({...e.upload_time_iso_8601&&{upload_time_iso_8601:e.upload_time_iso_8601},...e.yanked&&{yanked:!0}}));return t}async function sa(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(ia,`-`)}/json`;return[{...await Q(aa,t,n,async()=>{let r=await gn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:oa(e.releases)}}));if(`body`in r){let e=JSON.parse(r.body);return{...e,releases:oa(e.releases)}}ur(r.res,n,e,t.pypiApiUrl)}),name:e},null]}function ca(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=X(n.slice(0,-2));if(!r||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=X(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Mt(e.local?{...e,local:null}:e,r),a=r.local?Mt(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==0;if(t===`>=`)return i>=0;let o=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(o&&e.post!==null&&r.post===null):t===`<=`?i<=0:t===`<`?i<0&&!(o&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.epoch===e.epoch&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function la(e,t=e.release){if(!e.local&&t===e.release)return e.version;let n=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,r=e.pre?`${e.pre[0]}${e.pre[1]}`:``,i=e.post===null?``:`.post${e.post}`,a=e.dev===null?``:`.dev${e.dev}`;return`${n}${t.join(`.`)}${r}${i}${a}`}function ua(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1);let i=e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r));return`${n.epoch?`${n.epoch}!`:``}${i.join(`.`)}`}function da(e,t){let n=X(e);if(!n)return!1;let r=t.trim();if(!r)return!0;if(X(r))return ca(n,{lead:``,op:`==`,sep:``,version:r,trail:``});let i=Te(`x${r}`),a=i?.specifiers;return!i||i.extras||i.marker||!a?.length?!1:a.every(e=>ca(n,e))}function fa(e,t,n){let r=Te(e),i=r?.specifiers,a=X(t),o=X(n);if(!r||!i||!a||!o)return null;let s=Ee(i);if(s?.version!==t)return null;for(let e of i){if(e===s)e.version=e.op===`~=`?a.release.length===o.release.length?la(o):la(o,Array.from({length:a.release.length},(e,t)=>o.release[t]??0)):e.op===`==`||e.op===`===`?n:la(o);else if(!ca(o,e)){let t=X(e.version);e.op===`<`&&t?e.version=ua(t,a,o):e.op===`<=`&&(e.version=la(o))}if(!ca(o,e))return null}return F(r,i)}function pa(e){let t=[],n=/\s*(?:"((?:\\.|[^"\\])*)"|'([^']*)'|([\w-]+))\s*(?:\.|$)/gy;try{for(;n.lastIndex<e.length;){let r=n.exec(e);if(!r)return[];t.push(r[1]===void 0?r[2]??r[3]:JSON.parse(`"${r[1]}"`))}}catch{return[]}return t}function ma(e){let t=``,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(t)t===`"`&&i===`\\`&&!n?n=!0:(i===t&&!n&&(t=``),n=!1);else if(i===`"`||i===`'`)t=i;else if(i===`=`)return r;else if(i===`#`)return-1}return-1}function ha(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1,o=!1;for(let t=n;t<e.length;t++){let n=e[t];if(o)n===`
10
- `&&(o=!1);else if(i)i===`"`&&n===`\\`&&!a?a=!0:(n===i&&!a&&(i=``),a=!1);else if(n===`"`||n===`'`)i=n;else if(n===`#`)o=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function ga(e,t){let n=new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=pa(o[1]);else{let o=ma(a),s=o===-1?``:[...r,...pa(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=ha(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function _a(e,t){let n=new Map;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`);H(n,t,()=>new Map).set(i,r)}let r=ga(e,new Set(n.keys())),i=e;for(let[e,t]of Array.from(r).sort((e,t)=>t[1][0]-e[1][0])){let r=n.get(e),a=Array.from(r.keys()).sort((e,t)=>t.length-e.length).map(z).join(`|`),o=i.slice(...t).replace(RegExp(`(['"])( *(${a})(?![\\w.-]).*?)(?=\\1)`,`g`),(e,t,n,i)=>{let{old:a,oldOrig:o,new:s}=r.get(i);return`${t}${fa(n,o||a,s)??n}`});i=`${i.slice(0,t[0])}${o}${i.slice(t[1])}`}return i}function va(e){let t=e.includes(`:/`)||e.startsWith(`/`);return sn(!t&&/[.:/]/.test(e)?`https://${e}`:e)}async function ya(e,t){for(let{url:n,fallback:r}of e)try{let e=await t(n);if(e!==null)return e}catch(e){if(r===`,`)throw e}return null}function ba(e){let t=[];for(let n of e.matchAll(/([^,|]*)([,|]?)/g)){let e=n[1].trim();if(!e)continue;let r=n[2]===`|`?`|`:`,`;if(e===`off`||e===`direct`){t.push({url:e,fallback:r});break}t.push({url:va(e),fallback:r})}return t}function xa(e){if(typeof e==`string`)return[{url:sn(e),fallback:`,`}];let n=ba(t.GOPROXY||`${on.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function Sa(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Ca=new Map;function wa(e){return H(Ca,e,()=>{let t=``;for(let n of e.matchAll(/\[([^\]]*)\]|./gs)){let[e,r]=n;t+=r===void 0?e===`*`?`[^/]*`:e===`?`?`[^/]`:z(e):`[${r.replace(/\\/g,`\\\\`)}]`}return RegExp(`^${t}(?:/.*)?$`)})}function Ta(e,t){return t.some(t=>wa(t).test(e))}function Ea(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const Da=/\/v(\d+)$/,Oa=/^gopkg\.in\/.*?\.v(\d+)$/;function ka(e){let t=Oa.exec(e)??Da.exec(e);return t?Number.parseInt(t[1]):1}function Aa(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(Da,``);return t<=1?n:`${n}/v${t}`}function ja(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(Z(t).split(`.`)[0]);return Number.isNaN(n)||n===ka(e)?e:Aa(e,n)}const Ma=/^(require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,Na=/^(\S+)\s+(v\S+)/,Pa=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Fa=e=>e.replace(/^"(.*)"$/,`$1`);function Ia(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function La(e){let t=Pa.exec(e);if(!t)return null;let[,n,r,i,a]=t;return{origModule:Fa(n),origVersion:r??``,targetModule:Fa(i),targetVersion:a??``}}function*Ra(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){if(/^\)\s*(?:\/\/.*)?$/.test(e)){t=null;continue}yield{kind:t,value:e,lineNumber:n};continue}let i=Ma.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function za(e){return e.startsWith(`golang.org/x/`)}async function Ba(e,t,n){let r=t,i=t&&!Sn(t.Version)?t:null;for(let t=e+2;r;t++){let e=await n(t);if(!e)break;r=e,Sn(e.Version)||(i=e)}return i??r}function Va(e,t,n,r){let i=n??r;return[{name:e,old:t,new:Z(i.Version),Time:i.Time,...i.path!==e&&{newPath:i.path},sameMajorNew:Z(r.Version),sameMajorTime:r.Time},null]}function Ha(e){let t={},n={},r={},i={},a={},o=new Set,s=[];for(let i of Ra(e.split(/\r?\n/))){if(i.kind===`tool`){s.push(Fa(i.value.split(/\s/,1)[0]));continue}if(i.kind===`exclude`){let e=Na.exec(i.value);e&&(a[Fa(e[1])]??=[]).push(e[2]);continue}if(i.kind===`replace`){let e=La(i.value);e&&(e.targetVersion&&!Ia(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||o.add(e.origModule));continue}if(i.kind!==`require`)continue;let e=Na.exec(i.value);e&&((i.value.includes(`// indirect`)?n:t)[Fa(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=[...Object.keys(n),...Object.keys(t)];for(let e of s){let r=``;for(let t of c)(e===t||e.startsWith(`${t}/`))&&t.length>r.length&&(r=t);let a=n[r]?n:t;a[r]&&(i[r]=a[r],delete a[r])}return{deps:t,indirect:n,replace:r,tool:i,...Object.keys(a).length&&{exclude:a}}}const Ua=new WeakMap;function Wa(e,t,n){let r=t.includes(`|`)?t.slice(t.indexOf(`|`)+1):``,i=r.includes(`:`)?r.slice(r.indexOf(`:`)+1):r,a=H(Ua,n,()=>new Map);for(let t of i?[_(e,i,`go.mod`),_(e,`go.mod`)]:[_(e,`go.mod`)]){let e=y(t),n=H(a,e,()=>{try{return new Map(Object.entries(Ha(c(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return new Map}async function Ga(e,n,r,i,a){let o=ka(e),s=async(e,n,a)=>{try{let o=a??`latest`,s=[`list`,`-m`,...a?[]:[`-versions`],`-json`,`${e}@${o}`],{stdout:c}=await i.execFile(`go`,s,{timeout:n,cwd:r,env:{...t,GOPROXY:`direct`}}),l=JSON.parse(c);return{Version:l.Version,Time:l.Time||``,path:e,Versions:l.Versions}}catch(t){let n=String(t?.stderr??``).trim().split(`
11
- `)[0]||t?.message||String(t);throw Error(`go list -m ${e}@${a??`latest`} failed: ${n}`)}},c=async(e,t)=>{let n=await s(e,t),r=a.get(e);if(!r?.has(n.Version))return n;let i=Qa((n.Versions??[]).join(`
12
- `),$a(e),r);if(!i)throw Error(`No non-excluded versions found for ${e}`);return s(e,t,i.Version)},l=e=>R(c(e,i.goProbeTimeout)),[u,d]=await Promise.all([c(e,i.fetchTimeout),za(e)?null:l(Aa(e,o+1))]);return Va(e,n,await Ba(o,d,t=>l(Aa(e,t))),u)}const Ka={"accept-encoding":`gzip, deflate, br`},qa=e=>e===404||e===410;async function Ja(e,t,n){try{let t=await e.json();if(t?.Version)return{Version:t.Version,Time:t.Time||``,path:n}}catch{}throw Error(`Invalid response from ${t}`)}const Ya=async(e,t,n)=>{let r=`${t}/${Ea(n)}/@latest`,i=await e(r);if(i.ok)return Ja(i,r,n);if(qa(i.status))return null;ur(i,r,n,t)},Xa=new WeakMap;function Za(e,t,n,r,i){return Q(Xa,e,`latest${t}${r}/${i}`,()=>Ya(n,r,i))}function Qa(e,t=0,n=new Set){let r=null;for(let i of e.split(`
13
- `)){let[e,a]=i.trim().split(/\s+/);if(!(!e||!ct(e)||n.has(e))&&!(t&&Number.parseInt(Z(e))!==t)){if(r){let t=Sn(e);if(t===Sn(r.Version)?!ht(e,r.Version):t)continue}r={Version:e,Time:a??``}}}return r}function $a(e){return Da.test(e)||Oa.test(e)?ka(e):0}async function eo(e,t,n,r=new Set){let i=Ea(n),a=`${t}/${i}/@v/list`,o=await e(a);if(!o.ok){if(qa(o.status))return null;ur(o,a,n,t)}let s=Qa(await o.text(),$a(n),r);if(!s)return null;if(s.Time)return{...s,path:n};let c=`${t}/${i}/@v/${Ea(s.Version)}.info`;try{let t=await e(c);if(t.ok)return Ja(t,c,n)}catch{}return{...s,path:n}}function to(e,t,n,r,i,a=new Set){let o=`list${t}${r}/${i}${Array.from(a).sort().join(`\0`)}`;return Q(Xa,e,o,()=>eo(n,r,i,a))}async function no(e,t,n,r,i){let a=ka(t),o=e=>fn(r,e,{headers:Ka}),s=e=>r.doFetch(e,{signal:AbortSignal.timeout(r.goProbeTimeout),headers:Ka}),c=Za(r,`primary`,o,e,t),l=(async()=>{let n=await c;return n&&!i.get(t)?.has(n.Version)?n:to(r,`primary`,o,e,t,i.get(t))})(),u=async t=>{try{let[n,a]=await Promise.all([Za(r,`probe`,s,e,t),c]),o=i.get(t);return n&&!o?.has(n.Version)?n:!n&&a?null:to(r,`probe`,s,e,t,o)}catch{return null}},[d,f]=await Promise.all([l,za(t)?null:u(Aa(t,a+1))]);return d?Va(t,n,await Ba(a,f,e=>u(Aa(t,e))),d):null}async function ro(e,t,n,r,i,a){let o=Wa(r,t,i);if(Ta(e,a))return Ga(e,n,r,i,o);let s=await ya(i.goProxyChain,async t=>{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);return t===`direct`?Ga(e,n,r,i,o):no(t,e,n,i,o)});if(s)return s;throw Error(`Unable to find ${e} on any GOPROXY entry`)}const io=e=>`("?)${z(e)}\\2`;function ao(e,t){let n={},r=Object.entries(t);if(!r.length)return[e,n];let i=e.match(/\r?\n/g)??[],a=e.split(/\r?\n/),o=(e,t,n)=>{let r=!1;for(let i of e??[]){let e=a[i];a[i]=e.replace(t,n),r||=a[i]!==e}return r},s=new Map,c=new Map,l=new Map;for(let e of Ra(a))if(e.kind===`require`){let t=Na.exec(e.value);t&&Qe(s,Fa(t[1]),e.lineNumber)}else if(e.kind===`replace`){let t=La(e.value);t&&Qe(c,t.targetModule,{...t,lineNumber:e.lineNumber})}else if(e.kind===`tool`){let t=Fa(e.value.split(/\s/,1)[0]);for(;t;){Qe(l,t,e.lineNumber);let n=t.lastIndexOf(`/`);if(n===-1)break;t=t.slice(0,n)}}for(let[e,{old:t,oldOrig:i,new:u}]of r){let[r,d]=e.split(`\0`),f=i||t,p=ja(d,u);if(r===`replace`){let e=!1;for(let t of c.get(d)??[]){if(Z(t.targetVersion)!==f)continue;let{lineNumber:n}=t;a[n]=a[n].replace(RegExp(`(=>\\s+)${io(d)}(\\s+)v${z(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`),p!==d&&t.origModule===d&&!t.origVersion&&(a[n]=a[n].replace(RegExp(`(^\\s*(?:replace\\s+)?)${io(d)}(?=\\s+=>)`),`$1$2${p}$2`),e=!0)}e&&o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${io(d)}(\\s+)v\\S+(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&(n[d]=p);continue}o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${io(d)}(\\s+)v${z(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&p!==d&&(n[d]=p),r===`tool`&&p!==d&&o(l.get(d),RegExp(`(^\\s*(?:tool\\s+)?)("?)${z(d)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),`$1$2${p}$3$2`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const oo=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function so(e,t){let n=Object.entries(t).sort(([e],[t])=>t.length-e.length);if(!n.length)return e;let r=[],i=(e,t)=>{if(!`"'\``.includes(e[0]))return!1;if(e[0]===`'`)return!0;let i=e.slice(1,-1),a=n.find(([e])=>i===e||i.startsWith(`${e}/`));return a&&r.push({start:t+1,end:t+e.length-1,value:`${a[1]}${i.slice(a[0].length)}`}),!0},a=!1,o=0;for(let t of e.matchAll(oo)){let e=t[0];if(!(/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`))){if(a){e===`)`?a=!1:i(e,t.index);continue}e===`import`?o=2:o&&e===`(`?(a=!0,o=0):o&&(i(e,t.index)||--o===0)&&(o=0)}}let s=e;for(let e of r.reverse())s=`${s.slice(0,e.start)}${e.value}${s.slice(e.end)}`;return s}function co(e,t,n){if(Object.keys(t).length)for(let r of o(`**/*.go`,{cwd:e})){let i=_(e,r),a=c(i,`utf8`),o=so(a,t);o!==a&&n(i,o)}}function lo(e){let t=[],n={};for(let r of Ra(e.split(/\r?\n/)))if(r.kind===`use`)t.push(r.value.split(/\s/,1)[0]);else if(r.kind===`replace`){let e=La(r.value);e?.targetVersion&&!Ia(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function uo(e,t){try{let n=u(y(e));return u(_(n,t,`go.mod`))}catch{return null}}function fo(e){let t=`https://${po(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[,e,i,...a]=r;return n.pathname=`/${e}/${i}/${mr(t)}/${a.join(`/`)}`,n.href}return t}function po(e){return Da.test(e)?h(e):e}function mo(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function ho(e){if(e.startsWith(`docker://`)||e.startsWith(`./`))return null;let t=/^https?:\/\/([^/]+)\/(.+)$/.exec(e),n=t?.[1]??null,r=t?.[2]??e,i=r.indexOf(`@`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!o)return null;let s=a.split(`/`);if(s.length<2)return null;let c=n?`${n}/${a}`:a;return{host:n,owner:s[0],repo:s[1],ref:o,name:c,isHash:Yn.test(o)}}function go(e,t){return e?e===`github.com`?an:`https://${e}/api/v1`:t}async function _o(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await Xt(a);if(e)return e.body}try{let e=await Kn(a,i);if(e.status===404)return``;if(!e.ok)return;let t=Qn(await e.json());return t&&!i.noCache&&$t(a,`immutable`,t),t}catch(e){if(e instanceof Un)throw e;return}}function vo(e,t){return pr(W(Z(e))?.version??Z(e),t)}const yo=/^(\s*)(?:-\s*)?(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/,bo=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function xo(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'])[^\s#]+))([^\n]*)$/.exec(e);if(!t)return null;let[,n,r=``,i,a,o]=t,s=i??a;if(!s)return null;let c=o.indexOf(`#`),l=c===-1?``:o.slice(c),u=l?bo.exec(l.slice(1)):null;return{prefix:n,quote:r,value:s,gap:c===-1?o:o.slice(0,c),comment:l,pinnedVersion:u?.[1]??``,pinnedEnd:u?u[0].length+1:0}}const So=/^https?:\/\//;function Co(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
14
- `).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=yo.exec(e);if(!t)return e;let a=t[1].length;for(;r.length&&r.at(-1).indent>=a;)r.pop();let o=(t[2]??t[3]??t[4]).trim(),s=o===`uses`&&(r[0]?.key===`jobs`&&r.length===3&&r[2].key===`steps`||r[0]?.key===`runs`&&r.length===2&&r[1].key===`steps`),c=t[5].replace(/(?:^|\s)#.*$/,``).trim();if(c||r.push({indent:a,key:o}),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(c))return i=a,e;if(!s)return e;let l=xo(e);if(!l)return e;let{prefix:u,quote:d,value:f,gap:p,comment:m,pinnedVersion:h,pinnedEnd:g}=l,_=So.exec(f)?.[0]??``,v=h||/^#\s*(\S+)\s*$/.exec(m)?.[1]||``,y=n.get(`${f.slice(_.length)}${v?`#${v}`:``}`)??n.get(f.slice(_.length));if(!y)return e;let b=y.newComment&&h?`# ${y.newComment}${m.slice(g)}`:m;return`${u}${d}${_}${y.name}@${y.newRef}${d}${p}${b}`}).join(`
15
- `)}const wo=RegExp(`(?:^|/)(?:${Ue(Ae)})/(?:workflows/[^/]+|(?:[^/]+/)*action)\\.ya?ml$`);function To(e){return wo.test(e.replace(/\\/g,`/`))}function Eo(e){let t=new Set;try{for(let n of l(_(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(y(_(e,`workflows`,n)))}catch{}try{for(let n of l(e,{recursive:!0,withFileTypes:!0}))!n.isFile()||!/^action\.ya?ml$/.test(n.name)||t.add(y(_(n.parentPath,n.name)))}catch{}return Array.from(t)}const Do=/^(v?\d+(?:\.\d+)*)([a-z][a-z0-9]*)?(-.+)?$/i,Oo=/^[ \t]*FROM\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim,ko=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,Ao=/^[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,jo=/^[ \t]*FROM\s+(?:--platform=\S+\s+)?(\S+)/i,Mo=e=>e.replace(/\\[ \t]*\r?\n[ \t]*/g,` `);function No(e,t){return e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>{let i=t(n||r);return i===void 0?e:i})}function*Po(e,t=!1){let n=new Map,r=!1;for(let i of e.matchAll(/^[ \t]*(?:ARG|FROM)\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim)){let e=Mo(i[0]),a=Ao.exec(e);if(a){if(!r){let e=a[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``,t=i[0].lastIndexOf(e);n.set(a[1],{value:e,resolved:No(e,e=>n.get(e)?.resolved),start:t<0?-1:i.index+t})}continue}r=!0;let o=jo.exec(e);o&&(yield{instruction:i,args:n,from:o,resolved:No(o[1],e=>n.get(e)?.[t?`resolved`:`value`])})}}const Fo=/^(?:(?:index|registry-1)\.)?docker\.io$/;function Io(e){let t=e.split(`/`);return t.length>1&&Fo.test(t[0])&&t.shift(),{registry:t.length>2||t.length>1&&(t[0]===`localhost`||t[0].includes(`.`)||t[0].includes(`:`))?t.shift():null,namespace:t.length===1?`library`:t.slice(0,-1).join(`/`),repo:t.at(-1)}}function Lo(e){let{registry:t,namespace:n,repo:r}=Io(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[...new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function Ro(e){e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&(!s||!Do.test(s)))return null;let{registry:c,namespace:l,repo:u}=Io(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function zo(e){let t=Do.exec(e);return t?{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}:null}function Bo(e,t,n=``){let r=zo(t);return r?pr(e,r.version,`${n}${r.suffix}`):t}function Vo(e,t){let n=[];if(t===Oo){for(let{from:t,resolved:r}of Po(e,!0)){let e=Ro(r);e&&n.push({ref:e,match:t[1]})}return n}let r=t===ko?Ho(e):null;for(let i of e.matchAll(t)){if(r?.has(i.index+i[0].indexOf(`image:`)))continue;let e=Ro(i[1]);e&&n.push({ref:e,match:i[1]})}return n}function Ho(e){let t=new Set,n=new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim())continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=n.get(e)??{built:!1,images:[]};if(n.set(e,i),/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const Uo=new WeakMap,Wo=new Set([401,403,404]);function Go(e,t,n){return Q(Uo,n,`${e}/${t}`,async()=>{let r={dates:{},digests:new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=async r=>{let i=await gn(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))})),`${r}#digest`);return`body`in i?JSON.parse(i.body):(Wo.has(i.res?.status)||ur(i.res,r,`${e}/${t}`,n.dockerApiUrl),null)},s=e=>{for(let t of e?.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=new Set,u=c,d=2;if(c.count){let e=[];for(;d<=20&&d<=Math.ceil(c.count/1e3);d++){let t=a(d);l.add(t),e.push(t)}let t=await L(e,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:yn(n)});for(let e of t){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),u=e.value}}let f;for(;d<=20&&u.next;d++){let e=new URL(u.next,i);f??=new URL(i).origin;let t=e.href;if(e.origin!==f||l.has(t))break;l.add(t);let n=await o(t);if(!n)break;s(n),u=n}return r})}async function Ko(e,t,n){return(await Go(e,t,n)).dates}async function qo(e,t,n,r){let i=(await Go(e,t,r)).digests.get(n);if(i)return i;let a=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,o=await gn(a,r,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>({digest:e.digest})));if(`body`in o){let e=JSON.parse(o.body)?.digest;return typeof e==`string`?e:null}return Wo.has(o.res?.status)||ur(o.res,a,`${e}/${t}:${n}`,r.dockerApiUrl),null}const Jo=/^\d?[02468]\.04$/;function Yo(e,t){if(!Jo.test(e))return!1;let[n,r]=e.split(`.`);return t>=Date.UTC(2e3+Number(n),Number(r))}const Xo={ubuntu:Yo};function Zo(e,t,n=Date.now()){let r=Xo[e];return r?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=zo(e)?.version;return!t||r(t,n)})):t}async function Qo(e,t){let{registry:n,namespace:r,repo:i}=Io(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:Zo(i,await Ko(r,i,t)),name:e},null]}const $o=(e,t)=>t?`${e}-${t}`:e;function es(e){let t=Z(e).split(`.`).slice(0,3);return!t.length||t.some(e=>!/^\d+$/.test(e))?null:[...t.map(e=>String(Number(e))),...Array(3-t.length).fill(`0`)].join(`.`)}function ts(e,t){let n=Z(e.version).split(`.`).map(Number),r=Z(t.version).split(`.`).map(Number);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!e.prerelease&&t.prerelease?1:e.prerelease&&!t.prerelease?-1:e.prerelease.localeCompare(t.prerelease)}function ns(e,t){let n=Z(e.version).split(`.`).map(Number),r=Z(t.version).split(`.`).map(Number),i=n.findIndex((e,t)=>e!==r[t]);return i===-1?e.prerelease===t.prerelease?null:`patch`:i===0?`major`:i===1?`minor`:`patch`}function rs(e,t,n,r,i,a,o=!1,s=!1){let c=zo(t);if(!c)return null;let l=es(c.version);if(!l)return null;let u=Z(c.version).split(`.`).length,d=$o(l,c.prerelease),{effectiveSemvers:f,skipsPrerelease:p}=Tn(d,o,s,n),m=u>3,h=W(d),g=c,_=``,v=``;for(let[t,l]of Object.entries(e)){let e=zo(t);if(!e||e.suffix!==c.suffix||Z(e.version).split(`.`).length!==u||!fr(e.version,c.version)||!nn(l,r,i))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||ts(e,g)<=0)continue;let r=ns(c,e);if(!r||!n.has(r))continue;g=e,_=t,v=l;continue}let d=es(e.version);if(!d)continue;let y=W($o(d,e.prerelease));if(!y||e.prerelease&&p(y)||a&&!J(d,a))continue;if(y.version===h.version){_&&Date.parse(l)>Date.parse(v)&&(_=t,v=l);continue}let b=It.diff(h,y);!b||!f.has(b)||It.compare(y,h)>0&&(h=y,_=t,v=l)}if(m)return _?{newTag:_,date:v}:null;if(!_||h.version===d)return null;let[y,b=``]=h.version.split(`-`),x=Bo(y,t,b),S=x in e?x:_;return S===t?null:{newTag:S,date:v}}const is=`(?![\\w.@+-])`;function as(e){let t=new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function os(e,t,n,r=()=>!0){if(!t.size)return e;let i=Ue(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`(${e})(${i})${is}`,`g`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function ss(e,t){let n=`(?:[ \\t]+|\\\\[ \\t]*\\r?\\n[ \\t]*)`,r=as(t),i=Ue(r.keys()),a=r.size?e.replace(RegExp(`(FROM${n}+(?:--platform=\\S+${n}+)?)(${i})${is}`,`gi`),(e,t,n)=>`${t}${r.get(n)??n}`):e,o=new Map;for(let{instruction:e,args:t,from:n,resolved:i}of Po(a)){let a=r.get(i);if(!a)continue;let s=i.slice(i.lastIndexOf(`@`)+1),c=a.slice(a.lastIndexOf(`@`)+1),l=i.includes(`@`)&&a.includes(`@`)&&s!==c;if(l){let t=e[0].lastIndexOf(s);t!==-1&&o.set(e.index+t,{end:e.index+t+s.length,value:c})}for(let e of n[1].matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let r=t.get(e[1]||e[2]),i=No(n[1].slice(0,e.index),e=>t.get(e)?.value),u=No(n[1].slice(e.index+e[0].length),e=>t.get(e)?.value);l&&(u=u.replace(s,c)),!(!r||r.start<0||!a.startsWith(i)||!a.endsWith(u))&&o.set(r.start,{end:r.start+r.value.length,value:a.slice(i.length,u?-u.length:void 0)})}}let s=a;for(let[e,t]of[...o].sort(([e],[t])=>t-e))s=`${s.slice(0,e)}${t.value}${s.slice(t.end)}`;return s}function cs(e,t){let n=Ho(e);return os(e,as(t),[String.raw`image:\s*['"]?`],e=>!n.has(e))}function ls(e,t){return os(e,as(t),[String.raw`(?:container|image):\s*['"]?`,String.raw`uses:\s*['"]?docker://`])}const us=[`Dockerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function ds(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function fs(e){return/^Dockerfile(\..+)?$/.test(e)}function ps(e){return fs(e)||ds(e)}function ms(e){return fs(e)?Oo:ko}function hs(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const gs=[`Makefile`,`makefile`,`GNUmakefile`];function _s(e){return gs.includes(e)||e.endsWith(`.mk`)}const vs=/^\s*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,ys=/^([^@\s]+)@(v\d\S*)$/,bs=/^[^/\s]+\.[^/\s]+\//;function*xs(e){let t=``;for(let n of[...e.split(/\r?\n/),``]){let e=n.indexOf(`#`),r=e===-1?n:n.slice(0,e),i=0;for(;r[r.length-i-1]===`\\`;)i++;if(i%2){t+=`${r.slice(0,-1)} `;continue}let a=vs.exec(t+r);if(t=``,!a)continue;let o=``,s=``;for(let e of a[1])o?e===o?o=``:s+=e:e===`"`||e===`'`?o=e:/\s/.test(e)?(s&&(yield s),s=``):s+=e;s&&!o&&(yield s)}}function Ss(e){let t=[];for(let n of xs(e)){let e=ys.exec(n);if(!e||!bs.test(e[1]))continue;let[,r,i]=e;t.push({installPath:r,version:i})}return t}const Cs=/@(sha256:[0-9a-f]{64})$/;function ws(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function Ts(e){let t=Cs.exec(e),n=t?.[1]??null,r=t?e.slice(0,t.index):e,i=Ro(r.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:r.slice(0,r.lastIndexOf(`:`)),ref:i,digest:n}}function Es(e){return Array.from(xs(e)).flatMap(e=>Ts(e)??[])}const Ds=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,Os=new WeakMap;function ks(e,n,r){return Q(Os,r,`${y(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){let n=String(t?.stderr??``).trim().split(`
16
- `)[0]||t?.message||String(t);throw Error(`go list -m ${e}@latest failed: ${n}`)}let a;try{a=JSON.parse(i)}catch{throw Error(`go list -m ${e}@latest returned malformed JSON`)}if(a.Error){let t=a.Error.Err;if(a.Origin&&t?.endsWith(`no matching versions for query "latest"`))return null;throw Error(`go list -m ${e}@latest failed: ${t||`unknown error`}`)}if(typeof a.Version!=`string`)throw Error(`go list -m ${e}@latest returned malformed JSON`);return!0},!1)}async function As(e,t,n,r){return await ya(r,async r=>r===`off`?!1:r===`direct`?ks(e,t,n):await Za(n,`primary`,e=>fn(n,e,{headers:Ka}),r,e)?!0:null)??!1}async function js(e,t,n,r){let i=Ds.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=Ta(e,r)?[{url:`direct`,fallback:`,`}]:n.goProxyChain;if(a[0].url===`off`)return null;let o=e.split(`/`),s=Array.from({length:o.length-1},(e,t)=>o.slice(0,o.length-t).join(`/`)),c=-1;for(let e of a){let r=await Promise.allSettled(s.map(r=>As(r,t,n,[e])));c=r.findIndex(e=>e.status===`fulfilled`&&e.value);let i=r.slice(0,c===-1?void 0:c).find(e=>e.status===`rejected`);if(i)throw i.reason;if(c!==-1)break}return c===-1?null:s[c]}function Ms(e,t){let n=new Map(t.map(({oldSpec:e,newSpec:t})=>[e,t]));if(!n.size)return e;let r=Array.from(n.keys()).sort((e,t)=>t.length-e.length).map(e=>Array.from(e,e=>z(e)).join(`["']*`)).join(`|`),i=RegExp(`(?<![\\w./@:-])(${r})(?=[\\s#"']|$)`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=e.replace(/["']/g,``),r=n.get(t),i=0;return e.replace(/[^"']/g,()=>r[i++]??``)+r.slice(i)}))}const Ns=new WeakMap;function Ps(e){let t=e.toLowerCase();return t.length<=2?`${t.length}/${t}`:t.length===3?`3/${t[0]}/${t}`:`${t.slice(0,2)}/${t.slice(2,4)}/${t}`}function Fs(e,t){let n=sn(e);return`${n===`https://crates.io`?`https://index.crates.io`:n}/${Ps(t)}`}function Is(e){return e.split(`
5
+ `)}return i}const Be={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Ve(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Be[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}function He(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function L(e,t,{concurrency:n=1/0}={}){let r=Array.from(e);if(!Number.isFinite(n))return Promise.all(r.map(t));let i=Array(r.length),a=0;return await Promise.all(Array.from({length:Math.min(Math.max(n,1),r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}async function R(e){try{return await e}catch{return null}}const z=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Ue(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(z).join(`|`)}const We=new WeakMap;var Ge=class extends RegExp{constructor(e,t,n){super(e,n),We.set(this,t)}test(e){return We.get(this)(e)}};function Ke(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++)e[i]===`(`||e[i]===`{`?n++:e[i]===`)`||e[i]===`}`?n--:(e[i]===`|`||e[i]===`,`)&&n===0&&(t.push(e.slice(r,i)),r=i+1);return t.push(e.slice(r)),t}function qe(e,t,n,r){let i=0;for(let a=t;a<e.length;a++)if(e[a]===n)i++;else if(e[a]===r&&--i===0)return a;return-1}function Je(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return Ke(e);let n=/^-?\d+$/.test(t[1])&&/^-?\d+$/.test(t[2]),r=n?Number(t[1]):t[1].codePointAt(0),i=n?Number(t[2]):t[2].codePointAt(0),a=Math.abs(Number(t[3])||1)*(r<=i?1:-1),o=[];for(;(a>0?r<=i:r>=i)&&o.length<1e3;)o.push(n?String(r):String.fromCodePoint(r)),r+=a;return o}function B(e){let t=``,n=[],r=e=>{t+=e,n.push({kind:`char`,matcher:RegExp(`^(?:${e})$`,`i`)})};for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`&&i+1<e.length)r(z(e[++i]));else if(a===`*`&&e[i+1]!==`(`){let r=e[i+1]===`*`;for(;e[i+1]===`*`;)i++;r&&e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`){let a=qe(e,i,`{`,`}`);if(a===-1)r(`\\{`);else{let r=Je(e.slice(i+1,a)).map(B);t+=`(?:${r.map(e=>e.source).join(`|`)})`,n.push({kind:`alternatives`,alternatives:r.map(e=>e.tokens),minimum:1,repeat:!1}),i=a}}else if(`@+?*!`.includes(a)&&e[i+1]===`(`){let o=qe(e,i+1,`(`,`)`);if(o===-1)r(z(a));else{let r=Ke(e.slice(i+2,o)).map(B),s=r.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${s})(?:/|$))[^/]*`:`(?:${s})${a===`@`?``:a}`;let c=r.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:c}:{kind:`alternatives`,alternatives:c,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=o}}else r(z(a))}return{source:t,tokens:n}}function Ye(e,t){let n=new WeakMap,r=(e,n,r)=>{for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=n.get(e);o||(o=new Map,n.set(e,o));let s=o.get(a);if(s)return s;let c=new Set([a]);o.set(a,c);for(let n of e){let e=new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);for(let t of n.alternatives)for(let n of i(t,a))e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function Xe(e){if(e instanceof RegExp)return/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e;let t=/^(!?)\/(.*)\/(i?)$/.exec(e);if(t)try{let n=new RegExp(t[2],t[3]);return t[1]?new Ge(e,e=>!n.test(e)):n}catch{}let n=0;for(;e[n]===`!`&&e[n+1]!==`(`;)n++;let r=n%2==1,{source:i,tokens:a}=B(e.slice(n)),o=e=>Ye(a,e);return new Ge(`^${i}$`,r?e=>!o(e):o,`i`)}async function Ze(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function Qe(e,t){let n=e;for(;;){let e=t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function $e(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function V(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function et(e){let t=new Map;return n=>V(t,n,()=>e(n))}const tt=`0|[1-9]\\d*`,nt=/^(?:0|[1-9]\d*)$/,rt=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,it=RegExp(`^v?(${tt})\\.(${tt})\\.(${tt})(?:-((?:${rt})(?:\\.(?:${rt}))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$`),at=new Map;function H(e){return typeof e==`string`?V(at,e,()=>{let t=it.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if(!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)&&Number(e)<2**53-1?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,build:t[5]?.split(`.`)??[],raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function ot(e,t){let n=typeof e==`number`||/^\d+$/.test(e),r=typeof t==`number`||/^\d+$/.test(t);if(n&&r){let n=String(e),r=String(t);return n.length-r.length||(n<r?-1:+(n>r))}return n?-1:r?1:e<t?-1:+(e>t)}function st(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function ct(e,t){let n=st(e,t);if(n!==0)return n;let r=e.prerelease.length>0,i=t.prerelease.length>0;if(!r&&!i)return 0;if(r&&!i)return-1;if(!r&&i)return 1;let a=Math.max(e.prerelease.length,t.prerelease.length);for(let n=0;n<a;n++){if(e.prerelease[n]===void 0)return-1;if(t.prerelease[n]===void 0)return 1;let r=ot(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function lt(e){return H(e)?.version??null}function U(e){return H(e)}const ut=new Map,dt=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function ft(e){return typeof e==`string`?V(ut,e,()=>{let t=dt.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function pt(e,t){let n=H(e),r=H(t);return!n||!r?null:mt(n,r)}function mt(e,t){let n=ct(e,t);if(n===0)return null;let r=n>0?e:t,i=n>0?t:e,a=r.prerelease.length>0;if(i.prerelease.length>0&&!a){if(!i.patch&&!i.minor)return`major`;if(st(i,r)===0)return i.minor&&!i.patch?`minor`:`patch`}let o=a?`pre`:``;return e.major===t.major?e.minor===t.minor?e.patch===t.patch?`prerelease`:`${o}patch`:`${o}minor`:`${o}major`}function ht(e,t){let n=H(e),r=H(t);return n&&r?ct(n,r):null}function gt(e,t){return(ht(e,t)??-1)>0}function _t(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=t[1].split(`.`),r=[],i=!1;for(let e of n)if(/^[xX*]$/.test(e))i=!0,r.push(null);else{if(i||!nt.test(e))return null;let t=Number(e);if(!Number.isSafeInteger(t))return null;r.push(t)}for(;r.length<3;)r.push(null);return(t[2]||t[3])&&r.some(e=>e===null)||(t[2]||t[3])&&!H(`${r.join(`.`)}${t[2]??``}${t[3]??``}`)?null:{major:r[0],minor:r[1],patch:r[2],suffix:`${t[2]??``}${t[3]??``}`}}function W(e,t,n,r,i=``){let a=H(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function G(...e){let t=e.filter(e=>e!==null);return t.length===e.length?t:null}function vt(e,t){let n=ct(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return!1}}function K(e,t,n){return W(`<`,e,t,n,`-0`)}function yt(e,t){if(e.major===null)return t===`>`||t===`<`?G(K(0,0,0)):[];let n=e.major,r=e.minor??0,i=e.patch??0;if(t===`^`||t===`~`){let a=W(`>=`,n,r,i,e.suffix);return e.minor===null?G(a,K(n+1,0,0)):t===`~`?G(a,K(n,r+1,0)):n===0?e.patch!==null&&r===0?G(a,K(0,0,i+1)):G(a,K(0,r+1,0)):G(a,K(n+1,0,0))}return e.minor!==null&&e.patch!==null?G(W(t||`=`,n,r,i,e.suffix)):!t||t===`=`?e.minor===null?G(W(`>=`,n,0,0),K(n+1,0,0)):G(W(`>=`,n,r,0),K(n,r+1,0)):t===`>`?e.minor===null?G(W(`>=`,n+1,0,0)):G(W(`>=`,n,r+1,0)):t===`<=`?e.minor===null?G(K(n+1,0,0)):G(K(n,r+1,0)):t===`<`?e.minor===null?G(K(n,0,0)):G(K(n,r,0)):G(W(`>=`,n,r,0))}function bt(e,t){let n=_t(e),r=_t(t);if(!n||!r)return null;let i=[];if(n.major!==null){let e=W(`>=`,n.major,n.minor??0,n.patch??0,n.suffix);if(!e)return null;i.push(e)}if(r.major===null)return i;let a=r.minor===null?K(r.major+1,0,0):r.patch===null?K(r.major,r.minor+1,0):W(`<=`,r.major,r.minor,r.patch,r.suffix);return a?(i.push(a),i):null}function xt(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t)return bt(t[1],t[2]);let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&_t(t[2]),i=n?yt(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const St=new Map;function Ct(e){return V(St,e,()=>{let t=e.split(`||`).map(e=>xt(e.trim()));return t.some(e=>e===null)?null:t})}function wt(e,t){return t.some(t=>!vt(e,t))?!1:!e.prerelease.length||t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch)}function Tt(e,t){return!!Ct(t)?.some(t=>wt(e,t))}function q(e,t){let n=H(e);return!!(n&&Tt(n,t))}function J(e){return typeof e==`string`&&Ct(e)?e:null}const Et=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,Dt=RegExp(`^${Et}$`,`i`),Ot=RegExp(Et,`i`),kt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},At=new Map;function Y(e){return typeof e==`string`?V(At,e,()=>{let t=Dt.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[kt[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function jt(e){return Y(e)??Y(Ot.exec(e)?.[0]??``)}const Mt=e=>!!e.pre||e.dev!==null;function Nt(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function Pt(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?Nt(e.local,t.local):a<o?-1:1}function Ft(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function It(e,t){let n=Pt(e,t);if(n===0)return null;let r=Ft(e,t);return Mt(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Lt=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,Rt={parse:U,parseRange:e=>U(Lt.exec(e)?.[0]??``)??U(ft(e)?.version??``),compare:ct,diff:mt,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:Tt},zt=new Map;function Bt(e){return V(zt,e,()=>{let t=e.trim().replace(/^v/i,``);return(U(t)??U(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?U(ft(t)?.version??``):null)})}const Vt={...Rt,parse:Bt,parseRange:Bt,isRangePrerelease:e=>!!Bt(e)?.prerelease.length},Ht={parse:Y,parseRange:jt,compare:Pt,diff:It,isPrerelease:Mt,isRangePrerelease:e=>{let t=jt(e);return!!(t&&Mt(t))},satisfiesRange:({release:e},t)=>q(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Ut=[[1e3,6e4,`sec`,`s`,`second`],[6e4,36e5,`min`,`m`,`minute`],[36e5,864e5,`hour`,`h`],[864e5,6048e5,`day`,`d`],[6048e5,2628e6,`week`,`w`],[2628e6,31536e6,`month`,`mo`],[31536e6,1/0,`year`,`y`]],Wt={"1 day ago":`yesterday`,"1 week ago":`last week`,"1 month ago":`last month`,"1 year ago":`last year`,"in 1 day":`tomorrow`,"in 1 week":`next week`,"in 1 month":`next month`,"in 1 year":`next year`};function Gt(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function Kt(e,{now:t,noAffix:n=!1,times:r=Ut,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=Wt,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():Gt(t))-Gt(e);if(Number.isNaN(d))return o||String(e);let f=d<0;if(f&&(d=-d),d<i)return a;let p=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(d>=t[1])continue;let n=Math.trunc(d/t[0]);p=u?`${n}${t[3]||t[2]}`:`${n} ${l&&t[4]||t[2]}${n>1?`s`:``}`;break}let m=n?p:f?`in ${p}`:`${p} ago`;return s?c[m]??m:m}function qt(e){return new Promise((t,n)=>{s(e,`utf8`,(e,r)=>e?n(e):t(r))})}const Jt=_(r===`win32`?t.LOCALAPPDATA||_(k(),`AppData`,`Local`):t.XDG_CACHE_HOME||_(k(),`.cache`),`updates`),Yt=new Map;function Xt(e){return ce(`sha256`).update(e).digest(`hex`)}const Zt=6048e5;async function Qt(e,t=Jt){try{let n=_(t,`${Xt(e)}.cache`);if(Date.now()-(await ie(n)).mtimeMs>Zt)return await E(n),null;let r=await qt(n),i=r.indexOf(`
6
+ `);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=new Date;return await R(ae(n,s,s)),{etag:a,body:o}}catch{return null}}const $t=new Set;let en=0;function tn(e,t,r,i=Jt){let a=(async()=>{try{await V(Yt,i,()=>C(i,{recursive:!0}))}catch{Yt.delete(i);return}let a;try{let o=_(i,`${Xt(e)}.cache`);a=`${o}.${n}-${en++}.tmp`,await oe(a,`${t}\n${r}`),await re(a,o)}catch{a&&await R(E(a))}})();$t.add(a),(async()=>{await a,$t.delete(a)})()}async function nn(e=Jt,t=4096){for(;$t.size;)await Promise.all($t);try{let n=(await ne(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=_(e,t);try{return{path:n,mtime:(await ie(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-Zt,a=r.filter(e=>e.mtime>=i);await Promise.all([...r.slice(a.length),...a.slice(t)].map(e=>R(E(e.path))))}catch{}}var rn=`18.0.6`;function an(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const on=rn,sn=`https://api.github.com`,X={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:sn,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},Z=e=>e[0]===`v`?e.substring(1):e,cn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function ln(e,t){return{headers:{"user-agent":`updates/${on}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const un=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function dn(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&un.has(t)}async function fn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=dn(t),n}}async function pn(e,t,n={}){let r=Sn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim(),s=o&&!/^\d+$/.test(o)?Date.parse(o):NaN,c=o?/^\d+$/.test(o)?Number(o)*1e3:Number.isNaN(s)?null:Math.max(s-Date.now(),0):null,l=e.fetchTimeout,u=a&&a.status>=500&&a.status<600?c!==null&&c<=l?c:0:a&&(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await O(u)}catch(e){if(i>=2||!e?.transient)throw e}}const mn=e=>t=>JSON.stringify(e(JSON.parse(t))),hn=new WeakMap;function gn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()).sort(),n.body??null,r?.toString()]),s=V(hn,t,()=>new Map),c=s.get(o);return c||(c=(async()=>{try{let o=t.noCache?null:await Qt(i);if(a&&o)return{body:o.body};let s=n.headers,c=o?{...s,"if-none-match":o.etag}:s,l=await pn(t,e,{...n,headers:c});if(l.status===304&&o)return{body:o.body,res:l};if(!l.ok)return{res:l};let u=await l.text();if(r&&u.length>=16384)try{u=r(u)}catch{}let d=a?`immutable`:l.headers.get(`etag`);return d&&!t.noCache&&tn(i,d,u),{body:u,res:l}}finally{s.delete(o)}})(),s.set(o,c)),c}function _n(e,t,n={},r,i=e){return gn(e,t,n,r,i,!1)}function vn(e,t,n={},r){return gn(e,t,n,r,e,!0)}async function Q(e,t,n,r,i=!0){let a=V(e,t,()=>new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const yn=new se,bn=e=>Math.max(e.concurrency||50,1),xn=new WeakMap;function Sn(e){return V(xn,e,()=>{let t=bn(e),n=0,r=0,i=[];return async e=>{if(yn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await yn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function Cn(e,t=Rt){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const wn=new WeakMap,Tn=new WeakMap;function En(e,t,n,r,i=Rt){let a=t||i.isRangePrerelease(e),o=r;if(a){let e=t?wn:Tn;o=e.get(r)??new Set(r).add(`prerelease`),t&&(r.has(`patch`)&&o.add(`prepatch`),r.has(`minor`)&&o.add(`preminor`),r.has(`major`)&&o.add(`premajor`)),e.set(r,o)}return{effectiveSemvers:o,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function Dn(e){return ft(e)?.version??``}function On(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=Rt}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=En(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),S=!!u&&(!!y||m.isPrerelease(h)),ee=e?.time,te=!!(d&&f),C=null;for(let e of t){let t=m.parse(e);if(!t||_(t))continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||C&&m.compare(t,C)<=0||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||te&&!an(p?p(e):ee?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;!i||!g.has(i)||(C=t)}return C?.raw??C?.version??null}function kn(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function An(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?Ht:Rt,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),g=e=>t[e].reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=typeof n==`string`?Date.parse(n):NaN;return!Number.isNaN(r)&&r<e.time?{date:n,time:r}:e},{time:1/0}).date,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[Dn(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=Dn(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=En(p,i,a,o,f),m=e.old||p,h=f.parseRange(m),g=!!d||!!s&&!c&&!!h&&!f.satisfiesRange(h,s),_=(e,i)=>{let a=Dn(e),o=f.parse(e),c=kn(e);if(!a||!c&&r(o))return!1;let d=pt(m,e)??pt(t,a),p=c?d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0||!an(i,l,u)?!1:!s||q(a,s)};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return On(e,m,{range:p,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:h,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:g,versioning:f})}function jn(e){try{return new URL(e).host}catch{return``}}function Mn(e){let n=I(t.UPDATES_FORGE_TOKENS??``).find(t=>{let n=t.lastIndexOf(`:`);return n>0&&t.slice(0,n)===e});return n?n.slice(n.lastIndexOf(`:`)+1):null}let Nn;function Pn(){return Nn||=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})(),Nn}const Fn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];let In;function Ln(){let e=Array.from(new Set(Fn.map(e=>t[e]).filter(e=>!!e)));return e.length?Promise.resolve(e):In??=(async()=>{try{let{stdout:e}=await(await Pn())(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),t=e.trim();return t?[t]:[]}catch{return[]}})()}const Rn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function zn(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=Rn.exec(n);if(!e)continue;let r=jn(e[1]),i=D.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let Bn;function Vn(){return Bn??=(async()=>{try{let{stdout:e}=await(await Pn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return zn(e)}catch{return new Map}})()}const Hn=new Map;async function Un(e,t){if(!e)return[];let n=Mn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===jn(t),[a,o]=await Promise.all([i?Ln():[],Vn()]),s=o.get(r);return Array.from(new Set(s?[...a,s]:a))}var Wn=class extends Error{name=`ForgeError`;kind;host;status;reset;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),this.kind=e,this.host=t,this.status=r,this.reset=i}};async function Gn(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function Kn(e,t,n,r){if(e.status>=500)throw new Wn(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Gn(e);if(i===null)return e;throw new Wn(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function qn(e,t,n){let r=jn(e),i=await Un(r,t.forgeApiUrl),a=async a=>{let o=ln(`Bearer`,a);return o.headers={...o.headers,...n},Kn(await pn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Hn.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return Hn.set(r,t),n;t===e&&Hn.delete(r)}return await a()}catch(e){throw e instanceof Wn?e:new Wn(`network`,r,e?.message??String(e),{cause:e})}}function Jn(e,t){let n=Z(t);if(!lt(n))return null;let r=``,i=``;for(let t of e){let e=Z(t);lt(e)&&(!r||gt(e,i))&&(r=t,i=e)}return r&&gt(i,n)?r:null}function Yn(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,(e,t)=>`https://${t}.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Xn=RegExp(`^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$`,`i`),Zn=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function Qn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function $n(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function er(e){if(!Array.isArray(e))throw TypeError(`Invalid Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||e.commit?.sha!==void 0&&typeof e.commit.sha!=`string`)throw TypeError(`Invalid Forge tag entry`);return{name:e.name,commitSha:e.commit?.sha||``}})}const tr=(e,t)=>{if(!t)return er(e);if(!Array.isArray(e))throw TypeError(`Invalid cached Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||typeof e.commitSha!=`string`||e.isStable!==void 0&&typeof e.isStable!=`boolean`)throw TypeError(`Invalid cached Forge tag entry`);return e})},nr=new WeakMap;function rr(e,t,n,r){let i=`${n}${e}`;return Q(nr,t,i,async()=>{let n=t.noCache?null:await Qt(e),a=await qn(e,t,n?{"if-none-match":n.etag}:void 0);if(a?.status===304&&n)return n.body;if(!a?.ok)return nr.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&tn(e,s,o),o})}function ir(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r}})}async function ar(e,t,n,r){let i=await rr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link}}function or(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function sr(e,t,n,r,i){let a=await ar(e(1),t,n,r);if(!a)return;let o=or(a.link),s=bn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>ar(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function cr(e,t,n){let r=new Map;return await sr(n=>`${sn}/repos/${e}/${t}/releases?per_page=100&page=${n}`,n,`releases`,ir,e=>{for(let t of e)r.set(t.name,t.isStable);return!1}),r}async function lr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await sr(r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,r,`tags`,tr,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function ur(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return lr(e,t,n,r,i);let[o,s]=await Promise.allSettled([lr(e,t,n,r,i),cr(t,n,r)]);if(o.status===`rejected`)throw o.reason;if(s.status===`rejected`&&!(s.reason instanceof Wn))throw s.reason;if(s.status===`fulfilled`)for(let e of o.value)s.value.has(e.name)&&(e.isStable=s.value.get(e.name));return o.value}function dr(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}const fr=2e7;function pr(e,t){return Number(Z(e).split(`.`)[0])<fr||Number(Z(t).split(`.`)[0])>=fr}function mr(e,t,n=``){let r=Z(e),i=Z(t).split(`.`).length,a=i>=3?r:Array.from({length:i},(e,t)=>r.split(`.`)[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${a}${n}`}function hr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const gr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function _r({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of gr)if(t?.[n]){e=t[n];break}e??=`https://pypi.org/project/${i}/`}let a=``;return r===`https://npm.pkg.github.com`?`https://github.com/${i.replace(/^@/,``)}`:(e&&(a=Yn(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${hr(a)}/${e.directory}`)),a||t||``)}const vr=/[A-Za-z_$]/,yr=/[A-Za-z0-9_$]/;function br(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
7
+ `;)t++;return t}for(t+=2;t<r&&(e[t]!==`*`||e[t+1]!==`/`);)t++;return t+2}function a(t){for(;t<r;){if(/\s/.test(e[t])){t++;continue}if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`)){t=i(t);continue}break}return t}for(;n<r;){let o=e[n];if(o===`"`){let i=n++;for(;n<r;){let t=e[n++];if(t===`\\`)n++;else if(t===`"`)break}t+=e.slice(i,n);continue}if(o===`'`){for(t+=`"`,n++;n<r;){let i=e[n];if(i===`\\`){let a=e[n+1];if(a===`'`){t+=`'`,n+=2;continue}if(a===`
8
+ `){n+=2;continue}t+=i,n+1<r?(t+=a,n+=2):n++;continue}if(i===`"`){t+=`\\"`,n++;continue}if(i===`'`){t+=`"`,n++;break}t+=i,n++}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];if(r===`}`||r===`]`){n++;continue}t+=o,n++;continue}if(vr.test(o)){let i=n;for(;n<r&&yr.test(e[n]);)n++;let o=e.slice(i,n);t+=e[a(n)]===`:`?`"${o}"`:o;continue}t+=o,n++}return JSON.parse(t)}const xr={y:365,year:365,years:365,mo:30,month:30,months:30,w:7,week:7,weeks:7,d:1,day:1,days:1,h:1/24,hour:1/24,hours:1/24,min:1/1440,minute:1/1440,minutes:1/1440,s:1/86400,second:1/86400,seconds:1/86400};function Sr(e){let t;for(let n of e.matchAll(/(\d+(?:\.\d+)?)\s*([a-z]+)/gi)){let e=xr[n[2].toLowerCase()];if(e===void 0)return;t=(t??0)+Number(n[1])*e}return t}const Cr={packageName:{target:`package`,convert:e=>e},packagePattern:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackageNames:{target:`package`,convert:e=>e},packageNames:{target:`package`,convert:e=>e},matchPackagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},packagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackagePrefixes:{target:`package`,convert:e=>`${e}{/,}**`},excludePackageNames:{target:`package`,convert:e=>`!${e}`},excludedPackageNames:{target:`package`,convert:e=>`!${e}`},excludePackagePatterns:{target:`package`,convert:e=>`!/${e}/`},excludePackagePrefixes:{target:`package`,convert:e=>`!${e}{/,}**`},matchDepNames:{target:`dep`,convert:e=>e},matchDepPatterns:{target:`dep`,convert:e=>`/${e}/`},matchDepPrefixes:{target:`dep`,convert:e=>`${e}{/,}**`},excludeDepNames:{target:`dep`,convert:e=>`!${e}`},excludeDepPatterns:{target:`dep`,convert:e=>`!/${e}/`},excludeDepPrefixes:{target:`dep`,convert:e=>`!${e}{/,}**`}},wr=new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function Tr(e){let t={Package:[],Dep:[]};for(let[n,r]of Object.entries(e)){let e=Object.hasOwn(Cr,n)?Cr[n]:void 0;if(!e){if(n.startsWith(`match`)||n.startsWith(`exclude`)||wr.has(n))return;continue}let i=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(i))return;for(let n of i){if(typeof n!=`string`||!n)return;t[e.target===`package`?`Package`:`Dep`].push(e.convert(n))}}let n={},r=[];for(let[e,i]of Object.entries(t)){let t=[],a=[];for(let e of i){let n=e.startsWith(`!`),i=n?e.slice(1):e,o=Er(i);(n?a:t).push(o??i),!n&&!o&&!/[*?[\]{}!()|+]/.test(i)&&r.push(i)}t.length&&(n[`match${e}Names`]=t),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function Er(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Dr=new Map,Or=e=>V(Dr,e,()=>Xe(e)),kr=(e,t,n)=>(!t?.length||t.some(t=>Or(t).test(e)))&&(!n?.length||n.every(t=>!Or(t).test(e)));function Ar(e,t,n){return kr(t,e.matchPackageNames,e.excludePackageNames)&&kr(n,e.matchDepNames,e.excludeDepNames)}const jr=new WeakMap;var Mr=class extends RegExp{constructor(e,t){super(e),jr.set(this,t)}testNames(e,t){return jr.get(this)(e,t)}test(e){return this.testNames(e,e)}};function Nr(e,t,n,r){return e instanceof Mr?e.testNames(n,r):e.test(t)}function Pr(e,t){let n=[],r={},i=new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=Tr(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o};if(t&&typeof r.minimumReleaseAge==`string`){let e=Sr(r.minimumReleaseAge);e!==void 0&&(c.cooldownDays=e)}if(typeof r.allowedVersions==`string`){let e=J(r.allowedVersions);if(!e&&!Er(r.allowedVersions))throw Error(`Invalid renovate allowedVersions: ${r.allowedVersions}`);if(c.allowedVersions=r.allowedVersions,e)for(let e of s)i.add(e)}(c.allowedVersions||c.cooldownDays!==void 0)&&a.push(c)}for(let e of i){let t=a.findLast(t=>t.allowedVersions!==void 0&&Ar(t,e,e))?.allowedVersions;t&&J(t)&&(r[e]=t)}let o;return n.some(e=>!e.enabled)&&(o=new Mr(`renovate-package-rules`,(e,t)=>{let r=!0;for(let i of n)Ar(i.matchers,e,t)&&(r=i.enabled);return!r})),{disabled:o,pin:r,versionRules:a}}function Fr(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={};if(t.cooldown&&typeof e.minimumReleaseAge==`string`){let t=Sr(e.minimumReleaseAge);t!==void 0&&t>0&&(n.cooldown=t)}let r=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Mr(`^${z(e)}$`,(t,n)=>n===e)):[],{disabled:i,pin:a,versionRules:o}=Pr(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),s=i?[...r,i]:r;return s.length&&(n.exclude=s),Object.keys(a).length&&(n.pin=a,n.pinNoDowngrade=!0),o.length&&(n.renovateVersionRules=o),n}const Ir=[`renovate.json`,`renovate.jsonc`,`renovate.json5`];async function Lr(e,t={}){let n=await Ze(e,async e=>{for(let t of Ir){let n=_(e,t),r;try{r=await w(n,`utf8`)}catch{continue}let i;try{i=br(r)}catch(e){throw Error(`Unable to parse renovate config ${n}: ${e.message}`)}if(i&&typeof i==`object`)return{parsed:i,path:n}}return null});return n?Fr(n.parsed,t):{}}const Rr=Symbol(`cliBaseConfig`),zr={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-cache":{short:`x`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}};function Br(e){return Array.isArray(e)?e.every(e=>e===!0)?!0:new Set(e.filter(e=>typeof e==`string`).flatMap(I)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function Vr(e){for(let[t,{short:n}]of Object.entries(zr))if(t===e||n===e)return t;return``}function Hr(e){return new Set(e.map(Xe))}function Ur(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(I):[]}function Wr(e){for(let[t,n]of Object.entries(e??{}))if(!J(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function Gr(e){let t={};for(let n of Array.isArray(e)?e:[e]){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<1)throw Error(`Invalid pin: ${n}, expected <dep>=<range>`);t[n.slice(0,e)]=n.slice(e+1)}return Wr(t),t}function Kr(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:Hr(e)}const qr=et(e=>Ze(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=_(e,n);try{await te(r)}catch(e){if(e.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e.message}`)}try{return(await import(x(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null})),Jr=et(async e=>{let t=await qr(e)??{},n=await Lr(e,t.inherit?.renovate),r={...n,...t};return n.pin&&(r.pin={...n.pin,...t.pin},r.pinNoDowngrade=Object.keys(n.pin).filter(e=>!t.pin?.[e])),n.overrides?.length&&(r.overrides=[...n.overrides,...t.overrides??[]]),Wr(r.pin),r});function Yr(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function Xr(e){try{return Yr(c(e,`utf-8`))}catch{return}}function Zr(e,t){return Qe(t,t=>{let n=_(t,e);try{if(d(n).isFile())return n}catch{}return null})??void 0}function Qr(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function $r(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[i],l=[];function u(e){if(!e||l.includes(e))return;let t=Xr(e);t&&(c.push(t),l.push(e))}o||(u(_(`/etc`,n,`config`)),u(_(`/etc`,`${n}rc`))),s&&(u(_(s,`.config`,n,`config`)),u(_(s,`.config`,n)),u(_(s,`.${n}`,`config`)),u(_(s,`.${n}rc`))),u(Zr(`.${n}rc`,a));let d=Qr(`${n}_`);return d.config&&u(d.config),Object.assign({},...c,d,l.length?{configs:l,config:l[l.length-1]}:void 0)}function ei(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const ti=new WeakMap;function ni(e,t){let n=V(ti,e,()=>{let t=new Map;for(let[n,r]of Object.entries(e)){let[e,...i]=n.split(`\0`),a=e.indexOf(`|`);$e(t,a===-1?`.`:e.slice(a+1),[[ei(e),...i].join(`\0`),r])}return t});return Object.fromEntries(n.get(t)??[])}const ri=/[*?{[]/;function ii(e,t){return o(e,{cwd:t,withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>y(e.parentPath,e.name))}async function ai(e,t,n,r=32){let i=await T(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>ii(e.slice(1),t)).map(e=>v(t,e).replace(/\\/g,`/`))),o=new Set,s=[];for(let n of e){if(n.startsWith(`!`))continue;let e=ri.test(n)?ii(n,t):[y(_(t,n))];for(let n of e){let e=v(t,n).replace(/\\/g,`/`);a.has(e)||o.has(n)||(o.add(n),s.push({dir:n,memberPath:`./${e}`}))}}return(await L(s,async({dir:e,memberPath:t})=>{try{let r=await T(_(e,n)),a=v(i,r);return a===`..`||a.startsWith(`..${b}`)||g(a)?null:{absPath:r,content:await w(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const oi=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#][^:#]*?))\s*:(?:\s+(.*))?$/,si=/\s#/;function ci(e){let t=oi.exec(e);if(!t)return null;let[,n,r,i,a,o=``]=t,s=e.length-o.length,c=o.search(si),l=(c===-1?o:o.slice(0,c)).trimEnd(),u=l[0];return(u===`"`||u===`'`)&&l.length>1&&l.endsWith(u)&&(l=l.slice(1,-1),s+=1),{indent:n.length,key:r??i??a,value:l,valueIndex:s}}function li(e){let t=[],n=1,r=-1,i=0,a=``;for(let o=1;o<e.length-1;o++){let s=e[o];if(a)s===`\\`&&a===`"`?o++:s===a&&(a===`'`&&e[o+1]===`'`?o++:a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return null;i--}else s===`:`&&i===0&&r===-1?r=o-n:s===`,`&&i===0&&(t.push({colon:r,start:n,text:e.slice(n,o)}),n=o+1,r=-1)}return a||i!==0?null:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function ui(e){let t=e.length-e.trimStart().length,n=e.trim();if(!n)return null;let r=n[0];if(r===`"`||r===`'`){let e=n.indexOf(r,1);return e===-1?null:{value:n.slice(1,e),valueIndex:t+1}}let i=n.search(si);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function di(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return null;let n=[];for(let r of li(e)??[]){if(r.colon===-1)return null;let e=ui(r.text.slice(0,r.colon)),i=ui(r.text.slice(r.colon+1));if(!e||!i)return null;n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function fi(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=ci(i);if(e){if(e.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of di(e.value,e.valueIndex)??[])n[t.key]=t.value}else r&&e.value&&(n[e.key]=e.value)}}return{registry:t,registries:Object.fromEntries(Object.entries(n).filter(([,e])=>!e.includes("${")))}}function pi(e,t){let n=Qe(y(t),t=>{try{return{content:c(_(t,e),`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e}return null});return n?n.content:null}const mi=new Map;function hi(e,t){let n=V(mi,t,()=>fi(pi(`pnpm-workspace.yaml`,t)??``));for(let[t,r]of Object.entries(n.registries))if(t!=="default"&&e.startsWith(`${t}/`))return r;return n.registries.default||n.registry||null}function*gi(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
9
+ `).entries()){let e=ci(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s===`catalog`||s===`catalogs`?s:``,n=``,r=-1,s===`catalog`)for(let e of di(c,l)??[])yield{type:`catalog`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex};else if(s===`catalogs`)for(let e of di(c,l)??[])for(let t of di(e.value,e.valueIndex)??[])yield{type:`catalogs.${e.key}`,name:t.key,value:t.value,lineIndex:i,valueIndex:t.valueIndex}}else if(t===`catalog`)c&&(yield{type:`catalog`,name:s,value:c,lineIndex:i,valueIndex:l});else if(t===`catalogs`){if(r===-1||o<=r){n=s,r=o;for(let e of di(c,l)??[])yield{type:`catalogs.${n}`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex}}else c&&(yield{type:`catalogs.${n}`,name:s,value:c,lineIndex:i,valueIndex:l})}}}function _i(e,t){let n=e.split(`
10
+ `),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of Array.from(gi(e)).sort((e,t)=>t.lineIndex-e.lineIndex||t.valueIndex-e.valueIndex)){let e=t[`${i}${a}`];if(!e||(e.oldOrig||e.old)!==o)continue;let l=n[s];n[s]=l.slice(0,c)+e.new+l.slice(c+o.length),r=!0}return r?n.join(`
11
+ `):e}function vi(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=ci(r);if(e?.indent===0&&e.key===`packages`){if(e.value.startsWith(`[`)&&e.value.endsWith(`]`))for(let n of li(e.value)??[]){let e=ui(n.text);e&&t.push(e.value)}n=!0;continue}if(n){let e=r.trim();if(!e||e.startsWith(`#`))continue;if(!e.startsWith(`-`))break;let n=ui(e.slice(1));n&&t.push(n.value)}}return t}const yi=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,bi=new Set([`resolutions`,`overrides`]);function xi(e){return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(e)?.[1]??e}const Si=X.registry,Ci=new Map,wi=new Map,Ti=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function Ei(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=`//${n.host}${r.replace(/\/$/,``)}`,i=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=i(`_authToken`);if(a)return{token:Ti(a),type:`Bearer`};let o=i(`username`),s=i(`_password`);if(o&&s){let e=Buffer.from(Ti(s),`base64`).toString(`utf8`);return{token:Buffer.from(`${o}:${e}`).toString(`base64`),type:`Basic`}}let c=i(`_auth`);if(c)return{token:Ti(c),type:`Basic`};n.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname}if(e===Si&&t._auth)return{token:Ti(t._auth),type:`Basic`}}function Di(e,t,n,r){let i=V(Ci,r??``,()=>$r(`npm`,{registry:Si},r)),a=cn((typeof n.registry==`string`?n.registry:``)||t.registry||i.registry||Si),o=e.startsWith(`@`)?e.split(`/`)[0]:``,s=r?hi(e,r):null,c=o&&r?hi(``,r):null;return V(wi,`${r??``}${o}:${a}:${s??``}:${c??``}`,()=>{let e=s?cn(s):a,t=s===c&&o&&i[`${o}:registry`];if(t)try{let n=cn(t);n!==e&&(e=n)}catch{}return{auth:Ei(e,i),registry:e}})}const Oi=(e,t,n)=>{let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r},ki=new WeakMap,Ai=new WeakMap,ji=new WeakMap,Mi=new WeakMap,Ni=(e,t)=>`${e}v2${t?`-dates`:``}`;function Pi(e){let t={};for(let n of Object.keys(e.versions??{}))t[n]=e.versions[n]?.deprecated?{deprecated:!0}:{};return{name:e.name,"dist-tags":e[`dist-tags`],versions:t,time:e.time,error:e.error}}async function Fi(e,t,n,r,i,a,o=``){let s=bi.has(t)?xi(e):t===`packageManager`&&e===`yarn`&&(U(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Di(s,n,r,a),u=Oi(l,s),d=Ni(u,!!r.needsDates);return[await Q(ki,i,d,async()=>{let t=ln(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await _n(u,i,t,mn(Pi),d);return`body`in n||dr(n.res,u,e,l),JSON.parse(n.body)}),l]}async function Ii(e,t,n,r,i,a){let{auth:o,registry:s}=Di(e,n,r,a),c=Oi(s,e,t);return Q(Ai,i,c,async()=>{try{let n=ln(o?.type,o?.token),a=await vn(c,i,n,mn(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in a))return{};let l=JSON.parse(a.body),u=``,d=/(\d{13})/.exec(l?._npmOperationalInternal?.tmp??``);d&&(u=new Date(Number(d[1])).toISOString());let f=Oi(s,e);return!u&&r.needsDates&&(u=(await ki.get(i)?.get(Ni(f,!0)))?.time?.[t]||``),u||=(await R(Q(ji,i,f,async()=>{let e=await pn(i,f,n);return e?.ok?await e.json():null})))?.time?.[t]||``,{repository:l.repository,homepage:l.homepage,date:u}}catch{return{}}})}function Li(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Ri(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function zi(e){return e.startsWith(`catalog:`)}const Bi=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Vi(e){let t=Bi.exec(e);return t&&J(t[2])?{name:t[1],range:t[2]}:null}const Hi=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,Ui=/^@([^/]+)\/(.+)$/;function Wi(e,t){let n=Hi.exec(e);if(n)return{scope:n[1]||n[3],name:n[2]||n[4],version:n[5]};if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=Ui.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function Gi(e,t){if(!Ui.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Q(Mi,t,n,async()=>{let r=await _n(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},mn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||dr(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return{name:e,"dist-tags":{latest:i.latest},versions:a,time:o}}),t.jsrApiUrl]}function Ki(e,t){try{JSON.parse(e)}catch{return e}let n=new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`){for(r++,i();e[r]!==`}`&&r<e.length;){let n=a().value;if(i(),e[r++]!==`:`)return;if(o([...t,n]),i(),e[r]===`,`)r++,i();else break}e[r]===`}`&&r++}else if(e[r]===`[`){r++;let n=0;for(i();e[r]!==`]`&&r<e.length&&(o([...t,n++]),i(),e[r]===`,`);)r++,i();e[r]===`]`&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=r.oldOrig||r.old,c=n.get(a||JSON.stringify([t,i])),l=r.new;c||(c=n.get(JSON.stringify([t])),o=`${i}@${o}`,l=`${i}@${l}`),c?.value===o&&s.push({...c,value:JSON.stringify(l)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const qi=String.raw`[<>]=?|~>|[\^~=]`,Ji=new RegExp(String.raw`^(${qi})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),Yi=RegExp(`^(?:${qi})$`),Xi=/^[xX*]$/,Zi=/\+[0-9A-Za-z.-]+/g,Qi=/\|\||[\dxX*]\s+\S/;function $i(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&Yi.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function ea(e,t){let n=Ji.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&c.length<=3&&!/[xX*]/.test(o)){let{major:e,minor:n,patch:a}=U(t);return`${r}${i}${c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:!s&&o.endsWith(`.0.0`)?`${e+1}.0.0`:!s&&o.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;if(t.includes(`-`))return`${r}${i}${a}${t}`;let l=t.split(`.`);return`${r}${i}${a}${c.map((e,t)=>Xi.test(e)?e:l[t]??`0`).join(`.`)}`}function ta(e,t){if(q(t,e))return e;let n=$i(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=ea(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=ea(r,t),n.join(` `)}function na(e,t,n,r){let i=(n||e).replace(Zi,``),a=r===`peerDependencies`||Qi.test(i)?ta(i,t):ea(i,t);return q(t,a)?a:i}function ra(e){if(/[xX*]/.test(e))return e;let t=e.match(yi);return t?.length===1?e.replace(yi,Dn(t[0])):e}async function ia(e,t,n){let r=await rr(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,`commits`,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function aa(e,t,n,r){return(await lr(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function oa(e){let t=e.lastIndexOf(`#`);if(t===e.length-1)return null;let n=e.slice(0,t===-1?e.length:t).replace(/^git\+/i,``),r=t===-1?``:e.slice(t+1);if(/^github:/i.test(n))n=n.slice(7);else if(/^git@github\.com:/i.test(n))n=n.replace(/^git@github\.com:/i,``);else if(/^(?:https?|git|ssh):/i.test(n)){let e=/^(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:](.+)$/i.exec(n);if(!e)return null;n=e[1]}else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let i=n.split(`/`);if(i.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(i[0])||!/^[a-z\d._-]{1,100}$/i.test(i[1]))return null;let a=r.startsWith(`semver:`)&&J(r.slice(7))?r.slice(7):null;return!a&&!Zn.test(r)&&!lt(r)?null:{user:i[0],repo:i[1],ref:a??r,selector:a}}async function sa(e,t,n){let r=oa(t.old);if(!r)return null;let{user:i,repo:a,ref:o,selector:s}=r,c=e=>{let n=t.old.lastIndexOf(o);return`${t.old.slice(0,n)}${e}${t.old.slice(n+o.length)}`};if(Zn.test(o)){let{hash:t,commit:r}=await ia(i,a,n);if(!t)return null;let s=$n(r),l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:c(l),user:i,repo:a,oldRef:o,newRef:l,newDate:s}}else{let t=Jn(await aa(i,a,o,n),s?Dn(s):o);if(t){let n=s?na(s,t.replace(/^v/,``),s):t;if(n!==o)return{key:e,newRange:c(n),user:i,repo:a,oldRef:o,newRef:n}}}return null}const ca=/[-_.]+/g,la=new WeakMap;function ua(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=(r??[]).map(e=>({...e.upload_time_iso_8601&&{upload_time_iso_8601:e.upload_time_iso_8601},...e.yanked&&{yanked:!0}}));return t}async function da(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(ca,`-`)}/json`;return[{...await Q(la,t,n,async()=>{let r=await _n(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},mn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:ua(e.releases)}}));if(`body`in r){let e=JSON.parse(r.body);return{...e,releases:ua(e.releases)}}dr(r.res,n,e,t.pypiApiUrl)}),name:e},null]}function fa(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=Y(n.slice(0,-2));if(!r||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=Y(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Pt(e.local?{...e,local:null}:e,r),a=r.local?Pt(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==0;if(t===`>=`)return i>=0;if(t===`<=`)return i<=0;let o=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(o&&e.post!==null&&r.post===null):t===`<`?i<0&&!(o&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.epoch===e.epoch&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function pa(e,t=e.release){if(!e.local&&t===e.release)return e.version;let n=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,r=e.pre?`${e.pre[0]}${e.pre[1]}`:``,i=e.post===null?``:`.post${e.post}`,a=e.dev===null?``:`.dev${e.dev}`;return`${n}${t.join(`.`)}${r}${i}${a}`}function ma(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1);let i=e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r));return`${n.epoch?`${n.epoch}!`:``}${i.join(`.`)}`}function ha(e,t){let n=Y(e);if(!n)return!1;let r=t.trim();if(!r)return!0;if(Y(r))return fa(n,{lead:``,op:`==`,sep:``,version:r,trail:``});let i=Te(`x${r}`),a=i?.specifiers;return!i||i.extras||i.marker||!a?.length?!1:a.every(e=>fa(n,e))}function ga(e,t,n){let r=Te(e),i=r?.specifiers,a=Y(t),o=Y(n);if(!r||!i||!a||!o)return null;let s=Ee(i);if(s?.version!==t)return null;for(let e of i){if(e===s)e.version=e.op===`~=`?a.release.length===o.release.length?pa(o):pa(o,Array.from({length:a.release.length},(e,t)=>o.release[t]??0)):e.op===`==`||e.op===`===`?n:pa(o);else if(!fa(o,e)){let t=Y(e.version);if(e.op===`<`&&t)e.version=ma(t,a,o);else if(e.op===`<=`)e.version=pa(o);else return null}if(!fa(o,e))return null}return F(r,i)}function _a(e){let t=[],n=/\s*(?:"((?:\\.|[^"\\])*)"|'([^']*)'|([\w-]+))\s*(?:\.|$)/gy;try{for(;n.lastIndex<e.length;){let r=n.exec(e);if(!r)return[];t.push(r[1]===void 0?r[2]??r[3]:JSON.parse(`"${r[1]}"`))}}catch{return[]}return t}function va(e){let t=``,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(t)t===`"`&&i===`\\`&&!n?n=!0:(i===t&&!n&&(t=``),n=!1);else if(i===`"`||i===`'`)t=i;else if(i===`=`)return r;else if(i===`#`)return-1}return-1}function ya(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1,o=!1;for(let t=n;t<e.length;t++){let n=e[t];if(o)n===`
12
+ `&&(o=!1);else if(i)i===`"`&&n===`\\`&&!a?a=!0:(n===i&&!a&&(i=``),a=!1);else if(n===`"`||n===`'`)i=n;else if(n===`#`)o=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function ba(e,t){let n=new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=_a(o[1]);else{let o=va(a),s=o===-1?``:[...r,..._a(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=ya(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function xa(e,t){let n=new Map;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`);V(n,t,()=>new Map).set(i,r)}let r=ba(e,new Set(n.keys())),i=e;for(let[e,t]of Array.from(r).sort((e,t)=>t[1][0]-e[1][0])){let r=n.get(e),a=Ue(r.keys()),o=i.slice(...t).replace(RegExp(`(['"])( *(${a})(?![\\w.-]).*?)(?=\\1)`,`g`),(e,t,n,i)=>{let{old:a,oldOrig:o,new:s}=r.get(i);return`${t}${ga(n,o||a,s)??n}`});i=`${i.slice(0,t[0])}${o}${i.slice(t[1])}`}return i}function Sa(e){let t=e.includes(`:/`)||e.startsWith(`/`);return cn(!t&&/[.:/]/.test(e)?`https://${e}`:e)}async function Ca(e,t){for(let{url:n,fallback:r}of e)try{let e=await t(n);if(e!==null)return e}catch(e){if(r===`,`)throw e}return null}function wa(e){let t=[];for(let n of e.matchAll(/([^,|]*)([,|]?)/g)){let e=n[1].trim();if(!e)continue;let r=n[2]===`|`?`|`:`,`;if(e===`off`||e===`direct`){t.push({url:e,fallback:r});break}t.push({url:Sa(e),fallback:r})}return t}function Ta(e){if(typeof e==`string`)return[{url:cn(e),fallback:`,`}];let n=wa(t.GOPROXY||`${X.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function Ea(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Da=new Map;function Oa(e){return V(Da,e,()=>{let t=``;for(let n of e.matchAll(/\[([^\]]*)\]|./gs)){let[e,r]=n;t+=r===void 0?e===`*`?`[^/]*`:e===`?`?`[^/]`:z(e):`[${r.replace(/\\/g,`\\\\`)}]`}return RegExp(`^${t}(?:/.*)?$`)})}function ka(e,t){return t.some(t=>Oa(t).test(e))}function Aa(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const ja=/\/v(\d+)$/,Ma=/^gopkg\.in\/.*?\.v(\d+)$/;function Na(e){let t=Ma.exec(e)??ja.exec(e);return t?Number.parseInt(t[1]):1}function Pa(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(ja,``);return t<=1?n:`${n}/v${t}`}function Fa(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(Z(t));return Number.isNaN(n)||n===Na(e)?e:Pa(e,n)}const Ia=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,La=/^(\S+)\s+(v\S+)/,Ra=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,za=e=>e.replace(/^"(.*)"$/,`$1`);function Ba(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function Va(e){let t=Ra.exec(e);if(!t)return null;let[,n,r,i,a]=t;return{origModule:za(n),origVersion:r??``,targetModule:za(i),targetVersion:a??``}}function*Ha(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){if(/^\)\s*(?:\/\/.*)?$/.test(e)){t=null;continue}yield{kind:t,value:e,lineNumber:n};continue}let i=Ia.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function Ua(e){return e.startsWith(`golang.org/x/`)}async function Wa(e,t,n){let r=t,i=t&&!Cn(t.Version)?t:null;for(let t=e+2;r;t++){let e=await n(t);if(!e)break;r=e,Cn(e.Version)||(i=e)}return i??r}function Ga(e,t,n,r){let i=n??r;return[{name:e,old:t,new:Z(i.Version),Time:i.Time,...i.path!==e&&{newPath:i.path},sameMajorNew:Z(r.Version),sameMajorTime:r.Time},null]}function Ka(e){for(let{kind:t,value:n}of Ha(e.split(/\r?\n/)))if(t===`module`)return za(n.split(/\s/,1)[0]);return``}function qa(e){let t={},n={},r={},i={},a={},o=new Set,s=[];for(let i of Ha(e.split(/\r?\n/))){if(i.kind===`tool`){s.push(za(i.value.split(/\s/,1)[0]));continue}if(i.kind===`exclude`){let e=La.exec(i.value);e&&(a[za(e[1])]??=[]).push(e[2]);continue}if(i.kind===`replace`){let e=Va(i.value);e&&(e.targetVersion&&!Ba(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||o.add(e.origModule));continue}if(i.kind!==`require`)continue;let e=La.exec(i.value);e&&((i.value.includes(`// indirect`)?n:t)[za(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=[...Object.keys(n),...Object.keys(t)];for(let e of s){let r=``;for(let t of c)(e===t||e.startsWith(`${t}/`))&&t.length>r.length&&(r=t);let a=n[r]?n:t;a[r]&&(i[r]=a[r],delete a[r])}return{deps:t,indirect:n,replace:r,tool:i,...Object.keys(a).length&&{exclude:a}}}const Ja=new WeakMap;function Ya(e,t,n){let r=t.includes(`|`)?t.slice(t.indexOf(`|`)+1):``,i=r.includes(`:`)?r.slice(r.indexOf(`:`)+1):r,a=V(Ja,n,()=>new Map);for(let t of i?[_(e,i,`go.mod`),_(e,`go.mod`)]:[_(e,`go.mod`)]){let e=y(t),n=V(a,e,()=>{try{return new Map(Object.entries(qa(c(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return new Map}async function Xa(e,n,r,i,a){let o=Na(e),s=async(e,n,a)=>{try{let o=a??`latest`,s=[`list`,`-m`,...a?[]:[`-versions`],`-json`,`${e}@${o}`],{stdout:c}=await i.execFile(`go`,s,{timeout:n,cwd:r,env:{...t,GOPROXY:`direct`}}),l=JSON.parse(c);return{Version:l.Version,Time:l.Time||``,path:e,Versions:l.Versions}}catch(t){let n=String(t?.stderr??``).trim().split(`
13
+ `)[0]||t?.message||String(t);throw Error(`go list -m ${e}@${a??`latest`} failed: ${n}`)}},c=async(e,t)=>{let n=await s(e,t),r=a.get(e);if(!r?.has(n.Version))return n;let i=ro((n.Versions??[]).join(`
14
+ `),io(e),r);if(!i)throw Error(`No non-excluded versions found for ${e}`);return s(e,t,i.Version)},l=e=>R(c(e,i.goProbeTimeout)),[u,d]=await Promise.all([c(e,i.fetchTimeout),Ua(e)?null:l(Pa(e,o+1))]);return Ga(e,n,await Wa(o,d,t=>l(Pa(e,t))),u)}const Za={"accept-encoding":`gzip, deflate, br`},Qa=e=>e===404||e===410;async function $a(e,t,n){try{let t=await e.json();if(t?.Version)return{Version:t.Version,Time:t.Time||``,path:n}}catch{}throw Error(`Invalid response from ${t}`)}const eo=async(e,t,n)=>{let r=`${t}/${Aa(n)}/@latest`,i=await e(r);if(i.ok)return $a(i,r,n);if(Qa(i.status))return null;dr(i,r,n,t)},to=new WeakMap;function no(e,t,n,r,i){return Q(to,e,`latest${t}${r}/${i}`,()=>eo(n,r,i))}function ro(e,t=0,n=new Set){let r=null;for(let i of e.split(`
15
+ `)){let[e,a]=i.trim().split(/\s+/);if(!(!e||!lt(e)||n.has(e))&&!(t&&Number.parseInt(Z(e))!==t)){if(r){let t=Cn(e);if(t===Cn(r.Version)?!gt(e,r.Version):t)continue}r={Version:e,Time:a??``}}}return r}function io(e){return ja.test(e)||Ma.test(e)?Na(e):0}async function ao(e,t,n,r=new Set){let i=Aa(n),a=`${t}/${i}/@v/list`,o=await e(a);if(!o.ok){if(Qa(o.status))return null;dr(o,a,n,t)}let s=ro(await o.text(),io(n),r);if(!s)return null;if(s.Time)return{...s,path:n};let c=`${t}/${i}/@v/${Aa(s.Version)}.info`;try{let t=await e(c);if(t.ok)return $a(t,c,n)}catch{}return{...s,path:n}}function oo(e,t,n,r,i,a=new Set){let o=`list${t}${r}/${i}${Array.from(a).sort().join(`\0`)}`;return Q(to,e,o,()=>ao(n,r,i,a))}async function so(e,t,n,r,i){let a=Na(t),o=e=>pn(r,e,{headers:Za}),s=e=>r.doFetch(e,{signal:AbortSignal.timeout(r.goProbeTimeout),headers:Za}),c=no(r,`primary`,o,e,t),l=(async()=>{let n=await c,a=i.get(t);return n&&!a?.has(n.Version)?n:oo(r,`primary`,o,e,t,a)})(),u=async t=>{try{let[n,a]=await Promise.all([no(r,`probe`,s,e,t),c]),o=i.get(t);return n&&!o?.has(n.Version)?n:!n&&a?null:oo(r,`probe`,s,e,t,o)}catch{return null}},[d,f]=await Promise.all([l,Ua(t)?null:u(Pa(t,a+1))]);return d?Ga(t,n,await Wa(a,f,e=>u(Pa(t,e))),d):null}async function co(e,t,n,r,i,a){let o=Ya(r,t,i);if(ka(e,a))return Xa(e,n,r,i,o);let s=await Ca(i.goProxyChain,async t=>{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);return t===`direct`?Xa(e,n,r,i,o):so(t,e,n,i,o)});if(s)return s;throw Error(`Unable to find ${e} on any GOPROXY entry`)}const lo=e=>`("?)${z(e)}\\2`;function uo(e,t){let n={},r=Object.entries(t);if(!r.length)return[e,n];let i=e.match(/\r?\n/g)??[],a=e.split(/\r?\n/),o=(e,t,n)=>{let r=!1;for(let i of e??[]){let e=a[i];a[i]=e.replace(t,n),r||=a[i]!==e}return r},s=new Map,c=new Map,l=new Map;for(let e of Ha(a))if(e.kind===`require`){let t=La.exec(e.value);t&&$e(s,za(t[1]),e.lineNumber)}else if(e.kind===`replace`){let t=Va(e.value);t&&$e(c,t.targetModule,{...t,lineNumber:e.lineNumber})}else if(e.kind===`tool`){let t=za(e.value.split(/\s/,1)[0]);for(;t;){$e(l,t,e.lineNumber);let n=t.lastIndexOf(`/`);if(n===-1)break;t=t.slice(0,n)}}for(let[e,{old:t,oldOrig:i,new:u}]of r){let[r,d]=e.split(`\0`),f=i||t,p=Fa(d,u);if(r===`replace`){let e=!1;for(let t of c.get(d)??[]){if(Z(t.targetVersion)!==f)continue;let{lineNumber:n}=t;a[n]=a[n].replace(RegExp(`(=>\\s+)${lo(d)}(\\s+)v${z(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`),p!==d&&t.origModule===d&&!t.origVersion&&(a[n]=a[n].replace(RegExp(`(^\\s*(?:replace\\s+)?)${lo(d)}(?=\\s+=>)`),`$1$2${p}$2`),e=!0)}e&&o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${lo(d)}(\\s+)v\\S+(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&(n[d]=p);continue}o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${lo(d)}(\\s+)v${z(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&p!==d&&(n[d]=p),r===`tool`&&p!==d&&o(l.get(d),RegExp(`(^\\s*(?:tool\\s+)?)("?)${z(d)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),`$1$2${p}$3$2`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const fo=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function po(e,t){let n=Object.entries(t).sort(([e],[t])=>t.length-e.length);if(!n.length)return e;let r=[],i=(e,t)=>{if(!`"'\``.includes(e[0]))return!1;if(e[0]===`'`)return!0;let i=e.slice(1,-1),a=n.find(([e])=>i===e||i.startsWith(`${e}/`));return a&&r.push({start:t+1,end:t+e.length-1,value:`${a[1]}${i.slice(a[0].length)}`}),!0},a=!1,o=0;for(let t of e.matchAll(fo)){let e=t[0];if(!(/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`))){if(a){e===`)`?a=!1:i(e,t.index);continue}e===`import`?o=2:o&&e===`(`?(a=!0,o=0):o&&(i(e,t.index)||--o===0)&&(o=0)}}let s=e;for(let e of r.reverse())s=`${s.slice(0,e.start)}${e.value}${s.slice(e.end)}`;return s}function mo(e,t,n){if(Object.keys(t).length)for(let r of o(`**/*.go`,{cwd:e})){let i=_(e,r),a=c(i,`utf8`),o=po(a,t);o!==a&&n(i,o)}}function ho(e){let t=[],n={};for(let r of Ha(e.split(/\r?\n/)))if(r.kind===`use`)t.push(r.value.split(/\s/,1)[0]);else if(r.kind===`replace`){let e=Va(r.value);e?.targetVersion&&!Ba(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function go(e,t){try{let n=u(y(e));return u(_(n,t,`go.mod`))}catch{return null}}function _o(e){let t=`https://${vo(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[,e,i,...a]=r;return n.pathname=`/${e}/${i}/${hr(t)}/${a.join(`/`)}`,n.href}return t}function vo(e){return ja.test(e)?h(e):e}function yo(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function bo(e){if(e.startsWith(`docker://`)||e.startsWith(`./`))return null;let t=/^https?:\/\/([^/]+)\/(.+)$/.exec(e),n=t?.[1]??null,r=t?.[2]??e,i=r.indexOf(`@`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!o)return null;let s=a.split(`/`);if(s.length<2)return null;let c=n?`${n}/${a}`:a;return{host:n,owner:s[0],repo:s[1],ref:o,name:c,isHash:Xn.test(o)}}function xo(e,t){return e?e===`github.com`?sn:`https://${e}/api/v1`:t}async function So(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await Qt(a);if(e)return e.body}try{let e=await qn(a,i);if(e.status===404)return``;if(!e.ok)return;let t=$n(await e.json());return t&&!i.noCache&&tn(a,`immutable`,t),t}catch(e){if(e instanceof Wn)throw e;return}}function Co(e,t){let n=Z(e);return mr(U(n)?.version??n,t)}const wo=/^(\s*)(?:-\s*)?(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/,To=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function Eo(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'])[^\s#]+))([^\n]*)$/.exec(e);if(!t)return null;let[,n,r=``,i,a,o]=t,s=i??a;if(!s)return null;let c=o.indexOf(`#`),l=c===-1?``:o.slice(c),u=l?To.exec(l.slice(1)):null;return{prefix:n,quote:r,value:s,gap:c===-1?o:o.slice(0,c),comment:l,pinnedVersion:u?.[1]??``,pinnedEnd:u?u[0].length+1:0}}const Do=/^https?:\/\//;function Oo(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
16
+ `).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=wo.exec(e);if(!t)return e;let a=t[1].length;for(;r.length&&r.at(-1).indent>=a;)r.pop();let o=(t[2]??t[3]??t[4]).trim(),s=o===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&r[0].key===`runs`&&r[1].key===`steps`),c=t[5].replace(/(?:^|\s)#.*$/,``).trim();if(c||r.push({indent:a,key:o}),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(c))return i=a,e;if(!s)return e;let l=Eo(e);if(!l)return e;let{prefix:u,quote:d,value:f,gap:p,comment:m,pinnedVersion:h,pinnedEnd:g}=l,_=Do.exec(f)?.[0]??``,v=h||/^#\s*(\S+)\s*$/.exec(m)?.[1]||``,y=n.get(`${f.slice(_.length)}${v?`#${v}`:``}`)??n.get(f.slice(_.length));if(!y)return e;let b=y.newComment&&h?`# ${y.newComment}${m.slice(g)}`:m;return`${u}${d}${_}${y.name}@${y.newRef}${d}${p}${b}`}).join(`
17
+ `)}const ko=RegExp(`(?:^|/)(?:${Ue(Ae)})/(?:workflows/[^/]+|(?:[^/]+/)*action)\\.ya?ml$`);function Ao(e){return ko.test(e.replace(/\\/g,`/`))}function jo(e){let t=new Set;try{for(let n of l(_(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(y(_(e,`workflows`,n)))}catch{}try{for(let n of l(e,{recursive:!0,withFileTypes:!0}))!n.isFile()||!/^action\.ya?ml$/.test(n.name)||t.add(y(_(n.parentPath,n.name)))}catch{}return Array.from(t)}const Mo=/^(v?\d+(?:\.\d+)*)([a-z][a-z0-9]*)?(-.+)?$/i,No=/^[ \t]*FROM\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim,Po=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,Fo=/^[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,Io=/^[ \t]*FROM\s+(?:--platform=\S+\s+)?(\S+)/i,Lo=e=>e.replace(/\\[ \t]*\r?\n[ \t]*/g,` `);function Ro(e,t){return e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>{let i=t(n||r);return i===void 0?e:i})}function*zo(e,t=!1){let n=new Map,r=!1;for(let i of e.matchAll(/^[ \t]*(?:ARG|FROM)\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim)){let e=Lo(i[0]),a=Fo.exec(e);if(a){if(!r){let e=a[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``,t=i[0].lastIndexOf(e);n.set(a[1],{value:e,resolved:Ro(e,e=>n.get(e)?.resolved),start:t<0?-1:i.index+t})}continue}r=!0;let o=Io.exec(e);o&&(yield{instruction:i,args:n,from:o,resolved:Ro(o[1],e=>n.get(e)?.[t?`resolved`:`value`])})}}const Bo=/^(?:(?:index|registry-1)\.)?docker\.io$/;function Vo(e){let t=e.split(`/`);return t.length>1&&Bo.test(t[0])&&t.shift(),{registry:t.length>2||t.length>1&&(t[0]===`localhost`||t[0].includes(`.`)||t[0].includes(`:`))?t.shift():null,namespace:t.length===1?`library`:t.slice(0,-1).join(`/`),repo:t.at(-1)}}function Ho(e){let{registry:t,namespace:n,repo:r}=Vo(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[...new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function Uo(e){e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&!Mo.test(s))return null;let{registry:c,namespace:l,repo:u}=Vo(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function Wo(e){let t=Mo.exec(e);return t?{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}:null}function Go(e,t,n=``){let r=Wo(t);return r?mr(e,r.version,`${n}${r.suffix}`):t}function Ko(e,t){let n=[];if(t===No){for(let{from:t,resolved:r}of zo(e,!0)){let e=Uo(r);e&&n.push({ref:e,match:t[1]})}return n}let r=t===Po?qo(e):null;for(let i of e.matchAll(t)){if(r?.has(i.index+i[0].indexOf(`image:`)))continue;let e=Uo(i[1]);e&&n.push({ref:e,match:i[1]})}return n}function qo(e){let t=new Set,n=new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim())continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=n.get(e)??{built:!1,images:[]};if(n.set(e,i),/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const Jo=new WeakMap,Yo=new Set([401,403,404]);function Xo(e,t,n){return Q(Jo,n,`${e}/${t}`,async()=>{let r={dates:{},digests:new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=async r=>{let i=await _n(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}},mn(e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))})),`${r}#digest`);return`body`in i?JSON.parse(i.body):(Yo.has(i.res?.status)||dr(i.res,r,`${e}/${t}`,n.dockerApiUrl),null)},s=e=>{for(let t of e?.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=new Set,u=c,d=2;if(c.count){let e=[];for(;d<=20&&d<=Math.ceil(c.count/1e3);d++){let t=a(d);l.add(t),e.push(t)}let t=await L(e,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:bn(n)});for(let e of t){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),u=e.value}}let f=new URL(i).origin;for(;d<=20&&u.next;d++){let e=new URL(u.next,i),t=e.href;if(e.origin!==f||l.has(t))break;l.add(t);let n=await o(t);if(!n)break;s(n),u=n}return r})}async function Zo(e,t,n){return(await Xo(e,t,n)).dates}async function Qo(e,t,n,r){let i=(await Xo(e,t,r)).digests.get(n);if(i)return i;let a=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,o=await _n(a,r,{headers:{"accept-encoding":`gzip, deflate, br`}},mn(e=>({digest:e.digest})));if(`body`in o){let e=JSON.parse(o.body)?.digest;return typeof e==`string`?e:null}return Yo.has(o.res?.status)||dr(o.res,a,`${e}/${t}:${n}`,r.dockerApiUrl),null}const $o=/^\d?[02468]\.04$/;function es(e,t){if(!$o.test(e))return!1;let[n,r]=e.split(`.`);return t>=Date.UTC(2e3+Number(n),Number(r))}const ts={ubuntu:es};function ns(e,t,n=Date.now()){let r=ts[e];return r?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=Wo(e)?.version;return!t||r(t,n)})):t}async function rs(e,t){let{registry:n,namespace:r,repo:i}=Vo(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:ns(i,await Zo(r,i,t)),name:e},null]}const is=(e,t)=>t?`${e}-${t}`:e,as=/^\d+$/,os=e=>Z(e.version).split(`.`).map(Number);function ss(e){let t=Z(e).split(`.`).slice(0,3);return t.some(e=>!as.test(e))?null:[...t.map(e=>String(Number(e))),...Array(3-t.length).fill(`0`)].join(`.`)}function cs(e,t){let n=os(e),r=os(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!e.prerelease&&t.prerelease?1:e.prerelease&&!t.prerelease?-1:e.prerelease.localeCompare(t.prerelease)}function ls(e,t){let n=os(e),r=os(t),i=n.findIndex((e,t)=>e!==r[t]);return i===-1?e.prerelease===t.prerelease?null:`patch`:i===0?`major`:i===1?`minor`:`patch`}function us(e,t,n,r,i,a,o=!1,s=!1){let c=Wo(t);if(!c)return null;let l=ss(c.version);if(!l)return null;let u=Z(c.version).split(`.`).length,d=is(l,c.prerelease),{effectiveSemvers:f,skipsPrerelease:p}=En(d,o,s,n),m=u>3,h=U(d),g=c,_=``,v=``;for(let[t,l]of Object.entries(e)){let e=Wo(t);if(!e||e.suffix!==c.suffix||Z(e.version).split(`.`).length!==u||!pr(e.version,c.version)||!an(l,r,i))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||cs(e,g)<=0)continue;let r=ls(c,e);if(!r||!n.has(r))continue;g=e,_=t,v=l;continue}let d=ss(e.version);if(!d)continue;let y=U(is(d,e.prerelease));if(!y||e.prerelease&&p(y)||a&&!q(d,a))continue;if(y.version===h.version){_&&Date.parse(l)>Date.parse(v)&&(_=t,v=l);continue}let b=Rt.diff(h,y);!b||!f.has(b)||Rt.compare(y,h)>0&&(h=y,_=t,v=l)}if(m)return _?{newTag:_,date:v}:null;if(!_||h.version===d)return null;let[y,b=``]=h.version.split(`-`),x=Go(y,t,b),S=x in e?x:_;return S===t?null:{newTag:S,date:v}}const ds=`(?![\\w.@+-])`;function fs(e){let t=new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function ps(e,t,n,r=()=>!0){if(!t.size)return e;let i=Ue(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`(${e})(${i})${ds}`,`g`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function ms(e,t){let n=`(?:[ \\t]+|\\\\[ \\t]*\\r?\\n[ \\t]*)`,r=fs(t);if(!r.size)return e;let i=Ue(r.keys()),a=e.replace(RegExp(`(FROM${n}+(?:--platform=\\S+${n}+)?)(${i})${ds}`,`gi`),(e,t,n)=>`${t}${r.get(n)??n}`),o=new Map;for(let{instruction:e,args:t,from:n,resolved:i}of zo(a)){let a=r.get(i);if(!a)continue;let s=i.lastIndexOf(`@`),c=a.lastIndexOf(`@`),l=i.slice(s+1),u=a.slice(c+1),d=s!==-1&&c!==-1&&l!==u;if(d){let t=e[0].lastIndexOf(l);t!==-1&&o.set(e.index+t,{end:e.index+t+l.length,value:u})}for(let e of n[1].matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let r=t.get(e[1]||e[2]),i=Ro(n[1].slice(0,e.index),e=>t.get(e)?.value),s=Ro(n[1].slice(e.index+e[0].length),e=>t.get(e)?.value);d&&(s=s.replace(l,u)),!(!r||r.start<0||!a.startsWith(i)||!a.endsWith(s))&&o.set(r.start,{end:r.start+r.value.length,value:a.slice(i.length,s?-s.length:void 0)})}}let s=a;for(let[e,t]of[...o].sort(([e],[t])=>t-e))s=`${s.slice(0,e)}${t.value}${s.slice(t.end)}`;return s}function hs(e,t){let n=qo(e);return ps(e,fs(t),[String.raw`image:\s*['"]?`],e=>!n.has(e))}function gs(e,t){return ps(e,fs(t),[String.raw`(?:container|image):\s*['"]?`,String.raw`uses:\s*['"]?docker://`])}const _s=[`Dockerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function vs(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function ys(e){return/^Dockerfile(\..+)?$/.test(e)}function bs(e){return ys(e)||vs(e)}function xs(e){return ys(e)?No:Po}function Ss(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const Cs=[`Makefile`,`makefile`,`GNUmakefile`];function ws(e){return Cs.includes(e)||e.endsWith(`.mk`)}const Ts=/^\s*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,Es=/^([^@\s]+)@(v\d\S*)$/,Ds=/^[^/\s]+\.[^/\s]+\//;function*Os(e){let t=``;for(let n of[...e.split(/\r?\n/),``]){let e=n.indexOf(`#`),r=e===-1?n:n.slice(0,e),i=0;for(;r[r.length-i-1]===`\\`;)i++;if(i%2){t+=`${r.slice(0,-1)} `;continue}let a=Ts.exec(t+r);if(t=``,!a)continue;let o=``,s=``;for(let e of a[1])o?e===o?o=``:s+=e:e===`"`||e===`'`?o=e:/\s/.test(e)?(s&&(yield s),s=``):s+=e;s&&!o&&(yield s)}}function ks(e){let t=[];for(let n of Os(e)){let e=Es.exec(n);if(!e||!Ds.test(e[1]))continue;let[,r,i]=e;t.push({installPath:r,version:i})}return t}const As=/@(sha256:[0-9a-f]{64})$/;function js(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function Ms(e){let t=As.exec(e),n=t?.[1]??null,r=t?e.slice(0,t.index):e,i=Uo(r.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:r.slice(0,r.lastIndexOf(`:`)),ref:i,digest:n}}function Ns(e){return Array.from(Os(e)).flatMap(e=>Ms(e)??[])}const Ps=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,Fs=new WeakMap;function Is(e,n,r){return Q(Fs,r,`${y(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){let n=String(t?.stderr??``).trim().split(`
18
+ `)[0]||t?.message||String(t);throw Error(`go list -m ${e}@latest failed: ${n}`)}let a;try{a=JSON.parse(i)}catch{throw Error(`go list -m ${e}@latest returned malformed JSON`)}if(a.Error){let t=a.Error.Err;if(a.Origin&&t?.endsWith(`no matching versions for query "latest"`))return null;throw Error(`go list -m ${e}@latest failed: ${t||`unknown error`}`)}if(typeof a.Version!=`string`)throw Error(`go list -m ${e}@latest returned malformed JSON`);return!0},!1)}async function Ls(e,t,n,r){return await Ca(r,async r=>r===`off`?!1:r===`direct`?Is(e,t,n):await no(n,`primary`,e=>pn(n,e,{headers:Za}),r,e)?!0:null)??!1}async function Rs(e,t,n,r){let i=Ps.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=ka(e,r)?[{url:`direct`,fallback:`,`}]:n.goProxyChain;if(a[0].url===`off`)return null;let o=e.split(`/`),s=Array.from({length:o.length-1},(e,t)=>o.slice(0,o.length-t).join(`/`));for(let e of a){let r=await Promise.allSettled(s.map(r=>Ls(r,t,n,[e]))),i=r.findIndex(e=>e.status===`fulfilled`&&e.value),a=r.slice(0,i===-1?void 0:i).find(e=>e.status===`rejected`);if(a)throw a.reason;if(i!==-1)return s[i]}return null}function zs(e,t){let n=new Map(t.map(({oldSpec:e,newSpec:t})=>[e,t]));if(!n.size)return e;let r=Array.from(n.keys()).sort((e,t)=>t.length-e.length).map(e=>Array.from(e,z).join(`["']*`)).join(`|`),i=RegExp(`(?<![\\w./@:-])(${r})(?=[\\s#"']|$)`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=e.replace(/["']/g,``),r=n.get(t),i=0;return e.replace(/[^"']/g,()=>r[i++]??``)+r.slice(i)}))}const Bs=new WeakMap;function Vs(e){let t=e.toLowerCase();return t.length<=2?`${t.length}/${t}`:t.length===3?`3/${t[0]}/${t}`:`${t.slice(0,2)}/${t.slice(2,4)}/${t}`}function Hs(e,t){let n=cn(e);return`${n===`https://crates.io`?`https://index.crates.io`:n}/${Vs(t)}`}function Us(e){return e.split(`
17
19
  `).map(e=>{if(!e)return e;try{let{vers:t,yanked:n,pubtime:r}=JSON.parse(e);return JSON.stringify({vers:t,yanked:n,pubtime:r})}catch{return e}}).join(`
18
- `)}async function Ls(e,t){let n=Fs(t.cratesIoUrl,e);return[await Q(Ns,t,n,async()=>{let r=await gn(n,t,cn(),Is);`body`in r||ur(r.res,n,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of r.body.split(`
19
- `)){if(!e)continue;let t;try{t=JSON.parse(e)}catch{continue}if(c++,!t?.vers||t.yanked)continue;let n=t.vers.split(`+`)[0];i[n]={},t.pubtime&&(a[n]=t.pubtime);let r=W(n);r&&(r.prerelease.length?(!s||ht(n,s))&&(s=n):(!o||ht(n,o))&&(o=n))}if(!c&&r.body.trim())throw Error(`Invalid JSON from ${n}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function Rs(e){let t=new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);if(!e||!r)continue;let i=e[1],a=r[1];ct(a)&&Qe(t,i,a)}return t}const zs=/^\d/,Bs=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,Vs=/^(\s*)(.*?)(\s*)$/s,Hs=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return zs.test(t)&&!Bs.test(t)?`^${t}`:t}).join(` `);function Us(e,t){let[,n,r,i]=Vs.exec(e);if(r.startsWith(`<`)&&J(t,r))return e;let a=Bs.exec(r),o;if(a){if(W(t)?.prerelease.length)o=t;else{let[,e,n]=a;o=`${t.split(/[-+]/)[0].split(`.`).slice(0,e.split(`.`).length).join(`.`)}${n}`}}else o=zs.test(r)?Qi($i(`^${r}`),t,`^${r}`).replace(/^\^/,``):Qi($i(r),t,r);return`${n}${o}${i}`}function Ws(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:Us(e,t)).join(``)}function Gs(e,t,n){let r=e.get(t);if(!r)return;let i=Hs(n),a;for(let e of r)J(e,i)&&(!a||ht(e,a))&&(a=e);return a}const Ks=e=>`(?:${z(e)}|"${z(e)}"|'${z(e)}')`,qs=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,Js=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/;function Ys(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){let r=0;for(;e[n-r-1]===`\\`;)r++;e.startsWith(t,n)&&!(t===`"""`&&r%2)&&(n+=2,t=``)}else if(t)t===`"`&&r===`\\`?n++:r===t&&(t=``);else if(r===`#`)break;else(r===`"`||r===`'`)&&e.startsWith(r.repeat(3),n)?(t=r.repeat(3),n+=2):(r===`"`||r===`'`)&&(t=r)}return t.length===3?t:``}function Xs(e){let t=[],n=``,r=0;for(let i of e.split(`
20
- `)){let a=n?null:Js.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:a[2],start:r,end:e.length,rewrites:[]})):n=Ys(i,n),r+=i.length+1}return t}function Zs(e,t){let n=Xs(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=Ks(i),c=z(a),l=t.startsWith(`[`)?JSON.parse(qs.exec(t)[0]):t.split(`|`,1)[0].split(`.`),u=`[ \\t]*\\.[ \\t]*`,d=l.map(Ks).join(u),f=RegExp(`^${d}${u}${s}$`),p=RegExp(`^${d}$`),m=n.find(e=>f.test(e.path)),h=m??n.find(e=>p.test(e.path));if(!h)throw Error(`Unable to locate Cargo table for ${t}.${i}`);h.rewrites.push({simpleRe:RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`),inlineRe:RegExp(`^(\\s*${s}\\s*=\\s*\\{(?:"[^"\\n]*"|'[^'\\n]*'|[^"'}\\n])*?\\bversion\\s*=\\s*["'])${c}(["'])`),...m&&{versionRe:RegExp(`^(\\s*version\\s*=\\s*["'])${c}(["'].*)$`)},newValue:o})}let r=e;for(let t of n.reverse()){if(!t.rewrites.length)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=e;if(!n)for(let e of t.rewrites)r=r.replace(e.simpleRe,`$1${e.newValue}$2`).replace(e.inlineRe,`$1${e.newValue}$2`),e.versionRe&&(r=r.replace(e.versionRe,`$1${e.newValue}$2`));return n=Ys(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const Qs=/^(!?)\/(.*)\/(i?)$/,$s=e=>e.isHash&&!!e.comment&&!Zn(e.comment),ec=[...new Set(Object.values(je)),`actions`,`docker`,`make`],tc=new Set(ec),nc={patch:new Set([`patch`]),minor:new Set([`patch`,`minor`]),major:new Set([`patch`,`minor`,`major`])},rc={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},ic=(e,t)=>sn(typeof e==`string`?e:t),ac=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function oc(e,t){let n=new Map,r=new Set(e);return Ze(t,e=>{for(let t of r){let i=_(e,t);try{a(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function sc(e,t){t&&(e.date=t,e.age=Wt(t,{noAffix:!0,shortUnits:!0}))}const cc=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,lc=(e,t,n,r)=>cc(`${e}${t}`,n,r),uc=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?Xr(n):`${Xr(n)}|${t}`)},dc=e=>Object.values(e).some(e=>Object.keys(e).length>0),fc=e=>e.toLowerCase().replace(/[-_.]+/g,`-`);function pc(e,t){return t===`go`?[e,po(e)]:t===`docker`?Lo(e):t===`pypi`?[e,fc(e)]:[e]}function $(e,t,n,r,i,a=t,o=e){if(i===`engines`&&ke.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(new Set([...pc(e,a),...pc(o,a)])),c=(t,n)=>kr(t,n,o,e);for(let e of r)if(s.some(t=>c(e,t)))return!1;for(let e of n)if(s.some(t=>c(e,t)))return!0;return!n.size}function mc(t){let n=new Set;if(t?.length)for(let e of t){let t;try{t=d(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}let r=y(e);try{r=u.native(e)}catch{}if(t.isFile())n.add(r);else if(t.isDirectory()){try{for(let e of l(r,{withFileTypes:!0}))e.isFile()&&(Object.hasOwn(je,e.name)||ps(e.name)||_s(e.name))&&n.add(y(_(r,e.name)))}catch{}let e=r.replace(/\\/g,`/`),t=Ae.some(t=>e.endsWith(`/${t}/workflows`)),i=!t&&Ae.some(t=>e.endsWith(`/${t}`)),a=t?[h(e)]:i?[e]:Ae.map(t=>_(e,t));for(let e of a)for(let t of Eo(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(Ae),r=[...Object.keys(je),...us,...gs,...Ae],i=new Set;for(let[a,o]of oc(r,e())){if(t.has(a)){for(let e of Eo(o))n.add(e);continue}let e=y(o);try{e=u.native(o)}catch{}i.has(e)||(i.add(e),n.add(y(o)))}try{for(let t of l(e(),{withFileTypes:!0})){let r=ps(t.name)&&!us.includes(t.name),i=_s(t.name)&&!gs.includes(t.name);t.isFile()&&(r||i)&&n.add(y(_(e(),t.name)))}}catch{}}let r=[];for(let e of Array.from(n)){let t=m(e);Object.hasOwn(rc,t)&&(r.push(e),n.delete(_(h(e),rc[t])))}return r.length?new Set([...r,...n]):n}function hc(e,t){r===`win32`&&f(e,0),p(e,t,r===`win32`?{flag:`r+`}:void 0)}const gc=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function _c(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function vc(e){let t={results:{}},n=new Map,r=Object.entries(e).sort(([e],[t])=>ec.indexOf(e)-ec.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=gc(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,a]of Object.entries(i)){typeof a.oldPrint==`string`&&(a.old=a.oldPrint),typeof a.newPrint==`string`&&(a.new=a.newPrint),typeof a.oldOrig==`string`&&!Ni(a.oldOrig)&&(a.old=e===`go`?mo(a.oldOrig):a.oldOrig),e===`go`?a.new=mo(a.new):e===`actions`&&!a.digestOnly&&(a.old=Z(a.old),a.new=Z(a.new)),delete a.oldPrint,delete a.newPrint,delete a.oldOrig,delete a.date;let[i,o,s]=r.split(`\0`),c=s&&n.get(gc(e,r))>1?`${o}${e===`actions`?`@`:`:`}${_c(s)}`:o,l=t.results[e]??={};(l[_c(i)]??={})[c]=a}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function yc(e,t){if(!t)return()=>!0;let n=Qs.exec(t);if(n){let e=new RegExp(n[2],n[3]);return n[1]?t=>!e.test(t):t=>e.test(t)}return e===`docker`?e=>J(dt(zo(e)?.version??``)?.version??``,t):e===`pypi`?e=>da(e,t):e=>J(e,t)}function bc(e,t,n){if(!n)return e;let r=yc(t,n),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>r(e)));if(t===`go`)return{...e,...e.versions&&{versions:i(e.versions)},new:typeof e.new==`string`&&r(e.new)?e.new:``,sameMajorNew:typeof e.sameMajorNew==`string`&&r(e.sameMajorNew)?e.sameMajorNew:``};let a=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[a]:i(e[a]??{})}}async function xc(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Sc(e)}finally{n()}}async function Sc(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=He(n.timeout,`timeout`));let r=n.sockets??50,a=n.timeout??0,o=ic(t.forgeapi,on.forgeapi),s=xa(t.goproxy),c=Sa(),l=!n.noColor&&(n.color||i.isTTY),u=e=>l?t=>ee(e,String(t),{validateStream:!1}):String,d=u(`magenta`),f=u(`green`),p=u(`red`),g,v={execFile:async(e,t,n)=>(await Nn())(e,t,n),fetchTimeout:a||5e3,goProbeTimeout:a?Math.max(1,Math.floor(a/2)):2500,concurrency:r,forgeApiUrl:o,pypiApiUrl:ic(t.pypiapi,on.pypiapi),jsrApiUrl:ic(t.jsrapi,on.jsrapi),goProxyUrl:s[0].url,goProxyChain:s,cratesIoUrl:ic(t.cargoapi,on.cargoapi),dockerApiUrl:ic(t.dockerapi,on.dockerapi),doFetch:(e,t)=>(g??=xn(v))(async()=>{n.verbose&&console.error(`${Re()} ${d(t?.method||`GET`)} ${e}`);let r=await dn(e,t);return n.verbose&&console.error(`${Re()} ${r.ok?f(r.status):p(r.status)} ${e}`),r}),noCache:!!n.noCache},b=new Map,x=async(e,t,n)=>{let r=`${e}${t}${n}`,i=H(b,r,()=>qo(e,t,n,v));try{return await i}catch(e){throw b.get(r)===i&&b.delete(r),e}};for(let e of n.modes??[])if(!tc.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${ec.join(`,`)}`);let S=n.modes?.length?new Set(n.modes):tc,te=e=>{let t=(e.overrides??[]).map(e=>({include:e.include?.length?Rr(e.include):void 0,exclude:e.exclude?.length?Rr(e.exclude):void 0,greatest:e.greatest,prerelease:e.prerelease,release:e.release,patch:e.patch,minor:e.minor,allowDowngrade:e.allowDowngrade,cooldownDays:e.cooldown===void 0?void 0:Ve(String(e.cooldown))}));return{greatest:Hr(e.greatest),prerelease:Hr(e.prerelease),release:Hr(e.release),patch:Hr(e.patch),minor:Hr(e.minor),allowDowngrade:Hr(e.allowDowngrade),overrides:t,renovateVersionRules:e.renovateVersionRules??[],hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)}};S.has(`actions`)&&In();let C=new WeakMap;function ne(e,t,n,r=n){let i=H(C,e,()=>new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(new Set([...pc(n,t),...pc(r,t)])),c=e=>s.some(t=>Le(t,e)),l=c(e.greatest),u=c(e.prerelease),d=c(e.release),f=c(e.patch),p=c(e.minor),m=c(e.allowDowngrade),h;for(let t of e.overrides)t.include&&s.every(e=>!Le(e,t.include))||t.exclude&&s.some(e=>Le(e,t.exclude))||(t.greatest!==void 0&&(l=t.greatest),t.prerelease!==void 0&&(u=t.prerelease),t.release!==void 0&&(d=t.release),t.patch!==void 0&&(f=t.patch),t.minor!==void 0&&(p=t.minor),t.allowDowngrade!==void 0&&(m=t.allowDowngrade),t.cooldownDays!==void 0&&(h=t.cooldownDays));let g=f?nc.patch:p?nc.minor:nc.major,_;for(let t of e.renovateVersionRules)Er(t,n,r)&&(t.allowedVersions!==void 0&&(_=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:g,allowDowngrade:m,cooldownOverride:h,allowedVersions:_},i.set(a,o)}return o}Br(n.pin);let T=n.pin??{},re=(e,t,n)=>{let r=e.find(e=>T[e]);if(r)return{pinnedRange:T[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},ie=(e,t,n,r,i,a,o)=>{let s=ne(e,t,n,r);return{...s,...re(s.names,i,a),cooldownDays:s.cooldownOverride??o}},E={},ae={},oe=new Map,se=new Map,D=new Map,O=new Map,ce=new Map,k=[],A=(e,t,n)=>{let[r,i]=t.split(`\0`);k.push({mode:e,type:r,name:i,error:n?.message||String(n)})},le=(e,t,n)=>{delete E[e][t],A(e,t,n)},j={},M=Date.now(),de=e(),fe=e=>e.replace(`${de}/`,``).replace(`${de}\\`,``),pe=(e,t,n,r,i,a)=>{E[e][lc(t,n,r)]={old:i,oldOrig:a}},me=(e,t,n)=>{if(Fi(n))return;let r=Li(n);if(Ni(n))E.npm[e]={old:Bi(n,t).version,new:``,oldOrig:n};else if(Y(n))E.npm[e]={old:$i(n),new:``,oldOrig:n};else if(r)se.set(e,r),E.npm[e]={old:$i(r.range),new:``,oldOrig:n};else if(Pi(n))return;else ae[e]={old:n}},he=(e,t,n,r,i,a)=>{let o=new Set(Object.keys(t.tool?.uv?.sources??{}).map(fc)),s=(t,r)=>{for(let{name:s,version:c,spec:l}of De(t))o.has(fc(s))||$(s,e,i,a,r)&&(pe(e,r,n,s,$i(c),c),ce.set(lc(r,n,s),l))};for(let[o,c]of Ie(r,t)){let t=c||{};if(Array.isArray(t)){if(e!==`pypi`)continue;s(t,o)}else if(typeof t==`string`){let[r,s]=t.split(`@`);$(r,e,i,a,o)&&pe(e,o,n,r,$i(s),s)}else{let r=Object.entries(t);if(e===`npm`&&(o===`overrides`||o===`pnpm.overrides`)){let r=o===`overrides`?[`overrides`]:[`pnpm`,`overrides`],s=(t,c)=>{for(let[l,u]of Object.entries(t))if(typeof u==`string`){let t=_i(l===`.`?c.at(-1)??l:l),s=Li(u);if(!$(t,e,i,a,o,e,s?.name??t))continue;let d=[...r,...c,l],f=JSON.stringify(d),p=lc(o,n,t,f);me(p,t,u)}else u&&typeof u==`object`&&!Array.isArray(u)&&s(u,[...c,l])};s(t,[]);continue}for(let[t,c]of r){if(e===`pypi`&&Array.isArray(c)){s(c,`${o}.${t}`);continue}typeof c==`string`&&$(t,e,i,a,o,e,(e===`npm`?Li(c):null)?.name??t)&&(e===`npm`?me(lc(o,n,t),t,c):e===`go`?pe(e,o,n,t,mo(c),Z(c)):Y(c)&&pe(e,o,n,t,$i(c),c))}}}},ge=mc(n.files),N=new Map(await L(Array.from(ge).filter(e=>{if(To(e))return S.has(`actions`)||S.has(`docker`);let t=m(e);return ps(t)?S.has(`docker`):_s(t)?S.has(`make`):S.has(je[t])}),async e=>{try{return[e,await w(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),P={},_e=[],ve=[],ye=[],be=[],xe=[],Se=[],Ce=[],we=[],Te={},F=(e,t,n)=>{(Te[e]??=new Map).set(t===`.`?``:`|${t}`,n)},Ee=t[Pr],ke=Ee&&new Set(Ee.cliKeys),Ae=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!ke||ke.has(e)))),I=$e(async e=>{let t={...await Wr(e),...Ae};return{modeConfig:t,include:Rr(t.include??[]),exclude:Rr(t.exclude??[]),versionConfig:te(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?Ve(String(t.cooldown)):0}});function ze(e,t){return t.types?.length?t.types:e===`npm`?Oe:e===`pypi`?Me:e===`go`?t.indirect?Ne:Ne.filter(e=>e!==`indirect`):e===`cargo`?[...Pe,...Fe]:[]}let Be=(e,t)=>({modeConfig:e.modeConfig,versionConfig:e.versionConfig,projectDir:t,pin:e.pin,cooldownDays:e.cooldownDays}),z=e=>{let t=[],n=-1;for(let[r,i]of e.split(/\r?\n/).entries()){let e=/^(\s*)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(i);if(!e)continue;let a=e[1].length,o=(e[2]??e[3]??e[4]).trim();if(a===0){n=o===`overrides`?a:-1;continue}if(n===-1||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trimEnd(),c=e[5].length-e[5].trimStart().length,l=/^(['"])(.*)\1$/.exec(s.trimStart()),u=l?.[2]??s.trimStart();t.push({selector:o,value:u,lineNumber:r,valueIndex:i.length-e[5].length+c+Number(!!l)})}return t};function Ue(e,t,n){if(E.docker??={},!$(e.fullImage,`docker`,n.include,n.exclude,`docker`))return;let r=`${e.tag}${e.digest?`@${e.digest}`:``}`,i=cc(t,e.fullImage,r);if(E.docker[i])return;let a=zo(e.tag);!a&&!e.digest||(E.docker[i]={old:a?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Ce.push({key:i,fullImage:e.fullImage,ref:e,versionConfig:n.versionConfig,filePin:n.pin,fileCooldownDays:n.cooldownDays}))}let We=new Map,B=new Map;for(let e of ge){let t=m(e);if(t===`package.json`){let t=N.get(e);if(!t)continue;try{let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages;Array.isArray(r)&&r.some(e=>typeof e==`string`)&&B.set(e,n)}catch{}}else if(t===`Cargo.toml`){let t=N.get(e);if(!t)continue;try{let n=ue(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&We.set(e,n)}catch{}}}let Ge={cargo:We.size,go:Array.from(ge).filter(e=>m(e)===`go.work`).length,npm:new Set([...B.keys(),...Array.from(ge).filter(e=>m(e)===`pnpm-workspace.yaml`)]).size},Ke=(e,t,n,r,i)=>{let a=j[e]??=[],o=!a.length&&!Ge[e],s=o?`.`:fe(t);return a.push({absPath:y(t),content:n,memberPath:s,projectDir:r}),F(e,s,Be(i,r)),o?``:`|${s}`},qe=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},V=(e,t,n)=>Ge[e]>1?`${fe(t)}:${n}`:n,Je=(e,t,n,r,i,a)=>{let o=V(`npm`,e,n.memberPath);F(`npm`,o,Be(a,t)),be.push({...n,memberPath:o}),he(`npm`,r,o===`.`?``:`|${o}`,i,a.include,a.exclude)};for(let e of We.size||B.size?new Set([...We.keys(),...B.keys(),...N.keys()]):N.keys()){if(To(e)){let t=S.has(`actions`),n=S.has(`docker`),r=N.get(e),i=fe(e),a=await I(h(e)),s=new Set;P[i]={absPath:e,content:r,fileType:`workflow`,workflowLines:s};let c=[];for(let[e,l]of r.split(/\r?\n/).entries()){if(t){let e=xo(l),t=e&&ho(e.value);if(t&&$(t.name,`actions`,a.include,a.exclude,`actions`)){E.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=t.isHash&&n?`${n}@${t.ref}`:t.ref,s=cc(i,t.name,r);E.actions[s]||(E.actions[s]={old:t.ref},Se.push({...t,key:s,comment:n,apiUrl:go(t.host,o),versionConfig:a.versionConfig,filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}if(!n)continue;let r=/^(\s*)(?:-\s*)?(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(l);if(!r)continue;let u=r[1].length;for(;c.length&&c.at(-1).indent>=u;)c.pop();let d=(r[2]??r[3]??r[4]).trim(),f=d===`container`&&c.length===2&&c[0].key===`jobs`,p=d===`image`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`container`||c.length===4&&c[0].key===`jobs`&&c[2].key===`services`),m=d===`uses`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`steps`||c.length===2&&c[0].key===`runs`&&c[1].key===`steps`);if((f||p||m)&&r[5]){let t=r[5].replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`),n=Ro(m?t.replace(/^docker:\/\//,``):t);n&&(Ue(n,i,a),s.add(e))}c.push({indent:u,key:d})}continue}let t=m(e),n=y(e);if(ps(t)){let n=N.get(e),r=fe(e),i=fs(t)?`dockerfile`:`compose`,a=await I(h(e));P[r]={absPath:e,content:n,fileType:i};for(let{ref:e}of Vo(n,ms(t)))Ue(e,r,a);continue}if(_s(t)){let t=N.get(e),n=fe(e),r=await I(h(e));P[n]={absPath:e,content:t,fileType:`make`},E.make??={};let i={projectDir:h(e),versionConfig:r.versionConfig,filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of Ss(t)){if(!$(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=cc(n,e,a);E.make[t]||(E.make[t]={old:Z(a),oldOrig:a},we.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of Es(t)){if(!$(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=cc(n,e.writtenImage,e.ref.tag);if(E.make[t])continue;let a=zo(e.ref.tag);if(!a)continue;let o=ws(e.writtenImage,e.ref.tag,e.digest);E.make[t]={old:a.version,oldOrig:e.ref.tag},we.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let i=je[t];if(t===`go.work`){E[i]??={};let t=h(n),a=N.get(e),o=lo(a),[{modeConfig:s,include:c,exclude:l,versionConfig:u,pin:d,cooldownDays:f},p]=await Promise.all([I(t),L(o.use,async e=>{let n=uo(t,e);if(!n)return null;try{return{usePath:e,modPath:n,content:await w(n,`utf8`)}}catch{return null}},{concurrency:r})]),m=ze(i,s),g=V(i,e,`.`),_=Be({modeConfig:s,versionConfig:u,pin:d,cooldownDays:f},t);F(i,g,_),ve.push({file:e,content:a,memberPath:g});for(let t of p){if(!t)continue;let{usePath:n,modPath:r,content:a}=t,o=Ha(a),s=V(i,e,n);F(i,s,_),_e.push({absPath:r,content:a,projectDir:h(r),memberPath:s}),he(i,o,s===`.`?``:`|${s}`,m,c,l)}for(let[e,t]of Object.entries(o.replace))$(e,i,c,l,`replace`)&&pe(i,`replace`,g===`.`?``:`|${g}`,e,mo(t),Z(t));continue}if(t===`go.mod`&&_e.some(e=>e.absPath===n)||t===`package.json`&&be.some(e=>e.absPath===n)||t===`Cargo.toml`&&ye.some(e=>e.absPath===n))continue;if(t===`Cargo.toml`){E[i]??={};let t=N.get(e),a=We.get(e)??ue(t),o=h(n),s=oc([`Cargo.lock`],o).get(`Cargo.lock`),c=a.workspace?.members,l=Array.isArray(c)&&c.length,[u,d,f]=await Promise.all([I(o),s?w(s,`utf8`):Promise.resolve(null),l?ti(c,o,`Cargo.toml`,r):Promise.resolve([])]),{modeConfig:p,include:m,exclude:g}=u,_=ze(i,p),v=d?Rs(d):new Map,y=(e,t)=>{for(let[n,r]of Ie(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[r,a]of Object.entries(e))if($(r,i,m,g,n)){if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)&&!(`registry`in a)){let e=a.version,o=a.package||r;Y(Hs(e))&&(o!==r&&oe.set(lc(n,t,r),o),pe(i,n,t,r,Gs(v,o,e)??$i(Hs(e)),e))}else typeof a==`string`&&Y(Hs(a))&&pe(i,n,t,r,Gs(v,r,a)??$i(Hs(a)),a)}}}};if(l){let r=V(i,e,`.`),s=Be(u,o);F(i,r,s),y(a,r===`.`?``:`|${r}`),ye.push({absPath:n,content:t,memberPath:r});for(let t of f){let n=V(i,e,t.memberPath);F(i,n,s),ye.push({...t,memberPath:n}),y(qe(t.absPath,()=>ue(t.content)),`|${n}`)}}else y(a,Ke(i,e,t,o,u));continue}if(t===`package.json`&&B.has(e)){E[i]??={};let t=h(n),a=N.get(e),o=B.get(e),s=Array.isArray(o.workspaces)?o.workspaces:o.workspaces?.packages,c=Array.isArray(s)?s.filter(e=>typeof e==`string`):[],[l,u]=await Promise.all([I(t),ti(c,t,`package.json`,r)]),d=ze(i,l.modeConfig);Je(e,t,{absPath:n,content:a,memberPath:`.`},o,d,l);for(let n of u)Je(e,t,n,qe(n.absPath,()=>JSON.parse(n.content)),d,l);continue}if(t===`pnpm-workspace.yaml`){E[i]??={};let a=h(n),o=N.get(e),s=mi(o),c=_(a,`package.json`),[l,u,d]=await Promise.all([I(a),R(w(c,`utf8`)),ti(s,a,`package.json`,r)]),f=ze(i,l.modeConfig),p=V(i,e,t);F(i,p,Be(l,a)),xe.push({absPath:n,content:o,memberPath:p});for(let{type:e,name:t,value:n}of fi(o))$(t,i,l.include,l.exclude,e,i,Li(n)?.name??t)&&me(lc(e,`|${p}`,t),t,n);for(let{selector:e,value:t}of z(o)){let n=e.match(/(?:^|>)(?:@[^/>\s]+\/[^@>\s]+|[^@>\s]+)(?=@|>|$)/g)?.at(-1)?.replace(/^>/,``)??e,r=`pnpm-workspace.overrides`;if(!$(e,i,l.include,l.exclude,r,i,n))continue;let a=JSON.stringify(e),o=lc(r,`|${p}`,e,a);D.set(o,n),O.set(o,e),me(o,e,t)}if(u!==null){let t=qe(c,()=>JSON.parse(u));Je(e,a,{absPath:y(c),content:u,memberPath:`.`},t,f,l)}for(let t of d)Je(e,a,t,qe(t.absPath,()=>JSON.parse(t.content)),f,l);continue}E[i]??={};let a=h(n),s=await I(a),{modeConfig:c,include:l,exclude:u}=s,d=ze(i,c),f=N.get(e);he(i,qe(e,()=>i===`npm`?JSON.parse(f):i===`pypi`?ue(f):Ha(f)),Ke(i,e,f,a,s),d,l,u)}let Ye=Object.keys(ae).length>0;if(!dc(E)&&!Ye)return{results:{},message:`No dependencies found, nothing to do.`};let Xe=[],Ze=(e,t)=>D.get(e)??se.get(e)?.name??(gi.has(e.split(`\0`)[0].split(`|`)[0])?_i(t):t),Qe={needsDates:(Te.npm?.values()??[][Symbol.iterator]()).some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)};for(let[e,t]of Object.entries(Te))!Object.keys(E[e]??{}).length&&(e!==`npm`||!Ye)||Xe.push((async()=>{let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},o=new Map,s=E[e],l=async(t,r,i)=>{let l=Xr(r),{modeConfig:u,versionConfig:f,projectDir:p,pin:m,cooldownDays:h}=a(r),g=s[t],_=se.get(t),[y,b]=await(e===`npm`?g.oldOrig&&Ni(g.oldOrig)?Vi(i,v):ji(Ze(t,i),l,u,Qe,v,p,g.old):e===`go`?ro(i,r,g.oldOrig||g.old,p,v,c):e===`cargo`?Ls(oe.get(t)??i,v):sa(i,v)),x=y;if(x.error)throw Error(x.error);let S=l===`packageManager`?i:x.name,{useGreatest:ee,usePre:te,useRel:C,semvers:w,allowDowngrade:ne,allowedVersions:T,pinnedRange:re,pinNoDowngrade:E,cooldownDays:ae}=ie(f,e,S,i,m,u.pinNoDowngrade,h);x=bc(x,e,T);let{old:D,oldOrig:O}=g,k=kn(x,{usePre:te,useRel:C,useGreatest:ee,semvers:w,range:D,mode:e,pinnedRange:re,pinNoDowngrade:E,allowDowngrade:ne,cooldownDays:ae||void 0,now:ae?M:void 0}),A=``;if((e===`go`||e===`pypi`)&&k)A=k;else if(e===`cargo`&&k&&O)A=Ws(O,k);else if(k){if(O&&Ni(O)){let e=ac.exec(O);e?A=`${e[1]}${k}`:O.startsWith(`jsr:`)&&(A=`jsr:${k}`)}else A=_?`npm:${_.name}@${Qi(D,k,_.range,l)}`:Qi(D,k,O,l)}let le=ce.get(t);if(!k||k===D||O&&O===A||le&&!fa(le,O||D,A)){n.verbose&&k&&k!==D&&console.error(`${Re()} ${d(`SKIP`)} ${i}: ${O||D} can not be rewritten to ${k}`),delete s[t];return}let j=(e===`pypi`?x.releases?.[k]?.[0]?.upload_time_iso_8601:e===`go`?x.Time:e===`cargo`?x.time?.[k]:``)||``;g.new=A,O&&Ni(O)&&(g.newPrint=k),e===`npm`?o.set(t,{name:Ze(t,i),promise:Mi(x.name,k,u,Qe,v,p)}):g.info=e===`pypi`?gr(x,b,x.info.name):e===`go`?fo(x.newPath||i):`https://crates.io/crates/${x.name}`,sc(g,j)};if(await L(Object.keys(s),async t=>{let[n,r]=t.split(`\0`);try{await l(t,n,r)}catch(n){le(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(o,async([e,{name:t,promise:n}])=>{let r=await n,i=s[e];i&&(i.info=gr({repository:r.repository,homepage:r.homepage},null,t),sc(i,r.date))})),e===`npm`&&Ye){let e=(await L(Object.entries(ae),async([e,t])=>{try{return await ra(e,t,v)}catch(t){return A(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:c}of e)sc(s[t]={old:ae[t].old,new:n,oldPrint:Xn.test(a)?a.substring(0,7):a,newPrint:Xn.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`},c)}for(let[t,{date:n}]of Object.entries(s)){if(!n)continue;let[r,i]=t.split(`\0`),{cooldownDays:o,versionConfig:c}=a(r);if(!o&&!c.hasCooldownOverride)continue;let l=e===`npm`?Ze(t,i):i,u=ne(c,e,l,i).cooldownOverride??o;u&&!nn(n,u,M)&&delete s[t]}})());let et=e=>ie(e.versionConfig,`actions`,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays);Se.length&&Xe.push((async()=>{await L(Map.groupBy(Se,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a=e.filter(e=>e.isHash?!$s(e):Zn(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=et(e);return t||!!(n&&!r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===on.forgeapi?[]:e.filter($s).map(e=>e.comment)],c=[];try{s.length&&(c=await lr(t,n,i,v,o?[]:s,!!a.length))}catch(t){for(let n of e)le(`actions`,n.key,t);return}let l=[],u=new Map,d=new Map,f=new Map;for(let e of c){d.set(e.name,e);let t=zt.parse(e.name)?.version;if(t&&e.isStable!==!1){let n=u.get(t);n||l.push(t),(!n||e.name.length>n.length)&&u.set(t,e.name)}e.commitSha&&f.set(e.commitSha,e.name)}let p=$e(e=>_o(t,n,i,e,v)),m=$e(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===on.forgeapi?`commits`:`branches`,o=await Kn(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,v);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return typeof s?.sha==`string`?s.sha:typeof s?.id==`string`?s.id:typeof s?.commit?.sha==`string`?s.commit.sha:typeof s?.commit?.id==`string`?s.commit.id:``});async function h(e,t){let r={...e,cooldownDays:void 0,now:void 0},a=new Set;for(let o=0;o<20;o++){let o=Dn({},a.size?t.filter(e=>!a.has(e)):t,r);if(!o)return null;let s=u.get(o),c=d.get(s)?.commitSha||``;if(!e.cooldownDays)return{version:o,tag:s,commitSha:c,date:``};let l=c?await p(c):``;if(l===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${s}`);if(nn(l,e.cooldownDays,e.now))return{version:o,tag:s,commitSha:c,date:l};a.add(o)}return null}let g=async e=>{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=E.actions[t],u=`https://${r||`github.com`}/${n}/${i}`,g=a;if(s?g=o||f.get(a)||f.entries().find(([e])=>e.startsWith(a))?.[1]||``:Zn(a)||(g=``),!g){delete E.actions[t];return}let{useGreatest:_,usePre:v,useRel:y,semvers:b,allowDowngrade:x,allowedVersions:S,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C}=et(e),w=Zn(g)?await h({range:g,semvers:b,useGreatest:_,usePre:v,useRel:y,allowDowngrade:x,versioning:zt,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C||void 0,now:C?M:void 0},S?l.filter(yc(`actions`,S)):l):null;if(!w){if(!s||!o){delete E.actions[t];return}let e=await m(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete E.actions[t];return}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=u,sc(c,await R(p(e)));return}let{tag:ne,commitSha:T,date:re}=w;if(s){if(!T||T.startsWith(a)||a.startsWith(T)){delete E.actions[t];return}c.old=a,c.new=T.substring(0,a.length),c.oldPrint=g,c.newPrint=ne}else{let e=vo(ne,a);if(e===a){delete E.actions[t];return}c.new=d.has(e)?e:ne}c.info=u,sc(c,re||(T?await R(p(T)):``))};await L(e,async e=>{try{await g(e)}catch(t){le(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(E.actions).length||delete E.actions})()),Ce.length&&Xe.push((async()=>{await L(Map.groupBy(Ce,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete E.docker[e.key];return}let n;try{let[t]=await Qo(e,v);n=t}catch(e){for(let n of t)le(`docker`,n.key,e);return}await L(t,async t=>{let r=E.docker[t.key],i=r.oldOrig||r.old,{semvers:a,usePre:o,useRel:s,allowedVersions:c,pinnedRange:l,cooldownDays:u}=ie(t.versionConfig,`docker`,e,e,t.filePin,void 0,t.fileCooldownDays),d=bc(n,`docker`,c).tags,f=!t.ref.digestOnly&&zo(i)?rs(d,i,a,u||void 0,u?M:void 0,l,o,s):null,p=f?.newTag??i;if(t.ref.digest){let e=await x(t.ref.namespace,t.ref.repo,p);if(!e||e===t.ref.digest&&!f){delete E.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!f){delete E.docker[t.key];return}r.new=p,r.info=hs(t.ref),sc(r,f?.date)},{concurrency:r})},{concurrency:r}),Object.keys(E.docker).length||delete E.docker})()),we.length&&Xe.push((async()=>{await L(we,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,allowedVersions:o,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u}=ie(e.versionConfig,e.kind,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays),d={semvers:i,useGreatest:t,usePre:n,useRel:r,allowDowngrade:a,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u||void 0,now:u?M:void 0},f=E.make[e.key];try{if(e.kind===`go`){let t=await js(e.installPath,e.projectDir,v,c);if(!t){delete E.make[e.key];return}let[n]=await ro(t,`tool`,Z(e.version),e.projectDir,v,c),r=bc(n,`go`,o),i=kn(r,{...d,mode:`go`,range:Z(e.version)});if(!i){delete E.make[e.key];return}let a=r.newPath??ja(t,i),s=`${a}${e.installPath.slice(t.length)}`,l=pr(i,e.version);if(s===e.installPath&&l===e.version){delete E.make[e.key];return}e.newSpec=`${s}@${l}`,f.new=l,f.info=fo(a),sc(f,r.Time)}else{let[t]=await Qo(e.image.ref.fullImage,v),n=bc(t,`docker`,o).tags,r=rs(n,e.image.ref.tag,d.semvers,d.cooldownDays,d.now,d.pinnedRange,d.usePre,d.useRel);if(!r){delete E.make[e.key];return}let i=e.image.digest?await x(e.image.ref.namespace,e.image.ref.repo,r.newTag):null;if(e.image.digest&&!i){delete E.make[e.key];return}e.newSpec=ws(e.image.writtenImage,r.newTag,i),f.new=r.newTag,f.info=hs(e.image.ref),sc(f,r.date)}}catch(t){le(`make`,e.key,t)}},{concurrency:r}),Object.keys(E.make).length||delete E.make})());try{await Promise.all(Xe)}finally{await en()}if(!dc(E))return k.length?{results:{},errors:k}:{results:{},message:`All dependencies are up to date.`};let tt=(e,t)=>{let n=e.split(`
21
- `),r=new Map(z(e).map(e=>[e.selector,e]));for(let[e,i]of O){let a=E.npm?.[e],o=r.get(i);if(!a||!uc(e,t)||!o||o.value!==(a.oldOrig||a.old))continue;let s=n[o.lineNumber];n[o.lineNumber]=`${s.slice(0,o.valueIndex)}${a.new}${s.slice(o.valueIndex+o.value.length)}`}return n.join(`
22
- `)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=Qr(E[e],r.memberPath);Object.keys(t).length&&hc(r.absPath,n(r.content,t,r))}},t=new Map(Se.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]),r=n(Object.entries(E.actions??{})),i=n(Object.entries(E.docker??{})),a=Map.groupBy(we.filter(e=>e.newSpec&&E.make?.[e.key]),e=>e.key.split(`\0`)[0]);for(let n of Object.keys(E).sort((e,t)=>(e===`docker`)-+(t===`docker`)))if(Object.keys(E[n]).length){if(n===`actions`){for(let[e,n]of r){let{absPath:r,content:i}=P[e]||{};if(!r)continue;let a=Co(i,n.map(([e,n])=>{let r=n.oldDigest??n.old;return{name:e.split(`\0`)[1],oldRef:r,newRef:n.newDigest?n.newDigest.substring(0,r.length):n.new,oldComment:t.get(e)||void 0,newComment:n.digestOnly?void 0:Xn.test(n.old)?n.newPrint:void 0}}));hc(r,a),P[e].content=a}continue}if(n===`docker`){for(let[e,t]of i){let n=P[e];if(!n)continue;let{absPath:r,content:i,fileType:a,workflowLines:o}=n;hc(r,(a===`dockerfile`?ss:a===`compose`?cs:(e,t)=>e.split(`
23
- `).map((e,n)=>o.has(n)?ls(e,t):e).join(`
24
- `))(i,Object.fromEntries(t)))}continue}if(n===`make`){for(let[e,t]of a){let n=P[e];n&&hc(n.absPath,Ms(n.content,t.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}continue}if(n===`go`){for(let e of[..._e,...j.go??[]]){let t=Qr(E[n],e.memberPath);if(!Object.keys(t).length)continue;let[r,i]=ao(e.content,t);r!==e.content&&hc(e.absPath,r),co(e.projectDir,i,hc)}for(let e of ve){let t=Object.fromEntries(Object.entries(Qr(E[n],e.memberPath)).filter(([e])=>Xr(e.split(`\0`)[0])===`replace`));if(Object.keys(t).length){let[n]=ao(e.content,t);n!==e.content&&hc(e.file,n)}}}else n===`cargo`?e(n,[...ye,...j.cargo??[]],Zs):n===`npm`?(e(n,xe,(e,t,n)=>tt(pi(e,t),n.memberPath)),e(n,[...be,...j.npm??[]],Hi)):e(n,j[n]??[],_a)}}let nt=vc(E);return k.length&&(nt.errors=k),nt}function Cc(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function wc(e){let t=Ir(e);if(t!==!1)return t===!0||Array.from(t).map(Cc)}function Tc(t){if(!t)return e();let n=g(t)?t:y(e(),t),r=!1;try{r=d(n).isDirectory()}catch{}return r?n:h(n)}function Ec(e,t){let n=Ir(e.file),r=[...n instanceof Set?n:[],...t];return{filesList:r,startDir:Tc(r[0])}}function Dc(e){let t=S({strict:!1,allowPositionals:!0,tokens:!0,options:Fr,...e!==void 0&&{args:e}}),n=Object.create(null),r=new Set,i=0;for(let[e,a]of t.tokens.entries()){if(a.kind===`positional`&&i++,a.kind!==`option`)continue;if(a.inlineValue||!a.value?.startsWith(`-`)){Fr[a.name]?.multiple?(n[a.name]??=[]).push(a.value??!0):n[a.name]=a.value??!0;continue}let o=a.value.startsWith(`--`),s=t.tokens[e+1],c=s?.kind===`positional`?s.value:void 0,l=[],u=a.value.substring(o?2:1),d=!1;if(o){let e=Lr(u);e&&(d=Fr[e].type===`string`&&c!==void 0,l.push({key:e,value:!d||c}))}else for(let e=0;e<u.length;){let t=Lr(u[e]);if(!t){l.length=0;break}if(Fr[t].type===`boolean`)l.push({key:t,value:!0}),e++;else{let n=u.substring(e+1);d=!n&&c!==void 0,l.push({key:t,value:n||!d||c}),e=u.length}}if(!l.length){Fr[a.name]?.multiple?(n[a.name]??=[]).push(a.value):n[a.name]=a.value;continue}Fr[a.name]?.multiple?n[a.name]??=[]:n[a.name]=!0,d&&r.add(i);for(let{key:e,value:t}of l)Fr[e].multiple?(n[e]??=[]).push(t):n[e]=t}return{args:n,positionals:t.positionals.filter((e,t)=>!r.has(t))}}async function Oc(e,t){let{filesList:n,startDir:r}=Ec(e,t),i=await Wr(r),a={};e.json&&(a.json=!0),e.verbose&&(a.verbose=!0),e[`no-cache`]&&(a.noCache=!0),e.update&&(a.update=!0),e.indirect&&(a.indirect=!0),e[`error-on-outdated`]&&(a.errorOnOutdated=!0),e[`error-on-unchanged`]&&(a.errorOnUnchanged=!0),e.color&&(a.color=!0,a.noColor=!1),e[`no-color`]&&(a.color=!1,a.noColor=!0),typeof e.timeout==`string`&&(a.timeout=He(e.timeout,`timeout`)),typeof e.sockets==`string`&&(a.sockets=He(e.sockets,`sockets`)),typeof e.registry==`string`&&(a.registry=e.registry),typeof e.cooldown==`string`&&(a.cooldown=Number(e.cooldown)||e.cooldown);let o=zr(e.include).map(Cc),s=zr(e.exclude).map(Cc);o.length&&(a.include=o),s.length&&(a.exclude=s);let c=zr(e.types);c.length&&(a.types=c);let l=Vr(e.pin);Object.keys(l).length&&(a.pin=l);let u=Ir(e.modes);u instanceof Set&&(a.modes=Array.from(u));for(let t of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let n=wc(e[t]);n!==void 0&&(a[t]=n)}let d=wc(e[`allow-downgrade`]);d!==void 0&&(a.allowDowngrade=d),n.length&&(a.files=n);for(let t of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(a[t]=e[t]);let f={...i,pin:void 0,...a};return Object.defineProperty(f,Pr,{value:{fileConfig:i,cliKeys:Object.keys(a)}}),f}const kc={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:`https://api.github.com`,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},Ac=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`,`resolutions`],jc=e=>e===`package.json`||e===`pnpm-workspace.yaml`?`npm`:e===`pyproject.toml`?`pypi`:e===`Cargo.toml`?`cargo`:e===`go.mod`||e===`go.work`?`go`:/^Dockerfile(?:\..+)?$/.test(e)||/^(?:docker-|compose).*\.ya?ml$/.test(e)?`docker`:[`Makefile`,`makefile`,`GNUmakefile`].includes(e)||e.endsWith(`.mk`)?`make`:/\.ya?ml$/.test(e)?`actions`:``;function Mc(e,t){let n=Array.isArray(t.modes)?new Set(t.modes):typeof t.modes==`string`?new Set(t.modes.split(`,`)):null,r=new Set,i=new Set,a=Array.isArray(t.files)&&t.files.length?t.files.filter(e=>typeof e==`string`):[e];for(let e of a){let t=y(e);try{if(d(t).isFile()){i.add(t);continue}for(let e of l(t,{withFileTypes:!0}))if(e.isFile())i.add(_(t,e.name));else if([`.github`,`.gitea`,`.forgejo`].includes(e.name))try{for(let n of l(_(t,e.name,`workflows`),{withFileTypes:!0}))n.isFile()&&/\.ya?ml$/.test(n.name)&&i.add(_(t,e.name,`workflows`,n.name))}catch{}}catch{}}for(let e of i){let t=m(e),i=jc(t);if(!(!i||n&&!n.has(i)&&!(i===`actions`&&n.has(`docker`))))try{let i=c(e,`utf8`);if(t===`package.json`){let e;try{e=JSON.parse(i)}catch{continue}let t=Ac.flatMap(t=>Object.values(e[t]??{}));typeof e.packageManager==`string`&&t.push(e.packageManager.split(`@`,1)[0]);for(let e of t)typeof e!=`string`||/^(?:file|link|workspace):/.test(e)||(/^(?:jsr:|npm:@jsr\/)/.test(e)?r.add(`jsrapi`):/^(?:git(?:\+https?|\+ssh)?:|https?:\/\/[^/]*(?:github|gitea|forgejo)|github:|gitea:|forgejo:)/.test(e)?r.add(`forgeapi`):r.add(`registry`))}else if(t===`pnpm-workspace.yaml`)/\b(?:jsr:|npm:@jsr\/)/.test(i)&&r.add(`jsrapi`),/\b(?:catalogs?|overrides):|:\s*["']?[~^<>=]*\d/.test(i)&&r.add(`registry`);else if(t===`pyproject.toml`)/^[ \t]*["'][A-Za-z0-9][\w.-]*(?:\[[^\]]+\])?\s*(?:[<>=!~]|@)/m.test(i)&&r.add(`pypiapi`);else if(t===`Cargo.toml`)/^\s*\[(?:target\.[^\]]+\.)?(?:dev-|build-)?dependencies\]/m.test(i)&&r.add(`cargoapi`);else if(t===`go.mod`||t===`go.work`)/^\s*(?:require\s+)?\S+\s+v\d/m.test(i)&&r.add(`goproxy`);else if(/^Dockerfile(?:\..+)?$/.test(t)||/^(?:docker-|compose).*\.ya?ml$/.test(t))/^\s*(?:FROM\s+(?:--\S+\s+)*|image\s*:\s*)[^\s#]+[:@]/im.test(i)&&r.add(`dockerapi`);else if([`Makefile`,`makefile`,`GNUmakefile`].includes(t)||t.endsWith(`.mk`))/\bgo\s+install\s+\S+@v\d/.test(i)&&r.add(`goproxy`),/\b(?:docker|image)\b[^\n]*[\w./-]+:[\w.-]+/i.test(i)&&r.add(`dockerapi`);else{let e=-1;for(let t of i.split(/\r?\n/)){let i=t.search(/\S|$/);e!==-1&&(!t.trim()||i>e)||(e=/:\s*[|>](?:[1-9][+-]?|[+-][1-9]?)?\s*(?:#.*)?$/.test(t)?i:-1,(!n||n.has(`actions`))&&/^\s*(?:-\s*)?uses\s*:\s*["']?(?!\.\/|docker:\/\/)[^\s#]+@/.test(t)&&r.add(`forgeapi`),(!n||n.has(`docker`))&&/^\s*(?:(?:container|image)\s*:\s*["']?[^\s#]+[:@]|(?:-\s*)?uses\s*:\s*["']?docker:\/\/)/.test(t)&&r.add(`dockerapi`))}}}catch{}}let o=new Set;for(let n of r){let r=t[n];if(n===`registry`&&typeof r!=`string`)try{r=/^\s*registry\s*=\s*(\S+)\s*$/m.exec(c(_(e,`.npmrc`),`utf8`))?.[1]}catch{}else n===`goproxy`&&typeof r!=`string`&&(r=process.env.GOPROXY);let i=typeof r==`string`&&r?r:kc[n];if(!(n===`goproxy`&&(i=i.split(/[|,]/,1)[0].trim(),i===`off`||i===`direct`)))try{o.add(`${new URL(i).origin}/`)}catch{}}return Array.from(o)}export{ze as $,Fe as A,Le as B,so as C,ao as D,mo as E,Ae as F,L as G,je as H,H as I,He as J,Ve as K,Ne as L,I as M,z as N,Pr as O,Ie as P,F as Q,ve as R,uo as S,po as T,ke as U,$e as V,Oe as W,Ye as X,De as Y,Qe as Z,Sa as _,xc as a,Qa as b,ka as c,ro as d,Re as et,fo as f,Ha as g,Ta as h,Ec as i,Ze as it,Pe as j,Ee as k,ya as l,Ka as m,Dc as n,Me as nt,Aa as o,ja as p,Te as q,Oc as r,Xe as rt,Ea as s,Mc as t,R as tt,Za as u,ba as v,co as w,xa as x,lo as y,Ue as z};
20
+ `)}async function Ws(e,t){let n=Hs(t.cratesIoUrl,e);return[await Q(Bs,t,n,async()=>{let r=await _n(n,t,ln(),Us);`body`in r||dr(r.res,n,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of r.body.split(`
21
+ `)){if(!e)continue;let t;try{t=JSON.parse(e)}catch{continue}if(c++,!t?.vers||t.yanked)continue;let n=t.vers.split(`+`)[0];i[n]={},t.pubtime&&(a[n]=t.pubtime);let r=U(n);r&&(r.prerelease.length?(!s||gt(n,s))&&(s=n):(!o||gt(n,o))&&(o=n))}if(!c&&r.body.trim())throw Error(`Invalid JSON from ${n}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function Gs(e){let t=new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);if(!e||!r)continue;let i=e[1],a=r[1];lt(a)&&$e(t,i,a)}return t}const Ks=/^\d/,qs=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,Js=/^(\s*)(.*?)(\s*)$/s,Ys=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return Ks.test(t)&&!qs.test(t)?`^${t}`:t}).join(` `);function Xs(e,t){let[,n,r,i]=Js.exec(e);if(r.startsWith(`<`)&&q(t,r))return e;let a=qs.exec(r),o;if(a){if(U(t)?.prerelease.length)o=t;else{let[,e,n]=a;o=`${t.split(/[-+]/)[0].split(`.`).slice(0,e.split(`.`).length).join(`.`)}${n}`}}else o=Ks.test(r)?na(ra(`^${r}`),t,`^${r}`).replace(/^\^/,``):na(ra(r),t,r);return`${n}${o}${i}`}function Zs(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:Xs(e,t)).join(``)}function Qs(e,t,n){let r=e.get(t);if(!r)return;let i=Ys(n),a;for(let e of r)q(e,i)&&(!a||gt(e,a))&&(a=e);return a}const $s=e=>{let t=z(e);return`(?:${t}|"${t}"|'${t}')`},ec=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,tc=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/;function nc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){let r=0;for(;e[n-r-1]===`\\`;)r++;e.startsWith(t,n)&&!(t===`"""`&&r%2)&&(n+=2,t=``)}else if(t)t===`"`&&r===`\\`?n++:r===t&&(t=``);else if(r===`#`)break;else(r===`"`||r===`'`)&&e.startsWith(r.repeat(3),n)?(t=r.repeat(3),n+=2):(r===`"`||r===`'`)&&(t=r)}return t.length===3?t:``}function rc(e){let t=[],n=``,r=0;for(let i of e.split(`
22
+ `)){let a=n?null:tc.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:a[2],start:r,end:e.length,rewrites:[]})):n=nc(i,n),r+=i.length+1}return t}function ic(e,t){let n=rc(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=$s(i),c=z(a),l=t.startsWith(`[`)?JSON.parse(ec.exec(t)[0]):t.split(`|`,1)[0].split(`.`),u=`[ \\t]*\\.[ \\t]*`,d=l.map($s).join(u),f=RegExp(`^${d}${u}${s}$`),p=RegExp(`^${d}$`),m=n.find(e=>f.test(e.path)),h=m??n.find(e=>p.test(e.path));if(!h)throw Error(`Unable to locate Cargo table for ${t}.${i}`);h.rewrites.push({simpleRe:RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`),inlineRe:RegExp(`^(\\s*${s}\\s*=\\s*\\{(?:"[^"\\n]*"|'[^'\\n]*'|[^"'}\\n])*?\\bversion\\s*=\\s*["'])${c}(["'])`),...m&&{versionRe:RegExp(`^(\\s*version\\s*=\\s*["'])${c}(["'].*)$`)},newValue:o})}let r=e;for(let t of n.reverse()){if(!t.rewrites.length)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=e;if(!n)for(let e of t.rewrites)r=r.replace(e.simpleRe,`$1${e.newValue}$2`).replace(e.inlineRe,`$1${e.newValue}$2`),e.versionRe&&(r=r.replace(e.versionRe,`$1${e.newValue}$2`));return n=nc(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const ac=/^(!?)\/(.*)\/(i?)$/,oc=e=>e.isHash&&!!e.comment&&!Qn(e.comment),sc=[...new Set(Object.values(je)),`actions`,`docker`,`make`],cc=new Set(sc),lc={patch:new Set([`patch`]),minor:new Set([`patch`,`minor`]),major:new Set([`patch`,`minor`,`major`])},uc={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},dc=(e,t)=>cn(typeof e==`string`?e:t),fc=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function pc(e,t){let n=new Map,r=new Set(e);return Qe(t,e=>{for(let t of r){let i=_(e,t);try{a(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function mc(e,t){t&&(e.date=t,e.age=Kt(t,{noAffix:!0,shortUnits:!0}))}const hc=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,gc=(e,t,n,r)=>hc(`${e}${t}`,n,r),_c=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?ei(n):`${ei(n)}|${t}`)},vc=e=>Object.values(e).some(e=>Object.keys(e).length>0),yc=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),bc=(e,t)=>bi.has(e)?xi(t):t;function xc(e,t){return t===`go`?[e,vo(e)]:t===`docker`?Ho(e):t===`pypi`?[e,yc(e)]:[e]}function $(e,t,n,r,i,a=t,o=e){if(i===`engines`&&ke.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(new Set([...xc(e,a),...xc(o,a)])),c=(t,n)=>Nr(t,n,o,e);for(let e of r)if(s.some(t=>c(e,t)))return!1;for(let e of n)if(s.some(t=>c(e,t)))return!0;return!n.size}function Sc(t){let n=new Set;if(t?.length)for(let e of t){let t;try{t=d(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}let r=y(e);try{r=u.native(e)}catch{}if(t.isFile())n.add(r);else if(t.isDirectory()){try{for(let e of l(r,{withFileTypes:!0}))e.isFile()&&(Object.hasOwn(je,e.name)||bs(e.name)||ws(e.name))&&n.add(y(_(r,e.name)))}catch{}let e=r.replace(/\\/g,`/`),t=Ae.some(t=>e.endsWith(`/${t}/workflows`)),i=!t&&Ae.some(t=>e.endsWith(`/${t}`)),a=t?[h(e)]:i?[e]:Ae.map(t=>_(e,t));for(let e of a)for(let t of jo(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(Ae),r=[...Object.keys(je),..._s,...Cs,...Ae],i=new Set;for(let[a,o]of pc(r,e())){if(t.has(a)){for(let e of jo(o))n.add(e);continue}let e=y(o);try{e=u.native(o)}catch{}i.has(e)||(i.add(e),n.add(y(o)))}try{for(let t of l(e(),{withFileTypes:!0})){let r=bs(t.name)&&!_s.includes(t.name),i=ws(t.name)&&!Cs.includes(t.name);t.isFile()&&(r||i)&&n.add(y(_(e(),t.name)))}}catch{}}let r=[];for(let e of Array.from(n)){let t=m(e);Object.hasOwn(uc,t)&&(r.push(e),n.delete(_(h(e),uc[t])))}return r.length?new Set([...r,...n]):n}function Cc(e,t){r===`win32`&&f(e,0),p(e,t,r===`win32`?{flag:`r+`}:void 0)}const wc=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function Tc(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function Ec(e){let t={results:{}},n=new Map,r=Object.entries(e).sort(([e],[t])=>sc.indexOf(e)-sc.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=wc(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,a]of Object.entries(i)){typeof a.oldPrint==`string`&&(a.old=a.oldPrint),typeof a.newPrint==`string`&&(a.new=a.newPrint),typeof a.oldOrig==`string`&&!Li(a.oldOrig)&&(a.old=e===`go`?yo(a.oldOrig):a.oldOrig),e===`go`?a.new=yo(a.new):e===`actions`&&!a.digestOnly&&(a.old=Z(a.old),a.new=Z(a.new)),delete a.oldPrint,delete a.newPrint,delete a.oldOrig,delete a.date;let[i,o,s]=r.split(`\0`),c=s&&n.get(wc(e,r))>1?`${o}${e===`actions`?`@`:`:`}${Tc(s)}`:o,l=t.results[e]??={};(l[Tc(i)]??={})[c]=a}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function Dc(e,t){if(!t)return()=>!0;let n=ac.exec(t);if(n){let e=new RegExp(n[2],n[3]);return n[1]?t=>!e.test(t):t=>e.test(t)}return e===`docker`?e=>q(ft(Wo(e)?.version??``)?.version??``,t):e===`pypi`?e=>ha(e,t):e=>q(e,t)}function Oc(e,t,n){if(!n)return e;let r=Dc(t,n),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>r(e)));if(t===`go`)return{...e,...e.versions&&{versions:i(e.versions)},new:typeof e.new==`string`&&r(e.new)?e.new:``,sameMajorNew:typeof e.sameMajorNew==`string`&&r(e.sameMajorNew)?e.sameMajorNew:``};let a=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[a]:i(e[a]??{})}}async function kc(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Ac(e)}finally{n()}}async function Ac(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=He(n.timeout,`timeout`));let r=n.sockets??50,a=n.timeout??0,o=dc(t.forgeapi,X.forgeapi),s=Ta(t.goproxy),c=Ea(),l=!n.noColor&&(n.color||i.isTTY),u=e=>l?t=>ee(e,String(t),{validateStream:!1}):String,d=u(`magenta`),f=u(`green`),p=u(`red`),g,v={execFile:async(e,t,n)=>(await Pn())(e,t,n),fetchTimeout:a||5e3,goProbeTimeout:a?Math.max(1,Math.floor(a/2)):2500,concurrency:r,forgeApiUrl:o,pypiApiUrl:dc(t.pypiapi,X.pypiapi),jsrApiUrl:dc(t.jsrapi,X.jsrapi),goProxyUrl:s[0].url,goProxyChain:s,cratesIoUrl:dc(t.cargoapi,X.cargoapi),dockerApiUrl:dc(t.dockerapi,X.dockerapi),doFetch:(e,t)=>(g??=Sn(v))(async()=>{n.verbose&&console.error(`${Re()} ${d(t?.method||`GET`)} ${e}`);let r=await fn(e,t);return n.verbose&&console.error(`${Re()} ${r.ok?f(r.status):p(r.status)} ${e}`),r}),noCache:!!n.noCache},b=new Map,x=async(e,t,n)=>{let r=`${e}${t}${n}`,i=V(b,r,()=>Qo(e,t,n,v));try{return await i}catch(e){throw b.get(r)===i&&b.delete(r),e}};for(let e of n.modes??[])if(!cc.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${sc.join(`,`)}`);let S=n.modes?.length?new Set(n.modes):cc,te=e=>{let t=(e.overrides??[]).map(e=>({include:e.include?.length?Hr(e.include):void 0,exclude:e.exclude?.length?Hr(e.exclude):void 0,greatest:e.greatest,prerelease:e.prerelease,release:e.release,patch:e.patch,minor:e.minor,allowDowngrade:e.allowDowngrade,cooldownDays:e.cooldown===void 0?void 0:Ve(String(e.cooldown))})),n=e.renovateVersionRules??[];return{greatest:Kr(e.greatest),prerelease:Kr(e.prerelease),release:Kr(e.release),patch:Kr(e.patch),minor:Kr(e.minor),allowDowngrade:Kr(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}};S.has(`actions`)&&Ln();let C=new WeakMap;function ne(e,t,n,r=n){let i=V(C,e,()=>new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(new Set([...xc(n,t),...xc(r,t)])),c=e=>s.some(t=>Le(t,e)),l=c(e.greatest),u=c(e.prerelease),d=c(e.release),f=c(e.patch),p=c(e.minor),m=c(e.allowDowngrade),h;for(let t of e.overrides)t.include&&s.every(e=>!Le(e,t.include))||t.exclude&&s.some(e=>Le(e,t.exclude))||(t.greatest!==void 0&&(l=t.greatest),t.prerelease!==void 0&&(u=t.prerelease),t.release!==void 0&&(d=t.release),t.patch!==void 0&&(f=t.patch),t.minor!==void 0&&(p=t.minor),t.allowDowngrade!==void 0&&(m=t.allowDowngrade),t.cooldownDays!==void 0&&(h=t.cooldownDays));let g=f?lc.patch:p?lc.minor:lc.major,_;for(let t of e.renovateVersionRules)Ar(t,n,r)&&(t.allowedVersions!==void 0&&(_=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:g,allowDowngrade:m,cooldownOverride:h,allowedVersions:_},i.set(a,o)}return o}Wr(n.pin);let T=n.pin??{},re=(e,t,n)=>{let r=e.find(e=>T[e]);if(r)return{pinnedRange:T[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},ie=(e,t,n,r,i,a,o)=>{let s=ne(e,t,n,r);return{...s,...re(s.names,i,a),cooldownDays:s.cooldownOverride??o}},E={},ae={},oe=new Map,se=new Map,D=new Map,O=new Map,ce=new Map,k=[],A=(e,t,n)=>{let[r,i]=t.split(`\0`);k.push({mode:e,type:r,name:i,error:n?.message||String(n)})},le=(e,t,n)=>{delete E[e][t],A(e,t,n)},ue={},j=Date.now(),fe=e(),pe=e=>e.replace(`${fe}/`,``).replace(`${fe}\\`,``),M=(e,t,n,r,i,a)=>{E[e][gc(t,n,r)]={old:i,oldOrig:a}},me=(e,t,n)=>{if(zi(n))return;let r=Vi(n);if(Li(n))E.npm[e]={old:Wi(n,t).version,new:``,oldOrig:n};else if(J(n))E.npm[e]={old:ra(n),new:``,oldOrig:n};else if(r)se.set(e,r),E.npm[e]={old:ra(r.range),new:``,oldOrig:n};else if(Ri(n))return;else ae[e]={old:n}},he=(e,t,n,r,i,a,o)=>{let s=new Set(Object.keys(t.tool?.uv?.sources??{}).map(yc)),c=(t,r)=>{for(let{name:o,version:c,spec:l}of De(t))s.has(yc(o))||$(o,e,i,a,r)&&(M(e,r,n,o,ra(c),c),ce.set(gc(r,n,o),l))};for(let[s,l]of Ie(r,t)){let t=l||{};if(Array.isArray(t)){if(e!==`pypi`)continue;c(t,s)}else if(typeof t==`string`){let[r,o]=t.split(`@`);$(r,e,i,a,s)&&M(e,s,n,r,ra(o),o)}else{if(e===`npm`&&(s===`overrides`||s===`pnpm.overrides`)){let r=s===`overrides`?[`overrides`]:[`pnpm`,`overrides`],c=(t,l)=>{for(let[u,d]of Object.entries(t))if(typeof d==`string`){let t=xi(u===`.`?l.at(-1)??u:u);if(o?.has(t))continue;let c=Vi(d);if(!$(t,e,i,a,s,e,c?.name??t))continue;let f=[...r,...l,u],p=JSON.stringify(f),m=gc(s,n,t,p);me(m,t,d)}else d&&typeof d==`object`&&!Array.isArray(d)&&c(d,[...l,u])};c(t,[]);continue}for(let[r,l]of Object.entries(t)){if(e===`pypi`&&Array.isArray(l)){c(l,`${s}.${r}`);continue}typeof l==`string`&&(o?.has(bc(s,r))||$(r,e,i,a,s,e,(e===`npm`?Vi(l):null)?.name??r)&&(e===`npm`?me(gc(s,n,r),r,l):e===`go`?M(e,s,n,r,yo(l),Z(l)):J(l)&&M(e,s,n,r,ra(l),l)))}}}},ge=Sc(n.files),N=new Map(await L(Array.from(ge).filter(e=>{if(Ao(e))return S.has(`actions`)||S.has(`docker`);let t=m(e);return bs(t)?S.has(`docker`):ws(t)?S.has(`make`):S.has(je[t])}),async e=>{try{return[e,await w(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),P={},_e=[],ve=[],ye=[],be=[],xe=[],Se=[],Ce=[],we=[],Te={},F=(e,t,n)=>{(Te[e]??=new Map).set(t===`.`?``:`|${t}`,n)},Ee=t[Rr],ke=Ee&&new Set(Ee.cliKeys),Ae=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!ke||ke.has(e)))),I=et(async e=>{let t={...await Jr(e),...Ae};return{modeConfig:t,include:Hr(t.include??[]),exclude:Hr(t.exclude??[]),versionConfig:te(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?Ve(String(t.cooldown)):0}});function ze(e,t){return t.types?.length?t.types:e===`npm`?Oe:e===`pypi`?Me:e===`go`?t.indirect?Ne:Ne.filter(e=>e!==`indirect`):e===`cargo`?[...Pe,...Fe]:[]}let Be=(e,t)=>({modeConfig:e.modeConfig,versionConfig:e.versionConfig,projectDir:t,pin:e.pin,cooldownDays:e.cooldownDays}),z=e=>{let t=[],n=-1;for(let[r,i]of e.split(/\r?\n/).entries()){let e=/^(\s*)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(i);if(!e)continue;let a=e[1].length,o=(e[2]??e[3]??e[4]).trim();if(a===0){n=o===`overrides`?a:-1;continue}if(n===-1||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trimEnd(),c=e[5].length-e[5].trimStart().length,l=/^(['"])(.*)\1$/.exec(s.trimStart()),u=l?.[2]??s.trimStart();t.push({selector:o,value:u,lineNumber:r,valueIndex:i.length-e[5].length+c+Number(!!l)})}return t};function Ue(e,t,n){if(E.docker??={},!$(e.fullImage,`docker`,n.include,n.exclude,`docker`))return;let r=`${e.tag}${e.digest?`@${e.digest}`:``}`,i=hc(t,e.fullImage,r);if(E.docker[i])return;let a=Wo(e.tag);!a&&!e.digest||(E.docker[i]={old:a?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Ce.push({key:i,fullImage:e.fullImage,ref:e,versionConfig:n.versionConfig,filePin:n.pin,fileCooldownDays:n.cooldownDays}))}let We=new Map,Ge=new Map;for(let e of ge){let t=m(e);if(t===`package.json`){let t=N.get(e);if(!t)continue;try{let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages;Array.isArray(r)&&r.some(e=>typeof e==`string`)&&Ge.set(e,n)}catch{}}else if(t===`Cargo.toml`){let t=N.get(e);if(!t)continue;try{let n=de(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&We.set(e,n)}catch{}}}let Ke={cargo:We.size,go:Array.from(ge).filter(e=>m(e)===`go.work`).length,npm:new Set([...Ge.keys(),...Array.from(ge).filter(e=>m(e)===`pnpm-workspace.yaml`)]).size},qe=(e,t,n,r,i)=>{let a=ue[e]??=[],o=!a.length&&!Ke[e],s=o?`.`:pe(t);return a.push({absPath:y(t),content:n,memberPath:s,projectDir:r}),F(e,s,Be(i,r)),o?``:`|${s}`},Je=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},B=(e,t,n)=>Ke[e]>1?`${pe(t)}:${n}`:n,Ye=(e,t,n,r,i,a,o)=>{let s=B(`npm`,e,n.memberPath);F(`npm`,s,Be(a,t)),be.push({...n,memberPath:s}),he(`npm`,r,s===`.`?``:`|${s}`,i,a.include,a.exclude,o)};for(let e of We.size||Ge.size?new Set([...We.keys(),...Ge.keys(),...N.keys()]):N.keys()){if(Ao(e)){let t=S.has(`actions`),n=S.has(`docker`),r=N.get(e),i=pe(e),a=await I(h(e)),s=new Set;P[i]={absPath:e,content:r,fileType:`workflow`,workflowLines:s};let c=[];for(let[e,l]of r.split(/\r?\n/).entries()){if(t){let e=Eo(l),t=e&&bo(e.value);if(t&&$(t.name,`actions`,a.include,a.exclude,`actions`)){E.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=t.isHash&&n?`${n}@${t.ref}`:t.ref,s=hc(i,t.name,r);E.actions[s]||(E.actions[s]={old:t.ref},Se.push({...t,key:s,comment:n,apiUrl:xo(t.host,o),versionConfig:a.versionConfig,filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}if(!n)continue;let r=/^(\s*)(?:-\s*)?(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(l);if(!r)continue;let u=r[1].length;for(;c.length&&c.at(-1).indent>=u;)c.pop();let d=(r[2]??r[3]??r[4]).trim(),f=d===`container`&&c.length===2&&c[0].key===`jobs`,p=d===`image`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`container`||c.length===4&&c[0].key===`jobs`&&c[2].key===`services`),m=d===`uses`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`steps`||c.length===2&&c[0].key===`runs`&&c[1].key===`steps`);if((f||p||m)&&r[5]){let t=Uo(r[5].replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(Ue(t,i,a),s.add(e))}c.push({indent:u,key:d})}continue}let t=m(e),n=y(e);if(bs(t)){let n=N.get(e),r=pe(e),i=ys(t)?`dockerfile`:`compose`,a=await I(h(e));P[r]={absPath:e,content:n,fileType:i};for(let{ref:e}of Ko(n,xs(t)))Ue(e,r,a);continue}if(ws(t)){let t=N.get(e),n=pe(e),r=await I(h(e));P[n]={absPath:e,content:t,fileType:`make`},E.make??={};let i={projectDir:h(e),versionConfig:r.versionConfig,filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of ks(t)){if(!$(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=hc(n,e,a);E.make[t]||(E.make[t]={old:Z(a),oldOrig:a},we.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of Ns(t)){if(!$(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=hc(n,e.writtenImage,e.ref.tag);if(E.make[t])continue;let a=Wo(e.ref.tag);if(!a)continue;let o=js(e.writtenImage,e.ref.tag,e.digest);E.make[t]={old:a.version,oldOrig:e.ref.tag},we.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let i=je[t];if(t===`go.work`){E[i]??={};let t=h(n),a=N.get(e),o=ho(a),[{modeConfig:s,include:c,exclude:l,versionConfig:u,pin:d,cooldownDays:f},p]=await Promise.all([I(t),L(o.use,async e=>{let n=go(t,e);if(!n)return null;try{return{usePath:e,modPath:n,content:await w(n,`utf8`)}}catch{return null}},{concurrency:r})]),m=ze(i,s),g=B(i,e,`.`),_=Be({modeConfig:s,versionConfig:u,pin:d,cooldownDays:f},t);F(i,g,_),ve.push({file:e,content:a,memberPath:g});let v=new Set,y=[];for(let e of p){if(!e)continue;let t=Ka(e.content);t&&v.add(t),y.push({...e,parsed:qa(e.content)})}for(let{usePath:t,modPath:n,content:r,parsed:a}of y){let o=B(i,e,t);F(i,o,_),_e.push({absPath:n,content:r,projectDir:h(n),memberPath:o}),he(i,a,o===`.`?``:`|${o}`,m,c,l,v)}for(let[e,t]of Object.entries(o.replace))!v.has(e)&&$(e,i,c,l,`replace`)&&M(i,`replace`,g===`.`?``:`|${g}`,e,yo(t),Z(t));continue}if(t===`go.mod`&&_e.some(e=>e.absPath===n)||t===`package.json`&&be.some(e=>e.absPath===n)||t===`Cargo.toml`&&ye.some(e=>e.absPath===n))continue;if(t===`Cargo.toml`){E[i]??={};let t=N.get(e),a=We.get(e)??de(t),o=h(n),s=pc([`Cargo.lock`],o).get(`Cargo.lock`),c=a.workspace?.members,l=Array.isArray(c)&&c.length>0,[u,d,f]=await Promise.all([I(o),s?w(s,`utf8`):Promise.resolve(null),l?ai(c,o,`Cargo.toml`,r):Promise.resolve([])]),{modeConfig:p,include:m,exclude:g}=u,_=ze(i,p),v=d?Gs(d):new Map,y=(e,t)=>{for(let[n,r]of Ie(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[r,a]of Object.entries(e))if($(r,i,m,g,n)){if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)&&!(`registry`in a)){let e=a.version,o=a.package||r;J(Ys(e))&&(o!==r&&oe.set(gc(n,t,r),o),M(i,n,t,r,Qs(v,o,e)??ra(Ys(e)),e))}else typeof a==`string`&&J(Ys(a))&&M(i,n,t,r,Qs(v,r,a)??ra(Ys(a)),a)}}}};if(l){let r=B(i,e,`.`),s=Be(u,o);F(i,r,s),y(a,r===`.`?``:`|${r}`),ye.push({absPath:n,content:t,memberPath:r});for(let t of f){let n=B(i,e,t.memberPath);F(i,n,s),ye.push({...t,memberPath:n}),y(Je(t.absPath,()=>de(t.content)),`|${n}`)}}else y(a,qe(i,e,t,o,u));continue}if(t===`package.json`&&Ge.has(e)){E[i]??={};let t=h(n),a=N.get(e),o=Ge.get(e),s=Array.isArray(o.workspaces)?o.workspaces:o.workspaces?.packages,c=Array.isArray(s)?s.filter(e=>typeof e==`string`):[],[l,u]=await Promise.all([I(t),ai(c,t,`package.json`,r)]),d=ze(i,l.modeConfig),f=new Set,p=[];for(let e of u){let t=Je(e.absPath,()=>JSON.parse(e.content));typeof t.name==`string`&&t.name&&f.add(t.name),p.push({member:e,pkg:t})}Ye(e,t,{absPath:n,content:a,memberPath:`.`},o,d,l,f);for(let{member:n,pkg:r}of p)Ye(e,t,n,r,d,l,f);continue}if(t===`pnpm-workspace.yaml`){E[i]??={};let a=h(n),o=N.get(e),s=vi(o),c=_(a,`package.json`),[l,u,d]=await Promise.all([I(a),R(w(c,`utf8`)),ai(s,a,`package.json`,r)]),f=ze(i,l.modeConfig),p=B(i,e,t);F(i,p,Be(l,a)),xe.push({absPath:n,content:o,memberPath:p});for(let{type:e,name:t,value:n}of gi(o))$(t,i,l.include,l.exclude,e,i,Vi(n)?.name??t)&&me(gc(e,`|${p}`,t),t,n);for(let{selector:e,value:t}of z(o)){let n=e.match(/(?:^|>)(?:@[^/>\s]+\/[^@>\s]+|[^@>\s]+)(?=@|>|$)/g)?.at(-1)?.replace(/^>/,``)??e,r=`pnpm-workspace.overrides`;if(!$(e,i,l.include,l.exclude,r,i,n))continue;let a=JSON.stringify(e),o=gc(r,`|${p}`,e,a);D.set(o,n),O.set(o,e),me(o,e,t)}if(u!==null){let t=Je(c,()=>JSON.parse(u));Ye(e,a,{absPath:y(c),content:u,memberPath:`.`},t,f,l)}for(let t of d)Ye(e,a,t,Je(t.absPath,()=>JSON.parse(t.content)),f,l);continue}E[i]??={};let a=h(n),s=await I(a),{modeConfig:c,include:l,exclude:u}=s,d=ze(i,c),f=N.get(e);he(i,Je(e,()=>i===`npm`?JSON.parse(f):i===`pypi`?de(f):qa(f)),qe(i,e,f,a,s),d,l,u)}let Xe=Object.keys(ae).length>0;if(!vc(E)&&!Xe)return{results:{},message:`No dependencies found, nothing to do.`};let Ze=[],Qe=(e,t)=>D.get(e)??se.get(e)?.name??bc(e.split(`\0`)[0].split(`|`)[0],t),$e={needsDates:Te.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1};for(let[e,t]of Object.entries(Te))!Object.keys(E[e]).length&&(e!==`npm`||!Xe)||Ze.push((async()=>{let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},o=new Map,s=E[e],l=async(t,r,i)=>{let l=ei(r),{modeConfig:u,versionConfig:f,projectDir:p,pin:m,cooldownDays:h}=a(r),g=s[t],_=se.get(t),[y,b]=await(e===`npm`?g.oldOrig&&Li(g.oldOrig)?Gi(i,v):Fi(Qe(t,i),l,u,$e,v,p,g.old):e===`go`?co(i,r,g.oldOrig||g.old,p,v,c):e===`cargo`?Ws(oe.get(t)??i,v):da(i,v)),x=y;if(x.error)throw Error(x.error);let S=l===`packageManager`?i:x.name,{useGreatest:ee,usePre:te,useRel:C,semvers:w,allowDowngrade:ne,allowedVersions:T,pinnedRange:re,pinNoDowngrade:E,cooldownDays:ae}=ie(f,e,S,i,m,u.pinNoDowngrade,h);x=Oc(x,e,T);let{old:D,oldOrig:O}=g,k=An(x,{usePre:te,useRel:C,useGreatest:ee,semvers:w,range:D,mode:e,pinnedRange:re,pinNoDowngrade:E,allowDowngrade:ne,cooldownDays:ae||void 0,now:ae?j:void 0}),A=``;if((e===`go`||e===`pypi`)&&k)A=k;else if(e===`cargo`&&k&&O)A=Zs(O,k);else if(k){if(O&&Li(O)){let e=fc.exec(O);e?A=`${e[1]}${k}`:O.startsWith(`jsr:`)&&(A=`jsr:${k}`)}else A=_?`npm:${_.name}@${na(D,k,_.range,l)}`:na(D,k,O,l)}let le=ce.get(t);if(!k||k===D||O&&O===A||le&&!ga(le,O||D,A)){n.verbose&&k&&k!==D&&console.error(`${Re()} ${d(`SKIP`)} ${i}: ${O||D} can not be rewritten to ${k}`),delete s[t];return}let ue=(e===`pypi`?x.releases?.[k]?.[0]?.upload_time_iso_8601:e===`go`?x.Time:e===`cargo`?x.time?.[k]:``)||``;g.new=A,O&&Li(O)&&(g.newPrint=k),e===`npm`?o.set(t,{name:Qe(t,i),promise:Ii(x.name,k,u,$e,v,p)}):g.info=e===`pypi`?_r(x,b,x.info.name):e===`go`?_o(x.newPath||i):`https://crates.io/crates/${x.name}`,mc(g,ue)};if(await L(Object.keys(s),async t=>{let[n,r]=t.split(`\0`);try{await l(t,n,r)}catch(n){le(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(o,async([e,{name:t,promise:n}])=>{let r=await n,i=s[e];i&&(i.info=_r({repository:r.repository,homepage:r.homepage},null,t),mc(i,r.date))})),e===`npm`&&Xe){let e=(await L(Object.entries(ae),async([e,t])=>{try{return await sa(e,t,v)}catch(t){return A(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:c}of e)mc(s[t]={old:ae[t].old,new:n,oldPrint:Zn.test(a)?a.substring(0,7):a,newPrint:Zn.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`},c)}for(let[t,{date:n}]of Object.entries(s)){if(!n)continue;let[r,i]=t.split(`\0`),{cooldownDays:o,versionConfig:c}=a(r);if(!o&&!c.hasCooldownOverride)continue;let l=e===`npm`?Qe(t,i):i,u=ne(c,e,l,i).cooldownOverride??o;u&&!an(n,u,j)&&delete s[t]}})());let tt=e=>ie(e.versionConfig,`actions`,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays);Se.length&&Ze.push((async()=>{await L(Map.groupBy(Se,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a=e.filter(e=>e.isHash?!oc(e):Qn(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=tt(e);return t||!!(n&&!r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===X.forgeapi?[]:e.filter(oc).map(e=>e.comment)],c=[];try{s.length&&(c=await ur(t,n,i,v,o?[]:s,!!a.length))}catch(t){for(let n of e)le(`actions`,n.key,t);return}let l=[],u=new Map,d=new Map,f=new Map;for(let e of c){d.set(e.name,e);let t=Vt.parse(e.name)?.version;if(t&&e.isStable!==!1){let n=u.get(t);n||l.push(t),(!n||e.name.length>n.length)&&u.set(t,e.name)}e.commitSha&&f.set(e.commitSha,e.name)}let p=et(e=>So(t,n,i,e,v)),m=et(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===X.forgeapi?`commits`:`branches`,o=await qn(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,v);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return typeof s?.sha==`string`?s.sha:typeof s?.id==`string`?s.id:typeof s?.commit?.sha==`string`?s.commit.sha:typeof s?.commit?.id==`string`?s.commit.id:``});async function h(e,t){let r={...e,cooldownDays:void 0,now:void 0},a=new Set;for(let o=0;o<20;o++){let o=On({},a.size?t.filter(e=>!a.has(e)):t,r);if(!o)return null;let s=u.get(o),c=d.get(s).commitSha;if(!e.cooldownDays)return{version:o,tag:s,commitSha:c,date:``};let l=c?await p(c):``;if(l===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${s}`);if(an(l,e.cooldownDays,e.now))return{version:o,tag:s,commitSha:c,date:l};a.add(o)}return null}let g=async e=>{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=E.actions[t],u=`https://${r||`github.com`}/${n}/${i}`,g=a;if(s?g=o||f.get(a)||f.entries().find(([e])=>e.startsWith(a))?.[1]||``:Qn(a)||(g=``),!g){delete E.actions[t];return}let{useGreatest:_,usePre:v,useRel:y,semvers:b,allowDowngrade:x,allowedVersions:S,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C}=tt(e),w=Qn(g)?await h({range:g,semvers:b,useGreatest:_,usePre:v,useRel:y,allowDowngrade:x,versioning:Vt,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C||void 0,now:C?j:void 0},S?l.filter(Dc(`actions`,S)):l):null;if(!w){if(!s||!o){delete E.actions[t];return}let e=await m(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete E.actions[t];return}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=u,mc(c,await R(p(e)));return}let{tag:ne,commitSha:T,date:re}=w;if(s){if(!T||T.startsWith(a)||a.startsWith(T)){delete E.actions[t];return}c.old=a,c.new=T.substring(0,a.length),c.oldPrint=g,c.newPrint=ne}else{let e=Co(ne,a);if(e===a){delete E.actions[t];return}c.new=d.has(e)?e:ne}c.info=u,mc(c,re||(T?await R(p(T)):``))};await L(e,async e=>{try{await g(e)}catch(t){le(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(E.actions).length||delete E.actions})()),Ce.length&&Ze.push((async()=>{await L(Map.groupBy(Ce,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete E.docker[e.key];return}let n;try{let[t]=await rs(e,v);n=t}catch(e){for(let n of t)le(`docker`,n.key,e);return}await L(t,async t=>{let r=E.docker[t.key],i=r.oldOrig||r.old,{semvers:a,usePre:o,useRel:s,allowedVersions:c,pinnedRange:l,cooldownDays:u}=ie(t.versionConfig,`docker`,e,e,t.filePin,void 0,t.fileCooldownDays),d=Oc(n,`docker`,c).tags,f=!t.ref.digestOnly&&Wo(i)?us(d,i,a,u||void 0,u?j:void 0,l,o,s):null,p=f?.newTag??i;if(t.ref.digest){let e=await x(t.ref.namespace,t.ref.repo,p);if(!e||e===t.ref.digest&&!f){delete E.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!f){delete E.docker[t.key];return}r.new=p,r.info=Ss(t.ref),mc(r,f?.date)},{concurrency:r})},{concurrency:r}),Object.keys(E.docker).length||delete E.docker})()),we.length&&Ze.push((async()=>{await L(we,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,allowedVersions:o,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u}=ie(e.versionConfig,e.kind,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays),d={semvers:i,useGreatest:t,usePre:n,useRel:r,allowDowngrade:a,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u||void 0,now:u?j:void 0},f=E.make[e.key];try{if(e.kind===`go`){let t=await Rs(e.installPath,e.projectDir,v,c);if(!t){delete E.make[e.key];return}let[n]=await co(t,`tool`,Z(e.version),e.projectDir,v,c),r=Oc(n,`go`,o),i=An(r,{...d,mode:`go`,range:Z(e.version)});if(!i){delete E.make[e.key];return}let a=r.newPath??Fa(t,i),s=`${a}${e.installPath.slice(t.length)}`,l=mr(i,e.version);if(s===e.installPath&&l===e.version){delete E.make[e.key];return}e.newSpec=`${s}@${l}`,f.new=l,f.info=_o(a),mc(f,r.Time)}else{let[t]=await rs(e.image.ref.fullImage,v),n=Oc(t,`docker`,o).tags,r=us(n,e.image.ref.tag,d.semvers,d.cooldownDays,d.now,d.pinnedRange,d.usePre,d.useRel);if(!r){delete E.make[e.key];return}let i=e.image.digest?await x(e.image.ref.namespace,e.image.ref.repo,r.newTag):null;if(e.image.digest&&!i){delete E.make[e.key];return}e.newSpec=js(e.image.writtenImage,r.newTag,i),f.new=r.newTag,f.info=Ss(e.image.ref),mc(f,r.date)}}catch(t){le(`make`,e.key,t)}},{concurrency:r}),Object.keys(E.make).length||delete E.make})());try{await Promise.all(Ze)}finally{n.noCache||await nn()}if(!vc(E))return k.length?{results:{},errors:k}:{results:{},message:`All dependencies are up to date.`};let nt=(e,t)=>{let n=e.split(`
23
+ `),r=new Map(z(e).map(e=>[e.selector,e]));for(let[e,i]of O){let a=E.npm?.[e],o=r.get(i);if(!a||!_c(e,t)||!o||o.value!==(a.oldOrig||a.old))continue;let s=n[o.lineNumber];n[o.lineNumber]=`${s.slice(0,o.valueIndex)}${a.new}${s.slice(o.valueIndex+o.value.length)}`}return n.join(`
24
+ `)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=ni(E[e],r.memberPath);Object.keys(t).length&&Cc(r.absPath,n(r.content,t,r))}},t=new Map(Se.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]),r=n(Object.entries(E.actions??{})),i=n(Object.entries(E.docker??{})),a=Map.groupBy(we.filter(e=>e.newSpec&&E.make?.[e.key]),e=>e.key.split(`\0`)[0]);for(let n of Object.keys(E).sort((e,t)=>(e===`docker`)-+(t===`docker`)))if(Object.keys(E[n]).length){if(n===`actions`){for(let[e,n]of r){let{absPath:r,content:i}=P[e]||{};if(!r)continue;let a=Oo(i,n.map(([e,n])=>{let r=n.oldDigest??n.old;return{name:e.split(`\0`)[1],oldRef:r,newRef:n.newDigest?n.newDigest.substring(0,r.length):n.new,oldComment:t.get(e)||void 0,newComment:n.digestOnly?void 0:Zn.test(n.old)?n.newPrint:void 0}}));Cc(r,a),P[e].content=a}continue}if(n===`docker`){for(let[e,t]of i){let n=P[e];if(!n)continue;let{absPath:r,content:i,fileType:a,workflowLines:o}=n;Cc(r,(a===`dockerfile`?ms:a===`compose`?hs:(e,t)=>e.split(`
25
+ `).map((e,n)=>o.has(n)?gs(e,t):e).join(`
26
+ `))(i,Object.fromEntries(t)))}continue}if(n===`make`){for(let[e,t]of a){let n=P[e];n&&Cc(n.absPath,zs(n.content,t.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}continue}if(n===`go`){for(let e of[..._e,...ue.go??[]]){let t=ni(E[n],e.memberPath);if(!Object.keys(t).length)continue;let[r,i]=uo(e.content,t);r!==e.content&&Cc(e.absPath,r),mo(e.projectDir,i,Cc)}for(let e of ve){let t=Object.fromEntries(Object.entries(ni(E[n],e.memberPath)).filter(([e])=>ei(e.split(`\0`)[0])===`replace`));if(Object.keys(t).length){let[n]=uo(e.content,t);n!==e.content&&Cc(e.file,n)}}}else n===`cargo`?e(n,[...ye,...ue.cargo??[]],ic):n===`npm`?(e(n,xe,(e,t,n)=>nt(_i(e,t),n.memberPath)),e(n,[...be,...ue.npm??[]],Ki)):e(n,ue[n]??[],xa)}}let rt=Ec(E);return k.length&&(rt.errors=k),rt}function jc(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function Mc(e){let t=Br(e);if(t!==!1)return t===!0||Array.from(t).map(jc)}function Nc(t){if(!t)return e();let n=y(t),r=!1;try{r=d(n).isDirectory()}catch{}return r?n:h(n)}function Pc(e,t){let n=Br(e.file),r=[...n instanceof Set?n:[],...t];return{filesList:r,startDir:Nc(r[0])}}function Fc(e){let t=S({strict:!1,allowPositionals:!0,tokens:!0,options:zr,...e!==void 0&&{args:e}}),n=Object.create(null),r=new Set,i=(e,t)=>{zr[e]?.multiple?(n[e]??=[]).push(t):n[e]=t},a=0;for(let[e,o]of t.tokens.entries()){if(o.kind===`positional`&&a++,o.kind!==`option`)continue;if(o.inlineValue||!o.value?.startsWith(`-`)){i(o.name,o.value??!0);continue}let s=o.value.startsWith(`--`),c=t.tokens[e+1],l=c?.kind===`positional`?c.value:void 0,u=[],d=o.value.substring(s?2:1),f=!1;if(s){let e=Vr(d);e&&(f=zr[e].type===`string`&&l!==void 0,u.push({key:e,value:!f||l}))}else for(let e=0;e<d.length;){let t=Vr(d[e]);if(!t){u.length=0;break}if(zr[t].type===`boolean`)u.push({key:t,value:!0}),e++;else{let n=d.substring(e+1);f=!n&&l!==void 0,u.push({key:t,value:n||!f||l}),e=d.length}}if(!u.length){i(o.name,o.value);continue}zr[o.name]?.multiple?n[o.name]??=[]:n[o.name]=!0,f&&r.add(a);for(let{key:e,value:t}of u)i(e,t)}return{args:n,positionals:t.positionals.filter((e,t)=>!r.has(t))}}async function Ic(e,t){let{filesList:n,startDir:r}=Pc(e,t),i=await Jr(r),a={};e.json&&(a.json=!0),e.verbose&&(a.verbose=!0),e[`no-cache`]&&(a.noCache=!0),e.update&&(a.update=!0),e.indirect&&(a.indirect=!0),e[`error-on-outdated`]&&(a.errorOnOutdated=!0),e[`error-on-unchanged`]&&(a.errorOnUnchanged=!0),e.color&&(a.color=!0,a.noColor=!1),e[`no-color`]&&(a.color=!1,a.noColor=!0),typeof e.timeout==`string`&&(a.timeout=He(e.timeout,`timeout`)),typeof e.sockets==`string`&&(a.sockets=He(e.sockets,`sockets`)),typeof e.registry==`string`&&(a.registry=e.registry),typeof e.cooldown==`string`&&(a.cooldown=e.cooldown);let o=Ur(e.include).map(jc),s=Ur(e.exclude).map(jc);o.length&&(a.include=o),s.length&&(a.exclude=s);let c=Ur(e.types);c.length&&(a.types=c);let l=Gr(e.pin);Object.keys(l).length&&(a.pin=l);let u=Br(e.modes);u instanceof Set&&(a.modes=Array.from(u));for(let t of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let n=Mc(e[t]);n!==void 0&&(a[t]=n)}let d=Mc(e[`allow-downgrade`]);d!==void 0&&(a.allowDowngrade=d),n.length&&(a.files=n);for(let t of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(a[t]=e[t]);let f={...i,pin:void 0,...a};return Object.defineProperty(f,Rr,{value:{cliKeys:Object.keys(a)}}),f}export{Re as $,Pe as A,et as B,mo as C,Rr as D,uo as E,V as F,Ve as G,ke as H,Ne as I,De as J,Te as K,ve as L,z as M,Ie as N,Ee as O,Ae as P,ze as Q,Ue as R,po as S,yo as T,Oe as U,je as V,L as W,$e as X,Xe as Y,F as Z,wa as _,Aa as a,Ta as b,no as c,Fa as d,R as et,Za as f,Ea as g,Ka as h,Pa as i,I as j,Fe as k,co as l,qa as m,Ic as n,Ze as nt,Na as o,ka as p,He as q,kc as r,Qe as rt,Ca as s,Fc as t,Me as tt,_o as u,ho as v,vo as w,go as x,ro as y,Le as z};
package/dist/utils.js CHANGED
@@ -1 +1 @@
1
- import{$ as e,A as t,B as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,P as f,Q as p,R as m,U as h,V as g,W as _,X as v,Y as y,Z as b,et as x,it as S,j as C,k as w,nt as T,q as E,rt as D,tt as O,z as k}from"./shared.js";export{w as anchorSpecifier,t as cargoTargetTypes,C as cargoTypes,u as commaSeparatedToArray,d as esc,f as expandDepTypes,r as forgeDirs,o as getOrSet,l as goTypes,m as highlightDiff,k as longestFirstAlternation,n as matchesAny,g as memoizeAsync,a as modeByFileName,h as nonPackageEngines,_ as npmTypes,i as pMap,c as parseDuration,E as parsePep508,s as parsePositiveInt,y as parseUvDependencies,v as patternToRegex,b as pushTo,p as serializePep508,e as textTable,x as timestamp,O as tryOrNull,T as uvTypes,D as walkUp,S as walkUpSync};
1
+ import{$ as e,A as t,B as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,Q as m,R as h,U as g,V as _,W as v,X as y,Y as b,Z as x,et as S,j as C,k as w,nt as T,q as E,rt as D,tt as O,z as k}from"./shared.js";export{f as anchorSpecifier,w as cargoTargetTypes,t as cargoTypes,C as commaSeparatedToArray,u as esc,d as expandDepTypes,p as forgeDirs,r as getOrSet,o as goTypes,l as highlightDiff,h as longestFirstAlternation,k as matchesAny,n as memoizeAsync,_ as modeByFileName,a as nonPackageEngines,g as npmTypes,v as pMap,i as parseDuration,c as parsePep508,E as parsePositiveInt,s as parseUvDependencies,b as patternToRegex,y as pushTo,x as serializePep508,m as textTable,e as timestamp,S as tryOrNull,O as uvTypes,T as walkUp,D as walkUpSync};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "updates",
3
- "version": "18.0.5",
3
+ "version": "18.0.6",
4
4
  "description": "CLI to update npm, uv, cargo, go, docker and actions dependencies",
5
5
  "author": "silverwind",
6
6
  "repository": {