@capgo/cli 7.37.3 → 7.37.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/dist/package.json +1 -1
- package/dist/src/sdk.js +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -104,7 +104,7 @@ const config: CapacitorConfig = ${(0,IU.formatJSObject)(t)};
|
|
|
104
104
|
export default config;
|
|
105
105
|
`}});function XU(){try{return Zm.default.statSync("/.dockerenv"),!0}catch{return!1}}function ZU(){try{return Zm.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function Qm(){return Xm===void 0&&(Xm=XU()||ZU()),Xm}var Zm,Xm,Ox=rt(()=>{Zm=de(require("node:fs"),1)});function Ji(){return eg===void 0&&(eg=QU()||Qm()),eg}var kx,eg,QU,tg=rt(()=>{kx=de(require("node:fs"),1);Ox();QU=()=>{try{return kx.default.statSync("/run/.containerenv"),!0}catch{return!1}}});var rg,$x,Tx,Px,Bn,ng=rt(()=>{rg=de(require("node:process"),1),$x=de(require("node:os"),1),Tx=de(require("node:fs"),1);tg();Px=()=>{if(rg.default.platform!=="linux")return!1;if($x.default.release().toLowerCase().includes("microsoft"))return!Ji();try{return Tx.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Ji():!1}catch{return!1}},Bn=rg.default.env.__IS_WSL_TEST__?Px:Px()});var og,xs,e5,t5,ig,Ix=rt(()=>{og=de(require("node:process"),1),xs=de(require("node:fs/promises"),1);ng();ng();e5=(()=>{let t="/mnt/",e;return async function(){if(e)return e;let r="/etc/wsl.conf",n=!1;try{await xs.default.access(r,xs.constants.F_OK),n=!0}catch{}if(!n)return t;let o=await xs.default.readFile(r,{encoding:"utf8"}),i=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(o);return i?(e=i.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):t}})(),t5=async()=>`${await e5()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,ig=async()=>Bn?t5():`${og.default.env.SYSTEMROOT||og.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`});function Ln(t,e,r){let n=o=>Object.defineProperty(t,e,{value:o,enumerable:!0,writable:!0});return Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){let o=r();return n(o),o},set(o){n(o)}}),t}var Rx=rt(()=>{});async function ag(){if(Lx.default.platform!=="darwin")throw new Error("macOS only");let{stdout:t}=await r5("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),r=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(t)?.groups.id??"com.apple.Safari";return r==="com.apple.safari"?"com.apple.Safari":r}var Bx,Lx,Nx,r5,jx=rt(()=>{Bx=require("node:util"),Lx=de(require("node:process"),1),Nx=require("node:child_process"),r5=(0,Bx.promisify)(Nx.execFile)});async function qx(t,{humanReadableOutput:e=!0,signal:r}={}){if(Ux.default.platform!=="darwin")throw new Error("macOS only");let n=e?[]:["-ss"],o={};r&&(o.signal=r);let{stdout:i}=await n5("osascript",["-e",t,n],o);return i.trim()}var Ux,Mx,sg,n5,Hx=rt(()=>{Ux=de(require("node:process"),1),Mx=require("node:util"),sg=require("node:child_process"),n5=(0,Mx.promisify)(sg.execFile)});async function ug(t){return qx(`tell application "Finder" to set app_path to application file id "${t}" as string
|
|
106
106
|
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var Vx=rt(()=>{Hx()});async function cg(t=o5){let{stdout:e}=await t("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),r=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(e);if(!r)throw new Fl(`Cannot find Windows browser in stdout: ${JSON.stringify(e)}`);let{id:n}=r.groups,o=Gx[n];if(!o)throw new Fl(`Unknown browser ID: ${n}`);return o}var zx,Kx,o5,Gx,hW,Fl,Wx=rt(()=>{zx=require("node:util"),Kx=require("node:child_process"),o5=(0,zx.promisify)(Kx.execFile),Gx={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},hW=new Map(Object.entries(Gx)),Fl=class extends Error{}});async function lg(){if(Ol.default.platform==="darwin"){let t=await ag();return{name:await ug(t),id:t}}if(Ol.default.platform==="linux"){let{stdout:t}=await i5("xdg-mime",["query","default","x-scheme-handler/http"]),e=t.trim();return{name:a5(e.replace(/.desktop$/,"").replace("-"," ")),id:e}}if(Ol.default.platform==="win32")return cg();throw new Error("Only macOS, Linux, and Windows are supported")}var Yx,Ol,Jx,i5,a5,Xx=rt(()=>{Yx=require("node:util"),Ol=de(require("node:process"),1),Jx=require("node:child_process");jx();Vx();Wx();i5=(0,Yx.promisify)(Jx.execFile),a5=t=>t.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase())});var gg={};Gr(gg,{apps:()=>Nn,default:()=>f5,openApp:()=>l5});async function u5(){let t=await ig(),e=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,r=pg.Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await s5(t,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",r],{encoding:"utf8"}),o=n.trim(),i={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return i[o]?{id:i[o]}:{}}function tA(t){if(typeof t=="string"||Array.isArray(t))return t;let{[Qx]:e}=t;if(!e)throw new Error(`${Qx} is not supported`);return e}function Pl({[Xi]:t},{wsl:e}){if(e&&Bn)return tA(e);if(!t)throw new Error(`${Xi} is not supported`);return tA(t)}var dg,pg,hg,rA,nA,mg,kl,d5,s5,fg,Zx,Xi,Qx,eA,As,c5,l5,Nn,f5,Dg=rt(()=>{dg=de(require("node:process"),1),pg=require("node:buffer"),hg=de(require("node:path"),1),rA=require("node:url"),nA=require("node:util"),mg=de(require("node:child_process"),1),kl=de(require("node:fs/promises"),1);Ix();Rx();Xx();tg();d5={},s5=(0,nA.promisify)(mg.default.execFile),fg=hg.default.dirname((0,rA.fileURLToPath)(d5.url)),Zx=hg.default.join(fg,"xdg-open"),{platform:Xi,arch:Qx}=dg.default;eA=async(t,e)=>{let r;for(let n of t)try{return await e(n)}catch(o){r=o}throw r},As=async t=>{if(t={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...t},Array.isArray(t.app))return eA(t.app,s=>As({...t,app:s}));let{name:e,arguments:r=[]}=t.app??{};if(r=[...r],Array.isArray(e))return eA(e,s=>As({...t,app:{name:s,arguments:r}}));if(e==="browser"||e==="browserPrivate"){let s={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},u={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},c=Bn?await u5():await lg();if(c.id in s){let l=s[c.id];return e==="browserPrivate"&&r.push(u[l]),As({...t,app:{name:Nn[l],arguments:r}})}throw new Error(`${c.name} is not supported as a default browser`)}let n,o=[],i={};if(Xi==="darwin")n="open",t.wait&&o.push("--wait-apps"),t.background&&o.push("--background"),t.newInstance&&o.push("--new"),e&&o.push("-a",e);else if(Xi==="win32"||Bn&&!Ji()&&!e){n=await ig(),o.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),Bn||(i.windowsVerbatimArguments=!0);let s=["Start"];t.wait&&s.push("-Wait"),e?(s.push(`"\`"${e}\`""`),t.target&&r.push(t.target)):t.target&&s.push(`"${t.target}"`),r.length>0&&(r=r.map(u=>`"\`"${u}\`""`),s.push("-ArgumentList",r.join(","))),t.target=pg.Buffer.from(s.join(" "),"utf16le").toString("base64")}else{if(e)n=e;else{let s=!fg||fg==="/",u=!1;try{await kl.default.access(Zx,kl.constants.X_OK),u=!0}catch{}n=dg.default.versions.electron??(Xi==="android"||s||!u)?"xdg-open":Zx}r.length>0&&o.push(...r),t.wait||(i.stdio="ignore",i.detached=!0)}Xi==="darwin"&&r.length>0&&o.push("--args",...r),t.target&&o.push(t.target);let a=mg.default.spawn(n,o,i);return t.wait?new Promise((s,u)=>{a.once("error",u),a.once("close",c=>{if(!t.allowNonzeroExitCode&&c>0){u(new Error(`Exited with code ${c}`));return}s(a)})}):(a.unref(),a)},c5=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a `target`");return As({...e,target:t})},l5=(t,e)=>{if(typeof t!="string"&&!Array.isArray(t))throw new TypeError("Expected a valid `name`");let{arguments:r=[]}=e??{};if(r!=null&&!Array.isArray(r))throw new TypeError("Expected `appArguments` as Array type");return As({...e,app:{name:t,arguments:r}})};Nn={};Ln(Nn,"chrome",()=>Pl({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));Ln(Nn,"brave",()=>Pl({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));Ln(Nn,"firefox",()=>Pl({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));Ln(Nn,"edge",()=>Pl({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));Ln(Nn,"browser",()=>"browser");Ln(Nn,"browserPrivate",()=>"browserPrivate");f5=c5});var of=S(dr=>{"use strict";dr.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;dr.find=(t,e)=>t.nodes.find(r=>r.type===e);dr.exceedsLimit=(t,e,r=1,n)=>n===!1||!dr.isInteger(t)||!dr.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=n;dr.escapeNode=(t,e=0,r)=>{let n=t.nodes[e];n&&(r&&n.type===r||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};dr.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;dr.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;dr.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;dr.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);dr.flatten=(...t)=>{let e=[],r=n=>{for(let o=0;o<n.length;o++){let i=n[o];if(Array.isArray(i)){r(i);continue}i!==void 0&&e.push(i)}return e};return r(t),e}});var af=S((SJ,k1)=>{"use strict";var O1=of();k1.exports=(t,e={})=>{let r=(n,o={})=>{let i=e.escapeInvalid&&O1.isInvalidBrace(o),a=n.invalid===!0&&e.escapeInvalid===!0,s="";if(n.value)return(i||a)&&O1.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let u of n.nodes)s+=r(u);return s};return r(t)}});var $1=S((xJ,P1)=>{"use strict";P1.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var M1=S((AJ,U1)=>{"use strict";var T1=$1(),jo=(t,e,r)=>{if(T1(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(T1(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...r};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let o=String(n.relaxZeros),i=String(n.shorthand),a=String(n.capture),s=String(n.wrap),u=t+":"+e+"="+o+i+a+s;if(jo.cache.hasOwnProperty(u))return jo.cache[u].result;let c=Math.min(t,e),l=Math.max(t,e);if(Math.abs(c-l)===1){let b=t+"|"+e;return n.capture?`(${b})`:n.wrap===!1?b:`(?:${b})`}let d=j1(t)||j1(e),p={min:t,max:e,a:c,b:l},h=[],m=[];if(d&&(p.isPadded=d,p.maxLen=String(p.max).length),c<0){let b=l<0?Math.abs(l):1;m=I1(b,Math.abs(c),p,n),c=p.a=0}return l>=0&&(h=I1(c,l,p,n)),p.negatives=m,p.positives=h,p.result=iM(m,h,n),n.capture===!0?p.result=`(${p.result})`:n.wrap!==!1&&h.length+m.length>1&&(p.result=`(?:${p.result})`),jo.cache[u]=p,p.result};function iM(t,e,r){let n=qg(t,e,"-",!1,r)||[],o=qg(e,t,"",!1,r)||[],i=qg(t,e,"-?",!0,r)||[];return n.concat(i).concat(o).join("|")}function aM(t,e){let r=1,n=1,o=B1(t,r),i=new Set([e]);for(;t<=o&&o<=e;)i.add(o),r+=1,o=B1(t,r);for(o=L1(e+1,n)-1;t<o&&o<=e;)i.add(o),n+=1,o=L1(e+1,n)-1;return i=[...i],i.sort(cM),i}function sM(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let n=uM(t,e),o=n.length,i="",a=0;for(let s=0;s<o;s++){let[u,c]=n[s];u===c?i+=u:u!=="0"||c!=="9"?i+=lM(u,c,r):a++}return a&&(i+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:i,count:[a],digits:o}}function I1(t,e,r,n){let o=aM(t,e),i=[],a=t,s;for(let u=0;u<o.length;u++){let c=o[u],l=sM(String(a),String(c),n),d="";if(!r.isPadded&&s&&s.pattern===l.pattern){s.count.length>1&&s.count.pop(),s.count.push(l.count[0]),s.string=s.pattern+N1(s.count),a=c+1;continue}r.isPadded&&(d=fM(c,r,n)),l.string=d+l.pattern+N1(l.count),i.push(l),a=c+1,s=l}return i}function qg(t,e,r,n,o){let i=[];for(let a of t){let{string:s}=a;!n&&!R1(e,"string",s)&&i.push(r+s),n&&R1(e,"string",s)&&i.push(r+s)}return i}function uM(t,e){let r=[];for(let n=0;n<t.length;n++)r.push([t[n],e[n]]);return r}function cM(t,e){return t>e?1:e>t?-1:0}function R1(t,e,r){return t.some(n=>n[e]===r)}function B1(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function L1(t,e){return t-t%Math.pow(10,e)}function N1(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function lM(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function j1(t){return/^-?(0+)\d/.test(t)}function fM(t,e,r){if(!e.isPadded)return t;let n=Math.abs(e.maxLen-String(t).length),o=r.relaxZeros!==!1;switch(n){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:return o?`0{0,${n}}`:`0{${n}}`}}jo.cache={};jo.clearCache=()=>jo.cache={};U1.exports=jo});var zg=S((FJ,W1)=>{"use strict";var dM=require("util"),H1=M1(),q1=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),pM=t=>e=>t===!0?Number(e):String(e),Hg=t=>typeof t=="number"||typeof t=="string"&&t!=="",js=t=>Number.isInteger(+t),Vg=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},hM=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,mM=(t,e,r)=>{if(e>0){let n=t[0]==="-"?"-":"";n&&(t=t.slice(1)),t=n+t.padStart(n?e-1:e,"0")}return r===!1?String(t):t},uf=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},gM=(t,e,r)=>{t.negatives.sort((s,u)=>s<u?-1:s>u?1:0),t.positives.sort((s,u)=>s<u?-1:s>u?1:0);let n=e.capture?"":"?:",o="",i="",a;return t.positives.length&&(o=t.positives.map(s=>uf(String(s),r)).join("|")),t.negatives.length&&(i=`-(${n}${t.negatives.map(s=>uf(String(s),r)).join("|")})`),o&&i?a=`${o}|${i}`:a=o||i,e.wrap?`(${n}${a})`:a},V1=(t,e,r,n)=>{if(r)return H1(t,e,{wrap:!1,...n});let o=String.fromCharCode(t);if(t===e)return o;let i=String.fromCharCode(e);return`[${o}-${i}]`},z1=(t,e,r)=>{if(Array.isArray(t)){let n=r.wrap===!0,o=r.capture?"":"?:";return n?`(${o}${t.join("|")})`:t.join("|")}return H1(t,e,r)},K1=(...t)=>new RangeError("Invalid range arguments: "+dM.inspect(...t)),G1=(t,e,r)=>{if(r.strictRanges===!0)throw K1([t,e]);return[]},DM=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},yM=(t,e,r=1,n={})=>{let o=Number(t),i=Number(e);if(!Number.isInteger(o)||!Number.isInteger(i)){if(n.strictRanges===!0)throw K1([t,e]);return[]}o===0&&(o=0),i===0&&(i=0);let a=o>i,s=String(t),u=String(e),c=String(r);r=Math.max(Math.abs(r),1);let l=Vg(s)||Vg(u)||Vg(c),d=l?Math.max(s.length,u.length,c.length):0,p=l===!1&&hM(t,e,n)===!1,h=n.transform||pM(p);if(n.toRegex&&r===1)return V1(uf(t,d),uf(e,d),!0,n);let m={negatives:[],positives:[]},b=E=>m[E<0?"negatives":"positives"].push(Math.abs(E)),D=[],C=0;for(;a?o>=i:o<=i;)n.toRegex===!0&&r>1?b(o):D.push(mM(h(o,C),d,p)),o=a?o-r:o+r,C++;return n.toRegex===!0?r>1?gM(m,n,d):z1(D,null,{wrap:!1,...n}):D},bM=(t,e,r=1,n={})=>{if(!js(t)&&t.length>1||!js(e)&&e.length>1)return G1(t,e,n);let o=n.transform||(p=>String.fromCharCode(p)),i=`${t}`.charCodeAt(0),a=`${e}`.charCodeAt(0),s=i>a,u=Math.min(i,a),c=Math.max(i,a);if(n.toRegex&&r===1)return V1(u,c,!1,n);let l=[],d=0;for(;s?i>=a:i<=a;)l.push(o(i,d)),i=s?i-r:i+r,d++;return n.toRegex===!0?z1(l,null,{wrap:!1,options:n}):l},sf=(t,e,r,n={})=>{if(e==null&&Hg(t))return[t];if(!Hg(t)||!Hg(e))return G1(t,e,n);if(typeof r=="function")return sf(t,e,1,{transform:r});if(q1(r))return sf(t,e,0,r);let o={...n};return o.capture===!0&&(o.wrap=!0),r=r||o.step||1,js(r)?js(t)&&js(e)?yM(t,e,r,o):bM(t,e,Math.max(Math.abs(r),1),o):r!=null&&!q1(r)?DM(r,o):sf(t,e,1,r)};W1.exports=sf});var X1=S((OJ,J1)=>{"use strict";var wM=zg(),Y1=of(),vM=(t,e={})=>{let r=(n,o={})=>{let i=Y1.isInvalidBrace(o),a=n.invalid===!0&&e.escapeInvalid===!0,s=i===!0||a===!0,u=e.escapeInvalid===!0?"\\":"",c="";if(n.isOpen===!0)return u+n.value;if(n.isClose===!0)return console.log("node.isClose",u,n.value),u+n.value;if(n.type==="open")return s?u+n.value:"(";if(n.type==="close")return s?u+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":s?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let l=Y1.reduce(n.nodes),d=wM(...l,{...e,wrap:!1,toRegex:!0,strictZeros:!0});if(d.length!==0)return l.length>1&&d.length>1?`(${d})`:d}if(n.nodes)for(let l of n.nodes)c+=r(l,n);return c};return r(t)};J1.exports=vM});var eF=S((kJ,Q1)=>{"use strict";var CM=zg(),Z1=af(),da=of(),Uo=(t="",e="",r=!1)=>{let n=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?da.flatten(e).map(o=>`{${o}}`):e;for(let o of t)if(Array.isArray(o))for(let i of o)n.push(Uo(i,e,r));else for(let i of e)r===!0&&typeof i=="string"&&(i=`{${i}}`),n.push(Array.isArray(i)?Uo(o,i,r):o+i);return da.flatten(n)},EM=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,n=(o,i={})=>{o.queue=[];let a=i,s=i.queue;for(;a.type!=="brace"&&a.type!=="root"&&a.parent;)a=a.parent,s=a.queue;if(o.invalid||o.dollar){s.push(Uo(s.pop(),Z1(o,e)));return}if(o.type==="brace"&&o.invalid!==!0&&o.nodes.length===2){s.push(Uo(s.pop(),["{}"]));return}if(o.nodes&&o.ranges>0){let d=da.reduce(o.nodes);if(da.exceedsLimit(...d,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let p=CM(...d,e);p.length===0&&(p=Z1(o,e)),s.push(Uo(s.pop(),p)),o.nodes=[];return}let u=da.encloseBrace(o),c=o.queue,l=o;for(;l.type!=="brace"&&l.type!=="root"&&l.parent;)l=l.parent,c=l.queue;for(let d=0;d<o.nodes.length;d++){let p=o.nodes[d];if(p.type==="comma"&&o.type==="brace"){d===1&&c.push(""),c.push("");continue}if(p.type==="close"){s.push(Uo(s.pop(),c,u));continue}if(p.value&&p.type!=="open"){c.push(Uo(c.pop(),p.value));continue}p.nodes&&n(p,o)}return c};return da.flatten(n(t))};Q1.exports=EM});var rF=S((PJ,tF)=>{"use strict";tF.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
107
|
-
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var sF=S(($J,aF)=>{"use strict";var _M=af(),{MAX_LENGTH:nF,CHAR_BACKSLASH:Kg,CHAR_BACKTICK:SM,CHAR_COMMA:xM,CHAR_DOT:AM,CHAR_LEFT_PARENTHESES:FM,CHAR_RIGHT_PARENTHESES:OM,CHAR_LEFT_CURLY_BRACE:kM,CHAR_RIGHT_CURLY_BRACE:PM,CHAR_LEFT_SQUARE_BRACKET:oF,CHAR_RIGHT_SQUARE_BRACKET:iF,CHAR_DOUBLE_QUOTE:$M,CHAR_SINGLE_QUOTE:TM,CHAR_NO_BREAK_SPACE:IM,CHAR_ZERO_WIDTH_NOBREAK_SPACE:RM}=rF(),BM=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},n=typeof r.maxLength=="number"?Math.min(nF,r.maxLength):nF;if(t.length>n)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${n})`);let o={type:"root",input:t,nodes:[]},i=[o],a=o,s=o,u=0,c=t.length,l=0,d=0,p,h=()=>t[l++],m=b=>{if(b.type==="text"&&s.type==="dot"&&(s.type="text"),s&&s.type==="text"&&b.type==="text"){s.value+=b.value;return}return a.nodes.push(b),b.parent=a,b.prev=s,s=b,b};for(m({type:"bos"});l<c;)if(a=i[i.length-1],p=h(),!(p===RM||p===IM)){if(p===Kg){m({type:"text",value:(e.keepEscaping?p:"")+h()});continue}if(p===iF){m({type:"text",value:"\\"+p});continue}if(p===oF){u++;let b;for(;l<c&&(b=h());){if(p+=b,b===oF){u++;continue}if(b===Kg){p+=h();continue}if(b===iF&&(u--,u===0))break}m({type:"text",value:p});continue}if(p===FM){a=m({type:"paren",nodes:[]}),i.push(a),m({type:"text",value:p});continue}if(p===OM){if(a.type!=="paren"){m({type:"text",value:p});continue}a=i.pop(),m({type:"text",value:p}),a=i[i.length-1];continue}if(p===$M||p===TM||p===SM){let b=p,D;for(e.keepQuotes!==!0&&(p="");l<c&&(D=h());){if(D===Kg){p+=D+h();continue}if(D===b){e.keepQuotes===!0&&(p+=D);break}p+=D}m({type:"text",value:p});continue}if(p===kM){d++;let D={type:"brace",open:!0,close:!1,dollar:s.value&&s.value.slice(-1)==="$"||a.dollar===!0,depth:d,commas:0,ranges:0,nodes:[]};a=m(D),i.push(a),m({type:"open",value:p});continue}if(p===PM){if(a.type!=="brace"){m({type:"text",value:p});continue}let b="close";a=i.pop(),a.close=!0,m({type:b,value:p}),d--,a=i[i.length-1];continue}if(p===xM&&d>0){if(a.ranges>0){a.ranges=0;let b=a.nodes.shift();a.nodes=[b,{type:"text",value:_M(a)}]}m({type:"comma",value:p}),a.commas++;continue}if(p===AM&&d>0&&a.commas===0){let b=a.nodes;if(d===0||b.length===0){m({type:"text",value:p});continue}if(s.type==="dot"){if(a.range=[],s.value+=p,s.type="range",a.nodes.length!==3&&a.nodes.length!==5){a.invalid=!0,a.ranges=0,s.type="text";continue}a.ranges++,a.args=[];continue}if(s.type==="range"){b.pop();let D=b[b.length-1];D.value+=s.value+p,s=D,a.ranges--;continue}m({type:"dot",value:p});continue}m({type:"text",value:p})}do if(a=i.pop(),a.type!=="root"){a.nodes.forEach(C=>{C.nodes||(C.type==="open"&&(C.isOpen=!0),C.type==="close"&&(C.isClose=!0),C.nodes||(C.type="text"),C.invalid=!0)});let b=i[i.length-1],D=b.nodes.indexOf(a);b.nodes.splice(D,1,...a.nodes)}while(i.length>0);return m({type:"eos"}),o};aF.exports=BM});var lF=S((TJ,cF)=>{"use strict";var uF=af(),LM=X1(),NM=eF(),jM=sF(),Xt=(t,e={})=>{let r=[];if(Array.isArray(t))for(let n of t){let o=Xt.create(n,e);Array.isArray(o)?r.push(...o):r.push(o)}else r=[].concat(Xt.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Xt.parse=(t,e={})=>jM(t,e);Xt.stringify=(t,e={})=>uF(typeof t=="string"?Xt.parse(t,e):t,e);Xt.compile=(t,e={})=>(typeof t=="string"&&(t=Xt.parse(t,e)),LM(t,e));Xt.expand=(t,e={})=>{typeof t=="string"&&(t=Xt.parse(t,e));let r=NM(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Xt.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Xt.compile(t,e):Xt.expand(t,e);cF.exports=Xt});var Us=S((IJ,mF)=>{"use strict";var UM=require("path"),Hr="\\\\/",fF=`[^${Hr}]`,hn="\\.",MM="\\+",qM="\\?",cf="\\/",HM="(?=.)",dF="[^/]",Gg=`(?:${cf}|$)`,pF=`(?:^|${cf})`,Wg=`${hn}{1,2}${Gg}`,VM=`(?!${hn})`,zM=`(?!${pF}${Wg})`,KM=`(?!${hn}{0,1}${Gg})`,GM=`(?!${Wg})`,WM=`[^.${cf}]`,YM=`${dF}*?`,hF={DOT_LITERAL:hn,PLUS_LITERAL:MM,QMARK_LITERAL:qM,SLASH_LITERAL:cf,ONE_CHAR:HM,QMARK:dF,END_ANCHOR:Gg,DOTS_SLASH:Wg,NO_DOT:VM,NO_DOTS:zM,NO_DOT_SLASH:KM,NO_DOTS_SLASH:GM,QMARK_NO_DOT:WM,STAR:YM,START_ANCHOR:pF},JM={...hF,SLASH_LITERAL:`[${Hr}]`,QMARK:fF,STAR:`${fF}*?`,DOTS_SLASH:`${hn}{1,2}(?:[${Hr}]|$)`,NO_DOT:`(?!${hn})`,NO_DOTS:`(?!(?:^|[${Hr}])${hn}{1,2}(?:[${Hr}]|$))`,NO_DOT_SLASH:`(?!${hn}{0,1}(?:[${Hr}]|$))`,NO_DOTS_SLASH:`(?!${hn}{1,2}(?:[${Hr}]|$))`,QMARK_NO_DOT:`[^.${Hr}]`,START_ANCHOR:`(?:^|[${Hr}])`,END_ANCHOR:`(?:[${Hr}]|$)`},XM={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};mF.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:XM,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:UM.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?JM:hF}}});var Ms=S(Ht=>{"use strict";var ZM=require("path"),QM=process.platform==="win32",{REGEX_BACKSLASH:e9,REGEX_REMOVE_BACKSLASH:t9,REGEX_SPECIAL_CHARS:r9,REGEX_SPECIAL_CHARS_GLOBAL:n9}=Us();Ht.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Ht.hasRegexChars=t=>r9.test(t);Ht.isRegexChar=t=>t.length===1&&Ht.hasRegexChars(t);Ht.escapeRegex=t=>t.replace(n9,"\\$1");Ht.toPosixSlashes=t=>t.replace(e9,"/");Ht.removeBackslashes=t=>t.replace(t9,e=>e==="\\"?"":e);Ht.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Ht.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:QM===!0||ZM.sep==="\\";Ht.escapeLast=(t,e,r)=>{let n=t.lastIndexOf(e,r);return n===-1?t:t[n-1]==="\\"?Ht.escapeLast(t,e,n-1):`${t.slice(0,n)}\\${t.slice(n)}`};Ht.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Ht.wrapOutput=(t,e={},r={})=>{let n=r.contains?"":"^",o=r.contains?"":"$",i=`${n}(?:${t})${o}`;return e.negated===!0&&(i=`(?:^(?!${i}).*$)`),i}});var EF=S((BJ,CF)=>{"use strict";var gF=Ms(),{CHAR_ASTERISK:Yg,CHAR_AT:o9,CHAR_BACKWARD_SLASH:qs,CHAR_COMMA:i9,CHAR_DOT:Jg,CHAR_EXCLAMATION_MARK:Xg,CHAR_FORWARD_SLASH:vF,CHAR_LEFT_CURLY_BRACE:Zg,CHAR_LEFT_PARENTHESES:Qg,CHAR_LEFT_SQUARE_BRACKET:a9,CHAR_PLUS:s9,CHAR_QUESTION_MARK:DF,CHAR_RIGHT_CURLY_BRACE:u9,CHAR_RIGHT_PARENTHESES:yF,CHAR_RIGHT_SQUARE_BRACKET:c9}=Us(),bF=t=>t===vF||t===qs,wF=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},l9=(t,e)=>{let r=e||{},n=t.length-1,o=r.parts===!0||r.scanToEnd===!0,i=[],a=[],s=[],u=t,c=-1,l=0,d=0,p=!1,h=!1,m=!1,b=!1,D=!1,C=!1,E=!1,g=!1,_=!1,x=!1,$=0,O,B,T={value:"",depth:0,isGlob:!1},N=()=>c>=n,F=()=>u.charCodeAt(c+1),j=()=>(O=B,u.charCodeAt(++c));for(;c<n;){B=j();let w;if(B===qs){E=T.backslashes=!0,B=j(),B===Zg&&(C=!0);continue}if(C===!0||B===Zg){for($++;N()!==!0&&(B=j());){if(B===qs){E=T.backslashes=!0,j();continue}if(B===Zg){$++;continue}if(C!==!0&&B===Jg&&(B=j())===Jg){if(p=T.isBrace=!0,m=T.isGlob=!0,x=!0,o===!0)continue;break}if(C!==!0&&B===i9){if(p=T.isBrace=!0,m=T.isGlob=!0,x=!0,o===!0)continue;break}if(B===u9&&($--,$===0)){C=!1,p=T.isBrace=!0,x=!0;break}}if(o===!0)continue;break}if(B===vF){if(i.push(c),a.push(T),T={value:"",depth:0,isGlob:!1},x===!0)continue;if(O===Jg&&c===l+1){l+=2;continue}d=c+1;continue}if(r.noext!==!0&&(B===s9||B===o9||B===Yg||B===DF||B===Xg)===!0&&F()===Qg){if(m=T.isGlob=!0,b=T.isExtglob=!0,x=!0,B===Xg&&c===l&&(_=!0),o===!0){for(;N()!==!0&&(B=j());){if(B===qs){E=T.backslashes=!0,B=j();continue}if(B===yF){m=T.isGlob=!0,x=!0;break}}continue}break}if(B===Yg){if(O===Yg&&(D=T.isGlobstar=!0),m=T.isGlob=!0,x=!0,o===!0)continue;break}if(B===DF){if(m=T.isGlob=!0,x=!0,o===!0)continue;break}if(B===a9){for(;N()!==!0&&(w=j());){if(w===qs){E=T.backslashes=!0,j();continue}if(w===c9){h=T.isBracket=!0,m=T.isGlob=!0,x=!0;break}}if(o===!0)continue;break}if(r.nonegate!==!0&&B===Xg&&c===l){g=T.negated=!0,l++;continue}if(r.noparen!==!0&&B===Qg){if(m=T.isGlob=!0,o===!0){for(;N()!==!0&&(B=j());){if(B===Qg){E=T.backslashes=!0,B=j();continue}if(B===yF){x=!0;break}}continue}break}if(m===!0){if(x=!0,o===!0)continue;break}}r.noext===!0&&(b=!1,m=!1);let M=u,z="",k="";l>0&&(z=u.slice(0,l),u=u.slice(l),d-=l),M&&m===!0&&d>0?(M=u.slice(0,d),k=u.slice(d)):m===!0?(M="",k=u):M=u,M&&M!==""&&M!=="/"&&M!==u&&bF(M.charCodeAt(M.length-1))&&(M=M.slice(0,-1)),r.unescape===!0&&(k&&(k=gF.removeBackslashes(k)),M&&E===!0&&(M=gF.removeBackslashes(M)));let y={prefix:z,input:t,start:l,base:M,glob:k,isBrace:p,isBracket:h,isGlob:m,isExtglob:b,isGlobstar:D,negated:g,negatedExtglob:_};if(r.tokens===!0&&(y.maxDepth=0,bF(B)||a.push(T),y.tokens=a),r.parts===!0||r.tokens===!0){let w;for(let v=0;v<i.length;v++){let A=w?w+1:l,R=i[v],P=t.slice(A,R);r.tokens&&(v===0&&l!==0?(a[v].isPrefix=!0,a[v].value=z):a[v].value=P,wF(a[v]),y.maxDepth+=a[v].depth),(v!==0||P!=="")&&s.push(P),w=R}if(w&&w+1<t.length){let v=t.slice(w+1);s.push(v),r.tokens&&(a[a.length-1].value=v,wF(a[a.length-1]),y.maxDepth+=a[a.length-1].depth)}y.slashes=i,y.parts=s}return y};CF.exports=l9});var xF=S((LJ,SF)=>{"use strict";var lf=Us(),Zt=Ms(),{MAX_LENGTH:ff,POSIX_REGEX_SOURCE:f9,REGEX_NON_SPECIAL_CHARS:d9,REGEX_SPECIAL_CHARS_BACKREF:p9,REPLACEMENTS:_F}=lf,h9=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(o=>Zt.escapeRegex(o)).join("..")}return r},pa=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,eD=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=_F[t]||t;let r={...e},n=typeof r.maxLength=="number"?Math.min(ff,r.maxLength):ff,o=t.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);let i={type:"bos",value:"",output:r.prepend||""},a=[i],s=r.capture?"":"?:",u=Zt.isWindows(e),c=lf.globChars(u),l=lf.extglobChars(c),{DOT_LITERAL:d,PLUS_LITERAL:p,SLASH_LITERAL:h,ONE_CHAR:m,DOTS_SLASH:b,NO_DOT:D,NO_DOT_SLASH:C,NO_DOTS_SLASH:E,QMARK:g,QMARK_NO_DOT:_,STAR:x,START_ANCHOR:$}=c,O=G=>`(${s}(?:(?!${$}${G.dot?b:d}).)*?)`,B=r.dot?"":D,T=r.dot?g:_,N=r.bash===!0?O(r):x;r.capture&&(N=`(${N})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let F={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:a};t=Zt.removePrefix(t,F),o=t.length;let j=[],M=[],z=[],k=i,y,w=()=>F.index===o-1,v=F.peek=(G=1)=>t[F.index+G],A=F.advance=()=>t[++F.index]||"",R=()=>t.slice(F.index+1),P=(G="",_e=0)=>{F.consumed+=G,F.index+=_e},q=G=>{F.output+=G.output!=null?G.output:G.value,P(G.value)},I=()=>{let G=1;for(;v()==="!"&&(v(2)!=="("||v(3)==="?");)A(),F.start++,G++;return G%2===0?!1:(F.negated=!0,F.start++,!0)},L=G=>{F[G]++,z.push(G)},te=G=>{F[G]--,z.pop()},V=G=>{if(k.type==="globstar"){let _e=F.braces>0&&(G.type==="comma"||G.type==="brace"),H=G.extglob===!0||j.length&&(G.type==="pipe"||G.type==="paren");G.type!=="slash"&&G.type!=="paren"&&!_e&&!H&&(F.output=F.output.slice(0,-k.output.length),k.type="star",k.value="*",k.output=N,F.output+=k.output)}if(j.length&&G.type!=="paren"&&(j[j.length-1].inner+=G.value),(G.value||G.output)&&q(G),k&&k.type==="text"&&G.type==="text"){k.value+=G.value,k.output=(k.output||"")+G.value;return}G.prev=k,a.push(G),k=G},se=(G,_e)=>{let H={...l[_e],conditions:1,inner:""};H.prev=k,H.parens=F.parens,H.output=F.output;let ue=(r.capture?"(":"")+H.open;L("parens"),V({type:G,value:_e,output:F.output?"":m}),V({type:"paren",extglob:!0,value:A(),output:ue}),j.push(H)},mr=G=>{let _e=G.close+(r.capture?")":""),H;if(G.type==="negate"){let ue=N;if(G.inner&&G.inner.length>1&&G.inner.includes("/")&&(ue=O(r)),(ue!==N||w()||/^\)+$/.test(R()))&&(_e=G.close=`)$))${ue}`),G.inner.includes("*")&&(H=R())&&/^\.[^\\/.]+$/.test(H)){let qe=eD(H,{...e,fastpaths:!1}).output;_e=G.close=`)${qe})${ue})`}G.prev.type==="bos"&&(F.negatedExtglob=!0)}V({type:"paren",extglob:!0,value:y,output:_e}),te("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let G=!1,_e=t.replace(p9,(H,ue,qe,Et,tt,wf)=>Et==="\\"?(G=!0,H):Et==="?"?ue?ue+Et+(tt?g.repeat(tt.length):""):wf===0?T+(tt?g.repeat(tt.length):""):g.repeat(qe.length):Et==="."?d.repeat(qe.length):Et==="*"?ue?ue+Et+(tt?N:""):N:ue?H:`\\${H}`);return G===!0&&(r.unescape===!0?_e=_e.replace(/\\/g,""):_e=_e.replace(/\\+/g,H=>H.length%2===0?"\\\\":H?"\\":"")),_e===t&&r.contains===!0?(F.output=t,F):(F.output=Zt.wrapOutput(_e,F,e),F)}for(;!w();){if(y=A(),y==="\0")continue;if(y==="\\"){let H=v();if(H==="/"&&r.bash!==!0||H==="."||H===";")continue;if(!H){y+="\\",V({type:"text",value:y});continue}let ue=/^\\+/.exec(R()),qe=0;if(ue&&ue[0].length>2&&(qe=ue[0].length,F.index+=qe,qe%2!==0&&(y+="\\")),r.unescape===!0?y=A():y+=A(),F.brackets===0){V({type:"text",value:y});continue}}if(F.brackets>0&&(y!=="]"||k.value==="["||k.value==="[^")){if(r.posix!==!1&&y===":"){let H=k.value.slice(1);if(H.includes("[")&&(k.posix=!0,H.includes(":"))){let ue=k.value.lastIndexOf("["),qe=k.value.slice(0,ue),Et=k.value.slice(ue+2),tt=f9[Et];if(tt){k.value=qe+tt,F.backtrack=!0,A(),!i.output&&a.indexOf(k)===1&&(i.output=m);continue}}}(y==="["&&v()!==":"||y==="-"&&v()==="]")&&(y=`\\${y}`),y==="]"&&(k.value==="["||k.value==="[^")&&(y=`\\${y}`),r.posix===!0&&y==="!"&&k.value==="["&&(y="^"),k.value+=y,q({value:y});continue}if(F.quotes===1&&y!=='"'){y=Zt.escapeRegex(y),k.value+=y,q({value:y});continue}if(y==='"'){F.quotes=F.quotes===1?0:1,r.keepQuotes===!0&&V({type:"text",value:y});continue}if(y==="("){L("parens"),V({type:"paren",value:y});continue}if(y===")"){if(F.parens===0&&r.strictBrackets===!0)throw new SyntaxError(pa("opening","("));let H=j[j.length-1];if(H&&F.parens===H.parens+1){mr(j.pop());continue}V({type:"paren",value:y,output:F.parens?")":"\\)"}),te("parens");continue}if(y==="["){if(r.nobracket===!0||!R().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(pa("closing","]"));y=`\\${y}`}else L("brackets");V({type:"bracket",value:y});continue}if(y==="]"){if(r.nobracket===!0||k&&k.type==="bracket"&&k.value.length===1){V({type:"text",value:y,output:`\\${y}`});continue}if(F.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(pa("opening","["));V({type:"text",value:y,output:`\\${y}`});continue}te("brackets");let H=k.value.slice(1);if(k.posix!==!0&&H[0]==="^"&&!H.includes("/")&&(y=`/${y}`),k.value+=y,q({value:y}),r.literalBrackets===!1||Zt.hasRegexChars(H))continue;let ue=Zt.escapeRegex(k.value);if(F.output=F.output.slice(0,-k.value.length),r.literalBrackets===!0){F.output+=ue,k.value=ue;continue}k.value=`(${s}${ue}|${k.value})`,F.output+=k.value;continue}if(y==="{"&&r.nobrace!==!0){L("braces");let H={type:"brace",value:y,output:"(",outputIndex:F.output.length,tokensIndex:F.tokens.length};M.push(H),V(H);continue}if(y==="}"){let H=M[M.length-1];if(r.nobrace===!0||!H){V({type:"text",value:y,output:y});continue}let ue=")";if(H.dots===!0){let qe=a.slice(),Et=[];for(let tt=qe.length-1;tt>=0&&(a.pop(),qe[tt].type!=="brace");tt--)qe[tt].type!=="dots"&&Et.unshift(qe[tt].value);ue=h9(Et,r),F.backtrack=!0}if(H.comma!==!0&&H.dots!==!0){let qe=F.output.slice(0,H.outputIndex),Et=F.tokens.slice(H.tokensIndex);H.value=H.output="\\{",y=ue="\\}",F.output=qe;for(let tt of Et)F.output+=tt.output||tt.value}V({type:"brace",value:y,output:ue}),te("braces"),M.pop();continue}if(y==="|"){j.length>0&&j[j.length-1].conditions++,V({type:"text",value:y});continue}if(y===","){let H=y,ue=M[M.length-1];ue&&z[z.length-1]==="braces"&&(ue.comma=!0,H="|"),V({type:"comma",value:y,output:H});continue}if(y==="/"){if(k.type==="dot"&&F.index===F.start+1){F.start=F.index+1,F.consumed="",F.output="",a.pop(),k=i;continue}V({type:"slash",value:y,output:h});continue}if(y==="."){if(F.braces>0&&k.type==="dot"){k.value==="."&&(k.output=d);let H=M[M.length-1];k.type="dots",k.output+=y,k.value+=y,H.dots=!0;continue}if(F.braces+F.parens===0&&k.type!=="bos"&&k.type!=="slash"){V({type:"text",value:y,output:d});continue}V({type:"dot",value:y,output:d});continue}if(y==="?"){if(!(k&&k.value==="(")&&r.noextglob!==!0&&v()==="("&&v(2)!=="?"){se("qmark",y);continue}if(k&&k.type==="paren"){let ue=v(),qe=y;if(ue==="<"&&!Zt.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(k.value==="("&&!/[!=<:]/.test(ue)||ue==="<"&&!/<([!=]|\w+>)/.test(R()))&&(qe=`\\${y}`),V({type:"text",value:y,output:qe});continue}if(r.dot!==!0&&(k.type==="slash"||k.type==="bos")){V({type:"qmark",value:y,output:_});continue}V({type:"qmark",value:y,output:g});continue}if(y==="!"){if(r.noextglob!==!0&&v()==="("&&(v(2)!=="?"||!/[!=<:]/.test(v(3)))){se("negate",y);continue}if(r.nonegate!==!0&&F.index===0){I();continue}}if(y==="+"){if(r.noextglob!==!0&&v()==="("&&v(2)!=="?"){se("plus",y);continue}if(k&&k.value==="("||r.regex===!1){V({type:"plus",value:y,output:p});continue}if(k&&(k.type==="bracket"||k.type==="paren"||k.type==="brace")||F.parens>0){V({type:"plus",value:y});continue}V({type:"plus",value:p});continue}if(y==="@"){if(r.noextglob!==!0&&v()==="("&&v(2)!=="?"){V({type:"at",extglob:!0,value:y,output:""});continue}V({type:"text",value:y});continue}if(y!=="*"){(y==="$"||y==="^")&&(y=`\\${y}`);let H=d9.exec(R());H&&(y+=H[0],F.index+=H[0].length),V({type:"text",value:y});continue}if(k&&(k.type==="globstar"||k.star===!0)){k.type="star",k.star=!0,k.value+=y,k.output=N,F.backtrack=!0,F.globstar=!0,P(y);continue}let G=R();if(r.noextglob!==!0&&/^\([^?]/.test(G)){se("star",y);continue}if(k.type==="star"){if(r.noglobstar===!0){P(y);continue}let H=k.prev,ue=H.prev,qe=H.type==="slash"||H.type==="bos",Et=ue&&(ue.type==="star"||ue.type==="globstar");if(r.bash===!0&&(!qe||G[0]&&G[0]!=="/")){V({type:"star",value:y,output:""});continue}let tt=F.braces>0&&(H.type==="comma"||H.type==="brace"),wf=j.length&&(H.type==="pipe"||H.type==="paren");if(!qe&&H.type!=="paren"&&!tt&&!wf){V({type:"star",value:y,output:""});continue}for(;G.slice(0,3)==="/**";){let Gs=t[F.index+4];if(Gs&&Gs!=="/")break;G=G.slice(3),P("/**",3)}if(H.type==="bos"&&w()){k.type="globstar",k.value+=y,k.output=O(r),F.output=k.output,F.globstar=!0,P(y);continue}if(H.type==="slash"&&H.prev.type!=="bos"&&!Et&&w()){F.output=F.output.slice(0,-(H.output+k.output).length),H.output=`(?:${H.output}`,k.type="globstar",k.output=O(r)+(r.strictSlashes?")":"|$)"),k.value+=y,F.globstar=!0,F.output+=H.output+k.output,P(y);continue}if(H.type==="slash"&&H.prev.type!=="bos"&&G[0]==="/"){let Gs=G[1]!==void 0?"|$":"";F.output=F.output.slice(0,-(H.output+k.output).length),H.output=`(?:${H.output}`,k.type="globstar",k.output=`${O(r)}${h}|${h}${Gs})`,k.value+=y,F.output+=H.output+k.output,F.globstar=!0,P(y+A()),V({type:"slash",value:"/",output:""});continue}if(H.type==="bos"&&G[0]==="/"){k.type="globstar",k.value+=y,k.output=`(?:^|${h}|${O(r)}${h})`,F.output=k.output,F.globstar=!0,P(y+A()),V({type:"slash",value:"/",output:""});continue}F.output=F.output.slice(0,-k.output.length),k.type="globstar",k.output=O(r),k.value+=y,F.output+=k.output,F.globstar=!0,P(y);continue}let _e={type:"star",value:y,output:N};if(r.bash===!0){_e.output=".*?",(k.type==="bos"||k.type==="slash")&&(_e.output=B+_e.output),V(_e);continue}if(k&&(k.type==="bracket"||k.type==="paren")&&r.regex===!0){_e.output=y,V(_e);continue}(F.index===F.start||k.type==="slash"||k.type==="dot")&&(k.type==="dot"?(F.output+=C,k.output+=C):r.dot===!0?(F.output+=E,k.output+=E):(F.output+=B,k.output+=B),v()!=="*"&&(F.output+=m,k.output+=m)),V(_e)}for(;F.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(pa("closing","]"));F.output=Zt.escapeLast(F.output,"["),te("brackets")}for(;F.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(pa("closing",")"));F.output=Zt.escapeLast(F.output,"("),te("parens")}for(;F.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(pa("closing","}"));F.output=Zt.escapeLast(F.output,"{"),te("braces")}if(r.strictSlashes!==!0&&(k.type==="star"||k.type==="bracket")&&V({type:"maybe_slash",value:"",output:`${h}?`}),F.backtrack===!0){F.output="";for(let G of F.tokens)F.output+=G.output!=null?G.output:G.value,G.suffix&&(F.output+=G.suffix)}return F};eD.fastpaths=(t,e)=>{let r={...e},n=typeof r.maxLength=="number"?Math.min(ff,r.maxLength):ff,o=t.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);t=_F[t]||t;let i=Zt.isWindows(e),{DOT_LITERAL:a,SLASH_LITERAL:s,ONE_CHAR:u,DOTS_SLASH:c,NO_DOT:l,NO_DOTS:d,NO_DOTS_SLASH:p,STAR:h,START_ANCHOR:m}=lf.globChars(i),b=r.dot?d:l,D=r.dot?p:l,C=r.capture?"":"?:",E={negated:!1,prefix:""},g=r.bash===!0?".*?":h;r.capture&&(g=`(${g})`);let _=B=>B.noglobstar===!0?g:`(${C}(?:(?!${m}${B.dot?c:a}).)*?)`,x=B=>{switch(B){case"*":return`${b}${u}${g}`;case".*":return`${a}${u}${g}`;case"*.*":return`${b}${g}${a}${u}${g}`;case"*/*":return`${b}${g}${s}${u}${D}${g}`;case"**":return b+_(r);case"**/*":return`(?:${b}${_(r)}${s})?${D}${u}${g}`;case"**/*.*":return`(?:${b}${_(r)}${s})?${D}${g}${a}${u}${g}`;case"**/.*":return`(?:${b}${_(r)}${s})?${a}${u}${g}`;default:{let T=/^(.*?)\.(\w+)$/.exec(B);if(!T)return;let N=x(T[1]);return N?N+a+T[2]:void 0}}},$=Zt.removePrefix(t,E),O=x($);return O&&r.strictSlashes!==!0&&(O+=`${s}?`),O};SF.exports=eD});var FF=S((NJ,AF)=>{"use strict";var m9=require("path"),g9=EF(),tD=xF(),rD=Ms(),D9=Us(),y9=t=>t&&typeof t=="object"&&!Array.isArray(t),Qe=(t,e,r=!1)=>{if(Array.isArray(t)){let l=t.map(p=>Qe(p,e,r));return p=>{for(let h of l){let m=h(p);if(m)return m}return!1}}let n=y9(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let o=e||{},i=rD.isWindows(e),a=n?Qe.compileRe(t,e):Qe.makeRe(t,e,!1,!0),s=a.state;delete a.state;let u=()=>!1;if(o.ignore){let l={...e,ignore:null,onMatch:null,onResult:null};u=Qe(o.ignore,l,r)}let c=(l,d=!1)=>{let{isMatch:p,match:h,output:m}=Qe.test(l,a,e,{glob:t,posix:i}),b={glob:t,state:s,regex:a,posix:i,input:l,output:m,match:h,isMatch:p};return typeof o.onResult=="function"&&o.onResult(b),p===!1?(b.isMatch=!1,d?b:!1):u(l)?(typeof o.onIgnore=="function"&&o.onIgnore(b),b.isMatch=!1,d?b:!1):(typeof o.onMatch=="function"&&o.onMatch(b),d?b:!0)};return r&&(c.state=s),c};Qe.test=(t,e,r,{glob:n,posix:o}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let i=r||{},a=i.format||(o?rD.toPosixSlashes:null),s=t===n,u=s&&a?a(t):t;return s===!1&&(u=a?a(t):t,s=u===n),(s===!1||i.capture===!0)&&(i.matchBase===!0||i.basename===!0?s=Qe.matchBase(t,e,r,o):s=e.exec(u)),{isMatch:!!s,match:s,output:u}};Qe.matchBase=(t,e,r,n=rD.isWindows(r))=>(e instanceof RegExp?e:Qe.makeRe(e,r)).test(m9.basename(t));Qe.isMatch=(t,e,r)=>Qe(e,r)(t);Qe.parse=(t,e)=>Array.isArray(t)?t.map(r=>Qe.parse(r,e)):tD(t,{...e,fastpaths:!1});Qe.scan=(t,e)=>g9(t,e);Qe.compileRe=(t,e,r=!1,n=!1)=>{if(r===!0)return t.output;let o=e||{},i=o.contains?"":"^",a=o.contains?"":"$",s=`${i}(?:${t.output})${a}`;t&&t.negated===!0&&(s=`^(?!${s}).*$`);let u=Qe.toRegex(s,e);return n===!0&&(u.state=t),u};Qe.makeRe=(t,e={},r=!1,n=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(o.output=tD.fastpaths(t,e)),o.output||(o=tD(t,e)),Qe.compileRe(o,e,r,n)};Qe.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Qe.constants=D9;AF.exports=Qe});var kF=S((jJ,OF)=>{"use strict";OF.exports=FF()});var BF=S((UJ,RF)=>{"use strict";var $F=require("util"),TF=lF(),Vr=kF(),nD=Ms(),PF=t=>t===""||t==="./",IF=t=>{let e=t.indexOf("{");return e>-1&&t.indexOf("}",e)>-1},Ne=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let n=new Set,o=new Set,i=new Set,a=0,s=l=>{i.add(l.output),r&&r.onResult&&r.onResult(l)};for(let l=0;l<e.length;l++){let d=Vr(String(e[l]),{...r,onResult:s},!0),p=d.state.negated||d.state.negatedExtglob;p&&a++;for(let h of t){let m=d(h,!0);(p?!m.isMatch:m.isMatch)&&(p?n.add(m.output):(n.delete(m.output),o.add(m.output)))}}let c=(a===e.length?[...i]:[...o]).filter(l=>!n.has(l));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(l=>l.replace(/\\/g,"")):e}return c};Ne.match=Ne;Ne.matcher=(t,e)=>Vr(t,e);Ne.isMatch=(t,e,r)=>Vr(e,r)(t);Ne.any=Ne.isMatch;Ne.not=(t,e,r={})=>{e=[].concat(e).map(String);let n=new Set,o=[],i=s=>{r.onResult&&r.onResult(s),o.push(s.output)},a=new Set(Ne(t,e,{...r,onResult:i}));for(let s of o)a.has(s)||n.add(s);return[...n]};Ne.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${$F.inspect(t)}"`);if(Array.isArray(e))return e.some(n=>Ne.contains(t,n,r));if(typeof e=="string"){if(PF(t)||PF(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Ne.isMatch(t,e,{...r,contains:!0})};Ne.matchKeys=(t,e,r)=>{if(!nD.isObject(t))throw new TypeError("Expected the first argument to be an object");let n=Ne(Object.keys(t),e,r),o={};for(let i of n)o[i]=t[i];return o};Ne.some=(t,e,r)=>{let n=[].concat(t);for(let o of[].concat(e)){let i=Vr(String(o),r);if(n.some(a=>i(a)))return!0}return!1};Ne.every=(t,e,r)=>{let n=[].concat(t);for(let o of[].concat(e)){let i=Vr(String(o),r);if(!n.every(a=>i(a)))return!1}return!0};Ne.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${$F.inspect(t)}"`);return[].concat(e).every(n=>Vr(n,r)(t))};Ne.capture=(t,e,r)=>{let n=nD.isWindows(r),i=Vr.makeRe(String(t),{...r,capture:!0}).exec(n?nD.toPosixSlashes(e):e);if(i)return i.slice(1).map(a=>a===void 0?"":a)};Ne.makeRe=(...t)=>Vr.makeRe(...t);Ne.scan=(...t)=>Vr.scan(...t);Ne.parse=(t,e)=>{let r=[];for(let n of[].concat(t||[]))for(let o of TF(String(n),e))r.push(Vr.parse(o,e));return r};Ne.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!IF(t)?[t]:TF(t,e)};Ne.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Ne.braces(t,{...e,expand:!0})};Ne.hasBraces=IF;RF.exports=Ne});var CO=S((NX,mn)=>{var $e=require("fs"),mf=require("os"),gt=require("path"),iO=require("crypto"),Kr={fs:$e.constants,os:mf.constants},aO="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",lO=/XXXXXX/,z9=3,fO=(Kr.O_CREAT||Kr.fs.O_CREAT)|(Kr.O_EXCL||Kr.fs.O_EXCL)|(Kr.O_RDWR||Kr.fs.O_RDWR),K9=mf.platform()==="win32",G9=Kr.EBADF||Kr.os.errno.EBADF,W9=Kr.ENOENT||Kr.os.errno.ENOENT,dO=448,pO=384,Y9="exit",ma=[],hO=$e.rmdirSync.bind($e),mO=!1;function J9(t,e){return $e.rm(t,{recursive:!0},e)}function gO(t){return $e.rmSync(t,{recursive:!0})}function lD(t,e){let r=ga(t,e),n=r[0],o=r[1];a7(n,function(i,a){if(i)return o(i);let s=a.tries;(function u(){try{let c=yO(a);$e.stat(c,function(l){if(!l)return s-- >0?u():o(new Error("Could not get a unique tmp filename, max tries reached "+c));o(null,c)})}catch(c){o(c)}})()})}function fD(t){let e=ga(t),r=e[0],n=s7(r),o=n.tries;do{let i=yO(n);try{$e.statSync(i)}catch{return i}}while(o-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function X9(t,e){let r=ga(t,e),n=r[0],o=r[1];lD(n,function(a,s){if(a)return o(a);$e.open(s,fO,n.mode||pO,function(c,l){if(c)return o(c);if(n.discardDescriptor)return $e.close(l,function(p){return o(p,s,void 0,uD(s,-1,n,!1))});{let d=n.discardDescriptor||n.detachDescriptor;o(null,s,l,uD(s,d?-1:l,n,!1))}})})}function Z9(t){let e=ga(t),r=e[0],n=r.discardDescriptor||r.detachDescriptor,o=fD(r),i=$e.openSync(o,fO,r.mode||pO);return r.discardDescriptor&&($e.closeSync(i),i=void 0),{name:o,fd:i,removeCallback:uD(o,n?-1:i,r,!0)}}function Q9(t,e){let r=ga(t,e),n=r[0],o=r[1];lD(n,function(a,s){if(a)return o(a);$e.mkdir(s,n.mode||dO,function(c){if(c)return o(c);o(null,s,DO(s,n,!1))})})}function e7(t){let e=ga(t),r=e[0],n=fD(r);return $e.mkdirSync(n,r.mode||dO),{name:n,removeCallback:DO(n,r,!0)}}function t7(t,e){let r=function(n){if(n&&!cD(n))return e(n);e()};0<=t[0]?$e.close(t[0],function(){$e.unlink(t[1],r)}):$e.unlink(t[1],r)}function r7(t){let e=null;try{0<=t[0]&&$e.closeSync(t[0])}catch(r){if(!u7(r)&&!cD(r))throw r}finally{try{$e.unlinkSync(t[1])}catch(r){cD(r)||(e=r)}}if(e!==null)throw e}function uD(t,e,r,n){let o=hf(r7,[e,t],n),i=hf(t7,[e,t],n,o);return r.keep||ma.unshift(o),n?o:i}function DO(t,e,r){let n=e.unsafeCleanup?J9:$e.rmdir.bind($e),o=e.unsafeCleanup?gO:hO,i=hf(o,t,r),a=hf(n,t,r,i);return e.keep||ma.unshift(i),r?i:a}function hf(t,e,r,n){let o=!1;return function i(a){if(!o){let s=n||i,u=ma.indexOf(s);return u>=0&&ma.splice(u,1),o=!0,r||t===hO||t===gO?t(e):t(e,a||function(){})}}}function n7(){if(mO)for(;ma.length;)try{ma[0]()}catch{}}function sO(t){let e=[],r=null;try{r=iO.randomBytes(t)}catch{r=iO.pseudoRandomBytes(t)}for(let n=0;n<t;n++)e.push(aO[r[n]%aO.length]);return e.join("")}function Qt(t){return typeof t>"u"}function ga(t,e){if(typeof t=="function")return[{},t];if(Qt(t))return[{},e];let r={};for(let n of Object.getOwnPropertyNames(t))r[n]=t[n];return[r,e]}function o7(t,e,r){let n=gt.isAbsolute(t)?t:gt.join(e,t);$e.stat(n,function(o){o?$e.realpath(gt.dirname(n),function(i,a){if(i)return r(i);r(null,gt.join(a,gt.basename(n)))}):$e.realpath(n,r)})}function i7(t,e){let r=gt.isAbsolute(t)?t:gt.join(e,t);try{return $e.statSync(r),$e.realpathSync(r)}catch{let o=$e.realpathSync(gt.dirname(r));return gt.join(o,gt.basename(r))}}function yO(t){let e=t.tmpdir;if(!Qt(t.name))return gt.join(e,t.dir,t.name);if(!Qt(t.template))return gt.join(e,t.dir,t.template).replace(lO,sO(6));let r=[t.prefix?t.prefix:"tmp","-",process.pid,"-",sO(12),t.postfix?"-"+t.postfix:""].join("");return gt.join(e,t.dir,r)}function bO(t){if(!Qt(t.name)){let e=t.name;if(gt.isAbsolute(e))throw new Error(`name option must not contain an absolute path, found "${e}".`);let r=gt.basename(e);if(r===".."||r==="."||r!==e)throw new Error(`name option must not contain a path, found "${e}".`)}if(!Qt(t.template)&&!t.template.match(lO))throw new Error(`Invalid template, found "${t.template}".`);if(!Qt(t.tries)&&isNaN(t.tries)||t.tries<0)throw new Error(`Invalid tries, found "${t.tries}".`);t.tries=Qt(t.name)?t.tries||z9:1,t.keep=!!t.keep,t.detachDescriptor=!!t.detachDescriptor,t.discardDescriptor=!!t.discardDescriptor,t.unsafeCleanup=!!t.unsafeCleanup,t.prefix=Qt(t.prefix)?"":t.prefix,t.postfix=Qt(t.postfix)?"":t.postfix}function uO(t,e,r,n){if(Qt(e))return n(null);o7(e,r,function(o,i){if(o)return n(o);let a=gt.relative(r,i);if(!i.startsWith(r))return n(new Error(`${t} option must be relative to "${r}", found "${a}".`));n(null,a)})}function cO(t,e,r){if(Qt(e))return;let n=i7(e,r),o=gt.relative(r,n);if(!n.startsWith(r))throw new Error(`${t} option must be relative to "${r}", found "${o}".`);return o}function a7(t,e){l7(t,function(r,n){if(r)return e(r);t.tmpdir=n;try{bO(t,n)}catch(o){return e(o)}uO("dir",t.dir,n,function(o,i){if(o)return e(o);t.dir=Qt(i)?"":i,uO("template",t.template,n,function(a,s){if(a)return e(a);t.template=s,e(null,t)})})})}function s7(t){let e=t.tmpdir=vO(t);bO(t,e);let r=cO("dir",t.dir,e);return t.dir=Qt(r)?"":r,t.template=cO("template",t.template,e),t}function u7(t){return wO(t,-G9,"EBADF")}function cD(t){return wO(t,-W9,"ENOENT")}function wO(t,e,r){return K9?t.code===r:t.code===r&&t.errno===e}function c7(){mO=!0}function l7(t,e){return $e.realpath(t&&t.tmpdir||mf.tmpdir(),e)}function vO(t){return $e.realpathSync(t&&t.tmpdir||mf.tmpdir())}process.addListener(Y9,n7);Object.defineProperty(mn.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return vO()}});mn.exports.dir=Q9;mn.exports.dirSync=e7;mn.exports.file=X9;mn.exports.fileSync=Z9;mn.exports.tmpName=lD;mn.exports.tmpNameSync=fD;mn.exports.setGracefulCleanup=c7});var yf=require("node:process");var RD=de(ID(),1),{program:ot,createCommand:V7,createArgument:z7,createOption:K7,CommanderError:G7,InvalidArgumentError:W7,InvalidOptionArgumentError:Y7,Command:J7,Argument:X7,Option:Z7,Help:Q7}=RD.default;var gr={name:"@capgo/cli",version:"7.37.3",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24.9.1","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",open:"^10.1.2",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};var aa=require("node:fs");var Dt=de(jf(),1),Ho=require("node:process"),Dn=de(require("node:readline"),1),Vf=de(require("node:readline"),1),KD=require("node:stream"),GD=de(Mf(),1);function a2({onlyFirst:t=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}var s2=a2();function WD(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(s2,"")}function YD(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var JD={exports:{}};(function(t){var e={};t.exports=e,e.eastAsianWidth=function(n){var o=n.charCodeAt(0),i=n.length==2?n.charCodeAt(1):0,a=o;return 55296<=o&&o<=56319&&56320<=i&&i<=57343&&(o&=1023,i&=1023,a=o<<10|i,a+=65536),a==12288||65281<=a&&a<=65376||65504<=a&&a<=65510?"F":a==8361||65377<=a&&a<=65470||65474<=a&&a<=65479||65482<=a&&a<=65487||65490<=a&&a<=65495||65498<=a&&a<=65500||65512<=a&&a<=65518?"H":4352<=a&&a<=4447||4515<=a&&a<=4519||4602<=a&&a<=4607||9001<=a&&a<=9002||11904<=a&&a<=11929||11931<=a&&a<=12019||12032<=a&&a<=12245||12272<=a&&a<=12283||12289<=a&&a<=12350||12353<=a&&a<=12438||12441<=a&&a<=12543||12549<=a&&a<=12589||12593<=a&&a<=12686||12688<=a&&a<=12730||12736<=a&&a<=12771||12784<=a&&a<=12830||12832<=a&&a<=12871||12880<=a&&a<=13054||13056<=a&&a<=19903||19968<=a&&a<=42124||42128<=a&&a<=42182||43360<=a&&a<=43388||44032<=a&&a<=55203||55216<=a&&a<=55238||55243<=a&&a<=55291||63744<=a&&a<=64255||65040<=a&&a<=65049||65072<=a&&a<=65106||65108<=a&&a<=65126||65128<=a&&a<=65131||110592<=a&&a<=110593||127488<=a&&a<=127490||127504<=a&&a<=127546||127552<=a&&a<=127560||127568<=a&&a<=127569||131072<=a&&a<=194367||177984<=a&&a<=196605||196608<=a&&a<=262141?"W":32<=a&&a<=126||162<=a&&a<=163||165<=a&&a<=166||a==172||a==175||10214<=a&&a<=10221||10629<=a&&a<=10630?"Na":a==161||a==164||167<=a&&a<=168||a==170||173<=a&&a<=174||176<=a&&a<=180||182<=a&&a<=186||188<=a&&a<=191||a==198||a==208||215<=a&&a<=216||222<=a&&a<=225||a==230||232<=a&&a<=234||236<=a&&a<=237||a==240||242<=a&&a<=243||247<=a&&a<=250||a==252||a==254||a==257||a==273||a==275||a==283||294<=a&&a<=295||a==299||305<=a&&a<=307||a==312||319<=a&&a<=322||a==324||328<=a&&a<=331||a==333||338<=a&&a<=339||358<=a&&a<=359||a==363||a==462||a==464||a==466||a==468||a==470||a==472||a==474||a==476||a==593||a==609||a==708||a==711||713<=a&&a<=715||a==717||a==720||728<=a&&a<=731||a==733||a==735||768<=a&&a<=879||913<=a&&a<=929||931<=a&&a<=937||945<=a&&a<=961||963<=a&&a<=969||a==1025||1040<=a&&a<=1103||a==1105||a==8208||8211<=a&&a<=8214||8216<=a&&a<=8217||8220<=a&&a<=8221||8224<=a&&a<=8226||8228<=a&&a<=8231||a==8240||8242<=a&&a<=8243||a==8245||a==8251||a==8254||a==8308||a==8319||8321<=a&&a<=8324||a==8364||a==8451||a==8453||a==8457||a==8467||a==8470||8481<=a&&a<=8482||a==8486||a==8491||8531<=a&&a<=8532||8539<=a&&a<=8542||8544<=a&&a<=8555||8560<=a&&a<=8569||a==8585||8592<=a&&a<=8601||8632<=a&&a<=8633||a==8658||a==8660||a==8679||a==8704||8706<=a&&a<=8707||8711<=a&&a<=8712||a==8715||a==8719||a==8721||a==8725||a==8730||8733<=a&&a<=8736||a==8739||a==8741||8743<=a&&a<=8748||a==8750||8756<=a&&a<=8759||8764<=a&&a<=8765||a==8776||a==8780||a==8786||8800<=a&&a<=8801||8804<=a&&a<=8807||8810<=a&&a<=8811||8814<=a&&a<=8815||8834<=a&&a<=8835||8838<=a&&a<=8839||a==8853||a==8857||a==8869||a==8895||a==8978||9312<=a&&a<=9449||9451<=a&&a<=9547||9552<=a&&a<=9587||9600<=a&&a<=9615||9618<=a&&a<=9621||9632<=a&&a<=9633||9635<=a&&a<=9641||9650<=a&&a<=9651||9654<=a&&a<=9655||9660<=a&&a<=9661||9664<=a&&a<=9665||9670<=a&&a<=9672||a==9675||9678<=a&&a<=9681||9698<=a&&a<=9701||a==9711||9733<=a&&a<=9734||a==9737||9742<=a&&a<=9743||9748<=a&&a<=9749||a==9756||a==9758||a==9792||a==9794||9824<=a&&a<=9825||9827<=a&&a<=9829||9831<=a&&a<=9834||9836<=a&&a<=9837||a==9839||9886<=a&&a<=9887||9918<=a&&a<=9919||9924<=a&&a<=9933||9935<=a&&a<=9953||a==9955||9960<=a&&a<=9983||a==10045||a==10071||10102<=a&&a<=10111||11093<=a&&a<=11097||12872<=a&&a<=12879||57344<=a&&a<=63743||65024<=a&&a<=65039||a==65533||127232<=a&&a<=127242||127248<=a&&a<=127277||127280<=a&&a<=127337||127344<=a&&a<=127386||917760<=a&&a<=917999||983040<=a&&a<=1048573||1048576<=a&&a<=1114109?"A":"N"},e.characterLength=function(n){var o=this.eastAsianWidth(n);return o=="F"||o=="W"||o=="A"?2:1};function r(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(n){for(var o=r(n),i=0,a=0;a<o.length;a++)i=i+this.characterLength(o[a]);return i},e.slice=function(n,o,i){textLen=e.length(n),o=o||0,i=i||1,o<0&&(o=textLen+o),i<0&&(i=textLen+i);for(var a="",s=0,u=r(n),c=0;c<u.length;c++){var l=u[c],d=e.length(l);if(s>=o-(d==2?1:0))if(s+d<=i)a+=l;else break;s+=d}return a}})(JD);var u2=JD.exports,c2=YD(u2),l2=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},f2=YD(l2);function wa(t,e={}){if(typeof t!="string"||t.length===0||(e={ambiguousIsNarrow:!0,...e},t=WD(t),t.length===0))return 0;t=t.replace(f2()," ");let r=e.ambiguousIsNarrow?1:2,n=0;for(let o of t){let i=o.codePointAt(0);if(!(i<=31||i>=127&&i<=159||i>=768&&i<=879))switch(c2.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}var qf=10,jD=(t=0)=>e=>`\x1B[${e+t}m`,UD=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,MD=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,je={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(je.modifier);var d2=Object.keys(je.color),p2=Object.keys(je.bgColor);[...d2,...p2];function h2(){let t=new Map;for(let[e,r]of Object.entries(je)){for(let[n,o]of Object.entries(r))je[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[n]=je[n],t.set(o[0],o[1]);Object.defineProperty(je,e,{value:r,enumerable:!1})}return Object.defineProperty(je,"codes",{value:t,enumerable:!1}),je.color.close="\x1B[39m",je.bgColor.close="\x1B[49m",je.color.ansi=jD(),je.color.ansi256=UD(),je.color.ansi16m=MD(),je.bgColor.ansi=jD(qf),je.bgColor.ansi256=UD(qf),je.bgColor.ansi16m=MD(qf),Object.defineProperties(je,{rgbToAnsi256:{value:(e,r,n)=>e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:e=>{let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(i=>i+i).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>je.rgbToAnsi256(...je.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,o;if(e>=232)r=((e-232)*10+8)/255,n=r,o=r;else{e-=16;let s=e%36;r=Math.floor(e/36)/5,n=Math.floor(s/6)/5,o=s%6/5}let i=Math.max(r,n,o)*2;if(i===0)return 30;let a=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(r));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>je.ansi256ToAnsi(je.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>je.ansi256ToAnsi(je.hexToAnsi256(e)),enumerable:!1}}),je}var m2=h2(),iu=new Set(["\x1B","\x9B"]),g2=39,Kf="\x07",XD="[",D2="]",ZD="m",Gf=`${D2}8;;`,qD=t=>`${iu.values().next().value}${XD}${t}${ZD}`,HD=t=>`${iu.values().next().value}${Gf}${t}${Kf}`,y2=t=>t.split(" ").map(e=>wa(e)),Hf=(t,e,r)=>{let n=[...e],o=!1,i=!1,a=wa(WD(t[t.length-1]));for(let[s,u]of n.entries()){let c=wa(u);if(a+c<=r?t[t.length-1]+=u:(t.push(u),a=0),iu.has(u)&&(o=!0,i=n.slice(s+1).join("").startsWith(Gf)),o){i?u===Kf&&(o=!1,i=!1):u===ZD&&(o=!1);continue}a+=c,a===r&&s<n.length-1&&(t.push(""),a=0)}!a&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},b2=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(wa(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},w2=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let n="",o,i,a=y2(t),s=[""];for(let[c,l]of t.split(" ").entries()){r.trim!==!1&&(s[s.length-1]=s[s.length-1].trimStart());let d=wa(s[s.length-1]);if(c!==0&&(d>=e&&(r.wordWrap===!1||r.trim===!1)&&(s.push(""),d=0),(d>0||r.trim===!1)&&(s[s.length-1]+=" ",d++)),r.hard&&a[c]>e){let p=e-d,h=1+Math.floor((a[c]-p-1)/e);Math.floor((a[c]-1)/e)<h&&s.push(""),Hf(s,l,e);continue}if(d+a[c]>e&&d>0&&a[c]>0){if(r.wordWrap===!1&&d<e){Hf(s,l,e);continue}s.push("")}if(d+a[c]>e&&r.wordWrap===!1){Hf(s,l,e);continue}s[s.length-1]+=l}r.trim!==!1&&(s=s.map(c=>b2(c)));let u=[...s.join(`
|
|
107
|
+
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var sF=S(($J,aF)=>{"use strict";var _M=af(),{MAX_LENGTH:nF,CHAR_BACKSLASH:Kg,CHAR_BACKTICK:SM,CHAR_COMMA:xM,CHAR_DOT:AM,CHAR_LEFT_PARENTHESES:FM,CHAR_RIGHT_PARENTHESES:OM,CHAR_LEFT_CURLY_BRACE:kM,CHAR_RIGHT_CURLY_BRACE:PM,CHAR_LEFT_SQUARE_BRACKET:oF,CHAR_RIGHT_SQUARE_BRACKET:iF,CHAR_DOUBLE_QUOTE:$M,CHAR_SINGLE_QUOTE:TM,CHAR_NO_BREAK_SPACE:IM,CHAR_ZERO_WIDTH_NOBREAK_SPACE:RM}=rF(),BM=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},n=typeof r.maxLength=="number"?Math.min(nF,r.maxLength):nF;if(t.length>n)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${n})`);let o={type:"root",input:t,nodes:[]},i=[o],a=o,s=o,u=0,c=t.length,l=0,d=0,p,h=()=>t[l++],m=b=>{if(b.type==="text"&&s.type==="dot"&&(s.type="text"),s&&s.type==="text"&&b.type==="text"){s.value+=b.value;return}return a.nodes.push(b),b.parent=a,b.prev=s,s=b,b};for(m({type:"bos"});l<c;)if(a=i[i.length-1],p=h(),!(p===RM||p===IM)){if(p===Kg){m({type:"text",value:(e.keepEscaping?p:"")+h()});continue}if(p===iF){m({type:"text",value:"\\"+p});continue}if(p===oF){u++;let b;for(;l<c&&(b=h());){if(p+=b,b===oF){u++;continue}if(b===Kg){p+=h();continue}if(b===iF&&(u--,u===0))break}m({type:"text",value:p});continue}if(p===FM){a=m({type:"paren",nodes:[]}),i.push(a),m({type:"text",value:p});continue}if(p===OM){if(a.type!=="paren"){m({type:"text",value:p});continue}a=i.pop(),m({type:"text",value:p}),a=i[i.length-1];continue}if(p===$M||p===TM||p===SM){let b=p,D;for(e.keepQuotes!==!0&&(p="");l<c&&(D=h());){if(D===Kg){p+=D+h();continue}if(D===b){e.keepQuotes===!0&&(p+=D);break}p+=D}m({type:"text",value:p});continue}if(p===kM){d++;let D={type:"brace",open:!0,close:!1,dollar:s.value&&s.value.slice(-1)==="$"||a.dollar===!0,depth:d,commas:0,ranges:0,nodes:[]};a=m(D),i.push(a),m({type:"open",value:p});continue}if(p===PM){if(a.type!=="brace"){m({type:"text",value:p});continue}let b="close";a=i.pop(),a.close=!0,m({type:b,value:p}),d--,a=i[i.length-1];continue}if(p===xM&&d>0){if(a.ranges>0){a.ranges=0;let b=a.nodes.shift();a.nodes=[b,{type:"text",value:_M(a)}]}m({type:"comma",value:p}),a.commas++;continue}if(p===AM&&d>0&&a.commas===0){let b=a.nodes;if(d===0||b.length===0){m({type:"text",value:p});continue}if(s.type==="dot"){if(a.range=[],s.value+=p,s.type="range",a.nodes.length!==3&&a.nodes.length!==5){a.invalid=!0,a.ranges=0,s.type="text";continue}a.ranges++,a.args=[];continue}if(s.type==="range"){b.pop();let D=b[b.length-1];D.value+=s.value+p,s=D,a.ranges--;continue}m({type:"dot",value:p});continue}m({type:"text",value:p})}do if(a=i.pop(),a.type!=="root"){a.nodes.forEach(C=>{C.nodes||(C.type==="open"&&(C.isOpen=!0),C.type==="close"&&(C.isClose=!0),C.nodes||(C.type="text"),C.invalid=!0)});let b=i[i.length-1],D=b.nodes.indexOf(a);b.nodes.splice(D,1,...a.nodes)}while(i.length>0);return m({type:"eos"}),o};aF.exports=BM});var lF=S((TJ,cF)=>{"use strict";var uF=af(),LM=X1(),NM=eF(),jM=sF(),Xt=(t,e={})=>{let r=[];if(Array.isArray(t))for(let n of t){let o=Xt.create(n,e);Array.isArray(o)?r.push(...o):r.push(o)}else r=[].concat(Xt.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Xt.parse=(t,e={})=>jM(t,e);Xt.stringify=(t,e={})=>uF(typeof t=="string"?Xt.parse(t,e):t,e);Xt.compile=(t,e={})=>(typeof t=="string"&&(t=Xt.parse(t,e)),LM(t,e));Xt.expand=(t,e={})=>{typeof t=="string"&&(t=Xt.parse(t,e));let r=NM(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Xt.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Xt.compile(t,e):Xt.expand(t,e);cF.exports=Xt});var Us=S((IJ,mF)=>{"use strict";var UM=require("path"),Hr="\\\\/",fF=`[^${Hr}]`,hn="\\.",MM="\\+",qM="\\?",cf="\\/",HM="(?=.)",dF="[^/]",Gg=`(?:${cf}|$)`,pF=`(?:^|${cf})`,Wg=`${hn}{1,2}${Gg}`,VM=`(?!${hn})`,zM=`(?!${pF}${Wg})`,KM=`(?!${hn}{0,1}${Gg})`,GM=`(?!${Wg})`,WM=`[^.${cf}]`,YM=`${dF}*?`,hF={DOT_LITERAL:hn,PLUS_LITERAL:MM,QMARK_LITERAL:qM,SLASH_LITERAL:cf,ONE_CHAR:HM,QMARK:dF,END_ANCHOR:Gg,DOTS_SLASH:Wg,NO_DOT:VM,NO_DOTS:zM,NO_DOT_SLASH:KM,NO_DOTS_SLASH:GM,QMARK_NO_DOT:WM,STAR:YM,START_ANCHOR:pF},JM={...hF,SLASH_LITERAL:`[${Hr}]`,QMARK:fF,STAR:`${fF}*?`,DOTS_SLASH:`${hn}{1,2}(?:[${Hr}]|$)`,NO_DOT:`(?!${hn})`,NO_DOTS:`(?!(?:^|[${Hr}])${hn}{1,2}(?:[${Hr}]|$))`,NO_DOT_SLASH:`(?!${hn}{0,1}(?:[${Hr}]|$))`,NO_DOTS_SLASH:`(?!${hn}{1,2}(?:[${Hr}]|$))`,QMARK_NO_DOT:`[^.${Hr}]`,START_ANCHOR:`(?:^|[${Hr}])`,END_ANCHOR:`(?:[${Hr}]|$)`},XM={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};mF.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:XM,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:UM.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?JM:hF}}});var Ms=S(Ht=>{"use strict";var ZM=require("path"),QM=process.platform==="win32",{REGEX_BACKSLASH:e9,REGEX_REMOVE_BACKSLASH:t9,REGEX_SPECIAL_CHARS:r9,REGEX_SPECIAL_CHARS_GLOBAL:n9}=Us();Ht.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Ht.hasRegexChars=t=>r9.test(t);Ht.isRegexChar=t=>t.length===1&&Ht.hasRegexChars(t);Ht.escapeRegex=t=>t.replace(n9,"\\$1");Ht.toPosixSlashes=t=>t.replace(e9,"/");Ht.removeBackslashes=t=>t.replace(t9,e=>e==="\\"?"":e);Ht.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Ht.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:QM===!0||ZM.sep==="\\";Ht.escapeLast=(t,e,r)=>{let n=t.lastIndexOf(e,r);return n===-1?t:t[n-1]==="\\"?Ht.escapeLast(t,e,n-1):`${t.slice(0,n)}\\${t.slice(n)}`};Ht.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Ht.wrapOutput=(t,e={},r={})=>{let n=r.contains?"":"^",o=r.contains?"":"$",i=`${n}(?:${t})${o}`;return e.negated===!0&&(i=`(?:^(?!${i}).*$)`),i}});var EF=S((BJ,CF)=>{"use strict";var gF=Ms(),{CHAR_ASTERISK:Yg,CHAR_AT:o9,CHAR_BACKWARD_SLASH:qs,CHAR_COMMA:i9,CHAR_DOT:Jg,CHAR_EXCLAMATION_MARK:Xg,CHAR_FORWARD_SLASH:vF,CHAR_LEFT_CURLY_BRACE:Zg,CHAR_LEFT_PARENTHESES:Qg,CHAR_LEFT_SQUARE_BRACKET:a9,CHAR_PLUS:s9,CHAR_QUESTION_MARK:DF,CHAR_RIGHT_CURLY_BRACE:u9,CHAR_RIGHT_PARENTHESES:yF,CHAR_RIGHT_SQUARE_BRACKET:c9}=Us(),bF=t=>t===vF||t===qs,wF=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},l9=(t,e)=>{let r=e||{},n=t.length-1,o=r.parts===!0||r.scanToEnd===!0,i=[],a=[],s=[],u=t,c=-1,l=0,d=0,p=!1,h=!1,m=!1,b=!1,D=!1,C=!1,E=!1,g=!1,_=!1,x=!1,$=0,O,B,T={value:"",depth:0,isGlob:!1},N=()=>c>=n,F=()=>u.charCodeAt(c+1),j=()=>(O=B,u.charCodeAt(++c));for(;c<n;){B=j();let w;if(B===qs){E=T.backslashes=!0,B=j(),B===Zg&&(C=!0);continue}if(C===!0||B===Zg){for($++;N()!==!0&&(B=j());){if(B===qs){E=T.backslashes=!0,j();continue}if(B===Zg){$++;continue}if(C!==!0&&B===Jg&&(B=j())===Jg){if(p=T.isBrace=!0,m=T.isGlob=!0,x=!0,o===!0)continue;break}if(C!==!0&&B===i9){if(p=T.isBrace=!0,m=T.isGlob=!0,x=!0,o===!0)continue;break}if(B===u9&&($--,$===0)){C=!1,p=T.isBrace=!0,x=!0;break}}if(o===!0)continue;break}if(B===vF){if(i.push(c),a.push(T),T={value:"",depth:0,isGlob:!1},x===!0)continue;if(O===Jg&&c===l+1){l+=2;continue}d=c+1;continue}if(r.noext!==!0&&(B===s9||B===o9||B===Yg||B===DF||B===Xg)===!0&&F()===Qg){if(m=T.isGlob=!0,b=T.isExtglob=!0,x=!0,B===Xg&&c===l&&(_=!0),o===!0){for(;N()!==!0&&(B=j());){if(B===qs){E=T.backslashes=!0,B=j();continue}if(B===yF){m=T.isGlob=!0,x=!0;break}}continue}break}if(B===Yg){if(O===Yg&&(D=T.isGlobstar=!0),m=T.isGlob=!0,x=!0,o===!0)continue;break}if(B===DF){if(m=T.isGlob=!0,x=!0,o===!0)continue;break}if(B===a9){for(;N()!==!0&&(w=j());){if(w===qs){E=T.backslashes=!0,j();continue}if(w===c9){h=T.isBracket=!0,m=T.isGlob=!0,x=!0;break}}if(o===!0)continue;break}if(r.nonegate!==!0&&B===Xg&&c===l){g=T.negated=!0,l++;continue}if(r.noparen!==!0&&B===Qg){if(m=T.isGlob=!0,o===!0){for(;N()!==!0&&(B=j());){if(B===Qg){E=T.backslashes=!0,B=j();continue}if(B===yF){x=!0;break}}continue}break}if(m===!0){if(x=!0,o===!0)continue;break}}r.noext===!0&&(b=!1,m=!1);let M=u,z="",k="";l>0&&(z=u.slice(0,l),u=u.slice(l),d-=l),M&&m===!0&&d>0?(M=u.slice(0,d),k=u.slice(d)):m===!0?(M="",k=u):M=u,M&&M!==""&&M!=="/"&&M!==u&&bF(M.charCodeAt(M.length-1))&&(M=M.slice(0,-1)),r.unescape===!0&&(k&&(k=gF.removeBackslashes(k)),M&&E===!0&&(M=gF.removeBackslashes(M)));let y={prefix:z,input:t,start:l,base:M,glob:k,isBrace:p,isBracket:h,isGlob:m,isExtglob:b,isGlobstar:D,negated:g,negatedExtglob:_};if(r.tokens===!0&&(y.maxDepth=0,bF(B)||a.push(T),y.tokens=a),r.parts===!0||r.tokens===!0){let w;for(let v=0;v<i.length;v++){let A=w?w+1:l,R=i[v],P=t.slice(A,R);r.tokens&&(v===0&&l!==0?(a[v].isPrefix=!0,a[v].value=z):a[v].value=P,wF(a[v]),y.maxDepth+=a[v].depth),(v!==0||P!=="")&&s.push(P),w=R}if(w&&w+1<t.length){let v=t.slice(w+1);s.push(v),r.tokens&&(a[a.length-1].value=v,wF(a[a.length-1]),y.maxDepth+=a[a.length-1].depth)}y.slashes=i,y.parts=s}return y};CF.exports=l9});var xF=S((LJ,SF)=>{"use strict";var lf=Us(),Zt=Ms(),{MAX_LENGTH:ff,POSIX_REGEX_SOURCE:f9,REGEX_NON_SPECIAL_CHARS:d9,REGEX_SPECIAL_CHARS_BACKREF:p9,REPLACEMENTS:_F}=lf,h9=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(o=>Zt.escapeRegex(o)).join("..")}return r},pa=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,eD=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=_F[t]||t;let r={...e},n=typeof r.maxLength=="number"?Math.min(ff,r.maxLength):ff,o=t.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);let i={type:"bos",value:"",output:r.prepend||""},a=[i],s=r.capture?"":"?:",u=Zt.isWindows(e),c=lf.globChars(u),l=lf.extglobChars(c),{DOT_LITERAL:d,PLUS_LITERAL:p,SLASH_LITERAL:h,ONE_CHAR:m,DOTS_SLASH:b,NO_DOT:D,NO_DOT_SLASH:C,NO_DOTS_SLASH:E,QMARK:g,QMARK_NO_DOT:_,STAR:x,START_ANCHOR:$}=c,O=G=>`(${s}(?:(?!${$}${G.dot?b:d}).)*?)`,B=r.dot?"":D,T=r.dot?g:_,N=r.bash===!0?O(r):x;r.capture&&(N=`(${N})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let F={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:a};t=Zt.removePrefix(t,F),o=t.length;let j=[],M=[],z=[],k=i,y,w=()=>F.index===o-1,v=F.peek=(G=1)=>t[F.index+G],A=F.advance=()=>t[++F.index]||"",R=()=>t.slice(F.index+1),P=(G="",_e=0)=>{F.consumed+=G,F.index+=_e},q=G=>{F.output+=G.output!=null?G.output:G.value,P(G.value)},I=()=>{let G=1;for(;v()==="!"&&(v(2)!=="("||v(3)==="?");)A(),F.start++,G++;return G%2===0?!1:(F.negated=!0,F.start++,!0)},L=G=>{F[G]++,z.push(G)},te=G=>{F[G]--,z.pop()},V=G=>{if(k.type==="globstar"){let _e=F.braces>0&&(G.type==="comma"||G.type==="brace"),H=G.extglob===!0||j.length&&(G.type==="pipe"||G.type==="paren");G.type!=="slash"&&G.type!=="paren"&&!_e&&!H&&(F.output=F.output.slice(0,-k.output.length),k.type="star",k.value="*",k.output=N,F.output+=k.output)}if(j.length&&G.type!=="paren"&&(j[j.length-1].inner+=G.value),(G.value||G.output)&&q(G),k&&k.type==="text"&&G.type==="text"){k.value+=G.value,k.output=(k.output||"")+G.value;return}G.prev=k,a.push(G),k=G},se=(G,_e)=>{let H={...l[_e],conditions:1,inner:""};H.prev=k,H.parens=F.parens,H.output=F.output;let ue=(r.capture?"(":"")+H.open;L("parens"),V({type:G,value:_e,output:F.output?"":m}),V({type:"paren",extglob:!0,value:A(),output:ue}),j.push(H)},mr=G=>{let _e=G.close+(r.capture?")":""),H;if(G.type==="negate"){let ue=N;if(G.inner&&G.inner.length>1&&G.inner.includes("/")&&(ue=O(r)),(ue!==N||w()||/^\)+$/.test(R()))&&(_e=G.close=`)$))${ue}`),G.inner.includes("*")&&(H=R())&&/^\.[^\\/.]+$/.test(H)){let qe=eD(H,{...e,fastpaths:!1}).output;_e=G.close=`)${qe})${ue})`}G.prev.type==="bos"&&(F.negatedExtglob=!0)}V({type:"paren",extglob:!0,value:y,output:_e}),te("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let G=!1,_e=t.replace(p9,(H,ue,qe,Et,tt,wf)=>Et==="\\"?(G=!0,H):Et==="?"?ue?ue+Et+(tt?g.repeat(tt.length):""):wf===0?T+(tt?g.repeat(tt.length):""):g.repeat(qe.length):Et==="."?d.repeat(qe.length):Et==="*"?ue?ue+Et+(tt?N:""):N:ue?H:`\\${H}`);return G===!0&&(r.unescape===!0?_e=_e.replace(/\\/g,""):_e=_e.replace(/\\+/g,H=>H.length%2===0?"\\\\":H?"\\":"")),_e===t&&r.contains===!0?(F.output=t,F):(F.output=Zt.wrapOutput(_e,F,e),F)}for(;!w();){if(y=A(),y==="\0")continue;if(y==="\\"){let H=v();if(H==="/"&&r.bash!==!0||H==="."||H===";")continue;if(!H){y+="\\",V({type:"text",value:y});continue}let ue=/^\\+/.exec(R()),qe=0;if(ue&&ue[0].length>2&&(qe=ue[0].length,F.index+=qe,qe%2!==0&&(y+="\\")),r.unescape===!0?y=A():y+=A(),F.brackets===0){V({type:"text",value:y});continue}}if(F.brackets>0&&(y!=="]"||k.value==="["||k.value==="[^")){if(r.posix!==!1&&y===":"){let H=k.value.slice(1);if(H.includes("[")&&(k.posix=!0,H.includes(":"))){let ue=k.value.lastIndexOf("["),qe=k.value.slice(0,ue),Et=k.value.slice(ue+2),tt=f9[Et];if(tt){k.value=qe+tt,F.backtrack=!0,A(),!i.output&&a.indexOf(k)===1&&(i.output=m);continue}}}(y==="["&&v()!==":"||y==="-"&&v()==="]")&&(y=`\\${y}`),y==="]"&&(k.value==="["||k.value==="[^")&&(y=`\\${y}`),r.posix===!0&&y==="!"&&k.value==="["&&(y="^"),k.value+=y,q({value:y});continue}if(F.quotes===1&&y!=='"'){y=Zt.escapeRegex(y),k.value+=y,q({value:y});continue}if(y==='"'){F.quotes=F.quotes===1?0:1,r.keepQuotes===!0&&V({type:"text",value:y});continue}if(y==="("){L("parens"),V({type:"paren",value:y});continue}if(y===")"){if(F.parens===0&&r.strictBrackets===!0)throw new SyntaxError(pa("opening","("));let H=j[j.length-1];if(H&&F.parens===H.parens+1){mr(j.pop());continue}V({type:"paren",value:y,output:F.parens?")":"\\)"}),te("parens");continue}if(y==="["){if(r.nobracket===!0||!R().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(pa("closing","]"));y=`\\${y}`}else L("brackets");V({type:"bracket",value:y});continue}if(y==="]"){if(r.nobracket===!0||k&&k.type==="bracket"&&k.value.length===1){V({type:"text",value:y,output:`\\${y}`});continue}if(F.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(pa("opening","["));V({type:"text",value:y,output:`\\${y}`});continue}te("brackets");let H=k.value.slice(1);if(k.posix!==!0&&H[0]==="^"&&!H.includes("/")&&(y=`/${y}`),k.value+=y,q({value:y}),r.literalBrackets===!1||Zt.hasRegexChars(H))continue;let ue=Zt.escapeRegex(k.value);if(F.output=F.output.slice(0,-k.value.length),r.literalBrackets===!0){F.output+=ue,k.value=ue;continue}k.value=`(${s}${ue}|${k.value})`,F.output+=k.value;continue}if(y==="{"&&r.nobrace!==!0){L("braces");let H={type:"brace",value:y,output:"(",outputIndex:F.output.length,tokensIndex:F.tokens.length};M.push(H),V(H);continue}if(y==="}"){let H=M[M.length-1];if(r.nobrace===!0||!H){V({type:"text",value:y,output:y});continue}let ue=")";if(H.dots===!0){let qe=a.slice(),Et=[];for(let tt=qe.length-1;tt>=0&&(a.pop(),qe[tt].type!=="brace");tt--)qe[tt].type!=="dots"&&Et.unshift(qe[tt].value);ue=h9(Et,r),F.backtrack=!0}if(H.comma!==!0&&H.dots!==!0){let qe=F.output.slice(0,H.outputIndex),Et=F.tokens.slice(H.tokensIndex);H.value=H.output="\\{",y=ue="\\}",F.output=qe;for(let tt of Et)F.output+=tt.output||tt.value}V({type:"brace",value:y,output:ue}),te("braces"),M.pop();continue}if(y==="|"){j.length>0&&j[j.length-1].conditions++,V({type:"text",value:y});continue}if(y===","){let H=y,ue=M[M.length-1];ue&&z[z.length-1]==="braces"&&(ue.comma=!0,H="|"),V({type:"comma",value:y,output:H});continue}if(y==="/"){if(k.type==="dot"&&F.index===F.start+1){F.start=F.index+1,F.consumed="",F.output="",a.pop(),k=i;continue}V({type:"slash",value:y,output:h});continue}if(y==="."){if(F.braces>0&&k.type==="dot"){k.value==="."&&(k.output=d);let H=M[M.length-1];k.type="dots",k.output+=y,k.value+=y,H.dots=!0;continue}if(F.braces+F.parens===0&&k.type!=="bos"&&k.type!=="slash"){V({type:"text",value:y,output:d});continue}V({type:"dot",value:y,output:d});continue}if(y==="?"){if(!(k&&k.value==="(")&&r.noextglob!==!0&&v()==="("&&v(2)!=="?"){se("qmark",y);continue}if(k&&k.type==="paren"){let ue=v(),qe=y;if(ue==="<"&&!Zt.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(k.value==="("&&!/[!=<:]/.test(ue)||ue==="<"&&!/<([!=]|\w+>)/.test(R()))&&(qe=`\\${y}`),V({type:"text",value:y,output:qe});continue}if(r.dot!==!0&&(k.type==="slash"||k.type==="bos")){V({type:"qmark",value:y,output:_});continue}V({type:"qmark",value:y,output:g});continue}if(y==="!"){if(r.noextglob!==!0&&v()==="("&&(v(2)!=="?"||!/[!=<:]/.test(v(3)))){se("negate",y);continue}if(r.nonegate!==!0&&F.index===0){I();continue}}if(y==="+"){if(r.noextglob!==!0&&v()==="("&&v(2)!=="?"){se("plus",y);continue}if(k&&k.value==="("||r.regex===!1){V({type:"plus",value:y,output:p});continue}if(k&&(k.type==="bracket"||k.type==="paren"||k.type==="brace")||F.parens>0){V({type:"plus",value:y});continue}V({type:"plus",value:p});continue}if(y==="@"){if(r.noextglob!==!0&&v()==="("&&v(2)!=="?"){V({type:"at",extglob:!0,value:y,output:""});continue}V({type:"text",value:y});continue}if(y!=="*"){(y==="$"||y==="^")&&(y=`\\${y}`);let H=d9.exec(R());H&&(y+=H[0],F.index+=H[0].length),V({type:"text",value:y});continue}if(k&&(k.type==="globstar"||k.star===!0)){k.type="star",k.star=!0,k.value+=y,k.output=N,F.backtrack=!0,F.globstar=!0,P(y);continue}let G=R();if(r.noextglob!==!0&&/^\([^?]/.test(G)){se("star",y);continue}if(k.type==="star"){if(r.noglobstar===!0){P(y);continue}let H=k.prev,ue=H.prev,qe=H.type==="slash"||H.type==="bos",Et=ue&&(ue.type==="star"||ue.type==="globstar");if(r.bash===!0&&(!qe||G[0]&&G[0]!=="/")){V({type:"star",value:y,output:""});continue}let tt=F.braces>0&&(H.type==="comma"||H.type==="brace"),wf=j.length&&(H.type==="pipe"||H.type==="paren");if(!qe&&H.type!=="paren"&&!tt&&!wf){V({type:"star",value:y,output:""});continue}for(;G.slice(0,3)==="/**";){let Gs=t[F.index+4];if(Gs&&Gs!=="/")break;G=G.slice(3),P("/**",3)}if(H.type==="bos"&&w()){k.type="globstar",k.value+=y,k.output=O(r),F.output=k.output,F.globstar=!0,P(y);continue}if(H.type==="slash"&&H.prev.type!=="bos"&&!Et&&w()){F.output=F.output.slice(0,-(H.output+k.output).length),H.output=`(?:${H.output}`,k.type="globstar",k.output=O(r)+(r.strictSlashes?")":"|$)"),k.value+=y,F.globstar=!0,F.output+=H.output+k.output,P(y);continue}if(H.type==="slash"&&H.prev.type!=="bos"&&G[0]==="/"){let Gs=G[1]!==void 0?"|$":"";F.output=F.output.slice(0,-(H.output+k.output).length),H.output=`(?:${H.output}`,k.type="globstar",k.output=`${O(r)}${h}|${h}${Gs})`,k.value+=y,F.output+=H.output+k.output,F.globstar=!0,P(y+A()),V({type:"slash",value:"/",output:""});continue}if(H.type==="bos"&&G[0]==="/"){k.type="globstar",k.value+=y,k.output=`(?:^|${h}|${O(r)}${h})`,F.output=k.output,F.globstar=!0,P(y+A()),V({type:"slash",value:"/",output:""});continue}F.output=F.output.slice(0,-k.output.length),k.type="globstar",k.output=O(r),k.value+=y,F.output+=k.output,F.globstar=!0,P(y);continue}let _e={type:"star",value:y,output:N};if(r.bash===!0){_e.output=".*?",(k.type==="bos"||k.type==="slash")&&(_e.output=B+_e.output),V(_e);continue}if(k&&(k.type==="bracket"||k.type==="paren")&&r.regex===!0){_e.output=y,V(_e);continue}(F.index===F.start||k.type==="slash"||k.type==="dot")&&(k.type==="dot"?(F.output+=C,k.output+=C):r.dot===!0?(F.output+=E,k.output+=E):(F.output+=B,k.output+=B),v()!=="*"&&(F.output+=m,k.output+=m)),V(_e)}for(;F.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(pa("closing","]"));F.output=Zt.escapeLast(F.output,"["),te("brackets")}for(;F.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(pa("closing",")"));F.output=Zt.escapeLast(F.output,"("),te("parens")}for(;F.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(pa("closing","}"));F.output=Zt.escapeLast(F.output,"{"),te("braces")}if(r.strictSlashes!==!0&&(k.type==="star"||k.type==="bracket")&&V({type:"maybe_slash",value:"",output:`${h}?`}),F.backtrack===!0){F.output="";for(let G of F.tokens)F.output+=G.output!=null?G.output:G.value,G.suffix&&(F.output+=G.suffix)}return F};eD.fastpaths=(t,e)=>{let r={...e},n=typeof r.maxLength=="number"?Math.min(ff,r.maxLength):ff,o=t.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);t=_F[t]||t;let i=Zt.isWindows(e),{DOT_LITERAL:a,SLASH_LITERAL:s,ONE_CHAR:u,DOTS_SLASH:c,NO_DOT:l,NO_DOTS:d,NO_DOTS_SLASH:p,STAR:h,START_ANCHOR:m}=lf.globChars(i),b=r.dot?d:l,D=r.dot?p:l,C=r.capture?"":"?:",E={negated:!1,prefix:""},g=r.bash===!0?".*?":h;r.capture&&(g=`(${g})`);let _=B=>B.noglobstar===!0?g:`(${C}(?:(?!${m}${B.dot?c:a}).)*?)`,x=B=>{switch(B){case"*":return`${b}${u}${g}`;case".*":return`${a}${u}${g}`;case"*.*":return`${b}${g}${a}${u}${g}`;case"*/*":return`${b}${g}${s}${u}${D}${g}`;case"**":return b+_(r);case"**/*":return`(?:${b}${_(r)}${s})?${D}${u}${g}`;case"**/*.*":return`(?:${b}${_(r)}${s})?${D}${g}${a}${u}${g}`;case"**/.*":return`(?:${b}${_(r)}${s})?${a}${u}${g}`;default:{let T=/^(.*?)\.(\w+)$/.exec(B);if(!T)return;let N=x(T[1]);return N?N+a+T[2]:void 0}}},$=Zt.removePrefix(t,E),O=x($);return O&&r.strictSlashes!==!0&&(O+=`${s}?`),O};SF.exports=eD});var FF=S((NJ,AF)=>{"use strict";var m9=require("path"),g9=EF(),tD=xF(),rD=Ms(),D9=Us(),y9=t=>t&&typeof t=="object"&&!Array.isArray(t),Qe=(t,e,r=!1)=>{if(Array.isArray(t)){let l=t.map(p=>Qe(p,e,r));return p=>{for(let h of l){let m=h(p);if(m)return m}return!1}}let n=y9(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let o=e||{},i=rD.isWindows(e),a=n?Qe.compileRe(t,e):Qe.makeRe(t,e,!1,!0),s=a.state;delete a.state;let u=()=>!1;if(o.ignore){let l={...e,ignore:null,onMatch:null,onResult:null};u=Qe(o.ignore,l,r)}let c=(l,d=!1)=>{let{isMatch:p,match:h,output:m}=Qe.test(l,a,e,{glob:t,posix:i}),b={glob:t,state:s,regex:a,posix:i,input:l,output:m,match:h,isMatch:p};return typeof o.onResult=="function"&&o.onResult(b),p===!1?(b.isMatch=!1,d?b:!1):u(l)?(typeof o.onIgnore=="function"&&o.onIgnore(b),b.isMatch=!1,d?b:!1):(typeof o.onMatch=="function"&&o.onMatch(b),d?b:!0)};return r&&(c.state=s),c};Qe.test=(t,e,r,{glob:n,posix:o}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let i=r||{},a=i.format||(o?rD.toPosixSlashes:null),s=t===n,u=s&&a?a(t):t;return s===!1&&(u=a?a(t):t,s=u===n),(s===!1||i.capture===!0)&&(i.matchBase===!0||i.basename===!0?s=Qe.matchBase(t,e,r,o):s=e.exec(u)),{isMatch:!!s,match:s,output:u}};Qe.matchBase=(t,e,r,n=rD.isWindows(r))=>(e instanceof RegExp?e:Qe.makeRe(e,r)).test(m9.basename(t));Qe.isMatch=(t,e,r)=>Qe(e,r)(t);Qe.parse=(t,e)=>Array.isArray(t)?t.map(r=>Qe.parse(r,e)):tD(t,{...e,fastpaths:!1});Qe.scan=(t,e)=>g9(t,e);Qe.compileRe=(t,e,r=!1,n=!1)=>{if(r===!0)return t.output;let o=e||{},i=o.contains?"":"^",a=o.contains?"":"$",s=`${i}(?:${t.output})${a}`;t&&t.negated===!0&&(s=`^(?!${s}).*$`);let u=Qe.toRegex(s,e);return n===!0&&(u.state=t),u};Qe.makeRe=(t,e={},r=!1,n=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(o.output=tD.fastpaths(t,e)),o.output||(o=tD(t,e)),Qe.compileRe(o,e,r,n)};Qe.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Qe.constants=D9;AF.exports=Qe});var kF=S((jJ,OF)=>{"use strict";OF.exports=FF()});var BF=S((UJ,RF)=>{"use strict";var $F=require("util"),TF=lF(),Vr=kF(),nD=Ms(),PF=t=>t===""||t==="./",IF=t=>{let e=t.indexOf("{");return e>-1&&t.indexOf("}",e)>-1},Ne=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let n=new Set,o=new Set,i=new Set,a=0,s=l=>{i.add(l.output),r&&r.onResult&&r.onResult(l)};for(let l=0;l<e.length;l++){let d=Vr(String(e[l]),{...r,onResult:s},!0),p=d.state.negated||d.state.negatedExtglob;p&&a++;for(let h of t){let m=d(h,!0);(p?!m.isMatch:m.isMatch)&&(p?n.add(m.output):(n.delete(m.output),o.add(m.output)))}}let c=(a===e.length?[...i]:[...o]).filter(l=>!n.has(l));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(l=>l.replace(/\\/g,"")):e}return c};Ne.match=Ne;Ne.matcher=(t,e)=>Vr(t,e);Ne.isMatch=(t,e,r)=>Vr(e,r)(t);Ne.any=Ne.isMatch;Ne.not=(t,e,r={})=>{e=[].concat(e).map(String);let n=new Set,o=[],i=s=>{r.onResult&&r.onResult(s),o.push(s.output)},a=new Set(Ne(t,e,{...r,onResult:i}));for(let s of o)a.has(s)||n.add(s);return[...n]};Ne.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${$F.inspect(t)}"`);if(Array.isArray(e))return e.some(n=>Ne.contains(t,n,r));if(typeof e=="string"){if(PF(t)||PF(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Ne.isMatch(t,e,{...r,contains:!0})};Ne.matchKeys=(t,e,r)=>{if(!nD.isObject(t))throw new TypeError("Expected the first argument to be an object");let n=Ne(Object.keys(t),e,r),o={};for(let i of n)o[i]=t[i];return o};Ne.some=(t,e,r)=>{let n=[].concat(t);for(let o of[].concat(e)){let i=Vr(String(o),r);if(n.some(a=>i(a)))return!0}return!1};Ne.every=(t,e,r)=>{let n=[].concat(t);for(let o of[].concat(e)){let i=Vr(String(o),r);if(!n.every(a=>i(a)))return!1}return!0};Ne.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${$F.inspect(t)}"`);return[].concat(e).every(n=>Vr(n,r)(t))};Ne.capture=(t,e,r)=>{let n=nD.isWindows(r),i=Vr.makeRe(String(t),{...r,capture:!0}).exec(n?nD.toPosixSlashes(e):e);if(i)return i.slice(1).map(a=>a===void 0?"":a)};Ne.makeRe=(...t)=>Vr.makeRe(...t);Ne.scan=(...t)=>Vr.scan(...t);Ne.parse=(t,e)=>{let r=[];for(let n of[].concat(t||[]))for(let o of TF(String(n),e))r.push(Vr.parse(o,e));return r};Ne.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!IF(t)?[t]:TF(t,e)};Ne.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Ne.braces(t,{...e,expand:!0})};Ne.hasBraces=IF;RF.exports=Ne});var CO=S((NX,mn)=>{var $e=require("fs"),mf=require("os"),gt=require("path"),iO=require("crypto"),Kr={fs:$e.constants,os:mf.constants},aO="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",lO=/XXXXXX/,z9=3,fO=(Kr.O_CREAT||Kr.fs.O_CREAT)|(Kr.O_EXCL||Kr.fs.O_EXCL)|(Kr.O_RDWR||Kr.fs.O_RDWR),K9=mf.platform()==="win32",G9=Kr.EBADF||Kr.os.errno.EBADF,W9=Kr.ENOENT||Kr.os.errno.ENOENT,dO=448,pO=384,Y9="exit",ma=[],hO=$e.rmdirSync.bind($e),mO=!1;function J9(t,e){return $e.rm(t,{recursive:!0},e)}function gO(t){return $e.rmSync(t,{recursive:!0})}function lD(t,e){let r=ga(t,e),n=r[0],o=r[1];a7(n,function(i,a){if(i)return o(i);let s=a.tries;(function u(){try{let c=yO(a);$e.stat(c,function(l){if(!l)return s-- >0?u():o(new Error("Could not get a unique tmp filename, max tries reached "+c));o(null,c)})}catch(c){o(c)}})()})}function fD(t){let e=ga(t),r=e[0],n=s7(r),o=n.tries;do{let i=yO(n);try{$e.statSync(i)}catch{return i}}while(o-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function X9(t,e){let r=ga(t,e),n=r[0],o=r[1];lD(n,function(a,s){if(a)return o(a);$e.open(s,fO,n.mode||pO,function(c,l){if(c)return o(c);if(n.discardDescriptor)return $e.close(l,function(p){return o(p,s,void 0,uD(s,-1,n,!1))});{let d=n.discardDescriptor||n.detachDescriptor;o(null,s,l,uD(s,d?-1:l,n,!1))}})})}function Z9(t){let e=ga(t),r=e[0],n=r.discardDescriptor||r.detachDescriptor,o=fD(r),i=$e.openSync(o,fO,r.mode||pO);return r.discardDescriptor&&($e.closeSync(i),i=void 0),{name:o,fd:i,removeCallback:uD(o,n?-1:i,r,!0)}}function Q9(t,e){let r=ga(t,e),n=r[0],o=r[1];lD(n,function(a,s){if(a)return o(a);$e.mkdir(s,n.mode||dO,function(c){if(c)return o(c);o(null,s,DO(s,n,!1))})})}function e7(t){let e=ga(t),r=e[0],n=fD(r);return $e.mkdirSync(n,r.mode||dO),{name:n,removeCallback:DO(n,r,!0)}}function t7(t,e){let r=function(n){if(n&&!cD(n))return e(n);e()};0<=t[0]?$e.close(t[0],function(){$e.unlink(t[1],r)}):$e.unlink(t[1],r)}function r7(t){let e=null;try{0<=t[0]&&$e.closeSync(t[0])}catch(r){if(!u7(r)&&!cD(r))throw r}finally{try{$e.unlinkSync(t[1])}catch(r){cD(r)||(e=r)}}if(e!==null)throw e}function uD(t,e,r,n){let o=hf(r7,[e,t],n),i=hf(t7,[e,t],n,o);return r.keep||ma.unshift(o),n?o:i}function DO(t,e,r){let n=e.unsafeCleanup?J9:$e.rmdir.bind($e),o=e.unsafeCleanup?gO:hO,i=hf(o,t,r),a=hf(n,t,r,i);return e.keep||ma.unshift(i),r?i:a}function hf(t,e,r,n){let o=!1;return function i(a){if(!o){let s=n||i,u=ma.indexOf(s);return u>=0&&ma.splice(u,1),o=!0,r||t===hO||t===gO?t(e):t(e,a||function(){})}}}function n7(){if(mO)for(;ma.length;)try{ma[0]()}catch{}}function sO(t){let e=[],r=null;try{r=iO.randomBytes(t)}catch{r=iO.pseudoRandomBytes(t)}for(let n=0;n<t;n++)e.push(aO[r[n]%aO.length]);return e.join("")}function Qt(t){return typeof t>"u"}function ga(t,e){if(typeof t=="function")return[{},t];if(Qt(t))return[{},e];let r={};for(let n of Object.getOwnPropertyNames(t))r[n]=t[n];return[r,e]}function o7(t,e,r){let n=gt.isAbsolute(t)?t:gt.join(e,t);$e.stat(n,function(o){o?$e.realpath(gt.dirname(n),function(i,a){if(i)return r(i);r(null,gt.join(a,gt.basename(n)))}):$e.realpath(n,r)})}function i7(t,e){let r=gt.isAbsolute(t)?t:gt.join(e,t);try{return $e.statSync(r),$e.realpathSync(r)}catch{let o=$e.realpathSync(gt.dirname(r));return gt.join(o,gt.basename(r))}}function yO(t){let e=t.tmpdir;if(!Qt(t.name))return gt.join(e,t.dir,t.name);if(!Qt(t.template))return gt.join(e,t.dir,t.template).replace(lO,sO(6));let r=[t.prefix?t.prefix:"tmp","-",process.pid,"-",sO(12),t.postfix?"-"+t.postfix:""].join("");return gt.join(e,t.dir,r)}function bO(t){if(!Qt(t.name)){let e=t.name;if(gt.isAbsolute(e))throw new Error(`name option must not contain an absolute path, found "${e}".`);let r=gt.basename(e);if(r===".."||r==="."||r!==e)throw new Error(`name option must not contain a path, found "${e}".`)}if(!Qt(t.template)&&!t.template.match(lO))throw new Error(`Invalid template, found "${t.template}".`);if(!Qt(t.tries)&&isNaN(t.tries)||t.tries<0)throw new Error(`Invalid tries, found "${t.tries}".`);t.tries=Qt(t.name)?t.tries||z9:1,t.keep=!!t.keep,t.detachDescriptor=!!t.detachDescriptor,t.discardDescriptor=!!t.discardDescriptor,t.unsafeCleanup=!!t.unsafeCleanup,t.prefix=Qt(t.prefix)?"":t.prefix,t.postfix=Qt(t.postfix)?"":t.postfix}function uO(t,e,r,n){if(Qt(e))return n(null);o7(e,r,function(o,i){if(o)return n(o);let a=gt.relative(r,i);if(!i.startsWith(r))return n(new Error(`${t} option must be relative to "${r}", found "${a}".`));n(null,a)})}function cO(t,e,r){if(Qt(e))return;let n=i7(e,r),o=gt.relative(r,n);if(!n.startsWith(r))throw new Error(`${t} option must be relative to "${r}", found "${o}".`);return o}function a7(t,e){l7(t,function(r,n){if(r)return e(r);t.tmpdir=n;try{bO(t,n)}catch(o){return e(o)}uO("dir",t.dir,n,function(o,i){if(o)return e(o);t.dir=Qt(i)?"":i,uO("template",t.template,n,function(a,s){if(a)return e(a);t.template=s,e(null,t)})})})}function s7(t){let e=t.tmpdir=vO(t);bO(t,e);let r=cO("dir",t.dir,e);return t.dir=Qt(r)?"":r,t.template=cO("template",t.template,e),t}function u7(t){return wO(t,-G9,"EBADF")}function cD(t){return wO(t,-W9,"ENOENT")}function wO(t,e,r){return K9?t.code===r:t.code===r&&t.errno===e}function c7(){mO=!0}function l7(t,e){return $e.realpath(t&&t.tmpdir||mf.tmpdir(),e)}function vO(t){return $e.realpathSync(t&&t.tmpdir||mf.tmpdir())}process.addListener(Y9,n7);Object.defineProperty(mn.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return vO()}});mn.exports.dir=Q9;mn.exports.dirSync=e7;mn.exports.file=X9;mn.exports.fileSync=Z9;mn.exports.tmpName=lD;mn.exports.tmpNameSync=fD;mn.exports.setGracefulCleanup=c7});var yf=require("node:process");var RD=de(ID(),1),{program:ot,createCommand:V7,createArgument:z7,createOption:K7,CommanderError:G7,InvalidArgumentError:W7,InvalidOptionArgumentError:Y7,Command:J7,Argument:X7,Option:Z7,Help:Q7}=RD.default;var gr={name:"@capgo/cli",version:"7.37.4",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24.9.1","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",open:"^10.1.2",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};var aa=require("node:fs");var Dt=de(jf(),1),Ho=require("node:process"),Dn=de(require("node:readline"),1),Vf=de(require("node:readline"),1),KD=require("node:stream"),GD=de(Mf(),1);function a2({onlyFirst:t=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}var s2=a2();function WD(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(s2,"")}function YD(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var JD={exports:{}};(function(t){var e={};t.exports=e,e.eastAsianWidth=function(n){var o=n.charCodeAt(0),i=n.length==2?n.charCodeAt(1):0,a=o;return 55296<=o&&o<=56319&&56320<=i&&i<=57343&&(o&=1023,i&=1023,a=o<<10|i,a+=65536),a==12288||65281<=a&&a<=65376||65504<=a&&a<=65510?"F":a==8361||65377<=a&&a<=65470||65474<=a&&a<=65479||65482<=a&&a<=65487||65490<=a&&a<=65495||65498<=a&&a<=65500||65512<=a&&a<=65518?"H":4352<=a&&a<=4447||4515<=a&&a<=4519||4602<=a&&a<=4607||9001<=a&&a<=9002||11904<=a&&a<=11929||11931<=a&&a<=12019||12032<=a&&a<=12245||12272<=a&&a<=12283||12289<=a&&a<=12350||12353<=a&&a<=12438||12441<=a&&a<=12543||12549<=a&&a<=12589||12593<=a&&a<=12686||12688<=a&&a<=12730||12736<=a&&a<=12771||12784<=a&&a<=12830||12832<=a&&a<=12871||12880<=a&&a<=13054||13056<=a&&a<=19903||19968<=a&&a<=42124||42128<=a&&a<=42182||43360<=a&&a<=43388||44032<=a&&a<=55203||55216<=a&&a<=55238||55243<=a&&a<=55291||63744<=a&&a<=64255||65040<=a&&a<=65049||65072<=a&&a<=65106||65108<=a&&a<=65126||65128<=a&&a<=65131||110592<=a&&a<=110593||127488<=a&&a<=127490||127504<=a&&a<=127546||127552<=a&&a<=127560||127568<=a&&a<=127569||131072<=a&&a<=194367||177984<=a&&a<=196605||196608<=a&&a<=262141?"W":32<=a&&a<=126||162<=a&&a<=163||165<=a&&a<=166||a==172||a==175||10214<=a&&a<=10221||10629<=a&&a<=10630?"Na":a==161||a==164||167<=a&&a<=168||a==170||173<=a&&a<=174||176<=a&&a<=180||182<=a&&a<=186||188<=a&&a<=191||a==198||a==208||215<=a&&a<=216||222<=a&&a<=225||a==230||232<=a&&a<=234||236<=a&&a<=237||a==240||242<=a&&a<=243||247<=a&&a<=250||a==252||a==254||a==257||a==273||a==275||a==283||294<=a&&a<=295||a==299||305<=a&&a<=307||a==312||319<=a&&a<=322||a==324||328<=a&&a<=331||a==333||338<=a&&a<=339||358<=a&&a<=359||a==363||a==462||a==464||a==466||a==468||a==470||a==472||a==474||a==476||a==593||a==609||a==708||a==711||713<=a&&a<=715||a==717||a==720||728<=a&&a<=731||a==733||a==735||768<=a&&a<=879||913<=a&&a<=929||931<=a&&a<=937||945<=a&&a<=961||963<=a&&a<=969||a==1025||1040<=a&&a<=1103||a==1105||a==8208||8211<=a&&a<=8214||8216<=a&&a<=8217||8220<=a&&a<=8221||8224<=a&&a<=8226||8228<=a&&a<=8231||a==8240||8242<=a&&a<=8243||a==8245||a==8251||a==8254||a==8308||a==8319||8321<=a&&a<=8324||a==8364||a==8451||a==8453||a==8457||a==8467||a==8470||8481<=a&&a<=8482||a==8486||a==8491||8531<=a&&a<=8532||8539<=a&&a<=8542||8544<=a&&a<=8555||8560<=a&&a<=8569||a==8585||8592<=a&&a<=8601||8632<=a&&a<=8633||a==8658||a==8660||a==8679||a==8704||8706<=a&&a<=8707||8711<=a&&a<=8712||a==8715||a==8719||a==8721||a==8725||a==8730||8733<=a&&a<=8736||a==8739||a==8741||8743<=a&&a<=8748||a==8750||8756<=a&&a<=8759||8764<=a&&a<=8765||a==8776||a==8780||a==8786||8800<=a&&a<=8801||8804<=a&&a<=8807||8810<=a&&a<=8811||8814<=a&&a<=8815||8834<=a&&a<=8835||8838<=a&&a<=8839||a==8853||a==8857||a==8869||a==8895||a==8978||9312<=a&&a<=9449||9451<=a&&a<=9547||9552<=a&&a<=9587||9600<=a&&a<=9615||9618<=a&&a<=9621||9632<=a&&a<=9633||9635<=a&&a<=9641||9650<=a&&a<=9651||9654<=a&&a<=9655||9660<=a&&a<=9661||9664<=a&&a<=9665||9670<=a&&a<=9672||a==9675||9678<=a&&a<=9681||9698<=a&&a<=9701||a==9711||9733<=a&&a<=9734||a==9737||9742<=a&&a<=9743||9748<=a&&a<=9749||a==9756||a==9758||a==9792||a==9794||9824<=a&&a<=9825||9827<=a&&a<=9829||9831<=a&&a<=9834||9836<=a&&a<=9837||a==9839||9886<=a&&a<=9887||9918<=a&&a<=9919||9924<=a&&a<=9933||9935<=a&&a<=9953||a==9955||9960<=a&&a<=9983||a==10045||a==10071||10102<=a&&a<=10111||11093<=a&&a<=11097||12872<=a&&a<=12879||57344<=a&&a<=63743||65024<=a&&a<=65039||a==65533||127232<=a&&a<=127242||127248<=a&&a<=127277||127280<=a&&a<=127337||127344<=a&&a<=127386||917760<=a&&a<=917999||983040<=a&&a<=1048573||1048576<=a&&a<=1114109?"A":"N"},e.characterLength=function(n){var o=this.eastAsianWidth(n);return o=="F"||o=="W"||o=="A"?2:1};function r(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(n){for(var o=r(n),i=0,a=0;a<o.length;a++)i=i+this.characterLength(o[a]);return i},e.slice=function(n,o,i){textLen=e.length(n),o=o||0,i=i||1,o<0&&(o=textLen+o),i<0&&(i=textLen+i);for(var a="",s=0,u=r(n),c=0;c<u.length;c++){var l=u[c],d=e.length(l);if(s>=o-(d==2?1:0))if(s+d<=i)a+=l;else break;s+=d}return a}})(JD);var u2=JD.exports,c2=YD(u2),l2=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},f2=YD(l2);function wa(t,e={}){if(typeof t!="string"||t.length===0||(e={ambiguousIsNarrow:!0,...e},t=WD(t),t.length===0))return 0;t=t.replace(f2()," ");let r=e.ambiguousIsNarrow?1:2,n=0;for(let o of t){let i=o.codePointAt(0);if(!(i<=31||i>=127&&i<=159||i>=768&&i<=879))switch(c2.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}var qf=10,jD=(t=0)=>e=>`\x1B[${e+t}m`,UD=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,MD=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,je={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(je.modifier);var d2=Object.keys(je.color),p2=Object.keys(je.bgColor);[...d2,...p2];function h2(){let t=new Map;for(let[e,r]of Object.entries(je)){for(let[n,o]of Object.entries(r))je[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[n]=je[n],t.set(o[0],o[1]);Object.defineProperty(je,e,{value:r,enumerable:!1})}return Object.defineProperty(je,"codes",{value:t,enumerable:!1}),je.color.close="\x1B[39m",je.bgColor.close="\x1B[49m",je.color.ansi=jD(),je.color.ansi256=UD(),je.color.ansi16m=MD(),je.bgColor.ansi=jD(qf),je.bgColor.ansi256=UD(qf),je.bgColor.ansi16m=MD(qf),Object.defineProperties(je,{rgbToAnsi256:{value:(e,r,n)=>e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:e=>{let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(i=>i+i).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>je.rgbToAnsi256(...je.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,o;if(e>=232)r=((e-232)*10+8)/255,n=r,o=r;else{e-=16;let s=e%36;r=Math.floor(e/36)/5,n=Math.floor(s/6)/5,o=s%6/5}let i=Math.max(r,n,o)*2;if(i===0)return 30;let a=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(r));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>je.ansi256ToAnsi(je.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>je.ansi256ToAnsi(je.hexToAnsi256(e)),enumerable:!1}}),je}var m2=h2(),iu=new Set(["\x1B","\x9B"]),g2=39,Kf="\x07",XD="[",D2="]",ZD="m",Gf=`${D2}8;;`,qD=t=>`${iu.values().next().value}${XD}${t}${ZD}`,HD=t=>`${iu.values().next().value}${Gf}${t}${Kf}`,y2=t=>t.split(" ").map(e=>wa(e)),Hf=(t,e,r)=>{let n=[...e],o=!1,i=!1,a=wa(WD(t[t.length-1]));for(let[s,u]of n.entries()){let c=wa(u);if(a+c<=r?t[t.length-1]+=u:(t.push(u),a=0),iu.has(u)&&(o=!0,i=n.slice(s+1).join("").startsWith(Gf)),o){i?u===Kf&&(o=!1,i=!1):u===ZD&&(o=!1);continue}a+=c,a===r&&s<n.length-1&&(t.push(""),a=0)}!a&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},b2=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(wa(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},w2=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let n="",o,i,a=y2(t),s=[""];for(let[c,l]of t.split(" ").entries()){r.trim!==!1&&(s[s.length-1]=s[s.length-1].trimStart());let d=wa(s[s.length-1]);if(c!==0&&(d>=e&&(r.wordWrap===!1||r.trim===!1)&&(s.push(""),d=0),(d>0||r.trim===!1)&&(s[s.length-1]+=" ",d++)),r.hard&&a[c]>e){let p=e-d,h=1+Math.floor((a[c]-p-1)/e);Math.floor((a[c]-1)/e)<h&&s.push(""),Hf(s,l,e);continue}if(d+a[c]>e&&d>0&&a[c]>0){if(r.wordWrap===!1&&d<e){Hf(s,l,e);continue}s.push("")}if(d+a[c]>e&&r.wordWrap===!1){Hf(s,l,e);continue}s[s.length-1]+=l}r.trim!==!1&&(s=s.map(c=>b2(c)));let u=[...s.join(`
|
|
108
108
|
`)];for(let[c,l]of u.entries()){if(n+=l,iu.has(l)){let{groups:p}=new RegExp(`(?:\\${XD}(?<code>\\d+)m|\\${Gf}(?<uri>.*)${Kf})`).exec(u.slice(c).join(""))||{groups:{}};if(p.code!==void 0){let h=Number.parseFloat(p.code);o=h===g2?void 0:h}else p.uri!==void 0&&(i=p.uri.length===0?void 0:p.uri)}let d=m2.codes.get(Number(o));u[c+1]===`
|
|
109
109
|
`?(i&&(n+=HD("")),o&&d&&(n+=qD(d))):l===`
|
|
110
110
|
`&&(o&&d&&(n+=qD(o)),i&&(n+=HD(i)))}return n};function VD(t,e,r){return String(t).normalize().replace(/\r\n/g,`
|
|
@@ -202,7 +202,7 @@ ${U(i)}`),new Error(`Cannot retrieve unknown version for app ${e}: ${U(i)}`)}fun
|
|
|
202
202
|
created_by,
|
|
203
203
|
app_id,
|
|
204
204
|
version (id, name)
|
|
205
|
-
`).eq("app_id",e).order("created_at",{ascending:!1});if(o)throw r||f.error(`App ${e} not found in database`),new Error(`App ${e} not found in database: ${U(o)}`);return n}async function Tg(t,e,r,n={}){let{silent:o=!1}=n,{error:i}=await t.from("app_versions").update({deleted:!0}).eq("app_id",e).eq("deleted",!1).eq("name",r);if(i){let a=`App version ${e}@${r} not found in database`;throw o||f.error(a),new Error(`${a}: ${U(i)}`)}}async function Gl(t,e,r,n={}){let{silent:o=!1,autoUnlink:i=!1}=n,a=await M5(t,e,r,{silent:o});await t1(t,e,a,{silent:o,autoUnlink:i}),await Tg(t,e,r,{silent:o})}function Wl(t,e=!1){if(e)return;if(!t.length)throw new Error("No bundle found");let r=new at;r.theme=at.roundTheme,r.headers=["Version","Created","Keep"],r.rows=[];for(let n of t.toReversed())r.rows.push([n.name,ia(n.created_at),n.keep??""]);f.success("Bundles"),f.success(r.toString())}async function Yl(t,e,r={}){let{silent:n=!1}=r,{data:o,error:i}=await t.from("app_versions").select().eq("app_id",e).eq("deleted",!1).order("created_at",{ascending:!1});if(i){let a=`App ${e} not found in database`;throw n||f.error(a),new Error(`${a}: ${U(i)}`)}return o??[]}async function c1(t,e,r={}){let{silent:n=!1}=r,{data:o,error:i}=await t.from("channels").select("version").eq("app_id",e);if(i){let a=`App ${e} not found in database`;throw n||f.error(a),new Error(`${a}: ${U(i)}`)}return(o??[]).map(a=>a.version)}async function M5(t,e,r,n={}){let{silent:o=!1}=n,{data:i,error:a}=await t.from("app_versions").select().eq("app_id",e).eq("name",r).eq("deleted",!1).single();if(!i||a){let s=`App version ${e}@${r} doesn't exist`;throw o||f.error(s),new Error(`${s}${a?`: ${U(a)}`:""}`)}return i}async function q5(t,e,r,n){for await(let o of t)n||f.warn(`Removing ${o.name} created on ${ia(o.created_at)}`),await Gl(e,r,o.name)}function H5(t,e,r){let n=[];for(let o of t??[]){let i=ve(o.name);sd(i,e)&&Gn(i,r)&&n.push(o)}return n}async function V5(t,e,r=!1){r||Q("Cleanup versions in Capgo"),await ge(),e.apikey=e.apikey||ne();let{bundle:n,keep:o=4}=e,i=e.force||!1,a=e.ignoreChannel||!1,s=await ee();if(t=ce(t,s?.config),!e.apikey)throw r||f.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!t)throw r||f.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let u=await re(e.apikey,e.supaHost,e.supaAnon);await ie(u,e.apikey,["write","all"]),await Me(u,e.apikey,t,3,r),r||f.info("Querying all available versions in Capgo");let c=await Yl(u,t),l=await c1(u,t);if(r||f.info(`Total active versions in Capgo: ${c?.length??0}`),!c?.length)throw r||f.error("No versions found, aborting cleanup"),new Error("No versions found");if(n){let h=ve(n),m=xa(h,"major");r||f.info(`Querying available versions in Capgo between ${wr(h)} and ${wr(m)}`),c=H5(c,h,m),r||f.info(`Active versions in Capgo between ${wr(h)} and ${wr(m)}: ${c?.length??0}`)}let d=[],p=0;for(let h of c){let m=l.find(b=>b===h.id);p<o||m&&!a?(h.keep=m?"\u2705 (Linked to channel)":"\u2705",p+=1):(h.keep="\u274C",d.push(h))}if(!d.length)return r||f.warn("Nothing to be removed, aborting removal..."),{removed:0,kept:p};if(r||Wl(c),!i){if(r)throw new Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");{let h=await we({message:"Do you want to continue removing the versions specified?"});if(be(h)||!h)throw f.warn("Not confirmed, aborting removal..."),new Error("Cleanup cancelled by user")}}return r||f.success("You have confirmed removal, removing versions now"),await q5(d,u,t,r),r||X("Done \u2705"),{removed:d.length,kept:p}}async function l1(t,e){return V5(t,e)}async function z5(t,e,r=!1){r||Q("Check compatibility");let n={...e,apikey:e.apikey||ne()},o=await ee(),i=ce(t,o?.config),a=n.channel;if(!a)throw r||f.error("Missing argument, you need to provide a channel"),new Error("Missing channel");if(!n.apikey)throw r||f.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw r||f.error("Missing argument, you need to provide an appId, or be in a capacitor project"),new Error("Missing appId");let s=await re(n.apikey,n.supaHost,n.supaAnon);await ie(s,n.apikey,["write","all","read","upload"]),await Me(s,n.apikey,i,1,r);let u=await Ul(s,i,a,n.packageJson,n.nodeModules);if(!r){let c=new at;c.headers=["Package","Local version","Remote version","Compatible"],c.theme=at.roundTheme,c.rows=[];let l=n.text?"Yes":"\u2705",d=n.text?"No":"\u274C";for(let p of u.finalCompatibility){let{name:h,localVersion:m,remoteVersion:b}=p,D=ko(p)?l:d;c.rows.push([h,m,b,D])}f.success("Compatibility"),f.success(c.toString())}return{finalCompatibility:u.finalCompatibility}}async function f1(t,e){try{await z5(t,e,!1)}catch(r){throw f.error(`Error checking compatibility ${U(r)}`),r}}var fn=require("node:fs");var jn=require("node:buffer"),mt=require("node:crypto"),d1="aes-128-cbc",ln="base64",Jl=mt.constants.RSA_PKCS1_PADDING;function Xl(t){let e=(0,mt.randomBytes)(16),r=(0,mt.randomBytes)(16),n=e.toString(ln),o=(0,mt.privateEncrypt)({key:t,padding:Jl},r).toString(ln);return{sessionKey:r,ivSessionKey:`${n}:${o}`}}function ca(t,e,r){let[n]=r.split(":"),o=jn.Buffer.from(n,ln),i=(0,mt.createCipheriv)(d1,e,o);return i.setAutoPadding(!0),jn.Buffer.concat([i.update(t),i.final()])}function p1(t,e,r){let[n,o]=e.split(":"),i=(0,mt.publicDecrypt)({key:r,padding:Jl},jn.Buffer.from(o,ln)),a=jn.Buffer.from(n,ln),s=(0,mt.createDecipheriv)(d1,i,a);return s.setAutoPadding(!0),jn.Buffer.concat([s.update(t),s.final()])}function la(t,e){return(0,mt.privateEncrypt)({key:e,padding:Jl},jn.Buffer.from(t,ln)).toString(ln)}function h1(t="pem",e=2048){let{publicKey:r,privateKey:n}=(0,mt.generateKeyPairSync)("rsa",{modulusLength:e});return t==="pem"?{publicKey:r.export({type:"pkcs1",format:"pem"}),privateKey:n.export({type:"pkcs1",format:"pem"})}:{publicKey:r.export({type:"spki",format:"der"}).toString("base64"),privateKey:n.export({type:"pkcs1",format:"pem"}).toString("base64")}}function m1(t,e){return(0,mt.publicDecrypt)({key:e,padding:Jl},jn.Buffer.from(t,ln)).toString(ln)}function K5(t,e){let r=t.key||sn,n=e.config.plugins?.CapacitorUpdater?.publicKey;return(0,fn.existsSync)(r)?n=(0,fn.readFileSync)(r,"utf8"):!n&&t.keyData&&(n=t.keyData),{publicKey:n,fallbackKeyPath:r}}async function G5(t,e,r,n=!1){n||Q("Decrypt zip file");try{if(await ge(),!(0,fn.existsSync)(t)){let d=`Zip not found at the path ${t}`;throw n||f.error(d),new Error(d)}let o=await ee();if(!r.key&&!(0,fn.existsSync)(sn)&&!o.config.plugins?.CapacitorUpdater?.privateKey){let d=`Private Key not found at the path ${sn} or in ${o.path}`;throw n||f.error(d),new Error(d)}let{publicKey:i,fallbackKeyPath:a}=K5(r,o);if(!i){let d=`Cannot find public key ${a} or as keyData option or in ${o.path}`;throw n||f.error(d),new Error(d)}let s=(0,fn.readFileSync)(t),u=p1(s,e,r.keyData??i),c=`${t}_decrypted.zip`;(0,fn.writeFileSync)(c,u),n||f.info(`Decrypted zip file at ${c}`);let l;if(r.checksum){let d=await rn(u,"sha256"),p=m1(r.checksum,r.keyData??i);if(l=d===p,!l){let h=`Checksum does not match ${d} !== ${p}`;throw n||f.error(h),new Error(h)}n||f.info("Checksum matches")}return n||X("\u2705 done"),{outputPath:c,checksumMatches:l}}catch(o){throw n||f.error(`Error decrypting zip file ${U(o)}`),o instanceof Error?o:new Error(String(o))}}async function g1(t,e,r){await G5(t,e,r,!1)}async function W5(t,e,r,n=!1){n||Q("Delete bundle"),r.apikey=r.apikey||ne();let o=await ee();if(e=ce(e,o?.config),!r.apikey)throw n||f.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw n||f.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!t)throw n||f.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),new Error("Missing bundleId");let i=await re(r.apikey,r.supaHost,r.supaAnon);return await ie(i,r.apikey,["write","all"]),await Me(i,r.apikey,e,3,n),n||(f.info(`Deleting bundle ${e}@${t} from Capgo`),f.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever")),await Gl(i,e,t),n||(f.success(`Bundle ${e}@${t} deleted in Capgo`),X("Done")),!0}async function D1(t,e,r){return W5(t,e,r)}var dn=require("node:fs");function $s(t){console.error(U(t))}async function Y5(t,e,r,n=!1){let{json:o}=r,i=!o&&!n;i&&(Q("Encryption"),await ge());try{let a=await ee(),s=!!a.config.plugins?.CapacitorUpdater?.privateKey,u=!!a.config.plugins?.CapacitorUpdater?.publicKey;if(s&&i&&f.warning("There is still a privateKey in the config"),!(0,dn.existsSync)(t)){let C=`Zip not found at the path ${t}`;throw n||(o?$s({error:"zip_not_found"}):f.error(`Error: ${C}`)),new Error(C)}if(!u)throw n||(o?$s({error:"missing_public_key"}):f.warning("Warning: Missing Public Key in config")),new Error("Missing public key in config");let c=r.key||Yt,l=r.keyData||"";if(!(0,dn.existsSync)(c)&&!l)throw n||(o?$s({error:"missing_key"}):(f.warning(`Cannot find a private key at ${c} or as a keyData option`),f.error("Error: Missing key"))),new Error("Missing private key");if((0,dn.existsSync)(c)&&(l=(0,dn.readFileSync)(c,"utf8")),l&&!l.startsWith("-----BEGIN RSA PRIVATE KEY-----"))throw n||(o?$s({error:"invalid_private_key"}):f.error("The private key provided is not a valid RSA Private key")),new Error("Invalid private key format");let d=(0,dn.readFileSync)(t),{sessionKey:p,ivSessionKey:h}=Xl(l),m=ca(d,p,h),b=la(e,l),D=`${t}_encrypted.zip`;return(0,dn.writeFileSync)(D,m),n||(o?console.log(JSON.stringify({checksum:b,filename:D,ivSessionKey:h},null,2)):(f.success(`Encoded Checksum: ${b}`),f.success(`ivSessionKey: ${h}`),f.success(`Encrypted zip saved at ${D}`),X("Done \u2705"))),{checksum:b,filename:D,ivSessionKey:h}}catch(a){throw n||(r.json?$s(a):f.error(`Error encrypting zip file ${U(a)}`)),a instanceof Error?a:new Error(String(a))}}async function y1(t,e,r){await Y5(t,e,r,!1)}async function b1(t,e,r=!1){r||Q("List bundles"),await ge(),e.apikey=e.apikey||ne();let n=await ee();if(t=ce(t,n?.config),!e.apikey)throw r||f.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!t)throw r||f.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let o=await re(e.apikey,e.supaHost,e.supaAnon);await ie(o,e.apikey,["write","all","read","upload"]),await Me(o,e.apikey,t,1,r),r||f.info(`Querying available versions of: ${t} in Capgo`);let i=await Yl(o,t);return r||(f.info(`Active versions in Capgo: ${i?.length??0}`),Wl(i),X("Done \u2705")),i}var GF=require("node:crypto"),qo=require("node:fs"),oD=require("node:process");var Zl=class extends TransformStream{outChunkSize;constructor(e){let r=new Uint8Array(e),n=0;super({transform(o,i){let a=0;for(;a<o.length;){let s=e-n,u=Math.min(s,o.length-a);r.set(o.subarray(a,a+u),n),a+=u,n+=u,n===e&&(i.enqueue(r),r=new Uint8Array(e),n=0)}},flush(o){n>0&&o.enqueue(r.subarray(0,n))}}),this.outChunkSize=e}};function Un(t){return t=t.trim(),t=t.replace(/<!--[\s\S]*?-->/g,""),e();function e(){return{declaration:r(),root:n()}}function r(){if(!u(/^<\?xml\s*/))return;let p={attributes:{}};for(;!(c()||l("?>"));){let h=i();if(!h)return p;p.attributes[h.name]=h.value}return u(/\?>\s*/),p}function n(){let d=u(/^<([\w-:.]+)\s*/);if(!d)return;let p={name:d[1],attributes:{},children:[]};for(;!(c()||l(">")||l("?>")||l("/>"));){let m=i();if(!m)return p;p.attributes[m.name]=m.value}if(u(/^\s*\/>\s*/))return p;u(/\??>\s*/),p.content=o();let h;for(;h=n();)p.children.push(h);return u(/^<\/[\w-:.]+>\s*/),p}function o(){let d=u(/^([^<]*)/);return d?s(d[1]):""}function i(){let d=u(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(d)return{name:d[1],value:s(a(d[2]))}}function a(d){return d.replace(/^['"]|['"]$/g,"")}function s(d){return d.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function u(d){let p=t.match(d);if(p)return t=t.slice(p[0].length),p}function c(){return t.length===0}function l(d){return t.startsWith(d)}}var Mr=class extends Error{};var Ct=class extends Mr{},Ts=class extends Mr{},Ql=class extends Mr{bucketName;constructor(e){super(`Invalid bucket name: ${e}`),this.bucketName=e}},qr=class extends Mr{objectName;constructor(e){super(`Invalid object name: ${e}`),this.objectName=e}},Mn=class extends Mr{constructor(){super("accessKey is required")}},fa=class extends Mr{constructor(){super("secretKey is required")}},Is=class extends Mr{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}},pn=class extends Mr{statusCode;code;key;bucketName;resource;region;constructor(e,r,n,o={}){super(n),this.statusCode=e,this.code=r,this.key=o.key,this.bucketName=o.bucketName,this.resource=o.resource,this.region=o.region}};async function w1(t){try{let r=Un(await t.text()).root;if(r?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=r.children.find(c=>c.name==="Code")?.content??"UnknownErrorCode",o=r.children.find(c=>c.name==="Message")?.content??"The error message could not be determined.",i=r.children.find(c=>c.name==="Key")?.content,a=r.children.find(c=>c.name==="BucketName")?.content,s=r.children.find(c=>c.name==="Resource")?.content,u=r.children.find(c=>c.name==="Region")?.content;return new pn(t.status,n,o,{key:i,bucketName:a,resource:s,region:u})}catch{return new pn(t.status,"UnrecognizedError",`Error: Unexpected response code ${t.status} ${t.statusText}. Unable to parse response as XML.`)}}function v1(t){return typeof t!="number"||isNaN(t)?!1:t>=1&&t<=65535}function C1(t){return typeof t!="string"||t.length<3||t.length>63||t.includes("..")||t.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!t.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function qn(t){return!(!J5(t)||t.length===0)}function J5(t){return!(typeof t!="string"||t.length>1024)}function Rs(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}function Io(t=""){let e={'"':"",""":"",""":"",""":"",""":""};return t.replace(/^("|"|")|("|"|")$/g,r=>e[r])}function Rg(t){return t.get("x-amz-version-id")??null}function Ro(t){let e=t.toISOString();return e.slice(0,4)+e.slice(5,7)+e.slice(8,13)+e.slice(14,16)+e.slice(17,19)+"Z"}function Bg(t){return Ro(t).slice(0,8)}function Lg(t,e){return`${Bg(e)}/${t}/s3/aws4_request`}async function ef(t){return t instanceof Uint8Array||(t=new TextEncoder().encode(t)),Rs(new Uint8Array(await crypto.subtle.digest("SHA-256",t)))}var X5=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],tf=class extends WritableStream{getResult;constructor({client:e,bucketName:r,objectName:n,partSize:o,metadata:i}){let a,s=1,u,c=[],l,d=[];super({start(){},async write(p,h){let b=s++;try{if(b==1&&p.length<o){let E=await e.makeRequest({method:"PUT",headers:new Headers({...i,"Content-Length":String(p.length)}),bucketName:r,objectName:n,payload:p});a={etag:Io(E.headers.get("etag")??void 0),versionId:Rg(E.headers)};return}b===1&&(u=(await Z5({client:e,bucketName:r,objectName:n,metadata:i})).uploadId);let D={"Content-Length":String(p.length)};for(let E of X5){let g=i[E];g&&(D[E]=g)}let C=e.makeRequest({method:"PUT",query:{partNumber:b.toString(),uploadId:u},headers:new Headers(D),bucketName:r,objectName:n,payload:p}).then(E=>{let g=E.headers.get("etag")??"";return g&&(g=g.replace(/^"/,"").replace(/"$/,"")),c.push({part:b,etag:g}),E});d.push(C.catch(E=>{l||(l=E)}))}catch(D){throw D}},async close(){if(!a)if(u){if(await Promise.all(d),l)throw l;c.sort((p,h)=>p.part>h.part?1:-1),a=await Q5({client:e,bucketName:r,objectName:n,uploadId:u,etags:c})}else throw new Error("Stream was closed without uploading any data.")}}),this.getResult=()=>{if(a===void 0)throw new Error("Result is not ready. await the stream first.");return a}}};async function Z5(t){let e="POST",r=new Headers(t.metadata),i=await(await t.client.makeRequest({method:e,bucketName:t.bucketName,objectName:t.objectName,query:"uploads",headers:r,returnBody:!0})).text(),a=Un(i).root;if(!a||a.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${i}`);let s=a.children.find(u=>u.name==="UploadId")?.content;if(!s)throw new Error(`Unable to get UploadId from response: ${i}`);return{uploadId:s}}async function Q5({client:t,bucketName:e,objectName:r,uploadId:n,etags:o}){let i=`
|
|
205
|
+
`).eq("app_id",e).order("created_at",{ascending:!1});if(o)throw r||f.error(`App ${e} not found in database`),new Error(`App ${e} not found in database: ${U(o)}`);return n}async function Tg(t,e,r,n={}){let{silent:o=!1}=n,{error:i}=await t.from("app_versions").update({deleted:!0}).eq("app_id",e).eq("deleted",!1).eq("name",r);if(i){let a=`App version ${e}@${r} not found in database`;throw o||f.error(a),new Error(`${a}: ${U(i)}`)}}async function Gl(t,e,r,n={}){let{silent:o=!1,autoUnlink:i=!1}=n,a=await M5(t,e,r,{silent:o});await t1(t,e,a,{silent:o,autoUnlink:i}),await Tg(t,e,r,{silent:o})}function Wl(t,e=!1){if(e)return;if(!t.length)throw new Error("No bundle found");let r=new at;r.theme=at.roundTheme,r.headers=["Version","Created","Keep"],r.rows=[];for(let n of t.toReversed())r.rows.push([n.name,ia(n.created_at),n.keep??""]);f.success("Bundles"),f.success(r.toString())}async function Yl(t,e,r={}){let{silent:n=!1}=r,{data:o,error:i}=await t.from("app_versions").select().eq("app_id",e).eq("deleted",!1).order("created_at",{ascending:!1});if(i){let a=`App ${e} not found in database`;throw n||f.error(a),new Error(`${a}: ${U(i)}`)}return o??[]}async function c1(t,e,r={}){let{silent:n=!1}=r,{data:o,error:i}=await t.from("channels").select("version").eq("app_id",e);if(i){let a=`App ${e} not found in database`;throw n||f.error(a),new Error(`${a}: ${U(i)}`)}return(o??[]).map(a=>a.version)}async function M5(t,e,r,n={}){let{silent:o=!1}=n,{data:i,error:a}=await t.from("app_versions").select().eq("app_id",e).eq("name",r).eq("deleted",!1).single();if(!i||a){let s=`App version ${e}@${r} doesn't exist`;throw o||f.error(s),new Error(`${s}${a?`: ${U(a)}`:""}`)}return i}async function q5(t,e,r,n){for await(let o of t)n||f.warn(`Removing ${o.name} created on ${ia(o.created_at)}`),await Gl(e,r,o.name)}function H5(t,e,r){let n=[];for(let o of t??[]){let i=ve(o.name);sd(i,e)&&Gn(i,r)&&n.push(o)}return n}async function V5(t,e,r=!1){r||Q("Cleanup versions in Capgo"),await ge(),e.apikey=e.apikey||ne();let{bundle:n,keep:o=4}=e,i=e.force||!1,a=e.ignoreChannel||!1,s=await ee();if(t=ce(t,s?.config),!e.apikey)throw r||f.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!t)throw r||f.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let u=await re(e.apikey,e.supaHost,e.supaAnon);await ie(u,e.apikey,["write","all"]),await Me(u,e.apikey,t,3,r),r||f.info("Querying all available versions in Capgo");let c=await Yl(u,t),l=await c1(u,t);if(r||f.info(`Total active versions in Capgo: ${c?.length??0}`),!c?.length)throw r||f.error("No versions found, aborting cleanup"),new Error("No versions found");if(n){let h=ve(n),m=xa(h,"major");r||f.info(`Querying available versions in Capgo between ${wr(h)} and ${wr(m)}`),c=H5(c,h,m),r||f.info(`Active versions in Capgo between ${wr(h)} and ${wr(m)}: ${c?.length??0}`)}let d=[],p=0;for(let h of c){let m=l.find(b=>b===h.id);p<o||m&&!a?(h.keep=m?"\u2705 (Linked to channel)":"\u2705",p+=1):(h.keep="\u274C",d.push(h))}if(!d.length)return r||f.warn("Nothing to be removed, aborting removal..."),{removed:0,kept:p};if(r||Wl(c),!i){if(r)throw new Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");{let h=await we({message:"Do you want to continue removing the versions specified?"});if(be(h)||!h)throw f.warn("Not confirmed, aborting removal..."),new Error("Cleanup cancelled by user")}}return r||f.success("You have confirmed removal, removing versions now"),await q5(d,u,t,r),r||X("Done \u2705"),{removed:d.length,kept:p}}async function l1(t,e){return V5(t,e)}async function z5(t,e,r=!1){r||Q("Check compatibility");let n={...e,apikey:e.apikey||ne()},o=await ee(),i=ce(t,o?.config),a=n.channel;if(!a)throw r||f.error("Missing argument, you need to provide a channel"),new Error("Missing channel");if(!n.apikey)throw r||f.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw r||f.error("Missing argument, you need to provide an appId, or be in a capacitor project"),new Error("Missing appId");let s=await re(n.apikey,n.supaHost,n.supaAnon);await ie(s,n.apikey,["write","all","read","upload"]),await Me(s,n.apikey,i,1,r);let u=await Ul(s,i,a,n.packageJson,n.nodeModules);if(!r){let c=new at;c.headers=["Package","Local version","Remote version","Compatible"],c.theme=at.roundTheme,c.rows=[];let l=n.text?"Yes":"\u2705",d=n.text?"No":"\u274C";for(let p of u.finalCompatibility){let{name:h,localVersion:m,remoteVersion:b}=p,D=ko(p)?l:d;c.rows.push([h,m,b,D])}f.success("Compatibility"),f.success(c.toString())}return{finalCompatibility:u.finalCompatibility}}async function f1(t,e){try{await z5(t,e,!1)}catch(r){throw f.error(`Error checking compatibility ${U(r)}`),r}}var fn=require("node:fs");var jn=require("node:buffer"),mt=require("node:crypto"),d1="aes-128-cbc",ln="base64",Jl=mt.constants.RSA_PKCS1_PADDING;function Xl(t){let e=(0,mt.randomBytes)(16),r=(0,mt.randomBytes)(16),n=e.toString(ln),o=(0,mt.privateEncrypt)({key:t,padding:Jl},r).toString(ln);return{sessionKey:r,ivSessionKey:`${n}:${o}`}}function ca(t,e,r){let[n]=r.split(":"),o=jn.Buffer.from(n,ln),i=(0,mt.createCipheriv)(d1,e,o);return i.setAutoPadding(!0),jn.Buffer.concat([i.update(t),i.final()])}function p1(t,e,r){let[n,o]=e.split(":"),i=(0,mt.publicDecrypt)({key:r,padding:Jl},jn.Buffer.from(o,ln)),a=jn.Buffer.from(n,ln),s=(0,mt.createDecipheriv)(d1,i,a);return s.setAutoPadding(!0),jn.Buffer.concat([s.update(t),s.final()])}function la(t,e){return(0,mt.privateEncrypt)({key:e,padding:Jl},jn.Buffer.from(t,ln)).toString(ln)}function h1(t="pem",e=2048){let{publicKey:r,privateKey:n}=(0,mt.generateKeyPairSync)("rsa",{modulusLength:e});return t==="pem"?{publicKey:r.export({type:"pkcs1",format:"pem"}),privateKey:n.export({type:"pkcs1",format:"pem"})}:{publicKey:r.export({type:"spki",format:"der"}).toString("base64"),privateKey:n.export({type:"pkcs1",format:"pem"}).toString("base64")}}function m1(t,e){return(0,mt.publicDecrypt)({key:e,padding:Jl},jn.Buffer.from(t,ln)).toString(ln)}function K5(t,e){let r=t.key||sn,n=e.config.plugins?.CapacitorUpdater?.publicKey;return(0,fn.existsSync)(r)?n=(0,fn.readFileSync)(r,"utf8"):!n&&t.keyData&&(n=t.keyData),{publicKey:n,fallbackKeyPath:r}}async function G5(t,e,r,n=!1){n||Q("Decrypt zip file");try{if(await ge(),!(0,fn.existsSync)(t)){let d=`Zip not found at the path ${t}`;throw n||f.error(d),new Error(d)}let o=await ee();if(!r.key&&!(0,fn.existsSync)(sn)&&!o.config.plugins?.CapacitorUpdater?.publicKey){let d=`Public Key not found at the path ${sn} or in ${o.path}`;throw n||f.error(d),new Error(d)}let{publicKey:i,fallbackKeyPath:a}=K5(r,o);if(!i){let d=`Cannot find public key ${a} or as keyData option or in ${o.path}`;throw n||f.error(d),new Error(d)}let s=(0,fn.readFileSync)(t),u=p1(s,e,r.keyData??i),c=`${t}_decrypted.zip`;(0,fn.writeFileSync)(c,u),n||f.info(`Decrypted zip file at ${c}`);let l;if(r.checksum){let d=await rn(u,"sha256"),p=m1(r.checksum,r.keyData??i);if(l=d===p,!l){let h=`Checksum does not match ${d} !== ${p}`;throw n||f.error(h),new Error(h)}n||f.info("Checksum matches")}return n||X("\u2705 done"),{outputPath:c,checksumMatches:l}}catch(o){throw n||f.error(`Error decrypting zip file ${U(o)}`),o instanceof Error?o:new Error(String(o))}}async function g1(t,e,r){await G5(t,e,r,!1)}async function W5(t,e,r,n=!1){n||Q("Delete bundle"),r.apikey=r.apikey||ne();let o=await ee();if(e=ce(e,o?.config),!r.apikey)throw n||f.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw n||f.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!t)throw n||f.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),new Error("Missing bundleId");let i=await re(r.apikey,r.supaHost,r.supaAnon);return await ie(i,r.apikey,["write","all"]),await Me(i,r.apikey,e,3,n),n||(f.info(`Deleting bundle ${e}@${t} from Capgo`),f.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever")),await Gl(i,e,t),n||(f.success(`Bundle ${e}@${t} deleted in Capgo`),X("Done")),!0}async function D1(t,e,r){return W5(t,e,r)}var dn=require("node:fs");function $s(t){console.error(U(t))}async function Y5(t,e,r,n=!1){let{json:o}=r,i=!o&&!n;i&&(Q("Encryption"),await ge());try{let a=await ee(),s=!!a.config.plugins?.CapacitorUpdater?.privateKey,u=!!a.config.plugins?.CapacitorUpdater?.publicKey;if(s&&i&&f.warning("There is still a privateKey in the config"),!(0,dn.existsSync)(t)){let C=`Zip not found at the path ${t}`;throw n||(o?$s({error:"zip_not_found"}):f.error(`Error: ${C}`)),new Error(C)}if(!u)throw n||(o?$s({error:"missing_public_key"}):f.warning("Warning: Missing Public Key in config")),new Error("Missing public key in config");let c=r.key||Yt,l=r.keyData||"";if(!(0,dn.existsSync)(c)&&!l)throw n||(o?$s({error:"missing_key"}):(f.warning(`Cannot find a private key at ${c} or as a keyData option`),f.error("Error: Missing key"))),new Error("Missing private key");if((0,dn.existsSync)(c)&&(l=(0,dn.readFileSync)(c,"utf8")),l&&!l.startsWith("-----BEGIN RSA PRIVATE KEY-----"))throw n||(o?$s({error:"invalid_private_key"}):f.error("The private key provided is not a valid RSA Private key")),new Error("Invalid private key format");let d=(0,dn.readFileSync)(t),{sessionKey:p,ivSessionKey:h}=Xl(l),m=ca(d,p,h),b=la(e,l),D=`${t}_encrypted.zip`;return(0,dn.writeFileSync)(D,m),n||(o?console.log(JSON.stringify({checksum:b,filename:D,ivSessionKey:h},null,2)):(f.success(`Encoded Checksum: ${b}`),f.success(`ivSessionKey: ${h}`),f.success(`Encrypted zip saved at ${D}`),X("Done \u2705"))),{checksum:b,filename:D,ivSessionKey:h}}catch(a){throw n||(r.json?$s(a):f.error(`Error encrypting zip file ${U(a)}`)),a instanceof Error?a:new Error(String(a))}}async function y1(t,e,r){await Y5(t,e,r,!1)}async function b1(t,e,r=!1){r||Q("List bundles"),await ge(),e.apikey=e.apikey||ne();let n=await ee();if(t=ce(t,n?.config),!e.apikey)throw r||f.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!t)throw r||f.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let o=await re(e.apikey,e.supaHost,e.supaAnon);await ie(o,e.apikey,["write","all","read","upload"]),await Me(o,e.apikey,t,1,r),r||f.info(`Querying available versions of: ${t} in Capgo`);let i=await Yl(o,t);return r||(f.info(`Active versions in Capgo: ${i?.length??0}`),Wl(i),X("Done \u2705")),i}var GF=require("node:crypto"),qo=require("node:fs"),oD=require("node:process");var Zl=class extends TransformStream{outChunkSize;constructor(e){let r=new Uint8Array(e),n=0;super({transform(o,i){let a=0;for(;a<o.length;){let s=e-n,u=Math.min(s,o.length-a);r.set(o.subarray(a,a+u),n),a+=u,n+=u,n===e&&(i.enqueue(r),r=new Uint8Array(e),n=0)}},flush(o){n>0&&o.enqueue(r.subarray(0,n))}}),this.outChunkSize=e}};function Un(t){return t=t.trim(),t=t.replace(/<!--[\s\S]*?-->/g,""),e();function e(){return{declaration:r(),root:n()}}function r(){if(!u(/^<\?xml\s*/))return;let p={attributes:{}};for(;!(c()||l("?>"));){let h=i();if(!h)return p;p.attributes[h.name]=h.value}return u(/\?>\s*/),p}function n(){let d=u(/^<([\w-:.]+)\s*/);if(!d)return;let p={name:d[1],attributes:{},children:[]};for(;!(c()||l(">")||l("?>")||l("/>"));){let m=i();if(!m)return p;p.attributes[m.name]=m.value}if(u(/^\s*\/>\s*/))return p;u(/\??>\s*/),p.content=o();let h;for(;h=n();)p.children.push(h);return u(/^<\/[\w-:.]+>\s*/),p}function o(){let d=u(/^([^<]*)/);return d?s(d[1]):""}function i(){let d=u(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(d)return{name:d[1],value:s(a(d[2]))}}function a(d){return d.replace(/^['"]|['"]$/g,"")}function s(d){return d.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function u(d){let p=t.match(d);if(p)return t=t.slice(p[0].length),p}function c(){return t.length===0}function l(d){return t.startsWith(d)}}var Mr=class extends Error{};var Ct=class extends Mr{},Ts=class extends Mr{},Ql=class extends Mr{bucketName;constructor(e){super(`Invalid bucket name: ${e}`),this.bucketName=e}},qr=class extends Mr{objectName;constructor(e){super(`Invalid object name: ${e}`),this.objectName=e}},Mn=class extends Mr{constructor(){super("accessKey is required")}},fa=class extends Mr{constructor(){super("secretKey is required")}},Is=class extends Mr{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}},pn=class extends Mr{statusCode;code;key;bucketName;resource;region;constructor(e,r,n,o={}){super(n),this.statusCode=e,this.code=r,this.key=o.key,this.bucketName=o.bucketName,this.resource=o.resource,this.region=o.region}};async function w1(t){try{let r=Un(await t.text()).root;if(r?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=r.children.find(c=>c.name==="Code")?.content??"UnknownErrorCode",o=r.children.find(c=>c.name==="Message")?.content??"The error message could not be determined.",i=r.children.find(c=>c.name==="Key")?.content,a=r.children.find(c=>c.name==="BucketName")?.content,s=r.children.find(c=>c.name==="Resource")?.content,u=r.children.find(c=>c.name==="Region")?.content;return new pn(t.status,n,o,{key:i,bucketName:a,resource:s,region:u})}catch{return new pn(t.status,"UnrecognizedError",`Error: Unexpected response code ${t.status} ${t.statusText}. Unable to parse response as XML.`)}}function v1(t){return typeof t!="number"||isNaN(t)?!1:t>=1&&t<=65535}function C1(t){return typeof t!="string"||t.length<3||t.length>63||t.includes("..")||t.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!t.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function qn(t){return!(!J5(t)||t.length===0)}function J5(t){return!(typeof t!="string"||t.length>1024)}function Rs(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}function Io(t=""){let e={'"':"",""":"",""":"",""":"",""":""};return t.replace(/^("|"|")|("|"|")$/g,r=>e[r])}function Rg(t){return t.get("x-amz-version-id")??null}function Ro(t){let e=t.toISOString();return e.slice(0,4)+e.slice(5,7)+e.slice(8,13)+e.slice(14,16)+e.slice(17,19)+"Z"}function Bg(t){return Ro(t).slice(0,8)}function Lg(t,e){return`${Bg(e)}/${t}/s3/aws4_request`}async function ef(t){return t instanceof Uint8Array||(t=new TextEncoder().encode(t)),Rs(new Uint8Array(await crypto.subtle.digest("SHA-256",t)))}var X5=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],tf=class extends WritableStream{getResult;constructor({client:e,bucketName:r,objectName:n,partSize:o,metadata:i}){let a,s=1,u,c=[],l,d=[];super({start(){},async write(p,h){let b=s++;try{if(b==1&&p.length<o){let E=await e.makeRequest({method:"PUT",headers:new Headers({...i,"Content-Length":String(p.length)}),bucketName:r,objectName:n,payload:p});a={etag:Io(E.headers.get("etag")??void 0),versionId:Rg(E.headers)};return}b===1&&(u=(await Z5({client:e,bucketName:r,objectName:n,metadata:i})).uploadId);let D={"Content-Length":String(p.length)};for(let E of X5){let g=i[E];g&&(D[E]=g)}let C=e.makeRequest({method:"PUT",query:{partNumber:b.toString(),uploadId:u},headers:new Headers(D),bucketName:r,objectName:n,payload:p}).then(E=>{let g=E.headers.get("etag")??"";return g&&(g=g.replace(/^"/,"").replace(/"$/,"")),c.push({part:b,etag:g}),E});d.push(C.catch(E=>{l||(l=E)}))}catch(D){throw D}},async close(){if(!a)if(u){if(await Promise.all(d),l)throw l;c.sort((p,h)=>p.part>h.part?1:-1),a=await Q5({client:e,bucketName:r,objectName:n,uploadId:u,etags:c})}else throw new Error("Stream was closed without uploading any data.")}}),this.getResult=()=>{if(a===void 0)throw new Error("Result is not ready. await the stream first.");return a}}};async function Z5(t){let e="POST",r=new Headers(t.metadata),i=await(await t.client.makeRequest({method:e,bucketName:t.bucketName,objectName:t.objectName,query:"uploads",headers:r,returnBody:!0})).text(),a=Un(i).root;if(!a||a.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${i}`);let s=a.children.find(u=>u.name==="UploadId")?.content;if(!s)throw new Error(`Unable to get UploadId from response: ${i}`);return{uploadId:s}}async function Q5({client:t,bucketName:e,objectName:r,uploadId:n,etags:o}){let i=`
|
|
206
206
|
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|
|
207
207
|
${o.map(d=>` <Part><PartNumber>${d.part}</PartNumber><ETag>${d.etag}</ETag></Part>`).join(`
|
|
208
208
|
`)}
|
package/dist/package.json
CHANGED
package/dist/src/sdk.js
CHANGED
|
@@ -283,7 +283,7 @@ ${J.default.gray(fu)} ${t}
|
|
|
283
283
|
`);let w=0,b=0;f(),s=setInterval(()=>{if(n&&a===u)return;g(),u=a;let P=J.default.magenta(e[w]);if(n)process.stdout.write(`${P} ${a}...`);else if(t==="timer")process.stdout.write(`${P} ${a} ${_(c)}`);else{let v=".".repeat(Math.floor(b)).slice(0,3);process.stdout.write(`${P} ${a}${v}`)}w=w+1<e.length?w+1:0,b=b<e.length?b+.125:0},r)},m=(D="",w=0)=>{o=!1,clearInterval(s),g();let b=w===0?J.default.green(Tm):w===1?J.default.red(n_):J.default.red(i_);a=E(D??a),t==="timer"?process.stdout.write(`${b} ${a} ${_(c)}
|
|
284
284
|
`):process.stdout.write(`${b} ${a}
|
|
285
285
|
`),p(),i()};return{start:A,stop:m,message:(D="")=>{a=E(D??a)}}};function s_(t,e){let n=["normal","bold","dim","italic","underline","strikethrough"].indexOf(t),i="\x1B[";return i+n+"m"+e+i+"0m"}var zt=class t{title=null;headers=[];rows=[];static narrowTheme={top:["\u2554","\u2550","\u2564","\u2557"],row:["\u2551"," ","\u2502","\u2551"],div:["\u255F","\u2500","\u253C","\u2562"],bot:["\u255A","\u2550","\u2567","\u255D"]};static wideTheme={top:["\u2554\u2550","\u2550","\u2550\u2564\u2550","\u2550\u2557"],row:["\u2551 "," "," \u2502 "," \u2551"],div:["\u255F\u2500","\u2500","\u2500\u253C\u2500","\u2500\u2562"],bot:["\u255A\u2550","\u2550","\u2550\u2567\u2550","\u2550\u255D"]};static roundTheme={top:["\u256D\u2500","\u2500","\u2500\u252C\u2500","\u2500\u256E"],row:["\u2502 "," "," \u2502 "," \u2502"],div:["\u251C\u2500","\u2500","\u2500\u253C\u2500","\u2500\u2524"],bot:["\u2570\u2500","\u2500","\u2500\u2534\u2500","\u2500\u256F"]};theme=t.wideTheme;columnWidth(){let e=[this.headers,...this.rows].filter(n=>n.length>0),r=e[0].map(n=>this.cast(n).length);for(let n of e.slice(1))for(let i=0;i<r.length;i++){let s=this.cast(n[i]).length;s>r[i]&&(r[i]=s)}return r}cast(e){return typeof e=="object"?"obj":e!==void 0&&typeof e.toString=="function"?e.toString():""}renderTitle(){return"[ "+this.title+" ]"}renderLine(e){let r=this.columnWidth();return e[0]+r.map(n=>e[1].repeat(n)).join(e[2])+e[3]}renderCell(e,r,n=!1){let i=this.cast(e),s=n?s_("bold",i):i,o=r-i.length,a=this.theme.row[1];switch(typeof e){case"number":return a.repeat(o)+s;case"string":return s+a.repeat(o);case"boolean":case"object":return a.repeat(Math.ceil(o/2))+s_("italic",i)+a.repeat(Math.floor(o/2));default:return a.repeat(o)}}renderRow(e,r=!1){let n=this.theme.row,i=this.columnWidth();return n[0]+e.map((s,o)=>this.renderCell(s,i[o],r)).join(n[2])+n[3]}toString(){let e=this.theme,r=this.headers.length>0,n=this.rows.length>0;return[this.title?this.renderTitle():"",r||n?this.renderLine(e.top):"",r?this.renderRow(this.headers,!0):"",r&&n?this.renderLine(e.div):"",...this.rows.map(i=>this.renderRow(i)),r||n?this.renderLine(e.bot):""].filter(i=>i.length>0).join(`
|
|
286
|
-
`)}};var zM=require("node:child_process"),Je=require("node:fs"),Lp=require("node:os"),Ye=Ce(require("node:path")),jn=require("node:process"),ss=Ce(Il());var Zt=require("fs"),du=(t=".",e="unknown")=>{let r=`${t}/bun.lockb`,n=`${t}/bun.lock`,i=`${t}/pnpm-lock.yaml`,s=`${t}/shrinkwrap.yaml`,o=`${t}/yarn.lock`,a=`${t}/package-lock.json`,u=`${t}/npm-shrinkwrap.json`;return(0,Zt.existsSync)(r)||(0,Zt.existsSync)(n)?"bun":(0,Zt.existsSync)(i)||(0,Zt.existsSync)(s)?"pnpm":(0,Zt.existsSync)(o)?"yarn":(0,Zt.existsSync)(a)||(0,Zt.existsSync)(u)?"npm":e},Fl=(t=du(),e=!1)=>{switch(t){case"bun":return e?"bun install":"install";case"pnpm":return e?"pnpm install":"install";case"yarn":return e?"yarn install":"install";case"npm":return e?"npm install":"install";case"unknown":return e?"unknown unknown":"unknown";default:return e?"npm install":"install"}},o_=(t=".",e="npx")=>{let r=`${t}/bun.lockb`,n=`${t}/bun.lock`,i=`${t}/pnpm-lock.yaml`,s=`${t}/shrinkwrap.yaml`,o=`${t}/yarn.lock`,a=`${t}/package-lock.json`,u=`${t}/npm-shrinkwrap.json`;return(0,Zt.existsSync)(r)||(0,Zt.existsSync)(n)?"bunx":(0,Zt.existsSync)(i)||(0,Zt.existsSync)(s)?"pnpm exec":(0,Zt.existsSync)(o)?"yarn dlx":(0,Zt.existsSync)(a)||(0,Zt.existsSync)(u)?"npx":e};function Pl(t,e){if(isNaN(t)||isNaN(e))throw new Error("Cannot compare against non-numbers");return t===e?0:t<e?-1:1}function c_(t=[],e=[]){return t.length&&!e.length?-1:!t.length&&e.length?1:0}function km(t=[],e=[]){let r=Math.max(t.length,e.length);for(let n=0;n<r;n++){let i=t[n],s=e[n];if(i===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(i===void 0)return-1;if(typeof i=="string"&&typeof s=="number")return 1;if(typeof i=="number"&&typeof s=="string"||i<s)return-1;if(i>s)return 1}return 0}var vo="0|[1-9]\\d*",PU="\\d*[a-zA-Z-][a-zA-Z0-9-]*",RU=`(?<major>${vo})\\.(?<minor>${vo})\\.(?<patch>${vo})`,a_=`(?:${vo}|${PU})`,l_=`(?:-(?<prerelease>${a_}(?:\\.${a_})*))`,u_="[0-9A-Za-z-]+",f_=`(?:\\+(?<buildmetadata>${u_}(?:\\.${u_})*))`,h_=`v?${RU}${l_}?${f_}?`,d_=new RegExp(`^${h_}$`),p_="(?:<|>)?=?",kU="x|X|\\*",Rm=`${vo}|${kU}`,Rl=`[v=\\s]*(?<major>${Rm})(?:\\.(?<minor>${Rm})(?:\\.(?<patch>${Rm})${l_}?${f_}?)?)?`,m_=new RegExp(`^(?<operator>~>?|\\^|${p_})\\s*${Rl}$`),g_=new RegExp(`^(?<operator>${p_})\\s*(${h_})$|^$`);function Nm(t){return typeof t=="number"&&!Number.isNaN(t)&&(!Number.isFinite(t)||0<=t&&t<=Number.MAX_SAFE_INTEGER)}var $m=256;var NU=new RegExp(`^${vo}$`);function Qt(t){return t.split(".").filter(Boolean).map(e=>{if(NU.test(e)){let r=Number(e);if(Nm(r))return r}return e})}function en(t){return t.split(".").filter(Boolean)}function Si(t,e){let r=Number(t);if(!Nm(r))throw new TypeError(e);return r}function zn(t){return Number.isNaN(t.major)&&Number.isNaN(t.minor)&&Number.isNaN(t.patch)&&(t.prerelease===void 0||t.prerelease.length===0)&&(t.build===void 0||t.build.length===0)}function er(t,e){return t===e?0:Pl(t.major,e.major)||Pl(t.minor,e.minor)||Pl(t.patch,e.patch)||c_(t.prerelease,e.prerelease)||km(t.prerelease,e.prerelease)}function Lm(t){return t.toFixed(0)}function Ai(t){let e=Lm(t.major),r=Lm(t.minor),n=Lm(t.patch),i=t.prerelease?.join(".")??"",s=t.build?.join(".")??"";return[[`${e}.${r}.${n}`,i].filter(u=>u).join("-"),s].filter(u=>u).join("+")}function $U(t,e){if(zn(e))return!0;let r=er(t,e);switch(e.operator){case"=":case void 0:return r===0;case"!=":return r!==0;case">":return r>0;case"<":return r<0;case">=":return r>=0;case"<=":return r<=0}}function kl(t,e){for(let r of e)if(!$U(t,r))return!1;if(t.prerelease&&t.prerelease.length>0){for(let r of e){if(zn(r))continue;let{major:n,minor:i,patch:s,prerelease:o}=r;if(o&&o.length>0&&t.major===n&&t.minor===i&&t.patch===s)return!0}return!1}return!0}function pu(t,e){return e.some(r=>kl(t,r))}function LU(t=[]){let e=[...t],r=e.length;for(;r>=0;){let n=e[r];if(typeof n=="number"){e[r]=n+1;break}r-=1}return r===-1&&e.push(0),e}function mu(t=[],e){let r=LU(t);if(!e)return r;let n=Qt(e);if(n.every(i=>typeof i=="string")){if(n.every((i,s)=>i===r[s])&&typeof r[n.length]=="number")return r;n=[...n,0]}return n}function y_(t,e,r={}){let n=r.build!==void 0?en(r.build):t.build??[];switch(e){case"premajor":return{major:t.major+1,minor:0,patch:0,prerelease:mu(t.prerelease,r.prerelease),build:n};case"preminor":return{major:t.major,minor:t.minor+1,patch:0,prerelease:mu(t.prerelease,r.prerelease),build:n};case"prepatch":return{major:t.major,minor:t.minor,patch:t.patch+1,prerelease:mu(t.prerelease,r.prerelease),build:n};case"prerelease":{let s=(t.prerelease??[]).length===0?t.patch+1:t.patch;return{major:t.major,minor:t.minor,patch:s,prerelease:mu(t.prerelease,r.prerelease),build:n}}case"major":return{major:(t.prerelease??[]).length===0||t.minor!==0||t.patch!==0?t.major+1:t.major,minor:0,patch:0,prerelease:[],build:n};case"minor":{let s=(t.prerelease??[]).length===0||t.patch!==0?t.minor+1:t.minor;return{major:t.major,minor:s,patch:0,prerelease:[],build:n}}case"patch":{let s=(t.prerelease??[]).length===0?t.patch+1:t.patch;return{major:t.major,minor:t.minor,patch:s,prerelease:[],build:n}}case"pre":return{major:t.major,minor:t.minor,patch:t.patch,prerelease:mu(t.prerelease,r.prerelease),build:n};default:throw new TypeError(`Cannot increment version: invalid argument ${e}`)}}var Nl={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},bo={operator:void 0,...Nl};function Bm(t,e){return er(t,e)>0}function jm(t,e){return er(t,e)<0}function BU(t){let r=t.match(g_)?.groups;if(!r)return null;let{operator:n,prerelease:i,buildmetadata:s}=r,o=r.major?{major:Si(r.major,`Cannot parse comparator ${t}: invalid major version`),minor:Si(r.minor,`Cannot parse comparator ${t}: invalid minor version`),patch:Si(r.patch,`Cannot parse comparator ${t}: invalid patch version`),prerelease:i?Qt(i):[],build:s?en(s):[]}:Nl;return{operator:n||void 0,...o}}function He(t){return!t||t.toLowerCase()==="x"||t==="*"}function jU(t){if(!He(t.major))return He(t.minor)?{operator:">=",major:+t.major,minor:0,patch:0,prerelease:[],build:[]}:He(t.patch)?{operator:">=",major:+t.major,minor:+t.minor,patch:0,prerelease:[],build:[]}:{operator:">=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:t.prerelease?Qt(t.prerelease):[],build:[]}}function MU(t){if(!He(t.major))return He(t.minor)?{operator:"<",major:+t.major+1,minor:0,patch:0,prerelease:[],build:[]}:He(t.patch)?{operator:"<",major:+t.major,minor:+t.minor+1,patch:0,prerelease:[],build:[]}:t.prerelease?{operator:"<=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:Qt(t.prerelease),build:[]}:{operator:"<=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:[],build:[]}}function qU(t){let e=t.match(new RegExp(`^${Rl}`)),r=e?.groups;if(!r)return null;let n=e[0].length,i=t.slice(n).match(/^\s+-\s+/);if(!i)return null;let s=i[0].length,a=t.slice(n+s).match(new RegExp(`^${Rl}\\s*$`))?.groups;if(!a)return null;let u=jU(r),c=MU(a);return[u,c].filter(Boolean)}function UU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[bo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return i===0?[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}]:[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];let a=Qt(t.prerelease??"");return i===0?s===0?[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s,patch:o+1}]:[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s+1,patch:0}]:[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i+1,minor:0,patch:0}]}function HU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[bo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}];let a=Qt(t.prerelease??"");return[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s+1,patch:0}]}function VU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return n?[{operator:"<",major:i,minor:0,patch:0}]:[{operator:"<",major:i,minor:0,patch:0}];if(n)return[{operator:"<",major:i,minor:s,patch:0}];let a=Qt(t.prerelease??""),u=en(t.build??"");return[{operator:"<",major:i,minor:s,patch:o,prerelease:a,build:u}]}function zU(t){let e=He(t.minor),r=He(t.patch),n=+t.major,i=+t.minor,s=+t.patch;if(e)return r?[{operator:"<",major:n+1,minor:0,patch:0}]:[{operator:"<",major:n,minor:i+1,patch:0}];if(r)return[{operator:"<",major:n,minor:i+1,patch:0}];let o=Qt(t.prerelease??""),a=en(t.build??"");return[{operator:"<=",major:n,minor:i,patch:s,prerelease:o,build:a}]}function KU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return[{operator:">=",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s+1,patch:0}];let a=Qt(t.prerelease??""),u=en(t.build??"");return[{operator:">",major:i,minor:s,patch:o,prerelease:a,build:u}]}function GU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[bo];if(r)return n?[{operator:">=",major:i,minor:0,patch:0}]:[{operator:">=",major:i,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0}];let a=Qt(t.prerelease??""),u=en(t.build??"");return[{operator:">=",major:i,minor:s,patch:o,prerelease:a,build:u}]}function WU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[bo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}];let a=Qt(t.prerelease??""),u=en(t.build??"");return[{operator:void 0,major:i,minor:s,patch:o,prerelease:a,build:u}]}function XU(t){let e=t.match(m_)?.groups;if(!e)return BU(t);switch(e.operator){case"^":return UU(e);case"~":case"~>":return HU(e);case"<":return VU(e);case"<=":return zU(e);case">":return KU(e);case">=":return GU(e);case"=":case"":return WU(e);default:throw new Error(`Cannot parse version range: '${e.operator}' is not a valid operator`)}}function YU(t){return t.split(/\s+/).flatMap(XU)}function $l(t){let e=t.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map(r=>qU(r)||YU(r));if(e.some(r=>r.includes(null)))throw new TypeError(`Cannot parse version range: range "${t}" is invalid`);return e}function ut(t){if(typeof t!="string")throw new TypeError(`Cannot parse version as version must be a string: received ${typeof t}`);if(t.length>$m)throw new TypeError(`Cannot parse version as version length is too long: length is ${t.length}, max length is ${$m}`);t=t.trim();let e=t.match(d_)?.groups;if(!e)throw new TypeError(`Cannot parse version: ${t}`);let r=Si(e.major,`Cannot parse version ${t}: invalid major version`),n=Si(e.minor,`Cannot parse version ${t}: invalid minor version`),i=Si(e.patch,`Cannot parse version ${t}: invalid patch version`),s=e.prerelease?Qt(e.prerelease):[],o=e.buildmetadata?en(e.buildmetadata):[];return{major:r,minor:n,patch:i,prerelease:s,build:o}}function D_(t,e){let r=t.operator,n=e.operator;if(r===void 0)return zn(t)?!0:pu(t,[[e]]);if(n===void 0)return zn(e)?!0:pu(e,[[t]]);let i=er(t,e);return(r===">="||r===">")&&(n===">="||n===">")||(r==="<="||r==="<")&&(n==="<="||n==="<")||i===0&&((r===">="||r==="<=")&&(n===">="||n==="<="))||i===-1&&(r===">="||r===">")&&(n==="<="||n==="<")||i===1&&(r==="<="||r==="<")&&(n===">="||n===">")}function JU(t){return t.every(e=>e.some(r=>ZU(r)))}function ZU(t){for(let e=0;e<t.length-1;e++){let r=t[e];for(let n of t.slice(e+1))if(!D_(r,n))return!1}return!0}function w_(t,e){return JU([t,e])&&t.some(r=>e.some(n=>r.every(i=>n.every(s=>D_(i,s)))))}function E_(t){try{return ut(t),!0}catch{return!1}}function tn(t,e){return er(t,e)>=0}var Xa=Ce(yS()),nb=Ce(eD()),KM=Ce(AA()),Bp=Ce(jh());var $i={name:"@capgo/cli",version:"7.37.3",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24.9.1","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",open:"^10.1.2",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};async function Mh(t){try{let r=`https://registry.npmjs.org/${encodeURIComponent(t.toLowerCase())}`,n=await fetch(r,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});return n.ok&&(await n.json())["dist-tags"]?.latest||null}catch{return null}}async function Ge(){let t=await Mh("@capgo/cli")??"",e=t?.split(".")[0];t!==$i.version&&y.warning(`\u{1F6A8} You are using @capgo/cli@${$i.version} it's not the latest version.
|
|
286
|
+
`)}};var zM=require("node:child_process"),Je=require("node:fs"),Lp=require("node:os"),Ye=Ce(require("node:path")),jn=require("node:process"),ss=Ce(Il());var Zt=require("fs"),du=(t=".",e="unknown")=>{let r=`${t}/bun.lockb`,n=`${t}/bun.lock`,i=`${t}/pnpm-lock.yaml`,s=`${t}/shrinkwrap.yaml`,o=`${t}/yarn.lock`,a=`${t}/package-lock.json`,u=`${t}/npm-shrinkwrap.json`;return(0,Zt.existsSync)(r)||(0,Zt.existsSync)(n)?"bun":(0,Zt.existsSync)(i)||(0,Zt.existsSync)(s)?"pnpm":(0,Zt.existsSync)(o)?"yarn":(0,Zt.existsSync)(a)||(0,Zt.existsSync)(u)?"npm":e},Fl=(t=du(),e=!1)=>{switch(t){case"bun":return e?"bun install":"install";case"pnpm":return e?"pnpm install":"install";case"yarn":return e?"yarn install":"install";case"npm":return e?"npm install":"install";case"unknown":return e?"unknown unknown":"unknown";default:return e?"npm install":"install"}},o_=(t=".",e="npx")=>{let r=`${t}/bun.lockb`,n=`${t}/bun.lock`,i=`${t}/pnpm-lock.yaml`,s=`${t}/shrinkwrap.yaml`,o=`${t}/yarn.lock`,a=`${t}/package-lock.json`,u=`${t}/npm-shrinkwrap.json`;return(0,Zt.existsSync)(r)||(0,Zt.existsSync)(n)?"bunx":(0,Zt.existsSync)(i)||(0,Zt.existsSync)(s)?"pnpm exec":(0,Zt.existsSync)(o)?"yarn dlx":(0,Zt.existsSync)(a)||(0,Zt.existsSync)(u)?"npx":e};function Pl(t,e){if(isNaN(t)||isNaN(e))throw new Error("Cannot compare against non-numbers");return t===e?0:t<e?-1:1}function c_(t=[],e=[]){return t.length&&!e.length?-1:!t.length&&e.length?1:0}function km(t=[],e=[]){let r=Math.max(t.length,e.length);for(let n=0;n<r;n++){let i=t[n],s=e[n];if(i===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(i===void 0)return-1;if(typeof i=="string"&&typeof s=="number")return 1;if(typeof i=="number"&&typeof s=="string"||i<s)return-1;if(i>s)return 1}return 0}var vo="0|[1-9]\\d*",PU="\\d*[a-zA-Z-][a-zA-Z0-9-]*",RU=`(?<major>${vo})\\.(?<minor>${vo})\\.(?<patch>${vo})`,a_=`(?:${vo}|${PU})`,l_=`(?:-(?<prerelease>${a_}(?:\\.${a_})*))`,u_="[0-9A-Za-z-]+",f_=`(?:\\+(?<buildmetadata>${u_}(?:\\.${u_})*))`,h_=`v?${RU}${l_}?${f_}?`,d_=new RegExp(`^${h_}$`),p_="(?:<|>)?=?",kU="x|X|\\*",Rm=`${vo}|${kU}`,Rl=`[v=\\s]*(?<major>${Rm})(?:\\.(?<minor>${Rm})(?:\\.(?<patch>${Rm})${l_}?${f_}?)?)?`,m_=new RegExp(`^(?<operator>~>?|\\^|${p_})\\s*${Rl}$`),g_=new RegExp(`^(?<operator>${p_})\\s*(${h_})$|^$`);function Nm(t){return typeof t=="number"&&!Number.isNaN(t)&&(!Number.isFinite(t)||0<=t&&t<=Number.MAX_SAFE_INTEGER)}var $m=256;var NU=new RegExp(`^${vo}$`);function Qt(t){return t.split(".").filter(Boolean).map(e=>{if(NU.test(e)){let r=Number(e);if(Nm(r))return r}return e})}function en(t){return t.split(".").filter(Boolean)}function Si(t,e){let r=Number(t);if(!Nm(r))throw new TypeError(e);return r}function zn(t){return Number.isNaN(t.major)&&Number.isNaN(t.minor)&&Number.isNaN(t.patch)&&(t.prerelease===void 0||t.prerelease.length===0)&&(t.build===void 0||t.build.length===0)}function er(t,e){return t===e?0:Pl(t.major,e.major)||Pl(t.minor,e.minor)||Pl(t.patch,e.patch)||c_(t.prerelease,e.prerelease)||km(t.prerelease,e.prerelease)}function Lm(t){return t.toFixed(0)}function Ai(t){let e=Lm(t.major),r=Lm(t.minor),n=Lm(t.patch),i=t.prerelease?.join(".")??"",s=t.build?.join(".")??"";return[[`${e}.${r}.${n}`,i].filter(u=>u).join("-"),s].filter(u=>u).join("+")}function $U(t,e){if(zn(e))return!0;let r=er(t,e);switch(e.operator){case"=":case void 0:return r===0;case"!=":return r!==0;case">":return r>0;case"<":return r<0;case">=":return r>=0;case"<=":return r<=0}}function kl(t,e){for(let r of e)if(!$U(t,r))return!1;if(t.prerelease&&t.prerelease.length>0){for(let r of e){if(zn(r))continue;let{major:n,minor:i,patch:s,prerelease:o}=r;if(o&&o.length>0&&t.major===n&&t.minor===i&&t.patch===s)return!0}return!1}return!0}function pu(t,e){return e.some(r=>kl(t,r))}function LU(t=[]){let e=[...t],r=e.length;for(;r>=0;){let n=e[r];if(typeof n=="number"){e[r]=n+1;break}r-=1}return r===-1&&e.push(0),e}function mu(t=[],e){let r=LU(t);if(!e)return r;let n=Qt(e);if(n.every(i=>typeof i=="string")){if(n.every((i,s)=>i===r[s])&&typeof r[n.length]=="number")return r;n=[...n,0]}return n}function y_(t,e,r={}){let n=r.build!==void 0?en(r.build):t.build??[];switch(e){case"premajor":return{major:t.major+1,minor:0,patch:0,prerelease:mu(t.prerelease,r.prerelease),build:n};case"preminor":return{major:t.major,minor:t.minor+1,patch:0,prerelease:mu(t.prerelease,r.prerelease),build:n};case"prepatch":return{major:t.major,minor:t.minor,patch:t.patch+1,prerelease:mu(t.prerelease,r.prerelease),build:n};case"prerelease":{let s=(t.prerelease??[]).length===0?t.patch+1:t.patch;return{major:t.major,minor:t.minor,patch:s,prerelease:mu(t.prerelease,r.prerelease),build:n}}case"major":return{major:(t.prerelease??[]).length===0||t.minor!==0||t.patch!==0?t.major+1:t.major,minor:0,patch:0,prerelease:[],build:n};case"minor":{let s=(t.prerelease??[]).length===0||t.patch!==0?t.minor+1:t.minor;return{major:t.major,minor:s,patch:0,prerelease:[],build:n}}case"patch":{let s=(t.prerelease??[]).length===0?t.patch+1:t.patch;return{major:t.major,minor:t.minor,patch:s,prerelease:[],build:n}}case"pre":return{major:t.major,minor:t.minor,patch:t.patch,prerelease:mu(t.prerelease,r.prerelease),build:n};default:throw new TypeError(`Cannot increment version: invalid argument ${e}`)}}var Nl={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},bo={operator:void 0,...Nl};function Bm(t,e){return er(t,e)>0}function jm(t,e){return er(t,e)<0}function BU(t){let r=t.match(g_)?.groups;if(!r)return null;let{operator:n,prerelease:i,buildmetadata:s}=r,o=r.major?{major:Si(r.major,`Cannot parse comparator ${t}: invalid major version`),minor:Si(r.minor,`Cannot parse comparator ${t}: invalid minor version`),patch:Si(r.patch,`Cannot parse comparator ${t}: invalid patch version`),prerelease:i?Qt(i):[],build:s?en(s):[]}:Nl;return{operator:n||void 0,...o}}function He(t){return!t||t.toLowerCase()==="x"||t==="*"}function jU(t){if(!He(t.major))return He(t.minor)?{operator:">=",major:+t.major,minor:0,patch:0,prerelease:[],build:[]}:He(t.patch)?{operator:">=",major:+t.major,minor:+t.minor,patch:0,prerelease:[],build:[]}:{operator:">=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:t.prerelease?Qt(t.prerelease):[],build:[]}}function MU(t){if(!He(t.major))return He(t.minor)?{operator:"<",major:+t.major+1,minor:0,patch:0,prerelease:[],build:[]}:He(t.patch)?{operator:"<",major:+t.major,minor:+t.minor+1,patch:0,prerelease:[],build:[]}:t.prerelease?{operator:"<=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:Qt(t.prerelease),build:[]}:{operator:"<=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:[],build:[]}}function qU(t){let e=t.match(new RegExp(`^${Rl}`)),r=e?.groups;if(!r)return null;let n=e[0].length,i=t.slice(n).match(/^\s+-\s+/);if(!i)return null;let s=i[0].length,a=t.slice(n+s).match(new RegExp(`^${Rl}\\s*$`))?.groups;if(!a)return null;let u=jU(r),c=MU(a);return[u,c].filter(Boolean)}function UU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[bo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return i===0?[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}]:[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];let a=Qt(t.prerelease??"");return i===0?s===0?[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s,patch:o+1}]:[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s+1,patch:0}]:[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i+1,minor:0,patch:0}]}function HU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[bo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}];let a=Qt(t.prerelease??"");return[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s+1,patch:0}]}function VU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return n?[{operator:"<",major:i,minor:0,patch:0}]:[{operator:"<",major:i,minor:0,patch:0}];if(n)return[{operator:"<",major:i,minor:s,patch:0}];let a=Qt(t.prerelease??""),u=en(t.build??"");return[{operator:"<",major:i,minor:s,patch:o,prerelease:a,build:u}]}function zU(t){let e=He(t.minor),r=He(t.patch),n=+t.major,i=+t.minor,s=+t.patch;if(e)return r?[{operator:"<",major:n+1,minor:0,patch:0}]:[{operator:"<",major:n,minor:i+1,patch:0}];if(r)return[{operator:"<",major:n,minor:i+1,patch:0}];let o=Qt(t.prerelease??""),a=en(t.build??"");return[{operator:"<=",major:n,minor:i,patch:s,prerelease:o,build:a}]}function KU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return[{operator:">=",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s+1,patch:0}];let a=Qt(t.prerelease??""),u=en(t.build??"");return[{operator:">",major:i,minor:s,patch:o,prerelease:a,build:u}]}function GU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[bo];if(r)return n?[{operator:">=",major:i,minor:0,patch:0}]:[{operator:">=",major:i,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0}];let a=Qt(t.prerelease??""),u=en(t.build??"");return[{operator:">=",major:i,minor:s,patch:o,prerelease:a,build:u}]}function WU(t){let e=He(t.major),r=He(t.minor),n=He(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[bo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}];let a=Qt(t.prerelease??""),u=en(t.build??"");return[{operator:void 0,major:i,minor:s,patch:o,prerelease:a,build:u}]}function XU(t){let e=t.match(m_)?.groups;if(!e)return BU(t);switch(e.operator){case"^":return UU(e);case"~":case"~>":return HU(e);case"<":return VU(e);case"<=":return zU(e);case">":return KU(e);case">=":return GU(e);case"=":case"":return WU(e);default:throw new Error(`Cannot parse version range: '${e.operator}' is not a valid operator`)}}function YU(t){return t.split(/\s+/).flatMap(XU)}function $l(t){let e=t.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map(r=>qU(r)||YU(r));if(e.some(r=>r.includes(null)))throw new TypeError(`Cannot parse version range: range "${t}" is invalid`);return e}function ut(t){if(typeof t!="string")throw new TypeError(`Cannot parse version as version must be a string: received ${typeof t}`);if(t.length>$m)throw new TypeError(`Cannot parse version as version length is too long: length is ${t.length}, max length is ${$m}`);t=t.trim();let e=t.match(d_)?.groups;if(!e)throw new TypeError(`Cannot parse version: ${t}`);let r=Si(e.major,`Cannot parse version ${t}: invalid major version`),n=Si(e.minor,`Cannot parse version ${t}: invalid minor version`),i=Si(e.patch,`Cannot parse version ${t}: invalid patch version`),s=e.prerelease?Qt(e.prerelease):[],o=e.buildmetadata?en(e.buildmetadata):[];return{major:r,minor:n,patch:i,prerelease:s,build:o}}function D_(t,e){let r=t.operator,n=e.operator;if(r===void 0)return zn(t)?!0:pu(t,[[e]]);if(n===void 0)return zn(e)?!0:pu(e,[[t]]);let i=er(t,e);return(r===">="||r===">")&&(n===">="||n===">")||(r==="<="||r==="<")&&(n==="<="||n==="<")||i===0&&((r===">="||r==="<=")&&(n===">="||n==="<="))||i===-1&&(r===">="||r===">")&&(n==="<="||n==="<")||i===1&&(r==="<="||r==="<")&&(n===">="||n===">")}function JU(t){return t.every(e=>e.some(r=>ZU(r)))}function ZU(t){for(let e=0;e<t.length-1;e++){let r=t[e];for(let n of t.slice(e+1))if(!D_(r,n))return!1}return!0}function w_(t,e){return JU([t,e])&&t.some(r=>e.some(n=>r.every(i=>n.every(s=>D_(i,s)))))}function E_(t){try{return ut(t),!0}catch{return!1}}function tn(t,e){return er(t,e)>=0}var Xa=Ce(yS()),nb=Ce(eD()),KM=Ce(AA()),Bp=Ce(jh());var $i={name:"@capgo/cli",version:"7.37.4",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24.9.1","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",open:"^10.1.2",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};async function Mh(t){try{let r=`https://registry.npmjs.org/${encodeURIComponent(t.toLowerCase())}`,n=await fetch(r,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});return n.ok&&(await n.json())["dist-tags"]?.latest||null}catch{return null}}async function Ge(){let t=await Mh("@capgo/cli")??"",e=t?.split(".")[0];t!==$i.version&&y.warning(`\u{1F6A8} You are using @capgo/cli@${$i.version} it's not the latest version.
|
|
287
287
|
Please use @capgo/cli@${t}" or @capgo/cli@${e} to keep up to date with the latest features and bug fixes.`)}async function BT(t,e,r,n,i,s="\u2705"){await be(r,{channel:t,event:n,icon:s,user_id:e,...i?{tags:{"app-id":i}}:{},notify:!1})}var d0=require("node:buffer"),jT=require("node:crypto"),aY=(()=>{let t=[];for(let e=0;e<256;e++){let r=e;for(let n=0;n<8;n++)r=r&1?3988292384^r>>>1:r>>>1;t[e]=r}return t})();function uY(t){let e=4294967295;for(let r=0;r<t.length;r++){let n=t[r];e=aY[(e^n)&255]^e>>>8}return e=e^4294967295,(e>>>0).toString(16).padStart(8,"0")}async function ei(t,e="sha256"){let r=d0.Buffer.isBuffer(t)?t:d0.Buffer.from(t);if(e==="crc32")return uY(r);let n=(0,jT.createHash)(e);return n.update(r),n.digest("hex")}var tl=Ce(uM());async function cM(){let t=await(0,tl.loadConfig)();return{config:t.app.extConfig,path:t.app.extConfigFilePath}}async function kv(t,e,r=!1){let n=await(0,tl.loadConfig)(),{extConfig:i}=n.app;i&&(i.plugins||(i.plugins={extConfig:{},[t]:{}}),i.plugins[t]||(i.plugins[t]={}),r?i=e.config:i.plugins[t]=e.config.plugins?.[t],(0,tl.writeConfig)(i,n.app.extConfigFilePath))}async function za(t,e=!1){await kv("CapacitorUpdater",t,e)}var Ya=".capgo_key",Rr=".capgo_key_v2",jp=`${Ya}.pub`,gi=`${Rr}.pub`,jM="https://capgo.app",MM="https://files.capgo.app",qM="https://api.capgo.app",UM="https://console.capgo.app",ib=12e4,Sle=1024*1024*20,Ale=1024*1024*1024,Ole=1024*1024*99,Mp="package.json",Ja=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*))*))?(?:\+([0-9a-z-]+(?:\.[0-9a-z-]+)*))?$/i,W=t=>t?`
|
|
288
288
|
${KM.default.render(t)}`:"";function $p(t){return new Promise(e=>{setTimeout(e,t)})}function Jr(t){return(0,ss.isMonorepo)(t)?(0,ss.findMonorepoRoot)(t):(0,ss.isNXMonorepo)(t)?(0,ss.findNXMonorepoRoot)(t):t}function xle(t=Jr((0,jn.cwd)()),e=void 0){let r=e?.split(",")[0];if(r&&!(0,Je.existsSync)(r)){let i=`Package.json at ${r} does not exist`;throw y.error(i),new Error(i)}let n=(0,Je.readFileSync)(r??(0,Ye.join)(t,Mp));return JSON.parse(n)}function os(t=Jr((0,jn.cwd)()),e=void 0){return xle(t,e).version??""}function HM(t){let e=t.replace("^","").replace("~","");if(E_(e))try{let r=ut(e);return Ai(r)}catch{return e}return e}async function so(t,e=(0,jn.cwd)(),r){if(t!=="@capgo/capacitor-updater")return null;if(r)try{let o=(await sl(e,r)).get(t);if(o)return o}catch{}let n=null,i=(0,Ye.join)(e,"ios","App","Podfile");if((0,Je.existsSync)(i))try{let o=(0,Je.readFileSync)(i,"utf-8").match(/pod\s+['"]CapgoCapacitorUpdater['"],\s*:path\s*=>\s*['"]([^'"]+)['"]/);o?.[1]&&(n=(0,Ye.resolve)((0,Ye.join)(e,"ios","App",o[1])))}catch{}if(!n){let s=(0,Ye.join)(e,"android","capacitor.settings.gradle");if((0,Je.existsSync)(s))try{let a=(0,Je.readFileSync)(s,"utf-8").match(/project\(':capgo-capacitor-updater'\)\.projectDir\s*=\s*new\s+File\(['"]([^'"]+)['"]/);a?.[1]&&(n=(0,Ye.resolve)((0,Ye.join)(e,"android",a[1])).replace(/\/android$/,""))}catch{}}if(n){let s=(0,Ye.join)(n,Mp);if((0,Je.existsSync)(s))try{let o=JSON.parse((0,Je.readFileSync)(s,"utf-8"));if(o.version)return o.version}catch{}}try{let o=(await sl(e)).get(t);if(o)return o}catch{}return null}async function sl(t=Jr((0,jn.cwd)()),e=void 0){let r=e?.split(",");if(r??=[(0,Ye.join)(t,Mp)],r){for(let i of r)if(!(0,Je.existsSync)(i)){let s=`Package.json at ${i} does not exist`;throw y.error(s),new Error(s)}}let n=new Map;for(let i of r){let s=(0,Je.readFileSync)(i),o=JSON.parse(s);for(let a in o.dependencies)n.set(a,HM(o.dependencies[a]));for(let a in o.devDependencies)n.set(a,HM(o.devDependencies[a]))}return n}async function de(){try{let t=await cM();if(!t){let e="No capacitor config file found, run `cap init` first";throw y.error(e),new Error(e)}return t}catch(t){let e=`No capacitor config file found, run \`cap init\` first ${W(t)}`;throw y.error(e),new Error(e)}}async function Tle(t,e){let r=await de();return r?.config&&(r.config.plugins??={},r.config.plugins.extConfig??={},r.config.plugins[t]??={},r.config.plugins[t]={...r.config.plugins[t],...e},await kv(t,r)),r}async function GM(t){return Tle("CapacitorUpdater",t)}async function _n(){try{let t=await de(),e={host:t?.config?.plugins?.CapacitorUpdater?.localHost||jM,hostWeb:t?.config?.plugins?.CapacitorUpdater?.localWebHost||UM,hostFilesApi:t?.config?.plugins?.CapacitorUpdater?.localApiFiles||MM,hostApi:t?.config?.plugins?.CapacitorUpdater?.localApi||qM};return t?.config?.plugins?.CapacitorUpdater?.localSupa&&t?.config?.plugins?.CapacitorUpdater?.localSupaAnon&&(y.info("Using custom supabase instance from capacitor.config.json"),e.supaKey=t?.config?.plugins?.CapacitorUpdater?.localSupaAnon,e.supaHost=t?.config?.plugins?.CapacitorUpdater?.localSupa),e}catch{return{host:jM,hostWeb:UM,hostFilesApi:MM,hostApi:qM}}}var Ile=/([A-Za-z0-9]+)\.(java|swift|kt|scala)$/;async function qp(){let t=await _n();try{let e=await fetch(`${t.hostApi}/private/config`);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return{...await e.json(),...t}}catch{return y.info(`Local config ${W(t)}`),t}}async function WM(){let t=await _n();try{let e=await fetch(`${t.hostFilesApi}/files/config`);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.json()}catch{return{partialUpload:!1,TUSUpload:!1,partialUploadForced:!1,TUSUploadForced:!1,maxUploadLength:Ale,maxChunkSize:Ole,alertUploadSize:Sle}}}async function pe(t,e,r){let n=await qp();if(e&&r&&(y.info("Using custom supabase instance from provided options"),n.supaHost=e,n.supaKey=r),!n.supaHost||!n.supaKey)throw y.error("Cannot connect to server please try again later"),new Error("Cannot connect to server please try again later");return(0,Xa.createClient)(n.supaHost,n.supaKey,{auth:{persistSession:!1},global:{headers:{capgkey:t}}})}async function Fle(t,e,r){let{data:n}=await t.rpc("is_allowed_capgkey",{apikey:e,keymode:r}).single();if(!n){y.error("Invalid API key or insufficient permissions.");let s=`Your key should be: ${r.map((o,a)=>r.length===1?`"${o}"`:a===r.length-1?`or "${o}"`:`"${o}", `).join("")} mode.`;throw y.error(s),new Error("Invalid API key or insufficient permissions.")}}async function XM(t,e){let{data:r}=await t.rpc("is_paying_org",{orgid:e}).single();return r||!1}async function YM(t,e){let{data:r}=await t.rpc("is_trial_org",{orgid:e}).single();return r||0}async function Ple(t,e){let{data:r}=await t.rpc("is_allowed_action_org",{orgid:e}).single();return!!r}async function Rle(t,e,r){let{data:n}=await t.rpc("is_allowed_action",{apikey:r,appid:e}).single();return!!n}var hr=(o=>(o[o.none=0]="none",o[o.read=1]="read",o[o.upload=2]="upload",o[o.write=3]="write",o[o.admin=4]="admin",o[o.super_admin=5]="super_admin",o))(hr||{}),Za=(t,e)=>t>=e;async function JM(t,e,r){let{data:n,error:i}=await t.rpc("get_org_perm_for_apikey",{apikey:e,app_id:r}).single();if(i)throw y.error("Cannot get permissions for organization!"),console.error(i),new Error("Cannot get permissions for organization");if(n.includes("perm")){let a=null;switch(n){case"perm_none":{a=0;break}case"perm_read":{a=1;break}case"perm_upload":{a=2;break}case"perm_write":{a=3;break}case"perm_admin":{a=4;break}case"perm_owner":{a=5;break}default:throw n.includes("invite")?(y.info("Please accept/deny the organization invitation before trying to access the app"),new Error("Organization invitation pending")):(y.error(`Invalid output when fetching organization permission. Response: ${n}`),new Error(`Invalid output when fetching organization permission. Response: ${n}`))}return{okay:!0,data:a}}let o=null;switch(n){case"INVALID_APIKEY":{o="INVALID_APIKEY";break}case"NO_APP":{o="NO_APP";break}case"NO_ORG":{o="NO_ORG";break}default:throw y.error(`Invalid error when fetching organization permission. Response: ${n}`),new Error(`Invalid error when fetching organization permission. Response: ${n}`)}return{okay:!1,error:o}}async function ZM(t,e,r){let{data:n,error:i}=await t.rpc("get_organization_cli_warnings",{orgid:e,cli_version:r});if(i){y.error(`Cannot get cli warnings: ${W(i)}`);return}if(n.length>0){y.warn(`Found ${n.length} cli warnings for your organization.`);let s=null;for(let o of n){if(typeof o!="object"||typeof o.message!="string"||typeof o.fatal!="boolean"){y.error(`Invalid cli warning: ${o}`);continue}let a=o;a.fatal?(y.error(`${a.message.replaceAll("\\n",`
|
|
289
289
|
`)}`),s=new Error(a.message)):y.warn(`${a.message.replaceAll("\\n",`
|
|
@@ -323,7 +323,7 @@ ${W(s)}`),new Error(`Cannot retrieve unknown version for app ${e}: ${W(s)}`)}fun
|
|
|
323
323
|
`);for(let d of h)if(d.startsWith("data: ")){let f=d.slice(6);f.trim()&&y.error(f)}}}catch(s){i||y.warn(`Log streaming interrupted${s instanceof Error?`: ${s.message}`:""}`)}}async function Jle(t,e,r,n,i,s){let a=0;for(;a<120;)try{let u=await fetch(`${t}/build/status?job_id=${encodeURIComponent(e)}&app_id=${encodeURIComponent(r)}&platform=${n}`,{headers:{authorization:i}});if(!u.ok){s||y.warn(`Status check failed: ${u.status}`),await new Promise(l=>setTimeout(l,5e3)),a++;continue}let c=await u.json();if(c.status==="succeeded"||c.status==="failed")return c.status;await new Promise(l=>setTimeout(l,5e3)),a++}catch(u){s||y.warn(`Status check error: ${u}`),await new Promise(c=>setTimeout(c,5e3)),a++}return s||y.warn("Build status polling timed out"),"timeout"}async function Zle(t,e){let r=new Set;if(e==="ios"){let n=(0,pn.join)(t,"ios/App/Podfile");if((0,yi.existsSync)(n)){let s=(await(0,dn.readFile)(n,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"]\.\.\/\.\.\/node_modules\/([^'"]+)['"]/g);for(let o of s){let a=o[1];r.add(`node_modules/${a}/Package.swift`),r.add(`node_modules/${a}/*.podspec`),r.add(`node_modules/${a}/ios/`)}}}else if(e==="android"){let n=(0,pn.join)(t,"android/capacitor.settings.gradle");if((0,yi.existsSync)(n)){let s=(await(0,dn.readFile)(n,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let o of s){let u=o[1].replace(/\/android$/,"");r.add(`node_modules/${u}/android/`)}}}return r}function P8(t,e,r){let n=t.replace(/\\/g,"/");if(n.startsWith(`${e}/`)||n==="package.json"||n==="package-lock.json"||n.startsWith("capacitor.config.")||n.startsWith("resources/")||e==="ios"&&n.startsWith("node_modules/@capacitor/ios/")||e==="android"&&n.startsWith("node_modules/@capacitor/android/"))return!0;for(let i of r)if(n.startsWith(i))return!0;return!1}function ol(t,e,r,n,i){let s=(0,yi.readdirSync)(e);for(let o of s){let a=(0,pn.join)(e,o),u=r?`${r}/${o}`:o,c=(0,yi.statSync)(a);if(c.isDirectory()){if(o===".git"||o==="dist"||o==="build"||o===".angular"||o===".vite")continue;if(o===n){ol(t,a,u,n,i);continue}if(o==="node_modules"){ol(t,a,u,n,i);continue}if(o==="resources"){ol(t,a,u,n,i);continue}let l=u.replace(/\\/g,"/");(P8(u,n,i)||Array.from(i).some(d=>d.startsWith(`${l}/`)))&&ol(t,a,u,n,i)}else if(c.isFile()){if(o===".DS_Store"||o.endsWith(".log"))continue;P8(u,n,i)&&t.addLocalFile(a,r||void 0)}}}async function Qle(t,e,r){let n=await Zle(t,r),i=new N8.default;ol(i,t,"",r,n),await(0,dn.writeFile)(e,i.toBuffer())}async function $8(t,e,r=!1){let n=Date.now();try{e.apikey=e.apikey||te(r);let i=await de();if(t=t||i?.config.appId,!t)throw new Error("Missing argument, you need to provide a appId, or be in a capacitor project");if(!e.platform)throw new Error("Missing required argument: --platform <ios|android>");if(e.platform!=="ios"&&e.platform!=="android")throw new Error(`Invalid platform "${e.platform}". Must be "ios" or "android"`);let s=(0,pn.resolve)(e.path||k8.default.cwd()),o=e.supaHost||"https://api.capgo.app",a=await pe(e.apikey,e.supaHost,e.supaAnon);await De(a,e.apikey,["write","all"]);let u=await Fr(a,t);r||(y.info(`Requesting native build for ${t}`),y.info(`Platform: ${e.platform}`),y.info(`Project: ${s}`),y.info(`API host: ${o}`),y.info(`
|
|
324
324
|
\u{1F512} Security: Credentials are never stored on Capgo servers`),y.info(" They are used only during build and deleted after (max 24h)"),y.info(` Builds sent directly to app stores - Capgo keeps nothing
|
|
325
325
|
`));let c={};e.buildCertificateBase64&&(c.BUILD_CERTIFICATE_BASE64=e.buildCertificateBase64),e.buildProvisionProfileBase64&&(c.BUILD_PROVISION_PROFILE_BASE64=e.buildProvisionProfileBase64),e.buildProvisionProfileBase64Prod&&(c.BUILD_PROVISION_PROFILE_BASE64_PROD=e.buildProvisionProfileBase64Prod),e.p12Password&&(c.P12_PASSWORD=e.p12Password),e.appleKeyId&&(c.APPLE_KEY_ID=e.appleKeyId),e.appleIssuerId&&(c.APPLE_ISSUER_ID=e.appleIssuerId),e.appleKeyContent&&(c.APPLE_KEY_CONTENT=e.appleKeyContent),e.appleProfileName&&(c.APPLE_PROFILE_NAME=e.appleProfileName),e.appStoreConnectTeamId&&(c.APP_STORE_CONNECT_TEAM_ID=e.appStoreConnectTeamId),e.androidKeystoreFile&&(c.ANDROID_KEYSTORE_FILE=e.androidKeystoreFile),e.keystoreKeyAlias&&(c.KEYSTORE_KEY_ALIAS=e.keystoreKeyAlias);let l=!!e.keystoreKeyPassword,h=!!e.keystoreStorePassword;l&&!h?(c.KEYSTORE_KEY_PASSWORD=e.keystoreKeyPassword,c.KEYSTORE_STORE_PASSWORD=e.keystoreKeyPassword):!l&&h?(c.KEYSTORE_KEY_PASSWORD=e.keystoreStorePassword,c.KEYSTORE_STORE_PASSWORD=e.keystoreStorePassword):l&&h&&(c.KEYSTORE_KEY_PASSWORD=e.keystoreKeyPassword,c.KEYSTORE_STORE_PASSWORD=e.keystoreStorePassword),e.playConfigJson&&(c.PLAY_CONFIG_JSON=e.playConfigJson);let d=await F8(t,e.platform,Object.keys(c).length>0?c:void 0),f={app_id:t,platform:e.platform};if(!d)throw r||(y.error("\u274C No credentials found for this app and platform"),y.error(""),y.error("You must provide credentials via:"),y.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),y.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),y.error(" 3. Saved credentials file:"),y.error(` npx @capgo/cli build credentials save --appId ${t} --platform ${e.platform}`),y.error(""),y.error("Documentation:"),y.error(" https://capgo.app/docs/cli/cloud-build/credentials/")),new Error("No credentials found. Please provide credentials before building.");let p=[];if(e.platform==="ios"?(d.BUILD_CERTIFICATE_BASE64||p.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)"),!d.P12_PASSWORD&&!r&&(y.warn("\u26A0\uFE0F P12_PASSWORD not provided - assuming certificate has no password"),y.warn(" If your certificate requires a password, provide it with --p12-password")),d.BUILD_PROVISION_PROFILE_BASE64||p.push("BUILD_PROVISION_PROFILE_BASE64 (or --build-provision-profile-base64)"),d.APPLE_KEY_ID||p.push("APPLE_KEY_ID (or --apple-key-id)"),d.APPLE_ISSUER_ID||p.push("APPLE_ISSUER_ID (or --apple-issuer-id)"),d.APPLE_KEY_CONTENT||p.push("APPLE_KEY_CONTENT (or --apple-key-content)"),d.APP_STORE_CONNECT_TEAM_ID||p.push("APP_STORE_CONNECT_TEAM_ID (or --apple-team-id)")):e.platform==="android"&&(d.ANDROID_KEYSTORE_FILE||p.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)"),d.KEYSTORE_KEY_ALIAS||p.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)"),!d.KEYSTORE_KEY_PASSWORD&&!d.KEYSTORE_STORE_PASSWORD&&p.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)"),!d.PLAY_CONFIG_JSON&&!r&&y.warn("\u26A0\uFE0F PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")),p.length>0){if(!r){y.error(`\u274C Missing required credentials for ${e.platform}:`),y.error("");for(let m of p)y.error(` \u2022 ${m}`);y.error(""),y.error("Provide credentials via:"),y.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),y.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),y.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),y.error(""),y.error("Documentation:"),y.error(` https://capgo.app/docs/cli/cloud-build/${e.platform}/`)}throw new Error(`Missing required credentials for ${e.platform}: ${p.join(", ")}`)}f.credentials=d,r||y.info("\u2713 Using credentials (merged from CLI args, env vars, and saved file)"),r||y.info("Requesting build from Capgo...");let g=await fetch(`${o}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify(f)});if(!g.ok){let m=await g.text();throw new Error(`Failed to request build: ${g.status} - ${m}`)}let E=await g.json();r||(y.success(`Build job created: ${E.job_id}`),y.info(`Status: ${E.status}`),y.info(`Upload URL: ${E.upload_url}`),y.info(`Upload expires: ${E.upload_expires_at}`)),await be(e.apikey,{channel:"native-builder",event:"Build requested",icon:"\u{1F3D7}\uFE0F",user_id:u,tags:{"app-id":t,platform:e.platform},notify:!1}).catch();let _=(0,pn.join)((0,R8.tmpdir)(),`capgo-build-${Date.now()}`);await(0,dn.mkdir)(_,{recursive:!0});let A=(0,pn.join)(_,`${(0,pn.basename)(s)}.zip`);try{r||y.info(`Zipping ${e.platform} project from ${s}...`),await Qle(s,A,e.platform);let D=((await(0,dn.stat)(A)).size/1024/1024).toFixed(2);r||y.success(`Created zip: ${A} (${D} MB)`),r||(y.info("Uploading to builder with TUS protocol..."),y.info(`Upload endpoint: ${E.upload_url}`),y.info(`File size: ${D} MB`),y.info(`Job ID: ${E.job_id}`));let w=(0,yi.readFileSync)(A),b=Ot();r||b.start("Uploading bundle"),await new Promise((I,B)=>{let U=new Yp.Upload(w,{endpoint:E.upload_url,chunkSize:5242880,metadata:{filename:(0,pn.basename)(A),filetype:"application/zip"},headers:{authorization:e.apikey},onBeforeRequest(z){if(!r){y.info(`[TUS] ${z.getMethod()} ${z.getURL()}`);let $=z.getHeader("authorization");y.info(`[TUS] Authorization header present: ${!!$}`)}},onAfterResponse(z,$){if(!r){y.info(`[TUS] Response status: ${$.getStatus()}`);let S=$.getHeader("upload-offset"),T=$.getHeader("tus-resumable");y.info(`[TUS] Upload-Offset: ${S}, Tus-Resumable: ${T}`)}},onError(z){if(r||(b.stop("Upload failed"),y.error(`[TUS] Upload error: ${z.message}`)),z instanceof Yp.DetailedError){let $=z.originalResponse?.getBody(),S=z.originalResponse?.getStatus(),T=z.originalRequest?.getURL();r||(y.error(`[TUS] Request URL: ${T}`),y.error(`[TUS] Response status: ${S}`),y.error(`[TUS] Response body: ${$}`));let F="Unknown error";try{let L=JSON.parse($||'{"error": "unknown error"}');F=L.status||L.error||L.message||"unknown error"}catch{F=$||z.message}B(new Error(`TUS upload failed: ${F}`))}else B(new Error(`TUS upload failed: ${z.message||z.toString()}`))},onProgress(z,$){let S=(z/$*100).toFixed(2);r||b.message(`Uploading ${S}%`)},onSuccess(){r||(b.stop("Upload complete!"),y.success("TUS upload completed successfully")),I()}});r||y.info("[TUS] Starting upload..."),U.start()}),r||y.info("Starting build job...");let P=await fetch(`${o}/build/start/${E.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify({app_id:t})});if(!P.ok){let I=await P.text();throw new Error(`Failed to start build: ${P.status} - ${I}`)}let v=await P.json();r||(y.success("Build started successfully!"),y.info(`Job ID: ${E.job_id}`),y.info(`Streaming build logs...
|
|
326
|
-
`)),await Yle(o,E.job_id,t,e.apikey,r);let k=await Jle(o,E.job_id,t,e.platform,e.apikey,r);r||(k==="succeeded"?y.success("Build completed successfully!"):k==="failed"?y.error("Build failed"):y.warn(`Build finished with status: ${k}`));let R=((Date.now()-n)/1e3).toFixed(2);return await be(e.apikey,{channel:"native-builder",event:k==="succeeded"?"Build succeeded":"Build failed",icon:k==="succeeded"?"\u2705":"\u274C",user_id:u,tags:{"app-id":t,platform:e.platform,status:k||"unknown",time:R},notify:!1}).catch(),{success:k==="succeeded",jobId:E.job_id,uploadUrl:E.upload_url,status:k||v.status||E.status}}finally{await(0,dn.rm)(_,{recursive:!0,force:!0})}}catch(i){let s=i instanceof Error?i.message:String(i);return r||y.error(s),{success:!1,error:s}}}async function efe(t,e,r,n){for await(let i of t)n||y.warn(`Removing ${i.name} created on ${eu(i.created_at)}`),await Kp(e,r,i.name)}function tfe(t,e,r){let n=[];for(let i of t??[]){let s=ut(i.name);Bm(s,e)&&jm(s,r)&&n.push(i)}return n}async function L8(t,e,r=!1){r||oe("Cleanup versions in Capgo"),await Ge(),e.apikey=e.apikey||te();let{bundle:n,keep:i=4}=e,s=e.force||!1,o=e.ignoreChannel||!1,a=await de();if(t=ke(t,a?.config),!e.apikey)throw r||y.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let u=await pe(e.apikey,e.supaHost,e.supaAnon);await De(u,e.apikey,["write","all"]),await wt(u,e.apikey,t,3,r),r||y.info("Querying all available versions in Capgo");let c=await Gp(u,t),l=await w8(u,t);if(r||y.info(`Total active versions in Capgo: ${c?.length??0}`),!c?.length)throw r||y.error("No versions found, aborting cleanup"),new Error("No versions found");if(n){let f=ut(n),p=y_(f,"major");r||y.info(`Querying available versions in Capgo between ${Ai(f)} and ${Ai(p)}`),c=tfe(c,f,p),r||y.info(`Active versions in Capgo between ${Ai(f)} and ${Ai(p)}: ${c?.length??0}`)}let h=[],d=0;for(let f of c){let p=l.find(g=>g===f.id);d<i||p&&!o?(f.keep=p?"\u2705 (Linked to channel)":"\u2705",d+=1):(f.keep="\u274C",h.push(f))}if(!h.length)return r||y.warn("Nothing to be removed, aborting removal..."),{removed:0,kept:d};if(r||D8(c),!s){if(r)throw new Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");{let f=await Br({message:"Do you want to continue removing the versions specified?"});if(Ft(f)||!f)throw y.warn("Not confirmed, aborting removal..."),new Error("Cleanup cancelled by user")}}return r||y.success("You have confirmed removal, removing versions now"),await efe(h,u,t,r),r||le("Done \u2705"),{removed:h.length,kept:d}}async function B8(t,e,r=!1){r||oe("Check compatibility");let n={...e,apikey:e.apikey||te()},i=await de(),s=ke(t,i?.config),o=n.channel;if(!o)throw r||y.error("Missing argument, you need to provide a channel"),new Error("Missing channel");if(!n.apikey)throw r||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!s)throw r||y.error("Missing argument, you need to provide an appId, or be in a capacitor project"),new Error("Missing appId");let a=await pe(n.apikey,n.supaHost,n.supaAnon);await De(a,n.apikey,["write","all","read","upload"]),await wt(a,n.apikey,s,1,r);let u=await zp(a,s,o,n.packageJson,n.nodeModules);if(!r){let c=new zt;c.headers=["Package","Local version","Remote version","Compatible"],c.theme=zt.roundTheme,c.rows=[];let l=n.text?"Yes":"\u2705",h=n.text?"No":"\u274C";for(let d of u.finalCompatibility){let{name:f,localVersion:p,remoteVersion:g}=d,E=oo(d)?l:h;c.rows.push([f,p,g,E])}y.success("Compatibility"),y.success(c.toString())}return{finalCompatibility:u.finalCompatibility}}var wi=require("node:fs");var as=require("node:buffer"),Ht=require("node:crypto"),j8="aes-128-cbc",Di="base64",Jp=Ht.constants.RSA_PKCS1_PADDING;function Zp(t){let e=(0,Ht.randomBytes)(16),r=(0,Ht.randomBytes)(16),n=e.toString(Di),i=(0,Ht.privateEncrypt)({key:t,padding:Jp},r).toString(Di);return{sessionKey:r,ivSessionKey:`${n}:${i}`}}function nu(t,e,r){let[n]=r.split(":"),i=as.Buffer.from(n,Di),s=(0,Ht.createCipheriv)(j8,e,i);return s.setAutoPadding(!0),as.Buffer.concat([s.update(t),s.final()])}function M8(t,e,r){let[n,i]=e.split(":"),s=(0,Ht.publicDecrypt)({key:r,padding:Jp},as.Buffer.from(i,Di)),o=as.Buffer.from(n,Di),a=(0,Ht.createDecipheriv)(j8,s,o);return a.setAutoPadding(!0),as.Buffer.concat([a.update(t),a.final()])}function iu(t,e){return(0,Ht.privateEncrypt)({key:e,padding:Jp},as.Buffer.from(t,Di)).toString(Di)}function q8(t="pem",e=2048){let{publicKey:r,privateKey:n}=(0,Ht.generateKeyPairSync)("rsa",{modulusLength:e});return t==="pem"?{publicKey:r.export({type:"pkcs1",format:"pem"}),privateKey:n.export({type:"pkcs1",format:"pem"})}:{publicKey:r.export({type:"spki",format:"der"}).toString("base64"),privateKey:n.export({type:"pkcs1",format:"pem"}).toString("base64")}}function U8(t,e){return(0,Ht.publicDecrypt)({key:e,padding:Jp},as.Buffer.from(t,Di)).toString(Di)}function rfe(t,e){let r=t.key||gi,n=e.config.plugins?.CapacitorUpdater?.publicKey;return(0,wi.existsSync)(r)?n=(0,wi.readFileSync)(r,"utf8"):!n&&t.keyData&&(n=t.keyData),{publicKey:n,fallbackKeyPath:r}}async function H8(t,e,r,n=!1){n||oe("Decrypt zip file");try{if(await Ge(),!(0,wi.existsSync)(t)){let h=`Zip not found at the path ${t}`;throw n||y.error(h),new Error(h)}let i=await de();if(!r.key&&!(0,wi.existsSync)(gi)&&!i.config.plugins?.CapacitorUpdater?.privateKey){let h=`Private Key not found at the path ${gi} or in ${i.path}`;throw n||y.error(h),new Error(h)}let{publicKey:s,fallbackKeyPath:o}=rfe(r,i);if(!s){let h=`Cannot find public key ${o} or as keyData option or in ${i.path}`;throw n||y.error(h),new Error(h)}let a=(0,wi.readFileSync)(t),u=M8(a,e,r.keyData??s),c=`${t}_decrypted.zip`;(0,wi.writeFileSync)(c,u),n||y.info(`Decrypted zip file at ${c}`);let l;if(r.checksum){let h=await ei(u,"sha256"),d=U8(r.checksum,r.keyData??s);if(l=h===d,!l){let f=`Checksum does not match ${h} !== ${d}`;throw n||y.error(f),new Error(f)}n||y.info("Checksum matches")}return n||le("\u2705 done"),{outputPath:c,checksumMatches:l}}catch(i){throw n||y.error(`Error decrypting zip file ${W(i)}`),i instanceof Error?i:new Error(String(i))}}async function V8(t,e,r,n=!1){n||oe("Delete bundle"),r.apikey=r.apikey||te();let i=await de();if(e=ke(e,i?.config),!r.apikey)throw n||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw n||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!t)throw n||y.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),new Error("Missing bundleId");let s=await pe(r.apikey,r.supaHost,r.supaAnon);return await De(s,r.apikey,["write","all"]),await wt(s,r.apikey,e,3,n),n||(y.info(`Deleting bundle ${e}@${t} from Capgo`),y.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever")),await Kp(s,e,t),n||(y.success(`Bundle ${e}@${t} deleted in Capgo`),le("Done")),!0}var Ei=require("node:fs");function al(t){console.error(W(t))}async function z8(t,e,r,n=!1){let{json:i}=r,s=!i&&!n;s&&(oe("Encryption"),await Ge());try{let o=await de(),a=!!o.config.plugins?.CapacitorUpdater?.privateKey,u=!!o.config.plugins?.CapacitorUpdater?.publicKey;if(a&&s&&y.warning("There is still a privateKey in the config"),!(0,Ei.existsSync)(t)){let _=`Zip not found at the path ${t}`;throw n||(i?al({error:"zip_not_found"}):y.error(`Error: ${_}`)),new Error(_)}if(!u)throw n||(i?al({error:"missing_public_key"}):y.warning("Warning: Missing Public Key in config")),new Error("Missing public key in config");let c=r.key||Rr,l=r.keyData||"";if(!(0,Ei.existsSync)(c)&&!l)throw n||(i?al({error:"missing_key"}):(y.warning(`Cannot find a private key at ${c} or as a keyData option`),y.error("Error: Missing key"))),new Error("Missing private key");if((0,Ei.existsSync)(c)&&(l=(0,Ei.readFileSync)(c,"utf8")),l&&!l.startsWith("-----BEGIN RSA PRIVATE KEY-----"))throw n||(i?al({error:"invalid_private_key"}):y.error("The private key provided is not a valid RSA Private key")),new Error("Invalid private key format");let h=(0,Ei.readFileSync)(t),{sessionKey:d,ivSessionKey:f}=Zp(l),p=nu(h,d,f),g=iu(e,l),E=`${t}_encrypted.zip`;return(0,Ei.writeFileSync)(E,p),n||(i?console.log(JSON.stringify({checksum:g,filename:E,ivSessionKey:f},null,2)):(y.success(`Encoded Checksum: ${g}`),y.success(`ivSessionKey: ${f}`),y.success(`Encrypted zip saved at ${E}`),le("Done \u2705"))),{checksum:g,filename:E,ivSessionKey:f}}catch(o){throw n||(r.json?al(o):y.error(`Error encrypting zip file ${W(o)}`)),o instanceof Error?o:new Error(String(o))}}var wq=require("node:crypto"),go=require("node:fs"),Nb=require("node:process");var Qp=class extends TransformStream{outChunkSize;constructor(e){let r=new Uint8Array(e),n=0;super({transform(i,s){let o=0;for(;o<i.length;){let a=e-n,u=Math.min(a,i.length-o);r.set(i.subarray(o,o+u),n),o+=u,n+=u,n===e&&(s.enqueue(r),r=new Uint8Array(e),n=0)}},flush(i){n>0&&i.enqueue(r.subarray(0,n))}}),this.outChunkSize=e}};function us(t){return t=t.trim(),t=t.replace(/<!--[\s\S]*?-->/g,""),e();function e(){return{declaration:r(),root:n()}}function r(){if(!u(/^<\?xml\s*/))return;let d={attributes:{}};for(;!(c()||l("?>"));){let f=s();if(!f)return d;d.attributes[f.name]=f.value}return u(/\?>\s*/),d}function n(){let h=u(/^<([\w-:.]+)\s*/);if(!h)return;let d={name:h[1],attributes:{},children:[]};for(;!(c()||l(">")||l("?>")||l("/>"));){let p=s();if(!p)return d;d.attributes[p.name]=p.value}if(u(/^\s*\/>\s*/))return d;u(/\??>\s*/),d.content=i();let f;for(;f=n();)d.children.push(f);return u(/^<\/[\w-:.]+>\s*/),d}function i(){let h=u(/^([^<]*)/);return h?a(h[1]):""}function s(){let h=u(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(h)return{name:h[1],value:a(o(h[2]))}}function o(h){return h.replace(/^['"]|['"]$/g,"")}function a(h){return h.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function u(h){let d=t.match(h);if(d)return t=t.slice(d[0].length),d}function c(){return t.length===0}function l(h){return t.startsWith(h)}}var qn=class extends Error{};var Jt=class extends qn{},ul=class extends qn{},em=class extends qn{bucketName;constructor(e){super(`Invalid bucket name: ${e}`),this.bucketName=e}},Un=class extends qn{objectName;constructor(e){super(`Invalid object name: ${e}`),this.objectName=e}},cs=class extends qn{constructor(){super("accessKey is required")}},su=class extends qn{constructor(){super("secretKey is required")}},cl=class extends qn{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}},vi=class extends qn{statusCode;code;key;bucketName;resource;region;constructor(e,r,n,i={}){super(n),this.statusCode=e,this.code=r,this.key=i.key,this.bucketName=i.bucketName,this.resource=i.resource,this.region=i.region}};async function K8(t){try{let r=us(await t.text()).root;if(r?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=r.children.find(c=>c.name==="Code")?.content??"UnknownErrorCode",i=r.children.find(c=>c.name==="Message")?.content??"The error message could not be determined.",s=r.children.find(c=>c.name==="Key")?.content,o=r.children.find(c=>c.name==="BucketName")?.content,a=r.children.find(c=>c.name==="Resource")?.content,u=r.children.find(c=>c.name==="Region")?.content;return new vi(t.status,n,i,{key:s,bucketName:o,resource:a,region:u})}catch{return new vi(t.status,"UnrecognizedError",`Error: Unexpected response code ${t.status} ${t.statusText}. Unable to parse response as XML.`)}}function G8(t){return typeof t!="number"||isNaN(t)?!1:t>=1&&t<=65535}function W8(t){return typeof t!="string"||t.length<3||t.length>63||t.includes("..")||t.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!t.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function ls(t){return!(!nfe(t)||t.length===0)}function nfe(t){return!(typeof t!="string"||t.length>1024)}function ll(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}function ao(t=""){let e={'"':"",""":"",""":"",""":"",""":""};return t.replace(/^("|"|")|("|"|")$/g,r=>e[r])}function hb(t){return t.get("x-amz-version-id")??null}function uo(t){let e=t.toISOString();return e.slice(0,4)+e.slice(5,7)+e.slice(8,13)+e.slice(14,16)+e.slice(17,19)+"Z"}function db(t){return uo(t).slice(0,8)}function pb(t,e){return`${db(e)}/${t}/s3/aws4_request`}async function tm(t){return t instanceof Uint8Array||(t=new TextEncoder().encode(t)),ll(new Uint8Array(await crypto.subtle.digest("SHA-256",t)))}var ife=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],rm=class extends WritableStream{getResult;constructor({client:e,bucketName:r,objectName:n,partSize:i,metadata:s}){let o,a=1,u,c=[],l,h=[];super({start(){},async write(d,f){let g=a++;try{if(g==1&&d.length<i){let A=await e.makeRequest({method:"PUT",headers:new Headers({...s,"Content-Length":String(d.length)}),bucketName:r,objectName:n,payload:d});o={etag:ao(A.headers.get("etag")??void 0),versionId:hb(A.headers)};return}g===1&&(u=(await sfe({client:e,bucketName:r,objectName:n,metadata:s})).uploadId);let E={"Content-Length":String(d.length)};for(let A of ife){let m=s[A];m&&(E[A]=m)}let _=e.makeRequest({method:"PUT",query:{partNumber:g.toString(),uploadId:u},headers:new Headers(E),bucketName:r,objectName:n,payload:d}).then(A=>{let m=A.headers.get("etag")??"";return m&&(m=m.replace(/^"/,"").replace(/"$/,"")),c.push({part:g,etag:m}),A});h.push(_.catch(A=>{l||(l=A)}))}catch(E){throw E}},async close(){if(!o)if(u){if(await Promise.all(h),l)throw l;c.sort((d,f)=>d.part>f.part?1:-1),o=await ofe({client:e,bucketName:r,objectName:n,uploadId:u,etags:c})}else throw new Error("Stream was closed without uploading any data.")}}),this.getResult=()=>{if(o===void 0)throw new Error("Result is not ready. await the stream first.");return o}}};async function sfe(t){let e="POST",r=new Headers(t.metadata),s=await(await t.client.makeRequest({method:e,bucketName:t.bucketName,objectName:t.objectName,query:"uploads",headers:r,returnBody:!0})).text(),o=us(s).root;if(!o||o.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${s}`);let a=o.children.find(u=>u.name==="UploadId")?.content;if(!a)throw new Error(`Unable to get UploadId from response: ${s}`);return{uploadId:a}}async function ofe({client:t,bucketName:e,objectName:r,uploadId:n,etags:i}){let s=`
|
|
326
|
+
`)),await Yle(o,E.job_id,t,e.apikey,r);let k=await Jle(o,E.job_id,t,e.platform,e.apikey,r);r||(k==="succeeded"?y.success("Build completed successfully!"):k==="failed"?y.error("Build failed"):y.warn(`Build finished with status: ${k}`));let R=((Date.now()-n)/1e3).toFixed(2);return await be(e.apikey,{channel:"native-builder",event:k==="succeeded"?"Build succeeded":"Build failed",icon:k==="succeeded"?"\u2705":"\u274C",user_id:u,tags:{"app-id":t,platform:e.platform,status:k||"unknown",time:R},notify:!1}).catch(),{success:k==="succeeded",jobId:E.job_id,uploadUrl:E.upload_url,status:k||v.status||E.status}}finally{await(0,dn.rm)(_,{recursive:!0,force:!0})}}catch(i){let s=i instanceof Error?i.message:String(i);return r||y.error(s),{success:!1,error:s}}}async function efe(t,e,r,n){for await(let i of t)n||y.warn(`Removing ${i.name} created on ${eu(i.created_at)}`),await Kp(e,r,i.name)}function tfe(t,e,r){let n=[];for(let i of t??[]){let s=ut(i.name);Bm(s,e)&&jm(s,r)&&n.push(i)}return n}async function L8(t,e,r=!1){r||oe("Cleanup versions in Capgo"),await Ge(),e.apikey=e.apikey||te();let{bundle:n,keep:i=4}=e,s=e.force||!1,o=e.ignoreChannel||!1,a=await de();if(t=ke(t,a?.config),!e.apikey)throw r||y.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let u=await pe(e.apikey,e.supaHost,e.supaAnon);await De(u,e.apikey,["write","all"]),await wt(u,e.apikey,t,3,r),r||y.info("Querying all available versions in Capgo");let c=await Gp(u,t),l=await w8(u,t);if(r||y.info(`Total active versions in Capgo: ${c?.length??0}`),!c?.length)throw r||y.error("No versions found, aborting cleanup"),new Error("No versions found");if(n){let f=ut(n),p=y_(f,"major");r||y.info(`Querying available versions in Capgo between ${Ai(f)} and ${Ai(p)}`),c=tfe(c,f,p),r||y.info(`Active versions in Capgo between ${Ai(f)} and ${Ai(p)}: ${c?.length??0}`)}let h=[],d=0;for(let f of c){let p=l.find(g=>g===f.id);d<i||p&&!o?(f.keep=p?"\u2705 (Linked to channel)":"\u2705",d+=1):(f.keep="\u274C",h.push(f))}if(!h.length)return r||y.warn("Nothing to be removed, aborting removal..."),{removed:0,kept:d};if(r||D8(c),!s){if(r)throw new Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");{let f=await Br({message:"Do you want to continue removing the versions specified?"});if(Ft(f)||!f)throw y.warn("Not confirmed, aborting removal..."),new Error("Cleanup cancelled by user")}}return r||y.success("You have confirmed removal, removing versions now"),await efe(h,u,t,r),r||le("Done \u2705"),{removed:h.length,kept:d}}async function B8(t,e,r=!1){r||oe("Check compatibility");let n={...e,apikey:e.apikey||te()},i=await de(),s=ke(t,i?.config),o=n.channel;if(!o)throw r||y.error("Missing argument, you need to provide a channel"),new Error("Missing channel");if(!n.apikey)throw r||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!s)throw r||y.error("Missing argument, you need to provide an appId, or be in a capacitor project"),new Error("Missing appId");let a=await pe(n.apikey,n.supaHost,n.supaAnon);await De(a,n.apikey,["write","all","read","upload"]),await wt(a,n.apikey,s,1,r);let u=await zp(a,s,o,n.packageJson,n.nodeModules);if(!r){let c=new zt;c.headers=["Package","Local version","Remote version","Compatible"],c.theme=zt.roundTheme,c.rows=[];let l=n.text?"Yes":"\u2705",h=n.text?"No":"\u274C";for(let d of u.finalCompatibility){let{name:f,localVersion:p,remoteVersion:g}=d,E=oo(d)?l:h;c.rows.push([f,p,g,E])}y.success("Compatibility"),y.success(c.toString())}return{finalCompatibility:u.finalCompatibility}}var wi=require("node:fs");var as=require("node:buffer"),Ht=require("node:crypto"),j8="aes-128-cbc",Di="base64",Jp=Ht.constants.RSA_PKCS1_PADDING;function Zp(t){let e=(0,Ht.randomBytes)(16),r=(0,Ht.randomBytes)(16),n=e.toString(Di),i=(0,Ht.privateEncrypt)({key:t,padding:Jp},r).toString(Di);return{sessionKey:r,ivSessionKey:`${n}:${i}`}}function nu(t,e,r){let[n]=r.split(":"),i=as.Buffer.from(n,Di),s=(0,Ht.createCipheriv)(j8,e,i);return s.setAutoPadding(!0),as.Buffer.concat([s.update(t),s.final()])}function M8(t,e,r){let[n,i]=e.split(":"),s=(0,Ht.publicDecrypt)({key:r,padding:Jp},as.Buffer.from(i,Di)),o=as.Buffer.from(n,Di),a=(0,Ht.createDecipheriv)(j8,s,o);return a.setAutoPadding(!0),as.Buffer.concat([a.update(t),a.final()])}function iu(t,e){return(0,Ht.privateEncrypt)({key:e,padding:Jp},as.Buffer.from(t,Di)).toString(Di)}function q8(t="pem",e=2048){let{publicKey:r,privateKey:n}=(0,Ht.generateKeyPairSync)("rsa",{modulusLength:e});return t==="pem"?{publicKey:r.export({type:"pkcs1",format:"pem"}),privateKey:n.export({type:"pkcs1",format:"pem"})}:{publicKey:r.export({type:"spki",format:"der"}).toString("base64"),privateKey:n.export({type:"pkcs1",format:"pem"}).toString("base64")}}function U8(t,e){return(0,Ht.publicDecrypt)({key:e,padding:Jp},as.Buffer.from(t,Di)).toString(Di)}function rfe(t,e){let r=t.key||gi,n=e.config.plugins?.CapacitorUpdater?.publicKey;return(0,wi.existsSync)(r)?n=(0,wi.readFileSync)(r,"utf8"):!n&&t.keyData&&(n=t.keyData),{publicKey:n,fallbackKeyPath:r}}async function H8(t,e,r,n=!1){n||oe("Decrypt zip file");try{if(await Ge(),!(0,wi.existsSync)(t)){let h=`Zip not found at the path ${t}`;throw n||y.error(h),new Error(h)}let i=await de();if(!r.key&&!(0,wi.existsSync)(gi)&&!i.config.plugins?.CapacitorUpdater?.publicKey){let h=`Public Key not found at the path ${gi} or in ${i.path}`;throw n||y.error(h),new Error(h)}let{publicKey:s,fallbackKeyPath:o}=rfe(r,i);if(!s){let h=`Cannot find public key ${o} or as keyData option or in ${i.path}`;throw n||y.error(h),new Error(h)}let a=(0,wi.readFileSync)(t),u=M8(a,e,r.keyData??s),c=`${t}_decrypted.zip`;(0,wi.writeFileSync)(c,u),n||y.info(`Decrypted zip file at ${c}`);let l;if(r.checksum){let h=await ei(u,"sha256"),d=U8(r.checksum,r.keyData??s);if(l=h===d,!l){let f=`Checksum does not match ${h} !== ${d}`;throw n||y.error(f),new Error(f)}n||y.info("Checksum matches")}return n||le("\u2705 done"),{outputPath:c,checksumMatches:l}}catch(i){throw n||y.error(`Error decrypting zip file ${W(i)}`),i instanceof Error?i:new Error(String(i))}}async function V8(t,e,r,n=!1){n||oe("Delete bundle"),r.apikey=r.apikey||te();let i=await de();if(e=ke(e,i?.config),!r.apikey)throw n||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw n||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!t)throw n||y.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),new Error("Missing bundleId");let s=await pe(r.apikey,r.supaHost,r.supaAnon);return await De(s,r.apikey,["write","all"]),await wt(s,r.apikey,e,3,n),n||(y.info(`Deleting bundle ${e}@${t} from Capgo`),y.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever")),await Kp(s,e,t),n||(y.success(`Bundle ${e}@${t} deleted in Capgo`),le("Done")),!0}var Ei=require("node:fs");function al(t){console.error(W(t))}async function z8(t,e,r,n=!1){let{json:i}=r,s=!i&&!n;s&&(oe("Encryption"),await Ge());try{let o=await de(),a=!!o.config.plugins?.CapacitorUpdater?.privateKey,u=!!o.config.plugins?.CapacitorUpdater?.publicKey;if(a&&s&&y.warning("There is still a privateKey in the config"),!(0,Ei.existsSync)(t)){let _=`Zip not found at the path ${t}`;throw n||(i?al({error:"zip_not_found"}):y.error(`Error: ${_}`)),new Error(_)}if(!u)throw n||(i?al({error:"missing_public_key"}):y.warning("Warning: Missing Public Key in config")),new Error("Missing public key in config");let c=r.key||Rr,l=r.keyData||"";if(!(0,Ei.existsSync)(c)&&!l)throw n||(i?al({error:"missing_key"}):(y.warning(`Cannot find a private key at ${c} or as a keyData option`),y.error("Error: Missing key"))),new Error("Missing private key");if((0,Ei.existsSync)(c)&&(l=(0,Ei.readFileSync)(c,"utf8")),l&&!l.startsWith("-----BEGIN RSA PRIVATE KEY-----"))throw n||(i?al({error:"invalid_private_key"}):y.error("The private key provided is not a valid RSA Private key")),new Error("Invalid private key format");let h=(0,Ei.readFileSync)(t),{sessionKey:d,ivSessionKey:f}=Zp(l),p=nu(h,d,f),g=iu(e,l),E=`${t}_encrypted.zip`;return(0,Ei.writeFileSync)(E,p),n||(i?console.log(JSON.stringify({checksum:g,filename:E,ivSessionKey:f},null,2)):(y.success(`Encoded Checksum: ${g}`),y.success(`ivSessionKey: ${f}`),y.success(`Encrypted zip saved at ${E}`),le("Done \u2705"))),{checksum:g,filename:E,ivSessionKey:f}}catch(o){throw n||(r.json?al(o):y.error(`Error encrypting zip file ${W(o)}`)),o instanceof Error?o:new Error(String(o))}}var wq=require("node:crypto"),go=require("node:fs"),Nb=require("node:process");var Qp=class extends TransformStream{outChunkSize;constructor(e){let r=new Uint8Array(e),n=0;super({transform(i,s){let o=0;for(;o<i.length;){let a=e-n,u=Math.min(a,i.length-o);r.set(i.subarray(o,o+u),n),o+=u,n+=u,n===e&&(s.enqueue(r),r=new Uint8Array(e),n=0)}},flush(i){n>0&&i.enqueue(r.subarray(0,n))}}),this.outChunkSize=e}};function us(t){return t=t.trim(),t=t.replace(/<!--[\s\S]*?-->/g,""),e();function e(){return{declaration:r(),root:n()}}function r(){if(!u(/^<\?xml\s*/))return;let d={attributes:{}};for(;!(c()||l("?>"));){let f=s();if(!f)return d;d.attributes[f.name]=f.value}return u(/\?>\s*/),d}function n(){let h=u(/^<([\w-:.]+)\s*/);if(!h)return;let d={name:h[1],attributes:{},children:[]};for(;!(c()||l(">")||l("?>")||l("/>"));){let p=s();if(!p)return d;d.attributes[p.name]=p.value}if(u(/^\s*\/>\s*/))return d;u(/\??>\s*/),d.content=i();let f;for(;f=n();)d.children.push(f);return u(/^<\/[\w-:.]+>\s*/),d}function i(){let h=u(/^([^<]*)/);return h?a(h[1]):""}function s(){let h=u(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(h)return{name:h[1],value:a(o(h[2]))}}function o(h){return h.replace(/^['"]|['"]$/g,"")}function a(h){return h.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function u(h){let d=t.match(h);if(d)return t=t.slice(d[0].length),d}function c(){return t.length===0}function l(h){return t.startsWith(h)}}var qn=class extends Error{};var Jt=class extends qn{},ul=class extends qn{},em=class extends qn{bucketName;constructor(e){super(`Invalid bucket name: ${e}`),this.bucketName=e}},Un=class extends qn{objectName;constructor(e){super(`Invalid object name: ${e}`),this.objectName=e}},cs=class extends qn{constructor(){super("accessKey is required")}},su=class extends qn{constructor(){super("secretKey is required")}},cl=class extends qn{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}},vi=class extends qn{statusCode;code;key;bucketName;resource;region;constructor(e,r,n,i={}){super(n),this.statusCode=e,this.code=r,this.key=i.key,this.bucketName=i.bucketName,this.resource=i.resource,this.region=i.region}};async function K8(t){try{let r=us(await t.text()).root;if(r?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=r.children.find(c=>c.name==="Code")?.content??"UnknownErrorCode",i=r.children.find(c=>c.name==="Message")?.content??"The error message could not be determined.",s=r.children.find(c=>c.name==="Key")?.content,o=r.children.find(c=>c.name==="BucketName")?.content,a=r.children.find(c=>c.name==="Resource")?.content,u=r.children.find(c=>c.name==="Region")?.content;return new vi(t.status,n,i,{key:s,bucketName:o,resource:a,region:u})}catch{return new vi(t.status,"UnrecognizedError",`Error: Unexpected response code ${t.status} ${t.statusText}. Unable to parse response as XML.`)}}function G8(t){return typeof t!="number"||isNaN(t)?!1:t>=1&&t<=65535}function W8(t){return typeof t!="string"||t.length<3||t.length>63||t.includes("..")||t.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!t.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function ls(t){return!(!nfe(t)||t.length===0)}function nfe(t){return!(typeof t!="string"||t.length>1024)}function ll(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}function ao(t=""){let e={'"':"",""":"",""":"",""":"",""":""};return t.replace(/^("|"|")|("|"|")$/g,r=>e[r])}function hb(t){return t.get("x-amz-version-id")??null}function uo(t){let e=t.toISOString();return e.slice(0,4)+e.slice(5,7)+e.slice(8,13)+e.slice(14,16)+e.slice(17,19)+"Z"}function db(t){return uo(t).slice(0,8)}function pb(t,e){return`${db(e)}/${t}/s3/aws4_request`}async function tm(t){return t instanceof Uint8Array||(t=new TextEncoder().encode(t)),ll(new Uint8Array(await crypto.subtle.digest("SHA-256",t)))}var ife=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],rm=class extends WritableStream{getResult;constructor({client:e,bucketName:r,objectName:n,partSize:i,metadata:s}){let o,a=1,u,c=[],l,h=[];super({start(){},async write(d,f){let g=a++;try{if(g==1&&d.length<i){let A=await e.makeRequest({method:"PUT",headers:new Headers({...s,"Content-Length":String(d.length)}),bucketName:r,objectName:n,payload:d});o={etag:ao(A.headers.get("etag")??void 0),versionId:hb(A.headers)};return}g===1&&(u=(await sfe({client:e,bucketName:r,objectName:n,metadata:s})).uploadId);let E={"Content-Length":String(d.length)};for(let A of ife){let m=s[A];m&&(E[A]=m)}let _=e.makeRequest({method:"PUT",query:{partNumber:g.toString(),uploadId:u},headers:new Headers(E),bucketName:r,objectName:n,payload:d}).then(A=>{let m=A.headers.get("etag")??"";return m&&(m=m.replace(/^"/,"").replace(/"$/,"")),c.push({part:g,etag:m}),A});h.push(_.catch(A=>{l||(l=A)}))}catch(E){throw E}},async close(){if(!o)if(u){if(await Promise.all(h),l)throw l;c.sort((d,f)=>d.part>f.part?1:-1),o=await ofe({client:e,bucketName:r,objectName:n,uploadId:u,etags:c})}else throw new Error("Stream was closed without uploading any data.")}}),this.getResult=()=>{if(o===void 0)throw new Error("Result is not ready. await the stream first.");return o}}};async function sfe(t){let e="POST",r=new Headers(t.metadata),s=await(await t.client.makeRequest({method:e,bucketName:t.bucketName,objectName:t.objectName,query:"uploads",headers:r,returnBody:!0})).text(),o=us(s).root;if(!o||o.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${s}`);let a=o.children.find(u=>u.name==="UploadId")?.content;if(!a)throw new Error(`Unable to get UploadId from response: ${s}`);return{uploadId:a}}async function ofe({client:t,bucketName:e,objectName:r,uploadId:n,etags:i}){let s=`
|
|
327
327
|
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|
|
328
328
|
${i.map(h=>` <Part><PartNumber>${h.part}</PartNumber><ETag>${h.etag}</ETag></Part>`).join(`
|
|
329
329
|
`)}
|