coze-bridge 0.2.4-alpha.102 → 0.2.4-alpha.103
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 +84 -84
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5,34 +5,34 @@ import { dirname as __coze_dirname } from 'node:path';
|
|
|
5
5
|
const require = __coze_createRequire(import.meta.url);
|
|
6
6
|
const __filename = __coze_fileURLToPath(import.meta.url);
|
|
7
7
|
const __dirname = __coze_dirname(__filename);
|
|
8
|
-
var
|
|
8
|
+
var jg=Object.create;var Ba=Object.defineProperty;var qg=Object.getOwnPropertyDescriptor;var Wg=Object.getOwnPropertyNames;var Kg=Object.getPrototypeOf,$g=Object.prototype.hasOwnProperty;var he=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var rt=(t,e)=>()=>(t&&(e=t(t=0)),e);var ce=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Fa=(t,e)=>{for(var n in e)Ba(t,n,{get:e[n],enumerable:!0})},Vg=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Wg(e))!$g.call(t,o)&&o!==n&&Ba(t,o,{get:()=>e[o],enumerable:!(i=qg(e,o))||i.enumerable});return t};var Kt=(t,e,n)=>(n=t!=null?jg(Kg(t)):{},Vg(e||!t||!t.__esModule?Ba(n,"default",{value:t,enumerable:!0}):n,t));function Ye(t,e){let n=process.env[t];if(!n)return e;let i=Number(n);return Number.isFinite(i)&&i>0?i:e}var fr=rt(()=>{"use strict"});import{createWriteStream as Jg,mkdirSync as Zg,readdirSync as Yg,unlinkSync as Xg}from"node:fs";import{join as Rl}from"node:path";function Mn(t){let e=n=>String(n).padStart(2,"0");return`${t.getFullYear()}-${e(t.getMonth()+1)}-${e(t.getDate())}`}function hr(t,e){return`${t}-${e}.log`}function za(t,e){let n=t.match(/^(.+)-(\d{4}-\d{2}-\d{2})\.log$/);return!n||n[1]!==e?null:n[2]??null}function Qg(t,e,n){let i=c=>{let[d,u,h]=c.split("-").map(Number);return Date.UTC(d??0,(u??1)-1,h??1)};return Math.floor((i(e)-i(t))/864e5)>n}function _s(t,e,n,i){let o;try{o=Yg(t)}catch{return}for(let c of o){let d=za(c,e);if(d&&Qg(d,n,i))try{Xg(Rl(t,c))}catch{}}}var ci,Ua=rt(()=>{"use strict";ci=class{constructor(e,n,i){this.dir=e;this.prefix=n;this.opts=i;this.clock=i.clock??(()=>Mn(new Date))}dir;prefix;opts;currentDate;stream;clock;write(e){let n=this.clock();n!==this.currentDate&&this.rotate(n),this.stream?.write(e)}rotate(e){this.stream?.end();try{Zg(this.dir,{recursive:!0});let n=Jg(Rl(this.dir,hr(this.prefix,e)),{flags:"a"});n.on("error",i=>process.stderr.write(`[log-sink] stream error: ${String(i)}
|
|
9
9
|
`)),this.stream=n}catch(n){process.stderr.write(`[log-sink] rotate failed: ${String(n)}
|
|
10
|
-
`),this.stream=void 0;return}this.currentDate!==void 0&&
|
|
11
|
-
`;
|
|
12
|
-
`;if(
|
|
13
|
-
`),{cause:o})}}async function
|
|
14
|
-
`,n)}var qt=nt(()=>{"use strict"});import{promises as Gl,readdirSync as _m}from"node:fs";import{homedir as ym}from"node:os";import{sep as bm,join as Te,resolve as Hl}from"node:path";function Y(t){let e=t??ym(),n=Te(e,".coze"),i=Te(n,"bridge"),o=Te(i,"lib"),c=Te(i,"logs");return{cozeRoot:n,bridgeRoot:i,libDir:o,libEntry:Te(o,"index.js"),binDir:Te(i,"bin"),pidFile:Te(i,"bridge.pid"),portFile:Te(i,"bridge.port"),tokenFile:Te(i,"bridge.token"),patTokenFile:Te(i,"pat-token"),agentEnvFile:Te(i,"agent-env.json"),logFile:Te(i,"bridge.log"),bridgeLogsDir:c,daemonStdioLog:Te(c,"daemon-stdio.log"),installLock:Te(i,"install.lock"),configFile:Te(i,"config.json"),agentsRoot:Te(n,"agents")}}function ze(t,e=Y()){let n=Te(e.agentsRoot,t);return{root:n,config:Te(n,"config.json"),workspace:Te(n,"workspace"),logs:Te(n,"logs")}}function _s(t=Y()){try{return _m(t.agentsRoot,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return[]}}async function si(t,e){let n=await Gl.realpath(Hl(t)).catch(()=>null);if(!n)return!1;let i=await Gl.realpath(Hl(e)).catch(()=>null);if(!i)return!1;let o=process.platform==="win32"?n.toLowerCase():n,c=process.platform==="win32"?i.toLowerCase():i;return o===c||o.startsWith(c+bm)}var Re=nt(()=>{"use strict"});var bs={};Oa(bs,{AGENT_CONFIG_FILE_MODE:()=>ys,enforceAgentConfigMode:()=>Sm,loadAgentConfig:()=>ve,persistAgentSessions:()=>oi,persistAgentSkills:()=>ai,saveAgentConfig:()=>Ue});import{chmod as Em,stat as vm}from"node:fs/promises";function ve(t,e){return lr(ze(t,e).config)}function Ue(t,e){return ur(ze(t.agentId,e).config,t,{mode:ys})}async function Sm(t,e){if(process.platform==="win32")return;let n=ze(t,e).config;try{let i=await vm(n);if(!i.isFile())return;let o=i.mode&511;o!==ys&&(await Em(n,ys),ql.warn("agent config mode auto-corrected to 0600",{path:n,from:o.toString(8)}))}catch(i){if(i.code==="ENOENT")return;ql.warn("enforceAgentConfigMode: chmod failed (ignored)",{path:n,err:String(i)})}}async function oi(t,e,n){let i=await ve(t,n);i&&(i.sessions=Object.fromEntries(e),await Ue(i,n))}async function ai(t,e,n){let i=await ve(t,n);i&&(i.skills=e,await Ue(i,n))}var ql,ys,jt=nt(()=>{"use strict";qt();ne();Re();ql=G("agent-config"),ys=384});var Ha=ce((EI,$l)=>{$l.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var vs=ce(Vl=>{var Kl={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function Pm(t){return function(...e){return e.length&&(t=t.replace(/\{(\d)\}/g,(n,i)=>e[i]||"")),new Error("ADM-ZIP: "+t)}}for(let t of Object.keys(Kl))Vl[t]=Pm(Kl[t])});var Ql=ce((SI,Xl)=>{var Cm=he("fs"),Me=he("path"),Jl=Ha(),Dm=vs(),Om=typeof process=="object"&&process.platform==="win32",Yl=t=>typeof t=="object"&&t!==null,Zl=new Uint32Array(256).map((t,e)=>{for(let n=0;n<8;n++)(e&1)!==0?e=3988292384^e>>>1:e>>>=1;return e>>>0});function Se(t){this.sep=Me.sep,this.fs=Cm,Yl(t)&&Yl(t.fs)&&typeof t.fs.statSync=="function"&&(this.fs=t.fs)}Xl.exports=Se;Se.prototype.makeDir=function(t){let e=this;function n(i){let o=i.split(e.sep)[0];i.split(e.sep).forEach(function(c){if(!(!c||c.substr(-1,1)===":")){o+=e.sep+c;var d;try{d=e.fs.statSync(o)}catch(u){if(u.message&&u.message.startsWith("ENOENT"))e.fs.mkdirSync(o);else throw u}if(d&&d.isFile())throw Dm.FILE_IN_THE_WAY(`"${o}"`)}})}n(t)};Se.prototype.writeFileTo=function(t,e,n,i){let o=this;if(o.fs.existsSync(t)){if(!n)return!1;var c=o.fs.statSync(t);if(c.isDirectory())return!1}var d=Me.dirname(t);o.fs.existsSync(d)||o.makeDir(d);var u;try{u=o.fs.openSync(t,"w",438)}catch{o.fs.chmodSync(t,438),u=o.fs.openSync(t,"w",438)}if(u)try{o.fs.writeSync(u,e,0,e.length,0)}finally{o.fs.closeSync(u)}return o.fs.chmodSync(t,i||438),!0};Se.prototype.writeFileToAsync=function(t,e,n,i,o){typeof i=="function"&&(o=i,i=void 0);let c=this;c.fs.exists(t,function(d){if(d&&!n)return o(!1);c.fs.stat(t,function(u,f){if(d&&f.isDirectory())return o(!1);var x=Me.dirname(t);c.fs.exists(x,function(p){p||c.makeDir(x),c.fs.open(t,"w",438,function(w,S){w?c.fs.chmod(t,438,function(){c.fs.open(t,"w",438,function(_,b){c.fs.write(b,e,0,e.length,0,function(){c.fs.close(b,function(){c.fs.chmod(t,i||438,function(){o(!0)})})})})}):S?c.fs.write(S,e,0,e.length,0,function(){c.fs.close(S,function(){c.fs.chmod(t,i||438,function(){o(!0)})})}):c.fs.chmod(t,i||438,function(){o(!0)})})})})})};Se.prototype.findFiles=function(t){let e=this;function n(i,o,c){typeof o=="boolean"&&(c=o,o=void 0);let d=[];return e.fs.readdirSync(i).forEach(function(u){let f=Me.join(i,u),x=e.fs.statSync(f);(!o||o.test(f))&&d.push(Me.normalize(f)+(x.isDirectory()?e.sep:"")),x.isDirectory()&&c&&(d=d.concat(n(f,o,c)))}),d}return n(t,void 0,!0)};Se.prototype.findFilesAsync=function(t,e){let n=this,i=[];n.fs.readdir(t,function(o,c){if(o)return e(o);let d=c.length;if(!d)return e(null,i);c.forEach(function(u){u=Me.join(t,u),n.fs.stat(u,function(f,x){if(f)return e(f);x&&(i.push(Me.normalize(u)+(x.isDirectory()?n.sep:"")),x.isDirectory()?n.findFilesAsync(u,function(p,w){if(p)return e(p);i=i.concat(w),--d||e(null,i)}):--d||e(null,i))})})})};Se.prototype.getAttributes=function(){};Se.prototype.setAttributes=function(){};Se.crc32update=function(t,e){return Zl[(t^e)&255]^t>>>8};Se.crc32=function(t){typeof t=="string"&&(t=Buffer.from(t,"utf8"));let e=t.length,n=-1;for(let i=0;i<e;)n=Se.crc32update(n,t[i++]);return~n>>>0};Se.methodToString=function(t){switch(t){case Jl.STORED:return"STORED ("+t+")";case Jl.DEFLATED:return"DEFLATED ("+t+")";default:return"UNSUPPORTED ("+t+")"}};Se.canonical=function(t){if(!t)return"";let e=Me.posix.normalize("/"+t.split("\\").join("/"));return Me.join(".",e)};Se.zipnamefix=function(t){if(!t)return"";let e=Me.posix.normalize("/"+t.split("\\").join("/"));return Me.posix.join(".",e)};Se.findLast=function(t,e){if(!Array.isArray(t))throw new TypeError("arr is not array");let n=t.length>>>0;for(let i=n-1;i>=0;i--)if(e(t[i],i,t))return t[i]};Se.sanitize=function(t,e){t=Me.resolve(Me.normalize(t));for(var n=e.split("/"),i=0,o=n.length;i<o;i++){var c=Me.normalize(Me.join(t,n.slice(i,o).join(Me.sep)));if(c.indexOf(t)===0)return c}return Me.normalize(Me.join(t,Me.basename(e)))};Se.toBuffer=function(e,n){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e):typeof e=="string"?n(e):Buffer.alloc(0)};Se.readBigUInt64LE=function(t,e){let n=t.readUInt32LE(e);return t.readUInt32LE(e+4)*4294967296+n};Se.fromDOS2Date=function(t){return new Date((t>>25&127)+1980,Math.max((t>>21&15)-1,0),Math.max(t>>16&31,1),t>>11&31,t>>5&63,(t&31)<<1)};Se.fromDate2DOS=function(t){let e=0,n=0;return t.getFullYear()>1979&&(e=(t.getFullYear()-1980&127)<<9|t.getMonth()+1<<5|t.getDate(),n=t.getHours()<<11|t.getMinutes()<<5|t.getSeconds()>>1),e<<16|n};Se.isWin=Om;Se.crcTable=Zl});var tu=ce((II,eu)=>{var Lm=he("path");eu.exports=function(t,{fs:e}){var n=t||"",i=c(),o=null;function c(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}return n&&e.existsSync(n)?(o=e.statSync(n),i.directory=o.isDirectory(),i.mtime=o.mtime,i.atime=o.atime,i.executable=(73&o.mode)!==0,i.readonly=(128&o.mode)===0,i.hidden=Lm.basename(n)[0]==="."):console.warn("Invalid path: "+n),{get directory(){return i.directory},get readOnly(){return i.readonly},get hidden(){return i.hidden},get mtime(){return i.mtime},get atime(){return i.atime},get executable(){return i.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:n,isDirectory:i.directory,isReadOnly:i.readonly,isHidden:i.hidden,isExecutable:i.executable,mTime:i.mtime,aTime:i.atime}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}});var ru=ce((AI,nu)=>{nu.exports={efs:!0,encode:t=>Buffer.from(t,"utf8"),decode:t=>t.toString("utf8")}});var xr=ce((kI,hr)=>{hr.exports=Ql();hr.exports.Constants=Ha();hr.exports.Errors=vs();hr.exports.FileAttr=tu();hr.exports.decoder=ru()});var su=ce((TI,iu)=>{var ln=xr(),U=ln.Constants;iu.exports=function(){var t=20,e=10,n=0,i=0,o=0,c=0,d=0,u=0,f=0,x=0,p=0,w=0,S=0,_=0,b=0;t|=ln.isWin?2560:768,n|=U.FLG_EFS;let I={extraLen:0},A=y=>Math.max(0,y)>>>0,R=y=>Math.max(0,y)&65535,D=y=>Math.max(0,y)&255;return o=ln.fromDate2DOS(new Date),{get made(){return t},set made(y){t=y},get version(){return e},set version(y){e=y},get flags(){return n},set flags(y){n=y},get flags_efs(){return(n&U.FLG_EFS)>0},set flags_efs(y){y?n|=U.FLG_EFS:n&=~U.FLG_EFS},get flags_desc(){return(n&U.FLG_DESC)>0},set flags_desc(y){y?n|=U.FLG_DESC:n&=~U.FLG_DESC},get method(){return i},set method(y){switch(y){case U.STORED:this.version=10;case U.DEFLATED:default:this.version=20}i=y},get time(){return ln.fromDOS2Date(this.timeval)},set time(y){y=new Date(y),this.timeval=ln.fromDate2DOS(y)},get timeval(){return o},set timeval(y){o=A(y)},get timeHighByte(){return D(o>>>8)},get crc(){return c},set crc(y){c=A(y)},get compressedSize(){return d},set compressedSize(y){d=A(y)},get size(){return u},set size(y){u=A(y)},get fileNameLength(){return f},set fileNameLength(y){f=y},get extraLength(){return x},set extraLength(y){x=y},get extraLocalLength(){return I.extraLen},set extraLocalLength(y){I.extraLen=y},get commentLength(){return p},set commentLength(y){p=y},get diskNumStart(){return w},set diskNumStart(y){w=A(y)},get inAttr(){return S},set inAttr(y){S=A(y)},get attr(){return _},set attr(y){_=A(y)},get fileAttr(){return(_||0)>>16&4095},get offset(){return b},set offset(y){b=A(y)},get encrypted(){return(n&U.FLG_ENC)===U.FLG_ENC},get centralHeaderSize(){return U.CENHDR+f+x+p},get realDataOffset(){return b+U.LOCHDR+I.fnameLen+I.extraLen},get localHeader(){return I},loadLocalHeaderFromBinary:function(y){var C=y.slice(b,b+U.LOCHDR);if(C.readUInt32LE(0)!==U.LOCSIG)throw ln.Errors.INVALID_LOC();I.version=C.readUInt16LE(U.LOCVER),I.flags=C.readUInt16LE(U.LOCFLG),I.flags_desc=(I.flags&U.FLG_DESC)>0,I.method=C.readUInt16LE(U.LOCHOW),I.time=C.readUInt32LE(U.LOCTIM),I.crc=C.readUInt32LE(U.LOCCRC),I.compressedSize=C.readUInt32LE(U.LOCSIZ),I.size=C.readUInt32LE(U.LOCLEN),I.fnameLen=C.readUInt16LE(U.LOCNAM),I.extraLen=C.readUInt16LE(U.LOCEXT);let O=b+U.LOCHDR+I.fnameLen,B=O+I.extraLen;return y.slice(O,B)},loadFromBinary:function(y){if(y.length!==U.CENHDR||y.readUInt32LE(0)!==U.CENSIG)throw ln.Errors.INVALID_CEN();t=y.readUInt16LE(U.CENVEM),e=y.readUInt16LE(U.CENVER),n=y.readUInt16LE(U.CENFLG),i=y.readUInt16LE(U.CENHOW),o=y.readUInt32LE(U.CENTIM),c=y.readUInt32LE(U.CENCRC),d=y.readUInt32LE(U.CENSIZ),u=y.readUInt32LE(U.CENLEN),f=y.readUInt16LE(U.CENNAM),x=y.readUInt16LE(U.CENEXT),p=y.readUInt16LE(U.CENCOM),w=y.readUInt16LE(U.CENDSK),S=y.readUInt16LE(U.CENATT),_=y.readUInt32LE(U.CENATX),b=y.readUInt32LE(U.CENOFF)},localHeaderToBinary:function(){var y=Buffer.alloc(U.LOCHDR);return y.writeUInt32LE(U.LOCSIG,0),y.writeUInt16LE(e,U.LOCVER),y.writeUInt16LE(n,U.LOCFLG),y.writeUInt16LE(i,U.LOCHOW),y.writeUInt32LE(o,U.LOCTIM),y.writeUInt32LE(c,U.LOCCRC),y.writeUInt32LE(d,U.LOCSIZ),y.writeUInt32LE(u,U.LOCLEN),y.writeUInt16LE(f,U.LOCNAM),y.writeUInt16LE(I.extraLen,U.LOCEXT),y},centralHeaderToBinary:function(){var y=Buffer.alloc(U.CENHDR+f+x+p);return y.writeUInt32LE(U.CENSIG,0),y.writeUInt16LE(t,U.CENVEM),y.writeUInt16LE(e,U.CENVER),y.writeUInt16LE(n,U.CENFLG),y.writeUInt16LE(i,U.CENHOW),y.writeUInt32LE(o,U.CENTIM),y.writeUInt32LE(c,U.CENCRC),y.writeUInt32LE(d,U.CENSIZ),y.writeUInt32LE(u,U.CENLEN),y.writeUInt16LE(f,U.CENNAM),y.writeUInt16LE(x,U.CENEXT),y.writeUInt16LE(p,U.CENCOM),y.writeUInt16LE(w,U.CENDSK),y.writeUInt16LE(S,U.CENATT),y.writeUInt32LE(_,U.CENATX),y.writeUInt32LE(b,U.CENOFF),y},toJSON:function(){let y=function(C){return C+" bytes"};return{made:t,version:e,flags:n,method:ln.methodToString(i),time:this.time,crc:"0x"+c.toString(16).toUpperCase(),compressedSize:y(d),size:y(u),fileNameLength:y(f),extraLength:y(x),commentLength:y(p),diskNumStart:w,inAttr:S,attr:_,offset:b,centralHeaderSize:y(U.CENHDR+f+x+p)}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}});var au=ce((RI,ou)=>{var pr=xr(),ye=pr.Constants;ou.exports=function(){var t=0,e=0,n=0,i=0,o=0;return{get diskEntries(){return t},set diskEntries(c){t=e=c},get totalEntries(){return e},set totalEntries(c){e=t=c},get size(){return n},set size(c){n=c},get offset(){return i},set offset(c){i=c},get commentLength(){return o},set commentLength(c){o=c},get mainHeaderSize(){return ye.ENDHDR+o},loadFromBinary:function(c){if((c.length!==ye.ENDHDR||c.readUInt32LE(0)!==ye.ENDSIG)&&(c.length<ye.ZIP64HDR||c.readUInt32LE(0)!==ye.ZIP64SIG))throw pr.Errors.INVALID_END();c.readUInt32LE(0)===ye.ENDSIG?(t=c.readUInt16LE(ye.ENDSUB),e=c.readUInt16LE(ye.ENDTOT),n=c.readUInt32LE(ye.ENDSIZ),i=c.readUInt32LE(ye.ENDOFF),o=c.readUInt16LE(ye.ENDCOM)):(t=pr.readBigUInt64LE(c,ye.ZIP64SUB),e=pr.readBigUInt64LE(c,ye.ZIP64TOT),n=pr.readBigUInt64LE(c,ye.ZIP64SIZE),i=pr.readBigUInt64LE(c,ye.ZIP64OFF),o=0)},toBinary:function(){var c=Buffer.alloc(ye.ENDHDR+o);return c.writeUInt32LE(ye.ENDSIG,0),c.writeUInt32LE(0,4),c.writeUInt16LE(t,ye.ENDSUB),c.writeUInt16LE(e,ye.ENDTOT),c.writeUInt32LE(n,ye.ENDSIZ),c.writeUInt32LE(i,ye.ENDOFF),c.writeUInt16LE(o,ye.ENDCOM),c.fill(" ",ye.ENDHDR),c},toJSON:function(){let c=function(d,u){let f=d.toString(16).toUpperCase();for(;f.length<u;)f="0"+f;return"0x"+f};return{diskEntries:t,totalEntries:e,size:n+" bytes",offset:c(i,4),commentLength:o}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}});var ja=ce(qa=>{qa.EntryHeader=su();qa.MainHeader=au()});var du=ce((CI,cu)=>{cu.exports=function(t){var e=he("zlib"),n={chunkSize:(parseInt(t.length/1024)+1)*1024};return{deflate:function(){return e.deflateRawSync(t,n)},deflateAsync:function(i){var o=e.createDeflateRaw(n),c=[],d=0;o.on("data",function(u){c.push(u),d+=u.length}),o.on("end",function(){var u=Buffer.alloc(d),f=0;u.fill(0);for(var x=0;x<c.length;x++){var p=c[x];p.copy(u,f),f+=p.length}i&&i(u)}),o.end(t)}}}});var uu=ce((DI,lu)=>{var Nm=+(process.versions?process.versions.node:"").split(".")[0]||0;lu.exports=function(t,e){var n=he("zlib");let i=Nm>=15&&e>0?{maxOutputLength:e}:{};return{inflate:function(){return n.inflateRawSync(t,i)},inflateAsync:function(o){var c=n.createInflateRaw(i),d=[],u=0;c.on("data",function(f){d.push(f),u+=f.length}),c.on("end",function(){var f=Buffer.alloc(u),x=0;f.fill(0);for(var p=0;p<d.length;p++){var w=d[p];w.copy(f,x),x+=w.length}o&&o(f)}),c.end(t)}}}});var gu=ce((OI,pu)=>{"use strict";var{randomFillSync:fu}=he("crypto"),Mm=vs(),Bm=new Uint32Array(256).map((t,e)=>{for(let n=0;n<8;n++)(e&1)!==0?e=e>>>1^3988292384:e>>>=1;return e>>>0}),xu=(t,e)=>Math.imul(t,e)>>>0,hu=(t,e)=>Bm[(t^e)&255]^t>>>8,ci=()=>typeof fu=="function"?fu(Buffer.alloc(12)):ci.node();ci.node=()=>{let t=Buffer.alloc(12),e=t.length;for(let n=0;n<e;n++)t[n]=Math.random()*256&255;return t};var Ss={genSalt:ci};function Is(t){let e=Buffer.isBuffer(t)?t:Buffer.from(t);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let n=0;n<e.length;n++)this.updateKeys(e[n])}Is.prototype.updateKeys=function(t){let e=this.keys;return e[0]=hu(e[0],t),e[1]+=e[0]&255,e[1]=xu(e[1],134775813)+1,e[2]=hu(e[2],e[1]>>>24),t};Is.prototype.next=function(){let t=(this.keys[2]|2)>>>0;return xu(t,t^1)>>8&255};function Fm(t){let e=new Is(t);return function(n){let i=Buffer.alloc(n.length),o=0;for(let c of n)i[o++]=e.updateKeys(c^e.next());return i}}function zm(t){let e=new Is(t);return function(n,i,o=0){i||(i=Buffer.alloc(n.length));for(let c of n){let d=e.next();i[o++]=c^d,e.updateKeys(c)}return i}}function Um(t,e,n){if(!t||!Buffer.isBuffer(t)||t.length<12)return Buffer.alloc(0);let i=Fm(n),o=i(t.slice(0,12)),c=(e.flags&8)===8?e.timeHighByte:e.crc>>>24;if(o[11]!==c)throw Mm.WRONG_PASSWORD();return i(t.slice(12))}function Gm(t){Buffer.isBuffer(t)&&t.length>=12?Ss.genSalt=function(){return t.slice(0,12)}:t==="node"?Ss.genSalt=ci.node:Ss.genSalt=ci}function Hm(t,e,n,i=!1){t==null&&(t=Buffer.alloc(0)),Buffer.isBuffer(t)||(t=Buffer.from(t.toString()));let o=zm(n),c=Ss.genSalt();c[11]=e.crc>>>24&255,i&&(c[10]=e.crc>>>16&255);let d=Buffer.alloc(t.length+12);return o(c,d),o(t,d,12)}pu.exports={decrypt:Um,encrypt:Hm,_salter:Gm}});var mu=ce(As=>{As.Deflater=du();As.Inflater=uu();As.ZipCrypto=gu()});var $a=ce((NI,wu)=>{var de=xr(),qm=ja(),Ie=de.Constants,Wa=mu();wu.exports=function(t,e){var n=new qm.EntryHeader,i=Buffer.alloc(0),o=Buffer.alloc(0),c=!1,d=null,u=Buffer.alloc(0),f=Buffer.alloc(0),x=!0;let p=t,w=typeof p.decoder=="object"?p.decoder:de.decoder;x=w.hasOwnProperty("efs")?w.efs:!1;function S(){return!e||!(e instanceof Uint8Array)?Buffer.alloc(0):(f=n.loadLocalHeaderFromBinary(e),e.slice(n.realDataOffset,n.realDataOffset+n.compressedSize))}function _(y){if(!n.flags_desc&&!n.localHeader.flags_desc){if(de.crc32(y)!==n.localHeader.crc)return!1}else{let C={},O=n.realDataOffset+n.compressedSize;if(e.readUInt32LE(O)==Ie.LOCSIG||e.readUInt32LE(O)==Ie.CENSIG)throw de.Errors.DESCRIPTOR_NOT_EXIST();if(e.readUInt32LE(O)==Ie.EXTSIG)C.crc=e.readUInt32LE(O+Ie.EXTCRC),C.compressedSize=e.readUInt32LE(O+Ie.EXTSIZ),C.size=e.readUInt32LE(O+Ie.EXTLEN);else if(e.readUInt16LE(O+12)===19280)C.crc=e.readUInt32LE(O+Ie.EXTCRC-4),C.compressedSize=e.readUInt32LE(O+Ie.EXTSIZ-4),C.size=e.readUInt32LE(O+Ie.EXTLEN-4);else throw de.Errors.DESCRIPTOR_UNKNOWN();if(C.compressedSize!==n.compressedSize||C.size!==n.size||C.crc!==n.crc)throw de.Errors.DESCRIPTOR_FAULTY();if(de.crc32(y)!==C.crc)return!1}return!0}function b(y,C,O){if(typeof C>"u"&&typeof y=="string"&&(O=y,y=void 0),c)return y&&C&&C(Buffer.alloc(0),de.Errors.DIRECTORY_CONTENT_ERROR()),Buffer.alloc(0);var B=S();if(B.length===0)return y&&C&&C(B),B;if(n.encrypted){if(typeof O!="string"&&!Buffer.isBuffer(O))throw de.Errors.INVALID_PASS_PARAM();B=Wa.ZipCrypto.decrypt(B,n,O)}var N=Buffer.alloc(n.size);switch(n.method){case de.Constants.STORED:if(B.copy(N),_(N))return y&&C&&C(N),N;throw y&&C&&C(N,de.Errors.BAD_CRC()),de.Errors.BAD_CRC();case de.Constants.DEFLATED:var J=new Wa.Inflater(B,n.size);if(y)J.inflateAsync(function(K){K.copy(K,0),C&&(_(K)?C(K):C(K,de.Errors.BAD_CRC()))});else{if(J.inflate(N).copy(N,0),!_(N))throw de.Errors.BAD_CRC(`"${w.decode(i)}"`);return N}break;default:throw y&&C&&C(Buffer.alloc(0),de.Errors.UNKNOWN_METHOD()),de.Errors.UNKNOWN_METHOD()}}function I(y,C){if((!d||!d.length)&&Buffer.isBuffer(e))return y&&C&&C(S()),S();if(d.length&&!c){var O;switch(n.method){case de.Constants.STORED:return n.compressedSize=n.size,O=Buffer.alloc(d.length),d.copy(O),y&&C&&C(O),O;default:case de.Constants.DEFLATED:var B=new Wa.Deflater(d);if(y)B.deflateAsync(function(J){O=Buffer.alloc(J.length),n.compressedSize=J.length,J.copy(O),C&&C(O)});else{var N=B.deflate();return n.compressedSize=N.length,N}B=null;break}}else if(y&&C)C(Buffer.alloc(0));else return Buffer.alloc(0)}function A(y,C){return de.readBigUInt64LE(y,C)}function R(y){try{for(var C=0,O,B,N;C+4<y.length;)O=y.readUInt16LE(C),C+=2,B=y.readUInt16LE(C),C+=2,N=y.slice(C,C+B),C+=B,Ie.ID_ZIP64===O&&D(N)}catch{throw de.Errors.EXTRA_FIELD_PARSE_ERROR()}}function D(y){var C,O,B,N;y.length>=Ie.EF_ZIP64_SCOMP&&(C=A(y,Ie.EF_ZIP64_SUNCOMP),n.size===Ie.EF_ZIP64_OR_32&&(n.size=C)),y.length>=Ie.EF_ZIP64_RHO&&(O=A(y,Ie.EF_ZIP64_SCOMP),n.compressedSize===Ie.EF_ZIP64_OR_32&&(n.compressedSize=O)),y.length>=Ie.EF_ZIP64_DSN&&(B=A(y,Ie.EF_ZIP64_RHO),n.offset===Ie.EF_ZIP64_OR_32&&(n.offset=B)),y.length>=Ie.EF_ZIP64_DSN+4&&(N=y.readUInt32LE(Ie.EF_ZIP64_DSN),n.diskNumStart===Ie.EF_ZIP64_OR_16&&(n.diskNumStart=N))}return{get entryName(){return w.decode(i)},get rawEntryName(){return i},set entryName(y){i=de.toBuffer(y,w.encode);var C=i[i.length-1];c=C===47||C===92,n.fileNameLength=i.length},get efs(){return typeof x=="function"?x(this.entryName):x},get extra(){return u},set extra(y){u=y,n.extraLength=y.length,R(y)},get comment(){return w.decode(o)},set comment(y){if(o=de.toBuffer(y,w.encode),n.commentLength=o.length,o.length>65535)throw de.Errors.COMMENT_TOO_LONG()},get name(){var y=w.decode(i);return c?y.substr(y.length-1).split("/").pop():y.split("/").pop()},get isDirectory(){return c},getCompressedData:function(){return I(!1,null)},getCompressedDataAsync:function(y){I(!0,y)},setData:function(y){d=de.toBuffer(y,de.decoder.encode),!c&&d.length?(n.size=d.length,n.method=de.Constants.DEFLATED,n.crc=de.crc32(y),n.changed=!0):n.method=de.Constants.STORED},getData:function(y){return n.changed?d:b(!1,null,y)},getDataAsync:function(y,C){n.changed?y(d):b(!0,y,C)},set attr(y){n.attr=y},get attr(){return n.attr},set header(y){n.loadFromBinary(y)},get header(){return n},packCentralHeader:function(){n.flags_efs=this.efs,n.extraLength=u.length;var y=n.centralHeaderToBinary(),C=de.Constants.CENHDR;return i.copy(y,C),C+=i.length,u.copy(y,C),C+=n.extraLength,o.copy(y,C),y},packLocalHeader:function(){let y=0;n.flags_efs=this.efs,n.extraLocalLength=f.length;let C=n.localHeaderToBinary(),O=Buffer.alloc(C.length+i.length+n.extraLocalLength);return C.copy(O,y),y+=C.length,i.copy(O,y),y+=i.length,f.copy(O,y),y+=f.length,O},toJSON:function(){let y=function(C){return"<"+(C&&C.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:n.toJSON(),compressedData:y(e),data:y(d)}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}});var bu=ce((MI,yu)=>{var _u=$a(),jm=ja(),Ve=xr();yu.exports=function(t,e){var n=[],i={},o=Buffer.alloc(0),c=new jm.MainHeader,d=!1,u=null;let f=new Set,x=e,{noSort:p,decoder:w}=x;t?b(x.readEntries):d=!0;function S(){let A=new Set;for(let R of Object.keys(i)){let D=R.split("/");if(D.pop(),!!D.length)for(let y=0;y<D.length;y++){let C=D.slice(0,y+1).join("/")+"/";A.add(C)}}for(let R of A)if(!(R in i)){let D=new _u(x);D.entryName=R,D.attr=16,D.temporary=!0,n.push(D),i[D.entryName]=D,f.add(D)}}function _(){if(d=!0,i={},c.diskEntries>(t.length-c.offset)/Ve.Constants.CENHDR)throw Ve.Errors.DISK_ENTRY_TOO_LARGE();n=new Array(c.diskEntries);for(var A=c.offset,R=0;R<n.length;R++){var D=A,y=new _u(x,t);y.header=t.slice(D,D+=Ve.Constants.CENHDR),y.entryName=t.slice(D,D+=y.header.fileNameLength),y.header.extraLength&&(y.extra=t.slice(D,D+=y.header.extraLength)),y.header.commentLength&&(y.comment=t.slice(D,D+y.header.commentLength)),A+=y.header.centralHeaderSize,n[R]=y,i[y.entryName]=y}f.clear(),S()}function b(A){var R=t.length-Ve.Constants.ENDHDR,D=Math.max(0,R-65535),y=D,C=t.length,O=-1,B=0;for(typeof x.trailingSpace=="boolean"&&x.trailingSpace&&(D=0),R;R>=y;R--)if(t[R]===80){if(t.readUInt32LE(R)===Ve.Constants.ENDSIG){O=R,B=R,C=R+Ve.Constants.ENDHDR,y=R-Ve.Constants.END64HDR;continue}if(t.readUInt32LE(R)===Ve.Constants.END64SIG){y=D;continue}if(t.readUInt32LE(R)===Ve.Constants.ZIP64SIG){O=R,C=R+Ve.readBigUInt64LE(t,R+Ve.Constants.ZIP64SIZE)+Ve.Constants.ZIP64LEAD;break}}if(O==-1)throw Ve.Errors.INVALID_FORMAT();c.loadFromBinary(t.slice(O,C)),c.commentLength&&(o=t.slice(B+Ve.Constants.ENDHDR)),A&&_()}function I(){n.length>1&&!p&&n.sort((A,R)=>A.entryName.toLowerCase().localeCompare(R.entryName.toLowerCase()))}return{get entries(){return d||_(),n.filter(A=>!f.has(A))},get comment(){return w.decode(o)},set comment(A){o=Ve.toBuffer(A,w.encode),c.commentLength=o.length},getEntryCount:function(){return d?n.length:c.diskEntries},forEach:function(A){this.entries.forEach(A)},getEntry:function(A){return d||_(),i[A]||null},setEntry:function(A){d||_(),n.push(A),i[A.entryName]=A,c.totalEntries=n.length},deleteFile:function(A,R=!0){d||_();let D=i[A];this.getEntryChildren(D,R).map(C=>C.entryName).forEach(this.deleteEntry)},deleteEntry:function(A){d||_();let R=i[A],D=n.indexOf(R);D>=0&&(n.splice(D,1),delete i[A],c.totalEntries=n.length)},getEntryChildren:function(A,R=!0){if(d||_(),typeof A=="object")if(A.isDirectory&&R){let D=[],y=A.entryName;for(let C of n)C.entryName.startsWith(y)&&D.push(C);return D}else return[A];return[]},getChildCount:function(A){if(A&&A.isDirectory){let R=this.getEntryChildren(A);return R.includes(A)?R.length-1:R.length}return 0},compressToBuffer:function(){d||_(),I();let A=[],R=[],D=0,y=0;c.size=0,c.offset=0;let C=0;for(let N of this.entries){let J=N.getCompressedData();N.header.offset=y;let K=N.packLocalHeader(),ie=K.length+J.length;y+=ie,A.push(K),A.push(J);let X=N.packCentralHeader();R.push(X),c.size+=X.length,D+=ie+X.length,C++}D+=c.mainHeaderSize,c.offset=y,c.totalEntries=C,y=0;let O=Buffer.alloc(D);for(let N of A)N.copy(O,y),y+=N.length;for(let N of R)N.copy(O,y),y+=N.length;let B=c.toBinary();return o&&o.copy(B,Ve.Constants.ENDHDR),B.copy(O,y),t=O,d=!1,O},toAsyncBuffer:function(A,R,D,y){try{d||_(),I();let C=[],O=[],B=0,N=0,J=0;c.size=0,c.offset=0;let K=function(ie){if(ie.length>0){let X=ie.shift(),oe=X.entryName+X.extra.toString();D&&D(oe),X.getCompressedDataAsync(function(ae){y&&y(oe),X.header.offset=N;let P=X.packLocalHeader(),z=P.length+ae.length;N+=z,C.push(P),C.push(ae);let H=X.packCentralHeader();O.push(H),c.size+=H.length,B+=z+H.length,J++,K(ie)})}else{B+=c.mainHeaderSize,c.offset=N,c.totalEntries=J,N=0;let X=Buffer.alloc(B);C.forEach(function(ae){ae.copy(X,N),N+=ae.length}),O.forEach(function(ae){ae.copy(X,N),N+=ae.length});let oe=c.toBinary();o&&o.copy(oe,Ve.Constants.ENDHDR),oe.copy(X,N),t=X,d=!1,A(X)}};K(Array.from(this.entries))}catch(C){R(C)}}}}});var Su=ce((BI,vu)=>{var Ee=xr(),be=he("path"),Wm=$a(),$m=bu(),Dn=(...t)=>Ee.findLast(t,e=>typeof e=="boolean"),Eu=(...t)=>Ee.findLast(t,e=>typeof e=="string"),Km=(...t)=>Ee.findLast(t,e=>typeof e=="function"),Vm={noSort:!1,readEntries:!1,method:Ee.Constants.NONE,fs:null};vu.exports=function(t,e){let n=null,i=Object.assign(Object.create(null),Vm);t&&typeof t=="object"&&(t instanceof Uint8Array||(Object.assign(i,t),t=i.input?i.input:void 0,i.input&&delete i.input),Buffer.isBuffer(t)&&(n=t,i.method=Ee.Constants.BUFFER,t=void 0)),Object.assign(i,e);let o=new Ee(i);if((typeof i.decoder!="object"||typeof i.decoder.encode!="function"||typeof i.decoder.decode!="function")&&(i.decoder=Ee.decoder),t&&typeof t=="string")if(o.fs.existsSync(t))i.method=Ee.Constants.FILE,i.filename=t,n=o.fs.readFileSync(t);else throw Ee.Errors.INVALID_FILENAME();let c=new $m(n,i),{canonical:d,sanitize:u,zipnamefix:f}=Ee;function x(_){if(_&&c){var b;if(typeof _=="string"&&(b=c.getEntry(be.posix.normalize(_))),typeof _=="object"&&typeof _.entryName<"u"&&typeof _.header<"u"&&(b=c.getEntry(_.entryName)),b)return b}return null}function p(_){let{join:b,normalize:I,sep:A}=be.posix;return b(be.isAbsolute(_)?"/":".",I(A+_.split("\\").join(A)+A))}function w(_){return _ instanceof RegExp?(function(b){return function(I){return b.test(I)}})(_):typeof _!="function"?()=>!0:_}let S=(_,b)=>{let I=b.slice(-1);return I=I===o.sep?o.sep:"",be.relative(_,b)+I};return{readFile:function(_,b){var I=x(_);return I&&I.getData(b)||null},childCount:function(_){let b=x(_);if(b)return c.getChildCount(b)},readFileAsync:function(_,b){var I=x(_);I?I.getDataAsync(b):b(null,"getEntry failed for:"+_)},readAsText:function(_,b){var I=x(_);if(I){var A=I.getData();if(A&&A.length)return A.toString(b||"utf8")}return""},readAsTextAsync:function(_,b,I){var A=x(_);A?A.getDataAsync(function(R,D){if(D){b(R,D);return}R&&R.length?b(R.toString(I||"utf8")):b("")}):b("")},deleteFile:function(_,b=!0){var I=x(_);I&&c.deleteFile(I.entryName,b)},deleteEntry:function(_){var b=x(_);b&&c.deleteEntry(b.entryName)},addZipComment:function(_){c.comment=_},getZipComment:function(){return c.comment||""},addZipEntryComment:function(_,b){var I=x(_);I&&(I.comment=b)},getZipEntryComment:function(_){var b=x(_);return b&&b.comment||""},updateFile:function(_,b){var I=x(_);I&&I.setData(b)},addLocalFile:function(_,b,I,A){if(o.fs.existsSync(_)){b=b?p(b):"";let R=be.win32.basename(be.win32.normalize(_));b+=I||R;let D=o.fs.statSync(_),y=D.isFile()?o.fs.readFileSync(_):Buffer.alloc(0);D.isDirectory()&&(b+=o.sep),this.addFile(b,y,A,D)}else throw Ee.Errors.FILE_NOT_FOUND(_)},addLocalFileAsync:function(_,b){_=typeof _=="object"?_:{localPath:_};let I=be.resolve(_.localPath),{comment:A}=_,{zipPath:R,zipName:D}=_,y=this;o.fs.stat(I,function(C,O){if(C)return b(C,!1);R=R?p(R):"";let B=be.win32.basename(be.win32.normalize(I));if(R+=D||B,O.isFile())o.fs.readFile(I,function(N,J){return N?b(N,!1):(y.addFile(R,J,A,O),setImmediate(b,void 0,!0))});else if(O.isDirectory())return R+=o.sep,y.addFile(R,Buffer.alloc(0),A,O),setImmediate(b,void 0,!0)})},addLocalFolder:function(_,b,I){if(I=w(I),b=b?p(b):"",_=be.normalize(_),o.fs.existsSync(_)){let A=o.findFiles(_),R=this;if(A.length)for(let D of A){let y=be.join(b,S(_,D));I(y)&&R.addLocalFile(D,be.dirname(y))}}else throw Ee.Errors.FILE_NOT_FOUND(_)},addLocalFolderAsync:function(_,b,I,A){A=w(A),I=I?p(I):"",_=be.normalize(_);var R=this;o.fs.open(_,"r",function(D){if(D&&D.code==="ENOENT")b(void 0,Ee.Errors.FILE_NOT_FOUND(_));else if(D)b(void 0,D);else{var y=o.findFiles(_),C=-1,O=function(){if(C+=1,C<y.length){var B=y[C],N=S(_,B).split("\\").join("/");N=N.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),A(N)?o.fs.stat(B,function(J,K){J&&b(void 0,J),K.isFile()?o.fs.readFile(B,function(ie,X){ie?b(void 0,ie):(R.addFile(I+N,X,"",K),O())}):(R.addFile(I+N+"/",Buffer.alloc(0),"",K),O())}):process.nextTick(()=>{O()})}else b(!0,void 0)};O()}})},addLocalFolderAsync2:function(_,b){let I=this;_=typeof _=="object"?_:{localPath:_},localPath=be.resolve(p(_.localPath));let{zipPath:A,filter:R,namefix:D}=_;R instanceof RegExp?R=(function(O){return function(B){return O.test(B)}})(R):typeof R!="function"&&(R=function(){return!0}),A=A?p(A):"",D=="latin1"&&(D=O=>O.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),typeof D!="function"&&(D=O=>O);let y=O=>be.join(A,D(S(localPath,O))),C=O=>be.win32.basename(be.win32.normalize(D(O)));o.fs.open(localPath,"r",function(O){O&&O.code==="ENOENT"?b(void 0,Ee.Errors.FILE_NOT_FOUND(localPath)):O?b(void 0,O):o.findFilesAsync(localPath,function(B,N){if(B)return b(B);N=N.filter(J=>R(y(J))),N.length||b(void 0,!1),setImmediate(N.reverse().reduce(function(J,K){return function(ie,X){if(ie||X===!1)return setImmediate(J,ie,!1);I.addLocalFileAsync({localPath:K,zipPath:be.dirname(y(K)),zipName:C(K)},J)}},b))})})},addLocalFolderPromise:function(_,b){return new Promise((I,A)=>{this.addLocalFolderAsync2(Object.assign({localPath:_},b),(R,D)=>{R&&A(R),D&&I(this)})})},addFile:function(_,b,I,A){_=f(_);let R=x(_),D=R!=null;D||(R=new Wm(i),R.entryName=_),R.comment=I||"";let y=typeof A=="object"&&A instanceof o.fs.Stats;y&&(R.header.time=A.mtime);var C=R.isDirectory?16:0;let O=R.isDirectory?16384:32768;return y?O|=4095&A.mode:typeof A=="number"?O|=4095&A:O|=R.isDirectory?493:420,C=(C|O<<16)>>>0,R.attr=C,R.setData(b),D||c.setEntry(R),R},getEntries:function(_){return c.password=_,c?c.entries:[]},getEntry:function(_){return x(_)},getEntryCount:function(){return c.getEntryCount()},forEach:function(_){return c.forEach(_)},extractEntryTo:function(_,b,I,A,R,D){A=Dn(!1,A),R=Dn(!1,R),I=Dn(!0,I),D=Eu(R,D);var y=x(_);if(!y)throw Ee.Errors.NO_ENTRY();var C=d(y.entryName),O=u(b,D&&!y.isDirectory?D:I?C:be.basename(C));if(y.isDirectory){var B=c.getEntryChildren(y);return B.forEach(function(K){if(K.isDirectory)return;var ie=K.getData();if(!ie)throw Ee.Errors.CANT_EXTRACT_FILE();var X=d(K.entryName),oe=u(b,I?X:be.basename(X));let ae=R?K.header.fileAttr:void 0;o.writeFileTo(oe,ie,A,ae)}),!0}var N=y.getData(c.password);if(!N)throw Ee.Errors.CANT_EXTRACT_FILE();if(o.fs.existsSync(O)&&!A)throw Ee.Errors.CANT_OVERRIDE();let J=R?_.header.fileAttr:void 0;return o.writeFileTo(O,N,A,J),!0},test:function(_){if(!c)return!1;for(var b in c.entries)try{if(b.isDirectory)continue;var I=c.entries[b].getData(_);if(!I)return!1}catch{return!1}return!0},extractAllTo:function(_,b,I,A){if(I=Dn(!1,I),A=Eu(I,A),b=Dn(!1,b),!c)throw Ee.Errors.NO_ZIP();c.entries.forEach(function(R){var D=u(_,d(R.entryName));if(R.isDirectory){o.makeDir(D);return}var y=R.getData(A);if(!y)throw Ee.Errors.CANT_EXTRACT_FILE();let C=I?R.header.fileAttr:void 0;o.writeFileTo(D,y,b,C);try{o.fs.utimesSync(D,R.header.time,R.header.time)}catch{throw Ee.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(_,b,I,A){if(A=Km(b,I,A),I=Dn(!1,I),b=Dn(!1,b),!A)return new Promise((O,B)=>{this.extractAllToAsync(_,b,I,function(N){N?B(N):O(this)})});if(!c){A(Ee.Errors.NO_ZIP());return}_=be.resolve(_);let R=O=>u(_,be.normalize(d(O.entryName))),D=(O,B)=>new Error(O+': "'+B+'"'),y=[],C=[];c.entries.forEach(O=>{O.isDirectory?y.push(O):C.push(O)});for(let O of y){let B=R(O),N=I?O.header.fileAttr:void 0;try{o.makeDir(B),N&&o.fs.chmodSync(B,N),o.fs.utimesSync(B,O.header.time,O.header.time)}catch{A(D("Unable to create folder",B))}}C.reverse().reduce(function(O,B){return function(N){if(N)O(N);else{let J=be.normalize(d(B.entryName)),K=u(_,J);B.getDataAsync(function(ie,X){if(X)O(X);else if(!ie)O(Ee.Errors.CANT_EXTRACT_FILE());else{let oe=I?B.header.fileAttr:void 0;o.writeFileToAsync(K,ie,b,oe,function(ae){ae||O(D("Unable to write file",K)),o.fs.utimes(K,B.header.time,B.header.time,function(P){P?O(D("Unable to set times",K)):O()})})}})}}},A)()},writeZip:function(_,b){if(arguments.length===1&&typeof _=="function"&&(b=_,_=""),!_&&i.filename&&(_=i.filename),!!_){var I=c.compressToBuffer();if(I){var A=o.writeFileTo(_,I,!0);typeof b=="function"&&b(A?null:new Error("failed"),"")}}},writeZipPromise:function(_,b){let{overwrite:I,perm:A}=Object.assign({overwrite:!0},b);return new Promise((R,D)=>{!_&&i.filename&&(_=i.filename),_||D("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(y=>{let C=O=>O?R(O):D("ADM-ZIP: Wasn't able to write zip file");o.writeFileToAsync(_,y,I,A,C)},D)})},toBufferPromise:function(){return new Promise((_,b)=>{c.toAsyncBuffer(_,b)})},toBuffer:function(_,b,I,A){return typeof _=="function"?(c.toAsyncBuffer(_,b,I,A),null):c.compressToBuffer()}}}});import{execFile as ey,spawn as ty,spawnSync as tk}from"node:child_process";import{promisify as ny}from"node:util";function iy(t){if(process.platform!=="win32")return!1;if(jf.test(t))return!0;let n=(t.split(/[/\\]/).pop()??t).replace(jf,"").toLowerCase();return ry.has(n)}function Wf(t,e){if(process.platform!=="win32")return e??{};let n={...e??{}};return iy(t)&&n.shell===void 0&&(n.shell=!0),n.windowsHide===void 0&&(n.windowsHide=!0),n}function st(t,e=[],n={}){return ty(t,e,Wf(t,n))}function $f(t,e=[],n={}){return sy(t,e,Wf(t,n))}var ry,jf,sy,Zt=nt(()=>{"use strict";ry=new Set(["npm","npx","yarn","pnpm","coze","tsx","claude-agent-acp","codex-acp","openclaw"]),jf=/\.(cmd|bat|ps1)$/i;sy=ny(ey)});var Qt=ce((sC,Mh)=>{"use strict";var Lh=["nodebuffer","arraybuffer","fragments"],Nh=typeof Blob<"u";Nh&&Lh.push("blob");Mh.exports={BINARY_TYPES:Lh,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Nh,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Xi=ce((oC,Fo)=>{"use strict";var{EMPTY_BUFFER:qE}=Qt(),Ed=Buffer[Symbol.species];function jE(t,e){if(t.length===0)return qE;if(t.length===1)return t[0];let n=Buffer.allocUnsafe(e),i=0;for(let o=0;o<t.length;o++){let c=t[o];n.set(c,i),i+=c.length}return i<e?new Ed(n.buffer,n.byteOffset,i):n}function Bh(t,e,n,i,o){for(let c=0;c<o;c++)n[i+c]=t[c]^e[c&3]}function Fh(t,e){for(let n=0;n<t.length;n++)t[n]^=e[n&3]}function WE(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function vd(t){if(vd.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new Ed(t):ArrayBuffer.isView(t)?e=new Ed(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),vd.readOnly=!1),e}Fo.exports={concat:jE,mask:Bh,toArrayBuffer:WE,toBuffer:vd,unmask:Fh};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=he("bufferutil");Fo.exports.mask=function(e,n,i,o,c){c<48?Bh(e,n,i,o,c):t.mask(e,n,i,o,c)},Fo.exports.unmask=function(e,n){e.length<32?Fh(e,n):t.unmask(e,n)}}catch{}});var Gh=ce((aC,Uh)=>{"use strict";var zh=Symbol("kDone"),Sd=Symbol("kRun"),Id=class{constructor(e){this[zh]=()=>{this.pending--,this[Sd]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Sd]()}[Sd](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[zh])}}};Uh.exports=Id});var Hr=ce((cC,Wh)=>{"use strict";var Qi=he("zlib"),Hh=Xi(),$E=Gh(),{kStatusCode:qh}=Qt(),KE=Buffer[Symbol.species],VE=Buffer.from([0,0,255,255]),Uo=Symbol("permessage-deflate"),en=Symbol("total-length"),Ur=Symbol("callback"),kn=Symbol("buffers"),Gr=Symbol("error"),zo,Ad=class{constructor(e){if(this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!zo){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;zo=new $E(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[Ur];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let n=this._options,i=e.find(o=>!(n.serverNoContextTakeover===!1&&o.server_no_context_takeover||o.server_max_window_bits&&(n.serverMaxWindowBits===!1||typeof n.serverMaxWindowBits=="number"&&n.serverMaxWindowBits>o.server_max_window_bits)||typeof n.clientMaxWindowBits=="number"&&!o.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return n.serverNoContextTakeover&&(i.server_no_context_takeover=!0),n.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof n.serverMaxWindowBits=="number"&&(i.server_max_window_bits=n.serverMaxWindowBits),typeof n.clientMaxWindowBits=="number"?i.client_max_window_bits=n.clientMaxWindowBits:(i.client_max_window_bits===!0||n.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let n=e[0];if(this._options.clientNoContextTakeover===!1&&n.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!n.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(n.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&n.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return n}normalizeParams(e){return e.forEach(n=>{Object.keys(n).forEach(i=>{let o=n[i];if(o.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(o=o[0],i==="client_max_window_bits"){if(o!==!0){let c=+o;if(!Number.isInteger(c)||c<8||c>15)throw new TypeError(`Invalid value for parameter "${i}": ${o}`);o=c}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${o}`)}else if(i==="server_max_window_bits"){let c=+o;if(!Number.isInteger(c)||c<8||c>15)throw new TypeError(`Invalid value for parameter "${i}": ${o}`);o=c}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(o!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${o}`)}else throw new Error(`Unknown parameter "${i}"`);n[i]=o})}),e}decompress(e,n,i){zo.add(o=>{this._decompress(e,n,(c,d)=>{o(),i(c,d)})})}compress(e,n,i){zo.add(o=>{this._compress(e,n,(c,d)=>{o(),i(c,d)})})}_decompress(e,n,i){let o=this._isServer?"client":"server";if(!this._inflate){let c=`${o}_max_window_bits`,d=typeof this.params[c]!="number"?Qi.Z_DEFAULT_WINDOWBITS:this.params[c];this._inflate=Qi.createInflateRaw({...this._options.zlibInflateOptions,windowBits:d}),this._inflate[Uo]=this,this._inflate[en]=0,this._inflate[kn]=[],this._inflate.on("error",YE),this._inflate.on("data",jh)}this._inflate[Ur]=i,this._inflate.write(e),n&&this._inflate.write(VE),this._inflate.flush(()=>{let c=this._inflate[Gr];if(c){this._inflate.close(),this._inflate=null,i(c);return}let d=Hh.concat(this._inflate[kn],this._inflate[en]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[en]=0,this._inflate[kn]=[],n&&this.params[`${o}_no_context_takeover`]&&this._inflate.reset()),i(null,d)})}_compress(e,n,i){let o=this._isServer?"server":"client";if(!this._deflate){let c=`${o}_max_window_bits`,d=typeof this.params[c]!="number"?Qi.Z_DEFAULT_WINDOWBITS:this.params[c];this._deflate=Qi.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:d}),this._deflate[en]=0,this._deflate[kn]=[],this._deflate.on("data",JE)}this._deflate[Ur]=i,this._deflate.write(e),this._deflate.flush(Qi.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let c=Hh.concat(this._deflate[kn],this._deflate[en]);n&&(c=new KE(c.buffer,c.byteOffset,c.length-4)),this._deflate[Ur]=null,this._deflate[en]=0,this._deflate[kn]=[],n&&this.params[`${o}_no_context_takeover`]&&this._deflate.reset(),i(null,c)})}};Wh.exports=Ad;function JE(t){this[kn].push(t),this[en]+=t.length}function jh(t){if(this[en]+=t.length,this[Uo]._maxPayload<1||this[en]<=this[Uo]._maxPayload){this[kn].push(t);return}this[Gr]=new RangeError("Max payload size exceeded"),this[Gr].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Gr][qh]=1009,this.removeListener("data",jh),this.reset()}function YE(t){if(this[Uo]._inflate=null,this[Gr]){this[Ur](this[Gr]);return}t[qh]=1007,this[Ur](t)}});var qr=ce((dC,Go)=>{"use strict";var{isUtf8:$h}=he("buffer"),{hasBlob:ZE}=Qt(),XE=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function QE(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function kd(t){let e=t.length,n=0;for(;n<e;)if((t[n]&128)===0)n++;else if((t[n]&224)===192){if(n+1===e||(t[n+1]&192)!==128||(t[n]&254)===192)return!1;n+=2}else if((t[n]&240)===224){if(n+2>=e||(t[n+1]&192)!==128||(t[n+2]&192)!==128||t[n]===224&&(t[n+1]&224)===128||t[n]===237&&(t[n+1]&224)===160)return!1;n+=3}else if((t[n]&248)===240){if(n+3>=e||(t[n+1]&192)!==128||(t[n+2]&192)!==128||(t[n+3]&192)!==128||t[n]===240&&(t[n+1]&240)===128||t[n]===244&&t[n+1]>143||t[n]>244)return!1;n+=4}else return!1;return!0}function ev(t){return ZE&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}Go.exports={isBlob:ev,isValidStatusCode:QE,isValidUTF8:kd,tokenChars:XE};if($h)Go.exports.isValidUTF8=function(t){return t.length<24?kd(t):$h(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=he("utf-8-validate");Go.exports.isValidUTF8=function(e){return e.length<32?kd(e):t(e)}}catch{}});var Dd=ce((lC,Qh)=>{"use strict";var{Writable:tv}=he("stream"),Kh=Hr(),{BINARY_TYPES:nv,EMPTY_BUFFER:Vh,kStatusCode:rv,kWebSocket:iv}=Qt(),{concat:Td,toArrayBuffer:sv,unmask:ov}=Xi(),{isValidStatusCode:av,isValidUTF8:Jh}=qr(),Ho=Buffer[Symbol.species],gt=0,Yh=1,Zh=2,Xh=3,Rd=4,Pd=5,qo=6,Cd=class extends tv{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||nv[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxBufferedChunks=e.maxBufferedChunks|0,this._maxFragments=e.maxFragments|0,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[iv]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=gt}_write(e,n,i){if(this._opcode===8&&this._state==gt)return i();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){i(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new Ho(i.buffer,i.byteOffset+e,i.length-e),new Ho(i.buffer,i.byteOffset,e)}let n=Buffer.allocUnsafe(e);do{let i=this._buffers[0],o=n.length-e;e>=i.length?n.set(this._buffers.shift(),o):(n.set(new Uint8Array(i.buffer,i.byteOffset,e),o),this._buffers[0]=new Ho(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return n}startLoop(e){this._loop=!0;do switch(this._state){case gt:this.getInfo(e);break;case Yh:this.getPayloadLength16(e);break;case Zh:this.getPayloadLength64(e);break;case Xh:this.getMask();break;case Rd:this.getData(e);break;case Pd:case qo:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let n=this.consume(2);if((n[0]&48)!==0){let o=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(o);return}let i=(n[0]&64)===64;if(i&&!this._extensions[Kh.extensionName]){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(this._fin=(n[0]&128)===128,this._opcode=n[0]&15,this._payloadLength=n[1]&127,this._opcode===0){if(i){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(!this._fragmented){let o=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let o=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let o=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(o);return}if(i){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let o=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(o);return}}else{let o=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(n[1]&128)===128,this._isServer){if(!this._masked){let o=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(o);return}}else if(this._masked){let o=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(o);return}this._payloadLength===126?this._state=Yh:this._payloadLength===127?this._state=Zh:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let n=this.consume(8),i=n.readUInt32BE(0);if(i>Math.pow(2,21)-1){let o=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(o);return}this._payloadLength=i*Math.pow(2,32)+n.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let n=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(n);return}this._masked?this._state=Xh:this._state=Rd}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Rd}getData(e){let n=Vh;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}n=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&ov(n,this._mask)}if(this._opcode>7){this.controlMessage(n,e);return}if(this._compressed){this._state=Pd,this.decompress(n,e);return}if(n.length){if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let i=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");e(i);return}this._messageLength=this._totalPayloadLength,this._fragments.push(n)}this.dataMessage(e)}decompress(e,n){this._extensions[Kh.extensionName].decompress(e,this._fin,(o,c)=>{if(o)return n(o);if(c.length){if(this._messageLength+=c.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let d=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");n(d);return}if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let d=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");n(d);return}this._fragments.push(c)}this.dataMessage(n),this._state===gt&&this.startLoop(n)})}dataMessage(e){if(!this._fin){this._state=gt;return}let n=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let o;this._binaryType==="nodebuffer"?o=Td(i,n):this._binaryType==="arraybuffer"?o=sv(Td(i,n)):this._binaryType==="blob"?o=new Blob(i):o=i,this._allowSynchronousEvents?(this.emit("message",o,!0),this._state=gt):(this._state=qo,setImmediate(()=>{this.emit("message",o,!0),this._state=gt,this.startLoop(e)}))}else{let o=Td(i,n);if(!this._skipUTF8Validation&&!Jh(o)){let c=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(c);return}this._state===Pd||this._allowSynchronousEvents?(this.emit("message",o,!1),this._state=gt):(this._state=qo,setImmediate(()=>{this.emit("message",o,!1),this._state=gt,this.startLoop(e)}))}}controlMessage(e,n){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Vh),this.end();else{let i=e.readUInt16BE(0);if(!av(i)){let c=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");n(c);return}let o=new Ho(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Jh(o)){let c=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");n(c);return}this._loop=!1,this.emit("conclude",i,o),this.end()}this._state=gt;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=gt):(this._state=qo,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=gt,this.startLoop(n)}))}createError(e,n,i,o,c){this._loop=!1,this._errored=!0;let d=new e(i?`Invalid WebSocket frame: ${n}`:n);return Error.captureStackTrace(d,this.createError),d.code=c,d[rv]=o,d}};Qh.exports=Cd});var Nd=ce((fC,nx)=>{"use strict";var{Duplex:uC}=he("stream"),{randomFillSync:cv}=he("crypto"),{types:{isUint8Array:dv}}=he("util"),ex=Hr(),{EMPTY_BUFFER:lv,kWebSocket:uv,NOOP:fv}=Qt(),{isBlob:jr,isValidStatusCode:hv}=qr(),{mask:tx,toBuffer:Yn}=Xi(),mt=Symbol("kByteLength"),xv=Buffer.alloc(4),jo=8*1024,Zn,Wr=jo,At=0,pv=1,gv=2,Od=class t{constructor(e,n,i){this._extensions=n||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=At,this.onerror=fv,this[uv]=void 0}static frame(e,n){let i,o=!1,c=2,d=!1;n.mask&&(i=n.maskBuffer||xv,n.generateMask?n.generateMask(i):(Wr===jo&&(Zn===void 0&&(Zn=Buffer.alloc(jo)),cv(Zn,0,jo),Wr=0),i[0]=Zn[Wr++],i[1]=Zn[Wr++],i[2]=Zn[Wr++],i[3]=Zn[Wr++]),d=(i[0]|i[1]|i[2]|i[3])===0,c=6);let u;typeof e=="string"?(!n.mask||d)&&n[mt]!==void 0?u=n[mt]:(e=Buffer.from(e),u=e.length):(u=e.length,o=n.mask&&n.readOnly&&!d);let f=u;u>=65536?(c+=8,f=127):u>125&&(c+=2,f=126);let x=Buffer.allocUnsafe(o?u+c:c);return x[0]=n.fin?n.opcode|128:n.opcode,n.rsv1&&(x[0]|=64),x[1]=f,f===126?x.writeUInt16BE(u,2):f===127&&(x[2]=x[3]=0,x.writeUIntBE(u,4,6)),n.mask?(x[1]|=128,x[c-4]=i[0],x[c-3]=i[1],x[c-2]=i[2],x[c-1]=i[3],d?[x,e]:o?(tx(e,i,x,c,u),[x]):(tx(e,i,e,0,u),[x,e])):[x,e]}close(e,n,i,o){let c;if(e===void 0)c=lv;else{if(typeof e!="number"||!hv(e))throw new TypeError("First argument must be a valid error code number");if(n===void 0||!n.length)c=Buffer.allocUnsafe(2),c.writeUInt16BE(e,0);else{let u=Buffer.byteLength(n);if(u>123)throw new RangeError("The message must not be greater than 123 bytes");if(c=Buffer.allocUnsafe(2+u),c.writeUInt16BE(e,0),typeof n=="string")c.write(n,2);else if(dv(n))c.set(n,2);else throw new TypeError("Second argument must be a string or a Uint8Array")}}let d={[mt]:c.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==At?this.enqueue([this.dispatch,c,!1,d,o]):this.sendFrame(t.frame(c,d),o)}ping(e,n,i){let o,c;if(typeof e=="string"?(o=Buffer.byteLength(e),c=!1):jr(e)?(o=e.size,c=!1):(e=Yn(e),o=e.length,c=Yn.readOnly),o>125)throw new RangeError("The data size must not be greater than 125 bytes");let d={[mt]:o,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:9,readOnly:c,rsv1:!1};jr(e)?this._state!==At?this.enqueue([this.getBlobData,e,!1,d,i]):this.getBlobData(e,!1,d,i):this._state!==At?this.enqueue([this.dispatch,e,!1,d,i]):this.sendFrame(t.frame(e,d),i)}pong(e,n,i){let o,c;if(typeof e=="string"?(o=Buffer.byteLength(e),c=!1):jr(e)?(o=e.size,c=!1):(e=Yn(e),o=e.length,c=Yn.readOnly),o>125)throw new RangeError("The data size must not be greater than 125 bytes");let d={[mt]:o,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:10,readOnly:c,rsv1:!1};jr(e)?this._state!==At?this.enqueue([this.getBlobData,e,!1,d,i]):this.getBlobData(e,!1,d,i):this._state!==At?this.enqueue([this.dispatch,e,!1,d,i]):this.sendFrame(t.frame(e,d),i)}send(e,n,i){let o=this._extensions[ex.extensionName],c=n.binary?2:1,d=n.compress,u,f;typeof e=="string"?(u=Buffer.byteLength(e),f=!1):jr(e)?(u=e.size,f=!1):(e=Yn(e),u=e.length,f=Yn.readOnly),this._firstFragment?(this._firstFragment=!1,d&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(d=u>=o._threshold),this._compress=d):(d=!1,c=0),n.fin&&(this._firstFragment=!0);let x={[mt]:u,fin:n.fin,generateMask:this._generateMask,mask:n.mask,maskBuffer:this._maskBuffer,opcode:c,readOnly:f,rsv1:d};jr(e)?this._state!==At?this.enqueue([this.getBlobData,e,this._compress,x,i]):this.getBlobData(e,this._compress,x,i):this._state!==At?this.enqueue([this.dispatch,e,this._compress,x,i]):this.dispatch(e,this._compress,x,i)}getBlobData(e,n,i,o){this._bufferedBytes+=i[mt],this._state=gv,e.arrayBuffer().then(c=>{if(this._socket.destroyed){let u=new Error("The socket was closed while the blob was being read");process.nextTick(Ld,this,u,o);return}this._bufferedBytes-=i[mt];let d=Yn(c);n?this.dispatch(d,n,i,o):(this._state=At,this.sendFrame(t.frame(d,i),o),this.dequeue())}).catch(c=>{process.nextTick(mv,this,c,o)})}dispatch(e,n,i,o){if(!n){this.sendFrame(t.frame(e,i),o);return}let c=this._extensions[ex.extensionName];this._bufferedBytes+=i[mt],this._state=pv,c.compress(e,i.fin,(d,u)=>{if(this._socket.destroyed){let f=new Error("The socket was closed while data was being compressed");Ld(this,f,o);return}this._bufferedBytes-=i[mt],this._state=At,i.readOnly=!1,this.sendFrame(t.frame(u,i),o),this.dequeue()})}dequeue(){for(;this._state===At&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][mt],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][mt],this._queue.push(e)}sendFrame(e,n){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],n),this._socket.uncork()):this._socket.write(e[0],n)}};nx.exports=Od;function Ld(t,e,n){typeof n=="function"&&n(e);for(let i=0;i<t._queue.length;i++){let o=t._queue[i],c=o[o.length-1];typeof c=="function"&&c(e)}}function mv(t,e,n){Ld(t,e,n),t.onerror(e)}});var ux=ce((hC,lx)=>{"use strict";var{kForOnEventAttribute:es,kListener:Md}=Qt(),rx=Symbol("kCode"),ix=Symbol("kData"),sx=Symbol("kError"),ox=Symbol("kMessage"),ax=Symbol("kReason"),$r=Symbol("kTarget"),cx=Symbol("kType"),dx=Symbol("kWasClean"),tn=class{constructor(e){this[$r]=null,this[cx]=e}get target(){return this[$r]}get type(){return this[cx]}};Object.defineProperty(tn.prototype,"target",{enumerable:!0});Object.defineProperty(tn.prototype,"type",{enumerable:!0});var Xn=class extends tn{constructor(e,n={}){super(e),this[rx]=n.code===void 0?0:n.code,this[ax]=n.reason===void 0?"":n.reason,this[dx]=n.wasClean===void 0?!1:n.wasClean}get code(){return this[rx]}get reason(){return this[ax]}get wasClean(){return this[dx]}};Object.defineProperty(Xn.prototype,"code",{enumerable:!0});Object.defineProperty(Xn.prototype,"reason",{enumerable:!0});Object.defineProperty(Xn.prototype,"wasClean",{enumerable:!0});var Kr=class extends tn{constructor(e,n={}){super(e),this[sx]=n.error===void 0?null:n.error,this[ox]=n.message===void 0?"":n.message}get error(){return this[sx]}get message(){return this[ox]}};Object.defineProperty(Kr.prototype,"error",{enumerable:!0});Object.defineProperty(Kr.prototype,"message",{enumerable:!0});var ts=class extends tn{constructor(e,n={}){super(e),this[ix]=n.data===void 0?null:n.data}get data(){return this[ix]}};Object.defineProperty(ts.prototype,"data",{enumerable:!0});var wv={addEventListener(t,e,n={}){for(let o of this.listeners(t))if(!n[es]&&o[Md]===e&&!o[es])return;let i;if(t==="message")i=function(c,d){let u=new ts("message",{data:d?c:c.toString()});u[$r]=this,Wo(e,this,u)};else if(t==="close")i=function(c,d){let u=new Xn("close",{code:c,reason:d.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});u[$r]=this,Wo(e,this,u)};else if(t==="error")i=function(c){let d=new Kr("error",{error:c,message:c.message});d[$r]=this,Wo(e,this,d)};else if(t==="open")i=function(){let c=new tn("open");c[$r]=this,Wo(e,this,c)};else return;i[es]=!!n[es],i[Md]=e,n.once?this.once(t,i):this.on(t,i)},removeEventListener(t,e){for(let n of this.listeners(t))if(n[Md]===e&&!n[es]){this.removeListener(t,n);break}}};lx.exports={CloseEvent:Xn,ErrorEvent:Kr,Event:tn,EventTarget:wv,MessageEvent:ts};function Wo(t,e,n){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,n):t.call(e,n)}});var $o=ce((xC,fx)=>{"use strict";var{tokenChars:ns}=qr();function Bt(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}function _v(t){let e=Object.create(null),n=Object.create(null),i=!1,o=!1,c=!1,d,u,f=-1,x=-1,p=-1,w=0;for(;w<t.length;w++)if(x=t.charCodeAt(w),d===void 0)if(p===-1&&ns[x]===1)f===-1&&(f=w);else if(w!==0&&(x===32||x===9))p===-1&&f!==-1&&(p=w);else if(x===59||x===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${w}`);p===-1&&(p=w);let _=t.slice(f,p);x===44?(Bt(e,_,n),n=Object.create(null)):d=_,f=p=-1}else throw new SyntaxError(`Unexpected character at index ${w}`);else if(u===void 0)if(p===-1&&ns[x]===1)f===-1&&(f=w);else if(x===32||x===9)p===-1&&f!==-1&&(p=w);else if(x===59||x===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${w}`);p===-1&&(p=w),Bt(n,t.slice(f,p),!0),x===44&&(Bt(e,d,n),n=Object.create(null),d=void 0),f=p=-1}else if(x===61&&f!==-1&&p===-1)u=t.slice(f,w),f=p=-1;else throw new SyntaxError(`Unexpected character at index ${w}`);else if(o){if(ns[x]!==1)throw new SyntaxError(`Unexpected character at index ${w}`);f===-1?f=w:i||(i=!0),o=!1}else if(c)if(ns[x]===1)f===-1&&(f=w);else if(x===34&&f!==-1)c=!1,p=w;else if(x===92)o=!0;else throw new SyntaxError(`Unexpected character at index ${w}`);else if(x===34&&t.charCodeAt(w-1)===61)c=!0;else if(p===-1&&ns[x]===1)f===-1&&(f=w);else if(f!==-1&&(x===32||x===9))p===-1&&(p=w);else if(x===59||x===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${w}`);p===-1&&(p=w);let _=t.slice(f,p);i&&(_=_.replace(/\\/g,""),i=!1),Bt(n,u,_),x===44&&(Bt(e,d,n),n=Object.create(null),d=void 0),u=void 0,f=p=-1}else throw new SyntaxError(`Unexpected character at index ${w}`);if(f===-1||c||x===32||x===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=w);let S=t.slice(f,p);return d===void 0?Bt(e,S,n):(u===void 0?Bt(n,S,!0):i?Bt(n,u,S.replace(/\\/g,"")):Bt(n,u,S),Bt(e,d,n)),e}function yv(t){return Object.keys(t).map(e=>{let n=t[e];return Array.isArray(n)||(n=[n]),n.map(i=>[e].concat(Object.keys(i).map(o=>{let c=i[o];return Array.isArray(c)||(c=[c]),c.map(d=>d===!0?o:`${o}=${d}`).join("; ")})).join("; ")).join(", ")}).join(", ")}fx.exports={format:yv,parse:_v}});var Yo=ce((mC,Ix)=>{"use strict";var bv=he("events"),Ev=he("https"),vv=he("http"),px=he("net"),Sv=he("tls"),{randomBytes:Iv,createHash:Av}=he("crypto"),{Duplex:pC,Readable:gC}=he("stream"),{URL:Bd}=he("url"),Tn=Hr(),kv=Dd(),Tv=Nd(),{isBlob:Rv}=qr(),{BINARY_TYPES:hx,CLOSE_TIMEOUT:Pv,EMPTY_BUFFER:Ko,GUID:Cv,kForOnEventAttribute:Fd,kListener:Dv,kStatusCode:Ov,kWebSocket:We,NOOP:gx}=Qt(),{EventTarget:{addEventListener:Lv,removeEventListener:Nv}}=ux(),{format:Mv,parse:Bv}=$o(),{toBuffer:Fv}=Xi(),mx=Symbol("kAborted"),zd=[8,13],nn=["CONNECTING","OPEN","CLOSING","CLOSED"],zv=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,we=class t extends bv{constructor(e,n,i){super(),this._binaryType=hx[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Ko,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,n===void 0?n=[]:Array.isArray(n)||(typeof n=="object"&&n!==null?(i=n,n=[]):n=[n]),_x(this,e,n,i)):(this._autoPong=i.autoPong,this._closeTimeout=i.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){hx.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,n,i){let o=new kv({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:i.maxBufferedChunks,maxFragments:i.maxFragments,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),c=new Tv(e,this._extensions,i.generateMask);this._receiver=o,this._sender=c,this._socket=e,o[We]=this,c[We]=this,e[We]=this,o.on("conclude",Hv),o.on("drain",qv),o.on("error",jv),o.on("message",Wv),o.on("ping",$v),o.on("pong",Kv),c.onerror=Vv,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),n.length>0&&e.unshift(n),e.on("close",Ex),e.on("data",Jo),e.on("end",vx),e.on("error",Sx),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Tn.extensionName]&&this._extensions[Tn.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,n){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){dt(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,n,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),bx(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,n,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=n=void 0):typeof n=="function"&&(i=n,n=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ud(this,e,i);return}n===void 0&&(n=!this._isServer),this._sender.ping(e||Ko,n,i)}pong(e,n,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=n=void 0):typeof n=="function"&&(i=n,n=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ud(this,e,i);return}n===void 0&&(n=!this._isServer),this._sender.pong(e||Ko,n,i)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,n,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof n=="function"&&(i=n,n={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ud(this,e,i);return}let o={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...n};this._extensions[Tn.extensionName]||(o.compress=!1),this._sender.send(e||Ko,o,i)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){dt(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(we,"CONNECTING",{enumerable:!0,value:nn.indexOf("CONNECTING")});Object.defineProperty(we.prototype,"CONNECTING",{enumerable:!0,value:nn.indexOf("CONNECTING")});Object.defineProperty(we,"OPEN",{enumerable:!0,value:nn.indexOf("OPEN")});Object.defineProperty(we.prototype,"OPEN",{enumerable:!0,value:nn.indexOf("OPEN")});Object.defineProperty(we,"CLOSING",{enumerable:!0,value:nn.indexOf("CLOSING")});Object.defineProperty(we.prototype,"CLOSING",{enumerable:!0,value:nn.indexOf("CLOSING")});Object.defineProperty(we,"CLOSED",{enumerable:!0,value:nn.indexOf("CLOSED")});Object.defineProperty(we.prototype,"CLOSED",{enumerable:!0,value:nn.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(we.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(we.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[Fd])return e[Dv];return null},set(e){for(let n of this.listeners(t))if(n[Fd]){this.removeListener(t,n);break}typeof e=="function"&&this.addEventListener(t,e,{[Fd]:!0})}})});we.prototype.addEventListener=Lv;we.prototype.removeEventListener=Nv;Ix.exports=we;function _x(t,e,n,i){let o={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:Pv,protocolVersion:zd[1],maxBufferedChunks:1048576,maxFragments:131072,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=o.autoPong,t._closeTimeout=o.closeTimeout,!zd.includes(o.protocolVersion))throw new RangeError(`Unsupported protocol version: ${o.protocolVersion} (supported versions: ${zd.join(", ")})`);let c;if(e instanceof Bd)c=e;else try{c=new Bd(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}c.protocol==="http:"?c.protocol="ws:":c.protocol==="https:"&&(c.protocol="wss:"),t._url=c.href;let d=c.protocol==="wss:",u=c.protocol==="ws+unix:",f;if(c.protocol!=="ws:"&&!d&&!u?f=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:u&&!c.pathname?f="The URL's pathname is empty":c.hash&&(f="The URL contains a fragment identifier"),f){let I=new SyntaxError(f);if(t._redirects===0)throw I;Vo(t,I);return}let x=d?443:80,p=Iv(16).toString("base64"),w=d?Ev.request:vv.request,S=new Set,_;if(o.createConnection=o.createConnection||(d?Gv:Uv),o.defaultPort=o.defaultPort||x,o.port=c.port||x,o.host=c.hostname.startsWith("[")?c.hostname.slice(1,-1):c.hostname,o.headers={...o.headers,"Sec-WebSocket-Version":o.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},o.path=c.pathname+c.search,o.timeout=o.handshakeTimeout,o.perMessageDeflate&&(_=new Tn({...o.perMessageDeflate,isServer:!1,maxPayload:o.maxPayload}),o.headers["Sec-WebSocket-Extensions"]=Mv({[Tn.extensionName]:_.offer()})),n.length){for(let I of n){if(typeof I!="string"||!zv.test(I)||S.has(I))throw new SyntaxError("An invalid or duplicated subprotocol was specified");S.add(I)}o.headers["Sec-WebSocket-Protocol"]=n.join(",")}if(o.origin&&(o.protocolVersion<13?o.headers["Sec-WebSocket-Origin"]=o.origin:o.headers.Origin=o.origin),(c.username||c.password)&&(o.auth=`${c.username}:${c.password}`),u){let I=o.path.split(":");o.socketPath=I[0],o.path=I[1]}let b;if(o.followRedirects){if(t._redirects===0){t._originalIpc=u,t._originalSecure=d,t._originalHostOrSocketPath=u?o.socketPath:c.host;let I=i&&i.headers;if(i={...i,headers:{}},I)for(let[A,R]of Object.entries(I))i.headers[A.toLowerCase()]=R}else if(t.listenerCount("redirect")===0){let I=u?t._originalIpc?o.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:c.host===t._originalHostOrSocketPath;(!I||t._originalSecure&&!d)&&(delete o.headers.authorization,delete o.headers.cookie,I||delete o.headers.host,o.auth=void 0)}o.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(o.auth).toString("base64")),b=t._req=w(o),t._redirects&&t.emit("redirect",t.url,b)}else b=t._req=w(o);o.timeout&&b.on("timeout",()=>{dt(t,b,"Opening handshake has timed out")}),b.on("error",I=>{b===null||b[mx]||(b=t._req=null,Vo(t,I))}),b.on("response",I=>{let A=I.headers.location,R=I.statusCode;if(A&&o.followRedirects&&R>=300&&R<400){if(++t._redirects>o.maxRedirects){dt(t,b,"Maximum redirects exceeded");return}b.abort();let D;try{D=new Bd(A,e)}catch{let C=new SyntaxError(`Invalid URL: ${A}`);Vo(t,C);return}_x(t,D,n,i)}else t.emit("unexpected-response",b,I)||dt(t,b,`Unexpected server response: ${I.statusCode}`)}),b.on("upgrade",(I,A,R)=>{if(t.emit("upgrade",I),t.readyState!==we.CONNECTING)return;b=t._req=null;let D=I.headers.upgrade;if(D===void 0||D.toLowerCase()!=="websocket"){dt(t,A,"Invalid Upgrade header");return}let y=Av("sha1").update(p+Cv).digest("base64");if(I.headers["sec-websocket-accept"]!==y){dt(t,A,"Invalid Sec-WebSocket-Accept header");return}let C=I.headers["sec-websocket-protocol"],O;if(C!==void 0?S.size?S.has(C)||(O="Server sent an invalid subprotocol"):O="Server sent a subprotocol but none was requested":S.size&&(O="Server sent no subprotocol"),O){dt(t,A,O);return}C&&(t._protocol=C);let B=I.headers["sec-websocket-extensions"];if(B!==void 0){if(!_){dt(t,A,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let N;try{N=Bv(B)}catch{dt(t,A,"Invalid Sec-WebSocket-Extensions header");return}let J=Object.keys(N);if(J.length!==1||J[0]!==Tn.extensionName){dt(t,A,"Server indicated an extension that was not requested");return}try{_.accept(N[Tn.extensionName])}catch{dt(t,A,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[Tn.extensionName]=_}t.setSocket(A,R,{allowSynchronousEvents:o.allowSynchronousEvents,generateMask:o.generateMask,maxBufferedChunks:o.maxBufferedChunks,maxFragments:o.maxFragments,maxPayload:o.maxPayload,skipUTF8Validation:o.skipUTF8Validation})}),o.finishRequest?o.finishRequest(b,t):b.end()}function Vo(t,e){t._readyState=we.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function Uv(t){return t.path=t.socketPath,px.connect(t)}function Gv(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=px.isIP(t.host)?"":t.host),Sv.connect(t)}function dt(t,e,n){t._readyState=we.CLOSING;let i=new Error(n);Error.captureStackTrace(i,dt),e.setHeader?(e[mx]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Vo,t,i)):(e.destroy(i),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Ud(t,e,n){if(e){let i=Rv(e)?e.size:Fv(e).length;t._socket?t._sender._bufferedBytes+=i:t._bufferedAmount+=i}if(n){let i=new Error(`WebSocket is not open: readyState ${t.readyState} (${nn[t.readyState]})`);process.nextTick(n,i)}}function Hv(t,e){let n=this[We];n._closeFrameReceived=!0,n._closeMessage=e,n._closeCode=t,n._socket[We]!==void 0&&(n._socket.removeListener("data",Jo),process.nextTick(yx,n._socket),t===1005?n.close():n.close(t,e))}function qv(){let t=this[We];t.isPaused||t._socket.resume()}function jv(t){let e=this[We];e._socket[We]!==void 0&&(e._socket.removeListener("data",Jo),process.nextTick(yx,e._socket),e.close(t[Ov])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function xx(){this[We].emitClose()}function Wv(t,e){this[We].emit("message",t,e)}function $v(t){let e=this[We];e._autoPong&&e.pong(t,!this._isServer,gx),e.emit("ping",t)}function Kv(t){this[We].emit("pong",t)}function yx(t){t.resume()}function Vv(t){let e=this[We];e.readyState!==we.CLOSED&&(e.readyState===we.OPEN&&(e._readyState=we.CLOSING,bx(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function bx(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function Ex(){let t=this[We];if(this.removeListener("close",Ex),this.removeListener("data",Jo),this.removeListener("end",vx),t._readyState=we.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[We]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",xx),t._receiver.on("finish",xx))}function Jo(t){this[We]._receiver.write(t)||this.pause()}function vx(){let t=this[We];t._readyState=we.CLOSING,t._receiver.end(),this.end()}function Sx(){let t=this[We];this.removeListener("error",Sx),this.on("error",gx),t&&(t._readyState=we.CLOSING,this.destroy())}});var Rx=ce((_C,Tx)=>{"use strict";var wC=Yo(),{Duplex:Jv}=he("stream");function Ax(t){t.emit("close")}function Yv(){!this.destroyed&&this._writableState.finished&&this.destroy()}function kx(t){this.removeListener("error",kx),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function Zv(t,e){let n=!0,i=new Jv({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(c,d){let u=!d&&i._readableState.objectMode?c.toString():c;i.push(u)||t.pause()}),t.once("error",function(c){i.destroyed||(n=!1,i.destroy(c))}),t.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(o,c){if(t.readyState===t.CLOSED){c(o),process.nextTick(Ax,i);return}let d=!1;t.once("error",function(f){d=!0,c(f)}),t.once("close",function(){d||c(o),process.nextTick(Ax,i)}),n&&t.terminate()},i._final=function(o){if(t.readyState===t.CONNECTING){t.once("open",function(){i._final(o)});return}t._socket!==null&&(t._socket._writableState.finished?(o(),i._readableState.endEmitted&&i.destroy()):(t._socket.once("finish",function(){o()}),t.close()))},i._read=function(){t.isPaused&&t.resume()},i._write=function(o,c,d){if(t.readyState===t.CONNECTING){t.once("open",function(){i._write(o,c,d)});return}t.send(o,d)},i.on("end",Yv),i.on("error",kx),i}Tx.exports=Zv});var Gd=ce((yC,Px)=>{"use strict";var{tokenChars:Xv}=qr();function Qv(t){let e=new Set,n=-1,i=-1,o=0;for(o;o<t.length;o++){let d=t.charCodeAt(o);if(i===-1&&Xv[d]===1)n===-1&&(n=o);else if(o!==0&&(d===32||d===9))i===-1&&n!==-1&&(i=o);else if(d===44){if(n===-1)throw new SyntaxError(`Unexpected character at index ${o}`);i===-1&&(i=o);let u=t.slice(n,i);if(e.has(u))throw new SyntaxError(`The "${u}" subprotocol is duplicated`);e.add(u),n=i=-1}else throw new SyntaxError(`Unexpected character at index ${o}`)}if(n===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let c=t.slice(n,o);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);return e.add(c),e}Px.exports={parse:Qv}});var Bx=ce((EC,Mx)=>{"use strict";var eS=he("events"),Zo=he("http"),{Duplex:bC}=he("stream"),{createHash:tS}=he("crypto"),Cx=$o(),Qn=Hr(),nS=Gd(),rS=Yo(),{CLOSE_TIMEOUT:iS,GUID:sS,kWebSocket:oS}=Qt(),aS=/^[+/0-9A-Za-z]{22}==$/,Dx=0,Ox=1,Nx=2,Hd=class extends eS{constructor(e,n){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:1024*1024,maxFragments:128*1024,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:iS,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:rS,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Zo.createServer((i,o)=>{let c=Zo.STATUS_CODES[426];o.writeHead(426,{"Content-Length":c.length,"Content-Type":"text/plain"}),o.end(c)}),this._server.listen(e.port,e.host,e.backlog,n)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=cS(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(o,c,d)=>{this.handleUpgrade(o,c,d,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Dx}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Nx){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(rs,this);return}if(e&&this.once("close",e),this._state!==Ox)if(this._state=Ox,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(rs,this):process.nextTick(rs,this);else{let n=this._server;this._removeListeners(),this._removeListeners=this._server=null,n.close(()=>{rs(this)})}}shouldHandle(e){if(this.options.path){let n=e.url.indexOf("?");if((n!==-1?e.url.slice(0,n):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,n,i,o){n.on("error",Lx);let c=e.headers["sec-websocket-key"],d=e.headers.upgrade,u=+e.headers["sec-websocket-version"];if(e.method!=="GET"){er(this,e,n,405,"Invalid HTTP method");return}if(d===void 0||d.toLowerCase()!=="websocket"){er(this,e,n,400,"Invalid Upgrade header");return}if(c===void 0||!aS.test(c)){er(this,e,n,400,"Missing or invalid Sec-WebSocket-Key header");return}if(u!==13&&u!==8){er(this,e,n,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){is(n,400);return}let f=e.headers["sec-websocket-protocol"],x=new Set;if(f!==void 0)try{x=nS.parse(f)}catch{er(this,e,n,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],w={};if(this.options.perMessageDeflate&&p!==void 0){let S=new Qn({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let _=Cx.parse(p);_[Qn.extensionName]&&(S.accept(_[Qn.extensionName]),w[Qn.extensionName]=S)}catch{er(this,e,n,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let S={origin:e.headers[`${u===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(S,(_,b,I,A)=>{if(!_)return is(n,b||401,I,A);this.completeUpgrade(w,c,x,e,n,i,o)});return}if(!this.options.verifyClient(S))return is(n,401)}this.completeUpgrade(w,c,x,e,n,i,o)}completeUpgrade(e,n,i,o,c,d,u){if(!c.readable||!c.writable)return c.destroy();if(c[oS])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Dx)return is(c,503);let x=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${tS("sha1").update(n+sS).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(i.size){let w=this.options.handleProtocols?this.options.handleProtocols(i,o):i.values().next().value;w&&(x.push(`Sec-WebSocket-Protocol: ${w}`),p._protocol=w)}if(e[Qn.extensionName]){let w=e[Qn.extensionName].params,S=Cx.format({[Qn.extensionName]:[w]});x.push(`Sec-WebSocket-Extensions: ${S}`),p._extensions=e}this.emit("headers",x,o),c.write(x.concat(`\r
|
|
10
|
+
`),this.stream=void 0;return}this.currentDate!==void 0&&_s(this.dir,this.prefix,e,this.opts.retentionDays),this.currentDate=e}close(){this.stream?.end(),this.stream=void 0,this.currentDate=void 0}}});import{appendFileSync as em,mkdirSync as tm}from"node:fs";import{join as nm}from"node:path";function Ol(t){let e=t.retentionDays??sm,n=t.clock??(()=>Mn(new Date));bs={bridgeSink:new ci(t.bridgeLogsDir,"bridge",{retentionDays:e,clock:n}),agentSinks:new Map,makeAgentSink:o=>new ci(t.agentLogsDir(o),"agent",{retentionDays:e,clock:n})};let i=n();_s(t.bridgeLogsDir,"bridge",i,e);for(let o of t.listAgentIds?.()??[])_s(t.agentLogsDir(o),"agent",i,e)}function om(t,e){let n=t.agentSinks.get(e);return n||(n=t.makeAgentSink(e),t.agentSinks.set(e,n)),n}function Ll(t){Ha=t}function Nl(t){return xr[Ha]<=xr[t]}function Ml(t,e){let n=xr[t];return n===void 0?!0:n>=xr[e]}function Es(t){Dl={...t}}function Bl(t){let e=(u,h=2)=>String(u).padStart(h,"0"),n=-t.getTimezoneOffset(),i=n>=0?"+":"-",o=Math.abs(n),c=e(Math.floor(o/60)),d=e(o%60);return`${Mn(t)}T${e(t.getHours())}:${e(t.getMinutes())}:${e(t.getSeconds())}.${e(t.getMilliseconds(),3)}${i}${c}:${d}`}function it(t,e,n,i,o){try{let c=`${JSON.stringify({ts:Bl(new Date),level:e,module:n,msg:i,...o})}
|
|
11
|
+
`;tm(t,{recursive:!0}),em(nm(t,hr("bridge",Mn(new Date))),c)}catch{}}function am(t,e){if(t)return t;let n=e?.agentId;return typeof n=="string"&&n.length>0?n:void 0}function ys(t,e,n,i,o){if(xr[t]<xr[Ha])return;let c=`${JSON.stringify({ts:Bl(new Date),level:t,module:e,msg:n,...Dl,...i})}
|
|
12
|
+
`;if(bs){let d=am(o,i),u=d?om(bs,d):bs.bridgeSink;try{u.write(c)}catch{process.stderr.write(c)}return}t==="error"||t==="warn"?im.write(c):rm.write(c)}function H(t,e){return{debug:(n,i)=>ys("debug",t,n,i,e),info:(n,i)=>ys("info",t,n,i,e),warn:(n,i)=>ys("warn",t,n,i,e),error:(n,i)=>ys("error",t,n,i,e),child:n=>H(`${t}.${n}`,e),forAgent:n=>H(t,n)}}var xr,Ha,rm,im,Dl,sm,bs,ne=rt(()=>{"use strict";fr();Ua();xr={debug:10,info:20,warn:30,error:40},Ha=(()=>{let t=process.env.COZE_BRIDGE_LOG_LEVEL;return t==="debug"||t==="info"||t==="warn"||t==="error"?t:"info"})(),rm=process.stdout,im=process.stderr,Dl={},sm=Ye("COZE_BRIDGE_LOG_RETENTION_DAYS",30),bs=null});var k,Ve=rt(()=>{"use strict";k=class extends Error{code;retriable;cause;constructor(e,n,i){super(n),this.name="BridgeError",this.code=e,this.retriable=i?.retriable??!1,i?.cause!==void 0&&(this.cause=i.cause)}}});var Hl={};Fa(Hl,{ACP_WRAPPER_NPM_PACKAGES:()=>vs,_resetAcpInstallerForTests:()=>hm,_setBinaryPathCacheForTests:()=>xm,buildAcpSpawn:()=>li,ensureAcpInstalled:()=>pr,getAcpBinaryPath:()=>Ss,pickWhichLine:()=>qa,probeAcpVersion:()=>fm,resolveAcpCommand:()=>Ul});import{readFileSync as Fl}from"node:fs";import{createRequire as cm}from"node:module";import{dirname as dm,resolve as lm}from"node:path";function qa(t){let e=t.split(/\r?\n/).map(i=>i.trim()).filter(Boolean);if(e.length===0)return;if(process.platform!=="win32")return e[0];let n=i=>e.find(o=>o.toLowerCase().endsWith(i));return n(".cmd")??n(".exe")??n(".bat")??n(".ps1")??e[0]}function um(t){let e=zl.resolve(`${t.npmPackage}/package.json`),n=dm(e),i=JSON.parse(Fl(e,"utf8")),o=typeof i.bin=="string"?i.bin:i.bin?.[t.binary];if(!o)throw new Error(`${t.npmPackage} package.json \u7F3A bin[${t.binary}]`);return lm(n,o)}async function pr(t,e){let n=ja[t];if(!n)throw new k("BRIDGE_INTERNAL",`ensureAcpInstalled called for non-npm framework: ${t}`);let i=di.get(t);if(i)return i;try{let o=um(n);return di.set(t,o),Ga.info("acp wrapper resolved",{framework:t,binary:n.binary,path:o}),o}catch(o){throw Ga.warn("acp wrapper \u89E3\u6790\u5931\u8D25 (\u672A\u968F\u5305\u56FA\u5316\u5230 lib/node_modules?)",{framework:t,npmPackage:n.npmPackage,err:String(o)}),new k("AGENT_DEPENDENCY_INSTALL_FAILED",[`ACP wrapper \u672A\u5C31\u7EEA: ${n.npmPackage} (framework=${t})`,"\u8BE5 wrapper \u968F coze-bridge \u4E00\u8D77\u5B89\u88C5 (\u56FA\u5316\u5230 ~/.coze/bridge/lib/node_modules)\u3002","\u8BF7\u91CD\u8DD1 `coze-bridge pair` / `connect` \u89E6\u53D1\u56FA\u5316\u5B89\u88C5; \u82E5\u4ECD\u5931\u8D25, \u68C0\u67E5\u7F51\u7EDC / npm \u7F13\u5B58\u3002"].join(`
|
|
13
|
+
`),{cause:o})}}async function fm(t){let e=ja[t];if(e)try{let n=zl.resolve(`${e.npmPackage}/package.json`),i=JSON.parse(Fl(n,"utf8"));return typeof i.version=="string"&&i.version.length>0?i.version:void 0}catch(n){Ga.warn("acp wrapper probe: \u89E3\u6790 package.json \u5931\u8D25",{framework:t,npmPackage:e.npmPackage,err:String(n)});return}}function Ss(t){return di.get(t)}function Ul(t,e){if(e)return e;let n=Ss(t);if(!n)throw new k("BRIDGE_INTERNAL",`${t} ACP wrapper \u8DEF\u5F84\u672A\u89E3\u6790 (ensureAcpInstalled \u672A\u5728\u6784\u9020\u524D\u8DD1\u901A)`);return n}function li(t,e,n){if(e)return{command:e,args:[...n]};let i=Ul(t);return{command:process.execPath,args:[i,...n]}}function hm(){di.clear()}function xm(t,e){di.set(t,e)}var Ga,ja,vs,zl,di,hn=rt(()=>{"use strict";Ve();ne();Ga=H("agents.acp-installer"),ja={"claude-code":{npmPackage:"@agentclientprotocol/claude-agent-acp",binary:"claude-agent-acp"},codex:{npmPackage:"@agentclientprotocol/codex-acp",binary:"codex-acp"}},vs=Object.values(ja).filter(t=>t!==void 0).map(t=>t.npmPackage),zl=cm(import.meta.url),di=new Map});import{chmod as gm,mkdir as mm,readFile as wm,rename as _m,rm as ym,writeFile as bm}from"node:fs/promises";import{dirname as Em}from"node:path";async function gr(t){try{let e=await wm(t,"utf8");return JSON.parse(e)}catch(e){if(e.code==="ENOENT")return null;throw e}}async function ht(t,e,n){await mm(Em(t),{recursive:!0});let i=`${t}.tmp-${process.pid}-${Math.random().toString(36).slice(2,10)}`;try{await bm(i,e,{encoding:"utf8",mode:n?.mode}),await _m(i,t),n?.mode!==void 0&&await gm(t,n.mode)}catch(o){throw await ym(i,{force:!0}).catch(()=>{}),o}}async function mr(t,e,n){await ht(t,`${JSON.stringify(e,null,2)}
|
|
14
|
+
`,n)}var $t=rt(()=>{"use strict"});import{promises as ql,readdirSync as vm}from"node:fs";import{homedir as Sm}from"node:os";import{sep as Im,join as Te,resolve as Wl}from"node:path";function Y(t){let e=t??Sm(),n=Te(e,".coze"),i=Te(n,"bridge"),o=Te(i,"lib"),c=Te(i,"logs");return{cozeRoot:n,bridgeRoot:i,libDir:o,libEntry:Te(o,"index.js"),binDir:Te(i,"bin"),pidFile:Te(i,"bridge.pid"),portFile:Te(i,"bridge.port"),tokenFile:Te(i,"bridge.token"),patTokenFile:Te(i,"pat-token"),agentEnvFile:Te(i,"agent-env.json"),logFile:Te(i,"bridge.log"),bridgeLogsDir:c,daemonStdioLog:Te(c,"daemon-stdio.log"),installLock:Te(i,"install.lock"),configFile:Te(i,"config.json"),agentsRoot:Te(n,"agents")}}function ze(t,e=Y()){let n=Te(e.agentsRoot,t);return{root:n,config:Te(n,"config.json"),workspace:Te(n,"workspace"),logs:Te(n,"logs")}}function Is(t=Y()){try{return vm(t.agentsRoot,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return[]}}async function ui(t,e){let n=await ql.realpath(Wl(t)).catch(()=>null);if(!n)return!1;let i=await ql.realpath(Wl(e)).catch(()=>null);if(!i)return!1;let o=process.platform==="win32"?n.toLowerCase():n,c=process.platform==="win32"?i.toLowerCase():i;return o===c||o.startsWith(c+Im)}var Pe=rt(()=>{"use strict"});var ks={};Fa(ks,{AGENT_CONFIG_FILE_MODE:()=>As,enforceAgentConfigMode:()=>Tm,loadAgentConfig:()=>ve,persistAgentSessions:()=>fi,persistAgentSkills:()=>hi,saveAgentConfig:()=>Ue});import{chmod as Am,stat as km}from"node:fs/promises";function ve(t,e){return gr(ze(t,e).config)}function Ue(t,e){return mr(ze(t.agentId,e).config,t,{mode:As})}async function Tm(t,e){if(process.platform==="win32")return;let n=ze(t,e).config;try{let i=await km(n);if(!i.isFile())return;let o=i.mode&511;o!==As&&(await Am(n,As),Kl.warn("agent config mode auto-corrected to 0600",{path:n,from:o.toString(8)}))}catch(i){if(i.code==="ENOENT")return;Kl.warn("enforceAgentConfigMode: chmod failed (ignored)",{path:n,err:String(i)})}}async function fi(t,e,n){let i=await ve(t,n);i&&(i.sessions=Object.fromEntries(e),await Ue(i,n))}async function hi(t,e,n){let i=await ve(t,n);i&&(i.skills=e,await Ue(i,n))}var Kl,As,Vt=rt(()=>{"use strict";$t();ne();Pe();Kl=H("agent-config"),As=384});var $a=ce((IA,Jl)=>{Jl.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var Ps=ce(Yl=>{var Zl={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function Lm(t){return function(...e){return e.length&&(t=t.replace(/\{(\d)\}/g,(n,i)=>e[i]||"")),new Error("ADM-ZIP: "+t)}}for(let t of Object.keys(Zl))Yl[t]=Lm(Zl[t])});var nu=ce((kA,tu)=>{var Nm=he("fs"),Ne=he("path"),Xl=$a(),Mm=Ps(),Bm=typeof process=="object"&&process.platform==="win32",Ql=t=>typeof t=="object"&&t!==null,eu=new Uint32Array(256).map((t,e)=>{for(let n=0;n<8;n++)(e&1)!==0?e=3988292384^e>>>1:e>>>=1;return e>>>0});function Se(t){this.sep=Ne.sep,this.fs=Nm,Ql(t)&&Ql(t.fs)&&typeof t.fs.statSync=="function"&&(this.fs=t.fs)}tu.exports=Se;Se.prototype.makeDir=function(t){let e=this;function n(i){let o=i.split(e.sep)[0];i.split(e.sep).forEach(function(c){if(!(!c||c.substr(-1,1)===":")){o+=e.sep+c;var d;try{d=e.fs.statSync(o)}catch(u){if(u.message&&u.message.startsWith("ENOENT"))e.fs.mkdirSync(o);else throw u}if(d&&d.isFile())throw Mm.FILE_IN_THE_WAY(`"${o}"`)}})}n(t)};Se.prototype.writeFileTo=function(t,e,n,i){let o=this;if(o.fs.existsSync(t)){if(!n)return!1;var c=o.fs.statSync(t);if(c.isDirectory())return!1}var d=Ne.dirname(t);o.fs.existsSync(d)||o.makeDir(d);var u;try{u=o.fs.openSync(t,"w",438)}catch{o.fs.chmodSync(t,438),u=o.fs.openSync(t,"w",438)}if(u)try{o.fs.writeSync(u,e,0,e.length,0)}finally{o.fs.closeSync(u)}return o.fs.chmodSync(t,i||438),!0};Se.prototype.writeFileToAsync=function(t,e,n,i,o){typeof i=="function"&&(o=i,i=void 0);let c=this;c.fs.exists(t,function(d){if(d&&!n)return o(!1);c.fs.stat(t,function(u,h){if(d&&h.isDirectory())return o(!1);var x=Ne.dirname(t);c.fs.exists(x,function(p){p||c.makeDir(x),c.fs.open(t,"w",438,function(m,v){m?c.fs.chmod(t,438,function(){c.fs.open(t,"w",438,function(_,y){c.fs.write(y,e,0,e.length,0,function(){c.fs.close(y,function(){c.fs.chmod(t,i||438,function(){o(!0)})})})})}):v?c.fs.write(v,e,0,e.length,0,function(){c.fs.close(v,function(){c.fs.chmod(t,i||438,function(){o(!0)})})}):c.fs.chmod(t,i||438,function(){o(!0)})})})})})};Se.prototype.findFiles=function(t){let e=this;function n(i,o,c){typeof o=="boolean"&&(c=o,o=void 0);let d=[];return e.fs.readdirSync(i).forEach(function(u){let h=Ne.join(i,u),x=e.fs.statSync(h);(!o||o.test(h))&&d.push(Ne.normalize(h)+(x.isDirectory()?e.sep:"")),x.isDirectory()&&c&&(d=d.concat(n(h,o,c)))}),d}return n(t,void 0,!0)};Se.prototype.findFilesAsync=function(t,e){let n=this,i=[];n.fs.readdir(t,function(o,c){if(o)return e(o);let d=c.length;if(!d)return e(null,i);c.forEach(function(u){u=Ne.join(t,u),n.fs.stat(u,function(h,x){if(h)return e(h);x&&(i.push(Ne.normalize(u)+(x.isDirectory()?n.sep:"")),x.isDirectory()?n.findFilesAsync(u,function(p,m){if(p)return e(p);i=i.concat(m),--d||e(null,i)}):--d||e(null,i))})})})};Se.prototype.getAttributes=function(){};Se.prototype.setAttributes=function(){};Se.crc32update=function(t,e){return eu[(t^e)&255]^t>>>8};Se.crc32=function(t){typeof t=="string"&&(t=Buffer.from(t,"utf8"));let e=t.length,n=-1;for(let i=0;i<e;)n=Se.crc32update(n,t[i++]);return~n>>>0};Se.methodToString=function(t){switch(t){case Xl.STORED:return"STORED ("+t+")";case Xl.DEFLATED:return"DEFLATED ("+t+")";default:return"UNSUPPORTED ("+t+")"}};Se.canonical=function(t){if(!t)return"";let e=Ne.posix.normalize("/"+t.split("\\").join("/"));return Ne.join(".",e)};Se.zipnamefix=function(t){if(!t)return"";let e=Ne.posix.normalize("/"+t.split("\\").join("/"));return Ne.posix.join(".",e)};Se.findLast=function(t,e){if(!Array.isArray(t))throw new TypeError("arr is not array");let n=t.length>>>0;for(let i=n-1;i>=0;i--)if(e(t[i],i,t))return t[i]};Se.sanitize=function(t,e){t=Ne.resolve(Ne.normalize(t));for(var n=e.split("/"),i=0,o=n.length;i<o;i++){var c=Ne.normalize(Ne.join(t,n.slice(i,o).join(Ne.sep)));if(c.indexOf(t)===0)return c}return Ne.normalize(Ne.join(t,Ne.basename(e)))};Se.toBuffer=function(e,n){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e):typeof e=="string"?n(e):Buffer.alloc(0)};Se.readBigUInt64LE=function(t,e){let n=t.readUInt32LE(e);return t.readUInt32LE(e+4)*4294967296+n};Se.fromDOS2Date=function(t){return new Date((t>>25&127)+1980,Math.max((t>>21&15)-1,0),Math.max(t>>16&31,1),t>>11&31,t>>5&63,(t&31)<<1)};Se.fromDate2DOS=function(t){let e=0,n=0;return t.getFullYear()>1979&&(e=(t.getFullYear()-1980&127)<<9|t.getMonth()+1<<5|t.getDate(),n=t.getHours()<<11|t.getMinutes()<<5|t.getSeconds()>>1),e<<16|n};Se.isWin=Bm;Se.crcTable=eu});var iu=ce((TA,ru)=>{var Fm=he("path");ru.exports=function(t,{fs:e}){var n=t||"",i=c(),o=null;function c(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}return n&&e.existsSync(n)?(o=e.statSync(n),i.directory=o.isDirectory(),i.mtime=o.mtime,i.atime=o.atime,i.executable=(73&o.mode)!==0,i.readonly=(128&o.mode)===0,i.hidden=Fm.basename(n)[0]==="."):console.warn("Invalid path: "+n),{get directory(){return i.directory},get readOnly(){return i.readonly},get hidden(){return i.hidden},get mtime(){return i.mtime},get atime(){return i.atime},get executable(){return i.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:n,isDirectory:i.directory,isReadOnly:i.readonly,isHidden:i.hidden,isExecutable:i.executable,mTime:i.mtime,aTime:i.atime}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}});var ou=ce((PA,su)=>{su.exports={efs:!0,encode:t=>Buffer.from(t,"utf8"),decode:t=>t.toString("utf8")}});var yr=ce((CA,_r)=>{_r.exports=nu();_r.exports.Constants=$a();_r.exports.Errors=Ps();_r.exports.FileAttr=iu();_r.exports.decoder=ou()});var cu=ce((RA,au)=>{var xn=yr(),U=xn.Constants;au.exports=function(){var t=20,e=10,n=0,i=0,o=0,c=0,d=0,u=0,h=0,x=0,p=0,m=0,v=0,_=0,y=0;t|=xn.isWin?2560:768,n|=U.FLG_EFS;let I={extraLen:0},A=b=>Math.max(0,b)>>>0,T=b=>Math.max(0,b)&65535,R=b=>Math.max(0,b)&255;return o=xn.fromDate2DOS(new Date),{get made(){return t},set made(b){t=b},get version(){return e},set version(b){e=b},get flags(){return n},set flags(b){n=b},get flags_efs(){return(n&U.FLG_EFS)>0},set flags_efs(b){b?n|=U.FLG_EFS:n&=~U.FLG_EFS},get flags_desc(){return(n&U.FLG_DESC)>0},set flags_desc(b){b?n|=U.FLG_DESC:n&=~U.FLG_DESC},get method(){return i},set method(b){switch(b){case U.STORED:this.version=10;case U.DEFLATED:default:this.version=20}i=b},get time(){return xn.fromDOS2Date(this.timeval)},set time(b){b=new Date(b),this.timeval=xn.fromDate2DOS(b)},get timeval(){return o},set timeval(b){o=A(b)},get timeHighByte(){return R(o>>>8)},get crc(){return c},set crc(b){c=A(b)},get compressedSize(){return d},set compressedSize(b){d=A(b)},get size(){return u},set size(b){u=A(b)},get fileNameLength(){return h},set fileNameLength(b){h=b},get extraLength(){return x},set extraLength(b){x=b},get extraLocalLength(){return I.extraLen},set extraLocalLength(b){I.extraLen=b},get commentLength(){return p},set commentLength(b){p=b},get diskNumStart(){return m},set diskNumStart(b){m=A(b)},get inAttr(){return v},set inAttr(b){v=A(b)},get attr(){return _},set attr(b){_=A(b)},get fileAttr(){return(_||0)>>16&4095},get offset(){return y},set offset(b){y=A(b)},get encrypted(){return(n&U.FLG_ENC)===U.FLG_ENC},get centralHeaderSize(){return U.CENHDR+h+x+p},get realDataOffset(){return y+U.LOCHDR+I.fnameLen+I.extraLen},get localHeader(){return I},loadLocalHeaderFromBinary:function(b){var C=b.slice(y,y+U.LOCHDR);if(C.readUInt32LE(0)!==U.LOCSIG)throw xn.Errors.INVALID_LOC();I.version=C.readUInt16LE(U.LOCVER),I.flags=C.readUInt16LE(U.LOCFLG),I.flags_desc=(I.flags&U.FLG_DESC)>0,I.method=C.readUInt16LE(U.LOCHOW),I.time=C.readUInt32LE(U.LOCTIM),I.crc=C.readUInt32LE(U.LOCCRC),I.compressedSize=C.readUInt32LE(U.LOCSIZ),I.size=C.readUInt32LE(U.LOCLEN),I.fnameLen=C.readUInt16LE(U.LOCNAM),I.extraLen=C.readUInt16LE(U.LOCEXT);let O=y+U.LOCHDR+I.fnameLen,B=O+I.extraLen;return b.slice(O,B)},loadFromBinary:function(b){if(b.length!==U.CENHDR||b.readUInt32LE(0)!==U.CENSIG)throw xn.Errors.INVALID_CEN();t=b.readUInt16LE(U.CENVEM),e=b.readUInt16LE(U.CENVER),n=b.readUInt16LE(U.CENFLG),i=b.readUInt16LE(U.CENHOW),o=b.readUInt32LE(U.CENTIM),c=b.readUInt32LE(U.CENCRC),d=b.readUInt32LE(U.CENSIZ),u=b.readUInt32LE(U.CENLEN),h=b.readUInt16LE(U.CENNAM),x=b.readUInt16LE(U.CENEXT),p=b.readUInt16LE(U.CENCOM),m=b.readUInt16LE(U.CENDSK),v=b.readUInt16LE(U.CENATT),_=b.readUInt32LE(U.CENATX),y=b.readUInt32LE(U.CENOFF)},localHeaderToBinary:function(){var b=Buffer.alloc(U.LOCHDR);return b.writeUInt32LE(U.LOCSIG,0),b.writeUInt16LE(e,U.LOCVER),b.writeUInt16LE(n,U.LOCFLG),b.writeUInt16LE(i,U.LOCHOW),b.writeUInt32LE(o,U.LOCTIM),b.writeUInt32LE(c,U.LOCCRC),b.writeUInt32LE(d,U.LOCSIZ),b.writeUInt32LE(u,U.LOCLEN),b.writeUInt16LE(h,U.LOCNAM),b.writeUInt16LE(I.extraLen,U.LOCEXT),b},centralHeaderToBinary:function(){var b=Buffer.alloc(U.CENHDR+h+x+p);return b.writeUInt32LE(U.CENSIG,0),b.writeUInt16LE(t,U.CENVEM),b.writeUInt16LE(e,U.CENVER),b.writeUInt16LE(n,U.CENFLG),b.writeUInt16LE(i,U.CENHOW),b.writeUInt32LE(o,U.CENTIM),b.writeUInt32LE(c,U.CENCRC),b.writeUInt32LE(d,U.CENSIZ),b.writeUInt32LE(u,U.CENLEN),b.writeUInt16LE(h,U.CENNAM),b.writeUInt16LE(x,U.CENEXT),b.writeUInt16LE(p,U.CENCOM),b.writeUInt16LE(m,U.CENDSK),b.writeUInt16LE(v,U.CENATT),b.writeUInt32LE(_,U.CENATX),b.writeUInt32LE(y,U.CENOFF),b},toJSON:function(){let b=function(C){return C+" bytes"};return{made:t,version:e,flags:n,method:xn.methodToString(i),time:this.time,crc:"0x"+c.toString(16).toUpperCase(),compressedSize:b(d),size:b(u),fileNameLength:b(h),extraLength:b(x),commentLength:b(p),diskNumStart:m,inAttr:v,attr:_,offset:y,centralHeaderSize:b(U.CENHDR+h+x+p)}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}});var lu=ce((DA,du)=>{var br=yr(),ye=br.Constants;du.exports=function(){var t=0,e=0,n=0,i=0,o=0;return{get diskEntries(){return t},set diskEntries(c){t=e=c},get totalEntries(){return e},set totalEntries(c){e=t=c},get size(){return n},set size(c){n=c},get offset(){return i},set offset(c){i=c},get commentLength(){return o},set commentLength(c){o=c},get mainHeaderSize(){return ye.ENDHDR+o},loadFromBinary:function(c){if((c.length!==ye.ENDHDR||c.readUInt32LE(0)!==ye.ENDSIG)&&(c.length<ye.ZIP64HDR||c.readUInt32LE(0)!==ye.ZIP64SIG))throw br.Errors.INVALID_END();c.readUInt32LE(0)===ye.ENDSIG?(t=c.readUInt16LE(ye.ENDSUB),e=c.readUInt16LE(ye.ENDTOT),n=c.readUInt32LE(ye.ENDSIZ),i=c.readUInt32LE(ye.ENDOFF),o=c.readUInt16LE(ye.ENDCOM)):(t=br.readBigUInt64LE(c,ye.ZIP64SUB),e=br.readBigUInt64LE(c,ye.ZIP64TOT),n=br.readBigUInt64LE(c,ye.ZIP64SIZE),i=br.readBigUInt64LE(c,ye.ZIP64OFF),o=0)},toBinary:function(){var c=Buffer.alloc(ye.ENDHDR+o);return c.writeUInt32LE(ye.ENDSIG,0),c.writeUInt32LE(0,4),c.writeUInt16LE(t,ye.ENDSUB),c.writeUInt16LE(e,ye.ENDTOT),c.writeUInt32LE(n,ye.ENDSIZ),c.writeUInt32LE(i,ye.ENDOFF),c.writeUInt16LE(o,ye.ENDCOM),c.fill(" ",ye.ENDHDR),c},toJSON:function(){let c=function(d,u){let h=d.toString(16).toUpperCase();for(;h.length<u;)h="0"+h;return"0x"+h};return{diskEntries:t,totalEntries:e,size:n+" bytes",offset:c(i,4),commentLength:o}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}});var Ja=ce(Va=>{Va.EntryHeader=cu();Va.MainHeader=lu()});var fu=ce((LA,uu)=>{uu.exports=function(t){var e=he("zlib"),n={chunkSize:(parseInt(t.length/1024)+1)*1024};return{deflate:function(){return e.deflateRawSync(t,n)},deflateAsync:function(i){var o=e.createDeflateRaw(n),c=[],d=0;o.on("data",function(u){c.push(u),d+=u.length}),o.on("end",function(){var u=Buffer.alloc(d),h=0;u.fill(0);for(var x=0;x<c.length;x++){var p=c[x];p.copy(u,h),h+=p.length}i&&i(u)}),o.end(t)}}}});var xu=ce((NA,hu)=>{var zm=+(process.versions?process.versions.node:"").split(".")[0]||0;hu.exports=function(t,e){var n=he("zlib");let i=zm>=15&&e>0?{maxOutputLength:e}:{};return{inflate:function(){return n.inflateRawSync(t,i)},inflateAsync:function(o){var c=n.createInflateRaw(i),d=[],u=0;c.on("data",function(h){d.push(h),u+=h.length}),c.on("end",function(){var h=Buffer.alloc(u),x=0;h.fill(0);for(var p=0;p<d.length;p++){var m=d[p];m.copy(h,x),x+=m.length}o&&o(h)}),c.end(t)}}}});var _u=ce((MA,wu)=>{"use strict";var{randomFillSync:pu}=he("crypto"),Um=Ps(),Hm=new Uint32Array(256).map((t,e)=>{for(let n=0;n<8;n++)(e&1)!==0?e=e>>>1^3988292384:e>>>=1;return e>>>0}),mu=(t,e)=>Math.imul(t,e)>>>0,gu=(t,e)=>Hm[(t^e)&255]^t>>>8,xi=()=>typeof pu=="function"?pu(Buffer.alloc(12)):xi.node();xi.node=()=>{let t=Buffer.alloc(12),e=t.length;for(let n=0;n<e;n++)t[n]=Math.random()*256&255;return t};var Cs={genSalt:xi};function Rs(t){let e=Buffer.isBuffer(t)?t:Buffer.from(t);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let n=0;n<e.length;n++)this.updateKeys(e[n])}Rs.prototype.updateKeys=function(t){let e=this.keys;return e[0]=gu(e[0],t),e[1]+=e[0]&255,e[1]=mu(e[1],134775813)+1,e[2]=gu(e[2],e[1]>>>24),t};Rs.prototype.next=function(){let t=(this.keys[2]|2)>>>0;return mu(t,t^1)>>8&255};function Gm(t){let e=new Rs(t);return function(n){let i=Buffer.alloc(n.length),o=0;for(let c of n)i[o++]=e.updateKeys(c^e.next());return i}}function jm(t){let e=new Rs(t);return function(n,i,o=0){i||(i=Buffer.alloc(n.length));for(let c of n){let d=e.next();i[o++]=c^d,e.updateKeys(c)}return i}}function qm(t,e,n){if(!t||!Buffer.isBuffer(t)||t.length<12)return Buffer.alloc(0);let i=Gm(n),o=i(t.slice(0,12)),c=(e.flags&8)===8?e.timeHighByte:e.crc>>>24;if(o[11]!==c)throw Um.WRONG_PASSWORD();return i(t.slice(12))}function Wm(t){Buffer.isBuffer(t)&&t.length>=12?Cs.genSalt=function(){return t.slice(0,12)}:t==="node"?Cs.genSalt=xi.node:Cs.genSalt=xi}function Km(t,e,n,i=!1){t==null&&(t=Buffer.alloc(0)),Buffer.isBuffer(t)||(t=Buffer.from(t.toString()));let o=jm(n),c=Cs.genSalt();c[11]=e.crc>>>24&255,i&&(c[10]=e.crc>>>16&255);let d=Buffer.alloc(t.length+12);return o(c,d),o(t,d,12)}wu.exports={decrypt:qm,encrypt:Km,_salter:Wm}});var yu=ce(Ds=>{Ds.Deflater=fu();Ds.Inflater=xu();Ds.ZipCrypto=_u()});var Ya=ce((FA,bu)=>{var de=yr(),$m=Ja(),Ie=de.Constants,Za=yu();bu.exports=function(t,e){var n=new $m.EntryHeader,i=Buffer.alloc(0),o=Buffer.alloc(0),c=!1,d=null,u=Buffer.alloc(0),h=Buffer.alloc(0),x=!0;let p=t,m=typeof p.decoder=="object"?p.decoder:de.decoder;x=m.hasOwnProperty("efs")?m.efs:!1;function v(){return!e||!(e instanceof Uint8Array)?Buffer.alloc(0):(h=n.loadLocalHeaderFromBinary(e),e.slice(n.realDataOffset,n.realDataOffset+n.compressedSize))}function _(b){if(!n.flags_desc&&!n.localHeader.flags_desc){if(de.crc32(b)!==n.localHeader.crc)return!1}else{let C={},O=n.realDataOffset+n.compressedSize;if(e.readUInt32LE(O)==Ie.LOCSIG||e.readUInt32LE(O)==Ie.CENSIG)throw de.Errors.DESCRIPTOR_NOT_EXIST();if(e.readUInt32LE(O)==Ie.EXTSIG)C.crc=e.readUInt32LE(O+Ie.EXTCRC),C.compressedSize=e.readUInt32LE(O+Ie.EXTSIZ),C.size=e.readUInt32LE(O+Ie.EXTLEN);else if(e.readUInt16LE(O+12)===19280)C.crc=e.readUInt32LE(O+Ie.EXTCRC-4),C.compressedSize=e.readUInt32LE(O+Ie.EXTSIZ-4),C.size=e.readUInt32LE(O+Ie.EXTLEN-4);else throw de.Errors.DESCRIPTOR_UNKNOWN();if(C.compressedSize!==n.compressedSize||C.size!==n.size||C.crc!==n.crc)throw de.Errors.DESCRIPTOR_FAULTY();if(de.crc32(b)!==C.crc)return!1}return!0}function y(b,C,O){if(typeof C>"u"&&typeof b=="string"&&(O=b,b=void 0),c)return b&&C&&C(Buffer.alloc(0),de.Errors.DIRECTORY_CONTENT_ERROR()),Buffer.alloc(0);var B=v();if(B.length===0)return b&&C&&C(B),B;if(n.encrypted){if(typeof O!="string"&&!Buffer.isBuffer(O))throw de.Errors.INVALID_PASS_PARAM();B=Za.ZipCrypto.decrypt(B,n,O)}var M=Buffer.alloc(n.size);switch(n.method){case de.Constants.STORED:if(B.copy(M),_(M))return b&&C&&C(M),M;throw b&&C&&C(M,de.Errors.BAD_CRC()),de.Errors.BAD_CRC();case de.Constants.DEFLATED:var Z=new Za.Inflater(B,n.size);if(b)Z.inflateAsync(function($){$.copy($,0),C&&(_($)?C($):C($,de.Errors.BAD_CRC()))});else{if(Z.inflate(M).copy(M,0),!_(M))throw de.Errors.BAD_CRC(`"${m.decode(i)}"`);return M}break;default:throw b&&C&&C(Buffer.alloc(0),de.Errors.UNKNOWN_METHOD()),de.Errors.UNKNOWN_METHOD()}}function I(b,C){if((!d||!d.length)&&Buffer.isBuffer(e))return b&&C&&C(v()),v();if(d.length&&!c){var O;switch(n.method){case de.Constants.STORED:return n.compressedSize=n.size,O=Buffer.alloc(d.length),d.copy(O),b&&C&&C(O),O;default:case de.Constants.DEFLATED:var B=new Za.Deflater(d);if(b)B.deflateAsync(function(Z){O=Buffer.alloc(Z.length),n.compressedSize=Z.length,Z.copy(O),C&&C(O)});else{var M=B.deflate();return n.compressedSize=M.length,M}B=null;break}}else if(b&&C)C(Buffer.alloc(0));else return Buffer.alloc(0)}function A(b,C){return de.readBigUInt64LE(b,C)}function T(b){try{for(var C=0,O,B,M;C+4<b.length;)O=b.readUInt16LE(C),C+=2,B=b.readUInt16LE(C),C+=2,M=b.slice(C,C+B),C+=B,Ie.ID_ZIP64===O&&R(M)}catch{throw de.Errors.EXTRA_FIELD_PARSE_ERROR()}}function R(b){var C,O,B,M;b.length>=Ie.EF_ZIP64_SCOMP&&(C=A(b,Ie.EF_ZIP64_SUNCOMP),n.size===Ie.EF_ZIP64_OR_32&&(n.size=C)),b.length>=Ie.EF_ZIP64_RHO&&(O=A(b,Ie.EF_ZIP64_SCOMP),n.compressedSize===Ie.EF_ZIP64_OR_32&&(n.compressedSize=O)),b.length>=Ie.EF_ZIP64_DSN&&(B=A(b,Ie.EF_ZIP64_RHO),n.offset===Ie.EF_ZIP64_OR_32&&(n.offset=B)),b.length>=Ie.EF_ZIP64_DSN+4&&(M=b.readUInt32LE(Ie.EF_ZIP64_DSN),n.diskNumStart===Ie.EF_ZIP64_OR_16&&(n.diskNumStart=M))}return{get entryName(){return m.decode(i)},get rawEntryName(){return i},set entryName(b){i=de.toBuffer(b,m.encode);var C=i[i.length-1];c=C===47||C===92,n.fileNameLength=i.length},get efs(){return typeof x=="function"?x(this.entryName):x},get extra(){return u},set extra(b){u=b,n.extraLength=b.length,T(b)},get comment(){return m.decode(o)},set comment(b){if(o=de.toBuffer(b,m.encode),n.commentLength=o.length,o.length>65535)throw de.Errors.COMMENT_TOO_LONG()},get name(){var b=m.decode(i);return c?b.substr(b.length-1).split("/").pop():b.split("/").pop()},get isDirectory(){return c},getCompressedData:function(){return I(!1,null)},getCompressedDataAsync:function(b){I(!0,b)},setData:function(b){d=de.toBuffer(b,de.decoder.encode),!c&&d.length?(n.size=d.length,n.method=de.Constants.DEFLATED,n.crc=de.crc32(b),n.changed=!0):n.method=de.Constants.STORED},getData:function(b){return n.changed?d:y(!1,null,b)},getDataAsync:function(b,C){n.changed?b(d):y(!0,b,C)},set attr(b){n.attr=b},get attr(){return n.attr},set header(b){n.loadFromBinary(b)},get header(){return n},packCentralHeader:function(){n.flags_efs=this.efs,n.extraLength=u.length;var b=n.centralHeaderToBinary(),C=de.Constants.CENHDR;return i.copy(b,C),C+=i.length,u.copy(b,C),C+=n.extraLength,o.copy(b,C),b},packLocalHeader:function(){let b=0;n.flags_efs=this.efs,n.extraLocalLength=h.length;let C=n.localHeaderToBinary(),O=Buffer.alloc(C.length+i.length+n.extraLocalLength);return C.copy(O,b),b+=C.length,i.copy(O,b),b+=i.length,h.copy(O,b),b+=h.length,O},toJSON:function(){let b=function(C){return"<"+(C&&C.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:n.toJSON(),compressedData:b(e),data:b(d)}},toString:function(){return JSON.stringify(this.toJSON(),null," ")}}}});var Su=ce((zA,vu)=>{var Eu=Ya(),Vm=Ja(),Je=yr();vu.exports=function(t,e){var n=[],i={},o=Buffer.alloc(0),c=new Vm.MainHeader,d=!1,u=null;let h=new Set,x=e,{noSort:p,decoder:m}=x;t?y(x.readEntries):d=!0;function v(){let A=new Set;for(let T of Object.keys(i)){let R=T.split("/");if(R.pop(),!!R.length)for(let b=0;b<R.length;b++){let C=R.slice(0,b+1).join("/")+"/";A.add(C)}}for(let T of A)if(!(T in i)){let R=new Eu(x);R.entryName=T,R.attr=16,R.temporary=!0,n.push(R),i[R.entryName]=R,h.add(R)}}function _(){if(d=!0,i={},c.diskEntries>(t.length-c.offset)/Je.Constants.CENHDR)throw Je.Errors.DISK_ENTRY_TOO_LARGE();n=new Array(c.diskEntries);for(var A=c.offset,T=0;T<n.length;T++){var R=A,b=new Eu(x,t);b.header=t.slice(R,R+=Je.Constants.CENHDR),b.entryName=t.slice(R,R+=b.header.fileNameLength),b.header.extraLength&&(b.extra=t.slice(R,R+=b.header.extraLength)),b.header.commentLength&&(b.comment=t.slice(R,R+b.header.commentLength)),A+=b.header.centralHeaderSize,n[T]=b,i[b.entryName]=b}h.clear(),v()}function y(A){var T=t.length-Je.Constants.ENDHDR,R=Math.max(0,T-65535),b=R,C=t.length,O=-1,B=0;for(typeof x.trailingSpace=="boolean"&&x.trailingSpace&&(R=0),T;T>=b;T--)if(t[T]===80){if(t.readUInt32LE(T)===Je.Constants.ENDSIG){O=T,B=T,C=T+Je.Constants.ENDHDR,b=T-Je.Constants.END64HDR;continue}if(t.readUInt32LE(T)===Je.Constants.END64SIG){b=R;continue}if(t.readUInt32LE(T)===Je.Constants.ZIP64SIG){O=T,C=T+Je.readBigUInt64LE(t,T+Je.Constants.ZIP64SIZE)+Je.Constants.ZIP64LEAD;break}}if(O==-1)throw Je.Errors.INVALID_FORMAT();c.loadFromBinary(t.slice(O,C)),c.commentLength&&(o=t.slice(B+Je.Constants.ENDHDR)),A&&_()}function I(){n.length>1&&!p&&n.sort((A,T)=>A.entryName.toLowerCase().localeCompare(T.entryName.toLowerCase()))}return{get entries(){return d||_(),n.filter(A=>!h.has(A))},get comment(){return m.decode(o)},set comment(A){o=Je.toBuffer(A,m.encode),c.commentLength=o.length},getEntryCount:function(){return d?n.length:c.diskEntries},forEach:function(A){this.entries.forEach(A)},getEntry:function(A){return d||_(),i[A]||null},setEntry:function(A){d||_(),n.push(A),i[A.entryName]=A,c.totalEntries=n.length},deleteFile:function(A,T=!0){d||_();let R=i[A];this.getEntryChildren(R,T).map(C=>C.entryName).forEach(this.deleteEntry)},deleteEntry:function(A){d||_();let T=i[A],R=n.indexOf(T);R>=0&&(n.splice(R,1),delete i[A],c.totalEntries=n.length)},getEntryChildren:function(A,T=!0){if(d||_(),typeof A=="object")if(A.isDirectory&&T){let R=[],b=A.entryName;for(let C of n)C.entryName.startsWith(b)&&R.push(C);return R}else return[A];return[]},getChildCount:function(A){if(A&&A.isDirectory){let T=this.getEntryChildren(A);return T.includes(A)?T.length-1:T.length}return 0},compressToBuffer:function(){d||_(),I();let A=[],T=[],R=0,b=0;c.size=0,c.offset=0;let C=0;for(let M of this.entries){let Z=M.getCompressedData();M.header.offset=b;let $=M.packLocalHeader(),ie=$.length+Z.length;b+=ie,A.push($),A.push(Z);let Q=M.packCentralHeader();T.push(Q),c.size+=Q.length,R+=ie+Q.length,C++}R+=c.mainHeaderSize,c.offset=b,c.totalEntries=C,b=0;let O=Buffer.alloc(R);for(let M of A)M.copy(O,b),b+=M.length;for(let M of T)M.copy(O,b),b+=M.length;let B=c.toBinary();return o&&o.copy(B,Je.Constants.ENDHDR),B.copy(O,b),t=O,d=!1,O},toAsyncBuffer:function(A,T,R,b){try{d||_(),I();let C=[],O=[],B=0,M=0,Z=0;c.size=0,c.offset=0;let $=function(ie){if(ie.length>0){let Q=ie.shift(),oe=Q.entryName+Q.extra.toString();R&&R(oe),Q.getCompressedDataAsync(function(ae){b&&b(oe),Q.header.offset=M;let P=Q.packLocalHeader(),z=P.length+ae.length;M+=z,C.push(P),C.push(ae);let G=Q.packCentralHeader();O.push(G),c.size+=G.length,B+=z+G.length,Z++,$(ie)})}else{B+=c.mainHeaderSize,c.offset=M,c.totalEntries=Z,M=0;let Q=Buffer.alloc(B);C.forEach(function(ae){ae.copy(Q,M),M+=ae.length}),O.forEach(function(ae){ae.copy(Q,M),M+=ae.length});let oe=c.toBinary();o&&o.copy(oe,Je.Constants.ENDHDR),oe.copy(Q,M),t=Q,d=!1,A(Q)}};$(Array.from(this.entries))}catch(C){T(C)}}}}});var ku=ce((UA,Au)=>{var Ee=yr(),be=he("path"),Jm=Ya(),Zm=Su(),Bn=(...t)=>Ee.findLast(t,e=>typeof e=="boolean"),Iu=(...t)=>Ee.findLast(t,e=>typeof e=="string"),Ym=(...t)=>Ee.findLast(t,e=>typeof e=="function"),Xm={noSort:!1,readEntries:!1,method:Ee.Constants.NONE,fs:null};Au.exports=function(t,e){let n=null,i=Object.assign(Object.create(null),Xm);t&&typeof t=="object"&&(t instanceof Uint8Array||(Object.assign(i,t),t=i.input?i.input:void 0,i.input&&delete i.input),Buffer.isBuffer(t)&&(n=t,i.method=Ee.Constants.BUFFER,t=void 0)),Object.assign(i,e);let o=new Ee(i);if((typeof i.decoder!="object"||typeof i.decoder.encode!="function"||typeof i.decoder.decode!="function")&&(i.decoder=Ee.decoder),t&&typeof t=="string")if(o.fs.existsSync(t))i.method=Ee.Constants.FILE,i.filename=t,n=o.fs.readFileSync(t);else throw Ee.Errors.INVALID_FILENAME();let c=new Zm(n,i),{canonical:d,sanitize:u,zipnamefix:h}=Ee;function x(_){if(_&&c){var y;if(typeof _=="string"&&(y=c.getEntry(be.posix.normalize(_))),typeof _=="object"&&typeof _.entryName<"u"&&typeof _.header<"u"&&(y=c.getEntry(_.entryName)),y)return y}return null}function p(_){let{join:y,normalize:I,sep:A}=be.posix;return y(be.isAbsolute(_)?"/":".",I(A+_.split("\\").join(A)+A))}function m(_){return _ instanceof RegExp?(function(y){return function(I){return y.test(I)}})(_):typeof _!="function"?()=>!0:_}let v=(_,y)=>{let I=y.slice(-1);return I=I===o.sep?o.sep:"",be.relative(_,y)+I};return{readFile:function(_,y){var I=x(_);return I&&I.getData(y)||null},childCount:function(_){let y=x(_);if(y)return c.getChildCount(y)},readFileAsync:function(_,y){var I=x(_);I?I.getDataAsync(y):y(null,"getEntry failed for:"+_)},readAsText:function(_,y){var I=x(_);if(I){var A=I.getData();if(A&&A.length)return A.toString(y||"utf8")}return""},readAsTextAsync:function(_,y,I){var A=x(_);A?A.getDataAsync(function(T,R){if(R){y(T,R);return}T&&T.length?y(T.toString(I||"utf8")):y("")}):y("")},deleteFile:function(_,y=!0){var I=x(_);I&&c.deleteFile(I.entryName,y)},deleteEntry:function(_){var y=x(_);y&&c.deleteEntry(y.entryName)},addZipComment:function(_){c.comment=_},getZipComment:function(){return c.comment||""},addZipEntryComment:function(_,y){var I=x(_);I&&(I.comment=y)},getZipEntryComment:function(_){var y=x(_);return y&&y.comment||""},updateFile:function(_,y){var I=x(_);I&&I.setData(y)},addLocalFile:function(_,y,I,A){if(o.fs.existsSync(_)){y=y?p(y):"";let T=be.win32.basename(be.win32.normalize(_));y+=I||T;let R=o.fs.statSync(_),b=R.isFile()?o.fs.readFileSync(_):Buffer.alloc(0);R.isDirectory()&&(y+=o.sep),this.addFile(y,b,A,R)}else throw Ee.Errors.FILE_NOT_FOUND(_)},addLocalFileAsync:function(_,y){_=typeof _=="object"?_:{localPath:_};let I=be.resolve(_.localPath),{comment:A}=_,{zipPath:T,zipName:R}=_,b=this;o.fs.stat(I,function(C,O){if(C)return y(C,!1);T=T?p(T):"";let B=be.win32.basename(be.win32.normalize(I));if(T+=R||B,O.isFile())o.fs.readFile(I,function(M,Z){return M?y(M,!1):(b.addFile(T,Z,A,O),setImmediate(y,void 0,!0))});else if(O.isDirectory())return T+=o.sep,b.addFile(T,Buffer.alloc(0),A,O),setImmediate(y,void 0,!0)})},addLocalFolder:function(_,y,I){if(I=m(I),y=y?p(y):"",_=be.normalize(_),o.fs.existsSync(_)){let A=o.findFiles(_),T=this;if(A.length)for(let R of A){let b=be.join(y,v(_,R));I(b)&&T.addLocalFile(R,be.dirname(b))}}else throw Ee.Errors.FILE_NOT_FOUND(_)},addLocalFolderAsync:function(_,y,I,A){A=m(A),I=I?p(I):"",_=be.normalize(_);var T=this;o.fs.open(_,"r",function(R){if(R&&R.code==="ENOENT")y(void 0,Ee.Errors.FILE_NOT_FOUND(_));else if(R)y(void 0,R);else{var b=o.findFiles(_),C=-1,O=function(){if(C+=1,C<b.length){var B=b[C],M=v(_,B).split("\\").join("/");M=M.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),A(M)?o.fs.stat(B,function(Z,$){Z&&y(void 0,Z),$.isFile()?o.fs.readFile(B,function(ie,Q){ie?y(void 0,ie):(T.addFile(I+M,Q,"",$),O())}):(T.addFile(I+M+"/",Buffer.alloc(0),"",$),O())}):process.nextTick(()=>{O()})}else y(!0,void 0)};O()}})},addLocalFolderAsync2:function(_,y){let I=this;_=typeof _=="object"?_:{localPath:_},localPath=be.resolve(p(_.localPath));let{zipPath:A,filter:T,namefix:R}=_;T instanceof RegExp?T=(function(O){return function(B){return O.test(B)}})(T):typeof T!="function"&&(T=function(){return!0}),A=A?p(A):"",R=="latin1"&&(R=O=>O.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),typeof R!="function"&&(R=O=>O);let b=O=>be.join(A,R(v(localPath,O))),C=O=>be.win32.basename(be.win32.normalize(R(O)));o.fs.open(localPath,"r",function(O){O&&O.code==="ENOENT"?y(void 0,Ee.Errors.FILE_NOT_FOUND(localPath)):O?y(void 0,O):o.findFilesAsync(localPath,function(B,M){if(B)return y(B);M=M.filter(Z=>T(b(Z))),M.length||y(void 0,!1),setImmediate(M.reverse().reduce(function(Z,$){return function(ie,Q){if(ie||Q===!1)return setImmediate(Z,ie,!1);I.addLocalFileAsync({localPath:$,zipPath:be.dirname(b($)),zipName:C($)},Z)}},y))})})},addLocalFolderPromise:function(_,y){return new Promise((I,A)=>{this.addLocalFolderAsync2(Object.assign({localPath:_},y),(T,R)=>{T&&A(T),R&&I(this)})})},addFile:function(_,y,I,A){_=h(_);let T=x(_),R=T!=null;R||(T=new Jm(i),T.entryName=_),T.comment=I||"";let b=typeof A=="object"&&A instanceof o.fs.Stats;b&&(T.header.time=A.mtime);var C=T.isDirectory?16:0;let O=T.isDirectory?16384:32768;return b?O|=4095&A.mode:typeof A=="number"?O|=4095&A:O|=T.isDirectory?493:420,C=(C|O<<16)>>>0,T.attr=C,T.setData(y),R||c.setEntry(T),T},getEntries:function(_){return c.password=_,c?c.entries:[]},getEntry:function(_){return x(_)},getEntryCount:function(){return c.getEntryCount()},forEach:function(_){return c.forEach(_)},extractEntryTo:function(_,y,I,A,T,R){A=Bn(!1,A),T=Bn(!1,T),I=Bn(!0,I),R=Iu(T,R);var b=x(_);if(!b)throw Ee.Errors.NO_ENTRY();var C=d(b.entryName),O=u(y,R&&!b.isDirectory?R:I?C:be.basename(C));if(b.isDirectory){var B=c.getEntryChildren(b);return B.forEach(function($){if($.isDirectory)return;var ie=$.getData();if(!ie)throw Ee.Errors.CANT_EXTRACT_FILE();var Q=d($.entryName),oe=u(y,I?Q:be.basename(Q));let ae=T?$.header.fileAttr:void 0;o.writeFileTo(oe,ie,A,ae)}),!0}var M=b.getData(c.password);if(!M)throw Ee.Errors.CANT_EXTRACT_FILE();if(o.fs.existsSync(O)&&!A)throw Ee.Errors.CANT_OVERRIDE();let Z=T?_.header.fileAttr:void 0;return o.writeFileTo(O,M,A,Z),!0},test:function(_){if(!c)return!1;for(var y in c.entries)try{if(y.isDirectory)continue;var I=c.entries[y].getData(_);if(!I)return!1}catch{return!1}return!0},extractAllTo:function(_,y,I,A){if(I=Bn(!1,I),A=Iu(I,A),y=Bn(!1,y),!c)throw Ee.Errors.NO_ZIP();c.entries.forEach(function(T){var R=u(_,d(T.entryName));if(T.isDirectory){o.makeDir(R);return}var b=T.getData(A);if(!b)throw Ee.Errors.CANT_EXTRACT_FILE();let C=I?T.header.fileAttr:void 0;o.writeFileTo(R,b,y,C);try{o.fs.utimesSync(R,T.header.time,T.header.time)}catch{throw Ee.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(_,y,I,A){if(A=Ym(y,I,A),I=Bn(!1,I),y=Bn(!1,y),!A)return new Promise((O,B)=>{this.extractAllToAsync(_,y,I,function(M){M?B(M):O(this)})});if(!c){A(Ee.Errors.NO_ZIP());return}_=be.resolve(_);let T=O=>u(_,be.normalize(d(O.entryName))),R=(O,B)=>new Error(O+': "'+B+'"'),b=[],C=[];c.entries.forEach(O=>{O.isDirectory?b.push(O):C.push(O)});for(let O of b){let B=T(O),M=I?O.header.fileAttr:void 0;try{o.makeDir(B),M&&o.fs.chmodSync(B,M),o.fs.utimesSync(B,O.header.time,O.header.time)}catch{A(R("Unable to create folder",B))}}C.reverse().reduce(function(O,B){return function(M){if(M)O(M);else{let Z=be.normalize(d(B.entryName)),$=u(_,Z);B.getDataAsync(function(ie,Q){if(Q)O(Q);else if(!ie)O(Ee.Errors.CANT_EXTRACT_FILE());else{let oe=I?B.header.fileAttr:void 0;o.writeFileToAsync($,ie,y,oe,function(ae){ae||O(R("Unable to write file",$)),o.fs.utimes($,B.header.time,B.header.time,function(P){P?O(R("Unable to set times",$)):O()})})}})}}},A)()},writeZip:function(_,y){if(arguments.length===1&&typeof _=="function"&&(y=_,_=""),!_&&i.filename&&(_=i.filename),!!_){var I=c.compressToBuffer();if(I){var A=o.writeFileTo(_,I,!0);typeof y=="function"&&y(A?null:new Error("failed"),"")}}},writeZipPromise:function(_,y){let{overwrite:I,perm:A}=Object.assign({overwrite:!0},y);return new Promise((T,R)=>{!_&&i.filename&&(_=i.filename),_||R("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(b=>{let C=O=>O?T(O):R("ADM-ZIP: Wasn't able to write zip file");o.writeFileToAsync(_,b,I,A,C)},R)})},toBufferPromise:function(){return new Promise((_,y)=>{c.toAsyncBuffer(_,y)})},toBuffer:function(_,y,I,A){return typeof _=="function"?(c.toAsyncBuffer(_,y,I,A),null):c.compressToBuffer()}}}});import{execFile as iy,spawn as sy,spawnSync as i2}from"node:child_process";import{promisify as oy}from"node:util";function cy(t){if(process.platform!=="win32")return!1;if($f.test(t))return!0;let n=(t.split(/[/\\]/).pop()??t).replace($f,"").toLowerCase();return ay.has(n)}function Vf(t,e){if(process.platform!=="win32")return e??{};let n={...e??{}};return cy(t)&&n.shell===void 0&&(n.shell=!0),n.windowsHide===void 0&&(n.windowsHide=!0),n}function ot(t,e=[],n={}){return sy(t,e,Vf(t,n))}function Jf(t,e=[],n={}){return dy(t,e,Vf(t,n))}var ay,$f,dy,tn=rt(()=>{"use strict";ay=new Set(["npm","npx","yarn","pnpm","coze","tsx","claude-agent-acp","codex-acp","openclaw"]),$f=/\.(cmd|bat|ps1)$/i;dy=oy(iy)});var rn=ce((cR,jh)=>{"use strict";var Hh=["nodebuffer","arraybuffer","fragments"],Gh=typeof Blob<"u";Gh&&Hh.push("blob");jh.exports={BINARY_TYPES:Hh,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Gh,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var is=ce((dR,qo)=>{"use strict";var{EMPTY_BUFFER:KE}=rn(),kd=Buffer[Symbol.species];function $E(t,e){if(t.length===0)return KE;if(t.length===1)return t[0];let n=Buffer.allocUnsafe(e),i=0;for(let o=0;o<t.length;o++){let c=t[o];n.set(c,i),i+=c.length}return i<e?new kd(n.buffer,n.byteOffset,i):n}function qh(t,e,n,i,o){for(let c=0;c<o;c++)n[i+c]=t[c]^e[c&3]}function Wh(t,e){for(let n=0;n<t.length;n++)t[n]^=e[n&3]}function VE(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Td(t){if(Td.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new kd(t):ArrayBuffer.isView(t)?e=new kd(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Td.readOnly=!1),e}qo.exports={concat:$E,mask:qh,toArrayBuffer:VE,toBuffer:Td,unmask:Wh};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=he("bufferutil");qo.exports.mask=function(e,n,i,o,c){c<48?qh(e,n,i,o,c):t.mask(e,n,i,o,c)},qo.exports.unmask=function(e,n){e.length<32?Wh(e,n):t.unmask(e,n)}}catch{}});var Vh=ce((lR,$h)=>{"use strict";var Kh=Symbol("kDone"),Pd=Symbol("kRun"),Cd=class{constructor(e){this[Kh]=()=>{this.pending--,this[Pd]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Pd]()}[Pd](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Kh])}}};$h.exports=Cd});var Vr=ce((uR,Xh)=>{"use strict";var ss=he("zlib"),Jh=is(),JE=Vh(),{kStatusCode:Zh}=rn(),ZE=Buffer[Symbol.species],YE=Buffer.from([0,0,255,255]),Ko=Symbol("permessage-deflate"),sn=Symbol("total-length"),Kr=Symbol("callback"),Rn=Symbol("buffers"),$r=Symbol("error"),Wo,Rd=class{constructor(e){if(this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!Wo){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Wo=new JE(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[Kr];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let n=this._options,i=e.find(o=>!(n.serverNoContextTakeover===!1&&o.server_no_context_takeover||o.server_max_window_bits&&(n.serverMaxWindowBits===!1||typeof n.serverMaxWindowBits=="number"&&n.serverMaxWindowBits>o.server_max_window_bits)||typeof n.clientMaxWindowBits=="number"&&!o.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return n.serverNoContextTakeover&&(i.server_no_context_takeover=!0),n.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof n.serverMaxWindowBits=="number"&&(i.server_max_window_bits=n.serverMaxWindowBits),typeof n.clientMaxWindowBits=="number"?i.client_max_window_bits=n.clientMaxWindowBits:(i.client_max_window_bits===!0||n.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let n=e[0];if(this._options.clientNoContextTakeover===!1&&n.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!n.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(n.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&n.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return n}normalizeParams(e){return e.forEach(n=>{Object.keys(n).forEach(i=>{let o=n[i];if(o.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(o=o[0],i==="client_max_window_bits"){if(o!==!0){let c=+o;if(!Number.isInteger(c)||c<8||c>15)throw new TypeError(`Invalid value for parameter "${i}": ${o}`);o=c}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${o}`)}else if(i==="server_max_window_bits"){let c=+o;if(!Number.isInteger(c)||c<8||c>15)throw new TypeError(`Invalid value for parameter "${i}": ${o}`);o=c}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(o!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${o}`)}else throw new Error(`Unknown parameter "${i}"`);n[i]=o})}),e}decompress(e,n,i){Wo.add(o=>{this._decompress(e,n,(c,d)=>{o(),i(c,d)})})}compress(e,n,i){Wo.add(o=>{this._compress(e,n,(c,d)=>{o(),i(c,d)})})}_decompress(e,n,i){let o=this._isServer?"client":"server";if(!this._inflate){let c=`${o}_max_window_bits`,d=typeof this.params[c]!="number"?ss.Z_DEFAULT_WINDOWBITS:this.params[c];this._inflate=ss.createInflateRaw({...this._options.zlibInflateOptions,windowBits:d}),this._inflate[Ko]=this,this._inflate[sn]=0,this._inflate[Rn]=[],this._inflate.on("error",QE),this._inflate.on("data",Yh)}this._inflate[Kr]=i,this._inflate.write(e),n&&this._inflate.write(YE),this._inflate.flush(()=>{let c=this._inflate[$r];if(c){this._inflate.close(),this._inflate=null,i(c);return}let d=Jh.concat(this._inflate[Rn],this._inflate[sn]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[sn]=0,this._inflate[Rn]=[],n&&this.params[`${o}_no_context_takeover`]&&this._inflate.reset()),i(null,d)})}_compress(e,n,i){let o=this._isServer?"server":"client";if(!this._deflate){let c=`${o}_max_window_bits`,d=typeof this.params[c]!="number"?ss.Z_DEFAULT_WINDOWBITS:this.params[c];this._deflate=ss.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:d}),this._deflate[sn]=0,this._deflate[Rn]=[],this._deflate.on("data",XE)}this._deflate[Kr]=i,this._deflate.write(e),this._deflate.flush(ss.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let c=Jh.concat(this._deflate[Rn],this._deflate[sn]);n&&(c=new ZE(c.buffer,c.byteOffset,c.length-4)),this._deflate[Kr]=null,this._deflate[sn]=0,this._deflate[Rn]=[],n&&this.params[`${o}_no_context_takeover`]&&this._deflate.reset(),i(null,c)})}};Xh.exports=Rd;function XE(t){this[Rn].push(t),this[sn]+=t.length}function Yh(t){if(this[sn]+=t.length,this[Ko]._maxPayload<1||this[sn]<=this[Ko]._maxPayload){this[Rn].push(t);return}this[$r]=new RangeError("Max payload size exceeded"),this[$r].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[$r][Zh]=1009,this.removeListener("data",Yh),this.reset()}function QE(t){if(this[Ko]._inflate=null,this[$r]){this[Kr](this[$r]);return}t[Zh]=1007,this[Kr](t)}});var Jr=ce((fR,$o)=>{"use strict";var{isUtf8:Qh}=he("buffer"),{hasBlob:ev}=rn(),tv=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function nv(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function Dd(t){let e=t.length,n=0;for(;n<e;)if((t[n]&128)===0)n++;else if((t[n]&224)===192){if(n+1===e||(t[n+1]&192)!==128||(t[n]&254)===192)return!1;n+=2}else if((t[n]&240)===224){if(n+2>=e||(t[n+1]&192)!==128||(t[n+2]&192)!==128||t[n]===224&&(t[n+1]&224)===128||t[n]===237&&(t[n+1]&224)===160)return!1;n+=3}else if((t[n]&248)===240){if(n+3>=e||(t[n+1]&192)!==128||(t[n+2]&192)!==128||(t[n+3]&192)!==128||t[n]===240&&(t[n+1]&240)===128||t[n]===244&&t[n+1]>143||t[n]>244)return!1;n+=4}else return!1;return!0}function rv(t){return ev&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}$o.exports={isBlob:rv,isValidStatusCode:nv,isValidUTF8:Dd,tokenChars:tv};if(Qh)$o.exports.isValidUTF8=function(t){return t.length<24?Dd(t):Qh(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=he("utf-8-validate");$o.exports.isValidUTF8=function(e){return e.length<32?Dd(e):t(e)}}catch{}});var Bd=ce((hR,ox)=>{"use strict";var{Writable:iv}=he("stream"),ex=Vr(),{BINARY_TYPES:sv,EMPTY_BUFFER:tx,kStatusCode:ov,kWebSocket:av}=rn(),{concat:Od,toArrayBuffer:cv,unmask:dv}=is(),{isValidStatusCode:lv,isValidUTF8:nx}=Jr(),Vo=Buffer[Symbol.species],wt=0,rx=1,ix=2,sx=3,Ld=4,Nd=5,Jo=6,Md=class extends iv{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||sv[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxBufferedChunks=e.maxBufferedChunks|0,this._maxFragments=e.maxFragments|0,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[av]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=wt}_write(e,n,i){if(this._opcode===8&&this._state==wt)return i();if(this._maxBufferedChunks>0&&this._buffers.length>=this._maxBufferedChunks){i(this.createError(RangeError,"Too many buffered chunks",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS"));return}this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new Vo(i.buffer,i.byteOffset+e,i.length-e),new Vo(i.buffer,i.byteOffset,e)}let n=Buffer.allocUnsafe(e);do{let i=this._buffers[0],o=n.length-e;e>=i.length?n.set(this._buffers.shift(),o):(n.set(new Uint8Array(i.buffer,i.byteOffset,e),o),this._buffers[0]=new Vo(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return n}startLoop(e){this._loop=!0;do switch(this._state){case wt:this.getInfo(e);break;case rx:this.getPayloadLength16(e);break;case ix:this.getPayloadLength64(e);break;case sx:this.getMask();break;case Ld:this.getData(e);break;case Nd:case Jo:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let n=this.consume(2);if((n[0]&48)!==0){let o=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(o);return}let i=(n[0]&64)===64;if(i&&!this._extensions[ex.extensionName]){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(this._fin=(n[0]&128)===128,this._opcode=n[0]&15,this._payloadLength=n[1]&127,this._opcode===0){if(i){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(!this._fragmented){let o=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let o=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let o=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(o);return}if(i){let o=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(o);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let o=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(o);return}}else{let o=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(o);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(n[1]&128)===128,this._isServer){if(!this._masked){let o=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(o);return}}else if(this._masked){let o=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(o);return}this._payloadLength===126?this._state=rx:this._payloadLength===127?this._state=ix:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let n=this.consume(8),i=n.readUInt32BE(0);if(i>Math.pow(2,21)-1){let o=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(o);return}this._payloadLength=i*Math.pow(2,32)+n.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let n=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(n);return}this._masked?this._state=sx:this._state=Ld}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Ld}getData(e){let n=tx;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}n=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&dv(n,this._mask)}if(this._opcode>7){this.controlMessage(n,e);return}if(this._compressed){this._state=Nd,this.decompress(n,e);return}if(n.length){if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let i=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");e(i);return}this._messageLength=this._totalPayloadLength,this._fragments.push(n)}this.dataMessage(e)}decompress(e,n){this._extensions[ex.extensionName].decompress(e,this._fin,(o,c)=>{if(o)return n(o);if(c.length){if(this._messageLength+=c.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let d=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");n(d);return}if(this._maxFragments>0&&this._fragments.length>=this._maxFragments){let d=this.createError(RangeError,"Too many message fragments",!1,1008,"WS_ERR_TOO_MANY_BUFFERED_PARTS");n(d);return}this._fragments.push(c)}this.dataMessage(n),this._state===wt&&this.startLoop(n)})}dataMessage(e){if(!this._fin){this._state=wt;return}let n=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let o;this._binaryType==="nodebuffer"?o=Od(i,n):this._binaryType==="arraybuffer"?o=cv(Od(i,n)):this._binaryType==="blob"?o=new Blob(i):o=i,this._allowSynchronousEvents?(this.emit("message",o,!0),this._state=wt):(this._state=Jo,setImmediate(()=>{this.emit("message",o,!0),this._state=wt,this.startLoop(e)}))}else{let o=Od(i,n);if(!this._skipUTF8Validation&&!nx(o)){let c=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(c);return}this._state===Nd||this._allowSynchronousEvents?(this.emit("message",o,!1),this._state=wt):(this._state=Jo,setImmediate(()=>{this.emit("message",o,!1),this._state=wt,this.startLoop(e)}))}}controlMessage(e,n){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,tx),this.end();else{let i=e.readUInt16BE(0);if(!lv(i)){let c=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");n(c);return}let o=new Vo(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!nx(o)){let c=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");n(c);return}this._loop=!1,this.emit("conclude",i,o),this.end()}this._state=wt;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=wt):(this._state=Jo,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=wt,this.startLoop(n)}))}createError(e,n,i,o,c){this._loop=!1,this._errored=!0;let d=new e(i?`Invalid WebSocket frame: ${n}`:n);return Error.captureStackTrace(d,this.createError),d.code=c,d[ov]=o,d}};ox.exports=Md});var Ud=ce((pR,dx)=>{"use strict";var{Duplex:xR}=he("stream"),{randomFillSync:uv}=he("crypto"),{types:{isUint8Array:fv}}=he("util"),ax=Vr(),{EMPTY_BUFFER:hv,kWebSocket:xv,NOOP:pv}=rn(),{isBlob:Zr,isValidStatusCode:gv}=Jr(),{mask:cx,toBuffer:tr}=is(),_t=Symbol("kByteLength"),mv=Buffer.alloc(4),Zo=8*1024,nr,Yr=Zo,Tt=0,wv=1,_v=2,Fd=class t{constructor(e,n,i){this._extensions=n||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Tt,this.onerror=pv,this[xv]=void 0}static frame(e,n){let i,o=!1,c=2,d=!1;n.mask&&(i=n.maskBuffer||mv,n.generateMask?n.generateMask(i):(Yr===Zo&&(nr===void 0&&(nr=Buffer.alloc(Zo)),uv(nr,0,Zo),Yr=0),i[0]=nr[Yr++],i[1]=nr[Yr++],i[2]=nr[Yr++],i[3]=nr[Yr++]),d=(i[0]|i[1]|i[2]|i[3])===0,c=6);let u;typeof e=="string"?(!n.mask||d)&&n[_t]!==void 0?u=n[_t]:(e=Buffer.from(e),u=e.length):(u=e.length,o=n.mask&&n.readOnly&&!d);let h=u;u>=65536?(c+=8,h=127):u>125&&(c+=2,h=126);let x=Buffer.allocUnsafe(o?u+c:c);return x[0]=n.fin?n.opcode|128:n.opcode,n.rsv1&&(x[0]|=64),x[1]=h,h===126?x.writeUInt16BE(u,2):h===127&&(x[2]=x[3]=0,x.writeUIntBE(u,4,6)),n.mask?(x[1]|=128,x[c-4]=i[0],x[c-3]=i[1],x[c-2]=i[2],x[c-1]=i[3],d?[x,e]:o?(cx(e,i,x,c,u),[x]):(cx(e,i,e,0,u),[x,e])):[x,e]}close(e,n,i,o){let c;if(e===void 0)c=hv;else{if(typeof e!="number"||!gv(e))throw new TypeError("First argument must be a valid error code number");if(n===void 0||!n.length)c=Buffer.allocUnsafe(2),c.writeUInt16BE(e,0);else{let u=Buffer.byteLength(n);if(u>123)throw new RangeError("The message must not be greater than 123 bytes");if(c=Buffer.allocUnsafe(2+u),c.writeUInt16BE(e,0),typeof n=="string")c.write(n,2);else if(fv(n))c.set(n,2);else throw new TypeError("Second argument must be a string or a Uint8Array")}}let d={[_t]:c.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==Tt?this.enqueue([this.dispatch,c,!1,d,o]):this.sendFrame(t.frame(c,d),o)}ping(e,n,i){let o,c;if(typeof e=="string"?(o=Buffer.byteLength(e),c=!1):Zr(e)?(o=e.size,c=!1):(e=tr(e),o=e.length,c=tr.readOnly),o>125)throw new RangeError("The data size must not be greater than 125 bytes");let d={[_t]:o,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:9,readOnly:c,rsv1:!1};Zr(e)?this._state!==Tt?this.enqueue([this.getBlobData,e,!1,d,i]):this.getBlobData(e,!1,d,i):this._state!==Tt?this.enqueue([this.dispatch,e,!1,d,i]):this.sendFrame(t.frame(e,d),i)}pong(e,n,i){let o,c;if(typeof e=="string"?(o=Buffer.byteLength(e),c=!1):Zr(e)?(o=e.size,c=!1):(e=tr(e),o=e.length,c=tr.readOnly),o>125)throw new RangeError("The data size must not be greater than 125 bytes");let d={[_t]:o,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:10,readOnly:c,rsv1:!1};Zr(e)?this._state!==Tt?this.enqueue([this.getBlobData,e,!1,d,i]):this.getBlobData(e,!1,d,i):this._state!==Tt?this.enqueue([this.dispatch,e,!1,d,i]):this.sendFrame(t.frame(e,d),i)}send(e,n,i){let o=this._extensions[ax.extensionName],c=n.binary?2:1,d=n.compress,u,h;typeof e=="string"?(u=Buffer.byteLength(e),h=!1):Zr(e)?(u=e.size,h=!1):(e=tr(e),u=e.length,h=tr.readOnly),this._firstFragment?(this._firstFragment=!1,d&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(d=u>=o._threshold),this._compress=d):(d=!1,c=0),n.fin&&(this._firstFragment=!0);let x={[_t]:u,fin:n.fin,generateMask:this._generateMask,mask:n.mask,maskBuffer:this._maskBuffer,opcode:c,readOnly:h,rsv1:d};Zr(e)?this._state!==Tt?this.enqueue([this.getBlobData,e,this._compress,x,i]):this.getBlobData(e,this._compress,x,i):this._state!==Tt?this.enqueue([this.dispatch,e,this._compress,x,i]):this.dispatch(e,this._compress,x,i)}getBlobData(e,n,i,o){this._bufferedBytes+=i[_t],this._state=_v,e.arrayBuffer().then(c=>{if(this._socket.destroyed){let u=new Error("The socket was closed while the blob was being read");process.nextTick(zd,this,u,o);return}this._bufferedBytes-=i[_t];let d=tr(c);n?this.dispatch(d,n,i,o):(this._state=Tt,this.sendFrame(t.frame(d,i),o),this.dequeue())}).catch(c=>{process.nextTick(yv,this,c,o)})}dispatch(e,n,i,o){if(!n){this.sendFrame(t.frame(e,i),o);return}let c=this._extensions[ax.extensionName];this._bufferedBytes+=i[_t],this._state=wv,c.compress(e,i.fin,(d,u)=>{if(this._socket.destroyed){let h=new Error("The socket was closed while data was being compressed");zd(this,h,o);return}this._bufferedBytes-=i[_t],this._state=Tt,i.readOnly=!1,this.sendFrame(t.frame(u,i),o),this.dequeue()})}dequeue(){for(;this._state===Tt&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][_t],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][_t],this._queue.push(e)}sendFrame(e,n){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],n),this._socket.uncork()):this._socket.write(e[0],n)}};dx.exports=Fd;function zd(t,e,n){typeof n=="function"&&n(e);for(let i=0;i<t._queue.length;i++){let o=t._queue[i],c=o[o.length-1];typeof c=="function"&&c(e)}}function yv(t,e,n){zd(t,e,n),t.onerror(e)}});var _x=ce((gR,mx)=>{"use strict";var{kForOnEventAttribute:os,kListener:Hd}=rn(),lx=Symbol("kCode"),ux=Symbol("kData"),fx=Symbol("kError"),hx=Symbol("kMessage"),xx=Symbol("kReason"),Xr=Symbol("kTarget"),px=Symbol("kType"),gx=Symbol("kWasClean"),on=class{constructor(e){this[Xr]=null,this[px]=e}get target(){return this[Xr]}get type(){return this[px]}};Object.defineProperty(on.prototype,"target",{enumerable:!0});Object.defineProperty(on.prototype,"type",{enumerable:!0});var rr=class extends on{constructor(e,n={}){super(e),this[lx]=n.code===void 0?0:n.code,this[xx]=n.reason===void 0?"":n.reason,this[gx]=n.wasClean===void 0?!1:n.wasClean}get code(){return this[lx]}get reason(){return this[xx]}get wasClean(){return this[gx]}};Object.defineProperty(rr.prototype,"code",{enumerable:!0});Object.defineProperty(rr.prototype,"reason",{enumerable:!0});Object.defineProperty(rr.prototype,"wasClean",{enumerable:!0});var Qr=class extends on{constructor(e,n={}){super(e),this[fx]=n.error===void 0?null:n.error,this[hx]=n.message===void 0?"":n.message}get error(){return this[fx]}get message(){return this[hx]}};Object.defineProperty(Qr.prototype,"error",{enumerable:!0});Object.defineProperty(Qr.prototype,"message",{enumerable:!0});var as=class extends on{constructor(e,n={}){super(e),this[ux]=n.data===void 0?null:n.data}get data(){return this[ux]}};Object.defineProperty(as.prototype,"data",{enumerable:!0});var bv={addEventListener(t,e,n={}){for(let o of this.listeners(t))if(!n[os]&&o[Hd]===e&&!o[os])return;let i;if(t==="message")i=function(c,d){let u=new as("message",{data:d?c:c.toString()});u[Xr]=this,Yo(e,this,u)};else if(t==="close")i=function(c,d){let u=new rr("close",{code:c,reason:d.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});u[Xr]=this,Yo(e,this,u)};else if(t==="error")i=function(c){let d=new Qr("error",{error:c,message:c.message});d[Xr]=this,Yo(e,this,d)};else if(t==="open")i=function(){let c=new on("open");c[Xr]=this,Yo(e,this,c)};else return;i[os]=!!n[os],i[Hd]=e,n.once?this.once(t,i):this.on(t,i)},removeEventListener(t,e){for(let n of this.listeners(t))if(n[Hd]===e&&!n[os]){this.removeListener(t,n);break}}};mx.exports={CloseEvent:rr,ErrorEvent:Qr,Event:on,EventTarget:bv,MessageEvent:as};function Yo(t,e,n){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,n):t.call(e,n)}});var Xo=ce((mR,yx)=>{"use strict";var{tokenChars:cs}=Jr();function zt(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}function Ev(t){let e=Object.create(null),n=Object.create(null),i=!1,o=!1,c=!1,d,u,h=-1,x=-1,p=-1,m=0;for(;m<t.length;m++)if(x=t.charCodeAt(m),d===void 0)if(p===-1&&cs[x]===1)h===-1&&(h=m);else if(m!==0&&(x===32||x===9))p===-1&&h!==-1&&(p=m);else if(x===59||x===44){if(h===-1)throw new SyntaxError(`Unexpected character at index ${m}`);p===-1&&(p=m);let _=t.slice(h,p);x===44?(zt(e,_,n),n=Object.create(null)):d=_,h=p=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);else if(u===void 0)if(p===-1&&cs[x]===1)h===-1&&(h=m);else if(x===32||x===9)p===-1&&h!==-1&&(p=m);else if(x===59||x===44){if(h===-1)throw new SyntaxError(`Unexpected character at index ${m}`);p===-1&&(p=m),zt(n,t.slice(h,p),!0),x===44&&(zt(e,d,n),n=Object.create(null),d=void 0),h=p=-1}else if(x===61&&h!==-1&&p===-1)u=t.slice(h,m),h=p=-1;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(o){if(cs[x]!==1)throw new SyntaxError(`Unexpected character at index ${m}`);h===-1?h=m:i||(i=!0),o=!1}else if(c)if(cs[x]===1)h===-1&&(h=m);else if(x===34&&h!==-1)c=!1,p=m;else if(x===92)o=!0;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(x===34&&t.charCodeAt(m-1)===61)c=!0;else if(p===-1&&cs[x]===1)h===-1&&(h=m);else if(h!==-1&&(x===32||x===9))p===-1&&(p=m);else if(x===59||x===44){if(h===-1)throw new SyntaxError(`Unexpected character at index ${m}`);p===-1&&(p=m);let _=t.slice(h,p);i&&(_=_.replace(/\\/g,""),i=!1),zt(n,u,_),x===44&&(zt(e,d,n),n=Object.create(null),d=void 0),u=void 0,h=p=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);if(h===-1||c||x===32||x===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=m);let v=t.slice(h,p);return d===void 0?zt(e,v,n):(u===void 0?zt(n,v,!0):i?zt(n,u,v.replace(/\\/g,"")):zt(n,u,v),zt(e,d,n)),e}function vv(t){return Object.keys(t).map(e=>{let n=t[e];return Array.isArray(n)||(n=[n]),n.map(i=>[e].concat(Object.keys(i).map(o=>{let c=i[o];return Array.isArray(c)||(c=[c]),c.map(d=>d===!0?o:`${o}=${d}`).join("; ")})).join("; ")).join(", ")}).join(", ")}yx.exports={format:vv,parse:Ev}});var na=ce((yR,Dx)=>{"use strict";var Sv=he("events"),Iv=he("https"),Av=he("http"),vx=he("net"),kv=he("tls"),{randomBytes:Tv,createHash:Pv}=he("crypto"),{Duplex:wR,Readable:_R}=he("stream"),{URL:Gd}=he("url"),Dn=Vr(),Cv=Bd(),Rv=Ud(),{isBlob:Dv}=Jr(),{BINARY_TYPES:bx,CLOSE_TIMEOUT:Ov,EMPTY_BUFFER:Qo,GUID:Lv,kForOnEventAttribute:jd,kListener:Nv,kStatusCode:Mv,kWebSocket:We,NOOP:Sx}=rn(),{EventTarget:{addEventListener:Bv,removeEventListener:Fv}}=_x(),{format:zv,parse:Uv}=Xo(),{toBuffer:Hv}=is(),Ix=Symbol("kAborted"),qd=[8,13],an=["CONNECTING","OPEN","CLOSING","CLOSED"],Gv=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,we=class t extends Sv{constructor(e,n,i){super(),this._binaryType=bx[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Qo,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,n===void 0?n=[]:Array.isArray(n)||(typeof n=="object"&&n!==null?(i=n,n=[]):n=[n]),Ax(this,e,n,i)):(this._autoPong=i.autoPong,this._closeTimeout=i.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){bx.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,n,i){let o=new Cv({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxBufferedChunks:i.maxBufferedChunks,maxFragments:i.maxFragments,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),c=new Rv(e,this._extensions,i.generateMask);this._receiver=o,this._sender=c,this._socket=e,o[We]=this,c[We]=this,e[We]=this,o.on("conclude",Wv),o.on("drain",Kv),o.on("error",$v),o.on("message",Vv),o.on("ping",Jv),o.on("pong",Zv),c.onerror=Yv,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),n.length>0&&e.unshift(n),e.on("close",Px),e.on("data",ta),e.on("end",Cx),e.on("error",Rx),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Dn.extensionName]&&this._extensions[Dn.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,n){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){ut(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,n,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Tx(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,n,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=n=void 0):typeof n=="function"&&(i=n,n=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Wd(this,e,i);return}n===void 0&&(n=!this._isServer),this._sender.ping(e||Qo,n,i)}pong(e,n,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=n=void 0):typeof n=="function"&&(i=n,n=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Wd(this,e,i);return}n===void 0&&(n=!this._isServer),this._sender.pong(e||Qo,n,i)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,n,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof n=="function"&&(i=n,n={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Wd(this,e,i);return}let o={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...n};this._extensions[Dn.extensionName]||(o.compress=!1),this._sender.send(e||Qo,o,i)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){ut(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(we,"CONNECTING",{enumerable:!0,value:an.indexOf("CONNECTING")});Object.defineProperty(we.prototype,"CONNECTING",{enumerable:!0,value:an.indexOf("CONNECTING")});Object.defineProperty(we,"OPEN",{enumerable:!0,value:an.indexOf("OPEN")});Object.defineProperty(we.prototype,"OPEN",{enumerable:!0,value:an.indexOf("OPEN")});Object.defineProperty(we,"CLOSING",{enumerable:!0,value:an.indexOf("CLOSING")});Object.defineProperty(we.prototype,"CLOSING",{enumerable:!0,value:an.indexOf("CLOSING")});Object.defineProperty(we,"CLOSED",{enumerable:!0,value:an.indexOf("CLOSED")});Object.defineProperty(we.prototype,"CLOSED",{enumerable:!0,value:an.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(we.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(we.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[jd])return e[Nv];return null},set(e){for(let n of this.listeners(t))if(n[jd]){this.removeListener(t,n);break}typeof e=="function"&&this.addEventListener(t,e,{[jd]:!0})}})});we.prototype.addEventListener=Bv;we.prototype.removeEventListener=Fv;Dx.exports=we;function Ax(t,e,n,i){let o={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:Ov,protocolVersion:qd[1],maxBufferedChunks:1048576,maxFragments:131072,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=o.autoPong,t._closeTimeout=o.closeTimeout,!qd.includes(o.protocolVersion))throw new RangeError(`Unsupported protocol version: ${o.protocolVersion} (supported versions: ${qd.join(", ")})`);let c;if(e instanceof Gd)c=e;else try{c=new Gd(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}c.protocol==="http:"?c.protocol="ws:":c.protocol==="https:"&&(c.protocol="wss:"),t._url=c.href;let d=c.protocol==="wss:",u=c.protocol==="ws+unix:",h;if(c.protocol!=="ws:"&&!d&&!u?h=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:u&&!c.pathname?h="The URL's pathname is empty":c.hash&&(h="The URL contains a fragment identifier"),h){let I=new SyntaxError(h);if(t._redirects===0)throw I;ea(t,I);return}let x=d?443:80,p=Tv(16).toString("base64"),m=d?Iv.request:Av.request,v=new Set,_;if(o.createConnection=o.createConnection||(d?qv:jv),o.defaultPort=o.defaultPort||x,o.port=c.port||x,o.host=c.hostname.startsWith("[")?c.hostname.slice(1,-1):c.hostname,o.headers={...o.headers,"Sec-WebSocket-Version":o.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},o.path=c.pathname+c.search,o.timeout=o.handshakeTimeout,o.perMessageDeflate&&(_=new Dn({...o.perMessageDeflate,isServer:!1,maxPayload:o.maxPayload}),o.headers["Sec-WebSocket-Extensions"]=zv({[Dn.extensionName]:_.offer()})),n.length){for(let I of n){if(typeof I!="string"||!Gv.test(I)||v.has(I))throw new SyntaxError("An invalid or duplicated subprotocol was specified");v.add(I)}o.headers["Sec-WebSocket-Protocol"]=n.join(",")}if(o.origin&&(o.protocolVersion<13?o.headers["Sec-WebSocket-Origin"]=o.origin:o.headers.Origin=o.origin),(c.username||c.password)&&(o.auth=`${c.username}:${c.password}`),u){let I=o.path.split(":");o.socketPath=I[0],o.path=I[1]}let y;if(o.followRedirects){if(t._redirects===0){t._originalIpc=u,t._originalSecure=d,t._originalHostOrSocketPath=u?o.socketPath:c.host;let I=i&&i.headers;if(i={...i,headers:{}},I)for(let[A,T]of Object.entries(I))i.headers[A.toLowerCase()]=T}else if(t.listenerCount("redirect")===0){let I=u?t._originalIpc?o.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:c.host===t._originalHostOrSocketPath;(!I||t._originalSecure&&!d)&&(delete o.headers.authorization,delete o.headers.cookie,I||delete o.headers.host,o.auth=void 0)}o.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(o.auth).toString("base64")),y=t._req=m(o),t._redirects&&t.emit("redirect",t.url,y)}else y=t._req=m(o);o.timeout&&y.on("timeout",()=>{ut(t,y,"Opening handshake has timed out")}),y.on("error",I=>{y===null||y[Ix]||(y=t._req=null,ea(t,I))}),y.on("response",I=>{let A=I.headers.location,T=I.statusCode;if(A&&o.followRedirects&&T>=300&&T<400){if(++t._redirects>o.maxRedirects){ut(t,y,"Maximum redirects exceeded");return}y.abort();let R;try{R=new Gd(A,e)}catch{let C=new SyntaxError(`Invalid URL: ${A}`);ea(t,C);return}Ax(t,R,n,i)}else t.emit("unexpected-response",y,I)||ut(t,y,`Unexpected server response: ${I.statusCode}`)}),y.on("upgrade",(I,A,T)=>{if(t.emit("upgrade",I),t.readyState!==we.CONNECTING)return;y=t._req=null;let R=I.headers.upgrade;if(R===void 0||R.toLowerCase()!=="websocket"){ut(t,A,"Invalid Upgrade header");return}let b=Pv("sha1").update(p+Lv).digest("base64");if(I.headers["sec-websocket-accept"]!==b){ut(t,A,"Invalid Sec-WebSocket-Accept header");return}let C=I.headers["sec-websocket-protocol"],O;if(C!==void 0?v.size?v.has(C)||(O="Server sent an invalid subprotocol"):O="Server sent a subprotocol but none was requested":v.size&&(O="Server sent no subprotocol"),O){ut(t,A,O);return}C&&(t._protocol=C);let B=I.headers["sec-websocket-extensions"];if(B!==void 0){if(!_){ut(t,A,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let M;try{M=Uv(B)}catch{ut(t,A,"Invalid Sec-WebSocket-Extensions header");return}let Z=Object.keys(M);if(Z.length!==1||Z[0]!==Dn.extensionName){ut(t,A,"Server indicated an extension that was not requested");return}try{_.accept(M[Dn.extensionName])}catch{ut(t,A,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[Dn.extensionName]=_}t.setSocket(A,T,{allowSynchronousEvents:o.allowSynchronousEvents,generateMask:o.generateMask,maxBufferedChunks:o.maxBufferedChunks,maxFragments:o.maxFragments,maxPayload:o.maxPayload,skipUTF8Validation:o.skipUTF8Validation})}),o.finishRequest?o.finishRequest(y,t):y.end()}function ea(t,e){t._readyState=we.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function jv(t){return t.path=t.socketPath,vx.connect(t)}function qv(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=vx.isIP(t.host)?"":t.host),kv.connect(t)}function ut(t,e,n){t._readyState=we.CLOSING;let i=new Error(n);Error.captureStackTrace(i,ut),e.setHeader?(e[Ix]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(ea,t,i)):(e.destroy(i),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Wd(t,e,n){if(e){let i=Dv(e)?e.size:Hv(e).length;t._socket?t._sender._bufferedBytes+=i:t._bufferedAmount+=i}if(n){let i=new Error(`WebSocket is not open: readyState ${t.readyState} (${an[t.readyState]})`);process.nextTick(n,i)}}function Wv(t,e){let n=this[We];n._closeFrameReceived=!0,n._closeMessage=e,n._closeCode=t,n._socket[We]!==void 0&&(n._socket.removeListener("data",ta),process.nextTick(kx,n._socket),t===1005?n.close():n.close(t,e))}function Kv(){let t=this[We];t.isPaused||t._socket.resume()}function $v(t){let e=this[We];e._socket[We]!==void 0&&(e._socket.removeListener("data",ta),process.nextTick(kx,e._socket),e.close(t[Mv])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Ex(){this[We].emitClose()}function Vv(t,e){this[We].emit("message",t,e)}function Jv(t){let e=this[We];e._autoPong&&e.pong(t,!this._isServer,Sx),e.emit("ping",t)}function Zv(t){this[We].emit("pong",t)}function kx(t){t.resume()}function Yv(t){let e=this[We];e.readyState!==we.CLOSED&&(e.readyState===we.OPEN&&(e._readyState=we.CLOSING,Tx(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function Tx(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function Px(){let t=this[We];if(this.removeListener("close",Px),this.removeListener("data",ta),this.removeListener("end",Cx),t._readyState=we.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[We]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Ex),t._receiver.on("finish",Ex))}function ta(t){this[We]._receiver.write(t)||this.pause()}function Cx(){let t=this[We];t._readyState=we.CLOSING,t._receiver.end(),this.end()}function Rx(){let t=this[We];this.removeListener("error",Rx),this.on("error",Sx),t&&(t._readyState=we.CLOSING,this.destroy())}});var Mx=ce((ER,Nx)=>{"use strict";var bR=na(),{Duplex:Xv}=he("stream");function Ox(t){t.emit("close")}function Qv(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Lx(t){this.removeListener("error",Lx),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function eS(t,e){let n=!0,i=new Xv({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(c,d){let u=!d&&i._readableState.objectMode?c.toString():c;i.push(u)||t.pause()}),t.once("error",function(c){i.destroyed||(n=!1,i.destroy(c))}),t.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(o,c){if(t.readyState===t.CLOSED){c(o),process.nextTick(Ox,i);return}let d=!1;t.once("error",function(h){d=!0,c(h)}),t.once("close",function(){d||c(o),process.nextTick(Ox,i)}),n&&t.terminate()},i._final=function(o){if(t.readyState===t.CONNECTING){t.once("open",function(){i._final(o)});return}t._socket!==null&&(t._socket._writableState.finished?(o(),i._readableState.endEmitted&&i.destroy()):(t._socket.once("finish",function(){o()}),t.close()))},i._read=function(){t.isPaused&&t.resume()},i._write=function(o,c,d){if(t.readyState===t.CONNECTING){t.once("open",function(){i._write(o,c,d)});return}t.send(o,d)},i.on("end",Qv),i.on("error",Lx),i}Nx.exports=eS});var Kd=ce((vR,Bx)=>{"use strict";var{tokenChars:tS}=Jr();function nS(t){let e=new Set,n=-1,i=-1,o=0;for(o;o<t.length;o++){let d=t.charCodeAt(o);if(i===-1&&tS[d]===1)n===-1&&(n=o);else if(o!==0&&(d===32||d===9))i===-1&&n!==-1&&(i=o);else if(d===44){if(n===-1)throw new SyntaxError(`Unexpected character at index ${o}`);i===-1&&(i=o);let u=t.slice(n,i);if(e.has(u))throw new SyntaxError(`The "${u}" subprotocol is duplicated`);e.add(u),n=i=-1}else throw new SyntaxError(`Unexpected character at index ${o}`)}if(n===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let c=t.slice(n,o);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);return e.add(c),e}Bx.exports={parse:nS}});var qx=ce((IR,jx)=>{"use strict";var rS=he("events"),ra=he("http"),{Duplex:SR}=he("stream"),{createHash:iS}=he("crypto"),Fx=Xo(),ir=Vr(),sS=Kd(),oS=na(),{CLOSE_TIMEOUT:aS,GUID:cS,kWebSocket:dS}=rn(),lS=/^[+/0-9A-Za-z]{22}==$/,zx=0,Ux=1,Gx=2,$d=class extends rS{constructor(e,n){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxBufferedChunks:1024*1024,maxFragments:128*1024,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:aS,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:oS,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=ra.createServer((i,o)=>{let c=ra.STATUS_CODES[426];o.writeHead(426,{"Content-Length":c.length,"Content-Type":"text/plain"}),o.end(c)}),this._server.listen(e.port,e.host,e.backlog,n)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=uS(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(o,c,d)=>{this.handleUpgrade(o,c,d,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=zx}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Gx){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(ds,this);return}if(e&&this.once("close",e),this._state!==Ux)if(this._state=Ux,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(ds,this):process.nextTick(ds,this);else{let n=this._server;this._removeListeners(),this._removeListeners=this._server=null,n.close(()=>{ds(this)})}}shouldHandle(e){if(this.options.path){let n=e.url.indexOf("?");if((n!==-1?e.url.slice(0,n):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,n,i,o){n.on("error",Hx);let c=e.headers["sec-websocket-key"],d=e.headers.upgrade,u=+e.headers["sec-websocket-version"];if(e.method!=="GET"){sr(this,e,n,405,"Invalid HTTP method");return}if(d===void 0||d.toLowerCase()!=="websocket"){sr(this,e,n,400,"Invalid Upgrade header");return}if(c===void 0||!lS.test(c)){sr(this,e,n,400,"Missing or invalid Sec-WebSocket-Key header");return}if(u!==13&&u!==8){sr(this,e,n,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){ls(n,400);return}let h=e.headers["sec-websocket-protocol"],x=new Set;if(h!==void 0)try{x=sS.parse(h)}catch{sr(this,e,n,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],m={};if(this.options.perMessageDeflate&&p!==void 0){let v=new ir({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let _=Fx.parse(p);_[ir.extensionName]&&(v.accept(_[ir.extensionName]),m[ir.extensionName]=v)}catch{sr(this,e,n,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let v={origin:e.headers[`${u===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(v,(_,y,I,A)=>{if(!_)return ls(n,y||401,I,A);this.completeUpgrade(m,c,x,e,n,i,o)});return}if(!this.options.verifyClient(v))return ls(n,401)}this.completeUpgrade(m,c,x,e,n,i,o)}completeUpgrade(e,n,i,o,c,d,u){if(!c.readable||!c.writable)return c.destroy();if(c[dS])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>zx)return ls(c,503);let x=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${iS("sha1").update(n+cS).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(i.size){let m=this.options.handleProtocols?this.options.handleProtocols(i,o):i.values().next().value;m&&(x.push(`Sec-WebSocket-Protocol: ${m}`),p._protocol=m)}if(e[ir.extensionName]){let m=e[ir.extensionName].params,v=Fx.format({[ir.extensionName]:[m]});x.push(`Sec-WebSocket-Extensions: ${v}`),p._extensions=e}this.emit("headers",x,o),c.write(x.concat(`\r
|
|
15
15
|
`).join(`\r
|
|
16
|
-
`)),c.removeListener("error",
|
|
16
|
+
`)),c.removeListener("error",Hx),p.setSocket(c,d,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxBufferedChunks:this.options.maxBufferedChunks,maxFragments:this.options.maxFragments,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(p),p.on("close",()=>{this.clients.delete(p),this._shouldEmitClose&&!this.clients.size&&process.nextTick(ds,this)})),u(p,o)}};jx.exports=$d;function uS(t,e){for(let n of Object.keys(e))t.on(n,e[n]);return function(){for(let i of Object.keys(e))t.removeListener(i,e[i])}}function ds(t){t._state=Gx,t.emit("close")}function Hx(){this.destroy()}function ls(t,e,n,i){n=n||ra.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(n),...i},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${ra.STATUS_CODES[e]}\r
|
|
17
17
|
`+Object.keys(i).map(o=>`${o}: ${i[o]}`).join(`\r
|
|
18
18
|
`)+`\r
|
|
19
19
|
\r
|
|
20
|
-
`+n)}function er(t,e,n,i,o,c){if(t.listenerCount("wsClientError")){let d=new Error(o);Error.captureStackTrace(d,er),t.emit("wsClientError",d,n,e)}else is(n,i,o,c)}});var Yx=ce(Fe=>{"use strict";var M=W;(function(t,e){let n=W,i=t();for(;;)try{if(-parseInt(n(421))/1+-parseInt(n(1554))/2*(parseInt(n(1447))/3)+-parseInt(n(1498))/4*(-parseInt(n(325))/5)+-parseInt(n(552))/6+-parseInt(n(304))/7+-parseInt(n(591))/8*(-parseInt(n(328))/9)+parseInt(n(679))/10===e)break;i.push(i.shift())}catch{i.push(i.shift())}})(ia,507516);var gS=Object[M(820)+M(1368)],mS=Object[M(926)+M(947)+M(572)],Wx=(t,e)=>function(){return t&&(e=(0,t[{UKAmM:function(c,d){return c(d)}}[M(416)](mS,t)[0]])(t=0)),e},wS=(t,e)=>{let n={RetLa:function(o,c,d,u){return o(c,d,u)}};for(var i in e)n.RetLa(gS,t,i,{get:e[i],enumerable:!0})};function _S(){return Ux||(Ux=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function yS(){let t=M;return Gx||(Gx=[IDBCursor[t(850)+"e"][t(565)],IDBCursor.prototype.continue,IDBCursor[t(850)+"e"].continuePrimaryKey])}function bS(t){let e=M,n={MVDqr:"error",jiCtE:function(o,c){return o(c)},ewFQH:function(o,c){return o(c)},oPDxe:function(o){return o()},JVGhm:"sTmyZ",AXCkc:e(1522),viQTw:e(355),FYqUf:function(o,c){return o instanceof c}},i=new Promise((o,c)=>{let d=e,u={mnTeE:function(f,x){return n[W(1509)](f,x)}};if(n[d(665)]!==n[d(307)]){let f=()=>{let w=d;t[w(984)+w(1346)+w(673)](w(355),x),t[w(984)+w(1346)+w(673)](n[w(608)],p)},x=()=>{let w=d;n.jiCtE(o,n.ewFQH(zt,t[w(1369)])),n[w(618)](f)},p=()=>{u[d(1596)](c,t.error),f()};t[d(870)+"Listener"](n[d(1073)],x),t[d(870)+d(970)](d(243),p)}else return 0});return i[e(291)](o=>{n[e(761)](o,IDBCursor)&&jd.set(o,t)})[e(1487)](()=>{}),na[e(697)](i,t),i}function ES(t){let e=M,n={HixWa:e(1541),NLliR:e(243),ePjOz:e(309),Plttz:function(o){return o()},EWcCf:function(o){return o()},vYuvA:e(780),oVJeF:function(o,c){return o===c},PCuWj:e(537)+e(394),LYaKC:"store",eXYSL:e(224),LWwfv:function(o,c){return o(c)},cgxIx:function(o){return o()}};if(ta.has(t))return;let i=new Promise((o,c)=>{let d=e,u=()=>{let p=W;t["removeEv"+p(1346)+"ner"](n[p(1215)],f),t[p(984)+p(1346)+p(673)](n[p(808)],x),t[p(984)+p(1346)+"ner"](n[p(641)],x)},f=()=>{let p=W;n[p(1531)](o),n[p(1261)](u)},x=()=>{let p=W,w={boLVz:n.vYuvA,TasPN:function(S,_){return n[W(931)](S,_)},OBVQY:n[p(331)],KwjEU:n[p(347)]};if(n.eXYSL!==p(1060))n.LWwfv(c,t[p(243)]||new DOMException(p(995)+"or",p(995)+"or")),n.cgxIx(u);else{if(_0x8bd525 instanceof _0x24dc3d){if(_0xe9e5d2===w.boLVz)return _0x170c1c[p(1420)](_0x509056);if(w[p(1034)](_0x39813a,w[p(913)]))return _0x4fcc8c[p(537)+p(394)]||_0x20be49[p(1420)](_0x1debb9);if(_0x381fbb===w[p(1088)])return _0x26db09["objectSt"+p(394)][1]?void 0:_0x1132c4["objectSt"+p(1068)](_0x1f2b89["objectSt"+p(394)][0])}return _0x349e3a(_0x4725d2[_0x33259d])}};t[d(870)+d(970)](n[d(1215)],f),t["addEvent"+d(970)](n[d(808)],x),t[d(870)+d(970)](d(309),x)});ta[e(697)](t,i)}function vS(t){ra={Tqfic:function(n,i){return n(i)}}.Tqfic(t,ra)}function SS(t){let e=M,n={ThcUW:function(i,o){return i(o)},eDRPY:function(i,o){return i===o},woaIl:function(i,o){return i in o},fRLXj:"objectSt"+e(394),uOrPd:function(i){return i()}};return n.eDRPY(t,IDBDatabase[e(850)+"e"][e(749)+e(1131)])&&!n.woaIl(n.fRLXj,IDBTransaction[e(850)+"e"])?function(i,...o){let c=e,d=t[c(962)](n[c(881)](ss,this),i,...o);return qd[c(697)](d,i[c(502)]?i[c(502)]():[i]),n[c(881)](zt,d)}:n[e(381)](yS)[e(469)](t)?function(...i){let o=e;return t[o(1255)](ss(this),i),zt(jd[o(1420)](this))}:function(...i){return zt(t[e(1255)](ss(this),i))}}function IS(t){let e=M,n={HhcyH:function(i,o){return i===o},KlCiB:e(1129),fGZBu:function(i,o){return i(o)},XQnUf:function(i,o){return i instanceof o},qbfXw:function(i,o){return i(o)},mmYkU:function(i,o,c){return i(o,c)}};return n[e(922)](typeof t,n[e(287)])?n[e(811)](SS,t):(n[e(463)](t,IDBTransaction)&&n[e(625)](ES,t),n[e(718)]($x,t,_S())?new Proxy(t,ra):t)}function zt(t){let e=M,n={QvbfU:function(o,c){return o instanceof c},PhGXM:function(o,c){return o(c)},mvVhK:function(o,c){return o(c)},BWPCf:function(o,c){return o!==c},sMNUf:"tvtDp"};if(n[e(1325)](t,IDBRequest))return n[e(1335)](bS,t);if(Qo.has(t))return Qo[e(1420)](t);let i=n[e(1150)](IS,t);if(n[e(404)](i,t)){if(n[e(404)](n[e(809)],e(596)))return this[e(330)][e(1256)];Qo.set(t,i),na[e(697)](i,t)}return i}var $x,Ux,Gx,jd,ta,qd,Qo,na,ra,ss,Hx=Wx({"node_modules/idb/build/wrap-idb-value.js"(){let t=M,e={XpgSh:function(n,i){return n(i)},sTqMy:"unknown "+t(934),NVEdk:t(423),LBLZY:function(n,i){return n+i},rUTlu:"http",TYKMx:t(909)+"ack=fron"+t(771)+"P",YtZTJ:function(n,i){return n===i},ifQKy:function(n,i){return n===i},XwpGW:t(537)+t(394),TRvil:function(n,i){return n!==i},YwvWn:t(499),xmHRM:function(n,i){return n(i)},WgPpd:function(n,i){return n===i},VHIDw:function(n,i){return n instanceof i},kEDle:"done",QDNxL:function(n,i){return n===i},ixxlH:t(954),oMMKl:function(n,i){return n in i}};$x=(n,i)=>i[t(240)](o=>n instanceof o),jd=new WeakMap,ta=new WeakMap,qd=new WeakMap,Qo=new WeakMap,na=new WeakMap,ra={get(n,i,o){let c=t,d={QIKHV:function(u,f){return e[W(1046)](u,f)},BUnDG:e.sTqMy,ANhBe:e.NVEdk,WcrPv:function(u,f){return e.LBLZY(u,f)},Vyptq:e[c(1613)],IpqBc:e.TYKMx};if(n instanceof IDBTransaction){if(e[c(700)](i,c(780)))return ta[c(1420)](n);if(e[c(731)](i,e[c(1285)]))return n["objectSt"+c(394)]||qd.get(n);if(i===c(954))if(e.TRvil(e[c(689)],e[c(689)])){let u={ExYKG:function(x,p){return d[c(866)](x,p)},QIiec:d[c(1419)]},f=_0x48f1b5["createEl"+c(1141)](d.ANhBe);_0x34cea4[c(230)+c(1213)]=x=>{let p=c;_0x254788.body[p(340)+"ild"](f),_0x34cd90[p(230)+"JSONP"]=void 0,u[p(981)](_0x1a37f5,x&&x.msg||u.QIiec)},f[c(449)]="text/javascript",f.src=d[c(755)](_0x1fe493[c(882)](/^ws/,d[c(415)]),d[c(1500)]);try{_0x4b3593[c(1465)][c(1432)+c(598)](f)}catch{_0x54a9ca.body["removeCh"+c(598)](f)}}else return o[c(537)+c(394)][1]?void 0:o["objectSt"+c(1068)](o[c(537)+c(394)][0])}return e[c(233)](zt,n[i])},set(n,i,o){return n[i]=o,!0},has(n,i){let o=t;return e.WgPpd(o(427),"BOejU")?o(230)+"_"+this._DBName:e[o(1077)](n,IDBTransaction)&&(i===e[o(1062)]||e[o(1217)](i,e[o(1290)]))?!0:e[o(818)](i,n)}},ss=n=>na[t(1420)](n)}}),Kx={};wS(Kx,{deleteDB:()=>kS,openDB:()=>AS,unwrap:()=>ss,wrap:()=>zt});function AS(t,e,{blocked:n,upgrade:i,blocking:o,terminated:c}={}){let d=M,u={xAplL:function(p,w,S,_,b){return p(w,S,_,b)},cTkul:function(p,w){return p(w)},kNZqp:d(632),hYeHX:d(271)+d(1306),lrByw:"upgraden"+d(724)},f=indexedDB.open(t,e),x=zt(f);return i&&f[d(870)+d(970)](u[d(795)],p=>{let w=d;u[w(471)](i,u[w(1517)](zt,f[w(1369)]),p[w(1294)+"on"],p[w(1123)+"on"],u[w(1517)](zt,f[w(749)+w(1131)]))}),n&&f[d(870)+d(970)]("blocked",()=>n()),x[d(291)](p=>{let w=d;c&&p[w(870)+"Listener"](u[w(895)],()=>c()),o&&p[w(870)+w(970)](u[w(642)],()=>o())})[d(1487)](()=>{}),x}function kS(t,{blocked:e}={}){let n=M,i={xIKKs:n(1163),Zcsys:function(c,d){return c(d)}},o=indexedDB["deleteDa"+n(1631)](t);return e&&o[n(870)+n(970)](i[n(1603)],()=>e()),i.Zcsys(zt,o)[n(291)](()=>{})}function qx(t,e){let n=M,i={qhszL:"readwrite",VISyH:"readonly",yhbyD:function(f,x){return f in x},eYHAK:function(f,x){return f===x},oofCr:n(332),jMLCz:function(f,x){return f!==x},eYrEi:function(f,x){return f in x}};if(!(t instanceof IDBDatabase&&!i[n(1259)](e,t)&&i.eYHAK(typeof e,i[n(448)])))return;if(ea[n(1420)](e))return ea.get(e);let o=e.replace(/FromIndex$/,""),c=i.jMLCz(e,o),d=Jx[n(469)](o);if(!i.eYrEi(o,(c?IDBIndex:IDBObjectStore)[n(850)+"e"])||!(d||Vx[n(469)](o)))return;let u=async function(f,...x){let p=n,w=this[p(749)+p(1131)](f,d?i[p(801)]:i[p(884)]),S=w[p(954)];return c&&(S=S.index(x[p(1372)]())),(await Promise[p(1578)]([S[o](...x),d&&w[p(780)]]))[0]};return ea.set(e,u),u}var Vx,Jx,ea,TS=Wx({"node_modules/idb/build/index.js"(){let t=M,e={QGmRz:t(1420),GXQPP:t(1075),SuchI:t(1045)+"ys",PgDEY:t(953),QkqoM:function(o,c){return o(c)},XeLXX:t(305),OgkjC:t(923),lSBaG:function(o){return o()}},n=("5|4|1|3|"+t(1035)).split("|"),i=0;for(;;){switch(n[i++]){case"0":ea=new Map;continue;case"1":Vx=[e[t(783)],"getKey",e[t(898)],e[t(1289)],e[t(555)]];continue;case"2":e[t(447)](vS,o=>({...o,get:(c,d,u)=>qx(c,d)||o[t(1420)](c,d,u),has:(c,d)=>!!qx(c,d)||o[t(721)](c,d)}));continue;case"3":Jx=[e[t(581)],t(736),t(306),e[t(1169)]];continue;case"4":Hx();continue;case"5":e[t(712)](Hx);continue}break}}}),RS={idb:function(t){let e=M,n={kWpgj:function(i,o){return i>=o},LXIIz:function(i,o){return i<o},xufJQ:function(i,o){return i+o},oqbLF:function(i,o){return i<<o},jwblk:function(i,o){return i<o},kBprZ:"svwBH"};t[e(288)]=Promise[e(1099)]().then(()=>(TS(),Kx)).then(function(i){let o=e,c={ZuSLb:function(d,u){return n[W(1133)](d,u)},tTsiz:function(d,u){return n[W(942)](d,u)},Gvvch:function(d,u){return n[W(979)](d,u)},NmrPp:function(d,u){return d-u},gYJwQ:function(d,u){return n[W(422)](d,u)},moQoI:function(d,u){return n[W(846)](d,u)},Mmsbb:function(d,u){return n[W(942)](d,u)}};if(n[o(784)]!==o(526))return i;{let d=_0xf053ec[o(890)+"At"](_0x4c7fab);c[o(935)](d,55296)&&d<=56319&&c[o(244)](c[o(729)](_0x347121,1),_0x1830c9)&&(d=c[o(215)](c[o(729)](c[o(904)](d,10),_0x37fccf.charCodeAt(++_0x572350)),56613888)),_0x8f0400+=c[o(983)](d,128)?1:c.tTsiz(d,2048)?2:c.Mmsbb(d,65536)?3:4}})}},jx={};function Ft(t){let e=M,n={TbAua:function(c,d){return c!==d}};var i=jx[t];if(n.TbAua(void 0,i))return i[e(288)];var o=jx[t]={exports:{}};return RS[t](o,o.exports,Ft),o[e(288)]}Ft.d=(t,e)=>{let n=W;for(var i in e)Ft.o(e,i)&&!Ft.o(t,i)&&Object[n(820)+n(1368)](t,i,{enumerable:!0,get:e[i]})},(()=>{let t=M;Ft.o=(e,n)=>Object[t(850)+"e"][t(900)+t(1368)][t(962)](e,n)})(),(()=>{let t=M,e={CbQuX:function(n,i){return n!=i},cRpEf:t(1499)+"d",EuhjP:t(1546),TpyoR:"__esModule"};Ft.r=n=>{let i=t;e.CbQuX(e[i(619)],typeof Symbol)&&Symbol[i(1121)+i(391)]&&Object[i(820)+i(1368)](n,Symbol[i(1121)+i(391)],{value:e[i(1147)]}),Object[i(820)+"operty"](n,e.TpyoR,{value:!0})}})();function W(t,e){t=t-214;let n=ia(),i=n[t];if(W.ZLXkVZ===void 0){var o=function(f){let x="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",w="";for(let S=0,_,b,I=0;b=f.charAt(I++);~b&&(_=S%4?_*64+b:b,S++%4)?p+=String.fromCharCode(255&_>>(-2*S&6)):0)b=x.indexOf(b);for(let S=0,_=p.length;S<_;S++)w+="%"+("00"+p.charCodeAt(S).toString(16)).slice(-2);return decodeURIComponent(w)};W.OsuzJu=o,W.fYvXPp={},W.ZLXkVZ=!0}let c=n[0],d=t+c,u=W.fYvXPp[d];return u?i=u:(i=W.OsuzJu(i),W.fYvXPp[d]=i),i}var Ce={};(()=>{let t=M,e={RqHNe:function(a,r){return a(r)},qawvh:function(a,r){return a+r},AorfV:function(a,r){return a+r},BNoUu:function(a,r){return a+r},qNUdj:function(a,r){return a*r},vtoaj:function(a,r){return a(r)},hHnrp:"timeout",WXAtA:t(1342)+t(584)+"s",wOuYI:"ping_onc"+t(664)+"t",OVUyM:function(a,r){return a===r},USzHl:t(467),bgbhZ:function(a,r,s){return a(r,s)},MMvwC:function(a,r,s){return a(r,s)},wRXwl:"0000",vLcFD:"ffff",vdxFG:function(a,r){return a(r)},ACgxF:t(1426)+t(1426)+t(1426)+"00000000",DKcIB:t(638)+">",PTzAd:function(a,r){return a<r},aATwN:function(a,r){return a>r},dBPXM:function(a,r){return a!==r},nrbZI:t(693),hjqfc:function(a,r){return a-r},vOJGW:function(a,r){return a===r},xUvYM:function(a,r){return a-r},UCbSU:function(a,r){return a!==r},OkVuM:function(a,r,s){return a(r,s)},LXLpG:function(a,r){return a>>>r},wFxBj:function(a,r){return a(r)},BPQTg:function(a,r){return a&r},TlOLm:function(a,r){return a===r},eoFgF:function(a,r){return a===r},LooJs:t(476)+t(644)+t(910)+t(1326),nhEYR:function(a,r){return a(r)},RPrxc:function(a,r){return a!==r},ojnQd:t(688),iqdjq:function(a,r){return a!==r},DMAIe:"SYNQl",dJpCx:function(a,r){return a!==r},bWLno:function(a,r,s){return a(r,s)},ZQyNX:function(a,r){return a(r)},ljZlL:function(a,r){return a===r},OwUNw:t(1305),BAYnJ:function(a,r,s){return a(r,s)},NkBvx:function(a,r){return a!==r},XmeXm:function(a){return a()},tixTA:function(a,r,s){return a(r,s)},lmzCN:function(a,r){return a(r)},jrIIK:function(a,r){return a!==r},btZQB:function(a,r){return a!==r},CUlGo:function(a,r,s){return a(r,s)},QojqS:function(a,r,s){return a(r,s)},JcqOx:function(a,r,s){return a(r,s)},eniKY:function(a,r){return a!==r},sSBFu:function(a,r,s){return a(r,s)},ihMRI:function(a,r){return a!==r},nwDvi:function(a,r,s){return a(r,s)},UJSjs:function(a,r){return a(r)},lnrfv:function(a,r){return a(r)},RWOnI:function(a,r){return a(r)},jvcmq:function(a,r,s){return a(r,s)},GBzMA:function(a,r,s){return a(r,s)},GAndh:function(a,r){return a(r)},xKAfm:function(a,r){return a(r)},SKZIh:function(a,r,s){return a(r,s)},bnNJk:function(a,r,s){return a(r,s)},RyVjm:function(a,r){return a(r)},OVxof:function(a,r,s){return a(r,s)},TOLIV:function(a,r){return a&r},WTPzs:function(a,r){return a===r},AKldX:t(476)+t(644)+t(910)+t(858),JLnGt:t(476)+t(644)+t(910)+t(1009),jskqR:function(a,r){return a===r},mMYzA:t(476)+t(644)+t(910)+"service",LjbqB:function(a,r){return a===r},KEIKY:t(476)+t(644)+" field: "+t(535),qqlUW:function(a,r){return a(r)},oQKxH:function(a,r){return a+r},AiwkA:function(a,r){return a(r)},ZlriH:"success",cGKiZ:function(a,r){return a===r},IbkIy:t(1599),riMqk:function(a,r,s){return a(r,s)},DUnuv:function(a,r,s){return a(r,s)},bfUHA:function(a,r){return a+r},kuNns:t(557)+"ented ty"+t(1505),rzpYZ:function(a,r){return a>>r},SsVhZ:function(a,r){return a>=r},SoaLF:function(a,r,s){return a(r,s)},MlEJO:function(a,r){return a+r},yrNXZ:t(847)+"t limit",aZZuP:t(1428)+t(393),ueLZd:function(a,r){return a&r},sRuKl:function(a,r){return a+r},SMdJs:function(a,r){return a!==r},jJYrt:function(a,r){return a&r},TWVOw:function(a,r){return a|r},SEsTg:function(a,r){return a<<r},bssfF:"HQmzL",GgeSX:t(1116),rZhSd:function(a,r){return a==r},Yhcaq:function(a,r){return a>=r},RefTB:function(a,r){return a+r},Lsetc:function(a,r){return a+r},BSxPQ:function(a,r){return a&r},GEpBi:function(a,r){return a|r},fRaUL:function(a,r){return a!==r},ArBQi:t(1643),BOVdB:function(a,r){return a|r},ydSrG:function(a,r){return a&r},TFVbe:function(a,r){return a&r},MgMQi:function(a,r){return a>=r},dOwKv:function(a,r){return a<=r},krpnW:function(a,r){return a&r},fKhYG:function(a,r){return a+r},KYnkD:function(a,r){return a+r},qvrJb:function(a,r){return a&r},VXqMu:function(a,r){return a|r},ZOZxU:function(a,r){return a|r},wwRkg:function(a,r){return a|r},ZxjYR:function(a,r){return a&r},wdzbT:function(a,r){return a<<r},pCAcJ:function(a,r){return a&r},oqkRl:function(a,r){return a&r},GGpYS:function(a,r){return a<r},XXozC:function(a,r){return a>>r},BinaO:function(a,r){return a+r},znzXG:function(a,r){return a>=r},YnuVz:function(a,r){return a<=r},fLsUJ:function(a,r){return a+r},gILuS:function(a,r){return a+r},IaUja:function(a,r){return a<r},unMFm:function(a,r,s){return a(r,s)},nCSwp:function(a,r){return a<=r},bGUQe:function(a,r){return a|r},IqHhJ:function(a,r){return a!==r},FigmP:t(1548),xlqPB:function(a,r){return a&r},YVUxi:function(a,r){return a&r},rosnx:function(a,r){return a&r},XBDfe:function(a,r){return a&r},kvlnX:function(a,r,s){return a(r,s)},GbXLa:function(a,r){return a<r},EOVnW:function(a,r){return a(r)},uefvG:function(a,r){return a<<r},rbweP:function(a,r,s){return a(r,s)},SEeXy:"LrLBs",lPpJT:t(1553),qoUeN:function(a,r){return a+r},daphn:function(a,r){return a|r},VfpKQ:function(a,r){return a%r},OUHMi:function(a,r){return a(r)},XYABg:function(a,r){return a(r)},hphey:function(a,r){return a&r},AdCbD:function(a,r){return a(r)},LLfqM:function(a,r){return a&r},LtibE:function(a,r){return a&r},avLto:t(781),gzHmh:function(a,r){return a(r)},RorNk:function(a,r){return a<<r},YJfWn:function(a,r){return a(r)},fMblM:function(a,r){return a&r},cGoel:function(a,r){return a!==r},DxxGf:function(a,r){return a(r)},eKbUD:function(a,r){return a<<r},dywGk:function(a,r){return a>>>r},NDFXk:function(a,r){return a>>>r},rLkFi:function(a,r){return a===r},qYLbt:function(a,r){return a<r},zUgIg:function(a,r){return a<r},YTrUb:function(a,r){return a<r},lvxqn:function(a,r){return a&r},wOhni:function(a,r){return a+r},jWOWE:function(a,r){return a|r},Qxgvo:function(a,r){return a>>>r},gsPMv:function(a,r){return a>>>r},iaLyo:function(a,r){return a+r},bgIdF:function(a,r){return a>>>r},iVONs:function(a,r){return a&r},ZiIce:function(a,r){return a+r},tpaxo:function(a,r){return a|r},pytNB:function(a,r){return a!==r},XNbrz:function(a,r){return a|r},bkake:function(a,r){return a&r},GFjPJ:function(a,r){return a>>>r},FqMbY:function(a,r){return a+r},iQhgg:function(a,r){return a&r},uwSfp:function(a,r){return a+r},qsgkQ:function(a,r){return a!==r},kANcD:function(a,r){return a>>>r},FZxbu:function(a,r){return a&r},FsXBG:function(a,r){return a>>>r},iowNB:function(a,r){return a!==r},EkhaI:function(a,r){return a|r},fkbvw:"1|2|0|4|"+t(315),spRVr:t(1376),EXzfz:t(1075),Ewivc:"add",NUeml:"delete",iVRtN:"clear",frYNd:function(a,r){return a(r)},VbOBw:"TTpCw",kkQxV:function(a,r){return a|r},sCkYp:function(a,r){return a<<r},rZrUp:function(a,r){return a<<r},jZZJA:function(a,r){return a+r},IeXhQ:t(1441),kvuzs:function(a,r){return a<<r},gpvwq:function(a,r){return a<<r},tqhis:function(a,r){return a|r},KVeqz:function(a,r){return a|r},damDW:function(a,r){return a&r},rKZaR:function(a,r){return a(r)},YWYSl:t(1210),BIMBz:function(a,r){return a===r},sXXOG:function(a,r){return a|r},WyJrJ:function(a,r){return a|r},qxNbw:function(a,r){return a|r},AnFnX:function(a,r){return a<<r},qLpMy:function(a,r){return a<<r},SoudE:function(a,r){return a>>>r},xaKzq:function(a,r){return a|r},XbaFu:function(a,r){return a<<r},rKduz:function(a,r){return a&r},qFqRm:function(a,r){return a&r},kQrTj:function(a,r){return a&r},kfkeH:function(a,r){return a|r},GGwWu:function(a,r){return a*r},TgoMY:function(a,r){return a>>>r},KzQnp:function(a,r){return a>>>r},HllrS:function(a,r){return a>>>r},yklJV:function(a,r){return a&r},GBfIa:function(a,r){return a&r},eEiyL:function(a,r){return a>>>r},TCrfN:function(a,r){return a&r},WAQxF:function(a,r){return a+r},sTVoh:function(a,r){return a+r},BiIJz:function(a,r){return a+r},RvffU:function(a,r){return a|r},jNdQw:function(a,r){return a<<r},BRrca:function(a,r){return a<<r},fmqSD:function(a,r){return a!==r},SOJSl:function(a,r){return a===r},qdgcT:function(a,r){return a>>>r},BUJNh:function(a,r){return a===r},gYoxp:t(1024),uubec:function(a,r){return a===r},ZzHwm:function(a,r){return a===r},NuTgW:function(a,r){return a>>>r},VhVUq:function(a,r){return a>>>r},rWtUg:function(a,r){return a&r},PNakL:function(a,r){return a>>>r},ogIfr:function(a,r){return a>>>r},KyVTI:function(a,r){return a>>>r},YXkkc:function(a,r){return a&r},nglKK:function(a,r){return a>>>r},GdSjJ:function(a,r){return a&r},TqgUp:function(a,r){return a&r},PQyhU:"NATIVE_ERROR",YoHpE:"CONNECTI"+t(554),cznPe:"MAX_RETR"+t(1488)+"R",eXqRT:t(972)+t(1286),XlSbg:t(570)+"OR",XnfCb:t(704),YDuhZ:t(1119)+t(1155),OvGKI:t(632),zKggQ:function(a,r){return a!==r},BgSZg:t(577),BCabo:t(1628)+"3",gZmgc:function(a,r,s){return a(r,s)},PBnUw:function(a,r){return a===r},wQhsw:t(277),kfgQY:function(a,r){return a||r},OxtdW:t(1499)+"d",Sslnl:function(a,r){return a!==r},eLPdb:t(523),npaIj:function(a,r){return a+r},nDBTh:function(a,r){return a+r},tcKLd:function(a,r){return a+r},KmekV:"index out of range: ",yJudF:t(1282),Prfqk:t(411),JtJtT:t(424)+"t",nGovc:function(a,r){return a!==r},cOMAs:t(782),UOJPz:function(a,r){return a(r)},NRrjA:function(a,r){return a===r},hDKkl:t(247),AEhiD:function(a,r){return a>=r},SITrG:function(a,r){return a===r},pwMxN:function(a,r){return a-r},JnLRZ:"error",tgyoh:function(a,r){return a instanceof r},EboOz:t(946)+"d error.",ocUHk:function(a,r){return a+r},oaeaW:function(a,r){return a===r},bjdEB:function(a,r){return a>>r},IdPWA:function(a,r){return a|r},cBSAI:function(a,r){return a!==r},LLBaY:t(1050),aLRzy:function(a,r){return a!==r},vjmxe:"online",GNGGP:t(254),UmcPS:function(a,r){return a===r},uBkLo:t(402),nIWDD:t(927),nsckY:function(a,r){return a===r},KjeIt:"gXIIH",wQuuK:function(a,r,s){return a(r,s)},BLWmY:t(431),mFDMa:function(a,r,s){return a(r,s)},qlUOj:function(a,r){return a-r},cAksg:function(a,r){return a instanceof r},ASINT:"LVDcR",XPRWP:function(a,r){return a+r},rAhyN:function(a,r){return a===r},ZiCWV:"yNikq",YEtRd:function(a,r){return a!=r},lKiQy:t(640)+"2",zwTLn:function(a,r){return a!=r},PtQhp:t(746)+t(791)+t(1184)+t(249)+"process",dNcTU:function(a,r){return a+r},zWDDM:function(a,r){return a(r)},XCRxU:function(a,r){return a<r},KAnlw:t(264),XFuDM:function(a,r){return a<r},OyAzZ:function(a,r){return a===r},skKZe:function(a,r){return a<r},PAufR:function(a,r){return a!==r},DpCOK:t(960),bpSIi:function(a,r){return a&r},TPlOk:function(a,r){return a&r},qMqEq:function(a,r){return a-r},uSQIr:function(a,r){return a|r},gjeSe:function(a,r){return a|r},NhsgB:function(a,r){return a<<r},RMevT:function(a,r){return a&r},innnG:function(a,r){return a<<r},HDfdX:function(a,r){return a&r},Pkcbn:function(a,r){return a&r},aqIPx:function(a,r){return a<r},yELsP:function(a,r){return a>>r},bWIia:function(a,r){return a&r},SOdnV:function(a,r){return a&r},mdXaU:function(a,r){return a+r},DcXuX:t(717)+"1|3",nGwFI:function(a,r){return a|r},tHlFW:function(a,r){return a>>r},KQqgV:function(a,r){return a&r},bjVeX:function(a,r){return a|r},jlvpD:function(a,r){return a|r},EBsji:function(a,r){return a+r},ptdlw:function(a,r){return a<<r},wmpjh:function(a,r){return a&r},FoZTW:function(a,r){return a>>r},xwGKk:function(a,r){return a|r},rZixv:function(a,r){return a-r},VzliO:"string",SDvwM:function(a,r,s,l){return a(r,s,l)},OFRVh:function(a,r){return a instanceof r},lcYoh:t(1170)+t(1243),ubOsb:function(a,r){return a==r},ZKcZn:t(400)+t(366)+"et=utf-8",yOknQ:function(a,r,s){return a(r,s)},DxSXP:t(1379),JCxeS:"boe",iybzh:"ppe",COZbi:function(a,r){return a===r},BleUl:t(1002),ActWo:function(a,r){return a>=r},PAKZn:t(1354)+"reason",Qwgnf:t(270)+"ascript",nLDEq:t(609),Mfhuf:t(909)+t(323)+t(771)+"P",gvKHs:function(a,r){return a(r)},POcmX:function(a,r){return a(r)},mQvzH:t(695),moWfA:"Enthx",LDPsR:function(a,r,s,l){return a(r,s,l)},gJyVf:function(a,r){return a===r},nQVpr:t(401),KpicV:"uYkLQ",tanwg:t(675),Mluxd:t(1520),PgIQv:t(652),HTWlH:t(713),hKNYb:function(a,r){return a||r},GqbBR:function(a,r){return a||r},gbPVW:function(a,r){return a||r},jzTod:t(1541),jSUrN:t(309),QdOxd:"Hmtpz",cXkaV:function(a,r){return a||r},aPYAh:function(a,r){return a||r},dmrxK:function(a,r){return a!=r},jvuPn:t(732)+t(430)+"d",lIDKn:t(583),vUEMN:function(a,r,s){return a(r,s)},cuwUY:"qos",TcqYN:"message_id",NdBSA:function(a,r,s){return a(r,s)},AzURn:t(587),ffYVW:t(1646),KaWFM:t(1163),yAOiC:"kNnyK",tkzbr:"4|0|3|1|2",KDpNk:t(863),HbUzf:t(1110),eJReG:"x_frontier_qos_ack",OTahy:t(1394)+t(1573)+"k",Kbqrn:t(1394)+t(1097)+t(1401),dvzjq:function(a,r,s,l){return a(r,s,l)},RXuZg:t(1370),Gafsu:function(a,r,s,l){return a(r,s,l)},ApabK:"is_ack",uEARW:function(a,r){return a&&r},qTBGE:"ack_id",TVaeF:function(a,r){return a||r},OrgNL:"ack_code",XmGsn:"received",nSrJl:function(a,r,s){return a(r,s)},ENEWD:function(a,r){return a===r},TITNA:t(954),mtbvZ:function(a,r){return a===r},qEjKA:t(1526),dMNhh:"dCajl",HCSoj:function(a,r){return a(r)},ABOyV:"IVTkk",EVGmj:function(a,r){return a instanceof r},SFtGv:function(a,r){return a instanceof r},USOPd:t(1170)+t(1243)+t(335)+t(1402),TNqfL:t(624)+"e",RPxKj:t(940),RZujb:function(a,r){return a+r},IRDFO:function(a,r){return a<r},DlTjp:function(a,r){return a>r},JJFfb:function(a,r){return a|r},LfNce:function(a,r){return a>>>r},WVYUA:t(1501),Oehnd:function(a,r,s,l){return a(r,s,l)},OETPz:"pageshow",qptQt:function(a,r){return a<r},KEVHn:t(1236),GXLjQ:t(1292),fzehR:function(a,r){return a>>>r},JgevL:function(a,r){return a<<r},uoiqF:function(a,r){return a<r},jwlEy:function(a,r){return a+r},yDCtx:function(a,r){return a|r},yDmAz:function(a,r){return a|r},jXuwD:function(a,r){return a|r},SBWJq:function(a,r){return a+r},esSGD:function(a,r){return a+r},ZFqHO:function(a,r){return a+r},AWZIV:function(a,r){return a>>>r},Swlop:function(a,r){return a&r},njTMM:function(a,r){return a+r},SMwOu:function(a,r){return a+r},dIjgI:function(a,r){return a>>>r},LhbiP:function(a,r){return a&r},jWubG:function(a,r){return a&r},rRDhx:t(367)+t(1140)+t(334)+"7",DdVQj:function(a,r){return a>>>r},WmDcf:function(a,r){return a|r},qbySo:function(a,r){return a<r},kamlF:function(a,r){return a|r},yhXEr:function(a,r){return a|r},ORbJU:function(a,r){return a<<r},Vvoqu:function(a,r){return a&r},HCKBN:function(a,r){return a|r},HnKhw:t(899),bnlpY:function(a,r){return a(r)},xNiHd:function(a,r){return a<r},rcAOE:"yivmr",rssAE:function(a,r){return a+r},RfwUp:t(1021)+t(1576),lSRPP:function(a,r,s,l){return a(r,s,l)},FbEmI:t(1056),WkJRO:t(1502)+t(361),LgjgM:t(361),NqIEh:"cursor_f"+t(521),DGpZt:function(a,r,s){return a(r,s)},lfSIT:function(a,r,s){return a(r,s)},csokZ:function(a,r,s,l){return a(r,s,l)},LLqXH:function(a,r,s){return a(r,s)},GRmLh:function(a,r,s){return a(r,s)},UdzFs:"cursor_n"+t(359),pTxDn:"allCurso"+t(574),IhCrZ:t(1405),xTTGX:t(1537),xOeze:t(344),nHSIo:t(539),HSwCw:"setcursor",qWAfm:function(a,r){return a!=r},zpwQM:"cQgZf",sZlty:t(429),PoQSh:function(a,r,s){return a(r,s)},fUoAq:function(a,r,s){return a(r,s)},ycqCZ:"RTUVu",FSbge:function(a,r){return a||r},OnYFc:function(a,r,s){return a(r,s)},iYMrV:function(a,r,s){return a(r,s)},bvAsW:t(1394)+t(540),yxBpR:"x_fronti"+t(1600),GdSPi:t(1425)+"s",brBvd:function(a,r,s){return a(r,s)},xZsRK:t(997)+t(921)+"e",qlsIP:function(a,r){return a(r)},YpxZX:function(a,r,s){return a(r,s)},EvlmS:t(380),ZKnGv:function(a,r){return a<r},HELDT:function(a){return a()},yoolX:function(a){return a()},ofxYg:function(a,r){return a===r},MqRMo:function(a){return a()},JxAjs:function(a,r,s){return a(r,s)},AGEcv:function(a){return a()},QoABK:function(a,r){return a!==r},LKaMT:function(a,r){return a===r},TStEw:function(a){return a()},fYpst:function(a){return a()},yXwVg:function(a,r,s){return a(r,s)},ROhAa:function(a,r){return a===r},WJXbS:function(a,r,s){return a(r,s)},yqltD:function(a,r){return a===r},ZdlxO:function(a,r){return a!==r},nyhfL:function(a,r,s){return a(r,s)},QsHyW:t(885),uSxYe:function(a,r,s){return a(r,s)},UMDGB:t(1082)+t(1496),BIjFp:t(1053),kiCEX:function(a,r){return a/r},lCBUZ:function(a,r){return a===r},zNLGD:t(396)+t(1639)+t(661),ORJOH:t(840)+"ediately"+t(662)+"ct",TbEQN:t(561),mQuKr:function(a,r){return a===r},vFqRR:function(a,r){return a!==r},rDyVh:t(1018),rBays:function(a,r){return a==r},VNrBD:t(1205),yZlol:"ws://",fOUmN:t(412),NFpOc:t(564),NqHSo:"ttwid",jCUMz:t(1201)+"d",Xhibe:function(a,r){return a||r},vwWpu:t(1129),lMxyX:function(a,r,s){return a(r,s)},DQekM:"fws_1.0.0",ZqPOr:function(a,r,s){return a(r,s)},YhzWa:function(a,r){return a||r},JFHcA:t(966),SsBUp:function(a,r,s){return a(r,s)},Xbtnr:function(a,r,s){return a(r,s)},OggYp:t(1052),rWHJl:function(a,r){return a(r)},TaPZP:function(a,r){return a!==r},bXVnM:t(549),yyPfs:t(1386),XVbxC:function(a,r){return a>r},JyCYG:function(a,r){return a===r},yEZGG:function(a,r){return a(r)},mRfJL:t(1233),vKPMZ:t(493),jfjLa:"eimeP",dVnhD:function(a,r){return a===r},DqgLo:function(a,r){return a>>>r},DPjNF:function(a,r){return a>>>r},GyQIi:function(a,r){return a|r},EJfgo:function(a,r){return a>>>r},uYCxP:function(a,r){return a===r},mkxMv:function(a,r){return a<r},SJnBT:function(a,r){return a<r},dlnMV:function(a,r){return a<r},XjIjy:function(a,r){return a+r},FUXhN:function(a,r){return a!==r},dZXkZ:function(a,r){return a+r},GTscZ:function(a,r){return a+r},jndyb:function(a,r){return a&r},bzJEA:function(a,r){return a|r},hPmBy:function(a,r){return a&r},rJjuy:function(a,r){return a+r},ppdzR:function(a,r){return a&r},LCUaN:function(a,r){return a!==r},ycxsY:function(a,r){return a>>>r},YtwrR:function(a,r){return a&r},QOgET:function(a,r){return a!==r},pecmy:function(a,r){return a===r},NavRZ:t(943),Dotsw:function(a,r,s){return a(r,s)},DFShT:t(816)+t(634)+t(887)+t(1431),BUpyP:function(a,r){return a!==r},JUnvQ:t(1637),GAlkR:t(1162),MjgUQ:function(a,r){return a===r},AexhP:t(488),Hurcp:t(1632),cFiOo:"oepLq",YCOUD:function(a,r,s,l){return a(r,s,l)},cmfXQ:t(520),DImYm:function(a,r,s,l){return a(r,s,l)},fVfVf:t(974),vawui:function(a,r,s,l){return a(r,s,l)},ggdjv:"JULmW",rpJWP:"oDzmM",LKNSu:"close, ws instan"+t(626)+t(349)+"ed",ULAFu:function(a,r){return a===r},liAoh:t(377)+"s alread"+t(1311),UDqcn:t(396)+t(1198)+t(738)+t(595)+"a must b"+t(825)+t(720)+t(1468)+t(1543),SBOpk:t(1588),WrFku:function(a,r){return a instanceof r},lRHNQ:function(a,r){return a(r)},lmRpV:function(a,r){return a(r)},RMdIQ:function(a,r){return a(r)},qVmJT:t(396)+t(1198)+t(1453)+t(1576),ZYxQL:function(a,r){return a instanceof r},JzmKY:function(a,r){return a===r},tDxzt:t(699),oDbIh:function(a,r){return a<r},uJqVd:t(1390),XIIEU:"manual reconnect"+t(1195),ewXYO:"5|2|1|3|"+t(1463),ZgUYQ:function(a,r){return a===r},vGjyq:t(1102),zQhKv:t(766),LZKfK:function(a,r,s){return a(r,s)},LGrkB:function(a,r){return a(r)},yQQaK:t(992),jdGjw:function(a,r){return a!=r},kMPZX:t(685),FwPrX:function(a,r){return a!=r},otBFv:t(1477)+"dWorkerGlobalScope",twAxT:function(a,r){return a!=r},IUlXd:t(1486),mmFUA:function(a,r){return a==r},MGzZI:function(a,r){return a!=r},sYHqF:t(1611)+t(888)+"alScope",qJrag:t(1230)+t(428)+t(692),qCuZc:function(a,r){return a!=r},kyrZT:function(a,r){return a===r},zrfMm:function(a,r){return a===r},HQrIk:function(a,r){return a!=r},gcVLJ:function(a,r){return a!=r},SmqLA:function(a,r,s){return a(r,s)}};Ft.r(Ce),Ft.d(Ce,{FWS:()=>Ng,CustomErrorEvent:()=>ll,createCloseEvent:()=>_t,ReconnectEvent:()=>dl,createErrorEvent:()=>lt,decodedFrame:()=>sn,createOpenEvent:()=>gl,CustomCloseEvent:()=>ul,createReconnectEvent:()=>ba,FrontierMessageEvent:()=>hl,encodeFrame:()=>Ut,createMessageEvent:()=>pl,OpenEvent:()=>xl,ErrorCode:()=>an,Event:()=>rr,MessageEvent:()=>fl});let n="";function i(a=""){let r=t,s="02",l=""+Date[r(1641)](),h=n||(n=e[r(237)](f,a)),m=Math[r(506)]()[r(1121)](16)[r(1264)](-6);return e.qawvh(e[r(602)](s+l,h),m)}function o(){let a=t;return e[a(496)](e.qNUdj(1e4,Date[a(1641)]()),Math[a(792)](e[a(1234)](1e4,Math[a(506)]())))}function c(a){let r=t;if(e[r(1469)]("iiIVv",e[r(1020)]))e[r(1212)](_0x2218b6,e.hHnrp),this[r(1622)](e[r(1065)],_0x55f280),this[r(1622)](e[r(1619)],_0x1cbc21);else return e[r(602)](Array(8).join("0"),e[r(597)](parseInt,a,10)[r(1121)](2)).slice(-8)}function d(a){let r=t;return e.AorfV(e[r(237)](Array,4)[r(1016)]("0"),e.MMvwC(parseInt,a,2)[r(1121)](16))[r(1264)](-4)}function u(a){let r=t,s=a[r(418)](/\./)[r(1461)](m=>c(m)),l=[];return l[0]=d(e[r(602)](s[0],s[1])),l[1]=d(s[2]+s[3]),[r(1165),e[r(1192)],e[r(1192)],e.wRXwl,r(1165),e.vLcFD,l[0],l[1]][r(1016)]("")}function f(a){let r=t,s=/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}/.test(a),l=/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/[r(1008)](a);return s?e[r(237)](u,a):l?e.vdxFG(x,a):e[r(1199)]}function x(a){let r=t,s="",l=[],h=0,m=0,E=!0,v=e[r(1192)];if(a[r(585)]("::")>-1){let g=a[r(418)]("::");for(let L=0;e[r(1571)](L,g[r(576)]);L++){let F=g[L];if(e[r(941)](F[r(585)](":"),0)){let $=F.split(":");E&&(h=$[r(576)]),m+=$[r(576)];for(let V=0;e[r(1571)](V,$[r(576)]);V++)if($[V][r(576)]!==4)if(e[r(358)](r(805),e.nrbZI)){let te=v.substring(0,e[r(933)](4,$[V][r(576)])),Ne=te[r(490)]($[V]);l[r(1130)](Ne)}else this._options[r(466)]&&_0x54d3cf[r(1242)][r(1255)](_0x3bd0cc,[e[r(251)],..._0x2136fa]);else l[r(1130)]($[V]);E=!1}else{if(F.length!==4){let $=v[r(1321)+"g"](0,e[r(933)](4,F[r(576)])),V=$[r(490)](F);l.push(V)}else l[r(1130)](F);E&&(h+=1),m+=1,E=!1}}let k="";for(let L=0;e.PTzAd(L,e[r(933)](8,m));L++)k=k[r(490)](v);for(let L=0;e[r(1571)](L,l.length);L++)e[r(1228)](L,h)&&(s=s[r(490)](k)),s=s[r(490)](l[L]);return s}{let g=a[r(418)](":");for(let k=0;e.PTzAd(k,g[r(576)]);k++){let L=g[k];if(e[r(358)](4,g[k].length)){let F=v[r(1321)+"g"](0,e[r(1149)](4,g[k][r(576)])),$=F[r(490)](L);s=s[r(490)]($)}else s=s[r(490)](L)}return s}}function p(a,r){let s=t,l=a[s(299)];e.UCbSU(void 0,l)&&(e.bgbhZ(ge,r,10),e[s(462)](z,r,l));let h=a.value;h!==void 0&&(e[s(420)](ge,r,18),z(r,h))}function w(a){let r=t,s={};e:for(;!e[r(237)](K,a);){let l=pe(a);switch(e[r(562)](l,3)){case 0:break e;case 1:s.key=e[r(420)](P,a,e[r(1212)](pe,a));break;case 2:s[r(1326)]=e[r(597)](P,a,e.wFxBj(pe,a));break;default:e[r(462)](R,a,e[r(403)](7,l))}}if(e[r(853)](void 0,s[r(299)]))throw new Error(r(476)+r(644)+" field: "+r(299));if(e[r(1504)](void 0,s[r(1326)]))throw new Error(e[r(1006)]);return s}function S(a){let r=t,s=C();return e.MMvwC(_,a,s),e[r(456)](N,s)}function _(a,r){let s=t;if(e[s(235)](e.ojnQd,s(688)))return _0x260e36["objectSt"+s(394)][1]?void 0:_0x40aceb[s(537)+s(1068)](_0x369138[s(537)+"oreNames"][0]);{let l=a.SeqID;if(e[s(691)](void 0,l))if(e[s(936)]===e[s(936)])e[s(462)](ge,r,8),wt(r,l);else{let Ne=this[s(434)][s(424)+s(1039)+"ptor"](_0x4e70e1,_0x8bd766);this[s(314)+"hCloseEvent"](e.bgbhZ(_0x3779bb,s(632),{code:_0x4ee6c5,reason:_0x5cc965,wasClean:!0,willReconnect:Ne})),Ne&&this._connect()}let h=a[s(1009)];h!==void 0&&(e[s(462)](ge,r,16),e[s(420)](wt,r,h));let m=a.service;e[s(300)](void 0,m)&&(e[s(597)](ge,r,24),e[s(1574)](wt,r,e[s(945)](D,m)));let E=a[s(535)];if(e[s(300)](void 0,E))if(e[s(1312)](e.OwUNw,s(1620)))try{return!!this[s(1274)]}catch(Ne){return _0x15a87d[s(1242)](Ne),!1}else e[s(1574)](ge,r,32),e[s(1177)](wt,r,e[s(1598)](D,E));let v=a[s(1159)];if(e[s(345)](void 0,v))for(let Ne of v){e[s(420)](ge,r,42);let Gt=e[s(1484)](C);e[s(1177)](p,Ne,Gt),e[s(1177)](ge,r,Gt[s(1614)]),e[s(273)](H,r,Gt),e[s(1316)](O,Gt)}let g=a["payloadE"+s(1551)];e[s(1489)](void 0,g)&&(e[s(1177)](ge,r,50),z(r,g));let k=a[s(257)+s(1027)];e.btZQB(void 0,k)&&(e[s(597)](ge,r,58),z(r,k));let L=a[s(1266)];e[s(1022)](void 0,L)&&(e[s(1152)](ge,r,66),e.QojqS(ge,r,L[s(576)]),e[s(993)](ae,r,L));let F=a[s(793)];e.eniKY(void 0,F)&&(e[s(1338)](ge,r,74),z(r,F));let $=a[s(313)+"ming"];$!==void 0&&(ge(r,82),e[s(1574)](z,r,$));let V=a[s(436)];e[s(622)](void 0,V)&&(e.JcqOx(ge,r,90),e.bWLno(z,r,V));let te=a[s(1481)+"e"];te!==void 0&&(ge(r,96),e[s(1492)](wt,r,e[s(1598)](D,te)))}}function b(a){let r=t;return e[r(1083)](I,e[r(744)](B,a))}function I(a){let r=t,s={};e:for(;!e.lnrfv(K,a);){let l=e[r(301)](pe,a);switch(l>>>3){case 0:break e;case 1:s[r(858)]=e[r(1460)](kt,a,!0);break;case 2:s.LogID=e[r(1299)](kt,a,!0);break;case 3:s[r(1056)]=e.GAndh(pe,a);break;case 4:s.method=e.vdxFG(pe,a);break;case 5:{let h=e[r(744)](A,a);(s[r(1159)]||(s[r(1159)]=[]))[r(1130)](e[r(1179)](w,a)),a[r(1614)]=h;break}case 6:s["payloadE"+r(1551)]=e.SKZIh(P,a,e[r(1357)](pe,a));break;case 7:s[r(257)+"ype"]=e[r(464)](P,a,e[r(1451)](pe,a));break;case 8:s[r(1266)]=oe(a,e[r(1598)](pe,a));break;case 9:s[r(793)]=e[r(1403)](P,a,pe(a));break;case 10:s[r(313)+r(327)]=e[r(462)](P,a,pe(a));break;case 11:s[r(436)]=e.SKZIh(P,a,e[r(456)](pe,a));break;case 12:s[r(1481)+"e"]=pe(a);break;default:R(a,e[r(903)](7,l))}}if(e[r(1387)](void 0,s[r(858)]))throw new Error(e[r(322)]);if(s[r(1009)]===void 0)throw new Error(e[r(445)]);if(e.jskqR(void 0,s.service))throw new Error(e[r(1503)]);if(e.LjbqB(void 0,s[r(535)]))throw new Error(e.KEIKY);return s}function A(a){let r=t,s=e[r(1188)](pe,a),l=a.limit;return a[r(1614)]=e[r(385)](a.offset,s),l}function R(a,r){let s=t;if(e[s(1456)](e[s(1239)],e[s(1239)]))switch(r){case 0:for(;128&e[s(1083)](ee,a););break;case 2:e.riMqk(J,a,e[s(1188)](pe,a));break;case 5:e.GBzMA(J,a,4);break;case 1:e.DUnuv(J,a,8);break;default:throw new Error(e[s(503)](e[s(1384)],r))}else e[s(1332)](_0x96e7af,e[s(773)]),this[s(1622)](e.WXAtA,_0x4a5d85),this[s(1622)](e[s(1619)],_0x5e48d0)}function D(a){let r=t;return a|=0,{low:a,high:e[r(571)](a,31),unsigned:e[r(324)](a,0)}}let y=[];function C(){let a=t,r=y[a(1207)]();return r?(r[a(1459)]=r[a(1614)]=0,r):{bytes:new Uint8Array(64),offset:0,limit:0}}function O(a){let r=t,s={HePRJ:function(l,h,m){return e.SoaLF(l,h,m)},XNRng:"error",rcbqS:function(l,h){return e[W(1010)](l,h)}};if(e[r(1469)]("zNwdn",r(292))){let l=this[r(739)+r(647)]?.[r(1145)+r(346)+"es"](),h=this._endpointManager?.[r(1208)+r(735)+"nt"]();if(l&&!_0x3c86a8[r(927)]){let m=r(1524)+h+(r(752)+"ax retri"+r(1478)+"ed");this[r(314)+r(1251)+r(971)](s[r(1393)](_0x302551,s[r(630)],{message:m,code:_0x3c502f[r(258)+r(1488)+"R"],error:_0x456889}));return}this._ws&&s[r(1485)](this[r(582)][r(311)+"te"],this[r(248)])&&this[r(465)+r(698)](),this[r(314)+r(1251)+r(971)](s[r(1393)](_0x1c76b3,s[r(630)],{message:_0x56b2e5[r(927)],code:_0x56d797[r(1258)+r(737)],error:_0x55bebf}))}else y.push(a)}function B(a){return{bytes:a,offset:0,limit:a[t(576)]}}function N(a){let r=a.bytes,s=a.limit;return r.length===s?r:r.subarray(0,s)}function J(a,r){let s=t;if(e[s(1059)](a[s(1459)],r)>a[s(1614)])throw new Error(e.yrNXZ);a[s(1459)]+=r}function K(a){return a.offset>=a.limit}function ie(a,r){let s=t,l=a.bytes,h=a[s(1459)],m=a[s(1614)],E=h+r;if(E>l[s(576)]){let v=new Uint8Array(e[s(1234)](2,E));v[s(697)](l),a.bytes=v}return a.offset=E,E>m&&(a.limit=E),h}function X(a,r){let s=t,l=a[s(1459)];if(e.aATwN(e[s(1059)](l,r),a[s(1614)]))throw new Error(e[s(1392)]);return a.offset+=r,l}function oe(a,r){let s=t,l=e.bnNJk(X,a,r);return a[s(763)].subarray(l,l+r)}function ae(a,r){let s=t,l=ie(a,r.length);a[s(763)].set(r,l)}function P(a,r){let s=t,l={PyjCq:function(k,L,F){return k(L,F)},jejlZ:function(k,L){return k&L}},h=e.bgbhZ(X,a,r),m=String[s(852)+"Code"],E=a[s(763)],v="\uFFFD",g="";for(let k=0;e[s(1571)](k,r);k++){let L=E[k+h],F,$,V,te;e[s(1387)](e[s(1374)](128,L),0)?g+=e[s(1451)](m,L):e[s(903)](224,L)===192?e[s(385)](k,1)>=r?g+=v:(F=E[e[s(1222)](k+h,1)],e[s(378)](e[s(639)](192,F),128)?g+=v:(te=e[s(832)](e[s(975)](31&L,6),63&F),e[s(1571)](te,128)?g+=v:e[s(1312)](e[s(425)],e[s(1094)])?(this._messageQueue.shift(),this[s(442)+s(1203)][s(1130)](_0x4d472c)):(g+=m(te),k++))):e[s(778)](240&L,224)?e[s(1327)](k+2,r)?g+=v:(F=E[e[s(1527)](e.oQKxH(k,h),1)],$=E[e.Lsetc(k,h)+2],e[s(789)](e[s(1307)](e[s(1098)](F,$<<8),49344),32896)?g+=v:e[s(1429)](e[s(1194)],s(1643))?(l[s(857)](_0x14fb4f,_0x1e889a,l[s(1005)](127,_0xbf0108)|128),_0x5abe87>>>=7):(te=e.GEpBi(e.BOVdB(e[s(518)](15,L)<<12,e[s(1374)](63,F)<<6),e[s(485)](63,$)),te<2048||e.MgMQi(te,55296)&&e[s(1214)](te,57343)?g+=v:(g+=e[s(945)](m,te),k+=2))):e.rZhSd(e[s(509)](248,L),240)?e[s(503)](k,3)>=r?g+=v:(F=E[e[s(602)](e.BNoUu(k,h),1)],$=E[e[s(930)](k,h)+2],V=E[e[s(833)](e[s(1527)](k,h),3)],e.ihMRI(e.qvrJb(e[s(832)](F|$<<8,V<<16),12632256),8421504)?g+=v:(te=e.VXqMu(e[s(303)](e[s(491)](e[s(975)](e[s(687)](7,L),18),e.wdzbT(e[s(229)](63,F),12)),e[s(1606)](63,$)<<6),e[s(756)](63,V)),e.GGpYS(te,65536)||e[s(941)](te,1114111)?g+=v:(te-=65536,g+=e[s(993)](m,e[s(1011)](e[s(918)](te,10),55296),e[s(833)](e[s(485)](1023,te),56320)),k+=3))):g+=v}return g}function z(a,r){let s=t,l={wEOoM:function(g,k,L){return e[W(1299)](g,k,L)},QhhJQ:function(g,k){return e[W(510)](g,k)}},h=r[s(576)],m=0;for(let g=0;e[s(1439)](g,h);g++){let k=r[s(890)+"At"](g);e[s(682)](k,55296)&&e.YnuVz(k,56319)&&e[s(1134)](g,1)<h&&(k=e[s(1362)](k<<10,r[s(890)+"At"](++g))-56613888),m+=e[s(743)](k,128)?1:k<2048?2:e[s(743)](k,65536)?3:4}e[s(1585)](ge,a,m);let E=ie(a,m),v=a[s(763)];for(let g=0;g<h;g++){let k=r[s(890)+"At"](g);if(k>=55296&&e[s(316)](k,56319)&&g+1<h&&(k=e[s(496)](e[s(459)](k,10),r[s(890)+"At"](++g))-56613888),e[s(743)](k,128))v[E++]=k;else{if(k<2048)v[E++]=e.bGUQe(e[s(756)](e.XXozC(k,6),31),192);else if(e[s(734)](e.FigmP,e[s(492)])){let L=qlYbJT.wEOoM(_0x53e080,_0x2c72fb,_0x22b667);return _0x46585c.bytes.subarray(L,qlYbJT[s(1627)](L,_0x277f93))}else k<65536?v[E++]=e.GEpBi(e[s(1514)](k>>12,15),224):(v[E++]=e.YVUxi(e[s(571)](k,18),7)|240,v[E++]=e[s(1307)](k>>12,63)|128),v[E++]=e[s(303)](e[s(1490)](e[s(918)](k,6),63),128);v[E++]=e.ZOZxU(e[s(1430)](63,k),128)}}}function H(a,r){let s=t,l=e[s(269)](ie,a,r.limit),h=a[s(763)],m=r[s(763)];for(let E=0,v=r[s(1614)];e[s(407)](E,v);E++)h[E+l]=m[E]}function ee(a){let r=t;return a[r(763)][e[r(1460)](X,a,1)]}function Je(a,r){let s=ie(a,1);a.bytes[s]=r}function pe(a){let r=t,s=0,l=0,h;do h=e[r(498)](ee,a),e[r(743)](s,32)&&(l|=e[r(319)](e[r(1606)](127,h),s)),s+=7;while(128&h);return l}function ge(a,r){let s=t,l={sCMsQ:function(h,m,E){return e[W(547)](h,m,E)},GUyfL:function(h,m,E){return e[W(1051)](h,m,E)},MreDc:function(h,m){return h(m)}};if(e[s(1469)](e[s(1623)],e.lPpJT)){_0x4997e6(_0x2a89d4,42);let h=_0x4bfd90();JoURkr[s(1330)](_0x3fbe47,_0x837f37,h),_0x40ecc0(_0x16a8b5,h.limit),JoURkr[s(579)](_0x139381,_0x34e13b,h),JoURkr[s(869)](_0xcf9d9e,h)}else{for(r>>>=0;e[s(324)](r,128);)e.sSBFu(Je,a,e[s(1225)](e.TOLIV(127,r),128)),r>>>=7;Je(a,r)}}function kt(a,r){let s=t,l={VCTCW:function(g,k){return e[W(945)](g,k)},gkCGQ:function(g,k){return e[W(1038)](g,k)},dLGYT:function(g,k){return e.daphn(g,k)},IUFsn:function(g,k){return e.VfpKQ(g,k)}},h=0,m=0,E=0,v;if(v=ee(a),h=e[s(485)](127,v),128&v&&(v=e.OUHMi(ee,a),h|=e[s(459)](127&v,7),128&v&&(v=e[s(849)](ee,a),h|=e[s(975)](127&v,14),e[s(1219)](128,v)&&(v=e[s(998)](ee,a),h|=e[s(903)](127,v)<<21,128&v&&(v=ee(a),m=e[s(902)](127,v),e[s(410)](128,v)))))){if(e[s(691)](e[s(1174)],s(781))){if(l.VCTCW(_0x28c987,_0x582f49))return _0x1849aa?_0x4edcde:_0x2ead82;if(_0xe10bb8){if(_0x12ce29>=_0x35adae)return _0x11dbdd}else{if(_0x1326a4<=-_0xd31033)return _0x385ebd;if(l.gkCGQ(_0x2ae596,1)>=_0x55f9ef)return _0x1ba2af}return _0x2e781f[s(241)](l[s(1090)](l[s(964)](_0x17d155,_0x4b1b63),0),_0x3c6fb3/_0x5a421d|0,_0x5a4d77)}else if(v=e[s(1084)](ee,a),m|=e[s(880)](e[s(1219)](127,v),7),e.rosnx(128,v)&&(v=e[s(924)](ee,a),m|=(127&v)<<14,e[s(639)](128,v)))if(s(470)==="wlYPu"){if(v=e.xKAfm(ee,a),m|=e[s(459)](e[s(902)](127,v),21),e[s(489)](128,v)){if(e[s(484)](s(1521),s(1521)))return this[s(1274)]["clearSto"+s(807)]();v=e[s(1598)](ee,a),E=e[s(489)](127,v),128&v&&(v=e[s(1200)](ee,a),E|=e[s(828)](e[s(639)](127,v),7))}}else++_0x401516,_0xc3a2a9+=4}return{low:h|e[s(828)](m,28),high:e[s(578)](m>>>4,e.RorNk(E,24)),unsigned:r}}function wt(a,r){let s=t,l=e[s(1550)](r.low,0),h=e[s(1187)](e[s(562)](r[s(666)],28)|r[s(1066)]<<4,0),m=e[s(1187)](r.high,24),E=e[s(1040)](0,m)?e[s(1469)](0,h)?l<16384?e[s(1571)](l,128)?1:2:e.qYLbt(l,2097152)?3:4:e[s(407)](h,16384)?e[s(1493)](h,128)?5:6:h<2097152?7:8:e[s(1241)](m,128)?9:10,v=ie(a,E),g=a[s(763)];switch(E){case 10:g[e[s(1362)](v,9)]=e[s(592)](m>>>7,1);case 9:g[e[s(653)](v,8)]=E!==9?e[s(1225)](128,m):127&m;case 8:g[e[s(602)](v,7)]=e[s(734)](8,E)?e[s(832)](h>>>21,128):e[s(229)](h>>>21,127);case 7:g[e[s(1038)](v,6)]=E!==7?e.jWOWE(e[s(525)](h,14),128):e.gsPMv(h,14)&127;case 6:g[e[s(1482)](v,5)]=E!==6?e[s(491)](e.bgIdF(h,7),128):e[s(1191)](e[s(873)](h,7),127);case 5:g[e[s(513)](v,4)]=e[s(345)](5,E)?e[s(278)](128,h):127&h;case 4:g[v+3]=e[s(239)](4,E)?e.XNbrz(e[s(873)](l,21),128):e.bkake(e.GFjPJ(l,21),127);case 3:g[e[s(507)](v,2)]=e[s(345)](3,E)?e[s(1383)](e.GFjPJ(l,14),128):e.iQhgg(e[s(1187)](l,14),127);case 2:g[e.uwSfp(v,1)]=e[s(563)](2,E)?e[s(238)](e.kANcD(l,7),128):e.FZxbu(e[s(1467)](l,7),127);case 1:g[v]=e[s(263)](1,E)?e[s(238)](128,l):127&l}}function sn(a){return b(a)}function Ut(a){return e.lnrfv(S,a)}let on=65536,Qr=e.yQQaK,_e=e[t(1234)](on,on),ke=e[t(1234)](_e,_e),nr=e.kiCEX(ke,2),Le=String[t(850)+"e"][t(890)+"At"];class xe{constructor(r,s,l){let h=t;this[h(959)]=!0,this[h(666)]=e.EkhaI(0,r),this.high=e[h(1383)](0,s),this.unsigned=!!l}static[t(959)](r){let s=t;return r&&e[s(853)](!0,r[s(959)])}static[t(241)](r,s,l){return new xe(r,s,l)}static[t(1409)+"s"](r,s,l){let h=t;if(e[h(1143)]!==h(1277))return l?xe[h(1409)+h(830)](r,s):xe.fromBytesBE(r,s);{let m=e[h(1091)][h(418)]("|"),E=0;for(;;){switch(m[E++]){case"0":_0x4cda7e=[h(1420),JMvQlD.spRVr,JMvQlD[h(646)],h(1045)+"ys",h(953)];continue;case"1":JMvQlD[h(1484)](_0x17d735);continue;case"2":_0x9a8129();continue;case"3":_0x420a8b=new _0x4a2249;continue;case"4":_0x5670a7=[h(305),JMvQlD[h(1081)],JMvQlD[h(479)],JMvQlD[h(845)]];continue;case"5":JMvQlD[h(765)](_0x1f33fa,v=>({...v,get:(g,k,L)=>_0x5bb434(g,k)||v[h(1420)](g,k,L),has:(g,k)=>!!_0x48005e(g,k)||v.has(g,k)}));continue}break}}}static[t(1409)+t(830)](r,s){let l=t;return new xe(e[l(336)](e.tpaxo(e[l(278)](r[0],r[1]<<8),e[l(1267)](r[2],16)),e[l(828)](r[3],24)),e.ZOZxU(e[l(491)](r[4]|e[l(459)](r[5],8),e[l(459)](r[6],16)),e[l(668)](r[7],24)),s)}static[t(1409)+t(1063)](r,s){let l=t,h={TTHmT:function(m,E){return e[W(998)](m,E)},NPrbG:function(m,E){return m+E},sQnhP:function(m,E){return e[W(1017)](m,E)}};if(e.cGoel(e[l(1029)],l(1441))){let E=""+_0x483081[l(1641)](),v=_0x20dfc3||(_0x235cfa=iCHHif[l(1572)](_0x300953,_0x2dbcdc)),g=_0x29696d[l(506)]()[l(1121)](16)[l(1264)](-6);return iCHHif.NPrbG(iCHHif.sQnhP("02",E),v)+g}else return new xe(e[l(369)](e[l(839)](r[4],24)|e.gpvwq(r[5],16),e.sCkYp(r[6],8))|r[7],e.wwRkg(e[l(767)](e[l(1122)](r[0],24)|r[1]<<16,r[2]<<8),r[3]),s)}static[t(812)](r){let s=t;if(e.ljZlL("wtlhn",e.YWYSl))_0x4b7a02=e[s(265)](e.rosnx(31,_0x33879a)<<6,e[s(1424)](63,_0x178355)),e[s(1241)](_0x19ebe7,128)?_0x549ead+=_0x40674a:(_0x4ae836+=e[s(775)](_0x4d1707,_0x3f699f),_0x180806++);else return e[s(963)](r,Qr)?cl:new xe(e.sXXOG(e[s(1072)](e[s(1555)](Le.call(r,0),e[s(1287)](Le[s(962)](r,1),8)),e[s(968)](Le[s(962)](r,2),16)),e[s(459)](Le[s(962)](r,3),24))>>>0,e[s(799)](e[s(491)](e.xaKzq(Le[s(962)](r,4),e.XbaFu(Le[s(962)](r,5),8)),Le[s(962)](r,6)<<16)|Le.call(r,7)<<24,0),!0)}[t(952)](){let r=t;return String[r(852)+r(593)](e[r(1240)](255,this[r(666)]),e[r(451)](e[r(562)](this[r(666)],8),255),e[r(284)](e.LXLpG(this[r(666)],16),255),this.low>>>24,255&this[r(1066)],e[r(1424)](e[r(615)](this.high,8),255),this.high>>>16&255,e[r(911)](this[r(1066)],24))}static[t(326)+"er"](r,s=!0){let l=t;if(isNaN(r))return s?Kp:cl;if(s){if(e[l(1327)](r,ke))return Jp}else{if(r<=-nr)return Yp;if(e.MgMQi(r+1,nr))return Vp}return xe[l(241)](e[l(369)](e[l(461)](r,_e),0),e.kfkeH(r/_e,0),s)}toNumber(){let r=t;return this[r(1279)]?e[r(1038)](e[r(1234)](e[r(615)](this[r(1066)],0),_e),e[r(525)](this[r(666)],0)):e[r(321)](this[r(1066)],_e)+e[r(1605)](this[r(666)],0)}[t(938)](){let r=t;return e.LjbqB(0,this[r(1066)])&&e[r(1040)](0,this[r(666)])}[t(736)](r){let s=t;xe.isLong(r)||(r=xe[s(326)+"er"](r));let l=e[s(1043)](this[s(1066)],16),h=e[s(903)](65535,this[s(1066)]),m=e[s(1153)](this.low,16),E=e[s(663)](65535,this[s(666)]),v=r[s(1066)]>>>16,g=e[s(272)](65535,r.high),k=e[s(1479)](r.low,16),L=e[s(1249)](65535,r[s(666)]),F=0,$=0,V=0,te=0;return te+=e[s(1011)](E,L),V+=e[s(855)](te,16),te&=65535,V+=e[s(544)](m,k),$+=e.Qxgvo(V,16),V&=65535,$+=e.sTVoh(h,g),F+=$>>>16,$&=65535,F+=e[s(1528)](l,v),F&=65535,xe[s(241)](e[s(293)](e[s(384)](V,16),te),e[s(651)](F,16)|$,this.unsigned)}[t(1146)](r){let s=t;return xe[s(959)](r)||(r=xe[s(326)+"er"](r)),e[s(569)](this[s(1279)],r[s(1279)])&&e.SOJSl(e[s(1043)](this[s(1066)],31),1)&&e.qdgcT(r[s(1066)],31)===1?!1:this[s(1066)]===r.high&&this[s(666)]===r[s(666)]}[t(1629)](){let r=t,s={bbJHt:function(l,h){return l<h},jXUtj:function(l,h){return e[W(853)](l,h)},UiaiM:function(l,h){return e[W(1337)](l,h)},lNiFM:function(l,h){return l+h}};if(e[r(1022)](r(1024),e[r(1612)]))_0x29d5c0=_0x38e1cd.charCodeAt(_0xcc2d60),s[r(1601)](_0x2484d6,128)?_0x358d90+=1:s[r(1601)](_0x2367b3,2048)?_0x554f4a+=2:s[r(1581)](64512&_0x7f8514,55296)&&s[r(1168)](64512&_0x2bdc84[r(890)+"At"](s[r(1398)](_0x412bbf,1)),56320)?(++_0xa39e68,_0x2d8f16+=4):_0xe1726c+=3;else return e[r(1265)](-1,this[r(666)])&&e[r(917)](-1,this[r(1066)])?xe[r(241)](0,0,this[r(1279)]):e[r(853)](-1,this.low)?xe.fromBits(0,this[r(1066)]+1,this[r(1279)]):xe.fromBits(this[r(666)]+1,this[r(1066)],this[r(1279)])}[t(348)](r){let s=t;return r?this[s(1120)+"E"]():this[s(1618)+"E"]()}[t(1120)+"E"](){let r=t,s=this[r(1066)],l=this[r(666)];return[e[r(1514)](255,l),e[r(799)](l,8)&255,e[r(1278)](l,16)&255,e[r(1093)](l,24),e[r(848)](255,s),e[r(687)](s>>>8,255),e[r(1272)](e[r(1043)](s,16),255),e[r(1033)](s,24)]}[t(1618)+"E"](){let r=t,s=this[r(1066)],l=this[r(666)];return[e.ogIfr(s,24),e.qFqRm(e[r(1470)](s,16),255),e[r(489)](s>>>8,255),e[r(1041)](255,s),e[r(1204)](l,24),e[r(1579)](l>>>16,255),e.qFqRm(e[r(1470)](l,8),255),e.TqgUp(255,l)]}}let cl=new xe(0,0,!1),Kp=new xe(0,0,!0),Vp=xe[t(241)](-1,2147483647,!1),Jp=xe.fromBits(-1,-1,!0),Yp=xe[t(241)](0,-2147483648,!1);var an=(function(a){let r=t;return a[a[e[r(1297)]]=5001]=e.PQyhU,a[a[e.YoHpE]=5002]=e[r(878)],a[a[e.cznPe]=5003]=e[r(1545)],a[a["MESSAGE_"+r(1286)]=5004]=e.eXqRT,a[a[e.XlSbg]=5005]=e[r(1190)],a})({});class rr{constructor(r){let s=t;this[s(449)]=r,this[s(986)]=null}}class dl extends rr{constructor(r,s){let l=t;e[l(789)]("uuNAJ",l(1399))?(super(r),this.message=s&&s[l(927)]||null):this[l(838)+l(1070)]=_0x3a6de2}}class ll extends rr{constructor(r,s){let l=t;if(e[l(345)](e[l(1025)],l(1435))){let h=e[l(1464)][l(418)]("|"),m=0;for(;;){switch(h[m++]){case"0":super(r);continue;case"1":this[l(927)]=s&&s[l(927)]||"";continue;case"2":this[l(1556)]=s&&s[l(1556)]||0;continue;case"3":this.filename=s&&s[l(1418)]||"";continue;case"4":this.code=s&&s[l(487)]||5001;continue;case"5":this[l(243)]=s&&s[l(243)]||null;continue;case"6":this.lineno=s&&s.lineno||0;continue}break}}else this[l(1137)+"T"]||this[l(1415)+"X"]?this[l(214)+l(1536)+"ange"]():this[l(1314)+"er"]&&this[l(667)+"balEvent"+l(970)]()}}class ul extends rr{constructor(r,s){let l=t;if(e.zKggQ(e.BgSZg,"SEONN"))this[l(912)](e.OvGKI,_0x809cfb),this[l(803)]&&this.onclose(_0x594a23);else{let h=e.BCabo[l(418)]("|"),m=0;for(;;){switch(h[m++]){case"0":this[l(487)]=s&&s[l(487)]||0;continue;case"1":this[l(934)]=s&&s[l(934)]||"";continue;case"2":super(r);continue;case"3":this[l(1280)+l(1365)]=s&&s[l(1280)+l(1365)]||!1;continue;case"4":this[l(438)]=s&&s[l(438)]||!1;continue}break}}}}class fl extends rr{constructor(r,s){let l=t;super(r),this[l(353)]=s&&s[l(353)]||null}}class hl extends fl{constructor(r,s){let l=t,h={DZOZN:function(m,E,v){return m(E,v)},MrwqH:function(m,E,v){return e[W(1166)](m,E,v)}};e[l(802)](e.wQhsw,l(851))?(jeEGqi.DZOZN(_0x1e205f,_0x14ad18,82),jeEGqi[l(1388)](_0x466a5a,_0x1517ad,_0x569036)):(super(r),this[l(353)]=s&&s.data||null,this.message=s&&s[l(927)]||null)}}class xl extends rr{constructor(r,s){let l=t,h={xibhc:function(m,E){return m||E},xYfaB:function(m,E){return e[W(1615)](m,E)},cfNcc:e[l(1237)]};if(e[l(1422)](e[l(1414)],e.eLPdb)){if(_0x4a2db8)return new _0x46bd0e(_0x27b2f4[l(1455)],_0x740f33[l(1256)]);if(h[l(1224)](_0x2a04a7,_0x1cd745))return new _0x44b65e(_0x4c64a3[l(1455)],_0x2f6a4a.protocol,_0x27139e[l(1159)]);if(h[l(711)](_0x2c2db1,_0x1eccca)&&h.cfNcc!=typeof _0x222a54&&_0x2f329c)return new _0x52f678(_0x5a1e4e.url,_0x31bf85[l(1256)+"s"])}else super(r),this[l(353)]=s&&s[l(353)]||null}}function lt(a,{message:r,code:s,error:l}){let h=t;return e[h(1044)]==="rBfJz"?e[h(1357)](_0x594f3d,e[h(1533)](e[h(950)](e[h(1408)](e[h(496)](e.KmekV,_0x5e58d7),h(1501))+(_0x16eb1b||1),e.yJudF),_0x34b0ae)):new ll(a,{message:r,code:s,error:l})}function _t(a,{code:r,reason:s,wasClean:l,willReconnect:h}){return new ul(a,{code:r,reason:s,wasClean:l,willReconnect:h})}function pl(a,{data:r,message:s}){let l=t;if(e[l(475)](e[l(1030)],e.cOMAs)){this[l(1604)+l(1313)+"t"]();let h=e[l(464)](_0x198c39,e.JtJtT,{message:"stop immediately"+l(662)+"ct"});this[l(386)+l(897)+l(1377)+"ct"]&&this[l(386)+l(897)+l(1377)+"ct"](h)}else return new hl(a,{data:r,message:s})}function gl(a,{data:r}){return new xl(a,{data:r})}function ba(a,{message:r}){return new dl(a,{message:r})}class ml{constructor(r,s){let l=t;e[l(865)](e[l(772)],e.hDKkl)?(this[l(297)+"s"]=r,this.maxRetries=s,this[l(512)+l(1e3)]=0,this[l(363)+"ndpointT"+l(768)+"t"]=0):(e[l(1446)](_0x55bd78,this[l(274)+"lTimeoutId"]),this["_interva"+l(994)+"Id"]=e[l(462)](_0x4014b1,()=>{this[l(1055)+"ired"]()},this[l(274)+"l"]))}[t(320)+t(877)+t(395)](){let r=t;this.currentIndex=0,this[r(363)+"ndpointTriesCount"]=0}[t(1281)+"es"](){let r=t;this[r(363)+r(1114)+r(768)+"t"]=0}[t(1208)+"ntEndpoint"](){let r=t;return this[r(297)+"s"][this["currentI"+r(1e3)]]}["getCurrentEndpoi"+t(836)+t(987)](){let r=t;return this[r(363)+"ndpointT"+r(768)+"t"]}checkReachMaxTries(){let r=t;return!!(e[r(1592)](this["currentI"+r(1e3)],this[r(297)+"s"][r(576)])||e.SITrG(this[r(512)+r(1e3)],e[r(616)](this[r(297)+"s"][r(576)],1))&&this[r(363)+r(1114)+r(768)+"t"]===this.maxRetries)}[t(856)+t(1318)+t(527)+t(977)+"tries"](){let r=t;return this[r(512)+r(1e3)]==this[r(297)+"s"][r(576)]?!0:this[r(363)+"ndpointT"+r(768)+"t"]>this.maxRetries}["replaceB"+t(1557)+"pointAnd"+t(1172)+"unt"](){let r=t;return this["currentE"+r(1114)+r(768)+"t"]=1,this["currentI"+r(1e3)]++,this[r(297)+"s"][this[r(512)+r(1e3)]]}[t(1208)+t(735)+t(439)+t(1473)](){let r=t;return this[r(363)+r(1114)+r(768)+"t"]++,this[r(1208)+r(735)+"nt"]()}}let ir=(e[t(774)](e.OxtdW,typeof globalThis)&&e[t(1337)](e[t(1577)],globalThis["construc"+t(1647)][t(361)])||e[t(1237)]!=typeof window&&window[t(645)+t(1647)][t(361)]==="Window")&&e[t(268)](e.OxtdW,typeof document),Pn=e.OxtdW!=typeof globalThis&&(e.rLkFi(t(1486),globalThis.constructor[t(361)])||e[t(1407)](e[t(659)],globalThis["construc"+t(1647)][t(361)]))&&e[t(1508)](e.OxtdW,typeof tt),ei=(e[t(676)](e[t(1237)],typeof globalThis)&&e[t(1317)]===globalThis[t(645)+"tor"].name||e.mmFUA(e.OxtdW,typeof globalThis)||e.MGzZI(t(1499)+"d",typeof globalThis)&&!!globalThis["WeixinJS"+t(1630)])&&e[t(1237)]!=typeof wx,ti=e[t(1237)]!=typeof globalThis&&(e[t(1216)](e[t(659)],globalThis[t(645)+t(1647)][t(361)])||e[t(853)](e[t(859)],globalThis[t(645)+t(1647)][t(361)])||e[t(1373)](e[t(392)],globalThis["construc"+t(1647)][t(361)]))&&e[t(1364)](e[t(1237)],typeof self),Zp=e[t(522)](e[t(1237)],typeof globalThis)&&e[t(474)](t(1486),globalThis[t(645)+t(1647)].name)&&e[t(1237)]!=typeof global&&e[t(553)](e[t(1317)],global[t(645)+t(1647)][t(361)])&&e[t(937)](e.OxtdW,typeof process)&&!!process[t(1220)];class Ea{constructor(){this._listeners={}}[t(912)](r,...s){let l=t,h=this._listeners[r];if(h)h[l(1264)]()[l(1560)](m=>m.fn[l(1255)](m[l(621)],s));else if(e[l(586)]===r&&!this[l(907)]){let m=s[l(576)]&&s[0];if(e.tgyoh(m,Error))throw m;let E=new Error(e.Lsetc(e.EboOz,m?e[l(930)](e[l(1248)](" (",m[l(927)]),")"):""));throw E[l(1452)]=m,m}return this}off(r,s){let l=t;if(e[l(963)](void 0,r))this._listeners={};else if(s===void 0)this[l(1309)+"rs"][r]=null;else{let h=this._listeners[r];if(h)for(let m=0;m<h.length;)e.oaeaW(h[m].fn,s)?h[l(1019)](m,1):++m}return this}on(r,s,l){let h=t;return(this[h(1309)+"rs"][r]||(this[h(1309)+"rs"][r]=[]))[h(1130)]({fn:s,ctx:l||this}),this}}class Xp extends Ea{[t(1160)+t(1442)+t(969)](r){let s=t;return r[s(670)]||r[s(1223)]?(s(1196)+" "+(r[s(670)]||"")+s(1345)+(r[s(1223)]||""))[s(1189)]():JSON[s(590)+"y"](r)}constructor(r,s,l){let h=t,m={dFmFu:function(E,v){return E<v},jFDGG:function(E,v){return e[W(293)](E,v)},AZzsz:function(E,v){return e[W(1476)](E,v)},cHwnk:function(E,v){return E&v},WmqgV:function(E,v){return e.IdPWA(E,v)},zjMvs:function(E,v){return e[W(1430)](E,v)},qTTnH:function(E,v){return e[W(918)](E,v)}};e[h(861)](e.LLBaY,h(690))?(super(),this[h(330)]=null,ei&&wx[h(1569)+h(1542)]&&(this[h(330)]=wx[h(1569)+h(1542)]({url:r,protocols:s,header:l,fail:this[h(790)+h(505)+h(1436)][h(1300)](this),success:this[h(790)+h(1413)+"cessHand"+h(710)][h(1300)](this)})),Pn&&tt[h(1569)+h(1542)]&&(this[h(330)]=tt[h(1569)+"ocket"]({url:r,protocols:s,header:l,fail:this[h(790)+h(505)+h(1436)][h(1300)](this),success:this["_createS"+h(1413)+h(1534)+h(710)].bind(this)}))):(BpfUbx.dFmFu(_0x587021,65536)?_0xdad7d5[_0x900a41++]=BpfUbx[h(893)](BpfUbx[h(991)](_0x133ddc,12)&15,224):(_0x1e355f[_0x4b8408++]=BpfUbx[h(893)](BpfUbx[h(432)](_0x476597>>18,7),240),_0x9df09b[_0x49ad44++]=BpfUbx[h(1406)](BpfUbx.AZzsz(_0x2a912b,12)&63,128)),_0x5803c3[_0x2682e3++]=BpfUbx.zjMvs(BpfUbx[h(1395)](_0x372470,6),63)|128)}[t(790)+t(1413)+t(1534)+"ler"](){let r=t;Promise[r(1099)]()[r(291)](()=>{this["_addWsLi"+r(636)]()})}["_createS"+t(505)+t(1436)](r){let s=t,l={SwHxm:function(h,m,E){return e[W(464)](h,m,E)},fcFPx:e[s(586)],iUZsi:e.OvGKI};Promise[s(1099)]().then(()=>{let h=s,m=l[h(1074)](lt,l[h(601)],{message:this[h(1160)+"rrorMess"+h(969)](r)});this[h(912)](l[h(601)],m);let E=_t(l.iUZsi,{reason:this[h(1160)+h(1442)+h(969)](r)});this.emit(l[h(1107)],E)})}[t(758)+t(636)](){let r=t,s={efsDv:e.BLWmY,FcNPA:function(l,h,m){return e[W(719)](l,h,m)},eobdp:e[r(1209)],eHTcw:r(1087),ldGtI:function(l){return l()}};this[r(330)][r(1389)](l=>{let h=r;this[h(912)](s.efsDv,s[h(387)](gl,s[h(1597)],{...l,data:l[h(670)]||""}))}),this[r(330)][r(559)](l=>{let h=r;this[h(912)](s[h(1593)],_t(h(632),{...l}))}),this._socket.onMessage(l=>{let h=r,m={qrGzb:function(E,v){return e[W(477)](E,v)},bnisz:e[h(961)],YSmOy:e[h(444)]};e.UmcPS(e.uBkLo,e[h(748)])?this.emit(e[h(1181)],e[h(1574)](pl,h(927),{...l})):(this[h(216)+"orOnline"]()&&(!this[h(582)]||m[h(405)](this._ws[h(311)+"te"],this.OPEN)||m[h(405)](this._ws.readyState,this[h(1472)+"NG"]))&&this[h(958)+h(1350)](),this[h(1314)+"er"]&&_0x52e36d.addEventListener(m.bnisz,this["_handleO"+h(1350)]),this[h(1314)+"er"]&&_0x2d9ab4[h(870)+h(970)](m.YSmOy,this[h(958)+h(1103)]))}),this._socket[r(656)](l=>{let h=r;e[h(1525)](e[h(296)],e.KjeIt)?this[h(912)](h(243),e[h(541)](lt,h(243),{...l,message:l.errMsg||""})):(this[h(896)](s[h(468)],_0x5b8ab2[h(927)]),s[h(1591)](_0x51a368))})}[t(914)](r){let s=t,l={zXijU:function(h,m){return e[W(1303)](h,m)},TCCGn:function(h,m,E){return h(m,E)},sxdml:e[s(586)]};if(e[s(741)](r,Uint8Array))if(e[s(1422)]("LVDcR",e[s(678)])){let h=_0x3af35f[s(1321)+"g"](0,naRDUo[s(455)](4,_0x35b06e[s(576)])),m=h[s(490)](_0x3445c9);_0x147634[s(1130)](m)}else{let h=r[s(529)].slice(r[s(389)+"et"],e[s(376)](r[s(875)+"th"],r[s(389)+"et"]));this[s(330)]&&this[s(330)][s(914)]({data:h,fail:m=>{let E=s;this[E(912)](e[E(586)],e[E(1378)](lt,e[E(586)],{message:this[E(1160)+E(1442)+E(969)](m)}))}})}else this[s(330)]&&this[s(330)][s(914)]({data:r,fail:h=>{let m=s;this[m(912)](m(243),l[m(1064)](lt,l[m(1410)],{message:this[m(1160)+m(1442)+"age"](h)}))}})}[t(632)](r,s){let l=t;this[l(330)]&&this._socket[l(632)]({code:r,reason:s})}[t(870)+t(970)](r,s){this.on(r,s)}[t(984)+t(1346)+"ner"](r,s){this[t(1622)](r,s)}get[t(311)+"te"](){let r=t;return this[r(330)][r(311)+"te"]}get[t(599)+"pe"](){let r=t;return this._socket[r(599)+"pe"]}set[t(599)+"pe"](r){}get url(){let r=t;return this[r(330)][r(1455)]}get[t(1256)](){let r=t;return this[r(330)][r(1256)]}get extensions(){let r=t;return this[r(330)][r(534)+"ns"]}get[t(864)+t(1291)](){return 0}}function Qp(a,r){let s=t;if(e.rAhyN(e[s(747)],e.ZiCWV)){if(r)return new r(a[s(1455)],a[s(1256)]);if(ei||Pn)return new Xp(a[s(1455)],a[s(1256)],a[s(1159)]);if(e[s(1615)](ir,ti)&&e[s(925)](s(1499)+"d",typeof WebSocket)&&WebSocket)return new WebSocket(a[s(1455)],a[s(1256)+"s"])}else _0x4f6617+=_0x1ab083(_0x5ab54b),_0x5de237++}function eg(a){let r=t,s=e.lKiQy[r(418)]("|"),l=0;for(;;){switch(s[l++]){case"0":if(a)return!0;continue;case"1":if(Pn&&tt[r(1569)+r(1542)])return!0;continue;case"2":return!1;case"3":if((ir||ti)&&e[r(1508)](e[r(1237)],typeof WebSocket)&&WebSocket)return!0;continue;case"4":if(ei&&wx[r(1569)+"ocket"])return!0;continue}break}}function wl(a,r,s){let l=-1;async function h(m){let E=W;return e[E(316)](m,l)?Promise.reject(new Error(e[E(236)])):(l=m,e.SOJSl(m,s.length)?Promise[E(1099)]():s[m].bind(a)(r,h[E(1300)](null,e[E(797)](m,1))))}e.zWDDM(h,0)}function _l(a){let r=t,s=0,l=0;for(let h=0;e.XCRxU(h,a[r(576)]);++h)if(e[r(1117)]===e[r(1117)])l=a[r(890)+"At"](h),e[r(1328)](l,128)?s+=1:l<2048?s+=2:(64512&l)===55296&&e[r(1407)](e[r(485)](64512,a[r(890)+"At"](h+1)),56320)?(++h,s+=4):s+=3;else return _0x41d845[_0x5493a3]=_0x106b06,!0;return s}function yl(a,r,s){let l=t;if(e[l(1085)](e[l(1303)](s,r),1))return"";let h="";for(let m=r;e[l(1085)](m,s);)if(e[l(352)](e[l(831)],"kqZvx")){let E=a[m++];if(e[l(1645)](E,127))h+=String.fromCharCode(E);else if(e.MgMQi(E,192)&&E<224)h+=String[l(852)+l(593)](e[l(303)](e[l(319)](e[l(1430)](31,E),6),e[l(1513)](63,a[m++])));else if(e[l(324)](E,224)&&E<240)h+=String[l(852)+l(593)](e[l(578)](e[l(832)]((15&E)<<12,e.kvuzs(63&a[m++],6)),e.TPlOk(63,a[m++])));else if(e[l(682)](E,240)){let v=e[l(821)](e.uSQIr(e.EkhaI(e[l(932)](e.qLpMy(7&E,18),e.NhsgB(e[l(351)](63,a[m++]),12)),e[l(1351)](63&a[m++],6)),e[l(655)](63,a[m++])),65536);h+=String["fromChar"+l(593)](e.uwSfp(55296,e[l(1476)](v,10))),h+=String["fromChar"+l(593)](e.Lsetc(56320,e.Pkcbn(1023,v)))}}else this[l(363)+"ndpointT"+l(768)+"t"]=0;return h}function va(a,r,s){let l=t;if(l(283)===l(283)){let h=s,m,E;for(let v=0;e[l(417)](v,a[l(576)]);++v)if(m=a.charCodeAt(v),e[l(1439)](m,128))r[s++]=m;else if(e.PTzAd(m,2048))r[s++]=e.yELsP(m,6)|192,r[s++]=e[l(874)](e[l(965)](63,m),128);else if(e[l(1216)](e[l(514)](64512,m),55296)&&e.WTPzs(64512&(E=a[l(890)+"At"](e[l(223)](v,1))),56320)){let g=e[l(517)][l(418)]("|"),k=0;for(;;){switch(g[k++]){case"0":r[s++]=e[l(1211)](e[l(342)](m,12)&63,128);continue;case"1":r[s++]=e[l(932)](e[l(486)](e[l(571)](m,6),63),128);continue;case"2":r[s++]=e[l(1511)](m>>18,240);continue;case"3":r[s++]=e.jlvpD(63&m,128);continue;case"4":++v;continue;case"5":m=e.EBsji(65536+e[l(617)](e[l(294)](1023,m),10),e[l(879)](1023,E));continue}break}}else r[s++]=m>>12|224,r[s++]=e[l(406)](m,6)&63|128,r[s++]=e[l(360)](e[l(756)](63,m),128);return e[l(545)](s,h)}else return _0xd2b565?.find(h=>h[l(299)]===_0x3e4309)?.value}async function bl(a){let r=t;if(e[r(778)](e[r(435)],typeof a)){let s=new Uint8Array(e[r(1084)](_l,a));return e.SDvwM(va,a,s,0),s}return a instanceof ArrayBuffer?new Uint8Array(a):new Uint8Array(a[r(529)],a[r(389)+"et"],a[r(875)+"th"])}function tg(a){let r=t;try{return e[r(1508)](e[r(435)],typeof a)&&(e.OFRVh(a,ArrayBuffer)||a.buffer&&e[r(1589)](a[r(529)],ArrayBuffer))||r(332)!=typeof a?"":(JSON.parse(a),e[r(674)])}catch{return e[r(1260)](e.VzliO,typeof a)?e[r(1445)]:""}}let ng=(a,r)=>{let s=t;if(e.eniKY(e[s(1343)],e[s(1343)]))e.mFDMa(_0x4df06e,_0x45c5ff,18),e[s(1411)](_0x399f47,_0x129448,_0xdf26c5);else switch(a){case e[s(635)]:case e[s(1421)]:return{[s(650)+a]:1,"x-tt-env":r};default:return{}}};class rg{constructor(r){let s=t;if(e[s(1454)](e[s(262)],e[s(262)]))this[s(280)+"ount"]=r,this[s(953)]=0;else return new _0xd011a(_0xbac56f,_0x27979f,_0x1fdeb0)}[t(370)](){this.count++}[t(1145)+"chMaxCount"](){return e[t(631)](this.count,this.maxLossCount)}[t(1549)+t(696)](r=0){let s=t;this[s(280)+s(987)]=r,this.count=0}}async function ig(a){let r=t,s={kBeJo:function(l,h){return e[W(1638)](l,h)},xoSGz:e[r(1352)]};return new Promise(l=>{let h=r;if(!ir)return e[h(1212)](l,e[h(1352)]);try{let m=document[h(843)+h(1141)](h(423));window[h(230)+h(1213)]=E=>{let v=h;document[v(1465)]["removeCh"+v(598)](m),window[v(230)+v(1213)]=void 0,s[v(1636)](l,E&&E[v(649)]||s[v(589)])},m[h(449)]=e[h(453)],m[h(433)]=e[h(950)](a.replace(/^ws/,e.nLDEq),e.Mfhuf);try{document[h(1465)][h(1432)+h(598)](m)}catch{document[h(1465)][h(340)+h(598)](m)}}catch{window.frontierJSONP=void 0,e[h(1396)](l,h(1354)+h(934))}})}function cn(a,r,s){let l=t;return!!a?.[l(905)](h=>h.key===r&&h[l(1326)]===s)}function sr(a,r){let s=t;return a?.[s(905)](l=>l[s(299)]===r)?.[s(1326)]}let Sa=null;async function sg(){let a=t;return Sa||(Sa=Promise[a(1099)]().then(Ft.bind(Ft,e[a(1516)]))),Sa}class og extends Ea{constructor(r,s){let l=t;super(),this._dbName=r,this._keyPath=s,this[l(1274)]=void 0,this[l(1518)+l(500)]=null}async openDB(){await this[t(823)]()}async[t(823)](){let r=t,s={MBvQP:e[r(1412)],ByxIh:function(l){return e[r(1484)](l)},nzlYT:function(l,h,m,E){return e[r(716)](l,h,m,E)}};if(e.gJyVf(r(1032),e[r(1562)]))this[r(953)]++;else{if(this[r(1274)])return;if(this[r(1518)+"mise"])return this._initPromise;try{let l=this._dbName,h=this[r(1171)];this["_initPro"+r(500)]=(async()=>{let m=r;if(s.MBvQP===m(530))return this["_message"+m(1203)][m(862)]((v,g)=>(v+=g&&g[m(875)+"th"]||0,v),0)+(this[m(582)]?this[m(582)][m(864)+m(1291)]:0);{let{openDB:E}=await s.ByxIh(sg);this._qosDB=await s[m(356)](E,m(230)+"_"+l,1,{upgrade(v){let g=m;v[g(1515)+g(826)+"e"](l,{keyPath:h})}})}})(),await this[r(1518)+r(500)]}catch(l){console[r(1242)](l)}finally{this[r(1518)+r(500)]=null}}}async get(r){let s=t,l={RlOHz:function(h,m){return e[W(498)](h,m)}};try{if(s(928)!==e[s(1483)]){let h=qLCpAA.RlOHz(_0x46b7a0,_0x5a0688),m=_0x4f0070.limit;return _0x41253e[s(1614)]=_0x339ac6[s(1459)]+h,m}else return await this[s(823)](),this[s(1274)]?.[s(1420)](this._dbName,r)}catch(h){console[s(1242)](h)}}async[t(697)](r,s){let l=t;if(e[l(227)](e[l(1510)],e[l(769)]))_0x174040.log(_0xd6f884);else return await this[l(823)](),this[l(1274)]?.[l(305)](this._dbName,r)}async[t(951)](r){let s=t;try{return await this[s(823)](),this[s(1274)]?.[s(306)](this._dbName,r)}catch(l){console[s(1242)](l)}}async[t(923)](){let r=t;try{return await this._init(),this[r(1274)]?.[r(923)](this[r(1288)])}catch(s){console[r(1242)](s)}}async[t(538)](){let r=t;return await this[r(823)](),this._qosDB?.[r(1045)+"ys"](this[r(1288)])}async[t(1075)](){let r=t;return await this._init(),this._qosDB?.[r(1075)](this[r(1288)])}async[t(1565)](){let r=t;try{this._qosDB?.[r(632)](),this._qosDB=void 0}catch(s){console[r(1242)](s)}}get[t(1095)](){let r=t;if(e[r(1427)](e[r(841)],e.HTWlH))this[r(364)]=!0,this[r(694)]();else try{return!!this[r(1274)]}catch(s){return console[r(1242)](s),!1}}}class ag{constructor(r,s){let l=t;this[l(1417)]=r,this[l(531)]=s,this._qosDB=localStorage}async[t(611)](){}get[t(357)](){return"frontier_"+this[t(1417)]}async[t(1420)](r){let s=t,l=this._qosDB[s(1247)](this[s(357)]);return JSON[s(1269)](l||"{}")[r]}async[t(697)](r,s){let l=t,h=this[l(1274)][l(1247)](this[l(357)]),m=JSON[l(1269)](e.hKNYb(h,"{}"));return m[s||r[this[l(531)]]]=r,this[l(1274)].setItem(this[l(357)],JSON[l(590)+"y"](m)),s||r[this[l(531)]]}async del(r){let s=t,l=this[s(1274)][s(1247)](this[s(357)]),h=JSON[s(1269)](e[s(1125)](l,"{}"));return h[r]=void 0,this[s(1274)][s(1144)](this[s(357)],JSON.stringify(h))}async clear(){let r=t;return this._qosDB[r(923)]()}async keys(){let r=t,s=this._qosDB[r(1247)](this._prefix),l=JSON[r(1269)](e[r(929)](s,"{}"));return Object[r(538)](l)}async[t(1075)](){let r=t,s=this[r(1274)][r(1247)](this._prefix),l=JSON[r(1269)](e[r(1567)](s,"{}"));return Object[r(1529)](l)}[t(1565)](){return Promise[t(1099)]()}get[t(1095)](){return!!this._qosDB}}class cg{constructor(r,s){let l=t;this[l(1417)]=r,this[l(531)]=s,this[l(1274)]=Pn?tt:ei?wx:null}async openDB(){}get[t(357)](){let r=t;return r(230)+"_"+this[r(1417)]}async[t(1420)](r){let s=t,l=this[s(1274)]["getStora"+s(1142)](this[s(357)]);return JSON.parse(l||"{}")[r]}async[t(697)](r,s){let l=t;if(e[l(691)](l(827),e[l(1474)])){let h=this._qosDB[l(1151)+l(1142)](this._prefix),m=JSON[l(1269)](e[l(1257)](h,"{}"));return m[s||r[this[l(531)]]]=r,this._qosDB.setStorageSync(this[l(357)],JSON.stringify(m)),s||r[this[l(531)]]}else _0x237fa2[l(984)+l(1346)+l(673)](JMvQlD[l(267)],_0x3e930c),_0x3b02b0[l(984)+l(1346)+l(673)](JMvQlD.JnLRZ,_0x1144b8),_0x105906[l(984)+l(1346)+l(673)](JMvQlD[l(989)],_0x9de3be)}async[t(951)](r){let s=t,l=this._qosDB[s(1151)+s(1142)](this[s(357)]),h=JSON[s(1269)](e[s(1127)](l,"{}"));return h[r]=void 0,this[s(1274)][s(260)+"geSync"](this[s(357)],JSON[s(590)+"y"](h))}async[t(923)](){let r=t;return this[r(1274)]["clearSto"+r(807)]()}async[t(538)](){let r=t,s=this._qosDB[r(1151)+r(1466)+"nc"](this[r(357)]),l=JSON[r(1269)](s||"{}");return Object[r(538)](l)}async[t(1075)](){let r=t,s=this[r(1274)][r(1151)+r(1466)+"nc"](this[r(357)]),l=JSON[r(1269)](e[r(929)](s,"{}"));return Object[r(1529)](l)}[t(1565)](){return Promise[t(1099)]()}get[t(1095)](){return!!this[t(1274)]}}function El(a,r){let s=t;if(Pn||Pn)return new cg(a,r);if(e[s(1257)](ir,ti)&&e[s(925)](s(1499)+"d",typeof indexedDB))return new og(a,r);if(e.hKNYb(ir,ti)&&e[s(543)](e.OxtdW,typeof localStorage))return new ag(a,r);throw new Error(e[s(751)])}class dg{constructor(){let r=t;if(e.PBnUw(e[r(1069)],e[r(1069)]))this[r(274)+r(994)+"Id"]=null,this[r(274)+"l"]=36e5,this[r(1274)]=e.vUEMN(El,e[r(967)],e[r(886)]);else{let s=this._listeners[_0x580e26];if(s)for(let l=0;l<s.length;)e[r(1040)](s[l].fn,_0x578878)?s[r(1019)](l,1):++l}}async[t(274)+t(414)](){let r=t;e[r(945)](clearInterval,this._intervalTimeoutId),this["_interva"+r(994)+"Id"]=e[r(1391)](setInterval,()=>{let s=r;this[s(1055)+s(1042)]()},this[r(274)+"l"])}async[t(611)](){let r=t,s={jlkXC:function(l,h,m){return l(h,m)},xGPWz:e[r(586)]};await this._qosDB[r(611)]()[r(291)](()=>{let l=r;if(e[l(622)](e[l(1385)],e[l(1385)])){let h=s.jlkXC(_0x54b5dc,s[l(1136)],{message:_0x4f89a4[l(927)],code:_0x57a7ee[l(972)+l(1286)],error:_0x552d11});this[l(314)+l(1251)+l(971)](h)}else this[l(274)+"lFlush"]()})}async[t(1055)+t(1042)](){let r=t,s={xDlrK:function(m,E,v){return e[W(269)](m,E,v)}};(await this[r(1274)]?.[r(1075)]()||[])[r(1227)](({timestamp:m})=>m<Date[r(1641)]())[r(1560)](m=>{let E=r;e[E(1407)](e[E(788)],E(891))?s[E(482)](_0x48313a,_0x333895,this[E(218)+E(1353)+"e"](_0x2e566f)):this[E(1274)]?.[E(951)](m.message_id)})}async[t(951)](r){let s=t;return this[s(1274)]?.[s(951)](r)}async set(r,s){let l=t;return this[l(1274)]?.[l(697)]({message_id:r,timestamp:s})}async get(r){let s=t;if(e[s(1040)](e[s(457)],"gtHVk")){let l=_0x2aa610[s(1359)+"tabase"](_0x3b019a);return _0x53a025&&l["addEvent"+s(970)](JMvQlD[s(390)],()=>_0x501444()),JMvQlD.UJSjs(_0x2fd373,l).then(()=>{})}else return this._qosDB?.[s(1420)](r)}async[t(1565)](){let r=t;if(e[r(794)]===e[r(796)]){let s=e[r(610)][r(418)]("|"),l=0;for(;;){switch(s[l++]){case"0":this[r(582)][r(870)+r(970)](e[r(228)],this[r(1458)]);continue;case"1":this[r(582)][r(870)+r(970)](e[r(1181)],this[r(829)+"ge"]);continue;case"2":this._ws[r(870)+r(970)](e[r(586)],this._onError);continue;case"3":this[r(582)][r(870)+r(970)](r(632),this._onClose);continue;case"4":if(!this[r(582)])return;continue}break}}else e[r(1332)](clearInterval,this[r(274)+r(994)+"Id"]),await this._qosDB?.[r(1565)]()}get isReady(){let r=t;return this[r(1274)]?.[r(1095)]}}function Ia(a){let r=t,s=!!this._options[r(225)+"S"];if(!s)return{enabled:s,isQoSMessage:!1,isQoSAck:!1,isAckCleanupMessage:!1,ackMsgIds:[]};let l=e[r(716)](cn,a[r(927)][r(1159)],r(1394)+"er_qos","2"),h=l&&e[r(1561)](cn,a[r(927)][r(1159)],e[r(1028)],"1"),m=l&&e[r(1561)](cn,a[r(927)].headers,e.OTahy,"1"),E=m?e[r(464)](sr,a[r(927)][r(1159)],e.Kbqrn)?.[r(418)](",")[r(1227)](Boolean)||[]:[];return{enabled:s,isQoSMessage:l,isQoSAck:h,isAckCleanupMessage:m,ackMsgIds:E}}async function vl(){let a=t;return this[a(548)+a(1061)]||(this[a(548)+a(1061)]=new dg),this._QoSManager[a(1095)]||await this["_QoSMana"+a(1061)][a(611)](),this[a(548)+a(1061)]}async function lg(a,r){let s=t,{enableAutoAck:l}=this[s(434)],h=e[s(217)](cn,a[s(927)][s(1159)],e[s(1634)],"1"),m=e[s(614)](cn,a.message.headers,e.ApabK,"1"),E=Ia[s(962)](this,a);if(e[s(221)](l,h)){let{SeqID:v,LogID:g,service:k,LogIDNew:L,method:F}=a[s(927)];this._sendAck({SeqID:v,LogID:g,LogIDNew:L,service:k,method:F,headers:[{key:s(819),value:"1"},{key:e[s(419)],value:e[s(722)](L,"")},{key:e[s(339)],value:"0"}]})}m&&!E[s(733)]&&this["_dispatchAckMess"+s(333)](a),e[s(1484)](r)}async function ug(a,r){let s=t;this[s(896)](e[s(776)],a[s(927)]),r()}async function fg(a,r){let s=t,l={ciOgD:function(h,m){return e.ENEWD(h,m)},dpdlH:e[s(1138)]};if(e[s(1206)](e.qEjKA,e.dMNhh)){if(OdcLPW[s(1273)](_0x4d6df1,s(780)))return _0xefb9e1[s(1420)](_0x44f4c6);if(_0x406282==="objectSt"+s(394))return _0x22ce86["objectSt"+s(394)]||_0x40f81d[s(1420)](_0x1cf5f9);if(_0x33e9aa===OdcLPW.dpdlH)return _0x1310d8[s(537)+s(394)][1]?void 0:_0x2c27b8[s(537)+s(1068)](_0x208955[s(537)+s(394)][0])}else{let h=e[s(1451)](sn,await e.HCSoj(bl,a[s(353)]));try{if(e.ABOyV!==s(1164))this[s(912)](s(431),e[s(1086)](_0x4931b9,"open",{..._0x4e898b,data:_0x5c88bf[s(670)]||""}));else if(e[s(408)](h[s(1266)],Uint8Array)){let m=e.tgyoh(this[s(434)][s(1218)+s(1551)],Object)?{force:!!this[s(434)][s(1218)+s(1551)].force,encoding:this[s(434)][s(1218)+s(1551)][s(1047)]?this[s(434)]["payloadE"+s(1551)][s(1047)][s(882)](/\s/g,"")["toLowerC"+s(1462)]():""}:{force:!1,encoding:this[s(434)][s(1218)+s(1551)]?this[s(434)].payloadEncoding[s(882)](/\s/g,"")[s(916)+s(1462)]():""},E=h[s(1218)+"ncoding"]?h["payloadE"+s(1551)][s(882)](/\s/g,"")[s(916)+"ase"]():"",v=e.SFtGv(this[s(434)][s(257)+s(1027)],Object)?{force:!!this[s(434)][s(257)+s(1027)][s(478)],type:this[s(434)][s(257)+s(1027)][s(449)]?this._options[s(257)+s(1027)][s(449)][s(882)](/\s/g,"")["toLowerC"+s(1462)]():""}:{force:!1,type:this[s(434)][s(257)+s(1027)]?this[s(434)][s(257)+s(1027)][s(882)](/\s/g,"")[s(916)+s(1462)]():""},g=h[s(257)+s(1027)]?h["payloadT"+s(1027)][s(882)](/\s/g,"")[s(916)+s(1462)]():"",k=v[s(478)]?v.type:g||v.type,L=m[s(478)]?m.encoding:E||m[s(1047)],F=[s(400)+s(366)+"et=utf-8",s(1170)+"ion/json",e[s(606)],e[s(435)]],$=[e[s(754)],e[s(533)]];this[s(434)][s(1262)+s(949)+"extPayload"]&&F.includes(k)&&(!L||$[s(469)](L))?h[s(413)+s(1263)]=yl(h[s(1266)],0,h[s(1266)][s(875)+"th"]):h["textPayl"+s(1263)]=""}else h[s(413)+s(1263)]=""}catch(m){h[s(413)+s(1263)]="",console[s(1242)](m)}a[s(927)]=h,e.XmeXm(r)}}function hg(a,r,s){let l=t,h={TYQqa:function(k,L){return k&L},XWKJB:function(k,L){return e[W(1185)](k,L)},htLEC:function(k,L){return e[W(378)](k,L)},GTmEe:l(568),EWoMm:"kvHOQ",BQsuH:function(k,L){return e[l(750)](k,L)},rSOcw:function(k,L){return k>L},gNxQC:function(k,L){return e.DlTjp(k,L)},JZPmf:function(k,L){return e[l(1067)](k,L)},WnADR:function(k,L){return e[l(385)](k,L)},jZCfs:function(k,L){return e[l(1057)](k,L)}},m=e[l(1127)](s,8192),E=e[l(567)](m,1),v=null,g=m;return function(k){let L=l;if(h.htLEC(h.GTmEe,h.EWoMm)){if(h[L(1004)](k,1)||h[L(1595)](k,E))return a(k);h.gNxQC(g+k,m)&&(v=h[L(919)](a,m),g=0);let F=r.call(v,g,g+=k);return 7&g&&(g=h.WnADR(h.jZCfs(7,g),1)),F}else return _0x973769[L(1381)+"t8"]?_0x45e078[L(1381)+"t8"](_0x5e3baa,_0x53e83e):_0xdbc068[_0x5811b4]=h.TYQqa(255,_0x44d9d4),h[L(302)](_0x2e3969,1)}}let xg=4294967295;function pg(a,r,s){let l=t;return RangeError(e[l(742)](e.KmekV+a+e[l(1148)]+(r||1)+e.yJudF,s))}function gg(a,r,s){let l=t;if(s>xg)throw new Error("integer "+l(1363)+"e");let h=3;for(;e[l(682)](h,0);){let m=255&s;e.Oehnd(ka,m,a,r+h),s>>>=8,h--}return r+4}function mg(a,r){let s=t,l=0,h=r,m=e[s(1017)](r,4);for(;e.qptQt(h,m);)if(e.zKggQ(e.KEVHn,e[s(658)])){let{value:E,offset:v}=e[s(597)](Aa,a,h);h=v,l=e.fzehR(e[s(497)](l,8),0),l+=E}else this[s(1314)+"er"]&&_0x371107["addEvent"+s(970)](e[s(961)],this[s(958)+s(1350)]),this[s(1314)+"er"]&&_0x2a9b69[s(870)+s(970)](e[s(444)],this["_handleO"+s(1103)]),this[s(1314)+"er"]&&_0x2f3745["addEvent"+s(970)](s(561),this[s(481)+s(883)]),this[s(1314)+"er"]&&_0x208066[s(870)+s(970)](e[s(560)],this[s(481)+"ageShow"]);return{value:l,offset:m}}function wg(a,r,s){let l=t;return a?e.uoiqF(a[l(576)],40)?e.dvzjq(va,a,r,s)+s:r.utf8Write?e.jwlEy(r.utf8Write(a,s),s):r.write?e[l(1017)](r[l(1014)](a,s),s):e[l(376)](e.LDPsR(va,a,r,s),s):s}function _g(a,r){let s=t,l=new xe(e[s(1072)](e[s(714)](e[s(617)](a[r+4],24)|a[e[s(385)](r,5)]<<16,e.jNdQw(a[e[s(276)](r,6)],8)),a[e[s(1017)](r,7)]),e[s(1344)](e[s(1564)](e[s(1211)](e.JgevL(a[e[s(1301)](r,0)],24),e.rZrUp(a[e[s(1527)](r,1)],16)),e.RorNk(a[e[s(397)](r,2)],8)),a[e.ZFqHO(r,3)]),!0);return r+=8,{value:l,offset:r+8}}function yg(a,r,s){let l=t,h=a.low,m=a[l(1066)];return r[s]=e.AWZIV(m,24),r[s+1]=e[l(1246)](m>>>16,255),r[e.sTVoh(s,2)]=e[l(655)](e[l(567)](m,8),255),r[e.njTMM(s,3)]=255&m,r[e[l(1443)](s,4)]=e[l(1479)](h,24),r[s+5]=e[l(1424)](e.dIjgI(h,16),255),r[s+6]=e[l(294)](h>>>8,255),r[e.njTMM(s,7)]=e.LhbiP(255,h),s+=8,s}function Aa(a,r){let s=t;return a[s(1161)+"8"]?{value:a[s(1161)+"8"](r),offset:e[s(376)](r,1)}:{value:e[s(1374)](255,a[r]),offset:r+1}}function ka(a,r,s){let l=t;return r.writeUint8?r[l(1381)+"t8"](a,s):r[s]=e[l(723)](255,a),e[l(1533)](s,1)}let bg=function(a){return new Uint8Array(a)},Eg=e[t(1530)](e.OxtdW,typeof Buffer)?Buffer[t(871)+t(1111)]:e.SmqLA(hg,bg,Uint8Array[t(850)+"e"][t(350)]);(()=>{let a=t,r={CaMya:e[a(956)],WEHcs:function(s,l){return e.PTzAd(s,l)},XsiVU:function(s,l){return e[a(336)](s,l)},vVDKE:function(s,l){return e[a(1319)](s,l)},vQJhB:function(s,l){return e[a(1308)](s,l)},WaWvw:function(s,l){return e[a(968)](s,l)},zGTYx:function(s,l){return e[a(1226)](s,l)},OnQEn:function(s,l){return e[a(726)](s,l)},yTfUD:function(s,l){return e[a(941)](s,l)},uQdHx:function(s,l,h,m){return e[a(1561)](s,l,h,m)},svPeY:function(s,l){return s|l},VFvef:function(s,l){return e.yhXEr(s,l)},DnMAn:function(s,l){return e[a(1336)](s,l)},TradT:function(s,l){return e.ORbJU(s,l)},zTRby:function(s,l){return e[a(1355)](s,l)},LHxpW:function(s,l){return s<l},abquX:function(s,l){return e[a(245)](s,l)},EjGgn:function(s,l){return s&l},wehNA:function(s,l){return s<l}};if(e.WTPzs(e.HnKhw,e[a(637)])){let s=4294967295;return function(l,h,m=!0){let E=a,v=r[E(1268)][E(418)]("|"),g=0;for(;;){switch(v[g++]){case"0":if(r[E(999)](l[h++],128))return{value:m?s:r.XsiVU(0,s),offset:h};continue;case"1":s=r[E(365)](r[E(508)](s,r[E(231)](15&l[h],28)),0);continue;case"2":if(r[E(256)](l[h++],128))return{value:m?s:r.OnQEn(0,s),offset:h};continue;case"3":if(r[E(1633)](h+=5,l[E(576)]))throw h=l[E(576)],r[E(1397)](pg,h,10,l[E(576)]);continue;case"4":if(l[h++]<128)return{value:m?s:r.svPeY(0,s),offset:h};continue;case"5":s=r[E(365)](r[E(1449)](s,r.WaWvw(r[E(379)](127,l[h]),21)),0);continue;case"6":s=r.vVDKE(127&l[h],0);continue;case"7":return{value:m?s:r[E(1375)](0,s),offset:h};case"8":s=r[E(1626)](s,r[E(1104)](r[E(1497)](127,l[h]),7))>>>0;continue;case"9":if(r[E(295)](l[h++],128))return{value:m?s:0|s,offset:h};continue;case"10":s=r[E(365)](r[E(939)](s,r.EjGgn(127,l[h])<<14),0);continue;case"11":if(r[E(1100)](l[h++],128))return{value:m?s:0|s,offset:h};continue}break}}}else return _0x372d2d||(_0x1f87e7=[_0x4b6aaa[a(850)+"e"][a(565)],_0x4461ff[a(850)+"e"].continue,_0x1e29dc[a(850)+"e"][a(1132)+a(889)+"ey"]])})();let vg=16,Ta=32;function Sg(a){let r=t,s=0,l={};for(let h=0;e.xNiHd(h,a.length);h++){if(e[r(477)](e[r(1624)],r(1254)))return _0xb0434a&&(_0x8431af=(0,_0xc0a9d0[JMvQlD[r(1109)](_0x400d31,_0x9d5bb5)[0]])(_0x20bd5d=0)),_0x13cb22;l[a[h][r(684)+r(359)]]=_l(a[h][r(684)+"ame"]),s+=e[r(1295)](14,l[a[h]["cursor_n"+r(359)]])}return[s,l]}function Sl(a,r,s){let l=t,[h,m]=e[l(744)](Sg,a),E=Eg(h),v=0;return a.forEach(g=>{let k=l;console.log(e.RfwUp,g,g[k(1056)]),v=e[k(745)](ka,0,E,v),console[k(1242)]("header",v),v=e.lSRPP(gg,E,v,g.service||0),console[k(1242)](e[k(822)],v),v=e[k(217)](ka,m[g["cursor_n"+k(359)]],E,v),console[k(1242)](e[k(1058)],v),v=e[k(1561)](wg,g[k(684)+k(359)],E,v),console[k(1242)](e[k(948)],v),v=yg(xe[k(326)+"er"](g[k(707)]||r),E,v),console[k(1242)]("curvalue",v)}),{frameType:Ta,headers:[{key:e[l(234)],value:s}],payload:E}}function Ig(a){let r=t,s=0,l=[];for(;e[r(1328)](s,a[r(875)+"th"]);){let{offset:h}=e[r(1423)](Aa,a,s);s=h;let m={cursor_name:"",cursor:0,service:0},{value:E,offset:v}=mg(a,s);m.service=E,s=v;let{value:g,offset:k}=e[r(1235)](Aa,a,s);s=k,m[r(684)+r(359)]=e[r(810)](yl,a,s,e[r(1038)](s,g)),s+=g;let{value:L,offset:F}=e[r(242)](_g,a,s);m[r(707)]=L.toNumber(),s=F,l[r(1130)](m)}return l}function Ag(){let a=t;return{frameType:Ta,headers:[{key:e[a(234)],value:a(317)+"_EXIST"}],payload:void 0}}class kg{constructor(r,s,l){let h=t;this[h(374)+h(1310)]=r,this[h(838)+h(1070)]=s,this[h(442)+h(1283)]=l,this._qosDB=e.GRmLh(El,this[h(374)+h(1310)],e[h(1156)])}async[t(611)](){await this[t(1274)].openDB()}async getCursors(){let r=t;if(!this[r(1274)][r(1095)])return;let s=this[r(442)+r(1283)],l=await this._qosDB[r(1075)]();switch(console[r(1242)](e.pTxDn,l),s){case e[r(1349)]:return l&&l[r(576)]?Sl(l,0,this[r(838)+r(1070)]):void 0;case e[r(1232)]:return;case e[r(1602)]:return l&&l[r(576)]?Sl(l,0,this[r(838)+"ileName"]):e[r(1484)](Ag)}}async[t(697)](r,s,l){let h=t;return console[h(1242)](e.nHSIo,r,s,l),this[h(1274)][h(697)]({cursor_name:r,cursor:s,service:l})}async[t(1367)+"rs"](r){let s=t,l=Ig(r);for(let h of l)console[s(1242)](e[s(1532)],l),await this._qosDB[s(697)](h)}async get(r){let s=t;return e[s(628)]!==s(1400)?(await this[s(1274)][s(1420)](r))?.cursor:!!(_0x2f4a09||_0x1a6333&&_0x49a8a0[s(1569)+s(1542)]||_0x5ebfbf&&_0x4fe420[s(1569)+s(1542)]||e[s(1127)](_0x4b2257,_0x35b97c)&&e[s(1356)](e[s(1237)],typeof _0x3e9dc6)&&_0x320f89)}async[t(1565)](){let r=t;await this[r(1274)][r(1565)]()}["updateCu"+t(1575)+"Name"](r){let s=t;e.vOJGW(e[s(1566)],"YdGgJ")?_0xd3881b[s(1465)][s(340)+s(598)](_0x54d7f7):this[s(838)+s(1070)]=r}get isReady(){let r=t;return this._qosDB[r(1095)]}}let Tg=t(1448)+t(281);async function Il(a){let r=t;if(e[r(235)](e[r(1371)],"RTUVu"))e[r(472)](_0x1997f0,_0x27f138,58),e[r(371)](_0x1c0c76,_0x2c2bff,_0x5eb426);else{if(!this[r(434)][r(225)+"S"])return null;let{aID:s,fpID:l,messageStrategy:h}=this[r(434)],m=e[r(1186)](a,Tg);try{return this[r(990)+r(654)]?a&&this[r(990)+r(654)][r(298)+r(1575)+r(815)](a):this._cursorManager=new kg(l+"_"+s+"_"+m,m,h),this[r(990)+r(654)].isReady||await this[r(990)+r(654)][r(611)](),this[r(990)+"anager"]}catch{return null}}}async function Rg(a,r){let s=t,l=cn(a.message.headers,"code","-1"),h=e.LDPsR(cn,a[s(927)].headers,s(819),"1"),m=e[s(1026)](sr,a[s(927)][s(1159)],e[s(835)]),E=e.bnlpY(Number,sr(a[s(927)][s(1159)],e[s(1293)]))||0,v=Ia[s(962)](this,a),g=e[s(860)](cn,a[s(927)][s(1159)],e.GdSPi,"2"),k=e[s(516)](sr,a.message[s(1159)],e[s(1519)]),L=e[s(286)](Number,e[s(1607)](sr,a[s(927)][s(1159)],s(997)+s(528)+"ue"));if(v[s(733)])return e.XmeXm(r);let F=v[s(1013)+s(770)]?await vl[s(962)](this):null;if(a.message[s(1056)]>0&&h&&!l||e[s(372)](a[s(927)][s(1056)],0)){if(m&&v["isQoSMes"+s(770)]&&F)return!!!await F[s(1420)](m)&&(this["_dispatc"+s(1105)+s(1003)](a),await F.set(m,e[s(376)](Date[s(1641)](),E))),e.XmeXm(r);if(g)if(e.cGoel(e[s(1238)],s(380))){let $={TZaUL:e[s(586)],oRSgi:function(V,te,Ne){return e[s(289)](V,te,Ne)},uPkjw:e[s(1209)]};_0xe6b028[s(1099)]()[s(291)](()=>{let V=s,te=_0x1df805($[V(219)],{message:this[V(1160)+V(1442)+V(969)](_0x33943e)});this[V(912)]($.TZaUL,te);let Ne=$.oRSgi(_0x207cb3,$[V(612)],{reason:this["_formatE"+V(1442)+V(969)](_0x2b6062)});this[V(912)]($.uPkjw,Ne)})}else{let $=await Il.call(this);if(!$)return this[s(314)+s(1105)+"Event"](a),e[s(1484)](r);let V=await $.get(k)??-1;if(e[s(1037)](V,L))this[s(314)+s(1105)+s(1003)](a),$.set(k,L,a[s(927)][s(1056)]);else throw new Error(s(1339)+s(1197)+s(1438)+L+(s(494)+s(844)+s(620)+"r ")+V);return e.HELDT(r)}return this[s(314)+s(1105)+s(1003)](a),e.yoolX(r)}}async function Pg(a,r){let s=t,l=Ia[s(962)](this,a);if(!l[s(1013)+s(770)])return r();let h=await vl[s(962)](this);if(l[s(787)+s(1644)+s(969)]&&l[s(1076)+"s"].length)for(let m of l[s(1076)+"s"])await h.del(m);e[s(1128)](r)}async function Cg(a,r){let s=t,l=e[s(1404)](a[s(927)][s(1481)+"e"],vg),h=a[s(927)][s(1481)+"e"]===Ta;if(!l&&!h)return e[s(604)](r);let m=e[s(1444)](sr,a[s(927)][s(1159)],e.NqIEh);if(!m)return e[s(310)](r);let E=await Il.call(this,m);if(!E)return e[s(837)](r);if(l){let v=await E[s(1457)+"rs"](),g={frameType:v?.[s(1481)+"e"],SeqID:xe[s(326)+"er"](this[s(551)]++),LogID:xe.fromNumber(this[s(434)][s(261)+s(550)]()),service:9e3,method:5,headers:v?.[s(1159)],payload:v?.[s(1266)]},k=S(g);this[s(582)]&&this._ws[s(311)+"te"]&&this._ws[s(914)](k)}if(h){let v=a[s(927)][s(1266)];v&&E[s(1367)+"rs"](v)}}let Dg=async function(a,r){let s=t;this._isInit=!1,e[s(998)](clearTimeout,this["_connectionTimeo"+s(1079)]),e[s(837)](r)},Og=async function(a,r){let s=t;if(!this[s(582)]||e[s(1320)](this[s(582)][s(311)+"te"],this[s(248)]))return r();let{pingInterval:l}=this[s(434)];this[s(739)+s(647)]?.[s(320)+s(877)+"fig"]();for(let m=0;m<this[s(442)+s(1203)].length;m++){let E=this[s(442)+s(1203)][m];if(e[s(232)](this[s(582)][s(311)+"te"],this[s(248)])&&E!==null)this[s(582)]&&this[s(582)].send(E),this["_message"+s(1203)][m]=null;else break}this[s(442)+s(1203)]=this[s(442)+s(1203)][s(1227)](m=>!!m),this[s(460)+"gTimeoutId"]=setTimeout(()=>this[s(1570)](),l),this[s(314)+"hOpenEvent"](a),this[s(1314)+"er"]&&this[s(582)]&&(this._ws[s(599)+"pe"]=this[s(580)+s(1027)]);let h=this[s(739)+"tManager"]?.getCurrentEndpoint();this[s(896)](s(1586)+h+s(1271)),e[s(1590)](r)},Lg=async function(a,r){let s=t,l=this["_endpoin"+s(647)]?.["getCurre"+s(735)+"nt"]();this._debug("open "+l),e[s(764)](r)};class Ng extends Ea{constructor(r){let s=t,l={WKFUS:function(v,g){return e.yqltD(v,g)},ewZCP:s(1621),dBOgt:e[s(1065)],NxDbC:e.ZlriH,EOLKE:function(v,g,k){return v(g,k)},mwJFf:function(v,g,k,L){return v(g,k,L)},znnyS:function(v,g,k){return e[s(1403)](v,g,k)},fdfKg:e[s(586)],uaGaG:e.OvGKI,lrdGr:function(v,g){return e[s(1494)](v,g)},vGyIB:function(v,g,k){return e[s(892)](v,g,k)},ZeciR:e[s(1048)],UJtUy:function(v,g){return e.nhEYR(v,g)},sOxQl:function(v,g,k){return e[s(760)](v,g,k)}};super(),this["_miniNav"+s(473)+s(255)]=!0,this[s(1314)+"er"]=ir,this[s(1610)]=Zp,this._isMiniTT=Pn,this[s(1415)+"X"]=ei,this[s(443)+"r"]=ti,this[s(442)+s(1203)]=[],this._endpointManager=null,this[s(250)+s(558)]=!1,this["_binaryT"+s(1027)]=e[s(1096)],this[s(694)+"Lock"]=!1,this["_connect"+s(1471)+s(1079)]=null,this[s(546)+s(426)+s(1154)]=null,this._pingPongTimeoutId=null,this[s(551)]=0,this[s(364)]=!1,this[s(1276)]="",this[s(548)+s(1061)]=null,this["_cursorM"+s(654)]=null,this[s(779)+"sCounter"]=null,this._protocols=e[s(1507)],this[s(536)]=3,this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this[s(1458)]=v=>{let g=s;try{e.dvzjq(wl,this,v,[Dg,Og,Lg])}catch(k){let L=e[g(1036)](lt,e[g(586)],{message:k[g(927)],code:an[g(570)+"OR"],error:k});this[g(314)+"hErrorEvent"](L)}},this[s(829)+"ge"]=async v=>{let g=s,{pingInterval:k,pingFrequency:L}=this[g(434)];if((v.data==="hi"&&l[g(1333)](g(681),L)||l[g(1333)](l[g(338)],L))&&(this[g(705)+g(504)](),this[g(912)](l[g(450)],l[g(226)]),this[g(460)+g(1538)+"Id"]=l[g(623)](setTimeout,this[g(1570)][g(1300)](this),k)),!l[g(1333)]("hi",v[g(353)]))try{l.mwJFf(wl,this,v,[fg,lg,Pg,Cg,Rg,ug])}catch(F){let $=l[g(375)](lt,l[g(753)],{message:F[g(927)],code:an["MESSAGE_"+g(1286)],error:F});this[g(314)+g(1251)+g(971)]($)}},this[s(1347)]=v=>{let g=s,k=this[g(739)+g(647)]?.[g(1145)+g(346)+"es"](),L=this["_endpoin"+g(647)]?.[g(1208)+"ntEndpoint"]();if(k&&!v.message){let F=g(1524)+L+(g(752)+"ax retri"+g(1478)+"ed");this["_dispatc"+g(1251)+g(971)](lt(e.JnLRZ,{message:F,code:an.MAX_RETRIES_ERROR,error:v}));return}this._ws&&e[g(627)](this[g(582)][g(311)+"te"],this[g(248)])&&this[g(465)+g(698)](),this["_dispatchErrorEv"+g(971)](e[g(1587)](lt,e[g(586)],{message:v[g(927)],code:an.NATIVE_ERROR,error:v}))},this[s(1635)]=async v=>{let g=s;this[g(1229)+g(329)](),this[g(705)+g(504)](),this["_removeW"+g(341)+"rs"](),this[g(582)]=null,this[g(694)+"Lock"]=!1;let k=this[g(739)+g(647)]?.[g(1145)+g(346)+"es"]();if(!k&&this["_navigat"+g(786)]()&&!this["_readyCl"+g(558)]){let L=this[g(739)+g(647)]?.[g(1208)+"ntEndpoint"](),F=this[g(434)][g(424)+g(1039)+g(1049)](v.code,v[g(934)]);this[g(314)+g(222)+g(971)](l.EOLKE(_t,l[g(1157)],{code:1006,reason:v[g(934)]||g(680)+"ng faile"+g(908)+g(594)+"n, hostn"+g(1015)+L,willReconnect:F})),F&&this[g(694)]();return}if(l.lrdGr(1e3,v[g(487)])&&this[g(250)+"osed"]){this["_dispatchCloseEv"+g(971)](l.vGyIB(_t,l[g(1157)],{code:1e3,reason:l[g(1245)]})),this["_endpoin"+g(647)]?.[g(320)+"pointCon"+g(395)](),this[g(779)+g(1416)]?.[g(1549)+g(696)]();return}if(l[g(1580)](1e3,v[g(487)])&&k){let L=this["_endpoin"+g(647)]?.[g(1208)+g(735)+"nt"](),F=v[g(934)];F||(F=await l[g(605)](ig,this._url)),F="connecti"+g(308)+g(814)+F+(g(800)+g(1617))+L+(g(1112)+"tries re"+g(279)),this["_dispatc"+g(222)+g(971)](l[g(1616)](_t,l.uaGaG,{code:v.code,reason:F}));let $=g(1524)+L+(g(752)+g(446)+g(1478)+"ed");this[g(314)+g(1251)+"ent"](l[g(375)](lt,g(243),{message:$,code:an[g(258)+g(1488)+"R"]})),this[g(739)+g(647)]?.[g(320)+g(877)+g(395)](),this[g(779)+"sCounter"]?.[g(1549)+g(696)]();return}if(v[g(487)]!==1e3&&!v[g(934)]){let L=this[g(739)+g(647)]?.[g(1208)+g(735)+"nt"]();this[g(314)+g(222)+g(971)](l.sOxQl(_t,"close",{code:v[g(487)],reason:g(680)+g(308)+g(908)+g(594)+g(573)+"ame: "+L})),this[g(739)+"tManager"]?.[g(320)+g(877)+g(395)](),this[g(779)+g(1416)]?.[g(1549)+"nter"]();return}this[g(314)+"hCloseEv"+g(971)](v),this._endpointManager?.resetEndpointConfig(),this[g(779)+g(1416)]?.resetCounter()},this[s(803)]=null,this[s(907)]=null,this[s(1302)+"e"]=null,this[s(648)]=null,this["onStartR"+s(906)]=null,this[s(566)+s(1568)]=null,this[s(386)+s(897)+s(1377)+"ct"]=null,this[s(958)+s(1350)]=this[s(958)+s(1350)][s(1300)](this),this[s(958)+s(1103)]=this[s(958)+s(1103)][s(1300)](this),this[s(481)+s(883)]=this[s(481)+"ageHide"][s(1300)](this),this[s(481)+s(1126)]=this[s(481)+s(1126)][s(1300)](this),this._options={url:"",automaticOpen:!0,initReconnectInterval:1e3,maxReconnectInterval:1e4,reconnectIntervalGrowFactor:2,timeoutInterval:5e3,maxRetries:5,debug:!1,maxMessageQueueLength:e[s(854)](1,0),service:0,logIDGenerator:o,headers:void 0,payloadEncoding:"",payloadType:"",fpID:"",deviceID:"",accessKey:"",ttwID:"",bddID:"",aID:"",disableAutoReconnect:!1,customParams:{},pingInterval:15e3,pingTimeoutInterval:4e3,pingFrequency:"auto",pingLossCount:2,enableTransformTextPayload:!1,logIDNewConfig:{enableAutoGenerateLogIDNew:!1,userIp:""},miniProgramParams:{customHttpHeader:{}},enableAutoAck:!1,reconnectInterceptor:()=>!0,enableQoS:!1,QoSLevel:2,messageStrategy:e[s(1602)],env:{xTTEnv:"",xUseEnv:""},listenNetworkChanged:!0};let{url:h,ws:m}=r,E=Array[s(1348)](h)?h:e[s(1260)](e[s(435)],typeof h)?[h]:[];if(!E||e[s(368)](0,E.length))throw new Error(e[s(740)]);if(!eg(m))throw new Error(s(396)+s(1547)+s(266)+s(1366)+s(785)+s(1341)+s(1437)+"ined");Object[s(677)](this[s(434)],r),this[s(739)+s(647)]=new ml(E,this[s(434)][s(1304)+"es"]),this[s(779)+s(1416)]=new rg(this[s(434)][s(399)+"Count"]),this[s(434)].automaticOpen&&(this[s(364)]=!0,this[s(694)]()),this[s(434)][s(973)+s(556)+s(1480)]&&(this[s(1137)+"T"]||this[s(1415)+"X"]?this._onPageNetWorkChange():this._isBrowser&&this[s(667)+s(1101)+s(970)]())}[t(958)+t(1350)](){let r=t;this[r(434)]["disableA"+r(715)+r(1506)]||this["_readyCl"+r(558)]||this[r(671)+r(906)]()}_handleOffLine(){let r=t;this["_destroy"+r(1313)+"t"]();let s=e.vUEMN(ba,r(424)+"t",{message:e[r(603)]});this[r(386)+"mediatel"+r(1377)+"ct"]&&this[r(386)+r(897)+r(1377)+"ct"](s)}["_initGlo"+t(1101)+"Listener"](){let r=t;this[r(1314)+"er"]&&window[r(870)+r(970)](e[r(961)],this["_handleO"+r(1350)]),this[r(1314)+"er"]&&window[r(870)+r(970)](e[r(444)],this[r(958)+r(1103)]),this[r(1314)+"er"]&&window["addEvent"+r(970)](e[r(1512)],this[r(481)+r(883)]),this[r(1314)+"er"]&&window["addEvent"+r(970)](e.OETPz,this[r(481)+r(1126)])}[t(607)+t(1101)+t(970)](){let r=t;if(e[r(1373)](r(483),r(1583))){if(this[r(434)][r(452)+r(715)+r(1506)]||this[r(250)+"osed"])return;this[r(671)+"econnect"]()}else this[r(1314)+"er"]&&window[r(984)+"entListe"+r(673)](e.vjmxe,this[r(958)+r(1350)]),this[r(1314)+"er"]&&window[r(984)+r(1346)+r(673)](e.GNGGP,this["_handleO"+r(1103)]),this[r(1314)+"er"]&&window["removeEv"+r(1346)+r(673)](e[r(1512)],this[r(481)+r(883)]),this[r(1314)+"er"]&&window["removeEv"+r(1346)+r(673)](r(701),this[r(481)+r(1126)])}[t(481)+t(883)](r){let s=t;!r[s(1180)+"d"]&&(this[s(1314)+"er"]&&window[s(984)+s(1346)+"ner"](e[s(1512)],this[s(481)+"ageHide"]),this[s(1314)+"er"]&&window[s(984)+"entListe"+s(673)](s(701),this[s(481)+s(1126)]),this.close()),this[s(1314)+"er"]&&window[s(984)+s(1346)+s(673)](e[s(961)],this["_handleO"+s(1350)]),this[s(1314)+"er"]&&window[s(984)+"entListe"+s(673)](e[s(444)],this[s(958)+s(1103)])}["_handleP"+t(1126)](r){let s=t;r[s(1180)+"d"]&&(this[s(216)+s(786)]()&&(!this[s(582)]||e.btZQB(this[s(582)][s(311)+"te"],this[s(248)])||e[s(1358)](this[s(582)][s(311)+"te"],this[s(1472)+"NG"]))&&this[s(958)+s(1350)](),this[s(1314)+"er"]&&window["addEvent"+s(970)](e[s(961)],this[s(958)+"nLine"]),this[s(1314)+"er"]&&window[s(870)+s(970)](s(254),this[s(958)+s(1103)]))}async[t(669)+"eUrl"](r){let s=t,{fpID:l,deviceID:h,bddID:m,ttwID:E,accessKey:v,aID:g,customParams:k={},enableAutoAck:L,enableQoS:F,QoSLevel:$,env:V}=this[s(434)],te,Ne,Gt;this[s(1314)+"er"]||this[s(1415)+"X"]||this[s(1137)+"T"]?e[s(1010)](e[s(1250)],"Pdqcr")?(te=location&&e[s(660)](e[s(1322)],location[s(1256)])?s(412):e.yZlol,Ne=r[s(882)](/((^ws)|(^http))((?:[s]*:\/\/))/,""),Gt=/^wss(.*:\/\/)/.test(r)?r:""+te+Ne):(this[s(779)+s(1416)]?.addCount(),this.emit(s(1342)+"e_timeout",e[s(1329)]),this[s(779)+s(1416)]?.[s(1145)+s(1173)+"nt"]()?this[s(671)+s(906)]():this._ping()):(te=e.fOUmN,Ne=r[s(882)](/(^http)((?:[s]*:\/\/))/,""),Gt=/(^ws)((?:[s]*:\/\/))/[s(1008)](Ne)?Ne:""+te+Ne);let Al=m?e[s(440)]:E?e[s(988)]:e[s(982)],kl=m||E||h;if(e.Xhibe(!kl,!Al))throw new Error("please provide b"+s(702)+s(813)+s(867));let Mg=e[s(778)](e.vwWpu,typeof k)?await k():k,Bg=V?e.lMxyX(ng,V[s(834)],V[s(657)]):{},Ra=Object.assign({device_platform:s(1433),version_code:e[s(985)],access_key:v,fpid:l,aid:g,[Al]:kl,xsack:L?1:0,xaack:L?1:0,xsqos:F?1:0,qos_level:F?$:void 0,qos_sdk_version:2,...Bg},Mg),Fg=Object[s(538)](Ra).reduce((Pa,Ca)=>Ra[Ca]!==void 0?""+Pa+(Pa?"&":"?")+Ca+"="+Ra[Ca]:Pa,"");return Gt+s(920)+Fg}async _connect(){let r=t;if(!(this["_connect"+r(709)]||this[r(250)+r(558)])){this[r(694)+r(709)]=!0;try{let s=this[r(739)+r(647)]?.[r(856)+r(1318)+r(527)+r(977)+r(1124)](),{timeoutInterval:l}=this[r(434)];if(s){let m=this[r(739)+r(647)]?.["getCurre"+r(735)+"nt"](),E=this[r(739)+r(647)]?.["replaceB"+r(1557)+r(1178)+r(1172)+r(362)](),v=this[r(739)+r(647)]?.["getCurre"+r(735)+r(836)+r(987)]();if(E){let g="connect "+m+(" timeout"+r(1112)+"tries re"+r(1108)+"ill use "+r(275)+r(613))+E+(r(1625)+"y"),k=e[r(798)](lt,e[r(586)],{message:g,code:an[r(258)+r(1488)+"R"]});this[r(896)](g),this[r(314)+r(1251)+r(971)](k),this[r(1276)]=await this[r(669)+r(1382)](E),this[r(896)](r(1524)+E+" "+v+" times"),this[r(1315)+r(341)+"rs"]()}else{let g=r(1524)+m+(r(290)+r(1112)+r(220)+"ached");this[r(896)](g),this["_dispatc"+r(1251)+r(971)](e.YpxZX(lt,e.JnLRZ,{message:g,code:an[r(258)+r(1488)+"R"]}));return}}else{let m=this["_endpoin"+r(647)]?.[r(1208)+r(735)+r(439)+"ateCount"](),E=this["_endpoin"+r(647)]?.[r(1208)+r(735)+"ntTriesC"+r(987)]();this[r(1276)]=await this[r(669)+r(1382)](e[r(725)](m,"")),this[r(896)](r(1524)+m+" "+E+r(757)),this[r(1315)+r(341)+"rs"]()}if(this._isInit)this[r(364)]=!1;else{let m=ba(e.JtJtT,{message:e[r(1491)]});this[r(633)+r(906)]&&this["onStartR"+r(906)](m)}let h=this._endpointManager?.[r(1208)+r(735)+r(836)+r(987)]()||0;h>1&&await this[r(337)](e[r(1149)](h,1)),this[r(896)](r(680)+r(409)+this[r(1276)]+(r(524)+"ls: ")+this[r(915)+"ls"]),this[r(582)]=e[r(1324)](Qp,{url:this[r(1276)],protocols:[this._protocols],headers:this[r(434)][r(1434)+r(1176)+"s"][r(1594)+"tpHeader"]},this[r(434)].ws),(this[r(1314)+"er"]||this._isWorker)&&this[r(582)]&&(this[r(582)][r(599)+"pe"]=this[r(580)+r(1027)]),this._addWsListeners(),this[r(694)+"ionTimeoutId"]=e.wQuuK(setTimeout,this[r(762)+"ut"][r(1300)](this),l)}catch(s){throw this[r(694)+r(709)]=!1,s}}}["_clearTi"+t(329)](){let r=t;clearTimeout(this[r(694)+"ionTimeo"+r(1079)]),this[r(694)+r(1471)+"utId"]=null}[t(705)+t(504)](){let r=t,s={atGJK:function(l,h,m){return e.Xbtnr(l,h,m)}};if(e[r(1373)](e[r(454)],r(806)))return new _0x1f5562(l=>{let h=r;s[h(727)](_0x14338c,l,this["_getInte"+h(1353)+"e"](_0x82d094))});clearTimeout(this[r(460)+r(1538)+"Id"]),e.DxxGf(clearTimeout,this[r(546)+r(426)+"tId"]),this["_pingPon"+r(1538)+"Id"]=null,this[r(546)+"ctTimeou"+r(1154)]=null}[t(896)](...r){let s=t;this[s(434)][s(466)]&&console.log[s(1255)](console,[e[s(251)],...r])}[t(218)+t(1353)+"e"](r){let s=t;if(e.TaPZP(e.bXVnM,e[s(1071)])){let{initReconnectInterval:l,maxReconnectInterval:h,reconnectIntervalGrowFactor:m}=this._options,E=e[s(321)](l,Math[s(1202)](m,r-1));return e.XVbxC(E,h)?h:E}else e[s(868)](_0x2970ff,this[s(460)+s(1538)+"Id"]),_0x42fc44(this[s(546)+"ctTimeoutId"]),this["_pingPon"+s(1538)+"Id"]=null,this[s(546)+s(426)+"tId"]=null}[t(1570)](){let r=t;if(this[r(582)]&&e[r(703)](this[r(582)][r(311)+"te"],this[r(1472)+"NG"])){this[r(705)+r(504)](),this[r(460)+r(1538)+"Id"]=setTimeout(this[r(1570)].bind(this),this[r(434)][r(1559)+"rval"]);return}if(!this[r(582)]||e[r(691)](this[r(582)][r(311)+"te"],this[r(248)]))return void this._handleReconnect();this[r(582)]&&this._ws.send("hi"),this[r(546)+r(426)+r(1154)]=e.bnNJk(setTimeout,this["_handleR"+r(906)+"Timeout"][r(1300)](this),this[r(434)][r(730)+"outInterval"])}[t(671)+t(906)+t(1495)](){let r=t;this[r(779)+r(1416)]?.[r(370)](),this.emit(e[r(1619)],e[r(1329)]),this["_pingLos"+r(1416)]?.["checkRea"+r(1173)+"nt"]()?this._handleReconnect():this._ping()}[t(216)+t(786)](){let r=t;return this._isMiniTT||this[r(1415)+"X"]?this[r(1244)+r(473)+r(255)]:(this[r(1314)+"er"]||this._isWorker)&&this[r(434)][r(973)+r(556)+"nged"]?navigator.onLine:!0}[t(671)+t(906)](){let r=t;!this[r(216)+r(786)]()||this[r(250)+r(558)]||(this[r(739)+r(647)]?.[r(320)+"pointCon"+r(395)](),this._pingLossCounter?.[r(1549)+r(696)](),this._ws?this[r(465)+"ect"](1001,r(816)+r(382)+"reconnec"+r(388)+r(1175),!0):this[r(694)]())}[t(214)+t(1536)+t(343)](){let r=t;this._isMiniTT?tt[r(759)+r(1296)+"hange"](({isConnected:s})=>{let l=r;this["_miniNav"+l(473)+"line"]=s,s?this["_handleO"+l(1350)]():this["_handleO"+l(1103)]()}):this[r(1415)+"X"]&&wx["onNetworkStatusC"+r(1306)](({isConnected:s})=>{let l=r;this[l(1244)+l(473)+l(255)]=s,s?this[l(958)+"nLine"]():this[l(958)+l(1103)]()})}[t(337)](r){let s={toHvc:function(l,h,m){return e[W(1587)](l,h,m)}};return new Promise(l=>{let h=W;s[h(1089)](setTimeout,l,this[h(218)+h(1353)+"e"](r))})}[t(465)+t(698)](r=1e3,s="",l=!1){let h=t;this[h(582)]&&this[h(1604)+"WebSocket"](r,s,l)}[t(762)+"ut"](){let r=t,s=this["_endpoin"+r(647)]?.["getCurre"+r(735)+"nt"]();this[r(896)](r(1524)+s+r(290)),this[r(465)+r(698)](1001,r(1007)+r(1158)+r(1640)+"g",!0)}_sendAck(r){let s=t,l=e[s(1558)](Ut,r);this._ws&&e[s(1337)](this._ws[s(311)+"te"],this.OPEN)&&(this[s(582)]&&this[s(582)][s(914)](l),this[s(896)](e.mRfJL,r))}[t(1315)+t(341)+"rs"](){let r=t;this[r(582)]&&(this[r(582)][r(984)+r(1346)+"ner"](e[r(228)],this[r(1458)]),this[r(582)][r(984)+"entListener"](e[r(1209)],this._onClose),this[r(582)]["removeEv"+r(1346)+"ner"](e[r(1181)],this[r(829)+"ge"]),this[r(582)][r(984)+r(1346)+r(673)](r(243),this._onError))}["_addWsLi"+t(636)](){let r=t;this[r(582)]&&(this[r(582)][r(870)+r(970)](e[r(228)],this[r(1458)]),this[r(582)]["addEvent"+r(970)](e[r(1209)],this._onClose),this[r(582)][r(870)+"Listener"](r(927),this._onMessage),this._ws[r(870)+r(970)](e[r(586)],this._onError))}["_wsInsta"+t(872)](r=1e3,s=""){let l=t;if(e.qsgkQ(e[l(1608)],e[l(683)]))try{e[l(824)](l(728),l(1584))?(_0x9650c0=l(412),_0x370417=_0x8ef04b[l(882)](/(^http)((?:[s]*:\/\/))/,""),_0x5be8b3=/(^ws)((?:[s]*:\/\/))/.test(_0xb9a02f)?_0x2b5e62:""+_0x485829+_0x23a4b0):this[l(582)]&&this[l(582)][l(632)](r,s)}catch{}else try{this[l(1274)]?.[l(632)](),this[l(1274)]=void 0}catch(h){_0xeebab4.log(h)}}["_destroy"+t(1313)+"t"](r=1e3,s="",l=!1){let h=t;if(this[h(705)+h(504)](),this[h(1229)+h(329)](),this[h(1315)+h(341)+"rs"](),this["_wsInsta"+h(872)](1e3,s),this[h(694)+h(709)]=!1,l&&this[h(216)+h(786)]()&&!this[h(250)+h(558)]){if(this[h(739)+h(647)]?.[h(1145)+h(346)+"es"]()){let E=this[h(739)+"tManager"]?.["getCurre"+h(735)+"nt"]();this[h(314)+h(222)+h(971)](e[h(547)](_t,e[h(1209)],{code:1006,reason:"connect "+E+(h(290)+h(1112)+h(220)+"ached"),wasClean:!0}))}else if(e.pecmy(e[h(458)],e.NavRZ)){let E=this._options["reconnec"+h(1039)+"ptor"](r,s);this[h(314)+"hCloseEv"+h(971)](e[h(901)](_t,e[h(1209)],{code:r,reason:s,wasClean:!0,willReconnect:E})),E&&this[h(694)]()}else{let E=e[h(955)](_0x49db75.low,0),v=e[h(312)](e.GyQIi(e.EJfgo(_0x3f1fa3.low,28),_0x3ee0a1.high<<4),0),g=e[h(567)](_0x5f247e[h(1066)],24),k=e.uYCxP(0,g)?v===0?e[h(1037)](E,16384)?e[h(318)](E,128)?1:2:e[h(398)](E,2097152)?3:4:v<16384?e.mkxMv(v,128)?5:6:e[h(1085)](v,2097152)?7:8:e.dlnMV(g,128)?9:10,L=e[h(1444)](_0x1b91ca,_0x17dd45,k),F=_0x3d1ab2.bytes;switch(k){case 10:F[e.EBsji(L,9)]=e[h(451)](e.HllrS(g,7),1);case 9:F[e.XjIjy(L,8)]=e.FUXhN(9,k)?e[h(278)](128,g):127&g;case 8:F[e[h(1642)](L,7)]=e.IqHhJ(8,k)?e[h(911)](v,21)|128:e[h(1307)](v>>>21,127);case 7:F[e[h(588)](L,6)]=k!==7?e[h(1204)](v,14)|128:e[h(495)](e[h(615)](v,14),127);case 6:F[L+5]=e[h(1489)](6,k)?e[h(980)](e.DqgLo(v,7),128):e.hPmBy(v>>>7,127);case 5:F[L+4]=e[h(1429)](5,k)?128|v:127&v;case 4:F[e.rJjuy(L,3)]=e.aLRzy(4,k)?e[h(336)](e[h(1479)](E,21),128):e[h(1193)](e.eEiyL(E,21),127);case 3:F[L+2]=e[h(1167)](3,k)?e[h(1098)](e.ycxsY(E,14),128):e[h(777)](E>>>14,127);case 2:F[L+1]=e[h(501)](2,k)?e[h(1511)](e[h(1605)](E,7),128):e[h(1430)](e[h(799)](E,7),127);case 1:F[L]=e[h(861)](1,k)?e[h(1564)](128,E):e.rKduz(127,E)}}return}this[h(216)+h(786)]()||this[h(250)+h(558)]?this[h(314)+h(222)+"ent"](e[h(1054)](_t,e.OvGKI,{code:r,reason:e[h(1048)]})):this[h(314)+h(222)+h(971)](_t(e[h(1209)],{code:1006,reason:e.DFShT})),this[h(582)]=null,this[h(739)+h(647)]?.["resetEndpointCon"+h(395)](),this[h(779)+"sCounter"]?.[h(1549)+h(696)]()}[t(314)+"hOpenEvent"](r){let s=t;this[s(912)](e[s(228)],r),this[s(648)]&&this[s(648)](r)}[t(314)+t(1105)+t(1003)](r){let s=t;this.emit(e[s(1181)],r),this[s(1302)+"e"]&&this.onmessage(r)}[t(314)+t(480)+t(333)](r){let s=t;if(e.BUpyP("mmhqc",e[s(1270)]))return this._ws?this[s(582)][s(599)+"pe"]:this[s(580)+s(1027)];this[s(912)](e[s(437)],r),this[s(566)+s(1568)]&&this[s(566)+s(1568)](r)}[t(314)+t(1251)+t(971)](r){let s=t;this.emit(e[s(586)],r),this[s(907)]&&this[s(907)](r)}[t(314)+"hCloseEv"+t(971)](r){let s=t;this[s(912)](e.OvGKI,r),this.onclose&&this[s(803)](r)}get[t(599)+"pe"](){let r=t,s={jJDNU:function(l,h){return e[W(1186)](l,h)}};if(e[r(1001)](e[r(259)],r(488)))return this[r(582)]?this[r(582)].binaryType:this["_binaryT"+r(1027)];{let l=this[r(1274)][r(1151)+"geInfoSync"](this[r(357)]),h=_0x2c8fa2[r(1269)](APvGzy[r(976)](l,"{}"));return _0x4c8dce[r(538)](h)}}set binaryType(r){let s=t;e[s(1427)](e[s(1563)],e.cFiOo)?(this[s(1244)+s(473)+"line"]=_0x1d9231,_0x164234?this[s(958)+"nLine"]():this[s(958)+s(1103)]()):(this[s(580)+s(1027)]=r,this._ws&&(this[s(582)][s(599)+"pe"]=r))}get retryCount(){let r=t;if(e[r(842)]===e[r(708)]){let s=("2|1|5|6|9|10|0|7"+r(1135)).split("|"),l=0;for(;;){switch(s[l++]){case"0":_0x52e4d9[r(1242)](r(1502)+r(361),_0x1d1a53);continue;case"1":_0x41df7d=e[r(532)](_0x3bd1df,0,_0x7a5d97,_0x4beb6c);continue;case"2":_0x1255c6[r(1242)](e.RfwUp,_0x2de6a1,_0x2059b5[r(1056)]);continue;case"3":_0x5ed641=_0x1c302d(_0x40a03f[r(326)+"er"](_0x4f0ed1.cursor||_0x5e126c),_0x48eeba,_0x40d0e7);continue;case"4":_0x43ce9a[r(1242)](e[r(948)],_0x531f96);continue;case"5":_0x253bb4[r(1242)](e[r(1078)],_0x4331dd);continue;case"6":_0x1efa79=e[r(643)](_0x22bf92,_0x4dacd9,_0x38572d,_0x1c7297[r(1056)]||0);continue;case"7":_0x3dd3d8=e.SDvwM(_0x51d1b7,_0x5c2e43["cursor_n"+r(359)],_0x5e7136,_0x12ac70);continue;case"8":_0x292df0.log(e.fVfVf,_0x59422b);continue;case"9":_0x283be6[r(1242)](e[r(822)],_0xac5387);continue;case"10":_0x3a6f31=e[r(1253)](_0x111799,_0x152bd6[_0x578e6b[r(684)+"ame"]],_0x1ab2a3,_0x47c04a);continue}break}}else return this[r(739)+r(647)]?.["getCurre"+r(735)+r(836)+r(987)]()||0}get[t(864)+t(1291)](){let r=t;return this[r(442)+r(1203)].reduce((l,h)=>(l+=h&&h[r(875)+"th"]||0,l),0)+(this._ws?this[r(582)]["buffered"+r(1291)]:0)}get[t(534)+"ns"](){let r=t;return this[r(582)]?this._ws[r(534)+"ns"]:""}get[t(1256)](){let r=t;return this[r(582)]?this[r(582)][r(1256)]:""}get[t(311)+"te"](){let r=t;return this[r(582)]?this[r(582)][r(311)+"te"]:this[r(434)][r(1609)+"cOpen"]?this[r(1472)+"NG"]:this[r(536)]}get url(){let r=t;return this[r(582)]?this[r(582)].url:this._url}[t(632)](r=1e3,s){let l=t;if(this["_readyCl"+l(558)]=!0,this[l(1229)+l(329)](),this["_clearPi"+l(504)](),this[l(607)+l(1101)+"Listener"](),this[l(548)+l(1061)]?.[l(1565)](),!this[l(582)])return void this[l(896)](e[l(1012)]);if(e[l(373)](this[l(582)][l(311)+"te"],this.CLOSED)||this[l(582)][l(311)+"te"]===this[l(817)])return void this[l(896)](e[l(1231)]);this[l(1604)+l(1313)+"t"](r,s)}async[t(914)](r,s){let l=t;if(e[l(1260)](null,r))throw new Error(e[l(1139)]);e[l(686)]==typeof r&&(r=JSON[l(590)+"y"](r)),e[l(435)]!=typeof r&&!e[l(1106)](r,ArrayBuffer)&&!(r[l(529)]&&r[l(529)]instanceof ArrayBuffer)&&(r=JSON[l(590)+"y"](r));let h=await e.lRHNQ(bl,r),m=e[l(1298)](tg,r),{method:E=0,service:v=this[l(434)][l(1056)],logID:g=this[l(434)][l(261)+l(550)](),headers:k=this[l(434)][l(1159)],payloadEncoding:L=this[l(434)][l(1218)+"ncoding"],payloadType:F=this._options[l(257)+l(1027)],logIDNew:$=this[l(434)]["logIDNew"+l(441)][l(542)+l(252)+l(1323)+"ew"]?e.RMdIQ(i,this[l(434)]["logIDNew"+l(441)][l(1582)]):""}=e[l(1186)](s,{});if(!v)throw new Error(e.qVmJT);let V={SeqID:xe[l(326)+"er"](this._seqId++),LogID:xe[l(326)+"er"](g),service:v,method:E,headers:k,payloadEncoding:e[l(672)](L,Object)?L[l(1047)]?L[l(1047)]:"":L,payloadType:e[l(1361)](F,Object)?F[l(449)]?F[l(449)]:m:F||m,payload:h,LogIDNew:$},te=e[l(1084)](Ut,V);return this[l(582)]&&e[l(978)](this[l(582)].readyState,this[l(248)])?(this[l(582)]&&this._ws[l(914)](te),this._debug(e.tDxzt,V)):e[l(1080)](this["_message"+l(1203)].length,this[l(434)][l(354)+"geQueueL"+l(1031)])?(this[l(442)+"Queue"][l(1130)](te),this[l(896)](e[l(1115)],V)):(this[l(442)+l(1203)][l(1372)](),this["_message"+l(1203)].push(te)),{seqID:this[l(551)],logID:g,logIDNew:$}}async[t(424)+"t"](r){let s=t,{url:l}=r||{},h=Array[s(1348)](l)?l:e[s(435)]==typeof l?[l]:[];r&&Object.assign(this[s(434)],r),h&&h[s(576)]?this[s(739)+s(647)]=new ml(h,this[s(434)][s(1304)+"es"]):this[s(739)+"tManager"]?.[s(320)+s(877)+s(395)](),this[s(779)+s(1416)]?.[s(1549)+"nter"](this[s(434)][s(399)+s(1092)]),this["_readyCl"+s(558)]=!1,this[s(582)]&&this._ws[s(311)+"te"]!==this[s(536)]?this[s(465)+s(698)](1e3,e.XIIEU,!0):(this[s(364)]=!0,this[s(694)]())}async connect(){let r=t;if(!this[r(694)+r(709)]){let s=(r(894)+"0")[r(418)]("|"),l=0;for(;;){switch(s[l++]){case"0":this[r(694)]();continue;case"1":this["_readyCl"+r(558)]=!1;continue;case"2":this[r(779)+r(1416)]?.[r(1549)+r(696)]();continue;case"3":this[r(364)]=!0;continue;case"4":this[r(739)+r(647)]?.[r(320)+r(877)+r(395)]();continue}break}}}[t(870)+t(970)](r,s){this.on(r,s)}["dispatch"+t(1003)](r){let s=t;if(e[s(944)](e[s(1539)],e[s(1380)])){let l=e[s(246)][s(418)]("|"),h=0;for(;;){switch(l[h++]){case"0":_0x2bdea4[_0x1b2372[e.XlSbg]=5005]=s(570)+"OR";continue;case"1":_0x5c23fa[_0x4b1425[s(258)+s(1488)+"R"]=5003]=e[s(1545)];continue;case"2":_0xead9be[_0xedc945[e.YoHpE]=5002]=e[s(878)];continue;case"3":_0x1a0763[_0x49e237[e.eXqRT]=5004]=e.eXqRT;continue;case"4":return _0x36421f;case"5":_0x992ccf[_0x136aaa[e.PQyhU]=5001]=s(1258)+s(737);continue}break}}else{let{type:l}=r;this[s(912)](l,r)}}[t(984)+t(1346)+t(673)](r,s){this[t(1622)](r,s)}[t(1360)](){let r=t,s={uigWw:function(l,h){return e[W(1252)](l,h)},jkeRC:e.ZlriH,hNzYn:r(1342)+r(584)+"s",mBsdI:"ping_onc"+r(664)+"t",esDwX:r(1552),oNxqO:function(l,h){return l(h)}};return new Promise((l,h)=>{let m=r;this[m(705)+m(504)](),this[m(460)+m(1538)+"Id"]=e.LZKfK(setTimeout,this[m(1570)].bind(this),this[m(434)]["pingInte"+m(1331)]);let E=()=>{let g=m;s[g(1023)](l,s.jkeRC),this[g(1622)](s[g(282)],E),this.off(s.mBsdI,v)},v=()=>{let g=m,k={kuNxA:function(L,F){return L*F}};if(g(1544)===s[g(1118)]){let L=new _0x34abcc(rSqKiZ[g(629)](2,_0x5406e0));L[g(697)](_0x2b1e8a),_0x23affa[g(763)]=L}else s[g(519)](h,g(1182)),this[g(1622)](s.hNzYn,E),this[g(1622)](s[g(1340)],v)};this.on(e.WXAtA,E),this.on(m(1342)+m(664)+"t",v),this[m(1570)]()})}}})(),Fe["CustomCl"+M(1450)]=Ce["CustomCl"+M(1450)],Fe[M(1113)+M(996)]=Ce[M(1113)+"rorEvent"],Fe.ErrorCode=Ce[M(706)+"e"],Fe.Event=Ce.Event,Fe[M(1540)]=Ce[M(1540)],Fe[M(804)+M(575)+M(1284)]=Ce[M(804)+M(575)+M(1284)],Fe[M(575)+M(1284)]=Ce[M(575)+"vent"],Fe.OpenEvent=Ce.OpenEvent,Fe[M(1183)+"tEvent"]=Ce["Reconnec"+M(876)],Fe[M(600)+M(1450)]=Ce[M(600)+M(1450)],Fe.createErrorEvent=Ce[M(957)+M(996)],Fe[M(511)+M(1334)+"nt"]=Ce[M(511)+M(1334)+"nt"],Fe[M(1523)+M(383)]=Ce[M(1523)+M(383)],Fe[M(1440)+"connectE"+M(1284)]=Ce[M(1440)+M(1475)+M(1284)],Fe[M(1535)+"rame"]=Ce[M(1535)+M(515)],Fe[M(1275)+"ame"]=Ce.encodeFrame;for(Xo in Ce)[M(253)+M(1450),M(1113)+M(996),M(706)+"e",M(1003),"FWS",M(804)+M(575)+M(1284),M(575)+"vent",M(1221)+"t",M(1183)+M(876),M(600)+M(1450),"createErrorEvent","createMessageEvent",M(1523)+"enEvent",M(1440)+"connectEvent",M(1535)+"rame",M(1275)+M(359)][M(585)](Xo)===-1&&(Fe[Xo]=Ce[Xo]);var Xo;Object[M(820)+M(1368)](Fe,M(285)+"le",{value:!0});function ia(){let t=["BgPABeW","v2vIu29JA2u","x2LZqNjVD3m","x3jLBw92zvC","Bg16q04","svvSwgq","CMvUDevUzha","rgrwuwO","uw9bqKS","C3vIC3rYAw4","vK5YqKq","DgvmB2Djre4","u3ncvxa","uxzIzLu","DMfSDwu","wwHJyxe","wez1re0","AeHUCNa","C0nnC1e","CNzHBa","qwL3A0e","v0Tgvvm","C3nHz2vfDMu","ugHhwe0","vhfNvxa","qLvktMG","C1ncrNu","CMvJzxzPzwq","BujZzeK","Dhj1y3rVCIa","CgLUz19VBMm","rhHtwfa","EurTqxO","ignVzgu6ia","zw50tgLZDgu","x29UrxjYB3i","AxnbCNjHEq","swHdCLO","BKXPBMu","Aw5UBKC","ueflwM4","CNzHBfzHBhu","Dw5RBM93BIa","vNzVCxu","CvDbzM0","D0z4qMO","DKzXuLi","zgvSzxrLrge","CgLUz09Uy2u","t0zsvMG","z0LmDvm","Dg9VigXHCMC","Cun1wMm","BM5Ly3q","lcbxzwjtB2m","C2v0q3vYC28","B3bLCNr5","CMvZDwX0","BMvLzf9Hy2S","EwnXq1O","C2HPzNq","Bvf1s3i","DwvmwMq","C3zqzvK","z2v0s2v5","EvjLy29UBMu","u29Htey","ExPREMy","ELfOs3y","D3jPDgvvAw4","zvvYBa","we5ICNO","A3voBNm","qxPvuM4","tK1LBLi","v1rqENm","txj3CuG","B25pCgvU","zw5XDwv1zq","tMrcu0e","yvPADva","sgvquKO","Ef9MCM9UDgK","CvruBKG","z3zlshm","DvfKshG","Be5PrK0","Aw5xsNm","zfrguMm","C2DPza","pxv0zI04","t1z4B2y","B2z4wwC","quXm","v21Xz1y","t3LbELO","Dgnltgq","zNjVBuj5Dgu","C3HKBwW","Eu9RBLe","Bw9xzKe","B2nRzxrtDwm","zuXqzgi","x2LZtwLUAvC","C0nVDw50zxi","x0rctMfTzq","zMLSzw5HBwu","qLvUreC","z2v0","AxLIEMG","u3nSBMW","reDWwNq","zgfTrfC","Ec1TC2CTCw8","mdaWmdaWmda","u09ku2W","uMvHzcbWyxm","zLjHvuW","wejezMu","Aw5L","yxbWzw5Kq2G","D2vI","BwLUAvbYB2C","CNr4Egu","BeHHBMrSzxi","AxmGDw5Kzwy","ign1CNnVCIa","r0DWwvm","y3jLyxrLuMu","vKvKveC","CNjVCK1LC3m","u013t3u","sNHbANm","wKTJwM4","vu9kuhO","mtvgzw5Usva","x194x21Zz18","vKz2zwy","B3nLrxzLBNq","uNLwAM0","y29UDgv4Da","ihzHBgLKihm","q09AyMK","DxjS","y0DlAvO","z2v0q3vYC28","x29Ut3bLBG","B2zMC2v0","ANzJBxe","BwfW","yxnL","mhW0","wur1AfO","yM9KEq","z2vjBMzVu3K","rNnyqKC","igfYCMf5yNu","t1zvEu0","s3LwveK","Aw9UvgLTzw8","q09otKvdveK","yxrLq291BNq","uwrpEgq","y29UBMvJDeu","yMPKrui","rgvKAwnHDgu","zxmGCMvHy2G","zuvPEuW","BMDLza","zNjHBwvuExa","AwfmEw8","s3bPy1y","wg1Lwg0","CMnICvm","t2jQzwn0","y2f0y2G","suvtx0vsuK8","ANjjsuS","CM9ZBNG","sKziy0e","BNDeDMK","ELvNswC","wMrSEe8","vgLTzw91Da","zMvY","ELrsyNK","mtqZodbfsgHeAgO","Dw5KzwzPBMu","sxbXqMm","icSG","C2vYDMLJzs0","Bu1zEKe","zw9gz0y","Cgu6ia","BMvJDa","qKLQrNa","ENDutg4","AMLdDeu","DgfUD2C","yMPwzvG","vgjfuu4","yNbtswK","EgXXuei","y3jLyxrLt2i","Bvf2EKG","y1rRDwW","x2LUAxrqCM8","EfPZuKS","BuPhzgC","v1DLvMO","D1jtCLy","y3jLyxrLt3a","y29UBMvJDca","BNnJA1K","zNrHwKO","uMvMvei","qMLjsNO","DMfSDwvZ","z2nwteO","ugX0DhO","sfn3q3C","BNbHswO","y2vZC0HHBMq","zgvJB2rLzey","zxrxB3jRq2G","su5tvefova","z1rPBwvVDxq","DKDQExe","rLDt","y29TCgXLDgu","B2nRzxq","zMzLCG","qxftq00","y3PUugu","tw9KDwXL","CM92AwrLihC","yxnmBLu","CMvZzxrdB3u","zhL3r2S","BMnVzgLUzW","v0n0vfi","D1DiBwy","mZCZntyYwKH1r0Lt","CxHoyNC","y29SBM8","ywnRDxbfBMq","EuvAr0C","CgLUz0LUDgu","zM9YrwfJAa","u0r2D00","BLfwChi","shvYy3a","ALH1D0q","y2XVC2veqG","C1PSDhK","z2jqvLC","zufJAW","y29UBMvJDfm","x3bPBMC","ufr6qwq","vfriBvq","zxjFAxnFywm","yLDmBM8","CNnVCKzPBgu","zxj2AwnL","A01qwLG","ywXS","r2rtAKO","BhjKr3i","ALHvDgO","DxnLCKLW","rhDtue0","r1rfEey","Dw5nrM0","B3bLBIa","v0PyyLm","BNvTyMvY","DgD5B2G","vfn0rxC","BgrhDeK","quvOAuq","zw9Izha","y3vZDg9Tshq","CLnpy3C","Bw5uzuu","zwzZrhy","DMr4rKC","CxL5quy","zxjFDhrS","yMjkshq","Ee9LEMu","EeLls3m","x2rLC3rYB3K","vgDVtvK","CxzYsMi","wxb4wLG","DKTqtvO","yxv0B21HDgK","x2LZtM9Kzq","u2HHCMvKv28","z1LVEha","CLvuBhu","BgLTAxq","A2zNuvK","DKD5sui","Bwu6ia","Dg9cExrLC0i","D091wuK","Cvr5Ag0","yxv0BW","B2zM","u0vLwhK","CMnbt0u","ihrVihjLDhi","whnPvLu","uwHOsLe","mNWWFdf8nhW","ywrKt25L","qNjPzgDL","DgfIyxnL","EfLYAeu","EvrMvuq","uLH1wMC","x29Uq2XVC2u","A0jLsM8","Bw1OCwm","ue9JBvG","CM92AwrLihy","B25Uzwn0Aw4","BM93","zfPyA1O","D3vJtg8","yw51Ce1LC3m","ww51vNO","A2PnuLG","Dg9Y","x29UugfNzu4","tM1Yuha","x25HDMLNyxq","zhz6ANe","x2DLDeLUDgu","vfPHvuW","DhjPzxmGCMu","DuvbuLC","AenSB3nLrxy","Bwryyvu","CejcBNa","zw5HyMXLuw8","tNHeyKm","u0LuCKC","qKXxBvK","Cenby0O","zNjVBNrPzxi","v2fxDNC","teTHtvq","Eg1iuK0","tNfjrwG","uLbYEgm","uhrrAha","uNfitMu","qK9wzei","ChL0tKi","C29Tzq","zNjVBujPDhm","teXXweG","zxjYB3i","DfrZAxO","senlqK4","zxDywu8","yMTSwuC","t1bftG","Aw1LCYbPBIa","x3jLywr5q2W","reTJsui","Dg9hzw5LCMe","q3vZDg9Tq2W","B2zMBgLUzq","BgLUzq","EKDuwxG","Cgf5Bg9Hzfq","tufyx1jfvfi","qwv4Afa","C2v0u3rVCMe","Bg9Nsurhzw4","qMXLvwW","Aw93tKi","vLPpENm","s1zLCxO","CYbWyxjHBxm","ANPuB2q","rNDqCLG","A3zSBLG","Dgv4Dc9Qyxy","DMvYC2LVBMm","r0jMswe","DgL4vee","x2LUDgvYDMe","yMfJA3vWigu","ANDSrxK","t2jUs0C","DhbHEg8","ywnOzwq","Bwf4tg9ZC0m","Cw9Zx18","Ae56ww4","C2LXwKe","A1fYvgO","x19LC01Vzhu","CwXZsva","s2XdAui","zxHWB3j0CW","t25zrMm","ihrPBwvVDxq","DgHLBG","uNrurNG","uNzMzLu","D21WAMG","teH4CfC","s2PLsxq","zw5KCg9PBNq","DxbKyxrLq3u","A2v5","zePWq3G","uLDpBKK","wfDlsKi","wK9AEfu","mtu0odK5nwver2Dksq","Chv0","zgvSzxrL","qvHdA2m","BMCGzMfPBgu","ywjVCNq","quDfy3y","CMvHzhLtDge","rfbQtKy","C2vYDMvYvgK","x2rPC3bHDgm","m3W1","BKntD3a","rKLmrv9ot1q","BwT4txy","DwvMDKC","CMvZzxrfBMq","r0D3v3u","quTSzfG","ywnRpwzYB24","u3nwAfO","mtm0nxjuzfnrvG","zNjVBu51Bwi","BwLUzW","nJG0zMv0Dxze","BwvY","x3nVy2TLDa","uen1v2O","C3rYAw5N","ywDLrxzLBNq","mxWXFdb8m3W","o2nOyxjZzxq","A2TrEfy","x3DHAxq","zxDAq1a","t3jNtKW","CMvTB3zLq2G","C0XPC3rLBMu","DeHSrLC","yw5Nzq","q09oveLovuu","tMTcDNG","y2HnyxHuCMK","tfLHs0m","Dg9cExrLCW","BML0AwfSAxO","C3vIyxjYyxK","uK1LDLq","uef1zLi","zgf0yq","Bwf4twvZC2e","C3vJy2vZCW","BNPSwvq","x3bYzwzPEa","zejqwe0","yw1L","EhDhs2S","BMfTzq","Dw50","y3vYCMvUDeu","x2LZsw5PDa","DLzes0u","Aw47y2HHCNm","nNWYFdH8oxW","BencvvO","rwTOyuK","ywrKq291BNq","zLvVqxe","rgXuANa","vuXbrNu","x2n1CNnVCK4","EM5UEvm","wfbsv1a","y2XVC2uSihC","u01KsNm","rg5nqw4","tuDVsfa","Du9Yugq","yxKSihrYEsa","zw5fDMvUDa","AK5KuxC","B1flEeG","B25tDg9Wsw0","rMnouee","DgLUzYbZzxi","yNL0zu9MzNm","s2fxrK0","vgfN","CuPYywC","DcbSAw1PDa","B3jLtMfTzxm","zMLN","CgXLyxnLiha","zxntr0q","u0PUqLq","CgLUz0XVC3m","Dgv4Dc9WBge","rLrpyw8","AxLXree","qLbrvgC","qLDqq2y","CxjhEMi","rM9AvfC","r2jytge","rvzhBwO","BMCGDxjSoIa","thrPyKu","qK9Wufe","D3nZoI8V","Dgv4DfbHEwW","BezSDxnO","vNLWDhe","vuTbBu0","yxfjuhG","C3bSAxq","Cvrcr0u","t2TwDu0","otu0odm3D3HQu25h","B3fItey","C2nYAxb0","CMvJB25Uzwm","yNnZzKy","y3ruAw1LB3u","rMDXBxK","B3jRzxjhBg8","tNHYBgi","reiGzMfPBgu","B3bLBG","y0H3BMS","C3jJ","x29WDgLVBNm","vNPSAu8","BxnNsuq","r0fSA1i","D2fZq2XLyw4","BNrbBMrvCgq","tKzWt2m","q29UzMLN","x21LC3nHz2u","x2LZv29YA2u","r05hr1a","sKXUr3q","yxGGCMv0CMK","uwTXB00","B29Mq3i","DhLWzq","zejpz3q","CuzXuM0","zgLZywjSzue","uxDNBMy","t2DNwxa","ELHPALu","BMHfwvi","EufpAum","tMf2uLO","D2r6yLq","x3bPBMDqB24","vMzWs1e","tu12D0m","wffUvwy","yM5osMS","x2rPC2nVBM4","zgvIDwC","zfj3vKm","zuHuy3C","Aw5JBhvKzxm","D2Xzuhu","EefWBeW","ug9ru2G","AwDHDg9Yt24","A3LYwLq","BKDVDMm","twLZC2LUzYa","yuXsENK","zM9Yy2u","tLvLBwW","AefJA01LC3m","x2HHBMrSzva","EerSCKS","seXuAve","y0DVzwW","vezwyMu","s1fXz1y","y29Kzq","DMvSEeG","zK1IBe0","y29Uy2f0","D3DsA2C","rMLNBva","AxDYCMS","igXHCMDLCIa","AM5KEwi","qK5Vvxu","sMDLDKW","ru9wBLC","reLNy1y","BwLZzq","uu9Nrvq","C29YDa","yMzvsee","BMDuAw1LCG","B2nRzxrgywK","CMfUzg9T","rNfnyLK","DLfkAei","A3jWBLC","qMLUyu8","y3jLyxrLtwu","y3vYCMvUDeK","wMLjy2u","u09KBLy","CMfTzq","yNjcDMq","rgnyDvG","EwrtCKC","B054Cu8","AgvHzgvY","AwXLx25HBwu","tuD6wKK","AfLUveq","ihbYB3rVy28","uxHNDM8","vKnsALe","B2LUDfjLywm","CNnVCL92ywW","yNvMzMvY","BfPQswi","x3bHDgHlzxK","wunpvuq","uLb4s2O","zxH0zw5ZAw8","Bwv0Ag9K","q0Xpu0ve","B2jQzwn0u3q","A2v5CW","C2v0zgi","zxjFBxnNAwq","D1f1DuS","zw5HyMXLqxu","zg1YEeS","v0frEey","CLPPEhy","x3jLy29UBMu","CMj3zva","x1fVu01HBMe","vKLYvhi","zxjHDg9Y","x3nLCuLK","mZm0otaZmLjZr2POwa","ENjMtw0","tKDFrvjst1i","ugDervK","DhDVCMTdAge","vw5PBxbSzw0","B3nLza","B25dBg9Zzq","t0vuuhO","CgfNzwHPzgu","tfHmCeC","CxnNA1e","yMrFzgLK","ywr2yw5Jzq","B25szwnLAxy","tgzoy2u","vKTrufi","zM1Xu0q","t1bftL9fuLi","CNPWwvO","BwvZ","BIWGAg9ZDg4","CLzHBhvLCW","twvZC2fNzuu","BgvUz3rO","u0vptK4","vLHXtxu","r1v5zKW","x2jPBMfYEvq","wgvmwfG","x3DZ","BMLqqwS","zv9ZDwnJzxm","Aw5KzxHpzG","sM5muLO","u2TWsLy","r1rZy1O","Eg9tr3O","C3rYAw5NAwy","ndu1ndrXrwrXCLq","Bhz4Cw4","q29Kzq","D24GCMvHC28","yxrHlcbKyxq","Dhz0rha","yMDIAfO","AwXK","yMLUyxj5vhK","y3jLyxrLq2W","zMnguhG","qw9YzLy","t1jkt0G","txfstw8","vuP0vxK","vvnpugq","x2rYB3bhBg8","tvzeCxi","Ahr0Ca","DgT6yNi","B3bLBKrc","DvbRANC","BMrWB2LUDca","r2fMC3u","r0zQueO","ChDnEe4","ChrKBhC","B1beEgu","y1jWrwy","ywWGy3vYC28","y3r4","AwHnuKK","ru9ms0u","BM9Uzv9UB24","CwjMwhC","y2uGBM90igK","uK9Oqwe","ENb3uu0","A3voEee","we5sBMC","qwn0v28","y2XVC2u","B25tDgfYDfi","yxKSig5LDhC","sKn4zvm","C3rLBMvYCW","sg5lAhC","rLjptLrjrvi","AKPzCNq","mhW0Fdf8m3W","zvbQt3O","AfLLsfG","reLTww0","CMvXDwLYzwq","y29UC3rYDwm","rvH6zNO","De1HBMfNzxi","B25VCgvU","BxnN","Ec11C2uT","qLjYy2e","tM9VBwm","D09OBMK","yw5Hz2vY","serMzfG","B25fCNjVCG","Efrurw52","r1HmALe","B3rcrNy","CKjHExm","ywXPzcb1CMW","ihjLy29UBMu","EwTSsLy","zv90Aw1LB3u","sLzhAg0","Bg93","x2LUAxrhBg8","CLPYvxa","x2DLBMvYyxq","zxjYtxnN","x2HHBMrSzvi","wLL4uuW","BMvY","BgnzB2G","qxD6sK0","DhDbEfq","yxnZAwDU","qvnjtLq","mtC3ntK5mJbuzff1u2q","y29UBMvJDgK","ywX3yxLZ","EM56weC","AMzQtge","y3vYC29Yx24","v2LUzg93","u0jpCgS","wNHQwvi","ru5Vy3m","wxD2v24","y21qD2G","AxfKANe","yMfSu2nVCgu","yNHsEKe","x2nVBM5Ly3q","AwrI","BNrLCG","C2v0","zwn0","C2vUDa","wxrAveO","CgfNzxnOB3C","zgrjrcWGzgu","sNLdwuC","ChfLt2K","x2nSzwfYugK","rxjYB3jdB2q","y3vYC29Y","CNbkv1a","tg9JAW","BgvY","EfLMyui","BfncyuC","vM5huxm","EurdDhG","DxrVuMvJB24","terqC1i","nxW0Fdj8mhW","Bw1zA1u","Buzetwe","BMCGB3iGyw4","AgfZ","vfzHzuy","ALD1yKC","zwvKzwq","wwH6v2e","A2fTBey","yxrhsKS","rhnkEe0","r3z2y2G","CgLUz1rPBwu","Awzrs3K","Aw5PDcbrB1m","AxnrB1nby2S","sxfiAeO","BNrfBMrWB2K","ywrK","uLjpuG","ihzHBgLKigq","x2vUzhbVAw4","EK5mr0q","y0fRC2C","C1rwB2G","swfvAMe","Bg5YzNy","t2vOBMq","BMv4DcGPigm","wMLdv1y","DujRtg8","DhjHBNnHy3q","svjerK8","ANz1ug4","igzHAwWSig0","zMrMs2C","ve5XzKW","v2nYuhy","B3fRuMW","ihrPBwvZ","x2fKzfDZtgK","B25ozxr3B3i","Dvn4wwu","rLLXvwy","x29UvgLTzw8","yNL0zxm","zLLWC3q","zNjztMq","wefgsfC","DhfOAxm","CMLLC0nVDw4","twX1Egq","C2fNzq","DgLLCKPtt04","AerlA2W","wMXYAuG","AMrhANC","CKTAyvi","wg1hC24","wxr3CLi","CLPOu2q","x3bPBMDmB3m","zg9Uzq","sgPRve4","BezxENu","uuDTuNO","A0jWCLO","A2v0ignVBNm","B3jpBMXPBMu","Axnby2TdBgu","zMzzvLC","zw5Ps1K","x2nYzwf0zvm","ywXSzwqGBxu","zMXVB3i","tg9NsurozxC","s0rWtMS","BhjcExC","sgjvEMy","ze5Jvfu","wNfqt3i","u291zeu","lcbOB3n0BMe","CwHZEKW","uejUvxC","B25JBg9Zzq","rNjVBNrPzxi","thHsqNy","vgHSCgq","CMfNzvn5BMm","tKXSAvi","C01ovwy","y3nVA1O","zKDAqNu","zNjVBuHHC2G","DMLJzuLeig8","zcWG","tMfTzq","z29PBMCGyxC","q0Xpu0LorW","B01ns2W","AxnFywnR","zgvMAw5Luhi","Cu1Xrxe","rMjfBuK","x2LUAxq","zfzUAeq","zsbHihn0CMK","AMvJDfn0B3i","BLPSCfC","zuTIvuq","x29UtwvZC2e","C0Xf","rhbdt0S","vfDwt3C","s1LUA0q","EfvZzuvUDG","yNzbC1C","BNruCMLLC0m","sevmrfq","x2n1CNnVCKy","A3z1ENm","C3rVCcbPBw0","ugDjuxy","z2DKANy","y3jLyxrLrwW","DgHHBIbSB2m","AvzsDe4","ANDIBgS","u2TPCcbWyxm","AvfOz2C","wfLbqMC","ChjVDg90Exa","rerny3O","zNjVBunOyxi","vgXptg0","A2LdrvG","yMDjzey","y2HLy2TdDxi","uhLQq3e","u2vXsuq","C1LiCuy","Bfnsufa","y0jtquK","CMvKDwnL","sMrsvuq","yNvMzMvYzwq","tLjYAKe","uuLlsfy","CIb0DhDjra","CLDisMW","txjLrgm","ywrKrxzLBNq","ywXSB2nvBNm","BMnLq2XVC2u","z3nqtxy","EgflENe","yNL0zuXLBMC","Dev2zw50","Cg9PBNrdB24","ww9iCeu","wvzvEgK","uM9YtMS","vgHJvvC","CMvWBgfJzq","ywDLsgLKzq","vKLtEuG","yNLL","vgnXwu4","B3jRig9MzMW","CMTLCKDSB2i","uhjPBwfYEuS","y2HHCKnVzgu","shDYq0W","BNLOzKW","AKzer0C","nhWYFdf8m3W","A05ACxa","x2rLyNvN","BwvKAwf0zwW","r1Hrufa","z25jr0W","AgfZt3DUuhi","rg90C3C","teXMCu0","ve9msvy","z1LkD1e","zMLUza","zwnVBM5Ly3q","B25LCNjVCG","zcWGDw5RBM8","jMPZy2fSBgi","igzPzwXKoIa","A0foy0q","zw1PDa","t0jwuvK","C2vUza","x3bYB3rVy28","Dg9mB3DLCKm","wNPiD20","wfHVEKm","sLPqBwy","l3DZl3yY","CNnVCL9Uyw0","sgHJEuG","y2XLyxi","wuPMv24","wuv0uMq","z2v0t3DUuhi","BwvZC2fNzq","DvLRtfe","r3fIqLi","zKTOwuC","B1zkzuy","z2PLu2u","AgPXzMm","CMvHC29U","wNvttgi","re1bswu","sffYswS","AxnAzxjV","ywjXDvG","yMLUyxj5","yufuD04","tfHjsxO","DK1RtNy","wMDvwve","wLf5tLG","vw5Oyw5KBgu","B3bLCNr5tMe","tgDQz00","yw5ZzM9YBvq","BKrcvgG","zgvS","Dg9iyxnO","y291BNq","C3rVCMu","rhfNtg8","CLjeAhG","y3jLyxrLrxi","x2HHBMrSzu8","AxnmB25N","yNvztNq","DMPTEgu","y2fSBa","qKLnqNO","svvgC24","yLDjAwe","C3rHCNq","y3v3vvK","CuXWtxK","ywDL","tgLZDgvUzxi","zw50","tuvtu0fhrv8","BgLZDgvUtMu","y3vYDMfSDwu","u0vZvgC","AKPetLu","AgvKtwf4uMu","sNPTs1K","EhvMsLe","yNPkrue","rxHzs0C","AKnvtxO","Bw9rB0K","CMvTB3zLrxy","rffLA00","DgfYz2v0","B3vUDa","tNfiu28","ALnvCK4","x2n1CNnVCK0","qvP6C3O","aaaaaaaaaaa","sMnXt3G","BfrPBwvVDxq","qwjVCNrfCNi","CM9YrxzLBNq","Ec1TC2CTy3u","qwrdyKq","v0viy3m","BMrLEa","twPNvve","A1nssKe","rxzLBNq","qLfZDuG","AMvQBfO","tg9VsNm","DgLTzw91DcW","DgvZDa","tg9Nsuq","ANnRCvi","Cwf3DMG","teTou3u","AxnrB1nnzxm","D3jPDgu","yw1LoIa","AM9PBG","ALPAsKe","ugrXy3i","C3bSAwnL","vvn6sgW","y3vYC29YlNm","yNrAuui","DwLNv3C","rejUzvO","wg5Mq2i","AvLnCLy","ExbL","zuPszuC","swvyAfe","y09nqxm","zw5NDgG","wwrss0K","ue5HA0W","vgfZue4","mhWY","EvH3vMC","wKTUr3y","Cw9vzu4","DeLUDgvYy2u","CKXRrMK","wvHRA2m","AxjLza","s3PrBNa","uhjMCwS","z2v0qwXSs2u","whbNu2G","zw5JB2rPBMC","uxniEvC","ChrVCG","q0Dxtfu","CMLnCwS","DwH5ze4","CgjICdi","u0TAswG","zMX1C2HfEha","C2vYDMLJzq","sKPgzMi","v2TkuK8","twXfsK8","uKnvu0y","z2vY","A0veBgu","C0jf","vendr24","v1HbDee","AgLNAa","r0fUzgG","B3jL","BeLes24","AwXLtMfTzq","ExLqzNm","v3LkCKO","DMLrvhC","u3DiEg0","z2v0qwXS","ywnRtxnNswq","vKHjrhC","y21Mwfe","Dxrjza","B0rIswG","rxDPDMm","yxjYyxLIDwy","vuPtANm","z3PiBwG","C2TlwMu","BLnYsMW","CMvJzwL2zwq","s3DQrvu","Dg9iDMm","zeXhwvq","zMTIDNC","q291BNq","vMHwvxe","r2DLu1G","AxnszwfKEq","vu1er0i","zxjFywnRx20","r0vWqMK","CMvZB2X2zq","D2vOtKe","yMfSrxzLBNq","wMXRCxe","zMzmAw5L","vhjHzfq","Ae1LC3nHz2u","v3jgA3u","AvvAC2K","ywnOzwqSihC","yM5SCfK","DK96Avm","ywzL","lcbTyxGGCMu","q3vZDg9Trxi","BMrWB2LUDfq","DuPXvMq","AvLNyLG","s0fUBhC","zxneD1G","mhW1Fdj8m3W","Dg9cExrLC0W","Dg9tDhjPBMC","z3b2D3e","BMv3vMvYC2K","DhjPzxm","AeTowwi","ywDLu2HVDW","yvbzqwG","Ew9VBfG","zNvUy3rPB24","ChvZAa","Aw9U","y29UDgLUDwu","A1DWz2O","zKXZvuO","Fdr8m3W4","EeDqv3O","x2LZtwLUAvq","veLutKe","vurXy24","mtb8nhW1Fde","zw1LBNq","z2vtEw5J","vMjpqNC","C2v0sxrLBq","y2HLy2Tszwe","zxf1ywXZ","rxvOALa","v1zzvue","Efv2wu0","BxzwAeS","z2v0u3rVCMe","q1vSr28","sgXSCLm","DeLK","nNWXFdq","vwr6rNm","DwfhyuC","ihrYEsbYzwm","AgvHzgvYCW","x2zVCM1HDeu","CMvHzfvjBNq","ywnR","yMXVy2TLza","svzuA2S","mdaWma","z1PTz2m","tenvyu4","vwLHAu0","t2DRAKm","yxbWBgLJyxq","x2TLEvbHDgG","vxbKyxrLq28","y2HnyxHdB3u","yxzmDg8","DMvY","CMfTugfYyw0","qKfzBKO","Cg9PBNrbBMq","EeTbzM0","CgvYC2LZDgu","BKLxreq","DgLTzw91Da","uMvJB25Uzwm","BhrPCgXLihq","uLP1AMi","rLnIz2u","tKrgwgS","CxfSvvC","DhjPBq","wgXtyMC","AvzptNm","D1jyD2W","ChbKELi","qxjcuwK","Aw5N","BwvZC2fNztO","ig1LC3nHz2u","CM92AwrLige","qunNEey","rhH4r2y","zgv2AwnLx2K","Cg93","uxvLDwu","BMDSs0S","Ahr0Chm6","BxrIDLO","Cg9W","z2v0q3vYCMu","t3zhs0K","AeLSqMm","BKD3rKK","DNrVywO","sLnptLa","ze93s3y","sgL4v2e","vw1Jufm","uuroEeW","Cgf5Bg9Hzeu","AhbOzxK","DMvYC2LVBG","t3bLBKv2zw4","C1j1s2W","zxjYtM8","EgLIAgm","yKDvuwu","Cwj5u28","zMLSDgvY","DK9kr1C","x2nSzwfYvgK","u2vYDMLJzvC","BgLbB2G","Efrur1G","C2vUzf9Hy2S","Cu5vzgO","Bgztsvq","CK1uuvK","t3H0zfC","rxzSBvm","swjRsxK","CKTKDxO","wvrYvwi","Bg9N","Aw9Ul2PZB24","x21PBMLoyxy","wMvJAvi","u3DSB3a","z2v0sxrLBq","B2nvsgS","venYzK4","CKr5vMG","AevYCM9Yrxy","teDYA0i","DMf3DwK","EwL2Bxi","yxbWBhK","ChjVDg9JB2W","y1HRyvy","tKfusvzfx0u","EwHIEuq","DwjpC2i","rvDJq2y","zw5HyMXLvhi","B2fK","C2XPy2u","DxvIzwm","Cgf5Bg9Hza","C0nRwxa","q2fnEwe","CgfYC2u","sLvUDLe","ihn1y2nLC3m","CLD0vwC","y2Lpz0q","x3fVC0rc","zw5JB2rLrNi","x3vYBa","AgHyDem","tNvuz1C","Dw5ZAwDUzwq","D2LSBfjLy28","CMvZzxruCMK","id4G","u3rYyxrLz3K","DMvUDa","whDWr1C","rvjst1i","qw5gBLG","x2rItMfTzq","u3vJAeK","AxH4BeG","qw1VDw50","twz2uxC","ExHcCfi","B2XKvMvYC2K","CNnZquu","A1n0yxr1C0m","uff5Afu","Bg1sCfy","r0j6tue","yMLUza","u0jxsNe","B25TzxnZywC","CwXvt2O","Bwf4uMv0CMK","yNf3qxe","AgfUz2u","qLn4ufe","v21ey2y","x2XPC3rLBMu","yw1Lu3bHy2u","EsbJBg9Zzwq"];return ia=function(){return t},ia()}});import{existsSync as YS,openSync as ZS}from"node:fs";import{mkdir as XS}from"node:fs/promises";import{dirname as QS}from"node:path";import{fileURLToPath as e1}from"node:url";function n1(t,e){return e==="legacy"?t.logFile:t.daemonStdioLog}function Jd(t=Y()){return YS(t.libEntry)?t.libEntry:e1(new URL("../index.ts",import.meta.url))}async function cp(t={}){let e=t.paths??Y(),n=t.entryOverride??Jd(e),i=n1(e,process.env.COZE_BRIDGE_LOG_MODE);await XS(QS(i),{recursive:!0});let o=ZS(i,"a"),d=n.endsWith(".ts")?["--import","tsx/esm",n,"--daemon"]:[n,"--daemon"],u=st(process.execPath,d,{detached:!0,stdio:["ignore",o,o],env:{...process.env,[cs]:"1"}});if(u.unref(),typeof u.pid!="number")throw new Error("failed to spawn daemon (no pid)");return t1.info("daemon spawned",{pid:u.pid,entry:n}),{pid:u.pid,entry:n}}var t1,cs,da=nt(()=>{"use strict";Zt();ne();Re();t1=G("spawn-daemon"),cs="COZE_BRIDGE_DAEMON"});import{spawn as Q1}from"node:child_process";import{mkdir as e2,unlink as t2,writeFile as n2}from"node:fs/promises";import{dirname as r2,join as i2}from"node:path";function Zr(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function s2(t){if(!t)return"";let e=Object.entries(t).map(([n,i])=>` <key>${Zr(n)}</key>
|
|
21
|
-
<string>${
|
|
20
|
+
`+n)}function sr(t,e,n,i,o,c){if(t.listenerCount("wsClientError")){let d=new Error(o);Error.captureStackTrace(d,sr),t.emit("wsClientError",d,n,e)}else ls(n,i,o,c)}});var rp=ce(Be=>{"use strict";var L=K;(function(t,e){let n=K,i=t();for(;;)try{if(-parseInt(n(1808))/1*(parseInt(n(1818))/2)+parseInt(n(678))/3*(parseInt(n(916))/4)+-parseInt(n(902))/5*(-parseInt(n(1514))/6)+-parseInt(n(1561))/7+parseInt(n(1689))/8*(parseInt(n(386))/9)+-parseInt(n(1863))/10+-parseInt(n(1847))/11===e)break;i.push(i.shift())}catch{i.push(i.shift())}})(la,303609);var _S=Object[L(1737)+L(423)],yS=Object[L(1794)+L(1492)+L(1409)],Xx=(t,e)=>function(){return t&&(e=(0,t[{IBieV:function(c,d){return c(d)}}[L(1522)](yS,t)[0]])(t=0)),e},bS=(t,e)=>{let n=L,i={gklHL:function(c,d,u,h){return c(d,u,h)}};for(var o in e)i[n(1531)](_S,t,o,{get:e[o],enumerable:!0})};function ES(){return $x||($x=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function vS(){let t=L;return Vx||(Vx=[IDBCursor[t(632)+"e"][t(509)],IDBCursor.prototype.continue,IDBCursor[t(632)+"e"][t(1494)+t(1115)+"ey"]])}function SS(t){let e=L,n={ATLUC:function(o,c){return o>c},PeOkj:function(o,c){return o|c},cuNqt:function(o,c){return o&c},BnHlA:function(o,c){return o|c},UtGjr:function(o,c){return o|c},IfsXm:function(o,c){return o!==c},jQXHW:e(1261),UfHth:function(o,c){return o(c)},AmHIH:"XGTlc",ocUxR:function(o){return o()},qfoYA:e(974),gPANs:function(o,c){return o instanceof c},VVtqn:e(720)},i=new Promise((o,c)=>{let d=e,u={LMWxT:function(m,v){return m instanceof v},rkwOW:function(m,v){return m===v},jDvqt:d(479),ylpAG:n.AmHIH,CqkjT:function(m){return n[d(1848)](m)}},h=()=>{let m=d,v={hqwyc:function(_,y){return n[K(1590)](_,y)},zAJHk:function(_,y){return _<y},KkipI:function(_,y){return _&y},mWGlR:function(_,y){return _>>>y},IALzA:function(_,y){return _<<y},ENmFc:function(_,y){return n.PeOkj(_,y)},exJMP:function(_,y){return n[K(1570)](_,y)},eyrsR:function(_,y){return _<<y},jPDqq:function(_,y){return _&y},GqlXx:function(_,y){return n[K(725)](_,y)},HGyyl:function(_,y){return _&y},xFSXA:function(_,y){return _<y},dSqop:function(_,y){return n.UtGjr(_,y)}};if(n.IfsXm("pSRfy",m(1724))){let _=(m(1850)+m(930)+"6|10|0|11")[m(1279)]("|"),y=0;for(;;){switch(_[y++]){case"0":if(v[m(1741)](_0x4a65ba+=5,_0x420bfe[m(582)]))throw _0x253785=_0x5029d9[m(582)],_0x27a710(_0x2e4442,10,_0x1bddc0.length);continue;case"1":if(v[m(931)](_0x44728b[_0x17c7fb++],128))return{value:_0x377a55?_0x3bf5c2:0|_0x3d9ced,offset:_0x4625b9};continue;case"2":_0x4f93a6=v.KkipI(127,_0x4cb2c7[_0x3c000d])>>>0;continue;case"3":_0x5f3cc5=v.mWGlR(_0x1fb468|v[m(965)](127&_0x1b2e3b[_0x1cd9a1],14),0);continue;case"4":if(v[m(931)](_0x43a292[_0x5d289d++],128))return{value:_0x3f1ecb?_0x3bf726:0|_0x504f71,offset:_0x560f8c};continue;case"5":_0x23ffd8=v[m(1584)](v[m(1254)](_0x209ef0,v.IALzA(v.exJMP(127,_0x2288bf[_0x17de1d]),7)),0);continue;case"6":_0x2e035a=(_0x582380|v.eyrsR(v[m(658)](15,_0x560c8f[_0x5c6e3e]),28))>>>0;continue;case"7":if(v[m(931)](_0x5ed04d[_0x18760a++],128))return{value:_0x2e3928?_0x3db3af:v[m(1254)](0,_0x225a84),offset:_0x503be1};continue;case"8":_0x224919=v[m(668)](_0x5631f4,v.HGyyl(127,_0x42cf23[_0x46e093])<<21)>>>0;continue;case"9":if(v.xFSXA(_0x1500de[_0x280046++],128))return{value:_0x44cf8b?_0x311fda:0|_0x203644,offset:_0x39546d};continue;case"10":if(_0xc4dfd4[_0x2f2e23++]<128)return{value:_0x11231b?_0x4add76:v[m(894)](0,_0x11b881),offset:_0x56cb6e};continue;case"11":return{value:_0x546f2d?_0x26625:0|_0x38b0b0,offset:_0x422f1c}}break}}else t[m(1763)+m(1285)+"ner"](n[m(1856)],x),t[m(1763)+m(1285)+"ner"](m(974),p)},x=()=>{let m=d;n.UfHth(o,n.UfHth(Ht,t[m(1546)])),h()},p=()=>{let m=d;u[m(1106)](u.jDvqt,u.ylpAG)?u[m(1260)](_0x2b27db,_0x62e77d)&&_0x465791[m(1633)](_0x34c1ad,_0x4d1829):(c(t.error),u[m(1116)](h))};t[d(496)+"Listener"](n[d(1856)],x),t[d(496)+d(1760)](n[d(1592)],p)});return i[e(1547)](o=>{let c=e;n[c(788)](o,IDBCursor)&&(n[c(618)](n.VVtqn,c(720))?this._options[c(706)]&&_0xe763ef[c(769)][c(462)](_0x5ab7d7,[c(900)+">",..._0x1e5cdd]):Jd[c(1633)](o,t))})[e(826)](()=>{}),ca[e(1633)](i,t),i}function IS(t){let e=L,n={tWwjb:function(o,c){return o!==c},RATEv:"OpZbz",rsohj:function(o){return o()},scVrc:function(o){return o()},WoKoa:e(974),mkuNc:"abort",cAejn:e(1035)};if(aa.has(t))return;let i=new Promise((o,c)=>{let d=e,u={jEdcY:"complete",ZcPeW:n[d(590)],lgrrb:n.mkuNc},h=()=>{let m=d;t[m(1763)+m(1285)+m(922)](u.jEdcY,x),t[m(1763)+m(1285)+m(922)](u[m(508)],p),t[m(1763)+"entListe"+m(922)](u[m(1727)],p)},x=()=>{let m=d;n[m(962)](m(866),n[m(558)])?this[m(395)+"T"]||this[m(795)+"X"]?this[m(850)+"etWorkChange"]():this[m(1553)+"er"]&&this[m(1604)+"balEvent"+m(1760)]():(n[m(801)](o),h())},p=()=>{let m=d;c(t[m(974)]||new DOMException("AbortError",m(1441)+"or")),n[m(1709)](h)};t["addEvent"+d(1760)](n[d(464)],x),t[d(496)+d(1760)](n.WoKoa,p),t[d(496)+"Listener"](d(546),p)});aa[e(1633)](t,i)}function AS(t){da={Fzscg:function(i,o){return i(o)}}[L(1605)](t,da)}function kS(t){let e=L,n={gUQbr:function(i,o){return i(o)},EVIBf:function(i,o){return i(o)},RpDtx:function(i,o){return i===o},cHRzJ:function(i,o){return i in o},kLrbS:"objectSt"+e(1448),CBkCx:function(i){return i()},ioqqP:e(1389),WNnti:e(1295)};return n[e(1453)](t,IDBDatabase[e(632)+"e"][e(1058)+e(1791)])&&!n[e(1150)](n[e(1654)],IDBTransaction.prototype)?function(i,...o){let c=e,d=t[c(1688)](n[c(1262)](us,this),i,...o);return Vd[c(1633)](d,i[c(1392)]?i[c(1392)]():[i]),n[c(1262)](Ht,d)}:n[e(903)](vS)[e(790)](t)?n.RpDtx(n[e(840)],n.WNnti)?new _0x57d9c2(_0x38cb63,{data:_0x221a43,message:_0x5471d8}):function(...i){let o=e;return t.apply(us(this),i),n.gUQbr(Ht,Jd[o(1351)](this))}:function(...i){let o=e;return n[o(634)](Ht,t[o(462)](n[o(1262)](us,this),i))}}function TS(t){let e=L,n={coneW:function(i,o){return i===o},bmpmn:e(1316),Ykfrh:function(i,o){return i(o)},Ngxlj:function(i,o){return i(o)},xWodL:function(i,o,c){return i(o,c)},icyws:function(i){return i()}};return n[e(535)](typeof t,n.bmpmn)?n[e(1067)](kS,t):(t instanceof IDBTransaction&&n[e(1550)](IS,t),n[e(1750)](Qx,t,n[e(611)](ES))?new Proxy(t,da):t)}function Ht(t){let e=L,n={zhHgJ:function(o,c){return o instanceof c},ECxuB:function(o,c){return o(c)},QFhNr:function(o,c){return o!==c}};if(n.zhHgJ(t,IDBRequest))return n.ECxuB(SS,t);if(sa.has(t))return sa.get(t);let i=TS(t);return n[e(1014)](i,t)&&(sa[e(1633)](t,i),ca.set(i,t)),i}var Qx,$x,Vx,Jd,aa,Vd,sa,ca,da,us,Jx=Xx({"node_modules/idb/build/wrap-idb-value.js"(){let t=L,e={qTIWd:function(n,i){return n instanceof i},xASDK:function(n,i){return n===i},YXJCP:t(914),mRiwY:function(n,i){return n===i},dKVCq:t(1744)+t(1448),tHYOH:function(n,i){return n===i},fMCFc:function(n,i){return n(i)},OJfKf:function(n,i){return n instanceof i},zBNox:function(n,i){return n===i},sPoOD:function(n,i){return n===i},cakMS:t(1400),rLflT:function(n,i){return n in i}};Qx=(n,i)=>i[t(709)](o=>n instanceof o),Jd=new WeakMap,aa=new WeakMap,Vd=new WeakMap,sa=new WeakMap,ca=new WeakMap,da={get(n,i,o){let c=t;if(e.qTIWd(n,IDBTransaction)){if(e[c(580)](i,e[c(1352)]))return aa[c(1351)](n);if(e[c(1232)](i,e[c(468)]))return n[c(1744)+c(1448)]||Vd.get(n);if(e[c(1109)](i,c(1790)))return o["objectSt"+c(1448)][1]?void 0:o[c(1744)+c(1048)](o.objectStoreNames[0])}return e[c(1728)](Ht,n[i])},set(n,i,o){return n[i]=o,!0},has(n,i){let o=t,c={EFqeh:o(463)};if(e[o(1755)](n,IDBTransaction)&&(e[o(520)](i,o(914))||e[o(1109)](i,o(1790)))){if(e.sPoOD("fphuk",e[o(1540)]))return!0;this[o(1629)](c.EFqeh,_0x4ca2ed),this[o(1556)+"e"]&&this[o(1556)+"e"](_0x11bf68)}return e[o(980)](i,n)}},us=n=>ca[t(1351)](n)}}),ep={};bS(ep,{deleteDB:()=>CS,openDB:()=>PS,unwrap:()=>us,wrap:()=>Ht});function PS(t,e,{blocked:n,upgrade:i,blocking:o,terminated:c}={}){let d=L,u={ZFFGW:function(p,m){return p(m)},UIZfm:d(824),Tsthl:d(1776)+"hange",hvhJi:function(p,m){return p!==m},aEcjW:d(1191),tGlGt:"upgraden"+d(680),WRdfr:d(716)},h=indexedDB[d(1495)](t,e),x=Ht(h);return i&&(u[d(982)](d(1528),u[d(1723)])?h["addEvent"+d(1760)](u.tGlGt,p=>{let m=d;i(u[m(620)](Ht,h.result),p.oldVersion,p.newVersion,Ht(h[m(1058)+m(1791)]))}):(this[d(1202)+"s"]=_0x3a6880,this[d(1581)+"es"]=_0x2dc972,this["currentI"+d(1445)]=0,this["currentE"+d(990)+d(1819)+"t"]=0)),n&&h[d(496)+"Listener"](u[d(1442)],()=>n()),x[d(1547)](p=>{let m=d;c&&p[m(496)+"Listener"](u[m(446)],()=>c()),o&&p[m(496)+m(1760)](u[m(1132)],()=>o())})[d(826)](()=>{}),x}function K(t,e){t=t-379;let n=la(),i=n[t];if(K.dXEJPU===void 0){var o=function(h){let x="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=",p="",m="";for(let v=0,_,y,I=0;y=h.charAt(I++);~y&&(_=v%4?_*64+y:y,v++%4)?p+=String.fromCharCode(255&_>>(-2*v&6)):0)y=x.indexOf(y);for(let v=0,_=p.length;v<_;v++)m+="%"+("00"+p.charCodeAt(v).toString(16)).slice(-2);return decodeURIComponent(m)};K.ApqKeb=o,K.DgmlTV={},K.dXEJPU=!0}let c=n[0],d=t+c,u=K.DgmlTV[d];return u?i=u:(i=K.ApqKeb(i),K.DgmlTV[d]=i),i}function CS(t,{blocked:e}={}){let n=L,i={cZmNH:n(716),NjRzy:function(c,d){return c(d)}},o=indexedDB["deleteDa"+n(1268)](t);return e&&o["addEvent"+n(1760)](i[n(1816)],()=>e()),i[n(1073)](Ht,o)[n(1547)](()=>{})}function Zx(t,e){let n=L,i={TCDBv:"readwrite",MKfuA:"readonly",njqlg:function(h,x){return h in x},cxDUI:function(h,x){return h===x},OuvFw:function(h,x){return h!==x}};if(!(t instanceof IDBDatabase&&!i.njqlg(e,t)&&i[n(1100)](typeof e,"string")))return;if(oa[n(1351)](e))return oa[n(1351)](e);let o=e[n(809)](/FromIndex$/,""),c=i.OuvFw(e,o),d=np[n(790)](o);if(!i[n(958)](o,(c?IDBIndex:IDBObjectStore)[n(632)+"e"])||!(d||tp[n(790)](o)))return;let u=async function(h,...x){let p=n,m=this[p(1058)+p(1791)](h,d?i[p(704)]:i[p(895)]),v=m[p(1790)];return c&&(v=v[p(538)](x[p(1282)]())),(await Promise[p(505)]([v[o](...x),d&&m[p(914)]]))[0]};return oa[n(1633)](e,u),u}var tp,np,oa,RS=Xx({"node_modules/idb/build/index.js"(){let t=L,e={eFGpN:t(1351),jxIFM:"getKey",Tmgat:t(1673),XoBJy:function(o){return o()},VwyfJ:function(o,c){return o(c)},bSHRf:t(503),nuxYb:t(533),oPYrT:t(1838)},n=("1|2|0|5|"+t(1481))[t(1279)]("|"),i=0;for(;;){switch(n[i++]){case"0":tp=[e.eFGpN,e[t(1655)],e[t(770)],t(656)+"ys",t(499)];continue;case"1":e[t(699)](Jx);continue;case"2":e[t(699)](Jx);continue;case"3":e[t(1139)](AS,o=>({...o,get:(c,d,u)=>Zx(c,d)||o[t(1351)](c,d,u),has:(c,d)=>!!Zx(c,d)||o.has(c,d)}));continue;case"4":oa=new Map;continue;case"5":np=["put",e[t(445)],e[t(1358)],e.oPYrT];continue}break}}}),DS={idb:function(t){let e=L;t[e(1781)]=Promise[e(421)]()[e(1547)](()=>(RS(),ep))[e(1547)](function(n){return n})}},Yx={};function Ut(t){let e=L,n={TnRfw:function(u,h){return u!==h}},i=(e(392)+"0")[e(1279)]("|"),o=0;for(;;){switch(i[o++]){case"0":return c.exports;case"1":if(n[e(1312)](void 0,d))return d[e(1781)];continue;case"2":var c=Yx[t]={exports:{}};continue;case"3":DS[t](c,c[e(1781)],Ut);continue;case"4":var d=Yx[t];continue}break}}Ut.d=(t,e)=>{let n=K;for(var i in e)Ut.o(e,i)&&!Ut.o(t,i)&&Object["definePr"+n(423)](t,i,{enumerable:!0,get:e[i]})},(()=>{let t=L;Ut.o=(e,n)=>Object[t(632)+"e"]["hasOwnPr"+t(423)][t(1688)](e,n)})(),(()=>{let t=L,e={qFUsJ:function(n,i){return n!=i},kofGF:t(1851)+"d",dtiYg:t(406)+"le"};Ut.r=n=>{let i=t;e.qFUsJ(e.kofGF,typeof Symbol)&&Symbol["toString"+i(803)]&&Object[i(1737)+i(423)](n,Symbol[i(771)+"Tag"],{value:i(1785)}),Object[i(1737)+i(423)](n,e.dtiYg,{value:!0})}})();function la(){let t=["vwXIEgS","zM9Yy2u","yNL0zxm","ywnOzwq","we93B2e","y2XVC2uSihC","Ee5JCKy","ANnJseq","ue9vvM8","DcbSAw1PDa","swHNAwq","nhWXFdn8mNW","CNzHBfzHBhu","yuvJALC","CfnszNK","Afvpr2y","DenwyvC","BgDYCMi","zK1drMm","v2vIu29JA2u","wxfquNG","tLDRuMO","lcbxzwjtB2m","BMrWB2LUDca","DMfSDwvZ","yLPmvge","x3bYB3rVy28","zgvMAw5Luhi","y3jLyxrLt2i","Ahr0Chm6","AxbNt28","Ahf3Ewm","x3nLBMrby2S","icSG","B2jQzwn0u3q","q3vZDg9Tq2W","ExvPDfm","Cw9gCMq","zw1Ps3K","zfbwCgy","EfDVzeW","rNjVBNrPzxi","s0PXvM0","vfzjug8","EfPWsNe","t0PMs2y","ChjVDg9JB2W","Bg93","sKnkCKu","u0PdvxC","tgLZDgvUzxi","tKjltuW","De1HBMfNzxi","CMvTB3zLrxy","ww53veW","vunnrgi","zsbHihn0CMK","Egjqr00","y3z3tKC","ChvZAa","Aw5KzxHpzG","z2v0sxrLBq","zNjSwvu","z2vtEw5J","rMjYEhq","rwHHA0q","DMvYC2LVBMm","C1nyqvq","zMLN","rKrTEuK","zxvtsKe","zxHWB3j0CW","sfrJuw4","seTSvwK","B2zMBgLUzq","tw9KDwXL","uLjpuG","v0fjzhC","tfzJyLi","wfHHt24","C3rVCMu","Aw9U","x0rctMfTzq","B25VCgvU","z2v0t3DUuhi","u2TPCcbWyxm","BgLTAxq","Dw50","DMDxrMi","u1r4zvm","zxjFAxnFywm","t1z1Axa","y1bnu00","Du1OrMG","zgfPD2C","BMv4DcGPigm","CuP3wee","AfHvvvq","mJm5uvLOC0Lz","BM1hEKW","BxnNsuq","zgXMqNK","Duf2txq","uKTiq1G","uhvKC0S","z2rAzgy","y1PTtKG","q3nhDMe","mtuZnhPvqxbXra","CMLLC0nVDw4","shrWs2W","thLRC1C","AefJA01LC3m","wuTtAwC","uwr0BKC","BwfUDwfSihi","wwLbrKu","CMvQzwn0","CMPxBxK","EgH6Bfq","DhLWzq","DePTr3i","yw5Nzq","zgD2C2G","CgfYC2u","D1bODhy","EhfVtfy","DeLK","y2XLyxi","A0rivKG","BfDPrgi","rvDSyuK","qwXVquS","yxnL","seTIz2C","zMLUza","Bw9byw4","mJu3ndu3mKXwsKv1BG","B2nvEfi","BNrLCG","mNW5Fdv8mxW","Dw5KzwzPBMu","zfDVCMTLCKC","AgvKtwf4uMu","ywXty29Wzq","x29Ut3bLBG","ALfysfC","rK9jt3a","qMDIyuW","zMX1C2HfEha","C3bSAwnL","ywnOzwqSihC","Efrurw52","nZiYoteWvgjnsw5s","weLYCvu","tNv5D1i","shj4suK","yLbXzvm","uhnqDhC","DhjPBq","tuvtu0fhrv8","wKf2uvy","CLPJuwq","B2nRzxrgywK","CgLUz0LUDgu","EMz4Cuq","mte2odqZne1KCevora","DeDrBg8","AKvlDfy","ysbTDxn0igi","qLHcEha","Cgf5Bg9Hzfq","nhWXFdj8m3W","y2vZC0HHBMq","BMvLzf9Hy2S","x2LZtwLUAvq","yMrFzgLK","B2LUDfjLywm","Dgv4Dc9Qyxy","s2n1C0e","ALDIuui","ywnRDxbfBMq","tg1esMO","AMvJDfn0B3i","v2zrwgS","q09otKvdveK","x19LC01Vzhu","BfnvBw8","zufJAW","u3rYyxrLz3K","z3DNDhO","qvLptgu","C3vIC3rYAw4","x3nLCuLK","DgLUzYbZzxi","ywnRtxnNswq","x3nVy2TLDa","rNHtBMC","sxPjyLm","rvjewfu","CMvKDwnL","CMvZB2X2zq","EeDqBu8","B3bLCNr5","yvnAD3y","x2LUDgvYDMe","u2vXsuq","ug1gseK","rfH5sfO","rMjzzLO","x2jPBMfYEvq","AgLNAa","z2vrDwv1zuW","x2fKzfDZtgK","zw50zwqGDhK","x2n1CNnVCK4","igzPzwXKoIa","BMfTzq","wgDXq28","uxLyDge","uhz1vMS","uwP5zg8","rhbWs1u","ELvJyuq","vgP6C1O","yLniuMy","vuLAzM0","Dw5RBM93BIa","C3jNDxu","tMDwq3C","AgvHzgvYCW","whvXteW","tgfNvvG","zNDZxZeUmc4","DMfVBeO","uxjdu0C","y3jLyxrLuMu","wejUq1q","uwLmuLa","ChvQCMe","DuTvu00","CejtwNm","yxbWBhK","BwvZC2fNzq","y0fLAM4","B3LODg8","B25tDgfYDfi","rLnREha","zeTwq3e","Cw1iCe4","BMDuAw1LCG","BhHpwhy","C3rLBMvYCW","rK9iqwW","ExbL","D2LICxC","Aw9Ul2PZB24","CNjVCK1LC3m","t3Hczge","DwT0zfG","uwnMzg8","zgrjrcWGzgu","mdaWmdaWmda","sgzJBwO","CNnVCKzPBgu","rMHrs3y","AMrjBhq","BMP3teq","BM5Ly3q","BMfYDMq","tfzTt2K","BNvTyMvY","sgr4why","yxH4v1m","ALnOD0y","vhz5EgO","ywrKrxzLBNq","wfHztgG","DvbuEu0","y291BNq","CMvHzfvjBNq","CgvYC2LZDgu","yLn5rg4","ywrK","BfrPBwvVDxq","ywXS","CeDZuwi","ve1Wy2O","wMnqzvC","ywr2yw5Jzq","sMzoEKi","zw1Ozuq","BLLduuO","zMvAuMe","twPyzhK","ELbov24","CgLUz19VBMm","vefitNO","BfzAuMm","ANHnC0e","EKjoB3G","Bfndug0","r2fKtfK","EfPzve8","B2zM","zfvOBgC","reL3vNm","shfcvey","D2LSBfjLy28","zMzLCG","Ae96B2C","C3vIyxjYyxK","D3m6lY8","zgvSzxrL","Dg9VigXHCMC","y29UzvC","rLDt","vwLRDe4","Aw5KzxG","AeTOthm","zxmGCMvHy2G","rM1gwhu","yMLUyxj5vhK","y3vZDg9Tshq","DgvZDa","rLDTAfm","ywjVCNq","rfHyz3G","v2LUzg93","CMvTB3zLq2G","sw5Lv0K","Be1ct0m","r1LMBNq","ChbL","Cgu6ia","yM9KEq","Dhr3Awq","zgvS","uKfurxy","uNnxtgW","yxv0BW","EvrwyLO","ALzxDMO","tfLNrLq","vgLmzfi","B2zdEwq","zMzMzG","q0r4tei","CLPXAfC","EMDOue8","Be1bDKW","uvLUA3e","tg9Nsuq","sxrbChm","vMzWuwK","quPWEwG","zvfRsxK","qvLtq2y","z2fnsLq","BMnLq2XVC2u","EeftreS","zM9YrwfJAa","BgvUz3rO","m3W1Fdj8mxW","tKfusvzfx0u","Ee9Qqvq","q3f4Cum","CMvUDevUzha","u0zXDg4","CMTLCKDSB2i","v29lB2e","Cfbgvwu","tKrpu0C","rvn6Awq","qKvzsMe","ANvPrwW","x2LZv29YA2u","q0f4yvC","tLjvEfO","jMPZy2fSBgi","zwnVBM5Ly3q","qNnoDw0","ELzhAue","wMzfAKu","qML3zhK","qujMuNq","vNnstKe","B3nLza","CePnD3K","DhbizwfKzxi","BMDLza","Awn5D3m","t3vwBwK","B3roD3O","mNWWFdr8mxW","vNP1wwO","yvDizfa","ELngshC","swzZwg0","zLPkAfm","wKzgr1C","qwDZv1a","Dfj2EKm","ELD6Efu","yxKSig5LDhC","EgresKK","zxjFCw9Z","rMLsvKC","AxnrB1nby2S","DhjPzxmGCMu","zcWG","uhLlvMy","ChjVDg90Exa","v3bzyxO","rvzjqMy","sxHyse4","AKTXz2i","AwP5AfO","qwDpu3K","tvzcuxy","vxDIAhO","AM9PBG","vxzOrLe","uuDYDwO","y2HnyxHuCMK","CgLUz0XVC3m","Aw5N","zhfUDgC","B3bLBKrc","zw1LBNq","C2vYDMvYvgK","BgvY","q29hwu0","y3vYDMfSDwu","rvD1zgS","t0zAA0C","z2v0qwXSs2u","zxH0ugf5Bg8","ALbeCxe","z29PBMCGyxC","DMvUDa","B25mAw5L","z1POsgu","q29Kzq","C2vYDMLJzq","ChD3EwW","vhHyuhy","BezSDxnO","r3fSwhG","wuvXAxO","rgDLA2e","A0HZAe4","CLPnANO","z2nduNu","AefYEhO","z2v0u3rVCMe","y1Dfz2m","tefzq2S","ndi5rw1Tz1Lz","zNjHBwvuExa","zwvKzwq","x2LZsw5PDa","EMHVvNa","BNruCMLLC0m","rNHlt20","C2v0sxrLBq","y29UBMvJDeu","BNrbBMrvCgq","DujpB0m","yMHyCgy","Dffsu0C","A1vgu0G","ruv0wge","EMngCg0","su5gANC","DgTlCMy","EM1ACMS","Bwv0Ag9K","CMfUzg9T","wg9csNK","wKXzBw8","D3jPDgu","ywnRx2nVzgu","wMnbz1m","veneqNy","BxnN","zgvIDwC","EwDurgu","rNbhuu8","C29Tzq","EfvZzuvUDG","z0rhEKq","zxq9DxrMltG","vKnNDva","Dxrjza","tvvmwui","yMXVy2TLza","BwLZzq","x21LC3nHz2u","BfPTyuG","DKr1EKS","ru9WEgu","ywrKt25L","rujbBKO","ANnSzMC","qM5iBee","DeP0ENi","sLL4CMi","A3rlufy","yKjbEhC","tuDgANa","yxjhq0W","ru5ivMS","qNDWzKS","C2v0q3vYC28","CMH0wLO","zw5HyMXLuw8","t2H2vMG","D24GCMvHC28","uMvJB25Uzwm","zw5JB2rLrNi","rK1sBMC","zxrxB3jRq2G","EvvSyva","y3DSy2e","ignVzgu6ia","ihrPBwvVDxq","mNWWFdr8m3W","r2zIqwi","rxzMA2G","EeTRy04","D1fXA3q","s3zAzMq","BgzWBMG","t0LqAKy","shbkD3u","pxv0zI04","tffOuva","B25fCNjVCG","rg9fsK4","v0Dmrei","mhW1Fdf8mNW","vfjhyNC","ywDL","B3bLBIa","qu1Kr0u","qwDozNi","x2rLC3rYB3K","tuToDg0","Bg9N","vg1Nyxq","Dg9tDhjPBMC","AxD4C0K","y3ruAw1LB3u","C1jqvM0","BMnVzgLUzW","Aw9UvgLTzw8","yMn6zNi","C2v0y3vYC28","y29UC3rYDwm","EeHwy2K","CMH1yKO","D3jPDgvvAw4","AhjrBha","EKnzv00","CwzHvxK","ywnR","x3DZ","z1bbtNm","tgrPrhi","Aw5JBhvKzxm","AwPuExC","A2P6z2q","AxvotuC","C2fNzq","x2LZtwLUAvC","yLfQExa","y2HnyxHdB3u","zM96BKy","AxnmB25N","Dxbysvy","CNnVAgO","DuHXvNC","vgfN","sMPtzvK","q1zUCLy","rxzLBNq","x2nYzwf0zvm","C3rVCcbPBw0","CMvWBgfJzq","t3j2Bvy","AMXvDuO","Bgv5D0G","z2TuBgK","Cvbprxe","Ec1TC2CTCw8","DLrKtLu","zw5NDgG","ywXSq3vYC28","yxbWBgLJyxq","zuzKDwq","wK9cuxy","vwnSsLG","wNnHrLu","y2XVC2u","s2LmAwK","y2f0y2G","uMvHzcbWyxm","DMH6sKO","Dev2zw50","Aw1LCYbPBIa","vNrPuuS","BeLWsw8","CML2Cei","Bwf4tg9ZC0m","rvP2vge","Bgjdsfe","y0TKsM0","yxbWzw5Kq2G","ANHiALy","Aw9XCva","zMXVB3i","zw50","zMDAvNq","tufyx1jfvfi","y29Uy2f0","B25Uzwn0Aw4","DxvjtwS","qNjPzgDL","y3P0AhG","x29UugfNzu4","rwXOz1m","uefswgu","C2XPy2u","wvbhAuy","zv90Aw1LB3u","AvnJBeK","qMf2t0O","v01rueG","CxrQzxK","q3bVwM8","yNLQAK4","q1ncrgu","tM9vtLC","BvnkqxC","uxjOCgK","t3bAyNO","seLJBLe","ywTruwC","C1PJrxK","rwfSuuq","yMnOugm","tNPptwm","weP5zxC","vw5Oyw5KBgu","mdaWma","CM92AwrLihy","uLPYDuS","CfL4swe","Ben5AKW","AwXLx25HBwu","C3rYAw5NAwy","BwvY","rMfZzfm","EvDPDuu","vvLiCK0","Dg9cExrLC0i","y29UBMvJDca","yMDSBuW","zvvYBa","x2LUAxq","BfjMqwe","wNr5D3y","v09AyK0","zfnXB3a","tuTMDue","zxjFDhrS","y0D4sKm","lcbTyxGGCMu","lcbOB3n0BMe","rLjptLrjrvi","CMvWBgfJzui","mtiYnwfwsLv3sa","q0jRq3G","DgLTzw91DcW","zwPtDxm","C2vYDMLJzs0","zvfoB0u","Bg9NsurozxC","q3vZDg9Trxi","BgLUzq","vLHStKu","yxnZAwDU","u0Xfufu","zg9Uzq","zMLSDgvY","mtm5odHtDuLqu20","vwfOwLO","twnlAu0","Bvjkshy","sLjWDNu","z09NvNy","BMvY","vw5PBxbSzw0","v2j6sMC","zNjVBuj5Dgu","rePfC1K","Ae1LC3nHz2u","ChvRA3e","Cxrdufq","m3W0FdH8n3W","EKfksgS","z2u6ia","r2f2yvy","tLjJBu0","vxbKyxrLq28","shzvuvm","r2HsD0q","y29UBMvJDfm","B2nRzxrtDwm","DcbVzIbYyw4","uM9AuuS","s1rvBeS","tKroBem","yNvMzMvY","v3vJyNe","BMCGB3iGyw4","uuLlq0G","qvLHwgm","y0jZEvK","txz4EhO","tg9NsurozxC","zNjVBunOyxi","AenSB3nLrxy","AvjTEvy","ANfswhG","DeLUDgvYy2u","DMrXshC","BMPXBgC","igXHCMDLCIa","D21qr3i","ELrStLu","DfD3AMi","q1brz0y","Bg9IywXty28","sufmEKe","CMvZzxrdB3u","CgXLyxnLiha","ywnRpwzYB24","zNjVBu51Bwi","AgDWyum","x194x21Zz18","D3flsLe","yxrHlcbKyxq","zxjYB3i","mxW1","uu5MAvm","z2n1sK4","x3DHAxq","y2HHCKnVzgu","CKXMBfq","qwTjtxu","AhzOsMK","AvLQv2W","sNzOv0W","Ef9MCM9UDgK","DMvY","ywPvBwq","t1bNrgS","CMvXDwLYzwq","BMrWB2LUDfq","C0vADMi","BhrPCgXLihq","CMfTzq","x2HHBMrSzu8","weXqwee","ugfLCxC","vuzLzhC","AwrI","zgLZywjSzue","x3jLBw92zvC","rhDiB0q","q1P6A1i","DgLTzw91Da","x3bPBMDqB24","Egjyu2i","FdD8mtf8mhW","rKrVuLK","DKPIyuK","x2XPC3rLBMu","uKj5t2W","ihzHBgLKigq","x3bPBMC","q0jIC1y","uuzOtNi","D2vI","thLHteW","DxrMofDYAxq","CwHNvxK","v3biwhG","yxv0B21HDgK","C2vUza","DNPoC1e","q0r2C1K","AxnAzxjV","s2vWt24","yxjYyxLIDwy","whLPwgS","CgfNzxnOB3C","rvvVyLG","r0LLwvm","AxrqEMm","DwvfyLe","qw1VDw50","zgv2AwnLx2K","y29TCgXLDgu","tvLtELm","q3v5zgC","zxjYtM8","t1L2v1q","vNLOAui","vwPPqwy","qwTlrKG","x2nVBM5Ly3q","C21mDgu","BNrfBMrWB2K","shrMDge","zfjUvvC","B3jL","r3nttuq","B3nLrxzLBNq","x3bHDgHlzxK","Dg9cExrLC0W","r0ruvuC","zMjYyMu","sNPuAxG","x29UtwvZC2e","wKjqvwu","DhjHBNnHy3q","DMfSDwu","EMfbv3a","BKLKt0m","zKXYDKm","y3vYC29YlNm","igfYCMf5yNu","yw1Lu3bHy2u","EwvRvMS","wwTMCMG","rgjiz0S","Ec11C2uT","y3jLyxrLt3a","z1jXz1O","tgXAvhC","tMPsENK","tNLYAKq","ENLuyNu","rLbuB2y","wNPHq3O","yxjuuwy","BujuDhe","t215CgW","x3DZsw5ZDge","tNDgq1e","twHTru0","tLfZAfa","BKXPBMu","yMfSrxzLBNq","AgPvtfq","u2vMD00","yNvMzMvYzwq","B2fK","rvjst1i","zwLODhu","y29UDgv4Da","sKHjv1y","A1n0yxr1C0m","ugHXwhm","vvHVvva","x2rPC3bHDgm","zNjUwuO","y3HevuK","yw5Hz2vY","rKzJv3u","wfztD1a","DeLOz0m","uxvLDwu","CMT3t1C","Cgf5Bg9Hzeu","Ahr0Ca","DeHzt0G","Dxbdyu4","B3ncC2W","BwvKAwf0zwW","ue5PBMS","uKHtseG","uhjPBwfYEuS","q3fRALq","vwX4zKG","EfHrwva","DMH2txy","CvrOwKq","EvjkwNe","y29UBMvJDgK","yxHYB1a","uMzVs0W","B25pCgvU","CMvZzxruCMK","x2rPC2nVBM4","u2fPzey","D3nZoI8V","yMfJA3vWigu","sKH5ufu","vhn0AgW","v2X5vwe","Bhm6ia","ufbWCKW","mhWXFdr8m3W","ihrVihjLDhi","B3jRzxjhBg8","vND5zKO","v1D2D1q","A1HMq2m","ihzHBgLKihm","B3vUDa","Dhrdz2G","DMvYC2LVBG","ugHlALe","y2XVC2veqG","x2n1CNnVCK0","uNLJBKe","y0HsEKO","zcbLCNjVCI4","q1rrzw4","ohWYFdf8m3W","x2DLDeLUDgu","EhDoBxa","weHIz04","uMjKvKO","r1DoDLm","tw1ItMy","v3neBLC","EvDtq1O","CMvJzxzPzwq","B25JBg9Zzq","suHqyw0","aaaaaaaaaaa","u09bsNq","CMv0CNLdB3u","reiGzMfPBgu","Dg9iyxnO","BwvZC2fNzv8","AfzgEge","vgLet1y","ru5stMi","yM9rsuy","CfvSrMC","A2v5CW","quXpufu","C0XPC3rLBMu","C3Dzv2O","zxH0zw5ZAw8","y09Wzw4","vMznu0i","BwfW","x3bPBMDmB3m","BM9Uzv9UB24","q0Xpu0ve","r0jytKi","BMXczfa","q2Lhs3q","EKX2B0C","teLLsKK","t2PZELO","Bwu6ia","Cgf5Bg9Hza","AxnszwfKEq","v1rgwNy","C0vZCNy","AKftAxq","Bg5yBu4","qwzyCLC","zxjFBxnNAwq","zw5KCg9PBNq","zw5fDMvUDa","q29UzMLN","AevYCM9Yrxy","u2HHCMvKv28","x3fVC0rc","BgLUzw5V","zxjYtxnN","u2Xbvuu","x3vYBa","AND3ENi","wLrbDNi","suvtx0vsuK8","A21Avvm","AhP0quG","AM5tqxe","uevLs0S","y2HLy2Tszwe","DLHwwee","rgvKAwnHDgu","qKjTuNi","ywXPzcb1CMW","sNLgsgC","zNH3DKi","rvLWuLC","rxjYB3jdB2q","yNLL","BK16DKW","Ehv2uMK","zv9ZDwnJzxm","BvjPD1K","C09mu3e","y2uGBM90igK","vffrvfu","zejvEwO","wM51ANC","wu93C0C","rKr6ENC","y3jLyxrLtwu","Chv0","BwvZC2fNztO","DhretuW","sMDbt3a","C2nYAxb0","BgDov0y","s3z5wey","yw1L","uxfhuhi","yxjpvMm","AgfUz2u","B25LCNjVCG","rvb6A2i","ru5TrMm","vNL0v3G","BgLZDgvUtMu","x2zVCM1HDeu","u3rXuem","CMfTugfYyw0","te1xEfq","C3vJy2vZCW","z1vryNi","Dw5ZAwDUzwq","tMfTzq","Aw5L","DhjPzxm","ChjVy2vZCW","DgfIyxnL","shfmwgG","BMvJDa","vhL6wMm","zw5HyMXLqxu","ANbsCge","EKTTvvC","CIb0DhDjra","A2v0ignVBNm","BK5fu1e","igzHAwWSig0","C3bSAxq","z2v0q3vYCMu","EuHmAxC","C2HPzNq","AwDHDg9Yt24","qwP6tKS","zw50tgLZDgu","C2L6q2i","AePntLi","zw5XDwv1zq","twvwtxK","uuHuz3y","uLPizfO","DKvYCeO","y1LVA2W","BIWGAg9ZDg4","DhvMu3y","yM9L","rxrhtg0","uLPVweC","Ee5ptKm","x29UrxjYB3i","v1PbAhm","BwTyvgK","v2vPEgLUsLm","Bg9Nsurhzw4","DxrVuMvJB24","uMXjuuW","vMLXy2u","AxnbCNjHEq","DhDVCMTdAge","ruXszLa","Dg9cExrLCW","vg5szNC","CMvZzxrfBMq","x2rLyNvN","tNnJzfO","zNvUy3rPB24","sKTVAvu","B0vuDuq","EvjLy29UBMu","CK9mAgq","A055z0e","t1bftG","x3bYzwzPEa","DeXSAe4","A1DZwuO","CMfNzvn5BMm","zeHrwwy","yMfSu2nVCgu","wMPLt28","z3PPEgi","rfbiBue","q2PnC2O","u05ru2K","AhH4uKO","DhHYzxy","Eg5xsu8","B25ozxr3B3i","CwXqtKK","z2vY","BhPtBuy","s0joywu","CMvHC29U","Cg9PBNrbBMq","uK1HzMC","EezNEMm","u1bZEvO","q0Xpu0LorW","zKXkAe4","Cxzuv0m","sgj0Bxa","z2v0","wvHkq1a","zw5JB2rPBMC","wxLSvxu","Bg1iANC","B1HeEKm","re9xBw4","BNv4wwi","Dgjyyw0","CuTWtuq","x2LUAxrqCM8","zMvY","BevJBMG","yNL0zu9MzNm","BgDVtxK","yu5Ay3e","uu1ns3C","uvHTu08","wxPRthG","CwXUrfK","ywDLrxzLBNq","uK5wsg4","DgvmB2Djre4","CenNrLK","BerZshm","DfPqBMu","wwHqwfq","wxfhzMC","BwLUAvbYB2C","ywDLu2HVDW","svfNyxu","sLnptLa","AenZtKC","x3jLy29UBMu","zNjVBNrPzxi","B2zMC2v0","yvnSvxi","ig1LC3nHz2u","CxDwtgi","q29wq20","yMLUyxj5","C29YDa","EuPfrMK","sfjzEhC","twXpCKK","y3vYC29Y","x2rItMfTzq","B2nRzxq","DfrHywO","zNbODwS","C2v0u3rVCMe","twLZC2LUzYa","vgLTzw91Da","y2HLy2TdDxi","x2n1CNnVCKy","ENrXsxa","zMjsEKG","ENzxDuO","BwvZ","zwfeBNO","s2LivM8","Aw5PDcbrB1m","B25SAw5L","B1vtruS","tgvgAfe","y29Kzq","x29WDgLVBNm","ENvirha","D0zNtw4","y3vYCMvUDeu","Cg9W","uvfLswK","y3vYC29Yx2y","ruPMywi","C3rYAw5N","Du5byve","y3jLyxrLq2W","z3PNAva","CYbPBNn0yw4","tgPjzfy","zwrPyxrLBhK","Aw5Lza","Ee1fuwe","x3jLywr5q2W","BMCGDxjSoIa","AxnrB1nnzxm","zgLZCgf0y2G","DgfYz2v0","q09oveLovuu","z2v0q3vYC28","qwjVCNrfCNi","v1jKzNi","Dgv4DfbHEwW","zgvJB2rLzey","BMrLEa","z0v2q2e","zNjVBuHHC2G","B3jLtMfTzxm","yxrLq291BNq","C0nVDw50zxi","BeHHBMrSzxi","ywDLsgLKzq","uNbeDhG","A2v5","DffKu0S","zNjVBujPDhm","DhDAsNm","DxbKyxrLq3u","wuHVyxC","Ec1TC2CTy3u","BxrwBuK","tezgsgG","BKDeq1C","zxH4Dvq","qu5VrKu","x21PBMLoyxy","ANvywNG","wwLwBMO","yKfgu20","zMLSzw5HBwu","wMHuwgK","AgPxv2K","rejtCeS","z0LeCKy","BgPUBeC","rejbueu","wLHlseK","sxP5v0C","CgLUz09Uy2u","rKTMu1m","nhWZ","DhvIDha","ufvACwO","Aw47y2HHCNm","wwTNvgK","Dhj1y3rVCIa","yMLUza","AKnoD1K","Eff2rKO","yxKSihrYEsa","wunIrwW","B3bLCNr5tMe","uvj6Bxq","y29UDgLUDwu","B3bLBG","zMzmAw5L","C2DPza","s0ndvhu","Cg9PBNrdB24","DMzRC04","sfPWtgK","B1bft2y","x2vUzhbVAw4","uuz0wwq","ANj1D0O","vKjzweu","BMCGzMfPBgu","twvZC2fNzuu","Cw11sKu","zcWGDw5RBM8","C2v0zgi","DevyvMK","vNvIuKq","mtqYmtrYyKXMsuW","suLuuuq","CM92AwrLige","u2TVzfK","DNbwB2W","rfbICNK","serxrwm","B25dBg9Zzq","sujPzvy","zxjHDg9Y","D0jJDeq","wwTSCvO","yxLfCK0","yxGGCMv0CMK","CeDsD2S","EfnXB2m","l3DZl3yY","z2TSseW","Duzts04","CfDcD1C","vKPTA08","Cujgtui","CMHVDKq","z1visKS","z1rPBwvVDxq","Cg5jDeW","y2fRtvm","y3vYC29Yx24","A0DlDeq","ug9XyMi","y29UBMvJDa","A1LXDvC","CMvZDwX0","DgHLBG","wKjyzMi","sefhCgK","tMD4BgO","CM9YrxzLBNq","Afn5wha","x2LZqNjVD3m","x2HHBMrSzva","x2nSzwfYugK","B25TzxnZywC","CNzHBa","CYbWyxjHBxm","t0T5sxC","t1bftL9fuLi","mJKXoti1ovLsBM5Swa","rNv0D2W","EK9Quee","x25HDMLNyxq","rxb4sfm","vNzRz0y","wwnbv3a","DgHHBIbSB2m","vKXqu2y","y3voCxq","tKT3yKW","CLjWAwK","z2vjBMzVu3K","B3jpBMXPBMu","t3rjBM4","B0fZDve","x2LZtM9Kzq","vgHjrhO","DvfJCK0","D2fZq2XLyw4","Bwf4uMv0CMK","y3vYCMvUDeK","q3fKv2u","BvDhBfi","BvHsEeq","EfPXwLK","D25fve4","C0jf","v0PmB20","qvrmvum","ANLds1i","CwzVwue","v2vOveO","AwXK","DKzrvxa","EvzSEKK","Cu5Xyum","s1jxzeG","EM1lEMi","Dw9YuMq","CgfNzwHPzgu","v1jAzKe","rMDYtei","x2LUAxrhBg8","rNPZy2C","uuPsvLK","CNnVCL92ywW","x2nSzwfYvgK","AgvHzgvY","C2vUDa","wefgEu8","t2zky1O","rNDhAhK","r1POrMm","CfbvD3G","qKXdCKS","yNL0zuXLBMC","B3DZD2u","q291BNq","Au9Uug8","t3bLBKv2zw4","t2jQzwn0","CMvJB25Uzwm","zvjpA1K","ANfHzMy","DxjS","Cg9Hv0y","x29Uq2XVC2u","zw1PDa","uM1MAMG","BML6Cxe","z0zQzMq","C2v0","DNnNDMu","rwjiv0G","id4G","z2P2uhK","x2HHBMrSzvi","tfnMAMW","AxnFywnR","B25tDg9Wsw0","Dg9mB3DLCKm","shzryK0","vw5NAee","B0TfBLK","wKXHEw8","uu9jqK8","tNrKz1u","EfDYB2q","EgnnB2S","y3jLyxrLrxi","vhDiyvq","vM1nr3y","A0XYyLm","ANHjrK0","DxnLCKLW","x1fVu01HBMe","zgf0yq","C3nHz2vfDMu","v2j0Beq","D2PqDwq","ywXSB2nvBNm","BeHAzfG","ufziwfu","v1r1zgW","wLDmAwO","t3Dlzge","zeT0yxm","rg1lt2q","AvrMwvC","CuTPwMi","vgLQtfC","z2v0qwXS","BfzPr1y","y0T1yMm","x2DLBMvYyxq","tg9JAW","wuHLqMi","Bwf4twvZC2e","Dg9oDw1Izxi","D2PIwxy","ChrVCG","sfPyv3K","wwH6rhG","ywrKq291BNq","tfLZrge","Dg9Y","y2fSBa","oeDxvuXmqq","Aw50zwDLCIa","x29UvgLTzw8","CMvHzhLtDge","CMvJzwL2zwq","Dxnswfe","B25szwnLAxy","qLHJENu","s3nvCK8","y29SBM8","yw1LoIa","vNPeD1C","A3rwsva","BM92rfm","qu1iB0q","AwXLtMfTzq","BhHiEuO","zwn0","r2j0BuG","D0Tyue8","C2nwCMm"];return la=function(){return t},la()}var Re={};(()=>{let t=L,e={dHQYf:function(a,r){return a+r},EPzkb:function(a,r){return a*r},lbCHQ:function(a,r){return a===r},wjPud:t(1647),xSqoc:t(1175),YqPRx:function(a,r){return a+r},vFQUp:function(a,r,s){return a(r,s)},WWvwT:function(a,r){return a(r)},LAYCk:function(a,r,s){return a(r,s)},frlYU:function(a,r){return a+r},zfxqD:function(a,r){return a+r},ueEbQ:t(875),hOzog:t(566),xWrod:function(a,r){return a(r)},nYqUI:t(482)+t(482)+t(482)+t(482),GBXNB:t(824),VvkgF:t(583)+"0|4",JKoiU:function(a,r){return a|r},LyaLL:function(a,r){return a>>r},dRnUW:function(a,r){return a>>r},xZpJq:function(a,r){return a+r},ZzaCz:function(a,r){return a<<r},SefwM:function(a,r){return a&r},CTQen:function(a,r){return a!==r},SNQcl:"jyCKR",QJRVY:function(a,r){return a>r},KBNae:function(a,r){return a<r},EEtXa:function(a,r){return a-r},NRcmM:function(a,r){return a===r},bglmL:t(1360),GqKkz:function(a,r){return a<r},vsgve:t(441),YylUu:function(a,r){return a<r},NscdZ:function(a,r){return a!==r},TyzZc:function(a,r){return a!==r},tLlhN:function(a,r,s){return a(r,s)},hJMNR:function(a,r){return a(r)},bBAxw:function(a,r){return a>>>r},hUOGf:function(a,r,s){return a(r,s)},MVBQv:function(a,r){return a(r)},hKhLs:function(a,r,s){return a(r,s)},NuywR:t(1402)+"required"+t(436)+t(1454),LmDJj:t(1402)+t(989)+t(436)+t(1059),qmuJE:function(a,r){return a(r)},dBUyj:function(a,r){return a==r},itPzc:t(1739),bQjyp:t(532),qPOEq:function(a,r){return a!==r},gjvPy:t(831),QdtnG:function(a,r,s){return a(r,s)},WJLom:function(a,r){return a!==r},YPGiF:function(a,r,s){return a(r,s)},jIjSN:function(a,r){return a!==r},vdqHw:function(a,r,s){return a(r,s)},dPVpf:function(a,r){return a(r)},FFcWu:function(a,r){return a!==r},RHSHH:function(a){return a()},wqKJQ:function(a,r,s){return a(r,s)},WpYaz:function(a,r){return a(r)},AjzNK:function(a,r,s){return a(r,s)},YnwTL:function(a,r){return a!==r},EYpRW:function(a,r){return a===r},njwLD:t(1349),bchPc:function(a,r,s){return a(r,s)},HqLXh:function(a,r,s){return a(r,s)},YKSig:function(a,r,s){return a(r,s)},jASit:function(a,r){return a!==r},HdxXv:function(a,r,s){return a(r,s)},HrxII:function(a,r){return a!==r},lzSmF:function(a,r,s){return a(r,s)},jShwF:function(a,r,s){return a(r,s)},NBKML:function(a,r){return a!==r},zhoVp:function(a,r){return a(r)},hItlp:function(a,r,s){return a(r,s)},rjWmy:function(a,r){return a===r},mmeVH:t(467),CjMsj:t(424),HpJwu:function(a,r){return a+r},tJmGr:function(a,r){return a+r},StqPC:function(a,r){return a+r},ttDML:"index ou"+t(940)+t(932),gcCRu:function(a,r){return a||r},mRJHv:"IOriC",AYSCf:function(a,r){return a(r)},KRWdH:function(a,r){return a(r)},KCCTu:function(a,r){return a(r)},jWbQB:function(a,r,s){return a(r,s)},WcyfC:function(a,r){return a(r)},CZzkR:function(a,r){return a===r},mHKHI:"Missing required"+t(436)+t(664),gaMJT:t(1402)+"required"+t(436)+"method",iwxsI:function(a,r,s){return a(r,s)},OrvmV:function(a,r){return a(r)},XOwoa:function(a,r){return a+r},ywQIl:t(923)+t(434)+t(554),YhzDx:function(a,r){return a>>r},kDHVH:function(a,r){return a>=r},kWsYJ:t(1418),Uwbhz:function(a,r){return a===r},xGPmO:t(1795)+t(1719),uFSKN:function(a,r){return a+r},EalQD:function(a,r){return a>r},tGQlo:"mUlfT",kjzgd:t(921),wPhtv:function(a,r){return a(r)},hCsNG:t(1188),OftgQ:function(a,r,s){return a(r,s)},VfpQi:function(a,r){return a+r},UclJX:function(a,r,s){return a(r,s)},OsdHq:function(a,r,s){return a(r,s)},DBAPE:function(a,r){return a<r},zPNWn:function(a,r){return a&r},tTaaj:function(a,r){return a(r)},HZpLi:function(a,r){return a&r},xbPGM:function(a,r){return a+r},lmHjw:function(a,r){return a+r},bczfr:function(a,r){return a&r},CqxqC:function(a,r){return a&r},sizCb:function(a,r){return a&r},ODepn:function(a,r){return a<r},GDTUG:function(a,r){return a==r},zSFHw:function(a,r){return a&r},OVuip:function(a,r){return a>=r},MULYB:function(a,r){return a+r},PARXe:function(a,r){return a|r},XIrqU:function(a,r){return a<<r},ktVIP:function(a,r){return a&r},RMafg:function(a,r){return a<=r},WZAhs:t(731),qThZD:function(a,r){return a(r)},tZPne:function(a,r){return a==r},DIwVs:function(a,r){return a&r},BEYJa:function(a,r){return a+r},OBwyp:function(a,r){return a+r},nizqq:function(a,r){return a+r},EtGLm:function(a,r){return a<<r},FpGQO:function(a,r){return a!==r},lfpnh:t(399),NgVCw:function(a,r){return a|r},rOLhd:function(a,r){return a<<r},euSJA:function(a,r){return a&r},yWSCZ:function(a,r){return a&r},AloAK:function(a,r){return a>>r},nAtPK:function(a,r){return a+r},YCbEl:function(a,r){return a<r},Wucbq:function(a,r){return a<r},FwGhy:function(a,r){return a<r},UvhFQ:function(a,r){return a<r},pJMwy:function(a,r){return a===r},gIDrF:function(a,r){return a<r},TQQTU:function(a,r){return a<r},lCyjL:function(a,r){return a|r},vTdNU:function(a,r){return a&r},wBctD:function(a,r){return a&r},RlIQL:function(a,r){return a|r},tbXam:function(a,r){return a&r},usRXQ:function(a,r){return a<r},cwlca:function(a,r,s){return a(r,s)},hjWWi:function(a,r){return a(r)},UjiAf:function(a,r){return a<<r},AYOLe:function(a,r){return a&r},OPgDk:function(a,r,s){return a(r,s)},mtVmI:function(a,r){return a&r},tWhiu:function(a,r){return a(r)},NwFCQ:function(a,r){return a&r},zNGio:function(a,r){return a(r)},UCMDb:function(a,r){return a&r},ZfEjE:function(a,r){return a(r)},Paeqw:function(a,r){return a<<r},RZruK:function(a,r){return a&r},BavOJ:function(a,r){return a&r},fxwvB:function(a,r){return a<<r},deEMz:function(a,r){return a(r)},OwKda:function(a,r){return a&r},jnSAq:function(a,r){return a(r)},zVGiA:function(a,r){return a<<r},CKwNf:function(a,r){return a(r)},qlPNI:function(a,r){return a&r},AfXrW:function(a,r){return a(r)},MajIF:function(a,r){return a&r},hXUUT:function(a,r){return a|r},ttCgh:function(a,r){return a<<r},juXZx:function(a,r){return a>>>r},NQshP:function(a,r){return a<<r},WelOV:function(a,r){return a&r},CpoZo:function(a,r){return a|r},kmZUS:function(a,r){return a>>r},arOVc:function(a,r){return a===r},gcuJN:t(443),PNink:function(a,r){return a>>>r},uPTyM:function(a,r){return a|r},EZvTa:function(a,r){return a>>>r},aSlUr:function(a,r){return a<r},yXLWC:function(a,r){return a<r},RycnA:function(a,r){return a<r},WTFZv:function(a,r){return a+r},CPQgF:function(a,r){return a|r},xnWIO:function(a,r){return a>>>r},KJqVm:function(a,r){return a&r},twZJs:function(a,r){return a&r},emiKy:function(a,r){return a>>>r},eFdud:function(a,r){return a|r},iuNMG:function(a,r){return a>>>r},wmPGr:function(a,r){return a+r},nGDCW:function(a,r){return a+r},QiLRP:function(a,r){return a|r},Zrwau:function(a,r){return a!==r},eihtu:function(a,r){return a>>>r},tRvzC:function(a,r){return a&r},sEZvb:function(a,r){return a>>>r},Rmfjh:function(a,r){return a|r},lMBOC:function(a,r){return a&r},CBbsV:function(a,r){return a(r)},QDsel:function(a,r){return a(r)},QRzmt:function(a,r){return a===r},pwwyl:t(1246),pujra:t(652),GfbAb:t(811),JgAOp:t(1746),TjzsZ:function(a,r){return a===r},JHIWV:function(a,r){return a|r},sOLSq:function(a,r){return a|r},JKLPM:function(a,r){return a|r},hrQlp:function(a,r){return a<<r},ZBPUe:function(a,r){return a<<r},ztqIp:function(a,r){return a|r},RoZQK:function(a,r){return a<<r},XJyew:function(a,r){return a(r)},WlyWk:function(a,r){return a!==r},HvUQS:"UVsjd",WBkKC:t(997),dgvsh:function(a,r){return a|r},xNcrF:function(a,r){return a<<r},eaDnz:function(a,r){return a>>>r},xNONC:function(a,r){return a<<r},eJNRX:function(a,r){return a<<r},jxHjV:function(a,r){return a<<r},knCEf:function(a,r){return a&r},UiktN:function(a,r){return a&r},XynfG:function(a,r){return a&r},kYquW:function(a,r){return a>>>r},dEejP:function(a,r){return a&r},ateuk:function(a,r){return a>=r},uNAaQ:function(a,r){return a>=r},eROkY:function(a,r){return a%r},sRPVm:function(a,r){return a/r},gkTli:function(a,r){return a*r},ijTyw:function(a,r){return a>>>r},hVFxa:function(a,r){return a*r},DbHgK:function(a,r){return a===r},QASOs:function(a,r){return a===r},hgpaC:function(a,r,s,l){return a(r,s,l)},WlyUa:t(985)+t(626),daiwg:function(a,r,s,l){return a(r,s,l)},ZBXfb:t(985)+"er_qos_ack",tCVaW:t(985)+"er_is_ack",mSJAw:function(a,r,s){return a(r,s)},XgqCo:"vSpIQ",vgWFb:function(a,r){return a&r},XHbgN:function(a,r){return a&r},VGVCl:function(a,r){return a&r},bCbDW:function(a,r){return a+r},YEqiz:function(a,r){return a>>>r},LYsDa:function(a,r){return a+r},pxxCN:function(a,r){return a|r},ZOBQv:function(a,r){return a!==r},bZLTa:function(a,r){return a===r},lRfAa:function(a,r){return a===r},Hbtmp:function(a,r){return a===r},lgoMy:function(a,r){return a===r},RByOl:function(a,r){return a>>>r},mRuQP:function(a,r){return a&r},INFjw:function(a,r){return a>>>r},aNZcq:function(a,r){return a&r},KepOn:function(a,r){return a>>>r},NDOSG:function(a,r){return a&r},PmFHI:function(a,r){return a>>>r},DwHoD:function(a,r){return a&r},AgsWP:function(a,r){return a>>>r},cWEgc:t(380)+t(1091),PyKVf:t(1560)+"OR",MeVMy:t(405)+"NG_ERROR",Mvxxz:"3|1|0|5|6|2|4",lEcnh:function(a){return a()},LVmOi:t(1648),aWHdP:t(447)+t(1342),gDGzD:t(502),FhQKv:function(a,r){return a>=r},QQeIi:function(a,r){return a>r},AihLg:function(a,r){return a===r},JfNzB:"GYHFe",WpHXx:t(974),CoVCm:function(a,r){return a===r},EBAnJ:t(1597),ELRfP:function(a,r){return a instanceof r},FMRng:function(a,r){return a+r},xqoLV:function(a,r){return a+r},uHqVw:function(a,r){return a+r},vErpJ:function(a,r){return a===r},BXczu:function(a,r){return a===r},EWudk:function(a,r,s){return a(r,s)},ABfRt:t(1495),iSclI:t(463),ZjeOo:function(a,r,s){return a(r,s)},cKdJm:t(1097),KvZfd:t(1027),rhtZZ:function(a,r,s){return a(r,s)},SPsyZ:function(a,r){return a+r},fgZVt:t(690),fbrbe:t(1255),WehTJ:function(a,r,s){return a(r,s)},GbtmH:t(1164),AMdGE:t(943),xuvRi:function(a,r){return a||r},tubtp:function(a,r){return a!=r},PhKjQ:t(1851)+"d",YHeBb:"Kffdx",fKkkb:t(1249),KsjKx:function(a,r){return a===r},OtInn:"eDjAx",ZhTXi:function(a,r){return a<=r},ypziN:function(a,r){return a===r},RcjKZ:"vBqKC",TAHNz:"mdGxD",MhmEM:function(a,r){return a<r},IITQD:function(a,r){return a<r},LVcbR:function(a,r){return a<r},HKlUi:function(a,r){return a===r},ZLayo:function(a,r){return a===r},tEXVi:function(a,r){return a+r},lViGV:function(a,r){return a===r},tqowf:t(473),GIeYS:t(847),fZJhS:function(a,r){return a-r},BXBxp:function(a,r){return a>=r},sEsrv:function(a,r){return a<r},jCNwY:function(a,r){return a<<r},ryQjj:function(a,r){return a&r},DPbry:function(a,r){return a|r},IneWI:function(a,r){return a<<r},xrQnJ:function(a,r){return a<<r},OxBda:function(a,r){return a&r},iTfYW:function(a,r){return a>=r},uKUSM:function(a,r){return a-r},nWzOC:function(a,r){return a|r},NzOMc:function(a,r){return a<<r},xPffJ:function(a,r){return a<<r},Futwl:function(a,r){return a&r},POWbT:function(a,r){return a>>r},lIpIo:function(a,r){return a+r},JyFHg:function(a,r){return a&r},WvveX:function(a,r){return a<r},RZHdZ:function(a,r){return a<r},OFZkG:function(a,r){return a|r},narvd:function(a,r){return a|r},Dgeka:function(a,r){return a+r},iRmyV:function(a,r){return a&r},JYxrb:function(a,r){return a&r},NWkRj:function(a,r){return a|r},CVnrV:function(a,r){return a>>r},RKHCX:function(a,r){return a|r},zOjPA:function(a,r){return a>>r},AgOSy:function(a,r){return a|r},fZSbf:function(a,r){return a-r},hSyXp:function(a,r){return a>>>r},EhakD:function(a,r){return a>>>r},FasdS:function(a,r){return a==r},QyXta:"string",WfQXk:t(1433),ThIDz:function(a,r){return a(r)},uorRd:function(a,r){return a!==r},CDvsY:t(924),KmjAU:t(1543),jKqgb:function(a,r){return a!=r},NyrjD:function(a,r){return a instanceof r},xQvFJ:t(819)+t(476),dUhlg:"VlAMG",xFgzc:function(a,r){return a==r},wFgMn:"text/pla"+t(1484)+t(712),SLEPU:t(1296),ElhgS:t(1245),HDWEc:t(398)+"ascript",XXaOn:t(599)+t(968)+"tierJSONP",GhBmQ:t(998),ZLYmo:function(a,r){return a!==r},HhewC:t(514),YHoaw:function(a,r){return a!==r},nYCQJ:function(a,r){return a<<r},lKgQX:function(a,r){return a&r},Biwdy:function(a,r){return a(r)},GhRwD:function(a,r){return a===r},JCJrE:t(1697),MFTLV:t(454),bAFSm:function(a,r){return a!==r},Cuydg:function(a,r){return a&r},HOodJ:function(a,r){return a&r},HqBTF:function(a,r){return a!==r},AkIMu:"cfEWC",ejSus:function(a,r){return a||r},FbYfZ:function(a,r,s){return a(r,s)},wQqkt:"EkPML",OKyIw:function(a,r){return a||r},EJfab:t(394),lSUmo:t(1640),EeKVU:function(a,r){return a&&r},cvwNG:"ack_id",pYxIa:function(a){return a()},uQcrM:t(1080),zTlNU:function(a,r){return a<r},arReY:function(a,r){return a<r},TRGbw:function(a,r){return a===r},BsNum:function(a,r){return a&r},ZsaFU:t(417),Ihgid:function(a,r){return a||r},oumZP:function(a,r){return a||r},jqaff:function(a,r){return a||r},tQdSK:function(a,r){return a!=r},BLCrK:"qos",XAFyO:"message_id",kHshN:function(a,r){return a>=r},DPHmA:function(a,r){return a%r},LYgFT:function(a,r){return a!==r},RZoXG:t(1500),TiDOV:"QRrwj",knGGS:function(a,r,s,l){return a(r,s,l)},tKNij:function(a,r,s){return a(r,s)},GvVUx:"x_frontier_ack_m"+t(1497),HIcnQ:function(a,r,s,l){return a(r,s,l)},OfJcZ:function(a,r){return a&&r},mBTtq:"ack_code",SlAUE:function(a,r){return a===r},BwpfK:"keXtU",LyksW:t(1525),swoCe:function(a,r){return a instanceof r},HvQbM:t(819)+t(476)+";charset"+t(756),FOIOp:t(1185)+"e",rZMjz:t(1391),FiRVG:function(a){return a()},TxXPv:function(a,r){return a<r},PMCJl:function(a,r){return a>r},LeFhQ:function(a,r){return a+r},gwgtz:function(a,r){return a|r},VzuYj:function(a,r){return a>>>r},hztAH:function(a,r){return a(r)},OuVmi:function(a,r){return a+r},MKNtm:function(a,r){return a+r},wibqw:function(a,r){return a+r},jruwJ:" + ",WDqXy:t(1636),VXlNE:function(a,r){return a>r},RAOAF:t(1690)+t(534)+"e",Dytau:function(a,r){return a+r},ipgOo:function(a,r){return a!==r},HRYxw:"FDoRY",lDsHs:function(a,r,s,l){return a(r,s,l)},SsrwY:function(a,r){return a+r},Jiibi:function(a,r){return a+r},EOpxe:function(a,r){return a===r},QrCSG:t(382),AlmzO:t(849),pPUwx:function(a,r){return a|r},NoUNW:function(a,r){return a|r},KPpqZ:function(a,r){return a<<r},DOWmn:function(a,r){return a<<r},exxuT:function(a,r){return a+r},fLrvC:function(a,r){return a<<r},akQQg:function(a,r){return a<<r},oAsuQ:function(a,r){return a<<r},QMMKw:function(a,r){return a<<r},QNvOo:function(a,r){return a+r},cTCBp:function(a,r){return a+r},sgmiC:function(a,r){return a&r},ACvnP:function(a,r){return a&r},XzXqD:function(a,r){return a+r},AYaXc:function(a,r){return a>>>r},FWmhS:function(a,r){return a&r},xZYTO:function(a,r){return a+r},HAejD:function(a,r){return a&r},btvnn:function(a,r){return a+r},pQhiV:t(757),ajUmd:t(1022),ljnlG:t(1153)+"5|6|4|10"+t(1006)+"9",eQNoE:function(a,r){return a|r},zLvoG:function(a,r){return a&r},ALOPU:function(a,r){return a<<r},ZWLij:function(a,r){return a|r},VLPSf:function(a,r){return a<r},hArxz:function(a,r){return a|r},PxpBN:function(a,r){return a&r},DJEsY:function(a,r){return a+r},MYSzS:function(a,r){return a|r},WkdTy:function(a,r){return a<<r},KvyXF:t(635),RNVHn:t(541),TiLdR:function(a,r,s,l){return a(r,s,l)},zaAWp:t(1609),TVIPo:t(437),HHRmh:t(653),vowIL:function(a,r){return a(r)},LjIdV:t(1423)+t(880),wnETN:function(a,r){return a!==r},PsPtw:t(469),hcLbK:t(497),ZAvQV:function(a,r,s){return a(r,s)},OYvWT:function(a,r){return a+r},ygTDe:function(a,r,s){return a(r,s)},Fbrxt:function(a,r,s){return a(r,s)},CwuFZ:t(457),WGLDB:t(1220),pqPdc:t(1541)+t(1248),RUgrE:t(818)+"rValues",vhvMv:"ALL",BIeky:"INSTANT",jslfg:t(1439),ZXKHI:t(1511),PUZqj:t(778)+"r",wbOca:function(a,r){return a!==r},DppKU:t(1811),lFVQW:t(1668),YzkLx:function(a,r){return a||r},fTvOR:function(a,r,s){return a(r,s)},bDJUB:function(a,r,s,l){return a(r,s,l)},pCgFY:t(1416),Evfkh:function(a,r,s){return a(r,s)},cGxJC:t(985)+t(1201),kisGu:function(a,r){return a(r)},tSEzu:t(985)+t(896),AMHoD:function(a,r,s){return a(r,s)},xZqZY:t(1460)+"rsor_name",AJpyh:function(a,r){return a(r)},CDxLB:function(a){return a()},qfaUy:t(1121),Viqce:function(a){return a()},CuqUo:function(a){return a()},ZcAgS:function(a,r){return a===r},fbRzH:function(a,r,s){return a(r,s)},IQgau:function(a){return a()},xSDEW:function(a,r){return a(r)},VzDwW:function(a,r){return a!==r},oPEOf:"LpMhu",VubRD:function(a){return a()},YiAFE:function(a,r){return a===r},McKiM:function(a,r,s){return a(r,s)},Cpsoe:function(a){return a()},yTNRp:function(a,r){return a<<r},PudsK:function(a,r){return a===r},hxxRJ:t(1777),iYjWl:t(1803),ENRNb:function(a,r){return a===r},yekVk:function(a,r){return a===r},EUobX:function(a,r){return a===r},lxOXv:t(800),vuIbs:t(750),HZXWy:t(1026)+t(1362),Znujw:"pbbp2",TMpcj:t(560),fLJhN:function(a,r){return a==r},ktKPV:t(967)+"rovide w"+t(1558)+t(1732)+t(1276)+t(1486)+"is undef"+t(1432),QNfiS:t(519),VDwjJ:function(a,r,s){return a(r,s)},novDS:t(1623)+"t",LlZTw:t(808)+t(1431)+" reconnect",xHVci:t(1413),BBmRr:t(1784),gFjfd:t(1028),FPTof:"pagehide",QoTQE:function(a,r,s){return a(r,s)},ItAps:t(1055),WOZbM:function(a,r){return a===r},xhzlT:"LsbuU",juzmI:function(a,r){return a==r},vpVol:"wss://",qBFMB:t(396),ANhrE:t(556),xbXSb:t(1034)+"d",FxKOm:function(a,r){return a||r},MlOrI:"please provide b"+t(481)+"viceID o"+t(1275),JvhWL:t(1316),vJbaI:t(1015),WRZfA:t(453)+"0",aHkwb:function(a,r){return a===r},pBSZs:t(1155),nNESQ:function(a,r){return a===r},dqntg:"bWMrw",gmWiE:t(942),LFFHh:t(1370),vvXdh:function(a,r){return a-r},fnINV:function(a,r,s){return a(r,s)},tJtzr:function(a,r){return a===r},boQIF:t(1182),FDmyI:t(598),bHywK:function(a,r){return a(r)},rhovD:"Module",LEHPI:t(406)+"le",AkKFH:function(a,r){return a===r},pPFUe:t(696),DXXgx:function(a,r){return a(r)},oUSEK:function(a,r){return a>>>r},sZcEy:function(a,r){return a&r},CSBDe:function(a,r){return a&r},IwSbd:function(a,r){return a>>>r},JRpvu:function(a,r){return a===r},kGKtD:t(900)+">",QXmSO:function(a,r){return a*r},AgNfr:function(a,r){return a|r},OIPjF:function(a,r){return a&r},IzyWG:function(a,r){return a!==r},POUVo:t(511),PWQBx:"pkCRW",SAUFj:function(a,r){return a===r},juiEl:function(a,r,s){return a(r,s)},jscHD:t(1003),upCaN:t(659)+t(1490)+t(1623)+t(414)+t(986),zghPO:function(a,r){return a|r},zCQBX:function(a,r){return a<<r},arTQf:function(a,r){return a&r},pGsQb:function(a,r){return a&r},jEKtV:function(a,r){return a<<r},HtpKl:function(a,r){return a<r},BomJH:function(a,r){return a+r},kXfCc:function(a,r){return a>>r},uHrAY:function(a,r){return a+r},Htfta:function(a,r){return a===r},nIdOC:t(1639),VyhiB:t(1261),zKmUW:function(a,r){return a(r)},gEvCa:function(a){return a()},WAIdw:function(a,r,s){return a(r,s)},yJEFi:t(1840),GsSMD:t(904)+" try rec"+t(846)+"g",YqGfg:"AlsXx",SOAJt:t(392)+"0",UahZZ:t(747)+"1",vMpIG:function(a,r){return a(r)},FgrLB:t(585),XLPXA:function(a,r){return a<<r},KiLii:function(a,r){return a|r},zCYWM:function(a,r){return a!==r},xITTj:t(1806),moAan:t(693),gdZdf:function(a,r,s){return a(r,s)},KiHVo:"going aw"+t(624)+"ork offl"+t(1265),ayErM:function(a,r,s){return a(r,s)},JjSeY:function(a,r){return a!==r},NKwbL:t(451),MEuHu:function(a,r){return a(r)},cyeWI:function(a,r){return a!==r},lxHyJ:"AqMtn",ZTAvr:"kUFSH",tzpZh:function(a,r,s){return a(r,s)},SNQSi:t(828),FKfSS:"nFlJU",FtmXp:"close, w"+t(1429)+t(1234)+"nitialized",xcMok:function(a,r){return a===r},mXRxD:t(1715)+"s already closed",rhubJ:t(491),SJCUw:function(a,r){return a!=r},pWBwW:function(a,r){return a instanceof r},YiVnj:function(a,r){return a instanceof r},xdDJI:function(a,r){return a(r)},rTKvr:"please p"+t(1516)+t(1142)+"ervice",oXDzC:function(a,r){return a(r)},uAvMt:t(1610),rZqhW:function(a,r){return a<r},osBsl:t(1288),WMQPH:t(516)+"e_timeout",BgbaL:t(949),tIhgC:function(a,r,s){return a(r,s)},nmGzL:"ping_onc"+t(1231)+"s",TwHaT:t(1165),MGFjp:t(548),QYnkq:function(a,r){return a!=r},yWiuE:t(1622),Zuvua:function(a,r){return a===r},DBSpK:function(a,r){return a!=r},murPV:function(a,r){return a==r},LsYMS:function(a,r){return a!=r},gzixb:function(a,r){return a!=r},GYfnt:function(a,r){return a===r},PvuVk:"Dedicate"+t(1852)+t(964)+"pe",WPVXh:"ServiceW"+t(1138)+t(1328),axroP:function(a,r){return a===r},jVWvj:function(a,r){return a!=r},feZRa:t(971)+"qos__"};Ut.r(Re),Ut.d(Re,{FWS:()=>Gg,CustomErrorEvent:()=>pl,createCloseEvent:()=>bt,ReconnectEvent:()=>xl,createErrorEvent:()=>ft,decodedFrame:()=>dn,createOpenEvent:()=>bl,CustomCloseEvent:()=>gl,createReconnectEvent:()=>ka,FrontierMessageEvent:()=>wl,encodeFrame:()=>Gt,createMessageEvent:()=>yl,OpenEvent:()=>_l,ErrorCode:()=>un,Event:()=>cr,MessageEvent:()=>ml});let n="";function i(a=""){let r=t,s="02",l=""+Date.now(),f=n||(n=h(a)),g=Math[r(698)]().toString(16)[r(853)](-6);return e[r(1327)](e[r(1327)](s+l,f),g)}function o(){let a=t;return e[a(1327)](e[a(1253)](1e4,Date.now()),Math[a(841)](1e4*Math[a(698)]()))}function c(a){let r=t;return e[r(836)](e[r(1661)],e[r(1529)])?_0x3dbd3e["objectSt"+r(1448)]||_0xc4ead2.get(_0x1fef63):e[r(1730)](Array(8)[r(641)]("0"),e.vFQUp(parseInt,a,10)[r(771)](2))[r(853)](-8)}function d(a){let r=t;return r(1653)==="RYXVc"?(e[r(1140)](_0x32e8e6,8)[r(641)]("0")+e[r(677)](_0x481a70,_0x4359f7,10)[r(771)](2))[r(853)](-8):e[r(1772)](Array(4)[r(641)]("0"),e.LAYCk(parseInt,a,2)[r(771)](16)).slice(-4)}function u(a){let r=t,s=a[r(1279)](/\./)[r(1183)](g=>c(g)),l=[];return l[0]=d(e[r(1772)](s[0],s[1])),l[1]=e.WWvwT(d,e[r(385)](s[2],s[3])),[r(875),r(875),r(875),r(875),e[r(1032)],e[r(530)],l[0],l[1]][r(641)]("")}function h(a){let r=t,s=/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}/[r(544)](a),l=/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/[r(544)](a);return s?e.xWrod(u,a):l?e[r(1140)](x,a):e.nYqUI}function x(a){let r=t,s={qhgUy:e[r(1566)],yHLiw:function(l,f){return e[r(1317)](l,f)},XVSwP:function(l,f){return e[r(1016)](l,f)},GWNvS:function(l,f){return e[r(1047)](l,f)},IBNaw:function(l,f){return l|f},GadLY:function(l,f){return e[r(1754)](l,f)},mkXTi:function(l,f){return e[r(1327)](l,f)},YOwsG:function(l,f){return e.ZzaCz(l,f)},LWvCJ:function(l,f){return l&f},HAGpi:function(l,f){return e[r(1088)](l,f)}};if(e[r(1152)](e.SNQcl,r(1591))){let l=this[r(1009)+"rs"][_0x5c1dd2];if(l)for(let f=0;f<l[r(582)];)e[r(836)](l[f].fn,_0x3113a8)?l[r(1860)](f,1):++f}else{let l="",f=[],g=0,E=0,S=!0,w=e[r(1032)];if(e[r(1606)](a[r(1770)]("::"),-1)){let D=a[r(1279)]("::");for(let N=0;e[r(1341)](N,D[r(582)]);N++){let q=D[N];if(e[r(1606)](q[r(1770)](":"),0)){let V=q[r(1279)](":");S&&(g=V[r(582)]),E+=V[r(582)];for(let J=0;J<V.length;J++)if(V[J].length!==4){let at=w[r(412)+"g"](0,e.EEtXa(4,V[J][r(582)])),$e=at[r(845)](V[J]);f[r(1769)]($e)}else f[r(1769)](V[J]);S=!1}else if(e[r(934)](r(1360),e[r(888)])){if(e[r(1152)](4,q[r(582)])){let V=w[r(412)+"g"](0,4-q[r(582)]),J=V[r(845)](q);f[r(1769)](J)}else f[r(1769)](q);S&&(g+=1),E+=1,S=!1}else{let V=s[r(1018)].split("|"),J=0;for(;;){switch(V[J++]){case"0":_0x544095[_0x77ab04++]=s[r(1281)](s[r(1103)](_0x1ad7e9,6)&63,128);continue;case"1":_0x291792[_0x29cf93++]=s[r(1158)](_0x4abb5b,12)&63|128;continue;case"2":_0x4af445[_0x56bbef++]=s.IBNaw(_0x22a5c6>>18,240);continue;case"3":_0x34c747=s[r(522)](s[r(1302)](65536,s[r(1238)](s.LWvCJ(1023,_0x45ad7b),10)),s[r(1549)](1023,_0x28c190));continue;case"4":_0x469b27[_0x2640e6++]=63&_0x18fc33|128;continue;case"5":++_0x23d965;continue}break}}}let F="";for(let N=0;e[r(1341)](N,8-E);N++)F=F[r(845)](w);for(let N=0;e.GqKkz(N,f[r(582)]);N++)N===g?e[r(1634)]!==e.vsgve?(this[r(1629)](e[r(1187)],_0xe6e18a),this[r(1163)]&&this[r(1163)](_0x3604db)):(l=l[r(845)](F),l=l[r(845)](f[N])):l=l.concat(f[N]);return l}{let D=a[r(1279)](":");for(let F=0;e[r(1354)](F,D[r(582)]);F++){let N=D[F];if(e[r(1315)](4,D[F][r(582)])){let q=w[r(412)+"g"](0,4-D[F].length),V=q.concat(N);l=l[r(845)](V)}else l=l[r(845)](N)}return l}}}function p(a,r){let s=t,l=a[s(1454)];e[s(1271)](void 0,l)&&(e[s(1324)](ge,r,10),e[s(677)](z,r,l));let f=a[s(1059)];e[s(1271)](void 0,f)&&(e.vFQUp(ge,r,18),z(r,f))}function m(a){let r=t,s={};e:for(;!$(a);){let l=e[r(1287)](pe,a);switch(e[r(729)](l,3)){case 0:break e;case 1:s[r(1454)]=e[r(1725)](P,a,e[r(639)](pe,a));break;case 2:s[r(1059)]=e[r(1324)](P,a,e[r(1649)](pe,a));break;default:e[r(539)](T,a,e.SefwM(7,l))}}if(s.key===void 0)throw new Error(e[r(1865)]);if(e[r(934)](void 0,s.value))throw new Error(e[r(402)]);return s}function v(a){let r=t,s=C();return _(a,s),e[r(1509)](M,s)}function _(a,r){let s=t,l={FDzzw:function($e,Fe){return e[K(1253)]($e,Fe)},lSCPm:function($e,Fe){return e[K(692)]($e,Fe)},PhqXs:function($e,Fe){return e[K(1606)]($e,Fe)}},f=a[s(426)];e.qPOEq(void 0,f)&&(s(831)===e[s(1637)]?(e[s(1824)](ge,r,8),e[s(539)](yt,r,f)):(_0x2dacfd=_0x498b97&&e[s(1236)](e.itPzc,_0x34de98[s(1756)])?s(1129):e[s(796)],_0x375705=_0x538674[s(809)](/((^ws)|(^http))((?:[s]*:\/\/))/,""),_0xdd38ec=/^wss(.*:\/\/)/[s(544)](_0x36b36d)?_0x48d549:""+_0xfb85b1+_0x28ad55));let g=a[s(572)];e[s(1589)](void 0,g)&&(e[s(854)](ge,r,16),e.hUOGf(yt,r,g));let E=a[s(664)];E!==void 0&&(ge(r,24),e.hKhLs(yt,r,e[s(1649)](R,E)));let S=a[s(697)];e.jIjSN(void 0,S)&&(e[s(1324)](ge,r,32),e[s(957)](yt,r,e[s(1749)](R,S)));let w=a[s(450)];if(e[s(1102)](void 0,w))for(let $e of w){ge(r,42);let Fe=e[s(1114)](C);p($e,Fe),e[s(972)](ge,r,Fe[s(1796)]),e[s(539)](G,r,Fe),e[s(633)](O,Fe)}let D=a[s(1107)+s(775)];e[s(1152)](void 0,D)&&(e[s(1595)](ge,r,50),e[s(1284)](z,r,D));let F=a[s(391)+s(474)];e[s(1764)](void 0,F)&&(ge(r,58),e[s(1595)](z,r,F));let N=a.payload;if(e[s(1315)](void 0,N))if(e[s(1226)](e[s(487)],e[s(487)]))e[s(871)](ge,r,66),e[s(1269)](ge,r,N.length),e[s(1823)](ae,r,N);else{let{initReconnectInterval:$e,maxReconnectInterval:Fe,reconnectIntervalGrowFactor:jt}=this[s(1417)],qt=l[s(1239)]($e,_0x465aac.pow(jt,l[s(521)](_0x1ba6bd,1)));return l[s(1096)](qt,Fe)?Fe:qt}let q=a.LogIDNew;e[s(1198)](void 0,q)&&(e[s(492)](ge,r,74),z(r,q));let V=a[s(650)+"ming"];e.HrxII(void 0,V)&&(e[s(1340)](ge,r,82),e[s(854)](z,r,V));let J=a.msgID;e[s(1315)](void 0,J)&&(e[s(871)](ge,r,90),e[s(494)](z,r,J));let at=a[s(679)+"e"];e[s(1761)](void 0,at)&&(e.YKSig(ge,r,96),e.hKhLs(yt,r,e[s(682)](R,at)))}function y(a){let r=t;if(e[r(1828)](e.mmeVH,e[r(1332)]))e.hItlp(_0x4c761c,_0x201fc0,e[r(1317)](127&_0x4a788c,128)),_0xae5da0>>>=7;else return e[r(1749)](I,e[r(1749)](B,a))}function I(a){let r=t;if(e.mRJHv!==e[r(919)])return e[r(1509)](_0x475738,e[r(755)](e[r(755)](e[r(1831)](e[r(385)](e[r(1258)](e[r(1243)],_0x55d2ae),r(1743)),e.gcCRu(_0x1263cb,1)),r(1636)),_0x5e37e7));{let s={};e:for(;!$(a);){let l=pe(a);switch(l>>>3){case 0:break e;case 1:s[r(426)]=Pt(a,!0);break;case 2:s[r(572)]=e[r(1324)](Pt,a,!0);break;case 3:s.service=e[r(1140)](pe,a);break;case 4:s.method=pe(a);break;case 5:{let f=A(a);(s[r(450)]||(s.headers=[])).push(e[r(577)](m,a)),a[r(1796)]=f;break}case 6:s[r(1107)+r(775)]=e[r(1725)](P,a,e[r(1598)](pe,a));break;case 7:s[r(391)+"ype"]=e[r(1725)](P,a,pe(a));break;case 8:s[r(1194)]=oe(a,e[r(1498)](pe,a));break;case 9:s[r(951)]=P(a,pe(a));break;case 10:s[r(650)+"ming"]=P(a,pe(a));break;case 11:s[r(1810)]=e[r(400)](P,a,e.WcyfC(pe,a));break;case 12:s[r(679)+"e"]=e[r(639)](pe,a);break;default:T(a,7&l)}}if(e[r(934)](void 0,s.SeqID))throw new Error(r(1402)+r(989)+r(436)+r(426));if(e[r(1002)](void 0,s.LogID))throw new Error("Missing "+r(989)+" field: "+r(572));if(e.lbCHQ(void 0,s[r(664)]))throw new Error(e.mHKHI);if(e[r(934)](void 0,s.method))throw new Error(e[r(578)]);return s}}function A(a){let r=t,s=pe(a),l=a[r(1796)];return a.limit=e[r(755)](a[r(1386)],s),l}function T(a,r){let s=t;switch(r){case 0:for(;e[s(1088)](128,te(a)););break;case 2:e[s(772)](Z,a,e[s(810)](pe,a));break;case 5:Z(a,4);break;case 1:e[s(1269)](Z,a,8);break;default:throw new Error(e[s(1714)](e.ywQIl,r))}}function R(a){let r=t;return a|=0,{low:a,high:e[r(1684)](a,31),unsigned:e[r(1839)](a,0)}}let b=[];function C(){let a=t;if(e[a(1315)](e.kWsYJ,e[a(1325)]))return _0x1527fc?_0x5738d9[a(925)+"sLE"](_0x1e1506,_0x1da5ab):_0x3f4e90[a(925)+a(1588)](_0x5a7d22,_0x2155cd);{let r=b[a(1421)]();return r?(r[a(1386)]=r.limit=0,r):{bytes:new Uint8Array(64),offset:0,limit:0}}}function O(a){b[t(1769)](a)}function B(a){return{bytes:a,offset:0,limit:a[t(582)]}}function M(a){let r=t,s=a[r(1712)],l=a[r(1796)];return e.Uwbhz(s.length,l)?s:s.subarray(0,l)}function Z(a,r){let s=t;if(e[s(1327)](a[s(1386)],r)>a[s(1796)])throw new Error(e[s(422)]);a[s(1386)]+=r}function $(a){let r=t;return a[r(1386)]>=a[r(1796)]}function ie(a,r){let s=t;if(e[s(836)]("wiInk",s(418)))this._isInit=!0,this[s(1043)]();else{let l=a[s(1712)],f=a[s(1386)],g=a[s(1796)],E=e[s(1532)](f,r);if(e[s(1606)](E,l[s(582)])){let S=new Uint8Array(2*E);S[s(1633)](l),a[s(1712)]=S}return a.offset=E,e[s(870)](E,g)&&(a[s(1796)]=E),f}}function Q(a,r){let s=t,l={jpRpa:function(f,g){return e.KBNae(f,g)},YhPXT:function(f,g){return e[K(639)](f,g)},lMAvL:function(f,g){return f+g}};if(e[s(387)]===e[s(792)]){let f=0,g={};for(let E=0;l[s(1273)](E,_0x5a9dce[s(582)]);E++)g[_0x21499f[E][s(1541)+s(1248)]]=l[s(1377)](_0x1e8eee,_0x579ba8[E][s(1541)+s(1248)]),f+=l[s(570)](14,g[_0x2c350e[E][s(1541)+"ame"]]);return[f,g]}else{let f=a[s(1386)];if(e[s(870)](e[s(1754)](f,r),a[s(1796)]))throw new Error(s(827)+"t limit");return a[s(1386)]+=r,f}}function oe(a,r){let s=t,l={pukkq:function(f,g){return e[K(1835)](f,g)}};if(e[s(1198)](e[s(1383)],s(1071))){let f=e.OftgQ(Q,a,r);return a.bytes[s(531)](f,e[s(574)](f,r))}else return _0x388c5e(_0x46f8dd[s(462)](ACjNja[s(928)](_0x55b7e5,this),_0x575688))}function ae(a,r){let s=t,l=e[s(822)](ie,a,r.length);a[s(1712)][s(1633)](r,l)}function P(a,r){let s=t,l={wKXPO:function(D,F){return e[K(633)](D,F)}},f=e.OsdHq(Q,a,r),g=String[s(952)+s(663)],E=a.bytes,S="\uFFFD",w="";for(let D=0;e[s(1476)](D,r);D++){let F=E[e.frlYU(D,f)],N,q,V,J;if(e[s(515)](128,F)===0)w+=e[s(1399)](g,F);else if(e[s(1002)](e[s(1501)](224,F),192))e.kDHVH(e[s(1767)](D,1),r)?w+=S:(N=E[e.lmHjw(D,f)+1],e.HrxII(e[s(777)](192,N),128)?w+=S:(J=e[s(1317)](e.ZzaCz(e[s(586)](31,F),6),e[s(1286)](63,N)),e.ODepn(J,128)?w+=S:(w+=g(J),D++)));else if(e[s(1053)](e[s(617)](240,F),224))e[s(1801)](e.zfxqD(D,2),r)?w+=S:(N=E[e[s(715)](e[s(1772)](D,f),1)],q=E[e[s(1772)](e[s(385)](D,f),2)],(e[s(1317)](N,q<<8)&49344)!==32896?w+=S:(J=e[s(852)](e[s(1077)](e[s(1501)](15,F),12),e.XIrqU(63&N,6))|e.ktVIP(63,q),J<2048||e[s(1839)](J,55296)&&e[s(1344)](J,57343)?w+=S:e.HrxII(e[s(1301)],e[s(1301)])?(_0xcd67c0[s(1385)+s(1382)]=void 0,l[s(1708)](_0x3ffe18,"unknown reason")):(w+=e[s(1120)](g,J),D+=2)));else if(e[s(1376)](e[s(526)](248,F),240))if(e.OVuip(e[s(594)](D,3),r))w+=S;else if(N=E[e.OBwyp(e.HpJwu(D,f),1)],q=E[e[s(1631)](D,f)+2],V=E[e[s(715)](D+f,3)],e[s(814)](e[s(852)](e.JKoiU(N,e[s(1297)](q,8)),V<<16)&12632256,8421504))w+=S;else{if(e[s(708)](e[s(753)],s(399)))return this[s(1207)]?.[s(557)](_0x1adce4);J=e[s(852)](e.NgVCw(e[s(449)](e[s(617)](7,F)<<18,e[s(1864)](63&N,12)),e[s(1320)](e[s(1780)](63,q),6)),e[s(1161)](63,V)),J<65536||e[s(1606)](J,1114111)?w+=S:(J-=65536,w+=e.LAYCk(g,e[s(1842)](J,10)+55296,e.nAtPK(1023&J,56320)),D+=3)}else w+=S}return w}function z(a,r){let s=t,l=r[s(582)],f=0;for(let S=0;e[s(1491)](S,l);S++){let w=r[s(979)+"At"](S);w>=55296&&w<=56319&&e[s(1341)](e[s(1355)](S,1),l)&&(w=e[s(692)](e[s(715)](w<<10,r[s(979)+"At"](++S)),56613888)),f+=e[s(945)](w,128)?1:w<2048?2:e[s(1613)](w,65536)?3:4}ge(a,f);let g=ie(a,f),E=a[s(1712)];for(let S=0;e.UvhFQ(S,l);S++)if(e[s(608)]("UYHrM",s(885))){let w=r[s(979)+"At"](S);w>=55296&&e[s(1344)](w,56319)&&e[s(1474)](e[s(1258)](S,1),l)&&(w=e[s(1831)](e.ZzaCz(w,10),r[s(979)+"At"](++S))-56613888),e[s(1235)](w,128)?E[g++]=w:(e[s(642)](w,2048)?E[g++]=e[s(1701)](e[s(1842)](w,6),31)|192:(e[s(1491)](w,65536)?E[g++]=e[s(449)](e.CqxqC(e[s(1842)](w,12),15),224):(E[g++]=e[s(879)](e[s(617)](w>>18,7),240),E[g++]=e[s(816)](w>>12,63)|128),E[g++]=e.PARXe(e[s(1524)](e[s(1842)](w,6),63),128)),E[g++]=e[s(1306)](e[s(1359)](63,w),128))}else{let w=this[s(1503)+s(1762)]?.["getCurre"+s(1045)+"nt"]();this[s(1314)](s(764)+w),e[s(1114)](_0x50341d)}}function G(a,r){let s=t,l=e.YKSig(ie,a,r.limit),f=a.bytes,g=r.bytes;for(let E=0,S=r[s(1796)];e[s(1694)](E,S);E++)f[e.MULYB(E,l)]=g[E]}function te(a){return a[t(1712)][Q(a,1)]}function Ze(a,r){let s=t,l=e[s(744)](ie,a,1);a.bytes[l]=r}function pe(a){let r=t,s=0,l=0,f;do f=e[r(1472)](te,a),e[r(1474)](s,32)&&(l|=e.UjiAf(e[r(411)](127,f),s)),s+=7;while(e[r(1701)](128,f));return l}function ge(a,r){let s=t;for(r>>>=0;r>=128;)e[s(988)](Ze,a,e[s(449)](e[s(1461)](127,r),128)),r>>>=7;Ze(a,r)}function Pt(a,r){let s=t,l=0,f=0,g=0,E;return E=e.tWhiu(te,a),l=e[s(1701)](127,E),e[s(1780)](128,E)&&(E=e[s(810)](te,a),l|=(127&E)<<7,e[s(1082)](128,E)&&(E=e.zNGio(te,a),l|=e[s(515)](127,E)<<14,e.UCMDb(128,E)&&(E=e[s(603)](te,a),l|=e[s(996)](e[s(877)](127,E),21),128&E&&(E=te(a),f=e[s(1286)](127,E),e[s(857)](128,E)&&(E=te(a),f|=e[s(1225)](e[s(1286)](127,E),7),128&E&&(E=e.deEMz(te,a),f|=e[s(1225)](e.AYOLe(127,E),14),e[s(1667)](128,E)&&(E=e[s(1217)](te,a),f|=e.zVGiA(e[s(1461)](127,E),21),e[s(1667)](128,E)&&(E=e.CKwNf(te,a),g=127&E,e[s(1338)](128,E)&&(E=e.AfXrW(te,a),g|=e[s(602)](e.MajIF(127,E),7)))))))))),{low:e[s(1807)](l,e[s(1144)](f,28)),high:e[s(1467)](f,4)|e[s(1084)](g,24),unsigned:r}}function yt(a,r){let s=t;if(e.arOVc(s(812),e[s(977)]))_0x1914a6[_0x326835++]=e[s(852)](e.WelOV(_0x3a3ddc>>18,7),240),_0x5598e0[_0x4f48ff++]=e.CpoZo(e[s(1215)](_0x548bfe,12)&63,128);else{let l=e[s(1113)](r[s(1757)],0),f=e[s(1113)](e[s(498)](e.EZvTa(r.low,28),e[s(1297)](r[s(431)],4)),0),g=r[s(431)]>>>24,E=e[s(640)](0,g)?e[s(836)](0,f)?l<16384?e[s(1354)](l,128)?1:2:e[s(1387)](l,2097152)?3:4:e[s(945)](f,16384)?e.yXLWC(f,128)?5:6:e.TQQTU(f,2097152)?7:8:e.RycnA(g,128)?9:10,S=e.YPGiF(ie,a,E),w=a[s(1712)];switch(E){case 10:w[S+9]=g>>>7&1;case 9:w[e[s(1532)](S,8)]=E!==9?e[s(879)](128,g):e[s(1338)](127,g);case 8:w[e[s(1196)](S,7)]=e[s(1866)](8,E)?e[s(963)](e[s(1336)](f,21),128):e[s(1752)](e[s(1467)](f,21),127);case 7:w[S+6]=E!==7?e[s(852)](e[s(1467)](f,14),128):e[s(1457)](e[s(1748)](f,14),127);case 6:w[e[s(385)](S,5)]=e[s(1271)](6,E)?e[s(820)](e[s(793)](f,7),128):e.zPNWn(f>>>7,127);case 5:w[e.wmPGr(S,4)]=e[s(1102)](5,E)?128|f:e[s(411)](127,f);case 4:w[e.nGDCW(S,3)]=E!==4?e.QiLRP(l>>>21,128):e[s(1336)](l,21)&127;case 3:w[e[s(1767)](S,2)]=e.Zrwau(3,E)?e[s(1092)](l,14)|128:e[s(622)](e[s(991)](l,14),127);case 2:w[e[s(1767)](S,1)]=e[s(1315)](2,E)?e.Rmfjh(e[s(1748)](l,7),128):e.qlPNI(l>>>7,127);case 1:w[S]=e[s(1315)](1,E)?e[s(1630)](128,l):e[s(551)](127,l)}}}function dn(a){return e[t(1013)](y,a)}function Gt(a){return e.QDsel(v,a)}let ln=65536,si=e[t(1652)],_e=e[t(1253)](ln,ln),ke=e[t(813)](_e,_e),ar=e[t(774)](ke,2),Le=String[t(632)+"e"].charCodeAt;class xe{constructor(r,s,l){let f=t,g={poaWF:function(E,S,w,D){return E(S,w,D)}};if(e.QRzmt(e[f(665)],e[f(459)]))throw _0x39f1d5=_0x1ccd8e.length,g[f(1627)](_0x5346fc,_0x3e146f,10,_0x500fda[f(582)]);this.isLong=!0,this.low=0|r,this[f(431)]=e.JKoiU(0,s),this[f(1263)]=!!l}static[t(799)](r){let s=t;if(e.arOVc(e[s(748)],e[s(1244)]))this[s(524)](_0x16808b,_0x2cfd3f);else return r&&e[s(444)](!0,r[s(799)])}static fromBits(r,s,l){return new xe(r,s,l)}static[t(925)+"s"](r,s,l){let f=t;return l?xe[f(925)+"sLE"](r,s):xe[f(925)+f(1588)](r,s)}static[t(925)+"sLE"](r,s){let l=t;return new xe(e[l(1094)](e[l(1233)](e.JKLPM(r[0],e[l(783)](r[1],8)),r[2]<<16),e[l(1057)](r[3],24)),e[l(458)](e[l(860)](e[l(1406)](r[4],r[5]<<8),e.NQshP(r[6],16)),e.RoZQK(r[7],24)),s)}static[t(925)+"sBE"](r,s){let l=t;if(e.WlyWk(e[l(936)],e.WBkKC))return new xe(e[l(1833)](e[l(449)](e[l(498)](r[4]<<24,e[l(1716)](r[5],16)),r[6]<<8),r[7]),e[l(498)](e[l(1807)](e[l(852)](r[0]<<24,r[1]<<16),r[2]<<8),r[3]),s);e[l(873)](_0x96f896,this[l(1004)+"gTimeoutId"]),_0x1a99db(this["_reconnectTimeou"+l(1837)]),this[l(1004)+l(1538)+"Id"]=null,this[l(1384)+l(773)+"tId"]=null}static[t(1447)](r){let s=t;return e[s(1493)](r,si)?hl:new xe(e[s(1410)](e[s(1630)](e.JKoiU(Le[s(1688)](r,0)|e[s(1299)](Le[s(1688)](r,1),8),Le[s(1688)](r,2)<<16),e[s(941)](Le[s(1688)](r,3),24)),0),e[s(793)](e.JHIWV(Le.call(r,4),e.eJNRX(Le[s(1688)](r,5),8))|e[s(839)](Le[s(1688)](r,6),16)|e.rOLhd(Le.call(r,7),24),0),!0)}[t(1169)](){let r=t;return String[r(952)+r(663)](e.knCEf(255,this[r(1757)]),e[r(1286)](e.bBAxw(this.low,8),255),e[r(537)](e[r(793)](this[r(1757)],16),255),this.low>>>24,e.XynfG(255,this.high),e[r(526)](e[r(1545)](this[r(431)],8),255),e.dEejP(this[r(431)]>>>16,255),this[r(431)]>>>24)}static fromNumber(r,s=!0){let l=t;if(e[l(577)](isNaN,r))return s?eg:hl;if(s){if(e.ateuk(r,ke))return ng}else{if(e[l(1344)](r,-ar))return rg;if(e[l(1426)](r+1,ar))return tg}return xe[l(1456)](e[l(1624)](r,_e)|0,e[l(774)](r,_e)|0,s)}toNumber(){let r=t;return this.unsigned?e[r(1463)](e[r(813)](this[r(431)]>>>0,_e),e[r(791)](this[r(1757)],0)):e.hVFxa(this.high,_e)+e[r(1467)](this[r(1757)],0)}[t(1024)](){let r=t;return e[r(1068)](0,this[r(431)])&&e.QASOs(0,this[r(1757)])}add(r){let s=t;if(e.HrxII(e[s(438)],s(606))){xe.isLong(r)||(r=xe[s(969)+"er"](r));let l=e[s(1092)](this[s(431)],16),f=e.HZpLi(65535,this.high),g=e[s(1748)](this[s(1757)],16),E=e[s(1798)](65535,this[s(1757)]),S=e.ijTyw(r.high,16),w=e[s(1156)](65535,r.high),D=e[s(1092)](r.low,16),F=e.VGVCl(65535,r[s(1757)]),N=0,q=0,V=0,J=0;return J+=e.bCbDW(E,F),V+=e[s(669)](J,16),J&=65535,V+=e[s(1831)](g,D),q+=e.EZvTa(V,16),V&=65535,q+=e[s(1631)](f,w),N+=q>>>16,q&=65535,N+=e[s(1686)](l,S),N&=65535,xe[s(1456)](e.pxxCN(V<<16,J),e[s(1320)](N,16)|q,this[s(1263)])}else{let l=!!this[s(1417)][s(736)+"S"];if(!l)return{enabled:l,isQoSMessage:!1,isQoSAck:!1,isAckCleanupMessage:!1,ackMsgIds:[]};let f=e[s(970)](_0x5d8421,_0x45ebf0[s(463)][s(450)],e[s(1133)],"2"),g=f&&e.daiwg(_0x5ab571,_0x2beef2[s(463)].headers,e.ZBXfb,"1"),E=f&&e[s(1804)](_0x16d77f,_0x2e59fc[s(463)][s(450)],e[s(1726)],"1"),S=E?e[s(864)](_0x127b28,_0x4aeb2f.message[s(450)],s(985)+"er_ack_m"+s(1497))?.[s(1279)](",")[s(915)](_0x1094e0)||[]:[];return{enabled:l,isQoSMessage:f,isQoSAck:g,isAckCleanupMessage:E,ackMsgIds:S}}}equals(r){let s=t;return xe[s(799)](r)||(r=xe[s(969)+"er"](r)),e[s(821)](this[s(1263)],r[s(1263)])&&e[s(793)](this[s(431)],31)===1&&e[s(1828)](e[s(791)](r.high,31),1)?!1:e[s(1735)](this[s(431)],r.high)&&e[s(891)](this[s(1757)],r[s(1757)])}[t(722)](){let r=t;return e[r(1493)](-1,this.low)&&e[r(1350)](-1,this.high)?xe[r(1456)](0,0,this.unsigned):e[r(1365)](-1,this.low)?xe.fromBits(0,this.high+1,this.unsigned):xe[r(1456)](e[r(1767)](this[r(1757)],1),this[r(431)],this[r(1263)])}[t(1311)](r){let s=t;return r?this[s(1052)+"E"]():this[s(886)+"E"]()}toBytesLE(){let r=t,s=this[r(431)],l=this.low;return[e[r(1161)](255,l),e[r(1010)](l,8)&255,e[r(1359)](l>>>16,255),l>>>24,e[r(1752)](255,s),e.mRuQP(e[r(793)](s,8),255),e[r(1701)](s>>>16,255),e[r(694)](s,24)]}toBytesBE(){let r=t,s=this[r(431)],l=this.low;return[e[r(694)](s,24),e[r(1366)](e[r(1025)](s,16),255),e[r(1524)](s>>>8,255),e[r(592)](255,s),e[r(427)](l,24),e[r(777)](l>>>16,255),e[r(1001)](e[r(621)](l,8),255),e[r(1798)](255,l)]}}let hl=new xe(0,0,!1),eg=new xe(0,0,!0),tg=xe[t(1456)](-1,2147483647,!1),ng=xe[t(1456)](-1,-1,!0),rg=xe[t(1456)](0,-2147483648,!1);var un=(function(a){let r=t,s=("3|4|2|0|"+r(975))[r(1279)]("|"),l=0;for(;;){switch(s[l++]){case"0":a[a[e[r(676)]]=5004]=e[r(676)];continue;case"1":a[a[e[r(631)]]=5005]=e[r(631)];continue;case"2":a[a.MAX_RETRIES_ERROR=5003]=r(844)+r(1214)+"R";continue;case"3":a[a[r(584)+r(1786)]=5001]="NATIVE_ERROR";continue;case"4":a[a[e[r(1289)]]=5002]=r(405)+"NG_ERROR";continue;case"5":return a}break}})({});class cr{constructor(r){let s=t;this[s(1830)]=r,this[s(1438)]=null}}class xl extends cr{constructor(r,s){let l=t;super(r),this[l(463)]=s&&s.message||null}}class pl extends cr{constructor(r,s){let l=t,f=e[l(950)].split("|"),g=0;for(;;){switch(f[g++]){case"0":this[l(1698)]=s&&s[l(1698)]||0;continue;case"1":this[l(974)]=s&&s[l(974)]||null;continue;case"2":this.message=s&&s[l(463)]||"";continue;case"3":super(r);continue;case"4":this[l(1416)]=s&&s.code||5001;continue;case"5":this[l(1470)]=s&&s[l(1470)]||"";continue;case"6":this[l(1208)]=s&&s[l(1208)]||0;continue}break}}}class gl extends cr{constructor(r,s){let l=t;super(r),this[l(1416)]=s&&s.code||0,this[l(1342)]=s&&s[l(1342)]||"",this.wasClean=s&&s[l(1580)]||!1,this[l(528)+l(488)]=s&&s["willReco"+l(488)]||!1}}class ml extends cr{constructor(r,s){let l=t;super(r),this.data=s&&s[l(1658)]||null}}class wl extends ml{constructor(r,s){let l=t,f={zmKzb:function(g){return e.lEcnh(g)}};if(e.HrxII(e[l(490)],l(593)))super(r),this.data=s&&s[l(1658)]||null,this.message=s&&s[l(463)]||null;else return this[l(1098)+l(927)+"Event"](_0x22fdc0),f[l(1599)](_0x34e24c)}}class _l extends cr{constructor(r,s){super(r),this.data=s&&s.data||null}}function ft(a,{message:r,code:s,error:l}){let f=t;if(e[f(711)]===e.gDGzD)return new pl(a,{message:r,code:s,error:l});_0x409398.body["removeCh"+f(1594)](_0x8df4f7),_0x5367a2[f(1385)+f(1382)]=void 0,e.WcyfC(_0x40e476,_0x3c4979&&_0x2f5677[f(705)]||e[f(616)])}function bt(a,{code:r,reason:s,wasClean:l,willReconnect:f}){return new gl(a,{code:r,reason:s,wasClean:l,willReconnect:f})}function yl(a,{data:r,message:s}){return new wl(a,{data:r,message:s})}function bl(a,{data:r}){return new _l(a,{data:r})}function ka(a,{message:r}){return new xl(a,{message:r})}class El{constructor(r,s){let l=t;this[l(1202)+"s"]=r,this[l(1581)+"es"]=s,this[l(1582)+"ndex"]=0,this[l(1420)+l(990)+l(1819)+"t"]=0}[t(1313)+t(1499)+t(1778)](){let r=t;this[r(1582)+r(1445)]=0,this[r(1420)+r(990)+"riesCount"]=0}[t(1126)+"es"](){let r=t;this[r(1420)+r(990)+r(1819)+"t"]=0}["getCurre"+t(1045)+"nt"](){let r=t;return this[r(1202)+"s"][this[r(1582)+"ndex"]]}["getCurre"+t(1045)+"ntTriesC"+t(1143)](){let r=t;return this[r(1420)+r(990)+r(1819)+"t"]}[t(1219)+"chMaxTries"](){let r=t;return!!(e.FhQKv(this[r(1582)+r(1445)],this[r(1202)+"s"][r(582)])||e[r(1493)](this[r(1582)+"ndex"],this[r(1202)+"s"].length-1)&&this["currentE"+r(990)+"riesCount"]===this.maxRetries)}["checkCur"+t(587)+t(397)+t(1853)+t(1266)](){let r=t;return e[r(1053)](this["currentI"+r(1445)],this[r(1202)+"s"].length)?!0:e[r(1422)](this["currentEndpointT"+r(1819)+"t"],this.maxRetries)}[t(901)+t(401)+t(1343)+t(935)+t(1797)](){let r=t;return e.AihLg(r(1465),e[r(510)])?r(1385)+"_"+this[r(1792)]:(this["currentE"+r(990)+"riesCount"]=1,this[r(1582)+r(1445)]++,this.endpoints[this[r(1582)+r(1445)]])}["getCurre"+t(1045)+t(687)+t(1449)](){let r=t;return this["currentE"+r(990)+r(1819)+"t"]++,this[r(1280)+"ntEndpoint"]()}}let dr=(e.tubtp(e[t(1146)],typeof globalThis)&&e[t(1173)](e[t(730)],globalThis["construc"+t(1687)][t(437)])||e.SJCUw(t(1851)+"d",typeof window)&&e[t(730)]===window[t(779)+t(1687)][t(437)])&&e[t(571)](t(1851)+"d",typeof document),Ln=e[t(1759)](e[t(1146)],typeof globalThis)&&(e[t(726)](e[t(884)],globalThis[t(779)+t(1687)][t(437)])||e.Zuvua(t(1221)+"dWorkerG"+t(964)+"pe",globalThis[t(779)+t(1687)][t(437)]))&&e[t(1473)](e.PhKjQ,typeof tt),oi=(e[t(636)](t(1851)+"d",typeof globalThis)&&globalThis[t(779)+t(1687)][t(437)]==="Object"||e.murPV(e.PhKjQ,typeof globalThis)||e.LsYMS(e[t(1146)],typeof globalThis)&&!!globalThis[t(1303)+t(848)])&&e[t(1330)](t(1851)+"d",typeof wx),ai=e[t(1146)]!=typeof globalThis&&(e[t(552)](e[t(440)],globalThis[t(779)+"tor"][t(437)])||t(1206)+t(589)+t(1854)===globalThis[t(779)+"tor"].name||e[t(1046)](e.WPVXh,globalThis["construc"+t(1687)].name))&&e[t(571)](e[t(1146)],typeof self),ig=e[t(1473)](t(1851)+"d",typeof globalThis)&&e[t(1123)](e[t(884)],globalThis[t(779)+t(1687)][t(437)])&&e[t(1146)]!=typeof global&&e[t(884)]===global[t(779)+t(1687)][t(437)]&&e[t(1146)]!=typeof process&&!!process[t(1145)];class Ta{constructor(){let r=t;this[r(1009)+"rs"]={}}[t(1629)](r,...s){let l=t,f=this[l(1009)+"rs"][r];if(f)f.slice()[l(581)](g=>g.fn.apply(g.ctx,s));else if(e[l(1019)]===r&&!this[l(1252)])if(e[l(1390)](e[l(723)],e[l(723)])){let g=s[l(582)]&&s[0];if(e[l(1310)](g,Error))throw g;let E=new Error(e.FMRng(l(874)+l(1151),g?e[l(1836)](e[l(802)](" (",g[l(463)]),")"):""));throw E[l(1093)]=g,g}else{if(this[l(1417)]["disableA"+l(1305)+l(1270)]||this["_readyCl"+l(607)])return;this[l(1638)+l(600)]()}return this}[t(524)](r,s){let l=t;if(e[l(1292)](void 0,r))this[l(1009)+"rs"]={};else if(e[l(640)](void 0,s))this[l(1009)+"rs"][r]=null;else{let f=this._listeners[r];if(f)for(let g=0;g<f[l(582)];)e[l(1696)](f[g].fn,s)?f.splice(g,1):++g}return this}on(r,s,l){return(this[t(1009)+"rs"][r]||(this._listeners[r]=[])).push({fn:s,ctx:l||this}),this}}class sg extends Ta{["_formatErrorMess"+t(763)](r){let s=t;return r[s(1209)]||r[s(1038)]?(s(1242)+" "+(r[s(1209)]||"")+s(745)+(r[s(1038)]||""))[s(379)]():JSON[s(881)+"y"](r)}constructor(r,s,l){let f=t;super(),this._socket=null,oi&&wx[f(938)+f(1398)]&&(this[f(416)]=wx[f(938)+f(1398)]({url:r,protocols:s,header:l,fail:this[f(807)+f(383)+f(1451)].bind(this),success:this[f(807)+f(939)+f(393)+f(651)][f(1487)](this)})),Ln&&tt["connectS"+f(1398)]&&(this._socket=tt.connectSocket({url:r,protocols:s,header:l,fail:this["_createS"+f(383)+f(1451)].bind(this),success:this[f(807)+"ocketSuc"+f(393)+f(651)][f(1487)](this)}))}[t(807)+t(939)+t(393)+t(651)](){let r=t;Promise.resolve()[r(1547)](()=>{let s=r;this[s(433)+s(472)]()})}[t(807)+"ocketFai"+t(1451)](r){let s=t;Promise[s(421)]()[s(1547)](()=>{let l=s,f=e[l(654)](ft,e[l(1019)],{message:this[l(1257)+l(477)+l(763)](r)});this.emit(e.WpHXx,f);let g=bt(e[l(1187)],{reason:this["_formatE"+l(477)+l(763)](r)});this[l(1629)](l(824),g)})}[t(433)+t(472)](){let r=t,s={HTcQn:function(l,f,g){return l(f,g)},RfoKL:r(974)};e[r(837)]===e[r(752)]?(DXtWHv[r(1782)](_0x7d3be8,_0x12a496,8),DXtWHv[r(1782)](_0x37df76,_0x9614d6,_0xa6f488)):(this[r(416)][r(1125)](l=>{let f=r;this.emit(f(1495),bl(e[f(605)],{...l,data:l[f(1209)]||""}))}),this[r(416)][r(1521)](l=>{let f=r;this[f(1629)](e[f(1187)],bt(f(824),{...l}))}),this._socket.onMessage(l=>{let f=r;this[f(1629)](e[f(856)],e[f(1329)](yl,"message",{...l}))}),this[r(416)][r(758)](l=>{let f=r;this[f(1629)](f(974),s[f(1782)](ft,s[f(1124)],{...l,message:l[f(1209)]||""}))}))}send(r){let s=t,l={swYWj:e[s(1019)],zoILD:function(f,g,E){return e.rhtZZ(f,g,E)}};if(e[s(1310)](r,Uint8Array)){let f=r.buffer[s(853)](r.byteOffset,e[s(1346)](r.byteLength,r.byteOffset));this._socket&&this[s(416)][s(1021)]({data:f,fail:g=>{let E=s;this[E(1629)](l.swYWj,l.zoILD(ft,l[E(1179)],{message:this[E(1257)+"rrorMess"+E(763)](g)}))}})}else this[s(416)]&&this[s(416)][s(1021)]({data:r,fail:f=>{let g=s;this[g(1629)](e[g(1019)],e.OftgQ(ft,e.WpHXx,{message:this[g(1257)+g(477)+g(763)](f)}))}})}[t(824)](r,s){let l=t;if(e[l(843)]===e[l(1054)])try{e[l(1804)](_0x2b3534,this,_0x149ffe,[_0x177193,_0x35b7ba,_0x378c50])}catch(f){let g=_0x60ec7d(e.WpHXx,{message:f[l(463)],code:_0x35284b.OPEN_ERROR,error:f});this[l(1098)+l(1205)+"ent"](g)}else this[l(416)]&&this[l(416)][l(824)]({code:r,reason:s})}[t(496)+"Listener"](r,s){this.on(r,s)}[t(1763)+t(1285)+t(922)](r,s){this[t(524)](r,s)}get readyState(){let r=t,s={CAxaW:function(l,f,g){return e[K(1593)](l,f,g)}};if(e[r(1102)](e[r(1707)],r(1087)))return this[r(416)][r(1692)+"te"];this.emit(r(463),YrKYFj[r(597)](_0x2c0209,r(463),{..._0x22e287}))}get[t(542)+"pe"](){let r=t;if(e[r(1152)]("NDNlC",e[r(765)]))this[r(1420)+r(990)+r(1819)+"t"]=0;else return this[r(416)][r(542)+"pe"]}set[t(542)+"pe"](r){}get[t(1626)](){let r=t;return this[r(416)][r(1626)]}get[t(1756)](){return this[t(416)].protocol}get[t(1180)+"ns"](){let r=t;return this[r(416)][r(1180)+"ns"]}get["buffered"+t(1033)](){return 0}}function og(a,r){let s=t;if(r)return new r(a[s(1626)],a[s(1756)]);if(e[s(1230)](oi,Ln))return new sg(a[s(1626)],a[s(1756)],a[s(450)]);if((dr||ai)&&e[s(1482)](e[s(1146)],typeof WebSocket)&&WebSocket)return new WebSocket(a[s(1626)],a[s(1756)+"s"])}function ag(a){let r=t,s={yTVbZ:function(l,f){return e.hjWWi(l,f)},bsjaA:function(l,f){return e[K(802)](l,f)}};if(e[r(1678)]!==e.fKkkb)return!!(a||oi&&wx[r(938)+r(1398)]||Ln&&tt[r(938)+r(1398)]||(dr||ai)&&e[r(1482)](e[r(1146)],typeof WebSocket)&&WebSocket);{let l=VljNCu[r(561)](_0x32b88f,_0xa501e1),f=_0x276a6d.limit;return _0x259d2d[r(1796)]=VljNCu.bsjaA(_0x31a525[r(1386)],l),f}}function vl(a,r,s){let l=t,f={NXRHK:function(g,E){return e.KRWdH(g,E)},QIKCH:function(g){return g()}};if(e[l(1696)](e.RcjKZ,e[l(517)]))yyfxgo.NXRHK(_0x47d4a2,_0x449757.error),yyfxgo[l(947)](_0x122de8);else{let g=-1;async function E(S){let w=l;if(e.KsjKx(e[w(1575)],e[w(1575)]))return e[w(1471)](S,g)?Promise[w(1827)](new Error(w(1805)+"alled mu"+w(992)+w(830)+w(1267))):(g=S,e.ypziN(S,s.length)?Promise.resolve():s[S][w(1487)](a)(r,E.bind(null,S+1)));for(var D in _0x3f235f)_0x349f87.o(_0x1faf65,D)&&!_0x154b4d.o(_0xdc63c1,D)&&_0x4832b0.defineProperty(_0x16cf54,D,{enumerable:!0,get:_0x149fff[D]})}e[l(1509)](E,0)}}function Sl(a){let r=t,s=0,l=0;for(let f=0;e[r(1083)](f,a[r(582)]);++f)l=a[r(979)+"At"](f),e[r(1515)](l,128)?s+=1:e[r(1788)](l,2048)?s+=2:e[r(1783)](e[r(1765)](64512,l),55296)&&e[r(1646)](e[r(515)](64512,a[r(979)+"At"](e[r(1512)](f,1))),56320)?(++f,s+=4):s+=3;return s}function Il(a,r,s){let l=t;if(e[l(1674)](e.tqowf,e[l(1030)])){let f=l(887)+_0x31bbe5+(" timeout"+l(898)+"tries re"+l(1713));this._debug(f),this[l(1098)+l(1205)+"ent"](e[l(735)](_0x2fc668,e.WpHXx,{message:f,code:_0x4cced1[l(844)+l(1214)+"R"]}));return}else{if(e[l(945)](e[l(619)](s,r),1))return"";let f="";for(let g=r;e[l(1341)](g,s);){let E=a[g++];if(e[l(1471)](E,127))f+=String[l(952)+l(663)](E);else if(e.BXBxp(E,192)&&e[l(1197)](E,224))f+=String[l(952)+"Code"](e[l(1807)](e[l(1488)](31&E,6),e.ryQjj(63,a[g++])));else if(e[l(485)](E,224)&&e[l(1515)](E,240))f+=String[l(952)+l(663)](e[l(1519)](e[l(820)](e[l(550)](15&E,12),e.xrQnJ(e[l(478)](63,a[g++]),6)),63&a[g++]));else if(e[l(1670)](E,240)){let S=e[l(460)](e[l(1094)](e.nWzOC(e[l(872)](e.yWSCZ(7,E),18),e.xPffJ(e[l(816)](63,a[g++]),12))|e[l(1716)](e[l(617)](63,a[g++]),6),e[l(1562)](63,a[g++])),65536);f+=String[l(952)+l(663)](e[l(755)](55296,e.POWbT(S,10))),f+=String["fromChar"+l(663)](e[l(832)](56320,e[l(1224)](1023,S)))}}return f}}function Pa(a,r,s){let l=t,f=s,g,E;for(let S=0;e.WvveX(S,a.length);++S)if(g=a[l(979)+"At"](S),e[l(1613)](g,128))r[s++]=g;else if(e[l(1291)](g,2048))r[s++]=e[l(655)](e[l(1215)](g,6),192),r[s++]=e[l(489)](e.NDOSG(63,g),128);else if(e[l(537)](64512,g)===55296&&(64512&(E=a[l(979)+"At"](e.Dgeka(S,1))))===56320){let w=(l(761)+l(1481))[l(1279)]("|"),D=0;for(;;){switch(w[D++]){case"0":g=65536+(e[l(954)](1023,g)<<10)+(1023&E);continue;case"1":r[s++]=e[l(498)](e.kmZUS(g,18),240);continue;case"2":r[s++]=e[l(458)](e[l(1461)](e.AloAK(g,12),63),128);continue;case"3":r[s++]=e[l(727)](63,g)|128;continue;case"4":r[s++]=e.pxxCN(e[l(1684)](g,6)&63,128);continue;case"5":++S;continue}break}}else r[s++]=e[l(1731)](e[l(805)](g,12),224),r[s++]=e[l(1813)](e[l(1765)](e.zOjPA(g,6),63),128),r[s++]=e[l(638)](e[l(877)](63,g),128);return e.fZSbf(s,f)}async function Al(a){let r=t,s={CizfK:function(l,f){return e[K(741)](l,f)},iOnPo:function(l,f){return e[K(1171)](l,f)},CsGva:function(l,f){return e[K(1552)](l,f)},nUTzs:function(l,f){return e[K(1775)](l,f)}};if(e[r(883)](e[r(439)],typeof a))if(e[r(404)]===e.WfQXk){let l=new Uint8Array(e[r(1578)](Sl,a));return Pa(a,l,0),l}else return this[r(1263)]?vRkpYS.CizfK(vRkpYS.iOnPo(vRkpYS[r(1817)](this.high,0),_0x59af36),vRkpYS.nUTzs(this[r(1757)],0)):vRkpYS[r(1620)](this[r(431)],_0x554a45)+(this.low>>>0);return e.ELRfP(a,ArrayBuffer)?new Uint8Array(a):new Uint8Array(a[r(944)],a[r(1364)+"et"],a[r(1617)+"th"])}function cg(a){let r=t;try{if(e[r(1600)](e[r(1023)],e.KmjAU))return e[r(636)](e[r(439)],typeof a)&&(e[r(1074)](a,ArrayBuffer)||a[r(944)]&&e[r(1074)](a.buffer,ArrayBuffer))||e.tubtp(e[r(439)],typeof a)?"":(JSON[r(1834)](a),e.xQvFJ);this["_addWsLi"+r(472)]()}catch{return e[r(708)](e[r(525)],e[r(525)])?this[r(1207)]?.[r(1351)](_0x5896f9):e[r(1345)](e[r(439)],typeof a)?e[r(1419)]:""}}let dg=(a,r)=>{let s=t;switch(a){case e[s(913)]:case s(553):return{[s(1069)+a]:1,"x-tt-env":r};default:return{}}};class lg{constructor(r){let s=t;this[s(834)+s(1143)]=r,this[s(499)]=0}addCount(){let r=t;this[r(499)]++}[t(1219)+"chMaxCount"](){let r=t;return e[r(390)](this.count,this["maxLossC"+r(1143)])}[t(966)+t(1849)](r=0){let s=t;this[s(834)+"ount"]=r,this[s(499)]=0}}async function ug(a){return new Promise(r=>{let s=K,l={VCguP:s(447)+"reason"};if(!dr)return e[s(633)](r,e[s(616)]);try{let f=document["createEl"+s(649)](e[s(851)]);window[s(1385)+s(1382)]=g=>{let E=s;document[E(555)]["removeCh"+E(1594)](f),window[E(1385)+E(1382)]=void 0,r(g&&g[E(705)]||l[E(713)])},f[s(1830)]=e[s(1520)],f.src=e[s(1258)](a[s(809)](/^ws/,s(1108)),e[s(1789)]);try{document[s(555)][s(838)+s(1594)](f)}catch{document[s(555)][s(549)+"ild"](f)}}catch{window["frontier"+s(1382)]=void 0,r(e[s(616)])}})}function fn(a,r,s){let l=t;return!!a?.find(f=>f[l(1454)]===r&&f.value===s)}function lr(a,r){let s=t;return a?.[s(1845)](l=>l[s(1454)]===r)?.[s(1059)]}let Ca=null;async function fg(){let a=t;return Ca||(Ca=Promise[a(421)]()[a(1547)](Ut[a(1487)](Ut,e.GhBmQ))),Ca}class hg extends Ta{constructor(r,s){let l=t;super(),this[l(1397)]=r,this._keyPath=s,this[l(1207)]=void 0,this[l(1361)+l(717)]=null}async[t(648)](){await this._init()}async[t(890)](){let r=t;if(!this._qosDB){if(this[r(1361)+r(717)])return this["_initPro"+r(717)];try{let s=this._dbName,l=this._keyPath;this["_initPro"+r(717)]=(async()=>{let f=r;if(e[f(700)](f(565),e.HhewC)){let{openDB:g}=await e.lEcnh(fg);this[f(1207)]=await g("frontier_"+s,1,{upgrade(E){let S=f;E[S(1738)+S(403)+"e"](s,{keyPath:l})}})}else return _0x1fb79d||(_0x156048=[_0x120eb8[f(632)+"e"][f(509)],_0x223df2[f(632)+"e"].continue,_0x2acb96.prototype["continue"+f(1115)+"ey"]])})(),await this[r(1361)+r(717)]}catch(s){console[r(769)](s)}finally{this["_initPro"+r(717)]=null}}}async[t(1351)](r){let s=t,l={eQkIy:function(f,g){return f+g},LagUX:function(f,g){return e[K(670)](f,g)},cYokl:function(f,g){return e.YHoaw(f,g)},StUmm:function(f,g){return e[K(512)](f,g)},pnItL:function(f,g){return e.lKgQX(f,g)},qtCPT:function(f,g){return f<g},IgBhe:function(f,g){return e.Biwdy(f,g)}};try{if(e[s(937)](s(1697),e[s(1758)]))return await this[s(890)](),this[s(1207)]?.[s(1351)](this[s(1397)],r);_0x32e909=_0x17b1fd[iHUsZb[s(576)](iHUsZb[s(452)](_0x40edea,_0x932c5c),1)],iHUsZb[s(1293)](192&_0xb071dc,128)?_0x23b581+=_0x133743:(_0x149754=iHUsZb.StUmm(iHUsZb[s(1539)](31,_0x523a6b),6)|63&_0x48d8c3,iHUsZb[s(929)](_0x42f952,128)?_0x33139d+=_0xb7e2c2:(_0x579b8a+=iHUsZb.IgBhe(_0x11a29e,_0x5c7aa1),_0x3b9725++))}catch(f){console.log(f)}}async[t(1633)](r,s){let l=t;if(e[l(1152)](l(1669),e.MFTLV))return await this[l(890)](),this._qosDB?.[l(1241)](this[l(1397)],r);this._binaryType=_0x324966,this[l(787)]&&(this[l(787)].binaryType=_0x2429b5)}async[t(557)](r){let s=t;try{return await this[s(890)](),this[s(1207)]?.[s(533)](this[s(1397)],r)}catch(l){console[s(769)](l)}}async[t(1838)](){let r=t;try{if(e[r(1469)]("iHECN",r(1747)))return await this[r(890)](),this[r(1207)]?.[r(1838)](this[r(1397)]);++_0x287825,_0x44dce9+=4}catch(s){console[r(769)](s)}}async[t(1176)](){let r=t;return await this[r(890)](),this[r(1207)]?.[r(656)+"ys"](this[r(1397)])}async[t(1673)](){let r=t;return await this[r(890)](),this._qosDB?.[r(1673)](this[r(1397)])}async closeDB(){let r=t;try{this[r(1207)]?.[r(824)](),this[r(1207)]=void 0}catch(s){console[r(769)](s)}}get[t(1195)](){let r=t;try{return!!this[r(1207)]}catch(s){return console[r(769)](s),!1}}}class xg{constructor(r,s){let l=t;this[l(1792)]=r,this[l(1051)]=s,this._qosDB=localStorage}async[t(648)](){}get[t(1323)](){return"frontier_"+this[t(1792)]}async[t(1351)](r){let s=t,l={gzgiP:function(f,g){return f<g},kNygA:function(f,g){return e[K(1037)](f,g)},YkgTi:function(f,g){return f>>g},lVZRc:function(f,g){return e[K(852)](f,g)},foznF:function(f,g){return e.HOodJ(f,g)}};if(e[s(527)]("cfEWC",e[s(981)]))DaMALz[s(1428)](_0x4203fa,65536)?_0x1bb596[_0x5b4667++]=DaMALz[s(1321)](DaMALz.YkgTi(_0x45b84b,12),15)|224:(_0x2993eb[_0x3ad867++]=DaMALz[s(518)](DaMALz[s(798)](DaMALz[s(1485)](_0x1ac2b2,18),7),240),_0x38e8bf[_0x948327++]=DaMALz[s(518)](DaMALz[s(1321)](DaMALz.YkgTi(_0x2d3b5d,12),63),128)),_0x3e9f7f[_0x44532f++]=DaMALz[s(518)](DaMALz.foznF(DaMALz[s(1485)](_0x2b26e4,6),63),128);else{let f=this[s(1207)][s(1771)](this[s(1323)]);return JSON[s(1834)](e[s(905)](f,"{}"))[r]}}async set(r,s){let l=t,f=this._qosDB[l(1771)](this[l(1323)]),g=JSON[l(1834)](e[l(905)](f,"{}"));return g[s||r[this[l(1051)]]]=r,this[l(1207)].setItem(this[l(1323)],JSON[l(881)+"y"](g)),s||r[this[l(1051)]]}async[t(557)](r){let s=t,l=this[s(1207)][s(1771)](this[s(1323)]),f=JSON[s(1834)](l||"{}");return f[r]=void 0,this[s(1207)][s(685)](this[s(1323)],JSON[s(881)+"y"](f))}async[t(1838)](){let r=t,s={tkKrf:function(l){return e[K(1363)](l)},OiQtV:function(l,f,g){return e[K(429)](l,f,g)}};if(e[r(751)]!==e[r(751)]){_0x98bc3b(_0x17af01,42);let l=nCgsXc[r(695)](_0xf90b26);nCgsXc.OiQtV(_0x342c39,_0x37db9c,l),_0x1973da(_0x38078f,l[r(1796)]),_0x23a764(_0xdb7392,l),_0x3ff621(l)}else return this[r(1207)][r(1838)]()}async[t(1176)](){let r=t,s=this[r(1207)][r(1771)](this[r(1323)]),l=JSON[r(1834)](e[r(1559)](s,"{}"));return Object[r(1176)](l)}async getAll(){let r=t,s={YcAWp:function(l,f,g,E){return e[K(970)](l,f,g,E)},UkyNl:e[r(1424)],JVMbK:e[r(407)],WTudl:function(l,f){return e.EeKVU(l,f)},jdIlt:e.cvwNG,STxeS:function(l,f){return l||f},ArLMz:r(702),XjDYd:function(l){return e[r(878)](l)}};if(r(662)!==e[r(1579)]){let l=this[r(1207)][r(1771)](this[r(1323)]),f=JSON[r(1834)](l||"{}");return Object.values(f)}else{let{enableAutoAck:l}=this[r(1417)],f=s[r(1567)](_0xc74045,_0x5dfccd.message[r(450)],s.UkyNl,"1"),g=_0x3de20a(_0x2d5cf9[r(463)][r(450)],s.JVMbK,"1"),E=_0x27df0f[r(1688)](this,_0x45c696);if(s[r(1665)](l,f)){let{SeqID:S,LogID:w,service:D,LogIDNew:F,method:N}=_0x4a0de2[r(463)];this._sendAck({SeqID:S,LogID:w,LogIDNew:F,service:D,method:N,headers:[{key:r(1640),value:"1"},{key:s[r(486)],value:s[r(1799)](F,"")},{key:s.ArLMz,value:"0"}]})}g&&!E[r(628)]&&this[r(1098)+r(1822)+r(1371)](_0x22dba6),s.XjDYd(_0x1ddd5e)}}[t(1147)](){return Promise.resolve()}get[t(1195)](){return!!this[t(1207)]}}class pg{constructor(r,s){let l=t;this._DBName=r,this._pathKey=s,this[l(1207)]=Ln?tt:oi?wx:null}async openDB(){}get[t(1323)](){let r=t;if(e[r(1646)](e[r(823)],e[r(823)]))return r(1385)+"_"+this._DBName;{let s=0,l=0;for(let f=0;e[r(961)](f,_0x3e1bc8.length);++f)l=_0x471f5a[r(979)+"At"](f),e.arReY(l,128)?s+=1:e[r(1515)](l,2048)?s+=2:e[r(762)](e[r(601)](64512,l),55296)&&e[r(1001)](64512,_0x5536d2[r(979)+"At"](e[r(1258)](f,1)))===56320?(++f,s+=4):s+=3;return s}}async[t(1351)](r){let s=t,l=this._qosDB["getStora"+s(1773)](this[s(1323)]);return JSON[s(1834)](e[s(1720)](l,"{}"))[r]}async set(r,s){let l=t,f=this[l(1207)][l(675)+l(1773)](this._prefix),g=JSON.parse(e.xuvRi(f,"{}"));return g[s||r[this._pathKey]]=r,this._qosDB[l(1401)+l(1773)](this[l(1323)],JSON[l(881)+"y"](g)),s||r[this[l(1051)]]}async[t(557)](r){let s=t,l=this._qosDB[s(675)+s(1773)](this[s(1323)]),f=JSON[s(1834)](e[s(1230)](l,"{}"));return f[r]=void 0,this[s(1207)][s(1401)+s(1773)](this._prefix,JSON[s(881)+"y"](f))}async clear(){let r=t;return this[r(1207)]["clearSto"+r(1326)]()}async keys(){let r=t,s=this[r(1207)][r(675)+"geInfoSync"](this[r(1323)]),l=JSON[r(1834)](e.oumZP(s,"{}"));return Object[r(1176)](l)}async getAll(){let r=t,s=this[r(1207)][r(675)+r(1573)+"nc"](this[r(1323)]),l=JSON[r(1834)](e[r(1625)](s,"{}"));return Object[r(1734)](l)}closeDB(){return Promise[t(421)]()}get isReady(){return!!this[t(1207)]}}function kl(a,r){let s=t;if(Ln||Ln)return new pg(a,r);if((dr||ai)&&e.tubtp(e.PhKjQ,typeof indexedDB))return new hg(a,r);if(e[s(1720)](dr,ai)&&e[s(1455)](e.PhKjQ,typeof localStorage))return new xg(a,r);throw new Error(s(1412)+s(1168)+"d")}class gg{constructor(){let r=t;this[r(425)+r(504)+"Id"]=null,this._interval=36e5,this._qosDB=e.mSJAw(kl,e[r(1616)],e[r(1611)])}async[t(425)+t(667)](){let r=t;e[r(1120)](clearInterval,this[r(425)+"lTimeoutId"]),this[r(425)+r(504)+"Id"]=setInterval(()=>{this[r(1859)+"ired"]()},this[r(425)+"l"])}async[t(648)](){let r=t;await this[r(1207)][r(648)]()[r(1547)](()=>{this["_interva"+r(667)]()})}async[t(1859)+"ired"](){let r=t;(await this[r(1207)]?.[r(1673)]()||[])[r(915)](({timestamp:f})=>f<Date.now())[r(581)](f=>{let g=r;this._qosDB?.del(f[g(1170)+"id"])})}async[t(557)](r){return this[t(1207)]?.del(r)}async[t(1633)](r,s){let l=t;if(e[l(563)](e[l(1298)],"vfksN")){if(e[l(1140)](_0x18027f,_0xf1ad0d))return _0x5eee3a?_0x502f39:_0x30582a;if(_0x44e901){if(e[l(671)](_0xbdc3e3,_0x2f847c))return _0x520a0c}else{if(_0xbb750d<=-_0x2ffbe6)return _0x1f368c;if(_0x2cbd3c+1>=_0x237043)return _0x5c716f}return _0x424651[l(1456)](e.NgVCw(e[l(1331)](_0x3d8faa,_0x4d5049),0),e[l(1833)](_0x3ea7b8/_0x41905c,0),_0x3c564f)}else return this[l(1207)]?.[l(1633)]({message_id:r,timestamp:s})}async[t(1351)](r){let s=t;if(e[s(708)](s(613),e[s(1172)]))return this._qosDB?.[s(1351)](r);this[s(1503)+s(1762)]?.[s(1313)+s(1499)+s(1778)](),this[s(1184)+s(1450)]?.[s(966)+s(1849)](),this[s(1434)+s(607)]=!1,this._isInit=!0,this[s(1043)]()}async closeDB(){let r=t;clearInterval(this[r(425)+r(504)+"Id"]),await this[r(1207)]?.[r(1147)]()}get isReady(){let r=t;return this[r(1207)]?.[r(1195)]}}function Ra(a){let r=t,s=!!this[r(1417)][r(736)+"S"];if(!s)return{enabled:s,isQoSMessage:!1,isQoSAck:!1,isAckCleanupMessage:!1,ackMsgIds:[]};let l=e[r(1804)](fn,a.message[r(450)],e[r(1133)],"2"),f=l&&e.knGGS(fn,a.message.headers,e[r(1548)],"1"),g=l&&fn(a[r(463)][r(450)],r(985)+r(1800)+"k","1"),E=g?e.tKNij(lr,a[r(463)][r(450)],e.GvVUx)?.[r(1279)](",").filter(Boolean)||[]:[];return{enabled:s,isQoSMessage:l,isQoSAck:f,isAckCleanupMessage:g,ackMsgIds:E}}async function Tl(){let a=t;return this[a(1657)+"ger"]||(this[a(1657)+a(1339)]=new gg),this[a(1657)+a(1339)].isReady||await this[a(1657)+a(1339)][a(648)](),this[a(1657)+a(1339)]}async function mg(a,r){let s=t,{enableAutoAck:l}=this._options,f=e[s(867)](fn,a[s(463)][s(450)],e[s(1424)],"1"),g=e[s(970)](fn,a[s(463)][s(450)],s(1640),"1"),E=Ra[s(1688)](this,a);if(e[s(1612)](l,f)){let{SeqID:S,LogID:w,service:D,LogIDNew:F,method:N}=a[s(463)];this[s(1742)]({SeqID:S,LogID:w,LogIDNew:F,service:D,method:N,headers:[{key:e[s(407)],value:"1"},{key:e[s(1768)],value:F||""},{key:e[s(1079)],value:"0"}]})}g&&!E[s(628)]&&this[s(1098)+s(1822)+s(1371)](a),e.lEcnh(r)}async function wg(a,r){let s=t;this._debug(s(1693),a[s(463)]),e[s(1363)](r)}async function _g(a,r){let s=t,l=e.dPVpf(dn,await e[s(1749)](Al,a[s(1658)]));try{if(e[s(1696)](e[s(733)],e[s(1821)])){let f=_0x3c598e[s(1712)],g=_0x2e4ecc.limit;return e[s(1210)](f[s(582)],g)?f:f[s(531)](0,g)}else if(e[s(1074)](l[s(1194)],Uint8Array)){let f=e.ELRfP(this[s(1417)]["payloadE"+s(775)],Object)?{force:!!this[s(1417)][s(1107)+"ncoding"][s(1711)],encoding:this[s(1417)][s(1107)+s(775)][s(1353)]?this[s(1417)][s(1107)+"ncoding"][s(1353)][s(809)](/\s/g,"")[s(1642)+s(1843)]():""}:{force:!1,encoding:this[s(1417)][s(1107)+s(775)]?this[s(1417)][s(1107)+"ncoding"][s(809)](/\s/g,"")[s(1642)+s(1843)]():""},g=l[s(1107)+s(775)]?l[s(1107)+s(775)][s(809)](/\s/g,"")["toLowerC"+s(1843)]():"",E=e.swoCe(this[s(1417)].payloadType,Object)?{force:!!this._options[s(391)+s(474)].force,type:this._options.payloadType[s(1830)]?this._options[s(391)+s(474)][s(1830)][s(809)](/\s/g,"").toLowerCase():""}:{force:!1,type:this[s(1417)][s(391)+s(474)]?this[s(1417)].payloadType.replace(/\s/g,"")["toLowerC"+s(1843)]():""},S=l[s(391)+"ype"]?l[s(391)+s(474)][s(809)](/\s/g,"")[s(1642)+s(1843)]():"",w=E[s(1711)]?E.type:S||E[s(1830)],D=f[s(1711)]?f.encoding:g||f.encoding,F=[e[s(1419)],e[s(1489)],e[s(1643)],e[s(439)]],N=[e[s(1857)],e[s(672)]];this[s(1417)]["enableTransformT"+s(657)+"ad"]&&F[s(790)](w)&&(!D||N[s(790)](D))?l["textPayl"+s(1090)]=Il(l[s(1194)],0,l[s(1194)][s(1617)+"th"]):l[s(1443)+s(1090)]=""}else l[s(1443)+s(1090)]=""}catch(f){l[s(1443)+s(1090)]="",console[s(769)](f)}a[s(463)]=l,e[s(627)](r)}function yg(a,r,s){let l=t,f=s||8192,g=e[l(615)](f,1),E=null,S=f;return function(w){let D=l;if(e[D(666)](w,1)||w>g)return e.AfXrW(a,w);e.PMCJl(S+w,f)&&(E=e[D(1120)](a,f),S=0);let F=r.call(E,S,S+=w);return e.BavOJ(7,S)&&(S=e[D(1415)](e[D(410)](7,S),1)),F}}let bg=4294967295;function Eg(a,r,s){let l=t;return e[l(1216)](RangeError,e[l(612)](e.LeFhQ(e[l(768)](e[l(475)]("index ou"+l(940)+"ge: ",a),e[l(1505)]),e[l(673)](r,1))+e.WDqXy,s))}function vg(a,r,s){let l=t;if(e[l(911)](s,bg))throw new Error(e.RAOAF);let f=3;for(;f>=0;){let g=255&s;Oa(g,a,e.Dytau(r,f)),s>>>=8,f--}return e[l(670)](r,4)}function Sg(a,r){let s=t,l=0,f=r,g=e[s(1532)](r,4);for(;f<g;){let{value:E,offset:S}=e[s(429)](Da,a,f);f=S,l=e[s(427)](e[s(1488)](l,8),0),l+=E}return{value:l,offset:g}}function Ig(a,r,s){let l=t;if(e.ipgOo(l(1007),e[l(1394)]))return this["currentEndpointT"+l(1819)+"t"]++,this[l(1280)+"ntEndpoint"]();{let f=(l(614)+"3").split("|"),g=0;for(;;){switch(f[g++]){case"0":if(e[l(1788)](a[l(582)],40))return e[l(1375)](Pa,a,r,s)+s;continue;case"1":if(r[l(701)])return e.SsrwY(r[l(701)](a,s),s);continue;case"2":if(!a)return s;continue;case"3":return Pa(a,r,s)+s;case"4":if(r[l(1017)+"e"])return e.Jiibi(r[l(1017)+"e"](a,s),s);continue}break}}}function Ag(a,r){let s=t,l={ijyhZ:function(f,g){return f||g}};if(e.EOpxe(e[s(455)],e.AlmzO)){let f=this[s(1207)][s(1771)](this[s(1323)]),g=_0xab7573.parse(kEtAov[s(637)](f,"{}"));return g[_0x27cdc2||_0xa8b4dd[this[s(1051)]]]=_0x3f76dd,this[s(1207)].setItem(this._prefix,_0x1bd063[s(881)+"y"](g)),_0x56bed8||_0x590e62[this[s(1051)]]}else{let f=new xe(e[s(1615)](e[s(863)](e[s(963)](e.KPpqZ(a[e.zfxqD(r,4)],24),e[s(1357)](a[e[s(1464)](r,5)],16)),e[s(1062)](a[e.HpJwu(r,6)],8)),a[r+7]),e[s(1317)](e[s(1630)](e[s(868)](a[e[s(1532)](r,0)],24)|e[s(1576)](a[r+1],16),e[s(1367)](a[e.OuVmi(r,2)],8)),a[e.QNvOo(r,3)]),!0);return r+=8,{value:f,offset:e.cTCBp(r,8)}}}function kg(a,r,s){let l=t,f=a[l(1757)],g=a[l(431)];return r[s]=g>>>24,r[e[l(1730)](s,1)]=e.sgmiC(e[l(1775)](g,16),255),r[e[l(1415)](s,2)]=e.ACvnP(g>>>8,255),r[s+3]=255&g,r[s+4]=e[l(835)](f,24),r[e.XzXqD(s,5)]=e[l(948)](f,16)&255,r[s+6]=e[l(545)](e[l(1113)](f,8),255),r[s+7]=e[l(1524)](255,f),s+=8,s}function Da(a,r){let s=t;return a[s(500)+"8"]?{value:a[s(500)+"8"](r),offset:e[s(523)](r,1)}:{value:255&a[r],offset:e[s(1772)](r,1)}}function Oa(a,r,s){let l=t;return r[l(782)+"t8"]?r[l(782)+"t8"](a,s):r[s]=e.HAejD(255,a),e.btvnn(s,1)}let Tg=function(a){let r=t;if(e[r(1493)](e.pQhiV,e[r(987)])){if(!this["_navigat"+r(1574)]()||this[r(1434)+r(607)])return;this["_endpoin"+r(1762)]?.[r(1313)+r(1499)+r(1778)](),this[r(1184)+r(1450)]?.["resetCou"+r(1849)](),this[r(787)]?this[r(1127)+r(1706)](1001,"going aw"+r(1490)+"reconnecting ser"+r(986),!0):this[r(1043)]()}else return new Uint8Array(a)},Pg=e[t(562)](e[t(1146)],typeof Buffer)?Buffer[t(1662)+"afe"]:e[t(381)](yg,Tg,Uint8Array[t(632)+"e"].subarray);(()=>{let a=t,r={SaidF:e[a(1475)],qKiZb:function(l,f){return l>>>f},yVlzI:function(l,f){return e[a(907)](l,f)},aKVsC:function(l,f){return e[a(1225)](l,f)},yUlaP:function(l,f){return e[a(1190)](l,f)},Hfcmj:function(l,f){return l|f},DoEJN:function(l,f){return l<f},DXyHZ:function(l,f){return e[a(638)](l,f)},WbtlD:function(l,f){return e[a(1177)](l,f)},ENHVk:function(l,f){return e[a(601)](l,f)},LdiDr:function(l,f){return e.RoZQK(l,f)},wjbYv:function(l,f){return e.ZWLij(l,f)},smLte:function(l,f){return e[a(1357)](l,f)},HKbgg:function(l,f){return e[a(793)](l,f)},SkodY:function(l,f){return e.HOodJ(l,f)},GZhFc:function(l,f){return e[a(1569)](l,f)},wKeNv:function(l,f){return e[a(674)](l,f)}},s=4294967295;return function(l,f,g=!0){let E=a,S=r[E(1128)][E(1279)]("|"),w=0;for(;;){switch(S[w++]){case"0":if((f+=5)>l[E(582)])throw f=l[E(582)],Eg(f,10,l[E(582)]);continue;case"1":s=r.qKiZb(r[E(1596)](s,r.aKVsC(r[E(743)](127,l[f]),7)),0);continue;case"2":if(l[f++]<128)return{value:g?s:r[E(483)](0,s),offset:f};continue;case"3":if(r[E(759)](l[f++],128))return{value:g?s:r[E(428)](0,s),offset:f};continue;case"4":s=r[E(428)](s,r[E(1660)](r[E(732)](127,l[f]),21))>>>0;continue;case"5":s=r[E(1596)](s,r[E(789)](127&l[f],14))>>>0;continue;case"6":if(l[f++]<128)return{value:g?s:r[E(1681)](0,s),offset:f};continue;case"7":s=r[E(1671)](s|r[E(1044)](r.yUlaP(15,l[f]),28),0);continue;case"8":s=r[E(1844)](r[E(1517)](127,l[f]),0);continue;case"9":return{value:g?s:0|s,offset:f};case"10":if(r.DoEJN(l[f++],128))return{value:g?s:0|s,offset:f};continue;case"11":if(r[E(1614)](l[f++],128))return{value:g?s:r.wKeNv(0,s),offset:f};continue}break}}})();let Cg=16,La=32;function Rg(a){let r=t,s=0,l={};for(let f=0;e[r(1149)](f,a[r(582)]);f++)l[a[f][r(1541)+r(1248)]]=e[r(1509)](Sl,a[f][r(1541)+r(1248)]),s+=e[r(960)](14,l[a[f]["cursor_n"+r(1248)]]);return[s,l]}function Pl(a,r,s){let l=t,[f,g]=e[l(1598)](Rg,a),E=e.vowIL(Pg,f),S=0;return a.forEach(w=>{let D=l,F={RbdVJ:function(N,q){return e[K(669)](N,q)},ASZhr:function(N,q){return e[K(1190)](N,q)},TijLW:function(N,q){return e[K(1748)](N,q)},GipaD:function(N,q){return e.PxpBN(N,q)},UnghA:function(N,q){return e[K(926)](N,q)},RsWLl:function(N,q){return e[K(1036)](N,q)},EbHWH:function(N,q){return e.WkdTy(N,q)}};if(e.ZLayo(e[D(1247)],e[D(1372)])){_0x1bccdb[D(799)](_0xb58e6d)||(_0x4156d2=_0x40bd50[D(969)+"er"](_0x1c3409));let N=VBWVaL[D(1157)](this[D(431)],16),q=VBWVaL.ASZhr(65535,this[D(431)]),V=VBWVaL[D(1672)](this[D(1757)],16),J=65535&this[D(1757)],at=_0x438487.high>>>16,$e=65535&_0x528c04[D(431)],Fe=_0x490209[D(1757)]>>>16,jt=VBWVaL.GipaD(65535,_0x5671bd[D(1757)]),qt=0,Nn=0,Wt=0,ur=0;return ur+=VBWVaL[D(1644)](J,jt),Wt+=VBWVaL[D(1672)](ur,16),ur&=65535,Wt+=V+Fe,Nn+=VBWVaL[D(1672)](Wt,16),Wt&=65535,Nn+=q+$e,qt+=Nn>>>16,Nn&=65535,qt+=VBWVaL.UnghA(N,at),qt&=65535,_0x455f14.fromBits(VBWVaL[D(559)](VBWVaL[D(1635)](Wt,16),ur),qt<<16|Nn,this[D(1263)])}else console.log(D(1063)+"ervice",w,w[D(664)]),S=e[D(564)](Oa,0,E,S),console[D(769)](e[D(1060)],S),S=e.HIcnQ(vg,E,S,w[D(664)]||0),console[D(769)](D(664),S),S=Oa(g[w[D(1541)+"ame"]],E,S),console[D(769)](D(906)+D(437),S),S=Ig(w[D(1541)+"ame"],E,S),console[D(769)](e[D(1753)],S),S=kg(xe.fromNumber(w[D(1396)]||r),E,S),console[D(769)](e.HHRmh,S)}),{frameType:La,headers:[{key:e[l(1430)],value:s}],payload:E}}function Dg(a){let r=t;if(e.wnETN(e[r(1868)],e.hcLbK)){let s=0,l=[];for(;e[r(1354)](s,a[r(1617)+"th"]);){let{offset:f}=Da(a,s);s=f;let g={cursor_name:"",cursor:0,service:0},{value:E,offset:S}=e[r(1725)](Sg,a,s);g[r(664)]=E,s=S;let{value:w,offset:D}=e[r(381)](Da,a,s);s=D,g[r(1541)+r(1248)]=e.lDsHs(Il,a,s,e[r(1039)](s,w)),s+=w;let{value:F,offset:N}=e[r(707)](Ag,a,s);g[r(1396)]=F[r(1680)](),s=N,l.push(g)}return l}else return this[r(1503)+"tManager"]?.[r(1280)+"ntEndpointTriesCount"]()||0}function Og(){let a=t,r={frnYJ:function(s,l,f){return e[K(1774)](s,l,f)},QjbCo:e[a(1187)]};if(e[a(1365)](e.CwuFZ,e[a(760)])){let s=this[a(1503)+a(1762)]?.[a(1280)+a(1045)+"nt"]();this[a(1098)+a(953)+a(842)](r[a(1099)](_0x1ec2cd,r.QjbCo,{code:_0x184b75[a(1416)],reason:"connecti"+a(1507)+a(1510)+"wn reaso"+a(1294)+a(1699)+s})),this[a(1503)+a(1762)]?.resetEndpointConfig(),this[a(1184)+a(1450)]?.[a(966)+a(1849)]();return}else return{frameType:La,headers:[{key:a(1423)+"ile_name",value:"FILE_NOT_EXIST"}],payload:void 0}}class Lg{constructor(r,s,l){let f=t;this[f(435)+f(1065)]=r,this["_cursorF"+f(1704)]=s,this[f(718)+f(409)]=l,this._qosDB=kl(this["_cursorN"+f(1065)],e.pqPdc)}async[t(648)](){let r=t;await this._qosDB[r(648)]()}async[t(1440)+"rs"](){let r=t;if(!this._qosDB[r(1195)])return;let s=this["_message"+r(409)],l=await this[r(1207)][r(1673)]();switch(console[r(769)](e.RUgrE,l),s){case e[r(1119)]:return l&&l.length?e[r(564)](Pl,l,0,this[r(1405)+r(1704)]):void 0;case e.BIeky:return;case e[r(724)]:return l&&l.length?Pl(l,0,this[r(1405)+r(1704)]):Og()}}async[t(1633)](r,s,l){let f=t;return console[f(769)](e[f(1477)],r,s,l),this[f(1207)].set({cursor_name:r,cursor:s,service:l})}async[t(734)+"rs"](r){let s=t,l=Dg(r);for(let f of l)console.log(e[s(1483)],l),await this[s(1207)].set(f)}async[t(1351)](r){let s=t;return(await this._qosDB[s(1351)](r))?.[s(1396)]}async[t(1147)](){let r=t;await this[r(1207)][r(1147)]()}[t(1458)+"rsorFile"+t(1264)](r){let s=t;this[s(1405)+"ileName"]=r}get[t(1195)](){let r=t;return e.wbOca(e[r(442)],e.lFVQW)?this[r(1207)][r(1195)]:_0x41cb7f(_0x456af8)}}let Ng=e[t(513)];async function Cl(a){let r=t;if(!this[r(1417)][r(736)+"S"])return null;let{aID:s,fpID:l,messageStrategy:f}=this[r(1417)],g=e[r(1369)](a,Ng);try{return this[r(1148)+r(1101)]?a&&this[r(1148)+r(1101)][r(1458)+r(484)+r(1264)](a):this[r(1148)+"anager"]=new Lg(l+"_"+s+"_"+g,g,f),this[r(1148)+r(1101)].isReady||await this[r(1148)+r(1101)].openDB(),this[r(1148)+r(1101)]}catch{return null}}async function Mg(a,r){let s=t,l=e.bDJUB(fn,a[s(463)][s(450)],e[s(1374)],"-1"),f=fn(a[s(463)][s(450)],e[s(407)],"1"),g=e[s(749)](lr,a[s(463)][s(450)],e[s(897)]),E=e.kisGu(Number,lr(a[s(463)][s(450)],e.tSEzu))||0,S=Ra[s(1688)](this,a),w=fn(a[s(463)][s(450)],s(815)+"s","2"),D=e.AMHoD(lr,a[s(463)][s(450)],e[s(1586)]),F=e[s(575)](Number,lr(a[s(463)].headers,"x-msg-cu"+s(1607)+"ue"));if(S[s(628)])return e[s(567)](r);let N=S[s(1436)+"sage"]?await Tl[s(1688)](this):null;if(e.QQeIi(a[s(463)][s(664)],0)&&f&&!l||e[s(870)](a.message.service,0)){if(g&&S["isQoSMes"+s(794)]&&N)if(e.YnwTL(e[s(785)],s(1121)))e.fTvOR(_0x5ab4a5,_0x23acfb,74),e[s(1593)](_0x43c7bf,_0xa5fc1e,_0x47f10e);else return!!!await N.get(g)&&(this[s(1098)+"hMessage"+s(806)](a),await N[s(1633)](g,e[s(1346)](Date.now(),E))),e[s(567)](r);if(w){let q=await Cl.call(this);if(!q)return this[s(1098)+s(927)+s(806)](a),e[s(1307)](r);let V=await q[s(1351)](D)??-1;if(e[s(1476)](V,F))this[s(1098)+s(927)+s(806)](a),q.set(D,F,a[s(463)].service);else throw new Error(s(1162)+s(1388)+" cursor "+F+(s(959)+s(1568)+"al cursor ")+V);return e[s(1307)](r)}return this[s(1098)+s(927)+"Event"](a),e[s(878)](r)}}async function Bg(a,r){let s=t,l=Ra[s(1688)](this,a);if(!l["isQoSMes"+s(794)])return e[s(878)](r);let f=await Tl[s(1688)](this);if(l["isAckCleanupMess"+s(763)]&&l[s(415)+"s"].length)for(let g of l[s(415)+"s"])await f.del(g);e.CuqUo(r)}async function Fg(a,r){let s=t,l=e[s(703)](a[s(463)][s(679)+"e"],Cg),f=e[s(721)](a.message[s(679)+"e"],La);if(!l&&!f)return r();let g=e[s(1407)](lr,a[s(463)][s(450)],s(1423)+"ile_name");if(!g)return e[s(1381)](r);let E=await Cl[s(1688)](this,g);if(!E)return e[s(1114)](r);if(l){let S=await E[s(1440)+"rs"](),w={frameType:S?.[s(679)+"e"],SeqID:xe[s(969)+"er"](this[s(413)]++),LogID:xe[s(969)+"er"](this._options["logIDGen"+s(1523)]()),service:9e3,method:5,headers:S?.[s(450)],payload:S?.[s(1194)]},D=e.xSDEW(v,w);this._ws&&this._ws[s(1692)+"te"]&&this._ws[s(1021)](D)}if(f){let S=a.message[s(1194)];S&&E.setCursors(S)}}let zg=async function(a,r){let s=t;if(e[s(1700)](e.oPEOf,e[s(1502)]))try{return!!this[s(1207)]}catch(l){return _0x4f5b55[s(769)](l),!1}else this[s(681)]=!1,clearTimeout(this[s(1043)+"ionTimeo"+s(714)]),r()},Ug=async function(a,r){let s=t;if(!this[s(787)]||e[s(708)](this._ws[s(1692)+"te"],this[s(1322)]))return e[s(1513)](r);let{pingInterval:l}=this[s(1417)];this[s(1503)+s(1762)]?.[s(1313)+s(1499)+s(1778)]();for(let g=0;e[s(1476)](g,this[s(718)+"Queue"][s(582)]);g++){let E=this[s(718)+s(1105)][g];if(e[s(1826)](this[s(787)][s(1692)+"te"],this[s(1322)])&&e.CTQen(null,E))this[s(787)]&&this[s(787)][s(1021)](E),this[s(718)+s(1105)][g]=null;else break}this[s(718)+s(1105)]=this["_message"+s(1105)][s(915)](g=>!!g),this[s(1004)+s(1538)+"Id"]=e[s(918)](setTimeout,()=>this[s(1012)](),l),this._dispatchOpenEvent(a),this[s(1553)+"er"]&&this._ws&&(this[s(787)][s(542)+"pe"]=this[s(430)+s(474)]);let f=this[s(1503)+s(1762)]?.[s(1280)+s(1045)+"nt"]();this[s(1314)](s(764)+f+" success"),r()},Hg=async function(a,r){let s=t,l=this[s(1503)+s(1762)]?.[s(1280)+"ntEndpoint"]();this[s(1314)](s(764)+l),e.Cpsoe(r)};class Gg extends Ta{constructor(r){let s=t,l={srguu:function(S,w,D){return e[K(871)](S,w,D)},SFqtn:function(S,w){return e.yTNRp(S,w)},ERDXU:function(S,w){return e[K(1814)](S,w)},TTNsO:e[s(1334)],XvmmV:e[s(983)],zvWuJ:function(S,w){return e[s(1173)](S,w)},PVHXU:"always",txrev:function(S,w){return e[s(1066)](S,w)},GavaV:s(560),rRpii:s(1261),qtjey:e[s(1019)],bPqeS:function(S,w,D){return e[s(1269)](S,w,D)},JHyPU:function(S,w){return e[s(1029)](S,w)},cKubc:function(S,w,D){return S(w,D)},OEGhh:function(S,w){return S!==w},EWlaI:e[s(471)],OhvVh:e.vuIbs,QHTgv:e[s(1187)],Qcfdo:function(S,w){return e[s(604)](S,w)},zyTbu:function(S,w,D){return S(w,D)},QGruj:function(S,w,D){return e.McKiM(S,w,D)}};super(),this[s(1466)+s(1283)+s(910)]=!0,this[s(1553)+"er"]=dr,this[s(1577)]=ig,this[s(395)+"T"]=Ln,this._isMiniWX=oi,this[s(596)+"r"]=ai,this[s(718)+s(1105)]=[],this[s(1503)+s(1762)]=null,this[s(1434)+s(607)]=!1,this[s(430)+s(474)]=e[s(1683)],this[s(1043)+s(1677)]=!1,this[s(1043)+s(776)+s(714)]=null,this[s(1384)+"ctTimeou"+s(1837)]=null,this[s(1004)+s(1538)+"Id"]=null,this[s(413)]=0,this._isInit=!1,this[s(1211)]="",this._QoSManager=null,this[s(1148)+s(1101)]=null,this[s(1184)+"sCounter"]=null,this[s(1736)+"ls"]=e[s(1237)],this.CLOSED=3,this[s(405)+"NG"]=0,this[s(1322)]=1,this[s(1347)]=2,this[s(1855)]=S=>{let w=s,D={PPprL:function(F,N,q){return l[K(448)](F,N,q)},QewyY:function(F,N){return l[K(588)](F,N)}};if(l[w(419)](l.TTNsO,l.XvmmV)){let{value:F,offset:N}=mHJoGJ[w(1135)](_0x16843f,_0x17ee42,_0x57e6c0);_0x1c0e74=N,_0x3f7662=mHJoGJ.QewyY(_0x44778e,8)>>>0,_0xa326e2+=F}else try{vl(this,S,[zg,Ug,Hg])}catch(F){let N=l.srguu(ft,w(974),{message:F[w(463)],code:un.OPEN_ERROR,error:F});this[w(1098)+w(1205)+w(842)](N)}},this[s(1056)+"ge"]=async S=>{let w=s,{pingInterval:D,pingFrequency:F}=this._options;if((l.ERDXU("hi",S[w(1658)])&&l[w(1408)](l[w(1664)],F)||l[w(1335)](l[w(933)],F))&&(this[w(1555)+w(470)](),this[w(1629)](w(516)+w(1231)+"s",l[w(1572)]),this["_pingPon"+w(1538)+"Id"]=setTimeout(this[w(1012)].bind(this),D)),!l[w(1408)]("hi",S[w(1658)]))try{vl(this,S,[_g,mg,Bg,Fg,Mg,wg])}catch(N){let q=l.srguu(ft,l[w(859)],{message:N.message,code:un["MESSAGE_"+w(1091)],error:N});this[w(1098)+w(1205)+w(842)](q)}},this[s(1300)]=S=>{let w=s,D=this[w(1503)+w(1762)]?.["checkRea"+w(644)+"es"](),F=this[w(1503)+w(1762)]?.[w(1280)+w(1045)+"nt"]();if(D&&!S[w(463)]){let N=w(887)+F+(w(1278)+"ax retri"+w(540)+"ed");this[w(1098)+w(1205)+w(842)](l.bPqeS(ft,l[w(859)],{message:N,code:un["MAX_RETR"+w(1214)+"R"],error:S}));return}this[w(787)]&&l[w(1131)](this[w(787)][w(1692)+"te"],this[w(1322)])&&this[w(1127)+"ect"](),this[w(1098)+w(1205)+w(842)](l[w(1867)](ft,l[w(859)],{message:S[w(463)],code:un[w(584)+w(1786)],error:S}))},this[s(1628)]=async S=>{let w=s;this[w(1608)+w(882)](),this[w(1555)+w(470)](),this[w(1e3)+"sListeners"](),this[w(787)]=null,this[w(1043)+"Lock"]=!1;let D=this[w(1503)+"tManager"]?.checkReachMaxTries();if(!D&&this["_navigat"+w(1574)]()&&!this[w(1434)+w(607)]){let F=this[w(1503)+w(1762)]?.[w(1280)+w(1045)+"nt"](),N=this[w(1417)][w(1623)+w(956)+w(1682)](S[w(1416)],S[w(1342)]);this[w(1098)+"hCloseEv"+w(842)](l[w(1675)](bt,w(824),{code:1006,reason:S.reason||"connecti"+w(1507)+w(1510)+w(738)+w(1294)+w(1699)+F,willReconnect:N})),N&&this[w(1043)]();return}if(S[w(1416)]!==1e3&&this[w(1434)+w(607)])if(l.OEGhh(l[w(1841)],l[w(737)])){this[w(1098)+w(953)+w(842)](bt(l.QHTgv,{code:1e3,reason:"bye"})),this[w(1503)+w(1762)]?.resetEndpointConfig(),this[w(1184)+w(1450)]?.["resetCou"+w(1849)]();return}else _0x5199c3=_0x1ef10e.concat(_0x3c5143),_0x479485=_0x2d6ad7.concat(_0x196790[_0xa4fcc1]);if(l.OEGhh(1e3,S[w(1416)])&&D){let F=this[w(1503)+"tManager"]?.["getCurre"+w(1045)+"nt"](),N=S[w(1342)];N||(N=await l[w(480)](ug,this[w(1211)])),N=w(1122)+w(1507)+w(630)+N+(w(899)+w(1193))+F+(w(898)+w(629)+w(1713)),this[w(1098)+w(953)+"ent"](l[w(1075)](bt,w(824),{code:S[w(1416)],reason:N}));let q="connect "+F+(w(1278)+w(1527)+w(540)+"ed");this[w(1098)+w(1205)+w(842)](l[w(643)](ft,"error",{message:q,code:un[w(844)+w(1214)+"R"]})),this[w(1503)+"tManager"]?.[w(1313)+"pointCon"+w(1778)](),this[w(1184)+w(1450)]?.[w(966)+w(1849)]();return}if(l.OEGhh(1e3,S[w(1416)])&&!S.reason){let F=this["_endpoin"+w(1762)]?.[w(1280)+w(1045)+"nt"]();this[w(1098)+w(953)+w(842)](l[w(643)](bt,l[w(1290)],{code:S.code,reason:"connecti"+w(1507)+"d, unkno"+w(738)+w(1294)+w(1699)+F})),this[w(1503)+w(1762)]?.[w(1313)+"pointCon"+w(1778)](),this[w(1184)+w(1450)]?.[w(966)+w(1849)]();return}this[w(1098)+w(953)+w(842)](S),this[w(1503)+w(1762)]?.[w(1313)+w(1499)+"fig"](),this[w(1184)+w(1450)]?.[w(966)+w(1849)]()},this[s(1163)]=null,this[s(1252)]=null,this.onmessage=null,this[s(1793)]=null,this["onStartR"+s(600)]=null,this[s(1695)+s(408)]=null,this[s(1641)+s(1112)+"yReconnect"]=null,this._handleOnLine=this[s(994)+"nLine"][s(1487)](this),this[s(994)+s(1496)]=this[s(994)+s(1496)][s(1487)](this),this["_handleP"+s(1452)]=this[s(1554)+"ageHide"][s(1487)](this),this[s(1554)+"ageShow"]=this["_handleP"+s(1380)].bind(this),this[s(1417)]={url:"",automaticOpen:!0,initReconnectInterval:1e3,maxReconnectInterval:1e4,reconnectIntervalGrowFactor:2,timeoutInterval:5e3,maxRetries:5,debug:!1,maxMessageQueueLength:e[s(774)](1,0),service:0,logIDGenerator:o,headers:void 0,payloadEncoding:"",payloadType:"",fpID:"",deviceID:"",accessKey:"",ttwID:"",bddID:"",aID:"",disableAutoReconnect:!1,customParams:{},pingInterval:15e3,pingTimeoutInterval:4e3,pingFrequency:e[s(507)],pingLossCount:2,enableTransformTextPayload:!1,logIDNewConfig:{enableAutoGenerateLogIDNew:!1,userIp:""},miniProgramParams:{customHttpHeader:{}},enableAutoAck:!1,reconnectInterceptor:()=>!0,enableQoS:!1,QoSLevel:2,messageStrategy:e[s(724)],env:{xTTEnv:"",xUseEnv:""},listenNetworkChanged:!0};let{url:f,ws:g}=r,E=Array[s(1308)](f)?f:e.fLJhN("string",typeof f)?[f]:[];if(!E||E[s(582)]===0)throw new Error("please p"+s(876)+s(1223));if(!ag(g))throw new Error(e[s(728)]);if(Object[s(912)](this[s(1417)],r),this[s(1503)+s(1762)]=new El(E,this[s(1417)].maxRetries),this[s(1184)+s(1450)]=new lg(this[s(1417)][s(645)+"Count"]),this[s(1417)][s(1020)+"cOpen"])if(e.jASit(e[s(976)],e.QNfiS)){let{type:S}=_0x41e454;this[s(1629)](S,_0x2f3946)}else this[s(681)]=!0,this[s(1043)]();this._options[s(1256)+s(1309)+s(610)]&&(this[s(395)+"T"]||this[s(795)+"X"]?this[s(850)+s(742)+s(1832)]():this[s(1553)+"er"]&&this[s(1604)+s(1086)+s(1760)]())}[t(994)+"nLine"](){let r=t;this[r(1417)][r(999)+r(1305)+r(1270)]||this["_readyCl"+r(607)]||this[r(1638)+r(600)]()}[t(994)+"ffLine"](){let r=t;this["_destroy"+r(1729)+"t"]();let s=e.VDwjJ(ka,e[r(1702)],{message:e[r(1072)]});this[r(1641)+"mediatel"+r(1319)+"ct"]&&this[r(1641)+r(1112)+r(1319)+"ct"](s)}[t(1604)+"balEvent"+t(1760)](){let r=t;if(e[r(1173)](r(1212),r(1212)))this[r(1553)+"er"]&&window["addEvent"+r(1760)](e[r(780)],this[r(994)+r(1085)]),this[r(1553)+"er"]&&window[r(496)+r(1760)](e[r(1222)],this["_handleO"+r(1496)]),this[r(1553)+"er"]&&window[r(496)+"Listener"](r(1601),this[r(1554)+"ageHide"]),this._isBrowser&&window["addEvent"+r(1760)](e.gFjfd,this._handlePageShow);else return this[r(1207)]?.[r(1195)]}["_dropGlobalEvent"+t(1760)](){let r=t;this._isBrowser&&window["removeEv"+r(1285)+r(922)](e.xHVci,this[r(994)+r(1085)]),this[r(1553)+"er"]&&window[r(1763)+"entListe"+r(922)](r(1784),this["_handleO"+r(1496)]),this[r(1553)+"er"]&&window[r(1763)+r(1285)+r(922)](e[r(1076)],this[r(1554)+r(1452)]),this[r(1553)+"er"]&&window["removeEv"+r(1285)+r(922)](e[r(1632)],this[r(1554)+r(1380)])}_handlePageHide(r){let s=t,l={IVfEV:function(f,g,E){return e.QoTQE(f,g,E)}};if(e[s(573)]!==e.ItAps){this[s(1555)+"ngTimer"](),this[s(1004)+"gTimeoutId"]=l.IVfEV(_0x41bed5,this[s(1012)][s(1487)](this),this[s(1417)][s(384)+s(1557)]);return}else!r[s(501)+"d"]&&(this[s(1553)+"er"]&&window[s(1763)+s(1285)+"ner"](e.FPTof,this[s(1554)+s(1452)]),this[s(1553)+"er"]&&window[s(1763)+s(1285)+s(922)](e[s(1632)],this[s(1554)+s(1380)]),this[s(824)]()),this[s(1553)+"er"]&&window[s(1763)+s(1285)+"ner"](s(1413),this._handleOnLine),this[s(1553)+"er"]&&window["removeEventListe"+s(922)](e.BBmRr,this[s(994)+s(1496)])}[t(1554)+t(1380)](r){let s=t,l={GvYXz:e[s(605)],HIPNA:s(824)};if(r[s(501)+"d"])if(e[s(893)](s(689),e[s(1829)])){let f=(s(1721)+"0")[s(1279)]("|"),g=0;for(;;){switch(f[g++]){case"0":this[s(787)][s(496)+s(1760)](s(974),this[s(1300)]);continue;case"1":this[s(787)]["addEvent"+s(1760)](l.GvYXz,this[s(1855)]);continue;case"2":this._ws[s(496)+s(1760)]("message",this._onMessage);continue;case"3":this[s(787)][s(496)+s(1760)](l.HIPNA,this[s(1628)]);continue;case"4":if(!this._ws)return;continue}break}}else this._navigatorOnline()&&(!this._ws||this[s(787)][s(1692)+"te"]!==this.OPEN||e[s(1587)](this[s(787)][s(1692)+"te"],this.CONNECTING))&&this[s(994)+s(1085)](),this[s(1553)+"er"]&&window[s(496)+s(1760)](s(1413),this[s(994)+s(1085)]),this[s(1553)+"er"]&&window[s(496)+"Listener"](e[s(1222)],this._handleOffLine)}async _generateUrl(r){let s=t,{fpID:l,deviceID:f,bddID:g,ttwID:E,accessKey:S,aID:w,customParams:D={},enableAutoAck:F,enableQoS:N,QoSLevel:q,env:V}=this[s(1417)],J,at,$e;this[s(1553)+"er"]||this._isMiniWX||this[s(395)+"T"]?(J=location&&e.juzmI(e[s(1031)],location[s(1756)])?e[s(1518)]:e[s(796)],at=r[s(809)](/((^ws)|(^http))((?:[s]*:\/\/))/,""),$e=/^wss(.*:\/\/)/.test(r)?r:""+J+at):(J=e[s(1518)],at=r[s(809)](/(^http)((?:[s]*:\/\/))/,""),$e=/(^ws)((?:[s]*:\/\/))/[s(544)](at)?at:""+J+at);let Fe=g?e[s(1535)]:E?e.ANhrE:e[s(1005)],jt=g||E||f;if(e[s(684)](!jt,!Fe))throw new Error(e[s(1395)]);let qt=e[s(1236)](e[s(984)],typeof D)?await e.pYxIa(D):D,Nn=V?e[s(494)](dg,V[s(710)],V[s(1862)]):{},Wt=Object.assign({device_platform:e[s(1008)],version_code:e[s(1602)],access_key:S,fpid:l,aid:w,[Fe]:jt,xsack:F?1:0,xaack:F?1:0,xsqos:N?1:0,qos_level:N?q:void 0,qos_sdk_version:2,...Nn},qt),ur=Object[s(1176)](Wt)[s(420)]((Na,Ma)=>Wt[Ma]!==void 0?""+Na+(Na?"&":"?")+Ma+"="+Wt[Ma]:Na,"");return $e+s(1530)+ur}async[t(1043)](){let r=t,s={QFtYd:e[r(1768)],Qrhpi:function(l,f){return e[r(673)](l,f)},qzyUZ:e.mBTtq,gUHJK:function(l,f,g){return e[r(1703)](l,f,g)},VBDip:e[r(1019)],lHZdX:e.GBXNB};if(e.aHkwb(e[r(461)],e.pBSZs)){if(this[r(1043)+r(1677)]||this[r(1434)+r(607)])return;this["_connect"+r(1677)]=!0;try{let l=this[r(1503)+r(1762)]?.[r(1404)+"rentEndp"+r(397)+"hedMaxRe"+r(1266)](),{timeoutInterval:f}=this[r(1417)];if(l){let E=this[r(1503)+r(1762)]?.[r(1280)+r(1045)+"nt"](),S=this._endpointManager?.[r(901)+"ackupEnd"+r(1343)+r(935)+"unt"](),w=this["_endpoin"+r(1762)]?.[r(1280)+r(1045)+r(683)+r(1143)]();if(S)if(e[r(1277)](e[r(647)],r(1506))){let{SeqID:D,LogID:F,service:N,LogIDNew:q,method:V}=_0x39c4d2[r(463)];this[r(1742)]({SeqID:D,LogID:F,LogIDNew:q,service:N,method:V,headers:[{key:"is_ack",value:"1"},{key:QFWXYI[r(1504)],value:QFWXYI[r(865)](q,"")},{key:QFWXYI.qzyUZ,value:"0"}]})}else{let D="connect "+E+(" timeout"+r(898)+"tries re"+r(1861)+"ill use "+r(1130)+r(1733))+S+(r(1137)+"y"),F=ft(e.WpHXx,{message:D,code:un[r(844)+"IES_ERROR"]});this[r(1314)](D),this[r(1098)+"hErrorEvent"](F),this[r(1211)]=await this["_generat"+r(889)](S),this[r(1314)](r(887)+S+" "+w+" times"),this[r(1e3)+r(1178)+"rs"]()}else{let D=r(887)+E+(r(746)+r(898)+r(629)+r(1713));this[r(1314)](D),this["_dispatc"+r(1205)+r(842)](e[r(918)](ft,r(974),{message:D,code:un[r(844)+r(1214)+"R"]}));return}}else{let E=this[r(1503)+"tManager"]?.[r(1280)+"ntEndpoi"+r(687)+r(1449)](),S=this[r(1503)+r(1762)]?.[r(1280)+r(1045)+r(683)+r(1143)]();this[r(1211)]=await this[r(1676)+r(889)](e[r(1559)](E,"")),this[r(1314)](r(887)+E+" "+S+" times"),this[r(1e3)+r(1178)+"rs"]()}if(this[r(681)])this[r(681)]=!1;else if(e.PudsK(e.gmWiE,e[r(1462)]))this["_interva"+r(667)]();else{let E=ka(r(1623)+"t",{message:"start"});this[r(466)+r(600)]&&this.onStartReconnect(E)}let g=this[r(1503)+r(1762)]?.[r(1280)+r(1045)+r(683)+"ount"]()||0;e[r(911)](g,1)&&await this[r(978)](e.vvXdh(g,1)),this[r(1314)](r(1122)+r(1435)+this[r(1211)]+(" protoco"+r(1134))+this[r(1736)+"ls"]),this[r(787)]=e[r(744)](og,{url:this[r(1211)],protocols:[this[r(1736)+"ls"]],headers:this[r(1417)][r(1379)+r(1259)+"s"][r(543)+r(609)]},this[r(1417)].ws),(this[r(1553)+"er"]||this[r(596)+"r"])&&this._ws&&(this._ws[r(542)+"pe"]=this[r(430)+"ype"]),this[r(433)+"steners"](),this[r(1043)+r(776)+r(714)]=e.fnINV(setTimeout,this._onTimeout.bind(this),f)}catch(l){if(e[r(726)](e[r(1174)],e[r(1779)]))return 0;throw this[r(1043)+"Lock"]=!1,l}}else _0x35440c[r(421)]()[r(1547)](()=>{let l=r,f=QFWXYI[l(1537)](_0x292163,l(974),{message:this[l(1257)+l(477)+l(763)](_0x4bfa72)});this.emit(QFWXYI.VBDip,f);let g=_0x28894f(QFWXYI[l(1663)],{reason:this[l(1257)+l(477)+l(763)](_0x22ef53)});this[l(1629)](l(824),g)})}[t(1608)+t(882)](){let r=t;e.bHywK(clearTimeout,this["_connect"+r(776)+r(714)]),this[r(1043)+r(776)+r(714)]=null}[t(1555)+t(470)](){let r=t,s={Ulbxk:function(l,f){return e.tubtp(l,f)},kfsSC:e[r(1146)],CqdWe:e[r(1536)],VJmkO:e.LEHPI};e[r(1042)](r(696),e[r(591)])?(e[r(547)](clearTimeout,this[r(1004)+"gTimeoutId"]),e.MVBQv(clearTimeout,this[r(1384)+"ctTimeou"+r(1837)]),this._pingPongTimeoutId=null,this["_reconne"+r(773)+"tId"]=null):_0x5dd4a4.r=l=>{let f=r;ppiykC[f(1710)](ppiykC.kfsSC,typeof _0x545640)&&_0x30a65f[f(771)+f(803)]&&_0x527806[f(1737)+f(423)](l,_0x31783b["toString"+f(803)],{value:ppiykC[f(1583)]}),_0x1d0183[f(1737)+"operty"](l,ppiykC[f(1534)],{value:!0})}}[t(1314)](...r){let s=t,l={WsDnW:function(f,g){return e[K(1414)](f,g)},nMzvL:function(f,g){return e[K(869)](f,g)},byjjN:function(f,g){return e[K(1545)](f,g)},JGGpE:function(f,g){return e[K(862)](f,g)},cPMSM:function(f,g){return e.IwSbd(f,g)},Ztywv:function(f,g){return f&g},ezwaW:function(f,g){return f>>>g},OjszZ:function(f,g){return e[K(622)](f,g)},rivpB:function(f,g){return f>>>g}};if(e[s(920)](s(493),"axxWS"))this._options[s(706)]&&console[s(769)][s(462)](console,[e[s(1542)],...r]);else{let f=this[s(431)],g=this.low;return[xMEorp[s(1160)](f,24),xMEorp[s(1229)](xMEorp[s(861)](f,16),255),xMEorp.JGGpE(xMEorp[s(1802)](f,8),255),xMEorp[s(892)](255,f),xMEorp.ezwaW(g,24),xMEorp[s(1192)](xMEorp[s(833)](g,16),255),g>>>8&255,xMEorp[s(892)](255,g)]}}[t(1154)+"rvalValue"](r){let s=t,{initReconnectInterval:l,maxReconnectInterval:f,reconnectIntervalGrowFactor:g}=this[s(1417)],E=e[s(1368)](l,Math.pow(g,r-1));return e[s(1606)](E,f)?f:E}[t(1012)](){let r=t,s={xXQYP:function(l,f){return e[K(1563)](l,f)},owswe:function(l,f){return e[K(766)](l,f)},Tvyxj:function(l,f){return e[K(754)](l,f)}};if(e[r(1478)](e[r(1718)],e.PWQBx)){if(this[r(787)]&&e.SAUFj(this[r(787)][r(1692)+"te"],this[r(405)+"NG"])){this[r(1555)+r(470)](),this._pingPongTimeoutId=e.lzSmF(setTimeout,this[r(1012)][r(1487)](this),this[r(1417)][r(384)+"rval"]);return}if(!this[r(787)]||this[r(787)][r(1692)+"te"]!==this[r(1322)])return void this[r(1638)+"econnect"]();this[r(787)]&&this._ws[r(1021)]("hi"),this[r(1384)+r(773)+r(1837)]=e[r(595)](setTimeout,this[r(1638)+r(600)+"Timeout"].bind(this),this[r(1417)].pingTimeoutInterval)}else _0x55b6c7[_0x14277f++]=DRsekv[r(1118)](_0x9817ef,6)|192,_0x38a06b[_0x442b75++]=DRsekv[r(1618)](DRsekv[r(495)](63,_0x590766),128)}["_handleR"+t(600)+t(1403)](){let r=t;this[r(1184)+r(1450)]?.[r(1685)](),this.emit("ping_onc"+r(855)+"t",e[r(1717)]),this["_pingLos"+r(1450)]?.[r(1219)+r(797)+"nt"]()?this[r(1638)+r(600)]():this._ping()}[t(1564)+t(1574)](){let r=t;return this[r(395)+"T"]||this[r(795)+"X"]?this[r(1466)+r(1283)+r(910)]:(this[r(1553)+"er"]||this[r(596)+"r"])&&this._options["listenNetworkCha"+r(610)]?navigator[r(661)]:!0}[t(1638)+t(600)](){let r=t;!this[r(1564)+r(1574)]()||this["_readyCl"+r(607)]||(this[r(1503)+r(1762)]?.[r(1313)+"pointConfig"](),this["_pingLos"+r(1450)]?.[r(966)+r(1849)](),this._ws?this[r(1127)+r(1706)](1001,e[r(1110)],!0):this[r(1043)]())}[t(850)+t(742)+t(1832)](){let r=t;e.Htfta(e[r(1061)],"LSfjl")?this[r(395)+"T"]?tt["onNetwor"+r(1095)+"hange"](({isConnected:s})=>{let l=r;this[l(1466)+"igatorOn"+l(910)]=s,s?this._handleOnLine():this[l(994)+"ffLine"]()}):this[r(795)+"X"]&&wx[r(1337)+"kStatusC"+r(1251)](({isConnected:s})=>{let l=r;this[l(1466)+"igatorOnline"]=s,s?this[l(994)+l(1085)]():this[l(994)+l(1496)]()}):(_0x3d32be=e[r(1807)](e[r(569)](e.zCQBX(e[r(1078)](7,_0xe2c3d),18),e[r(996)](e[r(506)](63,_0x10f522),12))|e[r(388)](63&_0x2bb713,6),e[r(1338)](63,_0x875382)),e[r(1820)](_0x486470,65536)||_0x3ed2df>1114111?_0x4cbbaa+=_0x13c799:(_0x1989cd-=65536,_0x103b14+=_0x101873(e.BomJH(e[r(1141)](_0x2c3d01,10),55296),e.uHrAY(e[r(1037)](1023,_0x391a2e),56320)),_0x9cf52+=3))}[t(978)](r){let s=t,l={uBOoC:e[s(1040)],lnXmN:s(974),oETuD:function(f,g){return f(g)},lZmaH:function(f,g){return e[s(1274)](f,g)},PEeKK:function(f){return e[s(1446)](f)},Uiyrq:function(f,g,E){return e[s(1787)](f,g,E)}};if(e[s(700)](e[s(1393)],e[s(1393)])){let f=()=>{let S=s;_0x4bdf79[S(1763)+S(1285)+"ner"](DnLAxx[S(688)],g),_0x18f05c["removeEventListe"+S(922)](DnLAxx[S(1199)],E)},g=()=>{let S=s;DnLAxx[S(1318)](_0x5cc567,DnLAxx[S(719)](_0x370f0e,_0x55a1fc[S(1546)])),DnLAxx[S(1218)](f)},E=()=>{_0x57dbb2(_0x2b39ac.error),f()};_0x7cd480[s(496)+"Listener"](DnLAxx[s(688)],g),_0x3a1881[s(496)+s(1760)](DnLAxx[s(1199)],E)}else return new Promise(f=>{let g=s;l.Uiyrq(setTimeout,f,this[g(1154)+g(1722)+"e"](r))})}[t(1127)+t(1706)](r=1e3,s="",l=!1){let f=t;this[f(787)]&&this[f(767)+f(1729)+"t"](r,s,l)}[t(1691)+"ut"](){let r=t,s=this[r(1503)+r(1762)]?.[r(1280)+r(1045)+"nt"]();this._debug(r(887)+s+r(746)),this[r(1127)+"ect"](1001,e[r(1049)],!0)}[t(1742)](r){let s=t;if(e[s(1459)](e[s(1378)],e[s(1378)]))this[s(395)+"T"]?_0x5429e2[s(1337)+s(1095)+"hange"](({isConnected:l})=>{let f=s;this._miniNavigatorOnline=l,l?this[f(994)+f(1085)]():this["_handleO"+f(1496)]()}):this[s(795)+"X"]&&_0x140e96["onNetworkStatusC"+s(1251)](({isConnected:l})=>{let f=s;this[f(1466)+f(1283)+f(910)]=l,l?this[f(994)+f(1085)]():this[f(994)+"ffLine"]()});else{let l=e.tTaaj(Gt,r);this[s(787)]&&this[s(787)].readyState===this.OPEN&&(this._ws&&this._ws[s(1021)](l),this[s(1314)]("send_ack",r))}}[t(1e3)+"sListeners"](){let r=t,s=e[r(1166)][r(1279)]("|"),l=0;for(;;){switch(s[l++]){case"0":this[r(787)][r(1763)+r(1285)+"ner"](e[r(1019)],this[r(1300)]);continue;case"1":this[r(787)][r(1763)+r(1285)+r(922)](e.ABfRt,this[r(1855)]);continue;case"2":this[r(787)][r(1763)+r(1285)+"ner"](e[r(1187)],this[r(1628)]);continue;case"3":this[r(787)]["removeEventListe"+r(922)](e.iSclI,this[r(1056)+"ge"]);continue;case"4":if(!this[r(787)])return;continue}break}}[t(433)+"steners"](){let r=t,s=e[r(917)][r(1279)]("|"),l=0;for(;;){switch(s[l++]){case"0":this[r(787)][r(496)+"Listener"](r(1495),this[r(1855)]);continue;case"1":this[r(787)][r(496)+r(1760)](e[r(1019)],this[r(1300)]);continue;case"2":if(!this[r(787)])return;continue;case"3":this[r(787)].addEventListener(r(463),this[r(1056)+"ge"]);continue;case"4":this[r(787)][r(496)+"Listener"](e[r(1187)],this[r(1628)]);continue}break}}[t(1081)+t(579)](r=1e3,s=""){let l=t;if(e[l(1250)](e[l(1603)],"xOjAT"))try{this[l(787)]&&this[l(787)].close(r,s)}catch{}else{let f=new _0xb10dc9(e.vMpIG(_0x2dbac5,_0x6d72));return e[l(1375)](_0x10f260,_0x2e0695,f,0),f}}[t(767)+t(1729)+"t"](r=1e3,s="",l=!1){let f=t;if(this[f(1555)+"ngTimer"](),this[f(1608)+f(882)](),this._removeWsListeners(),this[f(1081)+f(579)](1e3,s),this[f(1043)+f(1677)]=!1,l&&this["_navigat"+f(1574)]()&&!this[f(1434)+f(607)]){if(this[f(1503)+f(1762)]?.[f(1219)+f(644)+"es"]()){let E=this[f(1503)+"tManager"]?.getCurrentEndpoint();this[f(1098)+f(953)+f(842)](e.lzSmF(bt,e[f(1187)],{code:1006,reason:f(887)+E+(f(746)+f(898)+f(629)+f(1713)),wasClean:!0}))}else if(e[f(784)](e.xITTj,e[f(1846)])){let E=this[f(1417)]["reconnec"+f(956)+"ptor"](r,s);this["_dispatc"+f(953)+"ent"](e.cwlca(bt,e[f(1187)],{code:r,reason:s,wasClean:!0,willReconnect:E})),E&&this[f(1043)]()}else return new _0x1b40bd(e[f(1666)](_0x2a6d5b[0]|e.zVGiA(_0x29f4bc[1],8),e[f(1041)](_0x197611[2],16))|e[f(995)](_0x36dd60[3],24),e[f(1306)](e[f(825)](_0x3c9e24[4],e[f(1716)](_0x173d4a[5],8)),_0x434516[6]<<16)|_0x4a090e[7]<<24,_0x33ffe5);return}this._navigatorOnline()||this[f(1434)+f(607)]?this[f(1098)+f(953)+f(842)](e[f(1815)](bt,e[f(1187)],{code:r,reason:f(1228)})):this["_dispatc"+f(953)+"ent"](bt(e[f(1187)],{code:1006,reason:e[f(1411)]})),this._ws=null,this[f(1503)+f(1762)]?.["resetEndpointCon"+f(1778)](),this[f(1184)+f(1450)]?.[f(966)+f(1849)]()}_dispatchOpenEvent(r){let s=t;this.emit(s(1495),r),this.onopen&&this[s(1793)](r)}[t(1098)+"hMessage"+t(806)](r){let s=t;this[s(1629)](e[s(856)],r),this.onmessage&&this[s(1556)+"e"](r)}[t(1098)+t(1822)+t(1371)](r){let s=t;e[s(804)](e[s(1571)],e[s(1571)])?this[s(1629)](e.WpHXx,e[s(1526)](_0x5b9237,e[s(1019)],{message:this[s(1257)+s(477)+s(763)](_0x3b0135)})):(this[s(1629)](s(786),r),this[s(1695)+s(408)]&&this[s(1695)+s(408)](r))}["_dispatchErrorEv"+t(842)](r){let s=t,l={oKEnY:function(f,g){return e.MEuHu(f,g)}};if(e.cyeWI(e[s(1705)],e[s(1705)]))return ZIeRxu[s(1645)](_0x1b1147,_0x375fe5(_0x1dc78e));this.emit(s(974),r),this[s(1252)]&&this.onerror(r)}[t(1098)+t(953)+t(842)](r){let s=t;e[s(1600)](e[s(1213)],s(691))?(this[s(1466)+s(1283)+s(910)]=_0x2158b0,_0x14e8c9?this[s(994)+s(1085)]():this[s(994)+"ffLine"]()):(this[s(1629)](e[s(1187)],r),this[s(1163)]&&this[s(1163)](r))}get binaryType(){let r=t,s={CiGKt:function(l){return l()},HdykF:function(l,f,g){return e.tzpZh(l,f,g)},jqRXx:function(l,f){return e[K(1200)](l,f)}};if(e.YiAFE(e[r(1333)],e[r(1333)]))return this[r(787)]?this[r(787)][r(542)+"pe"]:this[r(430)+r(474)];{let l=NMjcGK[r(1189)](_0x4c9cb5);return NMjcGK.HdykF(_0x2f94de,_0x5d971b,l),NMjcGK[r(955)](_0x56ff95,l)}}set[t(542)+"pe"](r){let s=t,l={Sljlt:function(f,g,E){return f(g,E)}};e[s(784)](e[s(1480)],e.FKfSS)?ZvtRpf.Sljlt(_0x533f68,_0x2f7ce8,this[s(1154)+s(1722)+"e"](_0x521c9f)):(this[s(430)+s(474)]=r,this[s(787)]&&(this[s(787)][s(542)+"pe"]=r))}get[t(1167)+"nt"](){let r=t;return this[r(1503)+r(1762)]?.["getCurre"+r(1045)+r(683)+r(1143)]()||0}get[t(1089)+"Amount"](){let r=t;return this._messageQueue[r(420)]((l,f)=>(l+=f&&f.byteLength||0,l),0)+(this[r(787)]?this._ws[r(1089)+r(1033)]:0)}get extensions(){let r=t;return this._ws?this._ws[r(1180)+"ns"]:""}get[t(1756)](){let r=t;return this._ws?this[r(787)].protocol:""}get[t(1692)+"te"](){let r=t;return this[r(787)]?this._ws[r(1692)+"te"]:this[r(1417)][r(1020)+r(1181)]?this.CONNECTING:this[r(1186)]}get[t(1626)](){let r=t;return this[r(787)]?this[r(787)][r(1626)]:this[r(1211)]}[t(824)](r=1e3,s){let l=t;if(this[l(1434)+l(607)]=!0,this[l(1608)+l(882)](),this[l(1555)+"ngTimer"](),this["_dropGlo"+l(1086)+l(1760)](),this[l(1657)+l(1339)]?.[l(1147)](),!this[l(787)])return void this._debug(e.FtmXp);if(this[l(787)].readyState===this[l(1186)]||e[l(1650)](this[l(787)][l(1692)+"te"],this[l(1347)]))return void this[l(1314)](e[l(1585)]);this["_destroy"+l(1729)+"t"](r,s)}async[t(1021)](r,s){let l=t;if(e[l(1348)](null,r))throw new Error("please p"+l(1516)+l(1011)+l(973)+l(389)+l(1766)+l(946)+l(1064)+l(529));e[l(1053)](e[l(781)],typeof r)&&(r=JSON[l(881)+"y"](r)),e[l(1759)](l(1425),typeof r)&&!e[l(1533)](r,ArrayBuffer)&&!(r.buffer&&e[l(1468)](r[l(944)],ArrayBuffer))&&(r=JSON[l(881)+"y"](r));let f=await e.OrvmV(Al,r),g=e.OrvmV(cg,r),{method:E=0,service:S=this[l(1417)][l(664)],logID:w=this._options[l(1304)+l(1523)](),headers:D=this[l(1417)][l(450)],payloadEncoding:F=this[l(1417)][l(1107)+"ncoding"],payloadType:N=this[l(1417)].payloadType,logIDNew:q=this[l(1417)][l(908)+"Config"][l(1272)+"toGenera"+l(1373)+"ew"]?e[l(625)](i,this[l(1417)]["logIDNew"+l(1204)][l(1656)]):""}=e[l(1230)](s,{});if(!S)throw new Error(e.rTKvr);let V={SeqID:xe.fromNumber(this[l(413)]++),LogID:xe[l(969)+"er"](w),service:S,method:E,headers:D,payloadEncoding:F instanceof Object?F.encoding?F[l(1353)]:"":F,payloadType:e[l(1468)](N,Object)?N.type?N.type:g:N||g,payload:f,LogIDNew:q},J=e[l(1356)](Gt,V);return this._ws&&this[l(787)][l(1692)+"te"]===this[l(1322)]?(this[l(787)]&&this[l(787)][l(1021)](J),this[l(1314)](e[l(1812)],V)):e[l(568)](this[l(718)+"Queue"][l(582)],this[l(1417)][l(1679)+l(432)+l(817)])?(this[l(718)+l(1105)].push(J),this[l(1314)](e[l(1111)],V)):(this._messageQueue.shift(),this[l(718)+l(1105)][l(1769)](J)),{seqID:this[l(413)],logID:w,logIDNew:q}}async[t(1623)+"t"](r){let s=t,{url:l}=e.jqaff(r,{}),f=Array[s(1308)](l)?l:e[s(439)]==typeof l?[l]:[];r&&Object[s(912)](this[s(1417)],r),f&&f[s(582)]?this[s(1503)+"tManager"]=new El(f,this[s(1417)][s(1581)+"es"]):this[s(1503)+s(1762)]?.[s(1313)+s(1499)+s(1778)](),this._pingLossCounter?.[s(966)+s(1849)](this[s(1417)][s(645)+s(1619)]),this[s(1434)+"osed"]=!1,this[s(787)]&&e[s(1740)](this[s(787)][s(1692)+"te"],this.CLOSED)?this["_disconn"+s(1706)](1e3,s(1825)+"econnect"+s(646),!0):(this[s(681)]=!0,this._connect())}async[t(1544)](){let r=t;if(!this[r(1043)+"Lock"]){let s=(r(1136)+"2")[r(1279)]("|"),l=0;for(;;){switch(s[l++]){case"0":this["_endpoin"+r(1762)]?.[r(1313)+"pointCon"+r(1778)]();continue;case"1":this[r(1184)+r(1450)]?.[r(966)+r(1849)]();continue;case"2":this._connect();continue;case"3":this[r(681)]=!0;continue;case"4":this[r(1434)+"osed"]=!1;continue}break}}}[t(496)+"Listener"](r,s){this.on(r,s)}[t(1437)+t(806)](r){let s=t,{type:l}=r;this[s(1629)](l,r)}[t(1763)+"entListener"](r,s){this[t(524)](r,s)}[t(1479)](){return new Promise((r,s)=>{let l=K,f={MmbNf:function(g,E){return g(E)},oyhto:e[l(1040)],zWzxU:l(516)+l(1231)+"s",UlxfH:e.WMQPH,EpxHS:"timeout"};if(e[l(1858)]===l(949)){this[l(1555)+l(470)](),this._pingPongTimeoutId=e[l(1104)](setTimeout,this[l(1012)].bind(this),this[l(1417)][l(384)+l(1557)]);let g=()=>{let S=l;f[S(1159)](r,f[S(465)]),this[S(524)](f[S(623)],g),this.off(f.UlxfH,E)},E=()=>{let S=l;f.MmbNf(s,f[S(1565)]),this[S(524)](f[S(623)],g),this[S(524)](f[S(1117)],E)};this.on(e[l(1809)],g),this.on(e[l(858)],E),this[l(1012)]()}else return _0xda9eb1["objectSt"+l(1448)][1]?void 0:_0x501c2f[l(1744)+"ore"](_0x411fff[l(1744)+"oreNames"][0])})}}})(),Be["CustomCl"+L(1050)]=Re[L(1745)+L(1050)],Be[L(909)+L(1551)]=Re[L(909)+L(1551)],Be.ErrorCode=Re.ErrorCode,Be[L(806)]=Re[L(806)],Be[L(536)]=Re[L(536)],Be[L(1751)+L(1508)+L(660)]=Re[L(1751)+L(1508)+L(660)],Be[L(1508)+L(660)]=Re[L(1508)+L(660)],Be[L(1621)+"t"]=Re.OpenEvent,Be[L(739)+L(829)]=Re[L(739)+L(829)],Be[L(1427)+L(1050)]=Re[L(1427)+L(1050)],Be[L(1651)+"rorEvent"]=Re[L(1651)+L(1551)],Be["createMe"+L(1659)+"nt"]=Re[L(1240)+"ssageEvent"],Be[L(1070)+L(1203)]=Re[L(1070)+L(1203)],Be["createRe"+L(686)+"vent"]=Re[L(456)+L(686)+L(660)],Be["decodedF"+L(993)]=Re["decodedF"+L(993)],Be[L(740)+"ame"]=Re.encodeFrame;for(ia in Re)[L(1745)+L(1050),L(909)+L(1551),L(1227)+"e","Event",L(536),L(1751)+L(1508)+L(660),L(1508)+L(660),"OpenEvent",L(739)+L(829),L(1427)+L(1050),L(1651)+L(1551),L(1240)+L(1659)+"nt",L(1070)+"enEvent",L(456)+"connectE"+L(660),L(1444)+"rame","encodeFr"+L(1248)][L(1770)](ia)===-1&&(Be[ia]=Re[ia]);var ia;Object[L(1737)+L(423)](Be,"__esModule",{value:!0})});import{existsSync as QS,openSync as e1}from"node:fs";import{mkdir as t1}from"node:fs/promises";import{dirname as n1}from"node:path";import{fileURLToPath as r1}from"node:url";function s1(t,e){return e==="legacy"?t.logFile:t.daemonStdioLog}function el(t=Y()){return QS(t.libEntry)?t.libEntry:r1(new URL("../index.ts",import.meta.url))}async function pp(t={}){let e=t.paths??Y(),n=t.entryOverride??el(e),i=s1(e,process.env.COZE_BRIDGE_LOG_MODE);await t1(n1(i),{recursive:!0});let o=e1(i,"a"),d=n.endsWith(".ts")?["--import","tsx/esm",n,"--daemon"]:[n,"--daemon"],u=ot(process.execPath,d,{detached:!0,stdio:["ignore",o,o],env:{...process.env,[xs]:"1"}});if(u.unref(),typeof u.pid!="number")throw new Error("failed to spawn daemon (no pid)");return i1.info("daemon spawned",{pid:u.pid,entry:n}),{pid:u.pid,entry:n}}var i1,xs,pa=rt(()=>{"use strict";tn();ne();Pe();i1=H("spawn-daemon"),xs="COZE_BRIDGE_DAEMON"});import{spawn as nI}from"node:child_process";import{mkdir as rI,unlink as iI,writeFile as sI}from"node:fs/promises";import{dirname as oI,join as aI}from"node:path";function ri(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function cI(t){if(!t)return"";let e=Object.entries(t).map(([n,i])=>` <key>${ri(n)}</key>
|
|
21
|
+
<string>${ri(i)}</string>`).join(`
|
|
22
22
|
`);return e?`
|
|
23
23
|
<key>EnvironmentVariables</key>
|
|
24
24
|
<dict>
|
|
25
25
|
${e}
|
|
26
|
-
</dict>`:""}function
|
|
26
|
+
</dict>`:""}function dI(t,e){return new Promise((n,i)=>{let o=nI(t,e,{stdio:["ignore","pipe","pipe"]}),c="";o.stderr?.on("data",d=>{c+=d.toString("utf8")}),o.on("error",i),o.on("close",d=>{d===0?n():i(new Error(`${t} ${e.join(" ")} exited ${d}: ${c.trim()}`))})})}var ni,ms,ba,dl,Fp=rt(()=>{"use strict";ne();ni=H("supervisor.launchd"),ms="ai.coze.bridge",ba=dI,dl={platform:"darwin",renderConfig(t){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
27
27
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
28
28
|
<plist version="1.0">
|
|
29
29
|
<dict>
|
|
30
30
|
<key>Label</key>
|
|
31
|
-
<string>${
|
|
31
|
+
<string>${ms}</string>
|
|
32
32
|
<key>ProgramArguments</key>
|
|
33
33
|
<array>
|
|
34
|
-
<string>${
|
|
35
|
-
<string>${
|
|
34
|
+
<string>${ri(t.nodeBin)}</string>
|
|
35
|
+
<string>${ri(t.entry)}</string>
|
|
36
36
|
<string>--daemon</string>
|
|
37
37
|
</array>
|
|
38
38
|
<key>RunAtLoad</key>
|
|
@@ -42,13 +42,13 @@ ${e}
|
|
|
42
42
|
<key>ThrottleInterval</key>
|
|
43
43
|
<integer>10</integer>
|
|
44
44
|
<key>StandardOutPath</key>
|
|
45
|
-
<string>${
|
|
45
|
+
<string>${ri(t.logFile)}</string>
|
|
46
46
|
<key>StandardErrorPath</key>
|
|
47
|
-
<string>${
|
|
47
|
+
<string>${ri(t.logFile)}</string>${cI(t.env)}
|
|
48
48
|
</dict>
|
|
49
49
|
</plist>
|
|
50
|
-
`},configPath(t){return
|
|
51
|
-
`):""}function
|
|
50
|
+
`},configPath(t){return aI(t.homeDir,"Library","LaunchAgents",`${ms}.plist`)},async install(t,e){let n=e?.activate!==!1,i=this.configPath(t);if(await rI(oI(i),{recursive:!0}),await sI(i,this.renderConfig(t),"utf8"),ni.info("plist written",{plistPath:i,activate:n}),!n)return;await ba("launchctl",["unload","-w",i]).catch(c=>ni.info("launchctl unload before load (ignored, likely not loaded yet)",{err:String(c)})),await ba("launchctl",["load","-w",i]),ni.info("launchd job loaded",{label:ms});let o=process.getuid?.()??0;await ba("launchctl",["kickstart","-k",`gui/${o}/${ms}`]),ni.info("launchd job kickstarted",{label:ms,uid:o})},async uninstall(t){let e=this.configPath(t);await ba("launchctl",["unload","-w",e]).catch(n=>ni.warn("launchctl unload failed (ignored)",{err:String(n)})),await iI(e).catch(n=>{if(n.code!=="ENOENT")throw n}),ni.info("launchd job removed",{plistPath:e})}}});import{spawn as lI}from"node:child_process";import{mkdir as uI,unlink as fI,writeFile as hI}from"node:fs/promises";import{dirname as xI,join as zp}from"node:path";function va(t,e){return t.isRoot?e:["--user",...e]}function gI(t){return t?Object.entries(t).map(([e,n])=>{let i=n.replace(/\\/g,"\\\\").replace(/"/g,'\\"');return`Environment="${e}=${i}"`}).join(`
|
|
51
|
+
`):""}function Sa(t,e){return new Promise((n,i)=>{let o=lI(t,e,{stdio:["ignore","pipe","pipe"]}),c="";o.stderr?.on("data",d=>{c+=d.toString("utf8")}),o.on("error",i),o.on("close",d=>{d===0?n():i(new Error(`${t} ${e.join(" ")} exited ${d}: ${c.trim()}`))})})}var Ea,ii,pI,ll,Up=rt(()=>{"use strict";ne();Ea=H("supervisor.systemd"),ii="coze-bridge.service",pI="/etc/systemd/system";ll={platform:"linux",renderConfig(t){let e=t.isRoot?"multi-user.target":"default.target";return`[Unit]
|
|
52
52
|
Description=Coze Bridge daemon
|
|
53
53
|
After=network.target
|
|
54
54
|
|
|
@@ -59,10 +59,10 @@ Restart=always
|
|
|
59
59
|
RestartSec=3
|
|
60
60
|
StandardOutput=append:${t.logFile}
|
|
61
61
|
StandardError=append:${t.logFile}
|
|
62
|
-
${
|
|
62
|
+
${gI(t.env)}
|
|
63
63
|
[Install]
|
|
64
64
|
WantedBy=${e}
|
|
65
|
-
`},configPath(t){return t.isRoot?
|
|
65
|
+
`},configPath(t){return t.isRoot?zp(pI,ii):zp(t.homeDir,".config","systemd","user",ii)},async install(t,e){let n=e?.activate!==!1,i=this.configPath(t),o=t.isRoot?"system":"user";await uI(xI(i),{recursive:!0}),await hI(i,this.renderConfig(t),"utf8"),Ea.info("systemd unit written",{unitPath:i,mode:o,activate:n}),await Sa("systemctl",va(t,["daemon-reload"])),await Sa("systemctl",va(t,n?["enable","--now",ii]:["enable",ii])),Ea.info("systemd unit enabled",{unitName:ii,mode:o,activate:n})},async uninstall(t){let e=this.configPath(t);await Sa("systemctl",va(t,["disable","--now",ii])).catch(n=>Ea.warn("systemctl disable failed (ignored)",{err:String(n)})),await fI(e).catch(n=>{if(n.code!=="ENOENT")throw n}),await Sa("systemctl",va(t,["daemon-reload"])).catch(()=>{}),Ea.info("systemd unit removed",{unitPath:e})}}});import{spawn as mI}from"node:child_process";import{join as wI}from"node:path";function Hp(t,e){return new Promise((n,i)=>{let o=mI(t,e,{stdio:["ignore","pipe","pipe"],shell:!1}),c="";o.stderr?.on("data",d=>{c+=d.toString("utf8")}),o.on("error",i),o.on("close",d=>{d===0?n():i(new Error(`${t} ${e.join(" ")} exited ${d}: ${c.trim()}`))})})}var ul,Ia,fl,Gp=rt(()=>{"use strict";ne();ul=H("supervisor.taskscheduler"),Ia="CozeBridge",fl={platform:"win32",renderConfig(t){return`<?xml version="1.0" encoding="UTF-16"?>
|
|
66
66
|
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
|
|
67
67
|
<RegistrationInfo>
|
|
68
68
|
<Description>Coze Bridge daemon</Description>
|
|
@@ -86,55 +86,55 @@ WantedBy=${e}
|
|
|
86
86
|
</Exec>
|
|
87
87
|
</Actions>
|
|
88
88
|
</Task>
|
|
89
|
-
`},configPath(t){return p2(t.homeDir,".coze","bridge","task.xml")},async install(t){let n=`cmd.exe /c ${[`^"${t.nodeBin}^"`,`^"${t.entry}^"`,"--daemon",`>> ^"${t.logFile}^" 2>&1`].join(" ")}`;await Lp("schtasks",["/Create","/SC","ONLOGON","/TN",_a,"/TR",n,"/RU",t.userName,"/F"]),ol.info("task scheduler entry created",{task:_a,logFile:t.logFile})},async uninstall(t){await Lp("schtasks",["/Delete","/TN",_a,"/F"]).catch(e=>ol.warn("schtasks /Delete failed (ignored)",{err:String(e)})),ol.info("task scheduler entry removed",{task:_a})}}});var Mp={};Oa(Mp,{buildContext:()=>b2,getSupervisor:()=>w2,launchdSupervisor:()=>il,systemdSupervisor:()=>sl,taskSchedulerSupervisor:()=>al});import{homedir as g2,userInfo as m2}from"node:os";function w2(t=process.platform){switch(t){case"darwin":return il;case"linux":return sl;case"win32":return al;default:throw new Error(`unsupported platform for OS supervisor: ${t}`)}}function y2(){let t={};for(let e of _2){let n=process.env[e];n&&(t[e]=n)}return t}function b2(){let t=Y();return{nodeBin:process.execPath,entry:Jd(t),logFile:t.logFile,homeDir:g2(),userName:m2().username,isRoot:process.getuid?.()===0,env:y2()}}var _2,Bp=nt(()=>{"use strict";Re();da();Cp();Op();Np();_2=["PATH","HOME","HTTP_PROXY","HTTPS_PROXY","NO_PROXY","ALL_PROXY","http_proxy","https_proxy","no_proxy","all_proxy","NODE_EXTRA_CA_CERTS"]});ne();dn();var zl=G("acp-installer-warmup"),um=["claude-code","codex"];async function Ul(t={}){let e=t.ensure??dr,i=(await Promise.allSettled(um.map(async o=>{let c=await e(o);zl.info("acp wrapper warmup ok",{framework:o,path:c})}))).filter(o=>o.status==="rejected");i.length>0&&zl.warn("acp wrapper warmup partial failure (\u5C06\u5728\u4E0B\u6B21 createAgent \u65F6\u91CD\u8BD5\u5E76\u629B\u9519\u7ED9\u7528\u6237)",{failedCount:i.length,reasons:i.map(o=>o.reason instanceof Error?o.reason.message:String(o.reason))})}jt();ne();import{readdir as km}from"node:fs/promises";import{mkdir as jl,readFile as Im,writeFile as Wl}from"node:fs/promises";import{join as Ua}from"node:path";var Am={"claude-code":"CLAUDE.md",codex:"AGENTS.md",openclaw:"SOUL.md",hermes:"AGENTS.md"};async function fr(t,e,n){await jl(t,{recursive:!0});let i=Am[e],o=Ua(t,i);return await Wl(o,n??"","utf8"),o}async function Ga(t,e,n){let i=Ua(t,".claude");await jl(i,{recursive:!0});let o=Ua(i,"settings.local.json"),c={};try{let u=await Im(o,"utf8"),f=JSON.parse(u);typeof f=="object"&&f!==null&&!Array.isArray(f)&&(c=f)}catch{}let d=typeof c.permissions=="object"&&c.permissions!==null&&!Array.isArray(c.permissions)?c.permissions:{};if(e==="cloud")d.defaultMode="bypassPermissions",c.autoCompactWindow=15e4;else{if(!n)throw new Error("writeCcPermissionSettings: local deployType requires permissionMode (caller bug)");d.defaultMode===void 0&&(d.defaultMode=n)}return c.permissions=d,await Wl(o,JSON.stringify(c,null,2),"utf8"),o}var Xe=G("agent-detail-sync"),Tm=6e4,Rm=5*6e4,Es=class{constructor(e){this.opts=e}opts;retryQueue=new Map;async syncAll(e){let n=this.opts.paths.agentsRoot,i;try{i=await km(n)}catch(o){Xe.info("agents dir not found, skip detail sync",{root:n,err:String(o)});return}Xe.info("starting detail sync",{reason:e,count:i.length}),await Promise.allSettled(i.map(async o=>{let c=await ve(o,this.opts.paths).catch(()=>null);if(c){if(c.disconnectedAt){Xe.debug("detail sync: skip disconnected agent",{agentId:o});return}try{await this.syncOne(o,c)}catch(d){Xe.warn("detail sync failed for agent, skipping",{agentId:o,err:String(d)})}}})),Xe.info("detail sync done",{reason:e})}async retryPending(){if(this.retryQueue.size===0)return;let e=Date.now(),n=[];for(let[i,o]of this.retryQueue)e>=o.dueAt&&n.push(i);if(n.length!==0){Xe.info("retrying pending detail syncs",{count:n.length});for(let i of n)try{await this.syncOne(i)}catch(o){Xe.debug("detail sync retry still failing, will try again",{agentId:i,err:String(o)})}}}async syncOne(e,n){let i=n??await ve(e,this.opts.paths);if(!i){Xe.info("detail sync: agent config missing, skip",{agentId:e});return}let o;try{o=await this.opts.sendDetail({_meta:{cozeAgentId:e}}),this.retryQueue.delete(e)}catch(f){Xe.warn("detail RPC failed, using local data",{agentId:e,err:String(f)});let x=this.retryQueue.get(e),p=x?Math.min(x.currentDelay*2,Rm):Tm;this.retryQueue.set(e,{dueAt:Date.now()+p,currentDelay:p});return}if(o.agentId&&o.agentId!==e){Xe.warn("detail response agentId mismatch, ignoring",{agentId:e,responseAgentId:o.agentId});return}let c=!1,d=!1;o.agentName&&o.agentName!==i.agentName&&(i.agentName=o.agentName,c=!0),o.description!==void 0&&o.description!==i.description&&(i.description=o.description,c=!0),o.cozeIdentity&&o.cozeIdentity!==i.cozeIdentity&&(i.cozeIdentity=o.cozeIdentity,c=!0,d=!0);let u=!1;if(o.deployType==="cloud"&&i.deployType!=="cloud"?(Xe.warn("detail sync: agent demoted to local, repairing to cloud",{agentId:e}),i.deployType="cloud",c=!0,u=!0):o.deployType&&Xe.info("detail.deployType",{agentId:e,deployType:o.deployType}),!c){Xe.debug("detail sync: no diff",{agentId:e});return}await Ue(i,this.opts.paths),Xe.info("detail sync: config updated",{agentId:e,identityChanged:d,agentName:i.agentName}),u?(await this.opts.agentManager.createAgent({agentId:e,framework:i.framework,_meta:{cozeDeployType:"cloud"},cozeIdentity:i.cozeIdentity,model:i.model}),Xe.info("detail sync: repaired demoted agent back to cloud",{agentId:e})):d&&(await fr(i.workspace,i.framework,i.cozeIdentity),this.opts.handlers.reloadAgentSessionsPublic(e,"detail-sync"))}};var fd=Ht(Su(),1);import{createHash as gy}from"node:crypto";import{lstat as id,mkdir as sd,readFile as wo,readdir as x0,rm as od,stat as ld,writeFile as ad}from"node:fs/promises";import{homedir as my}from"node:os";import{dirname as wy,join as fe,normalize as _y,relative as ud,resolve as cd,sep as p0}from"node:path";import{Readable as g0}from"node:stream";import{pipeline as m0}from"node:stream/promises";import Zm from"events";import it from"fs";import{EventEmitter as Uc}from"node:events";import of from"node:stream";import{StringDecoder as Xm}from"node:string_decoder";import df from"node:path";import Sr from"node:fs";import{dirname as uw,parse as fw}from"path";import{EventEmitter as yw}from"events";import bc from"assert";import{Buffer as Hn}from"buffer";import*as Ru from"zlib";import bw from"zlib";import{posix as mr}from"node:path";import{basename as Vw}from"node:path";import eo from"fs";import Ct from"fs";import Mu from"path";import{win32 as o_}from"node:path";import qu from"path";import Sf from"node:fs";import v_ from"node:assert";import{randomBytes as If}from"node:crypto";import se from"node:fs";import Be from"node:path";import Af from"fs";import lo from"node:fs";import Ai from"node:path";import ct from"node:fs";import P_ from"node:fs/promises";import ro from"node:path";import{join as Bf}from"node:path";import at from"node:fs";import Uf from"node:path";var Jm=Object.defineProperty,Ym=(t,e)=>{for(var n in e)Jm(t,n,{get:e[n],enumerable:!0})},Iu=typeof process=="object"&&process?process:{stdout:null,stderr:null},Qm=t=>!!t&&typeof t=="object"&&(t instanceof Wn||t instanceof of||ew(t)||tw(t)),ew=t=>!!t&&typeof t=="object"&&t instanceof Uc&&typeof t.pipe=="function"&&t.pipe!==of.Writable.prototype.pipe,tw=t=>!!t&&typeof t=="object"&&t instanceof Uc&&typeof t.write=="function"&&typeof t.end=="function",Wt=Symbol("EOF"),$t=Symbol("maybeEmitEnd"),un=Symbol("emittedEnd"),ks=Symbol("emittingEnd"),di=Symbol("emittedError"),Ts=Symbol("closed"),Au=Symbol("read"),Rs=Symbol("flush"),ku=Symbol("flushChunk"),yt=Symbol("encoding"),gr=Symbol("decoder"),Ge=Symbol("flowing"),li=Symbol("paused"),br=Symbol("resume"),He=Symbol("buffer"),Qe=Symbol("pipes"),qe=Symbol("bufferLength"),Ka=Symbol("bufferPush"),Ps=Symbol("bufferShift"),Ze=Symbol("objectMode"),Ae=Symbol("destroyed"),Va=Symbol("error"),Ja=Symbol("emitData"),Tu=Symbol("emitEnd"),Ya=Symbol("emitEnd2"),Tt=Symbol("async"),Za=Symbol("abort"),Cs=Symbol("aborted"),ui=Symbol("signal"),On=Symbol("dataListeners"),ot=Symbol("discarded"),fi=t=>Promise.resolve().then(t),nw=t=>t(),rw=t=>t==="end"||t==="finish"||t==="prefinish",iw=t=>t instanceof ArrayBuffer||!!t&&typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,sw=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),af=class{src;dest;opts;ondrain;constructor(t,e,n){this.src=t,this.dest=e,this.opts=n,this.ondrain=()=>t[br](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},ow=class extends af{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,e,n){super(t,e,n),this.proxyErrors=i=>this.dest.emit("error",i),t.on("error",this.proxyErrors)}},aw=t=>!!t.objectMode,cw=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer",Wn=class extends Uc{[Ge]=!1;[li]=!1;[Qe]=[];[He]=[];[Ze];[yt];[Tt];[gr];[Wt]=!1;[un]=!1;[ks]=!1;[Ts]=!1;[di]=null;[qe]=0;[Ae]=!1;[ui];[Cs]=!1;[On]=0;[ot]=!1;writable=!0;readable=!0;constructor(...t){let e=t[0]||{};if(super(),e.objectMode&&typeof e.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");aw(e)?(this[Ze]=!0,this[yt]=null):cw(e)?(this[yt]=e.encoding,this[Ze]=!1):(this[Ze]=!1,this[yt]=null),this[Tt]=!!e.async,this[gr]=this[yt]?new Xm(this[yt]):null,e&&e.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[He]}),e&&e.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[Qe]});let{signal:n}=e;n&&(this[ui]=n,n.aborted?this[Za]():n.addEventListener("abort",()=>this[Za]()))}get bufferLength(){return this[qe]}get encoding(){return this[yt]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[Ze]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get async(){return this[Tt]}set async(t){this[Tt]=this[Tt]||!!t}[Za](){this[Cs]=!0,this.emit("abort",this[ui]?.reason),this.destroy(this[ui]?.reason)}get aborted(){return this[Cs]}set aborted(t){}write(t,e,n){if(this[Cs])return!1;if(this[Wt])throw new Error("write after end");if(this[Ae])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof e=="function"&&(n=e,e="utf8"),e||(e="utf8");let i=this[Tt]?fi:nw;if(!this[Ze]&&!Buffer.isBuffer(t)){if(sw(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(iw(t))t=Buffer.from(t);else if(typeof t!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[Ze]?(this[Ge]&&this[qe]!==0&&this[Rs](!0),this[Ge]?this.emit("data",t):this[Ka](t),this[qe]!==0&&this.emit("readable"),n&&i(n),this[Ge]):t.length?(typeof t=="string"&&!(e===this[yt]&&!this[gr]?.lastNeed)&&(t=Buffer.from(t,e)),Buffer.isBuffer(t)&&this[yt]&&(t=this[gr].write(t)),this[Ge]&&this[qe]!==0&&this[Rs](!0),this[Ge]?this.emit("data",t):this[Ka](t),this[qe]!==0&&this.emit("readable"),n&&i(n),this[Ge]):(this[qe]!==0&&this.emit("readable"),n&&i(n),this[Ge])}read(t){if(this[Ae])return null;if(this[ot]=!1,this[qe]===0||t===0||t&&t>this[qe])return this[$t](),null;this[Ze]&&(t=null),this[He].length>1&&!this[Ze]&&(this[He]=[this[yt]?this[He].join(""):Buffer.concat(this[He],this[qe])]);let e=this[Au](t||null,this[He][0]);return this[$t](),e}[Au](t,e){if(this[Ze])this[Ps]();else{let n=e;t===n.length||t===null?this[Ps]():typeof n=="string"?(this[He][0]=n.slice(t),e=n.slice(0,t),this[qe]-=t):(this[He][0]=n.subarray(t),e=n.subarray(0,t),this[qe]-=t)}return this.emit("data",e),!this[He].length&&!this[Wt]&&this.emit("drain"),e}end(t,e,n){return typeof t=="function"&&(n=t,t=void 0),typeof e=="function"&&(n=e,e="utf8"),t!==void 0&&this.write(t,e),n&&this.once("end",n),this[Wt]=!0,this.writable=!1,(this[Ge]||!this[li])&&this[$t](),this}[br](){this[Ae]||(!this[On]&&!this[Qe].length&&(this[ot]=!0),this[li]=!1,this[Ge]=!0,this.emit("resume"),this[He].length?this[Rs]():this[Wt]?this[$t]():this.emit("drain"))}resume(){return this[br]()}pause(){this[Ge]=!1,this[li]=!0,this[ot]=!1}get destroyed(){return this[Ae]}get flowing(){return this[Ge]}get paused(){return this[li]}[Ka](t){this[Ze]?this[qe]+=1:this[qe]+=t.length,this[He].push(t)}[Ps](){return this[Ze]?this[qe]-=1:this[qe]-=this[He][0].length,this[He].shift()}[Rs](t=!1){do;while(this[ku](this[Ps]())&&this[He].length);!t&&!this[He].length&&!this[Wt]&&this.emit("drain")}[ku](t){return this.emit("data",t),this[Ge]}pipe(t,e){if(this[Ae])return t;this[ot]=!1;let n=this[un];return e=e||{},t===Iu.stdout||t===Iu.stderr?e.end=!1:e.end=e.end!==!1,e.proxyErrors=!!e.proxyErrors,n?e.end&&t.end():(this[Qe].push(e.proxyErrors?new ow(this,t,e):new af(this,t,e)),this[Tt]?fi(()=>this[br]()):this[br]()),t}unpipe(t){let e=this[Qe].find(n=>n.dest===t);e&&(this[Qe].length===1?(this[Ge]&&this[On]===0&&(this[Ge]=!1),this[Qe]=[]):this[Qe].splice(this[Qe].indexOf(e),1),e.unpipe())}addListener(t,e){return this.on(t,e)}on(t,e){let n=super.on(t,e);if(t==="data")this[ot]=!1,this[On]++,!this[Qe].length&&!this[Ge]&&this[br]();else if(t==="readable"&&this[qe]!==0)super.emit("readable");else if(rw(t)&&this[un])super.emit(t),this.removeAllListeners(t);else if(t==="error"&&this[di]){let i=e;this[Tt]?fi(()=>i.call(this,this[di])):i.call(this,this[di])}return n}removeListener(t,e){return this.off(t,e)}off(t,e){let n=super.off(t,e);return t==="data"&&(this[On]=this.listeners("data").length,this[On]===0&&!this[ot]&&!this[Qe].length&&(this[Ge]=!1)),n}removeAllListeners(t){let e=super.removeAllListeners(t);return(t==="data"||t===void 0)&&(this[On]=0,!this[ot]&&!this[Qe].length&&(this[Ge]=!1)),e}get emittedEnd(){return this[un]}[$t](){!this[ks]&&!this[un]&&!this[Ae]&&this[He].length===0&&this[Wt]&&(this[ks]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Ts]&&this.emit("close"),this[ks]=!1)}emit(t,...e){let n=e[0];if(t!=="error"&&t!=="close"&&t!==Ae&&this[Ae])return!1;if(t==="data")return!this[Ze]&&!n?!1:this[Tt]?(fi(()=>this[Ja](n)),!0):this[Ja](n);if(t==="end")return this[Tu]();if(t==="close"){if(this[Ts]=!0,!this[un]&&!this[Ae])return!1;let o=super.emit("close");return this.removeAllListeners("close"),o}else if(t==="error"){this[di]=n,super.emit(Va,n);let o=!this[ui]||this.listeners("error").length?super.emit("error",n):!1;return this[$t](),o}else if(t==="resume"){let o=super.emit("resume");return this[$t](),o}else if(t==="finish"||t==="prefinish"){let o=super.emit(t);return this.removeAllListeners(t),o}let i=super.emit(t,...e);return this[$t](),i}[Ja](t){for(let n of this[Qe])n.dest.write(t)===!1&&this.pause();let e=this[ot]?!1:super.emit("data",t);return this[$t](),e}[Tu](){return this[un]?!1:(this[un]=!0,this.readable=!1,this[Tt]?(fi(()=>this[Ya]()),!0):this[Ya]())}[Ya](){if(this[gr]){let e=this[gr].end();if(e){for(let n of this[Qe])n.dest.write(e);this[ot]||super.emit("data",e)}}for(let e of this[Qe])e.end();let t=super.emit("end");return this.removeAllListeners("end"),t}async collect(){let t=Object.assign([],{dataLength:0});this[Ze]||(t.dataLength=0);let e=this.promise();return this.on("data",n=>{t.push(n),this[Ze]||(t.dataLength+=n.length)}),await e,t}async concat(){if(this[Ze])throw new Error("cannot concat in objectMode");let t=await this.collect();return this[yt]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise((t,e)=>{this.on(Ae,()=>e(new Error("stream destroyed"))),this.on("error",n=>e(n)),this.on("end",()=>t())})}[Symbol.asyncIterator](){this[ot]=!1;let t=!1,e=async()=>(this.pause(),t=!0,{value:void 0,done:!0});return{next:()=>{if(t)return e();let n=this.read();if(n!==null)return Promise.resolve({done:!1,value:n});if(this[Wt])return e();let i,o,c=x=>{this.off("data",d),this.off("end",u),this.off(Ae,f),e(),o(x)},d=x=>{this.off("error",c),this.off("end",u),this.off(Ae,f),this.pause(),i({value:x,done:!!this[Wt]})},u=()=>{this.off("error",c),this.off("data",d),this.off(Ae,f),e(),i({done:!0,value:void 0})},f=()=>c(new Error("stream destroyed"));return new Promise((x,p)=>{o=p,i=x,this.once(Ae,f),this.once("error",c),this.once("end",u),this.once("data",d)})},throw:e,return:e,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[ot]=!1;let t=!1,e=()=>(this.pause(),this.off(Va,e),this.off(Ae,e),this.off("end",e),t=!0,{done:!0,value:void 0}),n=()=>{if(t)return e();let i=this.read();return i===null?e():{done:!1,value:i}};return this.once("end",e),this.once(Va,e),this.once(Ae,e),{next:n,throw:e,return:e,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(t){if(this[Ae])return t?this.emit("error",t):this.emit(Ae),this;this[Ae]=!0,this[ot]=!0,this[He].length=0,this[qe]=0;let e=this;return typeof e.close=="function"&&!this[Ts]&&e.close(),t?this.emit("error",t):this.emit(Ae),this}static get isStream(){return Qm}},dw=it.writev,bn=Symbol("_autoClose"),St=Symbol("_close"),hi=Symbol("_ended"),le=Symbol("_fd"),Xa=Symbol("_finished"),Yt=Symbol("_flags"),Qa=Symbol("_flush"),_c=Symbol("_handleChunk"),yc=Symbol("_makeBuf"),Si=Symbol("_mode"),Ds=Symbol("_needDrain"),Ar=Symbol("_onerror"),kr=Symbol("_onopen"),ec=Symbol("_onread"),Er=Symbol("_onwrite"),En=Symbol("_open"),vt=Symbol("_path"),gn=Symbol("_pos"),Rt=Symbol("_queue"),vr=Symbol("_read"),tc=Symbol("_readSize"),Jt=Symbol("_reading"),xi=Symbol("_remain"),nc=Symbol("_size"),Hs=Symbol("_write"),Ln=Symbol("_writing"),qs=Symbol("_defaultFlag"),Gn=Symbol("_errored"),Gc=class extends Wn{[Gn]=!1;[le];[vt];[tc];[Jt]=!1;[nc];[xi];[bn];constructor(t,e){if(e=e||{},super(e),this.readable=!0,this.writable=!1,typeof t!="string")throw new TypeError("path must be a string");this[Gn]=!1,this[le]=typeof e.fd=="number"?e.fd:void 0,this[vt]=t,this[tc]=e.readSize||16*1024*1024,this[Jt]=!1,this[nc]=typeof e.size=="number"?e.size:1/0,this[xi]=this[nc],this[bn]=typeof e.autoClose=="boolean"?e.autoClose:!0,typeof this[le]=="number"?this[vr]():this[En]()}get fd(){return this[le]}get path(){return this[vt]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[En](){it.open(this[vt],"r",(t,e)=>this[kr](t,e))}[kr](t,e){t?this[Ar](t):(this[le]=e,this.emit("open",e),this[vr]())}[yc](){return Buffer.allocUnsafe(Math.min(this[tc],this[xi]))}[vr](){if(!this[Jt]){this[Jt]=!0;let t=this[yc]();if(t.length===0)return process.nextTick(()=>this[ec](null,0,t));it.read(this[le],t,0,t.length,null,(e,n,i)=>this[ec](e,n,i))}}[ec](t,e,n){this[Jt]=!1,t?this[Ar](t):this[_c](e,n)&&this[vr]()}[St](){if(this[bn]&&typeof this[le]=="number"){let t=this[le];this[le]=void 0,it.close(t,e=>e?this.emit("error",e):this.emit("close"))}}[Ar](t){this[Jt]=!0,this[St](),this.emit("error",t)}[_c](t,e){let n=!1;return this[xi]-=t,t>0&&(n=super.write(t<e.length?e.subarray(0,t):e)),(t===0||this[xi]<=0)&&(n=!1,this[St](),super.end()),n}emit(t,...e){switch(t){case"prefinish":case"finish":return!1;case"drain":return typeof this[le]=="number"&&this[vr](),!1;case"error":return this[Gn]?!1:(this[Gn]=!0,super.emit(t,...e));default:return super.emit(t,...e)}}},lw=class extends Gc{[En](){let t=!0;try{this[kr](null,it.openSync(this[vt],"r")),t=!1}finally{t&&this[St]()}}[vr](){let t=!0;try{if(!this[Jt]){this[Jt]=!0;do{let e=this[yc](),n=e.length===0?0:it.readSync(this[le],e,0,e.length,null);if(!this[_c](n,e))break}while(!0);this[Jt]=!1}t=!1}finally{t&&this[St]()}}[St](){if(this[bn]&&typeof this[le]=="number"){let t=this[le];this[le]=void 0,it.closeSync(t),this.emit("close")}}},io=class extends Zm{readable=!1;writable=!0;[Gn]=!1;[Ln]=!1;[hi]=!1;[Rt]=[];[Ds]=!1;[vt];[Si];[bn];[le];[qs];[Yt];[Xa]=!1;[gn];constructor(t,e){e=e||{},super(e),this[vt]=t,this[le]=typeof e.fd=="number"?e.fd:void 0,this[Si]=e.mode===void 0?438:e.mode,this[gn]=typeof e.start=="number"?e.start:void 0,this[bn]=typeof e.autoClose=="boolean"?e.autoClose:!0;let n=this[gn]!==void 0?"r+":"w";this[qs]=e.flags===void 0,this[Yt]=e.flags===void 0?n:e.flags,this[le]===void 0&&this[En]()}emit(t,...e){if(t==="error"){if(this[Gn])return!1;this[Gn]=!0}return super.emit(t,...e)}get fd(){return this[le]}get path(){return this[vt]}[Ar](t){this[St](),this[Ln]=!0,this.emit("error",t)}[En](){it.open(this[vt],this[Yt],this[Si],(t,e)=>this[kr](t,e))}[kr](t,e){this[qs]&&this[Yt]==="r+"&&t&&t.code==="ENOENT"?(this[Yt]="w",this[En]()):t?this[Ar](t):(this[le]=e,this.emit("open",e),this[Ln]||this[Qa]())}end(t,e){return t&&this.write(t,e),this[hi]=!0,!this[Ln]&&!this[Rt].length&&typeof this[le]=="number"&&this[Er](null,0),this}write(t,e){return typeof t=="string"&&(t=Buffer.from(t,e)),this[hi]?(this.emit("error",new Error("write() after end()")),!1):this[le]===void 0||this[Ln]||this[Rt].length?(this[Rt].push(t),this[Ds]=!0,!1):(this[Ln]=!0,this[Hs](t),!0)}[Hs](t){it.write(this[le],t,0,t.length,this[gn],(e,n)=>this[Er](e,n))}[Er](t,e){t?this[Ar](t):(this[gn]!==void 0&&typeof e=="number"&&(this[gn]+=e),this[Rt].length?this[Qa]():(this[Ln]=!1,this[hi]&&!this[Xa]?(this[Xa]=!0,this[St](),this.emit("finish")):this[Ds]&&(this[Ds]=!1,this.emit("drain"))))}[Qa](){if(this[Rt].length===0)this[hi]&&this[Er](null,0);else if(this[Rt].length===1)this[Hs](this[Rt].pop());else{let t=this[Rt];this[Rt]=[],dw(this[le],t,this[gn],(e,n)=>this[Er](e,n))}}[St](){if(this[bn]&&typeof this[le]=="number"){let t=this[le];this[le]=void 0,it.close(t,e=>e?this.emit("error",e):this.emit("close"))}}},cf=class extends io{[En](){let t;if(this[qs]&&this[Yt]==="r+")try{t=it.openSync(this[vt],this[Yt],this[Si])}catch(e){if(e?.code==="ENOENT")return this[Yt]="w",this[En]();throw e}else t=it.openSync(this[vt],this[Yt],this[Si]);this[kr](null,t)}[St](){if(this[bn]&&typeof this[le]=="number"){let t=this[le];this[le]=void 0,it.closeSync(t),this.emit("close")}}[Hs](t){let e=!0;try{this[Er](null,it.writeSync(this[le],t,0,t.length,this[gn])),e=!1}finally{if(e)try{this[St]()}catch{}}}},hw=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),xw=t=>!!t.sync&&!!t.file,pw=t=>!t.sync&&!!t.file,gw=t=>!!t.sync&&!t.file,mw=t=>!t.sync&&!t.file,ww=t=>!!t.file,_w=t=>hw.get(t)||t,Hc=(t={})=>{if(!t)return{};let e={};for(let[n,i]of Object.entries(t)){let o=_w(n);e[o]=i}return e.chmod===void 0&&e.noChmod===!1&&(e.chmod=!0),delete e.noChmod,e},Oi=(t,e,n,i,o)=>Object.assign((c=[],d,u)=>{Array.isArray(c)&&(d=c,c={}),typeof d=="function"&&(u=d,d=void 0),d=d?Array.from(d):[];let f=Hc(c);if(o?.(f,d),xw(f)){if(typeof u=="function")throw new TypeError("callback not supported for sync tar functions");return t(f,d)}else if(pw(f)){let x=e(f,d);return u?x.then(()=>u(),u):x}else if(gw(f)){if(typeof u=="function")throw new TypeError("callback not supported for sync tar functions");return n(f,d)}else if(mw(f)){if(typeof u=="function")throw new TypeError("callback only supported with file option");return i(f,d)}throw new Error("impossible options??")},{syncFile:t,asyncFile:e,syncNoFile:n,asyncNoFile:i,validate:o}),Ew=bw.constants||{ZLIB_VERNUM:4736},Ot=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Ew)),vw=Hn.concat,Pu=Object.getOwnPropertyDescriptor(Hn,"concat"),Sw=t=>t,rc=Pu?.writable===!0||Pu?.set!==void 0?t=>{Hn.concat=t?Sw:vw}:t=>{},qn=Symbol("_superWrite"),Os=class extends Error{code;errno;constructor(t,e){super("zlib: "+t.message,{cause:t}),this.code=t.code,this.errno=t.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+t.message,Error.captureStackTrace(this,e??this.constructor)}get name(){return"ZlibError"}},ic=Symbol("flushFlag"),qc=class extends Wn{#e=!1;#n=!1;#r;#s;#i;#t;#o;get sawError(){return this.#e}get handle(){return this.#t}get flushFlag(){return this.#r}constructor(t,e){if(!t||typeof t!="object")throw new TypeError("invalid options for ZlibBase constructor");if(super(t),this.#r=t.flush??0,this.#s=t.finishFlush??0,this.#i=t.fullFlushFlag??0,typeof Ru[e]!="function")throw new TypeError("Compression method not supported: "+e);try{this.#t=new Ru[e](t)}catch(n){throw new Os(n,this.constructor)}this.#o=n=>{this.#e||(this.#e=!0,this.close(),this.emit("error",n))},this.#t?.on("error",n=>this.#o(new Os(n))),this.once("end",()=>this.close)}close(){this.#t&&(this.#t.close(),this.#t=void 0,this.emit("close"))}reset(){if(!this.#e)return bc(this.#t,"zlib binding closed"),this.#t.reset?.()}flush(t){this.ended||(typeof t!="number"&&(t=this.#i),this.write(Object.assign(Hn.alloc(0),{[ic]:t})))}end(t,e,n){return typeof t=="function"&&(n=t,e=void 0,t=void 0),typeof e=="function"&&(n=e,e=void 0),t&&(e?this.write(t,e):this.write(t)),this.flush(this.#s),this.#n=!0,super.end(n)}get ended(){return this.#n}[qn](t){return super.write(t)}write(t,e,n){if(typeof e=="function"&&(n=e,e="utf8"),typeof t=="string"&&(t=Hn.from(t,e)),this.#e)return;bc(this.#t,"zlib binding closed");let i=this.#t._handle,o=i.close;i.close=()=>{};let c=this.#t.close;this.#t.close=()=>{},rc(!0);let d;try{let f=typeof t[ic]=="number"?t[ic]:this.#r;d=this.#t._processChunk(t,f),rc(!1)}catch(f){rc(!1),this.#o(new Os(f,this.write))}finally{this.#t&&(this.#t._handle=i,i.close=o,this.#t.close=c,this.#t.removeAllListeners("error"))}this.#t&&this.#t.on("error",f=>this.#o(new Os(f,this.write)));let u;if(d)if(Array.isArray(d)&&d.length>0){let f=d[0];u=this[qn](Hn.from(f));for(let x=1;x<d.length;x++)u=this[qn](d[x])}else u=this[qn](Hn.from(d));return n&&n(),u}},lf=class extends qc{#e;#n;constructor(t,e){t=t||{},t.flush=t.flush||Ot.Z_NO_FLUSH,t.finishFlush=t.finishFlush||Ot.Z_FINISH,t.fullFlushFlag=Ot.Z_FULL_FLUSH,super(t,e),this.#e=t.level,this.#n=t.strategy}params(t,e){if(!this.sawError){if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#e!==t||this.#n!==e){this.flush(Ot.Z_SYNC_FLUSH),bc(this.handle,"zlib binding closed");let n=this.handle.flush;this.handle.flush=(i,o)=>{typeof i=="function"&&(o=i,i=this.flushFlag),this.flush(i),o?.()};try{this.handle.params(t,e)}finally{this.handle.flush=n}this.handle&&(this.#e=t,this.#n=e)}}}},Iw=class extends lf{#e;constructor(t){super(t,"Gzip"),this.#e=t&&!!t.portable}[qn](t){return this.#e?(this.#e=!1,t[9]=255,super[qn](t)):super[qn](t)}},Aw=class extends lf{constructor(t){super(t,"Unzip")}},uf=class extends qc{constructor(t,e){t=t||{},t.flush=t.flush||Ot.BROTLI_OPERATION_PROCESS,t.finishFlush=t.finishFlush||Ot.BROTLI_OPERATION_FINISH,t.fullFlushFlag=Ot.BROTLI_OPERATION_FLUSH,super(t,e)}},kw=class extends uf{constructor(t){super(t,"BrotliCompress")}},Tw=class extends uf{constructor(t){super(t,"BrotliDecompress")}},ff=class extends qc{constructor(t,e){t=t||{},t.flush=t.flush||Ot.ZSTD_e_continue,t.finishFlush=t.finishFlush||Ot.ZSTD_e_end,t.fullFlushFlag=Ot.ZSTD_e_flush,super(t,e)}},Rw=class extends ff{constructor(t){super(t,"ZstdCompress")}},Pw=class extends ff{constructor(t){super(t,"ZstdDecompress")}},Cw=(t,e)=>{if(Number.isSafeInteger(t))t<0?Ow(t,e):Dw(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Dw=(t,e)=>{e[0]=128;for(var n=e.length;n>1;n--)e[n-1]=t&255,t=Math.floor(t/256)},Ow=(t,e)=>{e[0]=255;var n=!1;t=t*-1;for(var i=e.length;i>1;i--){var o=t&255;t=Math.floor(t/256),n?e[i-1]=hf(o):o===0?e[i-1]=0:(n=!0,e[i-1]=xf(o))}},Lw=t=>{let e=t[0],n=e===128?Mw(t.subarray(1,t.length)):e===255?Nw(t):null;if(n===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(n))throw Error("parsed number outside of javascript safe integer range");return n},Nw=t=>{for(var e=t.length,n=0,i=!1,o=e-1;o>-1;o--){var c=Number(t[o]),d;i?d=hf(c):c===0?d=c:(i=!0,d=xf(c)),d!==0&&(n-=d*Math.pow(256,e-o-1))}return n},Mw=t=>{for(var e=t.length,n=0,i=e-1;i>-1;i--){var o=Number(t[i]);o!==0&&(n+=o*Math.pow(256,e-i-1))}return n},hf=t=>(255^t)&255,xf=t=>(255^t)+1&255,Bw={};Ym(Bw,{code:()=>jc,isCode:()=>js,isName:()=>Fw,name:()=>so,normalFsTypes:()=>pf});var js=t=>so.has(t),Fw=t=>jc.has(t),pf=new Set(["0","","1","2","3","4","5","6","7","D"]),so=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),jc=new Map(Array.from(so).map(t=>[t[1],t[0]])),jn=class{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#e="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,e=0,n,i){Buffer.isBuffer(t)?this.decode(t,e||0,n,i):t&&this.#n(t)}decode(t,e,n,i){if(e||(e=0),!t||!(t.length>=e+512))throw new Error("need 512 bytes for header");let o=Nn(t,e+156,1),c=pf.has(o),d=c?n:void 0,u=c?i:void 0;if(this.path=d?.path??Nn(t,e,100),this.mode=d?.mode??u?.mode??mn(t,e+100,8),this.uid=d?.uid??u?.uid??mn(t,e+108,8),this.gid=d?.gid??u?.gid??mn(t,e+116,8),this.size=d?.size??u?.size??mn(t,e+124,12),this.mtime=d?.mtime??u?.mtime??sc(t,e+136,12),this.cksum=mn(t,e+148,12),u&&this.#n(u,!0),d&&this.#n(d),js(o)&&(this.#e=o||"0"),this.#e==="0"&&this.path.slice(-1)==="/"&&(this.#e="5"),this.#e==="5"&&(this.size=0),this.linkpath=Nn(t,e+157,100),t.subarray(e+257,e+265).toString()==="ustar\x0000")if(this.uname=d?.uname??u?.uname??Nn(t,e+265,32),this.gname=d?.gname??u?.gname??Nn(t,e+297,32),this.devmaj=d?.devmaj??u?.devmaj??mn(t,e+329,8)??0,this.devmin=d?.devmin??u?.devmin??mn(t,e+337,8)??0,t[e+475]!==0){let x=Nn(t,e+345,155);this.path=x+"/"+this.path}else{let x=Nn(t,e+345,130);x&&(this.path=x+"/"+this.path),this.atime=n?.atime??i?.atime??sc(t,e+476,12),this.ctime=n?.ctime??i?.ctime??sc(t,e+488,12)}let f=256;for(let x=e;x<e+148;x++)f+=t[x];for(let x=e+156;x<e+512;x++)f+=t[x];this.cksumValid=f===this.cksum,this.cksum===void 0&&f===256&&(this.nullBlock=!0)}#n(t,e=!1){Object.assign(this,Object.fromEntries(Object.entries(t).filter(([n,i])=>!(i==null||n==="path"&&e||n==="linkpath"&&e||n==="global"))))}encode(t,e=0){if(t||(t=this.block=Buffer.alloc(512)),this.#e==="Unsupported"&&(this.#e="0"),!(t.length>=e+512))throw new Error("need 512 bytes for header");let n=this.ctime||this.atime?130:155,i=zw(this.path||"",n),o=i[0],c=i[1];this.needPax=!!i[2],this.needPax=Mn(t,e,100,o)||this.needPax,this.needPax=wn(t,e+100,8,this.mode)||this.needPax,this.needPax=wn(t,e+108,8,this.uid)||this.needPax,this.needPax=wn(t,e+116,8,this.gid)||this.needPax,this.needPax=wn(t,e+124,12,this.size)||this.needPax,this.needPax=oc(t,e+136,12,this.mtime)||this.needPax,t[e+156]=Number(this.#e.codePointAt(0)),this.needPax=Mn(t,e+157,100,this.linkpath)||this.needPax,t.write("ustar\x0000",e+257,8),this.needPax=Mn(t,e+265,32,this.uname)||this.needPax,this.needPax=Mn(t,e+297,32,this.gname)||this.needPax,this.needPax=wn(t,e+329,8,this.devmaj)||this.needPax,this.needPax=wn(t,e+337,8,this.devmin)||this.needPax,this.needPax=Mn(t,e+345,n,c)||this.needPax,t[e+475]!==0?this.needPax=Mn(t,e+345,155,c)||this.needPax:(this.needPax=Mn(t,e+345,130,c)||this.needPax,this.needPax=oc(t,e+476,12,this.atime)||this.needPax,this.needPax=oc(t,e+488,12,this.ctime)||this.needPax);let d=256;for(let u=e;u<e+148;u++)d+=t[u];for(let u=e+156;u<e+512;u++)d+=t[u];return this.cksum=d,wn(t,e+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return this.#e==="Unsupported"?this.#e:so.get(this.#e)}get typeKey(){return this.#e}set type(t){let e=String(jc.get(t));if(js(e)||e==="Unsupported")this.#e=e;else if(js(t))this.#e=t;else throw new TypeError("invalid entry type: "+t)}},zw=(t,e)=>{let n=t,i="",o,c=mr.parse(t).root||".";if(Buffer.byteLength(n)<100)o=[n,i,!1];else{i=mr.dirname(n),n=mr.basename(n);do Buffer.byteLength(n)<=100&&Buffer.byteLength(i)<=e?o=[n,i,!1]:Buffer.byteLength(n)>100&&Buffer.byteLength(i)<=e?o=[n.slice(0,99),i,!0]:(n=mr.join(mr.basename(i),n),i=mr.dirname(i));while(i!==c&&o===void 0);o||(o=[t.slice(0,99),"",!0])}return o},Nn=(t,e,n)=>t.subarray(e,e+n).toString("utf8").replace(/\0.*/,""),sc=(t,e,n)=>Uw(mn(t,e,n)),Uw=t=>t===void 0?void 0:new Date(t*1e3),mn=(t,e,n)=>Number(t[e])&128?Lw(t.subarray(e,e+n)):Hw(t,e,n),Gw=t=>isNaN(t)?void 0:t,Hw=(t,e,n)=>Gw(parseInt(t.subarray(e,e+n).toString("utf8").replace(/\0.*$/,"").trim(),8)),qw={12:8589934591,8:2097151},wn=(t,e,n,i)=>i===void 0?!1:i>qw[n]||i<0?(Cw(i,t.subarray(e,e+n)),!0):(jw(t,e,n,i),!1),jw=(t,e,n,i)=>t.write(Ww(i,n),e,n,"ascii"),Ww=(t,e)=>$w(Math.floor(t).toString(8),e),$w=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",oc=(t,e,n,i)=>i===void 0?!1:wn(t,e,n,i.getTime()/1e3),Kw=new Array(156).join("\0"),Mn=(t,e,n,i)=>i===void 0?!1:(t.write(i+Kw,e,n,"utf8"),i.length!==Buffer.byteLength(i)||i.length>n),Qs=class gf{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(e,n=!1){this.atime=e.atime,this.charset=e.charset,this.comment=e.comment,this.ctime=e.ctime,this.dev=e.dev,this.gid=e.gid,this.global=n,this.gname=e.gname,this.ino=e.ino,this.linkpath=e.linkpath,this.mtime=e.mtime,this.nlink=e.nlink,this.path=e.path,this.size=e.size,this.uid=e.uid,this.uname=e.uname}encode(){let e=this.encodeBody();if(e==="")return Buffer.allocUnsafe(0);let n=Buffer.byteLength(e),i=512*Math.ceil(1+n/512),o=Buffer.allocUnsafe(i);for(let c=0;c<512;c++)o[c]=0;new jn({path:("PaxHeader/"+Vw(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:n,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(o),o.write(e,512,n,"utf8");for(let c=n+512;c<o.length;c++)o[c]=0;return o}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(e){if(this[e]===void 0)return"";let n=this[e],i=n instanceof Date?n.getTime()/1e3:n,o=" "+(e==="dev"||e==="ino"||e==="nlink"?"SCHILY.":"")+e+"="+i+`
|
|
90
|
-
`,c=Buffer.byteLength(o),d=Math.floor(Math.log(c)/Math.log(10))+1;return c+d>=Math.pow(10,d)&&(d+=1),d+c+o}static parse(e,n,i=!1){return new
|
|
91
|
-
`).reduce(Zw,Object.create(null)),Zw=(t,e)=>{let n=parseInt(e,10);if(n!==Buffer.byteLength(e)+1)return t;e=e.slice((n+" ").length);let i=e.split("="),o=i.shift();if(!o)return t;let c=o.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),d=i.join("=");return t[c]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(c)?new Date(Number(d)*1e3):/^[0-9]+$/.test(d)?+d:d,t},Xw=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Q=Xw!=="win32"?t=>t:t=>t&&t.replaceAll(/\\/g,"/"),Qw=class extends Wn{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(t,e,n){switch(super({}),this.pause(),this.extended=e,this.globalExtended=n,this.header=t,this.remain=t.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=t.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!t.path)throw new Error("no path provided for tar.ReadEntry");this.path=Q(t.path),this.mode=t.mode,this.mode&&(this.mode=this.mode&4095),this.uid=t.uid,this.gid=t.gid,this.uname=t.uname,this.gname=t.gname,this.size=this.remain,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=t.linkpath?Q(t.linkpath):void 0,this.uname=t.uname,this.gname=t.gname,e&&this.#e(e),n&&this.#e(n,!0)}write(t){let e=t.length;if(e>this.blockRemain)throw new Error("writing more to entry than is appropriate");let n=this.remain,i=this.blockRemain;return this.remain=Math.max(0,n-e),this.blockRemain=Math.max(0,i-e),this.ignore?!0:n>=e?super.write(t):super.write(t.subarray(0,n))}#e(t,e=!1){t.path&&(t.path=Q(t.path)),t.linkpath&&(t.linkpath=Q(t.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(t).filter(([n,i])=>!(i==null||n==="path"&&e))))}},oo=(t,e,n,i={})=>{t.file&&(i.file=t.file),t.cwd&&(i.cwd=t.cwd),i.code=n instanceof Error&&n.code||e,i.tarCode=e,!t.strict&&i.recoverable!==!1?(n instanceof Error&&(i=Object.assign(n,i),n=n.message),t.emit("warn",e,n,i)):n instanceof Error?t.emit("error",Object.assign(n,i)):t.emit("error",Object.assign(new Error(`${e}: ${n}`),i))},e_=1024*1024,Ec=Buffer.from([31,139]),vc=Buffer.from([40,181,47,253]),t_=Math.max(Ec.length,vc.length),ft=Symbol("state"),Bn=Symbol("writeEntry"),Kt=Symbol("readEntry"),ac=Symbol("nextEntry"),Cu=Symbol("processEntry"),Pt=Symbol("extendedHeader"),pi=Symbol("globalExtendedHeader"),fn=Symbol("meta"),Du=Symbol("emitMeta"),me=Symbol("buffer"),Vt=Symbol("queue"),hn=Symbol("ended"),cc=Symbol("emittedEnd"),Fn=Symbol("emit"),Pe=Symbol("unzip"),Ls=Symbol("consumeChunk"),Ns=Symbol("consumeChunkSub"),dc=Symbol("consumeBody"),Ou=Symbol("consumeMeta"),Lu=Symbol("consumeHeader"),gi=Symbol("consuming"),lc=Symbol("bufferConcat"),Ms=Symbol("maybeEnd"),wr=Symbol("writing"),xn=Symbol("aborted"),Bs=Symbol("onDone"),zn=Symbol("sawValidEntry"),Fs=Symbol("sawNullBlock"),zs=Symbol("sawEOF"),Nu=Symbol("closeStream"),n_=()=>!0,Di=class extends yw{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[Vt]=[];[me];[Kt];[Bn];[ft]="begin";[fn]="";[Pt];[pi];[hn]=!1;[Pe];[xn]=!1;[zn];[Fs]=!1;[zs]=!1;[wr]=!1;[gi]=!1;[cc]=!1;constructor(t={}){super(),this.file=t.file||"",this.on(Bs,()=>{(this[ft]==="begin"||this[zn]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),t.ondone?this.on(Bs,t.ondone):this.on(Bs,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||e_,this.filter=typeof t.filter=="function"?t.filter:n_;let e=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!(t.gzip||t.zstd)&&t.brotli!==void 0?t.brotli:e?void 0:!1;let n=t.file&&(t.file.endsWith(".tar.zst")||t.file.endsWith(".tzst"));this.zstd=!(t.gzip||t.brotli)&&t.zstd!==void 0?t.zstd:n?!0:void 0,this.on("end",()=>this[Nu]()),typeof t.onwarn=="function"&&this.on("warn",t.onwarn),typeof t.onReadEntry=="function"&&this.on("entry",t.onReadEntry)}warn(t,e,n={}){oo(this,t,e,n)}[Lu](t,e){this[zn]===void 0&&(this[zn]=!1);let n;try{n=new jn(t,e,this[Pt],this[pi])}catch(i){return this.warn("TAR_ENTRY_INVALID",i)}if(n.nullBlock)this[Fs]?(this[zs]=!0,this[ft]==="begin"&&(this[ft]="header"),this[Fn]("eof")):(this[Fs]=!0,this[Fn]("nullBlock"));else if(this[Fs]=!1,!n.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:n});else if(!n.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:n});else{let i=n.type;if(/^(Symbolic)?Link$/.test(i)&&!n.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:n});else if(!/^(Symbolic)?Link$/.test(i)&&!/^(Global)?ExtendedHeader$/.test(i)&&n.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:n});else{let o=this[Bn]=new Qw(n,this[Pt],this[pi]);if(!this[zn])if(o.remain){let c=()=>{o.invalid||(this[zn]=!0)};o.on("end",c)}else this[zn]=!0;o.meta?o.size>this.maxMetaEntrySize?(o.ignore=!0,this[Fn]("ignoredEntry",o),this[ft]="ignore",o.resume()):o.size>0&&(this[fn]="",o.on("data",c=>this[fn]+=c),this[ft]="meta"):(this[Pt]=void 0,o.ignore=o.ignore||!this.filter(o.path,o),o.ignore?(this[Fn]("ignoredEntry",o),this[ft]=o.remain?"ignore":"header",o.resume()):(o.remain?this[ft]="body":(this[ft]="header",o.end()),this[Kt]?this[Vt].push(o):(this[Vt].push(o),this[ac]())))}}}[Nu](){queueMicrotask(()=>this.emit("close"))}[Cu](t){let e=!0;if(!t)this[Kt]=void 0,e=!1;else if(Array.isArray(t)){let[n,...i]=t;this.emit(n,...i)}else this[Kt]=t,this.emit("entry",t),t.emittedEnd||(t.on("end",()=>this[ac]()),e=!1);return e}[ac](){do;while(this[Cu](this[Vt].shift()));if(this[Vt].length===0){let t=this[Kt];!t||t.flowing||t.size===t.remain?this[wr]||this.emit("drain"):t.once("drain",()=>this.emit("drain"))}}[dc](t,e){let n=this[Bn];if(!n)throw new Error("attempt to consume body without entry??");let i=n.blockRemain??0,o=i>=t.length&&e===0?t:t.subarray(e,e+i);return n.write(o),n.blockRemain||(this[ft]="header",this[Bn]=void 0,n.end()),o.length}[Ou](t,e){let n=this[Bn],i=this[dc](t,e);return!this[Bn]&&n&&this[Du](n),i}[Fn](t,e,n){this[Vt].length===0&&!this[Kt]?this.emit(t,e,n):this[Vt].push([t,e,n])}[Du](t){switch(this[Fn]("meta",this[fn]),t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Pt]=Qs.parse(this[fn],this[Pt],!1);break;case"GlobalExtendedHeader":this[pi]=Qs.parse(this[fn],this[pi],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let e=this[Pt]??Object.create(null);this[Pt]=e,e.path=this[fn].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let e=this[Pt]||Object.create(null);this[Pt]=e,e.linkpath=this[fn].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[xn]=!0,this.emit("abort",t),this.warn("TAR_ABORT",t,{recoverable:!1})}write(t,e,n){if(typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof e=="string"?e:"utf8")),this[xn])return n?.(),!1;if((this[Pe]===void 0||this.brotli===void 0&&this[Pe]===!1)&&t){if(this[me]&&(t=Buffer.concat([this[me],t]),this[me]=void 0),t.length<t_)return this[me]=t,n?.(),!0;for(let d=0;this[Pe]===void 0&&d<Ec.length;d++)t[d]!==Ec[d]&&(this[Pe]=!1);let o=!1;if(this[Pe]===!1&&this.zstd!==!1){o=!0;for(let d=0;d<vc.length;d++)if(t[d]!==vc[d]){o=!1;break}}let c=this.brotli===void 0&&!o;if(this[Pe]===!1&&c)if(t.length<512)if(this[hn])this.brotli=!0;else return this[me]=t,n?.(),!0;else try{new jn(t.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(this[Pe]===void 0||this[Pe]===!1&&(this.brotli||o)){let d=this[hn];this[hn]=!1,this[Pe]=this[Pe]===void 0?new Aw({}):o?new Pw({}):new Tw({}),this[Pe].on("data",f=>this[Ls](f)),this[Pe].on("error",f=>this.abort(f)),this[Pe].on("end",()=>{this[hn]=!0,this[Ls]()}),this[wr]=!0;let u=!!this[Pe][d?"end":"write"](t);return this[wr]=!1,n?.(),u}}this[wr]=!0,this[Pe]?this[Pe].write(t):this[Ls](t),this[wr]=!1;let i=this[Vt].length>0?!1:this[Kt]?this[Kt].flowing:!0;return!i&&this[Vt].length===0&&this[Kt]?.once("drain",()=>this.emit("drain")),n?.(),i}[lc](t){t&&!this[xn]&&(this[me]=this[me]?Buffer.concat([this[me],t]):t)}[Ms](){if(this[hn]&&!this[cc]&&!this[xn]&&!this[gi]){this[cc]=!0;let t=this[Bn];if(t&&t.blockRemain){let e=this[me]?this[me].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${e} available)`,{entry:t}),this[me]&&t.write(this[me]),t.end()}this[Fn](Bs)}}[Ls](t){if(this[gi]&&t)this[lc](t);else if(!t&&!this[me])this[Ms]();else if(t){if(this[gi]=!0,this[me]){this[lc](t);let e=this[me];this[me]=void 0,this[Ns](e)}else this[Ns](t);for(;this[me]&&this[me]?.length>=512&&!this[xn]&&!this[zs];){let e=this[me];this[me]=void 0,this[Ns](e)}this[gi]=!1}(!this[me]||this[hn])&&this[Ms]()}[Ns](t){let e=0,n=t.length;for(;e+512<=n&&!this[xn]&&!this[zs];)switch(this[ft]){case"begin":case"header":this[Lu](t,e),e+=512;break;case"ignore":case"body":e+=this[dc](t,e);break;case"meta":e+=this[Ou](t,e);break;default:throw new Error("invalid state: "+this[ft])}e<n&&(this[me]=this[me]?Buffer.concat([t.subarray(e),this[me]]):t.subarray(e))}end(t,e,n){return typeof t=="function"&&(n=t,e=void 0,t=void 0),typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,e)),n&&this.once("finish",n),this[xn]||(this[Pe]?(t&&this[Pe].write(t),this[Pe].end()):(this[hn]=!0,(this.brotli===void 0||this.zstd===void 0)&&(t=t||Buffer.alloc(0)),t&&this.write(t),this[Ms]())),this}},Ii=t=>{let e=t.length-1,n=-1;for(;e>-1&&t.charAt(e)==="/";)n=e,e--;return n===-1?t:t.slice(0,n)},r_=t=>{let e=t.onReadEntry;t.onReadEntry=e?n=>{e(n),n.resume()}:n=>n.resume()},mf=(t,e)=>{let n=new Map(e.map(c=>[Ii(c),!0])),i=t.filter,o=(c,d="")=>{let u=d||fw(c).root||".",f;if(c===u)f=!1;else{let x=n.get(c);f=x!==void 0?x:o(uw(c),u)}return n.set(c,f),f};t.filter=i?(c,d)=>i(c,d)&&o(Ii(c)):c=>o(Ii(c))},i_=t=>{let e=new Di(t),n=t.file,i;try{i=Sr.openSync(n,"r");let o=Sr.fstatSync(i),c=t.maxReadSize||16*1024*1024;if(o.size<c){let d=Buffer.allocUnsafe(o.size),u=Sr.readSync(i,d,0,o.size,0);e.end(u===d.byteLength?d:d.subarray(0,u))}else{let d=0,u=Buffer.allocUnsafe(c);for(;d<o.size;){let f=Sr.readSync(i,u,0,c,d);if(f===0)break;d+=f,e.write(u.subarray(0,f))}e.end()}}finally{if(typeof i=="number")try{Sr.closeSync(i)}catch{}}},s_=(t,e)=>{let n=new Di(t),i=t.maxReadSize||16*1024*1024,o=t.file;return new Promise((c,d)=>{n.on("error",d),n.on("end",c),Sr.stat(o,(u,f)=>{if(u)d(u);else{let x=new Gc(o,{readSize:i,size:f.size});x.on("error",d),x.pipe(n)}})})},Tr=Oi(i_,s_,t=>new Di(t),t=>new Di(t),(t,e)=>{e?.length&&mf(t,e),t.noResume||r_(t)}),wf=(t,e,n)=>(t&=4095,n&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t),{isAbsolute:a_,parse:Bu}=o_,Wc=t=>{let e="",n=Bu(t);for(;a_(t)||n.root;){let i=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":n.root;t=t.slice(i.length),e+=i,n=Bu(t)}return[e,t]},ao=["|","<",">","?",":"],$c=ao.map(t=>String.fromCodePoint(61440+Number(t.codePointAt(0)))),c_=new Map(ao.map((t,e)=>[t,$c[e]])),d_=new Map($c.map((t,e)=>[t,ao[e]])),Fu=t=>ao.reduce((e,n)=>e.split(n).join(c_.get(n)),t),l_=t=>$c.reduce((e,n)=>e.split(n).join(d_.get(n)),t),_f=(t,e)=>e?(t=Q(t).replace(/^\.(\/|$)/,""),Ii(e)+"/"+t):Q(t),u_=16*1024*1024,zu=Symbol("process"),Uu=Symbol("file"),Gu=Symbol("directory"),Sc=Symbol("symlink"),Hu=Symbol("hardlink"),mi=Symbol("header"),Ws=Symbol("read"),Ic=Symbol("lstat"),$s=Symbol("onlstat"),Ac=Symbol("onread"),kc=Symbol("onreadlink"),Tc=Symbol("openfile"),Rc=Symbol("onopenfile"),_n=Symbol("close"),to=Symbol("mode"),Pc=Symbol("awaitDrain"),uc=Symbol("ondrain"),Dt=Symbol("prefix"),yf=class extends Wn{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#e=!1;constructor(t,e={}){let n=Hc(e);super(),this.path=Q(t),this.portable=!!n.portable,this.maxReadSize=n.maxReadSize||u_,this.linkCache=n.linkCache||new Map,this.statCache=n.statCache||new Map,this.preservePaths=!!n.preservePaths,this.cwd=Q(n.cwd||process.cwd()),this.strict=!!n.strict,this.noPax=!!n.noPax,this.noMtime=!!n.noMtime,this.mtime=n.mtime,this.prefix=n.prefix?Q(n.prefix):void 0,this.onWriteEntry=n.onWriteEntry,typeof n.onwarn=="function"&&this.on("warn",n.onwarn);let i=!1;if(!this.preservePaths){let[c,d]=Wc(this.path);c&&typeof d=="string"&&(this.path=d,i=c)}this.win32=!!n.win32||process.platform==="win32",this.win32&&(this.path=l_(this.path.replaceAll(/\\/g,"/")),t=t.replaceAll(/\\/g,"/")),this.absolute=Q(n.absolute||Mu.resolve(this.cwd,t)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path});let o=this.statCache.get(this.absolute);o?this[$s](o):this[Ic]()}warn(t,e,n={}){return oo(this,t,e,n)}emit(t,...e){return t==="error"&&(this.#e=!0),super.emit(t,...e)}[Ic](){Ct.lstat(this.absolute,(t,e)=>{if(t)return this.emit("error",t);this[$s](e)})}[$s](t){this.statCache.set(this.absolute,t),this.stat=t,t.isFile()||(t.size=0),this.type=x_(t),this.emit("stat",t),this[zu]()}[zu](){switch(this.type){case"File":return this[Uu]();case"Directory":return this[Gu]();case"SymbolicLink":return this[Sc]();default:return this.end()}}[to](t){return wf(t,this.type==="Directory",this.portable)}[Dt](t){return _f(t,this.prefix)}[mi](){if(!this.stat)throw new Error("cannot write header before stat");this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new jn({path:this[Dt](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Dt](this.linkpath):this.linkpath,mode:this[to](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new Qs({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[Dt](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Dt](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let t=this.header?.block;if(!t)throw new Error("failed to encode header");super.write(t)}[Gu](){if(!this.stat)throw new Error("cannot create directory entry without stat");this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[mi](),this.end()}[Sc](){Ct.readlink(this.absolute,(t,e)=>{if(t)return this.emit("error",t);this[kc](e)})}[kc](t){this.linkpath=Q(t),this[mi](),this.end()}[Hu](t){if(!this.stat)throw new Error("cannot create link entry without stat");this.type="Link",this.linkpath=Q(Mu.relative(this.cwd,t)),this.stat.size=0,this[mi](),this.end()}[Uu](){if(!this.stat)throw new Error("cannot create file entry without stat");if(this.stat.nlink>1){let t=`${this.stat.dev}:${this.stat.ino}`,e=this.linkCache.get(t);if(e?.indexOf(this.cwd)===0)return this[Hu](e);this.linkCache.set(t,this.absolute)}if(this[mi](),this.stat.size===0)return this.end();this[Tc]()}[Tc](){Ct.open(this.absolute,"r",(t,e)=>{if(t)return this.emit("error",t);this[Rc](e)})}[Rc](t){if(this.fd=t,this.#e)return this[_n]();if(!this.stat)throw new Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let e=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(e),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[Ws]()}[Ws](){let{fd:t,buf:e,offset:n,length:i,pos:o}=this;if(t===void 0||e===void 0)throw new Error("cannot read file without first opening");Ct.read(t,e,n,i,o,(c,d)=>{if(c)return this[_n](()=>this.emit("error",c));this[Ac](d)})}[_n](t=()=>{}){this.fd!==void 0&&Ct.close(this.fd,t)}[Ac](t){if(t<=0&&this.remain>0){let n=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[_n](()=>this.emit("error",n))}if(t>this.remain){let n=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[_n](()=>this.emit("error",n))}if(!this.buf)throw new Error("should have created buffer prior to reading");if(t===this.remain)for(let n=t;n<this.length&&t<this.blockRemain;n++)this.buf[n+this.offset]=0,t++,this.remain++;let e=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);this.write(e)?this[uc]():this[Pc](()=>this[uc]())}[Pc](t){this.once("drain",t)}write(t,e,n){if(typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof e=="string"?e:"utf8")),this.blockRemain<t.length){let i=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",i)}return this.remain-=t.length,this.blockRemain-=t.length,this.pos+=t.length,this.offset+=t.length,super.write(t,null,n)}[uc](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[_n](t=>t?this.emit("error",t):this.end());if(!this.buf)throw new Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[Ws]()}},f_=class extends yf{sync=!0;[Ic](){this[$s](Ct.lstatSync(this.absolute))}[Sc](){this[kc](Ct.readlinkSync(this.absolute))}[Tc](){this[Rc](Ct.openSync(this.absolute,"r"))}[Ws](){let t=!0;try{let{fd:e,buf:n,offset:i,length:o,pos:c}=this;if(e===void 0||n===void 0)throw new Error("fd and buf must be set in READ method");let d=Ct.readSync(e,n,i,o,c);this[Ac](d),t=!1}finally{if(t)try{this[_n](()=>{})}catch{}}}[Pc](t){t()}[_n](t=()=>{}){this.fd!==void 0&&Ct.closeSync(this.fd),t()}},h_=class extends Wn{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,e,n={}){return oo(this,t,e,n)}constructor(t,e={}){let n=Hc(e);super(),this.preservePaths=!!n.preservePaths,this.portable=!!n.portable,this.strict=!!n.strict,this.noPax=!!n.noPax,this.noMtime=!!n.noMtime,this.onWriteEntry=n.onWriteEntry,this.readEntry=t;let{type:i}=t;if(i==="Unsupported")throw new Error("writing entry that should be ignored");this.type=i,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=n.prefix,this.path=Q(t.path),this.mode=t.mode!==void 0?this[to](t.mode):void 0,this.uid=this.portable?void 0:t.uid,this.gid=this.portable?void 0:t.gid,this.uname=this.portable?void 0:t.uname,this.gname=this.portable?void 0:t.gname,this.size=t.size,this.mtime=this.noMtime?void 0:n.mtime||t.mtime,this.atime=this.portable?void 0:t.atime,this.ctime=this.portable?void 0:t.ctime,this.linkpath=t.linkpath!==void 0?Q(t.linkpath):void 0,typeof n.onwarn=="function"&&this.on("warn",n.onwarn);let o=!1;if(!this.preservePaths){let[d,u]=Wc(this.path);d&&typeof u=="string"&&(this.path=u,o=d)}this.remain=t.size,this.blockRemain=t.startBlockSize,this.onWriteEntry?.(this),this.header=new jn({path:this[Dt](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Dt](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new Qs({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[Dt](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Dt](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let c=this.header?.block;if(!c)throw new Error("failed to encode header");super.write(c),t.pipe(this)}[Dt](t){return _f(t,this.prefix)}[to](t){return wf(t,this.type==="Directory",this.portable)}write(t,e,n){typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof e=="string"?e:"utf8"));let i=t.length;if(i>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=i,super.write(t,n)}end(t,e,n){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),typeof t=="function"&&(n=t,e=void 0,t=void 0),typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,e??"utf8")),n&&this.once("finish",n),t?super.end(t,n):super.end(n),this}},x_=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported",p_=class Ir{tail;head;length=0;static create(e=[]){return new Ir(e)}constructor(e=[]){for(let n of e)this.push(n)}*[Symbol.iterator](){for(let e=this.head;e;e=e.next)yield e.value}removeNode(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");let n=e.next,i=e.prev;return n&&(n.prev=i),i&&(i.next=n),e===this.head&&(this.head=n),e===this.tail&&(this.tail=i),this.length--,e.next=void 0,e.prev=void 0,e.list=void 0,n}unshiftNode(e){if(e===this.head)return;e.list&&e.list.removeNode(e);let n=this.head;e.list=this,e.next=n,n&&(n.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}pushNode(e){if(e===this.tail)return;e.list&&e.list.removeNode(e);let n=this.tail;e.list=this,e.prev=n,n&&(n.next=e),this.tail=e,this.head||(this.head=e),this.length++}push(...e){for(let n=0,i=e.length;n<i;n++)m_(this,e[n]);return this.length}unshift(...e){for(var n=0,i=e.length;n<i;n++)w_(this,e[n]);return this.length}pop(){if(!this.tail)return;let e=this.tail.value,n=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,n.list=void 0,this.length--,e}shift(){if(!this.head)return;let e=this.head.value,n=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,n.list=void 0,this.length--,e}forEach(e,n){n=n||this;for(let i=this.head,o=0;i;o++)e.call(n,i.value,o,this),i=i.next}forEachReverse(e,n){n=n||this;for(let i=this.tail,o=this.length-1;i;o--)e.call(n,i.value,o,this),i=i.prev}get(e){let n=0,i=this.head;for(;i&&n<e;n++)i=i.next;if(n===e&&i)return i.value}getReverse(e){let n=0,i=this.tail;for(;i&&n<e;n++)i=i.prev;if(n===e&&i)return i.value}map(e,n){n=n||this;let i=new Ir;for(let o=this.head;o;)i.push(e.call(n,o.value,this)),o=o.next;return i}mapReverse(e,n){n=n||this;var i=new Ir;for(let o=this.tail;o;)i.push(e.call(n,o.value,this)),o=o.prev;return i}reduce(e,n){let i,o=this.head;if(arguments.length>1)i=n;else if(this.head)o=this.head.next,i=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var c=0;o;c++)i=e(i,o.value,c),o=o.next;return i}reduceReverse(e,n){let i,o=this.tail;if(arguments.length>1)i=n;else if(this.tail)o=this.tail.prev,i=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(let c=this.length-1;o;c--)i=e(i,o.value,c),o=o.prev;return i}toArray(){let e=new Array(this.length);for(let n=0,i=this.head;i;n++)e[n]=i.value,i=i.next;return e}toArrayReverse(){let e=new Array(this.length);for(let n=0,i=this.tail;i;n++)e[n]=i.value,i=i.prev;return e}slice(e=0,n=this.length){n<0&&(n+=this.length),e<0&&(e+=this.length);let i=new Ir;if(n<e||n<0)return i;e<0&&(e=0),n>this.length&&(n=this.length);let o=this.head,c=0;for(c=0;o&&c<e;c++)o=o.next;for(;o&&c<n;c++,o=o.next)i.push(o.value);return i}sliceReverse(e=0,n=this.length){n<0&&(n+=this.length),e<0&&(e+=this.length);let i=new Ir;if(n<e||n<0)return i;e<0&&(e=0),n>this.length&&(n=this.length);let o=this.length,c=this.tail;for(;c&&o>n;o--)c=c.prev;for(;c&&o>e;o--,c=c.prev)i.push(c.value);return i}splice(e,n=0,...i){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);let o=this.head;for(let d=0;o&&d<e;d++)o=o.next;let c=[];for(let d=0;o&&d<n;d++)c.push(o.value),o=this.removeNode(o);o?o!==this.tail&&(o=o.prev):o=this.tail;for(let d of i)o=g_(this,o,d);return c}reverse(){let e=this.head,n=this.tail;for(let i=e;i;i=i.prev){let o=i.prev;i.prev=i.next,i.next=o}return this.head=n,this.tail=e,this}};function g_(t,e,n){let i=e,o=e?e.next:t.head,c=new Kc(n,i,o,t);return c.next===void 0&&(t.tail=c),c.prev===void 0&&(t.head=c),t.length++,c}function m_(t,e){t.tail=new Kc(e,t.tail,void 0,t),t.head||(t.head=t.tail),t.length++}function w_(t,e){t.head=new Kc(e,void 0,t.head,t),t.tail||(t.tail=t.head),t.length++}var Kc=class{list;next;prev;value;constructor(t,e,n,i){this.list=i,this.value=t,e?(e.next=this,this.prev=e):this.prev=void 0,n?(n.prev=this,this.next=n):this.next=void 0}},ju=class{path;absolute;entry;stat;readdir;pending=!1;pendingLink=!1;ignore=!1;piped=!1;constructor(t,e){this.path=t||"./",this.absolute=e}},Wu=Buffer.alloc(1024),Ks=Symbol("onStat"),wi=Symbol("ended"),bt=Symbol("queue"),_i=Symbol("pendingLinks"),pn=Symbol("current"),Un=Symbol("process"),yi=Symbol("processing"),Us=Symbol("processJob"),Et=Symbol("jobs"),fc=Symbol("jobDone"),Vs=Symbol("addFSEntry"),$u=Symbol("addTarEntry"),Cc=Symbol("stat"),Dc=Symbol("readdir"),Js=Symbol("onreaddir"),Ys=Symbol("pipe"),Ku=Symbol("entry"),hc=Symbol("entryOpt"),Zs=Symbol("writeEntryClass"),bf=Symbol("write"),xc=Symbol("ondrain"),co=class extends Wn{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[Zs];onWriteEntry;[bt];[_i]=new Map;[Et]=0;[yi]=!1;[wi]=!1;constructor(t={}){if(super(),this.opt=t,this.file=t.file||"",this.cwd=t.cwd||process.cwd(),this.maxReadSize=t.maxReadSize,this.preservePaths=!!t.preservePaths,this.strict=!!t.strict,this.noPax=!!t.noPax,this.prefix=Q(t.prefix||""),this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.readdirCache=t.readdirCache||new Map,this.onWriteEntry=t.onWriteEntry,this[Zs]=yf,typeof t.onwarn=="function"&&this.on("warn",t.onwarn),this.portable=!!t.portable,t.gzip||t.brotli||t.zstd){if((t.gzip?1:0)+(t.brotli?1:0)+(t.zstd?1:0)>1)throw new TypeError("gzip, brotli, zstd are mutually exclusive");if(t.gzip&&(typeof t.gzip!="object"&&(t.gzip={}),this.portable&&(t.gzip.portable=!0),this.zip=new Iw(t.gzip)),t.brotli&&(typeof t.brotli!="object"&&(t.brotli={}),this.zip=new kw(t.brotli)),t.zstd&&(typeof t.zstd!="object"&&(t.zstd={}),this.zip=new Rw(t.zstd)),!this.zip)throw new Error("impossible");let e=this.zip;e.on("data",n=>super.write(n)),e.on("end",()=>super.end()),e.on("drain",()=>this[xc]()),this.on("resume",()=>e.resume())}else this.on("drain",this[xc]);this.noDirRecurse=!!t.noDirRecurse,this.follow=!!t.follow,this.noMtime=!!t.noMtime,t.mtime&&(this.mtime=t.mtime),this.filter=typeof t.filter=="function"?t.filter:()=>!0,this[bt]=new p_,this[Et]=0,this.jobs=Number(t.jobs)||4,this[yi]=!1,this[wi]=!1}[bf](t){return super.write(t)}add(t){return this.write(t),this}end(t,e,n){return typeof t=="function"&&(n=t,t=void 0),typeof e=="function"&&(n=e,e=void 0),t&&this.add(t),this[wi]=!0,this[Un](),n&&n(),this}write(t){if(this[wi])throw new Error("write after end");return typeof t=="string"?this[Vs](t):this[$u](t),this.flowing}[$u](t){let e=Q(qu.resolve(this.cwd,t.path));if(!this.filter(t.path,t))t.resume();else{let n=new ju(t.path,e);n.entry=new h_(t,this[hc](n)),n.entry.on("end",()=>this[fc](n)),this[Et]+=1,this[bt].push(n)}this[Un]()}[Vs](t){let e=Q(qu.resolve(this.cwd,t));this[bt].push(new ju(t,e)),this[Un]()}[Cc](t){t.pending=!0,this[Et]+=1;let e=this.follow?"stat":"lstat";eo[e](t.absolute,(n,i)=>{t.pending=!1,this[Et]-=1,n?this.emit("error",n):this[Ks](t,i)})}[Ks](t,e){if(this.statCache.set(t.absolute,e),t.stat=e,!this.filter(t.path,e))t.ignore=!0;else if(e.isFile()&&e.nlink>1&&!this.linkCache.get(`${e.dev}:${e.ino}`)&&!this.sync)if(t===this[pn])this[Us](t);else{let n=`${e.dev}:${e.ino}`,i=this[_i].get(n);i?i.push(t):this[_i].set(n,[t]),t.pendingLink=!0,t.pending=!0}this[Un]()}[Dc](t){t.pending=!0,this[Et]+=1,eo.readdir(t.absolute,(e,n)=>{if(t.pending=!1,this[Et]-=1,e)return this.emit("error",e);this[Js](t,n)})}[Js](t,e){this.readdirCache.set(t.absolute,e),t.readdir=e,this[Un]()}[Un](){if(!this[yi]){this[yi]=!0;for(let t=this[bt].head;t&&this[Et]<this.jobs;t=t.next)if(this[Us](t.value),t.value.ignore){let e=t.next;this[bt].removeNode(t),t.next=e}this[yi]=!1,this[wi]&&this[bt].length===0&&this[Et]===0&&(this.zip?this.zip.end(Wu):(super.write(Wu),super.end()))}}get[pn](){return this[bt]&&this[bt].head&&this[bt].head.value}[fc](t){this[bt].shift(),this[Et]-=1;let{stat:e}=t;if(e&&e.isFile()&&e.nlink>1){let n=`${e.dev}:${e.ino}`,i=this[_i].get(n);if(i){this[_i].delete(n);for(let o of i)o.pending=!1,this[Us](o)}}this[Un]()}[Us](t){if(t.pending&&t.pendingLink&&t===this[pn]&&(t.pending=!1,t.pendingLink=!1),!t.pending){if(t.entry){t===this[pn]&&!t.piped&&this[Ys](t);return}if(!t.stat){let e=this.statCache.get(t.absolute);e?this[Ks](t,e):this[Cc](t)}if(t.stat&&!t.ignore){if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){let e=this.readdirCache.get(t.absolute);if(e?this[Js](t,e):this[Dc](t),!t.readdir)return}if(t.entry=this[Ku](t),!t.entry){t.ignore=!0;return}t===this[pn]&&!t.piped&&this[Ys](t)}}}[hc](t){return{onwarn:(e,n,i)=>this.warn(e,n,i),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[Ku](t){this[Et]+=1;try{return new this[Zs](t.path,this[hc](t)).on("end",()=>this[fc](t)).on("error",e=>this.emit("error",e))}catch(e){this.emit("error",e)}}[xc](){this[pn]&&this[pn].entry&&this[pn].entry.resume()}[Ys](t){t.piped=!0,t.readdir&&t.readdir.forEach(i=>{let o=t.path,c=o==="./"?"":o.replace(/\/*$/,"/");this[Vs](c+i)});let e=t.entry,n=this.zip;if(!e)throw new Error("cannot pipe without source");n?e.on("data",i=>{n.write(i)||e.pause()}):e.on("data",i=>{super.write(i)||e.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(t,e,n={}){oo(this,t,e,n)}},Vc=class extends co{sync=!0;constructor(t){super(t),this[Zs]=f_}pause(){}resume(){}[Cc](t){let e=this.follow?"statSync":"lstatSync";this[Ks](t,eo[e](t.absolute))}[Dc](t){this[Js](t,eo.readdirSync(t.absolute))}[Ys](t){let e=t.entry,n=this.zip;if(t.readdir&&t.readdir.forEach(i=>{let o=t.path,c=o==="./"?"":o.replace(/\/*$/,"/");this[Vs](c+i)}),!e)throw new Error("Cannot pipe without source");n?e.on("data",i=>{n.write(i)}):e.on("data",i=>{super[bf](i)})}},__=(t,e)=>{let n=new Vc(t),i=new cf(t.file,{mode:t.mode||438});n.pipe(i),Ef(n,e)},y_=(t,e)=>{let n=new co(t),i=new io(t.file,{mode:t.mode||438});n.pipe(i);let o=new Promise((c,d)=>{i.on("error",d),i.on("close",c),n.on("error",d)});return vf(n,e).catch(c=>n.emit("error",c)),o},Ef=(t,e)=>{e.forEach(n=>{n.charAt(0)==="@"?Tr({file:df.resolve(t.cwd,n.slice(1)),sync:!0,noResume:!0,onReadEntry:i=>t.add(i)}):t.add(n)}),t.end()},vf=async(t,e)=>{for(let n of e)n.charAt(0)==="@"?await Tr({file:df.resolve(String(t.cwd),n.slice(1)),noResume:!0,onReadEntry:i=>{t.add(i)}}):t.add(n);t.end()},b_=(t,e)=>{let n=new Vc(t);return Ef(n,e),n},E_=(t,e)=>{let n=new co(t);return vf(n,e).catch(i=>n.emit("error",i)),n},rA=Oi(__,y_,b_,E_,(t,e)=>{if(!e?.length)throw new TypeError("no paths specified to add to archive")}),S_=process.env.__FAKE_PLATFORM__||process.platform,kf=S_==="win32",{O_CREAT:Tf,O_NOFOLLOW:Vu,O_TRUNC:Rf,O_WRONLY:Pf}=Af.constants,Cf=Number(process.env.__FAKE_FS_O_FILENAME__)||Af.constants.UV_FS_O_FILEMAP||0,I_=kf&&!!Cf,A_=512*1024,k_=Cf|Rf|Tf|Pf,Ju=!kf&&typeof Vu=="number"?Vu|Rf|Tf|Pf:null,Df=Ju!==null?()=>Ju:I_?t=>t<A_?k_:"w":()=>"w",Oc=(t,e,n)=>{try{return lo.lchownSync(t,e,n)}catch(i){if(i?.code!=="ENOENT")throw i}},no=(t,e,n,i)=>{lo.lchown(t,e,n,o=>{i(o&&o?.code!=="ENOENT"?o:null)})},T_=(t,e,n,i,o)=>{if(e.isDirectory())Of(Ai.resolve(t,e.name),n,i,c=>{if(c)return o(c);let d=Ai.resolve(t,e.name);no(d,n,i,o)});else{let c=Ai.resolve(t,e.name);no(c,n,i,o)}},Of=(t,e,n,i)=>{lo.readdir(t,{withFileTypes:!0},(o,c)=>{if(o){if(o.code==="ENOENT")return i();if(o.code!=="ENOTDIR"&&o.code!=="ENOTSUP")return i(o)}if(o||!c.length)return no(t,e,n,i);let d=c.length,u=null,f=x=>{if(!u){if(x)return i(u=x);if(--d===0)return no(t,e,n,i)}};for(let x of c)T_(t,x,e,n,f)})},R_=(t,e,n,i)=>{e.isDirectory()&&Lf(Ai.resolve(t,e.name),n,i),Oc(Ai.resolve(t,e.name),n,i)},Lf=(t,e,n)=>{let i;try{i=lo.readdirSync(t,{withFileTypes:!0})}catch(o){let c=o;if(c?.code==="ENOENT")return;if(c?.code==="ENOTDIR"||c?.code==="ENOTSUP")return Oc(t,e,n);throw c}for(let o of i)R_(t,o,e,n);return Oc(t,e,n)},Nf=class extends Error{path;code;syscall="chdir";constructor(t,e){super(`${e}: Cannot cd into '${t}'`),this.path=t,this.code=e}get name(){return"CwdError"}},uo=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,e){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=t,this.path=e}get name(){return"SymlinkError"}},C_=(t,e)=>{ct.stat(t,(n,i)=>{(n||!i.isDirectory())&&(n=new Nf(t,n?.code||"ENOTDIR")),e(n)})},D_=(t,e,n)=>{t=Q(t);let i=e.umask??18,o=e.mode|448,c=(o&i)!==0,d=e.uid,u=e.gid,f=typeof d=="number"&&typeof u=="number"&&(d!==e.processUid||u!==e.processGid),x=e.preserve,p=e.unlink,w=Q(e.cwd),S=(b,I)=>{b?n(b):I&&f?Of(I,d,u,A=>S(A)):c?ct.chmod(t,o,n):n()};if(t===w)return C_(t,S);if(x)return P_.mkdir(t,{mode:o,recursive:!0}).then(b=>S(null,b??void 0),S);let _=Q(ro.relative(w,t)).split("/");Lc(w,_,o,p,w,void 0,S)},Lc=(t,e,n,i,o,c,d)=>{if(e.length===0)return d(null,c);let u=e.shift(),f=Q(ro.resolve(t+"/"+u));ct.mkdir(f,n,Mf(f,e,n,i,o,c,d))},Mf=(t,e,n,i,o,c,d)=>u=>{u?ct.lstat(t,(f,x)=>{if(f)f.path=f.path&&Q(f.path),d(f);else if(x.isDirectory())Lc(t,e,n,i,o,c,d);else if(i)ct.unlink(t,p=>{if(p)return d(p);ct.mkdir(t,n,Mf(t,e,n,i,o,c,d))});else{if(x.isSymbolicLink())return d(new uo(t,t+"/"+e.join("/")));d(u)}}):(c=c||t,Lc(t,e,n,i,o,c,d))},O_=t=>{let e=!1,n;try{e=ct.statSync(t).isDirectory()}catch(i){n=i?.code}finally{if(!e)throw new Nf(t,n??"ENOTDIR")}},L_=(t,e)=>{t=Q(t);let n=e.umask??18,i=e.mode|448,o=(i&n)!==0,c=e.uid,d=e.gid,u=typeof c=="number"&&typeof d=="number"&&(c!==e.processUid||d!==e.processGid),f=e.preserve,x=e.unlink,p=Q(e.cwd),w=b=>{b&&u&&Lf(b,c,d),o&&ct.chmodSync(t,i)};if(t===p)return O_(p),w();if(f)return w(ct.mkdirSync(t,{mode:i,recursive:!0})??void 0);let S=Q(ro.relative(p,t)).split("/"),_;for(let b=S.shift(),I=p;b&&(I+="/"+b);b=S.shift()){I=Q(ro.resolve(I));try{ct.mkdirSync(I,i),_=_||I}catch{let A=ct.lstatSync(I);if(A.isDirectory())continue;if(x){ct.unlinkSync(I),ct.mkdirSync(I,i),_=_||I;continue}else if(A.isSymbolicLink())return new uo(I,I+"/"+S.join("/"))}}return w(_)},pc=Object.create(null),Yu=1e4,_r=new Set,N_=t=>{_r.has(t)?_r.delete(t):pc[t]=t.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),_r.add(t);let e=pc[t],n=_r.size-Yu;if(n>Yu/10){for(let i of _r)if(_r.delete(i),delete pc[i],--n<=0)break}return e},M_=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,B_=M_==="win32",F_=t=>t.split("/").slice(0,-1).reduce((e,n)=>{let i=e.at(-1);return i!==void 0&&(n=Bf(i,n)),e.push(n||"/"),e},[]),z_=class{#e=new Map;#n=new Map;#r=new Set;reserve(t,e){t=B_?["win32 parallelization disabled"]:t.map(i=>Ii(Bf(N_(i))));let n=new Set(t.map(i=>F_(i)).reduce((i,o)=>i.concat(o)));this.#n.set(e,{dirs:n,paths:t});for(let i of t){let o=this.#e.get(i);o?o.push(e):this.#e.set(i,[e])}for(let i of n){let o=this.#e.get(i);if(!o)this.#e.set(i,[new Set([e])]);else{let c=o.at(-1);c instanceof Set?c.add(e):o.push(new Set([e]))}}return this.#i(e)}#s(t){let e=this.#n.get(t);if(!e)throw new Error("function does not have any path reservations");return{paths:e.paths.map(n=>this.#e.get(n)),dirs:[...e.dirs].map(n=>this.#e.get(n))}}check(t){let{paths:e,dirs:n}=this.#s(t);return e.every(i=>i&&i[0]===t)&&n.every(i=>i&&i[0]instanceof Set&&i[0].has(t))}#i(t){return this.#r.has(t)||!this.check(t)?!1:(this.#r.add(t),t(()=>this.#t(t)),!0)}#t(t){if(!this.#r.has(t))return!1;let e=this.#n.get(t);if(!e)throw new Error("invalid reservation");let{paths:n,dirs:i}=e,o=new Set;for(let c of n){let d=this.#e.get(c);if(!d||d?.[0]!==t)continue;let u=d[1];if(!u){this.#e.delete(c);continue}if(d.shift(),typeof u=="function")o.add(u);else for(let f of u)o.add(f)}for(let c of i){let d=this.#e.get(c),u=d?.[0];if(!(!d||!(u instanceof Set)))if(u.size===1&&d.length===1){this.#e.delete(c);continue}else if(u.size===1){d.shift();let f=d[0];typeof f=="function"&&o.add(f)}else u.delete(t)}return this.#r.delete(t),o.forEach(c=>this.#i(c)),!0}},U_=()=>process.umask(),Zu=Symbol("onEntry"),Nc=Symbol("checkFs"),Xu=Symbol("checkFs2"),Mc=Symbol("isReusable"),ht=Symbol("makeFs"),Bc=Symbol("file"),Fc=Symbol("directory"),Xs=Symbol("link"),Qu=Symbol("symlink"),ef=Symbol("hardlink"),vi=Symbol("ensureNoSymlink"),tf=Symbol("unsupported"),nf=Symbol("checkPath"),gc=Symbol("stripAbsolutePath"),yn=Symbol("mkdir"),je=Symbol("onError"),Gs=Symbol("pending"),rf=Symbol("pend"),yr=Symbol("unpend"),mc=Symbol("ended"),wc=Symbol("maybeClose"),zc=Symbol("skip"),ki=Symbol("doChown"),Ti=Symbol("uid"),Ri=Symbol("gid"),Pi=Symbol("checkedCwd"),G_=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Ci=G_==="win32",H_=1024,q_=(t,e)=>{if(!Ci)return se.unlink(t,e);let n=t+".DELETE."+If(16).toString("hex");se.rename(t,n,i=>{if(i)return e(i);se.unlink(n,e)})},j_=t=>{if(!Ci)return se.unlinkSync(t);let e=t+".DELETE."+If(16).toString("hex");se.renameSync(t,e),se.unlinkSync(e)},sf=(t,e,n)=>t!==void 0&&t===t>>>0?t:e!==void 0&&e===e>>>0?e:n,Jc=class extends Di{[mc]=!1;[Pi]=!1;[Gs]=0;reservations=new z_;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){if(t.ondone=()=>{this[mc]=!0,this[wc]()},super(t),this.transform=t.transform,this.chmod=!!t.chmod,typeof t.uid=="number"||typeof t.gid=="number"){if(typeof t.uid!="number"||typeof t.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(t.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=t.uid,this.gid=t.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;this.preserveOwner=t.preserveOwner===void 0&&typeof t.uid!="number"?!!(process.getuid&&process.getuid()===0):!!t.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof t.maxDepth=="number"?t.maxDepth:H_,this.forceChown=t.forceChown===!0,this.win32=!!t.win32||Ci,this.newer=!!t.newer,this.keep=!!t.keep,this.noMtime=!!t.noMtime,this.preservePaths=!!t.preservePaths,this.unlink=!!t.unlink,this.cwd=Q(Be.resolve(t.cwd||process.cwd())),this.strip=Number(t.strip)||0,this.processUmask=this.chmod?typeof t.processUmask=="number"?t.processUmask:U_():0,this.umask=typeof t.umask=="number"?t.umask:this.processUmask,this.dmode=t.dmode||511&~this.umask,this.fmode=t.fmode||438&~this.umask,this.on("entry",e=>this[Zu](e))}warn(t,e,n={}){return(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT")&&(n.recoverable=!1),super.warn(t,e,n)}[wc](){this[mc]&&this[Gs]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[gc](t,e){let n=t[e],{type:i}=t;if(!n||this.preservePaths)return!0;let[o,c]=Wc(n),d=c.replaceAll(/\\/g,"/").split("/");if(d.includes("..")||Ci&&/^[a-z]:\.\.$/i.test(d[0]??"")){if(e==="path"||i==="Link")return this.warn("TAR_ENTRY_ERROR",`${e} contains '..'`,{entry:t,[e]:n}),!1;let u=Be.posix.dirname(t.path),f=Be.posix.normalize(Be.posix.join(u,d.join("/")));if(f.startsWith("../")||f==="..")return this.warn("TAR_ENTRY_ERROR",`${e} escapes extraction directory`,{entry:t,[e]:n}),!1}return o&&(t[e]=String(c),this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute ${e}`,{entry:t,[e]:n})),!0}[nf](t){let e=Q(t.path),n=e.split("/");if(this.strip){if(n.length<this.strip)return!1;if(t.type==="Link"){let i=Q(String(t.linkpath)).split("/");if(i.length>=this.strip)t.linkpath=i.slice(this.strip).join("/");else return!1}n.splice(0,this.strip),t.path=n.join("/")}if(isFinite(this.maxDepth)&&n.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:e,depth:n.length,maxDepth:this.maxDepth}),!1;if(!this[gc](t,"path")||!this[gc](t,"linkpath"))return!1;if(t.absolute=Be.isAbsolute(t.path)?Q(Be.resolve(t.path)):Q(Be.resolve(this.cwd,t.path)),!this.preservePaths&&typeof t.absolute=="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:Q(t.path),resolvedPath:t.absolute,cwd:this.cwd}),!1;if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir")return!1;if(this.win32){let{root:i}=Be.win32.parse(String(t.absolute));t.absolute=i+Fu(String(t.absolute).slice(i.length));let{root:o}=Be.win32.parse(t.path);t.path=o+Fu(t.path.slice(o.length))}return!0}[Zu](t){if(!this[nf](t))return t.resume();switch(v_.equal(typeof t.absolute,"string"),t.type){case"Directory":case"GNUDumpDir":t.mode&&(t.mode=t.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Nc](t);default:return this[tf](t)}}[je](t,e){t.name==="CwdError"?this.emit("error",t):(this.warn("TAR_ENTRY_ERROR",t,{entry:e}),this[yr](),e.resume())}[yn](t,e,n){D_(Q(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:e},n)}[ki](t){return this.forceChown||this.preserveOwner&&(typeof t.uid=="number"&&t.uid!==this.processUid||typeof t.gid=="number"&&t.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[Ti](t){return sf(this.uid,t.uid,this.processUid)}[Ri](t){return sf(this.gid,t.gid,this.processGid)}[Bc](t,e){let n=typeof t.mode=="number"?t.mode&4095:this.fmode,i=new io(String(t.absolute),{flags:Df(t.size),mode:n,autoClose:!1});i.on("error",u=>{i.fd&&se.close(i.fd,()=>{}),i.write=()=>!0,this[je](u,t),e()});let o=1,c=u=>{if(u){i.fd&&se.close(i.fd,()=>{}),this[je](u,t),e();return}--o===0&&i.fd!==void 0&&se.close(i.fd,f=>{f?this[je](f,t):this[yr](),e()})};i.on("finish",()=>{let u=String(t.absolute),f=i.fd;if(typeof f=="number"&&t.mtime&&!this.noMtime){o++;let x=t.atime||new Date,p=t.mtime;se.futimes(f,x,p,w=>w?se.utimes(u,x,p,S=>c(S&&w)):c())}if(typeof f=="number"&&this[ki](t)){o++;let x=this[Ti](t),p=this[Ri](t);typeof x=="number"&&typeof p=="number"&&se.fchown(f,x,p,w=>w?se.chown(u,x,p,S=>c(S&&w)):c())}c()});let d=this.transform&&this.transform(t)||t;d!==t&&(d.on("error",u=>{this[je](u,t),e()}),t.pipe(d)),d.pipe(i)}[Fc](t,e){let n=typeof t.mode=="number"?t.mode&4095:this.dmode;this[yn](String(t.absolute),n,i=>{if(i){this[je](i,t),e();return}let o=1,c=()=>{--o===0&&(e(),this[yr](),t.resume())};t.mtime&&!this.noMtime&&(o++,se.utimes(String(t.absolute),t.atime||new Date,t.mtime,c)),this[ki](t)&&(o++,se.chown(String(t.absolute),Number(this[Ti](t)),Number(this[Ri](t)),c)),c()})}[tf](t){t.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t}),t.resume()}[Qu](t,e){let n=Q(Be.relative(this.cwd,Be.resolve(Be.dirname(String(t.absolute)),String(t.linkpath)))).split("/");this[vi](t,this.cwd,n,()=>this[Xs](t,String(t.linkpath),"symlink",e),i=>{this[je](i,t),e()})}[ef](t,e){let n=Q(Be.resolve(this.cwd,String(t.linkpath))),i=Q(String(t.linkpath)).split("/");this[vi](t,this.cwd,i,()=>this[Xs](t,n,"link",e),o=>{this[je](o,t),e()})}[vi](t,e,n,i,o){let c=n.shift();if(this.preservePaths||c===void 0)return i();let d=Be.resolve(e,c);se.lstat(d,(u,f)=>{if(u)return i();if(f?.isSymbolicLink())return o(new uo(d,Be.resolve(d,n.join("/"))));this[vi](t,d,n,i,o)})}[rf](){this[Gs]++}[yr](){this[Gs]--,this[wc]()}[zc](t){this[yr](),t.resume()}[Mc](t,e){return t.type==="File"&&!this.unlink&&e.isFile()&&e.nlink<=1&&!Ci}[Nc](t){this[rf]();let e=[t.path];t.linkpath&&e.push(t.linkpath),this.reservations.reserve(e,n=>this[Xu](t,n))}[Xu](t,e){let n=d=>{e(d)},i=()=>{this[yn](this.cwd,this.dmode,d=>{if(d){this[je](d,t),n();return}this[Pi]=!0,o()})},o=()=>{if(t.absolute!==this.cwd){let d=Q(Be.dirname(String(t.absolute)));if(d!==this.cwd)return this[yn](d,this.dmode,u=>{if(u){this[je](u,t),n();return}c()})}c()},c=()=>{se.lstat(String(t.absolute),(d,u)=>{if(u&&(this.keep||this.newer&&u.mtime>(t.mtime??u.mtime))){this[zc](t),n();return}if(d||this[Mc](t,u))return this[ht](null,t,n);if(u.isDirectory()){if(t.type==="Directory"){let f=this.chmod&&t.mode&&(u.mode&4095)!==t.mode,x=p=>this[ht](p??null,t,n);return f?se.chmod(String(t.absolute),Number(t.mode),x):x()}if(t.absolute!==this.cwd)return se.rmdir(String(t.absolute),f=>this[ht](f??null,t,n))}if(t.absolute===this.cwd)return this[ht](null,t,n);q_(String(t.absolute),f=>this[ht](f??null,t,n))})};this[Pi]?o():i()}[ht](t,e,n){if(t){this[je](t,e),n();return}switch(e.type){case"File":case"OldFile":case"ContiguousFile":return this[Bc](e,n);case"Link":return this[ef](e,n);case"SymbolicLink":return this[Qu](e,n);case"Directory":case"GNUDumpDir":return this[Fc](e,n)}}[Xs](t,e,n,i){se[n](e,String(t.absolute),o=>{o?this[je](o,t):(this[yr](),t.resume()),i()})}},bi=t=>{try{return[null,t()]}catch(e){return[e,null]}},Ff=class extends Jc{sync=!0;[ht](t,e){return super[ht](t,e,()=>{})}[Nc](t){if(!this[Pi]){let o=this[yn](this.cwd,this.dmode);if(o)return this[je](o,t);this[Pi]=!0}if(t.absolute!==this.cwd){let o=Q(Be.dirname(String(t.absolute)));if(o!==this.cwd){let c=this[yn](o,this.dmode);if(c)return this[je](c,t)}}let[e,n]=bi(()=>se.lstatSync(String(t.absolute)));if(n&&(this.keep||this.newer&&n.mtime>(t.mtime??n.mtime)))return this[zc](t);if(e||this[Mc](t,n))return this[ht](null,t);if(n.isDirectory()){if(t.type==="Directory"){let c=this.chmod&&t.mode&&(n.mode&4095)!==t.mode,[d]=c?bi(()=>{se.chmodSync(String(t.absolute),Number(t.mode))}):[];return this[ht](d,t)}let[o]=bi(()=>se.rmdirSync(String(t.absolute)));this[ht](o,t)}let[i]=t.absolute===this.cwd?[]:bi(()=>j_(String(t.absolute)));this[ht](i,t)}[Bc](t,e){let n=typeof t.mode=="number"?t.mode&4095:this.fmode,i=d=>{let u;try{se.closeSync(o)}catch(f){u=f}(d||u)&&this[je](d||u,t),e()},o;try{o=se.openSync(String(t.absolute),Df(t.size),n)}catch(d){return i(d)}let c=this.transform&&this.transform(t)||t;c!==t&&(c.on("error",d=>this[je](d,t)),t.pipe(c)),c.on("data",d=>{try{se.writeSync(o,d,0,d.length)}catch(u){i(u)}}),c.on("end",()=>{let d=null;if(t.mtime&&!this.noMtime){let u=t.atime||new Date,f=t.mtime;try{se.futimesSync(o,u,f)}catch(x){try{se.utimesSync(String(t.absolute),u,f)}catch{d=x}}}if(this[ki](t)){let u=this[Ti](t),f=this[Ri](t);try{se.fchownSync(o,Number(u),Number(f))}catch(x){try{se.chownSync(String(t.absolute),Number(u),Number(f))}catch{d=d||x}}}i(d)})}[Fc](t,e){let n=typeof t.mode=="number"?t.mode&4095:this.dmode,i=this[yn](String(t.absolute),n);if(i){this[je](i,t),e();return}if(t.mtime&&!this.noMtime)try{se.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch{}if(this[ki](t))try{se.chownSync(String(t.absolute),Number(this[Ti](t)),Number(this[Ri](t)))}catch{}e(),t.resume()}[yn](t,e){try{return L_(Q(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:e})}catch(n){return n}}[vi](t,e,n,i,o){if(this.preservePaths||n.length===0)return i();let c=e;for(let d of n){c=Be.resolve(c,d);let[u,f]=bi(()=>se.lstatSync(c));if(u)return i();if(f.isSymbolicLink())return o(new uo(c,Be.resolve(e,n.join("/"))))}i()}[Xs](t,e,n,i){let o=`${n}Sync`;try{se[o](e,String(t.absolute)),i(),t.resume()}catch(c){return this[je](c,t)}}},W_=t=>{let e=new Ff(t),n=t.file,i=Sf.statSync(n),o=t.maxReadSize||16*1024*1024;new lw(n,{readSize:o,size:i.size}).pipe(e)},$_=(t,e)=>{let n=new Jc(t),i=t.maxReadSize||16*1024*1024,o=t.file;return new Promise((c,d)=>{n.on("error",d),n.on("close",c),Sf.stat(o,(u,f)=>{if(u)d(u);else{let x=new Gc(o,{readSize:i,size:f.size});x.on("error",d),x.pipe(n)}})})},zf=Oi(W_,$_,t=>new Ff(t),t=>new Jc(t),(t,e)=>{e?.length&&mf(t,e)}),K_=(t,e)=>{let n=new Vc(t),i=!0,o,c;try{try{o=at.openSync(t.file,"r+")}catch(f){if(f?.code==="ENOENT")o=at.openSync(t.file,"w+");else throw f}let d=at.fstatSync(o),u=Buffer.alloc(512);e:for(c=0;c<d.size;c+=512){for(let p=0,w=0;p<512;p+=w){if(w=at.readSync(o,u,p,u.length-p,c+p),c===0&&u[0]===31&&u[1]===139)throw new Error("cannot append to compressed archives");if(!w)break e}let f=new jn(u);if(!f.cksumValid)break;let x=512*Math.ceil((f.size||0)/512);if(c+x+512>d.size)break;c+=x,t.mtimeCache&&f.mtime&&t.mtimeCache.set(String(f.path),f.mtime)}i=!1,V_(t,n,c,o,e)}finally{if(i)try{at.closeSync(o)}catch{}}},V_=(t,e,n,i,o)=>{let c=new cf(t.file,{fd:i,start:n});e.pipe(c),Y_(e,o)},J_=(t,e)=>{e=Array.from(e);let n=new co(t),i=(o,c,d)=>{let u=(S,_)=>{S?at.close(o,b=>d(S)):d(null,_)},f=0;if(c===0)return u(null,0);let x=0,p=Buffer.alloc(512),w=(S,_)=>{if(S||_===void 0)return u(S);if(x+=_,x<512&&_)return at.read(o,p,x,p.length-x,f+x,w);if(f===0&&p[0]===31&&p[1]===139)return u(new Error("cannot append to compressed archives"));if(x<512)return u(null,f);let b=new jn(p);if(!b.cksumValid)return u(null,f);let I=512*Math.ceil((b.size??0)/512);if(f+I+512>c||(f+=I+512,f>=c))return u(null,f);t.mtimeCache&&b.mtime&&t.mtimeCache.set(String(b.path),b.mtime),x=0,at.read(o,p,0,512,f,w)};at.read(o,p,0,512,f,w)};return new Promise((o,c)=>{n.on("error",c);let d="r+",u=(f,x)=>{if(f&&f.code==="ENOENT"&&d==="r+")return d="w+",at.open(t.file,d,u);if(f||!x)return c(f);at.fstat(x,(p,w)=>{if(p)return at.close(x,()=>c(p));i(x,w.size,(S,_)=>{if(S)return c(S);let b=new io(t.file,{fd:x,start:_});n.pipe(b),b.on("error",c),b.on("close",o),Z_(n,e)})})};at.open(t.file,d,u)})},Y_=(t,e)=>{e.forEach(n=>{n.charAt(0)==="@"?Tr({file:Uf.resolve(t.cwd,n.slice(1)),sync:!0,noResume:!0,onReadEntry:i=>t.add(i)}):t.add(n)}),t.end()},Z_=async(t,e)=>{for(let n of e)n.charAt(0)==="@"?await Tr({file:Uf.resolve(String(t.cwd),n.slice(1)),noResume:!0,onReadEntry:i=>t.add(i)}):t.add(n);t.end()},Ei=Oi(K_,J_,()=>{throw new TypeError("file is required")},()=>{throw new TypeError("file is required")},(t,e)=>{if(!ww(t))throw new TypeError("file is required");if(t.gzip||t.brotli||t.zstd||t.file.endsWith(".br")||t.file.endsWith(".tbr"))throw new TypeError("cannot append to compressed archives");if(!e?.length)throw new TypeError("no paths specified to add/replace")}),wA=Oi(Ei.syncFile,Ei.asyncFile,Ei.syncNoFile,Ei.asyncNoFile,(t,e=[])=>{Ei.validate?.(t,e),X_(t)}),X_=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(n,i)=>e(n,i)&&!((t.mtimeCache?.get(n)??i.mtime??0)>(i.mtime??0)):(n,i)=>!((t.mtimeCache?.get(n)??i.mtime??0)>(i.mtime??0))};jt();var xt={PAIR:"_agent/pair",CREATE:"_agent/create",HEALTH:"_agent/health",LIST_SKILLS:"_agent/listSkills",ADD_SKILLS:"_agent/addSkills",REMOVE_SKILLS:"_agent/removeSkills",GET_FILE_TREE:"_agent/getFileTree",GET_FILE_CONTENT:"_agent/getFileContent",DETAIL:"_agent/detail",UPDATE:"_agent/update",DISCONNECT:"_agent/disconnect",SWITCH_MODEL:"_agent/switchModel",GEN_MODEL_TOKEN:"_agent/genModelToken",RESET:"_agent/reset",REPAIR:"_agent/repair",UPGRADE:"_agent/upgrade",DELETE:"_agent/delete",PUBLISH_SKILL:"_agent/publishSkill"};function fo(t){return t?.cozeDeployType==="cloud"?"cloud":"local"}function Gf(t){let e=t?.cozeAccountId?.trim();if(!(!e||e==="0"))return e}function ho(t){let e=t?.cozeGroupId?.trim();if(!(!e||e==="0"))return e}function Hf(t){let e=t?.permissionMode;if(typeof e!="string")return;let n=e.trim();return n===""?void 0:n}function qf(t){let{_meta:e,...n}=t;return{stripped:n,meta:e}}function $n(t){if(!t?.cozeAgentId)throw new Error("missing _meta.cozeAgentId");return t.cozeAgentId}Zt();Ke();ne();Re();Ke();function Rr(t,e){if(fo(t)!=="cloud")throw new T("OPERATION_NOT_ALLOWED_FOR_LOCAL",`${e} is not allowed for local agent`)}function Li(t){return t.startsWith("http://")||t.startsWith("https://")}function Pr(t){return t.endsWith("/")?t.slice(0,-1):t}import{readFileSync as dk}from"node:fs";import{dirname as uk,join as fk}from"node:path";import{fileURLToPath as xk}from"node:url";var Lt="0.2.4-alpha.102";import{mkdir as xy,rm as a0}from"node:fs/promises";import{join as zi}from"node:path";qt();import{readFileSync as oy}from"node:fs";var ay=384;async function Yc(t,e=process.env){let n={};for(let[i,o]of Object.entries(e))typeof o=="string"&&(n[i]=o);await ur(t.agentEnvFile,n,{mode:ay})}function Ni(t){try{let e=JSON.parse(oy(t,"utf8"));return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return{}}}function Kf(t,e,n={},i=o=>o){return{...i({...t,...Ni(e)}),...n}}qt();function Mi(t){let e=[],n=Object.keys(t).sort();for(let i of n){let o=t[i];o!==void 0&&(cy(o)||e.push(`${i}=${o}`))}return e.length===0?"":`${e.join(`
|
|
89
|
+
`},configPath(t){return wI(t.homeDir,".coze","bridge","task.xml")},async install(t){let n=`cmd.exe /c ${[`^"${t.nodeBin}^"`,`^"${t.entry}^"`,"--daemon",`>> ^"${t.logFile}^" 2>&1`].join(" ")}`;await Hp("schtasks",["/Create","/SC","ONLOGON","/TN",Ia,"/TR",n,"/RU",t.userName,"/F"]),ul.info("task scheduler entry created",{task:Ia,logFile:t.logFile})},async uninstall(t){await Hp("schtasks",["/Delete","/TN",Ia,"/F"]).catch(e=>ul.warn("schtasks /Delete failed (ignored)",{err:String(e)})),ul.info("task scheduler entry removed",{task:Ia})}}});var jp={};Fa(jp,{buildContext:()=>SI,getSupervisor:()=>bI,launchdSupervisor:()=>dl,systemdSupervisor:()=>ll,taskSchedulerSupervisor:()=>fl});import{homedir as _I,userInfo as yI}from"node:os";function bI(t=process.platform){switch(t){case"darwin":return dl;case"linux":return ll;case"win32":return fl;default:throw new Error(`unsupported platform for OS supervisor: ${t}`)}}function vI(){let t={};for(let e of EI){let n=process.env[e];n&&(t[e]=n)}return t}function SI(){let t=Y();return{nodeBin:process.execPath,entry:el(t),logFile:t.logFile,homeDir:_I(),userName:yI().username,isRoot:process.getuid?.()===0,env:vI()}}var EI,qp=rt(()=>{"use strict";Pe();pa();Fp();Up();Gp();EI=["PATH","HOME","HTTP_PROXY","HTTPS_PROXY","NO_PROXY","ALL_PROXY","http_proxy","https_proxy","no_proxy","all_proxy","NODE_EXTRA_CA_CERTS"]});ne();hn();var Gl=H("acp-installer-warmup"),pm=["claude-code","codex"];async function jl(t={}){let e=t.ensure??pr,i=(await Promise.allSettled(pm.map(async o=>{let c=await e(o);Gl.info("acp wrapper warmup ok",{framework:o,path:c})}))).filter(o=>o.status==="rejected");i.length>0&&Gl.warn("acp wrapper warmup partial failure (\u5C06\u5728\u4E0B\u6B21 createAgent \u65F6\u91CD\u8BD5\u5E76\u629B\u9519\u7ED9\u7528\u6237)",{failedCount:i.length,reasons:i.map(o=>o.reason instanceof Error?o.reason.message:String(o.reason))})}Vt();ne();import{readdir as Rm}from"node:fs/promises";import{mkdir as $l,readFile as Pm,writeFile as Vl}from"node:fs/promises";import{join as Wa}from"node:path";var Cm={"claude-code":"CLAUDE.md",codex:"AGENTS.md",openclaw:"SOUL.md",hermes:"AGENTS.md"};async function wr(t,e,n){await $l(t,{recursive:!0});let i=Cm[e],o=Wa(t,i);return await Vl(o,n??"","utf8"),o}async function Ka(t,e,n){let i=Wa(t,".claude");await $l(i,{recursive:!0});let o=Wa(i,"settings.local.json"),c={};try{let u=await Pm(o,"utf8"),h=JSON.parse(u);typeof h=="object"&&h!==null&&!Array.isArray(h)&&(c=h)}catch{}let d=typeof c.permissions=="object"&&c.permissions!==null&&!Array.isArray(c.permissions)?c.permissions:{};if(e==="cloud")d.defaultMode="bypassPermissions",c.autoCompactWindow=15e4;else{if(!n)throw new Error("writeCcPermissionSettings: local deployType requires permissionMode (caller bug)");d.defaultMode===void 0&&(d.defaultMode=n)}return c.permissions=d,await Vl(o,JSON.stringify(c,null,2),"utf8"),o}var Qe=H("agent-detail-sync"),Dm=6e4,Om=5*6e4,Ts=class{constructor(e){this.opts=e}opts;retryQueue=new Map;async syncAll(e){let n=this.opts.paths.agentsRoot,i;try{i=await Rm(n)}catch(o){Qe.info("agents dir not found, skip detail sync",{root:n,err:String(o)});return}Qe.info("starting detail sync",{reason:e,count:i.length}),await Promise.allSettled(i.map(async o=>{let c=await ve(o,this.opts.paths).catch(()=>null);if(c){if(c.disconnectedAt){Qe.debug("detail sync: skip disconnected agent",{agentId:o});return}try{await this.syncOne(o,c)}catch(d){Qe.warn("detail sync failed for agent, skipping",{agentId:o,err:String(d)})}}})),Qe.info("detail sync done",{reason:e})}async retryPending(){if(this.retryQueue.size===0)return;let e=Date.now(),n=[];for(let[i,o]of this.retryQueue)e>=o.dueAt&&n.push(i);if(n.length!==0){Qe.info("retrying pending detail syncs",{count:n.length});for(let i of n)try{await this.syncOne(i)}catch(o){Qe.debug("detail sync retry still failing, will try again",{agentId:i,err:String(o)})}}}async syncOne(e,n){let i=n??await ve(e,this.opts.paths);if(!i){Qe.info("detail sync: agent config missing, skip",{agentId:e});return}let o;try{o=await this.opts.sendDetail({_meta:{cozeAgentId:e}}),this.retryQueue.delete(e)}catch(h){Qe.warn("detail RPC failed, using local data",{agentId:e,err:String(h)});let x=this.retryQueue.get(e),p=x?Math.min(x.currentDelay*2,Om):Dm;this.retryQueue.set(e,{dueAt:Date.now()+p,currentDelay:p});return}if(o.agentId&&o.agentId!==e){Qe.warn("detail response agentId mismatch, ignoring",{agentId:e,responseAgentId:o.agentId});return}let c=!1,d=!1;o.agentName&&o.agentName!==i.agentName&&(i.agentName=o.agentName,c=!0),o.description!==void 0&&o.description!==i.description&&(i.description=o.description,c=!0),o.cozeIdentity&&o.cozeIdentity!==i.cozeIdentity&&(i.cozeIdentity=o.cozeIdentity,c=!0,d=!0);let u=!1;if(o.deployType==="cloud"&&i.deployType!=="cloud"?(Qe.warn("detail sync: agent demoted to local, repairing to cloud",{agentId:e}),i.deployType="cloud",c=!0,u=!0):o.deployType&&Qe.info("detail.deployType",{agentId:e,deployType:o.deployType}),!c){Qe.debug("detail sync: no diff",{agentId:e});return}await Ue(i,this.opts.paths),Qe.info("detail sync: config updated",{agentId:e,identityChanged:d,agentName:i.agentName}),u?(await this.opts.agentManager.createAgent({agentId:e,framework:i.framework,_meta:{cozeDeployType:"cloud"},cozeIdentity:i.cozeIdentity,model:i.model}),Qe.info("detail sync: repaired demoted agent back to cloud",{agentId:e})):d&&(await wr(i.workspace,i.framework,i.cozeIdentity),this.opts.handlers.reloadAgentSessionsPublic(e,"detail-sync"))}};var md=Kt(ku(),1);import{createHash as yy}from"node:crypto";import{lstat as dd,mkdir as ld,readFile as So,readdir as _0,rm as ud,stat as pd,writeFile as fd}from"node:fs/promises";import{homedir as by}from"node:os";import{basename as g0,dirname as Ey,join as ue,normalize as vy,relative as gd,resolve as hd,sep as y0}from"node:path";import{Readable as b0}from"node:stream";import{pipeline as E0}from"node:stream/promises";import tw from"events";import st from"fs";import{EventEmitter as Wc}from"node:events";import df from"node:stream";import{StringDecoder as nw}from"node:string_decoder";import ff from"node:path";import Cr from"node:fs";import{dirname as pw,parse as gw}from"path";import{EventEmitter as Sw}from"events";import Ac from"assert";import{Buffer as $n}from"buffer";import*as Du from"zlib";import Iw from"zlib";import{posix as vr}from"node:path";import{basename as Xw}from"node:path";import oo from"fs";import Ot from"fs";import zu from"path";import{win32 as l_}from"node:path";import Ku from"path";import kf from"node:fs";import k_ from"node:assert";import{randomBytes as Tf}from"node:crypto";import se from"node:fs";import Me from"node:path";import Pf from"fs";import go from"node:fs";import Di from"node:path";import lt from"node:fs";import L_ from"node:fs/promises";import lo from"node:path";import{join as Uf}from"node:path";import dt from"node:fs";import jf from"node:path";var Qm=Object.defineProperty,ew=(t,e)=>{for(var n in e)Qm(t,n,{get:e[n],enumerable:!0})},Tu=typeof process=="object"&&process?process:{stdout:null,stderr:null},rw=t=>!!t&&typeof t=="object"&&(t instanceof Zn||t instanceof df||iw(t)||sw(t)),iw=t=>!!t&&typeof t=="object"&&t instanceof Wc&&typeof t.pipe=="function"&&t.pipe!==df.Writable.prototype.pipe,sw=t=>!!t&&typeof t=="object"&&t instanceof Wc&&typeof t.write=="function"&&typeof t.end=="function",Jt=Symbol("EOF"),Zt=Symbol("maybeEmitEnd"),pn=Symbol("emittedEnd"),Os=Symbol("emittingEnd"),pi=Symbol("emittedError"),Ls=Symbol("closed"),Pu=Symbol("read"),Ns=Symbol("flush"),Cu=Symbol("flushChunk"),Et=Symbol("encoding"),Er=Symbol("decoder"),He=Symbol("flowing"),gi=Symbol("paused"),kr=Symbol("resume"),Ge=Symbol("buffer"),et=Symbol("pipes"),je=Symbol("bufferLength"),Xa=Symbol("bufferPush"),Ms=Symbol("bufferShift"),Xe=Symbol("objectMode"),Ae=Symbol("destroyed"),Qa=Symbol("error"),ec=Symbol("emitData"),Ru=Symbol("emitEnd"),tc=Symbol("emitEnd2"),Ct=Symbol("async"),nc=Symbol("abort"),Bs=Symbol("aborted"),mi=Symbol("signal"),Fn=Symbol("dataListeners"),ct=Symbol("discarded"),wi=t=>Promise.resolve().then(t),ow=t=>t(),aw=t=>t==="end"||t==="finish"||t==="prefinish",cw=t=>t instanceof ArrayBuffer||!!t&&typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,dw=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),lf=class{src;dest;opts;ondrain;constructor(t,e,n){this.src=t,this.dest=e,this.opts=n,this.ondrain=()=>t[kr](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},lw=class extends lf{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,e,n){super(t,e,n),this.proxyErrors=i=>this.dest.emit("error",i),t.on("error",this.proxyErrors)}},uw=t=>!!t.objectMode,fw=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer",Zn=class extends Wc{[He]=!1;[gi]=!1;[et]=[];[Ge]=[];[Xe];[Et];[Ct];[Er];[Jt]=!1;[pn]=!1;[Os]=!1;[Ls]=!1;[pi]=null;[je]=0;[Ae]=!1;[mi];[Bs]=!1;[Fn]=0;[ct]=!1;writable=!0;readable=!0;constructor(...t){let e=t[0]||{};if(super(),e.objectMode&&typeof e.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");uw(e)?(this[Xe]=!0,this[Et]=null):fw(e)?(this[Et]=e.encoding,this[Xe]=!1):(this[Xe]=!1,this[Et]=null),this[Ct]=!!e.async,this[Er]=this[Et]?new nw(this[Et]):null,e&&e.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[Ge]}),e&&e.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[et]});let{signal:n}=e;n&&(this[mi]=n,n.aborted?this[nc]():n.addEventListener("abort",()=>this[nc]()))}get bufferLength(){return this[je]}get encoding(){return this[Et]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[Xe]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get async(){return this[Ct]}set async(t){this[Ct]=this[Ct]||!!t}[nc](){this[Bs]=!0,this.emit("abort",this[mi]?.reason),this.destroy(this[mi]?.reason)}get aborted(){return this[Bs]}set aborted(t){}write(t,e,n){if(this[Bs])return!1;if(this[Jt])throw new Error("write after end");if(this[Ae])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof e=="function"&&(n=e,e="utf8"),e||(e="utf8");let i=this[Ct]?wi:ow;if(!this[Xe]&&!Buffer.isBuffer(t)){if(dw(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(cw(t))t=Buffer.from(t);else if(typeof t!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[Xe]?(this[He]&&this[je]!==0&&this[Ns](!0),this[He]?this.emit("data",t):this[Xa](t),this[je]!==0&&this.emit("readable"),n&&i(n),this[He]):t.length?(typeof t=="string"&&!(e===this[Et]&&!this[Er]?.lastNeed)&&(t=Buffer.from(t,e)),Buffer.isBuffer(t)&&this[Et]&&(t=this[Er].write(t)),this[He]&&this[je]!==0&&this[Ns](!0),this[He]?this.emit("data",t):this[Xa](t),this[je]!==0&&this.emit("readable"),n&&i(n),this[He]):(this[je]!==0&&this.emit("readable"),n&&i(n),this[He])}read(t){if(this[Ae])return null;if(this[ct]=!1,this[je]===0||t===0||t&&t>this[je])return this[Zt](),null;this[Xe]&&(t=null),this[Ge].length>1&&!this[Xe]&&(this[Ge]=[this[Et]?this[Ge].join(""):Buffer.concat(this[Ge],this[je])]);let e=this[Pu](t||null,this[Ge][0]);return this[Zt](),e}[Pu](t,e){if(this[Xe])this[Ms]();else{let n=e;t===n.length||t===null?this[Ms]():typeof n=="string"?(this[Ge][0]=n.slice(t),e=n.slice(0,t),this[je]-=t):(this[Ge][0]=n.subarray(t),e=n.subarray(0,t),this[je]-=t)}return this.emit("data",e),!this[Ge].length&&!this[Jt]&&this.emit("drain"),e}end(t,e,n){return typeof t=="function"&&(n=t,t=void 0),typeof e=="function"&&(n=e,e="utf8"),t!==void 0&&this.write(t,e),n&&this.once("end",n),this[Jt]=!0,this.writable=!1,(this[He]||!this[gi])&&this[Zt](),this}[kr](){this[Ae]||(!this[Fn]&&!this[et].length&&(this[ct]=!0),this[gi]=!1,this[He]=!0,this.emit("resume"),this[Ge].length?this[Ns]():this[Jt]?this[Zt]():this.emit("drain"))}resume(){return this[kr]()}pause(){this[He]=!1,this[gi]=!0,this[ct]=!1}get destroyed(){return this[Ae]}get flowing(){return this[He]}get paused(){return this[gi]}[Xa](t){this[Xe]?this[je]+=1:this[je]+=t.length,this[Ge].push(t)}[Ms](){return this[Xe]?this[je]-=1:this[je]-=this[Ge][0].length,this[Ge].shift()}[Ns](t=!1){do;while(this[Cu](this[Ms]())&&this[Ge].length);!t&&!this[Ge].length&&!this[Jt]&&this.emit("drain")}[Cu](t){return this.emit("data",t),this[He]}pipe(t,e){if(this[Ae])return t;this[ct]=!1;let n=this[pn];return e=e||{},t===Tu.stdout||t===Tu.stderr?e.end=!1:e.end=e.end!==!1,e.proxyErrors=!!e.proxyErrors,n?e.end&&t.end():(this[et].push(e.proxyErrors?new lw(this,t,e):new lf(this,t,e)),this[Ct]?wi(()=>this[kr]()):this[kr]()),t}unpipe(t){let e=this[et].find(n=>n.dest===t);e&&(this[et].length===1?(this[He]&&this[Fn]===0&&(this[He]=!1),this[et]=[]):this[et].splice(this[et].indexOf(e),1),e.unpipe())}addListener(t,e){return this.on(t,e)}on(t,e){let n=super.on(t,e);if(t==="data")this[ct]=!1,this[Fn]++,!this[et].length&&!this[He]&&this[kr]();else if(t==="readable"&&this[je]!==0)super.emit("readable");else if(aw(t)&&this[pn])super.emit(t),this.removeAllListeners(t);else if(t==="error"&&this[pi]){let i=e;this[Ct]?wi(()=>i.call(this,this[pi])):i.call(this,this[pi])}return n}removeListener(t,e){return this.off(t,e)}off(t,e){let n=super.off(t,e);return t==="data"&&(this[Fn]=this.listeners("data").length,this[Fn]===0&&!this[ct]&&!this[et].length&&(this[He]=!1)),n}removeAllListeners(t){let e=super.removeAllListeners(t);return(t==="data"||t===void 0)&&(this[Fn]=0,!this[ct]&&!this[et].length&&(this[He]=!1)),e}get emittedEnd(){return this[pn]}[Zt](){!this[Os]&&!this[pn]&&!this[Ae]&&this[Ge].length===0&&this[Jt]&&(this[Os]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Ls]&&this.emit("close"),this[Os]=!1)}emit(t,...e){let n=e[0];if(t!=="error"&&t!=="close"&&t!==Ae&&this[Ae])return!1;if(t==="data")return!this[Xe]&&!n?!1:this[Ct]?(wi(()=>this[ec](n)),!0):this[ec](n);if(t==="end")return this[Ru]();if(t==="close"){if(this[Ls]=!0,!this[pn]&&!this[Ae])return!1;let o=super.emit("close");return this.removeAllListeners("close"),o}else if(t==="error"){this[pi]=n,super.emit(Qa,n);let o=!this[mi]||this.listeners("error").length?super.emit("error",n):!1;return this[Zt](),o}else if(t==="resume"){let o=super.emit("resume");return this[Zt](),o}else if(t==="finish"||t==="prefinish"){let o=super.emit(t);return this.removeAllListeners(t),o}let i=super.emit(t,...e);return this[Zt](),i}[ec](t){for(let n of this[et])n.dest.write(t)===!1&&this.pause();let e=this[ct]?!1:super.emit("data",t);return this[Zt](),e}[Ru](){return this[pn]?!1:(this[pn]=!0,this.readable=!1,this[Ct]?(wi(()=>this[tc]()),!0):this[tc]())}[tc](){if(this[Er]){let e=this[Er].end();if(e){for(let n of this[et])n.dest.write(e);this[ct]||super.emit("data",e)}}for(let e of this[et])e.end();let t=super.emit("end");return this.removeAllListeners("end"),t}async collect(){let t=Object.assign([],{dataLength:0});this[Xe]||(t.dataLength=0);let e=this.promise();return this.on("data",n=>{t.push(n),this[Xe]||(t.dataLength+=n.length)}),await e,t}async concat(){if(this[Xe])throw new Error("cannot concat in objectMode");let t=await this.collect();return this[Et]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise((t,e)=>{this.on(Ae,()=>e(new Error("stream destroyed"))),this.on("error",n=>e(n)),this.on("end",()=>t())})}[Symbol.asyncIterator](){this[ct]=!1;let t=!1,e=async()=>(this.pause(),t=!0,{value:void 0,done:!0});return{next:()=>{if(t)return e();let n=this.read();if(n!==null)return Promise.resolve({done:!1,value:n});if(this[Jt])return e();let i,o,c=x=>{this.off("data",d),this.off("end",u),this.off(Ae,h),e(),o(x)},d=x=>{this.off("error",c),this.off("end",u),this.off(Ae,h),this.pause(),i({value:x,done:!!this[Jt]})},u=()=>{this.off("error",c),this.off("data",d),this.off(Ae,h),e(),i({done:!0,value:void 0})},h=()=>c(new Error("stream destroyed"));return new Promise((x,p)=>{o=p,i=x,this.once(Ae,h),this.once("error",c),this.once("end",u),this.once("data",d)})},throw:e,return:e,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[ct]=!1;let t=!1,e=()=>(this.pause(),this.off(Qa,e),this.off(Ae,e),this.off("end",e),t=!0,{done:!0,value:void 0}),n=()=>{if(t)return e();let i=this.read();return i===null?e():{done:!1,value:i}};return this.once("end",e),this.once(Qa,e),this.once(Ae,e),{next:n,throw:e,return:e,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(t){if(this[Ae])return t?this.emit("error",t):this.emit(Ae),this;this[Ae]=!0,this[ct]=!0,this[Ge].length=0,this[je]=0;let e=this;return typeof e.close=="function"&&!this[Ls]&&e.close(),t?this.emit("error",t):this.emit(Ae),this}static get isStream(){return rw}},hw=st.writev,In=Symbol("_autoClose"),At=Symbol("_close"),_i=Symbol("_ended"),le=Symbol("_fd"),rc=Symbol("_finished"),en=Symbol("_flags"),ic=Symbol("_flush"),Sc=Symbol("_handleChunk"),Ic=Symbol("_makeBuf"),Ci=Symbol("_mode"),Fs=Symbol("_needDrain"),Dr=Symbol("_onerror"),Or=Symbol("_onopen"),sc=Symbol("_onread"),Tr=Symbol("_onwrite"),An=Symbol("_open"),It=Symbol("_path"),yn=Symbol("_pos"),Rt=Symbol("_queue"),Pr=Symbol("_read"),oc=Symbol("_readSize"),Qt=Symbol("_reading"),yi=Symbol("_remain"),ac=Symbol("_size"),Vs=Symbol("_write"),zn=Symbol("_writing"),Js=Symbol("_defaultFlag"),Kn=Symbol("_errored"),Kc=class extends Zn{[Kn]=!1;[le];[It];[oc];[Qt]=!1;[ac];[yi];[In];constructor(t,e){if(e=e||{},super(e),this.readable=!0,this.writable=!1,typeof t!="string")throw new TypeError("path must be a string");this[Kn]=!1,this[le]=typeof e.fd=="number"?e.fd:void 0,this[It]=t,this[oc]=e.readSize||16*1024*1024,this[Qt]=!1,this[ac]=typeof e.size=="number"?e.size:1/0,this[yi]=this[ac],this[In]=typeof e.autoClose=="boolean"?e.autoClose:!0,typeof this[le]=="number"?this[Pr]():this[An]()}get fd(){return this[le]}get path(){return this[It]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[An](){st.open(this[It],"r",(t,e)=>this[Or](t,e))}[Or](t,e){t?this[Dr](t):(this[le]=e,this.emit("open",e),this[Pr]())}[Ic](){return Buffer.allocUnsafe(Math.min(this[oc],this[yi]))}[Pr](){if(!this[Qt]){this[Qt]=!0;let t=this[Ic]();if(t.length===0)return process.nextTick(()=>this[sc](null,0,t));st.read(this[le],t,0,t.length,null,(e,n,i)=>this[sc](e,n,i))}}[sc](t,e,n){this[Qt]=!1,t?this[Dr](t):this[Sc](e,n)&&this[Pr]()}[At](){if(this[In]&&typeof this[le]=="number"){let t=this[le];this[le]=void 0,st.close(t,e=>e?this.emit("error",e):this.emit("close"))}}[Dr](t){this[Qt]=!0,this[At](),this.emit("error",t)}[Sc](t,e){let n=!1;return this[yi]-=t,t>0&&(n=super.write(t<e.length?e.subarray(0,t):e)),(t===0||this[yi]<=0)&&(n=!1,this[At](),super.end()),n}emit(t,...e){switch(t){case"prefinish":case"finish":return!1;case"drain":return typeof this[le]=="number"&&this[Pr](),!1;case"error":return this[Kn]?!1:(this[Kn]=!0,super.emit(t,...e));default:return super.emit(t,...e)}}},xw=class extends Kc{[An](){let t=!0;try{this[Or](null,st.openSync(this[It],"r")),t=!1}finally{t&&this[At]()}}[Pr](){let t=!0;try{if(!this[Qt]){this[Qt]=!0;do{let e=this[Ic](),n=e.length===0?0:st.readSync(this[le],e,0,e.length,null);if(!this[Sc](n,e))break}while(!0);this[Qt]=!1}t=!1}finally{t&&this[At]()}}[At](){if(this[In]&&typeof this[le]=="number"){let t=this[le];this[le]=void 0,st.closeSync(t),this.emit("close")}}},uo=class extends tw{readable=!1;writable=!0;[Kn]=!1;[zn]=!1;[_i]=!1;[Rt]=[];[Fs]=!1;[It];[Ci];[In];[le];[Js];[en];[rc]=!1;[yn];constructor(t,e){e=e||{},super(e),this[It]=t,this[le]=typeof e.fd=="number"?e.fd:void 0,this[Ci]=e.mode===void 0?438:e.mode,this[yn]=typeof e.start=="number"?e.start:void 0,this[In]=typeof e.autoClose=="boolean"?e.autoClose:!0;let n=this[yn]!==void 0?"r+":"w";this[Js]=e.flags===void 0,this[en]=e.flags===void 0?n:e.flags,this[le]===void 0&&this[An]()}emit(t,...e){if(t==="error"){if(this[Kn])return!1;this[Kn]=!0}return super.emit(t,...e)}get fd(){return this[le]}get path(){return this[It]}[Dr](t){this[At](),this[zn]=!0,this.emit("error",t)}[An](){st.open(this[It],this[en],this[Ci],(t,e)=>this[Or](t,e))}[Or](t,e){this[Js]&&this[en]==="r+"&&t&&t.code==="ENOENT"?(this[en]="w",this[An]()):t?this[Dr](t):(this[le]=e,this.emit("open",e),this[zn]||this[ic]())}end(t,e){return t&&this.write(t,e),this[_i]=!0,!this[zn]&&!this[Rt].length&&typeof this[le]=="number"&&this[Tr](null,0),this}write(t,e){return typeof t=="string"&&(t=Buffer.from(t,e)),this[_i]?(this.emit("error",new Error("write() after end()")),!1):this[le]===void 0||this[zn]||this[Rt].length?(this[Rt].push(t),this[Fs]=!0,!1):(this[zn]=!0,this[Vs](t),!0)}[Vs](t){st.write(this[le],t,0,t.length,this[yn],(e,n)=>this[Tr](e,n))}[Tr](t,e){t?this[Dr](t):(this[yn]!==void 0&&typeof e=="number"&&(this[yn]+=e),this[Rt].length?this[ic]():(this[zn]=!1,this[_i]&&!this[rc]?(this[rc]=!0,this[At](),this.emit("finish")):this[Fs]&&(this[Fs]=!1,this.emit("drain"))))}[ic](){if(this[Rt].length===0)this[_i]&&this[Tr](null,0);else if(this[Rt].length===1)this[Vs](this[Rt].pop());else{let t=this[Rt];this[Rt]=[],hw(this[le],t,this[yn],(e,n)=>this[Tr](e,n))}}[At](){if(this[In]&&typeof this[le]=="number"){let t=this[le];this[le]=void 0,st.close(t,e=>e?this.emit("error",e):this.emit("close"))}}},uf=class extends uo{[An](){let t;if(this[Js]&&this[en]==="r+")try{t=st.openSync(this[It],this[en],this[Ci])}catch(e){if(e?.code==="ENOENT")return this[en]="w",this[An]();throw e}else t=st.openSync(this[It],this[en],this[Ci]);this[Or](null,t)}[At](){if(this[In]&&typeof this[le]=="number"){let t=this[le];this[le]=void 0,st.closeSync(t),this.emit("close")}}[Vs](t){let e=!0;try{this[Tr](null,st.writeSync(this[le],t,0,t.length,this[yn])),e=!1}finally{if(e)try{this[At]()}catch{}}}},mw=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),ww=t=>!!t.sync&&!!t.file,_w=t=>!t.sync&&!!t.file,yw=t=>!!t.sync&&!t.file,bw=t=>!t.sync&&!t.file,Ew=t=>!!t.file,vw=t=>mw.get(t)||t,$c=(t={})=>{if(!t)return{};let e={};for(let[n,i]of Object.entries(t)){let o=vw(n);e[o]=i}return e.chmod===void 0&&e.noChmod===!1&&(e.chmod=!0),delete e.noChmod,e},zi=(t,e,n,i,o)=>Object.assign((c=[],d,u)=>{Array.isArray(c)&&(d=c,c={}),typeof d=="function"&&(u=d,d=void 0),d=d?Array.from(d):[];let h=$c(c);if(o?.(h,d),ww(h)){if(typeof u=="function")throw new TypeError("callback not supported for sync tar functions");return t(h,d)}else if(_w(h)){let x=e(h,d);return u?x.then(()=>u(),u):x}else if(yw(h)){if(typeof u=="function")throw new TypeError("callback not supported for sync tar functions");return n(h,d)}else if(bw(h)){if(typeof u=="function")throw new TypeError("callback only supported with file option");return i(h,d)}throw new Error("impossible options??")},{syncFile:t,asyncFile:e,syncNoFile:n,asyncNoFile:i,validate:o}),Aw=Iw.constants||{ZLIB_VERNUM:4736},Nt=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Aw)),kw=$n.concat,Ou=Object.getOwnPropertyDescriptor($n,"concat"),Tw=t=>t,cc=Ou?.writable===!0||Ou?.set!==void 0?t=>{$n.concat=t?Tw:kw}:t=>{},Vn=Symbol("_superWrite"),zs=class extends Error{code;errno;constructor(t,e){super("zlib: "+t.message,{cause:t}),this.code=t.code,this.errno=t.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+t.message,Error.captureStackTrace(this,e??this.constructor)}get name(){return"ZlibError"}},dc=Symbol("flushFlag"),Vc=class extends Zn{#e=!1;#n=!1;#r;#s;#i;#t;#o;get sawError(){return this.#e}get handle(){return this.#t}get flushFlag(){return this.#r}constructor(t,e){if(!t||typeof t!="object")throw new TypeError("invalid options for ZlibBase constructor");if(super(t),this.#r=t.flush??0,this.#s=t.finishFlush??0,this.#i=t.fullFlushFlag??0,typeof Du[e]!="function")throw new TypeError("Compression method not supported: "+e);try{this.#t=new Du[e](t)}catch(n){throw new zs(n,this.constructor)}this.#o=n=>{this.#e||(this.#e=!0,this.close(),this.emit("error",n))},this.#t?.on("error",n=>this.#o(new zs(n))),this.once("end",()=>this.close)}close(){this.#t&&(this.#t.close(),this.#t=void 0,this.emit("close"))}reset(){if(!this.#e)return Ac(this.#t,"zlib binding closed"),this.#t.reset?.()}flush(t){this.ended||(typeof t!="number"&&(t=this.#i),this.write(Object.assign($n.alloc(0),{[dc]:t})))}end(t,e,n){return typeof t=="function"&&(n=t,e=void 0,t=void 0),typeof e=="function"&&(n=e,e=void 0),t&&(e?this.write(t,e):this.write(t)),this.flush(this.#s),this.#n=!0,super.end(n)}get ended(){return this.#n}[Vn](t){return super.write(t)}write(t,e,n){if(typeof e=="function"&&(n=e,e="utf8"),typeof t=="string"&&(t=$n.from(t,e)),this.#e)return;Ac(this.#t,"zlib binding closed");let i=this.#t._handle,o=i.close;i.close=()=>{};let c=this.#t.close;this.#t.close=()=>{},cc(!0);let d;try{let h=typeof t[dc]=="number"?t[dc]:this.#r;d=this.#t._processChunk(t,h),cc(!1)}catch(h){cc(!1),this.#o(new zs(h,this.write))}finally{this.#t&&(this.#t._handle=i,i.close=o,this.#t.close=c,this.#t.removeAllListeners("error"))}this.#t&&this.#t.on("error",h=>this.#o(new zs(h,this.write)));let u;if(d)if(Array.isArray(d)&&d.length>0){let h=d[0];u=this[Vn]($n.from(h));for(let x=1;x<d.length;x++)u=this[Vn](d[x])}else u=this[Vn]($n.from(d));return n&&n(),u}},hf=class extends Vc{#e;#n;constructor(t,e){t=t||{},t.flush=t.flush||Nt.Z_NO_FLUSH,t.finishFlush=t.finishFlush||Nt.Z_FINISH,t.fullFlushFlag=Nt.Z_FULL_FLUSH,super(t,e),this.#e=t.level,this.#n=t.strategy}params(t,e){if(!this.sawError){if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#e!==t||this.#n!==e){this.flush(Nt.Z_SYNC_FLUSH),Ac(this.handle,"zlib binding closed");let n=this.handle.flush;this.handle.flush=(i,o)=>{typeof i=="function"&&(o=i,i=this.flushFlag),this.flush(i),o?.()};try{this.handle.params(t,e)}finally{this.handle.flush=n}this.handle&&(this.#e=t,this.#n=e)}}}},Pw=class extends hf{#e;constructor(t){super(t,"Gzip"),this.#e=t&&!!t.portable}[Vn](t){return this.#e?(this.#e=!1,t[9]=255,super[Vn](t)):super[Vn](t)}},Cw=class extends hf{constructor(t){super(t,"Unzip")}},xf=class extends Vc{constructor(t,e){t=t||{},t.flush=t.flush||Nt.BROTLI_OPERATION_PROCESS,t.finishFlush=t.finishFlush||Nt.BROTLI_OPERATION_FINISH,t.fullFlushFlag=Nt.BROTLI_OPERATION_FLUSH,super(t,e)}},Rw=class extends xf{constructor(t){super(t,"BrotliCompress")}},Dw=class extends xf{constructor(t){super(t,"BrotliDecompress")}},pf=class extends Vc{constructor(t,e){t=t||{},t.flush=t.flush||Nt.ZSTD_e_continue,t.finishFlush=t.finishFlush||Nt.ZSTD_e_end,t.fullFlushFlag=Nt.ZSTD_e_flush,super(t,e)}},Ow=class extends pf{constructor(t){super(t,"ZstdCompress")}},Lw=class extends pf{constructor(t){super(t,"ZstdDecompress")}},Nw=(t,e)=>{if(Number.isSafeInteger(t))t<0?Bw(t,e):Mw(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Mw=(t,e)=>{e[0]=128;for(var n=e.length;n>1;n--)e[n-1]=t&255,t=Math.floor(t/256)},Bw=(t,e)=>{e[0]=255;var n=!1;t=t*-1;for(var i=e.length;i>1;i--){var o=t&255;t=Math.floor(t/256),n?e[i-1]=gf(o):o===0?e[i-1]=0:(n=!0,e[i-1]=mf(o))}},Fw=t=>{let e=t[0],n=e===128?Uw(t.subarray(1,t.length)):e===255?zw(t):null;if(n===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(n))throw Error("parsed number outside of javascript safe integer range");return n},zw=t=>{for(var e=t.length,n=0,i=!1,o=e-1;o>-1;o--){var c=Number(t[o]),d;i?d=gf(c):c===0?d=c:(i=!0,d=mf(c)),d!==0&&(n-=d*Math.pow(256,e-o-1))}return n},Uw=t=>{for(var e=t.length,n=0,i=e-1;i>-1;i--){var o=Number(t[i]);o!==0&&(n+=o*Math.pow(256,e-i-1))}return n},gf=t=>(255^t)&255,mf=t=>(255^t)+1&255,Hw={};ew(Hw,{code:()=>Jc,isCode:()=>Zs,isName:()=>Gw,name:()=>fo,normalFsTypes:()=>wf});var Zs=t=>fo.has(t),Gw=t=>Jc.has(t),wf=new Set(["0","","1","2","3","4","5","6","7","D"]),fo=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),Jc=new Map(Array.from(fo).map(t=>[t[1],t[0]])),Jn=class{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#e="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,e=0,n,i){Buffer.isBuffer(t)?this.decode(t,e||0,n,i):t&&this.#n(t)}decode(t,e,n,i){if(e||(e=0),!t||!(t.length>=e+512))throw new Error("need 512 bytes for header");let o=Un(t,e+156,1),c=wf.has(o),d=c?n:void 0,u=c?i:void 0;if(this.path=d?.path??Un(t,e,100),this.mode=d?.mode??u?.mode??bn(t,e+100,8),this.uid=d?.uid??u?.uid??bn(t,e+108,8),this.gid=d?.gid??u?.gid??bn(t,e+116,8),this.size=d?.size??u?.size??bn(t,e+124,12),this.mtime=d?.mtime??u?.mtime??lc(t,e+136,12),this.cksum=bn(t,e+148,12),u&&this.#n(u,!0),d&&this.#n(d),Zs(o)&&(this.#e=o||"0"),this.#e==="0"&&this.path.slice(-1)==="/"&&(this.#e="5"),this.#e==="5"&&(this.size=0),this.linkpath=Un(t,e+157,100),t.subarray(e+257,e+265).toString()==="ustar\x0000")if(this.uname=d?.uname??u?.uname??Un(t,e+265,32),this.gname=d?.gname??u?.gname??Un(t,e+297,32),this.devmaj=d?.devmaj??u?.devmaj??bn(t,e+329,8)??0,this.devmin=d?.devmin??u?.devmin??bn(t,e+337,8)??0,t[e+475]!==0){let x=Un(t,e+345,155);this.path=x+"/"+this.path}else{let x=Un(t,e+345,130);x&&(this.path=x+"/"+this.path),this.atime=n?.atime??i?.atime??lc(t,e+476,12),this.ctime=n?.ctime??i?.ctime??lc(t,e+488,12)}let h=256;for(let x=e;x<e+148;x++)h+=t[x];for(let x=e+156;x<e+512;x++)h+=t[x];this.cksumValid=h===this.cksum,this.cksum===void 0&&h===256&&(this.nullBlock=!0)}#n(t,e=!1){Object.assign(this,Object.fromEntries(Object.entries(t).filter(([n,i])=>!(i==null||n==="path"&&e||n==="linkpath"&&e||n==="global"))))}encode(t,e=0){if(t||(t=this.block=Buffer.alloc(512)),this.#e==="Unsupported"&&(this.#e="0"),!(t.length>=e+512))throw new Error("need 512 bytes for header");let n=this.ctime||this.atime?130:155,i=jw(this.path||"",n),o=i[0],c=i[1];this.needPax=!!i[2],this.needPax=Hn(t,e,100,o)||this.needPax,this.needPax=En(t,e+100,8,this.mode)||this.needPax,this.needPax=En(t,e+108,8,this.uid)||this.needPax,this.needPax=En(t,e+116,8,this.gid)||this.needPax,this.needPax=En(t,e+124,12,this.size)||this.needPax,this.needPax=uc(t,e+136,12,this.mtime)||this.needPax,t[e+156]=Number(this.#e.codePointAt(0)),this.needPax=Hn(t,e+157,100,this.linkpath)||this.needPax,t.write("ustar\x0000",e+257,8),this.needPax=Hn(t,e+265,32,this.uname)||this.needPax,this.needPax=Hn(t,e+297,32,this.gname)||this.needPax,this.needPax=En(t,e+329,8,this.devmaj)||this.needPax,this.needPax=En(t,e+337,8,this.devmin)||this.needPax,this.needPax=Hn(t,e+345,n,c)||this.needPax,t[e+475]!==0?this.needPax=Hn(t,e+345,155,c)||this.needPax:(this.needPax=Hn(t,e+345,130,c)||this.needPax,this.needPax=uc(t,e+476,12,this.atime)||this.needPax,this.needPax=uc(t,e+488,12,this.ctime)||this.needPax);let d=256;for(let u=e;u<e+148;u++)d+=t[u];for(let u=e+156;u<e+512;u++)d+=t[u];return this.cksum=d,En(t,e+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return this.#e==="Unsupported"?this.#e:fo.get(this.#e)}get typeKey(){return this.#e}set type(t){let e=String(Jc.get(t));if(Zs(e)||e==="Unsupported")this.#e=e;else if(Zs(t))this.#e=t;else throw new TypeError("invalid entry type: "+t)}},jw=(t,e)=>{let n=t,i="",o,c=vr.parse(t).root||".";if(Buffer.byteLength(n)<100)o=[n,i,!1];else{i=vr.dirname(n),n=vr.basename(n);do Buffer.byteLength(n)<=100&&Buffer.byteLength(i)<=e?o=[n,i,!1]:Buffer.byteLength(n)>100&&Buffer.byteLength(i)<=e?o=[n.slice(0,99),i,!0]:(n=vr.join(vr.basename(i),n),i=vr.dirname(i));while(i!==c&&o===void 0);o||(o=[t.slice(0,99),"",!0])}return o},Un=(t,e,n)=>t.subarray(e,e+n).toString("utf8").replace(/\0.*/,""),lc=(t,e,n)=>qw(bn(t,e,n)),qw=t=>t===void 0?void 0:new Date(t*1e3),bn=(t,e,n)=>Number(t[e])&128?Fw(t.subarray(e,e+n)):Kw(t,e,n),Ww=t=>isNaN(t)?void 0:t,Kw=(t,e,n)=>Ww(parseInt(t.subarray(e,e+n).toString("utf8").replace(/\0.*$/,"").trim(),8)),$w={12:8589934591,8:2097151},En=(t,e,n,i)=>i===void 0?!1:i>$w[n]||i<0?(Nw(i,t.subarray(e,e+n)),!0):(Vw(t,e,n,i),!1),Vw=(t,e,n,i)=>t.write(Jw(i,n),e,n,"ascii"),Jw=(t,e)=>Zw(Math.floor(t).toString(8),e),Zw=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",uc=(t,e,n,i)=>i===void 0?!1:En(t,e,n,i.getTime()/1e3),Yw=new Array(156).join("\0"),Hn=(t,e,n,i)=>i===void 0?!1:(t.write(i+Yw,e,n,"utf8"),i.length!==Buffer.byteLength(i)||i.length>n),so=class _f{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(e,n=!1){this.atime=e.atime,this.charset=e.charset,this.comment=e.comment,this.ctime=e.ctime,this.dev=e.dev,this.gid=e.gid,this.global=n,this.gname=e.gname,this.ino=e.ino,this.linkpath=e.linkpath,this.mtime=e.mtime,this.nlink=e.nlink,this.path=e.path,this.size=e.size,this.uid=e.uid,this.uname=e.uname}encode(){let e=this.encodeBody();if(e==="")return Buffer.allocUnsafe(0);let n=Buffer.byteLength(e),i=512*Math.ceil(1+n/512),o=Buffer.allocUnsafe(i);for(let c=0;c<512;c++)o[c]=0;new Jn({path:("PaxHeader/"+Xw(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:n,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(o),o.write(e,512,n,"utf8");for(let c=n+512;c<o.length;c++)o[c]=0;return o}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(e){if(this[e]===void 0)return"";let n=this[e],i=n instanceof Date?n.getTime()/1e3:n,o=" "+(e==="dev"||e==="ino"||e==="nlink"?"SCHILY.":"")+e+"="+i+`
|
|
90
|
+
`,c=Buffer.byteLength(o),d=Math.floor(Math.log(c)/Math.log(10))+1;return c+d>=Math.pow(10,d)&&(d+=1),d+c+o}static parse(e,n,i=!1){return new _f(Qw(e_(e),n),i)}},Qw=(t,e)=>e?Object.assign({},e,t):t,e_=t=>t.replace(/\n$/,"").split(`
|
|
91
|
+
`).reduce(t_,Object.create(null)),t_=(t,e)=>{let n=parseInt(e,10);if(n!==Buffer.byteLength(e)+1)return t;e=e.slice((n+" ").length);let i=e.split("="),o=i.shift();if(!o)return t;let c=o.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),d=i.join("=");return t[c]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(c)?new Date(Number(d)*1e3):/^[0-9]+$/.test(d)?+d:d,t},n_=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,ee=n_!=="win32"?t=>t:t=>t&&t.replaceAll(/\\/g,"/"),r_=class extends Zn{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(t,e,n){switch(super({}),this.pause(),this.extended=e,this.globalExtended=n,this.header=t,this.remain=t.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=t.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!t.path)throw new Error("no path provided for tar.ReadEntry");this.path=ee(t.path),this.mode=t.mode,this.mode&&(this.mode=this.mode&4095),this.uid=t.uid,this.gid=t.gid,this.uname=t.uname,this.gname=t.gname,this.size=this.remain,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=t.linkpath?ee(t.linkpath):void 0,this.uname=t.uname,this.gname=t.gname,e&&this.#e(e),n&&this.#e(n,!0)}write(t){let e=t.length;if(e>this.blockRemain)throw new Error("writing more to entry than is appropriate");let n=this.remain,i=this.blockRemain;return this.remain=Math.max(0,n-e),this.blockRemain=Math.max(0,i-e),this.ignore?!0:n>=e?super.write(t):super.write(t.subarray(0,n))}#e(t,e=!1){t.path&&(t.path=ee(t.path)),t.linkpath&&(t.linkpath=ee(t.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(t).filter(([n,i])=>!(i==null||n==="path"&&e))))}},ho=(t,e,n,i={})=>{t.file&&(i.file=t.file),t.cwd&&(i.cwd=t.cwd),i.code=n instanceof Error&&n.code||e,i.tarCode=e,!t.strict&&i.recoverable!==!1?(n instanceof Error&&(i=Object.assign(n,i),n=n.message),t.emit("warn",e,n,i)):n instanceof Error?t.emit("error",Object.assign(n,i)):t.emit("error",Object.assign(new Error(`${e}: ${n}`),i))},i_=1024*1024,kc=Buffer.from([31,139]),Tc=Buffer.from([40,181,47,253]),s_=Math.max(kc.length,Tc.length),xt=Symbol("state"),Gn=Symbol("writeEntry"),Yt=Symbol("readEntry"),fc=Symbol("nextEntry"),Lu=Symbol("processEntry"),Dt=Symbol("extendedHeader"),bi=Symbol("globalExtendedHeader"),gn=Symbol("meta"),Nu=Symbol("emitMeta"),me=Symbol("buffer"),Xt=Symbol("queue"),mn=Symbol("ended"),hc=Symbol("emittedEnd"),jn=Symbol("emit"),Ce=Symbol("unzip"),Us=Symbol("consumeChunk"),Hs=Symbol("consumeChunkSub"),xc=Symbol("consumeBody"),Mu=Symbol("consumeMeta"),Bu=Symbol("consumeHeader"),Ei=Symbol("consuming"),pc=Symbol("bufferConcat"),Gs=Symbol("maybeEnd"),Sr=Symbol("writing"),wn=Symbol("aborted"),js=Symbol("onDone"),qn=Symbol("sawValidEntry"),qs=Symbol("sawNullBlock"),Ws=Symbol("sawEOF"),Fu=Symbol("closeStream"),o_=()=>!0,Fi=class extends Sw{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[Xt]=[];[me];[Yt];[Gn];[xt]="begin";[gn]="";[Dt];[bi];[mn]=!1;[Ce];[wn]=!1;[qn];[qs]=!1;[Ws]=!1;[Sr]=!1;[Ei]=!1;[hc]=!1;constructor(t={}){super(),this.file=t.file||"",this.on(js,()=>{(this[xt]==="begin"||this[qn]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),t.ondone?this.on(js,t.ondone):this.on(js,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||i_,this.filter=typeof t.filter=="function"?t.filter:o_;let e=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!(t.gzip||t.zstd)&&t.brotli!==void 0?t.brotli:e?void 0:!1;let n=t.file&&(t.file.endsWith(".tar.zst")||t.file.endsWith(".tzst"));this.zstd=!(t.gzip||t.brotli)&&t.zstd!==void 0?t.zstd:n?!0:void 0,this.on("end",()=>this[Fu]()),typeof t.onwarn=="function"&&this.on("warn",t.onwarn),typeof t.onReadEntry=="function"&&this.on("entry",t.onReadEntry)}warn(t,e,n={}){ho(this,t,e,n)}[Bu](t,e){this[qn]===void 0&&(this[qn]=!1);let n;try{n=new Jn(t,e,this[Dt],this[bi])}catch(i){return this.warn("TAR_ENTRY_INVALID",i)}if(n.nullBlock)this[qs]?(this[Ws]=!0,this[xt]==="begin"&&(this[xt]="header"),this[jn]("eof")):(this[qs]=!0,this[jn]("nullBlock"));else if(this[qs]=!1,!n.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:n});else if(!n.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:n});else{let i=n.type;if(/^(Symbolic)?Link$/.test(i)&&!n.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:n});else if(!/^(Symbolic)?Link$/.test(i)&&!/^(Global)?ExtendedHeader$/.test(i)&&n.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:n});else{let o=this[Gn]=new r_(n,this[Dt],this[bi]);if(!this[qn])if(o.remain){let c=()=>{o.invalid||(this[qn]=!0)};o.on("end",c)}else this[qn]=!0;o.meta?o.size>this.maxMetaEntrySize?(o.ignore=!0,this[jn]("ignoredEntry",o),this[xt]="ignore",o.resume()):o.size>0&&(this[gn]="",o.on("data",c=>this[gn]+=c),this[xt]="meta"):(this[Dt]=void 0,o.ignore=o.ignore||!this.filter(o.path,o),o.ignore?(this[jn]("ignoredEntry",o),this[xt]=o.remain?"ignore":"header",o.resume()):(o.remain?this[xt]="body":(this[xt]="header",o.end()),this[Yt]?this[Xt].push(o):(this[Xt].push(o),this[fc]())))}}}[Fu](){queueMicrotask(()=>this.emit("close"))}[Lu](t){let e=!0;if(!t)this[Yt]=void 0,e=!1;else if(Array.isArray(t)){let[n,...i]=t;this.emit(n,...i)}else this[Yt]=t,this.emit("entry",t),t.emittedEnd||(t.on("end",()=>this[fc]()),e=!1);return e}[fc](){do;while(this[Lu](this[Xt].shift()));if(this[Xt].length===0){let t=this[Yt];!t||t.flowing||t.size===t.remain?this[Sr]||this.emit("drain"):t.once("drain",()=>this.emit("drain"))}}[xc](t,e){let n=this[Gn];if(!n)throw new Error("attempt to consume body without entry??");let i=n.blockRemain??0,o=i>=t.length&&e===0?t:t.subarray(e,e+i);return n.write(o),n.blockRemain||(this[xt]="header",this[Gn]=void 0,n.end()),o.length}[Mu](t,e){let n=this[Gn],i=this[xc](t,e);return!this[Gn]&&n&&this[Nu](n),i}[jn](t,e,n){this[Xt].length===0&&!this[Yt]?this.emit(t,e,n):this[Xt].push([t,e,n])}[Nu](t){switch(this[jn]("meta",this[gn]),t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Dt]=so.parse(this[gn],this[Dt],!1);break;case"GlobalExtendedHeader":this[bi]=so.parse(this[gn],this[bi],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let e=this[Dt]??Object.create(null);this[Dt]=e,e.path=this[gn].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let e=this[Dt]||Object.create(null);this[Dt]=e,e.linkpath=this[gn].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[wn]=!0,this.emit("abort",t),this.warn("TAR_ABORT",t,{recoverable:!1})}write(t,e,n){if(typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof e=="string"?e:"utf8")),this[wn])return n?.(),!1;if((this[Ce]===void 0||this.brotli===void 0&&this[Ce]===!1)&&t){if(this[me]&&(t=Buffer.concat([this[me],t]),this[me]=void 0),t.length<s_)return this[me]=t,n?.(),!0;for(let d=0;this[Ce]===void 0&&d<kc.length;d++)t[d]!==kc[d]&&(this[Ce]=!1);let o=!1;if(this[Ce]===!1&&this.zstd!==!1){o=!0;for(let d=0;d<Tc.length;d++)if(t[d]!==Tc[d]){o=!1;break}}let c=this.brotli===void 0&&!o;if(this[Ce]===!1&&c)if(t.length<512)if(this[mn])this.brotli=!0;else return this[me]=t,n?.(),!0;else try{new Jn(t.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(this[Ce]===void 0||this[Ce]===!1&&(this.brotli||o)){let d=this[mn];this[mn]=!1,this[Ce]=this[Ce]===void 0?new Cw({}):o?new Lw({}):new Dw({}),this[Ce].on("data",h=>this[Us](h)),this[Ce].on("error",h=>this.abort(h)),this[Ce].on("end",()=>{this[mn]=!0,this[Us]()}),this[Sr]=!0;let u=!!this[Ce][d?"end":"write"](t);return this[Sr]=!1,n?.(),u}}this[Sr]=!0,this[Ce]?this[Ce].write(t):this[Us](t),this[Sr]=!1;let i=this[Xt].length>0?!1:this[Yt]?this[Yt].flowing:!0;return!i&&this[Xt].length===0&&this[Yt]?.once("drain",()=>this.emit("drain")),n?.(),i}[pc](t){t&&!this[wn]&&(this[me]=this[me]?Buffer.concat([this[me],t]):t)}[Gs](){if(this[mn]&&!this[hc]&&!this[wn]&&!this[Ei]){this[hc]=!0;let t=this[Gn];if(t&&t.blockRemain){let e=this[me]?this[me].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${e} available)`,{entry:t}),this[me]&&t.write(this[me]),t.end()}this[jn](js)}}[Us](t){if(this[Ei]&&t)this[pc](t);else if(!t&&!this[me])this[Gs]();else if(t){if(this[Ei]=!0,this[me]){this[pc](t);let e=this[me];this[me]=void 0,this[Hs](e)}else this[Hs](t);for(;this[me]&&this[me]?.length>=512&&!this[wn]&&!this[Ws];){let e=this[me];this[me]=void 0,this[Hs](e)}this[Ei]=!1}(!this[me]||this[mn])&&this[Gs]()}[Hs](t){let e=0,n=t.length;for(;e+512<=n&&!this[wn]&&!this[Ws];)switch(this[xt]){case"begin":case"header":this[Bu](t,e),e+=512;break;case"ignore":case"body":e+=this[xc](t,e);break;case"meta":e+=this[Mu](t,e);break;default:throw new Error("invalid state: "+this[xt])}e<n&&(this[me]=this[me]?Buffer.concat([t.subarray(e),this[me]]):t.subarray(e))}end(t,e,n){return typeof t=="function"&&(n=t,e=void 0,t=void 0),typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,e)),n&&this.once("finish",n),this[wn]||(this[Ce]?(t&&this[Ce].write(t),this[Ce].end()):(this[mn]=!0,(this.brotli===void 0||this.zstd===void 0)&&(t=t||Buffer.alloc(0)),t&&this.write(t),this[Gs]())),this}},Ri=t=>{let e=t.length-1,n=-1;for(;e>-1&&t.charAt(e)==="/";)n=e,e--;return n===-1?t:t.slice(0,n)},a_=t=>{let e=t.onReadEntry;t.onReadEntry=e?n=>{e(n),n.resume()}:n=>n.resume()},yf=(t,e)=>{let n=new Map(e.map(c=>[Ri(c),!0])),i=t.filter,o=(c,d="")=>{let u=d||gw(c).root||".",h;if(c===u)h=!1;else{let x=n.get(c);h=x!==void 0?x:o(pw(c),u)}return n.set(c,h),h};t.filter=i?(c,d)=>i(c,d)&&o(Ri(c)):c=>o(Ri(c))},c_=t=>{let e=new Fi(t),n=t.file,i;try{i=Cr.openSync(n,"r");let o=Cr.fstatSync(i),c=t.maxReadSize||16*1024*1024;if(o.size<c){let d=Buffer.allocUnsafe(o.size),u=Cr.readSync(i,d,0,o.size,0);e.end(u===d.byteLength?d:d.subarray(0,u))}else{let d=0,u=Buffer.allocUnsafe(c);for(;d<o.size;){let h=Cr.readSync(i,u,0,c,d);if(h===0)break;d+=h,e.write(u.subarray(0,h))}e.end()}}finally{if(typeof i=="number")try{Cr.closeSync(i)}catch{}}},d_=(t,e)=>{let n=new Fi(t),i=t.maxReadSize||16*1024*1024,o=t.file;return new Promise((c,d)=>{n.on("error",d),n.on("end",c),Cr.stat(o,(u,h)=>{if(u)d(u);else{let x=new Kc(o,{readSize:i,size:h.size});x.on("error",d),x.pipe(n)}})})},Lr=zi(c_,d_,t=>new Fi(t),t=>new Fi(t),(t,e)=>{e?.length&&yf(t,e),t.noResume||a_(t)}),bf=(t,e,n)=>(t&=4095,n&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t),{isAbsolute:u_,parse:Uu}=l_,Zc=t=>{let e="",n=Uu(t);for(;u_(t)||n.root;){let i=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":n.root;t=t.slice(i.length),e+=i,n=Uu(t)}return[e,t]},xo=["|","<",">","?",":"],Yc=xo.map(t=>String.fromCodePoint(61440+Number(t.codePointAt(0)))),f_=new Map(xo.map((t,e)=>[t,Yc[e]])),h_=new Map(Yc.map((t,e)=>[t,xo[e]])),Hu=t=>xo.reduce((e,n)=>e.split(n).join(f_.get(n)),t),x_=t=>Yc.reduce((e,n)=>e.split(n).join(h_.get(n)),t),Ef=(t,e)=>e?(t=ee(t).replace(/^\.(\/|$)/,""),Ri(e)+"/"+t):ee(t),p_=16*1024*1024,Gu=Symbol("process"),ju=Symbol("file"),qu=Symbol("directory"),Pc=Symbol("symlink"),Wu=Symbol("hardlink"),vi=Symbol("header"),Ys=Symbol("read"),Cc=Symbol("lstat"),Xs=Symbol("onlstat"),Rc=Symbol("onread"),Dc=Symbol("onreadlink"),Oc=Symbol("openfile"),Lc=Symbol("onopenfile"),vn=Symbol("close"),ao=Symbol("mode"),Nc=Symbol("awaitDrain"),gc=Symbol("ondrain"),Lt=Symbol("prefix"),vf=class extends Zn{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#e=!1;constructor(t,e={}){let n=$c(e);super(),this.path=ee(t),this.portable=!!n.portable,this.maxReadSize=n.maxReadSize||p_,this.linkCache=n.linkCache||new Map,this.statCache=n.statCache||new Map,this.preservePaths=!!n.preservePaths,this.cwd=ee(n.cwd||process.cwd()),this.strict=!!n.strict,this.noPax=!!n.noPax,this.noMtime=!!n.noMtime,this.mtime=n.mtime,this.prefix=n.prefix?ee(n.prefix):void 0,this.onWriteEntry=n.onWriteEntry,typeof n.onwarn=="function"&&this.on("warn",n.onwarn);let i=!1;if(!this.preservePaths){let[c,d]=Zc(this.path);c&&typeof d=="string"&&(this.path=d,i=c)}this.win32=!!n.win32||process.platform==="win32",this.win32&&(this.path=x_(this.path.replaceAll(/\\/g,"/")),t=t.replaceAll(/\\/g,"/")),this.absolute=ee(n.absolute||zu.resolve(this.cwd,t)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path});let o=this.statCache.get(this.absolute);o?this[Xs](o):this[Cc]()}warn(t,e,n={}){return ho(this,t,e,n)}emit(t,...e){return t==="error"&&(this.#e=!0),super.emit(t,...e)}[Cc](){Ot.lstat(this.absolute,(t,e)=>{if(t)return this.emit("error",t);this[Xs](e)})}[Xs](t){this.statCache.set(this.absolute,t),this.stat=t,t.isFile()||(t.size=0),this.type=w_(t),this.emit("stat",t),this[Gu]()}[Gu](){switch(this.type){case"File":return this[ju]();case"Directory":return this[qu]();case"SymbolicLink":return this[Pc]();default:return this.end()}}[ao](t){return bf(t,this.type==="Directory",this.portable)}[Lt](t){return Ef(t,this.prefix)}[vi](){if(!this.stat)throw new Error("cannot write header before stat");this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new Jn({path:this[Lt](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lt](this.linkpath):this.linkpath,mode:this[ao](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new so({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[Lt](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lt](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let t=this.header?.block;if(!t)throw new Error("failed to encode header");super.write(t)}[qu](){if(!this.stat)throw new Error("cannot create directory entry without stat");this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[vi](),this.end()}[Pc](){Ot.readlink(this.absolute,(t,e)=>{if(t)return this.emit("error",t);this[Dc](e)})}[Dc](t){this.linkpath=ee(t),this[vi](),this.end()}[Wu](t){if(!this.stat)throw new Error("cannot create link entry without stat");this.type="Link",this.linkpath=ee(zu.relative(this.cwd,t)),this.stat.size=0,this[vi](),this.end()}[ju](){if(!this.stat)throw new Error("cannot create file entry without stat");if(this.stat.nlink>1){let t=`${this.stat.dev}:${this.stat.ino}`,e=this.linkCache.get(t);if(e?.indexOf(this.cwd)===0)return this[Wu](e);this.linkCache.set(t,this.absolute)}if(this[vi](),this.stat.size===0)return this.end();this[Oc]()}[Oc](){Ot.open(this.absolute,"r",(t,e)=>{if(t)return this.emit("error",t);this[Lc](e)})}[Lc](t){if(this.fd=t,this.#e)return this[vn]();if(!this.stat)throw new Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let e=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(e),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[Ys]()}[Ys](){let{fd:t,buf:e,offset:n,length:i,pos:o}=this;if(t===void 0||e===void 0)throw new Error("cannot read file without first opening");Ot.read(t,e,n,i,o,(c,d)=>{if(c)return this[vn](()=>this.emit("error",c));this[Rc](d)})}[vn](t=()=>{}){this.fd!==void 0&&Ot.close(this.fd,t)}[Rc](t){if(t<=0&&this.remain>0){let n=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[vn](()=>this.emit("error",n))}if(t>this.remain){let n=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[vn](()=>this.emit("error",n))}if(!this.buf)throw new Error("should have created buffer prior to reading");if(t===this.remain)for(let n=t;n<this.length&&t<this.blockRemain;n++)this.buf[n+this.offset]=0,t++,this.remain++;let e=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);this.write(e)?this[gc]():this[Nc](()=>this[gc]())}[Nc](t){this.once("drain",t)}write(t,e,n){if(typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof e=="string"?e:"utf8")),this.blockRemain<t.length){let i=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",i)}return this.remain-=t.length,this.blockRemain-=t.length,this.pos+=t.length,this.offset+=t.length,super.write(t,null,n)}[gc](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[vn](t=>t?this.emit("error",t):this.end());if(!this.buf)throw new Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[Ys]()}},g_=class extends vf{sync=!0;[Cc](){this[Xs](Ot.lstatSync(this.absolute))}[Pc](){this[Dc](Ot.readlinkSync(this.absolute))}[Oc](){this[Lc](Ot.openSync(this.absolute,"r"))}[Ys](){let t=!0;try{let{fd:e,buf:n,offset:i,length:o,pos:c}=this;if(e===void 0||n===void 0)throw new Error("fd and buf must be set in READ method");let d=Ot.readSync(e,n,i,o,c);this[Rc](d),t=!1}finally{if(t)try{this[vn](()=>{})}catch{}}}[Nc](t){t()}[vn](t=()=>{}){this.fd!==void 0&&Ot.closeSync(this.fd),t()}},m_=class extends Zn{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,e,n={}){return ho(this,t,e,n)}constructor(t,e={}){let n=$c(e);super(),this.preservePaths=!!n.preservePaths,this.portable=!!n.portable,this.strict=!!n.strict,this.noPax=!!n.noPax,this.noMtime=!!n.noMtime,this.onWriteEntry=n.onWriteEntry,this.readEntry=t;let{type:i}=t;if(i==="Unsupported")throw new Error("writing entry that should be ignored");this.type=i,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=n.prefix,this.path=ee(t.path),this.mode=t.mode!==void 0?this[ao](t.mode):void 0,this.uid=this.portable?void 0:t.uid,this.gid=this.portable?void 0:t.gid,this.uname=this.portable?void 0:t.uname,this.gname=this.portable?void 0:t.gname,this.size=t.size,this.mtime=this.noMtime?void 0:n.mtime||t.mtime,this.atime=this.portable?void 0:t.atime,this.ctime=this.portable?void 0:t.ctime,this.linkpath=t.linkpath!==void 0?ee(t.linkpath):void 0,typeof n.onwarn=="function"&&this.on("warn",n.onwarn);let o=!1;if(!this.preservePaths){let[d,u]=Zc(this.path);d&&typeof u=="string"&&(this.path=u,o=d)}this.remain=t.size,this.blockRemain=t.startBlockSize,this.onWriteEntry?.(this),this.header=new Jn({path:this[Lt](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lt](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new so({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[Lt](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[Lt](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let c=this.header?.block;if(!c)throw new Error("failed to encode header");super.write(c),t.pipe(this)}[Lt](t){return Ef(t,this.prefix)}[ao](t){return bf(t,this.type==="Directory",this.portable)}write(t,e,n){typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof e=="string"?e:"utf8"));let i=t.length;if(i>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=i,super.write(t,n)}end(t,e,n){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),typeof t=="function"&&(n=t,e=void 0,t=void 0),typeof e=="function"&&(n=e,e=void 0),typeof t=="string"&&(t=Buffer.from(t,e??"utf8")),n&&this.once("finish",n),t?super.end(t,n):super.end(n),this}},w_=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported",__=class Rr{tail;head;length=0;static create(e=[]){return new Rr(e)}constructor(e=[]){for(let n of e)this.push(n)}*[Symbol.iterator](){for(let e=this.head;e;e=e.next)yield e.value}removeNode(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");let n=e.next,i=e.prev;return n&&(n.prev=i),i&&(i.next=n),e===this.head&&(this.head=n),e===this.tail&&(this.tail=i),this.length--,e.next=void 0,e.prev=void 0,e.list=void 0,n}unshiftNode(e){if(e===this.head)return;e.list&&e.list.removeNode(e);let n=this.head;e.list=this,e.next=n,n&&(n.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}pushNode(e){if(e===this.tail)return;e.list&&e.list.removeNode(e);let n=this.tail;e.list=this,e.prev=n,n&&(n.next=e),this.tail=e,this.head||(this.head=e),this.length++}push(...e){for(let n=0,i=e.length;n<i;n++)b_(this,e[n]);return this.length}unshift(...e){for(var n=0,i=e.length;n<i;n++)E_(this,e[n]);return this.length}pop(){if(!this.tail)return;let e=this.tail.value,n=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,n.list=void 0,this.length--,e}shift(){if(!this.head)return;let e=this.head.value,n=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,n.list=void 0,this.length--,e}forEach(e,n){n=n||this;for(let i=this.head,o=0;i;o++)e.call(n,i.value,o,this),i=i.next}forEachReverse(e,n){n=n||this;for(let i=this.tail,o=this.length-1;i;o--)e.call(n,i.value,o,this),i=i.prev}get(e){let n=0,i=this.head;for(;i&&n<e;n++)i=i.next;if(n===e&&i)return i.value}getReverse(e){let n=0,i=this.tail;for(;i&&n<e;n++)i=i.prev;if(n===e&&i)return i.value}map(e,n){n=n||this;let i=new Rr;for(let o=this.head;o;)i.push(e.call(n,o.value,this)),o=o.next;return i}mapReverse(e,n){n=n||this;var i=new Rr;for(let o=this.tail;o;)i.push(e.call(n,o.value,this)),o=o.prev;return i}reduce(e,n){let i,o=this.head;if(arguments.length>1)i=n;else if(this.head)o=this.head.next,i=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var c=0;o;c++)i=e(i,o.value,c),o=o.next;return i}reduceReverse(e,n){let i,o=this.tail;if(arguments.length>1)i=n;else if(this.tail)o=this.tail.prev,i=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(let c=this.length-1;o;c--)i=e(i,o.value,c),o=o.prev;return i}toArray(){let e=new Array(this.length);for(let n=0,i=this.head;i;n++)e[n]=i.value,i=i.next;return e}toArrayReverse(){let e=new Array(this.length);for(let n=0,i=this.tail;i;n++)e[n]=i.value,i=i.prev;return e}slice(e=0,n=this.length){n<0&&(n+=this.length),e<0&&(e+=this.length);let i=new Rr;if(n<e||n<0)return i;e<0&&(e=0),n>this.length&&(n=this.length);let o=this.head,c=0;for(c=0;o&&c<e;c++)o=o.next;for(;o&&c<n;c++,o=o.next)i.push(o.value);return i}sliceReverse(e=0,n=this.length){n<0&&(n+=this.length),e<0&&(e+=this.length);let i=new Rr;if(n<e||n<0)return i;e<0&&(e=0),n>this.length&&(n=this.length);let o=this.length,c=this.tail;for(;c&&o>n;o--)c=c.prev;for(;c&&o>e;o--,c=c.prev)i.push(c.value);return i}splice(e,n=0,...i){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);let o=this.head;for(let d=0;o&&d<e;d++)o=o.next;let c=[];for(let d=0;o&&d<n;d++)c.push(o.value),o=this.removeNode(o);o?o!==this.tail&&(o=o.prev):o=this.tail;for(let d of i)o=y_(this,o,d);return c}reverse(){let e=this.head,n=this.tail;for(let i=e;i;i=i.prev){let o=i.prev;i.prev=i.next,i.next=o}return this.head=n,this.tail=e,this}};function y_(t,e,n){let i=e,o=e?e.next:t.head,c=new Xc(n,i,o,t);return c.next===void 0&&(t.tail=c),c.prev===void 0&&(t.head=c),t.length++,c}function b_(t,e){t.tail=new Xc(e,t.tail,void 0,t),t.head||(t.head=t.tail),t.length++}function E_(t,e){t.head=new Xc(e,void 0,t.head,t),t.tail||(t.tail=t.head),t.length++}var Xc=class{list;next;prev;value;constructor(t,e,n,i){this.list=i,this.value=t,e?(e.next=this,this.prev=e):this.prev=void 0,n?(n.prev=this,this.next=n):this.next=void 0}},$u=class{path;absolute;entry;stat;readdir;pending=!1;pendingLink=!1;ignore=!1;piped=!1;constructor(t,e){this.path=t||"./",this.absolute=e}},Vu=Buffer.alloc(1024),Qs=Symbol("onStat"),Si=Symbol("ended"),vt=Symbol("queue"),Ii=Symbol("pendingLinks"),_n=Symbol("current"),Wn=Symbol("process"),Ai=Symbol("processing"),Ks=Symbol("processJob"),St=Symbol("jobs"),mc=Symbol("jobDone"),eo=Symbol("addFSEntry"),Ju=Symbol("addTarEntry"),Mc=Symbol("stat"),Bc=Symbol("readdir"),to=Symbol("onreaddir"),no=Symbol("pipe"),Zu=Symbol("entry"),wc=Symbol("entryOpt"),ro=Symbol("writeEntryClass"),Sf=Symbol("write"),_c=Symbol("ondrain"),po=class extends Zn{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[ro];onWriteEntry;[vt];[Ii]=new Map;[St]=0;[Ai]=!1;[Si]=!1;constructor(t={}){if(super(),this.opt=t,this.file=t.file||"",this.cwd=t.cwd||process.cwd(),this.maxReadSize=t.maxReadSize,this.preservePaths=!!t.preservePaths,this.strict=!!t.strict,this.noPax=!!t.noPax,this.prefix=ee(t.prefix||""),this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.readdirCache=t.readdirCache||new Map,this.onWriteEntry=t.onWriteEntry,this[ro]=vf,typeof t.onwarn=="function"&&this.on("warn",t.onwarn),this.portable=!!t.portable,t.gzip||t.brotli||t.zstd){if((t.gzip?1:0)+(t.brotli?1:0)+(t.zstd?1:0)>1)throw new TypeError("gzip, brotli, zstd are mutually exclusive");if(t.gzip&&(typeof t.gzip!="object"&&(t.gzip={}),this.portable&&(t.gzip.portable=!0),this.zip=new Pw(t.gzip)),t.brotli&&(typeof t.brotli!="object"&&(t.brotli={}),this.zip=new Rw(t.brotli)),t.zstd&&(typeof t.zstd!="object"&&(t.zstd={}),this.zip=new Ow(t.zstd)),!this.zip)throw new Error("impossible");let e=this.zip;e.on("data",n=>super.write(n)),e.on("end",()=>super.end()),e.on("drain",()=>this[_c]()),this.on("resume",()=>e.resume())}else this.on("drain",this[_c]);this.noDirRecurse=!!t.noDirRecurse,this.follow=!!t.follow,this.noMtime=!!t.noMtime,t.mtime&&(this.mtime=t.mtime),this.filter=typeof t.filter=="function"?t.filter:()=>!0,this[vt]=new __,this[St]=0,this.jobs=Number(t.jobs)||4,this[Ai]=!1,this[Si]=!1}[Sf](t){return super.write(t)}add(t){return this.write(t),this}end(t,e,n){return typeof t=="function"&&(n=t,t=void 0),typeof e=="function"&&(n=e,e=void 0),t&&this.add(t),this[Si]=!0,this[Wn](),n&&n(),this}write(t){if(this[Si])throw new Error("write after end");return typeof t=="string"?this[eo](t):this[Ju](t),this.flowing}[Ju](t){let e=ee(Ku.resolve(this.cwd,t.path));if(!this.filter(t.path,t))t.resume();else{let n=new $u(t.path,e);n.entry=new m_(t,this[wc](n)),n.entry.on("end",()=>this[mc](n)),this[St]+=1,this[vt].push(n)}this[Wn]()}[eo](t){let e=ee(Ku.resolve(this.cwd,t));this[vt].push(new $u(t,e)),this[Wn]()}[Mc](t){t.pending=!0,this[St]+=1;let e=this.follow?"stat":"lstat";oo[e](t.absolute,(n,i)=>{t.pending=!1,this[St]-=1,n?this.emit("error",n):this[Qs](t,i)})}[Qs](t,e){if(this.statCache.set(t.absolute,e),t.stat=e,!this.filter(t.path,e))t.ignore=!0;else if(e.isFile()&&e.nlink>1&&!this.linkCache.get(`${e.dev}:${e.ino}`)&&!this.sync)if(t===this[_n])this[Ks](t);else{let n=`${e.dev}:${e.ino}`,i=this[Ii].get(n);i?i.push(t):this[Ii].set(n,[t]),t.pendingLink=!0,t.pending=!0}this[Wn]()}[Bc](t){t.pending=!0,this[St]+=1,oo.readdir(t.absolute,(e,n)=>{if(t.pending=!1,this[St]-=1,e)return this.emit("error",e);this[to](t,n)})}[to](t,e){this.readdirCache.set(t.absolute,e),t.readdir=e,this[Wn]()}[Wn](){if(!this[Ai]){this[Ai]=!0;for(let t=this[vt].head;t&&this[St]<this.jobs;t=t.next)if(this[Ks](t.value),t.value.ignore){let e=t.next;this[vt].removeNode(t),t.next=e}this[Ai]=!1,this[Si]&&this[vt].length===0&&this[St]===0&&(this.zip?this.zip.end(Vu):(super.write(Vu),super.end()))}}get[_n](){return this[vt]&&this[vt].head&&this[vt].head.value}[mc](t){this[vt].shift(),this[St]-=1;let{stat:e}=t;if(e&&e.isFile()&&e.nlink>1){let n=`${e.dev}:${e.ino}`,i=this[Ii].get(n);if(i){this[Ii].delete(n);for(let o of i)o.pending=!1,this[Ks](o)}}this[Wn]()}[Ks](t){if(t.pending&&t.pendingLink&&t===this[_n]&&(t.pending=!1,t.pendingLink=!1),!t.pending){if(t.entry){t===this[_n]&&!t.piped&&this[no](t);return}if(!t.stat){let e=this.statCache.get(t.absolute);e?this[Qs](t,e):this[Mc](t)}if(t.stat&&!t.ignore){if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){let e=this.readdirCache.get(t.absolute);if(e?this[to](t,e):this[Bc](t),!t.readdir)return}if(t.entry=this[Zu](t),!t.entry){t.ignore=!0;return}t===this[_n]&&!t.piped&&this[no](t)}}}[wc](t){return{onwarn:(e,n,i)=>this.warn(e,n,i),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[Zu](t){this[St]+=1;try{return new this[ro](t.path,this[wc](t)).on("end",()=>this[mc](t)).on("error",e=>this.emit("error",e))}catch(e){this.emit("error",e)}}[_c](){this[_n]&&this[_n].entry&&this[_n].entry.resume()}[no](t){t.piped=!0,t.readdir&&t.readdir.forEach(i=>{let o=t.path,c=o==="./"?"":o.replace(/\/*$/,"/");this[eo](c+i)});let e=t.entry,n=this.zip;if(!e)throw new Error("cannot pipe without source");n?e.on("data",i=>{n.write(i)||e.pause()}):e.on("data",i=>{super.write(i)||e.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(t,e,n={}){ho(this,t,e,n)}},Qc=class extends po{sync=!0;constructor(t){super(t),this[ro]=g_}pause(){}resume(){}[Mc](t){let e=this.follow?"statSync":"lstatSync";this[Qs](t,oo[e](t.absolute))}[Bc](t){this[to](t,oo.readdirSync(t.absolute))}[no](t){let e=t.entry,n=this.zip;if(t.readdir&&t.readdir.forEach(i=>{let o=t.path,c=o==="./"?"":o.replace(/\/*$/,"/");this[eo](c+i)}),!e)throw new Error("Cannot pipe without source");n?e.on("data",i=>{n.write(i)}):e.on("data",i=>{super[Sf](i)})}},v_=(t,e)=>{let n=new Qc(t),i=new uf(t.file,{mode:t.mode||438});n.pipe(i),If(n,e)},S_=(t,e)=>{let n=new po(t),i=new uo(t.file,{mode:t.mode||438});n.pipe(i);let o=new Promise((c,d)=>{i.on("error",d),i.on("close",c),n.on("error",d)});return Af(n,e).catch(c=>n.emit("error",c)),o},If=(t,e)=>{e.forEach(n=>{n.charAt(0)==="@"?Lr({file:ff.resolve(t.cwd,n.slice(1)),sync:!0,noResume:!0,onReadEntry:i=>t.add(i)}):t.add(n)}),t.end()},Af=async(t,e)=>{for(let n of e)n.charAt(0)==="@"?await Lr({file:ff.resolve(String(t.cwd),n.slice(1)),noResume:!0,onReadEntry:i=>{t.add(i)}}):t.add(n);t.end()},I_=(t,e)=>{let n=new Qc(t);return If(n,e),n},A_=(t,e)=>{let n=new po(t);return Af(n,e).catch(i=>n.emit("error",i)),n},ok=zi(v_,S_,I_,A_,(t,e)=>{if(!e?.length)throw new TypeError("no paths specified to add to archive")}),T_=process.env.__FAKE_PLATFORM__||process.platform,Cf=T_==="win32",{O_CREAT:Rf,O_NOFOLLOW:Yu,O_TRUNC:Df,O_WRONLY:Of}=Pf.constants,Lf=Number(process.env.__FAKE_FS_O_FILENAME__)||Pf.constants.UV_FS_O_FILEMAP||0,P_=Cf&&!!Lf,C_=512*1024,R_=Lf|Df|Rf|Of,Xu=!Cf&&typeof Yu=="number"?Yu|Df|Rf|Of:null,Nf=Xu!==null?()=>Xu:P_?t=>t<C_?R_:"w":()=>"w",Fc=(t,e,n)=>{try{return go.lchownSync(t,e,n)}catch(i){if(i?.code!=="ENOENT")throw i}},co=(t,e,n,i)=>{go.lchown(t,e,n,o=>{i(o&&o?.code!=="ENOENT"?o:null)})},D_=(t,e,n,i,o)=>{if(e.isDirectory())Mf(Di.resolve(t,e.name),n,i,c=>{if(c)return o(c);let d=Di.resolve(t,e.name);co(d,n,i,o)});else{let c=Di.resolve(t,e.name);co(c,n,i,o)}},Mf=(t,e,n,i)=>{go.readdir(t,{withFileTypes:!0},(o,c)=>{if(o){if(o.code==="ENOENT")return i();if(o.code!=="ENOTDIR"&&o.code!=="ENOTSUP")return i(o)}if(o||!c.length)return co(t,e,n,i);let d=c.length,u=null,h=x=>{if(!u){if(x)return i(u=x);if(--d===0)return co(t,e,n,i)}};for(let x of c)D_(t,x,e,n,h)})},O_=(t,e,n,i)=>{e.isDirectory()&&Bf(Di.resolve(t,e.name),n,i),Fc(Di.resolve(t,e.name),n,i)},Bf=(t,e,n)=>{let i;try{i=go.readdirSync(t,{withFileTypes:!0})}catch(o){let c=o;if(c?.code==="ENOENT")return;if(c?.code==="ENOTDIR"||c?.code==="ENOTSUP")return Fc(t,e,n);throw c}for(let o of i)O_(t,o,e,n);return Fc(t,e,n)},Ff=class extends Error{path;code;syscall="chdir";constructor(t,e){super(`${e}: Cannot cd into '${t}'`),this.path=t,this.code=e}get name(){return"CwdError"}},mo=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,e){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=t,this.path=e}get name(){return"SymlinkError"}},N_=(t,e)=>{lt.stat(t,(n,i)=>{(n||!i.isDirectory())&&(n=new Ff(t,n?.code||"ENOTDIR")),e(n)})},M_=(t,e,n)=>{t=ee(t);let i=e.umask??18,o=e.mode|448,c=(o&i)!==0,d=e.uid,u=e.gid,h=typeof d=="number"&&typeof u=="number"&&(d!==e.processUid||u!==e.processGid),x=e.preserve,p=e.unlink,m=ee(e.cwd),v=(y,I)=>{y?n(y):I&&h?Mf(I,d,u,A=>v(A)):c?lt.chmod(t,o,n):n()};if(t===m)return N_(t,v);if(x)return L_.mkdir(t,{mode:o,recursive:!0}).then(y=>v(null,y??void 0),v);let _=ee(lo.relative(m,t)).split("/");zc(m,_,o,p,m,void 0,v)},zc=(t,e,n,i,o,c,d)=>{if(e.length===0)return d(null,c);let u=e.shift(),h=ee(lo.resolve(t+"/"+u));lt.mkdir(h,n,zf(h,e,n,i,o,c,d))},zf=(t,e,n,i,o,c,d)=>u=>{u?lt.lstat(t,(h,x)=>{if(h)h.path=h.path&&ee(h.path),d(h);else if(x.isDirectory())zc(t,e,n,i,o,c,d);else if(i)lt.unlink(t,p=>{if(p)return d(p);lt.mkdir(t,n,zf(t,e,n,i,o,c,d))});else{if(x.isSymbolicLink())return d(new mo(t,t+"/"+e.join("/")));d(u)}}):(c=c||t,zc(t,e,n,i,o,c,d))},B_=t=>{let e=!1,n;try{e=lt.statSync(t).isDirectory()}catch(i){n=i?.code}finally{if(!e)throw new Ff(t,n??"ENOTDIR")}},F_=(t,e)=>{t=ee(t);let n=e.umask??18,i=e.mode|448,o=(i&n)!==0,c=e.uid,d=e.gid,u=typeof c=="number"&&typeof d=="number"&&(c!==e.processUid||d!==e.processGid),h=e.preserve,x=e.unlink,p=ee(e.cwd),m=y=>{y&&u&&Bf(y,c,d),o&<.chmodSync(t,i)};if(t===p)return B_(p),m();if(h)return m(lt.mkdirSync(t,{mode:i,recursive:!0})??void 0);let v=ee(lo.relative(p,t)).split("/"),_;for(let y=v.shift(),I=p;y&&(I+="/"+y);y=v.shift()){I=ee(lo.resolve(I));try{lt.mkdirSync(I,i),_=_||I}catch{let A=lt.lstatSync(I);if(A.isDirectory())continue;if(x){lt.unlinkSync(I),lt.mkdirSync(I,i),_=_||I;continue}else if(A.isSymbolicLink())return new mo(I,I+"/"+v.join("/"))}}return m(_)},yc=Object.create(null),Qu=1e4,Ir=new Set,z_=t=>{Ir.has(t)?Ir.delete(t):yc[t]=t.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),Ir.add(t);let e=yc[t],n=Ir.size-Qu;if(n>Qu/10){for(let i of Ir)if(Ir.delete(i),delete yc[i],--n<=0)break}return e},U_=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,H_=U_==="win32",G_=t=>t.split("/").slice(0,-1).reduce((e,n)=>{let i=e.at(-1);return i!==void 0&&(n=Uf(i,n)),e.push(n||"/"),e},[]),j_=class{#e=new Map;#n=new Map;#r=new Set;reserve(t,e){t=H_?["win32 parallelization disabled"]:t.map(i=>Ri(Uf(z_(i))));let n=new Set(t.map(i=>G_(i)).reduce((i,o)=>i.concat(o)));this.#n.set(e,{dirs:n,paths:t});for(let i of t){let o=this.#e.get(i);o?o.push(e):this.#e.set(i,[e])}for(let i of n){let o=this.#e.get(i);if(!o)this.#e.set(i,[new Set([e])]);else{let c=o.at(-1);c instanceof Set?c.add(e):o.push(new Set([e]))}}return this.#i(e)}#s(t){let e=this.#n.get(t);if(!e)throw new Error("function does not have any path reservations");return{paths:e.paths.map(n=>this.#e.get(n)),dirs:[...e.dirs].map(n=>this.#e.get(n))}}check(t){let{paths:e,dirs:n}=this.#s(t);return e.every(i=>i&&i[0]===t)&&n.every(i=>i&&i[0]instanceof Set&&i[0].has(t))}#i(t){return this.#r.has(t)||!this.check(t)?!1:(this.#r.add(t),t(()=>this.#t(t)),!0)}#t(t){if(!this.#r.has(t))return!1;let e=this.#n.get(t);if(!e)throw new Error("invalid reservation");let{paths:n,dirs:i}=e,o=new Set;for(let c of n){let d=this.#e.get(c);if(!d||d?.[0]!==t)continue;let u=d[1];if(!u){this.#e.delete(c);continue}if(d.shift(),typeof u=="function")o.add(u);else for(let h of u)o.add(h)}for(let c of i){let d=this.#e.get(c),u=d?.[0];if(!(!d||!(u instanceof Set)))if(u.size===1&&d.length===1){this.#e.delete(c);continue}else if(u.size===1){d.shift();let h=d[0];typeof h=="function"&&o.add(h)}else u.delete(t)}return this.#r.delete(t),o.forEach(c=>this.#i(c)),!0}},q_=()=>process.umask(),ef=Symbol("onEntry"),Uc=Symbol("checkFs"),tf=Symbol("checkFs2"),Hc=Symbol("isReusable"),pt=Symbol("makeFs"),Gc=Symbol("file"),jc=Symbol("directory"),io=Symbol("link"),nf=Symbol("symlink"),rf=Symbol("hardlink"),Pi=Symbol("ensureNoSymlink"),sf=Symbol("unsupported"),of=Symbol("checkPath"),bc=Symbol("stripAbsolutePath"),Sn=Symbol("mkdir"),qe=Symbol("onError"),$s=Symbol("pending"),af=Symbol("pend"),Ar=Symbol("unpend"),Ec=Symbol("ended"),vc=Symbol("maybeClose"),qc=Symbol("skip"),Oi=Symbol("doChown"),Li=Symbol("uid"),Ni=Symbol("gid"),Mi=Symbol("checkedCwd"),W_=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Bi=W_==="win32",K_=1024,$_=(t,e)=>{if(!Bi)return se.unlink(t,e);let n=t+".DELETE."+Tf(16).toString("hex");se.rename(t,n,i=>{if(i)return e(i);se.unlink(n,e)})},V_=t=>{if(!Bi)return se.unlinkSync(t);let e=t+".DELETE."+Tf(16).toString("hex");se.renameSync(t,e),se.unlinkSync(e)},cf=(t,e,n)=>t!==void 0&&t===t>>>0?t:e!==void 0&&e===e>>>0?e:n,ed=class extends Fi{[Ec]=!1;[Mi]=!1;[$s]=0;reservations=new j_;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){if(t.ondone=()=>{this[Ec]=!0,this[vc]()},super(t),this.transform=t.transform,this.chmod=!!t.chmod,typeof t.uid=="number"||typeof t.gid=="number"){if(typeof t.uid!="number"||typeof t.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(t.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=t.uid,this.gid=t.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;this.preserveOwner=t.preserveOwner===void 0&&typeof t.uid!="number"?!!(process.getuid&&process.getuid()===0):!!t.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof t.maxDepth=="number"?t.maxDepth:K_,this.forceChown=t.forceChown===!0,this.win32=!!t.win32||Bi,this.newer=!!t.newer,this.keep=!!t.keep,this.noMtime=!!t.noMtime,this.preservePaths=!!t.preservePaths,this.unlink=!!t.unlink,this.cwd=ee(Me.resolve(t.cwd||process.cwd())),this.strip=Number(t.strip)||0,this.processUmask=this.chmod?typeof t.processUmask=="number"?t.processUmask:q_():0,this.umask=typeof t.umask=="number"?t.umask:this.processUmask,this.dmode=t.dmode||511&~this.umask,this.fmode=t.fmode||438&~this.umask,this.on("entry",e=>this[ef](e))}warn(t,e,n={}){return(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT")&&(n.recoverable=!1),super.warn(t,e,n)}[vc](){this[Ec]&&this[$s]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[bc](t,e){let n=t[e],{type:i}=t;if(!n||this.preservePaths)return!0;let[o,c]=Zc(n),d=c.replaceAll(/\\/g,"/").split("/");if(d.includes("..")||Bi&&/^[a-z]:\.\.$/i.test(d[0]??"")){if(e==="path"||i==="Link")return this.warn("TAR_ENTRY_ERROR",`${e} contains '..'`,{entry:t,[e]:n}),!1;let u=Me.posix.dirname(t.path),h=Me.posix.normalize(Me.posix.join(u,d.join("/")));if(h.startsWith("../")||h==="..")return this.warn("TAR_ENTRY_ERROR",`${e} escapes extraction directory`,{entry:t,[e]:n}),!1}return o&&(t[e]=String(c),this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute ${e}`,{entry:t,[e]:n})),!0}[of](t){let e=ee(t.path),n=e.split("/");if(this.strip){if(n.length<this.strip)return!1;if(t.type==="Link"){let i=ee(String(t.linkpath)).split("/");if(i.length>=this.strip)t.linkpath=i.slice(this.strip).join("/");else return!1}n.splice(0,this.strip),t.path=n.join("/")}if(isFinite(this.maxDepth)&&n.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:e,depth:n.length,maxDepth:this.maxDepth}),!1;if(!this[bc](t,"path")||!this[bc](t,"linkpath"))return!1;if(t.absolute=Me.isAbsolute(t.path)?ee(Me.resolve(t.path)):ee(Me.resolve(this.cwd,t.path)),!this.preservePaths&&typeof t.absolute=="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:ee(t.path),resolvedPath:t.absolute,cwd:this.cwd}),!1;if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir")return!1;if(this.win32){let{root:i}=Me.win32.parse(String(t.absolute));t.absolute=i+Hu(String(t.absolute).slice(i.length));let{root:o}=Me.win32.parse(t.path);t.path=o+Hu(t.path.slice(o.length))}return!0}[ef](t){if(!this[of](t))return t.resume();switch(k_.equal(typeof t.absolute,"string"),t.type){case"Directory":case"GNUDumpDir":t.mode&&(t.mode=t.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Uc](t);default:return this[sf](t)}}[qe](t,e){t.name==="CwdError"?this.emit("error",t):(this.warn("TAR_ENTRY_ERROR",t,{entry:e}),this[Ar](),e.resume())}[Sn](t,e,n){M_(ee(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:e},n)}[Oi](t){return this.forceChown||this.preserveOwner&&(typeof t.uid=="number"&&t.uid!==this.processUid||typeof t.gid=="number"&&t.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[Li](t){return cf(this.uid,t.uid,this.processUid)}[Ni](t){return cf(this.gid,t.gid,this.processGid)}[Gc](t,e){let n=typeof t.mode=="number"?t.mode&4095:this.fmode,i=new uo(String(t.absolute),{flags:Nf(t.size),mode:n,autoClose:!1});i.on("error",u=>{i.fd&&se.close(i.fd,()=>{}),i.write=()=>!0,this[qe](u,t),e()});let o=1,c=u=>{if(u){i.fd&&se.close(i.fd,()=>{}),this[qe](u,t),e();return}--o===0&&i.fd!==void 0&&se.close(i.fd,h=>{h?this[qe](h,t):this[Ar](),e()})};i.on("finish",()=>{let u=String(t.absolute),h=i.fd;if(typeof h=="number"&&t.mtime&&!this.noMtime){o++;let x=t.atime||new Date,p=t.mtime;se.futimes(h,x,p,m=>m?se.utimes(u,x,p,v=>c(v&&m)):c())}if(typeof h=="number"&&this[Oi](t)){o++;let x=this[Li](t),p=this[Ni](t);typeof x=="number"&&typeof p=="number"&&se.fchown(h,x,p,m=>m?se.chown(u,x,p,v=>c(v&&m)):c())}c()});let d=this.transform&&this.transform(t)||t;d!==t&&(d.on("error",u=>{this[qe](u,t),e()}),t.pipe(d)),d.pipe(i)}[jc](t,e){let n=typeof t.mode=="number"?t.mode&4095:this.dmode;this[Sn](String(t.absolute),n,i=>{if(i){this[qe](i,t),e();return}let o=1,c=()=>{--o===0&&(e(),this[Ar](),t.resume())};t.mtime&&!this.noMtime&&(o++,se.utimes(String(t.absolute),t.atime||new Date,t.mtime,c)),this[Oi](t)&&(o++,se.chown(String(t.absolute),Number(this[Li](t)),Number(this[Ni](t)),c)),c()})}[sf](t){t.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t}),t.resume()}[nf](t,e){let n=ee(Me.relative(this.cwd,Me.resolve(Me.dirname(String(t.absolute)),String(t.linkpath)))).split("/");this[Pi](t,this.cwd,n,()=>this[io](t,String(t.linkpath),"symlink",e),i=>{this[qe](i,t),e()})}[rf](t,e){let n=ee(Me.resolve(this.cwd,String(t.linkpath))),i=ee(String(t.linkpath)).split("/");this[Pi](t,this.cwd,i,()=>this[io](t,n,"link",e),o=>{this[qe](o,t),e()})}[Pi](t,e,n,i,o){let c=n.shift();if(this.preservePaths||c===void 0)return i();let d=Me.resolve(e,c);se.lstat(d,(u,h)=>{if(u)return i();if(h?.isSymbolicLink())return o(new mo(d,Me.resolve(d,n.join("/"))));this[Pi](t,d,n,i,o)})}[af](){this[$s]++}[Ar](){this[$s]--,this[vc]()}[qc](t){this[Ar](),t.resume()}[Hc](t,e){return t.type==="File"&&!this.unlink&&e.isFile()&&e.nlink<=1&&!Bi}[Uc](t){this[af]();let e=[t.path];t.linkpath&&e.push(t.linkpath),this.reservations.reserve(e,n=>this[tf](t,n))}[tf](t,e){let n=d=>{e(d)},i=()=>{this[Sn](this.cwd,this.dmode,d=>{if(d){this[qe](d,t),n();return}this[Mi]=!0,o()})},o=()=>{if(t.absolute!==this.cwd){let d=ee(Me.dirname(String(t.absolute)));if(d!==this.cwd)return this[Sn](d,this.dmode,u=>{if(u){this[qe](u,t),n();return}c()})}c()},c=()=>{se.lstat(String(t.absolute),(d,u)=>{if(u&&(this.keep||this.newer&&u.mtime>(t.mtime??u.mtime))){this[qc](t),n();return}if(d||this[Hc](t,u))return this[pt](null,t,n);if(u.isDirectory()){if(t.type==="Directory"){let h=this.chmod&&t.mode&&(u.mode&4095)!==t.mode,x=p=>this[pt](p??null,t,n);return h?se.chmod(String(t.absolute),Number(t.mode),x):x()}if(t.absolute!==this.cwd)return se.rmdir(String(t.absolute),h=>this[pt](h??null,t,n))}if(t.absolute===this.cwd)return this[pt](null,t,n);$_(String(t.absolute),h=>this[pt](h??null,t,n))})};this[Mi]?o():i()}[pt](t,e,n){if(t){this[qe](t,e),n();return}switch(e.type){case"File":case"OldFile":case"ContiguousFile":return this[Gc](e,n);case"Link":return this[rf](e,n);case"SymbolicLink":return this[nf](e,n);case"Directory":case"GNUDumpDir":return this[jc](e,n)}}[io](t,e,n,i){se[n](e,String(t.absolute),o=>{o?this[qe](o,t):(this[Ar](),t.resume()),i()})}},ki=t=>{try{return[null,t()]}catch(e){return[e,null]}},Hf=class extends ed{sync=!0;[pt](t,e){return super[pt](t,e,()=>{})}[Uc](t){if(!this[Mi]){let o=this[Sn](this.cwd,this.dmode);if(o)return this[qe](o,t);this[Mi]=!0}if(t.absolute!==this.cwd){let o=ee(Me.dirname(String(t.absolute)));if(o!==this.cwd){let c=this[Sn](o,this.dmode);if(c)return this[qe](c,t)}}let[e,n]=ki(()=>se.lstatSync(String(t.absolute)));if(n&&(this.keep||this.newer&&n.mtime>(t.mtime??n.mtime)))return this[qc](t);if(e||this[Hc](t,n))return this[pt](null,t);if(n.isDirectory()){if(t.type==="Directory"){let c=this.chmod&&t.mode&&(n.mode&4095)!==t.mode,[d]=c?ki(()=>{se.chmodSync(String(t.absolute),Number(t.mode))}):[];return this[pt](d,t)}let[o]=ki(()=>se.rmdirSync(String(t.absolute)));this[pt](o,t)}let[i]=t.absolute===this.cwd?[]:ki(()=>V_(String(t.absolute)));this[pt](i,t)}[Gc](t,e){let n=typeof t.mode=="number"?t.mode&4095:this.fmode,i=d=>{let u;try{se.closeSync(o)}catch(h){u=h}(d||u)&&this[qe](d||u,t),e()},o;try{o=se.openSync(String(t.absolute),Nf(t.size),n)}catch(d){return i(d)}let c=this.transform&&this.transform(t)||t;c!==t&&(c.on("error",d=>this[qe](d,t)),t.pipe(c)),c.on("data",d=>{try{se.writeSync(o,d,0,d.length)}catch(u){i(u)}}),c.on("end",()=>{let d=null;if(t.mtime&&!this.noMtime){let u=t.atime||new Date,h=t.mtime;try{se.futimesSync(o,u,h)}catch(x){try{se.utimesSync(String(t.absolute),u,h)}catch{d=x}}}if(this[Oi](t)){let u=this[Li](t),h=this[Ni](t);try{se.fchownSync(o,Number(u),Number(h))}catch(x){try{se.chownSync(String(t.absolute),Number(u),Number(h))}catch{d=d||x}}}i(d)})}[jc](t,e){let n=typeof t.mode=="number"?t.mode&4095:this.dmode,i=this[Sn](String(t.absolute),n);if(i){this[qe](i,t),e();return}if(t.mtime&&!this.noMtime)try{se.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch{}if(this[Oi](t))try{se.chownSync(String(t.absolute),Number(this[Li](t)),Number(this[Ni](t)))}catch{}e(),t.resume()}[Sn](t,e){try{return F_(ee(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:e})}catch(n){return n}}[Pi](t,e,n,i,o){if(this.preservePaths||n.length===0)return i();let c=e;for(let d of n){c=Me.resolve(c,d);let[u,h]=ki(()=>se.lstatSync(c));if(u)return i();if(h.isSymbolicLink())return o(new mo(c,Me.resolve(e,n.join("/"))))}i()}[io](t,e,n,i){let o=`${n}Sync`;try{se[o](e,String(t.absolute)),i(),t.resume()}catch(c){return this[qe](c,t)}}},J_=t=>{let e=new Hf(t),n=t.file,i=kf.statSync(n),o=t.maxReadSize||16*1024*1024;new xw(n,{readSize:o,size:i.size}).pipe(e)},Z_=(t,e)=>{let n=new ed(t),i=t.maxReadSize||16*1024*1024,o=t.file;return new Promise((c,d)=>{n.on("error",d),n.on("close",c),kf.stat(o,(u,h)=>{if(u)d(u);else{let x=new Kc(o,{readSize:i,size:h.size});x.on("error",d),x.pipe(n)}})})},Gf=zi(J_,Z_,t=>new Hf(t),t=>new ed(t),(t,e)=>{e?.length&&yf(t,e)}),Y_=(t,e)=>{let n=new Qc(t),i=!0,o,c;try{try{o=dt.openSync(t.file,"r+")}catch(h){if(h?.code==="ENOENT")o=dt.openSync(t.file,"w+");else throw h}let d=dt.fstatSync(o),u=Buffer.alloc(512);e:for(c=0;c<d.size;c+=512){for(let p=0,m=0;p<512;p+=m){if(m=dt.readSync(o,u,p,u.length-p,c+p),c===0&&u[0]===31&&u[1]===139)throw new Error("cannot append to compressed archives");if(!m)break e}let h=new Jn(u);if(!h.cksumValid)break;let x=512*Math.ceil((h.size||0)/512);if(c+x+512>d.size)break;c+=x,t.mtimeCache&&h.mtime&&t.mtimeCache.set(String(h.path),h.mtime)}i=!1,X_(t,n,c,o,e)}finally{if(i)try{dt.closeSync(o)}catch{}}},X_=(t,e,n,i,o)=>{let c=new uf(t.file,{fd:i,start:n});e.pipe(c),ey(e,o)},Q_=(t,e)=>{e=Array.from(e);let n=new po(t),i=(o,c,d)=>{let u=(v,_)=>{v?dt.close(o,y=>d(v)):d(null,_)},h=0;if(c===0)return u(null,0);let x=0,p=Buffer.alloc(512),m=(v,_)=>{if(v||_===void 0)return u(v);if(x+=_,x<512&&_)return dt.read(o,p,x,p.length-x,h+x,m);if(h===0&&p[0]===31&&p[1]===139)return u(new Error("cannot append to compressed archives"));if(x<512)return u(null,h);let y=new Jn(p);if(!y.cksumValid)return u(null,h);let I=512*Math.ceil((y.size??0)/512);if(h+I+512>c||(h+=I+512,h>=c))return u(null,h);t.mtimeCache&&y.mtime&&t.mtimeCache.set(String(y.path),y.mtime),x=0,dt.read(o,p,0,512,h,m)};dt.read(o,p,0,512,h,m)};return new Promise((o,c)=>{n.on("error",c);let d="r+",u=(h,x)=>{if(h&&h.code==="ENOENT"&&d==="r+")return d="w+",dt.open(t.file,d,u);if(h||!x)return c(h);dt.fstat(x,(p,m)=>{if(p)return dt.close(x,()=>c(p));i(x,m.size,(v,_)=>{if(v)return c(v);let y=new uo(t.file,{fd:x,start:_});n.pipe(y),y.on("error",c),y.on("close",o),ty(n,e)})})};dt.open(t.file,d,u)})},ey=(t,e)=>{e.forEach(n=>{n.charAt(0)==="@"?Lr({file:jf.resolve(t.cwd,n.slice(1)),sync:!0,noResume:!0,onReadEntry:i=>t.add(i)}):t.add(n)}),t.end()},ty=async(t,e)=>{for(let n of e)n.charAt(0)==="@"?await Lr({file:jf.resolve(String(t.cwd),n.slice(1)),noResume:!0,onReadEntry:i=>t.add(i)}):t.add(n);t.end()},Ti=zi(Y_,Q_,()=>{throw new TypeError("file is required")},()=>{throw new TypeError("file is required")},(t,e)=>{if(!Ew(t))throw new TypeError("file is required");if(t.gzip||t.brotli||t.zstd||t.file.endsWith(".br")||t.file.endsWith(".tbr"))throw new TypeError("cannot append to compressed archives");if(!e?.length)throw new TypeError("no paths specified to add/replace")}),bk=zi(Ti.syncFile,Ti.asyncFile,Ti.syncNoFile,Ti.asyncNoFile,(t,e=[])=>{Ti.validate?.(t,e),ny(t)}),ny=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(n,i)=>e(n,i)&&!((t.mtimeCache?.get(n)??i.mtime??0)>(i.mtime??0)):(n,i)=>!((t.mtimeCache?.get(n)??i.mtime??0)>(i.mtime??0))};Vt();var gt={PAIR:"_agent/pair",CREATE:"_agent/create",HEALTH:"_agent/health",LIST_SKILLS:"_agent/listSkills",ADD_SKILLS:"_agent/addSkills",REMOVE_SKILLS:"_agent/removeSkills",GET_FILE_TREE:"_agent/getFileTree",GET_FILE_CONTENT:"_agent/getFileContent",DETAIL:"_agent/detail",UPDATE:"_agent/update",DISCONNECT:"_agent/disconnect",SWITCH_MODEL:"_agent/switchModel",GEN_MODEL_TOKEN:"_agent/genModelToken",RESET:"_agent/reset",REPAIR:"_agent/repair",UPGRADE:"_agent/upgrade",DELETE:"_agent/delete",PUBLISH_SKILL:"_agent/publishSkill"};function wo(t){return t?.cozeDeployType==="cloud"?"cloud":"local"}function qf(t){let e=t?.cozeAccountId?.trim();if(!(!e||e==="0"))return e}function _o(t){let e=t?.cozeGroupId?.trim();if(!(!e||e==="0"))return e}function Wf(t){let e=t?.permissionMode;if(typeof e!="string")return;let n=e.trim();return n===""?void 0:n}function Kf(t){let{_meta:e,...n}=t;return{stripped:n,meta:e}}function Yn(t){if(!t?.cozeAgentId)throw new Error("missing _meta.cozeAgentId");return t.cozeAgentId}tn();Ve();ne();Pe();Ve();function Nr(t,e){if(wo(t)!=="cloud")throw new k("OPERATION_NOT_ALLOWED_FOR_LOCAL",`${e} is not allowed for local agent`)}function Ui(t){return t.startsWith("http://")||t.startsWith("https://")}function Mr(t){return t.endsWith("/")?t.slice(0,-1):t}import{readFileSync as f2}from"node:fs";import{dirname as x2,join as p2}from"node:path";import{fileURLToPath as m2}from"node:url";var Mt="0.2.4-alpha.103";import{mkdir as wy,rm as u0}from"node:fs/promises";import{join as Wi}from"node:path";$t();import{readFileSync as ly}from"node:fs";var uy=384;async function td(t,e=process.env){let n={};for(let[i,o]of Object.entries(e))typeof o=="string"&&(n[i]=o);await mr(t.agentEnvFile,n,{mode:uy})}function Hi(t){try{let e=JSON.parse(ly(t,"utf8"));return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}catch{return{}}}function Zf(t,e,n={},i=o=>o){return{...i({...t,...Hi(e)}),...n}}$t();function Gi(t){let e=[],n=Object.keys(t).sort();for(let i of n){let o=t[i];o!==void 0&&(fy(o)||e.push(`${i}=${o}`))}return e.length===0?"":`${e.join(`
|
|
92
92
|
`)}
|
|
93
|
-
`}function
|
|
94
|
-
`)||t.includes("\r")||t.includes("$")||t.includes("#"))return!0;let e=t[0];return e==="'"||e==='"'}ne();
|
|
95
|
-
`)}}function
|
|
93
|
+
`}function fy(t){if(t.includes(`
|
|
94
|
+
`)||t.includes("\r")||t.includes("$")||t.includes("#"))return!0;let e=t[0];return e==="'"||e==='"'}ne();Pe();import{homedir as py}from"node:os";import{join as gy}from"node:path";Ve();ne();var yo="1008033",Yf="1289";var Xf="pbbp2",Qf="https://www.coze.cn",e0="/api/coze_claw/resource/get_frontier_key",hy="https://www.coze.cn",xy="wss://frontier.coze.cn";function Br(t){return t??process.env.COZE_BRIDGE_HANDSHAKE_URL??hy}function t0(t){return t??process.env.COZE_BRIDGE_FRONTIER_URL??xy}function kn(t){let e={},n=t?.ttEnv??process.env.COZE_BRIDGE_TT_ENV,i=t?.usePpe??process.env.COZE_BRIDGE_USE_PPE;return n&&(e["x-tt-env"]=n),i&&(e["x-use-ppe"]=i),e}function qi(t){return t?t.startsWith("boe_")?{ttEnv:t}:{ttEnv:t,usePpe:"1"}:{}}var ji=H("handshake");async function nd(t){let e=Br(t.endpoint),n=t.timeoutMs??1e4,i=`${Mr(e)}${e0}?aid=${encodeURIComponent(yo)}`,o={Authorization:`Bearer ${t.privatecode}`,Accept:"application/json",...kn(t.ppeOverride)},c=new AbortController,d=setTimeout(()=>c.abort(),n);ji.info("frontier key handshake",{base:e});try{let u=await fetch(i,{method:"GET",headers:o,signal:c.signal}),h=u.headers.get("x-tt-logid")??"",x=u.headers.get("x-tt-trace-id")??"";if(!u.ok){let y=await u.text().catch(()=>"");throw new k("UPSTREAM_HANDSHAKE_FAILED",`handshake HTTP ${u.status} logid=${h}: ${y.slice(0,200)}`)}let p=await u.json();if(p.code!==void 0&&p.code!==0)throw new k("UPSTREAM_HANDSHAKE_FAILED",`handshake code=${p.code} msg=${p.msg??"-"} logid=${h}`);let m=p.data??{},v=typeof m.access_key=="string"&&m.access_key||typeof m.accessKey=="string"&&m.accessKey||void 0,_=typeof m.device_id=="string"&&m.device_id||typeof m.deviceId=="string"&&m.deviceId||void 0;if(!v||!_){let y=JSON.stringify(p).slice(0,500);throw new k("UPSTREAM_HANDSHAKE_FAILED",`handshake response missing access_key/device_id (also tried camelCase) logid=${h}: ${y}`)}return ji.info("handshake ok",{remoteDeviceId:_,logid:h,traceId:x}),{accessKey:v,deviceId:_}}catch(u){if(u instanceof k)throw ji.error("handshake failed (bridge error)",{base:e,message:u.message,code:u.code}),u;if(u.name==="AbortError")throw ji.warn("handshake timeout",{base:e,timeoutMs:n}),new k("UPSTREAM_HANDSHAKE_FAILED",`handshake timeout (${n}ms)`,{cause:u});let h=u.cause;throw ji.error("handshake error",{base:e,message:u instanceof Error?u.message:String(u),errno:h?.code,syscall:h?.syscall,cause:String(u).slice(0,300)}),new k("UPSTREAM_HANDSHAKE_FAILED",String(u),{cause:u})}finally{clearTimeout(d)}}var Eo=process.env.COZE_BRIDGE_LLM_GATEWAY_URL?.trim()||"https://llm-gateway.coze.cn",kt="auto",bo=19e4,n0=8192;function i0(t){return{model:rd(t.model)??kt,...t.modelToken?{modelToken:t.modelToken}:{}}}function s0(t){return!t||t===kt}var my=new Set(["auto","\u81EA\u52A8"]);function rd(t){let e=t?.trim();if(e)return my.has(e.toLowerCase())?kt:e}function o0(t){let e={};if(t.modelToken){e.ANTHROPIC_BASE_URL=Eo,e.ANTHROPIC_AUTH_TOKEN=t.modelToken;let n=t.model||kt;e.ANTHROPIC_MODEL=n,e.ANTHROPIC_SMALL_FAST_MODEL=n,e.ANTHROPIC_DEFAULT_HAIKU_MODEL=n,e.ANTHROPIC_DEFAULT_OPUS_MODEL=n,e.ANTHROPIC_DEFAULT_SONNET_MODEL=n,e.CLAUDE_CODE_SUBAGENT_MODEL=n,e.CLAUDE_CODE_ATTRIBUTION_HEADER="0",t.modelInfo?.contextWindow&&(e.CLAUDE_CODE_MAX_CONTEXT_TOKENS=String(t.modelInfo.contextWindow)),t.modelInfo?.maxOutput&&(e.CLAUDE_CODE_MAX_OUTPUT_TOKENS=String(t.modelInfo.maxOutput))}else s0(t.model)||(e.ANTHROPIC_MODEL=t.model);return e}function a0(t,e,n){let i={};if(t.modelToken?i.model=t.model||kt:s0(t.model)||(i.model=t.model),t.modelToken){let o={name:"coze",base_url:`${Eo}/v1`,env_key:"CODEX_API_KEY",wire_api:"responses",requires_openai_auth:!1,supports_websockets:!1},c=vo(e,n);Object.keys(c).length>0&&(o.http_headers=c),i.model_providers={coze:o},i.model_context_window=t.modelInfo?.contextWindow??bo}return Object.keys(i).length===0?{}:{CODEX_CONFIG:JSON.stringify(i),...t.modelToken?{MODEL_PROVIDER:"coze"}:{}}}function c0(t){return t.modelToken?{CODEX_API_KEY:t.modelToken,OPENAI_API_KEY:t.modelToken}:{}}function vo(t,e){let{ttEnv:n,usePpe:i}=qi(t),o={};return n&&(o["x-tt-env"]=n),i&&(o["x-use-ppe"]=i),e&&(o["x-mock-scenario"]=e),o}function d0(t,e,n){if(!t.modelToken)return{};let i=vo(e,n);return Object.keys(i).length===0?{}:{ANTHROPIC_CUSTOM_HEADERS:Object.entries(i).map(([c,d])=>`${c}:${d}`).join(`
|
|
95
|
+
`)}}function id(t){return`coze-session-${t.replace(/[^A-Za-z0-9_-]+/g,"-")}`}function sd(t){return t.model||kt}function r0(t,e,n,i){return{id:t,name:t,reasoning:!1,input:e,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:n,maxTokens:i,api:"openai-completions"}}function l0(t,e,n,i){if(!t.modelToken)return null;let o=sd(t),c=vo(e,n),d=["text"];t.modelInfo?.capabilities?.image===!0&&d.push("image");let u=[r0(o,d,t.modelInfo?.contextWindow??bo,t.modelInfo?.maxOutput??n0)],h=new Set([o]);for(let p of i??[])!p||h.has(p)||(h.add(p),u.push(r0(p,["text"],bo,n0)));let x={baseUrl:`${Eo}/v1`,api:"openai-completions",apiKey:t.modelToken,models:u};return Object.keys(c).length>0&&(x.headers=c),x}function od(t,e,n){let i=vo(e,n),o=t.modelInfo?.contextWindow??bo,d=["model:"," provider: custom",` default: ${t.model||kt}`,` base_url: ${Eo}/v1`,` context_length: ${o}`];if(t.modelToken&&d.push(` api_key: ${JSON.stringify(t.modelToken)}`),Object.keys(i).length>0){d.push(" default_headers:");for(let[u,h]of Object.entries(i))d.push(` ${u}: ${JSON.stringify(h)}`)}return d.push("compression:"),d.push(" threshold: 0.8"),d.push("approvals:"),d.push(` mode: ${JSON.stringify("off")}`),d.push(` cron_mode: ${JSON.stringify("approve")}`),d.push("skills:"),d.push(" external_dirs:"),d.push(` - ${gy(py(),".hermes","skills")}`),`${d.join(`
|
|
96
96
|
`)}
|
|
97
|
-
`}var
|
|
98
|
-
`).slice(1,6).join(" | ")}),await
|
|
99
|
-
`).slice(1,6).join(" | ")}),await
|
|
100
|
-
`).slice(1,6).join(" | ")});let i=await ve(n),o=e._meta?.cozeDeployType==="cloud"||e._meta?.cozeDeployType==="local"?e._meta.cozeDeployType:void 0,c=e.deployType??o??i?.deployType??"local";this.opts.disposeForDelete&&await this.opts.disposeForDelete(n,e.reason??"delete");let d=ze(n);return c==="cloud"?(re.warn("[AUDIT] ABOUT TO RM agent dir (deleteAgent cloud path)",{src:"agent-handlers.deleteAgent",agentId:n,path:d.root,deployType:c,reason:e.reason??""}),await
|
|
97
|
+
`}var Xn=H("hermes-config"),f0="dont_ask",h0="default";function Qn(t,e){return Wi(ze(t,e).root,"hermes-home")}async function _y(t){let e=Qn(t.agentId,t.paths);await wy(e,{recursive:!0,mode:448});let n=Gi({...process.env,...Hi(t.paths.agentEnvFile)});await ht(Wi(e,".env"),n,{mode:384});let i=od(t.modelConfig,t.cozeEnv,t.mockScenario);await ht(Wi(e,"config.yaml"),i,{mode:384}),Xn.info("hermes home bootstrapped",{agentId:t.agentId,home:e,envBytes:n.length,yamlBytes:i.length})}async function x0(t){let e=Qn(t.agentId,t.paths),n=Wi(e,"state.db"),i=Wi(e,"config.yaml");Xn.warn("[AUDIT] ABOUT TO RM hermes state.db (resetHermesHome)",{src:"hermes-config.resetHermesHome",agentId:t.agentId,home:e,stateDb:n,callerStack:new Error("resetHermesHome-caller").stack?.split(`
|
|
98
|
+
`).slice(1,6).join(" | ")}),await u0(n,{force:!0}).catch(c=>Xn.warn("hermes reset: rm state.db failed (ignored)",{agentId:t.agentId,err:String(c)}));let o=od({model:t.model,modelInfo:t.modelInfo},t.cozeEnv,t.mockScenario);await ht(i,o,{mode:384}).catch(c=>Xn.warn("hermes reset: write config.yaml failed (ignored)",{agentId:t.agentId,err:String(c)})),Xn.info("hermes reset complete",{agentId:t.agentId,removed:["state.db"],rewrote:["config.yaml"]})}async function cd(t,e){let n=Qn(t,e);Xn.warn("[AUDIT] ABOUT TO RM hermes-home (cleanupHermesHome)",{src:"hermes-config.cleanupHermesHome",agentId:t,home:n,callerStack:new Error("cleanupHermesHome-caller").stack?.split(`
|
|
99
|
+
`).slice(1,6).join(" | ")}),await u0(n,{recursive:!0,force:!0}).catch(i=>Xn.warn("hermes-home cleanup failed (ignored)",{agentId:t,err:String(i)}))}var ad=new Map;function p0(t){let e=ad.get(t.agentId);if(e)return e;let n=_y(t).finally(()=>ad.delete(t.agentId));return ad.set(t.agentId,n),n}var re=H("agent-handlers"),m0=5*1024*1024,Sy=1,Iy=6,Ay=new Set(["node_modules",".git",".coze","dist","build",".next"]),ky=/^(ppe|boe)_[A-Za-z0-9_-]{1,120}$/,Ty=/^[A-Za-z][A-Za-z0-9._-]{0,63}$/,Py=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z][0-9A-Za-z.-]*)?(?:\+[0-9A-Za-z][0-9A-Za-z.-]*)?$/;function Cy(t){let e=t?.trim();return e?Py.test(e)||Ty.test(e)?e:(re.warn("_agent/upgrade: invalid targetVersion, fallback to latest",{targetVersion:t}),"latest"):"latest"}function Ry(t){return new Promise((e,n)=>{let i=ot("npx",t,{detached:!0,stdio:"ignore",windowsHide:!0}),o=!1,c=d=>{o||(o=!0,d?n(d):e(i.pid??0))};i.once("spawn",()=>{i.unref(),c()}),i.once("error",d=>c(d))})}var Io=class{constructor(e){this.opts=e}opts;get paths(){return this.opts.paths??Y()}async listSkills(e){e._meta;let n=Yn(e._meta),i=await this.loadAgentCfg(n),o=i?.workspace??ze(n,this.paths).workspace,c=i?.framework??"claude-code",d=i?.skills??[],{base:u}=zr(c,n,o,this.paths),h=[],x=new Set;for(let p of d){let m=ue(u,p.relPath,"SKILL.md");await pd(m).then(_=>_.isFile()).catch(()=>!1)&&(h.push(My(p)),x.add(p.relPath))}if(e.scanLocal){let p=await T0(n,o,c,this.paths),m=await P0(n,c);for(let v of[...p,...m])x.has(v.relPath)||(x.add(v.relPath),h.push(v.skill))}return{skills:h}}async addSkills(e){e._meta;let n=Yn(e._meta),i=await this.requireAgentCfg(n),o=e.skills??[],c=[...i.skills??[]],d=new Map(c.map((h,x)=>[h.skillId,x])),u=[];for(let h of o){let x=await Ao({agentId:n,workspace:i.workspace,framework:i.framework,skill:h,paths:this.paths});ko(c,d,x),u.push(h)}return await hi(n,c),this.reloadAgentSessions(n,"skills-added"),{installedSkills:u}}async removeSkills(e){e._meta;let n=Yn(e._meta),i=await this.requireAgentCfg(n),o=new Set(e.skillIds??[]),c=i.skills??[],d=[],{base:u}=zr(i.framework,n,i.workspace,this.paths);for(let h of c){if(!o.has(h.skillId)){d.push(h);continue}let x=ue(u,h.relPath);re.warn("[AUDIT] ABOUT TO RM skill dir (removeSkills)",{src:"agent-handlers.removeSkills",agentId:n,skillId:h.skillId,relPath:h.relPath,skillBase:u,absDir:x}),await ud(x,{recursive:!0,force:!0}),re.info("skill removed",{agentId:n,skillId:h.skillId,relPath:h.relPath})}return await hi(n,d),this.reloadAgentSessions(n,"skills-removed"),{ok:!0}}async publishSkill(e){e._meta;let n=Yn(e._meta);if(!e.skillName)throw new k("IPC_BAD_REQUEST","_agent/publishSkill: missing skillName");re.info("_agent/publishSkill start",{agentId:n,skillId:e.skillId??"",skillName:e.skillName,userId:e.userId??"",accountId:e.accountId??""});let i=await this.loadAgentCfg(n),o=i?.workspace??ze(n,this.paths).workspace,c=i?.framework??"claude-code",d=e.isGlobal??!1,u=await Oy(n,o,c,e.skillName,d,this.paths);if(!u){let R=d?"global":"workspace";throw new k("SKILL_NOT_FOUND",`skill not found in ${R}: ${e.skillName}`)}let{absDir:h,relPath:x,dirName:p}=u,m=ue(h,"SKILL.md"),v=new md.default;v.addLocalFolder(h,p);let _=v.toBuffer();if(_.length>w0)throw new k("SKILL_ZIP_TOO_LARGE",`skill zip ${_.length} bytes exceeds limit ${w0}`);let y=await So(m,{encoding:"utf8"}).then(R=>A0(R).description).catch(()=>{}),I={};this.opts.publishSkillToMarketplace?I=await this.opts.publishSkillToMarketplace({zip:_,...e.skillId?{skillId:e.skillId}:{},skillName:e.skillName,...y?{description:y}:{},agentId:n,...e.userId?{userId:e.userId}:{},...e.accountId?{accountId:e.accountId}:{}}):re.warn("_agent/publishSkill: publishSkillToMarketplace not injected, skip upload",{agentId:n,skillName:e.skillName});let A=I.version??"v1.0",T=I.skillId??e.skillId??I0(n,x);if(i&&!d){let R=i.skills??[],b=R.find(C=>C.relPath===x);b?(b.version=A,b.skillId=T):R.push({skillId:T,skillName:e.skillName,relPath:x,version:A,installedAt:Date.now(),...y?{description:y}:{}}),await hi(n,R)}return re.info("skill published",{agentId:n,skillName:e.skillName,relPath:x,zipBytes:_.length,skillId:T,version:A}),{ok:!0,skillId:T,version:A}}reloadAgentSessionsPublic(e,n){this.reloadAgentSessions(e,n)}reloadAgentSessions(e,n){let i=this.opts.agents.get(e);if(i)for(let[o,c]of i.sessions){if(!c.downstream)continue;let d=c.acpSessionId;if(d&&i.activeTriggers.has(d)||this.isRuntimePendingPermission(c)){c.reloadAfterTurn=!0,re.info("downstream busy, scheduling reload after turn",{reason:n,agentId:e,framework:i.framework,cloudId:o,acpId:d});continue}let h=c.downstream;c.downstream=void 0,re.info("killing downstream for workspace reload (idle)",{reason:n,agentId:e,framework:i.framework,cloudId:o,acpId:d}),h.stop(n).catch(x=>re.warn("downstream stop failed during reload (ignored)",{reason:n,agentId:e,cloudId:o,err:String(x)}))}}isRuntimePendingPermission(e){let n=this.opts.isRuntimePendingPermission;return!n||!e.downstream?!1:n(e.downstream)}async updateAgent(e){if(!e.cozeIdentity?.trim())return re.info("_agent/update: empty cozeIdentity, noop",{agentId:e.agentId}),{ok:!0};let n=e.agentId,i=await ve(n);if(!i)throw new k("AGENT_NOT_FOUND",`agent not found: ${n}`);if(i.cozeIdentity===e.cozeIdentity)return re.info("_agent/update: cozeIdentity unchanged, noop",{agentId:n}),{ok:!0};try{await wr(i.workspace,i.framework,e.cozeIdentity)}catch(o){throw re.error("_agent/update: writeInstructionFile failed, aborting update",{agentId:n,framework:i.framework,workspace:i.workspace,err:String(o)}),new k("AGENT_PROTOCOL_ERROR",`failed to write instruction file for agent ${n}: ${String(o)}`,{cause:o})}return i.cozeIdentity=e.cozeIdentity,await Ue(i),re.info("_agent/update: cozeIdentity rewritten",{agentId:n,framework:i.framework}),this.reloadAgentSessions(n,"identity-changed"),{ok:!0}}async upgradeBridge(e){let n=e.agentId||e._meta?.cozeAgentId;if(!n)throw new k("IPC_BAD_REQUEST","_agent/upgrade: missing agentId");if(!await ve(n))throw new k("AGENT_NOT_FOUND",`agent not found: ${n}`);let o=["-y"];e.registry&&Ui(e.registry)&&o.push(`--registry=${e.registry}`);let c=Cy(e.targetVersion);o.push("--ignore-existing",`coze-bridge@${c}`,"connect");let d=e._meta?.cozeEnv;d&&ky.test(d)&&o.push("--env",d);let u=await Ry(o);return re.info("_agent/upgrade: spawned bridge upgrade process",{agentId:n,pid:u,targetVersion:c,currentVersion:e.currentVersion??"",reason:e.reason??""}),{ok:!0,accepted:!0,pid:u,message:"bridge upgrade started"}}async disconnectAgent(e){let n=e.agentId;if(!n)throw new k("IPC_BAD_REQUEST","_agent/disconnect: missing agentId");let i=await ve(n);return i?(i.disconnectedAt=Date.now(),i.disconnectReason=e.reason??"",await Ue(i),re.info("agent disconnected",{agentId:n,reason:e.reason??"",force:e.force??!1}),this.opts.disposeAndMarkDisconnected&&await this.opts.disposeAndMarkDisconnected(n,e.reason??"disconnect"),{ok:!0}):(re.warn("_agent/disconnect: agent not found, ignoring",{agentId:n}),{ok:!0})}async deleteAgent(e){let n=e.agentId;if(!n)throw new k("IPC_BAD_REQUEST",`${gt.DELETE}: missing agentId`);re.warn("[AUDIT] deleteAgent handler entry",{agentId:n,reason:e.reason??"",forceParamDeployType:e.deployType,metaDeployType:e._meta?.cozeDeployType,callerStack:new Error("deleteAgent-caller").stack?.split(`
|
|
100
|
+
`).slice(1,6).join(" | ")});let i=await ve(n),o=e._meta?.cozeDeployType==="cloud"||e._meta?.cozeDeployType==="local"?e._meta.cozeDeployType:void 0,c=e.deployType??o??i?.deployType??"local";this.opts.disposeForDelete&&await this.opts.disposeForDelete(n,e.reason??"delete");let d=ze(n);return c==="cloud"?(re.warn("[AUDIT] ABOUT TO RM agent dir (deleteAgent cloud path)",{src:"agent-handlers.deleteAgent",agentId:n,path:d.root,deployType:c,reason:e.reason??""}),await ud(d.root,{recursive:!0,force:!0})):i&&(i.deletedAt=Date.now(),i.deleteReason=e.reason??"deleted",await Ue(i)),re.info("agent deleted",{agentId:n,reason:e.reason??"",deployType:c,configFound:!!i}),{ok:!0}}async switchModel(e){if(Nr(e._meta,"_agent/switchModel"),!e.agentId)throw new k("IPC_BAD_REQUEST","_agent/switchModel: missing agentId");let n=rd(e.model)??kt,i=await ve(e.agentId);if(!i)throw new k("AGENT_NOT_FOUND",`agent not found: ${e.agentId}`);i.model=n,e.modelInfo&&(i.modelInfo=e.modelInfo),await Ue(i),re.info("_agent/switchModel: model persisted",{agentId:e.agentId,model:n,reason:e.reason??""});let o=this.opts.agents.get(e.agentId);if(!o)return re.info("_agent/switchModel: agent not running, config persisted only",{agentId:e.agentId}),{ok:!0};let c=o.model;if(o.model=n,e.modelInfo&&o.setModelInfo(e.modelInfo),this.opts.cleanupOpenclawProviders&&await this.opts.cleanupOpenclawProviders(o,c).catch(u=>re.warn("cleanupOpenclawProviders before switchModel failed (ignored)",{agentId:e.agentId,err:String(u)})),o.framework==="hermes"){let u=[];for(let[h,x]of o.allSessionQueues())u.push(x.enqueue(async()=>{let p=o.sessions.get(h);if(!(!p?.downstream||!p.acpSessionId))try{await p.downstream.setSessionModel?.({sessionId:p.acpSessionId,modelId:n})}catch(m){re.warn("_agent/switchModel: hermes session/set_model failed (ignored)",{agentId:e.agentId,cloudId:h,acpId:p.acpSessionId,err:String(m)})}}));return await Promise.all(u),re.info("_agent/switchModel: hermes sessions updated via session/set_model",{agentId:e.agentId,model:n,cloudSessions:u.length}),{ok:!0}}let d=[];for(let[u,h]of o.allSessionQueues())d.push(h.enqueue(async()=>{let x=o.sessions.get(u);x?.downstream&&(await x.downstream.stop(`switchModel: ${n}`).catch(()=>{}),x.downstream=void 0)}));return await Promise.all(d),re.info("_agent/switchModel: all session runtimes killed, next prompt will respawn",{agentId:e.agentId,model:n,cloudSessions:d.length}),{ok:!0}}async resetAgent(e){if(Nr(e._meta,gt.RESET),!e.agentId)throw new k("IPC_BAD_REQUEST",`${gt.RESET}: missing agentId`);return await this.clearSessionMappings(e.agentId,gt.RESET),this.opts.hermesReset&&await this.opts.hermesReset(e.agentId,e._meta?.cozeEnv).catch(n=>re.warn("hermes reset hook failed (ignored)",{agentId:e.agentId,err:String(n)})),await this.runDetailSync(e.agentId,gt.RESET,e.reason),{ok:!0}}async clearSessionMappings(e,n){let i=this.opts.agents.get(e);if(!i){await this.clearPersistedAcpSessionIds(e),re.info("reset: agent not in memory, cleared persisted acpSessionIds only",{agentId:e});return}await i.killAllRuntimes(n);for(let c of i.sessions.values())c.acpSessionId=void 0,c.replySeq=0,c.loadingSession=!1,c.spawnFailCount=void 0,c.spawnFailedAt=void 0;let o=new Map;for(let[c,d]of i.sessions)o.set(c,{modelToken:d.modelToken,tokenGeneratedAt:d.tokenGeneratedAt,permissionMode:d.permissionMode,cozeGroupId:d.cozeGroupId});await fi(e,o)}async clearPersistedAcpSessionIds(e){let n=await ve(e).catch(()=>null);if(!n?.sessions)return;let i=!1;for(let o of Object.values(n.sessions))o.acpSessionId&&(o.acpSessionId=void 0,i=!0);i&&await Ue(n)}async repairAgent(e){if(Nr(e._meta,gt.REPAIR),!e.agentId)throw new k("IPC_BAD_REQUEST",`${gt.REPAIR}: missing agentId`);let n=await this.loadAgentCfg(e.agentId);if(n&&n.framework!=="openclaw")throw new k("IPC_BAD_REQUEST",`${gt.REPAIR} only allowed for openclaw, got ${n.framework}`);if(n&&this.opts.openclawRepair)try{await this.opts.openclawRepair(e.agentId,n.workspace)}catch(i){re.warn("openclaw repair (delete+add) failed (ignored)",{agentId:e.agentId,reason:e.reason,err:String(i)})}return await this.runDetailSync(e.agentId,gt.REPAIR,e.reason),{ok:!0}}async runDetailSync(e,n,i){if(!this.opts.detailSyncer){re.warn("detailSyncer not wired, skipping sync",{method:n,agentId:e});return}try{await this.opts.detailSyncer(e)}catch(o){re.warn("detail sync failed (ignored)",{method:n,agentId:e,reason:i,err:String(o)})}}async getFileTree(e){Nr(e._meta,"_agent/getFileTree");let n=e._meta,i=Yn(n),o=await this.resolveWorkspace(i),c=e.filePath??"",d=this.safeJoin(o,c),u=await dd(d).catch(()=>null);if(!u)throw new k("IPC_BAD_REQUEST",`path not found: ${c}`);if(u.isSymbolicLink())throw new k("IPC_BAD_REQUEST",`symlink not allowed: ${c}`);if(!await ui(d,o))throw new k("IPC_BAD_REQUEST",`path escapes workspace: ${c}`);let h=Vy(e.depth);return u.isDirectory()?{tree:await $y(o,d,c,h)}:{tree:[{name:Jy(c),path:D0(c||"."),isDir:!1,size:u.size,modifiedAt:Math.floor(u.mtimeMs)}]}}async getFileContent(e){Nr(e._meta,"_agent/getFileContent");let n=Yn(e._meta),i=await this.resolveWorkspace(n);if(!e.filePath)throw new k("IPC_BAD_REQUEST","filePath required");let o=this.safeJoin(i,e.filePath),c=await dd(o).catch(()=>null);if(!c||!c.isFile())throw new k("IPC_BAD_REQUEST",`not a file: ${e.filePath}`);if(c.isSymbolicLink())throw new k("IPC_BAD_REQUEST",`symlink not allowed: ${e.filePath}`);if(!await ui(o,i))throw new k("IPC_BAD_REQUEST",`path escapes workspace: ${e.filePath}`);if(c.size>m0)throw new k("IPC_BAD_REQUEST",`file too large: ${c.size} bytes (max ${m0})`);let d=await So(o);return d.includes(0)?{content:d.toString("base64"),encoding:"base64",size:c.size}:{content:d.toString("utf8"),encoding:"utf-8",size:c.size}}async resolveWorkspace(e){let n=this.opts.agents.get(e);return n?n.workspace:(await ve(e).catch(()=>null))?.workspace??ze(e).workspace}safeJoin(e,n){let i=hd(e,n||"."),o=gd(e,i);if(o.startsWith("..")||o===".."||o.startsWith(`..${y0}`))throw new k("IPC_BAD_REQUEST",`path escapes workspace: ${n}`);return i}loadAgentCfg(e){return ve(e)}async requireAgentCfg(e){let n=await this.loadAgentCfg(e);if(!n)throw new k("AGENT_NOT_FOUND",`no config for agent: ${e}`);return n}};function v0(t){let e=t.trim().replace(/[\x00-\x1f<>:"|?*/\\]+/g,"-").replace(/^[\s.-]+|[\s.-]+$/g,"").slice(0,64);if(!e||e==="."||e==="..")throw new k("IPC_BAD_REQUEST",`invalid skill name: ${t}`);if(/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i.test(e))throw new k("IPC_BAD_REQUEST",`reserved windows filename: ${t}`);return e}function zr(t,e,n,i){switch(t){case"claude-code":return{base:n,subdir:ue(".claude","skills")};case"codex":case"openclaw":return{base:n,subdir:ue(".agents","skills")};case"hermes":return{base:Qn(e,i??Y()),subdir:"skills"}}}function S0(t){let e=by();if(t==="claude-code")return[ue(e,".claude","skills")];if(t==="codex")return[ue(e,".agents","skills"),ue(e,".codex","skills")];if(t==="openclaw")return[ue(e,".agents","skills"),ue(e,".openclaw","skills")];if(t==="hermes"){if(process.platform==="win32"){let n=process.env.LOCALAPPDATA||ue(e,"AppData","Local");return[ue(n,"hermes","skills"),ue(e,".hermes","skills")]}return[ue(e,".hermes","skills")]}return[]}async function Dy(t,e,n,i,o,c){let d=async u=>pd(ue(u,"SKILL.md")).then(h=>h.isFile()).catch(()=>!1);if(!o){let{base:u,subdir:h}=zr(n,t,e,c),x=ue(h,i),p=ue(u,x);return await d(p)?{absDir:p,relPath:x}:null}for(let u of S0(n)){let h=ue(u,i);if(await d(h))return{absDir:h,relPath:h}}return null}async function Oy(t,e,n,i,o,c){let d=v0(i),u=await Dy(t,e,n,d,o,c);if(u)return{...u,dirName:d};let x=(o?await P0(t,n):await T0(t,e,n,c)).filter(v=>v.skill.skillName===i);if(x.length>1)throw new k("SKILL_NOT_FOUND",`multiple skills named "${i}" in ${o?"global":"workspace"}: ${x.map(v=>g0(v.relPath)).join(", ")} \u2014 rename or remove duplicates`);let p=x[0];return p?{absDir:o?p.relPath:ue(e,p.relPath),relPath:p.relPath,dirName:g0(p.relPath)}:null}function I0(t,e){return(yy("sha256").update(`${t}\0${e}`).digest().readBigUInt64BE(0)&0x7fffffffffffffffn).toString()}function A0(t){if(!t.startsWith("---"))return{};let e=t.indexOf(`
|
|
101
101
|
---`,3);if(e<0)return{};let n=t.slice(3,e),i={};for(let o of n.split(`
|
|
102
|
-
`)){let c=/^\s*(name|description)\s*:\s*(.+?)\s*$/.exec(o);if(!c||!c[2])continue;let d=c[1],u=c[2].trim();(u.startsWith('"')&&u.endsWith('"')||u.startsWith("'")&&u.endsWith("'"))&&(u=u.slice(1,-1)),u&&(i[d]=u)}return i}async function E0(t,e,n,i){let o=await x0(e,{withFileTypes:!0}).catch(()=>null);if(!o)return[];let c=[];for(let d of o){let u=d.isDirectory();if(!u&&d.isSymbolicLink()&&(u=!!(await ld(fe(e,d.name)).catch(()=>null))?.isDirectory()),!u)continue;let f=d.name,x=fe(n,f),p=fe(e,f,"SKILL.md"),w=await wo(p,{encoding:"utf8"}).catch(()=>null);if(w===null)continue;let S=b0(w);c.push({relPath:x,skill:{skillId:y0(t,x),skillName:S.name||f,...S.description?{description:S.description}:{},...i?{isGlobal:!0}:{}}})}return c}async function Ry(t,e,n,i){let{base:o,subdir:c}=Or(n,t,e,i);return E0(t,fe(o,c),c,!1)}async function Py(t,e){let n=[],i=new Set;for(let o of _0(e)){let c=await E0(t,o,o,!0);for(let d of c)i.has(d.relPath)||(i.add(d.relPath),n.push(d))}return n}var Cy=3e4,Dy=50*1024*1024,h0=10*1024*1024,Dr=3e4;async function yo(t){let{agentId:e,workspace:n,framework:i,skill:o,paths:c}=t;if(!o.skillName)throw new T("IPC_BAD_REQUEST","skill missing skillName");let d=typeof o.content=="string"&&o.content.length>0,u=typeof o.downloadUrl=="string"&&o.downloadUrl.length>0;if(!d&&!u)throw new T("IPC_BAD_REQUEST",`skill ${o.skillId} missing both content and downloadUrl`);let f=w0(o.skillName),{base:x,subdir:p}=Or(i,e,n,c),w=fe(p,f),S=fe(x,w);if(await sd(S,{recursive:!0}),d){let b=Buffer.from(o.content,"utf8");Ui(b.length),await ad(fe(S,"SKILL.md"),b,"utf8")}else{let b=await Ny(o.downloadUrl);By(b)?await Gy(b,S):Fy(b)?await zy(b,S):await ad(fe(S,"SKILL.md"),b.toString("utf8"),"utf8")}let _={skillId:o.skillId,skillName:o.skillName,relPath:w,installedAt:Date.now(),...o.description?{description:o.description}:{},...o.icon?{icon:o.icon}:{},...o.version?{version:o.version}:{},...o.downloadUrl?{downloadUrl:o.downloadUrl}:{},...o.config?{config:o.config}:{},...o.builtin?{builtin:o.builtin}:{}};return re.info("skill installed",{agentId:e,skillId:o.skillId,skillName:o.skillName,relPath:w,source:d?"content":"downloadUrl"}),_}function bo(t,e,n){let i=e.get(n.skillId);if(i!==void 0){t[i]=n;return}e.set(n.skillId,t.length),t.push(n)}function Oy(t){return{skillId:t.skillId,skillName:t.skillName,...t.description?{description:t.description}:{},...t.icon?{icon:t.icon}:{},...t.version?{version:t.version}:{},...t.config?{config:t.config}:{},...t.builtin?{builtin:t.builtin}:{}}}function Ly(t){return{skillId:t.skillId,skillName:t.skillName,...t.downloadUrl?{downloadUrl:t.downloadUrl}:{},...t.description?{description:t.description}:{},...t.icon?{icon:t.icon}:{},...t.version?{version:t.version}:{},...t.config?{config:t.config}:{},...t.builtin?{builtin:t.builtin}:{}}}async function v0(t,e){let n=await ve(t,e);if(!n)return{status:"skipped",count:0};if(n.disconnectedAt)return{status:"skipped",count:0};let i=Lt,o=n.skillsRefreshedForVersion;if(o===i)return{status:"noop",count:0};if(!o)return n.skillsRefreshedForVersion=i,await Ue(n,e),{status:"seeded",count:0};let c=[...n.skills??[]],d=new Map(c.map((w,S)=>[w.skillId,S])),u=c.filter(w=>w.builtin===!0&&!!w.downloadUrl);if(u.length===0)return n.skillsRefreshedForVersion=i,await Ue(n,e),{status:"noop",count:0};let f=0,x=0,{base:p}=Or(n.framework,t,n.workspace,e);re.warn("[AUDIT] refreshBuiltinSkills triggered (version bump)",{src:"agent-handlers.refreshAgentBuiltinSkillsOnUpgrade",agentId:t,framework:n.framework,prev:o,current:i,skillBase:p,builtinCount:u.length,builtinRelPaths:u.map(w=>w.relPath)});for(let w of u)try{let S=fe(p,w.relPath);re.warn("[AUDIT] ABOUT TO RM builtin skill dir (refreshBuiltinSkills)",{src:"agent-handlers.refreshAgentBuiltinSkillsOnUpgrade",agentId:t,skillId:w.skillId,relPath:w.relPath,rmTarget:S}),await od(S,{recursive:!0,force:!0});let _=await yo({agentId:t,workspace:n.workspace,framework:n.framework,skill:Ly(w),...e?{paths:e}:{}});bo(c,d,_),f+=1}catch(S){x+=1,re.warn("refresh builtin skill failed (skipping)",{agentId:t,skillId:w.skillId,skillName:w.skillName,err:String(S)})}return n.skills=c,x===0&&(n.skillsRefreshedForVersion=i),await Ue(n,e),re.info("builtin skills refreshed after bridge upgrade",{agentId:t,from:o,to:i,ok:f,failed:x}),{status:"refreshed",count:f}}async function Ny(t){if(!t)throw new T("IPC_BAD_REQUEST","skill missing downloadUrl");if(t.startsWith("data:")){let e=Math.floor(t.length*3/4);Ui(e);let n=My(t);return Ui(n.length),n}if(t.startsWith("file:")){let e=new URL(t).pathname,n=await wo(e);return Ui(n.length),n}if(Li(t)){let e=new AbortController,n=setTimeout(()=>e.abort(),Cy);try{let i=await fetch(t,{signal:e.signal});if(!i.ok)throw new T("IPC_BAD_REQUEST",`fetch skill failed HTTP ${i.status} ${t}`);let o=await i.arrayBuffer();return Ui(o.byteLength),Buffer.from(o)}finally{clearTimeout(n)}}throw new T("IPC_BAD_REQUEST",`unsupported downloadUrl scheme (\u8981 https/data/file): ${t.slice(0,80)}`)}function Ui(t){if(t>Dy)throw new T("IPC_BAD_REQUEST",`skill too large: ${t} bytes`)}function My(t){let e=/^data:([^,;]*)(;base64)?,(.*)$/s.exec(t);if(!e)throw new T("IPC_BAD_REQUEST","bad data URL");let n=!!e[2],i=e[3]??"";return n?Buffer.from(i,"base64"):Buffer.from(decodeURIComponent(i),"utf8")}function By(t){return t.length>=2&&t[0]===31&&t[1]===139}function Fy(t){if(t.length<4||t[0]!==80||t[1]!==75)return!1;let e=t[2],n=t[3];return e===3&&n===4||e===5&&n===6}function dd(t){return t==="__MACOSX"||t.startsWith("__MACOSX/")}async function zy(t,e){let n,i;try{n=new fd.default(t),i=n.getEntries()}catch(d){throw new T("IPC_BAD_REQUEST",`zip parse failed: ${d.message}`,{cause:d})}for(let d of i){let u=d.entryName;if(!u||dd(u))continue;if(u.startsWith("/")||/^[A-Za-z]:[\\/]/.test(u))throw new T("IPC_BAD_REQUEST",`zip entry absolute path: ${u}`);if(u.split(/[/\\]/).some(x=>x===".."))throw new T("IPC_BAD_REQUEST",`zip entry contains '..' (traversal): ${u}`);let f=d.header.attr>>>16&61440;if(f!==0&&f!==32768&&f!==16384)throw new T("IPC_BAD_REQUEST",`zip entry kind 0x${f.toString(16)} not allowed (symlink/hardlink/special): ${u}`)}let o=Uy(i),c=cd(e);for(let d of i){if(dd(d.entryName))continue;let u=d.entryName;if(o&&u.startsWith(o)&&(u=u.slice(o.length)),!u)continue;let f=cd(e,u),x=ud(c,f);if(x.startsWith("..")||x==="..")throw new T("IPC_BAD_REQUEST",`zip entry escapes destDir: ${u}`);if(d.isDirectory){await sd(f,{recursive:!0});continue}await sd(wy(f),{recursive:!0});let p;try{p=d.getData()}catch(w){throw new T("IPC_BAD_REQUEST",`zip entry getData failed (${d.entryName}): ${w.message}`,{cause:w})}await ad(f,p)}}function Uy(t){let e;for(let n of t){let i=n.entryName;if(!i||dd(i))continue;let o=i.indexOf("/");if(o<=0)return;let c=i.slice(0,o+1);if(e===void 0)e=c;else if(e!==c)return}return e}async function Gy(t,e){await Hy(t);let n=zf({cwd:e,strip:1}),i=!1,o=setTimeout(()=>{i=!0,n.destroy(new T("IPC_BAD_REQUEST",`tar extract timeout (${Dr}ms)`))},Dr);try{await m0(g0.from(t),n)}catch(c){throw c instanceof T?c:i?new T("IPC_BAD_REQUEST",`tar extract timeout (${Dr}ms)`):new T("IPC_BAD_REQUEST",`tar extract failed: ${c.message??String(c)}`,{cause:c})}finally{clearTimeout(o)}}async function Hy(t){let e=[],n=Tr({onReadEntry:c=>{let d=c.path,u=c.type;if(u!=="File"&&u!=="Directory"){e.push(`tar entry kind '${u}' not allowed (symlink/hardlink/special): ${d.slice(0,100)}`);return}if(d.startsWith("/")||d.startsWith("\\")||/^[a-zA-Z]:[\\/]/.test(d)){e.push(`tar entry absolute path: ${d}`);return}d.split(/[/\\]/).some(x=>x==="..")&&e.push(`tar entry contains '..': ${d}`)}}),i=!1,o=setTimeout(()=>{i=!0,n.destroy(new T("IPC_BAD_REQUEST",`tar list timeout (${Dr}ms)`))},Dr);try{await m0(g0.from(t),n)}catch(c){throw i?new T("IPC_BAD_REQUEST",`tar list timeout (${Dr}ms)`):new T("IPC_BAD_REQUEST",`tar list failed: ${c.message??String(c)}`,{cause:c})}finally{clearTimeout(o)}if(e.length>0)throw new T("IPC_BAD_REQUEST",e[0]??"tar entry validation failed")}var qy=5e3;async function jy(t,e,n,i){return S0(t,e,n,i,{count:0})}async function S0(t,e,n,i,o){if(i<=0)return[];let c;try{c=await x0(e,{withFileTypes:!0})}catch{return[]}let d=[];for(let u of c){if(Ey.has(u.name)||u.isSymbolicLink())continue;if(o.count>=qy){d.push({name:"...",path:"...",isDir:!1,size:0,modifiedAt:0,hasMore:!0});break}let f=fe(e,u.name),x=_y(fe(n,u.name)),p=null;try{p=await id(f)}catch{continue}if(p.isSymbolicLink())continue;o.count++;let w={name:u.name,path:I0(ud(t,f)),isDir:p.isDirectory(),size:p.size,modifiedAt:Math.floor(p.mtimeMs)};p.isDirectory()&&i>1&&(w.children=await S0(t,f,x,i-1,o)),d.push(w)}return d.sort((u,f)=>u.isDir!==f.isDir?u.isDir?-1:1:u.name.localeCompare(f.name)),d}function Wy(t){return!t||t<=0?yy:Math.min(t,by)}function $y(t){if(!t||t==="."||t==="/")return".";let e=t.split(/[/\\]/);return e[e.length-1]||"."}function I0(t){return t.split(p0).join("/")}ne();var Sn=G("agent-health-reporter"),Ky=1e4,Vy=3,Gi=class{constructor(e){this.opts=e;this.intervalMs=e.intervalMs??Ky,this.livenessFailureThreshold=e.livenessFailureThreshold??Vy}opts;timer=null;inFlight=!1;unsubscribeRegister=null;intervalMs;livenessFailureThreshold;consecutiveFailures=0;isLivenessLost(){return this.consecutiveFailures>=this.livenessFailureThreshold}start(){this.timer||(this.timer=setInterval(()=>{this.tick()},this.intervalMs),this.timer.unref?.(),this.unsubscribeRegister=this.opts.core.onAgentRegister(()=>{this.tick()}),Sn.info("heartbeat started",{intervalMs:this.intervalMs}),this.tick())}stop(){this.timer&&(clearInterval(this.timer),this.timer=null,this.unsubscribeRegister&&(this.unsubscribeRegister(),this.unsubscribeRegister=null),Sn.info("heartbeat stopped"))}async tick(){if(this.inFlight){Sn.debug("previous tick still in-flight, skip");return}let e=this.opts.getDeviceId();if(!e){this.consecutiveFailures=0,Sn.debug("deviceId not available, skip tick (\u5C1A\u672A pair)");return}this.inFlight=!0;try{let n=[];for(let d of this.opts.core.agents.values()){let u=Jy(d);if(!u)continue;let f={agentId:d.agentId,status:u};d.patToken&&(f.patToken=d.patToken),d.accountId&&(f.accountId=d.accountId),n.push(f)}if(n.length===0){this.consecutiveFailures=0;return}let i={agents:n,bridgeVersion:Lt,_meta:{cozeDeviceId:e}},o;try{o=await this.opts.core.sendRequest("_agent/health",i,5e3),this.consecutiveFailures=0}catch(d){this.consecutiveFailures+=1,Sn.warn("heartbeat batch send failed",{count:n.length,consecutiveFailures:this.consecutiveFailures,err:String(d)})}let c=o?.authFailures;if(c&&c.length>0&&(Sn.warn("heartbeat received authFailures from cloud",{count:c.length,agentIds:c.map(d=>d.agentId)}),this.opts.onAuthFailures))try{await this.opts.onAuthFailures(c)}catch(d){Sn.warn("onAuthFailures callback failed (ignored)",{err:String(d)})}}finally{this.inFlight=!1}if(this.opts.onTickEnd)try{await this.opts.onTickEnd()}catch(n){Sn.warn("onTickEnd hook failed",{err:String(n)})}}};function Jy(t){return t.status==="error"?"error":t.activeTriggers.size>0?"busy":t.status==="ok"?"online":null}jt();import{mkdir as gd,rm as Gb,stat as Hb}from"node:fs/promises";import{homedir as qb}from"node:os";import{join as nh}from"node:path";dn();import{existsSync as ob}from"node:fs";import{release as ab}from"node:os";import{basename as cb,isAbsolute as db}from"node:path";function Hi(t,e,n){return n===void 0?{jsonrpc:"2.0",id:t,method:e}:{jsonrpc:"2.0",id:t,method:e,params:n}}function Lr(t,e){return e===void 0?{jsonrpc:"2.0",method:t}:{jsonrpc:"2.0",method:t,params:e}}function Nr(t,e){return{jsonrpc:"2.0",id:t,result:e}}function In(t,e){return{jsonrpc:"2.0",id:t,error:e}}Ke();var Eo=class extends Error{code;data;constructor(e){super(`JSON-RPC error code=${e.code} ${e.message}`),this.name="RemoteRpcError",this.code=e.code,e.data!==void 0&&(this.data=e.data)}},Z={PARSE_ERROR:-32700,INVALID_REQUEST:-32600,METHOD_NOT_FOUND:-32601,INVALID_PARAMS:-32602,INTERNAL_ERROR:-32603,AGENT_NOT_FOUND:-32001,AGENT_BUSY:-32002,AGENT_TIMEOUT:-32003,AGENT_SPAWN_FAILED:-32004,OPERATION_NOT_ALLOWED_FOR_LOCAL:-32005,AGENT_DISCONNECTED:-32006,MODEL_TOKEN_GEN_FAILED:-32009,PATH_OUTSIDE_WORKSPACE:-32010,FILE_TOO_LARGE:-32011,UNSUPPORTED_MIME:-32012,UPLOAD_FAILED:-32013,UPSTREAM_NOT_READY:-32014,AGENT_FRAME_IDLE_TIMEOUT:-32016,MODEL_MODALITY_UNSUPPORTED:-32017,AGENT_DEPENDENCY_INSTALL_FAILED:-32018,AGENT_APPROVAL_TIMEOUT:-32019,AGENT_TURN_ABORTED:-32020,AGENT_ENV_NOT_READY:-32021,SKILL_NOT_FOUND:-32022,SKILL_ZIP_TOO_LARGE:-32023,OPERATION_NOT_ALLOWED_FOR_CLOUD:-32024};function A0(t){return"method"in t&&"id"in t&&t.id!==void 0}function k0(t){return"method"in t&&!("id"in t)}function vo(t){return!("method"in t)&&"id"in t}var Yy={AGENT_NOT_FOUND:Z.AGENT_NOT_FOUND,AGENT_BUSY:Z.AGENT_BUSY,AGENT_DISCONNECTED:Z.AGENT_DISCONNECTED,AGENT_TIMEOUT:Z.AGENT_TIMEOUT,AGENT_FRAME_IDLE_TIMEOUT:Z.AGENT_FRAME_IDLE_TIMEOUT,AGENT_SPAWN_FAILED:Z.AGENT_SPAWN_FAILED,AGENT_PROTOCOL_ERROR:Z.INTERNAL_ERROR,BRIDGE_CONFIG_INVALID:Z.INTERNAL_ERROR,BRIDGE_INTERNAL:Z.INTERNAL_ERROR,IPC_AUTH_FAILED:Z.INTERNAL_ERROR,IPC_BAD_REQUEST:Z.INVALID_REQUEST,METHOD_NOT_FOUND:Z.METHOD_NOT_FOUND,MODEL_TOKEN_GEN_FAILED:Z.MODEL_TOKEN_GEN_FAILED,MODEL_MODALITY_UNSUPPORTED:Z.MODEL_MODALITY_UNSUPPORTED,OPERATION_NOT_ALLOWED_FOR_LOCAL:Z.OPERATION_NOT_ALLOWED_FOR_LOCAL,OPERATION_NOT_ALLOWED_FOR_CLOUD:Z.OPERATION_NOT_ALLOWED_FOR_CLOUD,UPSTREAM_DISCONNECTED:Z.INTERNAL_ERROR,UPSTREAM_HANDSHAKE_FAILED:Z.INTERNAL_ERROR,PATH_OUTSIDE_WORKSPACE:Z.PATH_OUTSIDE_WORKSPACE,FILE_TOO_LARGE:Z.FILE_TOO_LARGE,UNSUPPORTED_MIME:Z.UNSUPPORTED_MIME,UPLOAD_FAILED:Z.UPLOAD_FAILED,UPSTREAM_NOT_READY:Z.UPSTREAM_NOT_READY,AGENT_DEPENDENCY_INSTALL_FAILED:Z.AGENT_DEPENDENCY_INSTALL_FAILED,AGENT_APPROVAL_TIMEOUT:Z.AGENT_APPROVAL_TIMEOUT,AGENT_TURN_ABORTED:Z.AGENT_TURN_ABORTED,AGENT_ENV_NOT_READY:Z.AGENT_ENV_NOT_READY,SKILL_NOT_FOUND:Z.SKILL_NOT_FOUND,SKILL_ZIP_TOO_LARGE:Z.SKILL_ZIP_TOO_LARGE};function Zy(t){if(t!=null)return t instanceof Error?{name:t.name,message:qi(t.message)}:typeof t=="string"?qi(t):typeof t=="object"?Qy(t):t}var Xy=[[/\/Users\/[^/\s'"`)]+/g,"/Users/<redacted>"],[/\/home\/[^/\s'"`)]+/g,"/home/<redacted>"],[/[A-Za-z]:\\Users\\[^\\\s'"`)]+/g,"C:\\Users\\<redacted>"],[/(Bearer|Token|Authorization:)\s+[\w._-]+/gi,"$1 <redacted>"],[/\b(sk|pat|ak)[-_][A-Za-z0-9_-]{20,}\b/g,"<redacted-key>"]];function qi(t){let e=t;for(let[n,i]of Xy)e=e.replace(n,i);return e}function Qy(t){let e={};for(let[n,i]of Object.entries(t))typeof i=="string"?e[n]=qi(i):e[n]=i;return e}function ji(t){if(t instanceof T){let e=Zy(t.cause),n={bridgeCode:t.code,retriable:t.retriable};return e!==void 0&&(n.cause=e),e&&typeof e=="object"&&"reason"in e&&typeof e.reason=="string"&&(n.reason=e.reason),{code:Yy[t.code]??Z.INTERNAL_ERROR,message:qi(t.message),data:n}}return{code:Z.INTERNAL_ERROR,message:qi(t instanceof Error?t.message:String(t))}}function T0(t){let e=t.data,n=e?.bridgeCode??"AGENT_PROTOCOL_ERROR",i=!!e&&typeof e.message=="string"&&!!e.message,o=i?e?.message:t.message,c=t.data;if(i&&e){let{message:d,...u}=e;c=u}return new T(n,o,{retriable:e?.retriable??!1,cause:c})}function P0(t){return`${JSON.stringify(t)}
|
|
103
|
-
`}var
|
|
104
|
-
`);this.buffer=n.pop()??"";let i=[];for(let o of n){let c=o.replace(/\r$/,"").trim();if(c)try{i.push(JSON.parse(c))}catch(d){this.onError?.({line:c,error:d})}}return i}flush(){if(!this.buffer)return[];let e=this.buffer.replace(/\r$/,"").trim();if(this.buffer="",!e)return[];try{return[JSON.parse(e)]}catch(n){return this.onError?.({line:e,error:n}),[]}}};var
|
|
105
|
-
`).map(o=>Number.parseInt(o.trim(),10)).filter(o=>Number.isFinite(o)&&o>0&&o!==i)}async function B0(t,e){if(t.length===0)return;let n=e?.killFn??$i,i=e?.isAliveFn??Wi,o=e?.sleepFn??(u=>new Promise(f=>setTimeout(f,u))),c=e?.graceMs??3e3,d=e?.pollMs??100;for(let u of t)n(u,"SIGTERM");for(let u=0;u<c&&t.some(f=>i(f));u+=d)await o(Math.min(d,c-u));for(let u of t)i(u)&&n(u,"SIGKILL")}var sb=[{reason:"openclaw_scope_approval_pending",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/scope upgrade pending approval/i,message:"openclaw \u9700\u8981\u4F60\u5728\u672C\u673A\u6279\u51C6\u4E00\u6B21\u6743\u9650\u5347\u7EA7 (scope upgrade)\uFF0C\u8BF7\u5728\u672C\u673A openclaw \u5B8C\u6210\u6388\u6743\u540E\u91CD\u8BD5"},{reason:"openclaw_pairing_required",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/pairing required/i,message:"openclaw \u5C1A\u672A\u5B8C\u6210\u914D\u5BF9\uFF0C\u8BF7\u5148\u5728\u672C\u673A\u5B8C\u6210 openclaw \u914D\u5BF9\u540E\u91CD\u8BD5"},{reason:"openclaw_gateway_token_unavailable",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/gateway\.auth\.token.*(unavailable|secret reference)/i,message:"openclaw gateway token \u914D\u7F6E\u4E0D\u53EF\u7528 (\u914D\u6210\u4E86 secret \u5F15\u7528\u4F46\u5F53\u524D\u8DEF\u5F84\u53D6\u4E0D\u5230)\uFF0C\u8BF7\u68C0\u67E5\u672C\u673A openclaw \u7684 gateway.auth.token \u914D\u7F6E"},{reason:"openclaw_version_mismatch",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/protocol mismatch/i,message:"openclaw \u7248\u672C\u4E0E\u672C\u673A gateway \u4E0D\u517C\u5BB9 (protocol mismatch)\uFF0C\u8BF7\u5347\u7EA7\u672C\u673A openclaw \u5230\u6700\u65B0\u7248\u540E\u91CD\u8BD5"},{reason:"openclaw_gateway_not_ready",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/gateway closed (before ready|\(\d+\))/i,message:"openclaw gateway \u672A\u5C31\u7EEA (\u53EF\u80FD\u6B63\u5728\u542F\u52A8)\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"},{reason:"openclaw_config_invalid",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/OpenClaw config is invalid|Config invalid|Invalid config at|config was written by version/i,message:"\u4F60\u7684\u672C\u673A openclaw \u914D\u7F6E\u975E\u6CD5 (~/.openclaw/openclaw.json)\uFF0C\u8BF7\u8FD0\u884C `openclaw doctor --fix` \u6216 `openclaw config validate` \u4FEE\u590D\u540E\u91CD\u8BD5"},{reason:"openclaw_tls_self_signed",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/self-signed certificate/i,message:"openclaw \u8FDE\u63A5\u88AB\u81EA\u7B7E\u8BC1\u4E66/\u4F01\u4E1A\u4EE3\u7406\u62E6\u622A (self-signed certificate)\uFF0C\u8BF7\u68C0\u67E5\u672C\u673A\u7F51\u7EDC/\u4EE3\u7406\u6216\u8BC1\u4E66\u914D\u7F6E\u540E\u91CD\u8BD5"},{reason:"openclaw_node_binary_not_found",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/\[qclaw-cli\] Error: (Node binary not found|QCLAW_CLI_NODE_BINARY not set)/i,message:"\u672C\u673A\u627E\u4E0D\u5230 node \u4E8C\u8FDB\u5236 (qclaw \u542F\u52A8\u5931\u8D25)\uFF0C\u8BF7\u68C0\u67E5\u672C\u673A Node \u5B89\u88C5\u4E0E PATH \u540E\u91CD\u8BD5"},{reason:"openclaw_gateway_unavailable",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/ECONNREFUSED|\[object ErrorEvent\]|gateway connect failed|gateway (not connected|disconnected)/i,message:"openclaw gateway \u672A\u8FD0\u884C/\u672A\u8FDE\u63A5 (\u8FDE\u63A5\u672C\u673A gateway \u88AB\u62D2\u6216\u4F1A\u8BDD\u671F\u95F4\u65AD\u5F00)\uFF0C\u8BF7\u5728\u672C\u673A\u542F\u52A8 openclaw gateway \u540E\u91CD\u8BD5"},{reason:"openclaw_shim_bug",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["openclaw"],match:/openclaw-shim\/bin\/openclaw.*unbound variable/i,message:"openclaw \u542F\u52A8 shim \u811A\u672C\u5F02\u5E38 (unbound variable)\uFF0C\u8BF7\u53CD\u9988\u73AF\u5883\u7EF4\u62A4\u65B9\u4FEE\u590D shim"},{reason:"codex_user_config_invalid",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["codex"],match:/error loading config:.*config\.toml|model_catalog_json|wire_api/i,message:"\u4F60\u7684\u672C\u673A ~/.codex/config.toml \u914D\u7F6E\u6709\u8BEF\uFF0C\u8BF7\u6309 codex \u62A5\u9519\u63D0\u793A\u4FEE\u6B63\u540E\u91CD\u8BD5"},{reason:"codex_provider_invalid",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["codex"],match:/error loading config: Model provider .* not found/i,message:"\u4F60\u7684\u672C\u673A codex \u914D\u7F6E\u5F15\u7528\u4E86\u4E0D\u5B58\u5728\u7684 model provider\uFF0C\u8BF7\u4FEE\u6B63 ~/.codex \u914D\u7F6E\u540E\u91CD\u8BD5"},{reason:"codex_path_update_failed",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["codex"],match:/could not update PATH[\s\S]*Operation not permitted/i,message:"codex \u56E0\u672C\u673A\u6743\u9650\u9650\u5236\u65E0\u6CD5\u66F4\u65B0 PATH/\u8BFB\u53D6\u914D\u7F6E (Operation not permitted)\uFF0C\u8BF7\u68C0\u67E5 ~/.codex \u76EE\u5F55\u6743\u9650\u6216\u91CD\u65B0\u6388\u4E88\u7EC8\u7AEF\u5B8C\u5168\u78C1\u76D8\u8BBF\u95EE\u540E\u91CD\u8BD5"},{reason:"node_version_too_old",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["codex"],match:/import\.meta\.resolve is not a function|\.resolve is not a function/i,message:"\u672C\u673A Node \u7248\u672C\u8FC7\u4F4E (codex ACP \u9700\u8981 import.meta.resolve)\uFF0C\u8BF7\u5347\u7EA7 Node \u5230 \u2265 20 \u540E\u91CD\u8BD5"},{reason:"codex_acp_exec_failed",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["codex"],match:/Failed to execute[\s\S]*codex-acp|spawnSync[\s\S]*codex-acp/i,message:"codex ACP \u4E8C\u8FDB\u5236\u6267\u884C\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C pair/connect \u89E6\u53D1\u4F9D\u8D56\u5B89\u88C5"},{reason:"codex_platform_binary_missing",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["codex"],match:/Failed to locate @zed-industries\/codex-acp|optional dependency was not installed/i,message:"codex ACP \u4F9D\u8D56\u7684\u5E73\u53F0\u4E8C\u8FDB\u5236\u7F3A\u5931\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C pair/connect \u89E6\u53D1\u4F9D\u8D56\u5B89\u88C5"},{reason:"acp_module_missing",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["claude-code","codex"],match:/Cannot find (module|package)[^\n]*node_modules[\\/]@(agentclientprotocol[\\/](claude-agent-acp|codex-acp)|openai[\\/]codex|zed-industries[\\/]codex-acp)|Cannot find package ['"]@openai[\\/]codex['"][\s\S]*node_modules[\\/]@agentclientprotocol[\\/]codex-acp/i,message:"ACP \u4F9D\u8D56\u672A\u6B63\u786E\u5B89\u88C5 (wrapper \u5165\u53E3\u7F3A\u5931)\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C pair/connect \u89E6\u53D1\u4F9D\u8D56\u91CD\u88C5"},{reason:"node_version_too_old",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["claude-code","openclaw"],match:/import .* with \{ type: ["']json["'] \}|import assertion|import attribute|openclaw\.mjs[\s\S]*Unexpected token '\.'/i,message:"\u672C\u673A Node \u7248\u672C\u8FC7\u4F4E (ACP \u9700\u8981\u8F83\u65B0 Node \u624D\u652F\u6301 import attributes / \u53EF\u9009\u94FE)\uFF0C\u8BF7\u5347\u7EA7 Node \u5230 \u2265 20.10 \u540E\u91CD\u8BD5"},{reason:"acp_cmd_misexec",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["claude-code"],match:/claude-agent-acp\.cmd.*@ECHO off|\.cmd:\d+/i,message:"claude ACP wrapper \u542F\u52A8\u65B9\u5F0F\u5F02\u5E38 (Windows .cmd \u88AB\u8BEF\u5F53\u811A\u672C\u6267\u884C)\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C pair/connect"},{reason:"hermes_provider_not_configured",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["hermes"],match:/(no.*openai.*provider|OPENAI_API_KEY.*(not set|missing)|(provider|model).*(not configured|misconfigured)|hermes.*setup.*required)/i,message:"hermes provider/API key \u672A\u914D\u7F6E\u597D, \u8BF7\u68C0\u67E5 <HERMES_HOME>/config.yaml + .env \u540E\u91CD\u8BD5"},{reason:"prompt_too_long",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["claude-code"],match:/Prompt is too long|bad request: failed to read body: length limit exceeded/i,message:"\u672C\u8F6E\u8F93\u5165\u8FC7\u957F\uFF0C\u8D85\u8FC7\u6A21\u578B\u4E0A\u4E0B\u6587\u4E0A\u9650\uFF0C\u8BF7\u7CBE\u7B80\u8F93\u5165\u6216\u5F00\u542F\u65B0\u4F1A\u8BDD\u540E\u91CD\u8BD5"}];function F0(t,e){if(!e)return null;for(let n of sb)if(!(n.frameworks&&!n.frameworks.includes(t))&&n.match.test(e))return{bridgeCode:n.bridgeCode,reason:n.reason,message:n.message};return null}function z0(t,e){return F0(t,e)}function U0(t,e){return F0(t,e)}function Fr(t,e,n){return!e&&n.firstUpdateMs>0&&t<n.firstUpdateMs?Math.max(1,n.firstUpdateMs-t):t<n.phase2GateMs?Math.max(1,n.phase2GateMs-t):Math.max(1,n.livenessWindowMs)}function G0(t,e,n){let o=n-t.armedAt-t.expectedIntervalMs;if(o>e.suspendThresholdMs){let x=t.suspendedMs+o,p=n-t.startedAt-x;return{action:"suspend",suspendedDeltaMs:o,rearmMs:Fr(p,t.firstFrameSeen,e)}}let c=n-t.startedAt-t.suspendedMs,d=t.awaitingApproval?e.approvalMaxMs:e.absoluteMaxMs;return c>=d?{action:"reject-backstop",awaitingApproval:t.awaitingApproval}:t.firstFrameSeen?c<e.phase2GateMs?{action:"continue",rearmMs:Fr(c,!0,e)}:n-t.lastActivityAt<e.livenessWindowMs||t.hasActiveTool||t.awaitingApproval?{action:"continue",rearmMs:Fr(c,!0,e)}:{action:"reject-idle"}:e.firstUpdateMs>0&&c>=e.firstUpdateMs&&!t.awaitingApproval?{action:"reject-idle"}:{action:"continue",rearmMs:Fr(c,!1,e)}}var H0=Ye("COZE_BRIDGE_INITIALIZE_TIMEOUT_MS",3e4),lb=200,ub=40,fb=Ye("COZE_BRIDGE_SESSION_PROMPT_MAX_MS",3600*1e3),hb=Ye("COZE_BRIDGE_SESSION_PROMPT_IDLE_MS",600*1e3),xb=Ye("COZE_BRIDGE_SESSION_PROMPT_ABSOLUTE_MAX_MS",7200*1e3),pb=Ye("COZE_BRIDGE_SUSPEND_THRESHOLD_MS",60*1e3),gb=Ye("COZE_BRIDGE_SESSION_PROMPT_FIRST_UPDATE_MS",600*1e3),mb=Ye("COZE_BRIDGE_SESSION_PROMPT_APPROVAL_MAX_MS",1440*60*1e3),q0=500;function wb(t){try{let e=JSON.stringify(t);return e===void 0||e.length<=q0?t:`${e.slice(0,q0)}...<truncated, total ${e.length} chars>`}catch{return"<unserializable>"}}function _b(t){let e=[];typeof t.message=="string"&&e.push(t.message);let{data:n}=t;if(typeof n=="string")e.push(n);else if(n&&typeof n=="object")try{e.push(JSON.stringify(n))}catch{}return e.join(" ")}function j0(t){try{return ob(t)}catch{return}}function yb(t,e){return{platform:process.platform,osRelease:ab(),code:t.code,errno:t.errno,syscall:t.syscall,errPath:t.path,command:e.command,commandExists:db(e.command)?j0(e.command):void 0,cwd:e.cwd,cwdExists:j0(e.cwd),envKeys:e.envKeys}}function bb(t,e){return`${t.message} [diag: platform=${e.platform} os=${e.osRelease} code=${e.code} errno=${e.errno} syscall=${e.syscall} cmd=${cb(e.command)} cmdExists=${e.commandExists} cwdExists=${e.cwdExists} envKeys=${e.envKeys}]`}var pt=class{constructor(e){this.opts=e;this.log=G(`downstream.${this.constructor.name}`,this.opts.agentId),this.decoder=new So({onError:n=>this.log.warn("decode line failed",{line:n.line})})}opts;child;decoder;pending=new Map;inflightAgentRequests=new Map;idAllocator=new Mr;updateHandlers=[];agentRequestHandlers=[];exitHandlers=[];log;stopped=!1;stopReason;stderrRing=[];now=Date.now;sanitizeEnv(e){return e}async start(){if(this.child)throw new T("BRIDGE_INTERNAL","Downstream already started");let e=process.platform!=="win32",n=Kf(process.env,this.opts.agentEnvFile??Y().agentEnvFile,this.opts.env,o=>this.sanitizeEnv(o)),i=st(this.opts.command,this.opts.args,{cwd:this.opts.cwd,env:n,stdio:["pipe","pipe","pipe"],detached:e});this.child=i,O0(i.pid),i.stdout?.setEncoding("utf8"),i.stdout?.on("data",o=>{try{for(let c of this.decoder.push(o))this.dispatch(c)}catch(c){this.log.warn("stdout dispatch threw, swallowed to keep daemon alive",{err:String(c)})}}),i.stderr?.setEncoding("utf8"),i.stderr?.on("data",o=>{let c=o.trimEnd();this.stderrRing.push(c),this.stderrRing.length>lb&&this.stderrRing.shift(),this.log.debug("stderr",{text:c})}),i.stdin?.on("error",o=>{this.log.warn("child stdin error",{err:String(o)})}),i.stdout?.on("error",o=>{this.log.warn("child stdout error",{err:String(o)})}),i.stderr?.on("error",o=>{this.log.warn("child stderr error",{err:String(o)})}),i.on("exit",(o,c)=>{this.stopped=!0,L0(i.pid),(o!==0||c!==null)&&this.stderrRing.length>0&&this.log.warn("downstream exited abnormally, recent stderr",{code:o,signal:c,recentStderr:[...this.stderrRing]});try{for(let u of this.decoder.flush())this.dispatch(u)}catch(u){this.log.debug("decoder.flush on exit threw (ignored)",{err:String(u)})}this.failAllPending(this.buildExitError(o,c));for(let u of this.exitHandlers)u(o,c)}),i.on("error",o=>{let c=o,d=yb(c,{command:this.opts.command,cwd:this.opts.cwd,envKeys:Object.keys(n).length});this.log.error("child error",{err:String(o),diag:d}),this.failAllPending(new T("AGENT_SPAWN_FAILED",bb(c,d),{cause:d}))}),this.log.info("downstream started",{command:this.opts.command,pid:i.pid,cwd:this.opts.cwd})}async stop(e){if(!this.child||this.stopped)return;this.stopped=!0,this.stopReason=e??"stopped",this.log.info("downstream stopping",{reason:e});let n=this.child,i=new Promise(c=>n.once("exit",()=>c()));$i(n.pid,"SIGTERM");let o=setTimeout(()=>{n.killed||$i(n.pid,"SIGKILL")},5e3);try{await i}finally{clearTimeout(o)}}pid(){return this.child?.pid}isAlive(){return!!this.child&&!this.stopped}getStderrTail(e){return e===void 0?[...this.stderrRing]:this.stderrRing.slice(-e)}initialize(e){return this.call("initialize",e)}sessionNew(e){return this.call("session/new",{mcpServers:[],...e})}sessionLoad(e){return this.call("session/load",{mcpServers:[],...e})}sessionPrompt(e,n){let i={firstUpdateMs:gb,phase2GateMs:fb,livenessWindowMs:hb,absoluteMaxMs:xb,approvalMaxMs:mb,suspendThresholdMs:pb,...n};return this.call("session/prompt",e,H0,i)}async sessionCancel(e){!this.child||this.stopped||this.writeFrame(Lr("session/cancel",e))}setSessionMode(e){return this.call("session/set_mode",e)}setSessionModel(e){return this.call("session/set_model",e)}onUpdate(e){this.updateHandlers.push(e)}onAgentRequest(e){this.agentRequestHandlers.push(e)}respondAgentRequest(e,n){if(this.inflightAgentRequests.delete(e),!(!this.child||this.stopped))try{this.writeFrame(Nr(e,n))}catch(i){this.log.warn("respondAgentRequest write failed",{id:e,err:String(i)})}}respondAgentRequestError(e,n){if(this.inflightAgentRequests.delete(e),!(!this.child||this.stopped))try{this.writeFrame(In(e,n))}catch(i){this.log.warn("respondAgentRequestError write failed",{id:e,err:String(i)})}}onExit(e){this.exitHandlers.push(e)}call(e,n,i=H0,o){if(!this.child||this.stopped)return Promise.reject(new T("AGENT_PROTOCOL_ERROR","downstream not started"));let c=this.idAllocator.next(e),d=Hi(c,e,n),u=(()=>{if(typeof n!="object"||n===null)return;let f=n.sessionId;return typeof f=="string"?f:void 0})();return new Promise((f,x)=>{let p={resolve:f,reject:x,timer:null,method:e,promptTimeout:null};if(o){let w=this.now(),S={cfg:o,startedAt:w,lastActivityAt:w,firstFrameSeen:!1,activeToolCalls:new Set,suspendedMs:0,armedAt:w,expectedIntervalMs:Fr(0,!1,o),sessionId:u};p.promptTimeout=S;let _=()=>{let b={startedAt:S.startedAt,lastActivityAt:S.lastActivityAt,firstFrameSeen:S.firstFrameSeen,hasActiveTool:S.activeToolCalls.size>0,awaitingApproval:this.inflightAgentRequests.size>0,suspendedMs:S.suspendedMs,armedAt:S.armedAt,expectedIntervalMs:S.expectedIntervalMs},I=this.now(),A=G0(b,S.cfg,I),R=D=>{S.armedAt=I,S.expectedIntervalMs=D,p.timer=setTimeout(_,D)};if(A.action==="suspend"){S.suspendedMs+=A.suspendedDeltaMs,S.lastActivityAt=I,this.log.warn("downstream prompt timer: suspend detected",{id:c,method:e,gapMs:A.suspendedDeltaMs,suspendedMs:S.suspendedMs,...S.sessionId?{sessionId:S.sessionId}:{}}),R(A.rearmMs);return}if(A.action==="continue"){R(A.rearmMs);return}this.pending.delete(c),A.action==="reject-backstop"?(this.log.warn("downstream prompt absolute timeout",{id:c,method:e,awaitingApproval:A.awaitingApproval,...S.sessionId?{sessionId:S.sessionId}:{}}),x(A.awaitingApproval?new T("AGENT_APPROVAL_TIMEOUT",`${e} awaiting permission timed out after ${S.cfg.approvalMaxMs}ms`):new T("AGENT_TIMEOUT",`${e} timed out after ${S.cfg.absoluteMaxMs}ms`))):(this.log.warn("downstream prompt idle timeout",{id:c,method:e,...S.sessionId?{sessionId:S.sessionId}:{}}),x(new T("AGENT_FRAME_IDLE_TIMEOUT",`${e} no progress within ${S.cfg.livenessWindowMs}ms`)))};p.timer=setTimeout(_,S.expectedIntervalMs)}else i>0&&Number.isFinite(i)&&(p.timer=setTimeout(()=>{this.pending.delete(c),this.log.warn("downstream call timeout",{id:c,method:e,timeoutMs:i}),x(new T("AGENT_TIMEOUT",`${e} timed out after ${i}ms`))},i));this.pending.set(c,p);try{this.writeFrame(d)}catch(w){p.timer&&clearTimeout(p.timer),this.pending.delete(c),x(w)}})}writeFrame(e){if(!this.child?.stdin||this.child.stdin.destroyed)throw new T("AGENT_PROTOCOL_ERROR","downstream stdin not writable");this.child.stdin.write(P0(e),n=>{n&&this.log.warn("stdin write callback err",{err:String(n)})})}dispatch(e){if(vo(e)){let n=e.id!==null?this.pending.get(e.id):void 0;if(!n){this.log.warn("orphan response",{id:e.id});return}this.pending.delete(e.id),n.timer&&clearTimeout(n.timer),e.error?(this.log.warn("downstream returned error frame",{id:e.id,method:n.method,code:e.error.code,message:e.error.message,data:e.error.data}),n.reject(this.wireErrorToBridge(e.error))):e.result===void 0?(this.log.warn("downstream response missing both result and error",{id:e.id,method:n.method}),n.reject(new T("AGENT_PROTOCOL_ERROR",`${n.method} response missing both result and error`))):(this.log.info("downstream returned result",{id:e.id,method:n.method,result:wb(e.result)}),n.resolve(e.result));return}if(k0(e)){if(e.method==="session/update"){let n=e.params;for(let i of this.pending.values()){let o=i.promptTimeout;o&&(o.firstFrameSeen=!0,o.lastActivityAt=this.now(),this.trackToolCall(o,n))}for(let i of this.updateHandlers)try{Promise.resolve(i(n)).catch(o=>this.log.warn("update handler failed (async)",{err:String(o)}))}catch(o){this.log.warn("update handler threw sync, swallowed",{err:String(o)})}}else this.log.info("unknown notification (drop, not forwarded)",{method:e.method});return}if(A0(e)){let n=e;try{this.handleAgentRequest(n).catch(i=>this.log.error("agent request handler failed (async)",{method:n.method,err:String(i)}))}catch(i){this.log.warn("handleAgentRequest threw sync, swallowed",{method:n.method,err:String(i)})}}}trackToolCall(e,n){let i=n.update,o=i?.sessionUpdate;if(o!=="tool_call"&&o!=="tool_call_update")return;let c=typeof i.toolCallId=="string"?i.toolCallId:void 0;if(!c)return;let d=typeof i.status=="string"?i.status:void 0,u=d==="completed"||d==="failed"||d==="cancelled";o==="tool_call"&&!u?e.activeToolCalls.add(c):u&&e.activeToolCalls.delete(c)}async handleAgentRequest(e){if(this.agentRequestHandlers.length===0){this.writeFrame(In(e.id,{code:-32601,message:`method not handled by Bridge: ${e.method}`}));return}this.inflightAgentRequests.set(e.id,e.method);for(let n of this.agentRequestHandlers)try{await n(e)}catch(i){this.log.error("agentRequestHandler threw",{method:e.method,err:String(i)});try{this.writeFrame(In(e.id,ji(i)))}catch{}this.inflightAgentRequests.delete(e.id)}}wireErrorToBridge(e){let n=T0(e);if(n.code!=="AGENT_PROTOCOL_ERROR")return n;let i=U0(this.framework,_b(e));return i?new T(i.bridgeCode,i.message,{cause:{reason:i.reason,wireCode:e.code,wireMessage:e.message,wireData:e.data}}):n}buildExitError(e,n){if(this.stopReason!==void 0)return new T("AGENT_TURN_ABORTED",`turn aborted: ${this.stopReason}`,{cause:{reason:this.stopReason}});let i=this.getStderrTail(ub).join(`
|
|
106
|
-
`),o=z0(this.framework,i);return o?new T(o.bridgeCode,o.message,{cause:{reason:o.reason,code:e,signal:n,stderrTail:i}}):new T("AGENT_PROTOCOL_ERROR",`agent exited (${e}/${n})`,{cause:{code:e,signal:n,stderrTail:i}})}failAllPending(e){for(let n of this.pending.values())n.timer&&clearTimeout(n.timer),n.reject(e);this.pending.clear(),this.inflightAgentRequests.clear()}};function Eb(t){let e={};for(let[n,i]of Object.entries(t))i!==void 0&&(n.startsWith("CLAUDE")||n==="AI_AGENT"||n==="BAGGAGE"||(e[n]=i));return e}var Io=class extends pt{framework="claude-code";constructor(e){let{command:n,args:i}=ii("claude-code",e.command,e.args??[]),o={command:n,args:i,cwd:e.cwd,agentId:e.agentId,...e.env?{env:e.env}:{}};super(o)}sanitizeEnv(e){return Eb(e)}};dn();import{mkdtempSync as vb,rmSync as Sb}from"node:fs";import{tmpdir as Ib}from"node:os";import{join as Ab}from"node:path";var W0=["default","acceptEdits","plan","auto","bypassPermissions"],$0=["read-only","auto","full-access"];var K0=["default","accept_edits","dont_ask"];function Nt(t,e){if(typeof e!="string")return!1;switch(t){case"claude-code":return W0.includes(e);case"codex":return $0.includes(e);case"hermes":return K0.includes(e);case"openclaw":return!1}}function Ao(t){switch(t){case"read-only":return"read-only";case"auto":return"agent";case"full-access":return"agent-full-access"}}function V0(t){switch(t){case"read-only":return"read-only";case"agent":return"auto";case"agent-full-access":return"full-access";default:return}}function xd(t){switch(t){case"claude-code":return W0.join("/");case"codex":return $0.join("/");case"hermes":return K0.join("/");case"openclaw":return""}}var ko=class extends pt{framework="codex";authMethodId;codexHomeDir;constructor(e){let n=e.args??[],i=e.extraArgs?[...n,...e.extraArgs]:n,{command:o,args:c}=ii("codex",e.command,i),d=e.isolateCodexHome?vb(Ab(Ib(),"coze-bridge-codex-home-")):void 0,u=d?{...e.env??{},CODEX_HOME:d}:e.env,f={command:o,args:c,cwd:e.cwd,agentId:e.agentId,...u?{env:u}:{}};super(f),this.authMethodId=e.authMethodId,this.codexHomeDir=d}async initialize(e){let n=await super.initialize(e);return this.authMethodId&&await this.call("authenticate",{methodId:this.authMethodId}),n}setSessionMode(e){let n=Nt("codex",e.modeId)?Ao(e.modeId):e.modeId;return super.setSessionMode({...e,modeId:n})}onUpdate(e){super.onUpdate(n=>e(kb(n)))}async stop(e){if(await super.stop(e),this.codexHomeDir)try{Sb(this.codexHomeDir,{recursive:!0,force:!0})}catch{}}};function kb(t){let e=t.update;if(e.sessionUpdate!=="current_mode_update"||typeof e.currentModeId!="string")return t;let n=V0(e.currentModeId);return!n||n===e.currentModeId?t:{...t,update:{...t.update,currentModeId:n}}}ne();var Tb=G("hermes-downstream"),To=class extends pt{framework="hermes";modelId;constructor(e){let n={command:e.command,args:[],cwd:e.cwd,agentId:e.agentId,...e.env?{env:e.env}:{}};super(n),e.modelId&&(this.modelId=e.modelId)}async afterSessionEstablished(e){if(this.modelId)try{await this.setSessionModel({sessionId:e,modelId:this.modelId})}catch(n){Tb.warn("hermes session/set_model post-establish failed (ignored)",{sessionId:e,modelId:this.modelId,err:String(n)})}}};Ke();var Rb=3e4,zr=class extends pt{framework="openclaw";agentId;sessionName;slashModelOnStart;constructor(e){let n=e.sessionName??"default",i=["acp","--session",`agent:${e.agentId}:${n}`];e.gatewayToken&&i.push("--token",e.gatewayToken);let o={command:e.command,args:i,cwd:e.cwd,agentId:e.agentId,...e.env?{env:e.env}:{}};super(o),this.agentId=e.agentId,this.sessionName=n,this.slashModelOnStart=e.slashModelOnStart}async afterSessionEstablished(e){this.slashModelOnStart&&(this.log.info("switching session to per-session provider via /model",{agentId:this.agentId,sessionName:this.sessionName,slash:this.slashModelOnStart}),await this.call("session/prompt",{sessionId:e,prompt:[{type:"text",text:`/model ${this.slashModelOnStart}`}]},Rb))}get acpSessionName(){return this.sessionName}setSessionMode(e){return Promise.reject(new T("METHOD_NOT_FOUND","session/set_mode not supported on openclaw"))}};qt();Ke();ne();Re();function pd(t){return t.replace(/[^A-Za-z0-9._-]+/g,"-")}dn();var An=class{slots=[];running=!1;closed=!1;disposed=!1;enqueue(e){return this.disposed?Promise.reject(new Error("AsyncQueue disposed")):this.closed?Promise.reject(new Error("AsyncQueue closed")):new Promise((n,i)=>{this.slots.push({task:e,resolve:n,reject:i}),this.drain()})}close(){this.closed=!0}dispose(e=new Error("AsyncQueue disposed")){for(this.disposed=!0,this.closed=!0;this.slots.length>0;)this.slots.shift()?.reject(e)}get size(){return this.slots.length}get isRunning(){return this.running}get isDisposed(){return this.disposed}async drain(){if(!this.running){this.running=!0;try{for(;this.slots.length>0&&!this.disposed;){let e=this.slots.shift();if(!e)break;try{let n=await e.task();e.resolve(n)}catch(n){e.reject(n)}}}finally{this.running=!1}}}};var Ro=class{agentId;framework;workspace;deployType;accountId;patToken;modelInfo;sessions=new Map;sessionQueues=new Map;activeTriggers=new Map;activeGroupIds=new Map;status="ok";model;lastActiveAt=Date.now();constructor(e){this.agentId=e.agentId,this.framework=e.framework,this.workspace=e.workspace,this.model=e.model,this.deployType=e.deployType??"local",e.accountId&&(this.accountId=e.accountId),e.patToken&&(this.patToken=e.patToken),e.modelInfo&&(this.modelInfo=e.modelInfo)}setPatToken(e){this.patToken=e}setModelInfo(e){this.modelInfo=e}getSessionQueue(e){let n=this.sessionQueues.get(e);return(!n||n.isDisposed)&&(n=new An,this.sessionQueues.set(e,n)),n}allSessionQueues(){return this.sessionQueues.entries()}hasSessionQueue(e){let n=this.sessionQueues.get(e);return!!n&&!n.isDisposed}async dispose(e){this.status="stopped";let n=new Error(`AgentSession disposed${e?`: ${e}`:""}`);for(let i of this.sessionQueues.values())i.dispose(n);this.sessionQueues.clear(),await this.killAllRuntimes(e??"dispose")}async killAllRuntimes(e){let n=[];for(let[,i]of this.sessions)Ki(i),i.downstream&&(n.push(i.downstream.stop(e).catch(()=>{})),i.downstream=void 0);await Promise.all(n),this.activeTriggers.clear(),this.activeGroupIds.clear()}};function Ki(t){t.idleTimer&&(clearTimeout(t.idleTimer),t.idleTimer=void 0)}function Xt(t){return t.framework==="hermes"?!0:t.deployType!=="local"?!1:t.framework==="claude-code"||t.framework==="codex"}Zt();ne();import{constants as J0}from"node:fs";import{access as Pb,readFile as Cb}from"node:fs/promises";import{delimiter as Db,dirname as Ob,join as Y0}from"node:path";var et=G("framework-detector"),Z0={"claude-code":"claude",codex:"codex",openclaw:"openclaw",hermes:"hermes-acp"},Lb=[".exe",".cmd",".bat",".ps1"],Jn=class{env;constructor(e={}){this.env={pathEnv:e.pathEnv??process.env.PATH??"",platform:e.platform??process.platform,spawn:e.spawn??st,access:e.access??Pb,readFile:e.readFile??Cb}}async detect(e){let n=Z0[e],i=await this.which(n);if(!i&&e==="hermes"&&(i=await this.resolveHermesAcpViaHermesShim()),!i)return et.debug("framework binary not found",{framework:e,bin:n}),null;let o=e==="openclaw"?["--log-level","silent"]:[],[c,d]=await Promise.all([this.probeVersion(i,o),e==="openclaw"?this.probeOpenclawDefaultAgent(i):Promise.resolve(null)]),u={path:i,version:c};return d&&(u.defaultAgent=d),u}async detectAll(){let e=await Promise.all(Object.keys(Z0).map(async i=>[i,await this.detect(i)])),n={};for(let[i,o]of e)o&&(n[i]=o);return n}async which(e){let n=this.env.pathEnv.split(Db).filter(Boolean),i=this.env.platform==="win32"?["",...Lb]:[""];for(let o of n)for(let c of i){let d=Y0(o,e+c);if(await this.isExecutable(d))return d}return null}async isExecutable(e){try{let n=this.env.platform==="win32"?J0.F_OK:J0.X_OK;return await this.env.access(e,n),!0}catch{return!1}}async resolveHermesAcpViaHermesShim(){if(this.env.platform==="win32")return null;let e=await this.which("hermes");if(!e)return null;let n;try{n=await this.env.readFile(e,"utf8")}catch(d){return et.debug("hermes shim fallback: readFile failed",{hermesPath:e,err:String(d)}),null}let o=n.match(/exec\s+["']?(\/[^\s"']+\/bin\/hermes)["']?/)?.[1];if(!o)return et.debug("hermes shim fallback: no exec line matched",{hermesPath:e}),null;let c=Y0(Ob(o),"hermes-acp");return await this.isExecutable(c)?(et.info("hermes-acp resolved via hermes shim fallback",{hermesPath:e,candidate:c}),c):(et.debug("hermes shim fallback: hermes-acp not executable at inferred path",{hermesPath:e,candidate:c}),null)}async probeOpenclawDefaultAgent(e){let n=await this.runProbe(e,["--log-level","silent","agents","list","--json"]);if(!n)return et.warn("openclaw default agent probe: runProbe returned null (spawn err / timeout)",{path:e}),null;if(n.code!==0)return et.warn("openclaw default agent probe: non-zero exit",{path:e,code:n.code,stdoutHead:n.stdout.slice(0,200)}),null;let i=n.stdout.match(/\[\s*\{[\s\S]*\}\s*\]/);if(!i)return et.warn("openclaw default agent probe: regex no match (no JSON array in stdout)",{path:e,stdoutHead:n.stdout.slice(0,200)}),null;try{let o=JSON.parse(i[0]);if(!Array.isArray(o))return et.warn("openclaw default agent probe: JSON parsed but not an array",{path:e}),null;let c=o.find(d=>d?.isDefault===!0);return c?!c.id||!c.workspace?(et.warn("openclaw default agent probe: default agent missing id or workspace",{path:e,hasId:!!c.id,hasWorkspace:!!c.workspace}),null):{id:c.id,workspace:c.workspace}:(et.info("openclaw default agent probe: no agent has isDefault=true",{path:e,agentCount:o.length}),null)}catch(o){return et.warn("openclaw default agent probe: JSON.parse failed",{path:e,err:String(o),matchHead:i[0].slice(0,200)}),null}}async probeOpenclawGateway(e){let n=await this.runProbe(e,["--log-level","silent","gateway","status","--json","--require-rpc","--timeout","5000"]);if(!n)return et.warn("openclaw gateway probe: runProbe returned null (spawn err / timeout)",{path:e}),{reachable:!1};let i=n.code===0;i||et.warn("openclaw gateway probe: non-zero exit (gateway unreachable)",{path:e,code:n.code,stdoutHead:n.stdout.slice(0,200)});let o={reachable:i},c=n.stdout.match(/\{[\s\S]*\}/);if(c)try{let d=JSON.parse(c[0]);typeof d.gateway?.port=="number"&&(o.port=d.gateway.port),typeof d.service?.runtime?.status=="string"&&(o.runtime=d.service.runtime.status),!i&&typeof d.rpc?.error=="string"&&(o.detail=d.rpc.error)}catch(d){et.warn("openclaw gateway probe: JSON.parse failed (detail omitted, gate by exit code)",{path:e,err:String(d)})}return o}async probeVersion(e,n=[]){let i=await this.runProbe(e,[...n,"--version"]);return i&&(Mb(i.stdout).split(/\r?\n/)[0]??"").trim()||"unknown"}runProbe(e,n){return new Promise(i=>{let o="",c=!1,d,u=f=>{c||(c=!0,d&&clearTimeout(d),i(f))};try{let f=this.env.spawn(e,n,{stdio:["ignore","pipe","pipe"]});d=setTimeout(()=>{f.kill("SIGKILL"),u(null)},15e3),f.stdout?.on("data",x=>{o+=x.toString("utf8")}),f.on("error",()=>u(null)),f.on("close",x=>u({code:x,stdout:o}))}catch{u(null)}})}},Nb=new RegExp("\x1B\\[[0-9;]*[A-Za-z]","g");function Mb(t){return t.replace(Nb,"")}import{homedir as Bb}from"node:os";import{join as Fb}from"node:path";qt();Zt();or();Ke();ne();async function eh(){let t=Fb(Bb(),".openclaw/openclaw.json");return lr(t)}async function th(){return(await eh())?.gateway?.auth?.token??""}var X0=G("openclaw.config"),zb=[0,5e3,5e3],Ub=Ye("COZE_BRIDGE_OPENCLAW_CLI_TIMEOUT_MS",15e3),Q0="models.providers.",Po="agents.defaults.models",Co=class{command;env;retryDelaysMs;cliTimeoutMs;queue=new An;constructor(e){this.command=e.command,this.env=e.env??process.env,this.retryDelaysMs=e.retryDelaysMs??zb,this.cliTimeoutMs=e.cliTimeoutMs??Ub}async withRetry(e,n){let i;for(let o=0;o<this.retryDelaysMs.length;o++){let c=this.retryDelaysMs[o]??0;c>0&&await new Promise(d=>setTimeout(d,c));try{return await n()}catch(d){i=d,X0.warn("openclaw cli failed, will retry",{label:e,attempt:o+1,err:String(d)})}}throw new T("AGENT_SPAWN_FAILED",`openclaw cli ${e} failed after ${this.retryDelaysMs.length} attempts: ${i?.message??"unknown"}`)}runCli(e){return new Promise((n,i)=>{let o=st(this.command,e,{stdio:["ignore","ignore","pipe"],env:this.env}),c="",d=!1,u=x=>{d||(d=!0,clearTimeout(f),x())};o.stderr?.on("data",x=>{c+=x.toString("utf8")});let f=setTimeout(()=>{u(()=>{o.kill("SIGTERM"),setTimeout(()=>o.kill("SIGKILL"),250).unref(),i(new Error(`timeout after ${this.cliTimeoutMs}ms: ${e.join(" ")}`))})},this.cliTimeoutMs);f.unref(),o.on("error",x=>u(()=>i(x))),o.on("close",x=>u(()=>{x===0?n():i(new Error(`exit ${x}: ${c.trim().slice(0,500)}`))}))})}async runCliTolerant(e,n){try{await this.runCli(e)}catch(i){let o=String(i);if(n.some(c=>o.includes(c)))return;throw i}}async bestEffortUnset(e,n){try{await this.queue.enqueue(()=>this.withRetry(e,()=>this.runCli(["config","unset",n])))}catch(i){X0.warn(`${e} failed (best-effort)`,{configPath:n,err:String(i)})}}ensureProvider(e,n){return this.queue.enqueue(()=>this.withRetry(`config set models.providers.${e}`,()=>this.runCli(["config","set",`${Q0}${e}`,JSON.stringify(n),"--strict-json","--merge"])))}removeProvider(e){return this.bestEffortUnset(`config unset models.providers.${e}`,`${Q0}${e}`)}addModelToAllowlist(e,n){let i={[e]:n?{alias:n}:{}};return this.queue.enqueue(()=>this.withRetry(`config set ${Po}[${e}]`,()=>this.runCli(["config","set",Po,JSON.stringify(i),"--strict-json","--merge"])))}removeModelFromAllowlist(e){return this.bestEffortUnset(`config unset ${Po}[${e}]`,`${Po}.${e}`)}async getAllowlistModelsForProvider(e){let i=(await eh())?.agents?.defaults?.models;if(!i||typeof i!="object")return[];let o=`${e}/`,c=[];for(let d of Object.keys(i))d.startsWith(o)&&c.push(d.slice(o.length));return c}ensureAgent(e,n,i){let o=["agents","add",e,"--workspace",n,"--non-interactive"];return i&&o.push("--model",i),this.queue.enqueue(()=>this.withRetry(`agents add ${e}`,()=>this.runCliTolerant(o,["already exists","already registered"])))}restartGateway(){return this.queue.enqueue(()=>this.withRetry("gateway restart",()=>this.runCli(["gateway","restart"])))}deleteAgent(e){return this.queue.enqueue(()=>this.withRetry(`agents delete ${e}`,()=>this.runCliTolerant(["agents","delete",e,"--force"],["not found","does not exist"])))}};var ue=G("agent-manager"),wd="acceptEdits",sh="full-access",oh="read-only";function jb(t){return{INITIAL_AGENT_MODE:Ao(t)}}var Wb=(t,e,n,i,o,c,d,u,f,x)=>{switch(t){case"claude-code":{let p={...o?{...n0(o),...s0(o,d,u)}:{},...f??{},IS_SANDBOX:"1"};return new Io({cwd:n,env:p,agentId:i})}case"codex":{let p=sh;x!==void 0&&(Nt("codex",x)?p=x:ue.warn("codex spawn: invalid codexPermissionMode, falling back to full-access",{agentId:i,received:x}));let w=!!o,S={...o?{...i0(o),...r0(o,d,u)}:{},...jb(p),...w?{NO_BROWSER:"1"}:{},...f??{}};return new ko({cwd:n,agentId:i,...Object.keys(S).length>0?{env:S}:{},...w?{authMethodId:"api-key",isolateCodexHome:!0}:{}})}case"openclaw":return new zr({command:e,cwd:n,agentId:i,...c?{sessionName:pd(c)}:{}});case"hermes":return new To({command:e,cwd:n,agentId:i,...f&&Object.keys(f).length>0?{env:{...f}}:{},...o?.model?{modelId:o.model}:{}})}};function md(t){return t==="claude-code"||t==="codex"}var $b={path:"",version:"cloud-deployed"},rh="openclaw_gateway_unavailable",Kb="openclaw_default_agent_missing";function ih(t){let e=[t.port!==void 0?`port=${t.port}`:"",t.runtime?`runtime=${t.runtime}`:"",t.detail??""].filter(Boolean).join(", ");return`openclaw gateway \u672A\u8FD0\u884C/\u4E0D\u53EF\u8FBE${e?` (${e})`:""}; \u8BF7\u542F\u52A8 openclaw gateway`}var Vb={protocolVersion:1,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0}}},Jb=6e4,Do=class{paths;config;registry;factory;createTimeoutMs;openclawConfigCache;ensuredProviders=new Set;detectorFactory;openclawEnvBootstrapPromise;openclawConfigFactory;openclawConfigDir;constructor(e){this.paths=e.paths,this.config=e.config,this.registry=e.registry,this.factory=e.downstreamFactory??Wb,this.createTimeoutMs=e.createTimeoutMs??Jb,this.detectorFactory=e.detectorFactory??(()=>new Jn),this.openclawConfigFactory=e.openclawConfigFactory??(n=>new Co({command:n})),this.openclawConfigDir=e.openclawConfigDir??nh(qb(),".openclaw")}buildBinShimPathEnv(){let e=process.platform==="win32"?";":":";return{PATH:`${this.paths.binDir}${e}${process.env.PATH??""}`}}getOpenclawConfig(){if(!this.openclawConfigCache){let e=this.config.frameworksCache?.openclaw;if(!e?.path)throw new T("AGENT_SPAWN_FAILED","openclaw binary not detected on this machine");this.openclawConfigCache=this.openclawConfigFactory(e.path)}return this.openclawConfigCache}bootstrapOpenclawEnvIfNeeded(){return this.openclawEnvBootstrapPromise?this.openclawEnvBootstrapPromise:(this.openclawEnvBootstrapPromise=this.doBootstrapOpenclawEnv().catch(e=>{ue.warn("openclaw env bootstrap failed (ignored)",{err:String(e)}),this.openclawEnvBootstrapPromise=void 0}),this.openclawEnvBootstrapPromise)}async doBootstrapOpenclawEnv(){let e=this.openclawConfigDir,n=nh(e,".env");if(await Hb(n).then(c=>c.isFile()).catch(()=>!1)){ue.debug("openclaw .env exists, skip bootstrap",{envFile:n});return}let o=Mi({...process.env,...Ni(this.paths.agentEnvFile)});await ut(n,o,{mode:384}),ue.info("openclaw .env bootstrapped",{envFile:n,bytes:o.length}),await this.getOpenclawConfig().restartGateway(),ue.info("openclaw gateway restarted after env bootstrap")}async createAgent(e,n){if(!e.agentId)throw new T("IPC_BAD_REQUEST","agentId required");if(!e.framework)throw new T("IPC_BAD_REQUEST","framework required");let i=await ve(e.agentId,this.paths).catch(()=>null),o=fo(e._meta)==="cloud"||i?.deployType==="cloud";this.registry.reviveIfDisconnected?.(e.agentId);let c=this.registry.get(e.agentId);if(c){if(c.framework!==e.framework)throw new T("AGENT_BUSY",`agent ${e.agentId} exists with different framework (${c.framework})`);if(c.status==="error")ue.warn("existing agent in error state, rebuilding",{agentId:e.agentId}),await c.dispose("rebuild after error").catch(R=>ue.warn("dispose stale agent failed (ignored)",{err:String(R)})),this.registry.unregister(e.agentId);else if(o&&c.deployType!=="cloud")ue.warn("existing agent deployType drifted to local, rebuilding as cloud",{agentId:e.agentId}),await c.dispose("rebuild after deployType drift").catch(R=>ue.warn("dispose drifted agent failed (ignored)",{err:String(R)})),this.registry.unregister(e.agentId);else{if(e.patToken&&e.patToken!==c.patToken){ue.info("updating agent patToken on re-create (reconnect with new PAT)",{agentId:e.agentId}),c.setPatToken(e.patToken);let R=await ve(e.agentId,this.paths).catch(()=>null);R&&(R.patToken=e.patToken,await Ue(R,this.paths))}if(c.deployType==="cloud"&&e.modelInfo){ue.info("updating agent modelInfo on re-create",{agentId:e.agentId}),c.setModelInfo(e.modelInfo);let R=await ve(e.agentId,this.paths).catch(()=>null);R&&(R.modelInfo=e.modelInfo,await Ue(R,this.paths))}return ue.info("agent already exists, return current",{agentId:e.agentId}),{ok:!0,agentId:c.agentId,workspace:c.workspace,framework:c.framework}}}if(!o&&!this.config.frameworksCache?.[e.framework]){let D=e.framework==="hermes"?"; install with `pipx install hermes-agent` and rerun daemon to refresh frameworks_cache":"; rerun daemon to refresh frameworks_cache";throw new T("AGENT_SPAWN_FAILED",`framework ${e.framework} not detected on this machine${D}`)}let u=ze(e.agentId,this.paths),f=o?"cloud":"local",x=e.framework==="openclaw"&&f==="local",p;x&&!n?.revive&&(p=(await this.ensureOpenclawDefaultAgent()).workspace,await this.ensureOpenclawGatewayReachable());let w=p??(x?this.config.frameworksCache?.openclaw?.defaultAgent?.workspace:void 0),S=e.workspace??w??u.workspace,_=new AbortController,b=setTimeout(()=>_.abort(new T("AGENT_TIMEOUT",`_agent/create timed out after ${this.createTimeoutMs}ms`)),this.createTimeoutMs),I,A=!1;try{o&&md(e.framework)&&await dr(e.framework,_.signal);let R=()=>{if(_.signal.aborted)throw _.signal.reason instanceof Error?_.signal.reason:new T("AGENT_TIMEOUT","_agent/create aborted")};await gd(u.root,{recursive:!0}),await gd(S,{recursive:!0}),await gd(u.logs,{recursive:!0}),R(),x||await fr(S,e.framework,e.cozeIdentity),e.framework==="claude-code"&&(f==="cloud"?await Ga(S,"cloud"):await Ga(S,"local",wd)),R();let D=i,y=e0({model:e.model??D?.model}),C=Gf(e._meta)??D?.accountId,O=e.patToken??D?.patToken,B=f==="cloud"?e.modelInfo??D?.modelInfo:void 0;if(I=new Ro({agentId:e.agentId,framework:e.framework,workspace:S,model:y.model??It,deployType:f,...C?{accountId:C}:{},...O?{patToken:O}:{},...B?{modelInfo:B}:{}}),I.status="ok",D?.sessions){let K=e.framework==="hermes"||f==="local"&&(e.framework==="claude-code"||e.framework==="codex");for(let[X,oe]of Object.entries(D.sessions)){let ae={acpSessionId:oe.acpSessionId,modelToken:oe.modelToken,tokenGeneratedAt:oe.tokenGeneratedAt,lastActiveAt:Date.now(),loadingSession:!1,replySeq:0};K?oe.permissionMode===void 0?(ae.permissionMode=e.framework==="claude-code"?"bypassPermissions":e.framework==="codex"?"full-access":"default",ue.info("autoRevive: legacy session (no permissionMode) \u2192 fallback to D80/D84 default",{agentId:e.agentId,cloudId:X,framework:e.framework,fallback:ae.permissionMode})):Nt(e.framework,oe.permissionMode)?ae.permissionMode=oe.permissionMode:ue.warn("autoRevive: dropping invalid persisted permissionMode",{agentId:e.agentId,cloudId:X,framework:e.framework,value:oe.permissionMode}):oe.permissionMode!==void 0&&ue.info("autoRevive: dropping persisted permissionMode (gate disabled)",{agentId:e.agentId,cloudId:X,framework:e.framework,deployType:f}),oe.cozeGroupId&&(ae.cozeGroupId=oe.cozeGroupId),I.sessions.set(X,ae)}let ie=Object.keys(D.sessions).length;ie>0&&ue.info("restored persisted session records (no spawn)",{agentId:e.agentId,count:ie})}this.registry.register(I),A=!0;let N={agentId:e.agentId,framework:e.framework,workspace:S,cozeIdentity:e.cozeIdentity,createdAt:D?.createdAt??Date.now(),sessions:D?.sessions??{},model:y.model};f==="cloud"&&(N.deployType="cloud"),C&&(N.accountId=C),O&&(N.patToken=O),B&&(N.modelInfo=B),D?.skills&&(N.skills=D.skills),D?.agentName&&(N.agentName=D.agentName),D?.description&&(N.description=D.description),N.skillsRefreshedForVersion=D?.skillsRefreshedForVersion??Lt,e.framework==="openclaw"&&f==="cloud"&&(this.config.frameworksCache?.openclaw?.path?(await this.bootstrapOpenclawEnvIfNeeded(),await this.getOpenclawConfig().ensureAgent(e.agentId,S)):ue.warn("openclaw binary not on this machine, skip agents add (will fail at session/prompt)",{agentId:e.agentId}));let J=e.initialSkills??[];if(J.length>0){let K=[...N.skills??[]],ie=new Map(K.map((ae,P)=>[ae.skillId,P])),X=await Promise.allSettled(J.map(ae=>yo({agentId:e.agentId,workspace:S,framework:e.framework,skill:ae,paths:this.paths}))),oe=0;for(let[ae,P]of X.entries()){let z=J[ae];z&&(P.status==="fulfilled"?(bo(K,ie,P.value),oe++):ue.warn("initialSkill install failed (skipping)",{agentId:e.agentId,skillId:z.skillId,skillName:z.skillName,err:String(P.reason)}))}oe>0&&(N.skills=K,ue.info("initialSkills installed",{agentId:e.agentId,installed:oe,requested:J.length}))}return await Ue(N,this.paths),ue.info("agent created (no spawn, lazy on first prompt)",{agentId:e.agentId,framework:e.framework,deployType:f}),{ok:!0,agentId:e.agentId,workspace:S,framework:e.framework}}catch(R){throw ue.error("agent create failed, rolling back",{agentId:e.agentId,err:String(R)}),A&&I&&(await I.dispose("rollback").catch(()=>{}),this.registry.unregister(e.agentId)),ue.error("[AUDIT] ROLLBACK: about to rm dirs.root",{src:"agent-manager.createAgent.catch",agentId:e.agentId,path:u.root,revive:n?.revive===!0,framework:e.framework,errStack:R instanceof Error?R.stack:String(R)}),await Gb(u.root,{recursive:!0,force:!0}).catch(D=>ue.warn("rm agent dir failed (ignored)",{err:String(D)})),R instanceof T?R:new T("AGENT_SPAWN_FAILED",String(R),{cause:R})}finally{clearTimeout(b)}}async spawnSessionDownstream(e,n,i,o,c){let u=this.config.frameworksCache?.[e.framework];if(!u)if(e.deployType==="cloud"&&md(e.framework))u=$b;else throw e.framework==="hermes"?new T("AGENT_SPAWN_FAILED","hermes-acp not detected on this machine; install with `pipx install hermes-agent` and rerun daemon to refresh frameworks_cache"):new T("AGENT_SPAWN_FAILED",`framework ${e.framework} not detected on this machine`);md(e.framework)&&!ws(e.framework)&&(ue.info("spawn: resolving acp wrapper",{agentId:e.agentId,framework:e.framework}),await dr(e.framework));let f=e.deployType==="cloud"?{model:e.model,modelToken:n,...e.modelInfo?{modelInfo:e.modelInfo}:{}}:void 0,x;if(e.framework==="openclaw")x=await this.buildOpenclawDownstream({session:e,modelConfig:f,cloudSessionId:i,cozeEnv:o,mockScenario:c,command:u.path});else if(e.framework==="hermes"){let p={...this.buildBinShimPathEnv()};f&&(await u0({paths:this.paths,agentId:e.agentId,modelConfig:f,cozeEnv:o,mockScenario:c}),p.HERMES_HOME=Vn(e.agentId,this.paths)),x=this.factory(e.framework,u.path,e.workspace,e.agentId,f,i,o,c,p)}else{let p=e.sessions.get(i),w=Xt(e)?p?.permissionMode??sh:"full-access";x=this.factory(e.framework,u.path,e.workspace,e.agentId,f,i,o,c,this.buildBinShimPathEnv(),w)}try{return await x.start(),await x.initialize(Vb),x}catch(p){let w=x instanceof pt?x.getStderrTail():[];throw w.length>0&&ue.warn("spawnSessionDownstream failed, recent stderr (D94)",{agentId:e.agentId,framework:e.framework,method:p instanceof T?p.code:"unknown",recentStderr:w}),await x.stop("spawnSessionDownstream failed").catch(()=>{}),await this.resolveSpawnFailure(e,u.path,p)}}async resolveSpawnFailure(e,n,i){if(e.framework==="openclaw"&&e.deployType==="local"&&n)try{let o=await this.detectorFactory().probeOpenclawGateway(n);if(!o.reachable)return new T("AGENT_ENV_NOT_READY",ih(o),{cause:{reason:rh}})}catch(o){ue.warn("openclaw gateway diagnose failed (ignored, fall through to original error)",{agentId:e.agentId,err:String(o)})}return i instanceof T?i:new T("AGENT_SPAWN_FAILED",i instanceof Error?i.message:String(i),{cause:i})}async ensureOpenclawDefaultAgent(){let e=this.config.frameworksCache?.openclaw?.defaultAgent;if(e?.id&&e.workspace)return{id:e.id,workspace:e.workspace};ue.warn("openclaw default agent stale or missing, attempting lazy re-detect");let n=await this.detectorFactory().detect("openclaw");if(n?.defaultAgent?.id&&n.defaultAgent.workspace)return ue.info("openclaw lazy re-detect success",{agentId:n.defaultAgent.id,workspace:n.defaultAgent.workspace}),this.config.frameworksCache||(this.config.frameworksCache={}),this.config.frameworksCache.openclaw=n,{id:n.defaultAgent.id,workspace:n.defaultAgent.workspace};throw new T("AGENT_ENV_NOT_READY","openclaw default agent \u672A\u63A2\u6D4B\u5230; \u8BF7\u5148\u8DD1 `openclaw setup` \u6216 `openclaw agents add` \u521B\u5EFA\u9ED8\u8BA4 agent",{cause:{reason:Kb}})}async ensureOpenclawGatewayReachable(){let e=this.config.frameworksCache?.openclaw?.path;if(!e)throw new T("AGENT_SPAWN_FAILED","openclaw binary not detected on this machine");let n=await this.detectorFactory().probeOpenclawGateway(e);if(!n.reachable)throw new T("AGENT_ENV_NOT_READY",ih(n),{cause:{reason:rh}})}async buildOpenclawDownstream(e){let{session:n,modelConfig:i,cloudSessionId:o,cozeEnv:c,mockScenario:d,command:u}=e,f=pd(o);if(n.deployType==="local"){let w=await this.ensureOpenclawDefaultAgent();return new zr({command:u,cwd:w.workspace,agentId:w.id,sessionName:f})}let x=await th(),p;if(i?.modelToken){let w=Qc(o),S=ed(i),_=`${w}/${S}`;if(!this.ensuredProviders.has(_)){let b=this.getOpenclawConfig(),I=await b.getAllowlistModelsForProvider(w),A=o0(i,c,d,I);A&&(await b.ensureProvider(w,A),await b.addModelToAllowlist(_),this.ensuredProviders.add(_))}p=_}return new zr({command:u,cwd:n.workspace,agentId:n.agentId,sessionName:f,...x?{gatewayToken:x}:{},...p?{slashModelOnStart:p}:{}})}async openclawRepair(e,n){let i=this.getOpenclawConfig();await i.deleteAgent(e),await i.ensureAgent(e,n)}async cleanupOpenclawSessionProviders(e,n){if(e.framework!=="openclaw"||!this.openclawConfigCache)return;let i=this.openclawConfigCache,o=n??e.model;for(let c of e.sessions.keys()){let d=Qc(c),u=`${d}/${o}`,f=!0;try{await i.removeProvider(d)}catch(x){f=!1,ue.warn("removeProvider failed, keeping ensuredProviders entry",{providerId:d,err:String(x)})}try{await i.removeModelFromAllowlist(u)}catch(x){f=!1,ue.warn("removeModelFromAllowlist failed, keeping ensuredProviders entry",{fullModelId:u,err:String(x)})}f&&this.ensuredProviders.delete(u)}}};import{randomUUID as uh}from"node:crypto";import{promises as nE}from"node:fs";import{basename as fh}from"node:path";Ke();ne();import{promises as Yb}from"node:fs";import{basename as Zb}from"node:path";var ah=G("file-upload"),Xb="/api/coze_claw/file/agent_upload",Qb=6e4;async function ch(t,e={}){let i=`${Pr(Cr(e.handshakeBase))}${Xb}`,o=e.timeoutMs??Qb,c=await Yb.readFile(t.path),d=new FormData;d.append("agent_id",t.agentId),d.append("session_id",t.sessionId),d.append("file_name",t.name),d.append("file_content",new Blob([c],{type:t.mimeType}),t.name);let u={Authorization:`Bearer ${t.patToken}`,Accept:"application/json","x-coze-version":"3.0",...vn(e.ppeOverride),...t.accountId?{"x-coze-account":t.accountId}:{}},f=new AbortController,x=setTimeout(()=>f.abort(),o);ah.info("file upload start",{url:i,agentId:t.agentId,sessionId:t.sessionId,name:t.name,bytes:t.sizeBytes,mime:t.mimeType});try{let p=await fetch(i,{method:"POST",headers:u,body:d,signal:f.signal}),w=p.headers.get("x-tt-logid")??"";if(!p.ok){let b=await p.text().catch(()=>"");throw new T("UPLOAD_FAILED",`upload HTTP ${p.status} logid=${w}: ${b.slice(0,200)}`)}let S=await p.json();if(S.code!==void 0&&S.code!==0)throw new T("UPLOAD_FAILED",`upload code=${S.code} msg=${S.msg??"-"} logid=${w}`);let _=S.data?.file?.file_url;if(!_)throw new T("UPLOAD_FAILED",`upload response missing data.file.file_url logid=${w}: ${JSON.stringify(S).slice(0,200)}`);return ah.info("file upload ok",{uri:_,logid:w}),{uri:_}}catch(p){throw p instanceof T?p:p.name==="AbortError"?new T("UPLOAD_FAILED",`upload timeout (${o}ms) for ${Zb(t.path)}`):new T("UPLOAD_FAILED",String(p),{cause:p})}finally{clearTimeout(x)}}Ke();ne();import{extname as eE}from"node:path";var tE={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".bmp":"image/bmp",".ico":"image/x-icon",".heic":"image/heic",".heif":"image/heif",".pdf":"application/pdf",".doc":"application/msword",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xls":"application/vnd.ms-excel",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".ppt":"application/vnd.ms-powerpoint",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".txt":"text/plain",".md":"text/markdown",".markdown":"text/markdown",".json":"application/json",".yaml":"text/yaml",".yml":"text/yaml",".csv":"text/csv",".html":"text/html",".htm":"text/html",".xml":"application/xml",".log":"text/plain",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".tgz":"application/gzip",".mp3":"audio/mpeg",".wav":"audio/wav",".mp4":"video/mp4",".mov":"video/quicktime",".webm":"video/webm"};async function dh(t){let e=eE(t).toLowerCase();return tE[e]??"application/octet-stream"}Re();var Oo=G("agent-send"),lh=50*1024*1024;function hh(t,e,n){let i=t.get(e);if(!i)throw new T("AGENT_NOT_FOUND",`agent=${e}`);if(t.disconnectedAgents.has(e))throw new T("AGENT_DISCONNECTED",`agent=${e} was disconnected by cloud`);let o=i.sessions.get(n);if(!o)throw new T("AGENT_NOT_FOUND",`session=${n} not active in agent=${e}`);return{session:i,runtime:o}}async function xh(t,e,n,i,o,c){let u;for(let f=0;f<=2;f++)try{await t.core.sendAgentFileUpdate(e,n,i,o);return}catch(x){u=x,f<2&&(Oo.warn("sendAgentFileUpdate failed, retrying",{attempt:f+1,err:String(x)}),await new Promise(p=>setTimeout(p,5e3)))}throw new T("UPSTREAM_NOT_READY",`${c} after 3 attempts: ${String(u)}`,{cause:u})}async function ph(t,e){let{session:n,runtime:i}=hh(e.core,t.agentId,t.sessionId);if(!await si(t.path,n.workspace))throw new T("PATH_OUTSIDE_WORKSPACE",`path=${t.path} not under workspace=${n.workspace}`);let o=await nE.stat(t.path).catch(()=>null);if(!o||!o.isFile())throw new T("IPC_BAD_REQUEST",`path is not a regular file: ${t.path}`);if(o.size>lh)throw new T("FILE_TOO_LARGE",`${o.size} bytes > limit ${lh}`);let c=await dh(t.path);if(t.kind==="image"&&!c.startsWith("image/"))throw new T("UNSUPPORTED_MIME",`kind=image but mime=${c}`);if(!e.core.upstream.isConnected())throw new T("UPSTREAM_NOT_READY","cloud WS not connected");let d=t.name??fh(t.path),u;try{u=await ch({patToken:n.patToken??e.patToken,agentId:t.agentId,sessionId:t.sessionId,path:t.path,mimeType:c,name:d,sizeBytes:o.size,...n.accountId?{accountId:n.accountId}:{}},{handshakeBase:e.handshakeBase,ppeOverride:e.ppeOverride})}catch(x){throw Oo.warn("agent file upload failed",{agentId:t.agentId,sessionId:t.sessionId,path:t.path,sizeBytes:o.size,mime:c,code:x instanceof T?x.code:"UNKNOWN",message:x instanceof Error?x.message:String(x)}),x}let f={sessionUpdate:"agent_file",messageId:uh(),content:{type:t.kind==="image"?"image":"resource",uri:u.uri,mimeType:c,name:d,sizeBytes:o.size,...u.fileId!==void 0?{fileId:u.fileId}:{},...t.caption!==void 0?{caption:t.caption}:{}}};return await xh(e,n,i,t.sessionId,f,"agent file uploaded to cloud but sendAgentFileUpdate failed"),Oo.info("agent file sent",{agentId:t.agentId,sessionId:t.sessionId,kind:t.kind,name:d,bytes:o.size,mime:c,uri:u.uri}),{ok:!0,uri:u.uri,bytes:o.size,mimeType:c,...u.fileId!==void 0?{fileId:u.fileId}:{}}}async function gh(t,e){let{session:n,runtime:i}=hh(e.core,t.agentId,t.sessionId);if(!t.mimeType)throw new T("IPC_BAD_REQUEST","group-file requires mimeType");if(!e.core.upstream.isConnected())throw new T("UPSTREAM_NOT_READY","cloud WS not connected");let o=t.name??fh(t.path),c={sessionUpdate:"group_file",messageId:uh(),content:{uri:t.path,name:o,mimeType:t.mimeType,...t.caption!==void 0?{caption:t.caption}:{}}};return await xh(e,n,i,t.sessionId,c,"agent group file sendAgentFileUpdate failed"),Oo.info("agent group file sent",{agentId:t.agentId,sessionId:t.sessionId,uri:t.path,name:o,mime:t.mimeType}),{ok:!0,uri:t.path,bytes:0,mimeType:t.mimeType}}function mh(t,e){let n=t.split(".").map(Number),i=e.split(".").map(Number),o=Math.max(n.length,i.length);for(let c=0;c<o;c++){let d=n[c]??0,u=i[c]??0;if(d<u)return!0;if(d>u)return!1}return!1}Zt();ne();dn();var Mt=G("coze-cli-installer"),wh="@coze/cli@latest",rE="coze",_h="0.1.8",iE=5e3,sE=5e3,oE=9e4,yh=1e4,Vi=null,Lo=!1;async function yd(t,e={}){if(Lo)return;if(Vi)return Vi;let n=e.exec??$f;return Vi=(async()=>{try{let i=await aE(rE,n),o=!1;if(i){let d=await cE(n);if(d===void 0)Mt.warn("coze-cli found but version unparseable, fall through to full install",{path:i});else if(mh(d,_h))Mt.info("coze-cli version too old, upgrade-only (preserve user config + auth)",{path:i,version:d,min:_h}),o=!0;else{Mt.info("coze-cli already on PATH with sufficient version, skip",{path:i,version:d}),Lo=!0;return}}let c=o?"upgrade-only":"full";Mt.info("coze-cli install start",{package:wh,mode:c});try{await n("npm",["i","-g","--prefer-online",wh],{timeout:oE,maxBuffer:10*1024*1024}),Mt.info("coze-cli install ok")}catch(d){Mt.warn("coze-cli install failed (skip subsequent steps)",{err:String(d)});return}if(o){Lo=!0;return}if(t.env)try{await n("coze",["config","set","xTTEnv",t.env],{timeout:yh}),Mt.info("coze config set xTTEnv ok",{env:t.env})}catch(d){Mt.warn("coze config set failed (continue to auth login)",{err:String(d)})}try{await n("coze",["auth","login","--token",t.patToken],{timeout:yh}),Mt.info("coze auth login ok")}catch(d){Mt.warn("coze auth login failed",{err:String(d)});return}Lo=!0}finally{Vi=null}})(),Vi}async function aE(t,e){let n=process.platform==="win32"?"where":"which";try{let{stdout:i}=await e(n,[t],{timeout:iE});return za(i)}catch{return}}async function cE(t){try{let{stdout:e,stderr:n}=await t("coze",["--version"],{timeout:sE});return(e||n).match(/(\d+\.\d+\.\d+)/)?.[1]}catch{return}}jt();qt();Re();var dE=10*6e4;function bh(t){let e=t?.sessionIdleTimeoutMs;return typeof e!="number"||!Number.isFinite(e)||e<=0?dE:e}function No(t){return lr(t??Y().configFile)}function Ji(t,e){return ur(e??Y().configFile,t)}import{randomBytes as RE}from"node:crypto";or();Ke();ne();import{createReadStream as lE}from"node:fs";import{mkdir as uE,readFile as fE,realpath as hE,stat as xE,writeFile as pE}from"node:fs/promises";import{basename as gE,dirname as bd,isAbsolute as mE,join as wE,relative as _E,resolve as Eh,sep as yE}from"node:path";import{createInterface as bE}from"node:readline";var Sh=G("fs-rpc"),Yi=Ye("COZE_BRIDGE_FS_RPC_MAX_BYTES",20*1024*1024);async function Ih(t,e){let n=Buffer.byteLength(t.content,"utf8");if(n>Yi)throw new T("IPC_BAD_REQUEST",`fs/write_text_file content too large: ${n} bytes > limit ${Yi} bytes`);let i=await kh(t.path,e);return await uE(bd(i),{recursive:!0}),await pE(i,t.content,"utf8"),Sh.info("fs/write_text_file ok",{path:i,size:t.content.length}),null}async function Ah(t,e){let n=await kh(t.path,e),i=await xE(n),o=typeof t.line=="number"||typeof t.limit=="number";if(i.size>Yi&&!o)throw new T("IPC_BAD_REQUEST",`fs/read_text_file too large without line/limit slicing: ${i.size} bytes > ${Yi} bytes`);let c;if(o&&i.size>Yi)c=await EE(n,t.line??1,t.limit);else{let d=await fE(n,"utf8");if(o){let u=d.split(`
|
|
107
|
-
`),
|
|
108
|
-
`)}else c=d}return
|
|
109
|
-
`)}async function kh(t,e){if(typeof t!="string"||t.length===0)throw new T("IPC_BAD_REQUEST","path must be a non-empty string");let[n,i]=await Promise.all([vh(Eh(e)),vh(Eh(t))]),o=_E(n,i);if(vE(o,yE,mE(o)))throw new T("IPC_BAD_REQUEST",`path escapes workspace: ${t}`);return i}function vE(t,e,n){return t===""?!1:n?!0:t===".."||t.startsWith(`..${e}`)}async function vh(t){let e=[],n=t;for(;n!==bd(n);)try{let i=await hE(n);return e.length?wE(i,...e.reverse()):i}catch{e.push(gE(n)),n=bd(n)}return t}ne();var Th=G("prompt-multimodal"),Rh=10*1024*1024,SE=15e3,IE=6;async function Ph(t){let e=new Array(t.length),n=0;async function i(){for(;n<t.length;){let c=n++,d=t[c];d!==void 0&&(e[c]=await AE(d))}}let o=Array.from({length:Math.min(IE,t.length)},()=>i());return await Promise.all(o),e}function Ch(t){return t.some(e=>e.type==="image")}async function AE(t){if(t.type!=="image")return t;let e=t;if(e.data||!e.uri||!Li(e.uri))return t;try{let{buf:n,contentType:i}=await TE(e.uri),o=e.mimeType||kE(i)||"application/octet-stream";return Th.info("image uri fetched and inlined",{uri:e.uri,bytes:n.length,mimeType:o}),{type:"image",data:n.toString("base64"),mimeType:o}}catch(n){return Th.warn("image fetch failed, degrading to text block",{uri:e.uri,err:String(n)}),{type:"text",text:`[image load failed: ${e.uri}]`}}}function kE(t){if(!t)return;let e=t.indexOf(";");return(e===-1?t:t.slice(0,e)).trim()||void 0}async function TE(t){let e=new AbortController,n=setTimeout(()=>e.abort(),SE);try{let i=await fetch(t,{signal:e.signal});if(!i.ok)throw new Error(`HTTP ${i.status} ${i.statusText}`);let o=await i.arrayBuffer();if(o.byteLength>Rh)throw new Error(`image too large: ${o.byteLength} bytes (max ${Rh})`);return{buf:Buffer.from(o),contentType:i.headers.get("content-type")??void 0}}finally{clearTimeout(n)}}jt();Ke();ne();var j=G("core"),PE=3e4,CE=/^(boe|ppe)_[A-Za-z0-9_-]+$/,DE="\u6211\u6B63\u5728\u7B49\u5F85\u5BA1\u6279\uFF0C\u8BF7\u7A0D\u540E\u518D\u8054\u7CFB\u6211",OE="\u5BA1\u6279\u5DF2\u8D85\u65F6",LE=3e4,Mo=class{upstream;agents=new Map;disconnectedAgents=new Set;extensions;paths;sessionSpawner;sessionIdleTimeoutMs;upstreamIds=new Mr;pendingUpstream=new Map;pendingBridge=new Map;currentCozeEnv;currentMockScenario;constructor(e){this.upstream=e.upstream,this.extensions=e.extensions??{},this.paths=e.paths,this.sessionSpawner=e.sessionSpawner,this.sessionIdleTimeoutMs=bh(e.bridgeConfig)}registerExtension(e,n){this.extensions[e]=n}getCozeEnv(){return this.currentCozeEnv}getMockScenario(){return this.currentMockScenario}setMockScenario(e){this.currentMockScenario=e&&e.length>0?e:void 0}async start(){this.upstream.onFrame(e=>this.handleFrame(e)),this.upstream.onConnect?.(({initial:e})=>{e||this.rejectAllPendingOnReconnect()}),await this.upstream.start(),j.info("Core started",{extensions:Object.keys(this.extensions)})}async stop(e){j.info("Core stopping",{reason:e}),await Promise.all([...this.agents.values()].map(n=>n.dispose(e))),this.agents.clear(),await this.upstream.stop(e)}async reloadAgents(e){let n=e?this.agents.has(e)?[e]:[]:[...this.agents.keys()];for(let i of n)await this.agents.get(i)?.killAllRuntimes("reload");return n}get(e){return this.agents.get(e)}register(e){this.agents.set(e.agentId,e),j.info("agent registered",{agentId:e.agentId,framework:e.framework});for(let n of this.registerHandlers)try{n(e.agentId)}catch(i){j.warn("onAgentRegister handler threw (ignored)",{agentId:e.agentId,err:String(i)})}}onAgentRegister(e){return this.registerHandlers.add(e),()=>this.registerHandlers.delete(e)}registerHandlers=new Set;unregister(e){this.agents.delete(e)}reviveIfDisconnected(e){this.disconnectedAgents.delete(e)&&j.info("agent revived from disconnect",{agentId:e})}attachRuntimeHooks(e,n,i){let o=i.downstream;o&&(o.onUpdate(c=>{i.loadingSession||this.forwardUpdate(e,c)}),o.onAgentRequest(c=>{this.handleAgentRequest(e,o,c)}),o.onExit((c,d)=>{j.info("session runtime exited",{agentId:e.agentId,cloudId:n,code:c,signal:d}),Ki(i),i.downstream=void 0,i.replySeq=0,i.acpSessionId&&e.activeTriggers.delete(i.acpSessionId),this.rejectPendingForDownstream(o,"downstream exited")}))}hasPendingPermissionFor(e){for(let n of this.pendingUpstream.values())if(n.downstream===e)return!0;return!1}rejectPendingForDownstream(e,n){let i=[];for(let[o,c]of this.pendingUpstream)c.downstream===e&&i.push(o);if(i.length!==0){j.info("reject pendingUpstream entries (downstream gone)",{reason:n,count:i.length});for(let o of i){let c=this.pendingUpstream.get(o);if(c){this.pendingUpstream.delete(o),this.upstream.send(In(o,{code:Z.INTERNAL_ERROR,message:`bridge downstream gone: ${n}`})).catch(d=>j.debug("send error response to upstream failed (ignored)",{err:String(d)}));try{c.downstream.respondAgentRequestError(c.agentRequestId,{code:Z.INTERNAL_ERROR,message:`bridge: ${n}`})}catch{}}}}}rejectAllPendingOnReconnect(){let e=this.pendingUpstream.size,n=this.pendingBridge.size;if(!(e===0&&n===0)){j.warn("upstream reconnected, rejecting stale pending requests",{pendingUpstream:e,pendingBridge:n});for(let[,i]of this.pendingUpstream){try{i.downstream.respondAgentRequestError(i.agentRequestId,{code:Z.INTERNAL_ERROR,message:"upstream reconnected; please retry"})}catch{}this.clearPendingPermissionFor(i)}this.pendingUpstream.clear();for(let[,i]of this.pendingBridge)clearTimeout(i.timer),i.reject(new T("UPSTREAM_DISCONNECTED",`${i.method} aborted: upstream reconnected`));this.pendingBridge.clear()}}async handleFrame(e){if(vo(e)){this.handleUpstreamResponse(e);return}if(!("method"in e)||typeof e.method!="string")return;let n="id"in e&&e.id!==void 0?e.id:null,i=e.params?._meta?.cozeEnv;i&&CE.test(i)?this.currentCozeEnv=i:i&&j.warn("rejecting cozeEnv with invalid shape, keeping previous",{rejected:i});try{if(e.method.startsWith("_agent/")){let o=this.extensions[e.method];if(!o){n!==null?await this.sendError(n,Z.METHOD_NOT_FOUND,`extension not registered: ${e.method}`):j.warn("drop notification: extension not registered",{method:e.method});return}let c=await o(e,this);n!==null&&await this.upstream.send(Nr(n,c));return}if(e.method.startsWith("session/")){let o=await this.routeSessionMethod(e);n!==null&&await this.upstream.send(Nr(n,o));return}if(e.method==="initialize"){n!==null&&await this.upstream.send(Nr(n,{protocolVersion:1,agentCapabilities:{loadSession:!0}}));return}n!==null?await this.sendError(n,Z.METHOD_NOT_FOUND,`method not implemented: ${e.method}`):j.warn("drop unknown notification",{method:e.method})}catch(o){j.error("handleFrame failed",{method:e.method,err:String(o)}),n!==null&&await this.upstream.send(In(n,ji(o)))}}async routeSessionMethod(e){if(!e.params||typeof e.params!="object")throw new T("IPC_BAD_REQUEST",`${e.method} requires params`);let n=e.params,i=n._meta?.cozeAgentId;if(!i)throw new T("IPC_BAD_REQUEST",`${e.method}: missing _meta.cozeAgentId`);let o=this.agents.get(i);if(!o)throw this.disconnectedAgents.has(i)?new T("AGENT_DISCONNECTED",`agent ${i} has been disconnected; cloud must _agent/create to revive`):new T("AGENT_NOT_FOUND",`agent not found: ${i}`);let c=typeof n.sessionId=="string"?n.sessionId:void 0;if(e.method==="session/cancel"||e.method==="session/new"||e.method==="session/set_mode"||!c)return this.dispatchSessionCall(o,e.method,n);if(e.method==="session/prompt"){let f=o.sessions.get(c);if(f?.pendingPermission){let x=n._meta?.cozeTriggerMsgId,p=ho(n._meta);return j.info("session in pendingPermission, bouncing new prompt",{agentId:o.agentId,cloudSessionId:c}),this.synthesizePromptReply(o,f,c,DE,x,p)}}let d=Date.now(),u=!1;try{let f=await o.getSessionQueue(c).enqueue(()=>this.dispatchSessionCall(o,e.method,n));return u=!0,f}finally{j.info("session call done",{agentId:o.agentId,method:e.method,durationMs:Date.now()-d,ok:u})}}async dispatchSessionCall(e,n,i){e.lastActiveAt=Date.now();let{stripped:o}=qf(i);switch(n){case"session/new":{let c=NE();return j.info("session/new ack (lazy spawn)",{agentId:e.agentId,cloudId:c}),{sessionId:c}}case"session/load":{let c=o;return j.info("session/load ack (lazy spawn)",{agentId:e.agentId,cloudId:c.sessionId}),{}}case"session/prompt":{let c=o,d=c.sessionId;if(!d)throw new T("IPC_BAD_REQUEST","session/prompt: missing sessionId");let u=Xt(e)?Hf(i._meta):void 0;if(u!==void 0&&!Nt(e.framework,u))throw new T("IPC_BAD_REQUEST",`unsupported permissionMode for ${e.framework}: ${u}; allowed: ${xd(e.framework)}`);let f=await this.ensureRuntime(e,d);if(u!==void 0&&f.permissionMode===void 0&&(f.permissionMode=u,await this.persistSessionMapping(e)),f.replySeq=0,await this.ensureDownstream(e,d,f),!f.downstream||!f.acpSessionId)throw new T("BRIDGE_INTERNAL","session runtime not ready after ensureDownstream");if(u!==void 0&&f.permissionMode!==void 0&&f.permissionMode!==u){let S=f.permissionMode;f.permissionMode=u,await this.persistSessionMapping(e);try{await f.downstream.setSessionMode({sessionId:f.acpSessionId,modeId:u})}catch(_){throw f.permissionMode=S,await this.persistSessionMapping(e).catch(()=>{}),_}}let x=i._meta?.cozeTriggerMsgId;x?e.activeTriggers.set(f.acpSessionId,x):e.activeTriggers.delete(f.acpSessionId);let p=ho(i._meta);if(p?e.activeGroupIds.set(f.acpSessionId,p):e.activeGroupIds.delete(f.acpSessionId),p&&f.cozeGroupId!==p&&(f.cozeGroupId=p,await this.persistSessionMapping(e)),e.deployType==="cloud"&&e.modelInfo?.capabilities?.image===!1&&Ch(c.prompt))throw new T("MODEL_MODALITY_UNSUPPORTED",`model=${e.modelInfo.id??e.model} does not support image input`);let w=await Ph(c.prompt);try{let S=await f.downstream.sessionPrompt({...c,sessionId:f.acpSessionId,prompt:w});return f.lastActiveAt=Date.now(),S}catch(S){if(S instanceof T&&S.code==="AGENT_APPROVAL_TIMEOUT"){let _=f.pendingPermission;_&&(_.downstream.respondAgentRequest(_.agentRequestId,{outcome:{outcome:"cancelled"}}),this.pendingUpstream.delete(_.upstreamId),f.pendingPermission=void 0);let b=f.acpSessionId,I=b?e.activeTriggers.get(b):void 0,A=b?e.activeGroupIds.get(b):void 0;return j.warn("approval timed out, synthesizing \u5BA1\u6279\u5DF2\u8D85\u65F6 reply + recovering session",{agentId:e.agentId,cloudId:d}),await this.synthesizePromptReply(e,f,d,OE,I,A)}throw S}finally{if(e.activeTriggers.delete(f.acpSessionId),e.activeGroupIds.delete(f.acpSessionId),f.pendingPermission=void 0,f.reloadAfterTurn){f.reloadAfterTurn=!1;let S=f.downstream;S&&(f.downstream=void 0,j.info("reloadAfterTurn: stopping downstream",{agentId:e.agentId,cloudId:d,acpId:f.acpSessionId}),S.stop("reload-after-turn").catch(_=>j.warn("reload-after-turn stop failed (ignored)",{agentId:e.agentId,cloudId:d,err:String(_)})))}else f.downstream?.isAlive()&&this.armIdleTimer(e,d,f)}}case"session/cancel":{let d=o.sessionId;if(!d)throw new T("IPC_BAD_REQUEST","session/cancel: missing sessionId");let u=e.sessions.get(d);if(e.hasSessionQueue(d)){let f=e.getSessionQueue(d);f.size>0&&(j.info("session/cancel: draining queued tasks",{agentId:e.agentId,cloudId:d,queuedCount:f.size}),f.dispose(new T("AGENT_PROTOCOL_ERROR",`cancelled by session/cancel on ${d}`)))}return u?.downstream?.isAlive()&&u.acpSessionId&&await u.downstream.sessionCancel({sessionId:u.acpSessionId}),{ok:!0}}case"session/set_mode":{let c=o,d=c.sessionId,u=c.modeId,f=ho(i._meta);if(!d)throw new T("IPC_BAD_REQUEST","session/set_mode: missing sessionId");if(!Xt(e))throw e.framework==="openclaw"?new T("METHOD_NOT_FOUND","session/set_mode not supported on openclaw"):new T("OPERATION_NOT_ALLOWED_FOR_CLOUD","session/set_mode is local-deploy only in this iteration");if(!Nt(e.framework,u))throw new T("IPC_BAD_REQUEST",`unsupported modeId for ${e.framework}: ${String(u)}; allowed: ${xd(e.framework)}`);if(f)return await this.handleGroupSetMode(e,f,u);let x=e.sessions.get(d)??await this.ensureRuntime(e,d);if(x.permissionMode===u)return{};let p=x.permissionMode;if(x.permissionMode=u,await this.persistSessionMapping(e),x.downstream?.isAlive()&&x.acpSessionId)try{await x.downstream.setSessionMode({sessionId:x.acpSessionId,modeId:u})}catch(w){throw x.permissionMode=p,await this.persistSessionMapping(e).catch(()=>{}),w}else j.info("session/set_mode: runtime not active, persisted only",{framework:e.framework,agentId:e.agentId,cloudId:d,modeId:u});return{}}default:throw new T("IPC_BAD_REQUEST",`session method not supported: ${n}`)}}async handleGroupSetMode(e,n,i){let o=[];for(let[d,u]of e.sessions)u.cozeGroupId===n&&u.permissionMode!==i&&o.push({cloudId:d,runtime:u,oldMode:u.permissionMode});if(o.length===0)return j.info("group session/set_mode: no active runtime (db-only path)",{framework:e.framework,agentId:e.agentId,groupId:n,modeId:i}),{};j.info("group session/set_mode: applying to runtimes",{framework:e.framework,agentId:e.agentId,groupId:n,modeId:i,targets:o.length});for(let d of o)d.runtime.permissionMode=i;await this.persistSessionMapping(e);let c=[];for(let d of o){let u=d.runtime.downstream,f=d.runtime.acpSessionId;u?.isAlive()&&f&&c.push({downstream:u,acpSessionId:f,oldMode:d.oldMode,runtime:d.runtime})}for(let d of c)try{await d.downstream.setSessionMode({sessionId:d.acpSessionId,modeId:i})}catch(u){for(let f of o)f.runtime.permissionMode=f.oldMode;throw await this.persistSessionMapping(e).catch(()=>{}),u}return{}}async ensureRuntime(e,n){let i=e.sessions.get(n);if(i)return i;let c={modelToken:e.deployType==="cloud"?await this.requestSessionToken(e.agentId,n):"",tokenGeneratedAt:Date.now(),lastActiveAt:Date.now(),loadingSession:!1,replySeq:0};return Xt(e)&&(e.framework==="hermes"?c.permissionMode=e.deployType==="cloud"?c0:d0:c.permissionMode=e.framework==="claude-code"?wd:oh),e.sessions.set(n,c),await this.persistSessionMapping(e),c}async requestSessionToken(e,n){let i={sessionId:n,_meta:{cozeAgentId:e}};try{let o=await this.sendRequest(xt.GEN_MODEL_TOKEN,i,LE);if(!o?.modelToken)throw new T("MODEL_TOKEN_GEN_FAILED",`cloud returned empty modelToken (agentId=${e}, cloudSessionId=${n})`);return o.modelToken}catch(o){throw o instanceof T&&o.code==="MODEL_TOKEN_GEN_FAILED"?o:new T("MODEL_TOKEN_GEN_FAILED",o instanceof Error?o.message:String(o),{cause:o})}}async ensureDownstream(e,n,i){if(Ki(i),i.downstream?.isAlive())return;if(!this.sessionSpawner)throw new T("AGENT_SPAWN_FAILED","sessionSpawner not wired (cannot spawn per-session downstream)");let o=3,c=3e4,d=i.spawnFailCount??0,u=i.spawnFailedAt??0;if(d>=o&&Date.now()-u<c)throw new T("AGENT_SPAWN_FAILED",`agent ${e.agentId} session ${n} spawn failed ${d} times in a row; please check framework binary / network and retry after ${Math.ceil((c-(Date.now()-u))/1e3)}s`);let f;try{f=await this.sessionSpawner(e,i.modelToken,n,this.currentCozeEnv,this.currentMockScenario)}catch(x){throw i.spawnFailCount=d+1,i.spawnFailedAt=Date.now(),i.spawnFailCount>=o&&i.acpSessionId&&(j.warn("clearing stale acpSessionId after repeated spawn failures",{agentId:e.agentId,cloudId:n,staleAcpId:i.acpSessionId}),i.acpSessionId=void 0),x}i.spawnFailCount=0,i.spawnFailedAt=void 0,i.downstream=f,this.attachRuntimeHooks(e,n,i);try{if(i.acpSessionId){i.loadingSession=!0;try{await f.sessionLoad({sessionId:i.acpSessionId,cwd:e.workspace}),j.info("session restored via session/load",{agentId:e.agentId,cloudId:n,acpId:i.acpSessionId})}catch(x){j.warn("session/load failed, fallback to session/new",{agentId:e.agentId,cloudId:n,acpId:i.acpSessionId,err:String(x)}),i.acpSessionId=void 0;let p=await f.sessionNew({cwd:e.workspace});i.acpSessionId=p.sessionId,await this.persistSessionMapping(e)}finally{i.loadingSession=!1}}else{let x=await f.sessionNew({cwd:e.workspace});i.acpSessionId=x.sessionId,await this.persistSessionMapping(e)}}catch(x){throw j.warn("session init failed after spawn, tearing down half-spawned runtime",{agentId:e.agentId,cloudId:n,acpId:i.acpSessionId,err:String(x)}),await f.stop("session-init-failed").catch(()=>{}),i.downstream=void 0,i.acpSessionId=void 0,x}if(f.afterSessionEstablished&&i.acpSessionId&&await f.afterSessionEstablished(i.acpSessionId),Xt(e)&&i.acpSessionId&&i.permissionMode)try{await f.setSessionMode({sessionId:i.acpSessionId,modeId:i.permissionMode})}catch(x){j.warn("post-spawn set_mode failed, framework using its own startup default",{framework:e.framework,agentId:e.agentId,cloudId:n,mode:i.permissionMode,err:String(x)})}}armIdleTimer(e,n,i){if(Ki(i),this.isRuntimeBusy(e,i)){j.debug("skip idle timer: runtime busy (in-flight turn / pending permission)",{agentId:e.agentId,cloudId:n});return}i.idleTimer=setTimeout(()=>{if(i.idleTimer=void 0,this.isRuntimeBusy(e,i)){j.info("idle reaper fired but runtime busy, re-arming",{agentId:e.agentId,cloudId:n}),this.armIdleTimer(e,n,i);return}j.info("session runtime idle timeout, killing downstream",{agentId:e.agentId,cloudId:n});let o=i.downstream;i.downstream=void 0,i.acpSessionId&&e.activeTriggers.delete(i.acpSessionId),o&&o.stop("idle timeout").catch(c=>j.warn("idle stop failed (ignored)",{agentId:e.agentId,cloudId:n,err:String(c)}))},this.sessionIdleTimeoutMs),i.idleTimer.unref?.()}isRuntimeBusy(e,n){if(n.acpSessionId&&e.activeTriggers.has(n.acpSessionId))return!0;let i=n.downstream;if(!i)return!1;for(let o of this.pendingUpstream.values())if(o.downstream===i)return!0;return!1}async sendAgentFileUpdate(e,n,i,o){let c={cozeAgentId:e.agentId,cozeReplySeqID:++n.replySeq};if(n.acpSessionId){let d=e.activeTriggers.get(n.acpSessionId);d&&(c.cozeTriggerMsgId=d);let u=e.activeGroupIds.get(n.acpSessionId);u&&(c.cozeGroupId=u)}await this.upstream.send(Lr("session/update",{sessionId:i,update:o,_meta:c}))}async synthesizePromptReply(e,n,i,o,c,d){let u={cozeAgentId:e.agentId,cozeReplySeqID:++n.replySeq};return c&&(u.cozeTriggerMsgId=c),d&&(u.cozeGroupId=d),await this.upstream.send(Lr("session/update",{sessionId:i,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:o}},_meta:u})).catch(f=>j.warn("synthesizePromptReply update send failed (ignored)",{err:String(f)})),{stopReason:"end_turn"}}forwardUpdate(e,n){let i=n.sessionId,o=this.reverseSessionId(e,i);if(!o){j.debug("drop update for unknown session",{agentId:e.agentId,acpId:i});return}let c=e.sessions.get(o);if(!c){j.debug("drop update: runtime gone",{agentId:e.agentId,cloudId:o});return}if(FE(n)){j.debug("drop codex noise chunk",{agentId:e.agentId,acpId:i});return}let d=n.update;if(d&&typeof d=="object"&&d.sessionUpdate==="current_mode_update"&&Xt(e)){let p=d.currentModeId;Nt(e.framework,p)&&c.permissionMode!==p?(c.permissionMode=p,this.persistSessionMapping(e).catch(w=>j.warn("persist mode (from current_mode_update) failed",{framework:e.framework,agentId:e.agentId,err:String(w)}))):typeof p=="string"&&!Nt(e.framework,p)&&j.warn("current_mode_update with invalid modeId for framework, not persisting",{framework:e.framework,agentId:e.agentId,modeId:p})}let u={cozeAgentId:e.agentId,cozeReplySeqID:++c.replySeq},f=e.activeTriggers.get(i);f&&(u.cozeTriggerMsgId=f);let x=e.activeGroupIds.get(i);x&&(u.cozeGroupId=x),this.upstream.send(Lr("session/update",{...n,sessionId:o,_meta:u})).catch(p=>j.warn("forward update failed",{agentId:e.agentId,err:String(p)}))}handleAgentRequest(e,n,i){if(i.method==="session/request_permission"){this.forwardPermissionRequest(e,n,i);return}if(i.method==="fs/write_text_file"||i.method==="fs/read_text_file"){this.handleFsRpcRequest(e,n,i);return}j.warn("unhandled agent request,returning method_not_found",{agentId:e.agentId,method:i.method}),n.respondAgentRequestError(i.id,{code:Z.METHOD_NOT_FOUND,message:`method not handled by Bridge: ${i.method}`})}async handleFsRpcRequest(e,n,i){try{let o=e.workspace;if(i.method==="fs/write_text_file"){let c=i.params??{},d=await Ih(c,o);n.respondAgentRequest(i.id,d)}else{let c=i.params??{},d=await Ah(c,o);n.respondAgentRequest(i.id,d)}}catch(o){j.warn("fs rpc handler failed",{agentId:e.agentId,method:i.method,err:String(o)}),n.respondAgentRequestError(i.id,ji(o))}}clearPendingPermissionFor(e){if(e.method!=="session/request_permission"||!e.cloudSessionId)return;let n=this.agents.get(e.agentId)?.sessions.get(e.cloudSessionId);n&&(n.pendingPermission=void 0)}forwardPermissionRequest(e,n,i){let o=this.upstreamIds.next("session/request_permission"),c=i.params??{},u=c.sessionId,f=u?e.activeTriggers.get(u):void 0,x={cozeAgentId:e.agentId};f&&(x.cozeTriggerMsgId=f);let p=u?e.activeGroupIds.get(u):void 0;p&&(x.cozeGroupId=p);let w=u?this.reverseSessionId(e,u):void 0,S=w?e.sessions.get(w):void 0;S&&(S.pendingPermission={downstream:n,agentRequestId:i.id,upstreamId:o});let _={...c,...w?{sessionId:w}:{},_meta:x};this.pendingUpstream.set(o,{agentRequestId:i.id,agentId:e.agentId,downstream:n,method:i.method,cloudSessionId:w}),j.info("forward permission_request \u2192 upstream",{agentId:e.agentId,upstreamId:o,acpSessionId:u,cloudSessionId:w,toolCallId:c.toolCall?.toolCallId,options:c.options?.map(b=>({optionId:b.optionId,kind:b.kind,name:b.name}))}),this.upstream.send(Hi(o,"session/request_permission",_)).catch(b=>{this.pendingUpstream.delete(o),j.error("forward permission request failed",{agentId:e.agentId,err:String(b)}),n.respondAgentRequestError(i.id,{code:Z.INTERNAL_ERROR,message:`upstream send failed: ${String(b)}`})})}handleUpstreamResponse(e){if(e.id===null)return;let n=this.lookupPending(this.pendingUpstream,e.id,"upstream");if(n){this.pendingUpstream.delete(n.key);let o=n.value;this.clearPendingPermissionFor(o),e.error?(j.info("upstream \u2192 permission response (error)",{agentId:o.agentId,upstreamId:e.id,method:o.method,error:e.error}),o.downstream.respondAgentRequestError(o.agentRequestId,e.error)):(o.method==="session/request_permission"&&ME(e.result,o),j.info("upstream \u2192 permission response (result)",{agentId:o.agentId,upstreamId:e.id,method:o.method,result:e.result}),o.downstream.respondAgentRequest(o.agentRequestId,e.result));return}let i=this.lookupPending(this.pendingBridge,e.id,"bridge");if(i){this.pendingBridge.delete(i.key),clearTimeout(i.value.timer),e.error?i.value.reject(new Eo(e.error)):i.value.resolve(e.result);return}j.debug("orphan upstream response (no pending)",{id:e.id})}lookupPending(e,n,i){let o=e.get(n);if(o)return{value:o,key:n};if(typeof n=="number"){let c=String(n),d=e.get(c);if(d)return j.warn(`${i} id type mismatch: number received but Bridge expected string`,{rawId:n,normalizedId:c}),{value:d,key:c}}}sendRequest(e,n,i=PE){let o=this.upstreamIds.next(e);return new Promise((c,d)=>{let u=setTimeout(()=>{this.pendingBridge.delete(o),d(new T("AGENT_TIMEOUT",`${e} timed out after ${i}ms`))},i);this.pendingBridge.set(o,{method:e,resolve:c,reject:d,timer:u}),this.upstream.send(Hi(o,e,n)).catch(f=>{let x=this.pendingBridge.get(o);x&&(clearTimeout(x.timer),this.pendingBridge.delete(o)),d(f)})})}async persistSessionMapping(e){if(this.paths)try{let n=new Map;for(let[i,o]of e.sessions){let c={modelToken:o.modelToken,tokenGeneratedAt:o.tokenGeneratedAt};o.acpSessionId&&(c.acpSessionId=o.acpSessionId),o.permissionMode&&Xt(e)&&(c.permissionMode=o.permissionMode),o.cozeGroupId&&(c.cozeGroupId=o.cozeGroupId),n.set(i,c)}await oi(e.agentId,n,this.paths)}catch(n){j.warn("persist session mapping failed",{agentId:e.agentId,err:String(n)})}}reverseSessionId(e,n){for(let[i,o]of e.sessions.entries())if(o.acpSessionId===n)return i}sendError(e,n,i){return this.upstream.send(In(e,{code:n,message:i,data:{bridgeVersion:Lt}}))}};function NE(){return RE(16).toString("hex")}function ME(t,e){if(!t||typeof t!="object"){j.warn("permission response: result not an object (suspicious)",{agentId:e.agentId,result:t});return}let n=t;if("kind"in n&&!("outcome"in n)){j.warn('permission response: top-level "kind" field (D66 historical bug shape)',{agentId:e.agentId,result:t});return}let i=n.outcome;if(!i||typeof i!="object"){j.warn("permission response: missing or non-object outcome field",{agentId:e.agentId,result:t});return}let c=i.outcome;(typeof c!="string"||c!=="selected"&&c!=="cancelled")&&j.warn("permission response: unknown outcome discriminant",{agentId:e.agentId,outcomeValue:c,result:t})}var BE=["Model metadata for `","Falling back from WebSockets to HTTPS transport.","Heads up: Long threads and multiple compactions can cause the model to be less accurate."],Dh="Warning: ";function FE(t){let e=t.update;if(e?.sessionUpdate!=="agent_message_chunk")return!1;let n=e.content;if(!n||typeof n!="object")return!1;let i=n;if(i.type!=="text"||typeof i.text!="string")return!1;let o=i.text.startsWith(Dh)?i.text.slice(Dh.length):i.text;return BE.some(c=>o.startsWith(c))}qt();ne();Re();import{randomBytes as zE}from"node:crypto";import{createServer as UE}from"node:http";var GE=1e6,Oh=G("ipc"),Bo=class{server=null;port=0;token="";routes;paths;constructor(e){this.routes=new Map(e.routes.map(n=>[`${n.method} ${n.path}`,n])),this.paths=e.paths??Y()}async start(){this.token=zE(32).toString("hex");let e=UE((i,o)=>{this.dispatch(i,o)});this.server=e,await new Promise((i,o)=>{e.once("error",o),e.listen(0,"127.0.0.1",()=>i())});let n=e.address();if(!n||typeof n!="object")throw new Error("failed to obtain IPC port");return this.port=n.port,await this.persistAuthFiles(),Oh.info("IPC listening",{port:this.port}),{port:this.port,token:this.token}}async stop(){let e=this.server;e&&(await new Promise((n,i)=>{e.close(o=>o?i(o):n())}),this.server=null)}async persistAuthFiles(){await ut(this.paths.portFile,String(this.port)),await ut(this.paths.tokenFile,this.token,{mode:384})}async dispatch(e,n){if(e.headers.authorization!==`Bearer ${this.token}`){Zi(n,401,{error:"unauthorized"});return}let o=`${e.method} ${(e.url??"").split("?")[0]}`,c=this.routes.get(o);if(!c){Zi(n,404,{error:"not found"});return}let d=null;if(e.method==="POST")try{d=await HE(e)}catch(u){Zi(n,400,{error:"invalid json",detail:String(u)});return}try{let u=await c.handler(d,e);Zi(n,200,u??{ok:!0})}catch(u){Oh.error("IPC handler failed",{key:o,err:String(u)}),Zi(n,500,{error:u instanceof Error?u.message:String(u)})}}};function Zi(t,e,n){t.statusCode=e,t.setHeader("content-type","application/json"),t.end(JSON.stringify(n))}async function HE(t){let e=[],n=0;for await(let o of t){let c=o;if(n+=c.length,n>GE)throw new Error("body too large");e.push(c)}let i=Buffer.concat(e).toString("utf8");return i?JSON.parse(i):null}import"node:module";var dS=Ht(Rx(),1),lS=Ht($o(),1),uS=Ht(Hr(),1),fS=Ht(Dd(),1),hS=Ht(Nd(),1),xS=Ht(Gd(),1),Fx=Ht(Yo(),1),pS=Ht(Bx(),1);var zx=Fx.default;Ke();ne();var{FWS:CS}=Yx(),De=G("upstream.frontier"),Xx="application/json",Qx="none",DS=15e3;function OS(t){class e extends zx{constructor(i){super(i,Jf,{headers:t})}guardTeardown(){this.listenerCount("error")===0&&this.on("error",i=>De.warn("frontier ws error during teardown (handled, prevents daemon crash)",{err:i instanceof Error?i.message:String(i)}))}close(i,o){this.guardTeardown(),super.close(i,o)}terminate(){this.guardTeardown(),super.terminate()}send(i,...o){if(Dl("debug"))try{let c;typeof i=="string"?c=Buffer.from(i,"utf8"):i instanceof Buffer?c=i:i instanceof ArrayBuffer?c=new Uint8Array(i):ArrayBuffer.isView(i)?c=new Uint8Array(i.buffer,i.byteOffset,i.byteLength):c=new Uint8Array(0);let d=Buffer.from(c.slice(0,128)).toString("hex");De.debug("WS raw frame out",{bytes:c.byteLength,headHex:d})}catch(c){De.warn("WS raw frame dump failed",{err:String(c)})}super.send(i,...o)}}return e}var os=class{constructor(e){this.opts=e}opts;fws=null;handler=null;connectHandlers=[];opened=!1;lastSendRefusedLogAt=0;sendRefusedSuppressed=0;openCount=0;async start(){if(this.fws){De.warn("start called on already-started FrontierUpstream; noop");return}let e={Authorization:`Bearer ${this.opts.privatecode}`,Origin:Yf,...vn(this.opts.ppeOverride)},n=OS(e),i=Xf(this.opts.urlOverride),o={url:i,ws:n,fpID:Vf,aID:xo,accessKey:this.opts.handshake.accessKey,deviceID:this.opts.handshake.deviceId,payloadType:{type:Xx,force:!0},payloadEncoding:{encoding:Qx,force:!0},enableTransformTextPayload:!0,enableQoS:!1,enableAutoAck:!1,automaticOpen:!1,maxRetries:Number.POSITIVE_INFINITY,debug:this.opts.debug??!1},c=new CS(o),d=!1,u=null,f,x,p=new Promise((_,b)=>{f=_,x=b}),w=_=>{d||(d=!0,u&&(clearTimeout(u),u=null),_?x(_):f())};c.onopen=()=>{this.opened=!0,this.openCount+=1;let _=this.openCount===1;De.info("frontier opened",{url:i,remoteDeviceId:this.opts.handshake.deviceId,initial:_,openCount:this.openCount}),_&&w();for(let b of this.connectHandlers)Promise.resolve(b({initial:_})).catch(I=>De.warn("onConnect handler threw (ignored)",{err:String(I)}))},c.onclose=_=>{this.opened=!1,De.info("frontier closed",{code:_.code,reason:_.reason,willReconnect:_.willReconnect})},c.onerror=_=>{De.warn("frontier error",{code:_.code,msg:_.message}),w(new T("UPSTREAM_DISCONNECTED",`frontier connect error before open: code=${_.code} msg=${_.message??""}`))},c.onmessage=_=>this.handleMessage(_),this.fws=c;let S=this.opts.openTimeoutMs??DS;u=setTimeout(()=>{w(new T("UPSTREAM_DISCONNECTED",`frontier ws open timeout after ${S}ms (handshake or upgrade slow)`))},S),await c.connect();try{await p}catch(_){try{c.close(1e3,"open failed")}catch(b){De.warn("fws close during start failure threw (ignored)",{err:String(b)})}throw this.fws=null,this.opened=!1,_}}async stop(e){let n=this.fws;if(n){this.fws=null,this.opened=!1;try{n.close(1e3,e??"bridge shutdown")}catch(i){De.warn("frontier close threw (ignored)",{err:String(i)})}}}async send(e){let n=this.fws,i=e.method;if(!n)throw De.warn("frontier send refused: upstream not started",{method:i}),new T("UPSTREAM_DISCONNECTED","frontier upstream not started");if(!this.isConnected()){let u=Date.now();throw u-this.lastSendRefusedLogAt>1e3?(De.warn("frontier send refused: ws not open",{method:i,opened:this.opened,readyState:n.readyState,...this.sendRefusedSuppressed>0?{suppressedSinceLast:this.sendRefusedSuppressed}:{}}),this.lastSendRefusedLogAt=u,this.sendRefusedSuppressed=0):this.sendRefusedSuppressed+=1,new T("UPSTREAM_DISCONNECTED",`frontier ws not open (opened=${this.opened}, readyState=${n.readyState}); refusing to silently buffer`)}this.injectAgentPatToken(e);let o=JSON.stringify(e),c=e;ep(c)||De.info("frontier frame out",{method:c.method,jsonrpcId:c.id,size:o.length});try{await n.send(o,{service:33555712,method:1,payloadType:Xx,payloadEncoding:Qx})}catch(u){throw De.warn("frontier frame send failed",{method:c.method,jsonrpcId:c.id,err:String(u)}),new T("UPSTREAM_DISCONNECTED",`frontier send failed: ${String(u)}`,{cause:u})}}onFrame(e){this.handler=e}onConnect(e){this.connectHandlers.push(e)}isConnected(){return this.opened&&this.fws?.readyState===1}injectAgentPatToken(e){let n=this.opts.getPatTokenForAgent;if(!n)return;let i=e.params?._meta;if(!i?.cozeAgentId)return;let o=n(i.cozeAgentId);o&&(i.cozePatToken=o)}handleMessage(e){let n=e.message?.service;if(n!==33555712){De.debug("drop non-adapter frontier frame",{service:n});return}let i=MS(e);if(!i){De.debug("frontier message without text payload, drop",{payloadType:e.message?.payloadType});return}if(!this.handler){De.debug("frame received but no onFrame handler",{size:i.length});return}let o;try{o=JSON.parse(i)}catch(d){De.warn("frontier message JSON parse failed",{err:String(d),head:i.slice(0,80)});return}let c=o;ep(c)||De.info("frontier frame in",{logid:NS(e.message?.LogID),logidNew:e.message?.LogIDNew,msgId:e.message?.msgID,jsonrpcId:c.id,method:c.method,body:LS(i)}),Promise.resolve(this.handler(o)).catch(d=>De.warn("frontier frame handler threw",{err:String(d)}))}};function ep(t){return t.method==="_agent/health"?!0:typeof t.id=="string"&&t.id.startsWith("agent.health_")}var tp=2e3;function LS(t){return t.length<=tp?t:`${t.slice(0,tp)}...<truncated, total ${t.length} chars>`}function NS(t){return t?t.high===0?String(t.low>>>0):`${t.high.toString(16)}${(t.low>>>0).toString(16).padStart(8,"0")}`:""}function MS(t){let e=t.message;if(e?.textPayload)return e.textPayload;let n=e?.payload;if(!n)return null;try{return Buffer.from(n).toString("utf8")}catch{return null}}Ke();ne();var Wd=G("skill-publish"),BS="/api/marketplace/product/skill/publish_with_assets",FS=15e4;async function np(t,e={}){let i=`${Pr(Cr(e.handshakeBase))}${BS}`,o=e.timeoutMs??FS,c=new FormData;c.append("skill_id",t.skillId??""),c.append("skill_name",t.skillName),c.append("skill_description",t.description??""),c.append("agent_id",t.agentId),c.append("zip_file",new Blob([t.zip],{type:"application/zip"}),"skill.zip");let d={Authorization:`Bearer ${t.patToken}`,Accept:"application/json","x-coze-version":"3.0",...vn(e.ppeOverride),...t.accountId&&t.accountId!=="0"?{"x-coze-account":t.accountId}:{}},u=new AbortController,f=setTimeout(()=>u.abort(),o);Wd.info("skill publish start",{url:i,method:"POST",form:{skill_id:t.skillId??"",skill_name:t.skillName,skill_description:t.description??"",agent_id:t.agentId,zip_file_bytes:t.zip.length},headers:{...d,Authorization:`Bearer ${t.patToken.slice(0,8)}...`}});try{let x=await fetch(i,{method:"POST",headers:d,body:c,signal:u.signal}),p=x.headers.get("x-tt-logid")??"";if(!x.ok){let _=await x.text().catch(()=>"");throw new T("UPLOAD_FAILED",`skill publish HTTP ${x.status} logid=${p}: ${_.slice(0,200)}`)}let w=await x.json();if(Wd.info("skill publish response",{logid:p,httpStatus:x.status,code:w.code,msg:w.msg,dataSkillId:w.data?.skill_id??"",dataVersion:w.data?.version??""}),w.code!==void 0&&w.code!==0)throw new T("UPLOAD_FAILED",`skill publish code=${w.code} msg=${w.msg??"-"} logid=${p}`);let S={};return w.data?.skill_id!==void 0&&w.data.skill_id!==""&&(S.skillId=String(w.data.skill_id)),w.data?.version&&(S.version=w.data.version),Wd.info("skill publish ok",{logid:p,skillId:S.skillId??"",version:S.version??""}),S}catch(x){throw x instanceof T?x:x.name==="AbortError"?new T("UPLOAD_FAILED",`skill publish timeout (${o}ms): ${t.skillName}`):new T("UPLOAD_FAILED",String(x),{cause:x})}finally{clearTimeout(f)}}ne();var $d=G("upstream.switchable"),sa=class{inner;handler=null;connectHandlers=[];constructor(e){this.inner=e}async swap(e,n){if(this.inner===e)return;$d.info("swap upstream",{reason:n});let i=this.inner;if(this.inner=e,this.handler&&e.onFrame(this.handler),e.onConnect)for(let o of this.connectHandlers)e.onConnect(o);try{await e.start()}catch(o){throw $d.error("swap target start failed, reverting",{err:String(o)}),this.inner=i,o}await i.stop(n??"swapped").catch(o=>$d.warn("previous upstream stop threw (ignored)",{err:String(o)}))}current(){return this.inner}start(){return this.inner.start()}stop(e){return this.inner.stop(e)}send(e){return this.inner.send(e)}onFrame(e){this.handler=e,this.inner.onFrame(e)}onConnect(e){this.connectHandlers.push(e),this.inner.onConnect?.(e)}isConnected(){return this.inner.isConnected()}};ne();var Kd=G("upstream"),Vr=class{handler=null;async start(){Kd.info("NoopUpstream started (M1 skeleton; real Frontier wired in M4)")}async stop(e){Kd.info("NoopUpstream stopped",{reason:e})}async send(e){Kd.debug("NoopUpstream.send (dropped)",{method:"method"in e?e.method:void 0})}onFrame(e){this.handler=e}isConnected(){return!1}async injectFrame(e){this.handler&&await this.handler(e)}};Ke();ne();qt();ne();Re();import{promises as zS}from"node:fs";var rp=G("pat-token-store");async function oa(t=Y()){try{let n=(await zS.readFile(t.patTokenFile,"utf8")).trim();return n.length===0?(rp.warn("pat-token exists but empty (treating as missing; likely interrupted write)",{path:t.patTokenFile}),null):n}catch(e){let n=e?.code;return n!=="ENOENT"&&rp.warn("read pat-token failed (treating as missing)",{path:t.patTokenFile,code:n,message:e.message}),null}}async function as(t,e=Y()){if(!t)throw new Error("writePatToken: empty patToken");await ut(e.patTokenFile,t,{mode:384})}Re();Re();import{promises as aa}from"node:fs";import{join as US}from"node:path";function GS(t,e){return`#!/bin/sh
|
|
102
|
+
`)){let c=/^\s*(name|description)\s*:\s*(.+?)\s*$/.exec(o);if(!c||!c[2])continue;let d=c[1],u=c[2].trim();(u.startsWith('"')&&u.endsWith('"')||u.startsWith("'")&&u.endsWith("'"))&&(u=u.slice(1,-1)),u&&(i[d]=u)}return i}async function k0(t,e,n,i){let o=await _0(e,{withFileTypes:!0}).catch(()=>null);if(!o)return[];let c=[];for(let d of o){let u=d.isDirectory();if(!u&&d.isSymbolicLink()&&(u=!!(await pd(ue(e,d.name)).catch(()=>null))?.isDirectory()),!u)continue;let h=d.name,x=ue(n,h),p=ue(e,h,"SKILL.md"),m=await So(p,{encoding:"utf8"}).catch(()=>null);if(m===null)continue;let v=A0(m);c.push({relPath:x,skill:{skillId:I0(t,x),skillName:v.name||h,...v.description?{description:v.description}:{},...i?{isGlobal:!0}:{}}})}return c}async function T0(t,e,n,i){let{base:o,subdir:c}=zr(n,t,e,i);return k0(t,ue(o,c),c,!1)}async function P0(t,e){let n=[],i=new Set;for(let o of S0(e)){let c=await k0(t,o,o,!0);for(let d of c)i.has(d.relPath)||(i.add(d.relPath),n.push(d))}return n}var Ly=3e4,Ny=50*1024*1024,w0=10*1024*1024,Fr=3e4;async function Ao(t){let{agentId:e,workspace:n,framework:i,skill:o,paths:c}=t;if(!o.skillName)throw new k("IPC_BAD_REQUEST","skill missing skillName");let d=typeof o.content=="string"&&o.content.length>0,u=typeof o.downloadUrl=="string"&&o.downloadUrl.length>0;if(!d&&!u)throw new k("IPC_BAD_REQUEST",`skill ${o.skillId} missing both content and downloadUrl`);let h=v0(o.skillName),{base:x,subdir:p}=zr(i,e,n,c),m=ue(p,h),v=ue(x,m);if(await ld(v,{recursive:!0}),d){let y=Buffer.from(o.content,"utf8");Ki(y.length),await fd(ue(v,"SKILL.md"),y,"utf8")}else{let y=await Fy(o.downloadUrl);Uy(y)?await qy(y,v):Hy(y)?await Gy(y,v):await fd(ue(v,"SKILL.md"),y.toString("utf8"),"utf8")}let _={skillId:o.skillId,skillName:o.skillName,relPath:m,installedAt:Date.now(),...o.description?{description:o.description}:{},...o.icon?{icon:o.icon}:{},...o.version?{version:o.version}:{},...o.downloadUrl?{downloadUrl:o.downloadUrl}:{},...o.config?{config:o.config}:{},...o.builtin?{builtin:o.builtin}:{}};return re.info("skill installed",{agentId:e,skillId:o.skillId,skillName:o.skillName,relPath:m,source:d?"content":"downloadUrl"}),_}function ko(t,e,n){let i=e.get(n.skillId);if(i!==void 0){t[i]=n;return}e.set(n.skillId,t.length),t.push(n)}function My(t){return{skillId:t.skillId,skillName:t.skillName,...t.description?{description:t.description}:{},...t.icon?{icon:t.icon}:{},...t.version?{version:t.version}:{},...t.config?{config:t.config}:{},...t.builtin?{builtin:t.builtin}:{}}}function By(t){return{skillId:t.skillId,skillName:t.skillName,...t.downloadUrl?{downloadUrl:t.downloadUrl}:{},...t.description?{description:t.description}:{},...t.icon?{icon:t.icon}:{},...t.version?{version:t.version}:{},...t.config?{config:t.config}:{},...t.builtin?{builtin:t.builtin}:{}}}async function C0(t,e){let n=await ve(t,e);if(!n)return{status:"skipped",count:0};if(n.disconnectedAt)return{status:"skipped",count:0};let i=Mt,o=n.skillsRefreshedForVersion;if(o===i)return{status:"noop",count:0};if(!o)return n.skillsRefreshedForVersion=i,await Ue(n,e),{status:"seeded",count:0};let c=[...n.skills??[]],d=new Map(c.map((m,v)=>[m.skillId,v])),u=c.filter(m=>m.builtin===!0&&!!m.downloadUrl);if(u.length===0)return n.skillsRefreshedForVersion=i,await Ue(n,e),{status:"noop",count:0};let h=0,x=0,{base:p}=zr(n.framework,t,n.workspace,e);re.warn("[AUDIT] refreshBuiltinSkills triggered (version bump)",{src:"agent-handlers.refreshAgentBuiltinSkillsOnUpgrade",agentId:t,framework:n.framework,prev:o,current:i,skillBase:p,builtinCount:u.length,builtinRelPaths:u.map(m=>m.relPath)});for(let m of u)try{let v=ue(p,m.relPath);re.warn("[AUDIT] ABOUT TO RM builtin skill dir (refreshBuiltinSkills)",{src:"agent-handlers.refreshAgentBuiltinSkillsOnUpgrade",agentId:t,skillId:m.skillId,relPath:m.relPath,rmTarget:v}),await ud(v,{recursive:!0,force:!0});let _=await Ao({agentId:t,workspace:n.workspace,framework:n.framework,skill:By(m),...e?{paths:e}:{}});ko(c,d,_),h+=1}catch(v){x+=1,re.warn("refresh builtin skill failed (skipping)",{agentId:t,skillId:m.skillId,skillName:m.skillName,err:String(v)})}return n.skills=c,x===0&&(n.skillsRefreshedForVersion=i),await Ue(n,e),re.info("builtin skills refreshed after bridge upgrade",{agentId:t,from:o,to:i,ok:h,failed:x}),{status:"refreshed",count:h}}async function Fy(t){if(!t)throw new k("IPC_BAD_REQUEST","skill missing downloadUrl");if(t.startsWith("data:")){let e=Math.floor(t.length*3/4);Ki(e);let n=zy(t);return Ki(n.length),n}if(t.startsWith("file:")){let e=new URL(t).pathname,n=await So(e);return Ki(n.length),n}if(Ui(t)){let e=new AbortController,n=setTimeout(()=>e.abort(),Ly);try{let i=await fetch(t,{signal:e.signal});if(!i.ok)throw new k("IPC_BAD_REQUEST",`fetch skill failed HTTP ${i.status} ${t}`);let o=await i.arrayBuffer();return Ki(o.byteLength),Buffer.from(o)}finally{clearTimeout(n)}}throw new k("IPC_BAD_REQUEST",`unsupported downloadUrl scheme (\u8981 https/data/file): ${t.slice(0,80)}`)}function Ki(t){if(t>Ny)throw new k("IPC_BAD_REQUEST",`skill too large: ${t} bytes`)}function zy(t){let e=/^data:([^,;]*)(;base64)?,(.*)$/s.exec(t);if(!e)throw new k("IPC_BAD_REQUEST","bad data URL");let n=!!e[2],i=e[3]??"";return n?Buffer.from(i,"base64"):Buffer.from(decodeURIComponent(i),"utf8")}function Uy(t){return t.length>=2&&t[0]===31&&t[1]===139}function Hy(t){if(t.length<4||t[0]!==80||t[1]!==75)return!1;let e=t[2],n=t[3];return e===3&&n===4||e===5&&n===6}function xd(t){return t==="__MACOSX"||t.startsWith("__MACOSX/")}async function Gy(t,e){let n,i;try{n=new md.default(t),i=n.getEntries()}catch(d){throw new k("IPC_BAD_REQUEST",`zip parse failed: ${d.message}`,{cause:d})}for(let d of i){let u=d.entryName;if(!u||xd(u))continue;if(u.startsWith("/")||/^[A-Za-z]:[\\/]/.test(u))throw new k("IPC_BAD_REQUEST",`zip entry absolute path: ${u}`);if(u.split(/[/\\]/).some(x=>x===".."))throw new k("IPC_BAD_REQUEST",`zip entry contains '..' (traversal): ${u}`);let h=d.header.attr>>>16&61440;if(h!==0&&h!==32768&&h!==16384)throw new k("IPC_BAD_REQUEST",`zip entry kind 0x${h.toString(16)} not allowed (symlink/hardlink/special): ${u}`)}let o=jy(i),c=hd(e);for(let d of i){if(xd(d.entryName))continue;let u=d.entryName;if(o&&u.startsWith(o)&&(u=u.slice(o.length)),!u)continue;let h=hd(e,u),x=gd(c,h);if(x.startsWith("..")||x==="..")throw new k("IPC_BAD_REQUEST",`zip entry escapes destDir: ${u}`);if(d.isDirectory){await ld(h,{recursive:!0});continue}await ld(Ey(h),{recursive:!0});let p;try{p=d.getData()}catch(m){throw new k("IPC_BAD_REQUEST",`zip entry getData failed (${d.entryName}): ${m.message}`,{cause:m})}await fd(h,p)}}function jy(t){let e;for(let n of t){let i=n.entryName;if(!i||xd(i))continue;let o=i.indexOf("/");if(o<=0)return;let c=i.slice(0,o+1);if(e===void 0)e=c;else if(e!==c)return}return e}async function qy(t,e){await Wy(t);let n=Gf({cwd:e,strip:1}),i=!1,o=setTimeout(()=>{i=!0,n.destroy(new k("IPC_BAD_REQUEST",`tar extract timeout (${Fr}ms)`))},Fr);try{await E0(b0.from(t),n)}catch(c){throw c instanceof k?c:i?new k("IPC_BAD_REQUEST",`tar extract timeout (${Fr}ms)`):new k("IPC_BAD_REQUEST",`tar extract failed: ${c.message??String(c)}`,{cause:c})}finally{clearTimeout(o)}}async function Wy(t){let e=[],n=Lr({onReadEntry:c=>{let d=c.path,u=c.type;if(u!=="File"&&u!=="Directory"){e.push(`tar entry kind '${u}' not allowed (symlink/hardlink/special): ${d.slice(0,100)}`);return}if(d.startsWith("/")||d.startsWith("\\")||/^[a-zA-Z]:[\\/]/.test(d)){e.push(`tar entry absolute path: ${d}`);return}d.split(/[/\\]/).some(x=>x==="..")&&e.push(`tar entry contains '..': ${d}`)}}),i=!1,o=setTimeout(()=>{i=!0,n.destroy(new k("IPC_BAD_REQUEST",`tar list timeout (${Fr}ms)`))},Fr);try{await E0(b0.from(t),n)}catch(c){throw i?new k("IPC_BAD_REQUEST",`tar list timeout (${Fr}ms)`):new k("IPC_BAD_REQUEST",`tar list failed: ${c.message??String(c)}`,{cause:c})}finally{clearTimeout(o)}if(e.length>0)throw new k("IPC_BAD_REQUEST",e[0]??"tar entry validation failed")}var Ky=5e3;async function $y(t,e,n,i){return R0(t,e,n,i,{count:0})}async function R0(t,e,n,i,o){if(i<=0)return[];let c;try{c=await _0(e,{withFileTypes:!0})}catch{return[]}let d=[];for(let u of c){if(Ay.has(u.name)||u.isSymbolicLink())continue;if(o.count>=Ky){d.push({name:"...",path:"...",isDir:!1,size:0,modifiedAt:0,hasMore:!0});break}let h=ue(e,u.name),x=vy(ue(n,u.name)),p=null;try{p=await dd(h)}catch{continue}if(p.isSymbolicLink())continue;o.count++;let m={name:u.name,path:D0(gd(t,h)),isDir:p.isDirectory(),size:p.size,modifiedAt:Math.floor(p.mtimeMs)};p.isDirectory()&&i>1&&(m.children=await R0(t,h,x,i-1,o)),d.push(m)}return d.sort((u,h)=>u.isDir!==h.isDir?u.isDir?-1:1:u.name.localeCompare(h.name)),d}function Vy(t){return!t||t<=0?Sy:Math.min(t,Iy)}function Jy(t){if(!t||t==="."||t==="/")return".";let e=t.split(/[/\\]/);return e[e.length-1]||"."}function D0(t){return t.split(y0).join("/")}ne();var Tn=H("agent-health-reporter"),Zy=1e4,Yy=3,$i=class{constructor(e){this.opts=e;this.intervalMs=e.intervalMs??Zy,this.livenessFailureThreshold=e.livenessFailureThreshold??Yy}opts;timer=null;inFlight=!1;unsubscribeRegister=null;intervalMs;livenessFailureThreshold;consecutiveFailures=0;isLivenessLost(){return this.consecutiveFailures>=this.livenessFailureThreshold}start(){this.timer||(this.timer=setInterval(()=>{this.tick()},this.intervalMs),this.timer.unref?.(),this.unsubscribeRegister=this.opts.core.onAgentRegister(()=>{this.tick()}),Tn.info("heartbeat started",{intervalMs:this.intervalMs}),this.tick())}stop(){this.timer&&(clearInterval(this.timer),this.timer=null,this.unsubscribeRegister&&(this.unsubscribeRegister(),this.unsubscribeRegister=null),Tn.info("heartbeat stopped"))}async tick(){if(this.inFlight){Tn.debug("previous tick still in-flight, skip");return}let e=this.opts.getDeviceId();if(!e){this.consecutiveFailures=0,Tn.debug("deviceId not available, skip tick (\u5C1A\u672A pair)");return}this.inFlight=!0;try{let n=[];for(let d of this.opts.core.agents.values()){let u=Xy(d);if(!u)continue;let h={agentId:d.agentId,status:u};d.patToken&&(h.patToken=d.patToken),d.accountId&&(h.accountId=d.accountId),n.push(h)}if(n.length===0){this.consecutiveFailures=0;return}let i={agents:n,bridgeVersion:Mt,_meta:{cozeDeviceId:e}},o;try{o=await this.opts.core.sendRequest("_agent/health",i,5e3),this.consecutiveFailures=0}catch(d){this.consecutiveFailures+=1,Tn.warn("heartbeat batch send failed",{count:n.length,consecutiveFailures:this.consecutiveFailures,err:String(d)})}let c=o?.authFailures;if(c&&c.length>0&&(Tn.warn("heartbeat received authFailures from cloud",{count:c.length,agentIds:c.map(d=>d.agentId)}),this.opts.onAuthFailures))try{await this.opts.onAuthFailures(c)}catch(d){Tn.warn("onAuthFailures callback failed (ignored)",{err:String(d)})}}finally{this.inFlight=!1}if(this.opts.onTickEnd)try{await this.opts.onTickEnd()}catch(n){Tn.warn("onTickEnd hook failed",{err:String(n)})}}};function Xy(t){return t.status==="error"?"error":t.activeTriggers.size>0?"busy":t.status==="ok"?"online":null}Vt();import{mkdir as bd,rm as qb,stat as Wb}from"node:fs/promises";import{homedir as Kb}from"node:os";import{join as dh}from"node:path";hn();import{existsSync as db}from"node:fs";import{release as lb}from"node:os";import{basename as ub,isAbsolute as fb}from"node:path";function Vi(t,e,n){return n===void 0?{jsonrpc:"2.0",id:t,method:e}:{jsonrpc:"2.0",id:t,method:e,params:n}}function Ur(t,e){return e===void 0?{jsonrpc:"2.0",method:t}:{jsonrpc:"2.0",method:t,params:e}}function Hr(t,e){return{jsonrpc:"2.0",id:t,result:e}}function Pn(t,e){return{jsonrpc:"2.0",id:t,error:e}}Ve();var To=class extends Error{code;data;constructor(e){super(`JSON-RPC error code=${e.code} ${e.message}`),this.name="RemoteRpcError",this.code=e.code,e.data!==void 0&&(this.data=e.data)}},X={PARSE_ERROR:-32700,INVALID_REQUEST:-32600,METHOD_NOT_FOUND:-32601,INVALID_PARAMS:-32602,INTERNAL_ERROR:-32603,AGENT_NOT_FOUND:-32001,AGENT_BUSY:-32002,AGENT_TIMEOUT:-32003,AGENT_SPAWN_FAILED:-32004,OPERATION_NOT_ALLOWED_FOR_LOCAL:-32005,AGENT_DISCONNECTED:-32006,MODEL_TOKEN_GEN_FAILED:-32009,PATH_OUTSIDE_WORKSPACE:-32010,FILE_TOO_LARGE:-32011,UNSUPPORTED_MIME:-32012,UPLOAD_FAILED:-32013,UPSTREAM_NOT_READY:-32014,AGENT_FRAME_IDLE_TIMEOUT:-32016,MODEL_MODALITY_UNSUPPORTED:-32017,AGENT_DEPENDENCY_INSTALL_FAILED:-32018,AGENT_APPROVAL_TIMEOUT:-32019,AGENT_TURN_ABORTED:-32020,AGENT_ENV_NOT_READY:-32021,SKILL_NOT_FOUND:-32022,SKILL_ZIP_TOO_LARGE:-32023,OPERATION_NOT_ALLOWED_FOR_CLOUD:-32024};function O0(t){return"method"in t&&"id"in t&&t.id!==void 0}function L0(t){return"method"in t&&!("id"in t)}function Po(t){return!("method"in t)&&"id"in t}var Qy={AGENT_NOT_FOUND:X.AGENT_NOT_FOUND,AGENT_BUSY:X.AGENT_BUSY,AGENT_DISCONNECTED:X.AGENT_DISCONNECTED,AGENT_TIMEOUT:X.AGENT_TIMEOUT,AGENT_FRAME_IDLE_TIMEOUT:X.AGENT_FRAME_IDLE_TIMEOUT,AGENT_SPAWN_FAILED:X.AGENT_SPAWN_FAILED,AGENT_PROTOCOL_ERROR:X.INTERNAL_ERROR,BRIDGE_CONFIG_INVALID:X.INTERNAL_ERROR,BRIDGE_INTERNAL:X.INTERNAL_ERROR,IPC_AUTH_FAILED:X.INTERNAL_ERROR,IPC_BAD_REQUEST:X.INVALID_REQUEST,METHOD_NOT_FOUND:X.METHOD_NOT_FOUND,MODEL_TOKEN_GEN_FAILED:X.MODEL_TOKEN_GEN_FAILED,MODEL_MODALITY_UNSUPPORTED:X.MODEL_MODALITY_UNSUPPORTED,OPERATION_NOT_ALLOWED_FOR_LOCAL:X.OPERATION_NOT_ALLOWED_FOR_LOCAL,OPERATION_NOT_ALLOWED_FOR_CLOUD:X.OPERATION_NOT_ALLOWED_FOR_CLOUD,UPSTREAM_DISCONNECTED:X.INTERNAL_ERROR,UPSTREAM_HANDSHAKE_FAILED:X.INTERNAL_ERROR,PATH_OUTSIDE_WORKSPACE:X.PATH_OUTSIDE_WORKSPACE,FILE_TOO_LARGE:X.FILE_TOO_LARGE,UNSUPPORTED_MIME:X.UNSUPPORTED_MIME,UPLOAD_FAILED:X.UPLOAD_FAILED,UPSTREAM_NOT_READY:X.UPSTREAM_NOT_READY,AGENT_DEPENDENCY_INSTALL_FAILED:X.AGENT_DEPENDENCY_INSTALL_FAILED,AGENT_APPROVAL_TIMEOUT:X.AGENT_APPROVAL_TIMEOUT,AGENT_TURN_ABORTED:X.AGENT_TURN_ABORTED,AGENT_ENV_NOT_READY:X.AGENT_ENV_NOT_READY,SKILL_NOT_FOUND:X.SKILL_NOT_FOUND,SKILL_ZIP_TOO_LARGE:X.SKILL_ZIP_TOO_LARGE};function eb(t){if(t!=null)return t instanceof Error?{name:t.name,message:Ji(t.message)}:typeof t=="string"?Ji(t):typeof t=="object"?nb(t):t}var tb=[[/\/Users\/[^/\s'"`)]+/g,"/Users/<redacted>"],[/\/home\/[^/\s'"`)]+/g,"/home/<redacted>"],[/[A-Za-z]:\\Users\\[^\\\s'"`)]+/g,"C:\\Users\\<redacted>"],[/(Bearer|Token|Authorization:)\s+[\w._-]+/gi,"$1 <redacted>"],[/\b(sk|pat|ak)[-_][A-Za-z0-9_-]{20,}\b/g,"<redacted-key>"]];function Ji(t){let e=t;for(let[n,i]of tb)e=e.replace(n,i);return e}function nb(t){let e={};for(let[n,i]of Object.entries(t))typeof i=="string"?e[n]=Ji(i):e[n]=i;return e}function Zi(t){if(t instanceof k){let e=eb(t.cause),n={bridgeCode:t.code,retriable:t.retriable};return e!==void 0&&(n.cause=e),e&&typeof e=="object"&&"reason"in e&&typeof e.reason=="string"&&(n.reason=e.reason),{code:Qy[t.code]??X.INTERNAL_ERROR,message:Ji(t.message),data:n}}return{code:X.INTERNAL_ERROR,message:Ji(t instanceof Error?t.message:String(t))}}function N0(t){let e=t.data,n=e?.bridgeCode??"AGENT_PROTOCOL_ERROR",i=!!e&&typeof e.message=="string"&&!!e.message,o=i?e?.message:t.message,c=t.data;if(i&&e){let{message:d,...u}=e;c=u}return new k(n,o,{retriable:e?.retriable??!1,cause:c})}function B0(t){return`${JSON.stringify(t)}
|
|
103
|
+
`}var M0=10*1024*1024,Co=class{buffer="";onError;constructor(e={}){this.onError=e.onError}push(e){if(this.buffer+=typeof e=="string"?e:e.toString("utf8"),this.buffer.length>M0){let o=this.buffer.length;return this.buffer="",this.onError?.({line:`<buffer overflow: ${o} bytes, dropped>`,error:new Error(`LdjsonDecoder buffer exceeded ${M0} bytes`)}),[]}let n=this.buffer.split(`
|
|
104
|
+
`);this.buffer=n.pop()??"";let i=[];for(let o of n){let c=o.replace(/\r$/,"").trim();if(c)try{i.push(JSON.parse(c))}catch(d){this.onError?.({line:c,error:d})}}return i}flush(){if(!this.buffer)return[];let e=this.buffer.replace(/\r$/,"").trim();if(this.buffer="",!e)return[];try{return[JSON.parse(e)]}catch(n){return this.onError?.({line:e,error:n}),[]}}};var z0={"session/prompt":"session.prompt","session/cancel":"session.cancel","session/new":"session.new","session/load":"session.load","_agent/create":"agent.create","_agent/health":"agent.health","_agent/pair":"agent.pair","_agent/listSkills":"agent.listSkills","_agent/addSkills":"agent.addSkills","_agent/removeSkills":"agent.removeSkills","_agent/getFileTree":"agent.getFileTree","_agent/getFileContent":"agent.getFileContent","_agent/detail":"agent.detail","_agent/update":"agent.update","_agent/disconnect":"agent.disconnect","_agent/switchModel":"agent.switchModel","_agent/genModelToken":"agent.genModelToken","_agent/reset":"agent.reset","_agent/repair":"agent.repair","session/request_permission":"session.requestPermission","session/set_mode":"session.setMode",initialize:"initialize"},wT=Object.fromEntries(Object.entries(z0).map(([t,e])=>[e,t])),rb={"session.prompt":["agentId","triggerMsgId","sessionId"],"session.cancel":["agentId","triggerMsgId","sessionId"],"session.new":["agentId"],"session.load":["agentId"],"agent.create":["agentId"],"agent.health":[],"agent.listSkills":["agentId"],"agent.addSkills":["agentId"],"agent.removeSkills":["agentId"],"agent.getFileTree":["agentId"],"agent.getFileContent":["agentId"],"agent.detail":["agentId"],"agent.update":["agentId"],"agent.disconnect":["agentId"],"agent.switchModel":["agentId"],"agent.genModelToken":["agentId","sessionId"],"agent.reset":["agentId"],"agent.repair":["agentId"],"session.requestPermission":["agentId","sessionId"],"session.setMode":["agentId","sessionId"],"agent.pair":[],initialize:[]},Gr=class{seq=0;next(e,n){this.seq+=1;let i=z0[e]??ib(e),o=rb[i]??[],c=[i,String(this.seq)];if(o.length>0){let d=o.map(h=>F0(n?.[h]??"")),u=sb(d).join(":");u&&c.push(u)}else n&&Object.values(n).some(d=>d)&&c.push(Object.values(n).filter(Boolean).map(d=>F0(String(d))).join(":"));return c.join("_")}reset(){this.seq=0}};function ib(t){return t.replace(/[\s/]+/g,".").replace(/_+/g,"-")}function F0(t){return t.replace(/[:_\s]+/g,"-")}function sb(t){let e=t.length;for(;e>0&&!t[e-1];)e-=1;return t.slice(0,e)}tn();fr();Ve();ne();Pe();import{execFileSync as ob,spawnSync as ab}from"node:child_process";function Yi(t){try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}function Xi(t,e){if(!(typeof t!="number"||t<=0))try{if(process.platform==="win32"){let n=["/PID",String(t),"/T"];e==="SIGKILL"&&n.push("/F"),ab("taskkill",n,{stdio:"ignore",windowsHide:!0})}else process.kill(-t,e)}catch{}}var wd=new Set;function U0(t){typeof t=="number"&&t>0&&wd.add(t)}function H0(t){typeof t=="number"&&wd.delete(t)}function G0(){for(let t of wd)Xi(t,"SIGKILL")}var jr="coze-bridge-daemon";function j0(t){let e=t?.execFn??(()=>{if(process.platform==="win32")return"";let o=process.getuid?.()??0;return ob("pgrep",["-U",String(o),"-f",jr],{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:2e3})}),n;try{n=e()}catch{return[]}let i=process.pid;return n.split(`
|
|
105
|
+
`).map(o=>Number.parseInt(o.trim(),10)).filter(o=>Number.isFinite(o)&&o>0&&o!==i)}async function q0(t,e){if(t.length===0)return;let n=e?.killFn??Xi,i=e?.isAliveFn??Yi,o=e?.sleepFn??(u=>new Promise(h=>setTimeout(h,u))),c=e?.graceMs??3e3,d=e?.pollMs??100;for(let u of t)n(u,"SIGTERM");for(let u=0;u<c&&t.some(h=>i(h));u+=d)await o(Math.min(d,c-u));for(let u of t)i(u)&&n(u,"SIGKILL")}var cb=[{reason:"openclaw_scope_approval_pending",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/scope upgrade pending approval/i,message:"openclaw \u9700\u8981\u4F60\u5728\u672C\u673A\u6279\u51C6\u4E00\u6B21\u6743\u9650\u5347\u7EA7 (scope upgrade)\uFF0C\u8BF7\u5728\u672C\u673A openclaw \u5B8C\u6210\u6388\u6743\u540E\u91CD\u8BD5"},{reason:"openclaw_pairing_required",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/pairing required/i,message:"openclaw \u5C1A\u672A\u5B8C\u6210\u914D\u5BF9\uFF0C\u8BF7\u5148\u5728\u672C\u673A\u5B8C\u6210 openclaw \u914D\u5BF9\u540E\u91CD\u8BD5"},{reason:"openclaw_gateway_token_unavailable",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/gateway\.auth\.token.*(unavailable|secret reference)/i,message:"openclaw gateway token \u914D\u7F6E\u4E0D\u53EF\u7528 (\u914D\u6210\u4E86 secret \u5F15\u7528\u4F46\u5F53\u524D\u8DEF\u5F84\u53D6\u4E0D\u5230)\uFF0C\u8BF7\u68C0\u67E5\u672C\u673A openclaw \u7684 gateway.auth.token \u914D\u7F6E"},{reason:"openclaw_version_mismatch",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/protocol mismatch/i,message:"openclaw \u7248\u672C\u4E0E\u672C\u673A gateway \u4E0D\u517C\u5BB9 (protocol mismatch)\uFF0C\u8BF7\u5347\u7EA7\u672C\u673A openclaw \u5230\u6700\u65B0\u7248\u540E\u91CD\u8BD5"},{reason:"openclaw_gateway_not_ready",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/gateway closed (before ready|\(\d+\))/i,message:"openclaw gateway \u672A\u5C31\u7EEA (\u53EF\u80FD\u6B63\u5728\u542F\u52A8)\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"},{reason:"openclaw_config_invalid",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/OpenClaw config is invalid|Config invalid|Invalid config at|config was written by version/i,message:"\u4F60\u7684\u672C\u673A openclaw \u914D\u7F6E\u975E\u6CD5 (~/.openclaw/openclaw.json)\uFF0C\u8BF7\u8FD0\u884C `openclaw doctor --fix` \u6216 `openclaw config validate` \u4FEE\u590D\u540E\u91CD\u8BD5"},{reason:"openclaw_tls_self_signed",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/self-signed certificate/i,message:"openclaw \u8FDE\u63A5\u88AB\u81EA\u7B7E\u8BC1\u4E66/\u4F01\u4E1A\u4EE3\u7406\u62E6\u622A (self-signed certificate)\uFF0C\u8BF7\u68C0\u67E5\u672C\u673A\u7F51\u7EDC/\u4EE3\u7406\u6216\u8BC1\u4E66\u914D\u7F6E\u540E\u91CD\u8BD5"},{reason:"openclaw_node_binary_not_found",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/\[qclaw-cli\] Error: (Node binary not found|QCLAW_CLI_NODE_BINARY not set)/i,message:"\u672C\u673A\u627E\u4E0D\u5230 node \u4E8C\u8FDB\u5236 (qclaw \u542F\u52A8\u5931\u8D25)\uFF0C\u8BF7\u68C0\u67E5\u672C\u673A Node \u5B89\u88C5\u4E0E PATH \u540E\u91CD\u8BD5"},{reason:"openclaw_gateway_unavailable",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["openclaw"],match:/ECONNREFUSED|\[object ErrorEvent\]|gateway connect failed|gateway (not connected|disconnected)/i,message:"openclaw gateway \u672A\u8FD0\u884C/\u672A\u8FDE\u63A5 (\u8FDE\u63A5\u672C\u673A gateway \u88AB\u62D2\u6216\u4F1A\u8BDD\u671F\u95F4\u65AD\u5F00)\uFF0C\u8BF7\u5728\u672C\u673A\u542F\u52A8 openclaw gateway \u540E\u91CD\u8BD5"},{reason:"openclaw_shim_bug",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["openclaw"],match:/openclaw-shim\/bin\/openclaw.*unbound variable/i,message:"openclaw \u542F\u52A8 shim \u811A\u672C\u5F02\u5E38 (unbound variable)\uFF0C\u8BF7\u53CD\u9988\u73AF\u5883\u7EF4\u62A4\u65B9\u4FEE\u590D shim"},{reason:"codex_user_config_invalid",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["codex"],match:/error loading config:.*config\.toml|model_catalog_json|wire_api/i,message:"\u4F60\u7684\u672C\u673A ~/.codex/config.toml \u914D\u7F6E\u6709\u8BEF\uFF0C\u8BF7\u6309 codex \u62A5\u9519\u63D0\u793A\u4FEE\u6B63\u540E\u91CD\u8BD5"},{reason:"codex_provider_invalid",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["codex"],match:/error loading config: Model provider .* not found/i,message:"\u4F60\u7684\u672C\u673A codex \u914D\u7F6E\u5F15\u7528\u4E86\u4E0D\u5B58\u5728\u7684 model provider\uFF0C\u8BF7\u4FEE\u6B63 ~/.codex \u914D\u7F6E\u540E\u91CD\u8BD5"},{reason:"codex_path_update_failed",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["codex"],match:/could not update PATH[\s\S]*Operation not permitted/i,message:"codex \u56E0\u672C\u673A\u6743\u9650\u9650\u5236\u65E0\u6CD5\u66F4\u65B0 PATH/\u8BFB\u53D6\u914D\u7F6E (Operation not permitted)\uFF0C\u8BF7\u68C0\u67E5 ~/.codex \u76EE\u5F55\u6743\u9650\u6216\u91CD\u65B0\u6388\u4E88\u7EC8\u7AEF\u5B8C\u5168\u78C1\u76D8\u8BBF\u95EE\u540E\u91CD\u8BD5"},{reason:"node_version_too_old",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["codex"],match:/import\.meta\.resolve is not a function|\.resolve is not a function/i,message:"\u672C\u673A Node \u7248\u672C\u8FC7\u4F4E (codex ACP \u9700\u8981 import.meta.resolve)\uFF0C\u8BF7\u5347\u7EA7 Node \u5230 \u2265 20 \u540E\u91CD\u8BD5"},{reason:"codex_acp_exec_failed",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["codex"],match:/Failed to execute[\s\S]*codex-acp|spawnSync[\s\S]*codex-acp/i,message:"codex ACP \u4E8C\u8FDB\u5236\u6267\u884C\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C pair/connect \u89E6\u53D1\u4F9D\u8D56\u5B89\u88C5"},{reason:"codex_platform_binary_missing",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["codex"],match:/Failed to locate @zed-industries\/codex-acp|optional dependency was not installed/i,message:"codex ACP \u4F9D\u8D56\u7684\u5E73\u53F0\u4E8C\u8FDB\u5236\u7F3A\u5931\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C pair/connect \u89E6\u53D1\u4F9D\u8D56\u5B89\u88C5"},{reason:"acp_module_missing",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["claude-code","codex"],match:/Cannot find (module|package)[^\n]*node_modules[\\/]@(agentclientprotocol[\\/](claude-agent-acp|codex-acp)|openai[\\/]codex|zed-industries[\\/]codex-acp)|Cannot find package ['"]@openai[\\/]codex['"][\s\S]*node_modules[\\/]@agentclientprotocol[\\/]codex-acp/i,message:"ACP \u4F9D\u8D56\u672A\u6B63\u786E\u5B89\u88C5 (wrapper \u5165\u53E3\u7F3A\u5931)\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C pair/connect \u89E6\u53D1\u4F9D\u8D56\u91CD\u88C5"},{reason:"node_version_too_old",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["claude-code","openclaw"],match:/import .* with \{ type: ["']json["'] \}|import assertion|import attribute|openclaw\.mjs[\s\S]*Unexpected token '\.'/i,message:"\u672C\u673A Node \u7248\u672C\u8FC7\u4F4E (ACP \u9700\u8981\u8F83\u65B0 Node \u624D\u652F\u6301 import attributes / \u53EF\u9009\u94FE)\uFF0C\u8BF7\u5347\u7EA7 Node \u5230 \u2265 20.10 \u540E\u91CD\u8BD5"},{reason:"acp_cmd_misexec",bridgeCode:"AGENT_SPAWN_FAILED",frameworks:["claude-code"],match:/claude-agent-acp\.cmd.*@ECHO off|\.cmd:\d+/i,message:"claude ACP wrapper \u542F\u52A8\u65B9\u5F0F\u5F02\u5E38 (Windows .cmd \u88AB\u8BEF\u5F53\u811A\u672C\u6267\u884C)\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C pair/connect"},{reason:"hermes_provider_not_configured",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["hermes"],match:/(no.*openai.*provider|OPENAI_API_KEY.*(not set|missing)|(provider|model).*(not configured|misconfigured)|hermes.*setup.*required)/i,message:"hermes provider/API key \u672A\u914D\u7F6E\u597D, \u8BF7\u68C0\u67E5 <HERMES_HOME>/config.yaml + .env \u540E\u91CD\u8BD5"},{reason:"prompt_too_long",bridgeCode:"AGENT_ENV_NOT_READY",frameworks:["claude-code"],match:/Prompt is too long|bad request: failed to read body: length limit exceeded/i,message:"\u672C\u8F6E\u8F93\u5165\u8FC7\u957F\uFF0C\u8D85\u8FC7\u6A21\u578B\u4E0A\u4E0B\u6587\u4E0A\u9650\uFF0C\u8BF7\u7CBE\u7B80\u8F93\u5165\u6216\u5F00\u542F\u65B0\u4F1A\u8BDD\u540E\u91CD\u8BD5"}];function W0(t,e){if(!e)return null;for(let n of cb)if(!(n.frameworks&&!n.frameworks.includes(t))&&n.match.test(e))return{bridgeCode:n.bridgeCode,reason:n.reason,message:n.message};return null}function K0(t,e){return W0(t,e)}function $0(t,e){return W0(t,e)}function qr(t,e,n){return!e&&n.firstUpdateMs>0&&t<n.firstUpdateMs?Math.max(1,n.firstUpdateMs-t):t<n.phase2GateMs?Math.max(1,n.phase2GateMs-t):Math.max(1,n.livenessWindowMs)}function V0(t,e,n){let o=n-t.armedAt-t.expectedIntervalMs;if(o>e.suspendThresholdMs){let x=t.suspendedMs+o,p=n-t.startedAt-x;return{action:"suspend",suspendedDeltaMs:o,rearmMs:qr(p,t.firstFrameSeen,e)}}let c=n-t.startedAt-t.suspendedMs,d=t.awaitingApproval?e.approvalMaxMs:e.absoluteMaxMs;return c>=d?{action:"reject-backstop",awaitingApproval:t.awaitingApproval}:t.firstFrameSeen?c<e.phase2GateMs?{action:"continue",rearmMs:qr(c,!0,e)}:n-t.lastActivityAt<e.livenessWindowMs||t.hasActiveTool||t.awaitingApproval?{action:"continue",rearmMs:qr(c,!0,e)}:{action:"reject-idle"}:e.firstUpdateMs>0&&c>=e.firstUpdateMs&&!t.awaitingApproval?{action:"reject-idle"}:{action:"continue",rearmMs:qr(c,!1,e)}}var J0=Ye("COZE_BRIDGE_INITIALIZE_TIMEOUT_MS",3e4),hb=200,xb=40,pb=Ye("COZE_BRIDGE_SESSION_PROMPT_MAX_MS",3600*1e3),gb=Ye("COZE_BRIDGE_SESSION_PROMPT_IDLE_MS",600*1e3),mb=Ye("COZE_BRIDGE_SESSION_PROMPT_ABSOLUTE_MAX_MS",7200*1e3),wb=Ye("COZE_BRIDGE_SUSPEND_THRESHOLD_MS",60*1e3),_b=Ye("COZE_BRIDGE_SESSION_PROMPT_FIRST_UPDATE_MS",600*1e3),yb=Ye("COZE_BRIDGE_SESSION_PROMPT_APPROVAL_MAX_MS",1440*60*1e3),Z0=500;function bb(t){try{let e=JSON.stringify(t);return e===void 0||e.length<=Z0?t:`${e.slice(0,Z0)}...<truncated, total ${e.length} chars>`}catch{return"<unserializable>"}}function Eb(t){let e=[];typeof t.message=="string"&&e.push(t.message);let{data:n}=t;if(typeof n=="string")e.push(n);else if(n&&typeof n=="object")try{e.push(JSON.stringify(n))}catch{}return e.join(" ")}function Y0(t){try{return db(t)}catch{return}}function vb(t,e){return{platform:process.platform,osRelease:lb(),code:t.code,errno:t.errno,syscall:t.syscall,errPath:t.path,command:e.command,commandExists:fb(e.command)?Y0(e.command):void 0,cwd:e.cwd,cwdExists:Y0(e.cwd),envKeys:e.envKeys}}function Sb(t,e){return`${t.message} [diag: platform=${e.platform} os=${e.osRelease} code=${e.code} errno=${e.errno} syscall=${e.syscall} cmd=${ub(e.command)} cmdExists=${e.commandExists} cwdExists=${e.cwdExists} envKeys=${e.envKeys}]`}var mt=class{constructor(e){this.opts=e;this.log=H(`downstream.${this.constructor.name}`,this.opts.agentId),this.decoder=new Co({onError:n=>this.log.warn("decode line failed",{line:n.line})})}opts;child;decoder;pending=new Map;inflightAgentRequests=new Map;idAllocator=new Gr;updateHandlers=[];agentRequestHandlers=[];exitHandlers=[];log;stopped=!1;stopReason;stderrRing=[];now=Date.now;sanitizeEnv(e){return e}async start(){if(this.child)throw new k("BRIDGE_INTERNAL","Downstream already started");let e=process.platform!=="win32",n=Zf(process.env,this.opts.agentEnvFile??Y().agentEnvFile,this.opts.env,o=>this.sanitizeEnv(o)),i=ot(this.opts.command,this.opts.args,{cwd:this.opts.cwd,env:n,stdio:["pipe","pipe","pipe"],detached:e});this.child=i,U0(i.pid),i.stdout?.setEncoding("utf8"),i.stdout?.on("data",o=>{try{for(let c of this.decoder.push(o))this.dispatch(c)}catch(c){this.log.warn("stdout dispatch threw, swallowed to keep daemon alive",{err:String(c)})}}),i.stderr?.setEncoding("utf8"),i.stderr?.on("data",o=>{let c=o.trimEnd();this.stderrRing.push(c),this.stderrRing.length>hb&&this.stderrRing.shift(),this.log.debug("stderr",{text:c})}),i.stdin?.on("error",o=>{this.log.warn("child stdin error",{err:String(o)})}),i.stdout?.on("error",o=>{this.log.warn("child stdout error",{err:String(o)})}),i.stderr?.on("error",o=>{this.log.warn("child stderr error",{err:String(o)})}),i.on("exit",(o,c)=>{this.stopped=!0,H0(i.pid),(o!==0||c!==null)&&this.stderrRing.length>0&&this.log.warn("downstream exited abnormally, recent stderr",{code:o,signal:c,recentStderr:[...this.stderrRing]});try{for(let u of this.decoder.flush())this.dispatch(u)}catch(u){this.log.debug("decoder.flush on exit threw (ignored)",{err:String(u)})}this.failAllPending(this.buildExitError(o,c));for(let u of this.exitHandlers)u(o,c)}),i.on("error",o=>{let c=o,d=vb(c,{command:this.opts.command,cwd:this.opts.cwd,envKeys:Object.keys(n).length});this.log.error("child error",{err:String(o),diag:d}),this.failAllPending(new k("AGENT_SPAWN_FAILED",Sb(c,d),{cause:d}))}),this.log.info("downstream started",{command:this.opts.command,pid:i.pid,cwd:this.opts.cwd})}async stop(e){if(!this.child||this.stopped)return;this.stopped=!0,this.stopReason=e??"stopped",this.log.info("downstream stopping",{reason:e});let n=this.child,i=new Promise(c=>n.once("exit",()=>c()));Xi(n.pid,"SIGTERM");let o=setTimeout(()=>{n.killed||Xi(n.pid,"SIGKILL")},5e3);try{await i}finally{clearTimeout(o)}}pid(){return this.child?.pid}isAlive(){return!!this.child&&!this.stopped}getStderrTail(e){return e===void 0?[...this.stderrRing]:this.stderrRing.slice(-e)}initialize(e){return this.call("initialize",e)}sessionNew(e){return this.call("session/new",{mcpServers:[],...e})}sessionLoad(e){return this.call("session/load",{mcpServers:[],...e})}sessionPrompt(e,n){let i={firstUpdateMs:_b,phase2GateMs:pb,livenessWindowMs:gb,absoluteMaxMs:mb,approvalMaxMs:yb,suspendThresholdMs:wb,...n};return this.call("session/prompt",e,J0,i)}async sessionCancel(e){!this.child||this.stopped||this.writeFrame(Ur("session/cancel",e))}setSessionMode(e){return this.call("session/set_mode",e)}setSessionModel(e){return this.call("session/set_model",e)}onUpdate(e){this.updateHandlers.push(e)}onAgentRequest(e){this.agentRequestHandlers.push(e)}respondAgentRequest(e,n){if(this.inflightAgentRequests.delete(e),!(!this.child||this.stopped))try{this.writeFrame(Hr(e,n))}catch(i){this.log.warn("respondAgentRequest write failed",{id:e,err:String(i)})}}respondAgentRequestError(e,n){if(this.inflightAgentRequests.delete(e),!(!this.child||this.stopped))try{this.writeFrame(Pn(e,n))}catch(i){this.log.warn("respondAgentRequestError write failed",{id:e,err:String(i)})}}onExit(e){this.exitHandlers.push(e)}call(e,n,i=J0,o){if(!this.child||this.stopped)return Promise.reject(new k("AGENT_PROTOCOL_ERROR","downstream not started"));let c=this.idAllocator.next(e),d=Vi(c,e,n),u=(()=>{if(typeof n!="object"||n===null)return;let h=n.sessionId;return typeof h=="string"?h:void 0})();return new Promise((h,x)=>{let p={resolve:h,reject:x,timer:null,method:e,promptTimeout:null};if(o){let m=this.now(),v={cfg:o,startedAt:m,lastActivityAt:m,firstFrameSeen:!1,activeToolCalls:new Set,suspendedMs:0,armedAt:m,expectedIntervalMs:qr(0,!1,o),sessionId:u};p.promptTimeout=v;let _=()=>{let y={startedAt:v.startedAt,lastActivityAt:v.lastActivityAt,firstFrameSeen:v.firstFrameSeen,hasActiveTool:v.activeToolCalls.size>0,awaitingApproval:this.inflightAgentRequests.size>0,suspendedMs:v.suspendedMs,armedAt:v.armedAt,expectedIntervalMs:v.expectedIntervalMs},I=this.now(),A=V0(y,v.cfg,I),T=R=>{v.armedAt=I,v.expectedIntervalMs=R,p.timer=setTimeout(_,R)};if(A.action==="suspend"){v.suspendedMs+=A.suspendedDeltaMs,v.lastActivityAt=I,this.log.warn("downstream prompt timer: suspend detected",{id:c,method:e,gapMs:A.suspendedDeltaMs,suspendedMs:v.suspendedMs,...v.sessionId?{sessionId:v.sessionId}:{}}),T(A.rearmMs);return}if(A.action==="continue"){T(A.rearmMs);return}this.pending.delete(c),A.action==="reject-backstop"?(this.log.warn("downstream prompt absolute timeout",{id:c,method:e,awaitingApproval:A.awaitingApproval,...v.sessionId?{sessionId:v.sessionId}:{}}),x(A.awaitingApproval?new k("AGENT_APPROVAL_TIMEOUT",`${e} awaiting permission timed out after ${v.cfg.approvalMaxMs}ms`):new k("AGENT_TIMEOUT",`${e} timed out after ${v.cfg.absoluteMaxMs}ms`))):(this.log.warn("downstream prompt idle timeout",{id:c,method:e,...v.sessionId?{sessionId:v.sessionId}:{}}),x(new k("AGENT_FRAME_IDLE_TIMEOUT",`${e} no progress within ${v.cfg.livenessWindowMs}ms`)))};p.timer=setTimeout(_,v.expectedIntervalMs)}else i>0&&Number.isFinite(i)&&(p.timer=setTimeout(()=>{this.pending.delete(c),this.log.warn("downstream call timeout",{id:c,method:e,timeoutMs:i}),x(new k("AGENT_TIMEOUT",`${e} timed out after ${i}ms`))},i));this.pending.set(c,p);try{this.writeFrame(d)}catch(m){p.timer&&clearTimeout(p.timer),this.pending.delete(c),x(m)}})}writeFrame(e){if(!this.child?.stdin||this.child.stdin.destroyed)throw new k("AGENT_PROTOCOL_ERROR","downstream stdin not writable");this.child.stdin.write(B0(e),n=>{n&&this.log.warn("stdin write callback err",{err:String(n)})})}dispatch(e){if(Po(e)){let n=e.id!==null?this.pending.get(e.id):void 0;if(!n){this.log.warn("orphan response",{id:e.id});return}this.pending.delete(e.id),n.timer&&clearTimeout(n.timer),e.error?(this.log.warn("downstream returned error frame",{id:e.id,method:n.method,code:e.error.code,message:e.error.message,data:e.error.data}),n.reject(this.wireErrorToBridge(e.error))):e.result===void 0?(this.log.warn("downstream response missing both result and error",{id:e.id,method:n.method}),n.reject(new k("AGENT_PROTOCOL_ERROR",`${n.method} response missing both result and error`))):(this.log.info("downstream returned result",{id:e.id,method:n.method,result:bb(e.result)}),n.resolve(e.result));return}if(L0(e)){if(e.method==="session/update"){let n=e.params;for(let i of this.pending.values()){let o=i.promptTimeout;o&&(o.firstFrameSeen=!0,o.lastActivityAt=this.now(),this.trackToolCall(o,n))}for(let i of this.updateHandlers)try{Promise.resolve(i(n)).catch(o=>this.log.warn("update handler failed (async)",{err:String(o)}))}catch(o){this.log.warn("update handler threw sync, swallowed",{err:String(o)})}}else this.log.info("unknown notification (drop, not forwarded)",{method:e.method});return}if(O0(e)){let n=e;try{this.handleAgentRequest(n).catch(i=>this.log.error("agent request handler failed (async)",{method:n.method,err:String(i)}))}catch(i){this.log.warn("handleAgentRequest threw sync, swallowed",{method:n.method,err:String(i)})}}}trackToolCall(e,n){let i=n.update,o=i?.sessionUpdate;if(o!=="tool_call"&&o!=="tool_call_update")return;let c=typeof i.toolCallId=="string"?i.toolCallId:void 0;if(!c)return;let d=typeof i.status=="string"?i.status:void 0,u=d==="completed"||d==="failed"||d==="cancelled";o==="tool_call"&&!u?e.activeToolCalls.add(c):u&&e.activeToolCalls.delete(c)}async handleAgentRequest(e){if(this.agentRequestHandlers.length===0){this.writeFrame(Pn(e.id,{code:-32601,message:`method not handled by Bridge: ${e.method}`}));return}this.inflightAgentRequests.set(e.id,e.method);for(let n of this.agentRequestHandlers)try{await n(e)}catch(i){this.log.error("agentRequestHandler threw",{method:e.method,err:String(i)});try{this.writeFrame(Pn(e.id,Zi(i)))}catch{}this.inflightAgentRequests.delete(e.id)}}wireErrorToBridge(e){let n=N0(e);if(n.code!=="AGENT_PROTOCOL_ERROR")return n;let i=$0(this.framework,Eb(e));return i?new k(i.bridgeCode,i.message,{cause:{reason:i.reason,wireCode:e.code,wireMessage:e.message,wireData:e.data}}):n}buildExitError(e,n){if(this.stopReason!==void 0)return new k("AGENT_TURN_ABORTED",`turn aborted: ${this.stopReason}`,{cause:{reason:this.stopReason}});let i=this.getStderrTail(xb).join(`
|
|
106
|
+
`),o=K0(this.framework,i);return o?new k(o.bridgeCode,o.message,{cause:{reason:o.reason,code:e,signal:n,stderrTail:i}}):new k("AGENT_PROTOCOL_ERROR",`agent exited (${e}/${n})`,{cause:{code:e,signal:n,stderrTail:i}})}failAllPending(e){for(let n of this.pending.values())n.timer&&clearTimeout(n.timer),n.reject(e);this.pending.clear(),this.inflightAgentRequests.clear()}};function Ib(t){let e={};for(let[n,i]of Object.entries(t))i!==void 0&&(n.startsWith("CLAUDE")||n==="AI_AGENT"||n==="BAGGAGE"||(e[n]=i));return e}var Ro=class extends mt{framework="claude-code";constructor(e){let{command:n,args:i}=li("claude-code",e.command,e.args??[]),o={command:n,args:i,cwd:e.cwd,agentId:e.agentId,...e.env?{env:e.env}:{}};super(o)}sanitizeEnv(e){return Ib(e)}};hn();import{mkdtempSync as Ab,rmSync as kb}from"node:fs";import{tmpdir as Tb}from"node:os";import{join as Pb}from"node:path";var X0=["default","acceptEdits","plan","auto","bypassPermissions"],Q0=["read-only","auto","full-access"];var eh=["default","accept_edits","dont_ask"];function Bt(t,e){if(typeof e!="string")return!1;switch(t){case"claude-code":return X0.includes(e);case"codex":return Q0.includes(e);case"hermes":return eh.includes(e);case"openclaw":return!1}}function Do(t){switch(t){case"read-only":return"read-only";case"auto":return"agent";case"full-access":return"agent-full-access"}}function th(t){switch(t){case"read-only":return"read-only";case"agent":return"auto";case"agent-full-access":return"full-access";default:return}}function _d(t){switch(t){case"claude-code":return X0.join("/");case"codex":return Q0.join("/");case"hermes":return eh.join("/");case"openclaw":return""}}var Oo=class extends mt{framework="codex";authMethodId;codexHomeDir;constructor(e){let n=e.args??[],i=e.extraArgs?[...n,...e.extraArgs]:n,{command:o,args:c}=li("codex",e.command,i),d=e.isolateCodexHome?Ab(Pb(Tb(),"coze-bridge-codex-home-")):void 0,u=d?{...e.env??{},CODEX_HOME:d}:e.env,h={command:o,args:c,cwd:e.cwd,agentId:e.agentId,...u?{env:u}:{}};super(h),this.authMethodId=e.authMethodId,this.codexHomeDir=d}async initialize(e){let n=await super.initialize(e);return this.authMethodId&&await this.call("authenticate",{methodId:this.authMethodId}),n}setSessionMode(e){let n=Bt("codex",e.modeId)?Do(e.modeId):e.modeId;return super.setSessionMode({...e,modeId:n})}onUpdate(e){super.onUpdate(n=>e(Cb(n)))}async stop(e){if(await super.stop(e),this.codexHomeDir)try{kb(this.codexHomeDir,{recursive:!0,force:!0})}catch{}}};function Cb(t){let e=t.update;if(e.sessionUpdate!=="current_mode_update"||typeof e.currentModeId!="string")return t;let n=th(e.currentModeId);return!n||n===e.currentModeId?t:{...t,update:{...t.update,currentModeId:n}}}ne();var Rb=H("hermes-downstream"),Lo=class extends mt{framework="hermes";modelId;constructor(e){let n={command:e.command,args:[],cwd:e.cwd,agentId:e.agentId,...e.env?{env:e.env}:{}};super(n),e.modelId&&(this.modelId=e.modelId)}async afterSessionEstablished(e){if(this.modelId)try{await this.setSessionModel({sessionId:e,modelId:this.modelId})}catch(n){Rb.warn("hermes session/set_model post-establish failed (ignored)",{sessionId:e,modelId:this.modelId,err:String(n)})}}};Ve();var Db=3e4,Wr=class extends mt{framework="openclaw";agentId;sessionName;slashModelOnStart;constructor(e){let n=e.sessionName??"default",i=["acp","--session",`agent:${e.agentId}:${n}`];e.gatewayToken&&i.push("--token",e.gatewayToken);let o={command:e.command,args:i,cwd:e.cwd,agentId:e.agentId,...e.env?{env:e.env}:{}};super(o),this.agentId=e.agentId,this.sessionName=n,this.slashModelOnStart=e.slashModelOnStart}async afterSessionEstablished(e){this.slashModelOnStart&&(this.log.info("switching session to per-session provider via /model",{agentId:this.agentId,sessionName:this.sessionName,slash:this.slashModelOnStart}),await this.call("session/prompt",{sessionId:e,prompt:[{type:"text",text:`/model ${this.slashModelOnStart}`}]},Db))}get acpSessionName(){return this.sessionName}setSessionMode(e){return Promise.reject(new k("METHOD_NOT_FOUND","session/set_mode not supported on openclaw"))}};$t();Ve();ne();Pe();function yd(t){return t.replace(/[^A-Za-z0-9._-]+/g,"-")}hn();var Cn=class{slots=[];running=!1;closed=!1;disposed=!1;enqueue(e){return this.disposed?Promise.reject(new Error("AsyncQueue disposed")):this.closed?Promise.reject(new Error("AsyncQueue closed")):new Promise((n,i)=>{this.slots.push({task:e,resolve:n,reject:i}),this.drain()})}close(){this.closed=!0}dispose(e=new Error("AsyncQueue disposed")){for(this.disposed=!0,this.closed=!0;this.slots.length>0;)this.slots.shift()?.reject(e)}get size(){return this.slots.length}get isRunning(){return this.running}get isDisposed(){return this.disposed}async drain(){if(!this.running){this.running=!0;try{for(;this.slots.length>0&&!this.disposed;){let e=this.slots.shift();if(!e)break;try{let n=await e.task();e.resolve(n)}catch(n){e.reject(n)}}}finally{this.running=!1}}}};var No=class{agentId;framework;workspace;deployType;accountId;patToken;modelInfo;sessions=new Map;sessionQueues=new Map;activeTriggers=new Map;activeGroupIds=new Map;status="ok";model;lastActiveAt=Date.now();constructor(e){this.agentId=e.agentId,this.framework=e.framework,this.workspace=e.workspace,this.model=e.model,this.deployType=e.deployType??"local",e.accountId&&(this.accountId=e.accountId),e.patToken&&(this.patToken=e.patToken),e.modelInfo&&(this.modelInfo=e.modelInfo)}setPatToken(e){this.patToken=e}setModelInfo(e){this.modelInfo=e}getSessionQueue(e){let n=this.sessionQueues.get(e);return(!n||n.isDisposed)&&(n=new Cn,this.sessionQueues.set(e,n)),n}allSessionQueues(){return this.sessionQueues.entries()}hasSessionQueue(e){let n=this.sessionQueues.get(e);return!!n&&!n.isDisposed}async dispose(e){this.status="stopped";let n=new Error(`AgentSession disposed${e?`: ${e}`:""}`);for(let i of this.sessionQueues.values())i.dispose(n);this.sessionQueues.clear(),await this.killAllRuntimes(e??"dispose")}async killAllRuntimes(e){let n=[];for(let[,i]of this.sessions)Qi(i),i.downstream&&(n.push(i.downstream.stop(e).catch(()=>{})),i.downstream=void 0);await Promise.all(n),this.activeTriggers.clear(),this.activeGroupIds.clear()}};function Qi(t){t.idleTimer&&(clearTimeout(t.idleTimer),t.idleTimer=void 0)}function nn(t){return t.framework==="hermes"?!0:t.deployType!=="local"?!1:t.framework==="claude-code"||t.framework==="codex"}tn();ne();import{constants as nh}from"node:fs";import{access as Ob,readFile as Lb}from"node:fs/promises";import{delimiter as Nb,dirname as Mb,join as rh}from"node:path";var nt=H("framework-detector"),ih={"claude-code":"claude",codex:"codex",openclaw:"openclaw",hermes:"hermes-acp"},Bb=[".exe",".cmd",".bat",".ps1"],er=class{env;constructor(e={}){this.env={pathEnv:e.pathEnv??process.env.PATH??"",platform:e.platform??process.platform,spawn:e.spawn??ot,access:e.access??Ob,readFile:e.readFile??Lb}}async detect(e){let n=ih[e],i=await this.which(n);if(!i&&e==="hermes"&&(i=await this.resolveHermesAcpViaHermesShim()),!i)return nt.debug("framework binary not found",{framework:e,bin:n}),null;let o=e==="openclaw"?["--log-level","silent"]:[],[c,d]=await Promise.all([this.probeVersion(i,o),e==="openclaw"?this.probeOpenclawDefaultAgent(i):Promise.resolve(null)]),u={path:i,version:c};return d&&(u.defaultAgent=d),u}async detectAll(){let e=await Promise.all(Object.keys(ih).map(async i=>[i,await this.detect(i)])),n={};for(let[i,o]of e)o&&(n[i]=o);return n}async which(e){let n=this.env.pathEnv.split(Nb).filter(Boolean),i=this.env.platform==="win32"?["",...Bb]:[""];for(let o of n)for(let c of i){let d=rh(o,e+c);if(await this.isExecutable(d))return d}return null}async isExecutable(e){try{let n=this.env.platform==="win32"?nh.F_OK:nh.X_OK;return await this.env.access(e,n),!0}catch{return!1}}async resolveHermesAcpViaHermesShim(){if(this.env.platform==="win32")return null;let e=await this.which("hermes");if(!e)return null;let n;try{n=await this.env.readFile(e,"utf8")}catch(d){return nt.debug("hermes shim fallback: readFile failed",{hermesPath:e,err:String(d)}),null}let o=n.match(/exec\s+["']?(\/[^\s"']+\/bin\/hermes)["']?/)?.[1];if(!o)return nt.debug("hermes shim fallback: no exec line matched",{hermesPath:e}),null;let c=rh(Mb(o),"hermes-acp");return await this.isExecutable(c)?(nt.info("hermes-acp resolved via hermes shim fallback",{hermesPath:e,candidate:c}),c):(nt.debug("hermes shim fallback: hermes-acp not executable at inferred path",{hermesPath:e,candidate:c}),null)}async probeOpenclawDefaultAgent(e){let n=await this.runProbe(e,["--log-level","silent","agents","list","--json"]);if(!n)return nt.warn("openclaw default agent probe: runProbe returned null (spawn err / timeout)",{path:e}),null;if(n.code!==0)return nt.warn("openclaw default agent probe: non-zero exit",{path:e,code:n.code,stdoutHead:n.stdout.slice(0,200)}),null;let i=n.stdout.match(/\[\s*\{[\s\S]*\}\s*\]/);if(!i)return nt.warn("openclaw default agent probe: regex no match (no JSON array in stdout)",{path:e,stdoutHead:n.stdout.slice(0,200)}),null;try{let o=JSON.parse(i[0]);if(!Array.isArray(o))return nt.warn("openclaw default agent probe: JSON parsed but not an array",{path:e}),null;let c=o.find(d=>d?.isDefault===!0);return c?!c.id||!c.workspace?(nt.warn("openclaw default agent probe: default agent missing id or workspace",{path:e,hasId:!!c.id,hasWorkspace:!!c.workspace}),null):{id:c.id,workspace:c.workspace}:(nt.info("openclaw default agent probe: no agent has isDefault=true",{path:e,agentCount:o.length}),null)}catch(o){return nt.warn("openclaw default agent probe: JSON.parse failed",{path:e,err:String(o),matchHead:i[0].slice(0,200)}),null}}async probeOpenclawGateway(e){let n=await this.runProbe(e,["--log-level","silent","gateway","status","--json","--require-rpc","--timeout","5000"]);if(!n)return nt.warn("openclaw gateway probe: runProbe returned null (spawn err / timeout)",{path:e}),{reachable:!1};let i=n.code===0;i||nt.warn("openclaw gateway probe: non-zero exit (gateway unreachable)",{path:e,code:n.code,stdoutHead:n.stdout.slice(0,200)});let o={reachable:i},c=n.stdout.match(/\{[\s\S]*\}/);if(c)try{let d=JSON.parse(c[0]);typeof d.gateway?.port=="number"&&(o.port=d.gateway.port),typeof d.service?.runtime?.status=="string"&&(o.runtime=d.service.runtime.status),!i&&typeof d.rpc?.error=="string"&&(o.detail=d.rpc.error)}catch(d){nt.warn("openclaw gateway probe: JSON.parse failed (detail omitted, gate by exit code)",{path:e,err:String(d)})}return o}async probeVersion(e,n=[]){let i=await this.runProbe(e,[...n,"--version"]);return i&&(zb(i.stdout).split(/\r?\n/)[0]??"").trim()||"unknown"}runProbe(e,n){return new Promise(i=>{let o="",c=!1,d,u=h=>{c||(c=!0,d&&clearTimeout(d),i(h))};try{let h=this.env.spawn(e,n,{stdio:["ignore","pipe","pipe"]});d=setTimeout(()=>{h.kill("SIGKILL"),u(null)},15e3),h.stdout?.on("data",x=>{o+=x.toString("utf8")}),h.on("error",()=>u(null)),h.on("close",x=>u({code:x,stdout:o}))}catch{u(null)}})}},Fb=new RegExp("\x1B\\[[0-9;]*[A-Za-z]","g");function zb(t){return t.replace(Fb,"")}import{homedir as Ub}from"node:os";import{join as Hb}from"node:path";$t();tn();fr();Ve();ne();async function ah(){let t=Hb(Ub(),".openclaw/openclaw.json");return gr(t)}async function ch(){return(await ah())?.gateway?.auth?.token??""}var sh=H("openclaw.config"),Gb=[0,5e3,5e3],jb=Ye("COZE_BRIDGE_OPENCLAW_CLI_TIMEOUT_MS",15e3),oh="models.providers.",Mo="agents.defaults.models",Bo=class{command;env;retryDelaysMs;cliTimeoutMs;queue=new Cn;constructor(e){this.command=e.command,this.env=e.env??process.env,this.retryDelaysMs=e.retryDelaysMs??Gb,this.cliTimeoutMs=e.cliTimeoutMs??jb}async withRetry(e,n){let i;for(let o=0;o<this.retryDelaysMs.length;o++){let c=this.retryDelaysMs[o]??0;c>0&&await new Promise(d=>setTimeout(d,c));try{return await n()}catch(d){i=d,sh.warn("openclaw cli failed, will retry",{label:e,attempt:o+1,err:String(d)})}}throw new k("AGENT_SPAWN_FAILED",`openclaw cli ${e} failed after ${this.retryDelaysMs.length} attempts: ${i?.message??"unknown"}`)}runCli(e){return new Promise((n,i)=>{let o=ot(this.command,e,{stdio:["ignore","ignore","pipe"],env:this.env}),c="",d=!1,u=x=>{d||(d=!0,clearTimeout(h),x())};o.stderr?.on("data",x=>{c+=x.toString("utf8")});let h=setTimeout(()=>{u(()=>{o.kill("SIGTERM"),setTimeout(()=>o.kill("SIGKILL"),250).unref(),i(new Error(`timeout after ${this.cliTimeoutMs}ms: ${e.join(" ")}`))})},this.cliTimeoutMs);h.unref(),o.on("error",x=>u(()=>i(x))),o.on("close",x=>u(()=>{x===0?n():i(new Error(`exit ${x}: ${c.trim().slice(0,500)}`))}))})}async runCliTolerant(e,n){try{await this.runCli(e)}catch(i){let o=String(i);if(n.some(c=>o.includes(c)))return;throw i}}async bestEffortUnset(e,n){try{await this.queue.enqueue(()=>this.withRetry(e,()=>this.runCliTolerant(["config","unset",n],["Config path not found","Nothing was changed"])))}catch(i){sh.warn(`${e} failed (best-effort)`,{configPath:n,err:String(i)})}}ensureProvider(e,n){return this.queue.enqueue(()=>this.withRetry(`config set models.providers.${e}`,()=>this.runCli(["config","set",`${oh}${e}`,JSON.stringify(n),"--strict-json","--merge"])))}removeProvider(e){return this.bestEffortUnset(`config unset models.providers.${e}`,`${oh}${e}`)}addModelToAllowlist(e,n){let i={[e]:n?{alias:n}:{}};return this.queue.enqueue(()=>this.withRetry(`config set ${Mo}[${e}]`,()=>this.runCli(["config","set",Mo,JSON.stringify(i),"--strict-json","--merge"])))}removeModelFromAllowlist(e){return this.bestEffortUnset(`config unset ${Mo}[${e}]`,`${Mo}.${e}`)}async getAllowlistModelsForProvider(e){let i=(await ah())?.agents?.defaults?.models;if(!i||typeof i!="object")return[];let o=`${e}/`,c=[];for(let d of Object.keys(i))d.startsWith(o)&&c.push(d.slice(o.length));return c}ensureAgent(e,n,i){let o=["agents","add",e,"--workspace",n,"--non-interactive"];return i&&o.push("--model",i),this.queue.enqueue(()=>this.withRetry(`agents add ${e}`,()=>this.runCliTolerant(o,["already exists","already registered"])))}restartGateway(){return this.queue.enqueue(()=>this.withRetry("gateway restart",()=>this.runCli(["gateway","restart"])))}deleteAgent(e){return this.queue.enqueue(()=>this.withRetry(`agents delete ${e}`,()=>this.runCliTolerant(["agents","delete",e,"--force"],["not found","does not exist"])))}};var fe=H("agent-manager"),vd="acceptEdits",fh="full-access",hh="read-only";function $b(t){return{INITIAL_AGENT_MODE:Do(t)}}var Vb=(t,e,n,i,o,c,d,u,h,x)=>{switch(t){case"claude-code":{let p={...o?{...o0(o),...d0(o,d,u)}:{},...h??{},IS_SANDBOX:"1"};return new Ro({cwd:n,env:p,agentId:i})}case"codex":{let p=fh;x!==void 0&&(Bt("codex",x)?p=x:fe.warn("codex spawn: invalid codexPermissionMode, falling back to full-access",{agentId:i,received:x}));let m=!!o,v={...o?{...c0(o),...a0(o,d,u)}:{},...$b(p),...m?{NO_BROWSER:"1"}:{},...h??{}};return new Oo({cwd:n,agentId:i,...Object.keys(v).length>0?{env:v}:{},...m?{authMethodId:"api-key",isolateCodexHome:!0}:{}})}case"openclaw":return new Wr({command:e,cwd:n,agentId:i,...c?{sessionName:yd(c)}:{}});case"hermes":return new Lo({command:e,cwd:n,agentId:i,...h&&Object.keys(h).length>0?{env:{...h}}:{},...o?.model?{modelId:o.model}:{}})}};function Ed(t){return t==="claude-code"||t==="codex"}var Jb={path:"",version:"cloud-deployed"},lh="openclaw_gateway_unavailable",Zb="openclaw_default_agent_missing";function uh(t){let e=[t.port!==void 0?`port=${t.port}`:"",t.runtime?`runtime=${t.runtime}`:"",t.detail??""].filter(Boolean).join(", ");return`openclaw gateway \u672A\u8FD0\u884C/\u4E0D\u53EF\u8FBE${e?` (${e})`:""}; \u8BF7\u542F\u52A8 openclaw gateway`}var Yb={protocolVersion:1,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0}}},Xb=6e4,Fo=class{paths;config;registry;factory;createTimeoutMs;openclawConfigCache;ensuredProviders=new Set;detectorFactory;openclawEnvBootstrapPromise;openclawConfigFactory;openclawConfigDir;constructor(e){this.paths=e.paths,this.config=e.config,this.registry=e.registry,this.factory=e.downstreamFactory??Vb,this.createTimeoutMs=e.createTimeoutMs??Xb,this.detectorFactory=e.detectorFactory??(()=>new er),this.openclawConfigFactory=e.openclawConfigFactory??(n=>new Bo({command:n})),this.openclawConfigDir=e.openclawConfigDir??dh(Kb(),".openclaw")}buildBinShimPathEnv(){let e=process.platform==="win32"?";":":";return{PATH:`${this.paths.binDir}${e}${process.env.PATH??""}`}}getOpenclawConfig(){if(!this.openclawConfigCache){let e=this.config.frameworksCache?.openclaw;if(!e?.path)throw new k("AGENT_SPAWN_FAILED","openclaw binary not detected on this machine");this.openclawConfigCache=this.openclawConfigFactory(e.path)}return this.openclawConfigCache}bootstrapOpenclawEnvIfNeeded(){return this.openclawEnvBootstrapPromise?this.openclawEnvBootstrapPromise:(this.openclawEnvBootstrapPromise=this.doBootstrapOpenclawEnv().catch(e=>{fe.warn("openclaw env bootstrap failed (ignored)",{err:String(e)}),this.openclawEnvBootstrapPromise=void 0}),this.openclawEnvBootstrapPromise)}async doBootstrapOpenclawEnv(){let e=this.openclawConfigDir,n=dh(e,".env");if(await Wb(n).then(c=>c.isFile()).catch(()=>!1)){fe.debug("openclaw .env exists, skip bootstrap",{envFile:n});return}let o=Gi({...process.env,...Hi(this.paths.agentEnvFile)});await ht(n,o,{mode:384}),fe.info("openclaw .env bootstrapped",{envFile:n,bytes:o.length}),await this.getOpenclawConfig().restartGateway(),fe.info("openclaw gateway restarted after env bootstrap")}async createAgent(e,n){if(!e.agentId)throw new k("IPC_BAD_REQUEST","agentId required");if(!e.framework)throw new k("IPC_BAD_REQUEST","framework required");let i=await ve(e.agentId,this.paths).catch(()=>null),o=wo(e._meta)==="cloud"||i?.deployType==="cloud";this.registry.reviveIfDisconnected?.(e.agentId);let c=this.registry.get(e.agentId);if(c){if(c.framework!==e.framework)throw new k("AGENT_BUSY",`agent ${e.agentId} exists with different framework (${c.framework})`);if(c.status==="error")fe.warn("existing agent in error state, rebuilding",{agentId:e.agentId}),await c.dispose("rebuild after error").catch(T=>fe.warn("dispose stale agent failed (ignored)",{err:String(T)})),this.registry.unregister(e.agentId);else if(o&&c.deployType!=="cloud")fe.warn("existing agent deployType drifted to local, rebuilding as cloud",{agentId:e.agentId}),await c.dispose("rebuild after deployType drift").catch(T=>fe.warn("dispose drifted agent failed (ignored)",{err:String(T)})),this.registry.unregister(e.agentId);else{if(e.patToken&&e.patToken!==c.patToken){fe.info("updating agent patToken on re-create (reconnect with new PAT)",{agentId:e.agentId}),c.setPatToken(e.patToken);let T=await ve(e.agentId,this.paths).catch(()=>null);T&&(T.patToken=e.patToken,await Ue(T,this.paths))}if(c.deployType==="cloud"&&e.modelInfo){fe.info("updating agent modelInfo on re-create",{agentId:e.agentId}),c.setModelInfo(e.modelInfo);let T=await ve(e.agentId,this.paths).catch(()=>null);T&&(T.modelInfo=e.modelInfo,await Ue(T,this.paths))}return fe.info("agent already exists, return current",{agentId:e.agentId}),{ok:!0,agentId:c.agentId,workspace:c.workspace,framework:c.framework}}}if(!o&&!this.config.frameworksCache?.[e.framework]){let R=e.framework==="hermes"?"; install with `pipx install hermes-agent` and rerun daemon to refresh frameworks_cache":"; rerun daemon to refresh frameworks_cache";throw new k("AGENT_SPAWN_FAILED",`framework ${e.framework} not detected on this machine${R}`)}let u=ze(e.agentId,this.paths),h=o?"cloud":"local",x=e.framework==="openclaw"&&h==="local",p;x&&!n?.revive&&(p=(await this.ensureOpenclawDefaultAgent()).workspace,await this.ensureOpenclawGatewayReachable());let m=p??(x?this.config.frameworksCache?.openclaw?.defaultAgent?.workspace:void 0),v=e.workspace??m??u.workspace,_=new AbortController,y=setTimeout(()=>_.abort(new k("AGENT_TIMEOUT",`_agent/create timed out after ${this.createTimeoutMs}ms`)),this.createTimeoutMs),I,A=!1;try{o&&Ed(e.framework)&&await pr(e.framework,_.signal);let T=()=>{if(_.signal.aborted)throw _.signal.reason instanceof Error?_.signal.reason:new k("AGENT_TIMEOUT","_agent/create aborted")};await bd(u.root,{recursive:!0}),await bd(v,{recursive:!0}),await bd(u.logs,{recursive:!0}),T(),x||await wr(v,e.framework,e.cozeIdentity),e.framework==="claude-code"&&(h==="cloud"?await Ka(v,"cloud"):await Ka(v,"local",vd)),T();let R=i,b=i0({model:e.model??R?.model}),C=qf(e._meta)??R?.accountId,O=e.patToken??R?.patToken,B=h==="cloud"?e.modelInfo??R?.modelInfo:void 0;if(I=new No({agentId:e.agentId,framework:e.framework,workspace:v,model:b.model??kt,deployType:h,...C?{accountId:C}:{},...O?{patToken:O}:{},...B?{modelInfo:B}:{}}),I.status="ok",R?.sessions){let $=e.framework==="hermes"||h==="local"&&(e.framework==="claude-code"||e.framework==="codex");for(let[Q,oe]of Object.entries(R.sessions)){let ae={acpSessionId:oe.acpSessionId,modelToken:oe.modelToken,tokenGeneratedAt:oe.tokenGeneratedAt,lastActiveAt:Date.now(),loadingSession:!1,replySeq:0};$?oe.permissionMode===void 0?(ae.permissionMode=e.framework==="claude-code"?"bypassPermissions":e.framework==="codex"?"full-access":"default",fe.info("autoRevive: legacy session (no permissionMode) \u2192 fallback to D80/D84 default",{agentId:e.agentId,cloudId:Q,framework:e.framework,fallback:ae.permissionMode})):Bt(e.framework,oe.permissionMode)?ae.permissionMode=oe.permissionMode:fe.warn("autoRevive: dropping invalid persisted permissionMode",{agentId:e.agentId,cloudId:Q,framework:e.framework,value:oe.permissionMode}):oe.permissionMode!==void 0&&fe.info("autoRevive: dropping persisted permissionMode (gate disabled)",{agentId:e.agentId,cloudId:Q,framework:e.framework,deployType:h}),oe.cozeGroupId&&(ae.cozeGroupId=oe.cozeGroupId),I.sessions.set(Q,ae)}let ie=Object.keys(R.sessions).length;ie>0&&fe.info("restored persisted session records (no spawn)",{agentId:e.agentId,count:ie})}this.registry.register(I),A=!0;let M={agentId:e.agentId,framework:e.framework,workspace:v,cozeIdentity:e.cozeIdentity,createdAt:R?.createdAt??Date.now(),sessions:R?.sessions??{},model:b.model};h==="cloud"&&(M.deployType="cloud"),C&&(M.accountId=C),O&&(M.patToken=O),B&&(M.modelInfo=B),R?.skills&&(M.skills=R.skills),R?.agentName&&(M.agentName=R.agentName),R?.description&&(M.description=R.description),M.skillsRefreshedForVersion=R?.skillsRefreshedForVersion??Mt,e.framework==="openclaw"&&h==="cloud"&&(this.config.frameworksCache?.openclaw?.path?(await this.bootstrapOpenclawEnvIfNeeded(),await this.getOpenclawConfig().ensureAgent(e.agentId,v)):fe.warn("openclaw binary not on this machine, skip agents add (will fail at session/prompt)",{agentId:e.agentId}));let Z=e.initialSkills??[];if(Z.length>0){let $=[...M.skills??[]],ie=new Map($.map((ae,P)=>[ae.skillId,P])),Q=await Promise.allSettled(Z.map(ae=>Ao({agentId:e.agentId,workspace:v,framework:e.framework,skill:ae,paths:this.paths}))),oe=0;for(let[ae,P]of Q.entries()){let z=Z[ae];z&&(P.status==="fulfilled"?(ko($,ie,P.value),oe++):fe.warn("initialSkill install failed (skipping)",{agentId:e.agentId,skillId:z.skillId,skillName:z.skillName,err:String(P.reason)}))}oe>0&&(M.skills=$,fe.info("initialSkills installed",{agentId:e.agentId,installed:oe,requested:Z.length}))}return await Ue(M,this.paths),fe.info("agent created (no spawn, lazy on first prompt)",{agentId:e.agentId,framework:e.framework,deployType:h}),{ok:!0,agentId:e.agentId,workspace:v,framework:e.framework}}catch(T){throw fe.error("agent create failed, rolling back",{agentId:e.agentId,err:String(T)}),A&&I&&(await I.dispose("rollback").catch(()=>{}),this.registry.unregister(e.agentId)),fe.error("[AUDIT] ROLLBACK: about to rm dirs.root",{src:"agent-manager.createAgent.catch",agentId:e.agentId,path:u.root,revive:n?.revive===!0,framework:e.framework,errStack:T instanceof Error?T.stack:String(T)}),await qb(u.root,{recursive:!0,force:!0}).catch(R=>fe.warn("rm agent dir failed (ignored)",{err:String(R)})),T instanceof k?T:new k("AGENT_SPAWN_FAILED",String(T),{cause:T})}finally{clearTimeout(y)}}async spawnSessionDownstream(e,n,i,o,c){let u=this.config.frameworksCache?.[e.framework];if(!u)if(e.deployType==="cloud"&&Ed(e.framework))u=Jb;else throw e.framework==="hermes"?new k("AGENT_SPAWN_FAILED","hermes-acp not detected on this machine; install with `pipx install hermes-agent` and rerun daemon to refresh frameworks_cache"):new k("AGENT_SPAWN_FAILED",`framework ${e.framework} not detected on this machine`);Ed(e.framework)&&!Ss(e.framework)&&(fe.info("spawn: resolving acp wrapper",{agentId:e.agentId,framework:e.framework}),await pr(e.framework));let h=e.deployType==="cloud"?{model:e.model,modelToken:n,...e.modelInfo?{modelInfo:e.modelInfo}:{}}:void 0,x;if(e.framework==="openclaw")x=await this.buildOpenclawDownstream({session:e,modelConfig:h,cloudSessionId:i,cozeEnv:o,mockScenario:c,command:u.path});else if(e.framework==="hermes"){let p={...this.buildBinShimPathEnv()};h&&(await p0({paths:this.paths,agentId:e.agentId,modelConfig:h,cozeEnv:o,mockScenario:c}),p.HERMES_HOME=Qn(e.agentId,this.paths)),x=this.factory(e.framework,u.path,e.workspace,e.agentId,h,i,o,c,p)}else{let p=e.sessions.get(i),m=nn(e)?p?.permissionMode??fh:"full-access";x=this.factory(e.framework,u.path,e.workspace,e.agentId,h,i,o,c,this.buildBinShimPathEnv(),m)}try{return await x.start(),await x.initialize(Yb),x}catch(p){let m=x instanceof mt?x.getStderrTail():[];throw m.length>0&&fe.warn("spawnSessionDownstream failed, recent stderr (D94)",{agentId:e.agentId,framework:e.framework,method:p instanceof k?p.code:"unknown",recentStderr:m}),await x.stop("spawnSessionDownstream failed").catch(()=>{}),await this.resolveSpawnFailure(e,u.path,p)}}async resolveSpawnFailure(e,n,i){if(e.framework==="openclaw"&&e.deployType==="local"&&n)try{let o=await this.detectorFactory().probeOpenclawGateway(n);if(!o.reachable)return new k("AGENT_ENV_NOT_READY",uh(o),{cause:{reason:lh}})}catch(o){fe.warn("openclaw gateway diagnose failed (ignored, fall through to original error)",{agentId:e.agentId,err:String(o)})}return i instanceof k?i:new k("AGENT_SPAWN_FAILED",i instanceof Error?i.message:String(i),{cause:i})}async ensureOpenclawDefaultAgent(){let e=this.config.frameworksCache?.openclaw?.defaultAgent;if(e?.id&&e.workspace)return{id:e.id,workspace:e.workspace};fe.warn("openclaw default agent stale or missing, attempting lazy re-detect");let n=await this.detectorFactory().detect("openclaw");if(n?.defaultAgent?.id&&n.defaultAgent.workspace)return fe.info("openclaw lazy re-detect success",{agentId:n.defaultAgent.id,workspace:n.defaultAgent.workspace}),this.config.frameworksCache||(this.config.frameworksCache={}),this.config.frameworksCache.openclaw=n,{id:n.defaultAgent.id,workspace:n.defaultAgent.workspace};throw new k("AGENT_ENV_NOT_READY","openclaw default agent \u672A\u63A2\u6D4B\u5230; \u8BF7\u5148\u8DD1 `openclaw setup` \u6216 `openclaw agents add` \u521B\u5EFA\u9ED8\u8BA4 agent",{cause:{reason:Zb}})}async ensureOpenclawGatewayReachable(){let e=this.config.frameworksCache?.openclaw?.path;if(!e)throw new k("AGENT_SPAWN_FAILED","openclaw binary not detected on this machine");let n=await this.detectorFactory().probeOpenclawGateway(e);if(!n.reachable)throw new k("AGENT_ENV_NOT_READY",uh(n),{cause:{reason:lh}})}async buildOpenclawDownstream(e){let{session:n,modelConfig:i,cloudSessionId:o,cozeEnv:c,mockScenario:d,command:u}=e,h=yd(o);if(n.deployType==="local"){let m=await this.ensureOpenclawDefaultAgent();return new Wr({command:u,cwd:m.workspace,agentId:m.id,sessionName:h})}let x=await ch(),p;if(i?.modelToken){let m=id(o),v=sd(i),_=`${m}/${v}`;if(!this.ensuredProviders.has(_)){let y=this.getOpenclawConfig(),I=await y.getAllowlistModelsForProvider(m),A=l0(i,c,d,I);A&&(await y.ensureProvider(m,A),await y.addModelToAllowlist(_),this.ensuredProviders.add(_))}p=_}return new Wr({command:u,cwd:n.workspace,agentId:n.agentId,sessionName:h,...x?{gatewayToken:x}:{},...p?{slashModelOnStart:p}:{}})}async openclawRepair(e,n){let i=this.getOpenclawConfig();await i.deleteAgent(e),await i.ensureAgent(e,n)}async cleanupOpenclawSessionProviders(e,n){if(e.framework!=="openclaw"||!this.openclawConfigCache)return;let i=this.openclawConfigCache,o=n??e.model;for(let c of e.sessions.keys()){let d=id(c),u=`${d}/${o}`,h=!0;try{await i.removeProvider(d)}catch(x){h=!1,fe.warn("removeProvider failed, keeping ensuredProviders entry",{providerId:d,err:String(x)})}try{await i.removeModelFromAllowlist(u)}catch(x){h=!1,fe.warn("removeModelFromAllowlist failed, keeping ensuredProviders entry",{fullModelId:u,err:String(x)})}h&&this.ensuredProviders.delete(u)}}};import{randomUUID as wh}from"node:crypto";import{promises as sE}from"node:fs";import{basename as _h}from"node:path";Ve();ne();import{promises as Qb}from"node:fs";import{basename as eE}from"node:path";var xh=H("file-upload"),tE="/api/coze_claw/file/agent_upload",nE=6e4;async function ph(t,e={}){let i=`${Mr(Br(e.handshakeBase))}${tE}`,o=e.timeoutMs??nE,c=await Qb.readFile(t.path),d=new FormData;d.append("agent_id",t.agentId),d.append("session_id",t.sessionId),d.append("file_name",t.name),d.append("file_content",new Blob([c],{type:t.mimeType}),t.name);let u={Authorization:`Bearer ${t.patToken}`,Accept:"application/json","x-coze-version":"3.0",...kn(e.ppeOverride),...t.accountId?{"x-coze-account":t.accountId}:{}},h=new AbortController,x=setTimeout(()=>h.abort(),o);xh.info("file upload start",{url:i,agentId:t.agentId,sessionId:t.sessionId,name:t.name,bytes:t.sizeBytes,mime:t.mimeType});try{let p=await fetch(i,{method:"POST",headers:u,body:d,signal:h.signal}),m=p.headers.get("x-tt-logid")??"";if(!p.ok){let y=await p.text().catch(()=>"");throw new k("UPLOAD_FAILED",`upload HTTP ${p.status} logid=${m}: ${y.slice(0,200)}`)}let v=await p.json();if(v.code!==void 0&&v.code!==0)throw new k("UPLOAD_FAILED",`upload code=${v.code} msg=${v.msg??"-"} logid=${m}`);let _=v.data?.file?.file_url;if(!_)throw new k("UPLOAD_FAILED",`upload response missing data.file.file_url logid=${m}: ${JSON.stringify(v).slice(0,200)}`);return xh.info("file upload ok",{uri:_,logid:m}),{uri:_}}catch(p){throw p instanceof k?p:p.name==="AbortError"?new k("UPLOAD_FAILED",`upload timeout (${o}ms) for ${eE(t.path)}`):new k("UPLOAD_FAILED",String(p),{cause:p})}finally{clearTimeout(x)}}Ve();ne();import{extname as rE}from"node:path";var iE={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".bmp":"image/bmp",".ico":"image/x-icon",".heic":"image/heic",".heif":"image/heif",".pdf":"application/pdf",".doc":"application/msword",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xls":"application/vnd.ms-excel",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".ppt":"application/vnd.ms-powerpoint",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".txt":"text/plain",".md":"text/markdown",".markdown":"text/markdown",".json":"application/json",".yaml":"text/yaml",".yml":"text/yaml",".csv":"text/csv",".html":"text/html",".htm":"text/html",".xml":"application/xml",".log":"text/plain",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".tgz":"application/gzip",".mp3":"audio/mpeg",".wav":"audio/wav",".mp4":"video/mp4",".mov":"video/quicktime",".webm":"video/webm"};async function gh(t){let e=rE(t).toLowerCase();return iE[e]??"application/octet-stream"}Pe();var zo=H("agent-send"),mh=50*1024*1024;function yh(t,e,n){let i=t.get(e);if(!i)throw new k("AGENT_NOT_FOUND",`agent=${e}`);if(t.disconnectedAgents.has(e))throw new k("AGENT_DISCONNECTED",`agent=${e} was disconnected by cloud`);let o=i.sessions.get(n);if(!o)throw new k("AGENT_NOT_FOUND",`session=${n} not active in agent=${e}`);return{session:i,runtime:o}}async function bh(t,e,n,i,o,c){let u;for(let h=0;h<=2;h++)try{await t.core.sendAgentFileUpdate(e,n,i,o);return}catch(x){u=x,h<2&&(zo.warn("sendAgentFileUpdate failed, retrying",{attempt:h+1,err:String(x)}),await new Promise(p=>setTimeout(p,5e3)))}throw new k("UPSTREAM_NOT_READY",`${c} after 3 attempts: ${String(u)}`,{cause:u})}async function Eh(t,e){let{session:n,runtime:i}=yh(e.core,t.agentId,t.sessionId);if(!await ui(t.path,n.workspace))throw new k("PATH_OUTSIDE_WORKSPACE",`path=${t.path} not under workspace=${n.workspace}`);let o=await sE.stat(t.path).catch(()=>null);if(!o||!o.isFile())throw new k("IPC_BAD_REQUEST",`path is not a regular file: ${t.path}`);if(o.size>mh)throw new k("FILE_TOO_LARGE",`${o.size} bytes > limit ${mh}`);let c=await gh(t.path);if(t.kind==="image"&&!c.startsWith("image/"))throw new k("UNSUPPORTED_MIME",`kind=image but mime=${c}`);if(!e.core.upstream.isConnected())throw new k("UPSTREAM_NOT_READY","cloud WS not connected");let d=t.name??_h(t.path),u;try{u=await ph({patToken:n.patToken??e.patToken,agentId:t.agentId,sessionId:t.sessionId,path:t.path,mimeType:c,name:d,sizeBytes:o.size,...n.accountId?{accountId:n.accountId}:{}},{handshakeBase:e.handshakeBase,ppeOverride:e.ppeOverride})}catch(x){throw zo.warn("agent file upload failed",{agentId:t.agentId,sessionId:t.sessionId,path:t.path,sizeBytes:o.size,mime:c,code:x instanceof k?x.code:"UNKNOWN",message:x instanceof Error?x.message:String(x)}),x}let h={sessionUpdate:"agent_file",messageId:wh(),content:{type:t.kind==="image"?"image":"resource",uri:u.uri,mimeType:c,name:d,sizeBytes:o.size,...u.fileId!==void 0?{fileId:u.fileId}:{},...t.caption!==void 0?{caption:t.caption}:{}}};return await bh(e,n,i,t.sessionId,h,"agent file uploaded to cloud but sendAgentFileUpdate failed"),zo.info("agent file sent",{agentId:t.agentId,sessionId:t.sessionId,kind:t.kind,name:d,bytes:o.size,mime:c,uri:u.uri}),{ok:!0,uri:u.uri,bytes:o.size,mimeType:c,...u.fileId!==void 0?{fileId:u.fileId}:{}}}async function vh(t,e){let{session:n,runtime:i}=yh(e.core,t.agentId,t.sessionId);if(!t.mimeType)throw new k("IPC_BAD_REQUEST","group-file requires mimeType");if(!e.core.upstream.isConnected())throw new k("UPSTREAM_NOT_READY","cloud WS not connected");let o=t.name??_h(t.path),c={sessionUpdate:"group_file",messageId:wh(),content:{uri:t.path,name:o,mimeType:t.mimeType,...t.caption!==void 0?{caption:t.caption}:{}}};return await bh(e,n,i,t.sessionId,c,"agent group file sendAgentFileUpdate failed"),zo.info("agent group file sent",{agentId:t.agentId,sessionId:t.sessionId,uri:t.path,name:o,mime:t.mimeType}),{ok:!0,uri:t.path,bytes:0,mimeType:t.mimeType}}function Sh(t,e){let n=t.split(".").map(Number),i=e.split(".").map(Number),o=Math.max(n.length,i.length);for(let c=0;c<o;c++){let d=n[c]??0,u=i[c]??0;if(d<u)return!0;if(d>u)return!1}return!1}tn();ne();hn();var Ft=H("coze-cli-installer"),Ih="@coze/cli@latest",oE="coze",Ah="0.1.8",aE=5e3,cE=5e3,dE=9e4,kh=1e4,es=null,Uo=!1;async function Id(t,e={}){if(Uo)return;if(es)return es;let n=e.exec??Jf;return es=(async()=>{try{let i=await lE(oE,n),o=!1;if(i){let d=await uE(n);if(d===void 0)Ft.warn("coze-cli found but version unparseable, fall through to full install",{path:i});else if(Sh(d,Ah))Ft.info("coze-cli version too old, upgrade-only (preserve user config + auth)",{path:i,version:d,min:Ah}),o=!0;else{Ft.info("coze-cli already on PATH with sufficient version, skip",{path:i,version:d}),Uo=!0;return}}let c=o?"upgrade-only":"full";Ft.info("coze-cli install start",{package:Ih,mode:c});try{await n("npm",["i","-g","--prefer-online",Ih],{timeout:dE,maxBuffer:10*1024*1024}),Ft.info("coze-cli install ok")}catch(d){Ft.warn("coze-cli install failed (skip subsequent steps)",{err:String(d)});return}if(o){Uo=!0;return}if(t.env)try{await n("coze",["config","set","xTTEnv",t.env],{timeout:kh}),Ft.info("coze config set xTTEnv ok",{env:t.env})}catch(d){Ft.warn("coze config set failed (continue to auth login)",{err:String(d)})}try{await n("coze",["auth","login","--token",t.patToken],{timeout:kh}),Ft.info("coze auth login ok")}catch(d){Ft.warn("coze auth login failed",{err:String(d)});return}Uo=!0}finally{es=null}})(),es}async function lE(t,e){let n=process.platform==="win32"?"where":"which";try{let{stdout:i}=await e(n,[t],{timeout:aE});return qa(i)}catch{return}}async function uE(t){try{let{stdout:e,stderr:n}=await t("coze",["--version"],{timeout:cE});return(e||n).match(/(\d+\.\d+\.\d+)/)?.[1]}catch{return}}Vt();$t();Pe();var fE=10*6e4;function Th(t){let e=t?.sessionIdleTimeoutMs;return typeof e!="number"||!Number.isFinite(e)||e<=0?fE:e}function Ho(t){return gr(t??Y().configFile)}function ts(t,e){return mr(e??Y().configFile,t)}import{randomBytes as DE}from"node:crypto";fr();Ve();ne();import{createReadStream as hE}from"node:fs";import{mkdir as xE,readFile as pE,realpath as gE,stat as mE,writeFile as wE}from"node:fs/promises";import{basename as _E,dirname as Ad,isAbsolute as yE,join as bE,relative as EE,resolve as Ph,sep as vE}from"node:path";import{createInterface as SE}from"node:readline";var Rh=H("fs-rpc"),ns=Ye("COZE_BRIDGE_FS_RPC_MAX_BYTES",20*1024*1024);async function Dh(t,e){let n=Buffer.byteLength(t.content,"utf8");if(n>ns)throw new k("IPC_BAD_REQUEST",`fs/write_text_file content too large: ${n} bytes > limit ${ns} bytes`);let i=await Lh(t.path,e);return await xE(Ad(i),{recursive:!0}),await wE(i,t.content,"utf8"),Rh.info("fs/write_text_file ok",{path:i,size:t.content.length}),null}async function Oh(t,e){let n=await Lh(t.path,e),i=await mE(n),o=typeof t.line=="number"||typeof t.limit=="number";if(i.size>ns&&!o)throw new k("IPC_BAD_REQUEST",`fs/read_text_file too large without line/limit slicing: ${i.size} bytes > ${ns} bytes`);let c;if(o&&i.size>ns)c=await IE(n,t.line??1,t.limit);else{let d=await pE(n,"utf8");if(o){let u=d.split(`
|
|
107
|
+
`),h=Math.max(0,(t.line??1)-1),x=typeof t.limit=="number"?h+t.limit:void 0;c=u.slice(h,x).join(`
|
|
108
|
+
`)}else c=d}return Rh.info("fs/read_text_file ok",{path:n,size:c.length}),{content:c}}async function IE(t,e,n){let i=SE({input:hE(t,{encoding:"utf8"}),crlfDelay:Number.POSITIVE_INFINITY}),o=Math.max(0,e-1),c=typeof n=="number"?o+n:Number.POSITIVE_INFINITY,d=[],u=0;try{for await(let h of i)if(u>=o&&u<c&&d.push(h),u++,u>=c)break}finally{i.close()}return d.join(`
|
|
109
|
+
`)}async function Lh(t,e){if(typeof t!="string"||t.length===0)throw new k("IPC_BAD_REQUEST","path must be a non-empty string");let[n,i]=await Promise.all([Ch(Ph(e)),Ch(Ph(t))]),o=EE(n,i);if(AE(o,vE,yE(o)))throw new k("IPC_BAD_REQUEST",`path escapes workspace: ${t}`);return i}function AE(t,e,n){return t===""?!1:n?!0:t===".."||t.startsWith(`..${e}`)}async function Ch(t){let e=[],n=t;for(;n!==Ad(n);)try{let i=await gE(n);return e.length?bE(i,...e.reverse()):i}catch{e.push(_E(n)),n=Ad(n)}return t}ne();var Nh=H("prompt-multimodal"),Mh=10*1024*1024,kE=15e3,TE=6;async function Bh(t){let e=new Array(t.length),n=0;async function i(){for(;n<t.length;){let c=n++,d=t[c];d!==void 0&&(e[c]=await PE(d))}}let o=Array.from({length:Math.min(TE,t.length)},()=>i());return await Promise.all(o),e}function Fh(t){return t.some(e=>e.type==="image")}async function PE(t){if(t.type!=="image")return t;let e=t;if(e.data||!e.uri||!Ui(e.uri))return t;try{let{buf:n,contentType:i}=await RE(e.uri),o=e.mimeType||CE(i)||"application/octet-stream";return Nh.info("image uri fetched and inlined",{uri:e.uri,bytes:n.length,mimeType:o}),{type:"image",data:n.toString("base64"),mimeType:o}}catch(n){return Nh.warn("image fetch failed, degrading to text block",{uri:e.uri,err:String(n)}),{type:"text",text:`[image load failed: ${e.uri}]`}}}function CE(t){if(!t)return;let e=t.indexOf(";");return(e===-1?t:t.slice(0,e)).trim()||void 0}async function RE(t){let e=new AbortController,n=setTimeout(()=>e.abort(),kE);try{let i=await fetch(t,{signal:e.signal});if(!i.ok)throw new Error(`HTTP ${i.status} ${i.statusText}`);let o=await i.arrayBuffer();if(o.byteLength>Mh)throw new Error(`image too large: ${o.byteLength} bytes (max ${Mh})`);return{buf:Buffer.from(o),contentType:i.headers.get("content-type")??void 0}}finally{clearTimeout(n)}}Vt();Ve();ne();var W=H("core"),OE=3e4,LE=/^(boe|ppe)_[A-Za-z0-9_-]+$/,NE="\u6211\u6B63\u5728\u7B49\u5F85\u5BA1\u6279\uFF0C\u8BF7\u7A0D\u540E\u518D\u8054\u7CFB\u6211",ME="\u5BA1\u6279\u5DF2\u8D85\u65F6",BE=3e4,Go=class{upstream;agents=new Map;disconnectedAgents=new Set;extensions;paths;sessionSpawner;sessionIdleTimeoutMs;upstreamIds=new Gr;pendingUpstream=new Map;pendingBridge=new Map;currentCozeEnv;currentMockScenario;constructor(e){this.upstream=e.upstream,this.extensions=e.extensions??{},this.paths=e.paths,this.sessionSpawner=e.sessionSpawner,this.sessionIdleTimeoutMs=Th(e.bridgeConfig)}registerExtension(e,n){this.extensions[e]=n}getCozeEnv(){return this.currentCozeEnv}getMockScenario(){return this.currentMockScenario}setMockScenario(e){this.currentMockScenario=e&&e.length>0?e:void 0}async start(){this.upstream.onFrame(e=>this.handleFrame(e)),this.upstream.onConnect?.(({initial:e})=>{e||this.rejectAllPendingOnReconnect()}),await this.upstream.start(),W.info("Core started",{extensions:Object.keys(this.extensions)})}async stop(e){W.info("Core stopping",{reason:e}),await Promise.all([...this.agents.values()].map(n=>n.dispose(e))),this.agents.clear(),await this.upstream.stop(e)}async reloadAgents(e){let n=e?this.agents.has(e)?[e]:[]:[...this.agents.keys()];for(let i of n)await this.agents.get(i)?.killAllRuntimes("reload");return n}get(e){return this.agents.get(e)}register(e){this.agents.set(e.agentId,e),W.info("agent registered",{agentId:e.agentId,framework:e.framework});for(let n of this.registerHandlers)try{n(e.agentId)}catch(i){W.warn("onAgentRegister handler threw (ignored)",{agentId:e.agentId,err:String(i)})}}onAgentRegister(e){return this.registerHandlers.add(e),()=>this.registerHandlers.delete(e)}registerHandlers=new Set;unregister(e){this.agents.delete(e)}reviveIfDisconnected(e){this.disconnectedAgents.delete(e)&&W.info("agent revived from disconnect",{agentId:e})}attachRuntimeHooks(e,n,i){let o=i.downstream;o&&(o.onUpdate(c=>{i.loadingSession||this.forwardUpdate(e,c)}),o.onAgentRequest(c=>{this.handleAgentRequest(e,o,c)}),o.onExit((c,d)=>{W.info("session runtime exited",{agentId:e.agentId,cloudId:n,code:c,signal:d}),Qi(i),i.downstream=void 0,i.replySeq=0,i.acpSessionId&&e.activeTriggers.delete(i.acpSessionId),this.rejectPendingForDownstream(o,"downstream exited")}))}hasPendingPermissionFor(e){for(let n of this.pendingUpstream.values())if(n.downstream===e)return!0;return!1}rejectPendingForDownstream(e,n){let i=[];for(let[o,c]of this.pendingUpstream)c.downstream===e&&i.push(o);if(i.length!==0){W.info("reject pendingUpstream entries (downstream gone)",{reason:n,count:i.length});for(let o of i){let c=this.pendingUpstream.get(o);if(c){this.pendingUpstream.delete(o),this.upstream.send(Pn(o,{code:X.INTERNAL_ERROR,message:`bridge downstream gone: ${n}`})).catch(d=>W.debug("send error response to upstream failed (ignored)",{err:String(d)}));try{c.downstream.respondAgentRequestError(c.agentRequestId,{code:X.INTERNAL_ERROR,message:`bridge: ${n}`})}catch{}}}}}rejectAllPendingOnReconnect(){let e=this.pendingUpstream.size,n=this.pendingBridge.size;if(!(e===0&&n===0)){W.warn("upstream reconnected, rejecting stale pending requests",{pendingUpstream:e,pendingBridge:n});for(let[,i]of this.pendingUpstream){try{i.downstream.respondAgentRequestError(i.agentRequestId,{code:X.INTERNAL_ERROR,message:"upstream reconnected; please retry"})}catch{}this.clearPendingPermissionFor(i)}this.pendingUpstream.clear();for(let[,i]of this.pendingBridge)clearTimeout(i.timer),i.reject(new k("UPSTREAM_DISCONNECTED",`${i.method} aborted: upstream reconnected`));this.pendingBridge.clear()}}async handleFrame(e){if(Po(e)){this.handleUpstreamResponse(e);return}if(!("method"in e)||typeof e.method!="string")return;let n="id"in e&&e.id!==void 0?e.id:null,i=e.params?._meta?.cozeEnv;i&&LE.test(i)?this.currentCozeEnv=i:i&&W.warn("rejecting cozeEnv with invalid shape, keeping previous",{rejected:i});try{if(e.method.startsWith("_agent/")){let o=this.extensions[e.method];if(!o){n!==null?await this.sendError(n,X.METHOD_NOT_FOUND,`extension not registered: ${e.method}`):W.warn("drop notification: extension not registered",{method:e.method});return}let c=await o(e,this);n!==null&&await this.upstream.send(Hr(n,c));return}if(e.method.startsWith("session/")){let o=await this.routeSessionMethod(e);n!==null&&await this.upstream.send(Hr(n,o));return}if(e.method==="initialize"){n!==null&&await this.upstream.send(Hr(n,{protocolVersion:1,agentCapabilities:{loadSession:!0}}));return}n!==null?await this.sendError(n,X.METHOD_NOT_FOUND,`method not implemented: ${e.method}`):W.warn("drop unknown notification",{method:e.method})}catch(o){W.error("handleFrame failed",{method:e.method,err:String(o)}),n!==null&&await this.upstream.send(Pn(n,Zi(o)))}}async routeSessionMethod(e){if(!e.params||typeof e.params!="object")throw new k("IPC_BAD_REQUEST",`${e.method} requires params`);let n=e.params,i=n._meta?.cozeAgentId;if(!i)throw new k("IPC_BAD_REQUEST",`${e.method}: missing _meta.cozeAgentId`);let o=this.agents.get(i);if(!o)throw this.disconnectedAgents.has(i)?new k("AGENT_DISCONNECTED",`agent ${i} has been disconnected; cloud must _agent/create to revive`):new k("AGENT_NOT_FOUND",`agent not found: ${i}`);let c=typeof n.sessionId=="string"?n.sessionId:void 0;if(e.method==="session/cancel"||e.method==="session/new"||e.method==="session/set_mode"||!c)return this.dispatchSessionCall(o,e.method,n);if(e.method==="session/prompt"){let h=o.sessions.get(c);if(h?.pendingPermission){let x=n._meta?.cozeTriggerMsgId,p=_o(n._meta);return W.info("session in pendingPermission, bouncing new prompt",{agentId:o.agentId,cloudSessionId:c}),this.synthesizePromptReply(o,h,c,NE,x,p)}}let d=Date.now(),u=!1;try{let h=await o.getSessionQueue(c).enqueue(()=>this.dispatchSessionCall(o,e.method,n));return u=!0,h}finally{W.info("session call done",{agentId:o.agentId,method:e.method,durationMs:Date.now()-d,ok:u})}}async dispatchSessionCall(e,n,i){e.lastActiveAt=Date.now();let{stripped:o}=Kf(i);switch(n){case"session/new":{let c=FE();return W.info("session/new ack (lazy spawn)",{agentId:e.agentId,cloudId:c}),{sessionId:c}}case"session/load":{let c=o;return W.info("session/load ack (lazy spawn)",{agentId:e.agentId,cloudId:c.sessionId}),{}}case"session/prompt":{let c=o,d=c.sessionId;if(!d)throw new k("IPC_BAD_REQUEST","session/prompt: missing sessionId");let u=nn(e)?Wf(i._meta):void 0;if(u!==void 0&&!Bt(e.framework,u))throw new k("IPC_BAD_REQUEST",`unsupported permissionMode for ${e.framework}: ${u}; allowed: ${_d(e.framework)}`);let h=await this.ensureRuntime(e,d);if(u!==void 0&&h.permissionMode===void 0&&(h.permissionMode=u,await this.persistSessionMapping(e)),h.replySeq=0,await this.ensureDownstream(e,d,h),!h.downstream||!h.acpSessionId)throw new k("BRIDGE_INTERNAL","session runtime not ready after ensureDownstream");if(u!==void 0&&h.permissionMode!==void 0&&h.permissionMode!==u){let v=h.permissionMode;h.permissionMode=u,await this.persistSessionMapping(e);try{await h.downstream.setSessionMode({sessionId:h.acpSessionId,modeId:u})}catch(_){throw h.permissionMode=v,await this.persistSessionMapping(e).catch(()=>{}),_}}let x=i._meta?.cozeTriggerMsgId;x?e.activeTriggers.set(h.acpSessionId,x):e.activeTriggers.delete(h.acpSessionId);let p=_o(i._meta);if(p?e.activeGroupIds.set(h.acpSessionId,p):e.activeGroupIds.delete(h.acpSessionId),p&&h.cozeGroupId!==p&&(h.cozeGroupId=p,await this.persistSessionMapping(e)),e.deployType==="cloud"&&e.modelInfo?.capabilities?.image===!1&&Fh(c.prompt))throw new k("MODEL_MODALITY_UNSUPPORTED",`model=${e.modelInfo.id??e.model} does not support image input`);let m=await Bh(c.prompt);try{let v=await h.downstream.sessionPrompt({...c,sessionId:h.acpSessionId,prompt:m});return h.lastActiveAt=Date.now(),v}catch(v){if(v instanceof k&&v.code==="AGENT_APPROVAL_TIMEOUT"){let _=h.pendingPermission;_&&(_.downstream.respondAgentRequest(_.agentRequestId,{outcome:{outcome:"cancelled"}}),this.pendingUpstream.delete(_.upstreamId),h.pendingPermission=void 0);let y=h.acpSessionId,I=y?e.activeTriggers.get(y):void 0,A=y?e.activeGroupIds.get(y):void 0;return W.warn("approval timed out, synthesizing \u5BA1\u6279\u5DF2\u8D85\u65F6 reply + recovering session",{agentId:e.agentId,cloudId:d}),await this.synthesizePromptReply(e,h,d,ME,I,A)}throw v}finally{if(e.activeTriggers.delete(h.acpSessionId),e.activeGroupIds.delete(h.acpSessionId),h.pendingPermission=void 0,h.reloadAfterTurn){h.reloadAfterTurn=!1;let v=h.downstream;v&&(h.downstream=void 0,W.info("reloadAfterTurn: stopping downstream",{agentId:e.agentId,cloudId:d,acpId:h.acpSessionId}),v.stop("reload-after-turn").catch(_=>W.warn("reload-after-turn stop failed (ignored)",{agentId:e.agentId,cloudId:d,err:String(_)})))}else h.downstream?.isAlive()&&this.armIdleTimer(e,d,h)}}case"session/cancel":{let d=o.sessionId;if(!d)throw new k("IPC_BAD_REQUEST","session/cancel: missing sessionId");let u=e.sessions.get(d);if(e.hasSessionQueue(d)){let h=e.getSessionQueue(d);h.size>0&&(W.info("session/cancel: draining queued tasks",{agentId:e.agentId,cloudId:d,queuedCount:h.size}),h.dispose(new k("AGENT_PROTOCOL_ERROR",`cancelled by session/cancel on ${d}`)))}return u?.downstream?.isAlive()&&u.acpSessionId&&await u.downstream.sessionCancel({sessionId:u.acpSessionId}),{ok:!0}}case"session/set_mode":{let c=o,d=c.sessionId,u=c.modeId,h=_o(i._meta);if(!d)throw new k("IPC_BAD_REQUEST","session/set_mode: missing sessionId");if(!nn(e))throw e.framework==="openclaw"?new k("METHOD_NOT_FOUND","session/set_mode not supported on openclaw"):new k("OPERATION_NOT_ALLOWED_FOR_CLOUD","session/set_mode is local-deploy only in this iteration");if(!Bt(e.framework,u))throw new k("IPC_BAD_REQUEST",`unsupported modeId for ${e.framework}: ${String(u)}; allowed: ${_d(e.framework)}`);if(h)return await this.handleGroupSetMode(e,h,u);let x=e.sessions.get(d)??await this.ensureRuntime(e,d);if(x.permissionMode===u)return{};let p=x.permissionMode;if(x.permissionMode=u,await this.persistSessionMapping(e),x.downstream?.isAlive()&&x.acpSessionId)try{await x.downstream.setSessionMode({sessionId:x.acpSessionId,modeId:u})}catch(m){throw x.permissionMode=p,await this.persistSessionMapping(e).catch(()=>{}),m}else W.info("session/set_mode: runtime not active, persisted only",{framework:e.framework,agentId:e.agentId,cloudId:d,modeId:u});return{}}default:throw new k("IPC_BAD_REQUEST",`session method not supported: ${n}`)}}async handleGroupSetMode(e,n,i){let o=[];for(let[d,u]of e.sessions)u.cozeGroupId===n&&u.permissionMode!==i&&o.push({cloudId:d,runtime:u,oldMode:u.permissionMode});if(o.length===0)return W.info("group session/set_mode: no active runtime (db-only path)",{framework:e.framework,agentId:e.agentId,groupId:n,modeId:i}),{};W.info("group session/set_mode: applying to runtimes",{framework:e.framework,agentId:e.agentId,groupId:n,modeId:i,targets:o.length});for(let d of o)d.runtime.permissionMode=i;await this.persistSessionMapping(e);let c=[];for(let d of o){let u=d.runtime.downstream,h=d.runtime.acpSessionId;u?.isAlive()&&h&&c.push({downstream:u,acpSessionId:h,oldMode:d.oldMode,runtime:d.runtime})}for(let d of c)try{await d.downstream.setSessionMode({sessionId:d.acpSessionId,modeId:i})}catch(u){for(let h of o)h.runtime.permissionMode=h.oldMode;throw await this.persistSessionMapping(e).catch(()=>{}),u}return{}}async ensureRuntime(e,n){let i=e.sessions.get(n);if(i)return i;let c={modelToken:e.deployType==="cloud"?await this.requestSessionToken(e.agentId,n):"",tokenGeneratedAt:Date.now(),lastActiveAt:Date.now(),loadingSession:!1,replySeq:0};return nn(e)&&(e.framework==="hermes"?c.permissionMode=e.deployType==="cloud"?f0:h0:c.permissionMode=e.framework==="claude-code"?vd:hh),e.sessions.set(n,c),await this.persistSessionMapping(e),c}async requestSessionToken(e,n){let i={sessionId:n,_meta:{cozeAgentId:e}};try{let o=await this.sendRequest(gt.GEN_MODEL_TOKEN,i,BE);if(!o?.modelToken)throw new k("MODEL_TOKEN_GEN_FAILED",`cloud returned empty modelToken (agentId=${e}, cloudSessionId=${n})`);return o.modelToken}catch(o){throw o instanceof k&&o.code==="MODEL_TOKEN_GEN_FAILED"?o:new k("MODEL_TOKEN_GEN_FAILED",o instanceof Error?o.message:String(o),{cause:o})}}async ensureDownstream(e,n,i){if(Qi(i),i.downstream?.isAlive())return;if(!this.sessionSpawner)throw new k("AGENT_SPAWN_FAILED","sessionSpawner not wired (cannot spawn per-session downstream)");let o=3,c=3e4,d=i.spawnFailCount??0,u=i.spawnFailedAt??0;if(d>=o&&Date.now()-u<c)throw new k("AGENT_SPAWN_FAILED",`agent ${e.agentId} session ${n} spawn failed ${d} times in a row; please check framework binary / network and retry after ${Math.ceil((c-(Date.now()-u))/1e3)}s`);let h;try{h=await this.sessionSpawner(e,i.modelToken,n,this.currentCozeEnv,this.currentMockScenario)}catch(x){throw i.spawnFailCount=d+1,i.spawnFailedAt=Date.now(),i.spawnFailCount>=o&&i.acpSessionId&&(W.warn("clearing stale acpSessionId after repeated spawn failures",{agentId:e.agentId,cloudId:n,staleAcpId:i.acpSessionId}),i.acpSessionId=void 0),x}i.spawnFailCount=0,i.spawnFailedAt=void 0,i.downstream=h,this.attachRuntimeHooks(e,n,i);try{if(i.acpSessionId){i.loadingSession=!0;try{await h.sessionLoad({sessionId:i.acpSessionId,cwd:e.workspace}),W.info("session restored via session/load",{agentId:e.agentId,cloudId:n,acpId:i.acpSessionId})}catch(x){W.warn("session/load failed, fallback to session/new",{agentId:e.agentId,cloudId:n,acpId:i.acpSessionId,err:String(x)}),i.acpSessionId=void 0;let p=await h.sessionNew({cwd:e.workspace});i.acpSessionId=p.sessionId,await this.persistSessionMapping(e)}finally{i.loadingSession=!1}}else{let x=await h.sessionNew({cwd:e.workspace});i.acpSessionId=x.sessionId,await this.persistSessionMapping(e)}}catch(x){throw W.warn("session init failed after spawn, tearing down half-spawned runtime",{agentId:e.agentId,cloudId:n,acpId:i.acpSessionId,err:String(x)}),await h.stop("session-init-failed").catch(()=>{}),i.downstream=void 0,i.acpSessionId=void 0,x}if(h.afterSessionEstablished&&i.acpSessionId&&await h.afterSessionEstablished(i.acpSessionId),nn(e)&&i.acpSessionId&&i.permissionMode)try{await h.setSessionMode({sessionId:i.acpSessionId,modeId:i.permissionMode})}catch(x){W.warn("post-spawn set_mode failed, framework using its own startup default",{framework:e.framework,agentId:e.agentId,cloudId:n,mode:i.permissionMode,err:String(x)})}}armIdleTimer(e,n,i){if(Qi(i),this.isRuntimeBusy(e,i)){W.debug("skip idle timer: runtime busy (in-flight turn / pending permission)",{agentId:e.agentId,cloudId:n});return}i.idleTimer=setTimeout(()=>{if(i.idleTimer=void 0,this.isRuntimeBusy(e,i)){W.info("idle reaper fired but runtime busy, re-arming",{agentId:e.agentId,cloudId:n}),this.armIdleTimer(e,n,i);return}W.info("session runtime idle timeout, killing downstream",{agentId:e.agentId,cloudId:n});let o=i.downstream;i.downstream=void 0,i.acpSessionId&&e.activeTriggers.delete(i.acpSessionId),o&&o.stop("idle timeout").catch(c=>W.warn("idle stop failed (ignored)",{agentId:e.agentId,cloudId:n,err:String(c)}))},this.sessionIdleTimeoutMs),i.idleTimer.unref?.()}isRuntimeBusy(e,n){if(n.acpSessionId&&e.activeTriggers.has(n.acpSessionId))return!0;let i=n.downstream;if(!i)return!1;for(let o of this.pendingUpstream.values())if(o.downstream===i)return!0;return!1}async sendAgentFileUpdate(e,n,i,o){let c={cozeAgentId:e.agentId,cozeReplySeqID:++n.replySeq};if(n.acpSessionId){let d=e.activeTriggers.get(n.acpSessionId);d&&(c.cozeTriggerMsgId=d);let u=e.activeGroupIds.get(n.acpSessionId);u&&(c.cozeGroupId=u)}await this.upstream.send(Ur("session/update",{sessionId:i,update:o,_meta:c}))}async synthesizePromptReply(e,n,i,o,c,d){let u={cozeAgentId:e.agentId,cozeReplySeqID:++n.replySeq};return c&&(u.cozeTriggerMsgId=c),d&&(u.cozeGroupId=d),await this.upstream.send(Ur("session/update",{sessionId:i,update:{sessionUpdate:"agent_message_chunk",content:{type:"text",text:o}},_meta:u})).catch(h=>W.warn("synthesizePromptReply update send failed (ignored)",{err:String(h)})),{stopReason:"end_turn"}}forwardUpdate(e,n){let i=n.sessionId,o=this.reverseSessionId(e,i);if(!o){W.debug("drop update for unknown session",{agentId:e.agentId,acpId:i});return}let c=e.sessions.get(o);if(!c){W.debug("drop update: runtime gone",{agentId:e.agentId,cloudId:o});return}if(HE(n)){W.debug("drop codex noise chunk",{agentId:e.agentId,acpId:i});return}let d=n.update;if(d&&typeof d=="object"&&d.sessionUpdate==="current_mode_update"&&nn(e)){let p=d.currentModeId;Bt(e.framework,p)&&c.permissionMode!==p?(c.permissionMode=p,this.persistSessionMapping(e).catch(m=>W.warn("persist mode (from current_mode_update) failed",{framework:e.framework,agentId:e.agentId,err:String(m)}))):typeof p=="string"&&!Bt(e.framework,p)&&W.warn("current_mode_update with invalid modeId for framework, not persisting",{framework:e.framework,agentId:e.agentId,modeId:p})}let u={cozeAgentId:e.agentId,cozeReplySeqID:++c.replySeq},h=e.activeTriggers.get(i);h&&(u.cozeTriggerMsgId=h);let x=e.activeGroupIds.get(i);x&&(u.cozeGroupId=x),this.upstream.send(Ur("session/update",{...n,sessionId:o,_meta:u})).catch(p=>W.warn("forward update failed",{agentId:e.agentId,err:String(p)}))}handleAgentRequest(e,n,i){if(i.method==="session/request_permission"){this.forwardPermissionRequest(e,n,i);return}if(i.method==="fs/write_text_file"||i.method==="fs/read_text_file"){this.handleFsRpcRequest(e,n,i);return}W.warn("unhandled agent request,returning method_not_found",{agentId:e.agentId,method:i.method}),n.respondAgentRequestError(i.id,{code:X.METHOD_NOT_FOUND,message:`method not handled by Bridge: ${i.method}`})}async handleFsRpcRequest(e,n,i){try{let o=e.workspace;if(i.method==="fs/write_text_file"){let c=i.params??{},d=await Dh(c,o);n.respondAgentRequest(i.id,d)}else{let c=i.params??{},d=await Oh(c,o);n.respondAgentRequest(i.id,d)}}catch(o){W.warn("fs rpc handler failed",{agentId:e.agentId,method:i.method,err:String(o)}),n.respondAgentRequestError(i.id,Zi(o))}}clearPendingPermissionFor(e){if(e.method!=="session/request_permission"||!e.cloudSessionId)return;let n=this.agents.get(e.agentId)?.sessions.get(e.cloudSessionId);n&&(n.pendingPermission=void 0)}forwardPermissionRequest(e,n,i){let o=this.upstreamIds.next("session/request_permission"),c=i.params??{},u=c.sessionId,h=u?e.activeTriggers.get(u):void 0,x={cozeAgentId:e.agentId};h&&(x.cozeTriggerMsgId=h);let p=u?e.activeGroupIds.get(u):void 0;p&&(x.cozeGroupId=p);let m=u?this.reverseSessionId(e,u):void 0,v=m?e.sessions.get(m):void 0;v&&(v.pendingPermission={downstream:n,agentRequestId:i.id,upstreamId:o});let _={...c,...m?{sessionId:m}:{},_meta:x};this.pendingUpstream.set(o,{agentRequestId:i.id,agentId:e.agentId,downstream:n,method:i.method,cloudSessionId:m}),W.info("forward permission_request \u2192 upstream",{agentId:e.agentId,upstreamId:o,acpSessionId:u,cloudSessionId:m,toolCallId:c.toolCall?.toolCallId,options:c.options?.map(y=>({optionId:y.optionId,kind:y.kind,name:y.name}))}),this.upstream.send(Vi(o,"session/request_permission",_)).catch(y=>{this.pendingUpstream.delete(o),W.error("forward permission request failed",{agentId:e.agentId,err:String(y)}),n.respondAgentRequestError(i.id,{code:X.INTERNAL_ERROR,message:`upstream send failed: ${String(y)}`})})}handleUpstreamResponse(e){if(e.id===null)return;let n=this.lookupPending(this.pendingUpstream,e.id,"upstream");if(n){this.pendingUpstream.delete(n.key);let o=n.value;this.clearPendingPermissionFor(o),e.error?(W.info("upstream \u2192 permission response (error)",{agentId:o.agentId,upstreamId:e.id,method:o.method,error:e.error}),o.downstream.respondAgentRequestError(o.agentRequestId,e.error)):(o.method==="session/request_permission"&&zE(e.result,o),W.info("upstream \u2192 permission response (result)",{agentId:o.agentId,upstreamId:e.id,method:o.method,result:e.result}),o.downstream.respondAgentRequest(o.agentRequestId,e.result));return}let i=this.lookupPending(this.pendingBridge,e.id,"bridge");if(i){this.pendingBridge.delete(i.key),clearTimeout(i.value.timer),e.error?i.value.reject(new To(e.error)):i.value.resolve(e.result);return}W.debug("orphan upstream response (no pending)",{id:e.id})}lookupPending(e,n,i){let o=e.get(n);if(o)return{value:o,key:n};if(typeof n=="number"){let c=String(n),d=e.get(c);if(d)return W.warn(`${i} id type mismatch: number received but Bridge expected string`,{rawId:n,normalizedId:c}),{value:d,key:c}}}sendRequest(e,n,i=OE){let o=this.upstreamIds.next(e);return new Promise((c,d)=>{let u=setTimeout(()=>{this.pendingBridge.delete(o),d(new k("AGENT_TIMEOUT",`${e} timed out after ${i}ms`))},i);this.pendingBridge.set(o,{method:e,resolve:c,reject:d,timer:u}),this.upstream.send(Vi(o,e,n)).catch(h=>{let x=this.pendingBridge.get(o);x&&(clearTimeout(x.timer),this.pendingBridge.delete(o)),d(h)})})}async persistSessionMapping(e){if(this.paths)try{let n=new Map;for(let[i,o]of e.sessions){let c={modelToken:o.modelToken,tokenGeneratedAt:o.tokenGeneratedAt};o.acpSessionId&&(c.acpSessionId=o.acpSessionId),o.permissionMode&&nn(e)&&(c.permissionMode=o.permissionMode),o.cozeGroupId&&(c.cozeGroupId=o.cozeGroupId),n.set(i,c)}await fi(e.agentId,n,this.paths)}catch(n){W.warn("persist session mapping failed",{agentId:e.agentId,err:String(n)})}}reverseSessionId(e,n){for(let[i,o]of e.sessions.entries())if(o.acpSessionId===n)return i}sendError(e,n,i){return this.upstream.send(Pn(e,{code:n,message:i,data:{bridgeVersion:Mt}}))}};function FE(){return DE(16).toString("hex")}function zE(t,e){if(!t||typeof t!="object"){W.warn("permission response: result not an object (suspicious)",{agentId:e.agentId,result:t});return}let n=t;if("kind"in n&&!("outcome"in n)){W.warn('permission response: top-level "kind" field (D66 historical bug shape)',{agentId:e.agentId,result:t});return}let i=n.outcome;if(!i||typeof i!="object"){W.warn("permission response: missing or non-object outcome field",{agentId:e.agentId,result:t});return}let c=i.outcome;(typeof c!="string"||c!=="selected"&&c!=="cancelled")&&W.warn("permission response: unknown outcome discriminant",{agentId:e.agentId,outcomeValue:c,result:t})}var UE=["Model metadata for `","Falling back from WebSockets to HTTPS transport.","Heads up: Long threads and multiple compactions can cause the model to be less accurate."],zh="Warning: ";function HE(t){let e=t.update;if(e?.sessionUpdate!=="agent_message_chunk")return!1;let n=e.content;if(!n||typeof n!="object")return!1;let i=n;if(i.type!=="text"||typeof i.text!="string")return!1;let o=i.text.startsWith(zh)?i.text.slice(zh.length):i.text;return UE.some(c=>o.startsWith(c))}$t();ne();Pe();import{randomBytes as GE}from"node:crypto";import{createServer as jE}from"node:http";var qE=1e6,Uh=H("ipc"),jo=class{server=null;port=0;token="";routes;paths;constructor(e){this.routes=new Map(e.routes.map(n=>[`${n.method} ${n.path}`,n])),this.paths=e.paths??Y()}async start(){this.token=GE(32).toString("hex");let e=jE((i,o)=>{this.dispatch(i,o)});this.server=e,await new Promise((i,o)=>{e.once("error",o),e.listen(0,"127.0.0.1",()=>i())});let n=e.address();if(!n||typeof n!="object")throw new Error("failed to obtain IPC port");return this.port=n.port,await this.persistAuthFiles(),Uh.info("IPC listening",{port:this.port}),{port:this.port,token:this.token}}async stop(){let e=this.server;e&&(await new Promise((n,i)=>{e.close(o=>o?i(o):n())}),this.server=null)}async persistAuthFiles(){await ht(this.paths.portFile,String(this.port)),await ht(this.paths.tokenFile,this.token,{mode:384})}async dispatch(e,n){if(e.headers.authorization!==`Bearer ${this.token}`){rs(n,401,{error:"unauthorized"});return}let o=`${e.method} ${(e.url??"").split("?")[0]}`,c=this.routes.get(o);if(!c){rs(n,404,{error:"not found"});return}let d=null;if(e.method==="POST")try{d=await WE(e)}catch(u){rs(n,400,{error:"invalid json",detail:String(u)});return}try{let u=await c.handler(d,e);rs(n,200,u??{ok:!0})}catch(u){Uh.error("IPC handler failed",{key:o,err:String(u)}),rs(n,500,{error:u instanceof Error?u.message:String(u)})}}};function rs(t,e,n){t.statusCode=e,t.setHeader("content-type","application/json"),t.end(JSON.stringify(n))}async function WE(t){let e=[],n=0;for await(let o of t){let c=o;if(n+=c.length,n>qE)throw new Error("body too large");e.push(c)}let i=Buffer.concat(e).toString("utf8");return i?JSON.parse(i):null}import"node:module";var fS=Kt(Mx(),1),hS=Kt(Xo(),1),xS=Kt(Vr(),1),pS=Kt(Bd(),1),gS=Kt(Ud(),1),mS=Kt(Kd(),1),Wx=Kt(na(),1),wS=Kt(qx(),1);var Kx=Wx.default;Ve();ne();var{FWS:LS}=rp(),De=H("upstream.frontier"),sp="application/json",op="none",NS=15e3;function MS(t){class e extends Kx{constructor(i){super(i,Xf,{headers:t})}guardTeardown(){this.listenerCount("error")===0&&this.on("error",i=>De.warn("frontier ws error during teardown (handled, prevents daemon crash)",{err:i instanceof Error?i.message:String(i)}))}close(i,o){this.guardTeardown(),super.close(i,o)}terminate(){this.guardTeardown(),super.terminate()}send(i,...o){if(Nl("debug"))try{let c;typeof i=="string"?c=Buffer.from(i,"utf8"):i instanceof Buffer?c=i:i instanceof ArrayBuffer?c=new Uint8Array(i):ArrayBuffer.isView(i)?c=new Uint8Array(i.buffer,i.byteOffset,i.byteLength):c=new Uint8Array(0);let d=Buffer.from(c.slice(0,128)).toString("hex");De.debug("WS raw frame out",{bytes:c.byteLength,headHex:d})}catch(c){De.warn("WS raw frame dump failed",{err:String(c)})}super.send(i,...o)}}return e}var fs=class{constructor(e){this.opts=e}opts;fws=null;handler=null;connectHandlers=[];opened=!1;lastSendRefusedLogAt=0;sendRefusedSuppressed=0;openCount=0;async start(){if(this.fws){De.warn("start called on already-started FrontierUpstream; noop");return}let e={Authorization:`Bearer ${this.opts.privatecode}`,Origin:Qf,...kn(this.opts.ppeOverride)},n=MS(e),i=t0(this.opts.urlOverride),o={url:i,ws:n,fpID:Yf,aID:yo,accessKey:this.opts.handshake.accessKey,deviceID:this.opts.handshake.deviceId,payloadType:{type:sp,force:!0},payloadEncoding:{encoding:op,force:!0},enableTransformTextPayload:!0,enableQoS:!1,enableAutoAck:!1,automaticOpen:!1,maxRetries:Number.POSITIVE_INFINITY,debug:this.opts.debug??!1},c=new LS(o),d=!1,u=null,h,x,p=new Promise((_,y)=>{h=_,x=y}),m=_=>{d||(d=!0,u&&(clearTimeout(u),u=null),_?x(_):h())};c.onopen=()=>{this.opened=!0,this.openCount+=1;let _=this.openCount===1;De.info("frontier opened",{url:i,remoteDeviceId:this.opts.handshake.deviceId,initial:_,openCount:this.openCount}),_&&m();for(let y of this.connectHandlers)Promise.resolve(y({initial:_})).catch(I=>De.warn("onConnect handler threw (ignored)",{err:String(I)}))},c.onclose=_=>{this.opened=!1,De.info("frontier closed",{code:_.code,reason:_.reason,willReconnect:_.willReconnect})},c.onerror=_=>{De.warn("frontier error",{code:_.code,msg:_.message}),m(new k("UPSTREAM_DISCONNECTED",`frontier connect error before open: code=${_.code} msg=${_.message??""}`))},c.onmessage=_=>this.handleMessage(_),this.fws=c;let v=this.opts.openTimeoutMs??NS;u=setTimeout(()=>{m(new k("UPSTREAM_DISCONNECTED",`frontier ws open timeout after ${v}ms (handshake or upgrade slow)`))},v),await c.connect();try{await p}catch(_){try{c.close(1e3,"open failed")}catch(y){De.warn("fws close during start failure threw (ignored)",{err:String(y)})}throw this.fws=null,this.opened=!1,_}}async stop(e){let n=this.fws;if(n){this.fws=null,this.opened=!1;try{n.close(1e3,e??"bridge shutdown")}catch(i){De.warn("frontier close threw (ignored)",{err:String(i)})}}}async send(e){let n=this.fws,i=e.method;if(!n)throw De.warn("frontier send refused: upstream not started",{method:i}),new k("UPSTREAM_DISCONNECTED","frontier upstream not started");if(!this.isConnected()){let u=Date.now();throw u-this.lastSendRefusedLogAt>1e3?(De.warn("frontier send refused: ws not open",{method:i,opened:this.opened,readyState:n.readyState,...this.sendRefusedSuppressed>0?{suppressedSinceLast:this.sendRefusedSuppressed}:{}}),this.lastSendRefusedLogAt=u,this.sendRefusedSuppressed=0):this.sendRefusedSuppressed+=1,new k("UPSTREAM_DISCONNECTED",`frontier ws not open (opened=${this.opened}, readyState=${n.readyState}); refusing to silently buffer`)}this.injectAgentPatToken(e);let o=JSON.stringify(e),c=e;ap(c)||De.info("frontier frame out",{method:c.method,jsonrpcId:c.id,size:o.length});try{await n.send(o,{service:33555712,method:1,payloadType:sp,payloadEncoding:op})}catch(u){throw De.warn("frontier frame send failed",{method:c.method,jsonrpcId:c.id,err:String(u)}),new k("UPSTREAM_DISCONNECTED",`frontier send failed: ${String(u)}`,{cause:u})}}onFrame(e){this.handler=e}onConnect(e){this.connectHandlers.push(e)}isConnected(){return this.opened&&this.fws?.readyState===1}injectAgentPatToken(e){let n=this.opts.getPatTokenForAgent;if(!n)return;let i=e.params?._meta;if(!i?.cozeAgentId)return;let o=n(i.cozeAgentId);o&&(i.cozePatToken=o)}handleMessage(e){let n=e.message?.service;if(n!==33555712){De.debug("drop non-adapter frontier frame",{service:n});return}let i=zS(e);if(!i){De.debug("frontier message without text payload, drop",{payloadType:e.message?.payloadType});return}if(!this.handler){De.debug("frame received but no onFrame handler",{size:i.length});return}let o;try{o=JSON.parse(i)}catch(d){De.warn("frontier message JSON parse failed",{err:String(d),head:i.slice(0,80)});return}let c=o;ap(c)||De.info("frontier frame in",{logid:FS(e.message?.LogID),logidNew:e.message?.LogIDNew,msgId:e.message?.msgID,jsonrpcId:c.id,method:c.method,body:BS(i)}),Promise.resolve(this.handler(o)).catch(d=>De.warn("frontier frame handler threw",{err:String(d)}))}};function ap(t){return t.method==="_agent/health"?!0:typeof t.id=="string"&&t.id.startsWith("agent.health_")}var cp=2e3;function BS(t){return t.length<=cp?t:`${t.slice(0,cp)}...<truncated, total ${t.length} chars>`}function FS(t){return t?t.high===0?String(t.low>>>0):`${t.high.toString(16)}${(t.low>>>0).toString(16).padStart(8,"0")}`:""}function zS(t){let e=t.message;if(e?.textPayload)return e.textPayload;let n=e?.payload;if(!n)return null;try{return Buffer.from(n).toString("utf8")}catch{return null}}Ve();ne();var Zd=H("skill-publish"),US="/api/marketplace/product/skill/publish_with_assets",HS=15e4;async function dp(t,e={}){let i=`${Mr(Br(e.handshakeBase))}${US}`,o=e.timeoutMs??HS,c=new FormData;c.append("skill_id",t.skillId??""),c.append("skill_name",t.skillName),c.append("skill_description",t.description??""),c.append("agent_id",t.agentId),c.append("zip_file",new Blob([t.zip],{type:"application/zip"}),"skill.zip");let d={Authorization:`Bearer ${t.patToken}`,Accept:"application/json","x-coze-version":"3.0",...kn(e.ppeOverride),...t.accountId&&t.accountId!=="0"?{"x-coze-account":t.accountId}:{}},u=new AbortController,h=setTimeout(()=>u.abort(),o);Zd.info("skill publish start",{url:i,method:"POST",form:{skill_id:t.skillId??"",skill_name:t.skillName,skill_description:t.description??"",agent_id:t.agentId,zip_file_bytes:t.zip.length},headers:{...d,Authorization:`Bearer ${t.patToken.slice(0,8)}...`}});try{let x=await fetch(i,{method:"POST",headers:d,body:c,signal:u.signal}),p=x.headers.get("x-tt-logid")??"";if(!x.ok){let _=await x.text().catch(()=>"");throw new k("UPLOAD_FAILED",`skill publish HTTP ${x.status} logid=${p}: ${_.slice(0,200)}`)}let m=await x.json();if(Zd.info("skill publish response",{logid:p,httpStatus:x.status,code:m.code,msg:m.msg,dataSkillId:m.data?.skill_id??"",dataVersion:m.data?.version??""}),m.code!==void 0&&m.code!==0)throw new k("UPLOAD_FAILED",`skill publish code=${m.code} msg=${m.msg??"-"} logid=${p}`);let v={};return m.data?.skill_id!==void 0&&m.data.skill_id!==""&&(v.skillId=String(m.data.skill_id)),m.data?.version&&(v.version=m.data.version),Zd.info("skill publish ok",{logid:p,skillId:v.skillId??"",version:v.version??""}),v}catch(x){throw x instanceof k?x:x.name==="AbortError"?new k("UPLOAD_FAILED",`skill publish timeout (${o}ms): ${t.skillName}`):new k("UPLOAD_FAILED",String(x),{cause:x})}finally{clearTimeout(h)}}ne();var Yd=H("upstream.switchable"),ua=class{inner;handler=null;connectHandlers=[];constructor(e){this.inner=e}async swap(e,n){if(this.inner===e)return;Yd.info("swap upstream",{reason:n});let i=this.inner;if(this.inner=e,this.handler&&e.onFrame(this.handler),e.onConnect)for(let o of this.connectHandlers)e.onConnect(o);try{await e.start()}catch(o){throw Yd.error("swap target start failed, reverting",{err:String(o)}),this.inner=i,o}await i.stop(n??"swapped").catch(o=>Yd.warn("previous upstream stop threw (ignored)",{err:String(o)}))}current(){return this.inner}start(){return this.inner.start()}stop(e){return this.inner.stop(e)}send(e){return this.inner.send(e)}onFrame(e){this.handler=e,this.inner.onFrame(e)}onConnect(e){this.connectHandlers.push(e),this.inner.onConnect?.(e)}isConnected(){return this.inner.isConnected()}};ne();var Xd=H("upstream"),ei=class{handler=null;async start(){Xd.info("NoopUpstream started (M1 skeleton; real Frontier wired in M4)")}async stop(e){Xd.info("NoopUpstream stopped",{reason:e})}async send(e){Xd.debug("NoopUpstream.send (dropped)",{method:"method"in e?e.method:void 0})}onFrame(e){this.handler=e}isConnected(){return!1}async injectFrame(e){this.handler&&await this.handler(e)}};Ve();ne();$t();ne();Pe();import{promises as GS}from"node:fs";var lp=H("pat-token-store");async function fa(t=Y()){try{let n=(await GS.readFile(t.patTokenFile,"utf8")).trim();return n.length===0?(lp.warn("pat-token exists but empty (treating as missing; likely interrupted write)",{path:t.patTokenFile}),null):n}catch(e){let n=e?.code;return n!=="ENOENT"&&lp.warn("read pat-token failed (treating as missing)",{path:t.patTokenFile,code:n,message:e.message}),null}}async function hs(t,e=Y()){if(!t)throw new Error("writePatToken: empty patToken");await ht(e.patTokenFile,t,{mode:384})}Pe();Pe();import{promises as ha}from"node:fs";import{join as jS}from"node:path";function qS(t,e){return`#!/bin/sh
|
|
110
110
|
exec ${JSON.stringify(e)} ${JSON.stringify(t)} "$@"
|
|
111
|
-
`}function
|
|
111
|
+
`}function WS(t,e){return`@echo off\r
|
|
112
112
|
"${e}" "${t}" %*\r
|
|
113
|
-
`}async function
|
|
113
|
+
`}async function up(t,e=Y()){let n=e.binDir;await ha.mkdir(n,{recursive:!0});let i=jS(n,process.platform==="win32"?"coze-bridge.cmd":"coze-bridge"),o=process.execPath,c=process.platform==="win32"?WS(t,o):qS(t,o);return await ha.readFile(i,"utf8").catch(()=>null)===c||(await ha.writeFile(i,c,"utf8"),process.platform!=="win32"&&await ha.chmod(i,493)),n}ne();Pe();import{execSync as fp}from"node:child_process";import{readFileSync as hp,unlinkSync as KS}from"node:fs";import{mkdir as $S,open as VS,readFile as xp,unlink as Qd,writeFile as JS}from"node:fs/promises";import{dirname as ZS}from"node:path";var YS=H("single-instance"),XS=t=>new Promise(e=>setTimeout(e,t)),xa=class{pidFile;selfPid;probe;claimLockMaxAttempts;claimLockIntervalMs;acquired=!1;constructor(e={}){this.pidFile=e.pidFile??Y().pidFile,this.selfPid=e.selfPid??process.pid,this.claimLockMaxAttempts=e.claimLockMaxAttempts??50,this.claimLockIntervalMs=e.claimLockIntervalMs??20,this.probe=e.probe??{isAlive:n=>Yi(n),isDaemon:n=>this.matchesDaemonTitle(n)},e.processTitle&&(process.title=e.processTitle)}async acquire(){let e=await this.readExistingPid();if(e!==null&&e!==this.selfPid&&this.isLiveDaemon(e))return{kind:"already-running",pid:e};let n=await this.withClaimLock(async()=>{let i=await this.readExistingPid();return i!==null&&i!==this.selfPid&&this.isLiveDaemon(i)?{kind:"already-running",pid:i}:(i!==null&&i!==this.selfPid&&YS.warn("removing stale pid file",{stalePid:i}),await JS(this.pidFile,String(this.selfPid),"utf8"),{kind:"acquired"})});return n.kind==="acquired"&&(this.acquired=!0,this.installCleanupHooks()),n}async release(){if(this.acquired){try{(await xp(this.pidFile,"utf8")).trim()===String(this.selfPid)&&await Qd(this.pidFile)}catch{}this.acquired=!1}}isLiveDaemon(e){return this.probe.isAlive(e)&&this.probe.isDaemon(e)}async readExistingPid(){return this.readPidFrom(this.pidFile)}async readPidFrom(e){try{let n=await xp(e,"utf8"),i=Number.parseInt(n.trim(),10);return Number.isFinite(i)&&i>0?i:null}catch(n){if(n.code==="ENOENT")return null;throw n}}async withClaimLock(e){let n=`${this.pidFile}.lock`;await $S(ZS(n),{recursive:!0});for(let i=0;i<this.claimLockMaxAttempts;i++){let o;try{o=await VS(n,"wx")}catch(c){if(c.code!=="EEXIST")throw c;let d=await this.readPidFrom(n);if(d!==null&&d!==this.selfPid&&this.probe.isAlive(d)){await XS(this.claimLockIntervalMs);continue}await Qd(n).catch(()=>{});continue}try{return await o.writeFile(String(this.selfPid)),await e()}finally{await o.close().catch(()=>{}),await Qd(n).catch(()=>{})}}throw new Error(`failed to acquire claim lock: ${n} (after ${this.claimLockMaxAttempts} attempts)`)}matchesDaemonTitle(e){if(process.platform==="win32")return this.matchesDaemonTitleWindows(e);try{let n=hp(`/proc/${e}/cmdline`,"utf8").replace(/\0/g," ");return!!(n.includes(jr)||n.includes("lib/index.js"))}catch{}try{let n=fp(`ps -o command= -p ${e}`,{stdio:["ignore","pipe","ignore"],timeout:1e3}).toString();return n.trim()?n.includes(jr)||n.includes("lib/index.js"):!1}catch{return!0}}matchesDaemonTitleWindows(e){try{let i=fp(`tasklist /FI "PID eq ${e}" /FO CSV /NH`,{stdio:["ignore","pipe","ignore"],timeout:2e3}).toString().trim();if(!i||/^(INFO|信息)[::]/.test(i))return!1;let o=i.split(",",1)[0]?.replace(/^"|"$/g,"").toLowerCase()??"";return o.includes("node")||o.includes("coze-bridge")}catch{return!0}}installCleanupHooks(){process.once("exit",()=>{if(this.acquired)try{hp(this.pidFile,"utf8").trim()===String(this.selfPid)&&KS(this.pidFile)}catch{}})}};pa();ne();var or=H("daemon.upstream-watchdog"),o1=12e4,a1=9e5,c1=3e4;function tl(t,e){let n=process.env[t];if(!n)return e;let i=Number(n);return Number.isFinite(i)&&i>0?i:e}var ga=class{constructor(e){this.opts=e;this.softMs=e.softMs??tl("COZE_BRIDGE_UPSTREAM_WATCHDOG_SOFT_MS",o1),this.hardMs=e.hardMs??tl("COZE_BRIDGE_UPSTREAM_WATCHDOG_HARD_MS",a1),this.intervalMs=e.intervalMs??tl("COZE_BRIDGE_UPSTREAM_WATCHDOG_INTERVAL_MS",c1),this.now=e.now??Date.now}opts;softMs;hardMs;intervalMs;now;timer=null;downSince=null;forcedAt=null;forcing=!1;lastTickAt=null;start(){this.timer||(this.timer=setInterval(()=>this.tick(),this.intervalMs),this.timer.unref?.(),or.info("upstream watchdog started",{softMs:this.softMs,hardMs:this.hardMs,intervalMs:this.intervalMs}))}stop(){this.timer&&(clearInterval(this.timer),this.timer=null),this.downSince=null,this.forcedAt=null,this.lastTickAt=null}tick(){let e=this.now();if(this.lastTickAt!==null&&e-this.lastTickAt>this.intervalMs*3&&(this.downSince!==null&&or.warn("upstream watchdog: large tick gap (likely sleep/suspend), resetting downSince",{gapMs:e-this.lastTickAt}),this.downSince=null,this.forcedAt=null),this.lastTickAt=e,this.opts.isConnected()){this.downSince!==null&&or.info("upstream watchdog: reconnected, reset",{downMs:this.now()-this.downSince}),this.downSince=null,this.forcedAt=null;return}if(this.downSince===null){this.downSince=e,or.warn("upstream watchdog: disconnect detected, arming",{softMs:this.softMs,hardMs:this.hardMs});return}let n=e-this.downSince;if(n>=this.hardMs){or.error("upstream watchdog: disconnected too long, exiting for supervisor restart",{downMs:n,hardMs:this.hardMs}),this.opts.onFatal(n);return}n>=this.softMs&&this.shouldForceNow(e)&&(this.forcedAt=e,this.forcing=!0,or.warn("upstream watchdog: forcing reconnect",{downMs:n,softMs:this.softMs}),Promise.resolve().then(()=>this.opts.forceReconnect()).catch(i=>or.warn("upstream watchdog: forceReconnect error (ignored)",{err:String(i)})).finally(()=>{this.forcing=!1}))}shouldForceNow(e){return!(this.forcing||this.forcedAt!==null&&e-this.forcedAt<this.softMs)}};var j=H("daemon");async function mp(){let t=Y();if(process.env.COZE_BRIDGE_LOG_MODE!=="legacy"){Ol({bridgeLogsDir:t.bridgeLogsDir,agentLogsDir:P=>ze(P,t).logs,listAgentIds:()=>Is(t)});try{let{writeFileSync:P}=await import("node:fs");P(t.logFile,`\u8FD0\u884C\u65E5\u5FD7\u5DF2\u8FC1\u79FB\u5230 dated \u6587\u4EF6, \u6B64\u6587\u4EF6 (bridge.log) \u4E0D\u518D\u5199\u5165\u8FD0\u884C\u65E5\u5FD7\u3002
|
|
114
114
|
\u8BF7\u67E5\u770B: ${t.bridgeLogsDir}/bridge-<YYYY-MM-DD>.log
|
|
115
115
|
\u6216\u4F7F\u7528: coze-bridge log [-f] [--lines N]
|
|
116
|
-
`)}catch{}}let e=new ca({processTitle:Br}),n=await e.acquire();if(n.kind==="already-running")throw new Error(`coze-bridge daemon already running (pid=${n.pid})`);let i=await No(),o=i??{};gs({pid:process.pid}),q.info(i?"loaded bridge config":"initialized bridge config");let c=new sa(new Vr),d=null,u=new Mo({upstream:c,paths:t,bridgeConfig:o,sessionSpawner:async(P,z,H,ee)=>{if(!d)throw new Error("agentManager not ready");return d.spawnSessionDownstream(P,z,H,ee)}}),f=new Do({paths:t,config:o,registry:u});d=f;let x,p,w=null,S={},_,b=null,I=null,A=null,R=new An;function D(P,z){return R.enqueue(()=>C(P,z))}function y(){I||(I=new la({isConnected:()=>c.isConnected()&&!(b?.isLivenessLost()??!1),forceReconnect:()=>A?D(A,{force:!0}):void 0,onFatal:P=>{if(process.env[cs]==="1"){q.error("upstream watchdog fatal, but daemon is unmanaged (CLI-spawned) \u2014 staying alive for soft-reconnect instead of exiting",{downMs:P});return}q.error("upstream watchdog fatal: exiting for supervisor restart",{downMs:P}),process.exit(1)}})),I.start()}async function C(P,z){let H=P,ee=H?.privatecode;if(!ee)throw new T("IPC_BAD_REQUEST","/connect requires privatecode");let Je=Fi(H.env),pe=H.handshake_url,ge=H.frontier_url,kt=dp(H.env,pe,ge);if(A=H,!z?.force&&x===ee&&p===kt){let _e=await o1(t);return u.agents.size===0&&_e?(q.warn("/connect noop but core.agents empty with configs on disk; re-running auto-revive"),fa(t,f).catch(ke=>q.warn("connect-noop auto-revive error (ignored)",{err:String(ke)}))):q.info("/connect: already connected with same PAT + env, noop"),{ok:!0,note:"already connected"}}let wt=!!x&&x!==ee,sn=p!==void 0&&p!==kt,Ut=wt||sn,on=await Zc({privatecode:ee,...pe?{endpoint:pe}:{},ppeOverride:Je});if(Ut){q.warn("connect config switched, resetting agents",{pcChanged:wt,envChanged:sn,previousPc:x?ua(x):"",nextPc:ua(ee)});for(let _e of[...u.agents.values()])await _e.dispose("connect config switch").catch(()=>{}),u.agents.delete(_e.agentId);u.disconnectedAgents.size>0&&(q.info("clearing disconnectedAgents set on connect config switch",{count:u.disconnectedAgents.size}),u.disconnectedAgents.clear()),await c.swap(new Vr,"connect switch").catch(()=>{})}w=on.deviceId,gs({deviceId:w,pid:process.pid}),yd({patToken:ee,env:H.env}).catch(_e=>q.warn("coze-cli setup error (ignored)",{err:String(_e)}));let Qr=new os({handshake:on,privatecode:ee,...ge?{urlOverride:ge}:{},ppeOverride:Je,getPatTokenForAgent:_e=>u.agents.get(_e)?.patToken});return await c.swap(Qr,"connect"),x=ee,p=kt,S=Je,_=pe,H.mock_scenario!==void 0&&(u.setMockScenario(H.mock_scenario),q.info("mock scenario set",{scenario:H.mock_scenario})),b||(b=new Gi({core:u,getDeviceId:()=>w??"",onTickEnd:()=>N.retryPending().catch(_e=>q.warn("detailSync.retryPending failed (ignored)",{err:String(_e)})),onAuthFailures:J})),b.start(),y(),Ut&&fa(t,f).catch(_e=>q.warn("post-connect-switch auto-revive error (ignored)",{err:String(_e)})),as(ee,t).catch(_e=>q.warn("writePatToken after /connect failed (ignored)",{err:String(_e)})),q.info("/connect: WS established",{deviceId:w}),{ok:!0,note:"connected"}}u.registerExtension("_agent/create",async P=>f.createAgent(P.params)),u.registerExtension("_agent/health",async()=>({ok:!0}));let O={},B=new _o({agents:u.agents,paths:t,publishSkillToMarketplace:async P=>{let z=u.agents.get(P.agentId)?.patToken??x;if(!z)throw new T("UPSTREAM_NOT_READY","daemon not yet paired with cloud (run --pair-code first)");return np({patToken:z,zip:P.zip,...P.skillId?{skillId:P.skillId}:{},skillName:P.skillName,...P.description?{description:P.description}:{},agentId:P.agentId,...P.accountId?{accountId:P.accountId}:{}},{handshakeBase:_,ppeOverride:S})},disposeAndMarkDisconnected:async(P,z)=>{let H=u.agents.get(P);if(H){await f.cleanupOpenclawSessionProviders(H).catch(Je=>q.warn("cleanup openclaw providers failed (ignored)",{agentId:P,err:String(Je)})),H.framework==="hermes"&&H.deployType==="cloud"&&await rd(P,t).catch(Je=>q.warn("cleanup hermes-home failed (ignored)",{agentId:P,err:String(Je)}));let ee=!0;try{await H.dispose(`disconnect: ${z}`)}catch(Je){ee=!1,q.error("dispose during disconnect FAILED, leaving agent in error state",{agentId:P,err:String(Je)}),H.status="error"}ee&&(H.status="disconnected",u.unregister(P),u.disconnectedAgents.add(P))}else u.disconnectedAgents.add(P)},disposeForDelete:async(P,z)=>{let H=u.agents.get(P);H&&(await f.cleanupOpenclawSessionProviders(H).catch(ee=>q.warn("cleanup openclaw providers during delete failed (ignored)",{agentId:P,err:String(ee)})),H.framework==="hermes"&&H.deployType==="cloud"&&await rd(P,t).catch(ee=>q.warn("cleanup hermes-home during delete failed (ignored)",{agentId:P,err:String(ee)})),await H.dispose(`delete: ${z}`).catch(ee=>q.warn("dispose during delete failed (ignored)",{agentId:P,err:String(ee)})),u.unregister(P)),u.disconnectedAgents.delete(P)},detailSyncer:async P=>{if(!O.ref)throw new Error("agent-detail-sync not initialized yet");await O.ref.syncOne(P)},cleanupOpenclawProviders:async(P,z)=>{await f.cleanupOpenclawSessionProviders(P,z)},openclawRepair:async(P,z)=>{await f.openclawRepair(P,z)},hermesReset:async(P,z)=>{let H=await ve(P).catch(()=>null);!H||H.framework!=="hermes"||H.deployType!=="cloud"||await l0({paths:t,agentId:P,model:H.model,modelInfo:H.modelInfo,cozeEnv:z,mockScenario:u.getMockScenario()})},isRuntimePendingPermission:P=>u.hasPendingPermissionFor(P)});u.registerExtension("_agent/listSkills",P=>B.listSkills(P.params)),u.registerExtension("_agent/addSkills",P=>B.addSkills(P.params)),u.registerExtension("_agent/removeSkills",P=>B.removeSkills(P.params)),u.registerExtension("_agent/publishSkill",P=>B.publishSkill(P.params)),u.registerExtension("_agent/getFileTree",P=>B.getFileTree(P.params)),u.registerExtension("_agent/getFileContent",P=>B.getFileContent(P.params)),u.registerExtension("_agent/update",P=>B.updateAgent(P.params)),u.registerExtension("_agent/disconnect",P=>B.disconnectAgent(P.params)),u.registerExtension("_agent/switchModel",P=>B.switchModel(P.params)),u.registerExtension("_agent/reset",P=>B.resetAgent(P.params)),u.registerExtension("_agent/repair",P=>B.repairAgent(P.params)),u.registerExtension("_agent/delete",P=>B.deleteAgent(P.params)),u.registerExtension("_agent/upgrade",P=>B.upgradeBridge(P.params));let N=new Es({paths:t,handlers:B,agentManager:f,sendDetail:P=>u.sendRequest("_agent/detail",P)});O.ref=N;let J=async P=>{await Promise.allSettled(P.map(async z=>{try{await B.disconnectAgent({agentId:z.agentId,reason:`auth_failure: code=${z.code} ${z.message}`}),q.info("agent disconnected due to auth failure from heartbeat response",{agentId:z.agentId,code:z.code,message:z.message})}catch(H){q.warn("disconnect during authFailure handling failed (ignored)",{agentId:z.agentId,err:String(H)})}}))};c.onConnect(({initial:P})=>{q.info("frontier upstream connected, triggering detail sync",{initial:P}),N.syncAll(P?"initial-connect":"reconnect").catch(z=>q.warn("detail sync top-level error (ignored)",{err:String(z)}))});let K=new Bo({paths:t,routes:[{method:"GET",path:"/status",handler:async()=>{let P=u.getMockScenario();return{running:!0,pid:process.pid,nodeExecPath:process.execPath,nodeVersion:process.version,nodeArch:process.arch,spawnedBy:process.env[cs]==="1"?"manual":"supervisor",agents:[...u.agents.keys()],deviceId:w??"",frameworksCache:o.frameworksCache??{},...P?{mockScenario:P}:{}}}},{method:"POST",path:"/pair",handler:async P=>{let z=P,H=z?.privatecode,ee=z?.pairing_code;if(!H||!ee)throw new T("IPC_BAD_REQUEST","/pair requires privatecode + pairing_code");let Je=Fi(z.env),pe=z.handshake_url,ge=z.frontier_url,kt=dp(z.env,pe,ge),wt=!!x&&x!==H,sn=p!==void 0&&p!==kt,Ut=wt||sn,on=await Zc({privatecode:H,...pe?{endpoint:pe}:{},ppeOverride:Je});if(Ut){q.warn("pair config switched, resetting agents",{pcChanged:wt,envChanged:sn,previousPc:x?ua(x):"",nextPc:ua(H),previousEnvKey:p??"",nextEnvKey:kt});for(let ke of[...u.agents.values()])await ke.dispose("pair config switch").catch(()=>{}),u.agents.delete(ke.agentId);u.disconnectedAgents.size>0&&(q.info("clearing disconnectedAgents set on pair config switch",{count:u.disconnectedAgents.size}),u.disconnectedAgents.clear()),await c.swap(new Vr,"pair switch").catch(()=>{})}w=on.deviceId,gs({deviceId:w,pid:process.pid}),yd({patToken:H,env:z.env}).catch(ke=>q.warn("coze-cli setup error (ignored)",{err:String(ke)}));let Qr=new os({handshake:on,privatecode:H,...ge?{urlOverride:ge}:{},ppeOverride:Je,getPatTokenForAgent:ke=>u.agents.get(ke)?.patToken});await c.swap(Qr,"pair");try{let ke=new Jn;o.frameworksCache=await ke.detectAll(),await Ji(o),q.info("frameworks_cache refreshed before pair",{detected:Object.keys(o.frameworksCache)})}catch(ke){q.warn("frameworks_cache refresh failed (ignored, using cached)",{err:String(ke)})}let _e=Object.keys(o.frameworksCache??{});try{let ke=await u.sendRequest("_agent/pair",{pairCode:ee,patToken:H,frameworks:_e,_meta:{cozeDeviceId:w}});q.info("_agent/pair ok",{pairResult:ke}),x=H,p=kt,S=Je,_=pe,z.mock_scenario!==void 0&&(u.setMockScenario(z.mock_scenario),q.info("mock scenario set",{scenario:z.mock_scenario})),as(H,t).catch(Le=>q.warn("writePatToken after /pair failed (ignored)",{err:String(Le)})),b||(b=new Gi({core:u,getDeviceId:()=>w??"",onTickEnd:()=>N.retryPending().catch(Le=>q.warn("detailSync.retryPending failed (ignored)",{err:String(Le)})),onAuthFailures:J})),b.start(),y(),Ut&&fa(t,f).catch(Le=>q.warn("post-pair-switch auto-revive error (ignored)",{err:String(Le)}));let nr;return z.agent_id&&(nr=await c1(z.agent_id,t,f,Le=>u.sendRequest("_agent/detail",Le),H).catch(Le=>(q.error("--agent-id ensureAgent failed",{agentId:z.agent_id,err:String(Le)}),{ok:!1,agentId:z.agent_id??"",note:String(Le)}))),{ok:!0,note:"paired with cloud",...nr?{agent:nr}:{}}}catch(ke){return q.error("_agent/pair failed",{err:String(ke)}),{ok:!1,note:`pair failed: ${String(ke)}`}}}},{method:"POST",path:"/connect",handler:P=>D(P)},{method:"POST",path:"/_agent/create",handler:async P=>{let z=P;return{ok:!0,result:await f.createAgent(z)}}},{method:"POST",path:"/agent/send",handler:async P=>{let z=P;if(!z?.agentId||!z?.sessionId||!z?.kind||!z?.path)throw new T("IPC_BAD_REQUEST","/agent/send requires agentId, sessionId, kind, path");if(!x)throw new T("UPSTREAM_NOT_READY","daemon not yet paired with cloud (run --pair-code first)");try{let H=z;return await(H.groupFile?gh:ph)(H,{core:u,patToken:x,handshakeBase:_,ppeOverride:S})}catch(H){if(H instanceof T)return{ok:!1,code:H.code,message:H.message};throw H}}},{method:"POST",path:"/reload",handler:async P=>{let z=P?.agent_id,H=await u.reloadAgents(z);return q.info("IPC /reload: recycled agent subprocesses",{agentId:z??"(all)",recycled:H}),{ok:!0,recycled:H}}},{method:"POST",path:"/shutdown",handler:async()=>(q.info("IPC /shutdown received"),setImmediate(()=>{ae.shutdown("ipc /shutdown")}),{ok:!0})}]}),{port:ie,token:X}=await K.start();try{await ip(t.libEntry,t)}catch(P){q.warn("bin shim install failed (D72 send \u547D\u4EE4\u53EF\u80FD\u4E0D\u53EF\u7528)",{err:String(P)})}await u.start(),d1({paths:t,core:u,agentManager:f,detectAll:async()=>(o.frameworksCache=await new Jn().detectAll(),await Ji(o),o.frameworksCache)}).catch(P=>q.warn("startup warmup error (ignored)",{err:String(P)})),Ul().then(async()=>{let{probeAcpVersion:P}=await Promise.resolve().then(()=>(dn(),Fl));for(let z of["claude-code","codex"]){let H=await P(z);H&&q.info("acp wrapper version",{framework:z,version:H})}}).catch(P=>q.warn("acp wrapper warmup / probe top-level error (ignored)",{err:String(P)}));let oe=null,ae={port:ie,token:X,core:u,ipc:K,shutdown(P){return oe||(q.info("daemon shutdown",{reason:P}),oe=(async()=>{b?.stop(),I?.stop(),await u.stop(P),await K.stop(),await e.release()})(),oe)}};for(let P of["SIGTERM","SIGINT"])process.on(P,()=>{ae.shutdown(P).then(()=>process.exit(0))});return process.on("exit",()=>N0()),process.on("unhandledRejection",P=>{q.error("unhandledRejection",{reason:P instanceof Error?P.message:String(P),stack:P instanceof Error?P.stack:void 0})}),process.on("uncaughtException",P=>{q.error("uncaughtException (will exit, supervisor will restart)",{message:P.message,stack:P.stack,name:P.name});try{process.stderr.write(`FATAL uncaughtException: ${P.stack??P.message}
|
|
117
|
-
`)}catch{}process.exit(1)}),
|
|
118
|
-
`)){let u=d.indexOf("=");u<=0||(c[d.slice(0,u)]=d.slice(u+1))}return c}function
|
|
119
|
-
`;await
|
|
120
|
-
`).filter(d=>d.length>0).filter(d=>
|
|
121
|
-
`)}async function
|
|
122
|
-
`),1;for(let x of
|
|
123
|
-
`);return 0}let o=t.date??
|
|
116
|
+
`)}catch{}}let e=new xa({processTitle:jr}),n=await e.acquire();if(n.kind==="already-running")throw new Error(`coze-bridge daemon already running (pid=${n.pid})`);let i=await Ho(),o=i??{};Es({pid:process.pid}),j.info(i?"loaded bridge config":"initialized bridge config");let c=new ua(new ei),d=null,u=new Go({upstream:c,paths:t,bridgeConfig:o,sessionSpawner:async(P,z,G,te)=>{if(!d)throw new Error("agentManager not ready");return d.spawnSessionDownstream(P,z,G,te)}}),h=new Fo({paths:t,config:o,registry:u});d=h;let x,p,m=null,v={},_,y=null,I=null,A=null,T=new Cn;function R(P,z){return T.enqueue(()=>C(P,z))}function b(){I||(I=new ga({isConnected:()=>c.isConnected()&&!(y?.isLivenessLost()??!1),forceReconnect:()=>A?R(A,{force:!0}):void 0,onFatal:P=>{if(process.env[xs]==="1"){j.error("upstream watchdog fatal, but daemon is unmanaged (CLI-spawned) \u2014 staying alive for soft-reconnect instead of exiting",{downMs:P});return}j.error("upstream watchdog fatal: exiting for supervisor restart",{downMs:P}),process.exit(1)}})),I.start()}async function C(P,z){let G=P,te=G?.privatecode;if(!te)throw new k("IPC_BAD_REQUEST","/connect requires privatecode");let Ze=qi(G.env),pe=G.handshake_url,ge=G.frontier_url,Pt=gp(G.env,pe,ge);if(A=G,!z?.force&&x===te&&p===Pt){let _e=await d1(t);return u.agents.size===0&&_e?(j.warn("/connect noop but core.agents empty with configs on disk; re-running auto-revive"),wa(t,h).catch(ke=>j.warn("connect-noop auto-revive error (ignored)",{err:String(ke)}))):j.info("/connect: already connected with same PAT + env, noop"),{ok:!0,note:"already connected"}}let yt=!!x&&x!==te,dn=p!==void 0&&p!==Pt,Gt=yt||dn,ln=await nd({privatecode:te,...pe?{endpoint:pe}:{},ppeOverride:Ze});if(Gt){j.warn("connect config switched, resetting agents",{pcChanged:yt,envChanged:dn,previousPc:x?ma(x):"",nextPc:ma(te)});for(let _e of[...u.agents.values()])await _e.dispose("connect config switch").catch(()=>{}),u.agents.delete(_e.agentId);u.disconnectedAgents.size>0&&(j.info("clearing disconnectedAgents set on connect config switch",{count:u.disconnectedAgents.size}),u.disconnectedAgents.clear()),await c.swap(new ei,"connect switch").catch(()=>{})}m=ln.deviceId,Es({deviceId:m,pid:process.pid}),Id({patToken:te,env:G.env}).catch(_e=>j.warn("coze-cli setup error (ignored)",{err:String(_e)}));let si=new fs({handshake:ln,privatecode:te,...ge?{urlOverride:ge}:{},ppeOverride:Ze,getPatTokenForAgent:_e=>u.agents.get(_e)?.patToken});return await c.swap(si,"connect"),x=te,p=Pt,v=Ze,_=pe,G.mock_scenario!==void 0&&(u.setMockScenario(G.mock_scenario),j.info("mock scenario set",{scenario:G.mock_scenario})),y||(y=new $i({core:u,getDeviceId:()=>m??"",onTickEnd:()=>M.retryPending().catch(_e=>j.warn("detailSync.retryPending failed (ignored)",{err:String(_e)})),onAuthFailures:Z})),y.start(),b(),Gt&&wa(t,h).catch(_e=>j.warn("post-connect-switch auto-revive error (ignored)",{err:String(_e)})),hs(te,t).catch(_e=>j.warn("writePatToken after /connect failed (ignored)",{err:String(_e)})),j.info("/connect: WS established",{deviceId:m}),{ok:!0,note:"connected"}}u.registerExtension("_agent/create",async P=>h.createAgent(P.params)),u.registerExtension("_agent/health",async()=>({ok:!0}));let O={},B=new Io({agents:u.agents,paths:t,publishSkillToMarketplace:async P=>{let z=u.agents.get(P.agentId)?.patToken??x;if(!z)throw new k("UPSTREAM_NOT_READY","daemon not yet paired with cloud (run --pair-code first)");return dp({patToken:z,zip:P.zip,...P.skillId?{skillId:P.skillId}:{},skillName:P.skillName,...P.description?{description:P.description}:{},agentId:P.agentId,...P.accountId?{accountId:P.accountId}:{}},{handshakeBase:_,ppeOverride:v})},disposeAndMarkDisconnected:async(P,z)=>{let G=u.agents.get(P);if(G){await h.cleanupOpenclawSessionProviders(G).catch(Ze=>j.warn("cleanup openclaw providers failed (ignored)",{agentId:P,err:String(Ze)})),G.framework==="hermes"&&G.deployType==="cloud"&&await cd(P,t).catch(Ze=>j.warn("cleanup hermes-home failed (ignored)",{agentId:P,err:String(Ze)}));let te=!0;try{await G.dispose(`disconnect: ${z}`)}catch(Ze){te=!1,j.error("dispose during disconnect FAILED, leaving agent in error state",{agentId:P,err:String(Ze)}),G.status="error"}te&&(G.status="disconnected",u.unregister(P),u.disconnectedAgents.add(P))}else u.disconnectedAgents.add(P)},disposeForDelete:async(P,z)=>{let G=u.agents.get(P);G&&(await h.cleanupOpenclawSessionProviders(G).catch(te=>j.warn("cleanup openclaw providers during delete failed (ignored)",{agentId:P,err:String(te)})),G.framework==="hermes"&&G.deployType==="cloud"&&await cd(P,t).catch(te=>j.warn("cleanup hermes-home during delete failed (ignored)",{agentId:P,err:String(te)})),await G.dispose(`delete: ${z}`).catch(te=>j.warn("dispose during delete failed (ignored)",{agentId:P,err:String(te)})),u.unregister(P)),u.disconnectedAgents.delete(P)},detailSyncer:async P=>{if(!O.ref)throw new Error("agent-detail-sync not initialized yet");await O.ref.syncOne(P)},cleanupOpenclawProviders:async(P,z)=>{await h.cleanupOpenclawSessionProviders(P,z)},openclawRepair:async(P,z)=>{await h.openclawRepair(P,z)},hermesReset:async(P,z)=>{let G=await ve(P).catch(()=>null);!G||G.framework!=="hermes"||G.deployType!=="cloud"||await x0({paths:t,agentId:P,model:G.model,modelInfo:G.modelInfo,cozeEnv:z,mockScenario:u.getMockScenario()})},isRuntimePendingPermission:P=>u.hasPendingPermissionFor(P)});u.registerExtension("_agent/listSkills",P=>B.listSkills(P.params)),u.registerExtension("_agent/addSkills",P=>B.addSkills(P.params)),u.registerExtension("_agent/removeSkills",P=>B.removeSkills(P.params)),u.registerExtension("_agent/publishSkill",P=>B.publishSkill(P.params)),u.registerExtension("_agent/getFileTree",P=>B.getFileTree(P.params)),u.registerExtension("_agent/getFileContent",P=>B.getFileContent(P.params)),u.registerExtension("_agent/update",P=>B.updateAgent(P.params)),u.registerExtension("_agent/disconnect",P=>B.disconnectAgent(P.params)),u.registerExtension("_agent/switchModel",P=>B.switchModel(P.params)),u.registerExtension("_agent/reset",P=>B.resetAgent(P.params)),u.registerExtension("_agent/repair",P=>B.repairAgent(P.params)),u.registerExtension("_agent/delete",P=>B.deleteAgent(P.params)),u.registerExtension("_agent/upgrade",P=>B.upgradeBridge(P.params));let M=new Ts({paths:t,handlers:B,agentManager:h,sendDetail:P=>u.sendRequest("_agent/detail",P)});O.ref=M;let Z=async P=>{await Promise.allSettled(P.map(async z=>{try{await B.disconnectAgent({agentId:z.agentId,reason:`auth_failure: code=${z.code} ${z.message}`}),j.info("agent disconnected due to auth failure from heartbeat response",{agentId:z.agentId,code:z.code,message:z.message})}catch(G){j.warn("disconnect during authFailure handling failed (ignored)",{agentId:z.agentId,err:String(G)})}}))};c.onConnect(({initial:P})=>{j.info("frontier upstream connected, triggering detail sync",{initial:P}),M.syncAll(P?"initial-connect":"reconnect").catch(z=>j.warn("detail sync top-level error (ignored)",{err:String(z)}))});let $=new jo({paths:t,routes:[{method:"GET",path:"/status",handler:async()=>{let P=u.getMockScenario();return{running:!0,pid:process.pid,nodeExecPath:process.execPath,nodeVersion:process.version,nodeArch:process.arch,spawnedBy:process.env[xs]==="1"?"manual":"supervisor",agents:[...u.agents.keys()],deviceId:m??"",frameworksCache:o.frameworksCache??{},...P?{mockScenario:P}:{}}}},{method:"POST",path:"/pair",handler:async P=>{let z=P,G=z?.privatecode,te=z?.pairing_code;if(!G||!te)throw new k("IPC_BAD_REQUEST","/pair requires privatecode + pairing_code");let Ze=qi(z.env),pe=z.handshake_url,ge=z.frontier_url,Pt=gp(z.env,pe,ge),yt=!!x&&x!==G,dn=p!==void 0&&p!==Pt,Gt=yt||dn,ln=await nd({privatecode:G,...pe?{endpoint:pe}:{},ppeOverride:Ze});if(Gt){j.warn("pair config switched, resetting agents",{pcChanged:yt,envChanged:dn,previousPc:x?ma(x):"",nextPc:ma(G),previousEnvKey:p??"",nextEnvKey:Pt});for(let ke of[...u.agents.values()])await ke.dispose("pair config switch").catch(()=>{}),u.agents.delete(ke.agentId);u.disconnectedAgents.size>0&&(j.info("clearing disconnectedAgents set on pair config switch",{count:u.disconnectedAgents.size}),u.disconnectedAgents.clear()),await c.swap(new ei,"pair switch").catch(()=>{})}m=ln.deviceId,Es({deviceId:m,pid:process.pid}),Id({patToken:G,env:z.env}).catch(ke=>j.warn("coze-cli setup error (ignored)",{err:String(ke)}));let si=new fs({handshake:ln,privatecode:G,...ge?{urlOverride:ge}:{},ppeOverride:Ze,getPatTokenForAgent:ke=>u.agents.get(ke)?.patToken});await c.swap(si,"pair");try{let ke=new er;o.frameworksCache=await ke.detectAll(),await ts(o),j.info("frameworks_cache refreshed before pair",{detected:Object.keys(o.frameworksCache)})}catch(ke){j.warn("frameworks_cache refresh failed (ignored, using cached)",{err:String(ke)})}let _e=Object.keys(o.frameworksCache??{});try{let ke=await u.sendRequest("_agent/pair",{pairCode:te,patToken:G,frameworks:_e,_meta:{cozeDeviceId:m}});j.info("_agent/pair ok",{pairResult:ke}),x=G,p=Pt,v=Ze,_=pe,z.mock_scenario!==void 0&&(u.setMockScenario(z.mock_scenario),j.info("mock scenario set",{scenario:z.mock_scenario})),hs(G,t).catch(Le=>j.warn("writePatToken after /pair failed (ignored)",{err:String(Le)})),y||(y=new $i({core:u,getDeviceId:()=>m??"",onTickEnd:()=>M.retryPending().catch(Le=>j.warn("detailSync.retryPending failed (ignored)",{err:String(Le)})),onAuthFailures:Z})),y.start(),b(),Gt&&wa(t,h).catch(Le=>j.warn("post-pair-switch auto-revive error (ignored)",{err:String(Le)}));let ar;return z.agent_id&&(ar=await u1(z.agent_id,t,h,Le=>u.sendRequest("_agent/detail",Le),G).catch(Le=>(j.error("--agent-id ensureAgent failed",{agentId:z.agent_id,err:String(Le)}),{ok:!1,agentId:z.agent_id??"",note:String(Le)}))),{ok:!0,note:"paired with cloud",...ar?{agent:ar}:{}}}catch(ke){return j.error("_agent/pair failed",{err:String(ke)}),{ok:!1,note:`pair failed: ${String(ke)}`}}}},{method:"POST",path:"/connect",handler:P=>R(P)},{method:"POST",path:"/_agent/create",handler:async P=>{let z=P;return{ok:!0,result:await h.createAgent(z)}}},{method:"POST",path:"/agent/send",handler:async P=>{let z=P;if(!z?.agentId||!z?.sessionId||!z?.kind||!z?.path)throw new k("IPC_BAD_REQUEST","/agent/send requires agentId, sessionId, kind, path");if(!x)throw new k("UPSTREAM_NOT_READY","daemon not yet paired with cloud (run --pair-code first)");try{let G=z;return await(G.groupFile?vh:Eh)(G,{core:u,patToken:x,handshakeBase:_,ppeOverride:v})}catch(G){if(G instanceof k)return{ok:!1,code:G.code,message:G.message};throw G}}},{method:"POST",path:"/reload",handler:async P=>{let z=P?.agent_id,G=await u.reloadAgents(z);return j.info("IPC /reload: recycled agent subprocesses",{agentId:z??"(all)",recycled:G}),{ok:!0,recycled:G}}},{method:"POST",path:"/shutdown",handler:async()=>(j.info("IPC /shutdown received"),setImmediate(()=>{ae.shutdown("ipc /shutdown")}),{ok:!0})}]}),{port:ie,token:Q}=await $.start();try{await up(t.libEntry,t)}catch(P){j.warn("bin shim install failed (D72 send \u547D\u4EE4\u53EF\u80FD\u4E0D\u53EF\u7528)",{err:String(P)})}await u.start(),f1({paths:t,core:u,agentManager:h,detectAll:async()=>(o.frameworksCache=await new er().detectAll(),await ts(o),o.frameworksCache)}).catch(P=>j.warn("startup warmup error (ignored)",{err:String(P)})),jl().then(async()=>{let{probeAcpVersion:P}=await Promise.resolve().then(()=>(hn(),Hl));for(let z of["claude-code","codex"]){let G=await P(z);G&&j.info("acp wrapper version",{framework:z,version:G})}}).catch(P=>j.warn("acp wrapper warmup / probe top-level error (ignored)",{err:String(P)}));let oe=null,ae={port:ie,token:Q,core:u,ipc:$,shutdown(P){return oe||(j.info("daemon shutdown",{reason:P}),oe=(async()=>{y?.stop(),I?.stop(),await u.stop(P),await $.stop(),await e.release()})(),oe)}};for(let P of["SIGTERM","SIGINT"])process.on(P,()=>{ae.shutdown(P).then(()=>process.exit(0))});return process.on("exit",()=>G0()),process.on("unhandledRejection",P=>{j.error("unhandledRejection",{reason:P instanceof Error?P.message:String(P),stack:P instanceof Error?P.stack:void 0})}),process.on("uncaughtException",P=>{j.error("uncaughtException (will exit, supervisor will restart)",{message:P.message,stack:P.stack,name:P.name});try{process.stderr.write(`FATAL uncaughtException: ${P.stack??P.message}
|
|
117
|
+
`)}catch{}process.exit(1)}),j.info("daemon ready",{port:ie,pid:process.pid,nodeVersion:process.version,platform:process.platform,frameworks:Object.keys(o.frameworksCache??{}),libVersion:o.libVersion??"dev"}),x1({cliSpawned:process.env[xs]==="1",readPatToken:()=>fa(t),connect:R}).catch(P=>j.warn("maybeAutoConnectOnStartup error (ignored)",{err:String(P)})),ae}async function d1(t){return Is(t).length>0}function ma(t){return t.length<=8?"***":`${t.slice(0,4)}***${t.slice(-4)}`}function gp(t,e,n){return`${t??""}|${e??""}|${n??""}`}async function l1(t,e){let n=Is(t);if(n.length===0)return;let{loadAgentConfig:i,enforceAgentConfigMode:o}=await Promise.resolve().then(()=>(Vt(),ks));for(let c of n){await o(c,t).catch(d=>j.warn("enforceAgentConfigMode failed (ignored)",{agentId:c,err:String(d)}));try{let d=await i(c,t);d?.deletedAt?(e.disconnectedAgents.add(c),j.info("agent marked deleted on startup",{agentId:c,deletedAt:d.deletedAt,reason:d.deleteReason??""})):d?.disconnectedAt&&(e.disconnectedAgents.add(c),j.info("agent marked disconnected on startup",{agentId:c,disconnectedAt:d.disconnectedAt,reason:d.disconnectReason??""}))}catch(d){j.warn("failed to load agent config on startup, skipping",{agentId:c,err:String(d)})}}}async function u1(t,e,n,i,o){let{loadAgentConfig:c}=await Promise.resolve().then(()=>(Vt(),ks)),d=await c(t,e);if(d){if(d.deletedAt)throw new k("AGENT_NOT_FOUND",`agent ${t} \u5DF2\u88AB\u5220\u9664 (deletedAt=${d.deletedAt}), \u4E0D\u80FD\u901A\u8FC7 --agent-id \u590D\u6D3B`);j.info("--agent-id: local config found, reconnecting",{agentId:t,framework:d.framework,hadDisconnect:!!d.disconnectedAt});let p=wp(d),m={agentId:d.agentId,framework:d.framework,...d.cozeIdentity?{cozeIdentity:d.cozeIdentity}:{},...d.model?{model:d.model}:{},...o?{patToken:o}:{},...p?{_meta:p}:{}};return await n.createAgent(m),{ok:!0,agentId:t,note:d.disconnectedAt?"revived from local config":"connected from local config"}}j.info("--agent-id: local config missing, pulling _agent/detail from cloud",{agentId:t});let u=await i({_meta:{cozeAgentId:t}});if(!u.framework)throw new k("AGENT_NOT_FOUND",`agent ${t} \u4E0D\u5728\u672C\u5730; \u4E91\u7AEF _agent/detail \u54CD\u5E94\u7F3A framework \u5B57\u6BB5 (D36 \u534F\u8BAE\u6269\u5C55\u672A\u751F\u6548), \u65E0\u6CD5\u5728\u672C\u673A\u65B0\u5EFA`);let h={agentId:u.agentId,framework:u.framework,...u.cozeIdentity?{cozeIdentity:u.cozeIdentity}:{},...u.model?{model:u.model}:{},...o?{patToken:o}:{},...u.deployType?{_meta:{cozeDeployType:u.deployType}}:{}};await n.createAgent(h);let x=u.deployType==="cloud"&&u.framework==="openclaw";return{ok:!0,agentId:t,note:x?"cloud agent acknowledged":"created from cloud detail"}}async function f1(t){let e=t.logger??j;try{let n=await t.detectAll();e.info("refreshed frameworks_cache",{detected:Object.keys(n??{})})}catch(n){e.warn("framework detection failed (using cached)",{err:String(n)})}await l1(t.paths,t.core).catch(n=>e.warn("scanAgentsOnStartup failed (ignored)",{err:String(n)})),await wa(t.paths,t.agentManager).catch(n=>e.warn("auto-revive top-level error (ignored)",{err:String(n)})),await h1(t.paths).catch(n=>e.warn("builtin skill refresh top-level error (ignored)",{err:String(n)}))}async function wa(t,e){let{readdir:n}=await import("node:fs/promises"),i;try{i=await n(t.agentsRoot)}catch{return{revived:0,skipped:0,total:0}}if(i.length===0)return{revived:0,skipped:0,total:0};let{loadAgentConfig:o}=await Promise.resolve().then(()=>(Vt(),ks));j.info("auto-revive: scanning local agents on startup",{count:i.length});let c=0,d=0;for(let u of i){let h;try{h=await o(u,t)}catch(x){j.warn("auto-revive: load config failed (skipping)",{agentId:u,err:String(x)}),d+=1;continue}if(!h){d+=1;continue}if(h.deletedAt){j.info("auto-revive: skip deleted agent",{agentId:u,deletedAt:h.deletedAt}),d+=1;continue}if(h.disconnectedAt){j.info("auto-revive: skip disconnected agent",{agentId:u,disconnectedAt:h.disconnectedAt}),d+=1;continue}try{j.info("auto-revive: re-registering agent (D44 no spawn)",{agentId:u,framework:h.framework});let x=wp(h);await e.createAgent({agentId:h.agentId,framework:h.framework,...h.cozeIdentity?{cozeIdentity:h.cozeIdentity}:{},...h.model?{model:h.model}:{},...x?{_meta:x}:{}},{revive:!0}),c+=1}catch(x){j.warn("auto-revive: createAgent failed (skipping)",{agentId:u,framework:h.framework,err:String(x)}),d+=1}}return j.info("auto-revive: done",{revived:c,skipped:d,total:i.length}),{revived:c,skipped:d,total:i.length}}async function h1(t){let{readdir:e}=await import("node:fs/promises"),n;try{n=await e(t.agentsRoot)}catch{return{refreshed:0,total:0}}if(n.length===0)return{refreshed:0,total:0};let i=0;for(let o of n)try{(await C0(o,t)).status==="refreshed"&&(i+=1)}catch(c){j.warn("refresh builtin skills failed (skipping agent)",{agentId:o,err:String(c)})}return i>0&&j.info("builtin skills refresh on startup done",{refreshed:i,total:n.length}),{refreshed:i,total:n.length}}async function x1(t){let e=t.logger??j;if(t.cliSpawned)return"skipped-cli";let n=await t.readPatToken();return n?(e.info("supervisor-spawned daemon, auto-connecting with stored PAT"),t.connect({privatecode:n}).catch(i=>e.warn("startup auto-connect failed (staying idle)",{err:String(i)})),"connecting"):(e.info("no stored PAT, skip startup auto-connect"),"skipped-no-pat")}function wp(t){let e={};return t.deployType&&(e.cozeDeployType=t.deployType),t.accountId&&(e.cozeAccountId=t.accountId),Object.keys(e).length>0?e:void 0}pa();Pe();import{readFile as _p}from"node:fs/promises";var cn=class{paths;constructor(e){this.paths=e??Y()}async probe(e=1e3){let n=await _a(this.paths);if(!n)return{kind:"not-running"};try{let i=await this.fetch(n,{method:"GET",path:"/status",timeoutMs:e});return i.status===200?{kind:"connected",...n,body:i.body}:{kind:"stale",reason:`unexpected status ${i.status}`}}catch(i){return{kind:"stale",reason:g1(i)}}}async request(e){let n=await _a(this.paths);if(!n)throw new Error("coze-bridge daemon not running (no port/token files)");return this.fetch(n,e)}async fetch(e,n){let i=n.body!==void 0,o={Authorization:`Bearer ${e.token}`};i&&(o["content-type"]="application/json");let c=new AbortController,d=setTimeout(()=>c.abort(),n.timeoutMs??5e3);try{let u=await fetch(`http://127.0.0.1:${e.port}${n.path}`,{method:n.method,headers:o,body:i?JSON.stringify(n.body):void 0,signal:c.signal}),h=await u.text();return{status:u.status,body:p1(h)}}finally{clearTimeout(d)}}};async function _a(t){try{let[e,n]=await Promise.all([_p(t.portFile,"utf8"),_p(t.tokenFile,"utf8")]),i=Number.parseInt(e.trim(),10),o=n.trim();return!Number.isFinite(i)||i<=0||!o?null:{port:i,token:o}}catch(e){if(e.code==="ENOENT")return null;throw e}}function p1(t){if(!t)return null;try{return JSON.parse(t)}catch{return t}}function g1(t){return t instanceof Error?t.message:String(t)}tn();ne();fr();import{spawn as m1}from"node:child_process";import{userInfo as bp}from"node:os";var nl="__COZE_BRIDGE_ENV_SENTINEL_5f3c91__",w1=new Set(["bash","zsh","sh","dash","ksh"]),yp=Ye("COZE_BRIDGE_SHELLENV_TIMEOUT_MS",1e4),_1=2e3;function y1(t,e=nl){let n=t.indexOf(e);if(n===-1)return null;let i=t.indexOf(e,n+e.length);if(i===-1)return null;let o=t.slice(n+e.length,i),c={};for(let d of o.split(`
|
|
118
|
+
`)){let u=d.indexOf("=");u<=0||(c[d.slice(0,u)]=d.slice(u+1))}return c}function b1(){let t=(process.env.SHELL??"").trim()||(bp().shell??"").trim();if(!t)return null;let e=t.slice(t.lastIndexOf("/")+1);return w1.has(e)?t:null}function E1(t){return new Promise(e=>{let n=`printf '%s' '${nl}'; env; printf '%s' '${nl}'`,i;try{i=m1(t,["-ilc",n],{detached:!0,stdio:["ignore","pipe","ignore"],env:{...process.env,HOME:process.env.HOME??bp().homedir}})}catch{e(null);return}let o="",c=!1,d=p=>{try{i.pid&&process.kill(-i.pid,p)}catch{}},u=p=>{c||(c=!0,clearTimeout(h),clearTimeout(x),e(p))};i.stdout?.on("data",p=>{o+=p.toString("utf8")}),i.on("error",()=>u(null)),i.on("close",()=>u(o.length>0?o:null));let h=setTimeout(()=>d("SIGTERM"),yp),x=setTimeout(()=>{d("SIGKILL"),u(o.length>0?o:null)},yp+_1)})}async function rl(t={}){if((t.platform??process.platform)==="win32")return{kind:"skipped",reason:"windows"};let n=b1();if(!n)return{kind:"skipped",reason:"no-supported-login-shell"};let i=await(t.run??E1)(n);if(i==null)return{kind:"failed",reason:"shell-timeout-or-error"};let o=y1(i);return o==null?{kind:"failed",reason:"unparseable-output"}:{kind:"ok",env:o}}Pe();function On(t,...e){let n=[],i;for(let o=0;o<t.length;o++){let c=t[o],d=!1;for(let u of e){if(c===u){i=t[o+1],o+=1,d=!0;break}if(c.startsWith(`${u}=`)){i=c.slice(u.length+1),d=!0;break}}d||n.push(c)}return{value:i,rest:n}}hn();import{chmod as v1,copyFile as Ep,mkdir as Sp,readFile as gs,rename as vp,rm as ol,stat as Ip,writeFile as S1}from"node:fs/promises";import{homedir as n3}from"node:os";import{dirname as I1,join as Oe,resolve as al,sep as ps}from"node:path";import{fileURLToPath as A1}from"node:url";tn();ne();Pe();function ti(t,e,n,i){it(t.bridgeLogsDir,e,"dist-install",n,i)}function Ap(){return{darwin:{arm64:"@openai/codex-darwin-arm64",x64:"@openai/codex-darwin-x64"},linux:{arm64:"@openai/codex-linux-arm64",x64:"@openai/codex-linux-x64"},win32:{arm64:"@openai/codex-win32-arm64",x64:"@openai/codex-win32-x64"}}[process.platform]?.[process.arch]}function k1(){return{darwin:{arm64:Oe("vendor","aarch64-apple-darwin","bin","codex"),x64:Oe("vendor","x86_64-apple-darwin","bin","codex")},linux:{arm64:Oe("vendor","aarch64-unknown-linux-musl","bin","codex"),x64:Oe("vendor","x86_64-unknown-linux-musl","bin","codex")},win32:{arm64:Oe("vendor","aarch64-pc-windows-msvc","bin","codex.exe"),x64:Oe("vendor","x86_64-pc-windows-msvc","bin","codex.exe")}}[process.platform]?.[process.arch]}function T1(t){let e=A1(t),n=I1(e),i=`${ps}src${ps}`;if(n.includes(i)||n.endsWith(`${ps}src${ps}cli`))return null;let o=al(n,"index.js"),c=al(n,"..","package.json");return{dist:o,pkgJson:c}}async function cl(t={}){let e=t.paths??Y(),n=T1(import.meta.url),i=t.sourceDist??n?.dist,o=t.sourcePackageJson??n?.pkgJson;if(!i||!o)return{kind:"dev-mode-skip",reason:"running from src/(tsx loader);no dist/ to install"};if(i===e.libEntry)return{kind:"dev-mode-skip",reason:"running from installed lib path; no re-install needed"};let c,d;try{let y=JSON.parse(await gs(o,"utf8"));c=y.version??"unknown",d=y.dependencies??{}}catch(y){throw ti(e,"error","cannot read source package.json",{err:String(y)}),new Error(`cannot read source package.json: ${String(y)}`,{cause:y})}let u=vs.map(y=>({name:y,spec:d[y]??"latest"})),h=u.map(({name:y,spec:I})=>`${y}@${I}`),x=await Ho(e.configFile)??{},p=x.libVersion,m=await gs(e.libEntry).then(()=>!0).catch(()=>!1),v=p===c,_=await kp(e,u);if(v&&m&&_)return{kind:"already-current",libVersion:c};if(!v||!m){await Sp(e.libDir,{recursive:!0}),await Ep(i,e.libEntry),await Ep(`${i}.map`,`${e.libEntry}.map`).catch(()=>{});let y=al(e.libDir,"package.json"),I=`${JSON.stringify({type:"module"},null,2)}
|
|
119
|
+
`;await gs(y,"utf8").catch(()=>null)!==I&&await S1(y,I)}return _||(t.installWrappers?await t.installWrappers(e,h):await R1(e,h,u)),x.libVersion=c,await ts(x,e.configFile),ti(e,"info","dist installed",{libEntry:e.libEntry,fromVersion:p,toVersion:c}),v&&m?{kind:"already-current",libVersion:c}:p?{kind:"version-changed",fromVersion:p,toVersion:c,libEntry:e.libEntry}:{kind:"first-install",libVersion:c,libEntry:e.libEntry}}async function kp(t,e){for(let n of e){let i=Oe(t.libDir,"node_modules",...n.name.split("/"),"package.json"),o;try{o=JSON.parse(await gs(i,"utf8"))}catch(d){return ti(t,"debug","wrapper not ready: package.json read failed",{package:n.name,expected:n.spec,pkgJson:i,err:String(d)}),!1}let c=o.version;if(!c)return ti(t,"debug","wrapper not ready: package.json \u7F3A version",{package:n.name,expected:n.spec,pkgJson:i}),!1;if(!P1(c,n.spec))return ti(t,"debug","wrapper not ready: installed version does not satisfy expected range",{package:n.name,installed:c,expected:n.spec}),!1}return!!await Tp(Oe(t.libDir,"node_modules"))}function P1(t,e){let n=il(t);if(!n)return!0;let i=e.trim();if(!i||i==="*"||i==="latest")return!0;if(i.startsWith("^")){let c=il(i.slice(1));if(!c)return!0;if(sl(n,c)<0)return!1;let d=C1(c);return sl(n,d)<0}let o=il(i);return o?sl(n,o)===0:!0}function C1(t){return t[0]>0?[t[0]+1,0,0]:t[1]>0?[0,t[1]+1,0]:[0,0,t[2]+1]}function il(t){let e=t.match(/^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:[-+].*)?$/);return e?[Number(e[1]),Number(e[2]??0),Number(e[3]??0)]:null}function sl(t,e){for(let n=0;n<3;n++){let i=(t[n]??0)-(e[n]??0);if(i!==0)return i}return 0}async function R1(t,e,n){await L1(t.installLock,async()=>{if(await kp(t,n))return;let i=Math.random().toString(36).slice(2,10),o=`${t.libDir}${ps}.staging-${process.pid}-${i}`,c=Oe(o,"node_modules"),d=Oe(t.libDir,"node_modules");try{await Sp(o,{recursive:!0}),await D1(e,o),await O1(c);let u=`${d}.trash-${i}`;await vp(d,u).catch(()=>{}),await vp(c,d),await ol(u,{recursive:!0,force:!0}).catch(()=>{}),ti(t,"info","wrapper closure installed",{liveNm:d,specs:e})}finally{await ol(o,{recursive:!0,force:!0}).catch(()=>{})}})}function D1(t,e){let n=["install",...t,"--prefix",e,"--omit=dev","--include=optional","--prefer-offline","--no-audit","--no-fund"];return new Promise((i,o)=>{let c=ot("npm",n,{stdio:["ignore","pipe","pipe"]}),d="";c.stderr?.on("data",h=>{d.length<8192&&(d+=h.toString("utf8"))});let u=setTimeout(()=>c.kill("SIGKILL"),18e4);c.once("error",h=>{clearTimeout(u),o(new Error(`spawn npm failed: ${String(h)}`))}),c.once("close",h=>{clearTimeout(u),h===0?i():o(new Error(`npm install \u9000\u51FA\u7801 ${h}: ${d.trim().slice(0,2e3)}`))})})}async function O1(t){for(let e of vs){let n=Oe(t,...e.split("/")),i=JSON.parse(await gs(Oe(n,"package.json"),"utf8"));if(!i.version)throw new Error(`${e}: package.json \u7F3A version`);let o=typeof i.bin=="string"?e.split("/").pop():Object.keys(i.bin??{})[0];if(!o)throw new Error(`${e}: package.json \u7F3A bin`);let c=Oe(t,".bin",o),d=await Ip(c);process.platform!=="win32"&&!(d.mode&73)&&await v1(c,d.mode|73).catch(()=>{})}if(!await Tp(t)){let e=Ap()??"<unsupported-platform>";throw new Error(`${e}: \u5F53\u524D\u5E73\u53F0 codex binary \u7F3A\u5931`)}}async function Tp(t){let e=Ap(),n=k1();if(!e||!n)return!0;let i=Oe(t,"@openai","codex"),o=Oe(t,...e.split("/")),c=[Oe(i,"package.json"),Oe(i,"bin","codex.js"),Oe(t,".bin",process.platform==="win32"?"codex.cmd":"codex"),Oe(o,"package.json"),Oe(o,n)];return(await Promise.all(c.map(u=>Ip(u).then(h=>h.isFile()).catch(()=>!1)))).every(Boolean)}async function L1(t,e){let{open:n}=await import("node:fs/promises"),i=!1;for(let o=0;o<60&&!i;o++)try{await(await n(t,"wx")).close(),i=!0}catch{await new Promise(c=>setTimeout(c,500))}try{return await e()}finally{i&&await ol(t,{force:!0}).catch(()=>{})}}Ua();ne();Pe();import{closeSync as Cp,fstatSync as Rp,openSync as Dp,readFileSync as N1,readSync as M1,readdirSync as B1,statSync as F1}from"node:fs";import{join as ya}from"node:path";var z1=new Set(["debug","info","warn","error"]);function Op(t){let e=t,n=On(e,"--agent-id");e=n.rest;let i=On(e,"--date");e=i.rest;let o=On(e,"-n","--lines");e=o.rest;let c=On(e,"--level");e=c.rest;let d=On(e,"--grep");e=d.rest;let u=o.value===void 0?200:Number(o.value),h=Number.isInteger(u)&&u>=0?u:200,x=c.value&&z1.has(c.value)?c.value:void 0,p={lines:h,follow:e.includes("-f")||e.includes("--follow"),raw:e.includes("--raw"),list:e.includes("--list")};return n.value&&(p.agentId=n.value),i.value&&(p.date=i.value),x&&(p.level=x),d.value&&(p.grep=d.value),p}function U1(t,e){return t.agentId?ya(ze(t.agentId,e).logs,hr("agent",t.date)):ya(e.bridgeLogsDir,hr("bridge",t.date))}function H1(t,e){return e<=0||e>=t.length?t:t.slice(t.length-e)}function G1(t,e){let n;try{n=B1(t)}catch{return[]}let i=[];for(let o of n){let c=za(o,e);if(!c)continue;let d=0;try{d=F1(ya(t,o)).size}catch{}i.push({file:ya(t,o),date:c,size:d})}return i.sort((o,c)=>c.date.localeCompare(o.date)),i}function Lp(t,e){if(e.grep&&!t.includes(e.grep))return!1;if(e.level){let n;try{n=JSON.parse(t).level}catch{return!0}if(typeof n=="string"&&!Ml(n,e.level))return!1}return!0}var Pp={debug:"90",info:"36",warn:"33",error:"31"},j1=new Set(["ts","level","module","msg"]);function q1(t){if(typeof t!="string")return"";let e=t.split("T")[1];return e?e.slice(0,12):""}function Np(t,e){if(e.raw)return t;let n;try{n=JSON.parse(t)}catch{return t}let i=q1(n.ts),o=typeof n.level=="string"?n.level:"",c=o.toUpperCase().padEnd(5);e.color&&Pp[o]&&(c=`\x1B[${Pp[o]}m${c}\x1B[0m`);let d=typeof n.module=="string"?n.module:"",u=typeof n.msg=="string"?n.msg:"",h=Object.entries(n).filter(([x])=>!j1.has(x)).map(([x,p])=>` ${x}=${typeof p=="string"?p:JSON.stringify(p)}`).join("");return`${i} ${c} ${d} ${u}${h}`}function W1(t,e,n){let c=N1(t,"utf8").split(`
|
|
120
|
+
`).filter(d=>d.length>0).filter(d=>Lp(d,{level:e.level,grep:e.grep}));for(let d of H1(c,e.lines))process.stdout.write(`${Np(d,{raw:e.raw,color:n})}
|
|
121
|
+
`)}async function Mp(t,e){let n=e.paths??Y(),i=process.stdout.isTTY===!0;if(t.list){let d=t.agentId?ze(t.agentId,n).logs:n.bridgeLogsDir,u=t.agentId?"agent":"bridge",h=G1(d,u);if(h.length===0)return process.stderr.write(`coze-bridge log: \u65E0\u65E5\u5FD7\u6587\u4EF6\u4E8E ${d}
|
|
122
|
+
`),1;for(let x of h)process.stdout.write(`${x.date} ${(x.size/1024).toFixed(1)}KB ${x.file}
|
|
123
|
+
`);return 0}let o=t.date??Mn(new Date),c=U1({agentId:t.agentId,date:o},n);try{W1(c,t,i)}catch{return process.stderr.write(`coze-bridge log: \u627E\u4E0D\u5230\u65E5\u5FD7 ${c}
|
|
124
124
|
\u7528 'coze-bridge log${t.agentId?` --agent-id ${t.agentId}`:""} --list' \u770B\u6709\u54EA\u4E9B\u65E5\u671F\u3002
|
|
125
125
|
(legacy \u6A21\u5F0F\u65E0 dated \u6587\u4EF6, \u89C1 ${n.logFile})
|
|
126
|
-
`),1}return t.follow&&await
|
|
127
|
-
`);o=
|
|
128
|
-
`)}await new Promise(
|
|
126
|
+
`),1}return t.follow&&await V1(c,t,i),0}var K1=500;function $1(t){try{let e=Dp(t,"r");try{return Rp(e).size}finally{Cp(e)}}catch{return 0}}async function V1(t,e,n){let i=$1(t),o="",c=!1,d=()=>{c=!0};process.on("SIGINT",d);try{for(;!c;){let u="";try{let h=Dp(t,"r");try{let x=Rp(h).size;if(x>i){let p=Buffer.allocUnsafe(x-i),m=M1(h,p,0,p.length,i);u=p.subarray(0,m).toString("utf8"),i+=m}}finally{Cp(h)}}catch{}if(u){let h=(o+u).split(`
|
|
127
|
+
`);o=h.pop()??"";for(let x of h)x.length>0&&Lp(x,{level:e.level,grep:e.grep})&&process.stdout.write(`${Np(x,{raw:e.raw,color:n})}
|
|
128
|
+
`)}await new Promise(h=>setTimeout(h,K1))}}finally{process.off("SIGINT",d)}}import{basename as J1,resolve as Z1}from"node:path";Pe();var Y1=9e4,X1={PATH_OUTSIDE_WORKSPACE:3,FILE_TOO_LARGE:3,UNSUPPORTED_MIME:3,MODEL_MODALITY_UNSUPPORTED:3,IPC_BAD_REQUEST:3,AGENT_NOT_FOUND:4,IPC_AUTH_FAILED:4,AGENT_DISCONNECTED:5,UPLOAD_FAILED:5,UPSTREAM_NOT_READY:5,UPSTREAM_DISCONNECTED:5,UPSTREAM_HANDSHAKE_FAILED:5,AGENT_BUSY:1,AGENT_SPAWN_FAILED:1,AGENT_TIMEOUT:1,AGENT_FRAME_IDLE_TIMEOUT:1,AGENT_PROTOCOL_ERROR:1,AGENT_TURN_ABORTED:1,BRIDGE_CONFIG_INVALID:1,BRIDGE_INTERNAL:1,MODEL_TOKEN_GEN_FAILED:1,OPERATION_NOT_ALLOWED_FOR_LOCAL:1,OPERATION_NOT_ALLOWED_FOR_CLOUD:1,METHOD_NOT_FOUND:1,AGENT_DEPENDENCY_INSTALL_FAILED:1,AGENT_APPROVAL_TIMEOUT:1,AGENT_ENV_NOT_READY:1,SKILL_NOT_FOUND:1,SKILL_ZIP_TOO_LARGE:1};function Q1(t){return X1[t]??1}async function Bp(t,e={}){let n=e.paths??Y();if(!t.agentId||!t.sessionId)return process.stderr.write(`Error: missing --agent-id and/or --session-id. These IDs come from the <coze-context> block injected at the top of each prompt \u2014 extract agentId and sessionId from there and pass them as flags. Example: coze-bridge send image x.png --agent-id <id> --session-id <id>
|
|
129
129
|
`),4;if(t.groupFile&&!t.mimeType)return process.stderr.write(`Error: --group-file requires --mime <mimeType> (e.g. application/pdf, image/png). No local file is read in group-file mode, mime cannot be auto-detected.
|
|
130
|
-
`),3;let i=await
|
|
131
|
-
`),4;let o={agentId:t.agentId,sessionId:t.sessionId,kind:t.kind,path:t.groupFile?t.path:
|
|
130
|
+
`),3;let i=await _a(n).catch(()=>null);if(!i)return process.stderr.write(`Error: coze-bridge daemon not running (cannot read ${n.portFile} / ${n.tokenFile}). Make sure you are inside an agent session spawned by the daemon.
|
|
131
|
+
`),4;let o={agentId:t.agentId,sessionId:t.sessionId,kind:t.kind,path:t.groupFile?t.path:Z1(process.cwd(),t.path),...t.caption?{caption:t.caption}:{},...t.name?{name:t.name}:{},...t.groupFile?{groupFile:!0}:{},...t.mimeType?{mimeType:t.mimeType}:{}},c;try{c=await eI(i,"/agent/send",o,Y1)}catch(d){return process.stderr.write(`Error: daemon IPC failed: ${d instanceof Error?d.message:String(d)}
|
|
132
132
|
`),4}if(!c.ok)return process.stderr.write(`Error: ${c.code}: ${c.message}
|
|
133
|
-
`),
|
|
134
|
-
`);else{let d=t.name
|
|
135
|
-
`)}else process.stdout.write(`Sent ${t.kind} ${d} (${
|
|
136
|
-
`)}return 0}async function
|
|
137
|
-
`)}function
|
|
133
|
+
`),Q1(c.code);if(t.json)process.stdout.write(`${JSON.stringify(c)}
|
|
134
|
+
`);else{let d=t.name??J1(o.path);if(t.groupFile){let u=c.uri.length>60?`${c.uri.slice(0,57)}...`:c.uri;process.stdout.write(`Sent group file ${d} (uri=${u})
|
|
135
|
+
`)}else process.stdout.write(`Sent ${t.kind} ${d} (${tI(c.bytes)})
|
|
136
|
+
`)}return 0}async function eI(t,e,n,i){let o=new AbortController,c=setTimeout(()=>o.abort(),i);try{let d=await fetch(`http://127.0.0.1:${t.port}${e}`,{method:"POST",headers:{Authorization:`Bearer ${t.token}`,"content-type":"application/json"},body:JSON.stringify(n),signal:o.signal}),u=await d.text(),h=u?JSON.parse(u):null;return h&&typeof h=="object"&&"ok"in h?h:{ok:!1,code:"BRIDGE_INTERNAL",message:`unexpected daemon response (status=${d.status}): ${u.slice(0,200)}`}}finally{clearTimeout(c)}}function tI(t){return t<1024?`${t}B`:t<1024*1024?`${(t/1024).toFixed(1)}KB`:`${(t/1024/1024).toFixed(1)}MB`}var $p=H("cli");function Ke(t,e){let{value:n,rest:i}=On(t,e);return{value:n,rest:i}}function Aa(t,e){process.stderr.write(`[deprecated] '${t}' will be removed in a future release, use '${e}' instead
|
|
137
|
+
`)}function II(t){let e=t.slice(2);if(e.includes("--version")||e.includes("-v"))return{mode:"version"};if(e.includes("--daemon"))return{mode:"daemon"};if(e[0]==="status")return{mode:"status"};if(e[0]==="stop")return{mode:"stop"};if(e[0]==="reload"){let{value:R}=Ke(e.slice(1),"--agent-id");return R?{mode:"reload",agentId:R}:{mode:"reload"}}if(e[0]==="update")return{mode:"update"};if(e[0]==="purge")return{mode:"purge"};if(e[0]==="service")return e[1]==="install"?{mode:"service-install"}:e[1]==="uninstall"?{mode:"service-uninstall"}:{mode:"help"};if(e[0]==="send")return AI(e.slice(1));if(e[0]==="log")return{mode:"log",...Op(e.slice(1))};if(e[0]==="connect")return kI(e.slice(1));if(e.includes("--status"))return Aa("--status","coze-bridge status"),{mode:"status"};if(e.includes("--stop"))return Aa("--stop","coze-bridge stop"),{mode:"stop"};if(e.includes("--uninstall"))return Aa("--uninstall","coze-bridge purge"),{mode:"purge"};if(e.includes("--install-service"))return Aa("--install-service","coze-bridge service install"),{mode:"service-install"};if(e.includes("--help")||e.includes("-h")||e.length===0)return{mode:"help"};let n=e,{value:i,rest:o}=Ke(n,"--pat-token");n=o;let{value:c,rest:d}=Ke(n,"--pair-code");n=d;let{value:u,rest:h}=Ke(n,"--env");n=h;let{value:x,rest:p}=Ke(n,"--handshake-url");n=p;let{value:m,rest:v}=Ke(n,"--frontier-url");n=v;let{value:_,rest:y}=Ke(n,"--mock-scenario");n=y;let{value:I}=Ke(n,"--agent-id"),A=n.includes("--skip-rebuild-env");if(!i||!c)return{mode:"help"};let T={mode:"pair",privatecode:i,pairingCode:c};return u&&(T.env=u),x&&(T.handshakeUrl=x),m&&(T.frontierUrl=m),_&&(T.mockScenario=_),I&&(T.agentId=I),A&&(T.skipRebuildEnv=!0),T}function AI(t){let e=t[0],n=t[1];if(e!=="image"&&e!=="file")return{mode:"help"};if(!n||n.startsWith("--"))return{mode:"help"};let i=t.slice(2),{value:o,rest:c}=Ke(i,"--caption");i=c;let{value:d,rest:u}=Ke(i,"--name");i=u;let{value:h,rest:x}=Ke(i,"--agent-id");i=x;let{value:p,rest:m}=Ke(i,"--session-id");i=m;let{value:v,rest:_}=Ke(i,"--mime");i=_;let y=i.includes("--group-file");i=i.filter(T=>T!=="--group-file");let I=i.includes("--json"),A={mode:"send",kind:e,path:n,json:I};return o&&(A.caption=o),d&&(A.name=d),h&&(A.agentId=h),p&&(A.sessionId=p),y&&(A.groupFile=!0),v&&(A.mimeType=v),A}function kI(t){let e=t,{value:n,rest:i}=Ke(e,"--pat-token");e=i;let{value:o,rest:c}=Ke(e,"--env");e=c;let{value:d,rest:u}=Ke(e,"--handshake-url");e=u;let{value:h,rest:x}=Ke(e,"--frontier-url");e=x;let{value:p,rest:m}=Ke(e,"--mock-scenario");e=m;let v=e.includes("--skip-rebuild-env"),_={mode:"connect"};return n&&(_.privatecode=n),o&&(_.env=o),d&&(_.handshakeUrl=d),h&&(_.frontierUrl=h),p&&(_.mockScenario=p),v&&(_.skipRebuildEnv=!0),_}var TI=`
|
|
138
138
|
coze-bridge - local bridge daemon for cloud Agent Service
|
|
139
139
|
|
|
140
140
|
Pair (paste from cloud UI; start/reuse daemon and deliver pair-code):
|
|
@@ -215,57 +215,57 @@ Deprecated flags (still work, but emit a warning; will be removed in a future re
|
|
|
215
215
|
|
|
216
216
|
Internal:
|
|
217
217
|
<node> <entry> --daemon daemon mode (OS supervisor only)
|
|
218
|
-
`.trimStart();async function
|
|
219
|
-
`),0;case"daemon":{try{await
|
|
220
|
-
`),1;if(i.kind==="stale")return await
|
|
218
|
+
`.trimStart();async function Vp(t=process.argv,e={}){let n=II(t);switch(n.mode){case"help":return process.stdout.write(TI),0;case"version":return process.stdout.write(`${Mt}
|
|
219
|
+
`),0;case"daemon":{try{await mp()}catch(i){return $p.error("daemon start failed",{err:String(i)}),1}return new Promise(()=>{})}case"status":return PI(e);case"stop":return Zp(e);case"reload":return DI(n.agentId,e);case"log":return Mp(n,e);case"update":return CI(e);case"purge":return LI(e);case"service-install":return NI(e);case"service-uninstall":return MI(e);case"pair":{let i={};return n.env&&(i.env=n.env),n.handshakeUrl&&(i.handshakeUrl=n.handshakeUrl),n.frontierUrl&&(i.frontierUrl=n.frontierUrl),n.mockScenario&&(i.mockScenario=n.mockScenario),BI(n.privatecode,n.pairingCode,e,i,n.agentId,n.skipRebuildEnv)}case"connect":{let i={};return n.env&&(i.env=n.env),n.handshakeUrl&&(i.handshakeUrl=n.handshakeUrl),n.frontierUrl&&(i.frontierUrl=n.frontierUrl),n.mockScenario&&(i.mockScenario=n.mockScenario),FI(n.privatecode,e,i,n.skipRebuildEnv)}case"send":return Bp({kind:n.kind,path:n.path,...n.agentId?{agentId:n.agentId}:{},...n.sessionId?{sessionId:n.sessionId}:{},...n.caption?{caption:n.caption}:{},...n.name?{name:n.name}:{},...n.groupFile?{groupFile:!0}:{},...n.mimeType?{mimeType:n.mimeType}:{},json:n.json},e)}}async function Jp(t){let{unlink:e}=await import("node:fs/promises");await Promise.all([e(t.pidFile).catch(()=>{}),e(t.portFile).catch(()=>{}),e(t.tokenFile).catch(()=>{})])}async function PI(t){let e=t.paths??Y(),n=new cn(e),i=await n.probe();if(i.kind==="not-running")return process.stdout.write(`coze-bridge: not running
|
|
220
|
+
`),1;if(i.kind==="stale")return await Jp(e),process.stdout.write(`coze-bridge: not running (cleaned stale state)
|
|
221
221
|
`),1;let o=await n.request({method:"GET",path:"/status"});return process.stdout.write(`coze-bridge: running
|
|
222
222
|
${JSON.stringify(o.body,null,2)}
|
|
223
|
-
`),0}async function
|
|
223
|
+
`),0}async function Zp(t){let e=t.paths??Y(),n=new cn(e),i=t.daemonSweep??(async()=>{let h=j0();return await q0(h),h}),o=async()=>{t.skipProcessKill||await i(e)},c=await ws(t),d=!1;if(c)try{await c.uninstall(),d=!0}catch(h){process.stderr.write(`coze-bridge: supervisor uninstall failed (continuing): ${String(h)}
|
|
224
224
|
`)}let u=await n.probe();if(u.kind==="not-running")return await o(),process.stdout.write(d?`coze-bridge: stopped
|
|
225
225
|
`:`coze-bridge: not running
|
|
226
|
-
`),0;if(u.kind==="stale")return await
|
|
226
|
+
`),0;if(u.kind==="stale")return await Jp(e),await o(),process.stdout.write(`coze-bridge: not running (cleaned stale state)
|
|
227
227
|
`),0;try{return await n.request({method:"POST",path:"/shutdown"}),await o(),process.stdout.write(`coze-bridge: stopped
|
|
228
|
-
`),0}catch(
|
|
229
|
-
`),0):(await o(),process.stdout.write(`coze-bridge: stop failed: ${String(
|
|
230
|
-
`),1)}}async function
|
|
231
|
-
`),e(1)})})}async function
|
|
228
|
+
`),0}catch(h){return(await n.probe()).kind!=="connected"?(await o(),process.stdout.write(`coze-bridge: stopped
|
|
229
|
+
`),0):(await o(),process.stdout.write(`coze-bridge: stop failed: ${String(h)}
|
|
230
|
+
`),1)}}async function CI(t){return await Zp(t),(t.spawnNpx??RI)(["-y","--ignore-existing","coze-bridge@latest","connect"])}function RI(t){return new Promise(e=>{let n=ot("npx",t,{stdio:"inherit"});n.on("exit",i=>e(i??1)),n.on("error",i=>{process.stderr.write(`coze-bridge: spawn npx failed: ${String(i)}
|
|
231
|
+
`),e(1)})})}async function DI(t,e){let n=new cn(e.paths);if((await n.probe()).kind==="not-running")return process.stdout.write(`coze-bridge: not running (start daemon first)
|
|
232
232
|
`),1;try{let o=await n.request({method:"POST",path:"/reload",body:t?{agent_id:t}:{},timeoutMs:35e3});if(o.status===200&&o.body?.ok){let c=o.body.recycled??[];return t&&c.length===0?process.stdout.write(`coze-bridge: agent ${t} \u65E0\u8FD0\u884C\u4E2D\u5B50\u8FDB\u7A0B\u53EF\u56DE\u6536 (\u672A\u6CE8\u518C / \u5DF2 idle)
|
|
233
233
|
`):process.stdout.write(`coze-bridge: reloaded ${c.length} agent(s): ${c.join(", ")||"(none)"}
|
|
234
234
|
`),0}return process.stderr.write(`coze-bridge: reload failed: ${JSON.stringify(o.body)}
|
|
235
235
|
`),1}catch(o){return process.stderr.write(`coze-bridge: reload failed: ${String(o)}
|
|
236
|
-
`),1}}async function
|
|
236
|
+
`),1}}async function ws(t){if(t.supervisor){let c=t.supervisor,d={nodeBin:"",entry:"",logFile:"",homeDir:"",userName:""};return{platform:c.platform,install:u=>c.install(d,u),uninstall:()=>c.uninstall(d)}}if(t.skipSupervisor)return;let{getSupervisor:e,buildContext:n}=await Promise.resolve().then(()=>(qp(),jp)),i=e(),o=n();return{platform:i.platform,install:c=>i.install(o,c),uninstall:()=>i.uninstall(o)}}async function Yp(t,e){let n=await e.probe(),i=t.waitTimeoutMs??15e3,o=t.sleep??zI,c=t.paths??Y();if(n.kind==="connected"){if(!OI(n.body))return n;it(c.bridgeLogsDir,"warn","cli","daemon Node \u4E0E\u5F53\u524D CLI \u4E0D\u4E00\u81F4, \u91CD\u542F daemon",{currentNode:process.execPath,currentArch:process.arch,daemon:n.body}),await e.request({method:"POST",path:"/shutdown"}).catch(h=>it(c.bridgeLogsDir,"warn","cli","restart for Node drift: shutdown failed",{err:String(h)})),await Kp(c.pidFile,o)}let d=t.spawnDaemon??pp,u=await ws(t);if(u&&(u.platform==="darwin"||u.platform==="linux")){try{await u.install({activate:!0});let h=await Wp(e,i,o);if(h.kind==="connected")return h;it(c.bridgeLogsDir,"warn","cli","supervisor \u8D77 daemon \u8D85\u65F6, \u56DE\u9000\u624B\u52A8 spawn (\u672C\u6B21\u65E0\u5D29\u6E83\u4FDD\u6D3B)",{waitMs:i})}catch(h){it(c.bridgeLogsDir,"warn","cli","supervisor \u63A5\u7BA1\u5931\u8D25, \u56DE\u9000\u624B\u52A8 spawn",{err:String(h)})}it(c.bridgeLogsDir,"warn","cli","\u79FB\u9664\u5F00\u673A\u81EA\u542F\u914D\u7F6E (supervisor \u63A5\u7BA1\u672A\u6210\u529F, \u56DE\u9000\u624B\u52A8 spawn; \u4E0B\u6B21\u91CD\u542F\u4E0D\u518D\u81EA\u542F, \u9700\u91CD\u65B0 service install)",{platform:u.platform}),await u.uninstall().catch(()=>{}),await Kp(c.pidFile,o)}else u&&await u.install({activate:!1}).catch(h=>process.stderr.write(`coze-bridge: \u81EA\u542F\u6CE8\u518C\u5931\u8D25(\u4E0D\u5F71\u54CD\u672C\u6B21): ${String(h)}
|
|
237
237
|
`));return process.stdout.write(`coze-bridge: starting daemon...
|
|
238
|
-
`),await d({paths:t.paths}),
|
|
238
|
+
`),await d({paths:t.paths}),Wp(e,i,o)}function OI(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.nodeExecPath!="string"||typeof e.nodeArch!="string"?!1:e.nodeExecPath!==process.execPath||e.nodeArch!==process.arch}async function LI(t){let e=new cn(t.paths);if((await e.probe()).kind==="connected"){process.stdout.write(`coze-bridge: stopping daemon...
|
|
239
239
|
`);try{await e.request({method:"POST",path:"/shutdown"})}catch(d){process.stderr.write(`coze-bridge: stop failed (continuing): ${String(d)}
|
|
240
|
-
`)}await new Promise(d=>setTimeout(d,500))}let i=await
|
|
240
|
+
`)}await new Promise(d=>setTimeout(d,500))}let i=await ws(t);if(i)try{await i.uninstall(),process.stdout.write(`coze-bridge: ${i.platform} supervisor unregistered
|
|
241
241
|
`)}catch(d){process.stderr.write(`coze-bridge: supervisor uninstall failed (continuing): ${String(d)}
|
|
242
242
|
`)}let o=t.paths??Y(),{rm:c}=await import("node:fs/promises");try{await c(o.bridgeRoot,{recursive:!0,force:!0}),process.stdout.write(`coze-bridge: removed ${o.bridgeRoot}
|
|
243
243
|
`)}catch(d){return process.stderr.write(`coze-bridge: remove failed: ${String(d)}
|
|
244
244
|
`),1}return process.stdout.write(`coze-bridge: purged (agents workspaces preserved under ~/.coze/agents)
|
|
245
|
-
`),0}async function
|
|
245
|
+
`),0}async function NI(t){let e=await ws(t);if(!e)return 0;try{return process.stdout.write(`coze-bridge: installing ${e.platform} supervisor...
|
|
246
246
|
`),await e.install(),process.stdout.write(`coze-bridge: supervisor installed (daemon will auto-start on login)
|
|
247
247
|
`),0}catch(n){return process.stderr.write(`coze-bridge: service install failed: ${String(n)}
|
|
248
|
-
`),1}}async function
|
|
248
|
+
`),1}}async function MI(t){let e=await ws(t);if(!e)return 0;try{return await e.uninstall(),process.stdout.write(`coze-bridge: ${e.platform} supervisor unregistered
|
|
249
249
|
`),0}catch(n){return process.stderr.write(`coze-bridge: service uninstall failed: ${String(n)}
|
|
250
|
-
`),1}}async function
|
|
251
|
-
`),
|
|
252
|
-
`),(await d.probe()).kind==="connected"&&(await d.request({method:"POST",path:"/shutdown"}).catch(()=>{}),await new Promise(_=>setTimeout(_,500)))):
|
|
253
|
-
`)}let x=await
|
|
254
|
-
`),1;let p={privatecode:t,pairing_code:e};i.env&&(p.env=i.env),i.handshakeUrl&&(p.handshake_url=i.handshakeUrl),i.frontierUrl&&(p.frontier_url=i.frontierUrl),i.mockScenario&&(p.mock_scenario=i.mockScenario),o&&(p.agent_id=o);try{let
|
|
250
|
+
`),1}}async function Xp(t,e,n){if(e)return it(t.bridgeLogsDir,"info","cli","agent-env: skip rebuild, use process.env",{}),process.env;let i=await n();return i.kind==="ok"?(it(t.bridgeLogsDir,"info","cli","agent-env: rebuilt from login shell",{vars:Object.keys(i.env).length}),i.env):i.kind==="skipped"?(it(t.bridgeLogsDir,"info","cli","agent-env: rebuild not applicable, use process.env",{reason:i.reason}),process.env):(process.stderr.write(`coze-bridge: \u91CD\u5EFA shell \u73AF\u5883\u5931\u8D25, \u56DE\u9000\u5F53\u524D\u8FDB\u7A0B\u73AF\u5883 (\u53EF\u7528 --skip-rebuild-env \u663E\u5F0F\u8DF3\u8FC7)
|
|
251
|
+
`),it(t.bridgeLogsDir,"warn","cli","reconstructLoginShellEnv failed, fell back to process.env",{reason:i.reason}),process.env)}async function BI(t,e,n,i={},o,c){let d=new cn(n.paths),u=n.paths??Y(),h=await Xp(u,c,n.reconstructEnv??rl);if(await td(u,h).catch(m=>it(u.bridgeLogsDir,"warn","cli","writeAgentEnv failed (ignored)",{err:String(m)})),!n.skipDistInstall){let m=await cl({paths:n.paths});m.kind==="version-changed"?(process.stdout.write(`coze-bridge: upgraded ${m.fromVersion} \u2192 ${m.toVersion}
|
|
252
|
+
`),(await d.probe()).kind==="connected"&&(await d.request({method:"POST",path:"/shutdown"}).catch(()=>{}),await new Promise(_=>setTimeout(_,500)))):m.kind==="first-install"&&process.stdout.write(`coze-bridge: installed ${m.libVersion}
|
|
253
|
+
`)}let x=await Yp(n,d);if(x.kind!=="connected")return process.stderr.write(`coze-bridge: daemon did not come up: ${x.kind}
|
|
254
|
+
`),1;let p={privatecode:t,pairing_code:e};i.env&&(p.env=i.env),i.handshakeUrl&&(p.handshake_url=i.handshakeUrl),i.frontierUrl&&(p.frontier_url=i.frontierUrl),i.mockScenario&&(p.mock_scenario=i.mockScenario),o&&(p.agent_id=o);try{let m=await d.request({method:"POST",path:"/pair",body:p,timeoutMs:35e3});if(m.status===200&&m.body?.ok){let v=m.body.agent;return v&&!v.ok?(process.stderr.write(`coze-bridge: paired but agent ensure failed (agentId=${v.agentId}): ${v.note}
|
|
255
255
|
`),1):(process.stdout.write(`\u5DF2\u914D\u5BF9\u8FDE\u63A5\u5B8C\u6210\uFF0C\u8BF7\u8FD4\u56DE\u5230 coze \u5E73\u53F0\u4E0A\u70B9\u51FB "\u6211\u5DF2\u6267\u884C"
|
|
256
|
-
`),0)}return process.stderr.write(`coze-bridge: pair failed: ${JSON.stringify(
|
|
257
|
-
`),1}catch(
|
|
258
|
-
`),1}}async function
|
|
259
|
-
`),(await d.probe()).kind==="connected"&&(await d.request({method:"POST",path:"/shutdown"}).catch(()=>{}),await new Promise(
|
|
260
|
-
`)}let
|
|
256
|
+
`),0)}return process.stderr.write(`coze-bridge: pair failed: ${JSON.stringify(m.body)}
|
|
257
|
+
`),1}catch(m){return process.stderr.write(`coze-bridge: pair failed: ${String(m)}
|
|
258
|
+
`),1}}async function FI(t,e,n={},i){let o=e.paths??Y(),c=t??await fa(o);if(!c)return process.stderr.write("coze-bridge: \u627E\u4E0D\u5230 patToken \u2014 \u5148\u8DD1\u4E00\u6B21 `coze-bridge --pat-token=<sat_xxx> --pair-code=<xxx>` \u914D\u5BF9, \u6216\u672C\u6B21\u7528 `--pat-token` \u6307\u5B9A\n"),1;let d=new cn(e.paths),u=await Xp(o,i,e.reconstructEnv??rl);if(await td(o,u).catch(p=>it(o.bridgeLogsDir,"warn","cli","writeAgentEnv failed (ignored)",{err:String(p)})),!e.skipDistInstall){let p=await cl({paths:e.paths});p.kind==="version-changed"?(process.stdout.write(`coze-bridge: upgraded ${p.fromVersion} \u2192 ${p.toVersion}
|
|
259
|
+
`),(await d.probe()).kind==="connected"&&(await d.request({method:"POST",path:"/shutdown"}).catch(()=>{}),await new Promise(v=>setTimeout(v,500)))):p.kind==="first-install"&&process.stdout.write(`coze-bridge: installed ${p.libVersion}
|
|
260
|
+
`)}let h=await Yp(e,d);if(h.kind!=="connected")return process.stderr.write(`coze-bridge: daemon did not come up: ${h.kind}
|
|
261
261
|
`),1;let x={privatecode:c};n.env&&(x.env=n.env),n.handshakeUrl&&(x.handshake_url=n.handshakeUrl),n.frontierUrl&&(x.frontier_url=n.frontierUrl),n.mockScenario&&(x.mock_scenario=n.mockScenario);try{let p=await d.request({method:"POST",path:"/connect",body:x,timeoutMs:35e3});return p.status===200&&p.body?.ok?(process.stdout.write(`coze-bridge: connected (${p.body.note??"ok"})
|
|
262
|
-
`),t!==void 0&&await
|
|
262
|
+
`),t!==void 0&&await hs(c,o).catch(m=>$p.warn("writePatToken after connect failed (ignored)",{err:String(m)})),0):(process.stderr.write(`coze-bridge: connect failed: ${JSON.stringify(p.body)}
|
|
263
263
|
`),1)}catch(p){return process.stderr.write(`coze-bridge: connect failed: ${String(p)}
|
|
264
|
-
`),1}}async function
|
|
264
|
+
`),1}}async function Wp(t,e,n){let i=Date.now()+e;for(;Date.now()<i;){let o=await t.probe(500);if(o.kind==="connected")return o;await n(200)}return t.probe(500)}async function Kp(t,e,n=60,i=200){let{readFile:o}=await import("node:fs/promises");for(let c=0;c<n;c++){let d;try{d=await o(t,"utf8")}catch{return}let u=Number.parseInt(d.trim(),10);if(!Number.isFinite(u)||u<=0||!Yi(u))return;await e(i)}}function zI(t){return new Promise(e=>setTimeout(e,t))}ne();function UI(t){let e=/^v?(\d+)(?:\.(\d+))?/.exec(t.trim());if(!e)return"ok";let n=Number(e[1]),i=Number(e[2]??0);return n<18||n===18&&i<4?"fatal":n<20?"warn":"ok"}function Qp(t=process.versions.node,e=i=>{process.stderr.write(i)},n=i=>process.exit(i)){let i=UI(t);if(i==="ok")return;let o=t.replace(/^v/,"");i==="fatal"?(e(`[coze-bridge] \u5F53\u524D Node.js \u7248\u672C v${o} \u8FC7\u4F4E,\u65E0\u6CD5\u8FD0\u884C(\u6700\u4F4E v18.4.0,\u63A8\u8350 v20+)\u3002\u8BF7\u5347\u7EA7\u540E\u91CD\u8BD5:https://nodejs.org(\u6216\u7528 nvm/fnm)\u3002
|
|
265
265
|
`),n(1)):e(`[coze-bridge] \u68C0\u6D4B\u5230 Node.js v${o},\u672C\u9879\u76EE\u63A8\u8350 v20+,\u4F4E\u4E8E v20 \u540E\u7EED\u5347\u7EA7\u53EF\u80FD\u6709\u517C\u5BB9\u95EE\u9898,\u5EFA\u8BAE\u5347\u7EA7\u3002
|
|
266
266
|
\u5347\u7EA7\u5B8C\u540E\u9700\u8981\u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\u91CD\u65B0\u8FDE\u63A5:
|
|
267
267
|
npx -y coze-bridge@latest stop
|
|
268
268
|
npx -y coze-bridge@latest connect
|
|
269
269
|
|
|
270
|
-
`)}
|
|
270
|
+
`)}Qp();!process.argv.includes("--daemon")&&!process.env.COZE_BRIDGE_LOG_LEVEL&&Ll("warn");Vp(process.argv).then(t=>process.exit(t),t=>{process.stderr.write(`fatal: ${t instanceof Error?t.stack??t.message:String(t)}
|
|
271
271
|
`),process.exit(1)});
|