updates 17.18.0 → 17.18.2

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/dist/dns.js CHANGED
@@ -1 +1 @@
1
- import e from"node:dns";function t(e,t){if(t.family===4||t.family===6){let n=e.find(e=>e.family===t.family);if(n)return n}return e[0]}function n(){let n=new Map,r=new Map,i=e.lookup;e.lookup=function(a,...o){let s={},c;typeof o[0]==`function`?c=o[0]:(s=typeof o[0]==`number`?{family:o[0]}:o[0]||{},c=o[1]);let l=n.get(a);if(l){if(s.all)c(null,l);else{let e=t(l,s);c(null,e.address,e.family)}return}if(r.has(a)){r.get(a).push({options:s,callback:c});return}r.set(a,[{options:s,callback:c}]),i.call(e,a,{all:!0},(e,i)=>{let o=r.get(a);r.delete(a),!e&&i?.length&&n.set(a,i);for(let{options:n,callback:r}of o)if(e)r(e);else if(n.all)r(null,i);else{let e=t(i,n);r(null,e.address,e.family)}})}}export{n as enableDnsCache};
1
+ import e from"node:dns";function t(e,t){if(t.family===4||t.family===6){let n=e.find(e=>e.family===t.family);if(n)return n}return e[0]}function n(){let n=new Map,r=new Map,i=e.lookup;e.lookup=function(a,...o){let s={},c;typeof o[0]==`function`?c=o[0]:(s=typeof o[0]==`number`?{family:o[0]}:o[0]||{},c=o[1]);let l=n.get(a);if(l){if(s.all)c(null,l);else{let e=t(l,s);c(null,e.address,e.family)}return}if(r.has(a)){r.get(a).push({options:s,callback:c});return}r.set(a,[{options:s,callback:c}]),i.call(e,a,{all:!0},(e,i)=>{let o=r.get(a);r.delete(a),!e&&i?.length&&n.set(a,i);let s=e||(i?.length?null:Object.assign(Error(`getaddrinfo ENOTFOUND ${a}`),{code:`ENOTFOUND`,hostname:a}));for(let{options:e,callback:n}of o)if(s)n(s);else if(e.all)n(null,i);else{let r=t(i,e);n(null,r.address,r.family)}})}}export{n as enableDnsCache};
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,n as s,o as c,p as l,r as u,s as d,u as f}from"./shared.js";import{argv as p,cwd as m,exit as h,platform as g,stderr as _,stdout as v,versions as y}from"node:process";import{parseArgs as b,stripVTControlCharacters as x,styleText as S}from"node:util";import{dirname as C,isAbsolute as w,resolve as T}from"node:path";import{statSync as E}from"node:fs";for(let e of s(m(),p.slice(2)))fetch(e,{method:`HEAD`}).catch(()=>{});const D=b({strict:!1,allowPositionals:!0,tokens:!0,options:d}),O=D.values;for(let[t,n]of D.tokens.entries()){if(n.kind!==`option`||!n.value?.startsWith(`-`))continue;let r=n.value.startsWith(`--`)?2:1,i=e(n.value.substring(r));if(!i)continue;let a=D.tokens[t+1],o=O[n.name];if(Array.isArray(o)){let e=o.indexOf(n.value);e!==-1&&o.splice(e,1)}else O[n.name]=!0;(O[i]??=[]).push(a?.kind===`positional`&&a.value?a.value:!0)}const k=D.values,A=D.positionals;function j(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function M(e){let t=o(e);if(t!==!1)return t===!0?!0:Array.from(t).map(j)}let N=String,P=String,F=!1;function I(e){if(!e)return m();let t=w(e)?e:T(m(),e),n=!1;try{n=E(t).isDirectory()}catch{}return n?t:C(t)}function L(e){return k[`no-color`]===!0?!1:k.color===!0?!0:e.noColor===!0?!1:e.color===!0?!0:!!v.isTTY}async function R(e,t){if(e){let t=e.message??String(e);console.info(F?JSON.stringify({error:t}):N(t))}g===`win32`&&Number(y?.node?.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),h(t??+!!e)}async function z(){for(let e of[v,_])e?._handle?.setBlocking?.(!0);k.help&&(v.write(`usage: updates [options] [files...]
2
+ import{a as e,c as t,d as n,f as r,h as i,i as a,l as o,n as s,o as c,p as l,r as u,s as d,u as f}from"./shared.js";import{cwd as p,exit as m,platform as h,stderr as g,stdout as _,versions as v}from"node:process";import{parseArgs as y,stripVTControlCharacters as b,styleText as x}from"node:util";import{dirname as S,isAbsolute as C,resolve as w}from"node:path";import{statSync as T}from"node:fs";const E=y({strict:!1,allowPositionals:!0,tokens:!0,options:d}),D=E.values;for(let[t,n]of E.tokens.entries()){if(n.kind!==`option`||!n.value?.startsWith(`-`))continue;let r=n.value.startsWith(`--`)?2:1,i=e(n.value.substring(r));if(!i)continue;let a=E.tokens[t+1],o=D[n.name];if(Array.isArray(o)){let e=o.indexOf(n.value);e!==-1&&o.splice(e,1)}else D[n.name]=!0;let s=a?.kind===`positional`&&a.value?a.value:!0;d[i]?.multiple?(D[i]??=[]).push(s):D[i]=s}const O=E.values,k=E.positionals,A=o(O.file),j=[...A instanceof Set?A:[],...k],M=R(j[0]);if(!O.help&&!O.version)for(let e of s(M,O))(async()=>{try{await fetch(e,{method:`HEAD`})}catch{}})();function N(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function P(e){let t=o(e);if(t!==!1)return t===!0?!0:Array.from(t).map(N)}let F=String,I=String,L=!1;function R(e){if(!e)return p();let t=C(e)?e:w(p(),e),n=!1;try{n=T(t).isDirectory()}catch{}return n?t:S(t)}function z(e){return O[`no-color`]===!0?!1:O.color===!0?!0:e.noColor===!0?!1:e.color===!0?!0:_.isTTY}async function B(e,t){if(e){let t=e.message??String(e);console.info(L?JSON.stringify({error:t}):F(t))}h===`win32`&&Number(v?.node?.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),m(t??+!!e)}async function V(){for(let e of[_,g])e?._handle?.setBlocking?.(!0);O.help&&(_.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{a as e,c as t,d as n,f as r,h as i,i as a,l as o,n as s,o as c,p as l,r a
44
44
  $ updates -f Dockerfile
45
45
  $ updates -f docker-compose.yml
46
46
  $ updates -f Makefile
47
- `),await R()),k.version&&(console.info(r),await R());let e=o(k.file),i=[...e instanceof Set?e:[],...A],a=await c(I(i[0]));L(a)&&(N=e=>S(`red`,String(e)),P=e=>S(`green`,String(e)));let s={...a};s.pin=void 0,k.json&&(s.json=!0),F=!!s.json,k.verbose&&(s.verbose=!0),k[`no-cache`]&&(s.noCache=!0),k.update&&(s.update=!0),k.indirect&&(s.indirect=!0),k[`error-on-outdated`]&&(s.errorOnOutdated=!0),k[`error-on-unchanged`]&&(s.errorOnUnchanged=!0),typeof k.timeout==`string`&&(s.timeout=Number(k.timeout)||void 0),typeof k.sockets==`string`&&(s.sockets=Number(k.sockets)||void 0),typeof k.registry==`string`&&(s.registry=k.registry),typeof k.cooldown==`string`&&(s.cooldown=Number(k.cooldown)||k.cooldown);let l=t(k.include).map(j),d=t(k.exclude).map(j);l.length&&(s.include=l),d.length&&(s.exclude=d);let p=t(k.types);p.length&&(s.types=p);let m=f(k.pin);Object.keys(m).length&&(s.pin=m);let h=o(k.modes);h instanceof Set&&(s.modes=Array.from(h));for(let e of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let t=M(k[e]);t!==void 0&&(s[e]=t)}let g=M(k[`allow-downgrade`]);g!==void 0&&(s.allowDowngrade=g),i.length&&(s.files=i);for(let e of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof k[e]==`string`&&(s[e]=k[e]);let y=await u(s),b=Object.keys(y.results).length>0;if(y.message)console.info(s.json?JSON.stringify({message:y.message}):y.message);else if(b&&(s.json?console.info(JSON.stringify({results:y.results})):console.info(V(y)),s.update))for(let e of Object.keys(y.results))Object.values(y.results[e]).some(e=>Object.keys(e).length)&&console.info(P(`✨ ${e} updated`));s.errorOnOutdated?await R(void 0,b?2:0):s.errorOnUnchanged?await R(void 0,b?0:2):await R()}const B=e=>x(e).length;function V(e){let t=Object.keys(e.results),n=t.length>1,r=[n?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],o=new Set;for(let i of t)for(let t of Object.keys(e.results[i]))for(let[s,c]of Object.entries(e.results[i][t])){let e=`${i}|${s}|${c.old}|${c.new}`;o.has(e)||(o.add(e),r.push([i===`go`?a(s):s,...n?[i]:[],l(c.old,c.new,N),l(c.new,c.old,P),c.age||``,c.info||``]))}return i(r,B)}try{await z()}catch(e){await R(e)}export{};
47
+ `),await B()),O.version&&(console.info(r),await B());let e=await c(M);z(e)&&(F=e=>x(`red`,String(e)),I=e=>x(`green`,String(e)));let i={...e};i.pin=void 0,O.json&&(i.json=!0),L=!!i.json,O.verbose&&(i.verbose=!0),O[`no-cache`]&&(i.noCache=!0),O.update&&(i.update=!0),O.indirect&&(i.indirect=!0),O[`error-on-outdated`]&&(i.errorOnOutdated=!0),O[`error-on-unchanged`]&&(i.errorOnUnchanged=!0),typeof O.timeout==`string`&&(i.timeout=Number(O.timeout)||void 0),typeof O.sockets==`string`&&(i.sockets=Number(O.sockets)||void 0),typeof O.registry==`string`&&(i.registry=O.registry),typeof O.cooldown==`string`&&(i.cooldown=Number(O.cooldown)||O.cooldown);let a=t(O.include).map(N),s=t(O.exclude).map(N);a.length&&(i.include=a),s.length&&(i.exclude=s);let l=t(O.types);l.length&&(i.types=l);let d=f(O.pin);Object.keys(d).length&&(i.pin=d);let p=o(O.modes);p instanceof Set&&(i.modes=Array.from(p));for(let e of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let t=P(O[e]);t!==void 0&&(i[e]=t)}let m=P(O[`allow-downgrade`]);m!==void 0&&(i.allowDowngrade=m),j.length&&(i.files=j);for(let e of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof O[e]==`string`&&(i[e]=O[e]);let h=await u(i),v=Object.keys(h.results).length>0;if(h.message)console.info(i.json?JSON.stringify({message:h.message}):h.message);else if(v&&(i.json?console.info(JSON.stringify({results:h.results})):console.info(U(h)),i.update))for(let[e,t]of Object.entries(h.results))Object.values(t).some(e=>Object.keys(e).length)&&console.info(I(`✨ ${e} updated`));i.errorOnOutdated?await B(void 0,v?2:0):i.errorOnUnchanged?await B(void 0,v?0:2):await B()}const H=e=>b(e).length;function U(e){let t=Object.keys(e.results),n=t.length>1,r=[n?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],o=new Set;for(let i of t)for(let t of Object.values(e.results[i]))for(let[e,s]of Object.entries(t)){let t=`${i}|${e}|${s.old}|${s.new}`;o.has(t)||(o.add(t),r.push([i===`go`?a(e):e,...n?[i]:[],l(s.old,s.new,F),l(s.new,s.old,I),s.age||``,s.info||``]))}return i(r,H)}try{await V()}catch(e){await B(e)}export{};
package/dist/renovate.js CHANGED
@@ -1 +1 @@
1
- import{_ as e,g as t,m as n,t as r}from"./shared.js";import{join as i}from"node:path";import{readFile as a}from"node:fs/promises";const o=[`renovate.json`,`renovate.json5`,...[`.github`,`.gitea`,`.forgejo`,`.gitlab`].flatMap(e=>[`${e}/renovate.json`,`${e}/renovate.json5`]),`.renovaterc`,`.renovaterc.json`,`.renovaterc.json5`],s={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 c(e){let t=0,n=!1,r=/(\d+(?:\.\d+)?)\s*([a-z]+)/gi,i;for(;(i=r.exec(e))!==null;){let e=s[i[2].toLowerCase()];if(e===void 0)return;t+=Number(i[1])*e,n=!0}return n?t:void 0}function l(e){return!Array.isArray(e.matchPackageNames)||!e.matchPackageNames.length?!1:!Object.keys(e).some(e=>e.startsWith(`match`)&&e!==`matchPackageNames`)}async function u(e){for(let t of o){let n=i(e,...t.split(`/`));try{return{path:n,text:await a(n,`utf8`)}}catch{}}try{let t=await a(i(e,`package.json`),`utf8`),n=JSON.parse(t);if(n&&typeof n==`object`&&n.renovate&&typeof n.renovate==`object`)return{path:`package.json`,text:JSON.stringify(n.renovate)}}catch{}}function d(e){let t=/^\/(.+)\/([a-z]*)$/.exec(e);if(!t)return e;try{return new RegExp(t[1],t[2])}catch{return e}}function f(t,n){let r={};if(n.cooldown&&typeof t.minimumReleaseAge==`string`){let e=c(t.minimumReleaseAge);e!==void 0&&e>0&&(r.cooldown=e)}let i=[],a={};if(Array.isArray(t.ignoreDeps))for(let e of t.ignoreDeps)typeof e==`string`&&e&&i.push(e);if(Array.isArray(t.packageRules))for(let n of t.packageRules){if(!n||typeof n!=`object`||!l(n))continue;let t=n.matchPackageNames.filter(e=>typeof e==`string`&&!!e);if(n.enabled===!1)for(let e of t)i.push(d(e));if(typeof n.allowedVersions==`string`&&e(n.allowedVersions))for(let e of t)typeof d(e)==`string`&&(a[e]=n.allowedVersions)}return i.length&&(r.exclude=i),Object.keys(a).length&&(r.pin=a),r}const p=n(e=>t(e,async e=>{let t=await u(e);if(!t)return null;let n;try{n=r(t.text)}catch(e){throw Error(`Unable to parse renovate config ${t.path}: ${e.message}`)}return!n||typeof n!=`object`?null:{parsed:n,path:t.path}}));async function m(e,t={}){let n=await p(e);return n?f(n.parsed,t):{}}export{m as loadRenovateConfig};
1
+ import{_ as e,g as t,m as n,t as r}from"./shared.js";import{join as i}from"node:path";import{readFile as a}from"node:fs/promises";const o=[`renovate.json`,`renovate.json5`,...[`.github`,`.gitea`,`.forgejo`,`.gitlab`].flatMap(e=>[`${e}/renovate.json`,`${e}/renovate.json5`]),`.renovaterc`,`.renovaterc.json`,`.renovaterc.json5`],s={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 c(e){let t=0,n=!1,r=/(\d+(?:\.\d+)?)\s*([a-z]+)/gi,i;for(;(i=r.exec(e))!==null;){let e=s[i[2].toLowerCase()];if(e===void 0)return;t+=Number(i[1])*e,n=!0}return n?t:void 0}function l(e){return!Array.isArray(e.matchPackageNames)||!e.matchPackageNames.length?!1:Object.keys(e).every(e=>!e.startsWith(`match`)||e===`matchPackageNames`)}async function u(e){for(let t of o){let n=i(e,...t.split(`/`));try{return{path:n,text:await a(n,`utf8`)}}catch{}}try{let t=await a(i(e,`package.json`),`utf8`),n=JSON.parse(t);if(n&&typeof n==`object`&&n.renovate&&typeof n.renovate==`object`)return{path:`package.json`,text:JSON.stringify(n.renovate)}}catch{}}function d(e){let t=/^\/(.+)\/([a-z]*)$/.exec(e);if(!t)return e;try{return new RegExp(t[1],t[2])}catch{return e}}function f(e){return/[*?[\]{}!()|+]/.test(e)}function p(t,n){let r={};if(n.cooldown&&typeof t.minimumReleaseAge==`string`){let e=c(t.minimumReleaseAge);e!==void 0&&e>0&&(r.cooldown=e)}let i=[],a={};if(Array.isArray(t.ignoreDeps))for(let e of t.ignoreDeps)typeof e==`string`&&e&&i.push(e);if(Array.isArray(t.packageRules))for(let n of t.packageRules){if(!n||typeof n!=`object`||!l(n))continue;let t=n.matchPackageNames.filter(e=>typeof e==`string`&&!!e);if(n.enabled===!1)for(let e of t)i.push(d(e));if(typeof n.allowedVersions==`string`&&e(n.allowedVersions))for(let e of t)!f(e)&&typeof d(e)==`string`&&(a[e]=n.allowedVersions)}return i.length&&(r.exclude=i),Object.keys(a).length&&(r.pin=a),r}const m=n(e=>t(e,async e=>{let t=await u(e);if(!t)return null;let n;try{n=r(t.text)}catch(e){throw Error(`Unable to parse renovate config ${t.path}: ${e.message}`)}return!n||typeof n!=`object`?null:{parsed:n,path:t.path}}));async function h(e,t={}){let n=await m(e);return n?p(n.parsed,t):{}}export{h as loadRenovateConfig};
package/dist/shared.js CHANGED
@@ -1,7 +1,7 @@
1
- import{cwd as e,env as t,platform as n,stderr as r}from"node:process";import{styleText as i}from"node:util";import{basename as a,dirname as o,join as s,relative as c,resolve as l}from"node:path";import{accessSync as u,existsSync as d,globSync as f,lstatSync as p,readFileSync as m,readdirSync as h,statSync as g,truncateSync as _,writeFileSync as v}from"node:fs";import{access as y,mkdir as b,readFile as x,writeFile as S}from"node:fs/promises";import{createHash as C}from"node:crypto";import{homedir as w}from"node:os";import{pathToFileURL as ee}from"node:url";function te(e){let t={},n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=r[e],a=oe(i).trim();if(!a)continue;let o=/^\[\[([^\]]+)\]\]$/.exec(a);if(o){let e=t,r=ae(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]]={}),e=e[r[t]])}let i=r[r.length-1];Array.isArray(e[i])||(e[i]=[]);let a={};e[i].push(a),n=a;continue}let s=/^\[([^[\]]+)\]$/.exec(a);if(s){n=le(t,ae(s[1]));continue}let c=k(a,`=`);if(c<0)continue;let l=a.slice(0,c).trim(),u=a.slice(c+1).trim(),d=ae(l),f=le(n,d.slice(0,-1)),p=d[d.length-1],m=E(u);if(u.startsWith(`[`)&&!O(u)){let t=u,n=e+1;for(;n<r.length&&(t+=`\n${oe(r[n])}`,!O(t));n++);e=n,f[p]=D(t)}else if(u.startsWith(`{`)&&!O(u)){let t=u,n=e+1;for(;n<r.length&&(t+=`\n${r[n]}`,!O(t));n++);e=n,f[p]=re(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{styleText as a}from"node:util";import{basename as o,dirname as s,join as c,relative as l,resolve as u}from"node:path";import{accessSync as d,existsSync as f,globSync as p,lstatSync as m,readFileSync as h,readdirSync as g,statSync as _,truncateSync as v,writeFileSync as y}from"node:fs";import{access as b,mkdir as x,readFile as S,rename as C,writeFile as w}from"node:fs/promises";import{createHash as ee}from"node:crypto";import{homedir as te}from"node:os";import{pathToFileURL as T}from"node:url";function E(e){let t={},n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=r[e],a=O(i).trim();if(!a)continue;let o=/^\[\[([^\]]+)\]\]$/.exec(a);if(o){let e=t,r=ce(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]]={}),e=e[r[t]])}let i=r[r.length-1];Array.isArray(e[i])||(e[i]=[]);let a={};e[i].push(a),n=a;continue}let s=/^\[([^[\]]+)\]$/.exec(a);if(s){n=k(t,ce(s[1]));continue}let c=ue(a,`=`);if(c<0)continue;let l=a.slice(0,c).trim(),u=a.slice(c+1).trim(),d=ce(l),f=k(n,d.slice(0,-1)),p=d[d.length-1],m=re(u);if(u.startsWith(`[`)&&!oe(u)){let t=u,n=e+1;for(;n<r.length&&(t+=`\n${O(r[n])}`,!oe(t));n++);e=n,f[p]=ie(t)}else if(u.startsWith(`{`)&&!oe(u)){let t=u,n=e+1;for(;n<r.length&&(t+=`\n${O(r[n])}`,!oe(t));n++);e=n,f[p]=ae(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?`
2
2
  `:``)+r[n].slice(0,e);break}t+=(t?`
3
- `:``)+r[n]}e=n,f[p]=D(m+t+m)}else f[p]=D(u)}return t}function T(e,t){let n=e.trim();if(n)for(let e of ie(n)){let n=e.trim();n&&t.push(D(n))}}function E(e){let t=e.slice(0,3);return t!==`"""`&&t!==`'''`||e.includes(t,3)?``:t}function D(e){if(e.startsWith(`[`)){let t=[],n=ce(e,`]`);return T(e.slice(1,n<0?e.length:n),t),t}return e.startsWith(`{`)?re(e):e.startsWith(`"""`)?ue(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?ue(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):ne(e)}function ne(e){return e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function re(e){let t={},n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of ie(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=D(e.slice(n+1).trim())}return t}function O(e){let t=0,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===`{`||i===`[`)t++;else if((i===`}`||i===`]`)&&(t--,t===0))return!0}return!1}function ie(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 ae(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 oe(e){let t=k(e,`#`);return t<0?e:e.slice(0,t)}function*se(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 i===`"`||i===`'`?n=i:i===t&&(yield r)}}function k(e,t){return se(e,t).next().value??-1}function ce(e,t){let n=-1;for(let r of se(e,t))n=r;return n}function le(e,t){for(let n of t)(!(n in e)||typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]={}),e=e[n];return e}function ue(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
- `;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}const A=/^v?(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*))?(?:\+[a-zA-Z0-9._-]+)?$/,j=new Map;function M(e){if(typeof e!=`string`)return null;let t=j.get(e);if(t!==void 0)return t;let n=A.exec(e.trim());if(!n)return j.set(e,null),null;let r=Number(n[1]),i=Number(n[2]),a=Number(n[3]),o=n[4]?n[4].split(`.`).map(e=>/^\d+$/.test(e)?Number(e):e):[],s={major:r,minor:i,patch:a,prerelease:o,version:`${r}.${i}.${a}${o.length?`-${o.join(`.`)}`:``}`};return j.set(e,s),s}function de(e,t){let n=typeof e==`number`,r=typeof t==`number`;return n&&r?e-t:n?-1:r?1:e<t?-1:+(e>t)}function fe(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function pe(e,t){let n=fe(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=de(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function me(e){return M(e)?.version??null}function N(e){return M(e)}const P=new Map,F=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function he(e){if(typeof e!=`string`)return null;let t=P.get(e);if(t!==void 0)return t;let n=F.exec(e);if(!n)return P.set(e,null),null;let r={version:`${n[1]}.${n[2]||`0`}.${n[3]||`0`}`};return P.set(e,r),r}function I(e,t){let n=M(e),r=M(t);return!n||!r?null:ge(n,r)}function ge(e,t){if(e.version===t.version)return null;let n=pe(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(fe(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 L(e,t){let n=M(e),r=M(t);return n&&r?pe(n,r):null}function R(e,t){return(L(e,t)??-1)>0}function _e(e,t){return(L(e,t)??-1)>=0}function z(e,t){return(L(e,t)??1)<0}function ve(e){let t=/^(>=|<=|>|<|=)?\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*)?)$/.exec(e.trim());if(!t)return null;let n=t[2],r=M(`${n}.${t[3]??`0`}.${t[4]??`0`}${t[5]||``}`);return r?{op:t[1]||`=`,semver:r}:null}function ye(e,t){let n=pe(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 n===0}}function B(e,t,n){return`${e}.${t}.${n}-0`}function be(e){return e.replace(/~\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:\.[xX*])*((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i)=>{let a=Number(t);if(n===void 0)return`>=${a}.0.0 <${B(a+1,0,0)}`;let o=Number(n);return`>=${a}.${o}.${r===void 0?0:Number(r)}${i||``} <${B(a,o+1,0)}`})}function xe(e){return e.replace(/\^\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:\.[xX*])*((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i)=>{let a=Number(t),o=i||``;if(n===void 0)return`>=${a}.0.0 <${B(a+1,0,0)}`;let s=Number(n);if(r===void 0)return a===0?`>=${a}.${s}.0 <${B(a,s+1,0)}`:`>=${a}.${s}.0 <${B(a+1,0,0)}`;let c=Number(r);return a===0?s===0?`>=${a}.${s}.${c}${o} <${B(a,s,c+1)}`:`>=${a}.${s}.${c}${o} <${B(a,s+1,0)}`:`>=${a}.${s}.${c}${o} <${B(a+1,0,0)}`})}function Se(e){return e.replace(/v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)\s+-\s+v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i,a,o,s,c)=>{let l=Number(t),u=n===void 0?0:Number(n),d=r===void 0?0:Number(r),f=i||``,p=Number(a),m;return m=s===void 0?o===void 0?`<${B(p+1,0,0)}`:`<${B(p,Number(o)+1,0)}`:`<=${p}.${Number(o)}.${Number(s)}${c||``}`,`>=${l}.${u}.${d}${f} ${m}`})}function Ce(e,t,n,r){return!e||e===`=`?r?`>=${t}.0.0 <${B(t+1,0,0)}`:`>=${t}.${n}.0 <${B(t,n+1,0)}`:e===`>`?r?`>=${t+1}.0.0`:`>=${t}.${n+1}.0`:e===`<=`?r?`<${B(t+1,0,0)}`:`<${B(t,n+1,0)}`:e===`<`?r?`<${t}.0.0-0`:`<${t}.${n}.0-0`:r?`>=${t}.0.0`:`>=${t}.${n}.0`}function V(e){return/^\s*[*xX]\s*$/.test(e)?`>=0.0.0`:(e=e.replace(/(>=|<=|>|<|=)?\s*v?(\d+)\.(\d+)\.[xX*]/g,(e,t,n,r)=>Ce(t,Number(n),Number(r),!1)),e=e.replace(/(>=|<=|>|<|=)?\s*v?(\d+)\.[xX*](?:\.[xX*])?/g,(e,t,n)=>Ce(t,Number(n),0,!0)),e=e.replace(/(^|[\s|])(\d+)\.(\d+)(?=\s|$)/g,(t,n,r,i,a)=>{let o=e.substring(0,a).trimEnd();if(/[<>=]$/.test(o))return t;let s=Number(r),c=Number(i);return`${n}>=${s}.${c}.0 <${B(s,c+1,0)}`}),e=e.replace(/(^|[\s|])(\d+)(?=\s|$)/g,(t,n,r,i)=>{let a=e.substring(0,i).trimEnd();if(/[<>=]$/.test(a))return t;let o=Number(r);return`${n}>=${o}.0.0 <${B(o+1,0,0)}`}),e)}const H=new Map;function we(e){let t=H.get(e);if(t!==void 0)return t;let n=e.split(`||`).map(e=>e.trim()),r=[];for(let t of n){if(!t){r.push([]);continue}t=Se(t),t=xe(t),t=be(t),t=V(t),t=t.replace(/(>=|<=|>|<|=)\s+/g,`$1`),t=t.replace(/(^|[\s])v?(\d+\.\d+\.\d+(?:-[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*)?)\b/g,(e,t,n)=>`${t}=${n}`);let n=t.split(/\s+/).filter(Boolean),i=[];for(let t of n){let n=ve(t);if(!n)return H.set(e,null),null;i.push(n)}if(i.length===0)return H.set(e,null),null;r.push(i)}let i=r.length?r:null;return H.set(e,i),i}function Te(e,t){return t.every(t=>ye(e,t))?e.prerelease.length>0?t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch):!0:!1}function U(e,t){let n=M(e);if(!n)return!1;let r=we(t);if(!r)return!1;for(let e of r)if(e.length===0||Te(n,e))return!0;return!1}function Ee(e){return typeof e==`string`&&we(e)?e:null}const De=[[1e3,6e4,`sec`],[6e4,36e5,`min`],[36e5,864e5,`hour`],[864e5,6048e5,`day`],[6048e5,2628e6,`week`],[2628e6,31536e6,`month`],[31536e6,1/0,`year`]],Oe={"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`},ke={sec:`second`,min:`minute`};function Ae(e){return e instanceof Date?e.getTime():typeof e==`string`?Date.parse(e):e}function je(e,{now:t,noAffix:n=!1,times:r=De,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=Oe,longUnits:l=!1}={}){let u=Ae(e),d=t===void 0?Date.now():Ae(t);if(u!==u)return o||String(e);let f=d-u,p=f<0;if(p&&(f=-f),f<i)return a;let m=0,h=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(!(f>=t[1])){m=f/t[0]|0,h=(l&&ke[t[2]]||t[2])+(m>1?`s`:``);break}}let g=`${m} ${h}`,_;return _=n?g:p?`in ${g}`:`${g} ago`,s?c[_]??_:_}function Me(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}function Ne(e){let t=[];for(let n of e){let e=/^([^<>=~!]+)(?:==|>=?|<=?|~=)([0-9.a-z]+)$/.exec(n.replaceAll(/\s+/g,``));if(!e)continue;let r=e[1].replace(/\[.*?\]$/,``);r&&t.push({name:r,version:e[2]})}return t}const Pe=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`packageManager`],Fe=[`node`,`deno`,`bun`],Ie=[`project.dependencies`,`project.optional-dependencies`,`dependency-groups.dev`,`dependency-groups.lint`,`dependency-groups.test`],Le=[`deps`,`indirect`,`replace`,`tool`],Re=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`];function W(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 ze(e,t){return t.split(`.`).reduce((e,t)=>e?.[t]??null,e)}function Be(e){return e.split(`,`).filter(Boolean)}function Ve(){let e=new Date,t=String(e.getMonth()+1).padStart(2,`0`),n=String(e.getDate()).padStart(2,`0`),r=String(e.getHours()).padStart(2,`0`),i=String(e.getMinutes()).padStart(2,`0`),a=String(e.getSeconds()).padStart(2,`0`),o=String(e.getMilliseconds()).padStart(3,`0`);return`${e.getFullYear()}-${t}-${n} ${r}:${i}:${a}.${o}`}function He(e,t,n=` `){let r=Array(e[0].length).fill(0),i=Array(e.length);for(let n=0;n<e.length;n++){let a=e[n],o=Array(a.length);for(let e=0;e<a.length;e++){let n=t(a[e]);o[e]=n,n>r[e]&&(r[e]=n)}i[n]=o}let a=``;for(let t=0;t<e.length;t++){let o=e[t],s=o.length-1;for(let e=0;e<=s;e++)if(e>0&&(a+=n),a+=o[e],e!==s){let n=r[e]-i[t][e];n>0&&(a+=` `.repeat(n))}t<e.length-1&&(a+=`
5
- `)}return a}const Ue={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function We(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Ue[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}async function G(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}const K=e=>e.replace(/[|\\{}()[\]^$+*?.-]/g,`\\$&`);async function Ge(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=o(n);if(r===n)return null;n=r}}function Ke(e){let t=new Map;return n=>{let r=t.get(n);return r||(r=e(n),t.set(n,r)),r}}const qe=s(n===`win32`?t.LOCALAPPDATA||s(w(),`AppData`,`Local`):t.XDG_CACHE_HOME||s(w(),`.cache`),`updates`);let Je=null;const Ye=new Map;function Xe(e){let t=Ye.get(e);return t===void 0&&(t=C(`sha256`).update(e).digest(`hex`).substring(0,16),Ye.set(e,t)),t}async function Ze(e){try{let t=await x(s(qe,`${Xe(e)}.cache`),`utf8`),n=t.indexOf(`
6
- `);if(n===-1)return null;let r=t.substring(0,n),i=t.substring(n+1);return r&&i?{etag:r,body:i}:null}catch{return null}}async function Qe(e,t,n){try{await(Je??=b(qe,{recursive:!0})),await S(s(qe,`${Xe(e)}.cache`),`${t}\n${n}`)}catch{}}var $e=`17.18.0`;function et(e,t,n){if(!t||!n||!e)return!0;let r=Date.parse(e);return Number.isNaN(r)?!0:(n-r)/(24*3600*1e3)>=t}const tt=$e,nt=5e3,q=e=>e[0]===`v`?e.substring(1):e,rt=e=>e.endsWith(`/`)?e.slice(0,-1):e;function it(e,t){return{headers:{"user-agent":`updates/${tt}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}async function at(e,t){try{return await fetch(e,t)}catch(t){throw Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`)}}async function ot(e){return typeof e.text==`function`?e.text():JSON.stringify(await e.json())}async function st(e,t,n={}){let r=t.noCache?null:await Ze(e),i=n.headers,a=r?{...i,"if-none-match":r.etag}:i,o=await t.doFetch(e,{...n,headers:a,signal:AbortSignal.timeout(t.fetchTimeout)});if(!o)return{res:void 0};if(o.status===304&&r)return{body:r.body,res:o};if(!o.ok)return{res:o};let s=await ot(o),c=o.headers?.get?.(`etag`);return c&&!t.noCache&&await Qe(e,c,s),{body:s,res:o}}async function ct(e,t,n={}){if(!t.noCache){let t=await Ze(e);if(t)return{body:t.body}}let r=await t.doFetch(e,{...n,signal:AbortSignal.timeout(t.fetchTimeout)});if(!r)return{res:void 0};if(!r.ok)return{res:r};let i=await ot(r);return t.noCache||await Qe(e,`immutable`,i),{body:i,res:r}}function lt(e){return(N(e)?.prerelease.length??0)>0}function ut(e){return/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e)}const dt=new WeakMap;function ft(e){let t=dt.get(e);if(t)return t;let n=new Set(e);return n.add(`prerelease`),e.has(`patch`)&&n.add(`prepatch`),e.has(`minor`)&&n.add(`preminor`),e.has(`major`)&&n.add(`premajor`),dt.set(e,n),n}function pt(e,t,{useRel:n,allowDowngrade:r,name:i,matchesAny:a}){let o=J(e),s=J(t);if(!o||!s)return!0;let c=ut(e)||lt(e),l=lt(t);return c&&!l?_e(s,o)||n:!l&&z(s,o)?a(i,r):!0}function J(e){return he(e)?.version??``}function mt(e,t,{range:n,semvers:r,usePre:i,useRel:a,useGreatest:o,pinnedRange:s,cooldownDays:c,now:l,getVersionDate:u}){let d=J(n);if(!d)return d;let f=ut(n)||i,p=f?ft(r):r,m=e?.time,h=!!m,g=o||!h,_=!!(c&&l),v=0,y=!1,b=d,x=N(d);for(let e of t){let t=N(e);if(!t?.version||t.prerelease.length&&(!f||a))continue;let n=t.version;if(s&&!U(n,s))continue;let r;if(_&&(r=u?u(e):h?m[e]:void 0,!et(r,c,l)))continue;let i=ge(x,t);if(!(!i||!p.has(i)))if(g)((y?R(n,b):fe(t,x)>=0)||s&&!U(b,s))&&(b=n,x=t,y=!0);else{let i=Date.parse(r??m[e]);i>=0&&i>v&&(b=n,x=t,v=i)}}return b||null}function ht(e,{mode:t,range:n,useGreatest:r,useRel:i,usePre:a,semvers:o,pinnedRange:s,cooldownDays:c,now:l},{allowDowngrade:u,matchesAny:d,isGoPseudoVersion:f}){if(n===`*`||n.includes(`||`)||/\d\s/.test(n))return null;let p=[],m;if(t===`pypi`){let t=e.releases;p=Object.keys(t),m=e=>t?.[e]?.[0]?.upload_time_iso_8601}else if(t===`npm`||t===`cargo`)p=Object.keys(e.versions);else if(t===`go`){let t=J(n);if(!t)return null;let r=a||ut(n),p=e=>lt(e)&&(!r||i),m={useRel:i,allowDowngrade:u,name:e.name,matchesAny:d},h=e.old||n,g=J(e.new);if(g&&!f(e.new)&&!p(e.new)){let n=I(t,g);if(n&&o.has(n)&&pt(h,e.new,m)&&et(e.Time,c,l)&&(!s||U(g,s)))return e.new}let _=J(e.sameMajorNew);if(_&&!f(e.sameMajorNew)&&!p(e.sameMajorNew)){let n=I(t,_);if(n&&o.has(n)&&pt(h,e.sameMajorNew,m)&&et(e.sameMajorTime,c,l)&&(!s||U(_,s)))return e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew}if(c&&l&&e.olderEligible&&!p(e.olderEligible.version)){let n=J(e.olderEligible.version);if(n){let r=I(t,n);if(r&&o.has(r)&&pt(h,e.olderEligible.version,m)&&(!s||U(n,s)))return e.Time=e.olderEligible.time,delete e.newPath,e.olderEligible.version}}return null}let h=mt(e,p,{range:n,semvers:o,usePre:a,useRel:i,useGreatest:r,pinnedRange:s,cooldownDays:c,now:l,getVersionDate:m});if(!h)return null;if(r)return h;{let r=``,f=``,p=!1;t===`pypi`?(f=e.info.version,r=J(e.info.version),p=lt(f)):(r=e[`dist-tags`].latest,p=lt(r));let m=J(n),g=ut(n),_=lt(h),v={useRel:i,allowDowngrade:u,name:e.name,matchesAny:d};if(!i&&a||g&&_)return h;if(g&&!_)return pt(n,h,v)?h:null;let y=I(m,r);return y&&y!==`prerelease`&&!o.has(y.replace(/^pre/,``))||i&&p?h:z(r,m)&&!p?pt(n,r,v)?r:R(h,m)?h:null:!g&&p&&!a||s&&!U(r,s)||c&&l&&!et(t===`pypi`?e.releases?.[f||r]?.[0]?.upload_time_iso_8601:e.time?.[r],c,l)?h:f||r}}const gt=new Map;if(t.UPDATES_FORGE_TOKENS)for(let e of t.UPDATES_FORGE_TOKENS.split(`,`)){let t=e.indexOf(`:`);t>0&&gt.set(e.substring(0,t),e.substring(t+1))}const _t=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];function vt(){return Array.from(new Set(_t.map(e=>t[e]).filter(Boolean)))}let yt;function bt(){let e=vt();return e.length?Promise.resolve(e):yt??=(async()=>{try{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]),{stdout:n}=await t(e)(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),r=n.trim();return r?[r]:[]}catch{return[]}})()}const xt=new Map;async function St(e,t){if(!e)return[];let n=gt.get(e);if(n)return[n];let r=``;try{r=new URL(t).hostname}catch{}return e===`api.github.com`||e===`github.com`||e===r?bt():[]}async function Ct(e,t,n){let r;try{r=new URL(e).hostname}catch{r=``}let i=await St(r,t.forgeApiUrl),a=AbortSignal.timeout(t.fetchTimeout),o=e=>{let t=it(`Bearer`,e);return n&&(t.headers={...t.headers,...n}),t.signal=a,t};if(!i.length)return t.doFetch(e,o());let s=r?xt.get(r):void 0;if(s)return t.doFetch(e,o(s));for(let n of i){let i=await t.doFetch(e,o(n));if(i.status!==401&&i.status!==403)return r&&xt.set(r,n),i}return t.doFetch(e,o())}function wt(e,t){let n=q(t);if(!me(n))return null;let r=``,i=``;for(let t of e){let e=q(t);me(e)&&(!r||R(e,i))&&(r=t,i=e)}return r&&R(i,n)?r:null}function Tt(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 Et=/^[0-9a-f]{7,}$/i;function Dt(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function Ot(e,t){let n=t.noCache?null:await Ze(e),r=await Ct(e,t,n?{"if-none-match":n.etag}:void 0);if(r?.status===304&&n)try{let e=JSON.parse(n.body);return{tags:e.tags||[],link:e.link||``}}catch{return null}if(!r?.ok)return null;let i=Dt(await r.json()),a=r.headers.get(`link`)||``,o=r.headers.get(`etag`);return o&&!t.noCache&&await Qe(e,o,JSON.stringify({link:a,tags:i})),{tags:i,link:a}}async function kt(e,t,n,r){let i=r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`;try{let e=await Ot(i(1),r);if(!e)return[];let t=e.tags,n=/<([^>]+)>;\s*rel="last"/.exec(e.link);if(!n)return t;let a=Math.min(Number(new URL(n[1]).searchParams.get(`page`)),10);if(a<2)return t;let o=await Promise.all(Array.from({length:a-1},(e,t)=>Ot(i(t+2),r)));for(let e of o)e&&t.push(...e.tags);return t}catch{return[]}}function At(e,t,n,r){throw e?.status&&e?.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}function jt(e,t,n=``){let r=t.startsWith(`v`),i=q(e),a=q(t).split(`.`).length,o=i.split(`.`),s;return s=a===1?o[0]:a===2?`${o[0]}.${o[1]||`0`}`:i,`${r?`v`:``}${s}${n}`}function Mt(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}function Nt({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`])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=Tt(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a=`${a}/${Mt(a)}/${e.directory}`)),a||t||``)}const Pt={"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 Ft(e,t){return RegExp(`^${K(e).replaceAll(`\\*`,`.*`)}$`,t?`i`:``)}function It(e,t,n){return t&&typeof e==`string`?/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):Ft(e,n):e instanceof RegExp?e:Ft(e,n)}function Lt(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`).flatMap(Be)):typeof e==`string`?new Set([e]):typeof e==`boolean`?e:!1}function Rt(e){for(let[t,{short:n}]of Object.entries(Pt))if(t===e||n===e)return t;return``}function Y(e){return new Set(e.map(e=>It(e,!1,!0)))}function zt(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(e=>Be(e)):[]}function Bt(e){let t={},n=Array.isArray(e)?e:[e];for(let e of n){if(typeof e!=`string`)continue;let n=e.indexOf(`=`);if(n===-1)continue;let r=e.slice(0,n),i=e.slice(n+1);r&&i&&Ee(i)&&(t[r]=i)}return t}function Vt(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:Y(e)}async function Ht(e){let t=await Promise.all([`js`,`ts`,`mjs`,`mts`].map(async t=>{let n=`updates.config.${t}`,r=s(e,n);try{await y(r)}catch{return null}try{return{configDir:e,filename:n,default:(await import(ee(r).href)).default??{}}}catch(e){return Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}));for(let e of t)if(e&&!(e instanceof Error))return e;for(let e of t)if(e instanceof Error)throw e;return null}const Ut=Ke(e=>Ge(e,Ht));async function Wt(e){let t=await Ut(e),n=t?.default??{},{loadRenovateConfig:r}=await import(`./renovate.js`);return{...await r(t?.configDir??e,n.inherit?.renovate),...n}}function Gt(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();i.length>=2&&(i.startsWith(`"`)&&i.endsWith(`"`)||i.startsWith(`'`)&&i.endsWith(`'`))&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function Kt(e){try{return Gt(m(e,`utf-8`))}catch{return}}function qt(t){let n=e();for(;;){let e=s(n,t);try{return g(e),e}catch{}let r=o(n);if(r===n)break;n=r}}function Jt(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t))if(i.toLowerCase().startsWith(r)){let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let r=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)r[n]=a;else if(r[n]===void 0&&(r[n]={}),typeof r[n]==`object`)r=r[n];else break}}return n}function Yt(e,r={}){let i=n===`win32`,a=i?t.USERPROFILE:t.HOME,o=[{...r}],c=[];function l(e){if(!e||c.includes(e))return;let t=Kt(e);t&&(o.push(t),c.push(e))}i||(l(s(`/etc`,e,`config`)),l(s(`/etc`,`${e}rc`))),a&&(l(s(a,`.config`,e,`config`)),l(s(a,`.config`,e)),l(s(a,`.${e}`,`config`)),l(s(a,`.${e}rc`))),l(qt(`.${e}rc`));let u=Jt(`${e}_`);return u.config&&l(u.config),Object.assign({},...o,u,c.length?{configs:c,config:c[c.length-1]}:void 0)}const Xt=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,Zt=/^([^/]+)\/([^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,Qt=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,$t=/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g,en=/(@[^/]+\/)?([^/]+)/g;function tn(e){let t=e.match(en);return t?t[t.length-1]:e}const nn=`https://registry.npmjs.org`;let rn=null;const an=new Map;function on(){return rn??=Yt(`npm`,{registry:nn})}function sn(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``)}function cn(e,t){let n=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],r=n(`_authToken`);if(r)return{token:sn(r),type:`Bearer`};let i=n(`username`),a=n(`_password`);if(i&&a){let e=Buffer.from(sn(a),`base64`).toString(`utf8`);return{token:Buffer.from(`${i}:${e}`).toString(`base64`),type:`Basic`,username:i,password:e}}let o=n(`_auth`);if(o)return{token:sn(o),type:`Basic`}}function ln(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=cn(`//${n.host}${r.replace(/\/$/,``)}`,t);if(e)return e;let i=r.endsWith(`/`)?r:`${r}/`;n.pathname=new URL(`..`,new URL(i,`http://x`)).pathname}let i=t._auth;if(i)return{token:sn(i),type:`Basic`}}function un(e,t){let n=t[`${e}:registry`]||t.registry;return n.endsWith(`/`)?n:`${n}/`}function dn(e,t){rn||=on();let n=e.startsWith(`@`)?e.split(`/`)[0]:``,r=`${n}:${t}`,i=an.get(r);if(i)return i;let a=()=>({auth:ln(t,rn),registry:t}),o;if(!e.startsWith(`@`))o=a();else{let e=rt(un(n,rn));if(e!==t)try{let t=ln(e,rn);o=t?.token?{auth:t,registry:e}:a()}catch{o=a()}else o=a()}return an.set(r,o),o}function fn(e,t,n){rn||=on();let r=rt((typeof n.registry==`string`?n.registry:!1)||t.registry||rn.registry||nn);return{...dn(e,r),originalRegistry:r}}function pn(e,t,n){let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r}const mn=new Map,hn=new Map,gn=new Map;async function _n(e,t,n,r,i){let{auth:a,registry:o}=fn(e,n,r),s=pn(o,t===`resolutions`?tn(e):e),c=mn.get(s);if(!c){let t=it(a?.type,a?.token),n={...t.headers,accept:`application/vnd.npm.install-v1+json`};t.headers=n,c=(async()=>{let r=i.noCache?null:await Ze(s);r&&(n[`if-none-match`]=r.etag);let a=await i.doFetch(s,{signal:AbortSignal.timeout(i.fetchTimeout),...t});if(a?.status===304&&r)return JSON.parse(r.body);if(a?.ok){let e=await a.text(),t=a.headers.get(`etag`);return t&&!i.noCache&&await Qe(s,t,e),JSON.parse(e)}At(a,s,e,o)})().catch(e=>{throw mn.delete(s),e}),mn.set(s,c)}return[await c,t,o,e]}async function vn(e,t,n,r,i){let{auth:a,registry:o}=fn(e,n,r),s=pn(o,e,t),c=hn.get(s);if(c)return c;let l=(async()=>{try{let n=it(a?.type,a?.token),r=await ct(s,i,n);if(!(`body`in r))return{};let c=JSON.parse(r.body),l=``,u=c?._npmOperationalInternal?.tmp;if(u){let e=/(\d{13})/.exec(u);e&&(l=new Date(Number(e[1])).toISOString())}if(!l){let r=pn(o,e),a=gn.get(r);a||(a=i.doFetch(r,{...n,signal:AbortSignal.timeout(i.fetchTimeout)}).then(e=>e?.ok?e.json():null).catch(()=>(gn.delete(r),null)),gn.set(r,a)),l=(await a)?.time?.[t]||``}return{repository:c.repository,homepage:c.homepage,date:l}}catch{return{}}})();return hn.set(s,l),l}function yn(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function bn(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function xn(e,t){if(e.startsWith(`npm:@jsr/`)){let t=/^npm:@jsr\/([^_]+)__([^@]+)@(.+)$/.exec(e);if(t)return{scope:t[1],name:t[2],version:t[3]}}else if(e.startsWith(`jsr:@`)){let t=/^jsr:@([^/]+)\/([^@]+)@(.+)$/.exec(e);if(t)return{scope:t[1],name:t[2],version:t[3]}}else if(e.startsWith(`jsr:`)){let n=e.substring(4);if(t?.startsWith(`@`)){let e=/^@([^/]+)\/(.+)$/.exec(t);if(e)return{scope:e[1],name:e[2],version:n}}}return{scope:null,name:null,version:``}}async function Sn(e,t,n){let r=/^@([^/]+)\/(.+)$/.exec(e);if(!r)throw Error(`Invalid JSR package name: ${e}`);let[,i,a]=r,o=`${n.jsrApiUrl}/@${i}/${a}/meta.json`,s=await st(o,n,{headers:{"accept-encoding":`gzip, deflate, br`}});if(`body`in s){let r=JSON.parse(s.body),i={},a={};for(let[e,t]of Object.entries(r.versions))i[e]={version:e,time:t.createdAt},a[e]=t.createdAt;return[{name:e,"dist-tags":{latest:r.latest},versions:i,time:a},t,n.jsrApiUrl,e]}At(s.res,o,e,`JSR`)}function Cn(e,t){let n=new Map;for(let[e,{old:r,oldOrig:i,new:a}]of Object.entries(t)){let[t,o]=e.split(`\0`),s=i||r;t===`packageManager`?n.set(`${t}\0${o}@${s}`,`"${t}": "${o}@${a}"`):n.set(`${o}\0${s}`,`"${o}": "${a}"`)}return n.size?e.replace(/"((?:[^"\\]|\\.)*)": *"((?:[^"\\]|\\.)*)"/g,(e,t,r)=>n.get(`${t}\0${r}`)??e):e}function wn(e,t,n){let r=e.replace($t,t);if(!n||n===e)return r;let i=/^([\^~]|>=\s*)([\d.]+)$/.exec(n);if(!i)return r;let[,a,o]=i,s=t.split(/[-+]/)[0];if(s!==t)return r;let c=o.split(`.`).length,l=s.split(`.`);return l.length===c?r:`${a}${l.slice(0,c).join(`.`)}`}function X(e){if(/[xX*]/.test(e))return e;let t=e.match(Qt);return t?.length===1?e.replace(Qt,J(t[0])):e}async function Tn(e,t,n){let r=`${n.forgeApiUrl}/repos/${e}/${t}/commits`;try{let e=n.noCache?null:await Ze(r),t=await Ct(r,n,e?{"if-none-match":e.etag}:void 0),i;if(t?.status===304&&e)i=e.body;else if(t?.ok){i=await t.text();let e=t.headers.get(`etag`);e&&!n.noCache&&await Qe(r,e,i)}else return{hash:``,commit:{}};let{sha:a,commit:o}=JSON.parse(i)[0];return{hash:a,commit:o}}catch{return{hash:``,commit:{}}}}async function En(e,t,n){return(await kt(n.forgeApiUrl,e,t,n)).map(e=>e.name)}async function Dn(e,t,n){let r=t.old.replace(Xt,``),[,i,a,o]=Zt.exec(r)||[];if(!i||!a||!o)return null;let s=e=>{let n=t.old.lastIndexOf(o);return t.old.slice(0,n)+e+t.old.slice(n+o.length)};if(Et.test(o)){let{hash:t,commit:r}=await Tn(i,a,n);if(!t)return null;let c=r?.committer?.date??r?.author?.date,l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:s(l),user:i,repo:a,oldRef:o,newRef:l,newDate:c}}else{let t=wt(await En(i,a,n),o);if(t)return{key:e,newRange:s(t),user:i,repo:a,oldRef:o,newRef:t}}return null}async function On(e,t,n){let r=`${n.pypiApiUrl}/pypi/${e}/json`,i=await st(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}});if(`body`in i)return[JSON.parse(i.body),t,null,e];At(i.res,r,e,n.pypiApiUrl)}function kn(e,t){let n=e;for(let[e,{old:r,oldOrig:i}]of Object.entries(t)){let a=e.split(`\0`)[1],o=i||r;n=n.replace(RegExp(`(['"])(${K(a)} *(?:\\[[^\\]]+\\])? *[<>=~]+ *)${K(o)}\\1`,`g`),(n,r,i)=>`${r}${i}${t[e].new}${r}`)}return n}let An;async function jn(){let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)}function Mn(){return An??=jn()}function Nn(){let e=t.GOPROXY||`https://proxy.golang.org,direct`;for(let t of e.split(/[,|]/)){let e=t.trim();if(e&&e!==`direct`&&e!==`off`)return rt(e)}return`https://proxy.golang.org`}function Pn(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim()).filter(Boolean)}function Fn(e,t){return t.some(t=>e===t||e.startsWith(`${t}/`))}function In(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const Ln=/\/v(\d+)$/;function Rn(e){let t=Ln.exec(e);return t?Number.parseInt(t[1]):1}function zn(e,t){let n=e.replace(Ln,``);return t<=1?n:`${n}/v${t}`}function Bn(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(q(t).split(`.`)[0]);return Number.isNaN(n)||n<=1||n===Rn(e)?e:zn(e,n)}function Vn(e,t){let n=t?/^(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(e):/^replace\s+(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(e);if(!n)return null;let[,r,i,a]=n;return i.startsWith(`./`)||i.startsWith(`/`)||i.startsWith(`../`)?null:{origModule:r,targetModule:i,targetVersion:a}}function Hn(e,t,n){return t===`indirect`||e.startsWith(`golang.org/x/`)||Un(n)}function Un(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function Wn(e,t,n){return[{name:e,old:t,new:t},n,null,e]}async function Gn(e,t,n){if(!t)return null;let r=t,i=e+101,a=e+2,o=7;for(;a<=i;){let e=Math.min(a+o-1,i),t=await Promise.all(Array.from({length:e-a+1},(e,t)=>n(a+t))),s=t.indexOf(null),c=s===-1?t:t.slice(0,s);if(c.length&&(r=c.at(-1)),s!==-1)break;a=e+1,o*=2}return r}function Kn(e,t,n,r,i,a){let o=r?.Version??i,s=r?.Time??a,c=r?.path??e;return[{name:e,old:n,new:q(o),Time:s,...c===e?{}:{newPath:c},sameMajorNew:q(i),sameMajorTime:a},t,null,e]}function qn(e){let t={},n={},r={},i={},a=new Set,o=[],s=e.split(/\r?\n/),c=!1,l=!1,u=!1;for(let e of s){let i=e.trim();if(/^require\s*\(/.test(i)){c=!0;continue}if(/^replace\s*\(/.test(i)){l=!0;continue}if(/^tool\s*\(/.test(i)){u=!0;continue}if(i===`)`){c=!1,l=!1,u=!1;continue}if(i.startsWith(`//`))continue;if(u){i&&!i.startsWith(`//`)&&o.push(i);continue}let s=/^tool\s+(\S+)/.exec(i);if(s){o.push(s[1]);continue}let d=i.includes(`// indirect`);if(l||/^replace\s+/.test(i)){let e=Vn(i,l);e&&(r[e.targetModule]=e.targetVersion,a.add(e.origModule));continue}let f=c?/^(\S+)\s+(v\S+)/.exec(i):/^require\s+(\S+)\s+(v\S+)/.exec(i);f&&((d?n:t)[f[1]]=f[2])}for(let e of a)delete t[e],delete n[e];if(o.length){let e=[...Object.keys(n),...Object.keys(t)];for(let r of o){let a=``;for(let t of e)(r===t||r.startsWith(`${t}/`))&&t.length>a.length&&(a=t);let o=n[a]?n:t[a]?t:null;o&&(i[a]=o[a],delete o[a])}}return{deps:t,indirect:n,replace:r,tool:i}}async function Jn(e,n,r,i,a){let o=Rn(e),s=async(e,n)=>{try{let{stdout:r}=await(await Mn())(`go`,[`list`,`-m`,`-json`,`${e}@latest`],{timeout:n,cwd:i,env:t}),a=JSON.parse(r);return{Version:a.Version,Time:a.Time||``,path:e}}catch{return null}},c=Hn(e,n,r),[l,u]=await Promise.all([s(e,a.fetchTimeout),c?null:s(zn(e,o+1),a.goProbeTimeout)]);return l?Kn(e,n,r,await Gn(o,u,t=>s(zn(e,t),a.goProbeTimeout)),l.Version,l.Time):Wn(e,r,n)}async function Yn(e,t,n,r,i,a){if(Fn(e,a))return Jn(e,t,n,r,i);let o=In(e),s=Rn(e),c=async t=>{let n=zn(e,t);return i.doFetch(`${i.goProxyUrl}/${In(n)}/@latest`,{signal:AbortSignal.timeout(i.goProbeTimeout),headers:{"accept-encoding":`gzip, deflate, br`}}).then(async e=>e.ok?{...await e.json(),path:n}:null).catch(()=>null)},l=Hn(e,t,n),[u,d]=await Promise.all([i.doFetch(`${i.goProxyUrl}/${o}/@latest`,{signal:AbortSignal.timeout(i.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}}),l?null:c(s+1)]);if(!u.ok)return Wn(e,n,t);let f,p;try{let e=await u.json();f=e.Version,p=e.Time}catch{return Wn(e,n,t)}return Kn(e,t,n,await Gn(s,d,c),f,p)}function Xn(e,t){if(!e.includes(`replace`))return e;let n=K(t);return e=e.replace(RegExp(`^replace\\s+${n}(\\s+v\\S+)?\\s+=>\\s+\\S+(\\s+v\\S+)?\\s*\\n`,`gm`),``),e=e.replace(RegExp(`^\\s+${n}(\\s+v\\S+)?\\s+=>\\s+\\S+(\\s+v\\S+)?\\s*\\n`,`gm`),``),e=e.replace(/^replace\s*\(\s*\)\s*\n/gm,``),e}function Zn(e,t){let n=e,r={};for(let[e,{old:i,oldOrig:a}]of Object.entries(t)){let[o,s]=e.split(`\0`),c=a||i,l=t[e].new;if(o===`replace`){n=n.replace(RegExp(`(=>\\s+${K(s)}\\s+)v${K(c)}`,`g`),`$1v${l}`);continue}if(o===`indirect`){n=n.replace(RegExp(`(${K(s)}) +v${K(c)}`,`g`),`$1 v${l}`);continue}let u=Bn(s,l);u===s?n=n.replace(RegExp(`(${K(s)}) +v${K(c)}`,`g`),`$1 v${l}`):(n=n.replace(RegExp(`${K(s)} +v${K(c)}`,`g`),`${u} v${l}`),o===`tool`&&(n=n.replace(RegExp(`(^\\s+|^tool\\s+)${K(s)}(/\\S+)?\\s*$`,`gm`),`$1${u}$2`)),r[s]=u),o!==`tool`&&(n=Xn(n,s))}return[n,r]}function Qn(e,t,n){let r=Object.entries(t);if(!r.length)return;let i=new Map(r),a=r.map(([e])=>e).sort((e,t)=>t.length-e.length),o=RegExp(`"(${a.map(K).join(`|`)})(/|")`,`g`),c=f(`**/*.go`,{cwd:e});for(let t of c){let r=s(e,t),a=m(r,`utf8`),c=a.replace(o,(e,t,n)=>`"${i.get(t)}${n}`);c!==a&&n(r,c)}}function $n(e){let t=[],n={},r=e.split(/\r?\n/),i=!1,a=!1;for(let e of r){let r=e.trim();if(/^use\s*\(/.test(r)){i=!0;continue}if(/^replace\s*\(/.test(r)){a=!0;continue}if(r===`)`){i=!1,a=!1;continue}if(i){let e=/^(\S+)/.exec(r);e&&!r.startsWith(`//`)&&t.push(e[1]);continue}let o=/^use\s+(\S+)/.exec(r);if(o){t.push(o[1]);continue}if(a||/^replace\s+/.test(r)){let e=Vn(r,a);e&&(n[e.targetModule]=e.targetVersion);continue}}return{use:t,replace:n}}function er(e){let t=`https://${tr(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[,e,i,...a]=r;return n.pathname=`/${e}/${i}/${Mt(t)}/${a.join(`/`)}`,n.toString()}else return t}function tr(e){return Ln.test(e)?o(e):e}function nr(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}const rr=/^\s*(?:-\s*)?uses:\s*['"]?([^'"#\s]+)['"]?/gm;function ir(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:Et.test(o)}}function ar(e,t){return e?e===`github.com`?`https://api.github.com`:`https://${e}/api/v1`:t}async function or(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await Ze(a);if(e)return e.body}try{let e=await Ct(a,i);if(!e.ok)return``;let t=await e.json(),n=t?.committer?.date||t?.author?.date||``;return n&&!i.noCache&&await Qe(a,`immutable`,n),n}catch{return``}}function sr(e,t){return jt(N(q(e))?.version??q(e),t)}function cr(e,t){let n=e;for(let{name:e,oldRef:r,newRef:i}of t){let t=RegExp(`(uses:\\s*['"]?(?:https?:\\/\\/)?)${K(e)}@${K(r)}(?![\\w.-])`,`g`);n=n.replace(t,`$1${e}@${i}`)}return n}const lr=[`.github`,`.gitea`,`.forgejo`],ur=RegExp(`(?:${lr.map(K).join(`|`)})\\/(?:workflows\\/[^/]+|(?:[^/]+\\/)*action)\\.ya?ml$`);function dr(e){return ur.test(e.replace(/\\/g,`/`))}function fr(e){let t=new Set;try{for(let n of h(s(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(l(s(e,`workflows`,n)))}catch{}try{for(let n of h(e,{recursive:!0,withFileTypes:!0}))!n.isFile()||!/^action\.ya?ml$/.test(n.name)||t.add(l(s(n.parentPath,n.name)))}catch{}return Array.from(t)}const pr=/^(v?\d+(?:\.\d+){0,2})(-.+)?$/,mr=/^\s*FROM\s+(?:--platform=\S+\s+)?(\S+)/gm,hr=/^\s*image:\s*['"]?([^\s'"#]+)['"]?/gm,gr=/^\s*container:\s*['"]?([^\s'"#{}]+:[^\s'"#{}:]+)['"]?\s*$/gm,_r=/^\s*(?:-\s*)?uses:\s*['"]?docker:\/\/([^'"#\s]+)['"]?/gm;function vr(e){let t=e.split(`/`);return t.length===1?{registry:null,namespace:`library`,repo:t[0]}:t.length===2&&!t[0].includes(`.`)&&!t[0].includes(`:`)?{registry:null,namespace:t[0],repo:t[1]}:{registry:t[0],namespace:t.slice(1,-1).join(`/`),repo:t[t.length-1]}}function yr(e){if(e=e.replace(/^docker:\/\//,``),e.includes(`@`))return null;let t=e.lastIndexOf(`:`);if(t===-1||e.lastIndexOf(`/`)>t)return null;let n=e.substring(0,t),r=e.substring(t+1);if(!r||!pr.test(r))return null;let{registry:i,namespace:a,repo:o}=vr(n);return{registry:i,namespace:a,repo:o,tag:r,fullImage:n}}function br(e){let t=pr.exec(e);return t?{version:t[1],suffix:t[2]||``}:null}function xr(e,t){let n=br(t);return n?jt(e,n.version,n.suffix):t}function Sr(e,t){let n=[];for(let r of e.matchAll(t)){let e=yr(r[1]);e&&n.push({ref:e,match:r[1]})}return n}async function Cr(e,t,n){let r={},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=100&ordering=last_updated&page=${e}`,o={headers:{"accept-encoding":`gzip, deflate, br`}},s=async e=>{try{let t=await st(a(e),n,o);return`body`in t?JSON.parse(t.body):null}catch{return null}},c=await s(1);if(!c)return r;for(let e of c.results||[])r[e.name]=e.tag_last_pushed||e.last_updated||``;let l=Math.min(Math.ceil((c.count||0)/100),10);if(l<2)return r;let u=await Promise.all(Array.from({length:l-1},(e,t)=>s(t+2)));for(let e of u)if(e)for(let t of e.results||[])r[t.name]=t.tag_last_pushed||t.last_updated||``;return r}async function wr(e,t,n,r){let i=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`;try{let e=await st(i,r,{headers:{"accept-encoding":`gzip, deflate, br`}});if(!(`body`in e))return null;let t=JSON.parse(e.body).digest;return typeof t==`string`?t:null}catch{return null}}async function Tr(e,t,n){let{registry:r,namespace:i,repo:a}=vr(e);if(r)throw Error(`Non-Docker-Hub registries are not yet supported: ${r}`);return[{tags:await Cr(i,a,n),name:e},t,null,e]}function Er(e,t,n,r,i,a){let o=br(t);if(!o)return null;let s=he(q(o.version))?.version;if(!s)return null;let c=s,l=``,u=``;for(let[t,s]of Object.entries(e)){let e=br(t);if(!e||e.suffix!==o.suffix)continue;let d=he(q(e.version))?.version;if(!d||a&&!U(d,a)||!et(s,r,i))continue;if(d===c){l&&Date.parse(s)>Date.parse(u)&&(l=t,u=s);continue}let f=I(c,d);!f||!n.has(f)||R(d,c)&&(c=d,l=t,u=s)}if(!l||c===s)return null;let d=xr(c,t);return d===t?null:{newTag:d,hubTag:l,date:u}}function Dr(e,t,n){let r=e;for(let[e,i]of Object.entries(t)){let t=e.split(`\0`)[1],a=i.oldOrig||i.old;for(let e of n)r=r.replace(e(K(t),K(a)),`$1${t}:${i.new}`)}return r}function Or(e,t){return Dr(e,t,[(e,t)=>RegExp(`(FROM\\s+(?:--platform=\\S+\\s+)?)${e}:${t}(?![\\w.-])`,`g`)])}function kr(e,t){return Dr(e,t,[(e,t)=>RegExp(`(image:\\s*['"]?)${e}:${t}(?![\\w.-])`,`g`)])}function Ar(e,t){return Dr(e,t,[(e,t)=>RegExp(`((?:container|image):\\s*['"]?)${e}:${t}(?![\\w.-])`,`g`),(e,t)=>RegExp(`(uses:\\s*['"]?docker://)${e}:${t}(?![\\w.-])`,`g`)])}const jr=[`Dockerfile`,`docker-compose.yml`,`docker-compose.yaml`];function Mr(e){return/^docker-.+\.ya?ml$/.test(e)}function Nr(e){return/^Dockerfile(\..+)?$/.test(e)}function Pr(e){return Nr(e)||Mr(e)}function Fr(e){return Nr(e)?mr:hr}function Ir(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const Lr=[`Makefile`,`makefile`,`GNUmakefile`];function Rr(e){return Lr.includes(e)||e.endsWith(`.mk`)}const zr=String.raw`^\s*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*`,Br=RegExp(`${zr}${String.raw`(\S+)@(v\d\S*)\s*$`}`),Vr=/^[^/\s]+\.[^/\s]+\//;function Hr(e){let t=e.indexOf(`#`);return t===-1?e:e.slice(0,t)}function Ur(e){let t=[];for(let n of e.split(/\r?\n/)){let e=Hr(n),r=Br.exec(e);if(!r)continue;let[,i,a]=r;Vr.test(i)&&t.push({installPath:i,version:a})}return t}const Wr=RegExp(`${zr}${String.raw`(\S+)\s*$`}`),Gr=/@(sha256:[0-9a-f]{64})$/;function Kr(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function qr(e){let t=null,n=e,r=Gr.exec(e);r&&(t=r[1],n=e.slice(0,r.index));let i=yr(n.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:n.slice(0,n.lastIndexOf(`:`)),ref:i,digest:t}}function Jr(e){let t=[];for(let n of e.split(/\r?\n/)){let e=Wr.exec(Hr(n));if(!e)continue;let r=qr(e[1]);r&&t.push(r)}return t}const Yr=/\/v\d+(?=\/|$)/;function Xr(e){let t=Yr.exec(e);return t?e.slice(0,t.index+t[0].length):null}function Zr(e){let t=e.split(`/`),n=[];for(let e=t.length;e>=2;e--)n.push(t.slice(0,e).join(`/`));return n}async function Qr(e,t){let n=Xr(e);if(n)return n;let r=Zr(e);return(await Promise.all(r.map(e=>t.doFetch(`${t.goProxyUrl}/${In(e)}/@latest`,{signal:AbortSignal.timeout(t.goProbeTimeout)}).then(t=>t.ok?e:null).catch(()=>null)))).find(Boolean)??null}async function $r(e,t,n,r,i,a){let o=await Qr(e,r);if(!o)return null;let[s]=await Yn(o,`tool`,q(t),n,r,i),c=ht(s,{mode:`go`,range:q(t),semvers:a.semvers,useGreatest:a.useGreatest,usePre:a.usePre,useRel:a.useRel,pinnedRange:a.pinnedRange,cooldownDays:a.cooldownDays,now:a.now},{allowDowngrade:a.allowDowngrade,matchesAny:W,isGoPseudoVersion:Un});if(!c)return null;let l=s.newPath??Bn(o,c),u=`${l}${e.slice(o.length)}`,d=jt(c,t);return u===e&&d===t?null:{newInstallPath:u,newVersion:d,date:s.Time??``,info:er(l)}}async function ei(e,t,n){let{namespace:r,repo:i,fullImage:a,tag:o}=e.ref,[s]=await Tr(a,`docker`,t),c=Er(s.tags,o,n.semvers,n.cooldownDays,n.now,n.pinnedRange);if(!c)return null;let l=null;return e.digest&&(l=await wr(r,i,c.hubTag,t),!l)?null:{newTag:c.newTag,newDigest:l,date:c.date,info:Ir(e.ref)}}function ti(e,t){for(let{oldSpec:n,newSpec:r}of t){let t=RegExp(`^([^#\\n]*?)${K(n)}(?=[\\s#]|$)`,`gm`);e=e.replace(t,`$1${r}`)}return e}const ni=new Map;async function ri(e,t,n){let r=`${rt(n.cratesIoUrl)}/api/v1/crates/${encodeURIComponent(e)}/versions?per_page=100`,i=n.noCache?void 0:ni.get(r);return i||(i=st(r,n,it()).then(t=>{`body`in t||At(t.res,r,e,n.cratesIoUrl);let i;try{i=JSON.parse(t.body)}catch{throw Error(`Invalid JSON from ${r}`)}let a=(i.versions||[]).filter(e=>!e.yanked),o={},s={};for(let e of a)e.num&&(o[e.num]={},s[e.num]=e.created_at||``);return{name:e,versions:o,time:s,"dist-tags":{latest:a[0]?.num??``}}}).catch(e=>{throw ni.delete(r),e}),ni.set(r,i)),[await i,t,null,e]}function ii(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];if(!me(a))continue;let o=t.get(i);o||t.set(i,o=[]),o.push(a)}return t}const ai=/^\d/;function oi(e,t){return ai.test(e)?wn(X(`^${e}`),t,`^${e}`).replace(/^\^/,``):wn(X(e),t,e)}function si(e,t,n){let r=e.get(t);if(!r)return;let i=ai.test(n)?`^${n}`:n,a;for(let e of r)U(e,i)&&(!a||R(e,a))&&(a=e);return a}const ci=Re.map(K).join(`|`);function li(e,t){let n=e;for(let[e,r]of Object.entries(t)){let[,t]=e.split(`\0`),i=r.oldOrig||r.old,a=r.new,o=K(t),s=K(i);n=n.replace(RegExp(`^(\\s*${o}\\s*=\\s*["'])${s}(["'].*)$`,`gm`),`$1${a}$2`),n=n.replace(RegExp(`^(\\s*${o}\\s*=\\s*\\{[^}\\n]*?\\bversion\\s*=\\s*["'])${s}(["'])`,`gm`),`$1${a}$2`),n=n.replace(RegExp(`(\\[(?:${ci})\\.${o}\\](?:(?!\\n\\[)[\\s\\S])*?version\\s*=\\s*["'])${s}(["'])`,`g`),`$1${a}$2`)}return n}function ui(e){return e.split(`|`)[0]}function di(e,t){let n=t===`.`?``:`|${t}`,r={};for(let[t,i]of Object.entries(e)){let[e,a]=t.split(`\0`),o=ui(e);e===`${o}${n}`&&(r[`${o}${a}`]=i)}return r}const fi=/[*?{[]/;async function pi(e,t,n,r=32){let i=e.filter(e=>!e.startsWith(`!`)),a=e.filter(e=>e.startsWith(`!`)).map(e=>e.slice(1)),o=new Set(a.flatMap(e=>f(e,{cwd:t})).map(e=>e.replace(/\\/g,`/`))),u=new Set,d=[];for(let e of i){let r=fi.test(e)?f(e,{cwd:t}).map(e=>l(s(t,e))):[l(s(t,e))];for(let e of r){let r=c(t,e).replace(/\\/g,`/`);if(o.has(r))continue;let i=s(e,n);u.has(i)||(u.add(i),d.push({absPath:i,memberPath:`./${r}`}))}}return(await G(d,async({absPath:e,memberPath:t})=>{try{return{absPath:e,content:await x(e,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}function mi(e){let t=[],n=e.split(/\r?\n/),r=!1;for(let e of n){if(/^packages\s*:/.test(e)){r=!0;continue}if(r){let n=e.trim();if(!n||n.startsWith(`#`))continue;if(!n.startsWith(`-`))break;let r=/^\s*-\s+['"]?([^'"#\s]+)['"]?/.exec(e);r&&t.push(r[1])}}return t}const hi={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},gi=new Set([`npm`,`pypi`,`go`,`cargo`,`actions`,`docker`,`make`]),_i=(e,t)=>typeof e==`string`?rt(e):typeof t==`function`?t():t;function vi(e,t){let n=new Map,r=new Set(e),i=t;for(;r.size;){for(let e of r){let t=s(i,e);try{u(t),n.set(e,t),r.delete(e)}catch{}}let e=o(i);if(e===i)break;i=e}return n}async function yi(e,t){let n=await G(e,async e=>{try{return[e,await x(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:t});return new Map(n)}function Z(e,t){t&&(e.date=t,e.age=je(t,{noAffix:!0}))}function bi(e){let t=0;for(let n of Object.keys(e))t+=Object.keys(e[n]).length;return t}function xi(e){console.error(`${Ve()} ${e}`)}function Q(e,t,n,r,i){if(i===`engines`&&Fe.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let a=t===`go`?tr(e):e;for(let t of r)if(t.test(e)||t.test(a))return!1;for(let t of n)if(t.test(e)||t.test(a))return!0;return!n.size}function Si(t){let n=new Set;if(t)for(let e of t){let t;try{t=p(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}if(t.isFile())n.add(l(e));else if(t.isDirectory()){for(let t of Object.keys(hi)){let r=s(e,t),i=null;try{i=p(r)}catch{}i?.isFile()&&n.add(l(r))}try{for(let t of h(e,{withFileTypes:!0}))t.isFile()&&(Pr(t.name)||Rr(t.name))&&n.add(l(s(e,t.name)))}catch{}let t=l(e).replace(/\\/g,`/`),r=lr.some(e=>t.endsWith(`${e}/workflows`)),i=!r&&lr.some(e=>t.endsWith(e)),a=r?[o(t)]:i?[t]:lr.map(e=>s(t,e));for(let e of a)for(let t of fr(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(lr),r=[...Object.keys(hi),...jr,...Lr,...lr];for(let[i,a]of vi(r,e()))if(t.has(i))for(let e of fr(a))n.add(e);else n.add(l(a));try{for(let t of h(e(),{withFileTypes:!0})){let r=Pr(t.name)&&!jr.includes(t.name),i=Rr(t.name)&&!Lr.includes(t.name);t.isFile()&&(r||i)&&n.add(l(s(e(),t.name)))}}catch{}}for(let e of n)a(e)===`go.work`&&n.delete(s(o(e),`go.mod`));for(let e of n)a(e)===`pnpm-workspace.yaml`&&n.delete(s(o(e),`package.json`));return n}function $(e,t){n===`win32`&&_(e,0),v(e,t,n===`win32`?{flag:`r+`}:void 0)}function Ci(e){let t={results:{}};for(let n of Object.keys(e))for(let[r,i]of Object.entries(e[n])){typeof i.oldPrint==`string`&&(i.old=i.oldPrint),typeof i.newPrint==`string`&&(i.new=i.newPrint),typeof i.oldOrig==`string`&&!yn(i.oldOrig)&&(i.old=n===`go`?nr(i.oldOrig):i.oldOrig),n===`go`&&(i.new=nr(i.new)),n===`actions`&&(i.old=q(i.old),i.new=q(i.new)),delete i.oldPrint,delete i.newPrint,delete i.oldOrig,delete i.date;let[e,a]=r.split(`\0`),o=t.results[n]??={};(o[e]??={})[a]=i}return t}let wi=!1;async function Ti(t={}){if(!wi){let{enableDnsCache:e}=await import(`./dns.js`);e(),wi=!0}let n={...t},c=n.sockets??25,u=n.timeout??0,d=_i(t.forgeapi,`https://api.github.com`),f=_i(t.pypiapi,`https://pypi.org`),p=_i(t.jsrapi,`https://jsr.io`),m=_i(t.goproxy,Nn),h=_i(t.cargoapi,`https://crates.io`),g=_i(t.dockerapi,`https://hub.docker.com`),_=Pn(),v=n.color||!n.noColor&&r.isTTY,y=e=>v?t=>i(e,String(t)):String,b=y(`magenta`),S=y(`green`),C=y(`red`),w={fetchTimeout:u||5e3,goProbeTimeout:u?u/2:2500,forgeApiUrl:d,pypiApiUrl:f,jsrApiUrl:p,goProxyUrl:m,cratesIoUrl:h,dockerApiUrl:g,doFetch:async(e,t)=>{n.verbose&&xi(`${b(t?.method||`GET`)} ${e}`);let r=await at(e,t);return n.verbose&&xi(`${r.ok?S(r.status):C(r.status)} ${e}`),r},noCache:!!n.noCache},ee=Vt(n.greatest),T=Vt(n.prerelease),E=Vt(n.release),D=Vt(n.patch),ne=Vt(n.minor),re=Vt(n.allowDowngrade),O=n.modes?.length?new Set(n.modes):gi,ie=(n.overrides??[]).map(e=>({include:e.include?.length?Y(e.include):void 0,exclude:e.exclude?.length?Y(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:We(String(e.cooldown))})),ae=(e,t)=>!(e.include&&!W(t,e.include)||e.exclude&&W(t,e.exclude)),oe=ie.some(e=>!!e.cooldownDays);O.has(`actions`)&&bt();let se=new Map;function k(e){let t=se.get(e);if(!t){let n=W(e,ee),r=W(e,T),i=W(e,E),a=W(e,D),o=W(e,ne),s=W(e,re),c;for(let t of ie)ae(t,e)&&(t.greatest!==void 0&&(n=t.greatest),t.prerelease!==void 0&&(r=t.prerelease),t.release!==void 0&&(i=t.release),t.patch!==void 0&&(a=t.patch),t.minor!==void 0&&(o=t.minor),t.allowDowngrade!==void 0&&(s=t.allowDowngrade),t.cooldownDays!==void 0&&(c=t.cooldownDays));let l=new Set(a?[`patch`]:o?[`patch`,`minor`]:[`patch`,`minor`,`major`]);t={useGreatest:n,usePre:r,useRel:i,semvers:l,allowDowngrade:s,cooldownOverride:c},se.set(e,t)}return t}let ce=Y(n.include??[]),le=Y(n.exclude??[]),ue=n.pin??{},A={},j={},M={},de=Date.now(),fe=e=>{let t=n.cooldown??e;return t?We(String(t)):0},pe=e(),N=e=>e.replace(`${pe}/`,``).replace(`${pe}\\`,``),P=0,F=(e,t,n,r,i,a)=>{A[e][`${t}${n}${r}`]={old:i,oldOrig:a}},he=Si(n.files?.length?new Set(n.files):!1),I=await yi(Array.from(he).filter(e=>{if(dr(e))return O.has(`actions`)||O.has(`docker`);let t=a(e);if(Pr(t))return O.has(`docker`);if(Rr(t))return O.has(`make`);let n=hi[t];return!!n&&O.has(n)}),c),ge={},L={},R={},_e=[],z=null,ve=[],ye=!1,B=[],be=!1,xe=[],Se=[],Ce=[],V={};async function H(e){let t=await Wt(e);return{modeConfig:t,modeInclude:t.include?.length?Y([...n.include??[],...t.include]):ce,modeExclude:t.exclude?.length?Y([...n.exclude??[],...t.exclude]):le,pin:{...t.pin,...ue}}}function we(e,t){return n.types?.length?n.types:t?.types?.length?t.types:e===`npm`?Pe:e===`pypi`?Ie:e===`go`?n.indirect?Le:Le.filter(e=>e!==`indirect`):e===`cargo`?Re:[]}function Te(e,t,n,r){A.docker??={};for(let i of n)for(let{ref:n}of Sr(e,i)){if(!Q(n.fullImage,`docker`,r.include,r.exclude,`docker`))continue;let e=`${t}${n.fullImage}`;if(A.docker[e])continue;let i=br(n.tag);i&&(A.docker[e]={old:i.version,oldOrig:n.tag},Se.push({key:e,fullImage:n.fullImage,ref:n,filePin:r.pin,fileCooldownDays:r.cooldownDays}))}}async function U(e){let t=await Wt(e);return{include:t.include?.length?Y([...n.include??[],...t.include]):ce,exclude:t.exclude?.length?Y([...n.exclude??[],...t.exclude]):le,pin:t.pin??{},cooldownDays:fe(t.cooldown)}}for(let e of he){if(dr(e)){let t=O.has(`actions`),n=O.has(`docker`);if(!t&&!n)continue;let r=I.get(e),i=N(e),a=await U(o(e));if(ge[i]={absPath:e,content:r},t){A.actions??={};let e=Array.from(r.matchAll(rr),e=>ir(e[1])).filter(e=>e!==null);for(let t of e){if(!Q(t.name,`actions`,a.include,a.exclude,`actions`))continue;let e=`${i}${t.name}`;A.actions[e]||(A.actions[e]={old:t.ref},xe.push({...t,key:e,apiUrl:ar(t.host,d),filePin:a.pin,fileCooldownDays:a.cooldownDays}))}}n&&(L[i]={absPath:e,content:r,fileType:`workflow`},Te(r,i,[hr,gr,_r],a));continue}let t=a(e);if(Pr(t)){if(!O.has(`docker`))continue;let n=I.get(e),r=N(e),i=Nr(t)?`dockerfile`:`compose`,a=await U(o(e));L[r]={absPath:e,content:n,fileType:i},Te(n,r,[Fr(t)],a);continue}if(Rr(t)){if(!O.has(`make`))continue;let t=I.get(e),n=N(e),r=await U(o(e));R[n]={absPath:e,content:t},A.make??={};let i={projectDir:o(e),filePin:r.pin,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of Ur(t)){if(!Q(e,`make`,r.include,r.exclude,`make`))continue;let t=`${n}${e}`;A.make[t]||(A.make[t]={old:q(a),oldOrig:a},Ce.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of Jr(t)){if(!Q(e.writtenImage,`make`,r.include,r.exclude,`make`))continue;let t=`${n}${e.writtenImage}`;if(A.make[t])continue;let a=br(e.ref.tag);if(!a)continue;let o=Kr(e.writtenImage,e.ref.tag,e.digest);A.make[t]={old:a.version,oldOrig:e.ref.tag},Ce.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let n=hi[t];if(!O.has(n))continue;if(t===`go.work`){A[n]??={};let t=o(l(e)),r=I.get(e);z={file:e,content:r};let i=$n(r),[a,u]=await Promise.all([H(t),G(i.use,async e=>{let n=l(s(t,e,`go.mod`));try{return{usePath:e,modPath:n,content:await x(n,`utf8`)}}catch{return null}},{concurrency:c})]),{modeConfig:d,modeInclude:f,modeExclude:p,pin:m}=a,h=we(n,d);V[n]={modeConfig:d,projectDir:t,pin:m};for(let e of u){if(!e)continue;let{usePath:t,modPath:r,content:i}=e,a=qn(i),s=o(r);_e.push({absPath:r,content:i,projectDir:s,usePath:t});let c=t===`.`?``:`|${t}`;for(let e of h){let t=a[e]||{};for(let[r,i]of Object.entries(t))Q(r,n,f,p,e)&&F(n,e,c,r,nr(i),q(i))}}for(let[e,t]of Object.entries(i.replace))Q(e,n,f,p,`replace`)&&F(n,`replace`,``,e,nr(t),q(t));P+=Object.keys(A[n]).length;continue}if(t===`go.mod`&&z||t===`package.json`&&be)continue;if(t===`Cargo.toml`){A[n]??={};let t=Object.keys(A[n]).length,r=I.get(e),i=te(r),a=o(l(e)),s=vi([`Cargo.lock`],a).get(`Cargo.lock`),u=i.workspace?.members,d=Array.isArray(u)&&u.length,[f,p,m]=await Promise.all([H(a),s?x(s,`utf8`):Promise.resolve(null),d?pi(u,a,`Cargo.toml`,c):Promise.resolve([])]),{modeConfig:h,modeInclude:g,modeExclude:_,pin:v}=f,y=we(n,h),b=p?ii(p):new Map,S=(e,t)=>{for(let r of y){let i=ze(e,r)||{};if(!(typeof i!=`object`||Array.isArray(i))){for(let[e,a]of Object.entries(i))if(Q(e,n,g,_,r))if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)){let i=String(a.version);Ee(i)&&F(n,r,t,e,si(b,e,i)??X(i),i)}else typeof a==`string`&&Ee(a)&&F(n,r,t,e,si(b,e,a)??X(a),a)}}};if(d){ye=!0,V[n]={modeConfig:h,projectDir:a,pin:v},S(i,``),ve.push({absPath:l(e),content:r,memberPath:`.`});for(let e of m){ve.push(e);try{S(te(e.content),`|${e.memberPath}`)}catch(t){throw Error(`Error parsing ${e.absPath}: ${t.message}`)}}}else{let t=M[n]??=[],o=!t.length,s=o?`.`:N(e);t.push({absPath:l(e),content:r,memberPath:s,projectDir:a,modeConfig:h,pin:v,modeCooldownDays:fe(h.cooldown)}),o&&(V[n]={modeConfig:h,projectDir:a,pin:v}),S(i,s===`.`?``:`|${s}`)}P+=Object.keys(A[n]).length-t;continue}if(t===`pnpm-workspace.yaml`){A[n]??={};let t=o(l(e)),r=I.get(e);be=!0;let i=mi(r),a=s(t,`package.json`),[u,d,f]=await Promise.all([H(t),x(a,`utf8`).catch(()=>null),pi(i,t,`package.json`,c)]),{modeConfig:p,modeInclude:m,modeExclude:h,pin:g}=u,_=we(n,p);V[n]={modeConfig:p,projectDir:t,pin:g};let v=(e,t)=>{for(let r of _){let i=e[r]||{};if(typeof i==`string`){let[e,a]=i.split(`@`);Q(e,n,m,h,r)&&F(n,r,t,e,X(a),a)}else if(typeof i==`object`&&!Array.isArray(i))for(let[e,a]of Object.entries(i))Q(e,n,m,h,r)&&(yn(a)?F(n,r,t,e,xn(a,e).version,a):Ee(a)?F(n,r,t,e,X(a),a):bn(a)?F(n,r,t,e,`0.0.0`,a):j[`${r}${t}${e}`]={old:a})}};if(d!==null){let e;try{e=JSON.parse(d)}catch(e){throw Error(`Error parsing ${a}: ${e.message}`)}B.push({absPath:l(a),content:d,memberPath:`.`}),v(e,``)}for(let e of f){let t;try{t=JSON.parse(e.content)}catch(t){throw Error(`Error parsing ${e.absPath}: ${t.message}`)}B.push(e),v(t,`|${e.memberPath}`)}P+=Object.keys(A[n]).length+Object.keys(j).length;continue}A[n]??={};let r=o(l(e)),{modeConfig:i,modeInclude:u,modeExclude:f,pin:p}=await H(r),m=we(n,i),h=M[n]??=[],g=!h.length,_=g?`.`:N(e),v=_===`.`?``:`|${_}`,y=I.get(e);h.push({absPath:l(e),content:y,memberPath:_,projectDir:r,modeConfig:i,pin:p,modeCooldownDays:fe(i.cooldown)});let b={};try{n===`npm`?b=JSON.parse(y):n===`pypi`?b=te(y):n===`go`&&(b=qn(y))}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}let S=Object.keys(A[n]).length,C=Object.keys(j).length;for(let e of m){let t;if(t=n===`npm`||n===`go`?b[e]||{}:ze(b,e)||{},Array.isArray(t)&&n===`pypi`)for(let{name:r,version:i}of Ne(t))Q(r,n,u,f,e)&&F(n,e,v,r,X(i),i);else if(typeof t==`string`){let[r,i]=t.split(`@`);Q(r,n,u,f,e)&&F(n,e,v,r,X(i),i)}else for(let[r,i]of Object.entries(t))Q(r,n,u,f,e)&&(n===`npm`&&yn(i)?F(n,e,v,r,xn(i,r).version,i):n!==`go`&&Ee(i)?F(n,e,v,r,X(i),i):n===`npm`&&bn(i)?F(n,e,v,r,`0.0.0`,i):n===`npm`?j[`${e}${v}${r}`]={old:i}:n===`go`&&F(n,e,v,r,nr(i),q(i)))}P+=Object.keys(A[n]).length-S+(Object.keys(j).length-C),g&&(V[n]={modeConfig:i,projectDir:r,pin:p})}if(A.actions&&(P+=Object.keys(A.actions).length),A.docker&&(P+=Object.keys(A.docker).length),A.make&&(P+=Object.keys(A.make).length),P===0)return{results:{},message:`No dependencies found, nothing to do.`};let De=[],Oe={registry:n.registry};for(let e of Object.keys(V)){let t=A[e]&&Object.keys(A[e]).length>0,n=e===`npm`&&Object.keys(j).length>0;if(!t&&!n)continue;let{modeConfig:r,projectDir:i,pin:a}=V[e],o=fe(r.cooldown);De.push((async()=>{let t=new Map;for(let n of M[e]??[])n.memberPath!==`.`&&t.set(`|${n.memberPath}`,n);let n={modeConfig:r,projectDir:i,pin:a,modeCooldownDays:o},s=e=>{let r=e.slice(ui(e).length);return r&&t.get(r)||n},l=new Map,u=e=>{for(let[t,{date:n}]of Object.entries(e)){if(!n)continue;let{modeCooldownDays:r}=s(t.split(`\0`)[0]);if(!r&&!oe)continue;let[,i]=t.split(`\0`),a=k(i).cooldownOverride??r;a&&!et(n,a,de)&&delete e[t]}};if(await G(Object.keys(A[e]),async t=>{let[n,r]=t.split(`\0`),i=ui(n),{modeConfig:a,projectDir:o,pin:c,modeCooldownDays:u}=s(n),d=A[e][t],f=null;if(e===`npm`){let{oldOrig:n}=d;if(n&&yn(n))f=await Sn(r,i,w);else if(n&&bn(n))try{f=await _n(r,i,a,Oe,w)}catch{delete A[e][t];return}else f=await _n(r,i,a,Oe,w)}else f=e===`go`?await Yn(r,i,d.oldOrig||d.old,o,w,_):e===`cargo`?await ri(r,i,w):await On(r,i,w);if(!f)return;let[p,,m]=f;if(p.error)throw Error(p.error);let{useGreatest:h,usePre:g,useRel:v,semvers:y,allowDowngrade:b,cooldownOverride:x}=k(p.name),S=d.old,C=d.oldOrig,ee=c[r],te=x??u,T=ht(p,{usePre:g,useRel:v,useGreatest:h,semvers:y,range:S,mode:e,pinnedRange:ee,cooldownDays:te||void 0,now:te?de:void 0},{allowDowngrade:b,matchesAny:W,isGoPseudoVersion:Un}),E=``;if([`go`,`pypi`].includes(e)&&T)E=T;else if(e===`cargo`&&T&&C)E=oi(C,T);else if(T)if(C&&bn(C))E=String(on()[`save-exact`])===`true`?T:`^${T}`;else if(C&&yn(C)){let e=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/.exec(C);e?E=`${e[1]}${T}`:C.startsWith(`jsr:`)&&(E=`jsr:${T}`)}else E=wn(S,T,C);if(!T||T===S||C&&C===E){delete A[e][t];return}let D=``;e===`pypi`&&p.releases?.[T]?.[0]?.upload_time_iso_8601?D=p.releases[T][0].upload_time_iso_8601:e===`go`&&p.Time?D=p.Time:e===`cargo`&&p.time?.[T]&&(D=p.time[T]),d.new=E,C&&yn(C)&&(d.newPrint=T),e===`npm`?l.set(t,{name:r,promise:vn(p.name,T,a,Oe,w)}):e===`pypi`?d.info=Nt(p,m,p.info.name):e===`go`?d.info=er(p.newPath||r):e===`cargo`&&(d.info=`https://crates.io/crates/${r}`),D&&Z(d,D)},{concurrency:c}),await Promise.all(Array.from(l,async([t,{name:n,promise:r}])=>{let i=await r,a=A[e][t];a&&(a.info=Nt({repository:i.repository,homepage:i.homepage},null,n),i.date&&Z(a,i.date))})),e===`npm`&&Object.keys(j).length){let t=(await G(Object.entries(j),([e,t])=>Dn(e,t,w),{concurrency:c})).filter(e=>e!==null);for(let n of t){let{key:t,newRange:r,user:i,repo:a,oldRef:o,newRef:s,newDate:c}=n;A[e][t]={old:j[t].old,new:r,oldPrint:Et.test(o)?o.substring(0,7):o,newPrint:Et.test(s)?s.substring(0,7):s,info:`https://github.com/${i}/${a}`},c&&Z(A[e][t],c)}}u(A[e])})())}if(xe.length&&De.push((async()=>{let e=new Map;for(let t of xe){let n=`${t.apiUrl}/${t.owner}/${t.repo}`,r=e.get(n);r||e.set(n,r={apiUrl:t.apiUrl,owner:t.owner,repo:t.repo,infos:[]}),r.infos.push(t)}await G(e.values(),async({apiUrl:e,owner:t,repo:n,infos:r})=>{let i=await kt(e,t,n,w),a=[],o=new Map,s=new Map,l=new Map;for(let e of i){s.set(e.name,e);let t=q(e.name);me(t)&&(a.push(t),o.has(t)||o.set(t,e.name)),e.commitSha&&l.set(e.commitSha,e.name)}let u=new Map;async function d(r){if(u.has(r))return u.get(r);let i=await or(e,t,n,r,w);return u.set(r,i),i}async function f(e){let t=new Set;for(let n=0;n<20;n++){let n=mt({},t.size?a.filter(e=>!t.has(e)):a,e);if(!n||n===e.range)return null;let r=o.get(n);if(!r){t.add(n);continue}let i=s.get(r)?.commitSha||``;if(!e.cooldownDays)return{version:n,tag:r,commitSha:i,date:``};let c=i?await d(i):``;if(et(c,e.cooldownDays,e.now))return{version:n,tag:r,commitSha:i,date:c};t.add(n)}return null}await G(r,async({key:e,host:r,ref:i,name:a,isHash:o,filePin:c,fileCooldownDays:u})=>{let p=A.actions[e],m=`https://${r||`github.com`}/${t}/${n}`,h=ue[a]??c[a];if(o){let{usePre:t,useRel:n,cooldownOverride:r}=k(a),o=r??u,s=await f({range:`0.0.0`,semvers:new Set([`patch`,`minor`,`major`]),usePre:t,useRel:n,useGreatest:!0,pinnedRange:h,cooldownDays:o||void 0,now:o?de:void 0});if(!s){delete A.actions[e];return}let{tag:c,commitSha:d,date:g}=s;if(!d||d===i||d.startsWith(i)||i.startsWith(d)){delete A.actions[e];return}let _=l.get(i);if(!_){for(let[e,t]of l)if(e.startsWith(i)){_=t;break}}p.old=i,p.new=d.substring(0,i.length),p.oldPrint=_||i.substring(0,7),p.newPrint=c,p.info=m,g&&Z(p,g)}else{let t=J(q(i));if(!t){delete A.actions[e];return}let{usePre:n,useRel:r,semvers:o,cooldownOverride:c}=k(a),l=c??u,g=await f({range:t,semvers:o,usePre:n,useRel:r,useGreatest:!0,pinnedRange:h,cooldownDays:l||void 0,now:l?de:void 0});if(!g){delete A.actions[e];return}let{tag:_,commitSha:v,date:y}=g,b=sr(_,i);if(b===i){delete A.actions[e];return}if(p.new=s.has(b)?b:_,p.info=m,v&&y)Z(p,y);else if(v){let e=await d(v);e&&Z(p,e)}}},{concurrency:c})},{concurrency:c}),Object.keys(A.actions).length||delete A.actions})()),Se.length&&De.push((async()=>{let e=new Map;for(let t of Se){let n=e.get(t.fullImage);n||e.set(t.fullImage,n=[]),n.push(t)}await G(e.entries(),async([e,t])=>{let n;try{let[t]=await Tr(e,`docker`,w);n=t}catch{for(let e of t)delete A.docker[e.key];return}for(let e of t){let t=A.docker[e.key],r=t.oldOrig||t.old,{semvers:i,cooldownOverride:a}=k(e.fullImage),o=ue[e.fullImage]??e.filePin[e.fullImage],s=a??e.fileCooldownDays,c=Er(n.tags,r,i,s||void 0,s?de:void 0,o);if(!c){delete A.docker[e.key];continue}t.new=c.newTag,t.info=Ir(e.ref),Z(t,c.date)}},{concurrency:c}),Object.keys(A.docker).length||delete A.docker})()),Ce.length&&De.push((async()=>{await G(Ce,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,cooldownOverride:o}=k(e.name),s=ue[e.name]??e.filePin[e.name],c=o??e.fileCooldownDays,l={semvers:i,useGreatest:t,usePre:n,useRel:r,allowDowngrade:a,pinnedRange:s,cooldownDays:c||void 0,now:c?de:void 0},u=A.make[e.key];if(e.kind===`go`){let t=await $r(e.installPath,e.version,e.projectDir,w,_,l).catch(()=>null);if(!t){delete A.make[e.key];return}e.newSpec=`${t.newInstallPath}@${t.newVersion}`,u.new=t.newVersion,u.info=t.info,t.date&&Z(u,t.date)}else{let t=await ei(e.image,w,l).catch(()=>null);if(!t){delete A.make[e.key];return}e.newSpec=Kr(e.image.writtenImage,t.newTag,e.image.digest?t.newDigest:null),u.new=t.newTag,u.info=t.info,t.date&&Z(u,t.date)}},{concurrency:c}),Object.keys(A.make).length||delete A.make})()),await Promise.all(De),!bi(A))return{results:{},message:`All dependencies are up to date.`};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=di(A[e],r.memberPath);Object.keys(t).length&&$(r.absPath,n(r.content,t))}},t=new Map;if(A.actions)for(let[e,n]of Object.entries(A.actions)){let[r,i]=e.split(`\0`),a=t.get(r);a||t.set(r,a=[]),a.push({name:i,oldRef:n.old,newRef:n.new})}let n=new Map;if(A.docker)for(let[e,t]of Object.entries(A.docker)){let[r]=e.split(`\0`),i=n.get(r);i||n.set(r,i={}),i[e]=t}let r=new Map;if(A.make)for(let e of Ce){if(!e.newSpec||!A.make[e.key])continue;let t=e.key.split(`\0`)[0],n=r.get(t);n||r.set(t,n=[]),n.push({oldSpec:e.oldSpec,newSpec:e.newSpec})}let i=Object.keys(A).sort((e,t)=>(e===`docker`)-+(t===`docker`));for(let a of i)if(Object.keys(A[a]).length){if(a===`actions`){for(let[e,n]of t){let{absPath:t,content:r}=ge[e]||{};if(!t)continue;let i=cr(r,n);$(t,i),L[e]&&(L[e].content=i)}continue}if(a===`docker`){for(let[e,t]of n){let n=L[e];if(!n)continue;let{absPath:r,content:i,fileType:a}=n;$(r,(a===`dockerfile`?Or:a===`compose`?kr:Ar)(i,t))}continue}if(a===`make`){for(let[e,t]of r){let n=R[e];n&&$(n.absPath,ti(n.content,t))}continue}if(a===`go`&&z){for(let e of _e){let t=di(A[a],e.usePath);if(!Object.keys(t).length)continue;let[n,r]=Zn(e.content,t);n!==e.content&&$(e.absPath,n),Qn(e.projectDir,r,$)}let e={};for(let[t,n]of Object.entries(A[a]))t.split(`\0`)[0]===`replace`&&(e[t]=n);if(Object.keys(e).length){let[t]=Zn(z.content,e);t!==z.content&&$(z.file,t)}}else if(a===`go`)for(let e of M.go??[]){let t=di(A[a],e.memberPath);if(!Object.keys(t).length)continue;let[n,r]=Zn(e.content,t);$(e.absPath,n),Qn(e.projectDir,r,$)}else if(a===`cargo`&&ye)e(a,ve,li);else if(a===`cargo`)e(a,M.cargo??[],li);else if(a===`npm`&&be)e(a,B,Cn);else{let t=a===`npm`?Cn:kn;e(a,M[a]??[],t)}}}return Ci(A)}function Ei(e,t){if(t.some(e=>e===`-h`||e===`--help`||e===`-v`||e===`--version`))return[];let n=(...t)=>t.some(t=>d(s(e,t))),r=new Set;return n(`package.json`,`pnpm-workspace.yaml`)&&(r.add(`https://registry.npmjs.org/`),r.add(`https://jsr.io/`),r.add(`https://api.github.com/`)),n(`pyproject.toml`)&&r.add(`https://pypi.org/`),n(`Cargo.toml`)&&r.add(`https://crates.io/`),n(`go.mod`,`go.work`)&&r.add(`https://proxy.golang.org/`),n(...jr)&&r.add(`https://hub.docker.com/`),n(`.github/workflows`)&&(r.add(`https://api.github.com/`),r.add(`https://hub.docker.com/`)),Array.from(r)}function Di(e){let t=``,n=0,r=e.length,i=-1;for(;n<r;){let a=e[n];if(a===`"`){for(i=-1,t+=a,n++;n<r;){let i=e[n];if(t+=i,n++,i===`\\`&&n<r){t+=e[n],n++;continue}if(i===`"`)break}continue}if(a===`/`&&n+1<r&&e[n+1]===`/`){for(n+=2;n<r&&e[n]!==`
7
- `;)n++;continue}if(a===`/`&&n+1<r&&e[n+1]===`*`){for(n+=2;n<r&&(e[n]!==`*`||e[n+1]!==`/`);)n++;n+=2;continue}if(a===`,`){i=t.length,t+=a,n++;continue}if(a===`}`||a===`]`){i>=0&&(t=t.slice(0,i)+t.slice(i+1)),i=-1,t+=a,n++;continue}/\s/.test(a)||(i=-1),t+=a,n++}return JSON.parse(t)}export{Ee as _,Rt as a,zt as c,nt as d,tt as f,Ge as g,He as h,tr as i,Lt as l,Ke as m,Ei as n,Wt as o,Me as p,Ti as r,Pt as s,Di as t,Bt as u};
3
+ `:``)+r[n]}e=n,f[p]=ie(m+t+m)}else f[p]=ie(u)}return t}function ne(e,t){let n=e.trim();if(n)for(let e of se(n)){let n=e.trim();n&&t.push(ie(n))}}function re(e){let t=e.slice(0,3);return t!==`"""`&&t!==`'''`||e.includes(t,3)?``:t}function ie(e){if(e.startsWith(`[`)){let t=[],n=de(e,`]`);return ne(e.slice(1,n<0?e.length:n),t),t}return e.startsWith(`{`)?ae(e):e.startsWith(`"""`)?A(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?A(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):D(e)}function D(e){return e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function ae(e){let t={},n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of se(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=ie(e.slice(n+1).trim())}return t}function oe(e){let t=0,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===`{`||i===`[`)t++;else if((i===`}`||i===`]`)&&(t--,t===0))return!0}return!1}function se(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 ce(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 O(e){let t=ue(e,`#`);return t<0?e:e.slice(0,t)}function*le(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 i===`"`||i===`'`?n=i:i===t&&(yield r)}}function ue(e,t){return le(e,t).next().value??-1}function de(e,t){let n=-1;for(let r of le(e,t))n=r;return n}function k(e,t){for(let n of t)(!(n in e)||typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]={}),e=e[n];return e}function A(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
+ `;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}const j=/^v?(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*))?(?:\+[a-zA-Z0-9._-]+)?$/,M=new Map;function N(e){if(typeof e!=`string`)return null;let t=M.get(e);if(t!==void 0)return t;let n=j.exec(e.trim());if(!n)return M.set(e,null),null;let r=Number(n[1]),i=Number(n[2]),a=Number(n[3]),o=n[4]?n[4].split(`.`).map(e=>/^\d+$/.test(e)?Number(e):e):[],s={major:r,minor:i,patch:a,prerelease:o,version:`${r}.${i}.${a}${o.length?`-${o.join(`.`)}`:``}`};return M.set(e,s),s}function fe(e,t){let n=typeof e==`number`,r=typeof t==`number`;return n&&r?e-t:n?-1:r?1:e<t?-1:+(e>t)}function P(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function F(e,t){let n=P(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=fe(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function pe(e){return N(e)?.version??null}function I(e){return N(e)}const me=new Map,L=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function he(e){if(typeof e!=`string`)return null;let t=me.get(e);if(t!==void 0)return t;let n=L.exec(e);if(!n)return me.set(e,null),null;let r={version:`${n[1]}.${n[2]||`0`}.${n[3]||`0`}`};return me.set(e,r),r}function R(e,t){let n=N(e),r=N(t);return!n||!r?null:ge(n,r)}function ge(e,t){if(e.version===t.version)return null;let n=F(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(P(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 _e(e,t){let n=N(e),r=N(t);return n&&r?F(n,r):null}function z(e,t){return(_e(e,t)??-1)>0}function ve(e,t){return(_e(e,t)??-1)>=0}function ye(e,t){return(_e(e,t)??1)<0}function be(e){let t=/^(>=|<=|>|<|=)?\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*)?)$/.exec(e.trim());if(!t)return null;let n=t[2],r=N(`${n}.${t[3]??`0`}.${t[4]??`0`}${t[5]||``}`);return r?{op:t[1]||`=`,semver:r}:null}function xe(e,t){let n=F(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 n===0}}function B(e,t,n){return`${e}.${t}.${n}-0`}function Se(e){return e.replace(/~\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:\.[xX*])*((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i)=>{let a=Number(t);if(n===void 0)return`>=${a}.0.0 <${B(a+1,0,0)}`;let o=Number(n);return`>=${a}.${o}.${r===void 0?0:Number(r)}${i||``} <${B(a,o+1,0)}`})}function Ce(e){return e.replace(/\^\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:\.[xX*])*((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i)=>{let a=Number(t),o=i||``;if(n===void 0)return`>=${a}.0.0 <${B(a+1,0,0)}`;let s=Number(n);if(r===void 0)return a===0?`>=${a}.${s}.0 <${B(a,s+1,0)}`:`>=${a}.${s}.0 <${B(a+1,0,0)}`;let c=Number(r);return a===0?s===0?`>=${a}.${s}.${c}${o} <${B(a,s,c+1)}`:`>=${a}.${s}.${c}${o} <${B(a,s+1,0)}`:`>=${a}.${s}.${c}${o} <${B(a+1,0,0)}`})}function we(e){return e.replace(/v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)\s+-\s+v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i,a,o,s,c)=>{let l=Number(t),u=n===void 0?0:Number(n),d=r===void 0?0:Number(r),f=i||``,p=Number(a),m;return m=s===void 0?o===void 0?`<${B(p+1,0,0)}`:`<${B(p,Number(o)+1,0)}`:`<=${p}.${Number(o)}.${Number(s)}${c||``}`,`>=${l}.${u}.${d}${f} ${m}`})}function V(e,t,n,r){return!e||e===`=`?r?`>=${t}.0.0 <${B(t+1,0,0)}`:`>=${t}.${n}.0 <${B(t,n+1,0)}`:e===`>`?r?`>=${t+1}.0.0`:`>=${t}.${n+1}.0`:e===`<=`?r?`<${B(t+1,0,0)}`:`<${B(t,n+1,0)}`:e===`<`?r?`<${t}.0.0-0`:`<${t}.${n}.0-0`:r?`>=${t}.0.0`:`>=${t}.${n}.0`}function Te(e){return/^\s*[*xX]\s*$/.test(e)?`>=0.0.0`:(e=e.replace(/(>=|<=|>|<|=)?\s*v?(\d+)\.(\d+)\.[xX*]/g,(e,t,n,r)=>V(t,Number(n),Number(r),!1)),e=e.replace(/(>=|<=|>|<|=)?\s*v?(\d+)\.[xX*](?:\.[xX*])?/g,(e,t,n)=>V(t,Number(n),0,!0)),e=e.replace(/(^|[\s|])(>=|<=|>|<|=)?\s*v?(\d+)\.(\d+)(?=\s|$)/g,(e,t,n,r,i)=>`${t}${V(n,Number(r),Number(i),!1)}`),e=e.replace(/(^|[\s|])(>=|<=|>|<|=)?\s*v?(\d+)(?=\s|$)/g,(e,t,n,r)=>`${t}${V(n,Number(r),0,!0)}`),e)}const Ee=new Map;function De(e){let t=Ee.get(e);if(t!==void 0)return t;let n=e.split(`||`).map(e=>e.trim()),r=[];for(let t of n){if(!t){r.push([]);continue}t=we(t),t=Ce(t),t=Se(t),t=Te(t),t=t.replace(/(>=|<=|>|<|=)\s+/g,`$1`),t=t.replace(/(^|[\s])v?(\d+\.\d+\.\d+(?:-[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*)?)\b/g,(e,t,n)=>`${t}=${n}`);let n=t.split(/\s+/).filter(Boolean),i=[];for(let t of n){let n=be(t);if(!n)return Ee.set(e,null),null;i.push(n)}if(i.length===0)return Ee.set(e,null),null;r.push(i)}let i=r.length?r:null;return Ee.set(e,i),i}function Oe(e,t){return t.some(t=>!xe(e,t))?!1:e.prerelease.length>0?t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch):!0}function H(e,t){let n=N(e);if(!n)return!1;let r=De(t);if(!r)return!1;for(let e of r)if(e.length===0||Oe(n,e))return!0;return!1}function ke(e){return typeof e==`string`&&De(e)?e:null}const Ae=[[1e3,6e4,`sec`],[6e4,36e5,`min`],[36e5,864e5,`hour`],[864e5,6048e5,`day`],[6048e5,2628e6,`week`],[2628e6,31536e6,`month`],[31536e6,1/0,`year`]],je={"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`},Me={sec:`second`,min:`minute`};function Ne(e){return e instanceof Date?e.getTime():typeof e==`string`?Date.parse(e):e}function Pe(e,{now:t,noAffix:n=!1,times:r=Ae,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=je,longUnits:l=!1}={}){let u=Ne(e),d=t===void 0?Date.now():Ne(t);if(u!==u)return o||String(e);let f=d-u,p=f<0;if(p&&(f=-f),f<i)return a;let m=0,h=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(!(f>=t[1])){m=f/t[0]|0,h=(l&&Me[t[2]]||t[2])+(m>1?`s`:``);break}}let g=`${m} ${h}`,_;return _=n?g:p?`in ${g}`:`${g} ago`,s?c[_]??_:_}function Fe(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}function Ie(e){let t=[];for(let n of e){let e=/^([^<>=~!]+)(?:==|>=?|<=?|~=)([0-9.a-z]+)$/.exec(n.replaceAll(/\s+/g,``));if(!e)continue;let r=e[1].replace(/\[.*?\]$/,``);r&&t.push({name:r,version:e[2]})}return t}const Le=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`packageManager`],Re=[`node`,`deno`,`bun`],ze=[`project.dependencies`,`project.optional-dependencies`,`dependency-groups.dev`,`dependency-groups.lint`,`dependency-groups.test`],Be=[`deps`,`indirect`,`replace`,`tool`],Ve=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`];function U(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 He(e,t){return t.split(`.`).reduce((e,t)=>e?.[t]??null,e)}function Ue(e){return e.split(`,`).filter(Boolean)}function We(){let e=new Date,t=String(e.getMonth()+1).padStart(2,`0`),n=String(e.getDate()).padStart(2,`0`),r=String(e.getHours()).padStart(2,`0`),i=String(e.getMinutes()).padStart(2,`0`),a=String(e.getSeconds()).padStart(2,`0`),o=String(e.getMilliseconds()).padStart(3,`0`);return`${e.getFullYear()}-${t}-${n} ${r}:${i}:${a}.${o}`}function Ge(e,t,n=` `){let r=Array(e[0].length).fill(0),i=Array(e.length);for(let n=0;n<e.length;n++){let a=e[n],o=Array(a.length);for(let e=0;e<a.length;e++){let n=t(a[e]);o[e]=n,n>r[e]&&(r[e]=n)}i[n]=o}let a=``;for(let t=0;t<e.length;t++){let o=e[t],s=o.length-1;for(let e=0;e<=s;e++)if(e>0&&(a+=n),a+=o[e],e!==s){let n=r[e]-i[t][e];n>0&&(a+=` `.repeat(n))}t<e.length-1&&(a+=`
5
+ `)}return a}const Ke={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function qe(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Ke[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}async function W(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 Je(e){try{return await e}catch{return null}}const G=e=>RegExp.escape?RegExp.escape(e):e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);async function Ye(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=s(n);if(r===n)return null;n=r}}function Xe(e){let t=new Map;return n=>{let r=t.get(n);return r||(r=e(n),t.set(n,r)),r}}const Ze=c(r===`win32`?t.LOCALAPPDATA||c(te(),`AppData`,`Local`):t.XDG_CACHE_HOME||c(te(),`.cache`),`updates`);let Qe=null;const $e=new Map;function et(e){let t=$e.get(e);return t===void 0&&(t=ee(`sha256`).update(e).digest(`hex`).substring(0,16),$e.set(e,t)),t}async function tt(e){try{let t=await S(c(Ze,`${et(e)}.cache`),`utf8`),n=t.indexOf(`
6
+ `);if(n===-1)return null;let r=t.substring(0,n),i=t.substring(n+1);return r&&i?{etag:r,body:i}:null}catch{return null}}const nt=new Set;let rt=0;function it(e,t,r){let i=(async()=>{try{await(Qe??=x(Ze,{recursive:!0}))}catch{Qe=null;return}try{let i=c(Ze,`${et(e)}.cache`),a=`${i}.${n}-${rt++}.tmp`;await w(a,`${t}\n${r}`),await C(a,i)}catch{}})();nt.add(i),(async()=>{await i,nt.delete(i)})()}async function at(){for(;nt.size;)await Promise.all(nt)}var ot=`17.18.2`;function st(e,t,n){if(!t||!n||!e)return!0;let r=Date.parse(e);return Number.isNaN(r)?!0:(n-r)/(24*3600*1e3)>=t}const ct=ot,lt=5e3,K=e=>e[0]===`v`?e.substring(1):e,ut=e=>e.endsWith(`/`)?e.slice(0,-1):e;function dt(e,t){return{headers:{"user-agent":`updates/${ct}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const ft=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function pt(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&ft.has(t)}async function mt(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=pt(t),n}}async function q(e,t,n={}){for(let r=0;;r++)try{return await e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})}catch(e){if(r>=2||!e?.transient)throw e}}async function ht(e){return typeof e.text==`function`?e.text():JSON.stringify(await e.json())}function gt(e,t){if(!t||e.length<16384)return e;try{return JSON.stringify(t(JSON.parse(e)))}catch{return e}}async function _t(e,t,n={},r){let i=t.noCache?null:await tt(e),a=n.headers,o=i?{...a,"if-none-match":i.etag}:a,s=await q(t,e,{...n,headers:o});if(!s)return{res:void 0};if(s.status===304&&i)return{body:i.body,res:s};if(!s.ok)return{res:s};let c=gt(await ht(s),r),l=s.headers?.get?.(`etag`);return l&&!t.noCache&&it(e,l,c),{body:c,res:s}}async function vt(e,t,n={},r){if(!t.noCache){let t=await tt(e);if(t)return{body:t.body}}let i=await q(t,e,n);if(!i)return{res:void 0};if(!i.ok)return{res:i};let a=gt(await ht(i),r);return t.noCache||it(e,`immutable`,a),{body:a,res:i}}function yt(e){return(I(e)?.prerelease.length??0)>0}function bt(e){return/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e)}const xt=new WeakMap;function St(e){let t=xt.get(e);if(t)return t;let n=new Set(e);return n.add(`prerelease`),e.has(`patch`)&&n.add(`prepatch`),e.has(`minor`)&&n.add(`preminor`),e.has(`major`)&&n.add(`premajor`),xt.set(e,n),n}function Ct(e,t,{useRel:n,allowDowngrade:r,name:i,matchesAny:a}){let o=J(e),s=J(t);if(!o||!s)return!0;let c=bt(e)||yt(e),l=yt(t);return c&&!l?ve(s,o)||n:!l&&ye(s,o)?a(i,r):!0}function J(e){return he(e)?.version??``}function wt(e,t,{range:n,semvers:r,usePre:i,useRel:a,useGreatest:o,pinnedRange:s,cooldownDays:c,now:l,getVersionDate:u}){let d=J(n);if(!d)return d;let f=bt(n)||i,p=f?St(r):r,m=e?.time,h=!!m,g=o||!h,_=!!(c&&l),v=0,y=!1,b=d,x=I(d);for(let e of t){let t=I(e);if(!t?.version||t.prerelease.length&&(!f||a))continue;let n=t.version;if(s&&!H(n,s))continue;let r;if(_&&(r=u?u(e):h?m[e]:void 0,!st(r,c,l)))continue;let i=ge(x,t);if(!(!i||!p.has(i)))if(g)((y?F(t,x)>0:P(t,x)>=0)||s&&!H(b,s))&&(b=n,x=t,y=!0);else{let i=Date.parse(r??m[e]);i>=0&&i>v&&(b=n,x=t,v=i)}}return b||null}function Tt(e,{mode:t,range:n,useGreatest:r,useRel:i,usePre:a,semvers:o,pinnedRange:s,cooldownDays:c,now:l},{allowDowngrade:u,matchesAny:d,isGoPseudoVersion:f}){if(n===`*`||n.includes(`||`)||/\d\s/.test(n))return null;let p=[],m;if(t===`pypi`){let t=e.releases;p=Object.keys(t),m=e=>t?.[e]?.[0]?.upload_time_iso_8601}else if(t===`npm`||t===`cargo`)p=Object.keys(e.versions);else if(t===`go`){let t=J(n);if(!t)return null;let r=a||bt(n),p=e=>yt(e)&&(!r||i),m={useRel:i,allowDowngrade:u,name:e.name,matchesAny:d},h=e.old||n,g=J(e.new);if(g&&!f(e.new)&&!p(e.new)){let n=R(t,g);if(n&&o.has(n)&&Ct(h,e.new,m)&&st(e.Time,c,l)&&(!s||H(g,s)))return e.new}let _=J(e.sameMajorNew);if(_&&!f(e.sameMajorNew)&&!p(e.sameMajorNew)){let n=R(t,_);if(n&&o.has(n)&&Ct(h,e.sameMajorNew,m)&&st(e.sameMajorTime,c,l)&&(!s||H(_,s)))return e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew}if(c&&l&&e.olderEligible&&!p(e.olderEligible.version)){let n=J(e.olderEligible.version);if(n){let r=R(t,n);if(r&&o.has(r)&&Ct(h,e.olderEligible.version,m)&&(!s||H(n,s)))return e.Time=e.olderEligible.time,delete e.newPath,e.olderEligible.version}}return null}let h=wt(e,p,{range:n,semvers:o,usePre:a,useRel:i,useGreatest:r,pinnedRange:s,cooldownDays:c,now:l,getVersionDate:m});if(!h)return null;if(r)return h;{let r=``,f=``,p=!1;t===`pypi`?(f=e.info.version,r=J(e.info.version),p=yt(f)):(r=e[`dist-tags`].latest,p=yt(r));let m=J(n),g=bt(n),_=yt(h),v={useRel:i,allowDowngrade:u,name:e.name,matchesAny:d};if(!i&&a||g&&_)return h;if(g&&!_)return Ct(n,h,v)?h:null;let y=R(m,r);return y&&y!==`prerelease`&&!o.has(y.replace(/^pre/,``))||i&&p?h:ye(r,m)&&!p?Ct(n,r,v)?r:z(h,m)?h:null:!g&&p&&!a||s&&!H(r,s)||c&&l&&!st(t===`pypi`?e.releases?.[f||r]?.[0]?.upload_time_iso_8601:e.time?.[r],c,l)?h:f||r}}const Et=new Map;if(t.UPDATES_FORGE_TOKENS)for(let e of t.UPDATES_FORGE_TOKENS.split(`,`)){let t=e.indexOf(`:`);t>0&&Et.set(e.substring(0,t),e.substring(t+1))}const Dt=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];function Ot(){return Array.from(new Set(Dt.map(e=>t[e]).filter(Boolean)))}let kt;function At(){let e=Ot();return e.length?Promise.resolve(e):kt??=(async()=>{try{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]),{stdout:n}=await t(e)(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),r=n.trim();return r?[r]:[]}catch{return[]}})()}const jt=new Map;async function Mt(e,t){if(!e)return[];let n=Et.get(e);if(n)return[n];let r=``;try{r=new URL(t).hostname}catch{}return e===`api.github.com`||e===`github.com`||e===r?At():[]}async function Nt(e,t,n){let r;try{r=new URL(e).hostname}catch{r=``}let i=await Mt(r,t.forgeApiUrl),a=e=>{let t=dt(`Bearer`,e);return n&&(t.headers={...t.headers,...n}),t};if(!i.length)return q(t,e,a());let o=r?jt.get(r):void 0;if(o)return q(t,e,a(o));for(let n of i){let i=await q(t,e,a(n));if(i.status!==401&&i.status!==403)return r&&jt.set(r,n),i}return q(t,e,a())}function Pt(e,t){let n=K(t);if(!pe(n))return null;let r=``,i=``;for(let t of e){let e=K(t);pe(e)&&(!r||z(e,i))&&(r=t,i=e)}return r&&z(i,n)?r:null}function Ft(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 It=/^[0-9a-f]{7,}$/i;function Lt(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function Rt(e,t){let n=t.noCache?null:await tt(e),r=await Nt(e,t,n?{"if-none-match":n.etag}:void 0);if(r?.status===304&&n)try{let e=JSON.parse(n.body);return{tags:e.tags||[],link:e.link||``}}catch{return null}if(!r?.ok)return null;let i=Lt(await r.json()),a=r.headers.get(`link`)||``,o=r.headers.get(`etag`);return o&&!t.noCache&&it(e,o,JSON.stringify({link:a,tags:i})),{tags:i,link:a}}async function zt(e,t,n,r){let i=r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`;try{let e=await Rt(i(1),r);if(!e)return[];let t=e.tags,n=/<([^>]+)>;\s*rel="last"/.exec(e.link);if(!n)return t;let a=Math.min(Number(new URL(n[1]).searchParams.get(`page`)),10);if(a<2)return t;let o=await Promise.all(Array.from({length:a-1},(e,t)=>Rt(i(t+2),r)));for(let e of o)e&&t.push(...e.tags);return t}catch{return[]}}function Bt(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}function Vt(e,t,n=``){let r=t.startsWith(`v`),i=K(e),a=K(t).split(`.`).length,o=i.split(`.`),s;return s=a===1?o[0]:a===2?`${o[0]}.${o[1]||`0`}`:i,`${r?`v`:``}${s}${n}`}function Ht(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}function Ut({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`])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=Ft(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${Ht(a)}/${e.directory}`)),a||t||``)}const Wt={"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 Gt(e,t){return RegExp(`^${G(e).replaceAll(`\\*`,`.*`)}$`,t?`i`:``)}function Kt(e,t,n){if(t&&typeof e==`string`)return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):Gt(e,n);{let t=e instanceof RegExp?e:Gt(e,n);return/[gy]/.test(t.flags)?new RegExp(t.source,t.flags.replace(/[gy]/g,``)):t}}function qt(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`).flatMap(Ue)):typeof e==`string`?new Set([e]):typeof e==`boolean`?e:!1}function Jt(e){for(let[t,{short:n}]of Object.entries(Wt))if(t===e||n===e)return t;return``}function Y(e){return new Set(e.map(e=>Kt(e,!1,!0)))}function Yt(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(e=>Ue(e)):[]}function Xt(e){let t={},n=Array.isArray(e)?e:[e];for(let e of n){if(typeof e!=`string`)continue;let n=e.indexOf(`=`);if(n===-1)continue;let r=e.slice(0,n),i=e.slice(n+1);r&&i&&ke(i)&&(t[r]=i)}return t}function Zt(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:Y(e)}async function Qt(e){let t=await Promise.all([`js`,`ts`,`mjs`,`mts`].map(async t=>{let n=`updates.config.${t}`,r=c(e,n);try{await b(r)}catch{return null}try{return{configDir:e,filename:n,default:(await import(T(r).href)).default??{}}}catch(e){return Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}));for(let e of t)if(e&&!(e instanceof Error))return e;for(let e of t)if(e instanceof Error)throw e;return null}const $t=Xe(e=>Ye(e,Qt));async function en(e){let t=await $t(e),n=t?.default??{},{loadRenovateConfig:r}=await import(`./renovate.js`);return{...await r(t?.configDir??e,n.inherit?.renovate),...n}}function tn(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();i.length>=2&&(i.startsWith(`"`)&&i.endsWith(`"`)||i.startsWith(`'`)&&i.endsWith(`'`))&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function nn(e){try{return tn(h(e,`utf-8`))}catch{return}}function rn(t){let n=e();for(;;){let e=c(n,t);try{if(_(e).isFile())return e}catch{}let r=s(n);if(r===n)break;n=r}}function an(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 on(e,n={}){let i=r===`win32`,a=i?t.USERPROFILE:t.HOME,o=[{...n}],s=[];function l(e){if(!e||s.includes(e))return;let t=nn(e);t&&(o.push(t),s.push(e))}i||(l(c(`/etc`,e,`config`)),l(c(`/etc`,`${e}rc`))),a&&(l(c(a,`.config`,e,`config`)),l(c(a,`.config`,e)),l(c(a,`.${e}`,`config`)),l(c(a,`.${e}rc`))),l(rn(`.${e}rc`));let u=an(`${e}_`);return u.config&&l(u.config),Object.assign({},...o,u,s.length?{configs:s,config:s[s.length-1]}:void 0)}const sn=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,cn=/^([^/]+)\/([^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,ln=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,un=/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g,dn=/(@[^/]+\/)?([^/]+)/g;function fn(e){let t=e.match(dn);return t?t[t.length-1]:e}const pn=`https://registry.npmjs.org`;let mn=null;const hn=new Map;function gn(){return mn??=on(`npm`,{registry:pn})}function _n(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``)}function vn(e,t){let n=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],r=n(`_authToken`);if(r)return{token:_n(r),type:`Bearer`};let i=n(`username`),a=n(`_password`);if(i&&a){let e=Buffer.from(_n(a),`base64`).toString(`utf8`);return{token:Buffer.from(`${i}:${e}`).toString(`base64`),type:`Basic`,username:i,password:e}}let o=n(`_auth`);if(o)return{token:_n(o),type:`Basic`}}function yn(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=vn(`//${n.host}${r.replace(/\/$/,``)}`,t);if(e)return e;let i=r.endsWith(`/`)?r:`${r}/`;n.pathname=new URL(`..`,new URL(i,`http://x`)).pathname}let i=t._auth;if(i)return{token:_n(i),type:`Basic`}}function bn(e,t){let n=t[`${e}:registry`]||t.registry;return n.endsWith(`/`)?n:`${n}/`}function xn(e,t){mn||=gn();let n=e.startsWith(`@`)?e.split(`/`)[0]:``,r=`${n}:${t}`,i=hn.get(r);if(i)return i;let a=()=>({auth:yn(t,mn),registry:t}),o;if(!e.startsWith(`@`))o=a();else{let e=ut(bn(n,mn));if(e!==t)try{let t=yn(e,mn);o=t?.token?{auth:t,registry:e}:a()}catch{o=a()}else o=a()}return hn.set(r,o),o}function Sn(e,t,n){mn||=gn();let r=ut((typeof n.registry==`string`?n.registry:!1)||t.registry||mn.registry||pn);return{...xn(e,r),originalRegistry:r}}function Cn(e,t,n){let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r}const wn=new Map,Tn=new Map,En=new Map;function Dn(e){let t={};for(let n of Object.keys(e.versions??{}))t[n]={};return{name:e.name,"dist-tags":e[`dist-tags`],versions:t,time:e.time,error:e.error}}async function On(e,t,n,r,i){let{auth:a,registry:o}=Sn(e,n,r),s=Cn(o,t===`resolutions`?fn(e):e),c=wn.get(s);if(!c){let t=dt(a?.type,a?.token);t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`},c=(async()=>{try{let n=await _t(s,i,t,Dn);return`body`in n||Bt(n.res,s,e,o),JSON.parse(n.body)}catch(e){throw wn.delete(s),e}})(),wn.set(s,c)}return[await c,t,o,e]}async function kn(e,t,n,r,i){let{auth:a,registry:o}=Sn(e,n,r),s=Cn(o,e,t),c=Tn.get(s);if(c)return c;let l=(async()=>{try{let n=dt(a?.type,a?.token),r=await vt(s,i,n,e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0}));if(!(`body`in r))return{};let c=JSON.parse(r.body),l=``,u=c?._npmOperationalInternal?.tmp;if(u){let e=/(\d{13})/.exec(u);e&&(l=new Date(Number(e[1])).toISOString())}if(!l){let r=Cn(o,e),a=En.get(r);a||(a=(async()=>{try{let e=await q(i,r,n);return e?.ok?await e.json():null}catch{return En.delete(r),null}})(),En.set(r,a)),l=(await a)?.time?.[t]||``}return{repository:c.repository,homepage:c.homepage,date:l}}catch{return{}}})();return Tn.set(s,l),l}function An(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function jn(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Mn(e,t){if(e.startsWith(`npm:@jsr/`)){let t=/^npm:@jsr\/([^_]+)__([^@]+)@(.+)$/.exec(e);if(t)return{scope:t[1],name:t[2],version:t[3]}}else if(e.startsWith(`jsr:@`)){let t=/^jsr:@([^/]+)\/([^@]+)@(.+)$/.exec(e);if(t)return{scope:t[1],name:t[2],version:t[3]}}else if(e.startsWith(`jsr:`)){let n=e.substring(4);if(t?.startsWith(`@`)){let e=/^@([^/]+)\/(.+)$/.exec(t);if(e)return{scope:e[1],name:e[2],version:n}}}return{scope:null,name:null,version:``}}async function Nn(e,t,n){let r=/^@([^/]+)\/(.+)$/.exec(e);if(!r)throw Error(`Invalid JSR package name: ${e}`);let[,i,a]=r,o=`${n.jsrApiUrl}/@${i}/${a}/meta.json`,s=await _t(o,n,{headers:{"accept-encoding":`gzip, deflate, br`}},e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))}));if(`body`in s){let r=JSON.parse(s.body),i={},a={};for(let[e,t]of Object.entries(r.versions??{}))i[e]={version:e,time:t.createdAt},a[e]=t.createdAt;return[{name:e,"dist-tags":{latest:r.latest},versions:i,time:a},t,n.jsrApiUrl,e]}Bt(s.res,o,e,`JSR`)}function Pn(e,t){let n=new Map;for(let[e,{old:r,oldOrig:i,new:a}]of Object.entries(t)){let[t,o]=e.split(`\0`),s=i||r;t===`packageManager`?n.set(`${t}\0${o}@${s}`,`"${t}": "${o}@${a}"`):n.set(`${o}\0${s}`,`"${o}": "${a}"`)}return n.size?e.replace(/"((?:[^"\\]|\\.)*)": *"((?:[^"\\]|\\.)*)"/g,(e,t,r)=>n.get(`${t}\0${r}`)??e):e}function Fn(e,t,n){let r=e.replace(un,t);if(!n||n===e)return r;let i=/^([\^~]|>=\s*)([\d.]+)$/.exec(n);if(!i)return r;let[,a,o]=i,s=t.split(/[-+]/)[0];if(s!==t)return r;let c=o.split(`.`).length,l=s.split(`.`);return l.length===c?r:`${a}${l.slice(0,c).join(`.`)}`}function X(e){if(/[xX*]/.test(e))return e;let t=e.match(ln);return t?.length===1?e.replace(ln,J(t[0])):e}async function In(e,t,n){let r=`${n.forgeApiUrl}/repos/${e}/${t}/commits`;try{let e=n.noCache?null:await tt(r),t=await Nt(r,n,e?{"if-none-match":e.etag}:void 0),i;if(t?.status===304&&e)i=e.body;else if(t?.ok){let{sha:e,commit:a}=JSON.parse(await t.text())[0];i=JSON.stringify([{sha:e,commit:{committer:a?.committer,author:a?.author}}]);let o=t.headers.get(`etag`);o&&!n.noCache&&it(r,o,i)}else return{hash:``,commit:{}};let{sha:a,commit:o}=JSON.parse(i)[0];return{hash:a,commit:o}}catch{return{hash:``,commit:{}}}}async function Ln(e,t,n){return(await zt(n.forgeApiUrl,e,t,n)).map(e=>e.name)}async function Rn(e,t,n){let r=t.old.replace(sn,``),[,i,a,o]=cn.exec(r)||[];if(!i||!a||!o)return null;let s=e=>{let n=t.old.lastIndexOf(o);return t.old.slice(0,n)+e+t.old.slice(n+o.length)};if(It.test(o)){let{hash:t,commit:r}=await In(i,a,n);if(!t)return null;let c=r?.committer?.date??r?.author?.date,l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:s(l),user:i,repo:a,oldRef:o,newRef:l,newDate:c}}else{let t=Pt(await Ln(i,a,n),o);if(t)return{key:e,newRange:s(t),user:i,repo:a,oldRef:o,newRef:t}}return null}function zn(e){let t={};for(let[n,r]of Object.entries(e.releases??{}))t[n]=(r??[]).slice(0,1).map(e=>e.upload_time_iso_8601?{upload_time_iso_8601:e.upload_time_iso_8601}:{});let{name:n,version:r,project_urls:i}=e.info??{};return{info:{name:n,version:r,project_urls:i},releases:t}}async function Bn(e,t,n){let r=`${n.pypiApiUrl}/pypi/${e}/json`,i=await _t(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}},zn);if(`body`in i)return[JSON.parse(i.body),t,null,e];Bt(i.res,r,e,n.pypiApiUrl)}function Vn(e,t){let n=e;for(let[e,{old:r,oldOrig:i}]of Object.entries(t)){let a=e.split(`\0`)[1],o=i||r;n=n.replace(RegExp(`(['"])(${G(a)} *(?:\\[[^\\]]+\\])? *[<>=~]+ *)${G(o)}\\1`,`g`),(n,r,i)=>`${r}${i}${t[e].new}${r}`)}return n}let Hn;async function Un(){let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)}function Wn(){return Hn??=Un()}function Gn(){let e=t.GOPROXY||`https://proxy.golang.org,direct`;for(let t of e.split(/[,|]/)){let e=t.trim();if(e&&e!==`direct`&&e!==`off`)return ut(e)}return`https://proxy.golang.org`}function Kn(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim()).filter(Boolean)}function qn(e,t){return t.some(t=>e===t||e.startsWith(`${t}/`))}function Jn(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const Yn=/\/v(\d+)$/;function Xn(e){let t=Yn.exec(e);return t?Number.parseInt(t[1]):1}function Zn(e,t){let n=e.replace(Yn,``);return t<=1?n:`${n}/v${t}`}function Qn(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(K(t).split(`.`)[0]);return Number.isNaN(n)||n<=1||n===Xn(e)?e:Zn(e,n)}function $n(e,t){let n=t?/^(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(e):/^replace\s+(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(e);if(!n)return null;let[,r,i,a]=n;return i.startsWith(`./`)||i.startsWith(`/`)||i.startsWith(`../`)?null:{origModule:r,targetModule:i,targetVersion:a}}function er(e,t,n){return t===`indirect`||e.startsWith(`golang.org/x/`)||tr(n)}function tr(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function nr(e,t,n){return[{name:e,old:t,new:t},n,null,e]}async function rr(e,t,n){if(!t)return null;let r=t,i=e+101,a=e+2,o=7;for(;a<=i;){let e=Math.min(a+o-1,i),t=await Promise.all(Array.from({length:e-a+1},(e,t)=>n(a+t))),s=t.indexOf(null),c=s===-1?t:t.slice(0,s);if(c.length&&(r=c.at(-1)),s!==-1)break;a=e+1,o*=2}return r}function ir(e,t,n,r,i,a){let o=r?.Version??i,s=r?.Time??a,c=r?.path??e;return[{name:e,old:n,new:K(o),Time:s,...c!==e&&{newPath:c},sameMajorNew:K(i),sameMajorTime:a},t,null,e]}function ar(e){let t={},n={},r={},i={},a=new Set,o=[],s=e.split(/\r?\n/),c=!1,l=!1,u=!1;for(let e of s){let i=e.trim();if(/^require\s*\(/.test(i)){c=!0;continue}if(/^replace\s*\(/.test(i)){l=!0;continue}if(/^tool\s*\(/.test(i)){u=!0;continue}if(i===`)`){c=!1,l=!1,u=!1;continue}if(i.startsWith(`//`))continue;if(u){i&&!i.startsWith(`//`)&&o.push(i);continue}let s=/^tool\s+(\S+)/.exec(i);if(s){o.push(s[1]);continue}let d=i.includes(`// indirect`);if(l||/^replace\s+/.test(i)){let e=$n(i,l);e&&(r[e.targetModule]=e.targetVersion,a.add(e.origModule));continue}let f=c?/^(\S+)\s+(v\S+)/.exec(i):/^require\s+(\S+)\s+(v\S+)/.exec(i);f&&((d?n:t)[f[1]]=f[2])}for(let e of a)delete t[e],delete n[e];if(o.length){let e=[...Object.keys(n),...Object.keys(t)];for(let r of o){let a=``;for(let t of e)(r===t||r.startsWith(`${t}/`))&&t.length>a.length&&(a=t);let o=n[a]?n:t[a]?t:null;o&&(i[a]=o[a],delete o[a])}}return{deps:t,indirect:n,replace:r,tool:i}}async function or(e,n,r,i,a){let o=Xn(e),s=async(e,n)=>{try{let{stdout:r}=await(await Wn())(`go`,[`list`,`-m`,`-json`,`${e}@latest`],{timeout:n,cwd:i,env:t}),a=JSON.parse(r);return{Version:a.Version,Time:a.Time||``,path:e}}catch{return null}},c=er(e,n,r),[l,u]=await Promise.all([s(e,a.fetchTimeout),c?null:s(Zn(e,o+1),a.goProbeTimeout)]);return l?ir(e,n,r,await rr(o,u,t=>s(Zn(e,t),a.goProbeTimeout)),l.Version,l.Time):nr(e,r,n)}async function sr(e,t,n,r,i,a){if(qn(e,a))return or(e,t,n,r,i);let o=Jn(e),s=Xn(e),c=async t=>{let n=Zn(e,t);try{let e=await i.doFetch(`${i.goProxyUrl}/${Jn(n)}/@latest`,{signal:AbortSignal.timeout(i.goProbeTimeout),headers:{"accept-encoding":`gzip, deflate, br`}});return e.ok?{...await e.json(),path:n}:null}catch{return null}},l=er(e,t,n),[u,d]=await Promise.all([q(i,`${i.goProxyUrl}/${o}/@latest`,{headers:{"accept-encoding":`gzip, deflate, br`}}),l?null:c(s+1)]);if(!u.ok)return nr(e,n,t);let f,p;try{let e=await u.json();f=e.Version,p=e.Time}catch{return nr(e,n,t)}return ir(e,t,n,await rr(s,d,c),f,p)}function cr(e,t){if(!e.includes(`replace`))return e;let n=G(t);return e=e.replace(RegExp(`^replace\\s+${n}(\\s+v\\S+)?\\s+=>\\s+\\S+(\\s+v\\S+)?\\s*\\n`,`gm`),``),e=e.replace(RegExp(`^\\s+${n}(\\s+v\\S+)?\\s+=>\\s+\\S+(\\s+v\\S+)?\\s*\\n`,`gm`),``),e=e.replace(/^replace\s*\(\s*\)\s*\n/gm,``),e}function lr(e,t){let n=e,r={};for(let[e,{old:i,oldOrig:a}]of Object.entries(t)){let[o,s]=e.split(`\0`),c=a||i,l=t[e].new;if(o===`replace`){n=n.replace(RegExp(`(=>\\s+${G(s)}\\s+)v${G(c)}`,`g`),`$1v${l}`);continue}if(o===`indirect`){n=n.replace(RegExp(`(${G(s)}) +v${G(c)}`,`g`),`$1 v${l}`);continue}let u=Qn(s,l);u===s?n=n.replace(RegExp(`(${G(s)}) +v${G(c)}`,`g`),`$1 v${l}`):(n=n.replace(RegExp(`${G(s)} +v${G(c)}`,`g`),`${u} v${l}`),o===`tool`&&(n=n.replace(RegExp(`(^\\s+|^tool\\s+)${G(s)}(/\\S+)?\\s*$`,`gm`),`$1${u}$2`)),r[s]=u),o!==`tool`&&(n=cr(n,s))}return[n,r]}function ur(e,t,n){let r=Object.entries(t);if(!r.length)return;let i=new Map(r),a=r.map(([e])=>e).sort((e,t)=>t.length-e.length),o=RegExp(`"(${a.map(G).join(`|`)})(/|")`,`g`),s=p(`**/*.go`,{cwd:e});for(let t of s){let r=c(e,t),a=h(r,`utf8`),s=a.replace(o,(e,t,n)=>`"${i.get(t)}${n}`);s!==a&&n(r,s)}}function dr(e){let t=[],n={},r=e.split(/\r?\n/),i=!1,a=!1;for(let e of r){let r=e.trim();if(/^use\s*\(/.test(r)){i=!0;continue}if(/^replace\s*\(/.test(r)){a=!0;continue}if(r===`)`){i=!1,a=!1;continue}if(i){let e=/^(\S+)/.exec(r);e&&!r.startsWith(`//`)&&t.push(e[1]);continue}let o=/^use\s+(\S+)/.exec(r);if(o){t.push(o[1]);continue}if(a||/^replace\s+/.test(r)){let e=$n(r,a);e&&(n[e.targetModule]=e.targetVersion)}}return{use:t,replace:n}}function fr(e){let t=`https://${pr(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[,e,i,...a]=r;return n.pathname=`/${e}/${i}/${Ht(t)}/${a.join(`/`)}`,n.href}else return t}function pr(e){return Yn.test(e)?s(e):e}function mr(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}const hr=/^\s*(?:-\s*)?uses:\s*['"]?([^'"#\s]+)['"]?/gm;function gr(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:It.test(o)}}function _r(e,t){return e?e===`github.com`?`https://api.github.com`:`https://${e}/api/v1`:t}async function vr(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await tt(a);if(e)return e.body}try{let e=await Nt(a,i);if(!e.ok)return``;let t=await e.json(),n=t?.committer?.date||t?.author?.date||``;return n&&!i.noCache&&it(a,`immutable`,n),n}catch{return``}}function yr(e,t){return Vt(I(K(e))?.version??K(e),t)}function br(e,t){let n=e;for(let{name:e,oldRef:r,newRef:i}of t){let t=RegExp(`(uses:\\s*['"]?(?:https?:\\/\\/)?)${G(e)}@${G(r)}(?![\\w.-])`,`g`);n=n.replace(t,`$1${e}@${i}`)}return n}const xr=[`.github`,`.gitea`,`.forgejo`],Sr=RegExp(`(?:^|/)(?:${xr.map(G).join(`|`)})\\/(?:workflows\\/[^/]+|(?:[^/]+\\/)*action)\\.ya?ml$`);function Cr(e){return Sr.test(e.replace(/\\/g,`/`))}function wr(e){let t=new Set;try{for(let n of g(c(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(u(c(e,`workflows`,n)))}catch{}try{for(let n of g(e,{recursive:!0,withFileTypes:!0}))!n.isFile()||!/^action\.ya?ml$/.test(n.name)||t.add(u(c(n.parentPath,n.name)))}catch{}return Array.from(t)}const Tr=/^(v?\d+(?:\.\d+){0,2})(-.+)?$/,Er=/^\s*FROM\s+(?:--platform=\S+\s+)?(\S+)/gm,Dr=/^\s*image:\s*['"]?([^\s'"#]+)['"]?/gm,Or=/^\s*container:\s*['"]?([^\s'"#{}]+:[^\s'"#{}:]+)['"]?\s*$/gm,kr=/^\s*(?:-\s*)?uses:\s*['"]?docker:\/\/([^'"#\s]+)['"]?/gm;function Ar(e){let t=e.split(`/`);return t.length===1?{registry:null,namespace:`library`,repo:t[0]}:t.length===2&&!t[0].includes(`.`)&&!t[0].includes(`:`)?{registry:null,namespace:t[0],repo:t[1]}:{registry:t[0],namespace:t.slice(1,-1).join(`/`),repo:t[t.length-1]}}function jr(e){if(e=e.replace(/^docker:\/\//,``),e.includes(`@`))return null;let t=e.lastIndexOf(`:`);if(t===-1||e.lastIndexOf(`/`)>t)return null;let n=e.substring(0,t),r=e.substring(t+1);if(!r||!Tr.test(r))return null;let{registry:i,namespace:a,repo:o}=Ar(n);return{registry:i,namespace:a,repo:o,tag:r,fullImage:n}}function Mr(e){let t=Tr.exec(e);return t?{version:t[1],suffix:t[2]||``}:null}function Nr(e,t){let n=Mr(t);return n?Vt(e,n.version,n.suffix):t}function Pr(e,t){let n=[];for(let r of e.matchAll(t)){let e=jr(r[1]);e&&n.push({ref:e,match:r[1]})}return n}const Fr=new WeakMap;function Ir(e,t,n){let r=Fr.get(n);r||Fr.set(n,r=new Map);let i=`${e}/${t}`,a=r.get(i);return a||r.set(i,a=Lr(e,t,n)),a}async function Lr(e,t,n){let r={},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=100&ordering=last_updated&page=${e}`,o={headers:{"accept-encoding":`gzip, deflate, br`}},s=e=>({count:e.count,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated}))}),c=async e=>{try{let t=await _t(a(e),n,o,s);return`body`in t?JSON.parse(t.body):null}catch{return null}},l=await c(1);if(!l)return r;for(let e of l.results||[])r[e.name]=e.tag_last_pushed||e.last_updated||``;let u=Math.min(Math.ceil((l.count||0)/100),10);if(u<2)return r;let d=await Promise.all(Array.from({length:u-1},(e,t)=>c(t+2)));for(let e of d)if(e)for(let t of e.results||[])r[t.name]=t.tag_last_pushed||t.last_updated||``;return r}async function Rr(e,t,n,r){let i=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`;try{let e=await _t(i,r,{headers:{"accept-encoding":`gzip, deflate, br`}},e=>({digest:e.digest}));if(!(`body`in e))return null;let t=JSON.parse(e.body).digest;return typeof t==`string`?t:null}catch{return null}}async function zr(e,t,n){let{registry:r,namespace:i,repo:a}=Ar(e);if(r)throw Error(`Non-Docker-Hub registries are not yet supported: ${r}`);return[{tags:await Ir(i,a,n),name:e},t,null,e]}function Br(e,t,n,r,i,a){let o=Mr(t);if(!o)return null;let s=he(K(o.version))?.version;if(!s)return null;let c=s,l=``,u=``;for(let[t,s]of Object.entries(e)){let e=Mr(t);if(!e||e.suffix!==o.suffix)continue;let d=he(K(e.version))?.version;if(!d||a&&!H(d,a)||!st(s,r,i))continue;if(d===c){l&&Date.parse(s)>Date.parse(u)&&(l=t,u=s);continue}let f=R(c,d);!f||!n.has(f)||z(d,c)&&(c=d,l=t,u=s)}if(!l||c===s)return null;let d=Nr(c,t);return d===t?null:{newTag:d,hubTag:l,date:u}}function Vr(e,t,n){let r=e;for(let[e,i]of Object.entries(t)){let t=e.split(`\0`)[1],a=i.oldOrig||i.old;for(let e of n)r=r.replace(e(G(t),G(a)),`$1${t}:${i.new}`)}return r}function Hr(e,t){return Vr(e,t,[(e,t)=>RegExp(`(FROM\\s+(?:--platform=\\S+\\s+)?)${e}:${t}(?![\\w.-])`,`g`)])}function Ur(e,t){return Vr(e,t,[(e,t)=>RegExp(`(image:\\s*['"]?)${e}:${t}(?![\\w.-])`,`g`)])}function Wr(e,t){return Vr(e,t,[(e,t)=>RegExp(`((?:container|image):\\s*['"]?)${e}:${t}(?![\\w.-])`,`g`),(e,t)=>RegExp(`(uses:\\s*['"]?docker://)${e}:${t}(?![\\w.-])`,`g`)])}const Gr=[`Dockerfile`,`docker-compose.yml`,`docker-compose.yaml`];function Kr(e){return/^docker-.+\.ya?ml$/.test(e)}function qr(e){return/^Dockerfile(\..+)?$/.test(e)}function Jr(e){return qr(e)||Kr(e)}function Yr(e){return qr(e)?Er:Dr}function Xr(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const Zr=[`Makefile`,`makefile`,`GNUmakefile`];function Qr(e){return Zr.includes(e)||e.endsWith(`.mk`)}const $r=String.raw`^\s*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*`,ei=RegExp(`${$r}${String.raw`(\S+)@(v\d\S*)\s*$`}`),ti=/^[^/\s]+\.[^/\s]+\//;function ni(e){let t=e.indexOf(`#`);return t===-1?e:e.slice(0,t)}function ri(e){let t=[];for(let n of e.split(/\r?\n/)){let e=ni(n),r=ei.exec(e);if(!r)continue;let[,i,a]=r;ti.test(i)&&t.push({installPath:i,version:a})}return t}const ii=RegExp(`${$r}${String.raw`(\S+)\s*$`}`),ai=/@(sha256:[0-9a-f]{64})$/;function oi(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function si(e){let t=null,n=e,r=ai.exec(e);r&&(t=r[1],n=e.slice(0,r.index));let i=jr(n.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:n.slice(0,n.lastIndexOf(`:`)),ref:i,digest:t}}function ci(e){let t=[];for(let n of e.split(/\r?\n/)){let e=ii.exec(ni(n));if(!e)continue;let r=si(e[1]);r&&t.push(r)}return t}const li=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/;function ui(e){let t=li.exec(e);return t?e.slice(0,t.index+t[0].length):null}function di(e){let t=e.split(`/`),n=[];for(let e=t.length;e>=2;e--)n.push(t.slice(0,e).join(`/`));return n}async function fi(e,t){let n=ui(e);if(n)return n;let r=di(e);return(await Promise.all(r.map(async e=>{try{return(await t.doFetch(`${t.goProxyUrl}/${Jn(e)}/@latest`,{signal:AbortSignal.timeout(t.goProbeTimeout)})).ok?e:null}catch{return null}}))).find(Boolean)??null}async function pi(e,t,n,r,i,a){let o=await fi(e,r);if(!o)return null;let[s]=await sr(o,`tool`,K(t),n,r,i),c=Tt(s,{mode:`go`,range:K(t),semvers:a.semvers,useGreatest:a.useGreatest,usePre:a.usePre,useRel:a.useRel,pinnedRange:a.pinnedRange,cooldownDays:a.cooldownDays,now:a.now},{allowDowngrade:a.allowDowngrade,matchesAny:U,isGoPseudoVersion:tr});if(!c)return null;let l=s.newPath??Qn(o,c),u=`${l}${e.slice(o.length)}`,d=Vt(c,t);return u===e&&d===t?null:{newInstallPath:u,newVersion:d,date:s.Time??``,info:fr(l)}}async function mi(e,t,n){let{namespace:r,repo:i,fullImage:a,tag:o}=e.ref,[s]=await zr(a,`docker`,t),c=Br(s.tags,o,n.semvers,n.cooldownDays,n.now,n.pinnedRange);if(!c)return null;let l=null;return e.digest&&(l=await Rr(r,i,c.hubTag,t),!l)?null:{newTag:c.newTag,newDigest:l,date:c.date,info:Xr(e.ref)}}function hi(e,t){for(let{oldSpec:n,newSpec:r}of t){let t=RegExp(`^([^#\\n]*?)${G(n)}(?=[\\s#]|$)`,`gm`);e=e.replace(t,`$1${r}`)}return e}const gi=new Map,_i=e=>({versions:(e.versions||[]).filter(e=>!e.yanked).map(e=>({num:e.num,created_at:e.created_at}))});async function vi(e,t,n){let r=`${ut(n.cratesIoUrl)}/api/v1/crates/${encodeURIComponent(e)}/versions?per_page=100`,i=gi.get(r);return i||(i=(async()=>{try{let t=await _t(r,n,dt(),_i);`body`in t||Bt(t.res,r,e,n.cratesIoUrl);let i;try{i=JSON.parse(t.body)}catch{throw Error(`Invalid JSON from ${r}`)}let a=(i.versions||[]).filter(e=>!e.yanked),o={},s={};for(let e of a)e.num&&(o[e.num]={},s[e.num]=e.created_at||``);return{name:e,versions:o,time:s,"dist-tags":{latest:a[0]?.num??``}}}catch(e){throw gi.delete(r),e}})(),gi.set(r,i)),[await i,t,null,e]}function yi(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];if(!pe(a))continue;let o=t.get(i);o||t.set(i,o=[]),o.push(a)}return t}const bi=/^\d/;function xi(e,t){return bi.test(e)?Fn(X(`^${e}`),t,`^${e}`).replace(/^\^/,``):Fn(X(e),t,e)}function Si(e,t,n){let r=e.get(t);if(!r)return;let i=bi.test(n)?`^${n}`:n,a;for(let e of r)H(e,i)&&(!a||z(e,a))&&(a=e);return a}const Ci=Ve.map(G).join(`|`);function wi(e,t){let n=e;for(let[e,r]of Object.entries(t)){let[,t]=e.split(`\0`),i=r.oldOrig||r.old,a=r.new,o=G(t),s=G(i);n=n.replace(RegExp(`^(\\s*${o}\\s*=\\s*["'])${s}(["'].*)$`,`gm`),`$1${a}$2`),n=n.replace(RegExp(`^(\\s*${o}\\s*=\\s*\\{(?:"[^"]*"|'[^']*'|[^}\\n])*?\\bversion\\s*=\\s*["'])${s}(["'])`,`gm`),`$1${a}$2`),n=n.replace(RegExp(`(\\[(?:${Ci})\\.${o}\\](?:(?!\\n\\[)[\\s\\S])*?version\\s*=\\s*["'])${s}(["'])`,`g`),`$1${a}$2`)}return n}function Ti(e){return e.split(`|`)[0]}function Ei(e,t){let n=t===`.`?``:`|${t}`,r={};for(let[t,i]of Object.entries(e)){let[e,a]=t.split(`\0`),o=Ti(e);e===`${o}${n}`&&(r[`${o}${a}`]=i)}return r}const Di=/[*?{[]/;async function Oi(e,t,n,r=32){let i=e.filter(e=>!e.startsWith(`!`)),a=e.filter(e=>e.startsWith(`!`)).map(e=>e.slice(1)),o=new Set(a.flatMap(e=>p(e,{cwd:t})).map(e=>e.replace(/\\/g,`/`))),s=new Set,d=[];for(let e of i){let r=Di.test(e)?p(e,{cwd:t}).map(e=>u(c(t,e))):[u(c(t,e))];for(let e of r){let r=l(t,e).replace(/\\/g,`/`);if(o.has(r))continue;let i=c(e,n);s.has(i)||(s.add(i),d.push({absPath:i,memberPath:`./${r}`}))}}return(await W(d,async({absPath:e,memberPath:t})=>{try{return{absPath:e,content:await S(e,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}function ki(e){let t=[],n=e.split(/\r?\n/),r=!1;for(let e of n){if(/^packages\s*:/.test(e)){r=!0;continue}if(r){let n=e.trim();if(!n||n.startsWith(`#`))continue;if(!n.startsWith(`-`))break;let r=/^\s*-\s+['"]?([^'"#\s]+)['"]?/.exec(e);r&&t.push(r[1])}}return t}const Ai={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},ji=new Set([`npm`,`pypi`,`go`,`cargo`,`actions`,`docker`,`make`]),Mi=(e,t)=>typeof e==`string`?ut(e):typeof t==`function`?t():t;function Ni(e,t){let n=new Map,r=new Set(e),i=t;for(;r.size;){for(let e of r){let t=c(i,e);try{d(t),n.set(e,t),r.delete(e)}catch{}}let e=s(i);if(e===i)break;i=e}return n}async function Pi(e,t){let n=await W(e,async e=>{try{return[e,await S(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:t});return new Map(n)}function Z(e,t){t&&(e.date=t,e.age=Pe(t,{noAffix:!0}))}function Fi(e){let t=0;for(let n of Object.values(e))t+=Object.keys(n).length;return t}function Ii(e){console.error(`${We()} ${e}`)}function Q(e,t,n,r,i){if(i===`engines`&&Re.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let a=t===`go`?pr(e):e;for(let t of r)if(t.test(e)||t.test(a))return!1;for(let t of n)if(t.test(e)||t.test(a))return!0;return!n.size}function Li(t){let n=new Set;if(t)for(let e of t){let t;try{t=m(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}if(t.isFile())n.add(u(e));else if(t.isDirectory()){for(let t of Object.keys(Ai)){let r=c(e,t),i=null;try{i=m(r)}catch{}i?.isFile()&&n.add(u(r))}try{for(let t of g(e,{withFileTypes:!0}))t.isFile()&&(Jr(t.name)||Qr(t.name))&&n.add(u(c(e,t.name)))}catch{}let t=u(e).replace(/\\/g,`/`),r=xr.some(e=>t.endsWith(`/${e}/workflows`)),i=!r&&xr.some(e=>t.endsWith(`/${e}`)),a=r?[s(t)]:i?[t]:xr.map(e=>c(t,e));for(let e of a)for(let t of wr(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(xr),r=[...Object.keys(Ai),...Gr,...Zr,...xr];for(let[i,a]of Ni(r,e()))if(t.has(i))for(let e of wr(a))n.add(e);else n.add(u(a));try{for(let t of g(e(),{withFileTypes:!0})){let r=Jr(t.name)&&!Gr.includes(t.name),i=Qr(t.name)&&!Zr.includes(t.name);t.isFile()&&(r||i)&&n.add(u(c(e(),t.name)))}}catch{}}for(let e of Array.from(n))o(e)===`go.work`&&n.delete(c(s(e),`go.mod`));for(let e of Array.from(n))o(e)===`pnpm-workspace.yaml`&&n.delete(c(s(e),`package.json`));return n}function $(e,t){r===`win32`&&v(e,0),y(e,t,r===`win32`?{flag:`r+`}:void 0)}function Ri(e){let t={results:{}};for(let[n,r]of Object.entries(e))for(let[e,i]of Object.entries(r)){typeof i.oldPrint==`string`&&(i.old=i.oldPrint),typeof i.newPrint==`string`&&(i.new=i.newPrint),typeof i.oldOrig==`string`&&!An(i.oldOrig)&&(i.old=n===`go`?mr(i.oldOrig):i.oldOrig),n===`go`?i.new=mr(i.new):n===`actions`&&(i.old=K(i.old),i.new=K(i.new)),delete i.oldPrint,delete i.newPrint,delete i.oldOrig,delete i.date;let[r,a]=e.split(`\0`),o=t.results[n]??={};(o[r]??={})[a]=i}return t}let zi=!1;async function Bi(t={}){if(!zi){let{enableDnsCache:e}=await import(`./dns.js`);e(),zi=!0}let n={...t},r=n.sockets??25,l=n.timeout??0,d=Mi(t.forgeapi,`https://api.github.com`),f=Mi(t.pypiapi,`https://pypi.org`),p=Mi(t.jsrapi,`https://jsr.io`),m=Mi(t.goproxy,Gn),h=Mi(t.cargoapi,`https://crates.io`),g=Mi(t.dockerapi,`https://hub.docker.com`),_=Kn(),v=n.color||!n.noColor&&i.isTTY,y=e=>v?t=>a(e,String(t)):String,b=y(`magenta`),x=y(`green`),C=y(`red`),w={fetchTimeout:l||5e3,goProbeTimeout:l?l/2:2500,forgeApiUrl:d,pypiApiUrl:f,jsrApiUrl:p,goProxyUrl:m,cratesIoUrl:h,dockerApiUrl:g,doFetch:async(e,t)=>{n.verbose&&Ii(`${b(t?.method||`GET`)} ${e}`);let r=await mt(e,t);return n.verbose&&Ii(`${r.ok?x(r.status):C(r.status)} ${e}`),r},noCache:!!n.noCache},ee=Zt(n.greatest),te=Zt(n.prerelease),T=Zt(n.release),ne=Zt(n.patch),re=Zt(n.minor),ie=Zt(n.allowDowngrade),D=n.modes?.length?new Set(n.modes):ji,ae=(n.overrides??[]).map(e=>({include:e.include?.length?Y(e.include):void 0,exclude:e.exclude?.length?Y(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:qe(String(e.cooldown))})),oe=(e,t)=>e.include&&!U(t,e.include)?!1:!e.exclude||!U(t,e.exclude),se=ae.some(e=>e.cooldownDays);D.has(`actions`)&&At();let ce=new Map;function O(e){let t=ce.get(e);if(!t){let n=U(e,ee),r=U(e,te),i=U(e,T),a=U(e,ne),o=U(e,re),s=U(e,ie),c;for(let t of ae)oe(t,e)&&(t.greatest!==void 0&&(n=t.greatest),t.prerelease!==void 0&&(r=t.prerelease),t.release!==void 0&&(i=t.release),t.patch!==void 0&&(a=t.patch),t.minor!==void 0&&(o=t.minor),t.allowDowngrade!==void 0&&(s=t.allowDowngrade),t.cooldownDays!==void 0&&(c=t.cooldownDays));let l=new Set(a?[`patch`]:o?[`patch`,`minor`]:[`patch`,`minor`,`major`]);t={useGreatest:n,usePre:r,useRel:i,semvers:l,allowDowngrade:s,cooldownOverride:c},ce.set(e,t)}return t}let le=Y(n.include??[]),ue=Y(n.exclude??[]),de=n.pin??{},k={},A={},j={},M=Date.now(),N=e=>{let t=n.cooldown??e;return t?qe(String(t)):0},fe=e(),P=e=>e.replace(`${fe}/`,``).replace(`${fe}\\`,``),F=0,I=(e,t,n,r,i,a)=>{k[e][`${t}${n}${r}`]={old:i,oldOrig:a}},me=Li(n.files?.length?new Set(n.files):!1),L=await Pi(Array.from(me).filter(e=>{if(Cr(e))return D.has(`actions`)||D.has(`docker`);let t=o(e);if(Jr(t))return D.has(`docker`);if(Qr(t))return D.has(`make`);let n=Ai[t];return!!n&&D.has(n)}),r),he={},R={},ge={},_e=[],z=null,ve=[],ye=!1,be=[],xe=!1,B=[],Se=[],Ce=[],we={};async function V(e){let t=await en(e);return{modeConfig:t,modeInclude:t.include?.length?Y([...n.include??[],...t.include]):le,modeExclude:t.exclude?.length?Y([...n.exclude??[],...t.exclude]):ue,pin:{...t.pin,...de}}}function Te(e,t){return n.types?.length?n.types:t?.types?.length?t.types:e===`npm`?Le:e===`pypi`?ze:e===`go`?n.indirect?Be:Be.filter(e=>e!==`indirect`):e===`cargo`?Ve:[]}function Ee(e,t,n,r){k.docker??={};for(let i of n)for(let{ref:n}of Pr(e,i)){if(!Q(n.fullImage,`docker`,r.include,r.exclude,`docker`))continue;let e=`${t}${n.fullImage}`;if(k.docker[e])continue;let i=Mr(n.tag);i&&(k.docker[e]={old:i.version,oldOrig:n.tag},Se.push({key:e,fullImage:n.fullImage,ref:n,filePin:r.pin,fileCooldownDays:r.cooldownDays}))}}async function De(e){let t=await en(e);return{include:t.include?.length?Y([...n.include??[],...t.include]):le,exclude:t.exclude?.length?Y([...n.exclude??[],...t.exclude]):ue,pin:t.pin??{},cooldownDays:N(t.cooldown)}}let Oe=new Set,H=new Map;for(let e of me){let t=o(e);if(t===`go.work`)Oe.add(`go`);else if(t===`pnpm-workspace.yaml`)Oe.add(`npm`);else if(t===`Cargo.toml`){let t=L.get(e);if(!t)continue;try{let n=E(t);H.set(e,n);let r=n.workspace?.members;Array.isArray(r)&&r.length&&Oe.add(`cargo`)}catch{}}}for(let e of me){if(Cr(e)){let t=D.has(`actions`),n=D.has(`docker`);if(!t&&!n)continue;let r=L.get(e),i=P(e),a=await De(s(e));if(he[i]={absPath:e,content:r},t){k.actions??={};let e=Array.from(r.matchAll(hr),e=>gr(e[1])).filter(e=>e!==null);for(let t of e){if(!Q(t.name,`actions`,a.include,a.exclude,`actions`))continue;let e=`${i}${t.name}`;k.actions[e]||(k.actions[e]={old:t.ref},B.push({...t,key:e,apiUrl:_r(t.host,d),filePin:a.pin,fileCooldownDays:a.cooldownDays}))}}n&&(R[i]={absPath:e,content:r,fileType:`workflow`},Ee(r,i,[Dr,Or,kr],a));continue}let t=o(e);if(Jr(t)){if(!D.has(`docker`))continue;let n=L.get(e),r=P(e),i=qr(t)?`dockerfile`:`compose`,a=await De(s(e));R[r]={absPath:e,content:n,fileType:i},Ee(n,r,[Yr(t)],a);continue}if(Qr(t)){if(!D.has(`make`))continue;let t=L.get(e),n=P(e),r=await De(s(e));ge[n]={absPath:e,content:t},k.make??={};let i={projectDir:s(e),filePin:r.pin,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of ri(t)){if(!Q(e,`make`,r.include,r.exclude,`make`))continue;let t=`${n}${e}`;k.make[t]||(k.make[t]={old:K(a),oldOrig:a},Ce.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of ci(t)){if(!Q(e.writtenImage,`make`,r.include,r.exclude,`make`))continue;let t=`${n}${e.writtenImage}`;if(k.make[t])continue;let a=Mr(e.ref.tag);if(!a)continue;let o=oi(e.writtenImage,e.ref.tag,e.digest);k.make[t]={old:a.version,oldOrig:e.ref.tag},Ce.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let n=Ai[t];if(!D.has(n))continue;if(t===`go.work`){k[n]??={};let t=s(u(e)),i=L.get(e);z={file:e,content:i};let a=dr(i),[o,l]=await Promise.all([V(t),W(a.use,async e=>{let n=u(c(t,e,`go.mod`));try{return{usePath:e,modPath:n,content:await S(n,`utf8`)}}catch{return null}},{concurrency:r})]),{modeConfig:d,modeInclude:f,modeExclude:p,pin:m}=o,h=Te(n,d);we[n]={modeConfig:d,projectDir:t,pin:m};for(let e of l){if(!e)continue;let{usePath:t,modPath:r,content:i}=e,a=ar(i),o=s(r);_e.push({absPath:r,content:i,projectDir:o,usePath:t});let c=t===`.`?``:`|${t}`;for(let e of h){let t=a[e]||{};for(let[r,i]of Object.entries(t))Q(r,n,f,p,e)&&I(n,e,c,r,mr(i),K(i))}}for(let[e,t]of Object.entries(a.replace))Q(e,n,f,p,`replace`)&&I(n,`replace`,``,e,mr(t),K(t));F+=Object.keys(k[n]).length;continue}if(t===`go.mod`&&_e.some(t=>t.absPath===u(e))||t===`package.json`&&be.some(t=>t.absPath===u(e)))continue;if(t===`Cargo.toml`){k[n]??={};let t=Object.keys(k[n]).length,i=L.get(e),a=H.get(e)??E(i),o=s(u(e)),c=Ni([`Cargo.lock`],o).get(`Cargo.lock`),l=a.workspace?.members,d=Array.isArray(l)&&l.length,[f,p,m]=await Promise.all([V(o),c?S(c,`utf8`):Promise.resolve(null),d?Oi(l,o,`Cargo.toml`,r):Promise.resolve([])]),{modeConfig:h,modeInclude:g,modeExclude:_,pin:v}=f,y=Te(n,h),b=p?yi(p):new Map,x=(e,t)=>{for(let r of y){let i=He(e,r)||{};if(!(typeof i!=`object`||Array.isArray(i))){for(let[e,a]of Object.entries(i))if(Q(e,n,g,_,r))if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)){let i=a.version;ke(i)&&I(n,r,t,e,Si(b,e,i)??X(i),i)}else typeof a==`string`&&ke(a)&&I(n,r,t,e,Si(b,e,a)??X(a),a)}}};if(d){ye=!0,we[n]={modeConfig:h,projectDir:o,pin:v},x(a,``),ve.push({absPath:u(e),content:i,memberPath:`.`});for(let e of m){ve.push(e);try{x(E(e.content),`|${e.memberPath}`)}catch(t){throw Error(`Error parsing ${e.absPath}: ${t.message}`)}}}else{let t=j[n]??=[],r=!t.length&&!Oe.has(n),s=r?`.`:P(e);t.push({absPath:u(e),content:i,memberPath:s,projectDir:o,modeConfig:h,pin:v,modeCooldownDays:N(h.cooldown)}),r&&(we[n]={modeConfig:h,projectDir:o,pin:v}),x(a,s===`.`?``:`|${s}`)}F+=Object.keys(k[n]).length-t;continue}if(t===`pnpm-workspace.yaml`){k[n]??={};let t=s(u(e)),i=L.get(e);xe=!0;let a=ki(i),o=c(t,`package.json`),[l,d,f]=await Promise.all([V(t),Je(S(o,`utf8`)),Oi(a,t,`package.json`,r)]),{modeConfig:p,modeInclude:m,modeExclude:h,pin:g}=l,_=Te(n,p);we[n]={modeConfig:p,projectDir:t,pin:g};let v=(e,t)=>{for(let r of _){let i=e[r]||{};if(typeof i==`string`){let[e,a]=i.split(`@`);Q(e,n,m,h,r)&&I(n,r,t,e,X(a),a)}else if(typeof i==`object`&&!Array.isArray(i))for(let[e,a]of Object.entries(i))Q(e,n,m,h,r)&&(An(a)?I(n,r,t,e,Mn(a,e).version,a):ke(a)?I(n,r,t,e,X(a),a):jn(a)?I(n,r,t,e,`0.0.0`,a):A[`${r}${t}${e}`]={old:a})}};if(d!==null){let e;try{e=JSON.parse(d)}catch(e){throw Error(`Error parsing ${o}: ${e.message}`)}be.push({absPath:u(o),content:d,memberPath:`.`}),v(e,``)}for(let e of f){let t;try{t=JSON.parse(e.content)}catch(t){throw Error(`Error parsing ${e.absPath}: ${t.message}`)}be.push(e),v(t,`|${e.memberPath}`)}F+=Object.keys(k[n]).length+Object.keys(A).length;continue}k[n]??={};let i=s(u(e)),{modeConfig:a,modeInclude:l,modeExclude:f,pin:p}=await V(i),m=Te(n,a),h=j[n]??=[],g=!h.length&&!Oe.has(n),_=g?`.`:P(e),v=_===`.`?``:`|${_}`,y=L.get(e);h.push({absPath:u(e),content:y,memberPath:_,projectDir:i,modeConfig:a,pin:p,modeCooldownDays:N(a.cooldown)});let b={};try{n===`npm`?b=JSON.parse(y):n===`pypi`?b=E(y):n===`go`&&(b=ar(y))}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}let x=Object.keys(k[n]).length,C=Object.keys(A).length;for(let e of m){let t;if(t=n===`npm`||n===`go`?b[e]||{}:He(b,e)||{},Array.isArray(t)&&n===`pypi`)for(let{name:r,version:i}of Ie(t))Q(r,n,l,f,e)&&I(n,e,v,r,X(i),i);else if(typeof t==`string`){let[r,i]=t.split(`@`);Q(r,n,l,f,e)&&I(n,e,v,r,X(i),i)}else for(let[r,i]of Object.entries(t))Q(r,n,l,f,e)&&(n===`npm`&&An(i)?I(n,e,v,r,Mn(i,r).version,i):n!==`go`&&ke(i)?I(n,e,v,r,X(i),i):n===`npm`&&jn(i)?I(n,e,v,r,`0.0.0`,i):n===`npm`?A[`${e}${v}${r}`]={old:i}:n===`go`&&I(n,e,v,r,mr(i),K(i)))}F+=Object.keys(k[n]).length-x+(Object.keys(A).length-C),g&&(we[n]={modeConfig:a,projectDir:i,pin:p})}if(k.actions&&(F+=Object.keys(k.actions).length),k.docker&&(F+=Object.keys(k.docker).length),k.make&&(F+=Object.keys(k.make).length),F===0)return{results:{},message:`No dependencies found, nothing to do.`};let Ae=[],je={registry:n.registry};for(let[e,t]of Object.entries(we)){let n=k[e]&&Object.keys(k[e]).length>0,i=e===`npm`&&Object.keys(A).length>0;if(!n&&!i)continue;let{modeConfig:a,projectDir:o,pin:s}=t,c=N(a.cooldown);Ae.push((async()=>{let t=new Map;for(let n of j[e]??[])n.memberPath!==`.`&&t.set(`|${n.memberPath}`,n);let n={modeConfig:a,projectDir:o,pin:s,modeCooldownDays:c},i=e=>{let r=e.slice(Ti(e).length);return r&&t.get(r)||n},l=new Map,u=e=>{for(let[t,{date:n}]of Object.entries(e)){if(!n)continue;let{modeCooldownDays:r}=i(t.split(`\0`)[0]);if(!r&&!se)continue;let[,a]=t.split(`\0`),o=O(a).cooldownOverride??r;o&&!st(n,o,M)&&delete e[t]}};if(await W(Object.keys(k[e]),async t=>{let[n,r]=t.split(`\0`),a=Ti(n),{modeConfig:o,projectDir:s,pin:c,modeCooldownDays:u}=i(n),d=k[e][t],f=null;if(e===`npm`){let{oldOrig:n}=d;if(n&&An(n))f=await Nn(r,a,w);else if(n&&jn(n))try{f=await On(r,a,o,je,w)}catch{delete k[e][t];return}else f=await On(r,a,o,je,w)}else f=e===`go`?await sr(r,a,d.oldOrig||d.old,s,w,_):e===`cargo`?await vi(r,a,w):await Bn(r,a,w);if(!f)return;let[p,,m]=f;if(p.error)throw Error(p.error);let{useGreatest:h,usePre:g,useRel:v,semvers:y,allowDowngrade:b,cooldownOverride:x}=O(p.name),S=d.old,C=d.oldOrig,ee=c[r],te=x??u,T=Tt(p,{usePre:g,useRel:v,useGreatest:h,semvers:y,range:S,mode:e,pinnedRange:ee,cooldownDays:te||void 0,now:te?M:void 0},{allowDowngrade:b,matchesAny:U,isGoPseudoVersion:tr}),E=``;if([`go`,`pypi`].includes(e)&&T)E=T;else if(e===`cargo`&&T&&C)E=xi(C,T);else if(T)if(C&&jn(C))E=String(gn()[`save-exact`])===`true`?T:`^${T}`;else if(C&&An(C)){let e=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/.exec(C);e?E=`${e[1]}${T}`:C.startsWith(`jsr:`)&&(E=`jsr:${T}`)}else E=Fn(S,T,C);if(!T||T===S||C&&C===E){delete k[e][t];return}let ne=``;e===`pypi`&&p.releases?.[T]?.[0]?.upload_time_iso_8601?ne=p.releases[T][0].upload_time_iso_8601:e===`go`&&p.Time?ne=p.Time:e===`cargo`&&p.time?.[T]&&(ne=p.time[T]),d.new=E,C&&An(C)&&(d.newPrint=T),e===`npm`?l.set(t,{name:r,promise:kn(p.name,T,o,je,w)}):e===`pypi`?d.info=Ut(p,m,p.info.name):e===`go`?d.info=fr(p.newPath||r):e===`cargo`&&(d.info=`https://crates.io/crates/${r}`),ne&&Z(d,ne)},{concurrency:r}),await Promise.all(Array.from(l,async([t,{name:n,promise:r}])=>{let i=await r,a=k[e][t];a&&(a.info=Ut({repository:i.repository,homepage:i.homepage},null,n),i.date&&Z(a,i.date))})),e===`npm`&&Object.keys(A).length){let t=(await W(Object.entries(A),([e,t])=>Rn(e,t,w),{concurrency:r})).filter(e=>e!==null);for(let n of t){let{key:t,newRange:r,user:i,repo:a,oldRef:o,newRef:s,newDate:c}=n;k[e][t]={old:A[t].old,new:r,oldPrint:It.test(o)?o.substring(0,7):o,newPrint:It.test(s)?s.substring(0,7):s,info:`https://github.com/${i}/${a}`},c&&Z(k[e][t],c)}}u(k[e])})())}B.length&&Ae.push((async()=>{let e=new Map;for(let t of B){let n=`${t.apiUrl}/${t.owner}/${t.repo}`,r=e.get(n);r||e.set(n,r={apiUrl:t.apiUrl,owner:t.owner,repo:t.repo,infos:[]}),r.infos.push(t)}await W(e.values(),async({apiUrl:e,owner:t,repo:n,infos:i})=>{let a=await zt(e,t,n,w),o=[],s=new Map,c=new Map,l=new Map;for(let e of a){c.set(e.name,e);let t=K(e.name);pe(t)&&(o.push(t),s.has(t)||s.set(t,e.name)),e.commitSha&&l.set(e.commitSha,e.name)}let u=new Map;async function d(r){if(u.has(r))return u.get(r);let i=await vr(e,t,n,r,w);return u.set(r,i),i}async function f(e){let t=new Set;for(let n=0;n<20;n++){let n=wt({},t.size?o.filter(e=>!t.has(e)):o,e);if(!n||n===e.range)return null;let r=s.get(n);if(!r){t.add(n);continue}let i=c.get(r)?.commitSha||``;if(!e.cooldownDays)return{version:n,tag:r,commitSha:i,date:``};let a=i?await d(i):``;if(st(a,e.cooldownDays,e.now))return{version:n,tag:r,commitSha:i,date:a};t.add(n)}return null}await W(i,async({key:e,host:r,ref:i,name:a,isHash:o,filePin:s,fileCooldownDays:u})=>{let p=k.actions[e],m=`https://${r||`github.com`}/${t}/${n}`,h=de[a]??s[a];if(o){let{usePre:t,useRel:n,cooldownOverride:r}=O(a),o=r??u,s=await f({range:`0.0.0`,semvers:new Set([`patch`,`minor`,`major`]),usePre:t,useRel:n,useGreatest:!0,pinnedRange:h,cooldownDays:o||void 0,now:o?M:void 0});if(!s){delete k.actions[e];return}let{tag:c,commitSha:d,date:g}=s;if(!d||d===i||d.startsWith(i)||i.startsWith(d)){delete k.actions[e];return}let _=l.get(i);if(!_){for(let[e,t]of l)if(e.startsWith(i)){_=t;break}}p.old=i,p.new=d.substring(0,i.length),p.oldPrint=_||i.substring(0,7),p.newPrint=c,p.info=m,g&&Z(p,g)}else{let t=J(K(i));if(!t){delete k.actions[e];return}let{usePre:n,useRel:r,semvers:o,cooldownOverride:s}=O(a),l=s??u,g=await f({range:t,semvers:o,usePre:n,useRel:r,useGreatest:!0,pinnedRange:h,cooldownDays:l||void 0,now:l?M:void 0});if(!g){delete k.actions[e];return}let{tag:_,commitSha:v,date:y}=g,b=yr(_,i);if(b===i){delete k.actions[e];return}if(p.new=c.has(b)?b:_,p.info=m,v&&y)Z(p,y);else if(v){let e=await d(v);e&&Z(p,e)}}},{concurrency:r})},{concurrency:r}),Object.keys(k.actions).length||delete k.actions})()),Se.length&&Ae.push((async()=>{let e=new Map;for(let t of Se){let n=e.get(t.fullImage);n||e.set(t.fullImage,n=[]),n.push(t)}await W(e.entries(),async([e,t])=>{let n;try{let[t]=await zr(e,`docker`,w);n=t}catch{for(let e of t)delete k.docker[e.key];return}for(let e of t){let t=k.docker[e.key],r=t.oldOrig||t.old,{semvers:i,cooldownOverride:a}=O(e.fullImage),o=de[e.fullImage]??e.filePin[e.fullImage],s=a??e.fileCooldownDays,c=Br(n.tags,r,i,s||void 0,s?M:void 0,o);if(!c){delete k.docker[e.key];continue}t.new=c.newTag,t.info=Xr(e.ref),Z(t,c.date)}},{concurrency:r}),Object.keys(k.docker).length||delete k.docker})()),Ce.length&&Ae.push((async()=>{await W(Ce,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,cooldownOverride:o}=O(e.name),s=de[e.name]??e.filePin[e.name],c=o??e.fileCooldownDays,l={semvers:i,useGreatest:t,usePre:n,useRel:r,allowDowngrade:a,pinnedRange:s,cooldownDays:c||void 0,now:c?M:void 0},u=k.make[e.key],d;if(e.kind===`go`){let t=await Je(pi(e.installPath,e.version,e.projectDir,w,_,l));if(!t){delete k.make[e.key];return}e.newSpec=`${t.newInstallPath}@${t.newVersion}`,u.new=t.newVersion,d=t}else{let t=await Je(mi(e.image,w,l));if(!t){delete k.make[e.key];return}e.newSpec=oi(e.image.writtenImage,t.newTag,e.image.digest?t.newDigest:null),u.new=t.newTag,d=t}u.info=d.info,d.date&&Z(u,d.date)},{concurrency:r}),Object.keys(k.make).length||delete k.make})());try{await Promise.all(Ae)}finally{await at()}if(!Fi(k))return{results:{},message:`All dependencies are up to date.`};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=Ei(k[e],r.memberPath);Object.keys(t).length&&$(r.absPath,n(r.content,t))}},t=new Map;if(k.actions)for(let[e,n]of Object.entries(k.actions)){let[r,i]=e.split(`\0`),a=t.get(r);a||t.set(r,a=[]),a.push({name:i,oldRef:n.old,newRef:n.new})}let n=new Map;if(k.docker)for(let[e,t]of Object.entries(k.docker)){let[r]=e.split(`\0`),i=n.get(r);i||n.set(r,i={}),i[e]=t}let r=new Map;if(k.make)for(let e of Ce){if(!e.newSpec||!k.make[e.key])continue;let t=e.key.split(`\0`)[0],n=r.get(t);n||r.set(t,n=[]),n.push({oldSpec:e.oldSpec,newSpec:e.newSpec})}let i=Object.keys(k).sort((e,t)=>(e===`docker`)-+(t===`docker`));for(let a of i)if(Object.keys(k[a]).length){if(a===`actions`){for(let[e,n]of t){let{absPath:t,content:r}=he[e]||{};if(!t)continue;let i=br(r,n);$(t,i),R[e]&&(R[e].content=i)}continue}if(a===`docker`){for(let[e,t]of n){let n=R[e];if(!n)continue;let{absPath:r,content:i,fileType:a}=n;$(r,(a===`dockerfile`?Hr:a===`compose`?Ur:Wr)(i,t))}continue}if(a===`make`){for(let[e,t]of r){let n=ge[e];n&&$(n.absPath,hi(n.content,t))}continue}if(a===`go`){if(z){for(let e of _e){let t=Ei(k[a],e.usePath);if(!Object.keys(t).length)continue;let[n,r]=lr(e.content,t);n!==e.content&&$(e.absPath,n),ur(e.projectDir,r,$)}let e={};for(let[t,n]of Object.entries(k[a]))t.split(`\0`)[0]===`replace`&&(e[t]=n);if(Object.keys(e).length){let[t]=lr(z.content,e);t!==z.content&&$(z.file,t)}}for(let e of j.go??[]){let t=Ei(k[a],e.memberPath);if(!Object.keys(t).length)continue;let[n,r]=lr(e.content,t);$(e.absPath,n),ur(e.projectDir,r,$)}}else a===`cargo`?(ye&&e(a,ve,wi),e(a,j.cargo??[],wi)):a===`npm`?(xe&&e(a,be,Pn),e(a,j.npm??[],Pn)):e(a,j[a]??[],Vn)}}return Ri(k)}function Vi(e){try{return tn(h(c(e,`.npmrc`),`utf8`)).registry}catch{return}}function Hi(e,t){if(typeof e!=`string`||!e)return t;try{return`${new URL(e).origin}/`}catch{return null}}function Ui(e,t){let n=(...t)=>t.some(t=>f(c(e,t))),r=new Set,i=e=>{e&&r.add(e)},a=Hi(t.forgeapi,`https://api.github.com/`),o=Hi(t.dockerapi,`https://hub.docker.com/`);return n(`package.json`,`pnpm-workspace.yaml`)&&(i(Hi(typeof t.registry==`string`?t.registry:Vi(e),`https://registry.npmjs.org/`)),i(Hi(t.jsrapi,`https://jsr.io/`)),i(a)),n(`pyproject.toml`)&&i(Hi(t.pypiapi,`https://pypi.org/`)),n(`Cargo.toml`)&&i(Hi(t.cargoapi,`https://crates.io/`)),n(`go.mod`,`go.work`)&&i(Hi(t.goproxy,`https://proxy.golang.org/`)),n(...Gr)&&i(o),n(`.github/workflows`)&&(i(a),i(o)),Array.from(r)}function Wi(e){let t=``,n=0,r=e.length,i=-1;for(;n<r;){let a=e[n];if(a===`"`){for(i=-1,t+=a,n++;n<r;){let i=e[n];if(t+=i,n++,i===`\\`&&n<r){t+=e[n],n++;continue}if(i===`"`)break}continue}if(a===`/`&&n+1<r&&e[n+1]===`/`){for(n+=2;n<r&&e[n]!==`
7
+ `;)n++;continue}if(a===`/`&&n+1<r&&e[n+1]===`*`){for(n+=2;n<r&&(e[n]!==`*`||e[n+1]!==`/`);)n++;n+=2;continue}if(a===`,`){i=t.length,t+=a,n++;continue}if(a===`}`||a===`]`){i>=0&&(t=t.slice(0,i)+t.slice(i+1)),i=-1,t+=a,n++;continue}/\s/.test(a)||(i=-1),t+=a,n++}return JSON.parse(t)}export{ke as _,Jt as a,Yt as c,lt as d,ct as f,Ye as g,Ge as h,pr as i,qt as l,Xe as m,Ui as n,en as o,Fe as p,Bi as r,Wt as s,Wi as t,Xt as u};
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "updates",
3
- "version": "17.18.0",
3
+ "version": "17.18.2",
4
4
  "description": "CLI dependency update tool for npm, uv, cargo, go, actions, docker and make",
5
5
  "author": "silverwind",
6
- "repository": "silverwind/updates",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "silverwind/updates"
9
+ },
7
10
  "license": "BSD-2-Clause",
8
11
  "keywords": [
9
12
  "cli",
@@ -23,7 +26,6 @@
23
26
  "docker",
24
27
  "makefile"
25
28
  ],
26
- "bin": "dist/index.js",
27
29
  "exports": {
28
30
  ".": {
29
31
  "import": "./dist/api.js",
@@ -40,20 +42,23 @@
40
42
  "bun": "*"
41
43
  },
42
44
  "devDependencies": {
43
- "@types/node": "25.9.2",
44
- "@typescript/native-preview": "7.0.0-dev.20260608.1",
45
- "@vitest/coverage-v8": "4.1.8",
46
- "eslint": "10.4.1",
47
- "eslint-config-silverwind": "134.0.2",
45
+ "@types/node": "26.1.0",
46
+ "@typescript/native-preview": "7.0.0-dev.20260702.3",
47
+ "@vitest/coverage-v8": "4.1.9",
48
+ "eslint": "10.6.0",
49
+ "eslint-config-silverwind": "140.0.0",
48
50
  "jest-extended": "7.0.0",
49
51
  "timerel": "5.8.7",
50
- "tsdown": "0.22.2",
51
- "tsdown-config-silverwind": "3.0.3",
52
+ "tsdown": "0.22.3",
53
+ "tsdown-config-silverwind": "3.0.4",
52
54
  "typescript": "6.0.3",
53
55
  "typescript-config-silverwind": "20.0.0",
54
- "updates-config-silverwind": "3.0.2",
55
- "versions": "15.1.0",
56
- "vitest": "4.1.8",
56
+ "updates-config-silverwind": "4.0.0",
57
+ "versions": "15.1.3",
58
+ "vitest": "4.1.9",
57
59
  "vitest-config-silverwind": "11.3.6"
60
+ },
61
+ "bin": {
62
+ "updates": "dist/index.js"
58
63
  }
59
64
  }