updates 17.22.2 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/shared.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/shared.js
CHANGED
|
@@ -3,7 +3,7 @@ import{cwd as e,env as t,pid as n,platform as r,stderr as i}from"node:process";i
|
|
|
3
3
|
`:``)+r[n]}e=n,f[p]=ce(m+t+m)}else f[p]=ce(u)}return t}function se(e){let t=e.slice(0,3);return t!==`"""`&&t!==`'''`||e.includes(t,3)?``:t}function ce(e){if(e.startsWith(`[`)){let t=[],n=me(e,`]`);for(let r of de(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(ce(e))}return t}return e.startsWith(`{`)?k(e):e.startsWith(`"""`)?ge(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?ge(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):le(e)}function le(e){return e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function k(e){let t={},n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of de(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=ce(e.slice(n+1).trim())}return t}function ue(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 de(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 fe(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 pe(e){let t=j(e,`#`);return t<0?e:e.slice(0,t)}function*A(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 j(e,t){return A(e,t).next().value??-1}function me(e,t){let n=-1;for(let r of A(e,t))n=r;return n}function he(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 ge(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>{switch(t[0]){case`"`:return`"`;case`\\`:return`\\`;case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
|
|
4
4
|
`;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}function _e(e,t,n){if(e===t)return e;let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;if(r>0&&e[r-1]!==`.`&&e[r-1]!==`-`){let t=r-1;for(;t>=0&&e[t]!==`.`&&e[t]!==`-`;)t--;if(t>=0)r=t+1;else{let t=0;for(;t<r;){let n=e.charCodeAt(t);if(n>=48&&n<=57)break;t++}r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const ve=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,ye=/^(\s*\()([^)]*)(\)\s*)$/,M=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,be=new Set([`===`,`==`,`>=`,`~=`]),xe=/^v?\d[0-9a-z.!+_-]*$/i;function Se(e){let t=[];for(let n of e.split(`,`)){let e=M.exec(n);if(!e)return null;let[,r,i,a,o,s]=e;t.push({lead:r,op:i,sep:a,version:o,trail:s})}return t}function Ce(e){let t=e.indexOf(`;`),n=ve.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[,r,i,a,o,s,c]=n,l=ye.exec(c);return{name:i,extras:o,specifiers:Se(l?l[2]:c),marker:t===-1?``:e.slice(t),head:`${r}${i}${a}${o}${s}`,open:l?.[1]??``,close:l?.[3]??``}}function N({head:e,open:t,close:n,marker:r},i){return`${e}${t}${i.map(({lead:e,op:t,sep:n,version:r,trail:i})=>`${e}${t}${n}${r}${i}`).join(`,`)}${n}${r}`}function we(e){return e.find(({op:e,version:t})=>be.has(e)&&xe.test(t))}function Te(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=Ce(n);if(!e?.specifiers)continue;let r=we(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const Ee=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`packageManager`],De=[`node`,`deno`,`bun`],P=[`.github`,`.gitea`,`.forgejo`],Oe={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},ke=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`],Ae=[`deps`,`indirect`,`replace`,`tool`],je=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Me=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function Ne(e,t){let n=[],r=(e,t,i,a)=>{if(t===e.length){a!==void 0&&n.push([i,a]);return}if(!a||typeof a!=`object`)return;let o=e[t],s=o===`*`?Array.isArray(a)?[]:Object.keys(a):[o];for(let n of s)r(e,t+1,i?`${i}.${n}`:n,a[n])};for(let n of e)r(n.split(`.`),0,``,t);return n}function Pe(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 F(e){return e.split(`,`).filter(Boolean)}function Fe(){let e=new Date;return new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().replace(`T`,` `).slice(0,-1)}function Ie(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
5
|
`)}return a}const Le={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Re(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Le[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}function ze(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function I(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 Be(e){try{return await e}catch{return null}}const L=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Ve(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(L).join(`|`)}function He(e){return e instanceof RegExp?/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e:RegExp(`^${L(e).replaceAll(`\\*`,`.*`)}$`,`i`)}async function Ue(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=c(n);if(r===n)return null;n=r}}function We(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function R(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function Ge(e){let t=new Map;return n=>R(t,n,()=>e(n))}const Ke=/^v?(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*))?(?:\+[a-zA-Z0-9._-]+)?$/,qe=new Map;function z(e){return typeof e==`string`?R(qe,e,()=>{let t=Ke.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function Je(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 B(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function Ye(e,t){let n=B(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=Je(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function Xe(e){return z(e)?.version??null}function V(e){return z(e)}const Ze=new Map,Qe=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function H(e){return typeof e==`string`?R(Ze,e,()=>{let t=Qe.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function $e(e,t){let n=z(e),r=z(t);return!n||!r?null:et(n,r)}function et(e,t){if(e.version===t.version)return null;let n=Ye(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(B(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 tt(e,t){let n=z(e),r=z(t);return n&&r?Ye(n,r):null}function U(e,t){return(tt(e,t)??-1)>0}function nt(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=z(`${n}.${t[3]??`0`}.${t[4]??`0`}${t[5]||``}`);return r?{op:t[1]||`=`,semver:r}:null}function rt(e,t){let n=Ye(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 W(e,t,n){return`${e}.${t}.${n}-0`}function it(e){return e.replace(/([~^])\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:\.[xX*])*((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i,a)=>{let o=Number(n),s=r===void 0?0:Number(r),c=i===void 0?0:Number(i),l=(t===`~`?r:i)===void 0?``:a,u;return u=r===void 0?W(o+1,0,0):t===`~`?W(o,s+1,0):o===0?i!==void 0&&s===0?W(0,0,c+1):W(0,s+1,0):W(o+1,0,0),`>=${o}.${s}.${c}${l} <${u}`})}function at(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?`<${W(p+1,0,0)}`:`<${W(p,Number(o)+1,0)}`:`<=${p}.${Number(o)}.${Number(s)}${c||``}`,`>=${l}.${u}.${d}${f} ${m}`})}function ot(e,t,n,r){return!e||e===`=`?r?`>=${t}.0.0 <${W(t+1,0,0)}`:`>=${t}.${n}.0 <${W(t,n+1,0)}`:e===`>`?r?`>=${t+1}.0.0`:`>=${t}.${n+1}.0`:e===`<=`?r?`<${W(t+1,0,0)}`:`<${W(t,n+1,0)}`:e===`<`?r?`<${t}.0.0-0`:`<${t}.${n}.0-0`:r?`>=${t}.0.0`:`>=${t}.${n}.0`}function st(e){return/^\s*[*xX]\s*$/.test(e)?`>=0.0.0`:(e=e.replace(/(>=|<=|>|<|=)?\s*v?(\d+)\.(\d+)\.[xX*]/g,(e,t,n,r)=>ot(t,Number(n),Number(r),!1)),e=e.replace(/(>=|<=|>|<|=)?\s*v?(\d+)\.[xX*](?:\.[xX*])?/g,(e,t,n)=>ot(t,Number(n),0,!0)),e=e.replace(/(^|[\s|])(>=|<=|>|<|=)?\s*v?(\d+)\.(\d+)(?=\s|$)/g,(e,t,n,r,i)=>`${t}${ot(n,Number(r),Number(i),!1)}`),e=e.replace(/(^|[\s|])(>=|<=|>|<|=)?\s*v?(\d+)(?=\s|$)/g,(e,t,n,r)=>`${t}${ot(n,Number(r),0,!0)}`),e)}const ct=new Map;function lt(e){return R(ct,e,()=>{let t=e.split(`||`).map(e=>e.trim()),n=[];for(let e of t){if(!e){n.push([]);continue}e=at(e),e=it(e),e=st(e),e=e.replace(/(>=|<=|>|<|=)\s+/g,`$1`),e=e.replace(/(^|[\s])v?(\d+\.\d+\.\d+(?:-[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*)?)\b/g,(e,t,n)=>`${t}=${n}`);let t=[];for(let n of e.split(/\s+/).filter(Boolean)){let e=nt(n);if(!e)return null;t.push(e)}if(t.length===0)return null;n.push(t)}return n.length?n:null})}function ut(e,t){return t.some(t=>!rt(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 G(e,t){let n=z(e);if(!n)return!1;let r=lt(t);if(!r)return!1;for(let e of r)if(e.length===0||ut(n,e))return!0;return!1}function K(e){return typeof e==`string`&<(e)?e:null}const dt=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,ft=RegExp(`^${dt}$`,`i`),pt=RegExp(dt,`i`),mt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},ht=new Map;function q(e){return typeof e==`string`?R(ht,e,()=>{let t=ft.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[mt[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function gt(e){return q(e)??q(pt.exec(e)?.[0]??``)}const _t=e=>!!(e.pre||e.dev);function vt(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function yt(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?vt(e.local,t.local):a<o?-1:1}function bt(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function xt(e,t){let n=yt(e,t);if(n===0)return null;let r=bt(e,t);return _t(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const St=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,Ct={parse:V,parseRange:e=>V(St.exec(e)?.[0]??``)??V(H(e)?.version??``),compare:Ye,diff:et,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:(e,t)=>G(e.version,t)},wt=new Map;function Tt(e){return R(wt,e,()=>{let t=e.trim().replace(/^v/i,``);return(V(t)??V(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?V(H(t)?.version??``):null)})}const Et={...Ct,parse:Tt,parseRange:Tt,isRangePrerelease:e=>!!Tt(e)?.prerelease.length},Dt={parse:q,parseRange:gt,compare:yt,diff:xt,isPrerelease:_t,isRangePrerelease:e=>{let t=gt(e);return!!(t&&_t(t))},satisfiesRange:({release:e},t)=>G(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Ot=[[1e3,6e4,`sec`,`s`,`second`],[6e4,36e5,`min`,`m`,`minute`],[36e5,864e5,`hour`,`h`],[864e5,6048e5,`day`,`d`],[6048e5,2628e6,`week`,`w`],[2628e6,31536e6,`month`,`mo`],[31536e6,1/0,`year`,`y`]],kt={"1 day ago":`yesterday`,"1 week ago":`last week`,"1 month ago":`last month`,"1 year ago":`last year`,"in 1 day":`tomorrow`,"in 1 week":`next week`,"in 1 month":`next month`,"in 1 year":`next year`};function At(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function jt(e,{now:t,noAffix:n=!1,times:r=Ot,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=kt,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():At(t))-At(e);if(Number.isNaN(d))return o||String(e);let f=d<0;if(f&&(d=-d),d<i)return a;let p=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(d>=t[1])continue;let n=Math.trunc(d/t[0]);p=u?`${n}${t[3]||t[2]}`:`${n} ${l&&t[4]||t[2]}${n>1?`s`:``}`;break}let m=n?p:f?`in ${p}`:`${p} ago`;return s?c[m]??m:m}function Mt(e){return new Promise((t,n)=>{g(e,`utf8`,(e,r)=>e?n(e):t(r))})}const Nt=u(r===`win32`?t.LOCALAPPDATA||u(ie(),`AppData`,`Local`):t.XDG_CACHE_HOME||u(ie(),`.cache`),`updates`);let Pt=null;const Ft=new Map;function It(e){return R(Ft,e,()=>re(`sha256`).update(e).digest(`hex`).substring(0,16))}async function Lt(e){try{let t=await Mt(u(Nt,`${It(e)}.cache`)),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 Rt=new Set;let zt=0;function Bt(e,t,r){let i=(async()=>{try{await(Pt??=ne(Nt,{recursive:!0}))}catch{Pt=null;return}try{let i=u(Nt,`${It(e)}.cache`),a=`${i}.${n}-${zt++}.tmp`;await w(a,`${t}\n${r}`),await C(a,i)}catch{}})();Rt.add(i),(async()=>{await i,Rt.delete(i)})()}async function Vt(){for(;Rt.size;)await Promise.all(Rt)}var Ht=`17.22.2`;function J(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const Ut=Ht,Wt=5e3,Gt=2500,Kt=`https://api.github.com`,Y={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:Kt,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},X=e=>e[0]===`v`?e.substring(1):e,qt=e=>e.endsWith(`/`)?e.slice(0,-1):e;function Jt(e,t){return{headers:{"user-agent":`updates/${Ut}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const Yt=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function Xt(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&Yt.has(t)}async function Zt(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=Xt(t),n}}async function Qt(e,t,n={}){let r=dn(e);for(let i=0;;i++)try{return await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)}))}catch(e){if(i>=2||!e?.transient)throw e}}async function $t(e){return typeof e.text==`function`?e.text():JSON.stringify(await e.json())}const en=e=>t=>JSON.stringify(e(JSON.parse(t)));function tn(e,t){if(!t||e.length<16384)return e;try{return t(e)}catch{return e}}async function nn(e,t,n,r,i){let a=tn(await $t(t),r);return i&&!n.noCache&&Bt(e,i,a),{body:a,res:t}}async function rn(e,t,n={},r,i=e){let a=t.noCache?null:await Lt(i),o=n.headers,s=a?{...o,"if-none-match":a.etag}:o,c=await Qt(t,e,{...n,headers:s});return c?c.status===304&&a?{body:a.body,res:c}:c.ok?nn(i,c,t,r,c.headers?.get?.(`etag`)):{res:c}:{res:void 0}}async function an(e,t,n={},r){if(!t.noCache){let t=await Lt(e);if(t)return{body:t.body}}let i=await Qt(t,e,n);return i?i.ok?nn(e,i,t,r,`immutable`):{res:i}:{res:void 0}}function on(e,t,n){let r=e.get(t);return r||e.set(t,r=(async()=>{try{return await n()}catch(n){throw e.delete(t),n}})()),r}const sn=new T;function cn(e){let t=0,n=0,r=[];return async i=>{if(sn.getStore())return i();t<e?t++:await new Promise(e=>{r.push(e)});try{return await sn.run(!0,i)}finally{n<r.length?(r[n++](),n===r.length&&(r=[],n=0)):t--}}}const ln=e=>Math.max(e.concurrency||25,1),un=new WeakMap;function dn(e){let t=un.get(e);return t||un.set(e,t=cn(ln(e))),t}function fn(e,t=Ct){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}function pn(e,t,n){let r=e.get(t);if(r)return r;let i=new Set(t);return n(i),e.set(t,i),i}const mn=new WeakMap,hn=new WeakMap;function gn(e,t,n,r){return t?{effectiveUsePre:!0,effectiveSemvers:pn(mn,n,e=>{e.add(`prerelease`),n.has(`patch`)&&e.add(`prepatch`),n.has(`minor`)&&e.add(`preminor`),n.has(`major`)&&e.add(`premajor`)})}:r.isRangePrerelease(e)?{effectiveUsePre:!0,effectiveSemvers:pn(hn,n,e=>e.add(`prerelease`))}:{effectiveUsePre:!1,effectiveSemvers:n}}function _n(e,t,{useRel:n,allowDowngrade:r,name:i},a=Ct){let o=a.parseRange(e),s=a.parse(t);if(!o||!s)return!0;let c=a.isRangePrerelease(e)||a.isPrerelease(o),l=a.isPrerelease(s);return c&&!l?a.compare(s,o)>=0||n:!l&&a.compare(s,o)<0?Pe(i,r):!0}function vn(e){return H(e)?.version??``}function yn(e,t,{range:n,semvers:r,usePre:i,useRel:a,pinnedRange:o,pinNoDowngrade:s,cooldownDays:c,now:l,getVersionDate:u,versioning:d=Ct}){let f=d.parseRange(n);if(!f)return null;let{effectiveUsePre:p,effectiveSemvers:m}=gn(n,i,r,d),h=e?.time,g=!!(c&&l),_=!!o&&!s&&!d.satisfiesRange(f,o)||a&&d.isPrerelease(f),v=null;for(let e of t){let t=d.parse(e);if(!t||d.isPrerelease(t)&&(!p||a)||!_&&d.compare(t,f)<=0||v&&d.compare(t,v)<=0||o&&!d.satisfiesRange(t,o)||g&&!J(u?u(e):h?.[e],c,l))continue;let n=d.diff(f,t),r=n&&!d.isPrerelease(t)?n.replace(/^pre/,``):n;!r||!m.has(r)||(v=t)}return v?.version??null}function bn(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function xn(e,{mode:t,range:n,useGreatest:r,useRel:i,usePre:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?Dt:Ct,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;m=Object.keys(t).filter(e=>!t[e]?.some(e=>e?.yanked)),g=e=>t[e]?.[0]?.upload_time_iso_8601,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``}else if(t===`go`){let t=vn(p);if(!t)return null;let{effectiveUsePre:n,effectiveSemvers:r}=gn(p,a,o,f),c=e=>fn(e)&&(!n||i),m={useRel:i,allowDowngrade:d,name:e.name},h=e.old||p,g=(e,n)=>{let i=vn(e);if(!i||bn(e)||c(e))return!1;let a=$e(h,e)??$e(t,i);return!a||!r.has(a)||!_n(h,e,m)||!J(n,l,u)?!1:!s||G(i,s)};return g(e.new,e.Time)?e.new:g(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}let _=yn(e,m,{range:p,semvers:o,usePre:a,useRel:i,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,getVersionDate:g,versioning:f});if(r)return _;{let t=m.includes(h)?f.parse(h):null,n=f.parseRange(p);if(!t||!n)return _;let r=_?f.parse(_):null,c=f.isPrerelease(t),v=f.isRangePrerelease(p),y=!!(r&&f.isPrerelease(r)),b={useRel:i,allowDowngrade:d,name:e.name};if(!i&&a||v&&y)return _;if(v&&!y)return _&&_n(p,_,b,f)?_:null;let x=f.diff(n,t);return x&&x!==`prerelease`&&!o.has(x.replace(/^pre/,``))||i&&c?_:f.compare(t,n)<0&&!c?_n(p,h,b,f)?h:r&&f.compare(r,n)>0?_:null:!v&&c&&!a||s&&!f.satisfiesRange(t,s)||l&&u&&!J(g?g(h):e.time?.[h],l,u)?_:h}}function Sn(e){try{return new URL(e).host}catch{return``}}function Cn(e){for(let n of F(t.UPDATES_FORGE_TOKENS??``)){let t=n.lastIndexOf(`:`);if(t>0&&n.slice(0,t)===e)return n.slice(t+1)}return null}let wn;async function Tn(){let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)}function En(){return wn??=Tn()}const Dn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];function On(){return Array.from(new Set(Dn.map(e=>t[e]).filter(e=>!!e)))}let kn;function An(){let e=On();return e.length?Promise.resolve(e):kn??=(async()=>{try{let{stdout:e}=await(await En())(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),t=e.trim();return t?[t]:[]}catch{return[]}})()}const jn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Mn(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=jn.exec(n);if(!e)continue;let r=Sn(e[1]),i=E.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let Nn;function Pn(){return Nn??=(async()=>{try{let{stdout:e}=await(await En())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Mn(e)}catch{return new Map}})()}const Fn=new Map;async function In(e,t){if(!e)return[];let n=Cn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===Sn(t),[a,o]=await Promise.all([i?An():[],Pn()]),s=o.get(r);return Array.from(new Set(s?[...a,s]:a))}var Ln=class extends Error{name=`ForgeError`;kind;host;status;reset;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),this.kind=e,this.host=t,this.status=r,this.reset=i}};async function Rn(e){if(e.status!==403&&e.status!==429)return null;let t=()=>Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t();try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t()}catch{}return null}async function zn(e,t,n,r){if(e.status>=500)throw new Ln(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Rn(e);if(i===null)return e;throw new Ln(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function Bn(e,t,n){let r=Sn(e),i=await In(r,t.forgeApiUrl),a=e=>{let t=Jt(`Bearer`,e);return n&&(t.headers={...t.headers,...n}),t},o=async n=>zn(await Qt(t,e,a(n)),e,r,i.length>0);try{if(!i.length)return await o();let e=Fn.get(r);if(e)return await o(e);for(let e of i){let t=await o(e);if(t.status!==401&&t.status!==403)return Fn.set(r,e),t}return await o()}catch(e){throw e instanceof Ln?e:new Ln(`network`,r,e?.message??String(e),{cause:e})}}function Vn(e,t){let n=X(t);if(!Xe(n))return null;let r=``,i=``;for(let t of e){let e=X(t);Xe(e)&&(!r||U(e,i))&&(r=t,i=e)}return r&&U(i,n)?r:null}function Hn(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 Un=/^(?=.*[a-f])[0-9a-f]{6,}$/i;function Wn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Gn(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function Kn(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function qn(e,t,n){let r=t.noCache?null:await Lt(e),i=await Bn(e,t,r?{"if-none-match":r.etag}:void 0);if(i?.status===304&&r)return r.body;if(!i?.ok)return null;let a=await n(i),o=i.headers.get(`etag`);return o&&!t.noCache&&Bt(e,o,a),a}async function Jn(e,t){let n=await qn(e,t,async e=>JSON.stringify({link:e.headers.get(`link`)||``,tags:Kn(await e.json())}));if(!n)return null;try{let e=JSON.parse(n);return{tags:e.tags||[],link:e.link||``}}catch{return null}}async function Yn(e,t,n,r,i=[]){let a=r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,o=[],s=new Set(i.filter(Boolean)),c=s.size>0,l=e=>{for(let t of e?.tags??[]){for(let e of s)(e===t.name||t.commitSha.startsWith(e))&&s.delete(e);o.push(t)}return c&&!s.size};try{let e=await Jn(a(1),r);if(!e)return o;let t=/<([^>]+)>;\s*rel="last"/.exec(e.link),n=t?Math.min(Number(new URL(t[1]).searchParams.get(`page`)),100):0,i=ln(r);for(let t=2,o=1,s=l(e);t<=n&&!s;t+=o,o=Math.min(o*2,i)){let e=await Promise.all(Array.from({length:Math.min(o,n-t+1)},(e,n)=>Jn(a(t+n),r)));for(let t of e)s=l(t)}return o}catch(e){if(e instanceof Ln)throw e;return[]}}function Z(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}const Xn=e=>Number(e[0])>=2e7;function Zn(e,t){let n=X(e).split(`.`),r=X(t).split(`.`);return n.length<r.length?!1:!Xn(n)||Xn(r)}function Qn(e,t,n=``){let r=X(e),i=X(t).split(`.`).length,a=r.split(`.`),o=i>=3?r:Array.from({length:i},(e,t)=>a[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${o}${n}`}function $n(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const er=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function tr({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of er)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=Hn(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${$n(a)}/${e.directory}`)),a||t||``)}const nr={"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 rr(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`).flatMap(F)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function ir(e){for(let[t,{short:n}]of Object.entries(nr))if(t===e||n===e)return t;return``}function ar(e){return new Set(e.map(He))}function or(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(F):[]}function sr(e){for(let[t,n]of Object.entries(e??{}))if(!K(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function cr(e){let t={};for(let n of Array.isArray(e)?e:[e]){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<1)throw Error(`Invalid pin: ${n}, expected <dep>=<range>`);t[n.slice(0,e)]=n.slice(e+1)}return sr(t),t}function lr(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:ar(e)}async function ur(e){let t=await Promise.all([`js`,`ts`,`mjs`,`mts`].map(async t=>{let n=`updates.config.${t}`,r=u(e,n);try{await te(r)}catch{return null}try{return{configDir:e,default:(await import(ae(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 dr=Ge(e=>Ue(e,ur));async function fr(e,t={}){let n=await dr(e),r=n?.default??{},{loadRenovateConfig:i,makePresetFetcher:a}=await import(`./renovate.js`),o=a(t),s=await i(n?.configDir??e,r.inherit?.renovate,o),c={...s,...r};return s.pin&&(c.pin={...s.pin,...r.pin},c.pinNoDowngrade=Object.keys(s.pin).filter(e=>!r.pin?.[e])),sr(c.pin),c}function pr(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function mr(e){try{return pr(_(e,`utf-8`))}catch{return}}function hr(e,t){let n=t;for(;;){let t=u(n,e);try{if(b(t).isFile())return t}catch{}let r=c(n);if(r===n)break;n=r}}function gr(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function _r(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[{...i}],l=[];function d(e){if(!e||l.includes(e))return;let t=mr(e);t&&(c.push(t),l.push(e))}o||(d(u(`/etc`,n,`config`)),d(u(`/etc`,`${n}rc`))),s&&(d(u(s,`.config`,n,`config`)),d(u(s,`.config`,n)),d(u(s,`.${n}`,`config`)),d(u(s,`.${n}rc`))),d(hr(`.${n}rc`,a));let f=gr(`${n}_`);return f.config&&d(f.config),Object.assign({},...c,f,l.length?{configs:l,config:l[l.length-1]}:void 0)}const vr=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,yr=/^([^/]+)\/([^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,br=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,xr=/(@[^/]+\/)?([^/]+)/g,Sr=/^(?:@[^/]+\/)?[^@]+/;function Cr(e){let t=e.match(xr),n=t?t[t.length-1]:e;return Sr.exec(n)?.[0]??n}const wr=Y.registry,Tr=new Map,Er=new Map;function Dr(e){return R(Tr,e??``,()=>_r(`npm`,{registry:wr},e))}function Or(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``)}function kr(e,t){let n=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],r=n(`_authToken`);if(r)return{token:Or(r),type:`Bearer`};let i=n(`username`),a=n(`_password`);if(i&&a){let e=Buffer.from(Or(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:Or(o),type:`Basic`}}function Ar(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=kr(`//${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:Or(i),type:`Basic`}}function jr(e,t){let n=t[`${e}:registry`]||``;return!n||n.endsWith(`/`)?n:`${n}/`}function Mr(e,t,n){let r=Dr(n),i=e.startsWith(`@`)?e.split(`/`)[0]:``;return R(Er,`${n??``}${i}:${t}`,()=>{let e,n=i&&jr(i,r);if(n)try{let i=qt(n);i!==t&&(e={auth:Ar(i,r),registry:i})}catch{}return e??{auth:Ar(t,r),registry:t}})}function Nr(e,t,n,r){let i=qt(typeof n.registry==`string`&&n.registry||t.registry||Dr(r).registry||wr);return{...Mr(e,i,r),originalRegistry:i}}function Pr(e,t,n){let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r}const Fr=new Map,Ir=new Map,Lr=new Map;function Rr(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 zr(e,t,n,r,i,a){let{auth:o,registry:s}=Nr(e,n,r,a),c=Pr(s,t===`resolutions`?Cr(e):e),l=r.needsDates?`${c}\0dates`:c;return[await on(Fr,l,async()=>{let t=Jt(o?.type,o?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await rn(c,i,t,en(Rr),l);return`body`in n||Z(n.res,c,e,s),JSON.parse(n.body)}),s]}async function Br(e,t,n,r,i,a){let{auth:o,registry:s}=Nr(e,n,r,a),c=Pr(s,e,t);return on(Ir,c,async()=>{try{let n=Jt(o?.type,o?.token),r=await an(c,i,n,en(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in r))return{};let a=JSON.parse(r.body),l=``,u=a?._npmOperationalInternal?.tmp;if(u){let e=/(\d{13})/.exec(u);e&&(l=new Date(Number(e[1])).toISOString())}let d=Pr(s,e);return l||=(await Fr.get(d))?.time?.[t]||``,l||=(await Be(on(Lr,d,async()=>{let e=await Qt(i,d,n);return e?.ok?await e.json():null})))?.time?.[t]||``,{repository:a.repository,homepage:a.homepage,date:l}}catch{return{}}})}function Vr(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Hr(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Ur(e){return e.startsWith(`catalog:`)}const Wr=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Gr(e){let t=Wr.exec(e);return t&&K(t[2])?{name:t[1],range:t[2]}:null}const Kr=[/^npm:@jsr\/([^_]+)__([^@]+)@(.+)$/,/^jsr:@([^/]+)\/([^@]+)@(.+)$/],qr=/^@([^/]+)\/(.+)$/;function Jr(e,t){for(let t of Kr){let n=t.exec(e);if(n)return{scope:n[1],name:n[2],version:n[3]}}if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=qr.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function Yr(e,t){if(!qr.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`,r=await rn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},en(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||Z(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return[{name:e,"dist-tags":{latest:i.latest},versions:a,time:o},t.jsrApiUrl]}const Xr=new Set([32,9,10,13]);function Zr(e){let t=new Map,n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e.charCodeAt(a);if(o===34){let t=a;for(;e.charCodeAt(++a)!==34&&a<e.length;)e.charCodeAt(a)===92&&a++;n===1&&r===null&&(r=e.slice(t+1,a),i=t)}else o===123||o===91?n++:o===125||o===93?(--n===0&&r!==null&&t.set(r,{start:i,end:a}),n===0&&(r=null)):o===44&&n===1&&r!==null&&(t.set(r,{start:i,end:a}),r=null)}return t}function Qr(e,t,n,r){for(let i=e.indexOf(n,t);i!==-1;i=e.indexOf(n,i+1)){let t=i+n.length;for(;Xr.has(e.charCodeAt(t));)t++;if(e.charCodeAt(t)===58){for(t++;Xr.has(e.charCodeAt(t));)t++;if(e.startsWith(r,t))return t}}return-1}function $r(e,t){let n;try{n=JSON.parse(e)}catch{return e}let r=Zr(e),i=new Map,a=[];for(let[o,{old:s,oldOrig:c,new:l}]of Object.entries(t)){let[t,u]=o.split(`\0`),d=n[t],f=typeof d==`string`,p=f?`${u}@${c||s}`:c||s,m=r.get(t);if(!m||(f?d:d?.[u])!==p)continue;let h=JSON.stringify(f?t:u),g=JSON.stringify(p),_=Qr(e,i.get(t)??m.start,h,g);(_===-1||_>=m.end)&&(_=Qr(e,m.start,h,g)),!(_===-1||_>=m.end)&&(i.set(t,_+g.length),a.push({index:_,length:g.length,text:JSON.stringify(f?`${u}@${l}`:l)}))}if(!a.length)return e;a.sort((e,t)=>e.index-t.index);let o=[],s=0;for(let{index:t,length:n,text:r}of a)t<s||(o.push(e.slice(s,t),r),s=t+n);return o.push(e.slice(s)),o.join(``)}const ei=String.raw`[<>]=?|[\^~=]`,ti=new RegExp(String.raw`^(${ei})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),ni=RegExp(`^(?:${ei})$`),ri=/^[xX*]$/,ii=/\+[0-9A-Za-z.-]+/g,ai=/\|\||[\dxX*]\s+\S/;function oi(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&ni.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function si(e,t){let n=ti.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&!a&&c.length<=3&&!/[xX*]/.test(o)&&(!s||s===`-0`)){let{major:e,minor:n,patch:a}=V(t);return`${r}${i}${s?`${e+1}.0.0-0`:c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:o.endsWith(`.0.0`)?`${e+1}.0.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;let l=t.split(`-`)[0].split(`.`);return l.join(`.`)===t?`${r}${i}${a}${c.map((e,t)=>ri.test(e)?e:l[t]??`0`).join(`.`)}`:`${r}${i}${a}${t}`}function ci(e,t){return e===`peerDependencies`||ai.test(t)}function li(e,t){if(G(t,e))return e;let n=oi(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=si(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=si(r,t),n.join(` `)}function ui(e,t,n,r){let i=(n||e).replace(ii,``),a=ci(r,i)?li(i,t):si(i,t);return G(t,a)?a:i}function Q(e){if(/[xX*]/.test(e))return e;let t=e.match(br);return t?.length===1?e.replace(br,vn(t[0])):e}async function di(e,t,n){let r=await qn(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function fi(e,t,n,r){return(await Yn(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}async function pi(e,t,n){let r=t.old.replace(vr,``),[,i,a,o]=yr.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(Un.test(o)){let{hash:t,commit:r}=await di(i,a,n);if(!t)return null;let c=Gn(r),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=Vn(await fi(i,a,o,n),o);if(t)return{key:e,newRange:s(t),user:i,repo:a,oldRef:o,newRef:t}}return null}function mi(e){let t={};for(let[n,r]of Object.entries(e.releases??{})){let e=r??[];t[n]=e.slice(0,1).map(t=>({...t.upload_time_iso_8601&&{upload_time_iso_8601:t.upload_time_iso_8601},...e.some(e=>e?.yanked)&&{yanked:!0}}))}let{name:n,version:r,project_urls:i}=e.info??{};return{info:{name:n,version:r,project_urls:i},releases:t}}async function hi(e,t){let n=`${t.pypiApiUrl}/pypi/${e}/json`,r=await rn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},en(mi));if(`body`in r)return[JSON.parse(r.body),null];Z(r.res,n,e,t.pypiApiUrl)}function gi(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=q(n.slice(0,-2));if(!r||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=q(n);if(!r)return!1;let i=yt(e,r);if(t===`==`)return i===0;if(t===`!=`)return i!==0;if(t===`>=`)return i>=0;let a=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(a&&e.post!==null&&r.post===null):t===`<=`?i<=0:t===`<`?i<0&&!(a&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function _i(e,t){let n=e.release.length-1;return e.release.map((e,r)=>(t.release[r]??0)+ +(r===n)).join(`.`)}function vi(e,t){return e.release.length===t.release.length?t.version:Array.from({length:e.release.length},(e,n)=>t.release[n]??0).join(`.`)}function yi(e,t,n){let r=Ce(e),i=r?.specifiers,a=q(t),o=q(n);if(!r||!i||!a||!o)return null;let s=we(i);if(s?.version!==t)return null;for(let e of i){if(e===s){e.version=e.op===`~=`?vi(a,o):n;continue}if(gi(o,e))continue;let t=q(e.version);e.op===`<`&&t?e.version=_i(t,o):e.op===`<=`&&(e.version=n)}return i.some(e=>!gi(o,e))?null:N(r,i)}function bi(e,t){let n=e;for(let[e,{old:r,oldOrig:i,new:a}]of Object.entries(t)){let t=e.split(`\0`)[1],o=i||r,s=RegExp(`(['"])( *${L(t)}(?![\\w.-]).*?)(?=\\1)`,`g`);n=n.replace(s,(e,t,n)=>`${t}${yi(n,o,a)??n}`)}return n}function xi(e){let t=e.includes(`:/`)||e.startsWith(`/`);return qt(!t&&/[.:/]/.test(e)?`https://${e}`:e)}function Si(e){let t=[],n=e;for(;n;){let e=n.search(/[,|]/),r=(e===-1?n:n.slice(0,e)).trim(),i=e!==-1&&n[e]===`|`?`|`:`,`;if(n=e===-1?``:n.slice(e+1),r){if(r===`off`||r===`direct`){t.push({url:r,fallback:i});break}t.push({url:xi(r),fallback:i})}}return t}function Ci(e){if(typeof e==`string`)return[{url:qt(e),fallback:`,`}];let n=Si(t.GOPROXY||`${Y.goproxy},direct`);return n.length?n:[{url:Y.goproxy,fallback:`,`}]}function wi(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Ti=new Map;function Ei(e){return R(Ti,e,()=>{let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(r===`*`)t+=`[^/]*`;else if(r===`?`)t+=`[^/]`;else if(r===`[`&&e.includes(`]`,n+1)){let r=e.indexOf(`]`,n+1);t+=`[${e.slice(n+1,r).replace(/\\/g,`\\\\`)}]`,n=r}else t+=L(r)}return RegExp(`^${t}(?:/.*)?$`)})}function Di(e,t){return t.some(t=>Ei(t).test(e))}function Oi(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const ki=/\/v(\d+)$/,Ai=/^gopkg\.in\/.*?\.v(\d+)$/;function ji(e){let t=Ai.exec(e)??ki.exec(e);return t?Number.parseInt(t[1]):1}function Mi(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(ki,``);return t<=1?n:`${n}/v${t}`}function Ni(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(X(t).split(`.`)[0]);return Number.isNaN(n)||n===ji(e)?e:Mi(e,n)}const Pi=/^require\s*\(/,Fi=/^replace\s*\(/,Ii=/^tool\s*\(/,Li=/^use\s*\(/,Ri=/^replace\s+/,zi=/^(\S+)\s+(v\S+)/,Bi=/^require\s+(\S+)\s+(v\S+)/,Vi=/^tool\s+(\S+)/,Hi=/^use\s+(\S+)/,Ui=/^(\S+)/,Wi=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Gi=/^replace\s+(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Ki=/^"(.*)"$/,qi=e=>Ki.exec(e)?.[1]??e;function Ji(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function Yi(e,t){let n=(t?Wi:Gi).exec(e);if(!n)return null;let[,r,i,a,o]=n;return{origModule:qi(r),origVersion:i??``,targetModule:qi(a),targetVersion:o??``}}function Xi(e,t,n){return t===`indirect`||e.startsWith(`golang.org/x/`)||bn(n)}async function Zi(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 Qi(e,t,n,r,i){let a=n?.Version??r,o=n?.Time??i,s=n?.path??e;return[{name:e,old:t,new:X(a),Time:o,...s!==e&&{newPath:s},sameMajorNew:X(r),sameMajorTime:i},null]}function $i(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(Pi.test(i)){c=!0;continue}if(Fi.test(i)){l=!0;continue}if(Ii.test(i)){u=!0;continue}if(i===`)`){c=!1,l=!1,u=!1;continue}if(i.startsWith(`//`))continue;if(u){i&&o.push(qi(i));continue}let s=Vi.exec(i);if(s){o.push(qi(s[1]));continue}let d=i.includes(`// indirect`);if(l||Ri.test(i)){let e=Yi(i,l);e&&(e.targetVersion&&!Ji(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||a.add(e.origModule));continue}let f=(c?zi:Bi).exec(i);f&&((d?n:t)[qi(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 ea(e,n,r,i,a){let o=ji(e),s=async(e,n)=>{try{let{stdout:r}=await(await En())(`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(t){let n=String(t?.stderr??``).trim().split(`
|
|
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 Rt=new Set;let zt=0;function Bt(e,t,r){let i=(async()=>{try{await(Pt??=ne(Nt,{recursive:!0}))}catch{Pt=null;return}try{let i=u(Nt,`${It(e)}.cache`),a=`${i}.${n}-${zt++}.tmp`;await w(a,`${t}\n${r}`),await C(a,i)}catch{}})();Rt.add(i),(async()=>{await i,Rt.delete(i)})()}async function Vt(){for(;Rt.size;)await Promise.all(Rt)}var Ht=`18.0.0`;function J(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const Ut=Ht,Wt=5e3,Gt=2500,Kt=`https://api.github.com`,Y={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:Kt,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},X=e=>e[0]===`v`?e.substring(1):e,qt=e=>e.endsWith(`/`)?e.slice(0,-1):e;function Jt(e,t){return{headers:{"user-agent":`updates/${Ut}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const Yt=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function Xt(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&Yt.has(t)}async function Zt(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=Xt(t),n}}async function Qt(e,t,n={}){let r=dn(e);for(let i=0;;i++)try{return await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)}))}catch(e){if(i>=2||!e?.transient)throw e}}async function $t(e){return typeof e.text==`function`?e.text():JSON.stringify(await e.json())}const en=e=>t=>JSON.stringify(e(JSON.parse(t)));function tn(e,t){if(!t||e.length<16384)return e;try{return t(e)}catch{return e}}async function nn(e,t,n,r,i){let a=tn(await $t(t),r);return i&&!n.noCache&&Bt(e,i,a),{body:a,res:t}}async function rn(e,t,n={},r,i=e){let a=t.noCache?null:await Lt(i),o=n.headers,s=a?{...o,"if-none-match":a.etag}:o,c=await Qt(t,e,{...n,headers:s});return c?c.status===304&&a?{body:a.body,res:c}:c.ok?nn(i,c,t,r,c.headers?.get?.(`etag`)):{res:c}:{res:void 0}}async function an(e,t,n={},r){if(!t.noCache){let t=await Lt(e);if(t)return{body:t.body}}let i=await Qt(t,e,n);return i?i.ok?nn(e,i,t,r,`immutable`):{res:i}:{res:void 0}}function on(e,t,n){let r=e.get(t);return r||e.set(t,r=(async()=>{try{return await n()}catch(n){throw e.delete(t),n}})()),r}const sn=new T;function cn(e){let t=0,n=0,r=[];return async i=>{if(sn.getStore())return i();t<e?t++:await new Promise(e=>{r.push(e)});try{return await sn.run(!0,i)}finally{n<r.length?(r[n++](),n===r.length&&(r=[],n=0)):t--}}}const ln=e=>Math.max(e.concurrency||25,1),un=new WeakMap;function dn(e){let t=un.get(e);return t||un.set(e,t=cn(ln(e))),t}function fn(e,t=Ct){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}function pn(e,t,n){let r=e.get(t);if(r)return r;let i=new Set(t);return n(i),e.set(t,i),i}const mn=new WeakMap,hn=new WeakMap;function gn(e,t,n,r){return t?{effectiveUsePre:!0,effectiveSemvers:pn(mn,n,e=>{e.add(`prerelease`),n.has(`patch`)&&e.add(`prepatch`),n.has(`minor`)&&e.add(`preminor`),n.has(`major`)&&e.add(`premajor`)})}:r.isRangePrerelease(e)?{effectiveUsePre:!0,effectiveSemvers:pn(hn,n,e=>e.add(`prerelease`))}:{effectiveUsePre:!1,effectiveSemvers:n}}function _n(e,t,{useRel:n,allowDowngrade:r,name:i},a=Ct){let o=a.parseRange(e),s=a.parse(t);if(!o||!s)return!0;let c=a.isRangePrerelease(e)||a.isPrerelease(o),l=a.isPrerelease(s);return c&&!l?a.compare(s,o)>=0||n:!l&&a.compare(s,o)<0?Pe(i,r):!0}function vn(e){return H(e)?.version??``}function yn(e,t,{range:n,semvers:r,usePre:i,useRel:a,pinnedRange:o,pinNoDowngrade:s,cooldownDays:c,now:l,getVersionDate:u,versioning:d=Ct}){let f=d.parseRange(n);if(!f)return null;let{effectiveUsePre:p,effectiveSemvers:m}=gn(n,i,r,d),h=e?.time,g=!!(c&&l),_=!!o&&!s&&!d.satisfiesRange(f,o)||a&&d.isPrerelease(f),v=null;for(let e of t){let t=d.parse(e);if(!t||d.isPrerelease(t)&&(!p||a)||!_&&d.compare(t,f)<=0||v&&d.compare(t,v)<=0||o&&!d.satisfiesRange(t,o)||g&&!J(u?u(e):h?.[e],c,l))continue;let n=d.diff(f,t),r=n&&!d.isPrerelease(t)?n.replace(/^pre/,``):n;!r||!m.has(r)||(v=t)}return v?.version??null}function bn(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function xn(e,{mode:t,range:n,useGreatest:r,useRel:i,usePre:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?Dt:Ct,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;m=Object.keys(t).filter(e=>!t[e]?.some(e=>e?.yanked)),g=e=>t[e]?.[0]?.upload_time_iso_8601,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``}else if(t===`go`){let t=vn(p);if(!t)return null;let{effectiveUsePre:n,effectiveSemvers:r}=gn(p,a,o,f),c=e=>fn(e)&&(!n||i),m={useRel:i,allowDowngrade:d,name:e.name},h=e.old||p,g=(e,n)=>{let i=vn(e);if(!i||bn(e)||c(e))return!1;let a=$e(h,e)??$e(t,i);return!a||!r.has(a)||!_n(h,e,m)||!J(n,l,u)?!1:!s||G(i,s)};return g(e.new,e.Time)?e.new:g(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}let _=yn(e,m,{range:p,semvers:o,usePre:a,useRel:i,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,getVersionDate:g,versioning:f});if(r)return _;{let t=m.includes(h)?f.parse(h):null,n=f.parseRange(p);if(!t||!n)return _;let r=_?f.parse(_):null,c=f.isPrerelease(t),v=f.isRangePrerelease(p),y=!!(r&&f.isPrerelease(r)),b={useRel:i,allowDowngrade:d,name:e.name};if(!i&&a||v&&y)return _;if(v&&!y)return _&&_n(p,_,b,f)?_:null;let x=f.diff(n,t);return x&&x!==`prerelease`&&!o.has(x.replace(/^pre/,``))||i&&c?_:f.compare(t,n)<0&&!c?_n(p,h,b,f)?h:r&&f.compare(r,n)>0?_:null:!v&&c&&!a||s&&!f.satisfiesRange(t,s)||l&&u&&!J(g?g(h):e.time?.[h],l,u)?_:h}}function Sn(e){try{return new URL(e).host}catch{return``}}function Cn(e){for(let n of F(t.UPDATES_FORGE_TOKENS??``)){let t=n.lastIndexOf(`:`);if(t>0&&n.slice(0,t)===e)return n.slice(t+1)}return null}let wn;async function Tn(){let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)}function En(){return wn??=Tn()}const Dn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];function On(){return Array.from(new Set(Dn.map(e=>t[e]).filter(e=>!!e)))}let kn;function An(){let e=On();return e.length?Promise.resolve(e):kn??=(async()=>{try{let{stdout:e}=await(await En())(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),t=e.trim();return t?[t]:[]}catch{return[]}})()}const jn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Mn(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=jn.exec(n);if(!e)continue;let r=Sn(e[1]),i=E.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let Nn;function Pn(){return Nn??=(async()=>{try{let{stdout:e}=await(await En())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Mn(e)}catch{return new Map}})()}const Fn=new Map;async function In(e,t){if(!e)return[];let n=Cn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===Sn(t),[a,o]=await Promise.all([i?An():[],Pn()]),s=o.get(r);return Array.from(new Set(s?[...a,s]:a))}var Ln=class extends Error{name=`ForgeError`;kind;host;status;reset;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),this.kind=e,this.host=t,this.status=r,this.reset=i}};async function Rn(e){if(e.status!==403&&e.status!==429)return null;let t=()=>Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t();try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t()}catch{}return null}async function zn(e,t,n,r){if(e.status>=500)throw new Ln(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Rn(e);if(i===null)return e;throw new Ln(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function Bn(e,t,n){let r=Sn(e),i=await In(r,t.forgeApiUrl),a=e=>{let t=Jt(`Bearer`,e);return n&&(t.headers={...t.headers,...n}),t},o=async n=>zn(await Qt(t,e,a(n)),e,r,i.length>0);try{if(!i.length)return await o();let e=Fn.get(r);if(e)return await o(e);for(let e of i){let t=await o(e);if(t.status!==401&&t.status!==403)return Fn.set(r,e),t}return await o()}catch(e){throw e instanceof Ln?e:new Ln(`network`,r,e?.message??String(e),{cause:e})}}function Vn(e,t){let n=X(t);if(!Xe(n))return null;let r=``,i=``;for(let t of e){let e=X(t);Xe(e)&&(!r||U(e,i))&&(r=t,i=e)}return r&&U(i,n)?r:null}function Hn(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 Un=/^(?=.*[a-f])[0-9a-f]{6,}$/i;function Wn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Gn(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function Kn(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function qn(e,t,n){let r=t.noCache?null:await Lt(e),i=await Bn(e,t,r?{"if-none-match":r.etag}:void 0);if(i?.status===304&&r)return r.body;if(!i?.ok)return null;let a=await n(i),o=i.headers.get(`etag`);return o&&!t.noCache&&Bt(e,o,a),a}async function Jn(e,t){let n=await qn(e,t,async e=>JSON.stringify({link:e.headers.get(`link`)||``,tags:Kn(await e.json())}));if(!n)return null;try{let e=JSON.parse(n);return{tags:e.tags||[],link:e.link||``}}catch{return null}}async function Yn(e,t,n,r,i=[]){let a=r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,o=[],s=new Set(i.filter(Boolean)),c=s.size>0,l=e=>{for(let t of e?.tags??[]){for(let e of s)(e===t.name||t.commitSha.startsWith(e))&&s.delete(e);o.push(t)}return c&&!s.size};try{let e=await Jn(a(1),r);if(!e)return o;let t=/<([^>]+)>;\s*rel="last"/.exec(e.link),n=t?Math.min(Number(new URL(t[1]).searchParams.get(`page`)),100):0,i=ln(r);for(let t=2,o=1,s=l(e);t<=n&&!s;t+=o,o=Math.min(o*2,i)){let e=await Promise.all(Array.from({length:Math.min(o,n-t+1)},(e,n)=>Jn(a(t+n),r)));for(let t of e)s=l(t)}return o}catch(e){if(e instanceof Ln)throw e;return[]}}function Z(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}const Xn=e=>Number(e[0])>=2e7;function Zn(e,t){let n=X(e).split(`.`),r=X(t).split(`.`);return n.length<r.length?!1:!Xn(n)||Xn(r)}function Qn(e,t,n=``){let r=X(e),i=X(t).split(`.`).length,a=r.split(`.`),o=i>=3?r:Array.from({length:i},(e,t)=>a[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${o}${n}`}function $n(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const er=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function tr({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of er)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=Hn(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${$n(a)}/${e.directory}`)),a||t||``)}const nr={"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 rr(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`).flatMap(F)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function ir(e){for(let[t,{short:n}]of Object.entries(nr))if(t===e||n===e)return t;return``}function ar(e){return new Set(e.map(He))}function or(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(F):[]}function sr(e){for(let[t,n]of Object.entries(e??{}))if(!K(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function cr(e){let t={};for(let n of Array.isArray(e)?e:[e]){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<1)throw Error(`Invalid pin: ${n}, expected <dep>=<range>`);t[n.slice(0,e)]=n.slice(e+1)}return sr(t),t}function lr(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:ar(e)}async function ur(e){let t=await Promise.all([`js`,`ts`,`mjs`,`mts`].map(async t=>{let n=`updates.config.${t}`,r=u(e,n);try{await te(r)}catch{return null}try{return{configDir:e,default:(await import(ae(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 dr=Ge(e=>Ue(e,ur));async function fr(e,t={}){let n=await dr(e),r=n?.default??{},{loadRenovateConfig:i,makePresetFetcher:a}=await import(`./renovate.js`),o=a(t),s=await i(n?.configDir??e,r.inherit?.renovate,o),c={...s,...r};return s.pin&&(c.pin={...s.pin,...r.pin},c.pinNoDowngrade=Object.keys(s.pin).filter(e=>!r.pin?.[e])),sr(c.pin),c}function pr(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function mr(e){try{return pr(_(e,`utf-8`))}catch{return}}function hr(e,t){let n=t;for(;;){let t=u(n,e);try{if(b(t).isFile())return t}catch{}let r=c(n);if(r===n)break;n=r}}function gr(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function _r(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[{...i}],l=[];function d(e){if(!e||l.includes(e))return;let t=mr(e);t&&(c.push(t),l.push(e))}o||(d(u(`/etc`,n,`config`)),d(u(`/etc`,`${n}rc`))),s&&(d(u(s,`.config`,n,`config`)),d(u(s,`.config`,n)),d(u(s,`.${n}`,`config`)),d(u(s,`.${n}rc`))),d(hr(`.${n}rc`,a));let f=gr(`${n}_`);return f.config&&d(f.config),Object.assign({},...c,f,l.length?{configs:l,config:l[l.length-1]}:void 0)}const vr=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,yr=/^([^/]+)\/([^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,br=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,xr=/(@[^/]+\/)?([^/]+)/g,Sr=/^(?:@[^/]+\/)?[^@]+/;function Cr(e){let t=e.match(xr),n=t?t[t.length-1]:e;return Sr.exec(n)?.[0]??n}const wr=Y.registry,Tr=new Map,Er=new Map;function Dr(e){return R(Tr,e??``,()=>_r(`npm`,{registry:wr},e))}function Or(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``)}function kr(e,t){let n=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],r=n(`_authToken`);if(r)return{token:Or(r),type:`Bearer`};let i=n(`username`),a=n(`_password`);if(i&&a){let e=Buffer.from(Or(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:Or(o),type:`Basic`}}function Ar(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=kr(`//${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:Or(i),type:`Basic`}}function jr(e,t){let n=t[`${e}:registry`]||``;return!n||n.endsWith(`/`)?n:`${n}/`}function Mr(e,t,n){let r=Dr(n),i=e.startsWith(`@`)?e.split(`/`)[0]:``;return R(Er,`${n??``}${i}:${t}`,()=>{let e,n=i&&jr(i,r);if(n)try{let i=qt(n);i!==t&&(e={auth:Ar(i,r),registry:i})}catch{}return e??{auth:Ar(t,r),registry:t}})}function Nr(e,t,n,r){let i=qt(typeof n.registry==`string`&&n.registry||t.registry||Dr(r).registry||wr);return{...Mr(e,i,r),originalRegistry:i}}function Pr(e,t,n){let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r}const Fr=new Map,Ir=new Map,Lr=new Map;function Rr(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 zr(e,t,n,r,i,a){let{auth:o,registry:s}=Nr(e,n,r,a),c=Pr(s,t===`resolutions`?Cr(e):e),l=r.needsDates?`${c}\0dates`:c;return[await on(Fr,l,async()=>{let t=Jt(o?.type,o?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await rn(c,i,t,en(Rr),l);return`body`in n||Z(n.res,c,e,s),JSON.parse(n.body)}),s]}async function Br(e,t,n,r,i,a){let{auth:o,registry:s}=Nr(e,n,r,a),c=Pr(s,e,t);return on(Ir,c,async()=>{try{let n=Jt(o?.type,o?.token),r=await an(c,i,n,en(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in r))return{};let a=JSON.parse(r.body),l=``,u=a?._npmOperationalInternal?.tmp;if(u){let e=/(\d{13})/.exec(u);e&&(l=new Date(Number(e[1])).toISOString())}let d=Pr(s,e);return l||=(await Fr.get(d))?.time?.[t]||``,l||=(await Be(on(Lr,d,async()=>{let e=await Qt(i,d,n);return e?.ok?await e.json():null})))?.time?.[t]||``,{repository:a.repository,homepage:a.homepage,date:l}}catch{return{}}})}function Vr(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Hr(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Ur(e){return e.startsWith(`catalog:`)}const Wr=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Gr(e){let t=Wr.exec(e);return t&&K(t[2])?{name:t[1],range:t[2]}:null}const Kr=[/^npm:@jsr\/([^_]+)__([^@]+)@(.+)$/,/^jsr:@([^/]+)\/([^@]+)@(.+)$/],qr=/^@([^/]+)\/(.+)$/;function Jr(e,t){for(let t of Kr){let n=t.exec(e);if(n)return{scope:n[1],name:n[2],version:n[3]}}if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=qr.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function Yr(e,t){if(!qr.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`,r=await rn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},en(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||Z(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return[{name:e,"dist-tags":{latest:i.latest},versions:a,time:o},t.jsrApiUrl]}const Xr=new Set([32,9,10,13]);function Zr(e){let t=new Map,n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e.charCodeAt(a);if(o===34){let t=a;for(;e.charCodeAt(++a)!==34&&a<e.length;)e.charCodeAt(a)===92&&a++;n===1&&r===null&&(r=e.slice(t+1,a),i=t)}else o===123||o===91?n++:o===125||o===93?(--n===0&&r!==null&&t.set(r,{start:i,end:a}),n===0&&(r=null)):o===44&&n===1&&r!==null&&(t.set(r,{start:i,end:a}),r=null)}return t}function Qr(e,t,n,r){for(let i=e.indexOf(n,t);i!==-1;i=e.indexOf(n,i+1)){let t=i+n.length;for(;Xr.has(e.charCodeAt(t));)t++;if(e.charCodeAt(t)===58){for(t++;Xr.has(e.charCodeAt(t));)t++;if(e.startsWith(r,t))return t}}return-1}function $r(e,t){let n;try{n=JSON.parse(e)}catch{return e}let r=Zr(e),i=new Map,a=[];for(let[o,{old:s,oldOrig:c,new:l}]of Object.entries(t)){let[t,u]=o.split(`\0`),d=n[t],f=typeof d==`string`,p=f?`${u}@${c||s}`:c||s,m=r.get(t);if(!m||(f?d:d?.[u])!==p)continue;let h=JSON.stringify(f?t:u),g=JSON.stringify(p),_=Qr(e,i.get(t)??m.start,h,g);(_===-1||_>=m.end)&&(_=Qr(e,m.start,h,g)),!(_===-1||_>=m.end)&&(i.set(t,_+g.length),a.push({index:_,length:g.length,text:JSON.stringify(f?`${u}@${l}`:l)}))}if(!a.length)return e;a.sort((e,t)=>e.index-t.index);let o=[],s=0;for(let{index:t,length:n,text:r}of a)t<s||(o.push(e.slice(s,t),r),s=t+n);return o.push(e.slice(s)),o.join(``)}const ei=String.raw`[<>]=?|[\^~=]`,ti=new RegExp(String.raw`^(${ei})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),ni=RegExp(`^(?:${ei})$`),ri=/^[xX*]$/,ii=/\+[0-9A-Za-z.-]+/g,ai=/\|\||[\dxX*]\s+\S/;function oi(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&ni.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function si(e,t){let n=ti.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&!a&&c.length<=3&&!/[xX*]/.test(o)&&(!s||s===`-0`)){let{major:e,minor:n,patch:a}=V(t);return`${r}${i}${s?`${e+1}.0.0-0`:c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:o.endsWith(`.0.0`)?`${e+1}.0.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;let l=t.split(`-`)[0].split(`.`);return l.join(`.`)===t?`${r}${i}${a}${c.map((e,t)=>ri.test(e)?e:l[t]??`0`).join(`.`)}`:`${r}${i}${a}${t}`}function ci(e,t){return e===`peerDependencies`||ai.test(t)}function li(e,t){if(G(t,e))return e;let n=oi(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=si(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=si(r,t),n.join(` `)}function ui(e,t,n,r){let i=(n||e).replace(ii,``),a=ci(r,i)?li(i,t):si(i,t);return G(t,a)?a:i}function Q(e){if(/[xX*]/.test(e))return e;let t=e.match(br);return t?.length===1?e.replace(br,vn(t[0])):e}async function di(e,t,n){let r=await qn(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function fi(e,t,n,r){return(await Yn(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}async function pi(e,t,n){let r=t.old.replace(vr,``),[,i,a,o]=yr.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(Un.test(o)){let{hash:t,commit:r}=await di(i,a,n);if(!t)return null;let c=Gn(r),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=Vn(await fi(i,a,o,n),o);if(t)return{key:e,newRange:s(t),user:i,repo:a,oldRef:o,newRef:t}}return null}function mi(e){let t={};for(let[n,r]of Object.entries(e.releases??{})){let e=r??[];t[n]=e.slice(0,1).map(t=>({...t.upload_time_iso_8601&&{upload_time_iso_8601:t.upload_time_iso_8601},...e.some(e=>e?.yanked)&&{yanked:!0}}))}let{name:n,version:r,project_urls:i}=e.info??{};return{info:{name:n,version:r,project_urls:i},releases:t}}async function hi(e,t){let n=`${t.pypiApiUrl}/pypi/${e}/json`,r=await rn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},en(mi));if(`body`in r)return[JSON.parse(r.body),null];Z(r.res,n,e,t.pypiApiUrl)}function gi(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=q(n.slice(0,-2));if(!r||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=q(n);if(!r)return!1;let i=yt(e,r);if(t===`==`)return i===0;if(t===`!=`)return i!==0;if(t===`>=`)return i>=0;let a=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(a&&e.post!==null&&r.post===null):t===`<=`?i<=0:t===`<`?i<0&&!(a&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function _i(e,t){let n=e.release.length-1;return e.release.map((e,r)=>(t.release[r]??0)+ +(r===n)).join(`.`)}function vi(e,t){return e.release.length===t.release.length?t.version:Array.from({length:e.release.length},(e,n)=>t.release[n]??0).join(`.`)}function yi(e,t,n){let r=Ce(e),i=r?.specifiers,a=q(t),o=q(n);if(!r||!i||!a||!o)return null;let s=we(i);if(s?.version!==t)return null;for(let e of i){if(e===s){e.version=e.op===`~=`?vi(a,o):n;continue}if(gi(o,e))continue;let t=q(e.version);e.op===`<`&&t?e.version=_i(t,o):e.op===`<=`&&(e.version=n)}return i.some(e=>!gi(o,e))?null:N(r,i)}function bi(e,t){let n=e;for(let[e,{old:r,oldOrig:i,new:a}]of Object.entries(t)){let t=e.split(`\0`)[1],o=i||r,s=RegExp(`(['"])( *${L(t)}(?![\\w.-]).*?)(?=\\1)`,`g`);n=n.replace(s,(e,t,n)=>`${t}${yi(n,o,a)??n}`)}return n}function xi(e){let t=e.includes(`:/`)||e.startsWith(`/`);return qt(!t&&/[.:/]/.test(e)?`https://${e}`:e)}function Si(e){let t=[],n=e;for(;n;){let e=n.search(/[,|]/),r=(e===-1?n:n.slice(0,e)).trim(),i=e!==-1&&n[e]===`|`?`|`:`,`;if(n=e===-1?``:n.slice(e+1),r){if(r===`off`||r===`direct`){t.push({url:r,fallback:i});break}t.push({url:xi(r),fallback:i})}}return t}function Ci(e){if(typeof e==`string`)return[{url:qt(e),fallback:`,`}];let n=Si(t.GOPROXY||`${Y.goproxy},direct`);return n.length?n:[{url:Y.goproxy,fallback:`,`}]}function wi(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Ti=new Map;function Ei(e){return R(Ti,e,()=>{let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(r===`*`)t+=`[^/]*`;else if(r===`?`)t+=`[^/]`;else if(r===`[`&&e.includes(`]`,n+1)){let r=e.indexOf(`]`,n+1);t+=`[${e.slice(n+1,r).replace(/\\/g,`\\\\`)}]`,n=r}else t+=L(r)}return RegExp(`^${t}(?:/.*)?$`)})}function Di(e,t){return t.some(t=>Ei(t).test(e))}function Oi(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const ki=/\/v(\d+)$/,Ai=/^gopkg\.in\/.*?\.v(\d+)$/;function ji(e){let t=Ai.exec(e)??ki.exec(e);return t?Number.parseInt(t[1]):1}function Mi(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(ki,``);return t<=1?n:`${n}/v${t}`}function Ni(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(X(t).split(`.`)[0]);return Number.isNaN(n)||n===ji(e)?e:Mi(e,n)}const Pi=/^require\s*\(/,Fi=/^replace\s*\(/,Ii=/^tool\s*\(/,Li=/^use\s*\(/,Ri=/^replace\s+/,zi=/^(\S+)\s+(v\S+)/,Bi=/^require\s+(\S+)\s+(v\S+)/,Vi=/^tool\s+(\S+)/,Hi=/^use\s+(\S+)/,Ui=/^(\S+)/,Wi=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Gi=/^replace\s+(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Ki=/^"(.*)"$/,qi=e=>Ki.exec(e)?.[1]??e;function Ji(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function Yi(e,t){let n=(t?Wi:Gi).exec(e);if(!n)return null;let[,r,i,a,o]=n;return{origModule:qi(r),origVersion:i??``,targetModule:qi(a),targetVersion:o??``}}function Xi(e,t,n){return t===`indirect`||e.startsWith(`golang.org/x/`)||bn(n)}async function Zi(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 Qi(e,t,n,r,i){let a=n?.Version??r,o=n?.Time??i,s=n?.path??e;return[{name:e,old:t,new:X(a),Time:o,...s!==e&&{newPath:s},sameMajorNew:X(r),sameMajorTime:i},null]}function $i(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(Pi.test(i)){c=!0;continue}if(Fi.test(i)){l=!0;continue}if(Ii.test(i)){u=!0;continue}if(i===`)`){c=!1,l=!1,u=!1;continue}if(i.startsWith(`//`))continue;if(u){i&&o.push(qi(i));continue}let s=Vi.exec(i);if(s){o.push(qi(s[1]));continue}let d=i.includes(`// indirect`);if(l||Ri.test(i)){let e=Yi(i,l);e&&(e.targetVersion&&!Ji(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||a.add(e.origModule));continue}let f=(c?zi:Bi).exec(i);f&&((d?n:t)[qi(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 ea(e,n,r,i,a){let o=ji(e),s=async(e,n)=>{try{let{stdout:r}=await(await En())(`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(t){let n=String(t?.stderr??``).trim().split(`
|
|
7
7
|
`)[0]||t?.message||String(t);throw Error(`go list -m ${e}@latest failed: ${n}`)}},c=e=>Be(s(e,a.goProbeTimeout)),l=Xi(e,n,r),[u,d]=await Promise.all([s(e,a.fetchTimeout),l?null:c(Mi(e,o+1))]);return Qi(e,r,await Zi(o,d,t=>c(Mi(e,t))),u.Version,u.Time)}const ta={"accept-encoding":`gzip, deflate, br`},na=e=>e===404||e===410;async function ra(e,t,n){try{let t=await e.json();if(t?.Version)return{Version:t.Version,Time:t.Time||``,path:n}}catch{}throw Error(`Invalid response from ${t}`)}const ia=async(e,t,n)=>{let r=`${t}/${Oi(n)}/@latest`,i=await e(r);if(i.ok)return ra(i,r,n);if(na(i.status))return null;Z(i,r,n,t)},aa=new WeakMap;function oa(e,t,n,r){return on(R(aa,e,()=>new Map),`${n}/${r}`,()=>ia(t,n,r))}function sa(e,t){let n=fn(e);return n===fn(t)?U(e,t):!n}function ca(e,t=0){let n=null;for(let r of e.split(`
|
|
8
8
|
`)){let[e,i]=r.trim().split(/\s+/);!e||!Xe(e)||t&&Number.parseInt(X(e))!==t||n&&!sa(e,n.Version)||(n={Version:e,Time:i??``})}return n}function la(e){return ki.test(e)||Ai.test(e)?ji(e):0}const ua=async(e,t,n)=>{let r=Oi(n),i=`${t}/${r}/@v/list`,a=await e(i);if(!a.ok){if(na(a.status))return null;Z(a,i,n,t)}let o=ca(await a.text(),la(n));if(!o)return null;if(o.Time)return{...o,path:n};let s=`${t}/${r}/@v/${Oi(o.Version)}.info`;try{let t=await e(s);if(t.ok)return ra(t,s,n)}catch{}return{...o,path:n}};async function da(e,t,n,r,i){let a=ji(t),o=(e,t,n)=>oa(i,e,t,n),s=e=>Qt(i,e,{headers:ta}),c=e=>i.doFetch(e,{signal:AbortSignal.timeout(i.goProbeTimeout),headers:ta}),l=t=>async n=>{try{return await t(c,e,n)}catch{return null}},u=Xi(t,n,r),d=Mi(t,a+1),[f,p]=await Promise.all([o(s,e,t),u?null:l(o)(d)]),m=f??await ua(s,e,t);if(!m)return null;let h=l(f?o:ua);return Qi(t,r,await Zi(a,u||f?p:await l(ua)(d),e=>h(Mi(t,e))),m.Version,m.Time)}async function fa(e,t,n,r,i,a){if(Di(e,a))return ea(e,t,n,r,i);for(let{url:a,fallback:o}of i.goProxyChain){if(a===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);if(a===`direct`)return ea(e,t,n,r,i);try{let r=await da(a,e,t,n,i);if(r)return r}catch(e){if(o===`,`)throw e}}throw Error(`Unable to find ${e} on any GOPROXY entry`)}const pa=(e,t)=>`("?)${L(e)}\\${t}`;function ma(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,u=Ni(s,l);if(o===`replace`){if(u!==s){let e=n;if(n=n.replace(RegExp(`(^\\s*(?:replace\\s+)?)${pa(s,2)}(\\s+=>\\s+)${pa(s,4)}(\\s+)v${L(c)}`,`gm`),`$1$2${u}$2$3$4${u}$4$5v${l}`),n!==e){let e=n;n=n.replace(RegExp(`(^\\s*(?:require\\s+)?)${pa(s,2)}(\\s+)v\\S+(?=\\s*(?://.*)?$)`,`gm`),`$1$2${u}$2$3v${l}`),n!==e&&(r[s]=u)}}n=n.replace(RegExp(`(=>\\s+)${pa(s,2)}(\\s+)v${L(c)}`,`g`),`$1$2${u}$2$3v${l}`);continue}u!==s&&o!==`indirect`?(n=n.replace(RegExp(`${pa(s,1)} +v${L(c)}`,`g`),`$1${u}$1 v${l}`),o===`tool`&&(n=n.replace(RegExp(`(^\\s+|^tool\\s+)("?)${L(s)}((?:/[^"\\s]+)?)\\2\\s*$`,`gm`),`$1$2${u}$3$2`)),r[s]=u):n=n.replace(RegExp(`(${pa(s,2)}) +v${L(c)}`,`g`),`$1 v${l}`)}return[n,r]}function ha(e,t,n){let r=Object.entries(t);if(!r.length)return;let i=new Map(r),a=RegExp(`"(${Ve(i.keys())})(/|")`,`g`),o=m(`**/*.go`,{cwd:e});for(let t of o){let r=u(e,t),o=_(r,`utf8`),s=o.replace(a,(e,t,n)=>`"${i.get(t)}${n}`);s!==o&&n(r,s)}}function ga(e){let t=[],n={},r=e.split(/\r?\n/),i=!1,a=!1;for(let e of r){let r=e.trim();if(Li.test(r)){i=!0;continue}if(Fi.test(r)){a=!0;continue}if(r===`)`){i=!1,a=!1;continue}if(i){let e=Ui.exec(r);e&&!r.startsWith(`//`)&&t.push(e[1]);continue}let o=Hi.exec(r);if(o){t.push(o[1]);continue}if(a||Ri.test(r)){let e=Yi(r,a);e?.targetVersion&&!Ji(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}}return{use:t,replace:n}}function _a(e){let t=`https://${va(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[,e,i,...a]=r;return n.pathname=`/${e}/${i}/${$n(t)}/${a.join(`/`)}`,n.href}return t}function va(e){return ki.test(e)?c(e):e}function ya(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function ba(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:Un.test(o)}}function xa(e,t){return e?e===`github.com`?Kt:`https://${e}/api/v1`:t}async function Sa(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await Lt(a);if(e)return e.body}try{let e=await Bn(a,i);if(e.status===404)return``;if(!e.ok)return;let t=Gn(await e.json());return t&&!i.noCache&&Bt(a,`immutable`,t),t}catch(e){if(e instanceof Ln)throw e;return}}function Ca(e,t){return Qn(V(X(e))?.version??X(e),t)}const wa=/^(\s*(?:-\s*)?uses:\s*)([^\n]*)$/,Ta=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function Ea(e){let t=wa.exec(e);if(!t)return null;let[,n,r]=t,i=r[0]===`'`||r[0]===`"`?r[0]:``,a=i?r.indexOf(i,1):0;if(a===-1)return null;let o=i?r.slice(1,a):/^[^\s#]*/.exec(r)[0];if(!o)return null;let s=r.slice(i?a+1:o.length),c=s.indexOf(`#`),l=c===-1?``:s.slice(c),u=l?Ta.exec(l.slice(1)):null;return{prefix:n,quote:i,value:o,gap:c===-1?s:s.slice(0,c),comment:l,pinnedVersion:u?.[1]??``,pinnedEnd:u?u[0].length+1:0}}const Da=/^https?:\/\//;function Oa(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}`,e]));return e.split(`
|
|
9
9
|
`).map(e=>{let t=Ea(e);if(!t)return e;let{prefix:r,quote:i,value:a,gap:o,comment:s,pinnedVersion:c,pinnedEnd:l}=t,u=Da.exec(a)?.[0]??``,d=n.get(a.slice(u.length));if(!d)return e;let f=d.newComment&&c?`# ${d.newComment}${s.slice(l)}`:s;return`${r}${i}${u}${d.name}@${d.newRef}${i}${o}${f}`}).join(`
|
|
@@ -13,7 +13,7 @@ import{cwd as e,env as t,pid as n,platform as r,stderr as i}from"node:process";i
|
|
|
13
13
|
`)){if(!e)continue;let t;try{t=JSON.parse(e)}catch{continue}if(c++,!t?.vers||t.yanked)continue;let n=t.vers;i[n]={},t.pubtime&&(a[n]=t.pubtime);let r=V(n);r&&(r.prerelease.length?(!s||U(n,s))&&(s=n):(!o||U(n,o))&&(o=n))}if(!c&&r.body.trim())throw Error(`Invalid JSON from ${n}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function Ro(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];Xe(a)&&We(t,i,a)}return t}const zo=/^\d/,Bo=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,Vo=/\s*,\s*/g,Ho=/(\s*,\s*)/,Uo=e=>e.includes(`,`)?e.replace(Vo,` `):e,Wo=e=>Uo(zo.test(e)&&!Bo.test(e)?`^${e}`:e);function Go(e,t){if(e.startsWith(`<`)&&G(t,e))return e;let n=Bo.exec(e);if(n){let[,e,r]=n;return`${t.split(/[-+]/)[0].split(`.`).slice(0,e.split(`.`).length).join(`.`)}${r}`}return zo.test(e)?ui(Q(`^${e}`),t,`^${e}`).replace(/^\^/,``):ui(Q(e),t,e)}function Ko(e,t){if(!e.includes(`,`))return Go(e,t);let n=e.split(Ho);for(let e=0;e<n.length;e+=2)n[e]=Go(n[e],t);return n.join(``)}function qo(e,t,n){let r=e.get(t);if(!r)return;let i=Wo(n),a;for(let e of r)G(e,i)&&(!a||U(e,a))&&(a=e);return a}const Jo=e=>`(?:${L(e)}|"${L(e)}"|'${L(e)}')`;function Yo(e,t){let n=e;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=Jo(i),c=L(a),l=t.split(`|`)[0].split(`.`).map(Jo).join(`\\.`);n=n.replace(RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`,`gm`),`$1${o}$2`),n=n.replace(RegExp(`^(\\s*${s}\\s*=\\s*\\{(?:"[^"]*"|'[^']*'|[^}\\n])*?\\bversion\\s*=\\s*["'])${c}(["'])`,`gm`),`$1${o}$2`),n=n.replace(RegExp(`(\\[${l}\\.${s}\\](?:(?!\\n\\[)[\\s\\S])*?version\\s*=\\s*["'])${c}(["'])`,`g`),`$1${o}$2`)}return n}function Xo(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}function Zo(e,t){let n=t===`.`?``:`|${t}`,r={};for(let[t,i]of Object.entries(e)){let[e,a]=t.split(`\0`),o=Xo(e);e===`${o}${n}`&&(r[`${o}${a}`]=i)}return r}const Qo=/[*?{[]/;async function $o(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=>m(e,{cwd:t})).map(e=>e.replace(/\\/g,`/`))),s=new Set,c=[];for(let e of i){let r=Qo.test(e)?m(e,{cwd:t}).map(e=>f(u(t,e))):[f(u(t,e))];for(let e of r){let r=d(t,e).replace(/\\/g,`/`);if(o.has(r))continue;let i=u(e,n);s.has(i)||(s.add(i),c.push({absPath:i,memberPath:`./${r}`}))}}return(await I(c,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)}const es=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#][^:#]*?))\s*:(?:\s+(.*))?$/,ts=/\s#/;function ns(e){let t=es.exec(e);if(!t)return null;let[,n,r,i,a,o=``]=t,s=e.length-o.length,c=o.search(ts),l=(c===-1?o:o.slice(0,c)).trimEnd(),u=l[0];return(u===`"`||u===`'`)&&l.length>1&&l.endsWith(u)&&(l=l.slice(1,-1),s+=1),{indent:n.length,key:r??i??a,value:l,valueIndex:s}}function*rs(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
|
|
14
14
|
`).entries()){let e=ns(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;o===0?(t=s===`catalog`||s===`catalogs`?s:``,n=``,r=-1):t===`catalog`?c&&(yield{type:`catalog`,name:s,value:c,lineIndex:i,valueIndex:l}):t===`catalogs`&&(r===-1||o<=r?(n=s,r=o):c&&(yield{type:`catalogs.${n}`,name:s,value:c,lineIndex:i,valueIndex:l}))}}function is(e,t){let n=e.split(`
|
|
15
15
|
`),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of rs(e)){let e=t[`${i}${a}`];if(!e||(e.oldOrig||e.old)!==o)continue;let l=n[s];n[s]=l.slice(0,c)+e.new+l.slice(c+o.length),r=!0}return r?n.join(`
|
|
16
|
-
`):e}function as(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 os=[...new Set(Object.values(Oe)),`actions`,`docker`,`make`],ss=new Set(os),cs={patch:new Set([`patch`]),minor:new Set([`patch`,`minor`]),major:new Set([`patch`,`minor`,`major`])},ls={"go.work":{mode:`go`,supersedes:`go.mod`},"pnpm-workspace.yaml":{mode:`npm`,supersedes:`package.json`}},us=(e,t)=>typeof e==`string`?qt(e):typeof t==`function`?t():t,ds=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function fs(e,t){let n=new Map,r=new Set(e),i=t;for(;r.size;){for(let e of r){let t=u(i,e);try{p(t),n.set(e,t),r.delete(e)}catch{}}let e=c(i);if(e===i)break;i=e}return n}async function ps(e,t){let n=await I(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 ms(e,t){t&&(e.date=t,e.age=jt(t,{noAffix:!0}))}const hs=(e,t,n)=>`${e}${t}${n}`,gs=e=>Object.values(e).reduce((e,t)=>e+Object.keys(t).length,0);function _s(e,t){return t===`go`?[e,va(e)]:t===`docker`?za(e):[e]}const vs=(e,t)=>t.find(t=>e[t]);function $(e,t,n,r,i,a=t){if(i===`engines`&&De.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let o=_s(e,a);for(let e of r)if(o.some(t=>e.test(t)))return!1;for(let e of n)if(o.some(t=>e.test(t)))return!0;return!n.size}function ys(t){let n=new Set;if(t)for(let e of t){let t;try{t=h(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}if(t.isFile())n.add(f(e));else if(t.isDirectory()){try{for(let t of v(e,{withFileTypes:!0}))t.isFile()&&(Object.hasOwn(Oe,t.name)||uo(t.name)||ho(t.name))&&n.add(f(u(e,t.name)))}catch{}let t=f(e).replace(/\\/g,`/`),r=P.some(e=>t.endsWith(`/${e}/workflows`)),i=!r&&P.some(e=>t.endsWith(`/${e}`)),a=r?[c(t)]:i?[t]:P.map(e=>u(t,e));for(let e of a)for(let t of ja(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(P),r=[...Object.keys(Oe),...so,...mo,...P],i=new Set;for(let[a,o]of fs(r,e())){if(t.has(a)){for(let e of ja(o))n.add(e);continue}let e=f(o);try{e=y.native(o)}catch{}i.has(e)||(i.add(e),n.add(f(o)))}try{for(let t of v(e(),{withFileTypes:!0})){let r=uo(t.name)&&!so.includes(t.name),i=ho(t.name)&&!mo.includes(t.name);t.isFile()&&(r||i)&&n.add(f(u(e(),t.name)))}}catch{}}for(let e of Array.from(n)){let t=s(e);Object.hasOwn(ls,t)&&n.delete(u(c(e),ls[t].supersedes))}return n}function bs(e,t){r===`win32`&&x(e,0),ee(e,t,r===`win32`?{flag:`r+`}:void 0)}const xs=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function Ss(e){let t={results:{}},n=new Map,r=Object.entries(e).sort(([e],[t])=>os.indexOf(e)-os.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=xs(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,a]of Object.entries(i)){typeof a.oldPrint==`string`&&(a.old=a.oldPrint),typeof a.newPrint==`string`&&(a.new=a.newPrint),typeof a.oldOrig==`string`&&!Vr(a.oldOrig)&&(a.old=e===`go`?ya(a.oldOrig):a.oldOrig),e===`go`?a.new=ya(a.new):e===`actions`&&(a.old=X(a.old),a.new=X(a.new)),delete a.oldPrint,delete a.newPrint,delete a.oldOrig,delete a.date;let[i,o,s]=r.split(`\0`),c=s&&n.get(xs(e,r))>1?`${o}${e===`actions`?`@`:`:`}${s}`:o,l=t.results[e]??={};(l[i]??={})[c]=a}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}let Cs=!1;async function ws(t={}){if(!Cs){let{enableDnsCache:e}=await import(`./dns.js`);e(),Cs=!0}let n={...t};typeof n.timeout==`number`&&(n.timeout=ze(n.timeout,`timeout`));let r=n.sockets??25,a=n.timeout??0,l=us(t.forgeapi,Y.forgeapi),d=us(t.pypiapi,Y.pypiapi),p=us(t.jsrapi,Y.jsrapi),m=Ci(t.goproxy),h=m[0].url,g=us(t.cargoapi,Y.cargoapi),_=us(t.dockerapi,Y.dockerapi),v=wi(),y=!n.noColor&&(n.color||i.isTTY),b=e=>y?t=>o(e,String(t),{validateStream:!1}):String,x=b(`magenta`),ee=b(`green`),te=b(`red`),ne,C={fetchTimeout:a||5e3,goProbeTimeout:a?Math.max(1,Math.floor(a/2)):Gt,concurrency:r,forgeApiUrl:l,pypiApiUrl:d,jsrApiUrl:p,goProxyUrl:h,goProxyChain:m,cratesIoUrl:g,dockerApiUrl:_,doFetch:(e,t)=>(ne??=dn(C))(async()=>{n.verbose&&console.error(`${Fe()} ${x(t?.method||`GET`)} ${e}`);let r=await Zt(e,t);return n.verbose&&console.error(`${Fe()} ${r.ok?ee(r.status):te(r.status)} ${e}`),r}),noCache:!!n.noCache},w=lr(n.greatest),T=lr(n.prerelease),E=lr(n.release),re=lr(n.patch),ie=lr(n.minor),ae=lr(n.allowDowngrade),D=n.modes?.length?new Set(n.modes):ss,O=(n.overrides??[]).map(e=>({include:e.include?.length?ar(e.include):void 0,exclude:e.exclude?.length?ar(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:Re(String(e.cooldown))})),se=(e,t)=>e.include&&t.every(t=>!Pe(t,e.include))?!1:!e.exclude||t.every(t=>!Pe(t,e.exclude)),ce=O.some(e=>e.cooldownDays);D.has(`actions`)&&An();let le=new Map;function k(e,t){let n=le.get(e);if(!n){let r=t??[e],i=e=>r.some(t=>Pe(t,e)),a=i(w),o=i(T),s=i(E),c=i(re),l=i(ie),u=i(ae),d;for(let e of O)se(e,r)&&(e.greatest!==void 0&&(a=e.greatest),e.prerelease!==void 0&&(o=e.prerelease),e.release!==void 0&&(s=e.release),e.patch!==void 0&&(c=e.patch),e.minor!==void 0&&(l=e.minor),e.allowDowngrade!==void 0&&(u=e.allowDowngrade),e.cooldownDays!==void 0&&(d=e.cooldownDays));let f=c?cs.patch:l?cs.minor:cs.major;n={useGreatest:a,usePre:o,useRel:s,semvers:f,allowDowngrade:u,cooldownOverride:d},le.set(e,n)}return n}let ue=ar(n.include??[]),de=ar(n.exclude??[]);sr(n.pin);let fe=n.pin??{},pe=(e,t,n)=>{let r=vs(fe,e);if(r)return{pinnedRange:fe[r],pinNoDowngrade:!1};let i=vs(t,e);return{pinnedRange:i?t[i]:void 0,pinNoDowngrade:!!(i&&Array.isArray(n)&&n.includes(i))}},A={},j={},me=new Map,he=new Map,ge=new Map,_e=[],ve=(e,t,n,r)=>{_e.push({mode:e,type:t,name:n,error:r?.message||String(r)})},ye=(e,t,n)=>{let[r,i]=t.split(`\0`);ve(e,r,i,n)},M={},be=Date.now(),xe=e=>{let t=n.cooldown??e;return t?Re(String(t)):0},Se=e(),Ce=e=>e.replace(`${Se}/`,``).replace(`${Se}\\`,``),N=(e,t,n,r,i,a)=>{A[e][hs(t,n,r)]={old:i,oldOrig:a}},we=(e,t,n,r)=>{if(Ur(r))return;let i=Gr(r);Vr(r)?N(`npm`,e,t,n,Jr(r,n).version,r):K(r)?N(`npm`,e,t,n,Q(r),r):i?(he.set(hs(e,t,n),i),N(`npm`,e,t,n,Q(i.range),r)):Hr(r)?N(`npm`,e,t,n,`0.0.0`,r):j[hs(e,t,n)]={old:r}},De=(e,t,n,r,i,a)=>{let o=(t,r)=>{for(let{name:o,version:s,spec:c}of Te(t))$(o,e,i,a,r)&&(N(e,r,n,o,Q(s),s),ge.set(hs(r,n,o),c))};for(let[s,c]of Ne(r,t)){let t=c||{};if(Array.isArray(t)){if(e!==`pypi`)continue;o(t,s)}else if(typeof t==`string`){let[r,o]=t.split(`@`);$(r,e,i,a,s)&&N(e,s,n,r,Q(o),o)}else for(let[r,c]of Object.entries(t)){if(e===`pypi`&&Array.isArray(c)){o(c,`${s}.${r}`);continue}$(r,e,i,a,s)&&(e===`npm`?we(s,n,r,c):e===`go`?N(e,s,n,r,ya(c),X(c)):K(c)&&N(e,s,n,r,Q(c),c))}}},P=ys(n.files?.length?new Set(n.files):!1),F=await ps(Array.from(P).filter(e=>{if(Aa(e))return D.has(`actions`)||D.has(`docker`);let t=s(e);if(uo(t))return D.has(`docker`);if(ho(t))return D.has(`make`);let n=Oe[t];return!!n&&D.has(n)}),r),Ie={},Le={},L={},Ve=[],He=null,Ue=[],R=[],Ke=[],qe=[],z=[],Je=[],B={},Ye={noCache:n.noCache,timeout:n.timeout||5e3},Xe=Ge(async e=>{let t=await fr(e,Ye);return{dirConfig:t,include:t.include?.length?ar([...n.include??[],...t.include]):ue,exclude:t.exclude?.length?ar([...n.exclude??[],...t.exclude]):de}});async function V(e){let{dirConfig:t,include:n,exclude:r}=await Xe(e);return{modeConfig:t,modeInclude:n,modeExclude:r,pin:t.pin??{}}}function Ze(e,t){return n.types?.length?n.types:t?.types?.length?t.types:e===`npm`?Ee:e===`pypi`?ke:e===`go`?n.indirect?Ae:Ae.filter(e=>e!==`indirect`):e===`cargo`?[...je,...Me]:[]}function Qe(e,t,n,r){A.docker??={};for(let i of n)for(let{ref:n}of Ua(e,i)){if(!$(n.fullImage,`docker`,r.include,r.exclude,`docker`))continue;let e=`${t}${n.fullImage}${n.tag}`;if(A.docker[e])continue;let i=Va(n.tag);i&&(A.docker[e]={old:i.version,oldOrig:n.tag},z.push({key:e,fullImage:n.fullImage,ref:n,filePin:r.pin,fileCooldownDays:r.cooldownDays}))}}async function H(e){let{dirConfig:t,include:n,exclude:r}=await Xe(e);return{include:n,exclude:r,pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:xe(t.cooldown)}}let $e=new Set,et=new Map;for(let e of P){let t=s(e);if(Object.hasOwn(ls,t))$e.add(ls[t].mode);else if(t===`Cargo.toml`){let t=F.get(e);if(!t)continue;try{let n=oe(t);et.set(e,n);let r=n.workspace?.members;Array.isArray(r)&&r.length&&$e.add(`cargo`)}catch{}}}let tt=(e,t,n,r,i,a)=>{let o=M[e]??=[],s=!o.length&&!$e.has(e),c=s?`.`:Ce(t);return o.push({absPath:f(t),content:n,memberPath:c,projectDir:r,modeConfig:i,pin:a,modeCooldownDays:xe(i.cooldown)}),s&&(B[e]={modeConfig:i,projectDir:r,pin:a}),s?``:`|${c}`},U=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}};for(let e of F.keys()){if(Aa(e)){let t=D.has(`actions`),n=D.has(`docker`),r=F.get(e),i=Ce(e),a=await H(c(e));if(Ie[i]={absPath:e,content:r},t){A.actions??={};for(let e of r.split(`
|
|
16
|
+
`):e}function as(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 os=[...new Set(Object.values(Oe)),`actions`,`docker`,`make`],ss=new Set(os),cs={patch:new Set([`patch`]),minor:new Set([`patch`,`minor`]),major:new Set([`patch`,`minor`,`major`])},ls={"go.work":{mode:`go`,supersedes:`go.mod`},"pnpm-workspace.yaml":{mode:`npm`,supersedes:`package.json`}},us=(e,t)=>typeof e==`string`?qt(e):typeof t==`function`?t():t,ds=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function fs(e,t){let n=new Map,r=new Set(e),i=t;for(;r.size;){for(let e of r){let t=u(i,e);try{p(t),n.set(e,t),r.delete(e)}catch{}}let e=c(i);if(e===i)break;i=e}return n}async function ps(e,t){let n=await I(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 ms(e,t){t&&(e.date=t,e.age=jt(t,{noAffix:!0,shortUnits:!0}))}const hs=(e,t,n)=>`${e}${t}${n}`,gs=e=>Object.values(e).reduce((e,t)=>e+Object.keys(t).length,0);function _s(e,t){return t===`go`?[e,va(e)]:t===`docker`?za(e):[e]}const vs=(e,t)=>t.find(t=>e[t]);function $(e,t,n,r,i,a=t){if(i===`engines`&&De.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let o=_s(e,a);for(let e of r)if(o.some(t=>e.test(t)))return!1;for(let e of n)if(o.some(t=>e.test(t)))return!0;return!n.size}function ys(t){let n=new Set;if(t)for(let e of t){let t;try{t=h(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}if(t.isFile())n.add(f(e));else if(t.isDirectory()){try{for(let t of v(e,{withFileTypes:!0}))t.isFile()&&(Object.hasOwn(Oe,t.name)||uo(t.name)||ho(t.name))&&n.add(f(u(e,t.name)))}catch{}let t=f(e).replace(/\\/g,`/`),r=P.some(e=>t.endsWith(`/${e}/workflows`)),i=!r&&P.some(e=>t.endsWith(`/${e}`)),a=r?[c(t)]:i?[t]:P.map(e=>u(t,e));for(let e of a)for(let t of ja(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(P),r=[...Object.keys(Oe),...so,...mo,...P],i=new Set;for(let[a,o]of fs(r,e())){if(t.has(a)){for(let e of ja(o))n.add(e);continue}let e=f(o);try{e=y.native(o)}catch{}i.has(e)||(i.add(e),n.add(f(o)))}try{for(let t of v(e(),{withFileTypes:!0})){let r=uo(t.name)&&!so.includes(t.name),i=ho(t.name)&&!mo.includes(t.name);t.isFile()&&(r||i)&&n.add(f(u(e(),t.name)))}}catch{}}for(let e of Array.from(n)){let t=s(e);Object.hasOwn(ls,t)&&n.delete(u(c(e),ls[t].supersedes))}return n}function bs(e,t){r===`win32`&&x(e,0),ee(e,t,r===`win32`?{flag:`r+`}:void 0)}const xs=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function Ss(e){let t={results:{}},n=new Map,r=Object.entries(e).sort(([e],[t])=>os.indexOf(e)-os.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=xs(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,a]of Object.entries(i)){typeof a.oldPrint==`string`&&(a.old=a.oldPrint),typeof a.newPrint==`string`&&(a.new=a.newPrint),typeof a.oldOrig==`string`&&!Vr(a.oldOrig)&&(a.old=e===`go`?ya(a.oldOrig):a.oldOrig),e===`go`?a.new=ya(a.new):e===`actions`&&(a.old=X(a.old),a.new=X(a.new)),delete a.oldPrint,delete a.newPrint,delete a.oldOrig,delete a.date;let[i,o,s]=r.split(`\0`),c=s&&n.get(xs(e,r))>1?`${o}${e===`actions`?`@`:`:`}${s}`:o,l=t.results[e]??={};(l[i]??={})[c]=a}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}let Cs=!1;async function ws(t={}){if(!Cs){let{enableDnsCache:e}=await import(`./dns.js`);e(),Cs=!0}let n={...t};typeof n.timeout==`number`&&(n.timeout=ze(n.timeout,`timeout`));let r=n.sockets??25,a=n.timeout??0,l=us(t.forgeapi,Y.forgeapi),d=us(t.pypiapi,Y.pypiapi),p=us(t.jsrapi,Y.jsrapi),m=Ci(t.goproxy),h=m[0].url,g=us(t.cargoapi,Y.cargoapi),_=us(t.dockerapi,Y.dockerapi),v=wi(),y=!n.noColor&&(n.color||i.isTTY),b=e=>y?t=>o(e,String(t),{validateStream:!1}):String,x=b(`magenta`),ee=b(`green`),te=b(`red`),ne,C={fetchTimeout:a||5e3,goProbeTimeout:a?Math.max(1,Math.floor(a/2)):Gt,concurrency:r,forgeApiUrl:l,pypiApiUrl:d,jsrApiUrl:p,goProxyUrl:h,goProxyChain:m,cratesIoUrl:g,dockerApiUrl:_,doFetch:(e,t)=>(ne??=dn(C))(async()=>{n.verbose&&console.error(`${Fe()} ${x(t?.method||`GET`)} ${e}`);let r=await Zt(e,t);return n.verbose&&console.error(`${Fe()} ${r.ok?ee(r.status):te(r.status)} ${e}`),r}),noCache:!!n.noCache},w=lr(n.greatest),T=lr(n.prerelease),E=lr(n.release),re=lr(n.patch),ie=lr(n.minor),ae=lr(n.allowDowngrade),D=n.modes?.length?new Set(n.modes):ss,O=(n.overrides??[]).map(e=>({include:e.include?.length?ar(e.include):void 0,exclude:e.exclude?.length?ar(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:Re(String(e.cooldown))})),se=(e,t)=>e.include&&t.every(t=>!Pe(t,e.include))?!1:!e.exclude||t.every(t=>!Pe(t,e.exclude)),ce=O.some(e=>e.cooldownDays);D.has(`actions`)&&An();let le=new Map;function k(e,t){let n=le.get(e);if(!n){let r=t??[e],i=e=>r.some(t=>Pe(t,e)),a=i(w),o=i(T),s=i(E),c=i(re),l=i(ie),u=i(ae),d;for(let e of O)se(e,r)&&(e.greatest!==void 0&&(a=e.greatest),e.prerelease!==void 0&&(o=e.prerelease),e.release!==void 0&&(s=e.release),e.patch!==void 0&&(c=e.patch),e.minor!==void 0&&(l=e.minor),e.allowDowngrade!==void 0&&(u=e.allowDowngrade),e.cooldownDays!==void 0&&(d=e.cooldownDays));let f=c?cs.patch:l?cs.minor:cs.major;n={useGreatest:a,usePre:o,useRel:s,semvers:f,allowDowngrade:u,cooldownOverride:d},le.set(e,n)}return n}let ue=ar(n.include??[]),de=ar(n.exclude??[]);sr(n.pin);let fe=n.pin??{},pe=(e,t,n)=>{let r=vs(fe,e);if(r)return{pinnedRange:fe[r],pinNoDowngrade:!1};let i=vs(t,e);return{pinnedRange:i?t[i]:void 0,pinNoDowngrade:!!(i&&Array.isArray(n)&&n.includes(i))}},A={},j={},me=new Map,he=new Map,ge=new Map,_e=[],ve=(e,t,n,r)=>{_e.push({mode:e,type:t,name:n,error:r?.message||String(r)})},ye=(e,t,n)=>{let[r,i]=t.split(`\0`);ve(e,r,i,n)},M={},be=Date.now(),xe=e=>{let t=n.cooldown??e;return t?Re(String(t)):0},Se=e(),Ce=e=>e.replace(`${Se}/`,``).replace(`${Se}\\`,``),N=(e,t,n,r,i,a)=>{A[e][hs(t,n,r)]={old:i,oldOrig:a}},we=(e,t,n,r)=>{if(Ur(r))return;let i=Gr(r);Vr(r)?N(`npm`,e,t,n,Jr(r,n).version,r):K(r)?N(`npm`,e,t,n,Q(r),r):i?(he.set(hs(e,t,n),i),N(`npm`,e,t,n,Q(i.range),r)):Hr(r)?N(`npm`,e,t,n,`0.0.0`,r):j[hs(e,t,n)]={old:r}},De=(e,t,n,r,i,a)=>{let o=(t,r)=>{for(let{name:o,version:s,spec:c}of Te(t))$(o,e,i,a,r)&&(N(e,r,n,o,Q(s),s),ge.set(hs(r,n,o),c))};for(let[s,c]of Ne(r,t)){let t=c||{};if(Array.isArray(t)){if(e!==`pypi`)continue;o(t,s)}else if(typeof t==`string`){let[r,o]=t.split(`@`);$(r,e,i,a,s)&&N(e,s,n,r,Q(o),o)}else for(let[r,c]of Object.entries(t)){if(e===`pypi`&&Array.isArray(c)){o(c,`${s}.${r}`);continue}$(r,e,i,a,s)&&(e===`npm`?we(s,n,r,c):e===`go`?N(e,s,n,r,ya(c),X(c)):K(c)&&N(e,s,n,r,Q(c),c))}}},P=ys(n.files?.length?new Set(n.files):!1),F=await ps(Array.from(P).filter(e=>{if(Aa(e))return D.has(`actions`)||D.has(`docker`);let t=s(e);if(uo(t))return D.has(`docker`);if(ho(t))return D.has(`make`);let n=Oe[t];return!!n&&D.has(n)}),r),Ie={},Le={},L={},Ve=[],He=null,Ue=[],R=[],Ke=[],qe=[],z=[],Je=[],B={},Ye={noCache:n.noCache,timeout:n.timeout||5e3},Xe=Ge(async e=>{let t=await fr(e,Ye);return{dirConfig:t,include:t.include?.length?ar([...n.include??[],...t.include]):ue,exclude:t.exclude?.length?ar([...n.exclude??[],...t.exclude]):de}});async function V(e){let{dirConfig:t,include:n,exclude:r}=await Xe(e);return{modeConfig:t,modeInclude:n,modeExclude:r,pin:t.pin??{}}}function Ze(e,t){return n.types?.length?n.types:t?.types?.length?t.types:e===`npm`?Ee:e===`pypi`?ke:e===`go`?n.indirect?Ae:Ae.filter(e=>e!==`indirect`):e===`cargo`?[...je,...Me]:[]}function Qe(e,t,n,r){A.docker??={};for(let i of n)for(let{ref:n}of Ua(e,i)){if(!$(n.fullImage,`docker`,r.include,r.exclude,`docker`))continue;let e=`${t}${n.fullImage}${n.tag}`;if(A.docker[e])continue;let i=Va(n.tag);i&&(A.docker[e]={old:i.version,oldOrig:n.tag},z.push({key:e,fullImage:n.fullImage,ref:n,filePin:r.pin,fileCooldownDays:r.cooldownDays}))}}async function H(e){let{dirConfig:t,include:n,exclude:r}=await Xe(e);return{include:n,exclude:r,pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:xe(t.cooldown)}}let $e=new Set,et=new Map;for(let e of P){let t=s(e);if(Object.hasOwn(ls,t))$e.add(ls[t].mode);else if(t===`Cargo.toml`){let t=F.get(e);if(!t)continue;try{let n=oe(t);et.set(e,n);let r=n.workspace?.members;Array.isArray(r)&&r.length&&$e.add(`cargo`)}catch{}}}let tt=(e,t,n,r,i,a)=>{let o=M[e]??=[],s=!o.length&&!$e.has(e),c=s?`.`:Ce(t);return o.push({absPath:f(t),content:n,memberPath:c,projectDir:r,modeConfig:i,pin:a,modeCooldownDays:xe(i.cooldown)}),s&&(B[e]={modeConfig:i,projectDir:r,pin:a}),s?``:`|${c}`},U=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}};for(let e of F.keys()){if(Aa(e)){let t=D.has(`actions`),n=D.has(`docker`),r=F.get(e),i=Ce(e),a=await H(c(e));if(Ie[i]={absPath:e,content:r},t){A.actions??={};for(let e of r.split(`
|
|
17
17
|
`)){let t=Ea(e),n=t&&ba(t.value);if(!n||!$(n.name,`actions`,a.include,a.exclude,`actions`))continue;let r=`${i}${n.name}${n.ref}`;A.actions[r]||(A.actions[r]={old:n.ref},qe.push({...n,key:r,comment:t.pinnedVersion,apiUrl:xa(n.host,l),filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}n&&(Le[i]={absPath:e,content:r,fileType:`workflow`},Qe(r,i,[Pa,Fa,Ia],a));continue}let t=s(e);if(uo(t)){let n=F.get(e),r=Ce(e),i=lo(t)?`dockerfile`:`compose`,a=await H(c(e));Le[r]={absPath:e,content:n,fileType:i},Qe(n,r,[fo(t)],a);continue}if(ho(t)){let t=F.get(e),n=Ce(e),r=await H(c(e));L[n]={absPath:e,content:t},A.make??={};let i={projectDir:c(e),filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of bo(t)){if(!$(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=`${n}${e}${a}`;A.make[t]||(A.make[t]={old:X(a),oldOrig:a},Je.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of To(t)){if(!$(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=`${n}${e.writtenImage}${e.ref.tag}`;if(A.make[t])continue;let a=Va(e.ref.tag);if(!a)continue;let o=Co(e.writtenImage,e.ref.tag,e.digest);A.make[t]={old:a.version,oldOrig:e.ref.tag},Je.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let n=Oe[t];if(t===`go.work`){A[n]??={};let t=c(f(e)),i=F.get(e);He={file:e,content:i};let a=ga(i),[{modeConfig:o,modeInclude:s,modeExclude:l,pin:d},p]=await Promise.all([V(t),I(a.use,async e=>{let n=f(u(t,e,`go.mod`));try{return{usePath:e,modPath:n,content:await S(n,`utf8`)}}catch{return null}},{concurrency:r})]),m=Ze(n,o);B[n]={modeConfig:o,projectDir:t,pin:d};for(let e of p){if(!e)continue;let{usePath:t,modPath:r,content:i}=e,a=$i(i),o=c(r);Ve.push({absPath:r,content:i,projectDir:o,memberPath:t}),De(n,a,t===`.`?``:`|${t}`,m,s,l)}for(let[e,t]of Object.entries(a.replace))$(e,n,s,l,`replace`)&&N(n,`replace`,``,e,ya(t),X(t));continue}if(t===`go.mod`&&Ve.some(t=>t.absPath===f(e))||t===`package.json`&&R.some(t=>t.absPath===f(e)))continue;if(t===`Cargo.toml`){A[n]??={};let t=F.get(e),i=et.get(e)??oe(t),a=c(f(e)),o=fs([`Cargo.lock`],a).get(`Cargo.lock`),s=i.workspace?.members,l=Array.isArray(s)&&s.length,[{modeConfig:u,modeInclude:d,modeExclude:p,pin:m},h,g]=await Promise.all([V(a),o?S(o,`utf8`):Promise.resolve(null),l?$o(s,a,`Cargo.toml`,r):Promise.resolve([])]),_=Ze(n,u),v=h?Ro(h):new Map,y=(e,t)=>{for(let[r,i]of Ne(_,e)){let e=i||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[i,a]of Object.entries(e))if($(i,n,d,p,r)){if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)&&!(`registry`in a)){let e=a.version,o=a.package||i;K(Uo(e))&&(o!==i&&me.set(hs(r,t,i),o),N(n,r,t,i,qo(v,o,e)??Q(Uo(e)),e))}else typeof a==`string`&&K(Uo(a))&&N(n,r,t,i,qo(v,i,a)??Q(Uo(a)),a)}}}};if(l){B[n]={modeConfig:u,projectDir:a,pin:m},y(i,``),Ue.push({absPath:f(e),content:t,memberPath:`.`});for(let e of g)Ue.push(e),y(U(e.absPath,()=>oe(e.content)),`|${e.memberPath}`)}else y(i,tt(n,e,t,a,u,m));continue}if(t===`pnpm-workspace.yaml`){A[n]??={};let i=c(f(e)),a=F.get(e),o=as(a),s=u(i,`package.json`),[{modeConfig:l,modeInclude:d,modeExclude:p,pin:m},h,g]=await Promise.all([V(i),Be(S(s,`utf8`)),$o(o,i,`package.json`,r)]),_=Ze(n,l);B[n]={modeConfig:l,projectDir:i,pin:m},Ke.push({absPath:f(e),content:a,memberPath:t});for(let{type:e,name:r,value:i}of rs(a))$(r,n,d,p,e)&&we(e,`|${t}`,r,i);if(h!==null){let e=U(s,()=>JSON.parse(h));R.push({absPath:f(s),content:h,memberPath:`.`}),De(n,e,``,_,d,p)}for(let e of g){let t=U(e.absPath,()=>JSON.parse(e.content));R.push(e),De(n,t,`|${e.memberPath}`,_,d,p)}continue}A[n]??={};let i=c(f(e)),{modeConfig:a,modeInclude:o,modeExclude:d,pin:p}=await V(i),m=Ze(n,a),h=F.get(e),g=tt(n,e,h,i,a,p);De(n,U(e,()=>n===`npm`?JSON.parse(h):n===`pypi`?oe(h):n===`go`?$i(h):{}),g,m,o,d)}if(!gs(A)&&!Object.keys(j).length)return{results:{},message:`No dependencies found, nothing to do.`};let nt=[],rt=!!xe(B.npm?.modeConfig.cooldown)||(M.npm??[]).some(e=>e.modeCooldownDays)||Object.keys(A.npm??{}).some(e=>k(e.split(`\0`)[1]).cooldownOverride),W={registry:n.registry,needsDates:rt};for(let[e,t]of Object.entries(B)){let i=A[e]&&Object.keys(A[e]).length>0,a=e===`npm`&&Object.keys(j).length>0;if(!i&&!a)continue;let{modeConfig:o,projectDir:s,pin:c}=t,l=xe(o.cooldown);nt.push((async()=>{let t=new Map;for(let n of M[e]??[])n.memberPath!==`.`&&t.set(`|${n.memberPath}`,n);let i={modeConfig:o,projectDir:s,pin:c,modeCooldownDays:l},a=e=>{let n=e.indexOf(`|`);return n!==-1&&t.get(e.slice(n))||i},u=new Map,d=e=>{for(let[t,{date:n}]of Object.entries(e)){if(!n)continue;let[r,i]=t.split(`\0`),{modeCooldownDays:o}=a(r);if(!o&&!ce)continue;let s=k(i).cooldownOverride??o;s&&!J(n,s,be)&&delete e[t]}},f=A[e],p=async(t,r,i)=>{let o=Xo(r),{modeConfig:s,projectDir:c,pin:l,modeCooldownDays:d}=a(r),p=f[t],m=he.get(t),h;if(e===`npm`){if(p.oldOrig&&Vr(p.oldOrig))h=await Yr(i,C);else if(p.oldOrig&&Hr(p.oldOrig)){let e=await Be(zr(i,o,s,W,C,c));if(!e){delete f[t];return}h=e}else h=await zr(m?.name??i,o,s,W,C,c)}else h=e===`go`?await fa(i,o,p.oldOrig||p.old,c,C,v):e===`cargo`?await Lo(me.get(t)??i,C):await hi(i,C);let[g,_]=h;if(g.error)throw Error(g.error);let y=_s(g.name,e),{useGreatest:b,usePre:ee,useRel:te,semvers:ne,allowDowngrade:S,cooldownOverride:w}=k(g.name,y),{old:T,oldOrig:E}=p,{pinnedRange:re,pinNoDowngrade:ie}=pe(y,l,s.pinNoDowngrade),ae=w??d,D=xn(g,{usePre:ee,useRel:te,useGreatest:b,semvers:ne,range:T,mode:e,pinnedRange:re,pinNoDowngrade:ie,allowDowngrade:S,cooldownDays:ae||void 0,now:ae?be:void 0}),O=``;if((e===`go`||e===`pypi`)&&D)O=D;else if(e===`cargo`&&D&&E)O=Ko(E,D);else if(D){if(E&&Hr(E))O=String(Dr(c)[`save-exact`])===`true`?D:`^${D}`;else if(E&&Vr(E)){let e=ds.exec(E);e?O=`${e[1]}${D}`:E.startsWith(`jsr:`)&&(O=`jsr:${D}`)}else O=m?`npm:${m.name}@${ui(T,D,m.range,o)}`:ui(T,D,E,o)}let oe=ge.get(t);if(!D||D===T||E&&E===O||oe&&!yi(oe,E||T,O)){n.verbose&&D&&D!==T&&console.error(`${Fe()} ${x(`SKIP`)} ${i}: ${E||T} can not be rewritten to ${D}`),delete f[t];return}let se=(e===`pypi`?g.releases?.[D]?.[0]?.upload_time_iso_8601:e===`go`?g.Time:e===`cargo`?g.time?.[D]:``)||``;p.new=O,E&&Vr(E)&&(p.newPrint=D),e===`npm`?u.set(t,{name:m?.name??i,promise:Br(g.name,D,s,W,C,c)}):e===`pypi`?p.info=tr(g,_,g.info.name):e===`go`?p.info=_a(g.newPath||i):e===`cargo`&&(p.info=`https://crates.io/crates/${g.name}`),ms(p,se)};if(await I(Object.keys(f),async t=>{let[n,r]=t.split(`\0`);try{await p(t,n,r)}catch(i){delete f[t],ve(e,n,r,i)}},{concurrency:r}),await Promise.all(Array.from(u,async([e,{name:t,promise:n}])=>{let r=await n,i=f[e];i&&(i.info=tr({repository:r.repository,homepage:r.homepage},null,t),r.date&&ms(i,r.date))})),e===`npm`&&Object.keys(j).length){let e=(await I(Object.entries(j),async([e,t])=>{try{return await pi(e,t,C)}catch(t){return ye(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:s}of e){let e=f[t]={old:j[t].old,new:n,oldPrint:Un.test(a)?a.substring(0,7):a,newPrint:Un.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`};s&&ms(e,s)}}d(f)})())}qe.length&&nt.push((async()=>{await I(Map.groupBy(qe,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a;try{a=await Yn(t,n,i,C,e.map(e=>e.ref))}catch(t){for(let n of e)delete A.actions[n.key],ye(`actions`,n.key,t);return}let o=[],s=new Map,c=new Map,l=new Map;for(let e of a){c.set(e.name,e);let t=Et.parse(e.name)?.version;if(t){let n=s.get(t);n||o.push(t),(!n||e.name.length>n.length)&&s.set(t,e.name)}e.commitSha&&l.set(e.commitSha,e.name)}let u=Ge(e=>Sa(t,n,i,e,C));async function d(e){let t={...e,cooldownDays:void 0,now:void 0},r=new Set;for(let a=0;a<20;a++){let a=yn({},r.size?o.filter(e=>!r.has(e)):o,t);if(!a)return null;let l=s.get(a),d=c.get(l)?.commitSha||``;if(!e.cooldownDays)return{version:a,tag:l,commitSha:d,date:``};let f=d?await u(d):``;if(f===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${l}`);if(J(f,e.cooldownDays,e.now))return{version:a,tag:l,commitSha:d,date:f};r.add(a)}return null}let f=async({key:e,host:t,ref:r,comment:a,name:o,isHash:s,filePin:f,filePinNoDowngrade:p,fileCooldownDays:m})=>{let h=A.actions[e],g=`https://${t||`github.com`}/${n}/${i}`,{pinnedRange:_,pinNoDowngrade:v}=pe([o],f,p),y=r;if(s?y=a||l.get(r)||l.entries().find(([e])=>e.startsWith(r))?.[1]||``:Wn(r)||(y=``),!y){delete A.actions[e];return}let{usePre:b,useRel:x,semvers:ee,cooldownOverride:te}=k(o),ne=te??m,S=await d({range:y,semvers:ee,usePre:b,useRel:x,versioning:Et,pinnedRange:_,pinNoDowngrade:v,cooldownDays:ne||void 0,now:ne?be:void 0});if(!S){delete A.actions[e];return}let{tag:C,commitSha:w,date:T}=S;if(s){if(!w||w.startsWith(r)||r.startsWith(w)){delete A.actions[e];return}h.old=r,h.new=w.substring(0,r.length),h.oldPrint=y,h.newPrint=C}else{let t=Ca(C,r);if(t===r){delete A.actions[e];return}h.new=c.has(t)?t:C}h.info=g;let E=T||(w?await Be(u(w)):``);E&&ms(h,E)};await I(e,async e=>{try{await f(e)}catch(t){delete A.actions[e.key],ye(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(A.actions).length||delete A.actions})()),z.length&&nt.push((async()=>{await I(Map.groupBy(z,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete A.docker[e.key];return}let n;try{let[t]=await eo(e,C);n=t}catch(e){for(let n of t)delete A.docker[n.key],ye(`docker`,n.key,e);return}let r=_s(e,`docker`);for(let i of t){let t=A.docker[i.key],a=t.oldOrig||t.old,{semvers:o,cooldownOverride:s}=k(e,r),{pinnedRange:c}=pe(r,i.filePin),l=s??i.fileCooldownDays,u=to(n.tags,a,o,l||void 0,l?be:void 0,c);if(!u){delete A.docker[i.key];continue}t.new=u.newTag,t.info=po(i.ref),ms(t,u.date)}},{concurrency:r}),Object.keys(A.docker).length||delete A.docker})()),Je.length&&nt.push((async()=>{await I(Je,async e=>{let t=_s(e.name,e.kind),{useGreatest:n,usePre:r,useRel:i,semvers:a,allowDowngrade:o,cooldownOverride:s}=k(e.name,t),{pinnedRange:c,pinNoDowngrade:l}=pe(t,e.filePin,e.filePinNoDowngrade),u=s??e.fileCooldownDays,d={semvers:a,useGreatest:n,usePre:r,useRel:i,allowDowngrade:o,pinnedRange:c,pinNoDowngrade:l,cooldownDays:u||void 0,now:u?be:void 0},f=A.make[e.key];try{let t;if(e.kind===`go`){let n=await Ao(e.installPath,e.version,e.projectDir,C,v,d);if(!n){delete A.make[e.key];return}e.newSpec=`${n.newInstallPath}@${n.newVersion}`,f.new=n.newVersion,t=n}else{let n=await jo(e.image,C,d);if(!n){delete A.make[e.key];return}e.newSpec=Co(e.image.writtenImage,n.newTag,e.image.digest?n.newDigest:null),f.new=n.newTag,t=n}f.info=t.info,t.date&&ms(f,t.date)}catch(t){delete A.make[e.key],ye(`make`,e.key,t)}},{concurrency:r}),Object.keys(A.make).length||delete A.make})());try{await Promise.all(nt)}finally{await Vt()}if(!gs(A))return _e.length?{results:{},errors:_e}:{results:{},message:`All dependencies are up to date.`};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=Zo(A[e],r.memberPath);Object.keys(t).length&&bs(r.absPath,n(r.content,t))}},t=new Map;for(let[e,n]of Object.entries(A.actions??{})){let[r,i]=e.split(`\0`),a=Un.test(n.old)?n.newPrint:void 0;We(t,r,{name:i,oldRef:n.old,newRef:n.new,newComment:a})}let n=new Map;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;for(let e of Je)!e.newSpec||!A.make?.[e.key]||We(r,e.key.split(`\0`)[0],{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}=Ie[e]||{};if(!t)continue;let i=Oa(r,n);bs(t,i),Le[e]&&(Le[e].content=i)}continue}if(a===`docker`){for(let[e,t]of n){let n=Le[e];if(!n)continue;let{absPath:r,content:i,fileType:a}=n;bs(r,(a===`dockerfile`?io:a===`compose`?ao:oo)(i,t))}continue}if(a===`make`){for(let[e,t]of r){let n=L[e];n&&bs(n.absPath,Mo(n.content,t))}continue}if(a===`go`){for(let e of[...Ve,...M.go??[]]){let t=Zo(A[a],e.memberPath);if(!Object.keys(t).length)continue;let[n,r]=ma(e.content,t);n!==e.content&&bs(e.absPath,n),ha(e.projectDir,r,bs)}if(He){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]=ma(He.content,e);t!==He.content&&bs(He.file,t)}}}else a===`cargo`?(e(a,Ue,Yo),e(a,M.cargo??[],Yo)):a===`npm`?(e(a,Ke,is),e(a,R,$r),e(a,M.npm??[],$r)):e(a,M[a]??[],bi)}}let it=Ss(A);return _e.length&&(it.errors=_e),it}function Ts(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function Es(e){let t=rr(e);if(t!==!1)return t===!0||Array.from(t).map(Ts)}function Ds(t){if(!t)return e();let n=l(t)?t:f(e(),t),r=!1;try{r=b(n).isDirectory()}catch{}return r?n:c(n)}function Os(e,t){let n=rr(e.file),r=[...n instanceof Set?n:[],...t];return{filesList:r,startDir:Ds(r[0])}}function ks(e){let t=a({strict:!1,allowPositionals:!0,tokens:!0,options:nr,...e!==void 0&&{args:e}}),n=t.values,r=new Set,i=0;for(let[e,a]of t.tokens.entries()){if(a.kind===`positional`&&i++,a.kind!==`option`||!a.value?.startsWith(`-`))continue;let o=a.value.startsWith(`--`)?2:1,s=ir(a.value.substring(o));if(!s)continue;let c=t.tokens[e+1],l=n[a.name];if(Array.isArray(l)){let e=l.indexOf(a.value);e!==-1&&l.splice(e,1)}else n[a.name]=!0;let u=c?.kind===`positional`&&c.value?c.value:!0;typeof u==`string`&&r.add(i),nr[s]?.multiple?(n[s]??=[]).push(u):n[s]=u}return{args:n,positionals:t.positionals.filter((e,t)=>!r.has(t))}}async function As(e,t){let{filesList:n,startDir:r}=Os(e,t),i=typeof e.timeout==`string`?ze(e.timeout,`timeout`):void 0,a={...await fr(r,{noCache:!!e[`no-cache`],timeout:i??5e3}),pin:void 0};e.json&&(a.json=!0),e.verbose&&(a.verbose=!0),e[`no-cache`]&&(a.noCache=!0),e.update&&(a.update=!0),e.indirect&&(a.indirect=!0),e[`error-on-outdated`]&&(a.errorOnOutdated=!0),e[`error-on-unchanged`]&&(a.errorOnUnchanged=!0),e.color&&(a.color=!0,a.noColor=!1),e[`no-color`]&&(a.color=!1,a.noColor=!0),i!==void 0&&(a.timeout=i),typeof e.sockets==`string`&&(a.sockets=ze(e.sockets,`sockets`)),typeof e.registry==`string`&&(a.registry=e.registry),typeof e.cooldown==`string`&&(a.cooldown=Number(e.cooldown)||e.cooldown);let o=or(e.include).map(Ts),s=or(e.exclude).map(Ts);o.length&&(a.include=o),s.length&&(a.exclude=s);let c=or(e.types);c.length&&(a.types=c);let l=cr(e.pin);Object.keys(l).length&&(a.pin=l);let u=rr(e.modes);u instanceof Set&&(a.modes=Array.from(u));for(let t of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let n=Es(e[t]);n!==void 0&&(a[t]=n)}let d=Es(e[`allow-downgrade`]);d!==void 0&&(a.allowDowngrade=d),n.length&&(a.files=n);for(let t of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(a[t]=e[t]);return a}function js(e){try{return pr(_(u(e,`.npmrc`),`utf8`)).registry}catch{return}}function Ms(e,t){try{return`${new URL(typeof e==`string`&&e?e:t).origin}/`}catch{return null}}const Ns={npm:[`registry`,`jsrapi`,`forgeapi`],pypi:[`pypiapi`],cargo:[`cargoapi`],go:[`goproxy`],docker:[`dockerapi`],actions:[`forgeapi`,`dockerapi`],make:[`goproxy`,`dockerapi`]};function Ps(e){if(Oe[e])return Oe[e];if(uo(e))return`docker`;if(ho(e))return`make`}function Fs(e,t){let n=new Set;try{for(let t of v(e,{withFileTypes:!0}))if(t.isFile()){let e=Ps(t.name);e&&n.add(e)}else t.isDirectory()&&P.some(e=>e===t.name)&&n.add(`actions`)}catch{}let r=new Set;for(let i of n)for(let n of Ns[i]??[]){let i=Ms(n===`registry`&&typeof t.registry!=`string`?js(e):t[n],n===`goproxy`?Ci()[0].url:Y[n]);i&&r.add(i)}return Array.from(r)}const Is=/[A-Za-z_$]/,Ls=/[A-Za-z0-9_$]/;function Rs(e){let t=``,n=0,r=e.length,i=-1;function a(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
|
|
18
18
|
`;)t++;return t}for(t+=2;t<r&&(e[t]!==`*`||e[t+1]!==`/`);)t++;return t+2}function o(t){for(;t<r;){if(/\s/.test(e[t])){t++;continue}if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`)){t=a(t);continue}break}return t}for(;n<r;){let s=e[n];if(s===`"`){for(i=-1,t+=s,n++;n<r;){let i=e[n];if(t+=i,n++,i===`\\`&&n<r){t+=e[n],n++;continue}if(i===`"`)break}continue}if(s===`'`){for(i=-1,t+=`"`,n++;n<r;){let i=e[n];if(i===`\\`){let a=e[n+1];if(a===`'`){t+=`'`,n+=2;continue}if(a===`
|
|
19
19
|
`){n+=2;continue}t+=i,n+1<r?(t+=a,n+=2):n++;continue}if(i===`"`){t+=`\\"`,n++;continue}if(i===`'`){t+=`"`,n++;break}t+=i,n++}continue}if(s===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=a(n);continue}if(s===`,`){i=t.length,t+=s,n++;continue}if(s===`}`||s===`]`){i>=0&&(t=t.slice(0,i)+t.slice(i+1)),i=-1,t+=s,n++;continue}if(Is.test(s)){i=-1;let a=``;for(;n<r&&Ls.test(e[n]);)a+=e[n],n++;t+=e[o(n)]===`:`?JSON.stringify(a):a;continue}/\s/.test(s)||(i=-1),t+=s,n++}return JSON.parse(t)}export{Bt as $,$n as A,qt as B,Qn as C,An as D,In as E,bn as F,J as G,Gn as H,Zn as I,Vn as J,en as K,Xt as L,Gt as M,Un as N,tr as O,_n as P,Lt as Q,Wn as R,yn as S,Jt as T,Mn as U,Ut as V,Kn as W,Z as X,X as Y,Sn as Z,an as _,Os as a,Ie as at,Qt as b,Ln as c,Y as d,K as et,Zt as f,qn as g,Bn as h,As as i,Ge as it,Kt as j,dn as k,vn as l,Yn as m,Fs as n,R as nt,ws as o,Ue as ot,ln as p,Hn as q,ks as r,_e as rt,va as s,Rs as t,P as tt,on as u,Wt as v,En as w,xn as x,rn as y,fn as z};
|