@activepieces/piece-sftp 0.5.5 → 0.5.7

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/index.js +15 -15
package/src/index.js CHANGED
@@ -1,26 +1,26 @@
1
- "use strict";var jE=Object.create;var Ao=Object.defineProperty;var WE=Object.getOwnPropertyDescriptor;var qE=Object.getOwnPropertyNames;var QE=Object.getPrototypeOf,VE=Object.prototype.hasOwnProperty;var c=(t,e)=>Ao(t,"name",{value:e,configurable:!0});var le=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},fd=(t,e)=>{for(var r in e)Ao(t,r,{get:e[r],enumerable:!0})},dd=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of qE(e))!VE.call(t,i)&&i!==r&&Ao(t,i,{get:()=>e[i],enumerable:!(n=WE(e,i))||n.enumerable});return t};var Er=(t,e,r)=>(r=t!=null?jE(QE(t)):{},dd(e||!t||!t.__esModule?Ao(r,"default",{value:t,enumerable:!0}):r,t)),KE=t=>dd(Ao({},"__esModule",{value:!0}),t);var Dp=le(($p,na)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function u(h,_){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let A=0,b=-1,I=(h.match(a.zoneIndex)||[])[0],w,H;for(I&&(I=I.substring(1),h=h.replace(/%.+$/,""));(b=h.indexOf(":",b+1))>=0;)A++;if(h.substr(0,2)==="::"&&A--,h.substr(-2,2)==="::"&&A--,A>_)return null;for(H=_-A,w=":";H--;)w+="0:";return h=h.replace("::",w),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),_=(function(){let $=h.split(":"),X=[];for(let Z=0;Z<$.length;Z++)X.push(parseInt($[Z],16));return X})(),{parts:_,zoneId:I}}c(u,"expandIPv6");function l(h,_,A,b){if(h.length!==_.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let I=0,w;for(;b>0;){if(w=A-b,w<0&&(w=0),h[I]>>w!==_[I]>>w)return!1;b-=A,I+=1}return!0}c(l,"matchCIDR");function d(h){if(i.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(n.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}c(d,"parseIntAuto");function p(h,_){for(;h.length<_;)h=`0${h}`;return h}c(p,"padPart");let g={};g.IPv4=(function(){function h(_){if(_.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let A,b;for(A=0;A<_.length;A++)if(b=_[A],!(0<=b&&b<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=_}return c(h,"IPv4"),h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,18,0,0]),15],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]],as112:[[new h([192,175,48,0]),24],[new h([192,31,196,0]),24]],amt:[[new h([192,52,193,0]),24]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(_,A){let b;if(A===void 0&&(b=_,_=b[0],A=b[1]),_.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return l(this.octets,_.octets,8,A)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,A=!1,b={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},I,w,H;for(I=3;I>=0;I-=1)if(w=this.octets[I],w in b){if(H=b[w],A&&H!==0)return null;H!==8&&(A=!0),_+=H}else return null;return 32-_},h.prototype.range=function(){return g.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return g.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h})(),g.IPv4.broadcastAddressFromCIDR=function(h){try{let _=this.parseCIDR(h),A=_[0].toByteArray(),b=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),I=[],w=0;for(;w<4;)I.push(parseInt(A[w],10)|parseInt(b[w],10)^255),w++;return new this(I)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},g.IPv4.isIPv4=function(h){return this.parser(h)!==null},g.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},g.IPv4.isValidCIDR=function(h){try{return this.parseCIDR(h),!0}catch{return!1}},g.IPv4.isValidFourPartDecimal=function(h){return!!(g.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},g.IPv4.isValidCIDRFourPartDecimal=function(h){let _=h.match(/^(.+)\/(\d+)$/);return!g.IPv4.isValidCIDR(h)||!_?!1:g.IPv4.isValidFourPartDecimal(_[1])},g.IPv4.networkAddressFromCIDR=function(h){let _,A,b,I,w;try{for(_=this.parseCIDR(h),b=_[0].toByteArray(),w=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),I=[],A=0;A<4;)I.push(parseInt(b[A],10)&parseInt(w[A],10)),A++;return new this(I)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},g.IPv4.parse=function(h){let _=this.parser(h);if(_===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(_)},g.IPv4.parseCIDR=function(h){let _;if(_=h.match(/^(.+)\/(\d+)$/)){let A=parseInt(_[2]);if(A>=0&&A<=32){let b=[this.parse(_[1]),A];return Object.defineProperty(b,"toString",{value:c(function(){return this.join("/")},"value")}),b}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},g.IPv4.parser=function(h){let _,A,b;if(_=h.match(r.fourOctet))return(function(){let I=_.slice(1,6),w=[];for(let H=0;H<I.length;H++)A=I[H],w.push(d(A));return w})();if(_=h.match(r.longValue)){if(b=d(_[1]),b>4294967295||b<0)throw new Error("ipaddr: address outside defined range");return(function(){let I=[],w;for(w=0;w<=24;w+=8)I.push(b>>w&255);return I})().reverse()}else return(_=h.match(r.twoOctet))?(function(){let I=_.slice(1,4),w=[];if(b=d(I[1]),b>16777215||b<0)throw new Error("ipaddr: address outside defined range");return w.push(d(I[0])),w.push(b>>16&255),w.push(b>>8&255),w.push(b&255),w})():(_=h.match(r.threeOctet))?(function(){let I=_.slice(1,5),w=[];if(b=d(I[2]),b>65535||b<0)throw new Error("ipaddr: address outside defined range");return w.push(d(I[0])),w.push(d(I[1])),w.push(b>>8&255),w.push(b&255),w})():null},g.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");let _=[0,0,0,0],A=0,b=Math.floor(h/8);for(;A<b;)_[A]=255,A++;return b<4&&(_[b]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},g.IPv6=(function(){function h(_,A){let b,I;if(_.length===16)for(this.parts=[],b=0;b<=14;b+=2)this.parts.push(_[b]<<8|_[b+1]);else if(_.length===8)this.parts=_;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(b=0;b<this.parts.length;b++)if(I=this.parts[b],!(0<=I&&I<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");A&&(this.zoneId=A)}return c(h,"IPv6"),h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],discard:[new h([256,0,0,0,0,0,0,0]),64],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],benchmarking:[new h([8193,2,0,0,0,0,0,0]),48],amt:[new h([8193,3,0,0,0,0,0,0]),32],as112v6:[[new h([8193,4,274,0,0,0,0,0]),48],[new h([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new h([8193,16,0,0,0,0,0,0]),28],orchid2:[new h([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new h([8193,48,0,0,0,0,0,0]),28],reserved:[[new h([8193,0,0,0,0,0,0,0]),23],[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(_,A){let b;if(A===void 0&&(b=_,_=b[0],A=b[1]),_.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return l(this.parts,_.parts,16,A)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,A=!1,b={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},I,w;for(let H=7;H>=0;H-=1)if(I=this.parts[H],I in b){if(w=b[I],A&&w!==0)return null;w!==16&&(A=!0),_+=w}else return null;return 128-_},h.prototype.range=function(){return g.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let _,A=[],b=this.parts;for(let I=0;I<b.length;I++)_=b[I],A.push(_>>8),A.push(_&255);return A},h.prototype.toFixedLengthString=function(){let _=(function(){let b=[];for(let I=0;I<this.parts.length;I++)b.push(p(this.parts[I].toString(16),4));return b}).call(this).join(":"),A="";return this.zoneId&&(A=`%${this.zoneId}`),_+A},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let _=this.parts.slice(-2),A=_[0],b=_[1];return new g.IPv4([A>>8,A&255,b>>8,b&255])},h.prototype.toNormalizedString=function(){let _=(function(){let b=[];for(let I=0;I<this.parts.length;I++)b.push(this.parts[I].toString(16));return b}).call(this).join(":"),A="";return this.zoneId&&(A=`%${this.zoneId}`),_+A},h.prototype.toRFC5952String=function(){let _=/((^|:)(0(:|$)){2,})/g,A=this.toNormalizedString(),b=0,I=-1,w;for(;w=_.exec(A);)w[0].length>I&&(b=w.index,I=w[0].length);return I<0?A:`${A.substring(0,b)}::${A.substring(b+I)}`},h.prototype.toString=function(){return this.toRFC5952String()},h})(),g.IPv6.broadcastAddressFromCIDR=function(h){try{let _=this.parseCIDR(h),A=_[0].toByteArray(),b=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),I=[],w=0;for(;w<16;)I.push(parseInt(A[w],10)|parseInt(b[w],10)^255),w++;return new this(I)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},g.IPv6.isIPv6=function(h){return this.parser(h)!==null},g.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{let _=this.parser(h);return new this(_.parts,_.zoneId),!0}catch{return!1}},g.IPv6.isValidCIDR=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{return this.parseCIDR(h),!0}catch{return!1}},g.IPv6.networkAddressFromCIDR=function(h){let _,A,b,I,w;try{for(_=this.parseCIDR(h),b=_[0].toByteArray(),w=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),I=[],A=0;A<16;)I.push(parseInt(b[A],10)&parseInt(w[A],10)),A++;return new this(I)}catch(H){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${H})`)}},g.IPv6.parse=function(h){let _=this.parser(h);if(_.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(_.parts,_.zoneId)},g.IPv6.parseCIDR=function(h){let _,A,b;if((A=h.match(/^(.+)\/(\d+)$/))&&(_=parseInt(A[2]),_>=0&&_<=128))return b=[this.parse(A[1]),_],Object.defineProperty(b,"toString",{value:c(function(){return this.join("/")},"value")}),b;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},g.IPv6.parser=function(h){let _,A,b,I,w,H;if(b=h.match(a.deprecatedTransitional))return this.parser(`::ffff:${b[1]}`);if(a.native.test(h))return u(h,8);if((b=h.match(a.transitional))&&(H=b[6]||"",_=b[1],b[1].endsWith("::")||(_=_.slice(0,-1)),_=u(_+H,6),_.parts)){for(w=[parseInt(b[2]),parseInt(b[3]),parseInt(b[4]),parseInt(b[5])],A=0;A<w.length;A++)if(I=w[A],!(0<=I&&I<=255))return null;return _.parts.push(w[0]<<8|w[1]),_.parts.push(w[2]<<8|w[3]),{parts:_.parts,zoneId:_.zoneId}}return null},g.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");let _=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],A=0,b=Math.floor(h/8);for(;A<b;)_[A]=255,A++;return b<16&&(_[b]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},g.fromByteArray=function(h){let _=h.length;if(_===4)return new g.IPv4(h);if(_===16)return new g.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},g.isValid=function(h){return g.IPv6.isValid(h)||g.IPv4.isValid(h)},g.isValidCIDR=function(h){return g.IPv6.isValidCIDR(h)||g.IPv4.isValidCIDR(h)},g.parse=function(h){if(g.IPv6.isValid(h))return g.IPv6.parse(h);if(g.IPv4.isValid(h))return g.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},g.parseCIDR=function(h){try{return g.IPv6.parseCIDR(h)}catch{try{return g.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},g.process=function(h){let _=this.parse(h);return _.kind()==="ipv6"&&_.isIPv4MappedAddress()?_.toIPv4Address():_},g.subnetMatch=function(h,_,A){let b,I,w,H;A==null&&(A="unicast");for(I in _)if(Object.prototype.hasOwnProperty.call(_,I)){for(w=_[I],w[0]&&!(w[0]instanceof Array)&&(w=[w]),b=0;b<w.length;b++)if(H=w[b],h.kind()===H[0].kind()&&h.match.apply(h,H))return I}return A},typeof na<"u"&&na.exports?na.exports=g:t.ipaddr=g})($p)});var oa=le(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.parseControlResponse=vb;ii.isSingleLine=Ch;ii.isMultiline=Rh;ii.positiveCompletion=Sb;ii.positiveIntermediate=wb;var gu=`
2
- `;function vb(t){let e=t.split(/\r?\n/).filter(Pb),r=[],n=0,i;for(let s=0;s<e.length;s++){let a=e[s];if(i)i.test(a)&&(i=void 0,r.push(e.slice(n,s+1).join(gu)));else if(Rh(a)){let u=a.substr(0,3);i=new RegExp(`^${u}(?:$| )`),n=s}else Ch(a)&&r.push(a)}let o=i?e.slice(n).join(gu)+gu:"";return{messages:r,rest:o}}c(vb,"parseControlResponse");function Ch(t){return/^\d\d\d(?:$| )/.test(t)}c(Ch,"isSingleLine");function Rh(t){return/^\d\d\d-/.test(t)}c(Rh,"isMultiline");function Sb(t){return t>=200&&t<300}c(Sb,"positiveCompletion");function wb(t){return t>=300&&t<400}c(wb,"positiveIntermediate");function Pb(t){return t.trim()!==""}c(Pb,"isNotBlank")});var _u=le($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.FTPContext=$i.FTPError=void 0;var Tb=require("net"),kb=oa(),sa=class extends Error{static{c(this,"FTPError")}constructor(e){super(e.message),this.name=this.constructor.name,this.code=e.code}};$i.FTPError=sa;function Nh(){}c(Nh,"doNothing");var Cb=2**16,mu=class{static{c(this,"FTPContext")}constructor(e=0,r="utf8"){this.timeout=e,this.verbose=!1,this.ipFamily=void 0,this.tlsOptions={},this._partialResponse="",this._encoding=r,this._socket=this.socket=this._newSocket(),this._dataSocket=void 0}close(){let e=this._task?"User closed client during task":"User closed client",r=new Error(e);this.closeWithError(r)}closeWithError(e){this._closingError||(this._closingError=e,this._closeControlSocket(),this._closeSocket(this._dataSocket),this._passToHandler(e),this._stopTrackingTask())}get closed(){return this.socket.remoteAddress===void 0||this._closingError!==void 0}reset(){this.socket=this._newSocket()}get socket(){return this._socket}set socket(e){this.dataSocket=void 0,this.tlsOptions={},this._partialResponse="",this._socket&&(e.localPort===this._socket.localPort?this._removeSocketListeners(this.socket):this._closeControlSocket()),e&&(this._closingError=void 0,e.setTimeout(0),e.setEncoding(this._encoding),e.setKeepAlive(!0),e.on("data",r=>this._onControlSocketData(r)),e.on("end",()=>this.closeWithError(new Error("Server sent FIN packet unexpectedly, closing connection."))),e.on("close",r=>{r||this.closeWithError(new Error("Server closed connection unexpectedly."))}),this._setupDefaultErrorHandlers(e,"control socket")),this._socket=e}get dataSocket(){return this._dataSocket}set dataSocket(e){this._closeSocket(this._dataSocket),e&&(e.setTimeout(0),this._setupDefaultErrorHandlers(e,"data socket")),this._dataSocket=e}get encoding(){return this._encoding}set encoding(e){this._encoding=e,this.socket&&this.socket.setEncoding(e)}send(e){if(/[\r\n\0]/.test(e))throw new Error(`Invalid command: Contains control characters. (${e})`);let n=e.startsWith("PASS")?"> PASS ###":`> ${e}`;this.log(n),this._socket.write(e+`\r
1
+ "use strict";var GE=Object.create;var Ao=Object.defineProperty;var ZE=Object.getOwnPropertyDescriptor;var YE=Object.getOwnPropertyNames;var XE=Object.getPrototypeOf,JE=Object.prototype.hasOwnProperty;var c=(t,e)=>Ao(t,"name",{value:e,configurable:!0});var le=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},hd=(t,e)=>{for(var r in e)Ao(t,r,{get:e[r],enumerable:!0})},gd=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of YE(e))!JE.call(t,i)&&i!==r&&Ao(t,i,{get:()=>e[i],enumerable:!(n=ZE(e,i))||n.enumerable});return t};var Ar=(t,e,r)=>(r=t!=null?GE(XE(t)):{},gd(e||!t||!t.__esModule?Ao(r,"default",{value:t,enumerable:!0}):r,t)),eA=t=>gd(Ao({},"__esModule",{value:!0}),t);var Mp=le((zp,na)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function u(h,_){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let A=0,b=-1,v=(h.match(a.zoneIndex)||[])[0],w,H;for(v&&(v=v.substring(1),h=h.replace(/%.+$/,""));(b=h.indexOf(":",b+1))>=0;)A++;if(h.substr(0,2)==="::"&&A--,h.substr(-2,2)==="::"&&A--,A>_)return null;for(H=_-A,w=":";H--;)w+="0:";return h=h.replace("::",w),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),_=(function(){let D=h.split(":"),J=[];for(let Y=0;Y<D.length;Y++)J.push(parseInt(D[Y],16));return J})(),{parts:_,zoneId:v}}c(u,"expandIPv6");function l(h,_,A,b){if(h.length!==_.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let v=0,w;for(;b>0;){if(w=A-b,w<0&&(w=0),h[v]>>w!==_[v]>>w)return!1;b-=A,v+=1}return!0}c(l,"matchCIDR");function d(h){if(i.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(n.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}c(d,"parseIntAuto");function p(h,_){for(;h.length<_;)h=`0${h}`;return h}c(p,"padPart");let g={};g.IPv4=(function(){function h(_){if(_.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let A,b;for(A=0;A<_.length;A++)if(b=_[A],!(0<=b&&b<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=_}return c(h,"IPv4"),h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,18,0,0]),15],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]],as112:[[new h([192,175,48,0]),24],[new h([192,31,196,0]),24]],amt:[[new h([192,52,193,0]),24]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(_,A){let b;if(A===void 0&&(b=_,_=b[0],A=b[1]),_.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return l(this.octets,_.octets,8,A)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,A=!1,b={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},v,w,H;for(v=3;v>=0;v-=1)if(w=this.octets[v],w in b){if(H=b[w],A&&H!==0)return null;H!==8&&(A=!0),_+=H}else return null;return 32-_},h.prototype.range=function(){return g.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return g.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h})(),g.IPv4.broadcastAddressFromCIDR=function(h){try{let _=this.parseCIDR(h),A=_[0].toByteArray(),b=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),v=[],w=0;for(;w<4;)v.push(parseInt(A[w],10)|parseInt(b[w],10)^255),w++;return new this(v)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},g.IPv4.isIPv4=function(h){return this.parser(h)!==null},g.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},g.IPv4.isValidCIDR=function(h){try{return this.parseCIDR(h),!0}catch{return!1}},g.IPv4.isValidFourPartDecimal=function(h){return!!(g.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},g.IPv4.isValidCIDRFourPartDecimal=function(h){let _=h.match(/^(.+)\/(\d+)$/);return!g.IPv4.isValidCIDR(h)||!_?!1:g.IPv4.isValidFourPartDecimal(_[1])},g.IPv4.networkAddressFromCIDR=function(h){let _,A,b,v,w;try{for(_=this.parseCIDR(h),b=_[0].toByteArray(),w=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),v=[],A=0;A<4;)v.push(parseInt(b[A],10)&parseInt(w[A],10)),A++;return new this(v)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},g.IPv4.parse=function(h){let _=this.parser(h);if(_===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(_)},g.IPv4.parseCIDR=function(h){let _;if(_=h.match(/^(.+)\/(\d+)$/)){let A=parseInt(_[2]);if(A>=0&&A<=32){let b=[this.parse(_[1]),A];return Object.defineProperty(b,"toString",{value:c(function(){return this.join("/")},"value")}),b}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},g.IPv4.parser=function(h){let _,A,b;if(_=h.match(r.fourOctet))return(function(){let v=_.slice(1,6),w=[];for(let H=0;H<v.length;H++)A=v[H],w.push(d(A));return w})();if(_=h.match(r.longValue)){if(b=d(_[1]),b>4294967295||b<0)throw new Error("ipaddr: address outside defined range");return(function(){let v=[],w;for(w=0;w<=24;w+=8)v.push(b>>w&255);return v})().reverse()}else return(_=h.match(r.twoOctet))?(function(){let v=_.slice(1,4),w=[];if(b=d(v[1]),b>16777215||b<0)throw new Error("ipaddr: address outside defined range");return w.push(d(v[0])),w.push(b>>16&255),w.push(b>>8&255),w.push(b&255),w})():(_=h.match(r.threeOctet))?(function(){let v=_.slice(1,5),w=[];if(b=d(v[2]),b>65535||b<0)throw new Error("ipaddr: address outside defined range");return w.push(d(v[0])),w.push(d(v[1])),w.push(b>>8&255),w.push(b&255),w})():null},g.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");let _=[0,0,0,0],A=0,b=Math.floor(h/8);for(;A<b;)_[A]=255,A++;return b<4&&(_[b]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},g.IPv6=(function(){function h(_,A){let b,v;if(_.length===16)for(this.parts=[],b=0;b<=14;b+=2)this.parts.push(_[b]<<8|_[b+1]);else if(_.length===8)this.parts=_;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(b=0;b<this.parts.length;b++)if(v=this.parts[b],!(0<=v&&v<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");A&&(this.zoneId=A)}return c(h,"IPv6"),h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],discard:[new h([256,0,0,0,0,0,0,0]),64],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],benchmarking:[new h([8193,2,0,0,0,0,0,0]),48],amt:[new h([8193,3,0,0,0,0,0,0]),32],as112v6:[[new h([8193,4,274,0,0,0,0,0]),48],[new h([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new h([8193,16,0,0,0,0,0,0]),28],orchid2:[new h([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new h([8193,48,0,0,0,0,0,0]),28],reserved:[[new h([8193,0,0,0,0,0,0,0]),23],[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(_,A){let b;if(A===void 0&&(b=_,_=b[0],A=b[1]),_.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return l(this.parts,_.parts,16,A)},h.prototype.prefixLengthFromSubnetMask=function(){let _=0,A=!1,b={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},v,w;for(let H=7;H>=0;H-=1)if(v=this.parts[H],v in b){if(w=b[v],A&&w!==0)return null;w!==16&&(A=!0),_+=w}else return null;return 128-_},h.prototype.range=function(){return g.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let _,A=[],b=this.parts;for(let v=0;v<b.length;v++)_=b[v],A.push(_>>8),A.push(_&255);return A},h.prototype.toFixedLengthString=function(){let _=(function(){let b=[];for(let v=0;v<this.parts.length;v++)b.push(p(this.parts[v].toString(16),4));return b}).call(this).join(":"),A="";return this.zoneId&&(A=`%${this.zoneId}`),_+A},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let _=this.parts.slice(-2),A=_[0],b=_[1];return new g.IPv4([A>>8,A&255,b>>8,b&255])},h.prototype.toNormalizedString=function(){let _=(function(){let b=[];for(let v=0;v<this.parts.length;v++)b.push(this.parts[v].toString(16));return b}).call(this).join(":"),A="";return this.zoneId&&(A=`%${this.zoneId}`),_+A},h.prototype.toRFC5952String=function(){let _=/((^|:)(0(:|$)){2,})/g,A=this.toNormalizedString(),b=0,v=-1,w;for(;w=_.exec(A);)w[0].length>v&&(b=w.index,v=w[0].length);return v<0?A:`${A.substring(0,b)}::${A.substring(b+v)}`},h.prototype.toString=function(){return this.toRFC5952String()},h})(),g.IPv6.broadcastAddressFromCIDR=function(h){try{let _=this.parseCIDR(h),A=_[0].toByteArray(),b=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),v=[],w=0;for(;w<16;)v.push(parseInt(A[w],10)|parseInt(b[w],10)^255),w++;return new this(v)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},g.IPv6.isIPv6=function(h){return this.parser(h)!==null},g.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{let _=this.parser(h);return new this(_.parts,_.zoneId),!0}catch{return!1}},g.IPv6.isValidCIDR=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{return this.parseCIDR(h),!0}catch{return!1}},g.IPv6.networkAddressFromCIDR=function(h){let _,A,b,v,w;try{for(_=this.parseCIDR(h),b=_[0].toByteArray(),w=this.subnetMaskFromPrefixLength(_[1]).toByteArray(),v=[],A=0;A<16;)v.push(parseInt(b[A],10)&parseInt(w[A],10)),A++;return new this(v)}catch(H){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${H})`)}},g.IPv6.parse=function(h){let _=this.parser(h);if(_.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(_.parts,_.zoneId)},g.IPv6.parseCIDR=function(h){let _,A,b;if((A=h.match(/^(.+)\/(\d+)$/))&&(_=parseInt(A[2]),_>=0&&_<=128))return b=[this.parse(A[1]),_],Object.defineProperty(b,"toString",{value:c(function(){return this.join("/")},"value")}),b;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},g.IPv6.parser=function(h){let _,A,b,v,w,H;if(b=h.match(a.deprecatedTransitional))return this.parser(`::ffff:${b[1]}`);if(a.native.test(h))return u(h,8);if((b=h.match(a.transitional))&&(H=b[6]||"",_=b[1],b[1].endsWith("::")||(_=_.slice(0,-1)),_=u(_+H,6),_.parts)){for(w=[parseInt(b[2]),parseInt(b[3]),parseInt(b[4]),parseInt(b[5])],A=0;A<w.length;A++)if(v=w[A],!(0<=v&&v<=255))return null;return _.parts.push(w[0]<<8|w[1]),_.parts.push(w[2]<<8|w[3]),{parts:_.parts,zoneId:_.zoneId}}return null},g.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");let _=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],A=0,b=Math.floor(h/8);for(;A<b;)_[A]=255,A++;return b<16&&(_[b]=Math.pow(2,h%8)-1<<8-h%8),new this(_)},g.fromByteArray=function(h){let _=h.length;if(_===4)return new g.IPv4(h);if(_===16)return new g.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},g.isValid=function(h){return g.IPv6.isValid(h)||g.IPv4.isValid(h)},g.isValidCIDR=function(h){return g.IPv6.isValidCIDR(h)||g.IPv4.isValidCIDR(h)},g.parse=function(h){if(g.IPv6.isValid(h))return g.IPv6.parse(h);if(g.IPv4.isValid(h))return g.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},g.parseCIDR=function(h){try{return g.IPv6.parseCIDR(h)}catch{try{return g.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},g.process=function(h){let _=this.parse(h);return _.kind()==="ipv6"&&_.isIPv4MappedAddress()?_.toIPv4Address():_},g.subnetMatch=function(h,_,A){let b,v,w,H;A==null&&(A="unicast");for(v in _)if(Object.prototype.hasOwnProperty.call(_,v)){for(w=_[v],w[0]&&!(w[0]instanceof Array)&&(w=[w]),b=0;b<w.length;b++)if(H=w[b],h.kind()===H[0].kind()&&h.match.apply(h,H))return v}return A},typeof na<"u"&&na.exports?na.exports=g:t.ipaddr=g})(zp)});var oa=le(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.parseControlResponse=Ob;ii.isSingleLine=Lh;ii.isMultiline=zh;ii.positiveCompletion=$b;ii.positiveIntermediate=Db;var _u=`
2
+ `;function Ob(t){let e=t.split(/\r?\n/).filter(Bb),r=[],n=0,i;for(let s=0;s<e.length;s++){let a=e[s];if(i)i.test(a)&&(i=void 0,r.push(e.slice(n,s+1).join(_u)));else if(zh(a)){let u=a.substr(0,3);i=new RegExp(`^${u}(?:$| )`),n=s}else Lh(a)&&r.push(a)}let o=i?e.slice(n).join(_u)+_u:"";return{messages:r,rest:o}}c(Ob,"parseControlResponse");function Lh(t){return/^\d\d\d(?:$| )/.test(t)}c(Lh,"isSingleLine");function zh(t){return/^\d\d\d-/.test(t)}c(zh,"isMultiline");function $b(t){return t>=200&&t<300}c($b,"positiveCompletion");function Db(t){return t>=300&&t<400}c(Db,"positiveIntermediate");function Bb(t){return t.trim()!==""}c(Bb,"isNotBlank")});var Eu=le($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.FTPContext=$i.FTPError=void 0;var Ub=require("net"),Lb=oa(),sa=class extends Error{static{c(this,"FTPError")}constructor(e){super(e.message),this.name=this.constructor.name,this.code=e.code}};$i.FTPError=sa;function Mh(){}c(Mh,"doNothing");var zb=2**16,yu=class{static{c(this,"FTPContext")}constructor(e=0,r="utf8"){this.timeout=e,this.verbose=!1,this.ipFamily=void 0,this.tlsOptions={},this._partialResponse="",this._encoding=r,this._socket=this.socket=this._newSocket(),this._dataSocket=void 0}close(){let e=this._task?"User closed client during task":"User closed client",r=new Error(e);this.closeWithError(r)}closeWithError(e){this._closingError||(this._closingError=e,this._closeControlSocket(),this._closeSocket(this._dataSocket),this._passToHandler(e),this._stopTrackingTask())}get closed(){return this.socket.remoteAddress===void 0||this._closingError!==void 0}reset(){this.socket=this._newSocket()}get socket(){return this._socket}set socket(e){this.dataSocket=void 0,this.tlsOptions={},this._partialResponse="",this._socket&&(e.localPort===this._socket.localPort?this._removeSocketListeners(this.socket):this._closeControlSocket()),e&&(this._closingError=void 0,e.setTimeout(0),e.setEncoding(this._encoding),e.setKeepAlive(!0),e.on("data",r=>this._onControlSocketData(r)),e.on("end",()=>this.closeWithError(new Error("Server sent FIN packet unexpectedly, closing connection."))),e.on("close",r=>{r||this.closeWithError(new Error("Server closed connection unexpectedly."))}),this._setupDefaultErrorHandlers(e,"control socket")),this._socket=e}get dataSocket(){return this._dataSocket}set dataSocket(e){this._closeSocket(this._dataSocket),e&&(e.setTimeout(0),this._setupDefaultErrorHandlers(e,"data socket")),this._dataSocket=e}get encoding(){return this._encoding}set encoding(e){this._encoding=e,this.socket&&this.socket.setEncoding(e)}send(e){if(/[\r\n\0]/.test(e))throw new Error(`Invalid command: Contains control characters. (${e})`);let n=e.startsWith("PASS")?"> PASS ###":`> ${e}`;this.log(n),this._socket.write(e+`\r
3
3
  `,this.encoding)}request(e){return this.handle(e,(r,n)=>{r instanceof Error?n.reject(r):n.resolve(r)})}handle(e,r){if(this._task){let n=new Error("User launched a task while another one is still running. Forgot to use 'await' or '.then()'?");n.stack+=`
4
4
  Running task launched at: ${this._task.stack}`,this.closeWithError(n)}return new Promise((n,i)=>{if(this._task={stack:new Error().stack||"Unknown call stack",responseHandler:r,resolver:{resolve:c(o=>{this._stopTrackingTask(),n(o)},"resolve"),reject:c(o=>{this._stopTrackingTask(),i(o)},"reject")}},this._closingError){let o=new Error(`Client is closed because ${this._closingError.message}`);o.stack+=`
5
- Closing reason: ${this._closingError.stack}`,o.code=this._closingError.code!==void 0?this._closingError.code:"0",this._passToHandler(o);return}this.socket.setTimeout(this.timeout),e&&this.send(e)})}log(e){this.verbose&&console.log(e)}get hasTLS(){return"encrypted"in this._socket}_stopTrackingTask(){this.socket.setTimeout(0),this._task=void 0}_onControlSocketData(e){if(this.log(`< ${e}`),this._partialResponse.length+e.length>Cb){this.closeWithError(new Error("FTP control response exceeded maximum allowed size"));return}let r=this._partialResponse+e,n=(0,kb.parseControlResponse)(r);this._partialResponse=n.rest;for(let i of n.messages){let o=parseInt(i.substr(0,3),10),s={code:o,message:i},a=o>=400?new sa(s):void 0;this._passToHandler(a||s)}}_passToHandler(e){this._task&&this._task.responseHandler(e,this._task.resolver)}_setupDefaultErrorHandlers(e,r){e.once("error",n=>{n.message+=` (${r})`,this.closeWithError(n)}),e.once("close",n=>{n&&this.closeWithError(new Error(`Socket closed due to transmission error (${r})`))}),e.once("timeout",()=>{e.destroy(),this.closeWithError(new Error(`Timeout (${r})`))})}_closeControlSocket(){this._removeSocketListeners(this._socket),this._socket.on("error",Nh),this.send("QUIT"),this._closeSocket(this._socket)}_closeSocket(e){e&&(this._removeSocketListeners(e),e.on("error",Nh),e.destroy())}_removeSocketListeners(e){e.removeAllListeners(),e.removeAllListeners("timeout"),e.removeAllListeners("data"),e.removeAllListeners("end"),e.removeAllListeners("error"),e.removeAllListeners("close"),e.removeAllListeners("connect")}_newSocket(){return new Tb.Socket}};$i.FTPContext=mu});var yu=le(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.describeTLS=Rb;Di.describeAddress=Nb;Di.upgradeSocket=Ob;Di.ipIsPrivateV4Address=$b;var Oh=require("tls");function Rb(t){if(t instanceof Oh.TLSSocket){let e=t.getProtocol();return e||"Server socket or disconnected client socket"}return"No encryption"}c(Rb,"describeTLS");function Nb(t){return t.remoteFamily==="IPv6"?`[${t.remoteAddress}]:${t.remotePort}`:`${t.remoteAddress}:${t.remotePort}`}c(Nb,"describeAddress");function Ob(t,e){return new Promise((r,n)=>{let i=Object.assign({},e,{socket:t}),o=(0,Oh.connect)(i,()=>{i.rejectUnauthorized!==!1&&!o.authorized?n(o.authorizationError):(o.removeAllListeners("error"),r(o))}).once("error",s=>{n(s)})})}c(Ob,"upgradeSocket");function $b(t=""){t.startsWith("::ffff:")&&(t=t.substr(7));let e=t.split(".").map(r=>parseInt(r,10));return e[0]===10||e[0]===172&&e[1]>=16&&e[1]<=31||e[0]===192&&e[1]===168||t==="127.0.0.1"}c($b,"ipIsPrivateV4Address")});var Fo=le(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.FileInfo=Ui.FileType=void 0;var Bi;(function(t){t[t.Unknown=0]="Unknown",t[t.File=1]="File",t[t.Directory=2]="Directory",t[t.SymbolicLink=3]="SymbolicLink"})(Bi||(Ui.FileType=Bi={}));var aa=class{static{c(this,"FileInfo")}constructor(e){this.name=e,this.type=Bi.Unknown,this.size=0,this.rawModifiedAt="",this.modifiedAt=void 0,this.permissions=void 0,this.hardLinkCount=void 0,this.link=void 0,this.group=void 0,this.user=void 0,this.uniqueID=void 0,this.name=e}get isDirectory(){return this.type===Bi.Directory}get isSymbolicLink(){return this.type===Bi.SymbolicLink}get isFile(){return this.type===Bi.File}get date(){return this.rawModifiedAt}set date(e){this.rawModifiedAt=e}};Ui.FileInfo=aa;aa.UnixPermission={Read:4,Write:2,Execute:1}});var Dh=le(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.testLine=Db;Ho.parseLine=Bb;Ho.transformList=Ub;var Eu=Fo(),$h=new RegExp("(\\S+)\\s+(\\S+)\\s+(?:(<DIR>)|([0-9]+))\\s+(\\S.*)");function Db(t){return/^\d{2}/.test(t)&&$h.test(t)}c(Db,"testLine");function Bb(t){let e=t.match($h);if(e===null)return;let r=e[5];if(r==="."||r==="..")return;let n=new Eu.FileInfo(r);return e[3]==="<DIR>"?(n.type=Eu.FileType.Directory,n.size=0):(n.type=Eu.FileType.File,n.size=parseInt(e[4],10)),n.rawModifiedAt=e[1]+" "+e[2],n}c(Bb,"parseLine");function Ub(t){return t}c(Ub,"transformList")});var Uh=le(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.testLine=Fb;jo.parseLine=Hb;jo.transformList=jb;var tn=Fo(),Lb="\u6708",zb="\u65E5",Mb="\u5E74",Bh=new RegExp("([bcdelfmpSs-])(((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]?)))\\+?\\s*(\\d+)\\s+(?:(\\S+(?:\\s\\S+)*?)\\s+)?(?:(\\S+(?:\\s\\S+)*)\\s+)?(\\d+(?:,\\s*\\d+)?)\\s+((?:\\d+[-/]\\d+[-/]\\d+)|(?:\\S{3}\\s+\\d{1,2})|(?:\\d{1,2}\\s+\\S{3})|(?:\\d{1,2}"+Lb+"\\s+\\d{1,2}"+zb+"))\\s+((?:\\d+(?::\\d+)?)|(?:\\d{4}"+Mb+"))\\s(.*)");function Fb(t){return Bh.test(t)}c(Fb,"testLine");function Hb(t){let e=t.match(Bh);if(e===null)return;let r=e[21];if(r==="."||r==="..")return;let n=new tn.FileInfo(r);switch(n.size=parseInt(e[18],10),n.user=e[16],n.group=e[17],n.hardLinkCount=parseInt(e[15],10),n.rawModifiedAt=e[19]+" "+e[20],n.permissions={user:Au(e[4],e[5],e[6]),group:Au(e[8],e[9],e[10]),world:Au(e[12],e[13],e[14])},e[1].charAt(0)){case"d":n.type=tn.FileType.Directory;break;case"e":n.type=tn.FileType.SymbolicLink;break;case"l":n.type=tn.FileType.SymbolicLink;break;case"b":case"c":n.type=tn.FileType.File;break;case"f":case"-":n.type=tn.FileType.File;break;default:n.type=tn.FileType.Unknown}if(n.isSymbolicLink){let i=r.indexOf(" -> ");i!==-1&&(n.name=r.substring(0,i),n.link=r.substring(i+4))}return n}c(Hb,"parseLine");function jb(t){return t}c(jb,"transformList");function Au(t,e,r){let n=0;t!=="-"&&(n+=tn.FileInfo.UnixPermission.Read),e!=="-"&&(n+=tn.FileInfo.UnixPermission.Write);let i=r.charAt(0);return i!=="-"&&i.toUpperCase()!==i&&(n+=tn.FileInfo.UnixPermission.Execute),n}c(Au,"parseMode")});var bu=le(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.testLine=qb;zi.parseLine=Qb;zi.transformList=Vb;zi.parseMLSxDate=Mh;var Li=Fo();function Lh(t,e){e.size=parseInt(t,10)}c(Lh,"parseSize");var Wb={size:Lh,sizd:Lh,unique:c((t,e)=>{e.uniqueID=t},"unique"),modify:c((t,e)=>{e.modifiedAt=Mh(t),e.rawModifiedAt=e.modifiedAt.toISOString()},"modify"),type:c((t,e)=>{if(t.startsWith("OS.unix=slink"))return e.type=Li.FileType.SymbolicLink,e.link=t.substr(t.indexOf(":")+1),1;switch(t){case"file":e.type=Li.FileType.File;break;case"dir":e.type=Li.FileType.Directory;break;case"OS.unix=symlink":e.type=Li.FileType.SymbolicLink;break;case"cdir":case"pdir":return 2;default:e.type=Li.FileType.Unknown}return 1},"type"),"unix.mode":c((t,e)=>{let r=t.substr(-3);e.permissions={user:parseInt(r[0],10),group:parseInt(r[1],10),world:parseInt(r[2],10)}},"unix.mode"),"unix.ownername":c((t,e)=>{e.user=t},"unix.ownername"),"unix.owner":c((t,e)=>{e.user===void 0&&(e.user=t)},"unix.owner"),get"unix.uid"(){return this["unix.owner"]},"unix.groupname":c((t,e)=>{e.group=t},"unix.groupname"),"unix.group":c((t,e)=>{e.group===void 0&&(e.group=t)},"unix.group"),get"unix.gid"(){return this["unix.group"]}};function zh(t,e){let r=t.indexOf(e),n=t.substr(0,r),i=t.substr(r+e.length);return[n,i]}c(zh,"splitStringOnce");function qb(t){return/^\S+=\S+;/.test(t)||t.startsWith(" ")}c(qb,"testLine");function Qb(t){let[e,r]=zh(t," ");if(r===""||r==="."||r==="..")return;let n=new Li.FileInfo(r),i=e.split(";");for(let o of i){let[s,a]=zh(o,"=");if(!a)continue;let u=Wb[s.toLowerCase()];if(!u)continue;if(u(a,n)===2)return}return n}c(Qb,"parseLine");function Vb(t){let e=new Map;for(let n of t)!n.isSymbolicLink&&n.uniqueID!==void 0&&e.set(n.uniqueID,n);let r=[];for(let n of t){if(n.isSymbolicLink&&n.uniqueID!==void 0&&n.link===void 0){let o=e.get(n.uniqueID);o!==void 0&&(n.link=o.name)}!n.name.includes("/")&&r.push(n)}return r}c(Vb,"transformList");function Mh(t){return new Date(Date.UTC(+t.slice(0,4),+t.slice(4,6)-1,+t.slice(6,8),+t.slice(8,10),+t.slice(10,12),+t.slice(12,14),+t.slice(15,18)))}c(Mh,"parseMLSxDate")});var Iu=le(_n=>{"use strict";var Kb=_n&&_n.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:c(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Gb=_n&&_n.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),xu=_n&&_n.__importStar||(function(){var t=c(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&Kb(r,e,n[i]);return Gb(r,e),r}})();Object.defineProperty(_n,"__esModule",{value:!0});_n.parseList=ix;var Zb=xu(Dh()),Yb=xu(Uh()),Xb=xu(bu()),Jb=[Zb,Yb,Xb];function ex(t,e){return e.find(r=>r.testLine(t)===!0)}c(ex,"firstCompatibleParser");function tx(t){return t.trim()!==""}c(tx,"isNotBlank");function rx(t){return!t.startsWith("total")}c(rx,"isNotMeta");var nx=/\r?\n/;function ix(t){let e=t.split(nx).filter(tx).filter(rx);if(e.length===0)return[];let r=e[e.length-1],n=ex(r,Jb);if(!n)throw new Error("This library only supports MLSD, Unix- or DOS-style directory listing. Your FTP server seems to be using another format. You can see the transmitted listing when setting `client.ftp.verbose = true`. You can then provide a custom parser to `client.parseList`, see the documentation for details.");let i=e.map(n.parseLine).filter(o=>o!==void 0);return n.transformList(i)}c(ix,"parseList")});var Fh=le(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.ProgressTracker=void 0;var vu=class{static{c(this,"ProgressTracker")}constructor(){this.bytesOverall=0,this.intervalMs=500,this.onStop=ca,this.onHandle=ca}reportTo(e=ca){this.onHandle=e}start(e,r,n){let i=0;this.onStop=ox(this.intervalMs,()=>{let o=e.bytesRead+e.bytesWritten;this.bytesOverall+=o-i,i=o,this.onHandle({name:r,type:n,bytes:o,bytesOverall:this.bytesOverall})})}stop(){this.onStop(!1)}updateAndStop(){this.onStop(!0)}};ua.ProgressTracker=vu;function ox(t,e){let r=setInterval(e,t),n=c(i=>{clearInterval(r),i&&e(),e=ca},"stopFunc");return e(),n}c(ox,"poll");function ca(){}c(ca,"noop")});var Hh=le(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.StringWriter=void 0;var sx=require("stream"),Su=class extends sx.Writable{static{c(this,"StringWriter")}constructor(e=1*1024*1024){super(),this.maxByteLength=e,this.byteLength=0,this.bufs=[]}_write(e,r,n){if(!(e instanceof Buffer)){n(new Error("StringWriter: expects chunks of type 'Buffer'."));return}if(this.byteLength+e.byteLength>this.maxByteLength){n(new Error(`StringWriter: Maximum bytes exceeded, maxByteLength=${this.maxByteLength}.`));return}this.byteLength+=e.byteLength,this.bufs.push(e),n(null)}getText(e){return Buffer.concat(this.bufs).toString(e)}};la.StringWriter=Su});var Pu=le(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.enterPassiveModeIPv6=ax;rn.parseEpsvResponse=qh;rn.enterPassiveModeIPv4=cx;rn.enterPassiveModeIPv4_forceControlHostIP=ux;rn.parsePasvResponse=wu;rn.connectForPassiveTransfer=pa;rn.uploadFrom=lx;rn.downloadTo=fx;var Mi=yu(),Wh=require("stream"),jh=require("tls"),fa=oa();async function ax(t){let e=await t.request("EPSV"),r=qh(e.message);if(!r)throw new Error("Can't parse EPSV response: "+e.message);let n=t.socket.remoteAddress;if(n===void 0)throw new Error("Control socket is disconnected, can't get remote address.");return await pa(n,r,t),e}c(ax,"enterPassiveModeIPv6");function qh(t){let e=t.match(/[|!]{3}(.+)[|!]/);if(e===null||e[1]===void 0)throw new Error(`Can't parse response to 'EPSV': ${t}`);let r=parseInt(e[1],10);if(Number.isNaN(r))throw new Error(`Can't parse response to 'EPSV', port is not a number: ${t}`);return r}c(qh,"parseEpsvResponse");async function cx(t){let e=await t.request("PASV"),r=wu(e.message);if(!r)throw new Error("Can't parse PASV response: "+e.message);let n=t.socket.remoteAddress;return(0,Mi.ipIsPrivateV4Address)(r.host)&&n&&!(0,Mi.ipIsPrivateV4Address)(n)&&(r.host=n),await pa(r.host,r.port,t),e}c(cx,"enterPassiveModeIPv4");async function ux(t){let e=await t.request("PASV"),r=wu(e.message);if(!r)throw new Error("Can't parse PASV response: "+e.message);let n=t.socket.remoteAddress;if(n===void 0)throw new Error("Control socket is disconnected, can't get remote address.");return await pa(n,r.port,t),e}c(ux,"enterPassiveModeIPv4_forceControlHostIP");function wu(t){let e=t.match(/([-\d]+,[-\d]+,[-\d]+,[-\d]+),([-\d]+),([-\d]+)/);if(e===null||e.length!==4)throw new Error(`Can't parse response to 'PASV': ${t}`);return{host:e[1].replace(/,/g,"."),port:(parseInt(e[2],10)&255)*256+(parseInt(e[3],10)&255)}}c(wu,"parsePasvResponse");function pa(t,e,r){return new Promise((n,i)=>{let o=r._newSocket(),s=c(function(u){u.message="Can't open data connection in passive mode: "+u.message,i(u)},"handleConnErr"),a=c(function(){o.destroy(),i(new Error(`Timeout when trying to open data connection to ${t}:${e}`))},"handleTimeout");o.setTimeout(r.timeout),o.on("error",s),o.on("timeout",a),o.connect({port:e,host:t,family:r.ipFamily},()=>{r.socket instanceof jh.TLSSocket&&(o=(0,jh.connect)(Object.assign({},r.tlsOptions,{socket:o,session:r.socket.getSession()}))),o.removeListener("error",s),o.removeListener("timeout",a),r.dataSocket=o,n()})})}c(pa,"connectForPassiveTransfer");var da=class{static{c(this,"TransferResolver")}constructor(e,r){this.ftp=e,this.progress=r,this.response=void 0,this.dataTransferDone=!1}onDataStart(e,r){if(this.ftp.dataSocket===void 0)throw new Error("Data transfer should start but there is no data connection.");this.ftp.socket.setTimeout(0),this.ftp.dataSocket.setTimeout(this.ftp.timeout),this.progress.start(this.ftp.dataSocket,e,r)}onDataDone(e){this.progress.updateAndStop(),this.ftp.socket.setTimeout(this.ftp.timeout),this.ftp.dataSocket&&this.ftp.dataSocket.setTimeout(0),this.dataTransferDone=!0,this.tryResolve(e)}onControlDone(e,r){this.response=r,this.tryResolve(e)}onError(e,r){this.progress.updateAndStop(),this.ftp.socket.setTimeout(this.ftp.timeout),this.ftp.dataSocket=void 0,e.reject(r)}onUnexpectedRequest(e){let r=new Error(`Unexpected FTP response is requesting an answer: ${e.message}`);this.ftp.closeWithError(r)}tryResolve(e){this.dataTransferDone&&this.response!==void 0&&(this.ftp.dataSocket=void 0,e.resolve(this.response))}};function lx(t,e){let r=new da(e.ftp,e.tracker),n=`${e.command} ${e.remotePath}`;return e.ftp.handle(n,(i,o)=>{if(i instanceof Error)r.onError(o,i);else if(i.code===150||i.code===125){let s=e.ftp.dataSocket;if(!s){r.onError(o,new Error("Upload should begin but no data connection is available."));return}let a="getCipher"in s?s.getCipher()!==void 0:!0;dx(a,s,"secureConnect",()=>{e.ftp.log(`Uploading to ${(0,Mi.describeAddress)(s)} (${(0,Mi.describeTLS)(s)})`),r.onDataStart(e.remotePath,e.type),(0,Wh.pipeline)(t,s,u=>{u?r.onError(o,u):r.onDataDone(o)})})}else(0,fa.positiveCompletion)(i.code)?r.onControlDone(o,i):(0,fa.positiveIntermediate)(i.code)&&r.onUnexpectedRequest(i)})}c(lx,"uploadFrom");function fx(t,e){if(!e.ftp.dataSocket)throw new Error("Download will be initiated but no data connection is available.");let r=new da(e.ftp,e.tracker);return e.ftp.handle(e.command,(n,i)=>{if(n instanceof Error)r.onError(i,n);else if(n.code===150||n.code===125){let o=e.ftp.dataSocket;if(!o){r.onError(i,new Error("Download should begin but no data connection is available."));return}e.ftp.log(`Downloading from ${(0,Mi.describeAddress)(o)} (${(0,Mi.describeTLS)(o)})`),r.onDataStart(e.remotePath,e.type),(0,Wh.pipeline)(o,t,s=>{s?r.onError(i,s):r.onDataDone(i)})}else n.code===350?e.ftp.send("RETR "+e.remotePath):(0,fa.positiveCompletion)(n.code)?r.onControlDone(i,n):(0,fa.positiveIntermediate)(n.code)&&r.onUnexpectedRequest(n)})}c(fx,"downloadTo");function dx(t,e,r,n){t===!0?n():e.once(r,()=>n())}c(dx,"onConditionOrEvent")});var Zh=le(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.Client=void 0;var Dn=require("fs"),Tu=require("path"),px=require("tls"),Hi=require("util"),Wo=_u(),oi=yu(),ku=oa(),hx=Iu(),gx=bu(),mx=Fh(),_x=Hh(),Fi=Pu(),yx=(0,Hi.promisify)(Dn.readdir),Ex=(0,Hi.promisify)(Dn.mkdir),Cu=(0,Hi.promisify)(Dn.stat),Qh=(0,Hi.promisify)(Dn.open),Vh=(0,Hi.promisify)(Dn.close),Ax=(0,Hi.promisify)(Dn.unlink),Kh={allowSeparateTransferHost:!0,maxListingBytes:40*1024*1024},Gh=c(()=>["LIST -a","LIST"],"LIST_COMMANDS_DEFAULT"),bx=c(()=>["MLSD","LIST -a","LIST"],"LIST_COMMANDS_MLSD"),Ru=class{static{c(this,"Client")}constructor(e=3e4,r=Kh){this.availableListCommands=Gh();let n={...Kh,...r};this.ftp=new Wo.FTPContext(e),this.prepareTransfer=this._enterFirstCompatibleMode([Fi.enterPassiveModeIPv6,n.allowSeparateTransferHost?Fi.enterPassiveModeIPv4:Fi.enterPassiveModeIPv4_forceControlHostIP]),this.options=n,this.parseList=hx.parseList,this._progressTracker=new mx.ProgressTracker}close(){this.ftp.close(),this._progressTracker.stop()}get closed(){return this.ftp.closed}connect(e="localhost",r=21){return this.ftp.reset(),this.ftp.socket.connect({host:e,port:r,family:this.ftp.ipFamily},()=>this.ftp.log(`Connected to ${(0,oi.describeAddress)(this.ftp.socket)} (${(0,oi.describeTLS)(this.ftp.socket)})`)),this._handleConnectResponse()}connectImplicitTLS(e="localhost",r=21,n={}){return this.ftp.reset(),this.ftp.socket=(0,px.connect)(r,e,n,()=>this.ftp.log(`Connected to ${(0,oi.describeAddress)(this.ftp.socket)} (${(0,oi.describeTLS)(this.ftp.socket)})`)),this.ftp.tlsOptions=n,this._handleConnectResponse()}_handleConnectResponse(){return this.ftp.handle(void 0,(e,r)=>{e instanceof Error?r.reject(e):(0,ku.positiveCompletion)(e.code)?r.resolve(e):r.reject(new Wo.FTPError(e))})}send(e,r=!1){return r?(this.ftp.log("Deprecated call using send(command, flag) with boolean flag to ignore errors. Use sendIgnoringError(command)."),this.sendIgnoringError(e)):this.ftp.request(e)}sendIgnoringError(e){return this.ftp.handle(e,(r,n)=>{r instanceof Wo.FTPError?n.resolve({code:r.code,message:r.message}):r instanceof Error?n.reject(r):n.resolve(r)})}async useTLS(e={},r="AUTH TLS"){let n=await this.send(r);return this.ftp.socket=await(0,oi.upgradeSocket)(this.ftp.socket,e),this.ftp.tlsOptions=e,this.ftp.log(`Control socket is using: ${(0,oi.describeTLS)(this.ftp.socket)}`),n}login(e="anonymous",r="guest"){return this.ftp.log(`Login security: ${(0,oi.describeTLS)(this.ftp.socket)}`),this.ftp.handle("USER "+e,(n,i)=>{n instanceof Error?i.reject(n):(0,ku.positiveCompletion)(n.code)?i.resolve(n):n.code===331?this.ftp.send("PASS "+r):i.reject(new Wo.FTPError(n))})}async useDefaultSettings(){let r=(await this.features()).has("MLST");this.availableListCommands=r?bx():Gh(),await this.send("TYPE I"),await this.sendIgnoringError("STRU F"),await this.sendIgnoringError("OPTS UTF8 ON"),r&&await this.sendIgnoringError("OPTS MLST type;size;modify;unique;unix.mode;unix.owner;unix.group;unix.ownername;unix.groupname;"),this.ftp.hasTLS&&(await this.sendIgnoringError("PBSZ 0"),await this.sendIgnoringError("PROT P"))}async access(e={}){var r,n;let i=e.secure===!0,o=e.secure==="implicit",s;if(o?s=await this.connectImplicitTLS(e.host,e.port,e.secureOptions):s=await this.connect(e.host,e.port),i){let a=(r=e.secureOptions)!==null&&r!==void 0?r:{};a.host=(n=a.host)!==null&&n!==void 0?n:e.host,await this.useTLS(a)}return await this.sendIgnoringError("OPTS UTF8 ON"),await this.login(e.user,e.password),await this.useDefaultSettings(),s}async pwd(){let e=await this.send("PWD"),r=e.message.match(/"(.+)"/);if(r===null||r[1]===void 0)throw new Error(`Can't parse response to command 'PWD': ${e.message}`);return r[1]}async features(){let e=await this.sendIgnoringError("FEAT"),r=new Map;return e.code<400&&(0,ku.isMultiline)(e.message)&&e.message.split(`
6
- `).slice(1,-1).forEach(n=>{let i=n.trim().split(" ");r.set(i[0],i[1]||"")}),r}async cd(e){let r=await this.protectWhitespace(e);return this.send("CWD "+r)}async cdup(){return this.send("CDUP")}async lastMod(e){let r=await this.protectWhitespace(e),i=(await this.send(`MDTM ${r}`)).message.slice(4);return(0,gx.parseMLSxDate)(i)}async size(e){let n=`SIZE ${await this.protectWhitespace(e)}`,i=await this.send(n),o=parseInt(i.message.slice(4),10);if(Number.isNaN(o))throw new Error(`Can't parse response to command '${n}' as a numerical value: ${i.message}`);return o}async rename(e,r){let n=await this.protectWhitespace(e),i=await this.protectWhitespace(r);return await this.send("RNFR "+n),this.send("RNTO "+i)}async remove(e,r=!1){let n=await this.protectWhitespace(e);return r?this.sendIgnoringError(`DELE ${n}`):this.send(`DELE ${n}`)}trackProgress(e){this._progressTracker.bytesOverall=0,this._progressTracker.reportTo(e)}async uploadFrom(e,r,n={}){return this._uploadWithCommand(e,r,"STOR",n)}async appendFrom(e,r,n={}){return this._uploadWithCommand(e,r,"APPE",n)}async _uploadWithCommand(e,r,n,i){return typeof e=="string"?this._uploadLocalFile(e,r,n,i):this._uploadFromStream(e,r,n)}async _uploadLocalFile(e,r,n,i){let o=await Qh(e,"r"),s=(0,Dn.createReadStream)("",{fd:o,start:i.localStart,end:i.localEndInclusive,autoClose:!1});try{return await this._uploadFromStream(s,r,n)}finally{await qo(()=>Vh(o))}}async _uploadFromStream(e,r,n){let i=c(o=>this.ftp.closeWithError(o),"onError");e.once("error",i);try{let o=await this.protectWhitespace(r);return await this.prepareTransfer(this.ftp),await(0,Fi.uploadFrom)(e,{ftp:this.ftp,tracker:this._progressTracker,command:n,remotePath:o,type:"upload"})}finally{e.removeListener("error",i)}}async downloadTo(e,r,n=0){return typeof e=="string"?this._downloadToFile(e,r,n):this._downloadToStream(e,r,n)}async _downloadToFile(e,r,n){let i=n>0,s=await Qh(e,i?"r+":"w"),a=(0,Dn.createWriteStream)("",{fd:s,start:n,autoClose:!1});try{return await this._downloadToStream(a,r,n)}catch(u){let l=await qo(()=>Cu(e)),d=l&&l.size>0;throw!i&&!d&&await qo(()=>Ax(e)),u}finally{await qo(()=>Vh(s))}}async _downloadToStream(e,r,n){let i=c(o=>this.ftp.closeWithError(o),"onError");e.once("error",i);try{let o=await this.protectWhitespace(r);return await this.prepareTransfer(this.ftp),await(0,Fi.downloadTo)(e,{ftp:this.ftp,tracker:this._progressTracker,command:n>0?`REST ${n}`:`RETR ${o}`,remotePath:o,type:"download"})}finally{e.removeListener("error",i),e.end()}}async list(e=""){let r=await this.protectWhitespace(e),n;for(let i of this.availableListCommands){let o=r===""?i:`${i} ${r}`;await this.prepareTransfer(this.ftp);try{let s=await this._requestListWithCommand(o);return this.availableListCommands=[i],s}catch(s){if(!(s instanceof Wo.FTPError))throw s;n=s}}throw n}async _requestListWithCommand(e){let r=new _x.StringWriter(this.options.maxListingBytes);await(0,Fi.downloadTo)(r,{ftp:this.ftp,tracker:this._progressTracker,command:e,remotePath:"",type:"list"});let n=r.getText(this.ftp.encoding);return this.ftp.log(n),this.parseList(n)}async removeDir(e){return this._exitAtCurrentDirectory(async()=>{await this.cd(e);let r=await this.pwd();await this.clearWorkingDir(),r==="/"||(await this.cdup(),await this.removeEmptyDir(r))})}async clearWorkingDir(){for(let e of await this.list())e.isDirectory?(await this.cd(e.name),await this.clearWorkingDir(),await this.cdup(),await this.removeEmptyDir(e.name)):await this.remove(e.name)}async uploadFromDir(e,r){return this._exitAtCurrentDirectory(async()=>(r&&await this.ensureDir(r),await this._uploadToWorkingDir(e)))}async _uploadToWorkingDir(e){let r=await yx(e);for(let n of r){let i=(0,Tu.join)(e,n),o=await Cu(i);o.isFile()?await this.uploadFrom(i,n):o.isDirectory()&&(await this._openDir(n),await this._uploadToWorkingDir(i),await this.cdup())}}async downloadToDir(e,r){return this._exitAtCurrentDirectory(async()=>(r&&await this.cd(r),await this._downloadFromWorkingDir(e)))}async _downloadFromWorkingDir(e){await xx(e);for(let r of await this.list()){if(!r.name||(0,Tu.basename)(r.name)!==r.name){let o=JSON.stringify(r.name);this.ftp.log(`Invalid filename from server listing, will skip file. (${o})`);continue}let i=(0,Tu.join)(e,r.name);r.isDirectory?(await this.cd(r.name),await this._downloadFromWorkingDir(i),await this.cdup()):r.isFile&&await this.downloadTo(i,r.name)}}async ensureDir(e){e.startsWith("/")&&await this.cd("/");let r=e.split("/").filter(n=>n!=="");for(let n of r)await this._openDir(n)}async _openDir(e){await this.sendIgnoringError("MKD "+e),await this.cd(e)}async removeEmptyDir(e){let r=await this.protectWhitespace(e);return this.send(`RMD ${r}`)}async protectWhitespace(e){if(!e.startsWith(" "))return e;let r=await this.pwd();return(r.endsWith("/")?r:r+"/")+e}async _exitAtCurrentDirectory(e){let r=await this.pwd();try{return await e()}finally{this.closed||await qo(()=>this.cd(r))}}_enterFirstCompatibleMode(e){return async r=>{r.log("Trying to find optimal transfer strategy...");let n;for(let i of e)try{let o=await i(r);return r.log("Optimal transfer strategy found."),this.prepareTransfer=i,o}catch(o){n=o}throw new Error(`None of the available transfer strategies work. Last error response was '${n}'.`)}}async upload(e,r,n={}){return this.ftp.log("Warning: upload() has been deprecated, use uploadFrom()."),this.uploadFrom(e,r,n)}async append(e,r,n={}){return this.ftp.log("Warning: append() has been deprecated, use appendFrom()."),this.appendFrom(e,r,n)}async download(e,r,n=0){return this.ftp.log("Warning: download() has been deprecated, use downloadTo()."),this.downloadTo(e,r,n)}async uploadDir(e,r){return this.ftp.log("Warning: uploadDir() has been deprecated, use uploadFromDir()."),this.uploadFromDir(e,r)}async downloadDir(e){return this.ftp.log("Warning: downloadDir() has been deprecated, use downloadToDir()."),this.downloadToDir(e)}};ha.Client=Ru;async function xx(t){try{await Cu(t)}catch{await Ex(t,{recursive:!0})}}c(xx,"ensureLocalDirectory");async function qo(t){try{return await t()}catch{return}}c(qo,"ignoreError")});var Xh=le(Yh=>{"use strict";Object.defineProperty(Yh,"__esModule",{value:!0})});var nn=le(br=>{"use strict";var Ix=br&&br.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:c(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Qo=br&&br.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ix(e,t,r)};Object.defineProperty(br,"__esModule",{value:!0});br.enterPassiveModeIPv6=br.enterPassiveModeIPv4=void 0;Qo(Zh(),br);Qo(_u(),br);Qo(Fo(),br);Qo(Iu(),br);Qo(Xh(),br);var Jh=Pu();Object.defineProperty(br,"enterPassiveModeIPv4",{enumerable:!0,get:c(function(){return Jh.enterPassiveModeIPv4},"get")});Object.defineProperty(br,"enterPassiveModeIPv6",{enumerable:!0,get:c(function(){return Jh.enterPassiveModeIPv6},"get")})});var ga=le((N3,eg)=>{eg.exports={newInvalidAsn1Error:c(function(t){var e=new Error;return e.name="InvalidAsn1Error",e.message=t||"",e},"newInvalidAsn1Error")}});var ma=le(($3,tg)=>{tg.exports={EOC:0,Boolean:1,Integer:2,BitString:3,OctetString:4,Null:5,OID:6,ObjectDescriptor:7,External:8,Real:9,Enumeration:10,PDV:11,Utf8String:12,RelativeOID:13,Sequence:16,Set:17,NumericString:18,PrintableString:19,T61String:20,VideotexString:21,IA5String:22,UTCTime:23,GeneralizedTime:24,GraphicString:25,VisibleString:26,GeneralString:28,UniversalString:29,CharacterString:30,BMPString:31,Constructor:32,Context:128}});var Nu=le((D3,rg)=>{"use strict";var _a=require("buffer"),ji=_a.Buffer,Lr={},zr;for(zr in _a)_a.hasOwnProperty(zr)&&(zr==="SlowBuffer"||zr==="Buffer"||(Lr[zr]=_a[zr]));var Wi=Lr.Buffer={};for(zr in ji)ji.hasOwnProperty(zr)&&(zr==="allocUnsafe"||zr==="allocUnsafeSlow"||(Wi[zr]=ji[zr]));Lr.Buffer.prototype=ji.prototype;(!Wi.from||Wi.from===Uint8Array.from)&&(Wi.from=function(t,e,r){if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&typeof t.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return ji(t,e,r)});Wi.alloc||(Wi.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=ji(t);return!e||e.length===0?n.fill(0):typeof r=="string"?n.fill(e,r):n.fill(e),n});if(!Lr.kStringMaxLength)try{Lr.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}Lr.constants||(Lr.constants={MAX_LENGTH:Lr.kMaxLength},Lr.kStringMaxLength&&(Lr.constants.MAX_STRING_LENGTH=Lr.kStringMaxLength));rg.exports=Lr});var og=le((B3,ig)=>{var vx=require("assert"),ng=Nu().Buffer,Vo=ma(),Sx=ga(),qi=Sx.newInvalidAsn1Error;function xr(t){if(!t||!ng.isBuffer(t))throw new TypeError("data must be a node Buffer");this._buf=t,this._size=t.length,this._len=0,this._offset=0}c(xr,"Reader");Object.defineProperty(xr.prototype,"length",{enumerable:!0,get:c(function(){return this._len},"get")});Object.defineProperty(xr.prototype,"offset",{enumerable:!0,get:c(function(){return this._offset},"get")});Object.defineProperty(xr.prototype,"remain",{get:c(function(){return this._size-this._offset},"get")});Object.defineProperty(xr.prototype,"buffer",{get:c(function(){return this._buf.slice(this._offset)},"get")});xr.prototype.readByte=function(t){if(this._size-this._offset<1)return null;var e=this._buf[this._offset]&255;return t||(this._offset+=1),e};xr.prototype.peek=function(){return this.readByte(!0)};xr.prototype.readLength=function(t){if(t===void 0&&(t=this._offset),t>=this._size)return null;var e=this._buf[t++]&255;if(e===null)return null;if((e&128)===128){if(e&=127,e===0)throw qi("Indefinite length not supported");if(e>4)throw qi("encoding too long");if(this._size-t<e)return null;this._len=0;for(var r=0;r<e;r++)this._len=(this._len<<8)+(this._buf[t++]&255)}else this._len=e;return t};xr.prototype.readSequence=function(t){var e=this.peek();if(e===null)return null;if(t!==void 0&&t!==e)throw qi("Expected 0x"+t.toString(16)+": got 0x"+e.toString(16));var r=this.readLength(this._offset+1);return r===null?null:(this._offset=r,e)};xr.prototype.readInt=function(){return this._readTag(Vo.Integer)};xr.prototype.readBoolean=function(){return this._readTag(Vo.Boolean)!==0};xr.prototype.readEnumeration=function(){return this._readTag(Vo.Enumeration)};xr.prototype.readString=function(t,e){t||(t=Vo.OctetString);var r=this.peek();if(r===null)return null;if(r!==t)throw qi("Expected 0x"+t.toString(16)+": got 0x"+r.toString(16));var n=this.readLength(this._offset+1);if(n===null||this.length>this._size-n)return null;if(this._offset=n,this.length===0)return e?ng.alloc(0):"";var i=this._buf.slice(this._offset,this._offset+this.length);return this._offset+=this.length,e?i:i.toString("utf8")};xr.prototype.readOID=function(t){t||(t=Vo.OID);var e=this.readString(t,!0);if(e===null)return null;for(var r=[],n=0,i=0;i<e.length;i++){var o=e[i]&255;n<<=7,n+=o&127,(o&128)===0&&(r.push(n),n=0)}return n=r.shift(),r.unshift(n%40),r.unshift(n/40>>0),r.join(".")};xr.prototype._readTag=function(t){vx.ok(t!==void 0);var e=this.peek();if(e===null)return null;if(e!==t)throw qi("Expected 0x"+t.toString(16)+": got 0x"+e.toString(16));var r=this.readLength(this._offset+1);if(r===null)return null;if(this.length>4)throw qi("Integer too long: "+this.length);if(this.length>this._size-r)return null;this._offset=r;for(var n=this._buf[this._offset],i=0,o=0;o<this.length;o++)i<<=8,i|=this._buf[this._offset++]&255;return(n&128)===128&&o!==4&&(i-=1<<o*8),i>>0};ig.exports=xr});var ag=le((L3,sg)=>{var Bn=require("assert"),ya=Nu().Buffer,Un=ma(),wx=ga(),Ea=wx.newInvalidAsn1Error,Px={size:1024,growthFactor:8};function Tx(t,e){Bn.ok(t),Bn.equal(typeof t,"object"),Bn.ok(e),Bn.equal(typeof e,"object");var r=Object.getOwnPropertyNames(t);return r.forEach(function(n){if(!e[n]){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i)}}),e}c(Tx,"merge");function mr(t){t=Tx(Px,t||{}),this._buf=ya.alloc(t.size||1024),this._size=this._buf.length,this._offset=0,this._options=t,this._seq=[]}c(mr,"Writer");Object.defineProperty(mr.prototype,"buffer",{get:c(function(){if(this._seq.length)throw Ea(this._seq.length+" unended sequence(s)");return this._buf.slice(0,this._offset)},"get")});mr.prototype.writeByte=function(t){if(typeof t!="number")throw new TypeError("argument must be a Number");this._ensure(1),this._buf[this._offset++]=t};mr.prototype.writeInt=function(t,e){if(typeof t!="number")throw new TypeError("argument must be a Number");typeof e!="number"&&(e=Un.Integer);for(var r=4;((t&4286578688)===0||(t&4286578688)===-8388608)&&r>1;)r--,t<<=8;if(r>4)throw Ea("BER ints cannot be > 0xffffffff");for(this._ensure(2+r),this._buf[this._offset++]=e,this._buf[this._offset++]=r;r-- >0;)this._buf[this._offset++]=(t&4278190080)>>>24,t<<=8};mr.prototype.writeNull=function(){this.writeByte(Un.Null),this.writeByte(0)};mr.prototype.writeEnumeration=function(t,e){if(typeof t!="number")throw new TypeError("argument must be a Number");return typeof e!="number"&&(e=Un.Enumeration),this.writeInt(t,e)};mr.prototype.writeBoolean=function(t,e){if(typeof t!="boolean")throw new TypeError("argument must be a Boolean");typeof e!="number"&&(e=Un.Boolean),this._ensure(3),this._buf[this._offset++]=e,this._buf[this._offset++]=1,this._buf[this._offset++]=t?255:0};mr.prototype.writeString=function(t,e){if(typeof t!="string")throw new TypeError("argument must be a string (was: "+typeof t+")");typeof e!="number"&&(e=Un.OctetString);var r=ya.byteLength(t);this.writeByte(e),this.writeLength(r),r&&(this._ensure(r),this._buf.write(t,this._offset),this._offset+=r)};mr.prototype.writeBuffer=function(t,e){if(typeof e!="number")throw new TypeError("tag must be a number");if(!ya.isBuffer(t))throw new TypeError("argument must be a buffer");this.writeByte(e),this.writeLength(t.length),this._ensure(t.length),t.copy(this._buf,this._offset,0,t.length),this._offset+=t.length};mr.prototype.writeStringArray=function(t){if(!t instanceof Array)throw new TypeError("argument must be an Array[String]");var e=this;t.forEach(function(r){e.writeString(r)})};mr.prototype.writeOID=function(t,e){if(typeof t!="string")throw new TypeError("argument must be a string");if(typeof e!="number"&&(e=Un.OID),!/^([0-9]+\.){3,}[0-9]+$/.test(t))throw new Error("argument is not a valid OID string");function r(s,a){a<128?s.push(a):a<16384?(s.push(a>>>7|128),s.push(a&127)):a<2097152?(s.push(a>>>14|128),s.push((a>>>7|128)&255),s.push(a&127)):a<268435456?(s.push(a>>>21|128),s.push((a>>>14|128)&255),s.push((a>>>7|128)&255),s.push(a&127)):(s.push((a>>>28|128)&255),s.push((a>>>21|128)&255),s.push((a>>>14|128)&255),s.push((a>>>7|128)&255),s.push(a&127))}c(r,"encodeOctet");var n=t.split("."),i=[];i.push(parseInt(n[0],10)*40+parseInt(n[1],10)),n.slice(2).forEach(function(s){r(i,parseInt(s,10))});var o=this;this._ensure(2+i.length),this.writeByte(e),this.writeLength(i.length),i.forEach(function(s){o.writeByte(s)})};mr.prototype.writeLength=function(t){if(typeof t!="number")throw new TypeError("argument must be a Number");if(this._ensure(4),t<=127)this._buf[this._offset++]=t;else if(t<=255)this._buf[this._offset++]=129,this._buf[this._offset++]=t;else if(t<=65535)this._buf[this._offset++]=130,this._buf[this._offset++]=t>>8,this._buf[this._offset++]=t;else if(t<=16777215)this._buf[this._offset++]=131,this._buf[this._offset++]=t>>16,this._buf[this._offset++]=t>>8,this._buf[this._offset++]=t;else throw Ea("Length too long (> 4 bytes)")};mr.prototype.startSequence=function(t){typeof t!="number"&&(t=Un.Sequence|Un.Constructor),this.writeByte(t),this._seq.push(this._offset),this._ensure(3),this._offset+=3};mr.prototype.endSequence=function(){var t=this._seq.pop(),e=t+3,r=this._offset-e;if(r<=127)this._shift(e,r,-2),this._buf[t]=r;else if(r<=255)this._shift(e,r,-1),this._buf[t]=129,this._buf[t+1]=r;else if(r<=65535)this._buf[t]=130,this._buf[t+1]=r>>8,this._buf[t+2]=r;else if(r<=16777215)this._shift(e,r,1),this._buf[t]=131,this._buf[t+1]=r>>16,this._buf[t+2]=r>>8,this._buf[t+3]=r;else throw Ea("Sequence too long")};mr.prototype._shift=function(t,e,r){Bn.ok(t!==void 0),Bn.ok(e!==void 0),Bn.ok(r),this._buf.copy(this._buf,t+r,t,t+e),this._offset+=r};mr.prototype._ensure=function(t){if(Bn.ok(t),this._size-this._offset<t){var e=this._size*this._options.growthFactor;e-this._offset<t&&(e+=t);var r=ya.alloc(e);this._buf.copy(r,0,0,this._offset),this._buf=r,this._size=e}};sg.exports=mr});var cg=le((M3,xa)=>{var Ou=ga(),$u=ma(),kx=og(),Cx=ag();xa.exports={Reader:kx,Writer:Cx};for(Aa in $u)$u.hasOwnProperty(Aa)&&(xa.exports[Aa]=$u[Aa]);var Aa;for(ba in Ou)Ou.hasOwnProperty(ba)&&(xa.exports[ba]=Ou[ba]);var ba});var Ko=le((F3,ug)=>{var Du=cg();ug.exports={Ber:Du,BerReader:Du.Reader,BerWriter:Du.Writer}});var lg=le((H3,Ia)=>{(function(t){"use strict";var e=c(function(m){var E,y=new Float64Array(16);if(m)for(E=0;E<m.length;E++)y[E]=m[E];return y},"gf"),r=c(function(){throw new Error("no PRNG")},"randombytes"),n=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var o=e(),s=e([1]),a=e([56129,1]),u=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),l=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),d=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),p=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),g=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function h(m,E,y,f){m[E]=y>>24&255,m[E+1]=y>>16&255,m[E+2]=y>>8&255,m[E+3]=y&255,m[E+4]=f>>24&255,m[E+5]=f>>16&255,m[E+6]=f>>8&255,m[E+7]=f&255}c(h,"ts64");function _(m,E,y,f,x){var N,z=0;for(N=0;N<x;N++)z|=m[E+N]^y[f+N];return(1&z-1>>>8)-1}c(_,"vn");function A(m,E,y,f){return _(m,E,y,f,16)}c(A,"crypto_verify_16");function b(m,E,y,f){return _(m,E,y,f,32)}c(b,"crypto_verify_32");function I(m,E,y,f){for(var x=f[0]&255|(f[1]&255)<<8|(f[2]&255)<<16|(f[3]&255)<<24,N=y[0]&255|(y[1]&255)<<8|(y[2]&255)<<16|(y[3]&255)<<24,z=y[4]&255|(y[5]&255)<<8|(y[6]&255)<<16|(y[7]&255)<<24,ne=y[8]&255|(y[9]&255)<<8|(y[10]&255)<<16|(y[11]&255)<<24,ce=y[12]&255|(y[13]&255)<<8|(y[14]&255)<<16|(y[15]&255)<<24,ye=f[4]&255|(f[5]&255)<<8|(f[6]&255)<<16|(f[7]&255)<<24,pe=E[0]&255|(E[1]&255)<<8|(E[2]&255)<<16|(E[3]&255)<<24,gt=E[4]&255|(E[5]&255)<<8|(E[6]&255)<<16|(E[7]&255)<<24,_e=E[8]&255|(E[9]&255)<<8|(E[10]&255)<<16|(E[11]&255)<<24,Ue=E[12]&255|(E[13]&255)<<8|(E[14]&255)<<16|(E[15]&255)<<24,Le=f[8]&255|(f[9]&255)<<8|(f[10]&255)<<16|(f[11]&255)<<24,Ge=y[16]&255|(y[17]&255)<<8|(y[18]&255)<<16|(y[19]&255)<<24,Ke=y[20]&255|(y[21]&255)<<8|(y[22]&255)<<16|(y[23]&255)<<24,ze=y[24]&255|(y[25]&255)<<8|(y[26]&255)<<16|(y[27]&255)<<24,Ve=y[28]&255|(y[29]&255)<<8|(y[30]&255)<<16|(y[31]&255)<<24,Me=f[12]&255|(f[13]&255)<<8|(f[14]&255)<<16|(f[15]&255)<<24,Ee=x,Ie=N,ge=z,Ae=ne,be=ce,de=ye,Q=pe,V=gt,se=_e,re=Ue,ie=Le,ae=Ge,ke=Ke,Ze=ze,et=Ve,Ye=Me,S,nt=0;nt<20;nt+=2)S=Ee+ke|0,be^=S<<7|S>>>25,S=be+Ee|0,se^=S<<9|S>>>23,S=se+be|0,ke^=S<<13|S>>>19,S=ke+se|0,Ee^=S<<18|S>>>14,S=de+Ie|0,re^=S<<7|S>>>25,S=re+de|0,Ze^=S<<9|S>>>23,S=Ze+re|0,Ie^=S<<13|S>>>19,S=Ie+Ze|0,de^=S<<18|S>>>14,S=ie+Q|0,et^=S<<7|S>>>25,S=et+ie|0,ge^=S<<9|S>>>23,S=ge+et|0,Q^=S<<13|S>>>19,S=Q+ge|0,ie^=S<<18|S>>>14,S=Ye+ae|0,Ae^=S<<7|S>>>25,S=Ae+Ye|0,V^=S<<9|S>>>23,S=V+Ae|0,ae^=S<<13|S>>>19,S=ae+V|0,Ye^=S<<18|S>>>14,S=Ee+Ae|0,Ie^=S<<7|S>>>25,S=Ie+Ee|0,ge^=S<<9|S>>>23,S=ge+Ie|0,Ae^=S<<13|S>>>19,S=Ae+ge|0,Ee^=S<<18|S>>>14,S=de+be|0,Q^=S<<7|S>>>25,S=Q+de|0,V^=S<<9|S>>>23,S=V+Q|0,be^=S<<13|S>>>19,S=be+V|0,de^=S<<18|S>>>14,S=ie+re|0,ae^=S<<7|S>>>25,S=ae+ie|0,se^=S<<9|S>>>23,S=se+ae|0,re^=S<<13|S>>>19,S=re+se|0,ie^=S<<18|S>>>14,S=Ye+et|0,ke^=S<<7|S>>>25,S=ke+Ye|0,Ze^=S<<9|S>>>23,S=Ze+ke|0,et^=S<<13|S>>>19,S=et+Ze|0,Ye^=S<<18|S>>>14;Ee=Ee+x|0,Ie=Ie+N|0,ge=ge+z|0,Ae=Ae+ne|0,be=be+ce|0,de=de+ye|0,Q=Q+pe|0,V=V+gt|0,se=se+_e|0,re=re+Ue|0,ie=ie+Le|0,ae=ae+Ge|0,ke=ke+Ke|0,Ze=Ze+ze|0,et=et+Ve|0,Ye=Ye+Me|0,m[0]=Ee>>>0&255,m[1]=Ee>>>8&255,m[2]=Ee>>>16&255,m[3]=Ee>>>24&255,m[4]=Ie>>>0&255,m[5]=Ie>>>8&255,m[6]=Ie>>>16&255,m[7]=Ie>>>24&255,m[8]=ge>>>0&255,m[9]=ge>>>8&255,m[10]=ge>>>16&255,m[11]=ge>>>24&255,m[12]=Ae>>>0&255,m[13]=Ae>>>8&255,m[14]=Ae>>>16&255,m[15]=Ae>>>24&255,m[16]=be>>>0&255,m[17]=be>>>8&255,m[18]=be>>>16&255,m[19]=be>>>24&255,m[20]=de>>>0&255,m[21]=de>>>8&255,m[22]=de>>>16&255,m[23]=de>>>24&255,m[24]=Q>>>0&255,m[25]=Q>>>8&255,m[26]=Q>>>16&255,m[27]=Q>>>24&255,m[28]=V>>>0&255,m[29]=V>>>8&255,m[30]=V>>>16&255,m[31]=V>>>24&255,m[32]=se>>>0&255,m[33]=se>>>8&255,m[34]=se>>>16&255,m[35]=se>>>24&255,m[36]=re>>>0&255,m[37]=re>>>8&255,m[38]=re>>>16&255,m[39]=re>>>24&255,m[40]=ie>>>0&255,m[41]=ie>>>8&255,m[42]=ie>>>16&255,m[43]=ie>>>24&255,m[44]=ae>>>0&255,m[45]=ae>>>8&255,m[46]=ae>>>16&255,m[47]=ae>>>24&255,m[48]=ke>>>0&255,m[49]=ke>>>8&255,m[50]=ke>>>16&255,m[51]=ke>>>24&255,m[52]=Ze>>>0&255,m[53]=Ze>>>8&255,m[54]=Ze>>>16&255,m[55]=Ze>>>24&255,m[56]=et>>>0&255,m[57]=et>>>8&255,m[58]=et>>>16&255,m[59]=et>>>24&255,m[60]=Ye>>>0&255,m[61]=Ye>>>8&255,m[62]=Ye>>>16&255,m[63]=Ye>>>24&255}c(I,"core_salsa20");function w(m,E,y,f){for(var x=f[0]&255|(f[1]&255)<<8|(f[2]&255)<<16|(f[3]&255)<<24,N=y[0]&255|(y[1]&255)<<8|(y[2]&255)<<16|(y[3]&255)<<24,z=y[4]&255|(y[5]&255)<<8|(y[6]&255)<<16|(y[7]&255)<<24,ne=y[8]&255|(y[9]&255)<<8|(y[10]&255)<<16|(y[11]&255)<<24,ce=y[12]&255|(y[13]&255)<<8|(y[14]&255)<<16|(y[15]&255)<<24,ye=f[4]&255|(f[5]&255)<<8|(f[6]&255)<<16|(f[7]&255)<<24,pe=E[0]&255|(E[1]&255)<<8|(E[2]&255)<<16|(E[3]&255)<<24,gt=E[4]&255|(E[5]&255)<<8|(E[6]&255)<<16|(E[7]&255)<<24,_e=E[8]&255|(E[9]&255)<<8|(E[10]&255)<<16|(E[11]&255)<<24,Ue=E[12]&255|(E[13]&255)<<8|(E[14]&255)<<16|(E[15]&255)<<24,Le=f[8]&255|(f[9]&255)<<8|(f[10]&255)<<16|(f[11]&255)<<24,Ge=y[16]&255|(y[17]&255)<<8|(y[18]&255)<<16|(y[19]&255)<<24,Ke=y[20]&255|(y[21]&255)<<8|(y[22]&255)<<16|(y[23]&255)<<24,ze=y[24]&255|(y[25]&255)<<8|(y[26]&255)<<16|(y[27]&255)<<24,Ve=y[28]&255|(y[29]&255)<<8|(y[30]&255)<<16|(y[31]&255)<<24,Me=f[12]&255|(f[13]&255)<<8|(f[14]&255)<<16|(f[15]&255)<<24,Ee=x,Ie=N,ge=z,Ae=ne,be=ce,de=ye,Q=pe,V=gt,se=_e,re=Ue,ie=Le,ae=Ge,ke=Ke,Ze=ze,et=Ve,Ye=Me,S,nt=0;nt<20;nt+=2)S=Ee+ke|0,be^=S<<7|S>>>25,S=be+Ee|0,se^=S<<9|S>>>23,S=se+be|0,ke^=S<<13|S>>>19,S=ke+se|0,Ee^=S<<18|S>>>14,S=de+Ie|0,re^=S<<7|S>>>25,S=re+de|0,Ze^=S<<9|S>>>23,S=Ze+re|0,Ie^=S<<13|S>>>19,S=Ie+Ze|0,de^=S<<18|S>>>14,S=ie+Q|0,et^=S<<7|S>>>25,S=et+ie|0,ge^=S<<9|S>>>23,S=ge+et|0,Q^=S<<13|S>>>19,S=Q+ge|0,ie^=S<<18|S>>>14,S=Ye+ae|0,Ae^=S<<7|S>>>25,S=Ae+Ye|0,V^=S<<9|S>>>23,S=V+Ae|0,ae^=S<<13|S>>>19,S=ae+V|0,Ye^=S<<18|S>>>14,S=Ee+Ae|0,Ie^=S<<7|S>>>25,S=Ie+Ee|0,ge^=S<<9|S>>>23,S=ge+Ie|0,Ae^=S<<13|S>>>19,S=Ae+ge|0,Ee^=S<<18|S>>>14,S=de+be|0,Q^=S<<7|S>>>25,S=Q+de|0,V^=S<<9|S>>>23,S=V+Q|0,be^=S<<13|S>>>19,S=be+V|0,de^=S<<18|S>>>14,S=ie+re|0,ae^=S<<7|S>>>25,S=ae+ie|0,se^=S<<9|S>>>23,S=se+ae|0,re^=S<<13|S>>>19,S=re+se|0,ie^=S<<18|S>>>14,S=Ye+et|0,ke^=S<<7|S>>>25,S=ke+Ye|0,Ze^=S<<9|S>>>23,S=Ze+ke|0,et^=S<<13|S>>>19,S=et+Ze|0,Ye^=S<<18|S>>>14;m[0]=Ee>>>0&255,m[1]=Ee>>>8&255,m[2]=Ee>>>16&255,m[3]=Ee>>>24&255,m[4]=de>>>0&255,m[5]=de>>>8&255,m[6]=de>>>16&255,m[7]=de>>>24&255,m[8]=ie>>>0&255,m[9]=ie>>>8&255,m[10]=ie>>>16&255,m[11]=ie>>>24&255,m[12]=Ye>>>0&255,m[13]=Ye>>>8&255,m[14]=Ye>>>16&255,m[15]=Ye>>>24&255,m[16]=Q>>>0&255,m[17]=Q>>>8&255,m[18]=Q>>>16&255,m[19]=Q>>>24&255,m[20]=V>>>0&255,m[21]=V>>>8&255,m[22]=V>>>16&255,m[23]=V>>>24&255,m[24]=se>>>0&255,m[25]=se>>>8&255,m[26]=se>>>16&255,m[27]=se>>>24&255,m[28]=re>>>0&255,m[29]=re>>>8&255,m[30]=re>>>16&255,m[31]=re>>>24&255}c(w,"core_hsalsa20");function H(m,E,y,f){I(m,E,y,f)}c(H,"crypto_core_salsa20");function $(m,E,y,f){w(m,E,y,f)}c($,"crypto_core_hsalsa20");var X=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function Z(m,E,y,f,x,N,z){var ne=new Uint8Array(16),ce=new Uint8Array(64),ye,pe;for(pe=0;pe<16;pe++)ne[pe]=0;for(pe=0;pe<8;pe++)ne[pe]=N[pe];for(;x>=64;){for(H(ce,ne,z,X),pe=0;pe<64;pe++)m[E+pe]=y[f+pe]^ce[pe];for(ye=1,pe=8;pe<16;pe++)ye=ye+(ne[pe]&255)|0,ne[pe]=ye&255,ye>>>=8;x-=64,E+=64,f+=64}if(x>0)for(H(ce,ne,z,X),pe=0;pe<x;pe++)m[E+pe]=y[f+pe]^ce[pe];return 0}c(Z,"crypto_stream_salsa20_xor");function Y(m,E,y,f,x){var N=new Uint8Array(16),z=new Uint8Array(64),ne,ce;for(ce=0;ce<16;ce++)N[ce]=0;for(ce=0;ce<8;ce++)N[ce]=f[ce];for(;y>=64;){for(H(z,N,x,X),ce=0;ce<64;ce++)m[E+ce]=z[ce];for(ne=1,ce=8;ce<16;ce++)ne=ne+(N[ce]&255)|0,N[ce]=ne&255,ne>>>=8;y-=64,E+=64}if(y>0)for(H(z,N,x,X),ce=0;ce<y;ce++)m[E+ce]=z[ce];return 0}c(Y,"crypto_stream_salsa20");function P(m,E,y,f,x){var N=new Uint8Array(32);$(N,f,x,X);for(var z=new Uint8Array(8),ne=0;ne<8;ne++)z[ne]=f[ne+16];return Y(m,E,y,z,N)}c(P,"crypto_stream");function k(m,E,y,f,x,N,z){var ne=new Uint8Array(32);$(ne,N,z,X);for(var ce=new Uint8Array(8),ye=0;ye<8;ye++)ce[ye]=N[ye+16];return Z(m,E,y,f,x,ce,ne)}c(k,"crypto_stream_xor");var M=c(function(m){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var E,y,f,x,N,z,ne,ce;E=m[0]&255|(m[1]&255)<<8,this.r[0]=E&8191,y=m[2]&255|(m[3]&255)<<8,this.r[1]=(E>>>13|y<<3)&8191,f=m[4]&255|(m[5]&255)<<8,this.r[2]=(y>>>10|f<<6)&7939,x=m[6]&255|(m[7]&255)<<8,this.r[3]=(f>>>7|x<<9)&8191,N=m[8]&255|(m[9]&255)<<8,this.r[4]=(x>>>4|N<<12)&255,this.r[5]=N>>>1&8190,z=m[10]&255|(m[11]&255)<<8,this.r[6]=(N>>>14|z<<2)&8191,ne=m[12]&255|(m[13]&255)<<8,this.r[7]=(z>>>11|ne<<5)&8065,ce=m[14]&255|(m[15]&255)<<8,this.r[8]=(ne>>>8|ce<<8)&8191,this.r[9]=ce>>>5&127,this.pad[0]=m[16]&255|(m[17]&255)<<8,this.pad[1]=m[18]&255|(m[19]&255)<<8,this.pad[2]=m[20]&255|(m[21]&255)<<8,this.pad[3]=m[22]&255|(m[23]&255)<<8,this.pad[4]=m[24]&255|(m[25]&255)<<8,this.pad[5]=m[26]&255|(m[27]&255)<<8,this.pad[6]=m[28]&255|(m[29]&255)<<8,this.pad[7]=m[30]&255|(m[31]&255)<<8},"poly1305");M.prototype.blocks=function(m,E,y){for(var f=this.fin?0:2048,x,N,z,ne,ce,ye,pe,gt,_e,Ue,Le,Ge,Ke,ze,Ve,Me,Ee,Ie,ge,Ae=this.h[0],be=this.h[1],de=this.h[2],Q=this.h[3],V=this.h[4],se=this.h[5],re=this.h[6],ie=this.h[7],ae=this.h[8],ke=this.h[9],Ze=this.r[0],et=this.r[1],Ye=this.r[2],S=this.r[3],nt=this.r[4],mt=this.r[5],_t=this.r[6],rt=this.r[7],ft=this.r[8],dt=this.r[9];y>=16;)x=m[E+0]&255|(m[E+1]&255)<<8,Ae+=x&8191,N=m[E+2]&255|(m[E+3]&255)<<8,be+=(x>>>13|N<<3)&8191,z=m[E+4]&255|(m[E+5]&255)<<8,de+=(N>>>10|z<<6)&8191,ne=m[E+6]&255|(m[E+7]&255)<<8,Q+=(z>>>7|ne<<9)&8191,ce=m[E+8]&255|(m[E+9]&255)<<8,V+=(ne>>>4|ce<<12)&8191,se+=ce>>>1&8191,ye=m[E+10]&255|(m[E+11]&255)<<8,re+=(ce>>>14|ye<<2)&8191,pe=m[E+12]&255|(m[E+13]&255)<<8,ie+=(ye>>>11|pe<<5)&8191,gt=m[E+14]&255|(m[E+15]&255)<<8,ae+=(pe>>>8|gt<<8)&8191,ke+=gt>>>5|f,_e=0,Ue=_e,Ue+=Ae*Ze,Ue+=be*(5*dt),Ue+=de*(5*ft),Ue+=Q*(5*rt),Ue+=V*(5*_t),_e=Ue>>>13,Ue&=8191,Ue+=se*(5*mt),Ue+=re*(5*nt),Ue+=ie*(5*S),Ue+=ae*(5*Ye),Ue+=ke*(5*et),_e+=Ue>>>13,Ue&=8191,Le=_e,Le+=Ae*et,Le+=be*Ze,Le+=de*(5*dt),Le+=Q*(5*ft),Le+=V*(5*rt),_e=Le>>>13,Le&=8191,Le+=se*(5*_t),Le+=re*(5*mt),Le+=ie*(5*nt),Le+=ae*(5*S),Le+=ke*(5*Ye),_e+=Le>>>13,Le&=8191,Ge=_e,Ge+=Ae*Ye,Ge+=be*et,Ge+=de*Ze,Ge+=Q*(5*dt),Ge+=V*(5*ft),_e=Ge>>>13,Ge&=8191,Ge+=se*(5*rt),Ge+=re*(5*_t),Ge+=ie*(5*mt),Ge+=ae*(5*nt),Ge+=ke*(5*S),_e+=Ge>>>13,Ge&=8191,Ke=_e,Ke+=Ae*S,Ke+=be*Ye,Ke+=de*et,Ke+=Q*Ze,Ke+=V*(5*dt),_e=Ke>>>13,Ke&=8191,Ke+=se*(5*ft),Ke+=re*(5*rt),Ke+=ie*(5*_t),Ke+=ae*(5*mt),Ke+=ke*(5*nt),_e+=Ke>>>13,Ke&=8191,ze=_e,ze+=Ae*nt,ze+=be*S,ze+=de*Ye,ze+=Q*et,ze+=V*Ze,_e=ze>>>13,ze&=8191,ze+=se*(5*dt),ze+=re*(5*ft),ze+=ie*(5*rt),ze+=ae*(5*_t),ze+=ke*(5*mt),_e+=ze>>>13,ze&=8191,Ve=_e,Ve+=Ae*mt,Ve+=be*nt,Ve+=de*S,Ve+=Q*Ye,Ve+=V*et,_e=Ve>>>13,Ve&=8191,Ve+=se*Ze,Ve+=re*(5*dt),Ve+=ie*(5*ft),Ve+=ae*(5*rt),Ve+=ke*(5*_t),_e+=Ve>>>13,Ve&=8191,Me=_e,Me+=Ae*_t,Me+=be*mt,Me+=de*nt,Me+=Q*S,Me+=V*Ye,_e=Me>>>13,Me&=8191,Me+=se*et,Me+=re*Ze,Me+=ie*(5*dt),Me+=ae*(5*ft),Me+=ke*(5*rt),_e+=Me>>>13,Me&=8191,Ee=_e,Ee+=Ae*rt,Ee+=be*_t,Ee+=de*mt,Ee+=Q*nt,Ee+=V*S,_e=Ee>>>13,Ee&=8191,Ee+=se*Ye,Ee+=re*et,Ee+=ie*Ze,Ee+=ae*(5*dt),Ee+=ke*(5*ft),_e+=Ee>>>13,Ee&=8191,Ie=_e,Ie+=Ae*ft,Ie+=be*rt,Ie+=de*_t,Ie+=Q*mt,Ie+=V*nt,_e=Ie>>>13,Ie&=8191,Ie+=se*S,Ie+=re*Ye,Ie+=ie*et,Ie+=ae*Ze,Ie+=ke*(5*dt),_e+=Ie>>>13,Ie&=8191,ge=_e,ge+=Ae*dt,ge+=be*ft,ge+=de*rt,ge+=Q*_t,ge+=V*mt,_e=ge>>>13,ge&=8191,ge+=se*nt,ge+=re*S,ge+=ie*Ye,ge+=ae*et,ge+=ke*Ze,_e+=ge>>>13,ge&=8191,_e=(_e<<2)+_e|0,_e=_e+Ue|0,Ue=_e&8191,_e=_e>>>13,Le+=_e,Ae=Ue,be=Le,de=Ge,Q=Ke,V=ze,se=Ve,re=Me,ie=Ee,ae=Ie,ke=ge,E+=16,y-=16;this.h[0]=Ae,this.h[1]=be,this.h[2]=de,this.h[3]=Q,this.h[4]=V,this.h[5]=se,this.h[6]=re,this.h[7]=ie,this.h[8]=ae,this.h[9]=ke},M.prototype.finish=function(m,E){var y=new Uint16Array(10),f,x,N,z;if(this.leftover){for(z=this.leftover,this.buffer[z++]=1;z<16;z++)this.buffer[z]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(f=this.h[1]>>>13,this.h[1]&=8191,z=2;z<10;z++)this.h[z]+=f,f=this.h[z]>>>13,this.h[z]&=8191;for(this.h[0]+=f*5,f=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=f,f=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=f,y[0]=this.h[0]+5,f=y[0]>>>13,y[0]&=8191,z=1;z<10;z++)y[z]=this.h[z]+f,f=y[z]>>>13,y[z]&=8191;for(y[9]-=8192,x=(f^1)-1,z=0;z<10;z++)y[z]&=x;for(x=~x,z=0;z<10;z++)this.h[z]=this.h[z]&x|y[z];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,N=this.h[0]+this.pad[0],this.h[0]=N&65535,z=1;z<8;z++)N=(this.h[z]+this.pad[z]|0)+(N>>>16)|0,this.h[z]=N&65535;m[E+0]=this.h[0]>>>0&255,m[E+1]=this.h[0]>>>8&255,m[E+2]=this.h[1]>>>0&255,m[E+3]=this.h[1]>>>8&255,m[E+4]=this.h[2]>>>0&255,m[E+5]=this.h[2]>>>8&255,m[E+6]=this.h[3]>>>0&255,m[E+7]=this.h[3]>>>8&255,m[E+8]=this.h[4]>>>0&255,m[E+9]=this.h[4]>>>8&255,m[E+10]=this.h[5]>>>0&255,m[E+11]=this.h[5]>>>8&255,m[E+12]=this.h[6]>>>0&255,m[E+13]=this.h[6]>>>8&255,m[E+14]=this.h[7]>>>0&255,m[E+15]=this.h[7]>>>8&255},M.prototype.update=function(m,E,y){var f,x;if(this.leftover){for(x=16-this.leftover,x>y&&(x=y),f=0;f<x;f++)this.buffer[this.leftover+f]=m[E+f];if(y-=x,E+=x,this.leftover+=x,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(y>=16&&(x=y-y%16,this.blocks(m,E,x),E+=x,y-=x),y){for(f=0;f<y;f++)this.buffer[this.leftover+f]=m[E+f];this.leftover+=y}};function L(m,E,y,f,x,N){var z=new M(N);return z.update(y,f,x),z.finish(m,E),0}c(L,"crypto_onetimeauth");function T(m,E,y,f,x,N){var z=new Uint8Array(16);return L(z,0,y,f,x,N),A(m,E,z,0)}c(T,"crypto_onetimeauth_verify");function F(m,E,y,f,x){var N;if(y<32)return-1;for(k(m,0,E,0,y,f,x),L(m,16,m,32,y-32,m),N=0;N<16;N++)m[N]=0;return 0}c(F,"crypto_secretbox");function j(m,E,y,f,x){var N,z=new Uint8Array(32);if(y<32||(P(z,0,32,f,x),T(E,16,E,32,y-32,z)!==0))return-1;for(k(m,0,E,0,y,f,x),N=0;N<32;N++)m[N]=0;return 0}c(j,"crypto_secretbox_open");function B(m,E){var y;for(y=0;y<16;y++)m[y]=E[y]|0}c(B,"set25519");function G(m){var E,y,f=1;for(E=0;E<16;E++)y=m[E]+f+65535,f=Math.floor(y/65536),m[E]=y-f*65536;m[0]+=f-1+37*(f-1)}c(G,"car25519");function ee(m,E,y){for(var f,x=~(y-1),N=0;N<16;N++)f=x&(m[N]^E[N]),m[N]^=f,E[N]^=f}c(ee,"sel25519");function C(m,E){var y,f,x,N=e(),z=e();for(y=0;y<16;y++)z[y]=E[y];for(G(z),G(z),G(z),f=0;f<2;f++){for(N[0]=z[0]-65517,y=1;y<15;y++)N[y]=z[y]-65535-(N[y-1]>>16&1),N[y-1]&=65535;N[15]=z[15]-32767-(N[14]>>16&1),x=N[15]>>16&1,N[14]&=65535,ee(z,N,1-x)}for(y=0;y<16;y++)m[2*y]=z[y]&255,m[2*y+1]=z[y]>>8}c(C,"pack25519");function W(m,E){var y=new Uint8Array(32),f=new Uint8Array(32);return C(y,m),C(f,E),b(y,0,f,0)}c(W,"neq25519");function q(m){var E=new Uint8Array(32);return C(E,m),E[0]&1}c(q,"par25519");function J(m,E){var y;for(y=0;y<16;y++)m[y]=E[2*y]+(E[2*y+1]<<8);m[15]&=32767}c(J,"unpack25519");function ue(m,E,y){for(var f=0;f<16;f++)m[f]=E[f]+y[f]}c(ue,"A");function me(m,E,y){for(var f=0;f<16;f++)m[f]=E[f]-y[f]}c(me,"Z");function he(m,E,y){var f,x,N=0,z=0,ne=0,ce=0,ye=0,pe=0,gt=0,_e=0,Ue=0,Le=0,Ge=0,Ke=0,ze=0,Ve=0,Me=0,Ee=0,Ie=0,ge=0,Ae=0,be=0,de=0,Q=0,V=0,se=0,re=0,ie=0,ae=0,ke=0,Ze=0,et=0,Ye=0,S=y[0],nt=y[1],mt=y[2],_t=y[3],rt=y[4],ft=y[5],dt=y[6],Yt=y[7],vt=y[8],Wt=y[9],qt=y[10],Qt=y[11],or=y[12],dr=y[13],pr=y[14],hr=y[15];f=E[0],N+=f*S,z+=f*nt,ne+=f*mt,ce+=f*_t,ye+=f*rt,pe+=f*ft,gt+=f*dt,_e+=f*Yt,Ue+=f*vt,Le+=f*Wt,Ge+=f*qt,Ke+=f*Qt,ze+=f*or,Ve+=f*dr,Me+=f*pr,Ee+=f*hr,f=E[1],z+=f*S,ne+=f*nt,ce+=f*mt,ye+=f*_t,pe+=f*rt,gt+=f*ft,_e+=f*dt,Ue+=f*Yt,Le+=f*vt,Ge+=f*Wt,Ke+=f*qt,ze+=f*Qt,Ve+=f*or,Me+=f*dr,Ee+=f*pr,Ie+=f*hr,f=E[2],ne+=f*S,ce+=f*nt,ye+=f*mt,pe+=f*_t,gt+=f*rt,_e+=f*ft,Ue+=f*dt,Le+=f*Yt,Ge+=f*vt,Ke+=f*Wt,ze+=f*qt,Ve+=f*Qt,Me+=f*or,Ee+=f*dr,Ie+=f*pr,ge+=f*hr,f=E[3],ce+=f*S,ye+=f*nt,pe+=f*mt,gt+=f*_t,_e+=f*rt,Ue+=f*ft,Le+=f*dt,Ge+=f*Yt,Ke+=f*vt,ze+=f*Wt,Ve+=f*qt,Me+=f*Qt,Ee+=f*or,Ie+=f*dr,ge+=f*pr,Ae+=f*hr,f=E[4],ye+=f*S,pe+=f*nt,gt+=f*mt,_e+=f*_t,Ue+=f*rt,Le+=f*ft,Ge+=f*dt,Ke+=f*Yt,ze+=f*vt,Ve+=f*Wt,Me+=f*qt,Ee+=f*Qt,Ie+=f*or,ge+=f*dr,Ae+=f*pr,be+=f*hr,f=E[5],pe+=f*S,gt+=f*nt,_e+=f*mt,Ue+=f*_t,Le+=f*rt,Ge+=f*ft,Ke+=f*dt,ze+=f*Yt,Ve+=f*vt,Me+=f*Wt,Ee+=f*qt,Ie+=f*Qt,ge+=f*or,Ae+=f*dr,be+=f*pr,de+=f*hr,f=E[6],gt+=f*S,_e+=f*nt,Ue+=f*mt,Le+=f*_t,Ge+=f*rt,Ke+=f*ft,ze+=f*dt,Ve+=f*Yt,Me+=f*vt,Ee+=f*Wt,Ie+=f*qt,ge+=f*Qt,Ae+=f*or,be+=f*dr,de+=f*pr,Q+=f*hr,f=E[7],_e+=f*S,Ue+=f*nt,Le+=f*mt,Ge+=f*_t,Ke+=f*rt,ze+=f*ft,Ve+=f*dt,Me+=f*Yt,Ee+=f*vt,Ie+=f*Wt,ge+=f*qt,Ae+=f*Qt,be+=f*or,de+=f*dr,Q+=f*pr,V+=f*hr,f=E[8],Ue+=f*S,Le+=f*nt,Ge+=f*mt,Ke+=f*_t,ze+=f*rt,Ve+=f*ft,Me+=f*dt,Ee+=f*Yt,Ie+=f*vt,ge+=f*Wt,Ae+=f*qt,be+=f*Qt,de+=f*or,Q+=f*dr,V+=f*pr,se+=f*hr,f=E[9],Le+=f*S,Ge+=f*nt,Ke+=f*mt,ze+=f*_t,Ve+=f*rt,Me+=f*ft,Ee+=f*dt,Ie+=f*Yt,ge+=f*vt,Ae+=f*Wt,be+=f*qt,de+=f*Qt,Q+=f*or,V+=f*dr,se+=f*pr,re+=f*hr,f=E[10],Ge+=f*S,Ke+=f*nt,ze+=f*mt,Ve+=f*_t,Me+=f*rt,Ee+=f*ft,Ie+=f*dt,ge+=f*Yt,Ae+=f*vt,be+=f*Wt,de+=f*qt,Q+=f*Qt,V+=f*or,se+=f*dr,re+=f*pr,ie+=f*hr,f=E[11],Ke+=f*S,ze+=f*nt,Ve+=f*mt,Me+=f*_t,Ee+=f*rt,Ie+=f*ft,ge+=f*dt,Ae+=f*Yt,be+=f*vt,de+=f*Wt,Q+=f*qt,V+=f*Qt,se+=f*or,re+=f*dr,ie+=f*pr,ae+=f*hr,f=E[12],ze+=f*S,Ve+=f*nt,Me+=f*mt,Ee+=f*_t,Ie+=f*rt,ge+=f*ft,Ae+=f*dt,be+=f*Yt,de+=f*vt,Q+=f*Wt,V+=f*qt,se+=f*Qt,re+=f*or,ie+=f*dr,ae+=f*pr,ke+=f*hr,f=E[13],Ve+=f*S,Me+=f*nt,Ee+=f*mt,Ie+=f*_t,ge+=f*rt,Ae+=f*ft,be+=f*dt,de+=f*Yt,Q+=f*vt,V+=f*Wt,se+=f*qt,re+=f*Qt,ie+=f*or,ae+=f*dr,ke+=f*pr,Ze+=f*hr,f=E[14],Me+=f*S,Ee+=f*nt,Ie+=f*mt,ge+=f*_t,Ae+=f*rt,be+=f*ft,de+=f*dt,Q+=f*Yt,V+=f*vt,se+=f*Wt,re+=f*qt,ie+=f*Qt,ae+=f*or,ke+=f*dr,Ze+=f*pr,et+=f*hr,f=E[15],Ee+=f*S,Ie+=f*nt,ge+=f*mt,Ae+=f*_t,be+=f*rt,de+=f*ft,Q+=f*dt,V+=f*Yt,se+=f*vt,re+=f*Wt,ie+=f*qt,ae+=f*Qt,ke+=f*or,Ze+=f*dr,et+=f*pr,Ye+=f*hr,N+=38*Ie,z+=38*ge,ne+=38*Ae,ce+=38*be,ye+=38*de,pe+=38*Q,gt+=38*V,_e+=38*se,Ue+=38*re,Le+=38*ie,Ge+=38*ae,Ke+=38*ke,ze+=38*Ze,Ve+=38*et,Me+=38*Ye,x=1,f=N+x+65535,x=Math.floor(f/65536),N=f-x*65536,f=z+x+65535,x=Math.floor(f/65536),z=f-x*65536,f=ne+x+65535,x=Math.floor(f/65536),ne=f-x*65536,f=ce+x+65535,x=Math.floor(f/65536),ce=f-x*65536,f=ye+x+65535,x=Math.floor(f/65536),ye=f-x*65536,f=pe+x+65535,x=Math.floor(f/65536),pe=f-x*65536,f=gt+x+65535,x=Math.floor(f/65536),gt=f-x*65536,f=_e+x+65535,x=Math.floor(f/65536),_e=f-x*65536,f=Ue+x+65535,x=Math.floor(f/65536),Ue=f-x*65536,f=Le+x+65535,x=Math.floor(f/65536),Le=f-x*65536,f=Ge+x+65535,x=Math.floor(f/65536),Ge=f-x*65536,f=Ke+x+65535,x=Math.floor(f/65536),Ke=f-x*65536,f=ze+x+65535,x=Math.floor(f/65536),ze=f-x*65536,f=Ve+x+65535,x=Math.floor(f/65536),Ve=f-x*65536,f=Me+x+65535,x=Math.floor(f/65536),Me=f-x*65536,f=Ee+x+65535,x=Math.floor(f/65536),Ee=f-x*65536,N+=x-1+37*(x-1),x=1,f=N+x+65535,x=Math.floor(f/65536),N=f-x*65536,f=z+x+65535,x=Math.floor(f/65536),z=f-x*65536,f=ne+x+65535,x=Math.floor(f/65536),ne=f-x*65536,f=ce+x+65535,x=Math.floor(f/65536),ce=f-x*65536,f=ye+x+65535,x=Math.floor(f/65536),ye=f-x*65536,f=pe+x+65535,x=Math.floor(f/65536),pe=f-x*65536,f=gt+x+65535,x=Math.floor(f/65536),gt=f-x*65536,f=_e+x+65535,x=Math.floor(f/65536),_e=f-x*65536,f=Ue+x+65535,x=Math.floor(f/65536),Ue=f-x*65536,f=Le+x+65535,x=Math.floor(f/65536),Le=f-x*65536,f=Ge+x+65535,x=Math.floor(f/65536),Ge=f-x*65536,f=Ke+x+65535,x=Math.floor(f/65536),Ke=f-x*65536,f=ze+x+65535,x=Math.floor(f/65536),ze=f-x*65536,f=Ve+x+65535,x=Math.floor(f/65536),Ve=f-x*65536,f=Me+x+65535,x=Math.floor(f/65536),Me=f-x*65536,f=Ee+x+65535,x=Math.floor(f/65536),Ee=f-x*65536,N+=x-1+37*(x-1),m[0]=N,m[1]=z,m[2]=ne,m[3]=ce,m[4]=ye,m[5]=pe,m[6]=gt,m[7]=_e,m[8]=Ue,m[9]=Le,m[10]=Ge,m[11]=Ke,m[12]=ze,m[13]=Ve,m[14]=Me,m[15]=Ee}c(he,"M");function bt(m,E){he(m,E,E)}c(bt,"S");function Ct(m,E){var y=e(),f;for(f=0;f<16;f++)y[f]=E[f];for(f=253;f>=0;f--)bt(y,y),f!==2&&f!==4&&he(y,y,E);for(f=0;f<16;f++)m[f]=y[f]}c(Ct,"inv25519");function Xt(m,E){var y=e(),f;for(f=0;f<16;f++)y[f]=E[f];for(f=250;f>=0;f--)bt(y,y),f!==1&&he(y,y,E);for(f=0;f<16;f++)m[f]=y[f]}c(Xt,"pow2523");function yr(m,E,y){var f=new Uint8Array(32),x=new Float64Array(80),N,z,ne=e(),ce=e(),ye=e(),pe=e(),gt=e(),_e=e();for(z=0;z<31;z++)f[z]=E[z];for(f[31]=E[31]&127|64,f[0]&=248,J(x,y),z=0;z<16;z++)ce[z]=x[z],pe[z]=ne[z]=ye[z]=0;for(ne[0]=pe[0]=1,z=254;z>=0;--z)N=f[z>>>3]>>>(z&7)&1,ee(ne,ce,N),ee(ye,pe,N),ue(gt,ne,ye),me(ne,ne,ye),ue(ye,ce,pe),me(ce,ce,pe),bt(pe,gt),bt(_e,ne),he(ne,ye,ne),he(ye,ce,gt),ue(gt,ne,ye),me(ne,ne,ye),bt(ce,ne),me(ye,pe,_e),he(ne,ye,a),ue(ne,ne,pe),he(ye,ye,ne),he(ne,pe,_e),he(pe,ce,x),bt(ce,gt),ee(ne,ce,N),ee(ye,pe,N);for(z=0;z<16;z++)x[z+16]=ne[z],x[z+32]=ye[z],x[z+48]=ce[z],x[z+64]=pe[z];var Ue=x.subarray(32),Le=x.subarray(16);return Ct(Ue,Ue),he(Le,Le,Ue),C(m,Le),0}c(yr,"crypto_scalarmult");function Dr(m,E){return yr(m,E,i)}c(Dr,"crypto_scalarmult_base");function vr(m,E){return r(E,32),Dr(m,E)}c(vr,"crypto_box_keypair");function Ai(m,E,y){var f=new Uint8Array(32);return yr(f,y,E),$(m,n,f,X)}c(Ai,"crypto_box_beforenm");var go=F,Bs=j;function mo(m,E,y,f,x,N){var z=new Uint8Array(32);return Ai(z,x,N),go(m,E,y,f,z)}c(mo,"crypto_box");function bi(m,E,y,f,x,N){var z=new Uint8Array(32);return Ai(z,x,N),Bs(m,E,y,f,z)}c(bi,"crypto_box_open");var xi=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function te(m,E,y,f){for(var x=new Int32Array(16),N=new Int32Array(16),z,ne,ce,ye,pe,gt,_e,Ue,Le,Ge,Ke,ze,Ve,Me,Ee,Ie,ge,Ae,be,de,Q,V,se,re,ie,ae,ke=m[0],Ze=m[1],et=m[2],Ye=m[3],S=m[4],nt=m[5],mt=m[6],_t=m[7],rt=E[0],ft=E[1],dt=E[2],Yt=E[3],vt=E[4],Wt=E[5],qt=E[6],Qt=E[7],or=0;f>=128;){for(be=0;be<16;be++)de=8*be+or,x[be]=y[de+0]<<24|y[de+1]<<16|y[de+2]<<8|y[de+3],N[be]=y[de+4]<<24|y[de+5]<<16|y[de+6]<<8|y[de+7];for(be=0;be<80;be++)if(z=ke,ne=Ze,ce=et,ye=Ye,pe=S,gt=nt,_e=mt,Ue=_t,Le=rt,Ge=ft,Ke=dt,ze=Yt,Ve=vt,Me=Wt,Ee=qt,Ie=Qt,Q=_t,V=Qt,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=(S>>>14|vt<<18)^(S>>>18|vt<<14)^(vt>>>9|S<<23),V=(vt>>>14|S<<18)^(vt>>>18|S<<14)^(S>>>9|vt<<23),se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,Q=S&nt^~S&mt,V=vt&Wt^~vt&qt,se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,Q=xi[be*2],V=xi[be*2+1],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,Q=x[be%16],V=N[be%16],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,ge=ie&65535|ae<<16,Ae=se&65535|re<<16,Q=ge,V=Ae,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=(ke>>>28|rt<<4)^(rt>>>2|ke<<30)^(rt>>>7|ke<<25),V=(rt>>>28|ke<<4)^(ke>>>2|rt<<30)^(ke>>>7|rt<<25),se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,Q=ke&Ze^ke&et^Ze&et,V=rt&ft^rt&dt^ft&dt,se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,Ue=ie&65535|ae<<16,Ie=se&65535|re<<16,Q=ye,V=ze,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=ge,V=Ae,se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,ye=ie&65535|ae<<16,ze=se&65535|re<<16,Ze=z,et=ne,Ye=ce,S=ye,nt=pe,mt=gt,_t=_e,ke=Ue,ft=Le,dt=Ge,Yt=Ke,vt=ze,Wt=Ve,qt=Me,Qt=Ee,rt=Ie,be%16===15)for(de=0;de<16;de++)Q=x[de],V=N[de],se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=x[(de+9)%16],V=N[(de+9)%16],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,ge=x[(de+1)%16],Ae=N[(de+1)%16],Q=(ge>>>1|Ae<<31)^(ge>>>8|Ae<<24)^ge>>>7,V=(Ae>>>1|ge<<31)^(Ae>>>8|ge<<24)^(Ae>>>7|ge<<25),se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,ge=x[(de+14)%16],Ae=N[(de+14)%16],Q=(ge>>>19|Ae<<13)^(Ae>>>29|ge<<3)^ge>>>6,V=(Ae>>>19|ge<<13)^(ge>>>29|Ae<<3)^(Ae>>>6|ge<<26),se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,x[de]=ie&65535|ae<<16,N[de]=se&65535|re<<16;Q=ke,V=rt,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=m[0],V=E[0],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,m[0]=ke=ie&65535|ae<<16,E[0]=rt=se&65535|re<<16,Q=Ze,V=ft,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=m[1],V=E[1],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,m[1]=Ze=ie&65535|ae<<16,E[1]=ft=se&65535|re<<16,Q=et,V=dt,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=m[2],V=E[2],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,m[2]=et=ie&65535|ae<<16,E[2]=dt=se&65535|re<<16,Q=Ye,V=Yt,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=m[3],V=E[3],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,m[3]=Ye=ie&65535|ae<<16,E[3]=Yt=se&65535|re<<16,Q=S,V=vt,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=m[4],V=E[4],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,m[4]=S=ie&65535|ae<<16,E[4]=vt=se&65535|re<<16,Q=nt,V=Wt,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=m[5],V=E[5],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,m[5]=nt=ie&65535|ae<<16,E[5]=Wt=se&65535|re<<16,Q=mt,V=qt,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=m[6],V=E[6],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,m[6]=mt=ie&65535|ae<<16,E[6]=qt=se&65535|re<<16,Q=_t,V=Qt,se=V&65535,re=V>>>16,ie=Q&65535,ae=Q>>>16,Q=m[7],V=E[7],se+=V&65535,re+=V>>>16,ie+=Q&65535,ae+=Q>>>16,re+=se>>>16,ie+=re>>>16,ae+=ie>>>16,m[7]=_t=ie&65535|ae<<16,E[7]=Qt=se&65535|re<<16,or+=128,f-=128}return f}c(te,"crypto_hashblocks_hl");function fe(m,E,y){var f=new Int32Array(8),x=new Int32Array(8),N=new Uint8Array(256),z,ne=y;for(f[0]=1779033703,f[1]=3144134277,f[2]=1013904242,f[3]=2773480762,f[4]=1359893119,f[5]=2600822924,f[6]=528734635,f[7]=1541459225,x[0]=4089235720,x[1]=2227873595,x[2]=4271175723,x[3]=1595750129,x[4]=2917565137,x[5]=725511199,x[6]=4215389547,x[7]=327033209,te(f,x,E,y),y%=128,z=0;z<y;z++)N[z]=E[ne-y+z];for(N[y]=128,y=256-128*(y<112?1:0),N[y-9]=0,h(N,y-8,ne/536870912|0,ne<<3),te(f,x,N,y),z=0;z<8;z++)h(m,8*z,f[z],x[z]);return 0}c(fe,"crypto_hash");function ve(m,E){var y=e(),f=e(),x=e(),N=e(),z=e(),ne=e(),ce=e(),ye=e(),pe=e();me(y,m[1],m[0]),me(pe,E[1],E[0]),he(y,y,pe),ue(f,m[0],m[1]),ue(pe,E[0],E[1]),he(f,f,pe),he(x,m[3],E[3]),he(x,x,l),he(N,m[2],E[2]),ue(N,N,N),me(z,f,y),me(ne,N,x),ue(ce,N,x),ue(ye,f,y),he(m[0],z,ne),he(m[1],ye,ce),he(m[2],ce,ne),he(m[3],z,ye)}c(ve,"add");function De(m,E,y){var f;for(f=0;f<4;f++)ee(m[f],E[f],y)}c(De,"cswap");function ut(m,E){var y=e(),f=e(),x=e();Ct(x,E[2]),he(y,E[0],x),he(f,E[1],x),C(m,f),m[31]^=q(y)<<7}c(ut,"pack");function Jt(m,E,y){var f,x;for(B(m[0],o),B(m[1],s),B(m[2],s),B(m[3],o),x=255;x>=0;--x)f=y[x/8|0]>>(x&7)&1,De(m,E,f),ve(E,m),ve(m,m),De(m,E,f)}c(Jt,"scalarmult");function Yr(m,E){var y=[e(),e(),e(),e()];B(y[0],d),B(y[1],p),B(y[2],s),he(y[3],d,p),Jt(m,y,E)}c(Yr,"scalarbase");function kr(m,E,y){var f=new Uint8Array(64),x=[e(),e(),e(),e()],N;for(y||r(E,32),fe(f,E,32),f[0]&=248,f[31]&=127,f[31]|=64,Yr(x,f),ut(m,x),N=0;N<32;N++)E[N+32]=m[N];return 0}c(kr,"crypto_sign_keypair");var Ii=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function xt(m,E){var y,f,x,N;for(f=63;f>=32;--f){for(y=0,x=f-32,N=f-12;x<N;++x)E[x]+=y-16*E[f]*Ii[x-(f-32)],y=E[x]+128>>8,E[x]-=y*256;E[x]+=y,E[f]=0}for(y=0,x=0;x<32;x++)E[x]+=y-(E[31]>>4)*Ii[x],y=E[x]>>8,E[x]&=255;for(x=0;x<32;x++)E[x]-=y*Ii[x];for(f=0;f<32;f++)E[f+1]+=E[f]>>8,m[f]=E[f]&255}c(xt,"modL");function sr(m){var E=new Float64Array(64),y;for(y=0;y<64;y++)E[y]=m[y];for(y=0;y<64;y++)m[y]=0;xt(m,E)}c(sr,"reduce");function ir(m,E,y,f){var x=new Uint8Array(64),N=new Uint8Array(64),z=new Uint8Array(64),ne,ce,ye=new Float64Array(64),pe=[e(),e(),e(),e()];fe(x,f,32),x[0]&=248,x[31]&=127,x[31]|=64;var gt=y+64;for(ne=0;ne<y;ne++)m[64+ne]=E[ne];for(ne=0;ne<32;ne++)m[32+ne]=x[32+ne];for(fe(z,m.subarray(32),y+32),sr(z),Yr(pe,z),ut(m,pe),ne=32;ne<64;ne++)m[ne]=f[ne];for(fe(N,m,y+64),sr(N),ne=0;ne<64;ne++)ye[ne]=0;for(ne=0;ne<32;ne++)ye[ne]=z[ne];for(ne=0;ne<32;ne++)for(ce=0;ce<32;ce++)ye[ne+ce]+=N[ne]*x[ce];return xt(m.subarray(32),ye),gt}c(ir,"crypto_sign");function Ht(m,E){var y=e(),f=e(),x=e(),N=e(),z=e(),ne=e(),ce=e();return B(m[2],s),J(m[1],E),bt(x,m[1]),he(N,x,u),me(x,x,m[2]),ue(N,m[2],N),bt(z,N),bt(ne,z),he(ce,ne,z),he(y,ce,x),he(y,y,N),Xt(y,y),he(y,y,x),he(y,y,N),he(y,y,N),he(m[0],y,N),bt(f,m[0]),he(f,f,N),W(f,x)&&he(m[0],m[0],g),bt(f,m[0]),he(f,f,N),W(f,x)?-1:(q(m[0])===E[31]>>7&&me(m[0],o,m[0]),he(m[3],m[0],m[1]),0)}c(Ht,"unpackneg");function Pt(m,E,y,f){var x,N,z=new Uint8Array(32),ne=new Uint8Array(64),ce=[e(),e(),e(),e()],ye=[e(),e(),e(),e()];if(N=-1,y<64||Ht(ye,f))return-1;for(x=0;x<y;x++)m[x]=E[x];for(x=0;x<32;x++)m[x+32]=f[x];if(fe(ne,m,y),sr(ne),Jt(ce,ye,ne),Yr(ye,E.subarray(32)),ve(ce,ye),ut(z,ce),y-=64,b(E,0,z,0)){for(x=0;x<y;x++)m[x]=0;return-1}for(x=0;x<y;x++)m[x]=E[x+64];return N=y,N}c(Pt,"crypto_sign_open");var Br=32,jt=24,Jn=32,vi=16,_o=32,Us=32,yo=32,Eo=32,kc=32,cd=jt,ME=Jn,FE=vi,ln=64,ei=32,Si=64,Cc=32,Rc=64;t.lowlevel={crypto_core_hsalsa20:$,crypto_stream_xor:k,crypto_stream:P,crypto_stream_salsa20_xor:Z,crypto_stream_salsa20:Y,crypto_onetimeauth:L,crypto_onetimeauth_verify:T,crypto_verify_16:A,crypto_verify_32:b,crypto_secretbox:F,crypto_secretbox_open:j,crypto_scalarmult:yr,crypto_scalarmult_base:Dr,crypto_box_beforenm:Ai,crypto_box_afternm:go,crypto_box:mo,crypto_box_open:bi,crypto_box_keypair:vr,crypto_hash:fe,crypto_sign:ir,crypto_sign_keypair:kr,crypto_sign_open:Pt,crypto_secretbox_KEYBYTES:Br,crypto_secretbox_NONCEBYTES:jt,crypto_secretbox_ZEROBYTES:Jn,crypto_secretbox_BOXZEROBYTES:vi,crypto_scalarmult_BYTES:_o,crypto_scalarmult_SCALARBYTES:Us,crypto_box_PUBLICKEYBYTES:yo,crypto_box_SECRETKEYBYTES:Eo,crypto_box_BEFORENMBYTES:kc,crypto_box_NONCEBYTES:cd,crypto_box_ZEROBYTES:ME,crypto_box_BOXZEROBYTES:FE,crypto_sign_BYTES:ln,crypto_sign_PUBLICKEYBYTES:ei,crypto_sign_SECRETKEYBYTES:Si,crypto_sign_SEEDBYTES:Cc,crypto_hash_BYTES:Rc};function ud(m,E){if(m.length!==Br)throw new Error("bad key size");if(E.length!==jt)throw new Error("bad nonce size")}c(ud,"checkLengths");function HE(m,E){if(m.length!==yo)throw new Error("bad public key size");if(E.length!==Eo)throw new Error("bad secret key size")}c(HE,"checkBoxLengths");function Cr(){var m,E;for(E=0;E<arguments.length;E++)if((m=Object.prototype.toString.call(arguments[E]))!=="[object Uint8Array]")throw new TypeError("unexpected type "+m+", use Uint8Array")}c(Cr,"checkArrayTypes");function ld(m){for(var E=0;E<m.length;E++)m[E]=0}c(ld,"cleanup"),t.util||(t.util={},t.util.decodeUTF8=t.util.encodeUTF8=t.util.encodeBase64=t.util.decodeBase64=function(){throw new Error("nacl.util moved into separate package: https://github.com/dchest/tweetnacl-util-js")}),t.randomBytes=function(m){var E=new Uint8Array(m);return r(E,m),E},t.secretbox=function(m,E,y){Cr(m,E,y),ud(y,E);for(var f=new Uint8Array(Jn+m.length),x=new Uint8Array(f.length),N=0;N<m.length;N++)f[N+Jn]=m[N];return F(x,f,f.length,E,y),x.subarray(vi)},t.secretbox.open=function(m,E,y){Cr(m,E,y),ud(y,E);for(var f=new Uint8Array(vi+m.length),x=new Uint8Array(f.length),N=0;N<m.length;N++)f[N+vi]=m[N];return f.length<32||j(x,f,f.length,E,y)!==0?!1:x.subarray(Jn)},t.secretbox.keyLength=Br,t.secretbox.nonceLength=jt,t.secretbox.overheadLength=vi,t.scalarMult=function(m,E){if(Cr(m,E),m.length!==Us)throw new Error("bad n size");if(E.length!==_o)throw new Error("bad p size");var y=new Uint8Array(_o);return yr(y,m,E),y},t.scalarMult.base=function(m){if(Cr(m),m.length!==Us)throw new Error("bad n size");var E=new Uint8Array(_o);return Dr(E,m),E},t.scalarMult.scalarLength=Us,t.scalarMult.groupElementLength=_o,t.box=function(m,E,y,f){var x=t.box.before(y,f);return t.secretbox(m,E,x)},t.box.before=function(m,E){Cr(m,E),HE(m,E);var y=new Uint8Array(kc);return Ai(y,m,E),y},t.box.after=t.secretbox,t.box.open=function(m,E,y,f){var x=t.box.before(y,f);return t.secretbox.open(m,E,x)},t.box.open.after=t.secretbox.open,t.box.keyPair=function(){var m=new Uint8Array(yo),E=new Uint8Array(Eo);return vr(m,E),{publicKey:m,secretKey:E}},t.box.keyPair.fromSecretKey=function(m){if(Cr(m),m.length!==Eo)throw new Error("bad secret key size");var E=new Uint8Array(yo);return Dr(E,m),{publicKey:E,secretKey:new Uint8Array(m)}},t.box.publicKeyLength=yo,t.box.secretKeyLength=Eo,t.box.sharedKeyLength=kc,t.box.nonceLength=cd,t.box.overheadLength=t.secretbox.overheadLength,t.sign=function(m,E){if(Cr(m,E),E.length!==Si)throw new Error("bad secret key size");var y=new Uint8Array(ln+m.length);return ir(y,m,m.length,E),y},t.sign.open=function(m,E){if(arguments.length!==2)throw new Error("nacl.sign.open accepts 2 arguments; did you mean to use nacl.sign.detached.verify?");if(Cr(m,E),E.length!==ei)throw new Error("bad public key size");var y=new Uint8Array(m.length),f=Pt(y,m,m.length,E);if(f<0)return null;for(var x=new Uint8Array(f),N=0;N<x.length;N++)x[N]=y[N];return x},t.sign.detached=function(m,E){for(var y=t.sign(m,E),f=new Uint8Array(ln),x=0;x<f.length;x++)f[x]=y[x];return f},t.sign.detached.verify=function(m,E,y){if(Cr(m,E,y),E.length!==ln)throw new Error("bad signature size");if(y.length!==ei)throw new Error("bad public key size");var f=new Uint8Array(ln+m.length),x=new Uint8Array(ln+m.length),N;for(N=0;N<ln;N++)f[N]=E[N];for(N=0;N<m.length;N++)f[N+ln]=m[N];return Pt(x,f,f.length,y)>=0},t.sign.keyPair=function(){var m=new Uint8Array(ei),E=new Uint8Array(Si);return kr(m,E),{publicKey:m,secretKey:E}},t.sign.keyPair.fromSecretKey=function(m){if(Cr(m),m.length!==Si)throw new Error("bad secret key size");for(var E=new Uint8Array(ei),y=0;y<E.length;y++)E[y]=m[32+y];return{publicKey:E,secretKey:new Uint8Array(m)}},t.sign.keyPair.fromSeed=function(m){if(Cr(m),m.length!==Cc)throw new Error("bad seed size");for(var E=new Uint8Array(ei),y=new Uint8Array(Si),f=0;f<32;f++)y[f]=m[f];return kr(E,y,!0),{publicKey:E,secretKey:y}},t.sign.publicKeyLength=ei,t.sign.secretKeyLength=Si,t.sign.seedLength=Cc,t.sign.signatureLength=ln,t.hash=function(m){Cr(m);var E=new Uint8Array(Rc);return fe(E,m,m.length),E},t.hash.hashLength=Rc,t.verify=function(m,E){return Cr(m,E),m.length===0||E.length===0||m.length!==E.length?!1:_(m,0,E,0,m.length)===0},t.setPRNG=function(m){r=m},(function(){var m=typeof self<"u"?self.crypto||self.msCrypto:null;if(m&&m.getRandomValues){var E=65536;t.setPRNG(function(y,f){var x,N=new Uint8Array(f);for(x=0;x<f;x+=E)m.getRandomValues(N.subarray(x,x+Math.min(f-x,E)));for(x=0;x<f;x++)y[x]=N[x];ld(N)})}else typeof require<"u"&&(m=require("crypto"),m&&m.randomBytes&&t.setPRNG(function(y,f){var x,N=m.randomBytes(f);for(x=0;x<f;x++)y[x]=N[x];ld(N)}))})()})(typeof Ia<"u"&&Ia.exports?Ia.exports:self.nacl=self.nacl||{})});var zu=le((W3,fg)=>{"use strict";var Bu=lg().lowlevel.crypto_hash,yn=0,ai=c(function(){this.S=[new Uint32Array([3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946]),new Uint32Array([1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055]),new Uint32Array([3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504]),new Uint32Array([976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462])],this.P=new Uint32Array([608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731])},"Blowfish");function Sa(t,e,r){return(t[0][e[r+3]]+t[1][e[r+2]]^t[2][e[r+1]])+t[3][e[r]]}c(Sa,"F");ai.prototype.encipher=function(t,e){e===void 0&&(e=new Uint8Array(t.buffer),t.byteOffset!==0&&(e=e.subarray(t.byteOffset))),t[0]^=this.P[0];for(var r=1;r<16;r+=2)t[1]^=Sa(this.S,e,0)^this.P[r],t[0]^=Sa(this.S,e,4)^this.P[r+1];var n=t[0];t[0]=t[1]^this.P[17],t[1]=n};ai.prototype.decipher=function(t){var e=new Uint8Array(t.buffer);t.byteOffset!==0&&(e=e.subarray(t.byteOffset)),t[0]^=this.P[17];for(var r=16;r>0;r-=2)t[1]^=Sa(this.S,e,0)^this.P[r],t[0]^=Sa(this.S,e,4)^this.P[r-1];var n=t[0];t[0]=t[1]^this.P[0],t[1]=n};function si(t,e){var r,n=0;for(r=0;r<4;r++,yn++)yn>=e&&(yn=0),n=n<<8|t[yn];return n}c(si,"stream2word");ai.prototype.expand0state=function(t,e){var r=new Uint32Array(2),n,i,o=new Uint8Array(r.buffer);for(n=0,yn=0;n<18;n++)this.P[n]^=si(t,e);for(yn=0,n=0;n<18;n+=2)this.encipher(r,o),this.P[n]=r[0],this.P[n+1]=r[1];for(n=0;n<4;n++)for(i=0;i<256;i+=2)this.encipher(r,o),this.S[n][i]=r[0],this.S[n][i+1]=r[1]};ai.prototype.expandstate=function(t,e,r,n){var i=new Uint32Array(2),o,s;for(o=0,yn=0;o<18;o++)this.P[o]^=si(r,n);for(o=0,yn=0;o<18;o+=2)i[0]^=si(t,e),i[1]^=si(t,e),this.encipher(i),this.P[o]=i[0],this.P[o+1]=i[1];for(o=0;o<4;o++)for(s=0;s<256;s+=2)i[0]^=si(t,e),i[1]^=si(t,e),this.encipher(i),this.S[o][s]=i[0],this.S[o][s+1]=i[1];yn=0};ai.prototype.enc=function(t,e){for(var r=0;r<e;r++)this.encipher(t.subarray(r*2))};ai.prototype.dec=function(t,e){for(var r=0;r<e;r++)this.decipher(t.subarray(r*2))};var va=8,Uu=32;function Lu(t,e,r){var n=new ai,i=new Uint32Array(va),o,s=new Uint8Array([79,120,121,99,104,114,111,109,97,116,105,99,66,108,111,119,102,105,115,104,83,119,97,116,68,121,110,97,109,105,116,101]);for(n.expandstate(e,64,t,64),o=0;o<64;o++)n.expand0state(e,64),n.expand0state(t,64);for(o=0;o<va;o++)i[o]=si(s,s.byteLength);for(o=0;o<64;o++)n.enc(i,i.byteLength/8);for(o=0;o<va;o++)r[4*o+3]=i[o]>>>24,r[4*o+2]=i[o]>>>16,r[4*o+1]=i[o]>>>8,r[4*o+0]=i[o]}c(Lu,"bcrypt_hash");function Rx(t,e,r,n,i,o,s){var a=new Uint8Array(64),u=new Uint8Array(64),l=new Uint8Array(Uu),d=new Uint8Array(Uu),p=new Uint8Array(n+4),g,h,_,A,b,I,w=o;if(s<1||e===0||n===0||o===0||o>l.byteLength*l.byteLength||n>1<<20)return-1;for(A=Math.floor((o+l.byteLength-1)/l.byteLength),_=Math.floor((o+A-1)/A),g=0;g<n;g++)p[g]=r[g];for(Bu(a,t,e),I=1;o>0;I++){for(p[n+0]=I>>>24,p[n+1]=I>>>16,p[n+2]=I>>>8,p[n+3]=I,Bu(u,p,n+4),Lu(a,u,d),g=l.byteLength;g--;)l[g]=d[g];for(g=1;g<s;g++)for(Bu(u,d,d.byteLength),Lu(a,u,d),h=0;h<l.byteLength;h++)l[h]^=d[h];for(_=Math.min(_,o),g=0;g<_&&(b=g*A+(I-1),!(b>=w));g++)i[b]=l[g];o-=g}return 0}c(Rx,"bcrypt_pbkdf");fg.exports={BLOCKS:va,HASHSIZE:Uu,hash:Lu,pbkdf:Rx}});var An=le((Q3,Pa)=>{"use strict";var En=require("crypto"),Vi;try{Vi=require("cpu-features")()}catch{}var{bindingAvailable:dg,CIPHER_INFO:Nx,MAC_INFO:Ox}=zn(),pg=(()=>{if(typeof En.sign=="function"&&typeof En.verify=="function"){let t=`-----BEGIN PRIVATE KEY-----\r
5
+ Closing reason: ${this._closingError.stack}`,o.code=this._closingError.code!==void 0?this._closingError.code:"0",this._passToHandler(o);return}this.socket.setTimeout(this.timeout),e&&this.send(e)})}log(e){this.verbose&&console.log(e)}get hasTLS(){return"encrypted"in this._socket}_stopTrackingTask(){this.socket.setTimeout(0),this._task=void 0}_onControlSocketData(e){if(this.log(`< ${e}`),this._partialResponse.length+e.length>zb){this.closeWithError(new Error("FTP control response exceeded maximum allowed size"));return}let r=this._partialResponse+e,n=(0,Lb.parseControlResponse)(r);this._partialResponse=n.rest;for(let i of n.messages){let o=parseInt(i.substr(0,3),10),s={code:o,message:i},a=o>=400?new sa(s):void 0;this._passToHandler(a||s)}}_passToHandler(e){this._task&&this._task.responseHandler(e,this._task.resolver)}_setupDefaultErrorHandlers(e,r){e.once("error",n=>{n.message+=` (${r})`,this.closeWithError(n)}),e.once("close",n=>{n&&this.closeWithError(new Error(`Socket closed due to transmission error (${r})`))}),e.once("timeout",()=>{e.destroy(),this.closeWithError(new Error(`Timeout (${r})`))})}_closeControlSocket(){this._removeSocketListeners(this._socket),this._socket.on("error",Mh),this.send("QUIT"),this._closeSocket(this._socket)}_closeSocket(e){e&&(this._removeSocketListeners(e),e.on("error",Mh),e.destroy())}_removeSocketListeners(e){e.removeAllListeners(),e.removeAllListeners("timeout"),e.removeAllListeners("data"),e.removeAllListeners("end"),e.removeAllListeners("error"),e.removeAllListeners("close"),e.removeAllListeners("connect")}_newSocket(){return new Ub.Socket}};$i.FTPContext=yu});var Au=le(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.describeTLS=Mb;Di.describeAddress=Fb;Di.upgradeSocket=Hb;Di.ipIsPrivateV4Address=jb;var Fh=require("tls");function Mb(t){if(t instanceof Fh.TLSSocket){let e=t.getProtocol();return e||"Server socket or disconnected client socket"}return"No encryption"}c(Mb,"describeTLS");function Fb(t){return t.remoteFamily==="IPv6"?`[${t.remoteAddress}]:${t.remotePort}`:`${t.remoteAddress}:${t.remotePort}`}c(Fb,"describeAddress");function Hb(t,e){return new Promise((r,n)=>{let i=Object.assign({},e,{socket:t}),o=(0,Fh.connect)(i,()=>{i.rejectUnauthorized!==!1&&!o.authorized?n(o.authorizationError):(o.removeAllListeners("error"),r(o))}).once("error",s=>{n(s)})})}c(Hb,"upgradeSocket");function jb(t=""){t.startsWith("::ffff:")&&(t=t.substr(7));let e=t.split(".").map(r=>parseInt(r,10));return e[0]===10||e[0]===172&&e[1]>=16&&e[1]<=31||e[0]===192&&e[1]===168||t==="127.0.0.1"}c(jb,"ipIsPrivateV4Address")});var Fo=le(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.FileInfo=Ui.FileType=void 0;var Bi;(function(t){t[t.Unknown=0]="Unknown",t[t.File=1]="File",t[t.Directory=2]="Directory",t[t.SymbolicLink=3]="SymbolicLink"})(Bi||(Ui.FileType=Bi={}));var aa=class{static{c(this,"FileInfo")}constructor(e){this.name=e,this.type=Bi.Unknown,this.size=0,this.rawModifiedAt="",this.modifiedAt=void 0,this.permissions=void 0,this.hardLinkCount=void 0,this.link=void 0,this.group=void 0,this.user=void 0,this.uniqueID=void 0,this.name=e}get isDirectory(){return this.type===Bi.Directory}get isSymbolicLink(){return this.type===Bi.SymbolicLink}get isFile(){return this.type===Bi.File}get date(){return this.rawModifiedAt}set date(e){this.rawModifiedAt=e}};Ui.FileInfo=aa;aa.UnixPermission={Read:4,Write:2,Execute:1}});var jh=le(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.testLine=Wb;Ho.parseLine=qb;Ho.transformList=Qb;var bu=Fo(),Hh=new RegExp("(\\S+)\\s+(\\S+)\\s+(?:(<DIR>)|([0-9]+))\\s+(\\S.*)");function Wb(t){return/^\d{2}/.test(t)&&Hh.test(t)}c(Wb,"testLine");function qb(t){let e=t.match(Hh);if(e===null)return;let r=e[5];if(r==="."||r==="..")return;let n=new bu.FileInfo(r);return e[3]==="<DIR>"?(n.type=bu.FileType.Directory,n.size=0):(n.type=bu.FileType.File,n.size=parseInt(e[4],10)),n.rawModifiedAt=e[1]+" "+e[2],n}c(qb,"parseLine");function Qb(t){return t}c(Qb,"transformList")});var qh=le(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.testLine=Zb;jo.parseLine=Yb;jo.transformList=Xb;var tn=Fo(),Vb="\u6708",Kb="\u65E5",Gb="\u5E74",Wh=new RegExp("([bcdelfmpSs-])(((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]?)))\\+?\\s*(\\d+)\\s+(?:(\\S+(?:\\s\\S+)*?)\\s+)?(?:(\\S+(?:\\s\\S+)*)\\s+)?(\\d+(?:,\\s*\\d+)?)\\s+((?:\\d+[-/]\\d+[-/]\\d+)|(?:\\S{3}\\s+\\d{1,2})|(?:\\d{1,2}\\s+\\S{3})|(?:\\d{1,2}"+Vb+"\\s+\\d{1,2}"+Kb+"))\\s+((?:\\d+(?::\\d+)?)|(?:\\d{4}"+Gb+"))\\s(.*)");function Zb(t){return Wh.test(t)}c(Zb,"testLine");function Yb(t){let e=t.match(Wh);if(e===null)return;let r=e[21];if(r==="."||r==="..")return;let n=new tn.FileInfo(r);switch(n.size=parseInt(e[18],10),n.user=e[16],n.group=e[17],n.hardLinkCount=parseInt(e[15],10),n.rawModifiedAt=e[19]+" "+e[20],n.permissions={user:xu(e[4],e[5],e[6]),group:xu(e[8],e[9],e[10]),world:xu(e[12],e[13],e[14])},e[1].charAt(0)){case"d":n.type=tn.FileType.Directory;break;case"e":n.type=tn.FileType.SymbolicLink;break;case"l":n.type=tn.FileType.SymbolicLink;break;case"b":case"c":n.type=tn.FileType.File;break;case"f":case"-":n.type=tn.FileType.File;break;default:n.type=tn.FileType.Unknown}if(n.isSymbolicLink){let i=r.indexOf(" -> ");i!==-1&&(n.name=r.substring(0,i),n.link=r.substring(i+4))}return n}c(Yb,"parseLine");function Xb(t){return t}c(Xb,"transformList");function xu(t,e,r){let n=0;t!=="-"&&(n+=tn.FileInfo.UnixPermission.Read),e!=="-"&&(n+=tn.FileInfo.UnixPermission.Write);let i=r.charAt(0);return i!=="-"&&i.toUpperCase()!==i&&(n+=tn.FileInfo.UnixPermission.Execute),n}c(xu,"parseMode")});var Iu=le(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.testLine=ex;zi.parseLine=tx;zi.transformList=rx;zi.parseMLSxDate=Kh;var Li=Fo();function Qh(t,e){e.size=parseInt(t,10)}c(Qh,"parseSize");var Jb={size:Qh,sizd:Qh,unique:c((t,e)=>{e.uniqueID=t},"unique"),modify:c((t,e)=>{e.modifiedAt=Kh(t),e.rawModifiedAt=e.modifiedAt.toISOString()},"modify"),type:c((t,e)=>{if(t.startsWith("OS.unix=slink"))return e.type=Li.FileType.SymbolicLink,e.link=t.substr(t.indexOf(":")+1),1;switch(t){case"file":e.type=Li.FileType.File;break;case"dir":e.type=Li.FileType.Directory;break;case"OS.unix=symlink":e.type=Li.FileType.SymbolicLink;break;case"cdir":case"pdir":return 2;default:e.type=Li.FileType.Unknown}return 1},"type"),"unix.mode":c((t,e)=>{let r=t.substr(-3);e.permissions={user:parseInt(r[0],10),group:parseInt(r[1],10),world:parseInt(r[2],10)}},"unix.mode"),"unix.ownername":c((t,e)=>{e.user=t},"unix.ownername"),"unix.owner":c((t,e)=>{e.user===void 0&&(e.user=t)},"unix.owner"),get"unix.uid"(){return this["unix.owner"]},"unix.groupname":c((t,e)=>{e.group=t},"unix.groupname"),"unix.group":c((t,e)=>{e.group===void 0&&(e.group=t)},"unix.group"),get"unix.gid"(){return this["unix.group"]}};function Vh(t,e){let r=t.indexOf(e),n=t.substr(0,r),i=t.substr(r+e.length);return[n,i]}c(Vh,"splitStringOnce");function ex(t){return/^\S+=\S+;/.test(t)||t.startsWith(" ")}c(ex,"testLine");function tx(t){let[e,r]=Vh(t," ");if(r===""||r==="."||r==="..")return;let n=new Li.FileInfo(r),i=e.split(";");for(let o of i){let[s,a]=Vh(o,"=");if(!a)continue;let u=Jb[s.toLowerCase()];if(!u)continue;if(u(a,n)===2)return}return n}c(tx,"parseLine");function rx(t){let e=new Map;for(let n of t)!n.isSymbolicLink&&n.uniqueID!==void 0&&e.set(n.uniqueID,n);let r=[];for(let n of t){if(n.isSymbolicLink&&n.uniqueID!==void 0&&n.link===void 0){let o=e.get(n.uniqueID);o!==void 0&&(n.link=o.name)}!n.name.includes("/")&&r.push(n)}return r}c(rx,"transformList");function Kh(t){return new Date(Date.UTC(+t.slice(0,4),+t.slice(4,6)-1,+t.slice(6,8),+t.slice(8,10),+t.slice(10,12),+t.slice(12,14),+t.slice(15,18)))}c(Kh,"parseMLSxDate")});var Su=le(_n=>{"use strict";var nx=_n&&_n.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:c(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),ix=_n&&_n.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),vu=_n&&_n.__importStar||(function(){var t=c(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[n.length]=i);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),i=0;i<n.length;i++)n[i]!=="default"&&nx(r,e,n[i]);return ix(r,e),r}})();Object.defineProperty(_n,"__esModule",{value:!0});_n.parseList=px;var ox=vu(jh()),sx=vu(qh()),ax=vu(Iu()),cx=[ox,sx,ax];function ux(t,e){return e.find(r=>r.testLine(t)===!0)}c(ux,"firstCompatibleParser");function lx(t){return t.trim()!==""}c(lx,"isNotBlank");function fx(t){return!t.startsWith("total")}c(fx,"isNotMeta");var dx=/\r?\n/;function px(t){let e=t.split(dx).filter(lx).filter(fx);if(e.length===0)return[];let r=e[e.length-1],n=ux(r,cx);if(!n)throw new Error("This library only supports MLSD, Unix- or DOS-style directory listing. Your FTP server seems to be using another format. You can see the transmitted listing when setting `client.ftp.verbose = true`. You can then provide a custom parser to `client.parseList`, see the documentation for details.");let i=e.map(n.parseLine).filter(o=>o!==void 0);return n.transformList(i)}c(px,"parseList")});var Gh=le(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.ProgressTracker=void 0;var wu=class{static{c(this,"ProgressTracker")}constructor(){this.bytesOverall=0,this.intervalMs=500,this.onStop=ca,this.onHandle=ca}reportTo(e=ca){this.onHandle=e}start(e,r,n){let i=0;this.onStop=hx(this.intervalMs,()=>{let o=e.bytesRead+e.bytesWritten;this.bytesOverall+=o-i,i=o,this.onHandle({name:r,type:n,bytes:o,bytesOverall:this.bytesOverall})})}stop(){this.onStop(!1)}updateAndStop(){this.onStop(!0)}};ua.ProgressTracker=wu;function hx(t,e){let r=setInterval(e,t),n=c(i=>{clearInterval(r),i&&e(),e=ca},"stopFunc");return e(),n}c(hx,"poll");function ca(){}c(ca,"noop")});var Zh=le(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.StringWriter=void 0;var gx=require("stream"),Pu=class extends gx.Writable{static{c(this,"StringWriter")}constructor(e=1*1024*1024){super(),this.maxByteLength=e,this.byteLength=0,this.bufs=[]}_write(e,r,n){if(!(e instanceof Buffer)){n(new Error("StringWriter: expects chunks of type 'Buffer'."));return}if(this.byteLength+e.byteLength>this.maxByteLength){n(new Error(`StringWriter: Maximum bytes exceeded, maxByteLength=${this.maxByteLength}.`));return}this.byteLength+=e.byteLength,this.bufs.push(e),n(null)}getText(e){return Buffer.concat(this.bufs).toString(e)}};la.StringWriter=Pu});var Cu=le(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.enterPassiveModeIPv6=mx;rn.parseEpsvResponse=Jh;rn.enterPassiveModeIPv4=_x;rn.enterPassiveModeIPv4_forceControlHostIP=yx;rn.parsePasvResponse=Tu;rn.connectForPassiveTransfer=pa;rn.uploadFrom=Ex;rn.downloadTo=Ax;var Mi=Au(),Xh=require("stream"),Yh=require("tls"),fa=oa();async function mx(t){let e=await t.request("EPSV"),r=Jh(e.message);if(!r)throw new Error("Can't parse EPSV response: "+e.message);let n=t.socket.remoteAddress;if(n===void 0)throw new Error("Control socket is disconnected, can't get remote address.");return await pa(n,r,t),e}c(mx,"enterPassiveModeIPv6");function Jh(t){let e=t.match(/[|!]{3}(.+)[|!]/);if(e===null||e[1]===void 0)throw new Error(`Can't parse response to 'EPSV': ${t}`);let r=parseInt(e[1],10);if(Number.isNaN(r))throw new Error(`Can't parse response to 'EPSV', port is not a number: ${t}`);return r}c(Jh,"parseEpsvResponse");async function _x(t){let e=await t.request("PASV"),r=Tu(e.message);if(!r)throw new Error("Can't parse PASV response: "+e.message);let n=t.socket.remoteAddress;return(0,Mi.ipIsPrivateV4Address)(r.host)&&n&&!(0,Mi.ipIsPrivateV4Address)(n)&&(r.host=n),await pa(r.host,r.port,t),e}c(_x,"enterPassiveModeIPv4");async function yx(t){let e=await t.request("PASV"),r=Tu(e.message);if(!r)throw new Error("Can't parse PASV response: "+e.message);let n=t.socket.remoteAddress;if(n===void 0)throw new Error("Control socket is disconnected, can't get remote address.");return await pa(n,r.port,t),e}c(yx,"enterPassiveModeIPv4_forceControlHostIP");function Tu(t){let e=t.match(/([-\d]+,[-\d]+,[-\d]+,[-\d]+),([-\d]+),([-\d]+)/);if(e===null||e.length!==4)throw new Error(`Can't parse response to 'PASV': ${t}`);return{host:e[1].replace(/,/g,"."),port:(parseInt(e[2],10)&255)*256+(parseInt(e[3],10)&255)}}c(Tu,"parsePasvResponse");function pa(t,e,r){return new Promise((n,i)=>{let o=r._newSocket(),s=c(function(u){u.message="Can't open data connection in passive mode: "+u.message,i(u)},"handleConnErr"),a=c(function(){o.destroy(),i(new Error(`Timeout when trying to open data connection to ${t}:${e}`))},"handleTimeout");o.setTimeout(r.timeout),o.on("error",s),o.on("timeout",a),o.connect({port:e,host:t,family:r.ipFamily},()=>{r.socket instanceof Yh.TLSSocket&&(o=(0,Yh.connect)(Object.assign({},r.tlsOptions,{socket:o,session:r.socket.getSession()}))),o.removeListener("error",s),o.removeListener("timeout",a),r.dataSocket=o,n()})})}c(pa,"connectForPassiveTransfer");var da=class{static{c(this,"TransferResolver")}constructor(e,r){this.ftp=e,this.progress=r,this.response=void 0,this.dataTransferDone=!1}onDataStart(e,r){if(this.ftp.dataSocket===void 0)throw new Error("Data transfer should start but there is no data connection.");this.ftp.socket.setTimeout(0),this.ftp.dataSocket.setTimeout(this.ftp.timeout),this.progress.start(this.ftp.dataSocket,e,r)}onDataDone(e){this.progress.updateAndStop(),this.ftp.socket.setTimeout(this.ftp.timeout),this.ftp.dataSocket&&this.ftp.dataSocket.setTimeout(0),this.dataTransferDone=!0,this.tryResolve(e)}onControlDone(e,r){this.response=r,this.tryResolve(e)}onError(e,r){this.progress.updateAndStop(),this.ftp.socket.setTimeout(this.ftp.timeout),this.ftp.dataSocket=void 0,e.reject(r)}onUnexpectedRequest(e){let r=new Error(`Unexpected FTP response is requesting an answer: ${e.message}`);this.ftp.closeWithError(r)}tryResolve(e){this.dataTransferDone&&this.response!==void 0&&(this.ftp.dataSocket=void 0,e.resolve(this.response))}};function Ex(t,e){let r=new da(e.ftp,e.tracker),n=`${e.command} ${e.remotePath}`;return e.ftp.handle(n,(i,o)=>{if(i instanceof Error)r.onError(o,i);else if(i.code===150||i.code===125){let s=e.ftp.dataSocket;if(!s){r.onError(o,new Error("Upload should begin but no data connection is available."));return}let a="getCipher"in s?s.getCipher()!==void 0:!0;bx(a,s,"secureConnect",()=>{e.ftp.log(`Uploading to ${(0,Mi.describeAddress)(s)} (${(0,Mi.describeTLS)(s)})`),r.onDataStart(e.remotePath,e.type),(0,Xh.pipeline)(t,s,u=>{u?r.onError(o,u):r.onDataDone(o)})})}else(0,fa.positiveCompletion)(i.code)?r.onControlDone(o,i):(0,fa.positiveIntermediate)(i.code)&&r.onUnexpectedRequest(i)})}c(Ex,"uploadFrom");function Ax(t,e){if(!e.ftp.dataSocket)throw new Error("Download will be initiated but no data connection is available.");let r=new da(e.ftp,e.tracker);return e.ftp.handle(e.command,(n,i)=>{if(n instanceof Error)r.onError(i,n);else if(n.code===150||n.code===125){let o=e.ftp.dataSocket;if(!o){r.onError(i,new Error("Download should begin but no data connection is available."));return}e.ftp.log(`Downloading from ${(0,Mi.describeAddress)(o)} (${(0,Mi.describeTLS)(o)})`),r.onDataStart(e.remotePath,e.type),(0,Xh.pipeline)(o,t,s=>{s?r.onError(i,s):r.onDataDone(i)})}else n.code===350?e.ftp.send("RETR "+e.remotePath):(0,fa.positiveCompletion)(n.code)?r.onControlDone(i,n):(0,fa.positiveIntermediate)(n.code)&&r.onUnexpectedRequest(n)})}c(Ax,"downloadTo");function bx(t,e,r,n){t===!0?n():e.once(r,()=>n())}c(bx,"onConditionOrEvent")});var ig=le(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.Client=void 0;var Bn=require("fs"),ku=require("path"),xx=require("tls"),Hi=require("util"),Wo=Eu(),oi=Au(),Ru=oa(),Ix=Su(),vx=Iu(),Sx=Gh(),wx=Zh(),Fi=Cu(),Px=(0,Hi.promisify)(Bn.readdir),Tx=(0,Hi.promisify)(Bn.mkdir),Nu=(0,Hi.promisify)(Bn.stat),eg=(0,Hi.promisify)(Bn.open),tg=(0,Hi.promisify)(Bn.close),Cx=(0,Hi.promisify)(Bn.unlink),rg={allowSeparateTransferHost:!0,maxListingBytes:40*1024*1024},ng=c(()=>["LIST -a","LIST"],"LIST_COMMANDS_DEFAULT"),kx=c(()=>["MLSD","LIST -a","LIST"],"LIST_COMMANDS_MLSD"),Ou=class{static{c(this,"Client")}constructor(e=3e4,r=rg){this.availableListCommands=ng();let n={...rg,...r};this.ftp=new Wo.FTPContext(e),this.prepareTransfer=this._enterFirstCompatibleMode([Fi.enterPassiveModeIPv6,n.allowSeparateTransferHost?Fi.enterPassiveModeIPv4:Fi.enterPassiveModeIPv4_forceControlHostIP]),this.options=n,this.parseList=Ix.parseList,this._progressTracker=new Sx.ProgressTracker}close(){this.ftp.close(),this._progressTracker.stop()}get closed(){return this.ftp.closed}connect(e="localhost",r=21){return this.ftp.reset(),this.ftp.socket.connect({host:e,port:r,family:this.ftp.ipFamily},()=>this.ftp.log(`Connected to ${(0,oi.describeAddress)(this.ftp.socket)} (${(0,oi.describeTLS)(this.ftp.socket)})`)),this._handleConnectResponse()}connectImplicitTLS(e="localhost",r=21,n={}){return this.ftp.reset(),this.ftp.socket=(0,xx.connect)(r,e,n,()=>this.ftp.log(`Connected to ${(0,oi.describeAddress)(this.ftp.socket)} (${(0,oi.describeTLS)(this.ftp.socket)})`)),this.ftp.tlsOptions=n,this._handleConnectResponse()}_handleConnectResponse(){return this.ftp.handle(void 0,(e,r)=>{e instanceof Error?r.reject(e):(0,Ru.positiveCompletion)(e.code)?r.resolve(e):r.reject(new Wo.FTPError(e))})}send(e,r=!1){return r?(this.ftp.log("Deprecated call using send(command, flag) with boolean flag to ignore errors. Use sendIgnoringError(command)."),this.sendIgnoringError(e)):this.ftp.request(e)}sendIgnoringError(e){return this.ftp.handle(e,(r,n)=>{r instanceof Wo.FTPError?n.resolve({code:r.code,message:r.message}):r instanceof Error?n.reject(r):n.resolve(r)})}async useTLS(e={},r="AUTH TLS"){let n=await this.send(r);return this.ftp.socket=await(0,oi.upgradeSocket)(this.ftp.socket,e),this.ftp.tlsOptions=e,this.ftp.log(`Control socket is using: ${(0,oi.describeTLS)(this.ftp.socket)}`),n}login(e="anonymous",r="guest"){return this.ftp.log(`Login security: ${(0,oi.describeTLS)(this.ftp.socket)}`),this.ftp.handle("USER "+e,(n,i)=>{n instanceof Error?i.reject(n):(0,Ru.positiveCompletion)(n.code)?i.resolve(n):n.code===331?this.ftp.send("PASS "+r):i.reject(new Wo.FTPError(n))})}async useDefaultSettings(){let r=(await this.features()).has("MLST");this.availableListCommands=r?kx():ng(),await this.send("TYPE I"),await this.sendIgnoringError("STRU F"),await this.sendIgnoringError("OPTS UTF8 ON"),r&&await this.sendIgnoringError("OPTS MLST type;size;modify;unique;unix.mode;unix.owner;unix.group;unix.ownername;unix.groupname;"),this.ftp.hasTLS&&(await this.sendIgnoringError("PBSZ 0"),await this.sendIgnoringError("PROT P"))}async access(e={}){var r,n;let i=e.secure===!0,o=e.secure==="implicit",s;if(o?s=await this.connectImplicitTLS(e.host,e.port,e.secureOptions):s=await this.connect(e.host,e.port),i){let a=(r=e.secureOptions)!==null&&r!==void 0?r:{};a.host=(n=a.host)!==null&&n!==void 0?n:e.host,await this.useTLS(a)}return await this.sendIgnoringError("OPTS UTF8 ON"),await this.login(e.user,e.password),await this.useDefaultSettings(),s}async pwd(){let e=await this.send("PWD"),r=e.message.match(/"(.+)"/);if(r===null||r[1]===void 0)throw new Error(`Can't parse response to command 'PWD': ${e.message}`);return r[1]}async features(){let e=await this.sendIgnoringError("FEAT"),r=new Map;return e.code<400&&(0,Ru.isMultiline)(e.message)&&e.message.split(`
6
+ `).slice(1,-1).forEach(n=>{let i=n.trim().split(" ");r.set(i[0],i[1]||"")}),r}async cd(e){let r=await this.protectWhitespace(e);return this.send("CWD "+r)}async cdup(){return this.send("CDUP")}async lastMod(e){let r=await this.protectWhitespace(e),i=(await this.send(`MDTM ${r}`)).message.slice(4);return(0,vx.parseMLSxDate)(i)}async size(e){let n=`SIZE ${await this.protectWhitespace(e)}`,i=await this.send(n),o=parseInt(i.message.slice(4),10);if(Number.isNaN(o))throw new Error(`Can't parse response to command '${n}' as a numerical value: ${i.message}`);return o}async rename(e,r){let n=await this.protectWhitespace(e),i=await this.protectWhitespace(r);return await this.send("RNFR "+n),this.send("RNTO "+i)}async remove(e,r=!1){let n=await this.protectWhitespace(e);return r?this.sendIgnoringError(`DELE ${n}`):this.send(`DELE ${n}`)}trackProgress(e){this._progressTracker.bytesOverall=0,this._progressTracker.reportTo(e)}async uploadFrom(e,r,n={}){return this._uploadWithCommand(e,r,"STOR",n)}async appendFrom(e,r,n={}){return this._uploadWithCommand(e,r,"APPE",n)}async _uploadWithCommand(e,r,n,i){return typeof e=="string"?this._uploadLocalFile(e,r,n,i):this._uploadFromStream(e,r,n)}async _uploadLocalFile(e,r,n,i){let o=await eg(e,"r"),s=(0,Bn.createReadStream)("",{fd:o,start:i.localStart,end:i.localEndInclusive,autoClose:!1});try{return await this._uploadFromStream(s,r,n)}finally{await qo(()=>tg(o))}}async _uploadFromStream(e,r,n){let i=c(o=>this.ftp.closeWithError(o),"onError");e.once("error",i);try{let o=await this.protectWhitespace(r);return await this.prepareTransfer(this.ftp),await(0,Fi.uploadFrom)(e,{ftp:this.ftp,tracker:this._progressTracker,command:n,remotePath:o,type:"upload"})}finally{e.removeListener("error",i)}}async downloadTo(e,r,n=0){return typeof e=="string"?this._downloadToFile(e,r,n):this._downloadToStream(e,r,n)}async _downloadToFile(e,r,n){let i=n>0,s=await eg(e,i?"r+":"w"),a=(0,Bn.createWriteStream)("",{fd:s,start:n,autoClose:!1});try{return await this._downloadToStream(a,r,n)}catch(u){let l=await qo(()=>Nu(e)),d=l&&l.size>0;throw!i&&!d&&await qo(()=>Cx(e)),u}finally{await qo(()=>tg(s))}}async _downloadToStream(e,r,n){let i=c(o=>this.ftp.closeWithError(o),"onError");e.once("error",i);try{let o=await this.protectWhitespace(r);return await this.prepareTransfer(this.ftp),await(0,Fi.downloadTo)(e,{ftp:this.ftp,tracker:this._progressTracker,command:n>0?`REST ${n}`:`RETR ${o}`,remotePath:o,type:"download"})}finally{e.removeListener("error",i),e.end()}}async list(e=""){let r=await this.protectWhitespace(e),n;for(let i of this.availableListCommands){let o=r===""?i:`${i} ${r}`;await this.prepareTransfer(this.ftp);try{let s=await this._requestListWithCommand(o);return this.availableListCommands=[i],s}catch(s){if(!(s instanceof Wo.FTPError))throw s;n=s}}throw n}async _requestListWithCommand(e){let r=new wx.StringWriter(this.options.maxListingBytes);await(0,Fi.downloadTo)(r,{ftp:this.ftp,tracker:this._progressTracker,command:e,remotePath:"",type:"list"});let n=r.getText(this.ftp.encoding);return this.ftp.log(n),this.parseList(n)}async removeDir(e){return this._exitAtCurrentDirectory(async()=>{await this.cd(e);let r=await this.pwd();await this.clearWorkingDir(),r==="/"||(await this.cdup(),await this.removeEmptyDir(r))})}async clearWorkingDir(){for(let e of await this.list())e.isDirectory?(await this.cd(e.name),await this.clearWorkingDir(),await this.cdup(),await this.removeEmptyDir(e.name)):await this.remove(e.name)}async uploadFromDir(e,r){return this._exitAtCurrentDirectory(async()=>(r&&await this.ensureDir(r),await this._uploadToWorkingDir(e)))}async _uploadToWorkingDir(e){let r=await Px(e);for(let n of r){let i=(0,ku.join)(e,n),o=await Nu(i);o.isFile()?await this.uploadFrom(i,n):o.isDirectory()&&(await this._openDir(n),await this._uploadToWorkingDir(i),await this.cdup())}}async downloadToDir(e,r){return this._exitAtCurrentDirectory(async()=>(r&&await this.cd(r),await this._downloadFromWorkingDir(e)))}async _downloadFromWorkingDir(e){await Rx(e);for(let r of await this.list()){if(!r.name||(0,ku.basename)(r.name)!==r.name){let o=JSON.stringify(r.name);this.ftp.log(`Invalid filename from server listing, will skip file. (${o})`);continue}let i=(0,ku.join)(e,r.name);r.isDirectory?(await this.cd(r.name),await this._downloadFromWorkingDir(i),await this.cdup()):r.isFile&&await this.downloadTo(i,r.name)}}async ensureDir(e){e.startsWith("/")&&await this.cd("/");let r=e.split("/").filter(n=>n!=="");for(let n of r)await this._openDir(n)}async _openDir(e){await this.sendIgnoringError("MKD "+e),await this.cd(e)}async removeEmptyDir(e){let r=await this.protectWhitespace(e);return this.send(`RMD ${r}`)}async protectWhitespace(e){if(!e.startsWith(" "))return e;let r=await this.pwd();return(r.endsWith("/")?r:r+"/")+e}async _exitAtCurrentDirectory(e){let r=await this.pwd();try{return await e()}finally{this.closed||await qo(()=>this.cd(r))}}_enterFirstCompatibleMode(e){return async r=>{r.log("Trying to find optimal transfer strategy...");let n;for(let i of e)try{let o=await i(r);return r.log("Optimal transfer strategy found."),this.prepareTransfer=i,o}catch(o){n=o}throw new Error(`None of the available transfer strategies work. Last error response was '${n}'.`)}}async upload(e,r,n={}){return this.ftp.log("Warning: upload() has been deprecated, use uploadFrom()."),this.uploadFrom(e,r,n)}async append(e,r,n={}){return this.ftp.log("Warning: append() has been deprecated, use appendFrom()."),this.appendFrom(e,r,n)}async download(e,r,n=0){return this.ftp.log("Warning: download() has been deprecated, use downloadTo()."),this.downloadTo(e,r,n)}async uploadDir(e,r){return this.ftp.log("Warning: uploadDir() has been deprecated, use uploadFromDir()."),this.uploadFromDir(e,r)}async downloadDir(e){return this.ftp.log("Warning: downloadDir() has been deprecated, use downloadToDir()."),this.downloadToDir(e)}};ha.Client=Ou;async function Rx(t){try{await Nu(t)}catch{await Tx(t,{recursive:!0})}}c(Rx,"ensureLocalDirectory");async function qo(t){try{return await t()}catch{return}}c(qo,"ignoreError")});var sg=le(og=>{"use strict";Object.defineProperty(og,"__esModule",{value:!0})});var nn=le(br=>{"use strict";var Nx=br&&br.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:c(function(){return e[r]},"get")}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Qo=br&&br.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Nx(e,t,r)};Object.defineProperty(br,"__esModule",{value:!0});br.enterPassiveModeIPv6=br.enterPassiveModeIPv4=void 0;Qo(ig(),br);Qo(Eu(),br);Qo(Fo(),br);Qo(Su(),br);Qo(sg(),br);var ag=Cu();Object.defineProperty(br,"enterPassiveModeIPv4",{enumerable:!0,get:c(function(){return ag.enterPassiveModeIPv4},"get")});Object.defineProperty(br,"enterPassiveModeIPv6",{enumerable:!0,get:c(function(){return ag.enterPassiveModeIPv6},"get")})});var ga=le((rF,cg)=>{cg.exports={newInvalidAsn1Error:c(function(t){var e=new Error;return e.name="InvalidAsn1Error",e.message=t||"",e},"newInvalidAsn1Error")}});var ma=le((iF,ug)=>{ug.exports={EOC:0,Boolean:1,Integer:2,BitString:3,OctetString:4,Null:5,OID:6,ObjectDescriptor:7,External:8,Real:9,Enumeration:10,PDV:11,Utf8String:12,RelativeOID:13,Sequence:16,Set:17,NumericString:18,PrintableString:19,T61String:20,VideotexString:21,IA5String:22,UTCTime:23,GeneralizedTime:24,GraphicString:25,VisibleString:26,GeneralString:28,UniversalString:29,CharacterString:30,BMPString:31,Constructor:32,Context:128}});var $u=le((oF,lg)=>{"use strict";var _a=require("buffer"),ji=_a.Buffer,Lr={},zr;for(zr in _a)_a.hasOwnProperty(zr)&&(zr==="SlowBuffer"||zr==="Buffer"||(Lr[zr]=_a[zr]));var Wi=Lr.Buffer={};for(zr in ji)ji.hasOwnProperty(zr)&&(zr==="allocUnsafe"||zr==="allocUnsafeSlow"||(Wi[zr]=ji[zr]));Lr.Buffer.prototype=ji.prototype;(!Wi.from||Wi.from===Uint8Array.from)&&(Wi.from=function(t,e,r){if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&typeof t.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return ji(t,e,r)});Wi.alloc||(Wi.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=ji(t);return!e||e.length===0?n.fill(0):typeof r=="string"?n.fill(e,r):n.fill(e),n});if(!Lr.kStringMaxLength)try{Lr.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}Lr.constants||(Lr.constants={MAX_LENGTH:Lr.kMaxLength},Lr.kStringMaxLength&&(Lr.constants.MAX_STRING_LENGTH=Lr.kStringMaxLength));lg.exports=Lr});var pg=le((sF,dg)=>{var Ox=require("assert"),fg=$u().Buffer,Vo=ma(),$x=ga(),qi=$x.newInvalidAsn1Error;function xr(t){if(!t||!fg.isBuffer(t))throw new TypeError("data must be a node Buffer");this._buf=t,this._size=t.length,this._len=0,this._offset=0}c(xr,"Reader");Object.defineProperty(xr.prototype,"length",{enumerable:!0,get:c(function(){return this._len},"get")});Object.defineProperty(xr.prototype,"offset",{enumerable:!0,get:c(function(){return this._offset},"get")});Object.defineProperty(xr.prototype,"remain",{get:c(function(){return this._size-this._offset},"get")});Object.defineProperty(xr.prototype,"buffer",{get:c(function(){return this._buf.slice(this._offset)},"get")});xr.prototype.readByte=function(t){if(this._size-this._offset<1)return null;var e=this._buf[this._offset]&255;return t||(this._offset+=1),e};xr.prototype.peek=function(){return this.readByte(!0)};xr.prototype.readLength=function(t){if(t===void 0&&(t=this._offset),t>=this._size)return null;var e=this._buf[t++]&255;if(e===null)return null;if((e&128)===128){if(e&=127,e===0)throw qi("Indefinite length not supported");if(e>4)throw qi("encoding too long");if(this._size-t<e)return null;this._len=0;for(var r=0;r<e;r++)this._len=(this._len<<8)+(this._buf[t++]&255)}else this._len=e;return t};xr.prototype.readSequence=function(t){var e=this.peek();if(e===null)return null;if(t!==void 0&&t!==e)throw qi("Expected 0x"+t.toString(16)+": got 0x"+e.toString(16));var r=this.readLength(this._offset+1);return r===null?null:(this._offset=r,e)};xr.prototype.readInt=function(){return this._readTag(Vo.Integer)};xr.prototype.readBoolean=function(){return this._readTag(Vo.Boolean)!==0};xr.prototype.readEnumeration=function(){return this._readTag(Vo.Enumeration)};xr.prototype.readString=function(t,e){t||(t=Vo.OctetString);var r=this.peek();if(r===null)return null;if(r!==t)throw qi("Expected 0x"+t.toString(16)+": got 0x"+r.toString(16));var n=this.readLength(this._offset+1);if(n===null||this.length>this._size-n)return null;if(this._offset=n,this.length===0)return e?fg.alloc(0):"";var i=this._buf.slice(this._offset,this._offset+this.length);return this._offset+=this.length,e?i:i.toString("utf8")};xr.prototype.readOID=function(t){t||(t=Vo.OID);var e=this.readString(t,!0);if(e===null)return null;for(var r=[],n=0,i=0;i<e.length;i++){var o=e[i]&255;n<<=7,n+=o&127,(o&128)===0&&(r.push(n),n=0)}return n=r.shift(),r.unshift(n%40),r.unshift(n/40>>0),r.join(".")};xr.prototype._readTag=function(t){Ox.ok(t!==void 0);var e=this.peek();if(e===null)return null;if(e!==t)throw qi("Expected 0x"+t.toString(16)+": got 0x"+e.toString(16));var r=this.readLength(this._offset+1);if(r===null)return null;if(this.length>4)throw qi("Integer too long: "+this.length);if(this.length>this._size-r)return null;this._offset=r;for(var n=this._buf[this._offset],i=0,o=0;o<this.length;o++)i<<=8,i|=this._buf[this._offset++]&255;return(n&128)===128&&o!==4&&(i-=1<<o*8),i>>0};dg.exports=xr});var gg=le((cF,hg)=>{var Un=require("assert"),ya=$u().Buffer,Ln=ma(),Dx=ga(),Ea=Dx.newInvalidAsn1Error,Bx={size:1024,growthFactor:8};function Ux(t,e){Un.ok(t),Un.equal(typeof t,"object"),Un.ok(e),Un.equal(typeof e,"object");var r=Object.getOwnPropertyNames(t);return r.forEach(function(n){if(!e[n]){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i)}}),e}c(Ux,"merge");function _r(t){t=Ux(Bx,t||{}),this._buf=ya.alloc(t.size||1024),this._size=this._buf.length,this._offset=0,this._options=t,this._seq=[]}c(_r,"Writer");Object.defineProperty(_r.prototype,"buffer",{get:c(function(){if(this._seq.length)throw Ea(this._seq.length+" unended sequence(s)");return this._buf.slice(0,this._offset)},"get")});_r.prototype.writeByte=function(t){if(typeof t!="number")throw new TypeError("argument must be a Number");this._ensure(1),this._buf[this._offset++]=t};_r.prototype.writeInt=function(t,e){if(typeof t!="number")throw new TypeError("argument must be a Number");typeof e!="number"&&(e=Ln.Integer);for(var r=4;((t&4286578688)===0||(t&4286578688)===-8388608)&&r>1;)r--,t<<=8;if(r>4)throw Ea("BER ints cannot be > 0xffffffff");for(this._ensure(2+r),this._buf[this._offset++]=e,this._buf[this._offset++]=r;r-- >0;)this._buf[this._offset++]=(t&4278190080)>>>24,t<<=8};_r.prototype.writeNull=function(){this.writeByte(Ln.Null),this.writeByte(0)};_r.prototype.writeEnumeration=function(t,e){if(typeof t!="number")throw new TypeError("argument must be a Number");return typeof e!="number"&&(e=Ln.Enumeration),this.writeInt(t,e)};_r.prototype.writeBoolean=function(t,e){if(typeof t!="boolean")throw new TypeError("argument must be a Boolean");typeof e!="number"&&(e=Ln.Boolean),this._ensure(3),this._buf[this._offset++]=e,this._buf[this._offset++]=1,this._buf[this._offset++]=t?255:0};_r.prototype.writeString=function(t,e){if(typeof t!="string")throw new TypeError("argument must be a string (was: "+typeof t+")");typeof e!="number"&&(e=Ln.OctetString);var r=ya.byteLength(t);this.writeByte(e),this.writeLength(r),r&&(this._ensure(r),this._buf.write(t,this._offset),this._offset+=r)};_r.prototype.writeBuffer=function(t,e){if(typeof e!="number")throw new TypeError("tag must be a number");if(!ya.isBuffer(t))throw new TypeError("argument must be a buffer");this.writeByte(e),this.writeLength(t.length),this._ensure(t.length),t.copy(this._buf,this._offset,0,t.length),this._offset+=t.length};_r.prototype.writeStringArray=function(t){if(!t instanceof Array)throw new TypeError("argument must be an Array[String]");var e=this;t.forEach(function(r){e.writeString(r)})};_r.prototype.writeOID=function(t,e){if(typeof t!="string")throw new TypeError("argument must be a string");if(typeof e!="number"&&(e=Ln.OID),!/^([0-9]+\.){3,}[0-9]+$/.test(t))throw new Error("argument is not a valid OID string");function r(s,a){a<128?s.push(a):a<16384?(s.push(a>>>7|128),s.push(a&127)):a<2097152?(s.push(a>>>14|128),s.push((a>>>7|128)&255),s.push(a&127)):a<268435456?(s.push(a>>>21|128),s.push((a>>>14|128)&255),s.push((a>>>7|128)&255),s.push(a&127)):(s.push((a>>>28|128)&255),s.push((a>>>21|128)&255),s.push((a>>>14|128)&255),s.push((a>>>7|128)&255),s.push(a&127))}c(r,"encodeOctet");var n=t.split("."),i=[];i.push(parseInt(n[0],10)*40+parseInt(n[1],10)),n.slice(2).forEach(function(s){r(i,parseInt(s,10))});var o=this;this._ensure(2+i.length),this.writeByte(e),this.writeLength(i.length),i.forEach(function(s){o.writeByte(s)})};_r.prototype.writeLength=function(t){if(typeof t!="number")throw new TypeError("argument must be a Number");if(this._ensure(4),t<=127)this._buf[this._offset++]=t;else if(t<=255)this._buf[this._offset++]=129,this._buf[this._offset++]=t;else if(t<=65535)this._buf[this._offset++]=130,this._buf[this._offset++]=t>>8,this._buf[this._offset++]=t;else if(t<=16777215)this._buf[this._offset++]=131,this._buf[this._offset++]=t>>16,this._buf[this._offset++]=t>>8,this._buf[this._offset++]=t;else throw Ea("Length too long (> 4 bytes)")};_r.prototype.startSequence=function(t){typeof t!="number"&&(t=Ln.Sequence|Ln.Constructor),this.writeByte(t),this._seq.push(this._offset),this._ensure(3),this._offset+=3};_r.prototype.endSequence=function(){var t=this._seq.pop(),e=t+3,r=this._offset-e;if(r<=127)this._shift(e,r,-2),this._buf[t]=r;else if(r<=255)this._shift(e,r,-1),this._buf[t]=129,this._buf[t+1]=r;else if(r<=65535)this._buf[t]=130,this._buf[t+1]=r>>8,this._buf[t+2]=r;else if(r<=16777215)this._shift(e,r,1),this._buf[t]=131,this._buf[t+1]=r>>16,this._buf[t+2]=r>>8,this._buf[t+3]=r;else throw Ea("Sequence too long")};_r.prototype._shift=function(t,e,r){Un.ok(t!==void 0),Un.ok(e!==void 0),Un.ok(r),this._buf.copy(this._buf,t+r,t,t+e),this._offset+=r};_r.prototype._ensure=function(t){if(Un.ok(t),this._size-this._offset<t){var e=this._size*this._options.growthFactor;e-this._offset<t&&(e+=t);var r=ya.alloc(e);this._buf.copy(r,0,0,this._offset),this._buf=r,this._size=e}};hg.exports=_r});var mg=le((lF,xa)=>{var Du=ga(),Bu=ma(),Lx=pg(),zx=gg();xa.exports={Reader:Lx,Writer:zx};for(Aa in Bu)Bu.hasOwnProperty(Aa)&&(xa.exports[Aa]=Bu[Aa]);var Aa;for(ba in Du)Du.hasOwnProperty(ba)&&(xa.exports[ba]=Du[ba]);var ba});var Ko=le((fF,_g)=>{var Uu=mg();_g.exports={Ber:Uu,BerReader:Uu.Reader,BerWriter:Uu.Writer}});var yg=le((dF,Ia)=>{(function(t){"use strict";var e=c(function(m){var E,y=new Float64Array(16);if(m)for(E=0;E<m.length;E++)y[E]=m[E];return y},"gf"),r=c(function(){throw new Error("no PRNG")},"randombytes"),n=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var o=e(),s=e([1]),a=e([56129,1]),u=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),l=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),d=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),p=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),g=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function h(m,E,y,f){m[E]=y>>24&255,m[E+1]=y>>16&255,m[E+2]=y>>8&255,m[E+3]=y&255,m[E+4]=f>>24&255,m[E+5]=f>>16&255,m[E+6]=f>>8&255,m[E+7]=f&255}c(h,"ts64");function _(m,E,y,f,x){var N,z=0;for(N=0;N<x;N++)z|=m[E+N]^y[f+N];return(1&z-1>>>8)-1}c(_,"vn");function A(m,E,y,f){return _(m,E,y,f,16)}c(A,"crypto_verify_16");function b(m,E,y,f){return _(m,E,y,f,32)}c(b,"crypto_verify_32");function v(m,E,y,f){for(var x=f[0]&255|(f[1]&255)<<8|(f[2]&255)<<16|(f[3]&255)<<24,N=y[0]&255|(y[1]&255)<<8|(y[2]&255)<<16|(y[3]&255)<<24,z=y[4]&255|(y[5]&255)<<8|(y[6]&255)<<16|(y[7]&255)<<24,ie=y[8]&255|(y[9]&255)<<8|(y[10]&255)<<16|(y[11]&255)<<24,ce=y[12]&255|(y[13]&255)<<8|(y[14]&255)<<16|(y[15]&255)<<24,ye=f[4]&255|(f[5]&255)<<8|(f[6]&255)<<16|(f[7]&255)<<24,pe=E[0]&255|(E[1]&255)<<8|(E[2]&255)<<16|(E[3]&255)<<24,_t=E[4]&255|(E[5]&255)<<8|(E[6]&255)<<16|(E[7]&255)<<24,_e=E[8]&255|(E[9]&255)<<8|(E[10]&255)<<16|(E[11]&255)<<24,ze=E[12]&255|(E[13]&255)<<8|(E[14]&255)<<16|(E[15]&255)<<24,Fe=f[8]&255|(f[9]&255)<<8|(f[10]&255)<<16|(f[11]&255)<<24,Xe=y[16]&255|(y[17]&255)<<8|(y[18]&255)<<16|(y[19]&255)<<24,Ye=y[20]&255|(y[21]&255)<<8|(y[22]&255)<<16|(y[23]&255)<<24,He=y[24]&255|(y[25]&255)<<8|(y[26]&255)<<16|(y[27]&255)<<24,Ge=y[28]&255|(y[29]&255)<<8|(y[30]&255)<<16|(y[31]&255)<<24,je=f[12]&255|(f[13]&255)<<8|(f[14]&255)<<16|(f[15]&255)<<24,Ee=x,Ie=N,ge=z,Ae=ie,be=ce,de=ye,Q=pe,K=_t,se=_e,ne=ze,oe=Fe,ae=Xe,ke=Ye,Je=He,rt=Ge,et=je,S,it=0;it<20;it+=2)S=Ee+ke|0,be^=S<<7|S>>>25,S=be+Ee|0,se^=S<<9|S>>>23,S=se+be|0,ke^=S<<13|S>>>19,S=ke+se|0,Ee^=S<<18|S>>>14,S=de+Ie|0,ne^=S<<7|S>>>25,S=ne+de|0,Je^=S<<9|S>>>23,S=Je+ne|0,Ie^=S<<13|S>>>19,S=Ie+Je|0,de^=S<<18|S>>>14,S=oe+Q|0,rt^=S<<7|S>>>25,S=rt+oe|0,ge^=S<<9|S>>>23,S=ge+rt|0,Q^=S<<13|S>>>19,S=Q+ge|0,oe^=S<<18|S>>>14,S=et+ae|0,Ae^=S<<7|S>>>25,S=Ae+et|0,K^=S<<9|S>>>23,S=K+Ae|0,ae^=S<<13|S>>>19,S=ae+K|0,et^=S<<18|S>>>14,S=Ee+Ae|0,Ie^=S<<7|S>>>25,S=Ie+Ee|0,ge^=S<<9|S>>>23,S=ge+Ie|0,Ae^=S<<13|S>>>19,S=Ae+ge|0,Ee^=S<<18|S>>>14,S=de+be|0,Q^=S<<7|S>>>25,S=Q+de|0,K^=S<<9|S>>>23,S=K+Q|0,be^=S<<13|S>>>19,S=be+K|0,de^=S<<18|S>>>14,S=oe+ne|0,ae^=S<<7|S>>>25,S=ae+oe|0,se^=S<<9|S>>>23,S=se+ae|0,ne^=S<<13|S>>>19,S=ne+se|0,oe^=S<<18|S>>>14,S=et+rt|0,ke^=S<<7|S>>>25,S=ke+et|0,Je^=S<<9|S>>>23,S=Je+ke|0,rt^=S<<13|S>>>19,S=rt+Je|0,et^=S<<18|S>>>14;Ee=Ee+x|0,Ie=Ie+N|0,ge=ge+z|0,Ae=Ae+ie|0,be=be+ce|0,de=de+ye|0,Q=Q+pe|0,K=K+_t|0,se=se+_e|0,ne=ne+ze|0,oe=oe+Fe|0,ae=ae+Xe|0,ke=ke+Ye|0,Je=Je+He|0,rt=rt+Ge|0,et=et+je|0,m[0]=Ee>>>0&255,m[1]=Ee>>>8&255,m[2]=Ee>>>16&255,m[3]=Ee>>>24&255,m[4]=Ie>>>0&255,m[5]=Ie>>>8&255,m[6]=Ie>>>16&255,m[7]=Ie>>>24&255,m[8]=ge>>>0&255,m[9]=ge>>>8&255,m[10]=ge>>>16&255,m[11]=ge>>>24&255,m[12]=Ae>>>0&255,m[13]=Ae>>>8&255,m[14]=Ae>>>16&255,m[15]=Ae>>>24&255,m[16]=be>>>0&255,m[17]=be>>>8&255,m[18]=be>>>16&255,m[19]=be>>>24&255,m[20]=de>>>0&255,m[21]=de>>>8&255,m[22]=de>>>16&255,m[23]=de>>>24&255,m[24]=Q>>>0&255,m[25]=Q>>>8&255,m[26]=Q>>>16&255,m[27]=Q>>>24&255,m[28]=K>>>0&255,m[29]=K>>>8&255,m[30]=K>>>16&255,m[31]=K>>>24&255,m[32]=se>>>0&255,m[33]=se>>>8&255,m[34]=se>>>16&255,m[35]=se>>>24&255,m[36]=ne>>>0&255,m[37]=ne>>>8&255,m[38]=ne>>>16&255,m[39]=ne>>>24&255,m[40]=oe>>>0&255,m[41]=oe>>>8&255,m[42]=oe>>>16&255,m[43]=oe>>>24&255,m[44]=ae>>>0&255,m[45]=ae>>>8&255,m[46]=ae>>>16&255,m[47]=ae>>>24&255,m[48]=ke>>>0&255,m[49]=ke>>>8&255,m[50]=ke>>>16&255,m[51]=ke>>>24&255,m[52]=Je>>>0&255,m[53]=Je>>>8&255,m[54]=Je>>>16&255,m[55]=Je>>>24&255,m[56]=rt>>>0&255,m[57]=rt>>>8&255,m[58]=rt>>>16&255,m[59]=rt>>>24&255,m[60]=et>>>0&255,m[61]=et>>>8&255,m[62]=et>>>16&255,m[63]=et>>>24&255}c(v,"core_salsa20");function w(m,E,y,f){for(var x=f[0]&255|(f[1]&255)<<8|(f[2]&255)<<16|(f[3]&255)<<24,N=y[0]&255|(y[1]&255)<<8|(y[2]&255)<<16|(y[3]&255)<<24,z=y[4]&255|(y[5]&255)<<8|(y[6]&255)<<16|(y[7]&255)<<24,ie=y[8]&255|(y[9]&255)<<8|(y[10]&255)<<16|(y[11]&255)<<24,ce=y[12]&255|(y[13]&255)<<8|(y[14]&255)<<16|(y[15]&255)<<24,ye=f[4]&255|(f[5]&255)<<8|(f[6]&255)<<16|(f[7]&255)<<24,pe=E[0]&255|(E[1]&255)<<8|(E[2]&255)<<16|(E[3]&255)<<24,_t=E[4]&255|(E[5]&255)<<8|(E[6]&255)<<16|(E[7]&255)<<24,_e=E[8]&255|(E[9]&255)<<8|(E[10]&255)<<16|(E[11]&255)<<24,ze=E[12]&255|(E[13]&255)<<8|(E[14]&255)<<16|(E[15]&255)<<24,Fe=f[8]&255|(f[9]&255)<<8|(f[10]&255)<<16|(f[11]&255)<<24,Xe=y[16]&255|(y[17]&255)<<8|(y[18]&255)<<16|(y[19]&255)<<24,Ye=y[20]&255|(y[21]&255)<<8|(y[22]&255)<<16|(y[23]&255)<<24,He=y[24]&255|(y[25]&255)<<8|(y[26]&255)<<16|(y[27]&255)<<24,Ge=y[28]&255|(y[29]&255)<<8|(y[30]&255)<<16|(y[31]&255)<<24,je=f[12]&255|(f[13]&255)<<8|(f[14]&255)<<16|(f[15]&255)<<24,Ee=x,Ie=N,ge=z,Ae=ie,be=ce,de=ye,Q=pe,K=_t,se=_e,ne=ze,oe=Fe,ae=Xe,ke=Ye,Je=He,rt=Ge,et=je,S,it=0;it<20;it+=2)S=Ee+ke|0,be^=S<<7|S>>>25,S=be+Ee|0,se^=S<<9|S>>>23,S=se+be|0,ke^=S<<13|S>>>19,S=ke+se|0,Ee^=S<<18|S>>>14,S=de+Ie|0,ne^=S<<7|S>>>25,S=ne+de|0,Je^=S<<9|S>>>23,S=Je+ne|0,Ie^=S<<13|S>>>19,S=Ie+Je|0,de^=S<<18|S>>>14,S=oe+Q|0,rt^=S<<7|S>>>25,S=rt+oe|0,ge^=S<<9|S>>>23,S=ge+rt|0,Q^=S<<13|S>>>19,S=Q+ge|0,oe^=S<<18|S>>>14,S=et+ae|0,Ae^=S<<7|S>>>25,S=Ae+et|0,K^=S<<9|S>>>23,S=K+Ae|0,ae^=S<<13|S>>>19,S=ae+K|0,et^=S<<18|S>>>14,S=Ee+Ae|0,Ie^=S<<7|S>>>25,S=Ie+Ee|0,ge^=S<<9|S>>>23,S=ge+Ie|0,Ae^=S<<13|S>>>19,S=Ae+ge|0,Ee^=S<<18|S>>>14,S=de+be|0,Q^=S<<7|S>>>25,S=Q+de|0,K^=S<<9|S>>>23,S=K+Q|0,be^=S<<13|S>>>19,S=be+K|0,de^=S<<18|S>>>14,S=oe+ne|0,ae^=S<<7|S>>>25,S=ae+oe|0,se^=S<<9|S>>>23,S=se+ae|0,ne^=S<<13|S>>>19,S=ne+se|0,oe^=S<<18|S>>>14,S=et+rt|0,ke^=S<<7|S>>>25,S=ke+et|0,Je^=S<<9|S>>>23,S=Je+ke|0,rt^=S<<13|S>>>19,S=rt+Je|0,et^=S<<18|S>>>14;m[0]=Ee>>>0&255,m[1]=Ee>>>8&255,m[2]=Ee>>>16&255,m[3]=Ee>>>24&255,m[4]=de>>>0&255,m[5]=de>>>8&255,m[6]=de>>>16&255,m[7]=de>>>24&255,m[8]=oe>>>0&255,m[9]=oe>>>8&255,m[10]=oe>>>16&255,m[11]=oe>>>24&255,m[12]=et>>>0&255,m[13]=et>>>8&255,m[14]=et>>>16&255,m[15]=et>>>24&255,m[16]=Q>>>0&255,m[17]=Q>>>8&255,m[18]=Q>>>16&255,m[19]=Q>>>24&255,m[20]=K>>>0&255,m[21]=K>>>8&255,m[22]=K>>>16&255,m[23]=K>>>24&255,m[24]=se>>>0&255,m[25]=se>>>8&255,m[26]=se>>>16&255,m[27]=se>>>24&255,m[28]=ne>>>0&255,m[29]=ne>>>8&255,m[30]=ne>>>16&255,m[31]=ne>>>24&255}c(w,"core_hsalsa20");function H(m,E,y,f){v(m,E,y,f)}c(H,"crypto_core_salsa20");function D(m,E,y,f){w(m,E,y,f)}c(D,"crypto_core_hsalsa20");var J=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function Y(m,E,y,f,x,N,z){var ie=new Uint8Array(16),ce=new Uint8Array(64),ye,pe;for(pe=0;pe<16;pe++)ie[pe]=0;for(pe=0;pe<8;pe++)ie[pe]=N[pe];for(;x>=64;){for(H(ce,ie,z,J),pe=0;pe<64;pe++)m[E+pe]=y[f+pe]^ce[pe];for(ye=1,pe=8;pe<16;pe++)ye=ye+(ie[pe]&255)|0,ie[pe]=ye&255,ye>>>=8;x-=64,E+=64,f+=64}if(x>0)for(H(ce,ie,z,J),pe=0;pe<x;pe++)m[E+pe]=y[f+pe]^ce[pe];return 0}c(Y,"crypto_stream_salsa20_xor");function X(m,E,y,f,x){var N=new Uint8Array(16),z=new Uint8Array(64),ie,ce;for(ce=0;ce<16;ce++)N[ce]=0;for(ce=0;ce<8;ce++)N[ce]=f[ce];for(;y>=64;){for(H(z,N,x,J),ce=0;ce<64;ce++)m[E+ce]=z[ce];for(ie=1,ce=8;ce<16;ce++)ie=ie+(N[ce]&255)|0,N[ce]=ie&255,ie>>>=8;y-=64,E+=64}if(y>0)for(H(z,N,x,J),ce=0;ce<y;ce++)m[E+ce]=z[ce];return 0}c(X,"crypto_stream_salsa20");function P(m,E,y,f,x){var N=new Uint8Array(32);D(N,f,x,J);for(var z=new Uint8Array(8),ie=0;ie<8;ie++)z[ie]=f[ie+16];return X(m,E,y,z,N)}c(P,"crypto_stream");function C(m,E,y,f,x,N,z){var ie=new Uint8Array(32);D(ie,N,z,J);for(var ce=new Uint8Array(8),ye=0;ye<8;ye++)ce[ye]=N[ye+16];return Y(m,E,y,f,x,ce,ie)}c(C,"crypto_stream_xor");var M=c(function(m){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var E,y,f,x,N,z,ie,ce;E=m[0]&255|(m[1]&255)<<8,this.r[0]=E&8191,y=m[2]&255|(m[3]&255)<<8,this.r[1]=(E>>>13|y<<3)&8191,f=m[4]&255|(m[5]&255)<<8,this.r[2]=(y>>>10|f<<6)&7939,x=m[6]&255|(m[7]&255)<<8,this.r[3]=(f>>>7|x<<9)&8191,N=m[8]&255|(m[9]&255)<<8,this.r[4]=(x>>>4|N<<12)&255,this.r[5]=N>>>1&8190,z=m[10]&255|(m[11]&255)<<8,this.r[6]=(N>>>14|z<<2)&8191,ie=m[12]&255|(m[13]&255)<<8,this.r[7]=(z>>>11|ie<<5)&8065,ce=m[14]&255|(m[15]&255)<<8,this.r[8]=(ie>>>8|ce<<8)&8191,this.r[9]=ce>>>5&127,this.pad[0]=m[16]&255|(m[17]&255)<<8,this.pad[1]=m[18]&255|(m[19]&255)<<8,this.pad[2]=m[20]&255|(m[21]&255)<<8,this.pad[3]=m[22]&255|(m[23]&255)<<8,this.pad[4]=m[24]&255|(m[25]&255)<<8,this.pad[5]=m[26]&255|(m[27]&255)<<8,this.pad[6]=m[28]&255|(m[29]&255)<<8,this.pad[7]=m[30]&255|(m[31]&255)<<8},"poly1305");M.prototype.blocks=function(m,E,y){for(var f=this.fin?0:2048,x,N,z,ie,ce,ye,pe,_t,_e,ze,Fe,Xe,Ye,He,Ge,je,Ee,Ie,ge,Ae=this.h[0],be=this.h[1],de=this.h[2],Q=this.h[3],K=this.h[4],se=this.h[5],ne=this.h[6],oe=this.h[7],ae=this.h[8],ke=this.h[9],Je=this.r[0],rt=this.r[1],et=this.r[2],S=this.r[3],it=this.r[4],yt=this.r[5],Et=this.r[6],nt=this.r[7],dt=this.r[8],pt=this.r[9];y>=16;)x=m[E+0]&255|(m[E+1]&255)<<8,Ae+=x&8191,N=m[E+2]&255|(m[E+3]&255)<<8,be+=(x>>>13|N<<3)&8191,z=m[E+4]&255|(m[E+5]&255)<<8,de+=(N>>>10|z<<6)&8191,ie=m[E+6]&255|(m[E+7]&255)<<8,Q+=(z>>>7|ie<<9)&8191,ce=m[E+8]&255|(m[E+9]&255)<<8,K+=(ie>>>4|ce<<12)&8191,se+=ce>>>1&8191,ye=m[E+10]&255|(m[E+11]&255)<<8,ne+=(ce>>>14|ye<<2)&8191,pe=m[E+12]&255|(m[E+13]&255)<<8,oe+=(ye>>>11|pe<<5)&8191,_t=m[E+14]&255|(m[E+15]&255)<<8,ae+=(pe>>>8|_t<<8)&8191,ke+=_t>>>5|f,_e=0,ze=_e,ze+=Ae*Je,ze+=be*(5*pt),ze+=de*(5*dt),ze+=Q*(5*nt),ze+=K*(5*Et),_e=ze>>>13,ze&=8191,ze+=se*(5*yt),ze+=ne*(5*it),ze+=oe*(5*S),ze+=ae*(5*et),ze+=ke*(5*rt),_e+=ze>>>13,ze&=8191,Fe=_e,Fe+=Ae*rt,Fe+=be*Je,Fe+=de*(5*pt),Fe+=Q*(5*dt),Fe+=K*(5*nt),_e=Fe>>>13,Fe&=8191,Fe+=se*(5*Et),Fe+=ne*(5*yt),Fe+=oe*(5*it),Fe+=ae*(5*S),Fe+=ke*(5*et),_e+=Fe>>>13,Fe&=8191,Xe=_e,Xe+=Ae*et,Xe+=be*rt,Xe+=de*Je,Xe+=Q*(5*pt),Xe+=K*(5*dt),_e=Xe>>>13,Xe&=8191,Xe+=se*(5*nt),Xe+=ne*(5*Et),Xe+=oe*(5*yt),Xe+=ae*(5*it),Xe+=ke*(5*S),_e+=Xe>>>13,Xe&=8191,Ye=_e,Ye+=Ae*S,Ye+=be*et,Ye+=de*rt,Ye+=Q*Je,Ye+=K*(5*pt),_e=Ye>>>13,Ye&=8191,Ye+=se*(5*dt),Ye+=ne*(5*nt),Ye+=oe*(5*Et),Ye+=ae*(5*yt),Ye+=ke*(5*it),_e+=Ye>>>13,Ye&=8191,He=_e,He+=Ae*it,He+=be*S,He+=de*et,He+=Q*rt,He+=K*Je,_e=He>>>13,He&=8191,He+=se*(5*pt),He+=ne*(5*dt),He+=oe*(5*nt),He+=ae*(5*Et),He+=ke*(5*yt),_e+=He>>>13,He&=8191,Ge=_e,Ge+=Ae*yt,Ge+=be*it,Ge+=de*S,Ge+=Q*et,Ge+=K*rt,_e=Ge>>>13,Ge&=8191,Ge+=se*Je,Ge+=ne*(5*pt),Ge+=oe*(5*dt),Ge+=ae*(5*nt),Ge+=ke*(5*Et),_e+=Ge>>>13,Ge&=8191,je=_e,je+=Ae*Et,je+=be*yt,je+=de*it,je+=Q*S,je+=K*et,_e=je>>>13,je&=8191,je+=se*rt,je+=ne*Je,je+=oe*(5*pt),je+=ae*(5*dt),je+=ke*(5*nt),_e+=je>>>13,je&=8191,Ee=_e,Ee+=Ae*nt,Ee+=be*Et,Ee+=de*yt,Ee+=Q*it,Ee+=K*S,_e=Ee>>>13,Ee&=8191,Ee+=se*et,Ee+=ne*rt,Ee+=oe*Je,Ee+=ae*(5*pt),Ee+=ke*(5*dt),_e+=Ee>>>13,Ee&=8191,Ie=_e,Ie+=Ae*dt,Ie+=be*nt,Ie+=de*Et,Ie+=Q*yt,Ie+=K*it,_e=Ie>>>13,Ie&=8191,Ie+=se*S,Ie+=ne*et,Ie+=oe*rt,Ie+=ae*Je,Ie+=ke*(5*pt),_e+=Ie>>>13,Ie&=8191,ge=_e,ge+=Ae*pt,ge+=be*dt,ge+=de*nt,ge+=Q*Et,ge+=K*yt,_e=ge>>>13,ge&=8191,ge+=se*it,ge+=ne*S,ge+=oe*et,ge+=ae*rt,ge+=ke*Je,_e+=ge>>>13,ge&=8191,_e=(_e<<2)+_e|0,_e=_e+ze|0,ze=_e&8191,_e=_e>>>13,Fe+=_e,Ae=ze,be=Fe,de=Xe,Q=Ye,K=He,se=Ge,ne=je,oe=Ee,ae=Ie,ke=ge,E+=16,y-=16;this.h[0]=Ae,this.h[1]=be,this.h[2]=de,this.h[3]=Q,this.h[4]=K,this.h[5]=se,this.h[6]=ne,this.h[7]=oe,this.h[8]=ae,this.h[9]=ke},M.prototype.finish=function(m,E){var y=new Uint16Array(10),f,x,N,z;if(this.leftover){for(z=this.leftover,this.buffer[z++]=1;z<16;z++)this.buffer[z]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(f=this.h[1]>>>13,this.h[1]&=8191,z=2;z<10;z++)this.h[z]+=f,f=this.h[z]>>>13,this.h[z]&=8191;for(this.h[0]+=f*5,f=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=f,f=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=f,y[0]=this.h[0]+5,f=y[0]>>>13,y[0]&=8191,z=1;z<10;z++)y[z]=this.h[z]+f,f=y[z]>>>13,y[z]&=8191;for(y[9]-=8192,x=(f^1)-1,z=0;z<10;z++)y[z]&=x;for(x=~x,z=0;z<10;z++)this.h[z]=this.h[z]&x|y[z];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,N=this.h[0]+this.pad[0],this.h[0]=N&65535,z=1;z<8;z++)N=(this.h[z]+this.pad[z]|0)+(N>>>16)|0,this.h[z]=N&65535;m[E+0]=this.h[0]>>>0&255,m[E+1]=this.h[0]>>>8&255,m[E+2]=this.h[1]>>>0&255,m[E+3]=this.h[1]>>>8&255,m[E+4]=this.h[2]>>>0&255,m[E+5]=this.h[2]>>>8&255,m[E+6]=this.h[3]>>>0&255,m[E+7]=this.h[3]>>>8&255,m[E+8]=this.h[4]>>>0&255,m[E+9]=this.h[4]>>>8&255,m[E+10]=this.h[5]>>>0&255,m[E+11]=this.h[5]>>>8&255,m[E+12]=this.h[6]>>>0&255,m[E+13]=this.h[6]>>>8&255,m[E+14]=this.h[7]>>>0&255,m[E+15]=this.h[7]>>>8&255},M.prototype.update=function(m,E,y){var f,x;if(this.leftover){for(x=16-this.leftover,x>y&&(x=y),f=0;f<x;f++)this.buffer[this.leftover+f]=m[E+f];if(y-=x,E+=x,this.leftover+=x,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(y>=16&&(x=y-y%16,this.blocks(m,E,x),E+=x,y-=x),y){for(f=0;f<y;f++)this.buffer[this.leftover+f]=m[E+f];this.leftover+=y}};function L(m,E,y,f,x,N){var z=new M(N);return z.update(y,f,x),z.finish(m,E),0}c(L,"crypto_onetimeauth");function T(m,E,y,f,x,N){var z=new Uint8Array(16);return L(z,0,y,f,x,N),A(m,E,z,0)}c(T,"crypto_onetimeauth_verify");function F(m,E,y,f,x){var N;if(y<32)return-1;for(C(m,0,E,0,y,f,x),L(m,16,m,32,y-32,m),N=0;N<16;N++)m[N]=0;return 0}c(F,"crypto_secretbox");function j(m,E,y,f,x){var N,z=new Uint8Array(32);if(y<32||(P(z,0,32,f,x),T(E,16,E,32,y-32,z)!==0))return-1;for(C(m,0,E,0,y,f,x),N=0;N<32;N++)m[N]=0;return 0}c(j,"crypto_secretbox_open");function B(m,E){var y;for(y=0;y<16;y++)m[y]=E[y]|0}c(B,"set25519");function Z(m){var E,y,f=1;for(E=0;E<16;E++)y=m[E]+f+65535,f=Math.floor(y/65536),m[E]=y-f*65536;m[0]+=f-1+37*(f-1)}c(Z,"car25519");function te(m,E,y){for(var f,x=~(y-1),N=0;N<16;N++)f=x&(m[N]^E[N]),m[N]^=f,E[N]^=f}c(te,"sel25519");function k(m,E){var y,f,x,N=e(),z=e();for(y=0;y<16;y++)z[y]=E[y];for(Z(z),Z(z),Z(z),f=0;f<2;f++){for(N[0]=z[0]-65517,y=1;y<15;y++)N[y]=z[y]-65535-(N[y-1]>>16&1),N[y-1]&=65535;N[15]=z[15]-32767-(N[14]>>16&1),x=N[15]>>16&1,N[14]&=65535,te(z,N,1-x)}for(y=0;y<16;y++)m[2*y]=z[y]&255,m[2*y+1]=z[y]>>8}c(k,"pack25519");function W(m,E){var y=new Uint8Array(32),f=new Uint8Array(32);return k(y,m),k(f,E),b(y,0,f,0)}c(W,"neq25519");function q(m){var E=new Uint8Array(32);return k(E,m),E[0]&1}c(q,"par25519");function ee(m,E){var y;for(y=0;y<16;y++)m[y]=E[2*y]+(E[2*y+1]<<8);m[15]&=32767}c(ee,"unpack25519");function ue(m,E,y){for(var f=0;f<16;f++)m[f]=E[f]+y[f]}c(ue,"A");function me(m,E,y){for(var f=0;f<16;f++)m[f]=E[f]-y[f]}c(me,"Z");function he(m,E,y){var f,x,N=0,z=0,ie=0,ce=0,ye=0,pe=0,_t=0,_e=0,ze=0,Fe=0,Xe=0,Ye=0,He=0,Ge=0,je=0,Ee=0,Ie=0,ge=0,Ae=0,be=0,de=0,Q=0,K=0,se=0,ne=0,oe=0,ae=0,ke=0,Je=0,rt=0,et=0,S=y[0],it=y[1],yt=y[2],Et=y[3],nt=y[4],dt=y[5],pt=y[6],Yt=y[7],vt=y[8],qt=y[9],Qt=y[10],Vt=y[11],sr=y[12],pr=y[13],hr=y[14],gr=y[15];f=E[0],N+=f*S,z+=f*it,ie+=f*yt,ce+=f*Et,ye+=f*nt,pe+=f*dt,_t+=f*pt,_e+=f*Yt,ze+=f*vt,Fe+=f*qt,Xe+=f*Qt,Ye+=f*Vt,He+=f*sr,Ge+=f*pr,je+=f*hr,Ee+=f*gr,f=E[1],z+=f*S,ie+=f*it,ce+=f*yt,ye+=f*Et,pe+=f*nt,_t+=f*dt,_e+=f*pt,ze+=f*Yt,Fe+=f*vt,Xe+=f*qt,Ye+=f*Qt,He+=f*Vt,Ge+=f*sr,je+=f*pr,Ee+=f*hr,Ie+=f*gr,f=E[2],ie+=f*S,ce+=f*it,ye+=f*yt,pe+=f*Et,_t+=f*nt,_e+=f*dt,ze+=f*pt,Fe+=f*Yt,Xe+=f*vt,Ye+=f*qt,He+=f*Qt,Ge+=f*Vt,je+=f*sr,Ee+=f*pr,Ie+=f*hr,ge+=f*gr,f=E[3],ce+=f*S,ye+=f*it,pe+=f*yt,_t+=f*Et,_e+=f*nt,ze+=f*dt,Fe+=f*pt,Xe+=f*Yt,Ye+=f*vt,He+=f*qt,Ge+=f*Qt,je+=f*Vt,Ee+=f*sr,Ie+=f*pr,ge+=f*hr,Ae+=f*gr,f=E[4],ye+=f*S,pe+=f*it,_t+=f*yt,_e+=f*Et,ze+=f*nt,Fe+=f*dt,Xe+=f*pt,Ye+=f*Yt,He+=f*vt,Ge+=f*qt,je+=f*Qt,Ee+=f*Vt,Ie+=f*sr,ge+=f*pr,Ae+=f*hr,be+=f*gr,f=E[5],pe+=f*S,_t+=f*it,_e+=f*yt,ze+=f*Et,Fe+=f*nt,Xe+=f*dt,Ye+=f*pt,He+=f*Yt,Ge+=f*vt,je+=f*qt,Ee+=f*Qt,Ie+=f*Vt,ge+=f*sr,Ae+=f*pr,be+=f*hr,de+=f*gr,f=E[6],_t+=f*S,_e+=f*it,ze+=f*yt,Fe+=f*Et,Xe+=f*nt,Ye+=f*dt,He+=f*pt,Ge+=f*Yt,je+=f*vt,Ee+=f*qt,Ie+=f*Qt,ge+=f*Vt,Ae+=f*sr,be+=f*pr,de+=f*hr,Q+=f*gr,f=E[7],_e+=f*S,ze+=f*it,Fe+=f*yt,Xe+=f*Et,Ye+=f*nt,He+=f*dt,Ge+=f*pt,je+=f*Yt,Ee+=f*vt,Ie+=f*qt,ge+=f*Qt,Ae+=f*Vt,be+=f*sr,de+=f*pr,Q+=f*hr,K+=f*gr,f=E[8],ze+=f*S,Fe+=f*it,Xe+=f*yt,Ye+=f*Et,He+=f*nt,Ge+=f*dt,je+=f*pt,Ee+=f*Yt,Ie+=f*vt,ge+=f*qt,Ae+=f*Qt,be+=f*Vt,de+=f*sr,Q+=f*pr,K+=f*hr,se+=f*gr,f=E[9],Fe+=f*S,Xe+=f*it,Ye+=f*yt,He+=f*Et,Ge+=f*nt,je+=f*dt,Ee+=f*pt,Ie+=f*Yt,ge+=f*vt,Ae+=f*qt,be+=f*Qt,de+=f*Vt,Q+=f*sr,K+=f*pr,se+=f*hr,ne+=f*gr,f=E[10],Xe+=f*S,Ye+=f*it,He+=f*yt,Ge+=f*Et,je+=f*nt,Ee+=f*dt,Ie+=f*pt,ge+=f*Yt,Ae+=f*vt,be+=f*qt,de+=f*Qt,Q+=f*Vt,K+=f*sr,se+=f*pr,ne+=f*hr,oe+=f*gr,f=E[11],Ye+=f*S,He+=f*it,Ge+=f*yt,je+=f*Et,Ee+=f*nt,Ie+=f*dt,ge+=f*pt,Ae+=f*Yt,be+=f*vt,de+=f*qt,Q+=f*Qt,K+=f*Vt,se+=f*sr,ne+=f*pr,oe+=f*hr,ae+=f*gr,f=E[12],He+=f*S,Ge+=f*it,je+=f*yt,Ee+=f*Et,Ie+=f*nt,ge+=f*dt,Ae+=f*pt,be+=f*Yt,de+=f*vt,Q+=f*qt,K+=f*Qt,se+=f*Vt,ne+=f*sr,oe+=f*pr,ae+=f*hr,ke+=f*gr,f=E[13],Ge+=f*S,je+=f*it,Ee+=f*yt,Ie+=f*Et,ge+=f*nt,Ae+=f*dt,be+=f*pt,de+=f*Yt,Q+=f*vt,K+=f*qt,se+=f*Qt,ne+=f*Vt,oe+=f*sr,ae+=f*pr,ke+=f*hr,Je+=f*gr,f=E[14],je+=f*S,Ee+=f*it,Ie+=f*yt,ge+=f*Et,Ae+=f*nt,be+=f*dt,de+=f*pt,Q+=f*Yt,K+=f*vt,se+=f*qt,ne+=f*Qt,oe+=f*Vt,ae+=f*sr,ke+=f*pr,Je+=f*hr,rt+=f*gr,f=E[15],Ee+=f*S,Ie+=f*it,ge+=f*yt,Ae+=f*Et,be+=f*nt,de+=f*dt,Q+=f*pt,K+=f*Yt,se+=f*vt,ne+=f*qt,oe+=f*Qt,ae+=f*Vt,ke+=f*sr,Je+=f*pr,rt+=f*hr,et+=f*gr,N+=38*Ie,z+=38*ge,ie+=38*Ae,ce+=38*be,ye+=38*de,pe+=38*Q,_t+=38*K,_e+=38*se,ze+=38*ne,Fe+=38*oe,Xe+=38*ae,Ye+=38*ke,He+=38*Je,Ge+=38*rt,je+=38*et,x=1,f=N+x+65535,x=Math.floor(f/65536),N=f-x*65536,f=z+x+65535,x=Math.floor(f/65536),z=f-x*65536,f=ie+x+65535,x=Math.floor(f/65536),ie=f-x*65536,f=ce+x+65535,x=Math.floor(f/65536),ce=f-x*65536,f=ye+x+65535,x=Math.floor(f/65536),ye=f-x*65536,f=pe+x+65535,x=Math.floor(f/65536),pe=f-x*65536,f=_t+x+65535,x=Math.floor(f/65536),_t=f-x*65536,f=_e+x+65535,x=Math.floor(f/65536),_e=f-x*65536,f=ze+x+65535,x=Math.floor(f/65536),ze=f-x*65536,f=Fe+x+65535,x=Math.floor(f/65536),Fe=f-x*65536,f=Xe+x+65535,x=Math.floor(f/65536),Xe=f-x*65536,f=Ye+x+65535,x=Math.floor(f/65536),Ye=f-x*65536,f=He+x+65535,x=Math.floor(f/65536),He=f-x*65536,f=Ge+x+65535,x=Math.floor(f/65536),Ge=f-x*65536,f=je+x+65535,x=Math.floor(f/65536),je=f-x*65536,f=Ee+x+65535,x=Math.floor(f/65536),Ee=f-x*65536,N+=x-1+37*(x-1),x=1,f=N+x+65535,x=Math.floor(f/65536),N=f-x*65536,f=z+x+65535,x=Math.floor(f/65536),z=f-x*65536,f=ie+x+65535,x=Math.floor(f/65536),ie=f-x*65536,f=ce+x+65535,x=Math.floor(f/65536),ce=f-x*65536,f=ye+x+65535,x=Math.floor(f/65536),ye=f-x*65536,f=pe+x+65535,x=Math.floor(f/65536),pe=f-x*65536,f=_t+x+65535,x=Math.floor(f/65536),_t=f-x*65536,f=_e+x+65535,x=Math.floor(f/65536),_e=f-x*65536,f=ze+x+65535,x=Math.floor(f/65536),ze=f-x*65536,f=Fe+x+65535,x=Math.floor(f/65536),Fe=f-x*65536,f=Xe+x+65535,x=Math.floor(f/65536),Xe=f-x*65536,f=Ye+x+65535,x=Math.floor(f/65536),Ye=f-x*65536,f=He+x+65535,x=Math.floor(f/65536),He=f-x*65536,f=Ge+x+65535,x=Math.floor(f/65536),Ge=f-x*65536,f=je+x+65535,x=Math.floor(f/65536),je=f-x*65536,f=Ee+x+65535,x=Math.floor(f/65536),Ee=f-x*65536,N+=x-1+37*(x-1),m[0]=N,m[1]=z,m[2]=ie,m[3]=ce,m[4]=ye,m[5]=pe,m[6]=_t,m[7]=_e,m[8]=ze,m[9]=Fe,m[10]=Xe,m[11]=Ye,m[12]=He,m[13]=Ge,m[14]=je,m[15]=Ee}c(he,"M");function xt(m,E){he(m,E,E)}c(xt,"S");function kt(m,E){var y=e(),f;for(f=0;f<16;f++)y[f]=E[f];for(f=253;f>=0;f--)xt(y,y),f!==2&&f!==4&&he(y,y,E);for(f=0;f<16;f++)m[f]=y[f]}c(kt,"inv25519");function Xt(m,E){var y=e(),f;for(f=0;f<16;f++)y[f]=E[f];for(f=250;f>=0;f--)xt(y,y),f!==1&&he(y,y,E);for(f=0;f<16;f++)m[f]=y[f]}c(Xt,"pow2523");function Er(m,E,y){var f=new Uint8Array(32),x=new Float64Array(80),N,z,ie=e(),ce=e(),ye=e(),pe=e(),_t=e(),_e=e();for(z=0;z<31;z++)f[z]=E[z];for(f[31]=E[31]&127|64,f[0]&=248,ee(x,y),z=0;z<16;z++)ce[z]=x[z],pe[z]=ie[z]=ye[z]=0;for(ie[0]=pe[0]=1,z=254;z>=0;--z)N=f[z>>>3]>>>(z&7)&1,te(ie,ce,N),te(ye,pe,N),ue(_t,ie,ye),me(ie,ie,ye),ue(ye,ce,pe),me(ce,ce,pe),xt(pe,_t),xt(_e,ie),he(ie,ye,ie),he(ye,ce,_t),ue(_t,ie,ye),me(ie,ie,ye),xt(ce,ie),me(ye,pe,_e),he(ie,ye,a),ue(ie,ie,pe),he(ye,ye,ie),he(ie,pe,_e),he(pe,ce,x),xt(ce,_t),te(ie,ce,N),te(ye,pe,N);for(z=0;z<16;z++)x[z+16]=ie[z],x[z+32]=ye[z],x[z+48]=ce[z],x[z+64]=pe[z];var ze=x.subarray(32),Fe=x.subarray(16);return kt(ze,ze),he(Fe,Fe,ze),k(m,Fe),0}c(Er,"crypto_scalarmult");function Dr(m,E){return Er(m,E,i)}c(Dr,"crypto_scalarmult_base");function vr(m,E){return r(E,32),Dr(m,E)}c(vr,"crypto_box_keypair");function Ai(m,E,y){var f=new Uint8Array(32);return Er(f,y,E),D(m,n,f,J)}c(Ai,"crypto_box_beforenm");var go=F,Bs=j;function mo(m,E,y,f,x,N){var z=new Uint8Array(32);return Ai(z,x,N),go(m,E,y,f,z)}c(mo,"crypto_box");function bi(m,E,y,f,x,N){var z=new Uint8Array(32);return Ai(z,x,N),Bs(m,E,y,f,z)}c(bi,"crypto_box_open");var xi=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function re(m,E,y,f){for(var x=new Int32Array(16),N=new Int32Array(16),z,ie,ce,ye,pe,_t,_e,ze,Fe,Xe,Ye,He,Ge,je,Ee,Ie,ge,Ae,be,de,Q,K,se,ne,oe,ae,ke=m[0],Je=m[1],rt=m[2],et=m[3],S=m[4],it=m[5],yt=m[6],Et=m[7],nt=E[0],dt=E[1],pt=E[2],Yt=E[3],vt=E[4],qt=E[5],Qt=E[6],Vt=E[7],sr=0;f>=128;){for(be=0;be<16;be++)de=8*be+sr,x[be]=y[de+0]<<24|y[de+1]<<16|y[de+2]<<8|y[de+3],N[be]=y[de+4]<<24|y[de+5]<<16|y[de+6]<<8|y[de+7];for(be=0;be<80;be++)if(z=ke,ie=Je,ce=rt,ye=et,pe=S,_t=it,_e=yt,ze=Et,Fe=nt,Xe=dt,Ye=pt,He=Yt,Ge=vt,je=qt,Ee=Qt,Ie=Vt,Q=Et,K=Vt,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=(S>>>14|vt<<18)^(S>>>18|vt<<14)^(vt>>>9|S<<23),K=(vt>>>14|S<<18)^(vt>>>18|S<<14)^(S>>>9|vt<<23),se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,Q=S&it^~S&yt,K=vt&qt^~vt&Qt,se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,Q=xi[be*2],K=xi[be*2+1],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,Q=x[be%16],K=N[be%16],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,ge=oe&65535|ae<<16,Ae=se&65535|ne<<16,Q=ge,K=Ae,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=(ke>>>28|nt<<4)^(nt>>>2|ke<<30)^(nt>>>7|ke<<25),K=(nt>>>28|ke<<4)^(ke>>>2|nt<<30)^(ke>>>7|nt<<25),se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,Q=ke&Je^ke&rt^Je&rt,K=nt&dt^nt&pt^dt&pt,se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,ze=oe&65535|ae<<16,Ie=se&65535|ne<<16,Q=ye,K=He,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=ge,K=Ae,se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,ye=oe&65535|ae<<16,He=se&65535|ne<<16,Je=z,rt=ie,et=ce,S=ye,it=pe,yt=_t,Et=_e,ke=ze,dt=Fe,pt=Xe,Yt=Ye,vt=He,qt=Ge,Qt=je,Vt=Ee,nt=Ie,be%16===15)for(de=0;de<16;de++)Q=x[de],K=N[de],se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=x[(de+9)%16],K=N[(de+9)%16],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ge=x[(de+1)%16],Ae=N[(de+1)%16],Q=(ge>>>1|Ae<<31)^(ge>>>8|Ae<<24)^ge>>>7,K=(Ae>>>1|ge<<31)^(Ae>>>8|ge<<24)^(Ae>>>7|ge<<25),se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ge=x[(de+14)%16],Ae=N[(de+14)%16],Q=(ge>>>19|Ae<<13)^(Ae>>>29|ge<<3)^ge>>>6,K=(Ae>>>19|ge<<13)^(ge>>>29|Ae<<3)^(Ae>>>6|ge<<26),se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,x[de]=oe&65535|ae<<16,N[de]=se&65535|ne<<16;Q=ke,K=nt,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=m[0],K=E[0],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,m[0]=ke=oe&65535|ae<<16,E[0]=nt=se&65535|ne<<16,Q=Je,K=dt,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=m[1],K=E[1],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,m[1]=Je=oe&65535|ae<<16,E[1]=dt=se&65535|ne<<16,Q=rt,K=pt,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=m[2],K=E[2],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,m[2]=rt=oe&65535|ae<<16,E[2]=pt=se&65535|ne<<16,Q=et,K=Yt,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=m[3],K=E[3],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,m[3]=et=oe&65535|ae<<16,E[3]=Yt=se&65535|ne<<16,Q=S,K=vt,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=m[4],K=E[4],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,m[4]=S=oe&65535|ae<<16,E[4]=vt=se&65535|ne<<16,Q=it,K=qt,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=m[5],K=E[5],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,m[5]=it=oe&65535|ae<<16,E[5]=qt=se&65535|ne<<16,Q=yt,K=Qt,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=m[6],K=E[6],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,m[6]=yt=oe&65535|ae<<16,E[6]=Qt=se&65535|ne<<16,Q=Et,K=Vt,se=K&65535,ne=K>>>16,oe=Q&65535,ae=Q>>>16,Q=m[7],K=E[7],se+=K&65535,ne+=K>>>16,oe+=Q&65535,ae+=Q>>>16,ne+=se>>>16,oe+=ne>>>16,ae+=oe>>>16,m[7]=Et=oe&65535|ae<<16,E[7]=Vt=se&65535|ne<<16,sr+=128,f-=128}return f}c(re,"crypto_hashblocks_hl");function fe(m,E,y){var f=new Int32Array(8),x=new Int32Array(8),N=new Uint8Array(256),z,ie=y;for(f[0]=1779033703,f[1]=3144134277,f[2]=1013904242,f[3]=2773480762,f[4]=1359893119,f[5]=2600822924,f[6]=528734635,f[7]=1541459225,x[0]=4089235720,x[1]=2227873595,x[2]=4271175723,x[3]=1595750129,x[4]=2917565137,x[5]=725511199,x[6]=4215389547,x[7]=327033209,re(f,x,E,y),y%=128,z=0;z<y;z++)N[z]=E[ie-y+z];for(N[y]=128,y=256-128*(y<112?1:0),N[y-9]=0,h(N,y-8,ie/536870912|0,ie<<3),re(f,x,N,y),z=0;z<8;z++)h(m,8*z,f[z],x[z]);return 0}c(fe,"crypto_hash");function ve(m,E){var y=e(),f=e(),x=e(),N=e(),z=e(),ie=e(),ce=e(),ye=e(),pe=e();me(y,m[1],m[0]),me(pe,E[1],E[0]),he(y,y,pe),ue(f,m[0],m[1]),ue(pe,E[0],E[1]),he(f,f,pe),he(x,m[3],E[3]),he(x,x,l),he(N,m[2],E[2]),ue(N,N,N),me(z,f,y),me(ie,N,x),ue(ce,N,x),ue(ye,f,y),he(m[0],z,ie),he(m[1],ye,ce),he(m[2],ce,ie),he(m[3],z,ye)}c(ve,"add");function Be(m,E,y){var f;for(f=0;f<4;f++)te(m[f],E[f],y)}c(Be,"cswap");function ut(m,E){var y=e(),f=e(),x=e();kt(x,E[2]),he(y,E[0],x),he(f,E[1],x),k(m,f),m[31]^=q(y)<<7}c(ut,"pack");function Jt(m,E,y){var f,x;for(B(m[0],o),B(m[1],s),B(m[2],s),B(m[3],o),x=255;x>=0;--x)f=y[x/8|0]>>(x&7)&1,Be(m,E,f),ve(E,m),ve(m,m),Be(m,E,f)}c(Jt,"scalarmult");function Yr(m,E){var y=[e(),e(),e(),e()];B(y[0],d),B(y[1],p),B(y[2],s),he(y[3],d,p),Jt(m,y,E)}c(Yr,"scalarbase");function Cr(m,E,y){var f=new Uint8Array(64),x=[e(),e(),e(),e()],N;for(y||r(E,32),fe(f,E,32),f[0]&=248,f[31]&=127,f[31]|=64,Yr(x,f),ut(m,x),N=0;N<32;N++)E[N+32]=m[N];return 0}c(Cr,"crypto_sign_keypair");var Ii=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function It(m,E){var y,f,x,N;for(f=63;f>=32;--f){for(y=0,x=f-32,N=f-12;x<N;++x)E[x]+=y-16*E[f]*Ii[x-(f-32)],y=E[x]+128>>8,E[x]-=y*256;E[x]+=y,E[f]=0}for(y=0,x=0;x<32;x++)E[x]+=y-(E[31]>>4)*Ii[x],y=E[x]>>8,E[x]&=255;for(x=0;x<32;x++)E[x]-=y*Ii[x];for(f=0;f<32;f++)E[f+1]+=E[f]>>8,m[f]=E[f]&255}c(It,"modL");function ar(m){var E=new Float64Array(64),y;for(y=0;y<64;y++)E[y]=m[y];for(y=0;y<64;y++)m[y]=0;It(m,E)}c(ar,"reduce");function or(m,E,y,f){var x=new Uint8Array(64),N=new Uint8Array(64),z=new Uint8Array(64),ie,ce,ye=new Float64Array(64),pe=[e(),e(),e(),e()];fe(x,f,32),x[0]&=248,x[31]&=127,x[31]|=64;var _t=y+64;for(ie=0;ie<y;ie++)m[64+ie]=E[ie];for(ie=0;ie<32;ie++)m[32+ie]=x[32+ie];for(fe(z,m.subarray(32),y+32),ar(z),Yr(pe,z),ut(m,pe),ie=32;ie<64;ie++)m[ie]=f[ie];for(fe(N,m,y+64),ar(N),ie=0;ie<64;ie++)ye[ie]=0;for(ie=0;ie<32;ie++)ye[ie]=z[ie];for(ie=0;ie<32;ie++)for(ce=0;ce<32;ce++)ye[ie+ce]+=N[ie]*x[ce];return It(m.subarray(32),ye),_t}c(or,"crypto_sign");function jt(m,E){var y=e(),f=e(),x=e(),N=e(),z=e(),ie=e(),ce=e();return B(m[2],s),ee(m[1],E),xt(x,m[1]),he(N,x,u),me(x,x,m[2]),ue(N,m[2],N),xt(z,N),xt(ie,z),he(ce,ie,z),he(y,ce,x),he(y,y,N),Xt(y,y),he(y,y,x),he(y,y,N),he(y,y,N),he(m[0],y,N),xt(f,m[0]),he(f,f,N),W(f,x)&&he(m[0],m[0],g),xt(f,m[0]),he(f,f,N),W(f,x)?-1:(q(m[0])===E[31]>>7&&me(m[0],o,m[0]),he(m[3],m[0],m[1]),0)}c(jt,"unpackneg");function Pt(m,E,y,f){var x,N,z=new Uint8Array(32),ie=new Uint8Array(64),ce=[e(),e(),e(),e()],ye=[e(),e(),e(),e()];if(N=-1,y<64||jt(ye,f))return-1;for(x=0;x<y;x++)m[x]=E[x];for(x=0;x<32;x++)m[x+32]=f[x];if(fe(ie,m,y),ar(ie),Jt(ce,ye,ie),Yr(ye,E.subarray(32)),ve(ce,ye),ut(z,ce),y-=64,b(E,0,z,0)){for(x=0;x<y;x++)m[x]=0;return-1}for(x=0;x<y;x++)m[x]=E[x+64];return N=y,N}c(Pt,"crypto_sign_open");var Br=32,Wt=24,ei=32,vi=16,_o=32,Us=32,yo=32,Eo=32,Cc=32,fd=Wt,QE=ei,VE=vi,ln=64,ti=32,Si=64,kc=32,Rc=64;t.lowlevel={crypto_core_hsalsa20:D,crypto_stream_xor:C,crypto_stream:P,crypto_stream_salsa20_xor:Y,crypto_stream_salsa20:X,crypto_onetimeauth:L,crypto_onetimeauth_verify:T,crypto_verify_16:A,crypto_verify_32:b,crypto_secretbox:F,crypto_secretbox_open:j,crypto_scalarmult:Er,crypto_scalarmult_base:Dr,crypto_box_beforenm:Ai,crypto_box_afternm:go,crypto_box:mo,crypto_box_open:bi,crypto_box_keypair:vr,crypto_hash:fe,crypto_sign:or,crypto_sign_keypair:Cr,crypto_sign_open:Pt,crypto_secretbox_KEYBYTES:Br,crypto_secretbox_NONCEBYTES:Wt,crypto_secretbox_ZEROBYTES:ei,crypto_secretbox_BOXZEROBYTES:vi,crypto_scalarmult_BYTES:_o,crypto_scalarmult_SCALARBYTES:Us,crypto_box_PUBLICKEYBYTES:yo,crypto_box_SECRETKEYBYTES:Eo,crypto_box_BEFORENMBYTES:Cc,crypto_box_NONCEBYTES:fd,crypto_box_ZEROBYTES:QE,crypto_box_BOXZEROBYTES:VE,crypto_sign_BYTES:ln,crypto_sign_PUBLICKEYBYTES:ti,crypto_sign_SECRETKEYBYTES:Si,crypto_sign_SEEDBYTES:kc,crypto_hash_BYTES:Rc};function dd(m,E){if(m.length!==Br)throw new Error("bad key size");if(E.length!==Wt)throw new Error("bad nonce size")}c(dd,"checkLengths");function KE(m,E){if(m.length!==yo)throw new Error("bad public key size");if(E.length!==Eo)throw new Error("bad secret key size")}c(KE,"checkBoxLengths");function kr(){var m,E;for(E=0;E<arguments.length;E++)if((m=Object.prototype.toString.call(arguments[E]))!=="[object Uint8Array]")throw new TypeError("unexpected type "+m+", use Uint8Array")}c(kr,"checkArrayTypes");function pd(m){for(var E=0;E<m.length;E++)m[E]=0}c(pd,"cleanup"),t.util||(t.util={},t.util.decodeUTF8=t.util.encodeUTF8=t.util.encodeBase64=t.util.decodeBase64=function(){throw new Error("nacl.util moved into separate package: https://github.com/dchest/tweetnacl-util-js")}),t.randomBytes=function(m){var E=new Uint8Array(m);return r(E,m),E},t.secretbox=function(m,E,y){kr(m,E,y),dd(y,E);for(var f=new Uint8Array(ei+m.length),x=new Uint8Array(f.length),N=0;N<m.length;N++)f[N+ei]=m[N];return F(x,f,f.length,E,y),x.subarray(vi)},t.secretbox.open=function(m,E,y){kr(m,E,y),dd(y,E);for(var f=new Uint8Array(vi+m.length),x=new Uint8Array(f.length),N=0;N<m.length;N++)f[N+vi]=m[N];return f.length<32||j(x,f,f.length,E,y)!==0?!1:x.subarray(ei)},t.secretbox.keyLength=Br,t.secretbox.nonceLength=Wt,t.secretbox.overheadLength=vi,t.scalarMult=function(m,E){if(kr(m,E),m.length!==Us)throw new Error("bad n size");if(E.length!==_o)throw new Error("bad p size");var y=new Uint8Array(_o);return Er(y,m,E),y},t.scalarMult.base=function(m){if(kr(m),m.length!==Us)throw new Error("bad n size");var E=new Uint8Array(_o);return Dr(E,m),E},t.scalarMult.scalarLength=Us,t.scalarMult.groupElementLength=_o,t.box=function(m,E,y,f){var x=t.box.before(y,f);return t.secretbox(m,E,x)},t.box.before=function(m,E){kr(m,E),KE(m,E);var y=new Uint8Array(Cc);return Ai(y,m,E),y},t.box.after=t.secretbox,t.box.open=function(m,E,y,f){var x=t.box.before(y,f);return t.secretbox.open(m,E,x)},t.box.open.after=t.secretbox.open,t.box.keyPair=function(){var m=new Uint8Array(yo),E=new Uint8Array(Eo);return vr(m,E),{publicKey:m,secretKey:E}},t.box.keyPair.fromSecretKey=function(m){if(kr(m),m.length!==Eo)throw new Error("bad secret key size");var E=new Uint8Array(yo);return Dr(E,m),{publicKey:E,secretKey:new Uint8Array(m)}},t.box.publicKeyLength=yo,t.box.secretKeyLength=Eo,t.box.sharedKeyLength=Cc,t.box.nonceLength=fd,t.box.overheadLength=t.secretbox.overheadLength,t.sign=function(m,E){if(kr(m,E),E.length!==Si)throw new Error("bad secret key size");var y=new Uint8Array(ln+m.length);return or(y,m,m.length,E),y},t.sign.open=function(m,E){if(arguments.length!==2)throw new Error("nacl.sign.open accepts 2 arguments; did you mean to use nacl.sign.detached.verify?");if(kr(m,E),E.length!==ti)throw new Error("bad public key size");var y=new Uint8Array(m.length),f=Pt(y,m,m.length,E);if(f<0)return null;for(var x=new Uint8Array(f),N=0;N<x.length;N++)x[N]=y[N];return x},t.sign.detached=function(m,E){for(var y=t.sign(m,E),f=new Uint8Array(ln),x=0;x<f.length;x++)f[x]=y[x];return f},t.sign.detached.verify=function(m,E,y){if(kr(m,E,y),E.length!==ln)throw new Error("bad signature size");if(y.length!==ti)throw new Error("bad public key size");var f=new Uint8Array(ln+m.length),x=new Uint8Array(ln+m.length),N;for(N=0;N<ln;N++)f[N]=E[N];for(N=0;N<m.length;N++)f[N+ln]=m[N];return Pt(x,f,f.length,y)>=0},t.sign.keyPair=function(){var m=new Uint8Array(ti),E=new Uint8Array(Si);return Cr(m,E),{publicKey:m,secretKey:E}},t.sign.keyPair.fromSecretKey=function(m){if(kr(m),m.length!==Si)throw new Error("bad secret key size");for(var E=new Uint8Array(ti),y=0;y<E.length;y++)E[y]=m[32+y];return{publicKey:E,secretKey:new Uint8Array(m)}},t.sign.keyPair.fromSeed=function(m){if(kr(m),m.length!==kc)throw new Error("bad seed size");for(var E=new Uint8Array(ti),y=new Uint8Array(Si),f=0;f<32;f++)y[f]=m[f];return Cr(E,y,!0),{publicKey:E,secretKey:y}},t.sign.publicKeyLength=ti,t.sign.secretKeyLength=Si,t.sign.seedLength=kc,t.sign.signatureLength=ln,t.hash=function(m){kr(m);var E=new Uint8Array(Rc);return fe(E,m,m.length),E},t.hash.hashLength=Rc,t.verify=function(m,E){return kr(m,E),m.length===0||E.length===0||m.length!==E.length?!1:_(m,0,E,0,m.length)===0},t.setPRNG=function(m){r=m},(function(){var m=typeof self<"u"?self.crypto||self.msCrypto:null;if(m&&m.getRandomValues){var E=65536;t.setPRNG(function(y,f){var x,N=new Uint8Array(f);for(x=0;x<f;x+=E)m.getRandomValues(N.subarray(x,x+Math.min(f-x,E)));for(x=0;x<f;x++)y[x]=N[x];pd(N)})}else typeof require<"u"&&(m=require("crypto"),m&&m.randomBytes&&t.setPRNG(function(y,f){var x,N=m.randomBytes(f);for(x=0;x<f;x++)y[x]=N[x];pd(N)}))})()})(typeof Ia<"u"&&Ia.exports?Ia.exports:self.nacl=self.nacl||{})});var Fu=le((hF,Eg)=>{"use strict";var Lu=yg().lowlevel.crypto_hash,yn=0,ai=c(function(){this.S=[new Uint32Array([3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946]),new Uint32Array([1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055]),new Uint32Array([3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504]),new Uint32Array([976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462])],this.P=new Uint32Array([608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731])},"Blowfish");function Sa(t,e,r){return(t[0][e[r+3]]+t[1][e[r+2]]^t[2][e[r+1]])+t[3][e[r]]}c(Sa,"F");ai.prototype.encipher=function(t,e){e===void 0&&(e=new Uint8Array(t.buffer),t.byteOffset!==0&&(e=e.subarray(t.byteOffset))),t[0]^=this.P[0];for(var r=1;r<16;r+=2)t[1]^=Sa(this.S,e,0)^this.P[r],t[0]^=Sa(this.S,e,4)^this.P[r+1];var n=t[0];t[0]=t[1]^this.P[17],t[1]=n};ai.prototype.decipher=function(t){var e=new Uint8Array(t.buffer);t.byteOffset!==0&&(e=e.subarray(t.byteOffset)),t[0]^=this.P[17];for(var r=16;r>0;r-=2)t[1]^=Sa(this.S,e,0)^this.P[r],t[0]^=Sa(this.S,e,4)^this.P[r-1];var n=t[0];t[0]=t[1]^this.P[0],t[1]=n};function si(t,e){var r,n=0;for(r=0;r<4;r++,yn++)yn>=e&&(yn=0),n=n<<8|t[yn];return n}c(si,"stream2word");ai.prototype.expand0state=function(t,e){var r=new Uint32Array(2),n,i,o=new Uint8Array(r.buffer);for(n=0,yn=0;n<18;n++)this.P[n]^=si(t,e);for(yn=0,n=0;n<18;n+=2)this.encipher(r,o),this.P[n]=r[0],this.P[n+1]=r[1];for(n=0;n<4;n++)for(i=0;i<256;i+=2)this.encipher(r,o),this.S[n][i]=r[0],this.S[n][i+1]=r[1]};ai.prototype.expandstate=function(t,e,r,n){var i=new Uint32Array(2),o,s;for(o=0,yn=0;o<18;o++)this.P[o]^=si(r,n);for(o=0,yn=0;o<18;o+=2)i[0]^=si(t,e),i[1]^=si(t,e),this.encipher(i),this.P[o]=i[0],this.P[o+1]=i[1];for(o=0;o<4;o++)for(s=0;s<256;s+=2)i[0]^=si(t,e),i[1]^=si(t,e),this.encipher(i),this.S[o][s]=i[0],this.S[o][s+1]=i[1];yn=0};ai.prototype.enc=function(t,e){for(var r=0;r<e;r++)this.encipher(t.subarray(r*2))};ai.prototype.dec=function(t,e){for(var r=0;r<e;r++)this.decipher(t.subarray(r*2))};var va=8,zu=32;function Mu(t,e,r){var n=new ai,i=new Uint32Array(va),o,s=new Uint8Array([79,120,121,99,104,114,111,109,97,116,105,99,66,108,111,119,102,105,115,104,83,119,97,116,68,121,110,97,109,105,116,101]);for(n.expandstate(e,64,t,64),o=0;o<64;o++)n.expand0state(e,64),n.expand0state(t,64);for(o=0;o<va;o++)i[o]=si(s,s.byteLength);for(o=0;o<64;o++)n.enc(i,i.byteLength/8);for(o=0;o<va;o++)r[4*o+3]=i[o]>>>24,r[4*o+2]=i[o]>>>16,r[4*o+1]=i[o]>>>8,r[4*o+0]=i[o]}c(Mu,"bcrypt_hash");function Mx(t,e,r,n,i,o,s){var a=new Uint8Array(64),u=new Uint8Array(64),l=new Uint8Array(zu),d=new Uint8Array(zu),p=new Uint8Array(n+4),g,h,_,A,b,v,w=o;if(s<1||e===0||n===0||o===0||o>l.byteLength*l.byteLength||n>1<<20)return-1;for(A=Math.floor((o+l.byteLength-1)/l.byteLength),_=Math.floor((o+A-1)/A),g=0;g<n;g++)p[g]=r[g];for(Lu(a,t,e),v=1;o>0;v++){for(p[n+0]=v>>>24,p[n+1]=v>>>16,p[n+2]=v>>>8,p[n+3]=v,Lu(u,p,n+4),Mu(a,u,d),g=l.byteLength;g--;)l[g]=d[g];for(g=1;g<s;g++)for(Lu(u,d,d.byteLength),Mu(a,u,d),h=0;h<l.byteLength;h++)l[h]^=d[h];for(_=Math.min(_,o),g=0;g<_&&(b=g*A+(v-1),!(b>=w));g++)i[b]=l[g];o-=g}return 0}c(Mx,"bcrypt_pbkdf");Eg.exports={BLOCKS:va,HASHSIZE:zu,hash:Mu,pbkdf:Mx}});var An=le((mF,Pa)=>{"use strict";var En=require("crypto"),Vi;try{Vi=require("cpu-features")()}catch{}var{bindingAvailable:Ag,CIPHER_INFO:Fx,MAC_INFO:Hx}=Mn(),bg=(()=>{if(typeof En.sign=="function"&&typeof En.verify=="function"){let t=`-----BEGIN PRIVATE KEY-----\r
7
7
  MC4CAQAwBQYDK2VwBCIEIHKj+sVa9WcD/q2DJUJaf43Kptc8xYuUQA4bOFj9vC8T\r
8
- -----END PRIVATE KEY-----`,e=Buffer.from("a"),r,n;try{r=En.sign(null,e,t),n=En.verify(null,e,t,r)}catch{}return Buffer.isBuffer(r)&&r.length===64&&n===!0}return!1})(),hg=typeof En.diffieHellman=="function"&&typeof En.generateKeyPairSync=="function"&&typeof En.createPublicKey=="function",wa=["ecdh-sha2-nistp256","ecdh-sha2-nistp384","ecdh-sha2-nistp521","diffie-hellman-group-exchange-sha256","diffie-hellman-group14-sha256","diffie-hellman-group15-sha512","diffie-hellman-group16-sha512","diffie-hellman-group17-sha512","diffie-hellman-group18-sha512"];hg&&(wa.unshift("curve25519-sha256"),wa.unshift("curve25519-sha256@libssh.org"));var $x=wa.concat(["diffie-hellman-group-exchange-sha1","diffie-hellman-group14-sha1","diffie-hellman-group1-sha1"]),Mu=["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","rsa-sha2-512","rsa-sha2-256","ssh-rsa"];pg&&Mu.unshift("ssh-ed25519");var Dx=Mu.concat(["ssh-dss"]),gg=(()=>{let t=En.getCiphers();return e=>t.includes(Nx[e].sslName)})(),Ln=["aes128-gcm@openssh.com","aes256-gcm@openssh.com","aes128-ctr","aes192-ctr","aes256-ctr"];Vi&&Vi.flags&&!Vi.flags.aes?dg?Ln.unshift("chacha20-poly1305@openssh.com"):Ln.push("chacha20-poly1305@openssh.com"):dg&&Vi&&Vi.arch==="x86"?Ln.splice(4,0,"chacha20-poly1305@openssh.com"):Ln.push("chacha20-poly1305@openssh.com");Ln=Ln.filter(gg);var Bx=Ln.concat(["aes256-cbc","aes192-cbc","aes128-cbc","blowfish-cbc","3des-cbc","aes128-gcm","aes256-gcm","arcfour256","arcfour128","cast128-cbc","arcfour"].filter(gg)),mg=(()=>{let t=En.getHashes();return e=>t.includes(Ox[e].sslName)})(),_g=["hmac-sha2-256-etm@openssh.com","hmac-sha2-512-etm@openssh.com","hmac-sha1-etm@openssh.com","hmac-sha2-256","hmac-sha2-512","hmac-sha1"].filter(mg),Ux=_g.concat(["hmac-md5","hmac-sha2-256-96","hmac-sha2-512-96","hmac-ripemd160","hmac-sha1-96","hmac-md5-96"].filter(mg)),yg=["none","zlib@openssh.com","zlib"],Lx=yg.concat([]),Qi={BAD_DHGEX:1,OLD_EXIT:2,DYN_RPORT_BUG:4,BUG_DHGEX_LARGE:8,IMPLY_RSA_SHA2_SIGALGS:16};Pa.exports={MESSAGE:{DISCONNECT:1,IGNORE:2,UNIMPLEMENTED:3,DEBUG:4,SERVICE_REQUEST:5,SERVICE_ACCEPT:6,EXT_INFO:7,KEXINIT:20,NEWKEYS:21,KEXDH_INIT:30,KEXDH_REPLY:31,KEXDH_GEX_GROUP:31,KEXDH_GEX_INIT:32,KEXDH_GEX_REPLY:33,KEXDH_GEX_REQUEST:34,KEXECDH_INIT:30,KEXECDH_REPLY:31,USERAUTH_REQUEST:50,USERAUTH_FAILURE:51,USERAUTH_SUCCESS:52,USERAUTH_BANNER:53,USERAUTH_PASSWD_CHANGEREQ:60,USERAUTH_PK_OK:60,USERAUTH_INFO_REQUEST:60,USERAUTH_INFO_RESPONSE:61,GLOBAL_REQUEST:80,REQUEST_SUCCESS:81,REQUEST_FAILURE:82,CHANNEL_OPEN:90,CHANNEL_OPEN_CONFIRMATION:91,CHANNEL_OPEN_FAILURE:92,CHANNEL_WINDOW_ADJUST:93,CHANNEL_DATA:94,CHANNEL_EXTENDED_DATA:95,CHANNEL_EOF:96,CHANNEL_CLOSE:97,CHANNEL_REQUEST:98,CHANNEL_SUCCESS:99,CHANNEL_FAILURE:100},DISCONNECT_REASON:{HOST_NOT_ALLOWED_TO_CONNECT:1,PROTOCOL_ERROR:2,KEY_EXCHANGE_FAILED:3,RESERVED:4,MAC_ERROR:5,COMPRESSION_ERROR:6,SERVICE_NOT_AVAILABLE:7,PROTOCOL_VERSION_NOT_SUPPORTED:8,HOST_KEY_NOT_VERIFIABLE:9,CONNECTION_LOST:10,BY_APPLICATION:11,TOO_MANY_CONNECTIONS:12,AUTH_CANCELED_BY_USER:13,NO_MORE_AUTH_METHODS_AVAILABLE:14,ILLEGAL_USER_NAME:15},DISCONNECT_REASON_STR:void 0,CHANNEL_OPEN_FAILURE:{ADMINISTRATIVELY_PROHIBITED:1,CONNECT_FAILED:2,UNKNOWN_CHANNEL_TYPE:3,RESOURCE_SHORTAGE:4},TERMINAL_MODE:{TTY_OP_END:0,VINTR:1,VQUIT:2,VERASE:3,VKILL:4,VEOF:5,VEOL:6,VEOL2:7,VSTART:8,VSTOP:9,VSUSP:10,VDSUSP:11,VREPRINT:12,VWERASE:13,VLNEXT:14,VFLUSH:15,VSWTCH:16,VSTATUS:17,VDISCARD:18,IGNPAR:30,PARMRK:31,INPCK:32,ISTRIP:33,INLCR:34,IGNCR:35,ICRNL:36,IUCLC:37,IXON:38,IXANY:39,IXOFF:40,IMAXBEL:41,ISIG:50,ICANON:51,XCASE:52,ECHO:53,ECHOE:54,ECHOK:55,ECHONL:56,NOFLSH:57,TOSTOP:58,IEXTEN:59,ECHOCTL:60,ECHOKE:61,PENDIN:62,OPOST:70,OLCUC:71,ONLCR:72,OCRNL:73,ONOCR:74,ONLRET:75,CS7:90,CS8:91,PARENB:92,PARODD:93,TTY_OP_ISPEED:128,TTY_OP_OSPEED:129},CHANNEL_EXTENDED_DATATYPE:{STDERR:1},SIGNALS:["ABRT","ALRM","FPE","HUP","ILL","INT","QUIT","SEGV","TERM","USR1","USR2","KILL","PIPE"].reduce((t,e)=>({...t,[e]:1}),{}),COMPAT:Qi,COMPAT_CHECKS:[["Cisco-1.25",Qi.BAD_DHGEX],[/^Cisco-1[.]/,Qi.BUG_DHGEX_LARGE],[/^[0-9.]+$/,Qi.OLD_EXIT],[/^OpenSSH_5[.][0-9]+/,Qi.DYN_RPORT_BUG],[/^OpenSSH_7[.]4/,Qi.IMPLY_RSA_SHA2_SIGALGS]],DEFAULT_KEX:wa,SUPPORTED_KEX:$x,DEFAULT_SERVER_HOST_KEY:Mu,SUPPORTED_SERVER_HOST_KEY:Dx,DEFAULT_CIPHER:Ln,SUPPORTED_CIPHER:Bx,DEFAULT_MAC:_g,SUPPORTED_MAC:Ux,DEFAULT_COMPRESSION:yg,SUPPORTED_COMPRESSION:Lx,curve25519Supported:hg,eddsaSupported:pg};Pa.exports.DISCONNECT_REASON_BY_VALUE=Array.from(Object.entries(Pa.exports.DISCONNECT_REASON)).reduce((t,[e,r])=>({...t,[r]:e}),{})});var Qr=le((V3,xg)=>{"use strict";var Mr=Ko().Ber,Ta,bg=Buffer[Symbol.species],zx=Object.getPrototypeOf(Uint8Array.prototype).fill;function Eg(t,e){return t[e++]*16777216+t[e++]*65536+t[e++]*256+t[e]}c(Eg,"readUInt32BE");function Go(t,e,r,n,i){i||(i=0),n>t.length&&(n=t.length);let o=n-r,s=e.length-i;return o>s&&(o=s),e.set(new Uint8Array(t.buffer,t.byteOffset+r,o),i),o}c(Go,"bufferCopy");function Zo(t,e,r){return r===void 0&&(r=t.length),new bg(t.buffer,t.byteOffset+e,r-e)}c(Zo,"bufferSlice");function Hu(){let t=0,e,r={init:c((n,i)=>{e=n,t=typeof i=="number"?i:0},"init"),pos:c(()=>t,"pos"),length:c(()=>e?e.length:0,"length"),avail:c(()=>e&&t<e.length?e.length-t:0,"avail"),clear:c(()=>{e=void 0},"clear"),readUInt32BE:c(()=>{if(!(!e||t+3>=e.length))return e[t++]*16777216+e[t++]*65536+e[t++]*256+e[t++]},"readUInt32BE"),readUInt64BE:c(n=>{if(!(!e||t+7>=e.length))switch(n){case"always":return BigInt(`0x${e.hexSlice(t,t+=8)}`);case"maybe":if(e[t]>31)return BigInt(`0x${e.hexSlice(t,t+=8)}`);default:return e[t++]*72057594037927940+e[t++]*281474976710656+e[t++]*1099511627776+e[t++]*4294967296+e[t++]*16777216+e[t++]*65536+e[t++]*256+e[t++]}},"readUInt64BE"),skip:c(n=>{e&&n>0&&(t+=n)},"skip"),skipString:c(()=>{let n=r.readUInt32BE();if(n!==void 0)return t+=n,t<=e.length?n:void 0},"skipString"),readByte:c(()=>{if(e&&t<e.length)return e[t++]},"readByte"),readBool:c(()=>{if(e&&t<e.length)return!!e[t++]},"readBool"),readList:c(()=>{let n=r.readString(!0);if(n!==void 0)return n?n.split(","):[]},"readList"),readString:c((n,i)=>{typeof n=="number"&&(i=n,n=void 0);let o=r.readUInt32BE();if(o!==void 0&&!(e.length-t<o||typeof i=="number"&&o>i))return n?Buffer.isBuffer(n)?Go(e,n,t,t+=o):e.utf8Slice(t,t+=o):Zo(e,t,t+=o)},"readString"),readRaw:c(n=>{if(e){if(typeof n!="number")return Zo(e,t,t+=e.length-t);if(e.length-t>=n)return Zo(e,t,t+=n)}},"readRaw")};return r}c(Hu,"makeBufferParser");function Ag(t,e,r){let n=new Error(t);return typeof e=="boolean"?(r=e,n.level="protocol"):n.level=e||"protocol",n.fatal=!!r,n}c(Ag,"makeError");function Fu(t,e,r){return t[r++]=e>>>24,t[r++]=e>>>16,t[r++]=e>>>8,t[r++]=e,r}c(Fu,"writeUInt32BE");var ka=Hu();xg.exports={bufferCopy:Go,bufferSlice:Zo,FastBuffer:bg,bufferFill:c((t,e,r,n)=>zx.call(t,e,r,n),"bufferFill"),makeError:Ag,doFatalError:c((t,e,r,n)=>{let i;return Ta===void 0&&({DISCONNECT_REASON:Ta}=An()),e instanceof Error?(i=e,typeof r!="number"?n=Ta.PROTOCOL_ERROR:n=r):i=Ag(e,r,!0),typeof n!="number"&&(n=Ta.PROTOCOL_ERROR),t.disconnect(n),t._destruct(),t._onError(i),1/0},"doFatalError"),readUInt32BE:Eg,writeUInt32BE:Fu,writeUInt32LE:c((t,e,r)=>(t[r++]=e,t[r++]=e>>>8,t[r++]=e>>>16,t[r++]=e>>>24,r),"writeUInt32LE"),makeBufferParser:Hu,bufferParser:Hu(),readString:c((t,e,r,n)=>{typeof r=="number"&&(n=r,r=void 0),e===void 0&&(e=0);let i=t.length-e;if(e<0||e>=t.length||i<4)return;let o=Eg(t,e);if(i<4+o||typeof n=="number"&&o>n)return;e+=4;let s=e+o;return t._pos=s,r?Buffer.isBuffer(r)?Go(t,r,e,s):t.utf8Slice(e,s):Zo(t,e,s)},"readString"),sigSSHToASN1:c((t,e)=>{switch(e){case"ssh-dss":{if(t.length>40)return t;let r=new Mr.Writer;r.startSequence();let n=t.slice(0,20),i=t.slice(20);if(n[0]&128){let o=Buffer.allocUnsafe(21);o[0]=0,n.copy(o,1),n=o}else n[0]===0&&!(n[1]&128)&&(n=n.slice(1));if(i[0]&128){let o=Buffer.allocUnsafe(21);o[0]=0,i.copy(o,1),i=o}else i[0]===0&&!(i[1]&128)&&(i=i.slice(1));return r.writeBuffer(n,Mr.Integer),r.writeBuffer(i,Mr.Integer),r.endSequence(),r.buffer}case"ecdsa-sha2-nistp256":case"ecdsa-sha2-nistp384":case"ecdsa-sha2-nistp521":{ka.init(t,0);let r=ka.readString(),n=ka.readString();if(ka.clear(),r===void 0||n===void 0)return;let i=new Mr.Writer;return i.startSequence(),i.writeBuffer(r,Mr.Integer),i.writeBuffer(n,Mr.Integer),i.endSequence(),i.buffer}default:return t}},"sigSSHToASN1"),convertSignature:c((t,e)=>{switch(e){case"ssh-dss":{if(t.length<=40)return t;let r=new Mr.Reader(t);r.readSequence();let n=r.readString(Mr.Integer,!0),i=r.readString(Mr.Integer,!0),o=0,s=0;if(n.length<20){let u=Buffer.allocUnsafe(20);u.set(n,1),n=u,n[0]=0}if(i.length<20){let u=Buffer.allocUnsafe(20);u.set(i,1),i=u,i[0]=0}n.length>20&&n[0]===0&&(o=1),i.length>20&&i[0]===0&&(s=1);let a=Buffer.allocUnsafe(n.length-o+(i.length-s));return Go(n,a,o,n.length,0),Go(i,a,s,i.length,n.length-o),a}case"ecdsa-sha2-nistp256":case"ecdsa-sha2-nistp384":case"ecdsa-sha2-nistp521":{if(t[0]===0)return t;let r=new Mr.Reader(t);r.readSequence();let n=r.readString(Mr.Integer,!0),i=r.readString(Mr.Integer,!0);if(n===null||i===null)return;let o=Buffer.allocUnsafe(4+n.length+4+i.length);return Fu(o,n.length,0),o.set(n,4),Fu(o,i.length,4+n.length),o.set(i,8+n.length),o}}return t},"convertSignature"),sendPacket:c((t,e,r)=>!r&&t._kexinit!==void 0?(t._queue===void 0&&(t._queue=[]),t._queue.push(e),t._debug&&t._debug("Outbound: ... packet queued"),!1):(t._cipher.encrypt(e),!0),"sendPacket")}});var Ig=le((Ca,Wu)=>{var ju=(function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),(function(e){e=e||{};var r;r||(r=typeof e<"u"?e:{});var n,i;r.ready=new Promise(function(te,fe){n=te,i=fe});var o={},s;for(s in r)r.hasOwnProperty(s)&&(o[s]=r[s]);var a=typeof window=="object",u=typeof importScripts=="function",l=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",d="",p,g,h,_,A;l?(d=u?require("path").dirname(d)+"/":__dirname+"/",p=c(function(te,fe){var ve=vr(te);return ve?fe?ve:ve.toString():(_||(_=require("fs")),A||(A=require("path")),te=A.normalize(te),_.readFileSync(te,fe?null:"utf8"))},"C"),h=c(function(te){return te=p(te,!0),te.buffer||(te=new Uint8Array(te)),X(te.buffer),te},"E"),g=c(function(te,fe,ve){var De=vr(te);De&&fe(De),_||(_=require("fs")),A||(A=require("path")),te=A.normalize(te),_.readFile(te,function(ut,Jt){ut?ve(ut):fe(Jt.buffer)})},"D"),1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),r.inspect=function(){return"[Emscripten Module object]"}):(a||u)&&(u?d=self.location.href:typeof document<"u"&&document.currentScript&&(d=document.currentScript.src),t&&(d=t),d.indexOf("blob:")!==0?d=d.substr(0,d.lastIndexOf("/")+1):d="",p=c(function(te){try{var fe=new XMLHttpRequest;return fe.open("GET",te,!1),fe.send(null),fe.responseText}catch(ut){if(te=vr(te)){fe=[];for(var ve=0;ve<te.length;ve++){var De=te[ve];255<De&&(yr&&X(!1,"Character code "+De+" ("+String.fromCharCode(De)+") at offset "+ve+" not in 0x00-0xFF."),De&=255),fe.push(String.fromCharCode(De))}return fe.join("")}throw ut}},"C"),u&&(h=c(function(te){try{var fe=new XMLHttpRequest;return fe.open("GET",te,!1),fe.responseType="arraybuffer",fe.send(null),new Uint8Array(fe.response)}catch(ve){if(te=vr(te))return te;throw ve}},"E")),g=c(function(te,fe,ve){var De=new XMLHttpRequest;De.open("GET",te,!0),De.responseType="arraybuffer",De.onload=function(){if(De.status==200||De.status==0&&De.response)fe(De.response);else{var ut=vr(te);ut?fe(ut.buffer):ve()}},De.onerror=ve,De.send(null)},"D")),r.print||console.log.bind(console);var b=r.printErr||console.warn.bind(console);for(s in o)o.hasOwnProperty(s)&&(r[s]=o[s]);o=null;var I;r.wasmBinary&&(I=r.wasmBinary);var w=r.noExitRuntime||!0;typeof WebAssembly!="object"&&J("no native wasm support detected");var H,$=!1;function X(te,fe){te||J("Assertion failed: "+fe)}c(X,"assert");function Z(te){var fe=r["_"+te];return X(fe,"Cannot call unknown function "+te+", make sure it is exported"),fe}c(Z,"N");function Y(te,fe,ve,De){var ut={string:c(function(xt){var sr=0;if(xt!=null&&xt!==0){var ir=(xt.length<<2)+1;sr=mo(ir);var Ht=sr,Pt=L;if(0<ir){ir=Ht+ir-1;for(var Br=0;Br<xt.length;++Br){var jt=xt.charCodeAt(Br);if(55296<=jt&&57343>=jt){var Jn=xt.charCodeAt(++Br);jt=65536+((jt&1023)<<10)|Jn&1023}if(127>=jt){if(Ht>=ir)break;Pt[Ht++]=jt}else{if(2047>=jt){if(Ht+1>=ir)break;Pt[Ht++]=192|jt>>6}else{if(65535>=jt){if(Ht+2>=ir)break;Pt[Ht++]=224|jt>>12}else{if(Ht+3>=ir)break;Pt[Ht++]=240|jt>>18,Pt[Ht++]=128|jt>>12&63}Pt[Ht++]=128|jt>>6&63}Pt[Ht++]=128|jt&63}}Pt[Ht]=0}}return sr},"string"),array:c(function(xt){var sr=mo(xt.length);return M.set(xt,sr),sr},"array")},Jt=Z(te),Yr=[];if(te=0,De)for(var kr=0;kr<De.length;kr++){var Ii=ut[ve[kr]];Ii?(te===0&&(te=go()),Yr[kr]=Ii(De[kr])):Yr[kr]=De[kr]}return ve=Jt.apply(null,Yr),ve=(function(xt){if(fe==="string")if(xt){for(var sr=L,ir=xt+NaN,Ht=xt;sr[Ht]&&!(Ht>=ir);)++Ht;if(16<Ht-xt&&sr.subarray&&P)xt=P.decode(sr.subarray(xt,Ht));else{for(ir="";xt<Ht;){var Pt=sr[xt++];if(Pt&128){var Br=sr[xt++]&63;if((Pt&224)==192)ir+=String.fromCharCode((Pt&31)<<6|Br);else{var jt=sr[xt++]&63;Pt=(Pt&240)==224?(Pt&15)<<12|Br<<6|jt:(Pt&7)<<18|Br<<12|jt<<6|sr[xt++]&63,65536>Pt?ir+=String.fromCharCode(Pt):(Pt-=65536,ir+=String.fromCharCode(55296|Pt>>10,56320|Pt&1023))}}else ir+=String.fromCharCode(Pt)}xt=ir}}else xt="";else xt=fe==="boolean"?!!xt:xt;return xt})(ve),te!==0&&Bs(te),ve}c(Y,"ca");var P=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,k,M,L;function T(){var te=H.buffer;k=te,r.HEAP8=M=new Int8Array(te),r.HEAP16=new Int16Array(te),r.HEAP32=new Int32Array(te),r.HEAPU8=L=new Uint8Array(te),r.HEAPU16=new Uint16Array(te),r.HEAPU32=new Uint32Array(te),r.HEAPF32=new Float32Array(te),r.HEAPF64=new Float64Array(te)}c(T,"ia");var F,j=[],B=[],G=[];function ee(){var te=r.preRun.shift();j.unshift(te)}c(ee,"ma");var C=0,W=null,q=null;r.preloadedImages={},r.preloadedAudios={};function J(te){throw r.onAbort&&r.onAbort(te),b(te),$=!0,te=new WebAssembly.RuntimeError("abort("+te+"). Build with -s ASSERTIONS=1 for more info."),i(te),te}c(J,"K");var ue="data:application/octet-stream;base64,",me;if(me="data:application/octet-stream;base64,AGFzbQEAAAABIAZgAX8Bf2ADf39/AGABfwBgAABgAAF/YAZ/f39/f38AAgcBAWEBYQAAAwsKAAEDAQAAAgQFAgQFAXABAQEFBwEBgAKAgAIGCQF/AUGAjMACCwclCQFiAgABYwADAWQACQFlAAgBZgAHAWcABgFoAAUBaQAKAWoBAAqGTQpPAQJ/QYAIKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQAEUNAQtBgAggADYCACABDwtBhAhBMDYCAEF/C4wFAg5+Cn8gACgCJCEUIAAoAiAhFSAAKAIcIREgACgCGCESIAAoAhQhEyACQRBPBEAgAC0ATEVBGHQhFyAAKAIEIhZBBWytIQ8gACgCCCIYQQVsrSENIAAoAgwiGUEFbK0hCyAAKAIQIhpBBWytIQkgADUCACEIIBqtIRAgGa0hDiAYrSEMIBatIQoDQCASIAEtAAMiEiABLQAEQQh0ciABLQAFQRB0ciABLQAGIhZBGHRyQQJ2Qf///x9xaq0iAyAOfiABLwAAIAEtAAJBEHRyIBNqIBJBGHRBgICAGHFqrSIEIBB+fCARIAEtAAdBCHQgFnIgAS0ACEEQdHIgAS0ACSIRQRh0ckEEdkH///8fcWqtIgUgDH58IAEtAApBCHQgEXIgAS0AC0EQdHIgAS0ADEEYdHJBBnYgFWqtIgYgCn58IBQgF2ogAS8ADSABLQAPQRB0cmqtIgcgCH58IAMgDH4gBCAOfnwgBSAKfnwgBiAIfnwgByAJfnwgAyAKfiAEIAx+fCAFIAh+fCAGIAl+fCAHIAt+fCADIAh+IAQgCn58IAUgCX58IAYgC358IAcgDX58IAMgCX4gBCAIfnwgBSALfnwgBiANfnwgByAPfnwiA0IaiEL/////D4N8IgRCGohC/////w+DfCIFQhqIQv////8Pg3wiBkIaiEL/////D4N8IgdCGoinQQVsIAOnQf///x9xaiITQRp2IASnQf///x9xaiESIAWnQf///x9xIREgBqdB////H3EhFSAHp0H///8fcSEUIBNB////H3EhEyABQRBqIQEgAkEQayICQQ9LDQALCyAAIBQ2AiQgACAVNgIgIAAgETYCHCAAIBI2AhggACATNgIUCwMAAQu2BAEGfwJAIAAoAjgiBARAIABBPGohBQJAIAJBECAEayIDIAIgA0kbIgZFDQAgBkEDcSEHAkAgBkEBa0EDSQRAQQAhAwwBCyAGQXxxIQhBACEDA0AgBSADIARqaiABIANqLQAAOgAAIAUgA0EBciIEIAAoAjhqaiABIARqLQAAOgAAIAUgA0ECciIEIAAoAjhqaiABIARqLQAAOgAAIAUgA0EDciIEIAAoAjhqaiABIARqLQAAOgAAIANBBGohAyAAKAI4IQQgCEEEayIIDQALCyAHRQ0AA0AgBSADIARqaiABIANqLQAAOgAAIANBAWohAyAAKAI4IQQgB0EBayIHDQALCyAAIAQgBmoiAzYCOCADQRBJDQEgACAFQRAQAiAAQQA2AjggAiAGayECIAEgBmohAQsgAkEQTwRAIAAgASACQXBxIgMQAiACQQ9xIQIgASADaiEBCyACRQ0AIAJBA3EhBCAAQTxqIQVBACEDIAJBAWtBA08EQCACQXxxIQcDQCAFIAAoAjggA2pqIAEgA2otAAA6AAAgBSADQQFyIgYgACgCOGpqIAEgBmotAAA6AAAgBSADQQJyIgYgACgCOGpqIAEgBmotAAA6AAAgBSADQQNyIgYgACgCOGpqIAEgBmotAAA6AAAgA0EEaiEDIAdBBGsiBw0ACwsgBARAA0AgBSAAKAI4IANqaiABIANqLQAAOgAAIANBAWohAyAEQQFrIgQNAAsLIAAgACgCOCACajYCOAsLoS0BDH8jAEEQayIMJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEGICCgCACIFQRAgAEELakF4cSAAQQtJGyIIQQN2IgJ2IgFBA3EEQCABQX9zQQFxIAJqIgNBA3QiAUG4CGooAgAiBEEIaiEAAkAgBCgCCCICIAFBsAhqIgFGBEBBiAggBUF+IAN3cTYCAAwBCyACIAE2AgwgASACNgIICyAEIANBA3QiAUEDcjYCBCABIARqIgEgASgCBEEBcjYCBAwNCyAIQZAIKAIAIgpNDQEgAQRAAkBBAiACdCIAQQAgAGtyIAEgAnRxIgBBACAAa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2aiIDQQN0IgBBuAhqKAIAIgQoAggiASAAQbAIaiIARgRAQYgIIAVBfiADd3EiBTYCAAwBCyABIAA2AgwgACABNgIICyAEQQhqIQAgBCAIQQNyNgIEIAQgCGoiAiADQQN0IgEgCGsiA0EBcjYCBCABIARqIAM2AgAgCgRAIApBA3YiAUEDdEGwCGohB0GcCCgCACEEAn8gBUEBIAF0IgFxRQRAQYgIIAEgBXI2AgAgBwwBCyAHKAIICyEBIAcgBDYCCCABIAQ2AgwgBCAHNgIMIAQgATYCCAtBnAggAjYCAEGQCCADNgIADA0LQYwIKAIAIgZFDQEgBkEAIAZrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QbgKaigCACIBKAIEQXhxIAhrIQMgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAhrIgIgAyACIANJIgIbIQMgACABIAIbIQEgACECDAELCyABIAhqIgkgAU0NAiABKAIYIQsgASABKAIMIgRHBEAgASgCCCIAQZgIKAIASRogACAENgIMIAQgADYCCAwMCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQQgAUEQaiECCwNAIAIhByAAIgRBFGoiAigCACIADQAgBEEQaiECIAQoAhAiAA0ACyAHQQA2AgAMCwtBfyEIIABBv39LDQAgAEELaiIAQXhxIQhBjAgoAgAiCUUNAEEAIAhrIQMCQAJAAkACf0EAIAhBgAJJDQAaQR8gCEH///8HSw0AGiAAQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgCCAAQRVqdkEBcXJBHGoLIgVBAnRBuApqKAIAIgJFBEBBACEADAELQQAhACAIQQBBGSAFQQF2ayAFQR9GG3QhAQNAAkAgAigCBEF4cSAIayIHIANPDQAgAiEEIAciAw0AQQAhAyACIQAMAwsgACACKAIUIgcgByACIAFBHXZBBHFqKAIQIgJGGyAAIAcbIQAgAUEBdCEBIAINAAsLIAAgBHJFBEBBACEEQQIgBXQiAEEAIABrciAJcSIARQ0DIABBACAAa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2akECdEG4CmooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAhrIgEgA0khAiABIAMgAhshAyAAIAQgAhshBCAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAERQ0AIANBkAgoAgAgCGtPDQAgBCAIaiIGIARNDQEgBCgCGCEFIAQgBCgCDCIBRwRAIAQoAggiAEGYCCgCAEkaIAAgATYCDCABIAA2AggMCgsgBEEUaiICKAIAIgBFBEAgBCgCECIARQ0EIARBEGohAgsDQCACIQcgACIBQRRqIgIoAgAiAA0AIAFBEGohAiABKAIQIgANAAsgB0EANgIADAkLIAhBkAgoAgAiAk0EQEGcCCgCACEDAkAgAiAIayIBQRBPBEBBkAggATYCAEGcCCADIAhqIgA2AgAgACABQQFyNgIEIAIgA2ogATYCACADIAhBA3I2AgQMAQtBnAhBADYCAEGQCEEANgIAIAMgAkEDcjYCBCACIANqIgAgACgCBEEBcjYCBAsgA0EIaiEADAsLIAhBlAgoAgAiBkkEQEGUCCAGIAhrIgE2AgBBoAhBoAgoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAsLQQAhACAIQS9qIgkCf0HgCygCAARAQegLKAIADAELQewLQn83AgBB5AtCgKCAgICABDcCAEHgCyAMQQxqQXBxQdiq1aoFczYCAEH0C0EANgIAQcQLQQA2AgBBgCALIgFqIgVBACABayIHcSICIAhNDQpBwAsoAgAiBARAQbgLKAIAIgMgAmoiASADTQ0LIAEgBEsNCwtBxAstAABBBHENBQJAAkBBoAgoAgAiAwRAQcgLIQADQCADIAAoAgAiAU8EQCABIAAoAgRqIANLDQMLIAAoAggiAA0ACwtBABABIgFBf0YNBiACIQVB5AsoAgAiA0EBayIAIAFxBEAgAiABayAAIAFqQQAgA2txaiEFCyAFIAhNDQYgBUH+////B0sNBkHACygCACIEBEBBuAsoAgAiAyAFaiIAIANNDQcgACAESw0HCyAFEAEiACABRw0BDAgLIAUgBmsgB3EiBUH+////B0sNBSAFEAEiASAAKAIAIAAoAgRqRg0EIAEhAAsCQCAAQX9GDQAgCEEwaiAFTQ0AQegLKAIAIgEgCSAFa2pBACABa3EiAUH+////B0sEQCAAIQEMCAsgARABQX9HBEAgASAFaiEFIAAhAQwIC0EAIAVrEAEaDAULIAAiAUF/Rw0GDAQLAAtBACEEDAcLQQAhAQwFCyABQX9HDQILQcQLQcQLKAIAQQRyNgIACyACQf7///8HSw0BIAIQASEBQQAQASEAIAFBf0YNASAAQX9GDQEgACABTQ0BIAAgAWsiBSAIQShqTQ0BC0G4C0G4CygCACAFaiIANgIAQbwLKAIAIABJBEBBvAsgADYCAAsCQAJAAkBBoAgoAgAiBwRAQcgLIQADQCABIAAoAgAiAyAAKAIEIgJqRg0CIAAoAggiAA0ACwwCC0GYCCgCACIAQQAgACABTRtFBEBBmAggATYCAAtBACEAQcwLIAU2AgBByAsgATYCAEGoCEF/NgIAQawIQeALKAIANgIAQdQLQQA2AgADQCAAQQN0IgNBuAhqIANBsAhqIgI2AgAgA0G8CGogAjYCACAAQQFqIgBBIEcNAAtBlAggBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQaAIIAAgAWoiADYCACAAIAJBAXI2AgQgASADakEoNgIEQaQIQfALKAIANgIADAILIAAtAAxBCHENACADIAdLDQAgASAHTQ0AIAAgAiAFajYCBEGgCCAHQXggB2tBB3FBACAHQQhqQQdxGyIAaiICNgIAQZQIQZQIKAIAIAVqIgEgAGsiADYCACACIABBAXI2AgQgASAHakEoNgIEQaQIQfALKAIANgIADAELQZgIKAIAIAFLBEBBmAggATYCAAsgASAFaiECQcgLIQACQAJAAkACQAJAAkADQCACIAAoAgBHBEAgACgCCCIADQEMAgsLIAAtAAxBCHFFDQELQcgLIQADQCAHIAAoAgAiAk8EQCACIAAoAgRqIgQgB0sNAwsgACgCCCEADAALAAsgACABNgIAIAAgACgCBCAFajYCBCABQXggAWtBB3FBACABQQhqQQdxG2oiCSAIQQNyNgIEIAJBeCACa0EHcUEAIAJBCGpBB3EbaiIFIAggCWoiBmshAiAFIAdGBEBBoAggBjYCAEGUCEGUCCgCACACaiIANgIAIAYgAEEBcjYCBAwDCyAFQZwIKAIARgRAQZwIIAY2AgBBkAhBkAgoAgAgAmoiADYCACAGIABBAXI2AgQgACAGaiAANgIADAMLIAUoAgQiAEEDcUEBRgRAIABBeHEhBwJAIABB/wFNBEAgBSgCCCIDIABBA3YiAEEDdEGwCGpGGiADIAUoAgwiAUYEQEGICEGICCgCAEF+IAB3cTYCAAwCCyADIAE2AgwgASADNgIIDAELIAUoAhghCAJAIAUgBSgCDCIBRwRAIAUoAggiACABNgIMIAEgADYCCAwBCwJAIAVBFGoiACgCACIDDQAgBUEQaiIAKAIAIgMNAEEAIQEMAQsDQCAAIQQgAyIBQRRqIgAoAgAiAw0AIAFBEGohACABKAIQIgMNAAsgBEEANgIACyAIRQ0AAkAgBSAFKAIcIgNBAnRBuApqIgAoAgBGBEAgACABNgIAIAENAUGMCEGMCCgCAEF+IAN3cTYCAAwCCyAIQRBBFCAIKAIQIAVGG2ogATYCACABRQ0BCyABIAg2AhggBSgCECIABEAgASAANgIQIAAgATYCGAsgBSgCFCIARQ0AIAEgADYCFCAAIAE2AhgLIAUgB2ohBSACIAdqIQILIAUgBSgCBEF+cTYCBCAGIAJBAXI2AgQgAiAGaiACNgIAIAJB/wFNBEAgAkEDdiIAQQN0QbAIaiECAn9BiAgoAgAiAUEBIAB0IgBxRQRAQYgIIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwDC0EfIQAgAkH///8HTQRAIAJBCHYiACAAQYD+P2pBEHZBCHEiA3QiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASADciAAcmsiAEEBdCACIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRBuApqIQQCQEGMCCgCACIDQQEgAHQiAXFFBEBBjAggASADcjYCACAEIAY2AgAgBiAENgIYDAELIAJBAEEZIABBAXZrIABBH0YbdCEAIAQoAgAhAQNAIAEiAygCBEF4cSACRg0DIABBHXYhASAAQQF0IQAgAyABQQRxaiIEKAIQIgENAAsgBCAGNgIQIAYgAzYCGAsgBiAGNgIMIAYgBjYCCAwCC0GUCCAFQShrIgNBeCABa0EHcUEAIAFBCGpBB3EbIgBrIgI2AgBBoAggACABaiIANgIAIAAgAkEBcjYCBCABIANqQSg2AgRBpAhB8AsoAgA2AgAgByAEQScgBGtBB3FBACAEQSdrQQdxG2pBL2siACAAIAdBEGpJGyICQRs2AgQgAkHQCykCADcCECACQcgLKQIANwIIQdALIAJBCGo2AgBBzAsgBTYCAEHICyABNgIAQdQLQQA2AgAgAkEYaiEAA0AgAEEHNgIEIABBCGohASAAQQRqIQAgASAESQ0ACyACIAdGDQMgAiACKAIEQX5xNgIEIAcgAiAHayIEQQFyNgIEIAIgBDYCACAEQf8BTQRAIARBA3YiAEEDdEGwCGohAgJ/QYgIKAIAIgFBASAAdCIAcUUEQEGICCAAIAFyNgIAIAIMAQsgAigCCAshACACIAc2AgggACAHNgIMIAcgAjYCDCAHIAA2AggMBAtBHyEAIAdCADcCECAEQf///wdNBEAgBEEIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAQgAEEVanZBAXFyQRxqIQALIAcgADYCHCAAQQJ0QbgKaiEDAkBBjAgoAgAiAkEBIAB0IgFxRQRAQYwIIAEgAnI2AgAgAyAHNgIAIAcgAzYCGAwBCyAEQQBBGSAAQQF2ayAAQR9GG3QhACADKAIAIQEDQCABIgIoAgRBeHEgBEYNBCAAQR12IQEgAEEBdCEAIAIgAUEEcWoiAygCECIBDQALIAMgBzYCECAHIAI2AhgLIAcgBzYCDCAHIAc2AggMAwsgAygCCCIAIAY2AgwgAyAGNgIIIAZBADYCGCAGIAM2AgwgBiAANgIICyAJQQhqIQAMBQsgAigCCCIAIAc2AgwgAiAHNgIIIAdBADYCGCAHIAI2AgwgByAANgIIC0GUCCgCACIAIAhNDQBBlAggACAIayIBNgIAQaAIQaAIKAIAIgIgCGoiADYCACAAIAFBAXI2AgQgAiAIQQNyNgIEIAJBCGohAAwDC0GECEEwNgIAQQAhAAwCCwJAIAVFDQACQCAEKAIcIgJBAnRBuApqIgAoAgAgBEYEQCAAIAE2AgAgAQ0BQYwIIAlBfiACd3EiCTYCAAwCCyAFQRBBFCAFKAIQIARGG2ogATYCACABRQ0BCyABIAU2AhggBCgCECIABEAgASAANgIQIAAgATYCGAsgBCgCFCIARQ0AIAEgADYCFCAAIAE2AhgLAkAgA0EPTQRAIAQgAyAIaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIEDAELIAQgCEEDcjYCBCAGIANBAXI2AgQgAyAGaiADNgIAIANB/wFNBEAgA0EDdiIAQQN0QbAIaiECAn9BiAgoAgAiAUEBIAB0IgBxRQRAQYgIIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwBC0EfIQAgA0H///8HTQRAIANBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCADIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRBuApqIQICQAJAIAlBASAAdCIBcUUEQEGMCCABIAlyNgIAIAIgBjYCACAGIAI2AhgMAQsgA0EAQRkgAEEBdmsgAEEfRht0IQAgAigCACEIA0AgCCIBKAIEQXhxIANGDQIgAEEddiECIABBAXQhACABIAJBBHFqIgIoAhAiCA0ACyACIAY2AhAgBiABNgIYCyAGIAY2AgwgBiAGNgIIDAELIAEoAggiACAGNgIMIAEgBjYCCCAGQQA2AhggBiABNgIMIAYgADYCCAsgBEEIaiEADAELAkAgC0UNAAJAIAEoAhwiAkECdEG4CmoiACgCACABRgRAIAAgBDYCACAEDQFBjAggBkF+IAJ3cTYCAAwCCyALQRBBFCALKAIQIAFGG2ogBDYCACAERQ0BCyAEIAs2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEgAyAIaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgCEEDcjYCBCAJIANBAXI2AgQgAyAJaiADNgIAIAoEQCAKQQN2IgBBA3RBsAhqIQRBnAgoAgAhAgJ/QQEgAHQiACAFcUUEQEGICCAAIAVyNgIAIAQMAQsgBCgCCAshACAEIAI2AgggACACNgIMIAIgBDYCDCACIAA2AggLQZwIIAk2AgBBkAggAzYCAAsgAUEIaiEACyAMQRBqJAAgAAsQACMAIABrQXBxIgAkACAACwYAIAAkAAsEACMAC4AJAgh/BH4jAEGQAWsiBiQAIAYgBS0AA0EYdEGAgIAYcSAFLwAAIAUtAAJBEHRycjYCACAGIAUoAANBAnZBg/7/H3E2AgQgBiAFKAAGQQR2Qf+B/x9xNgIIIAYgBSgACUEGdkH//8AfcTYCDCAFLwANIQggBS0ADyEJIAZCADcCFCAGQgA3AhwgBkEANgIkIAYgCCAJQRB0QYCAPHFyNgIQIAYgBSgAEDYCKCAGIAUoABQ2AiwgBiAFKAAYNgIwIAUoABwhBSAGQQA6AEwgBkEANgI4IAYgBTYCNCAGIAEgAhAEIAQEQCAGIAMgBBAECyAGKAI4IgEEQCAGQTxqIgIgAWpBAToAACABQQFqQQ9NBEAgASAGakE9aiEEAkBBDyABayIDRQ0AIAMgBGoiAUEBa0EAOgAAIARBADoAACADQQNJDQAgAUECa0EAOgAAIARBADoAASABQQNrQQA6AAAgBEEAOgACIANBB0kNACABQQRrQQA6AAAgBEEAOgADIANBCUkNACAEQQAgBGtBA3EiAWoiBEEANgIAIAQgAyABa0F8cSIBaiIDQQRrQQA2AgAgAUEJSQ0AIARBADYCCCAEQQA2AgQgA0EIa0EANgIAIANBDGtBADYCACABQRlJDQAgBEEANgIYIARBADYCFCAEQQA2AhAgBEEANgIMIANBEGtBADYCACADQRRrQQA2AgAgA0EYa0EANgIAIANBHGtBADYCACABIARBBHFBGHIiAWsiA0EgSQ0AIAEgBGohAQNAIAFCADcDGCABQgA3AxAgAUIANwMIIAFCADcDACABQSBqIQEgA0EgayIDQR9LDQALCwsgBkEBOgBMIAYgAkEQEAILIAY1AjQhECAGNQIwIREgBjUCLCEOIAAgBjUCKCAGKAIkIAYoAiAgBigCHCAGKAIYIgNBGnZqIgJBGnZqIgFBGnZqIgtBgICAYHIgAUH///8fcSINIAJB////H3EiCCAGKAIUIAtBGnZBBWxqIgFB////H3EiCUEFaiIFQRp2IANB////H3EgAUEadmoiA2oiAUEadmoiAkEadmoiBEEadmoiDEEfdSIHIANxIAEgDEEfdkEBayIDQf///x9xIgpxciIBQRp0IAUgCnEgByAJcXJyrXwiDzwAACAAIA9CGIg8AAMgACAPQhCIPAACIAAgD0IIiDwAASAAIA4gByAIcSACIApxciICQRR0IAFBBnZyrXwgD0IgiHwiDjwABCAAIA5CGIg8AAcgACAOQhCIPAAGIAAgDkIIiDwABSAAIBEgByANcSAEIApxciIBQQ50IAJBDHZyrXwgDkIgiHwiDjwACCAAIA5CGIg8AAsgACAOQhCIPAAKIAAgDkIIiDwACSAAIBAgAyAMcSAHIAtxckEIdCABQRJ2cq18IA5CIIh8Ig48AAwgACAOQhiIPAAPIAAgDkIQiDwADiAAIA5CCIg8AA0gBkIANwIwIAZCADcCKCAGQgA3AiAgBkIANwIYIAZCADcCECAGQgA3AgggBkIANwIAIAZBkAFqJAALpwwBB38CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgFBeHEiAGohBQJAIAFBAXENACABQQNxRQ0BIAMgAygCACIBayIDQZgIKAIASQ0BIAAgAWohACADQZwIKAIARwRAIAFB/wFNBEAgAygCCCICIAFBA3YiBEEDdEGwCGpGGiACIAMoAgwiAUYEQEGICEGICCgCAEF+IAR3cTYCAAwDCyACIAE2AgwgASACNgIIDAILIAMoAhghBgJAIAMgAygCDCIBRwRAIAMoAggiAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRBuApqIgQoAgBGBEAgBCABNgIAIAENAUGMCEGMCCgCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBkAggADYCACAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAMgBU8NACAFKAIEIgFBAXFFDQACQCABQQJxRQRAIAVBoAgoAgBGBEBBoAggAzYCAEGUCEGUCCgCACAAaiIANgIAIAMgAEEBcjYCBCADQZwIKAIARw0DQZAIQQA2AgBBnAhBADYCAA8LIAVBnAgoAgBGBEBBnAggAzYCAEGQCEGQCCgCACAAaiIANgIAIAMgAEEBcjYCBCAAIANqIAA2AgAPCyABQXhxIABqIQACQCABQf8BTQRAIAUoAggiAiABQQN2IgRBA3RBsAhqRhogAiAFKAIMIgFGBEBBiAhBiAgoAgBBfiAEd3E2AgAMAgsgAiABNgIMIAEgAjYCCAwBCyAFKAIYIQYCQCAFIAUoAgwiAUcEQCAFKAIIIgJBmAgoAgBJGiACIAE2AgwgASACNgIIDAELAkAgBUEUaiICKAIAIgQNACAFQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiAkECdEG4CmoiBCgCAEYEQCAEIAE2AgAgAQ0BQYwIQYwIKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgIEQCABIAI2AhAgAiABNgIYCyAFKAIUIgJFDQAgASACNgIUIAIgATYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQZwIKAIARw0BQZAIIAA2AgAPCyAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAAsgAEH/AU0EQCAAQQN2IgFBA3RBsAhqIQACf0GICCgCACICQQEgAXQiAXFFBEBBiAggASACcjYCACAADAELIAAoAggLIQIgACADNgIIIAIgAzYCDCADIAA2AgwgAyACNgIIDwtBHyECIANCADcCECAAQf///wdNBEAgAEEIdiIBIAFBgP4/akEQdkEIcSIBdCICIAJBgOAfakEQdkEEcSICdCIEIARBgIAPakEQdkECcSIEdEEPdiABIAJyIARyayIBQQF0IAAgAUEVanZBAXFyQRxqIQILIAMgAjYCHCACQQJ0QbgKaiEBAkACQAJAQYwIKAIAIgRBASACdCIHcUUEQEGMCCAEIAdyNgIAIAEgAzYCACADIAE2AhgMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgASgCACEBA0AgASIEKAIEQXhxIABGDQIgAkEddiEBIAJBAXQhAiAEIAFBBHFqIgdBEGooAgAiAQ0ACyAHIAM2AhAgAyAENgIYCyADIAM2AgwgAyADNgIIDAELIAQoAggiACADNgIMIAQgAzYCCCADQQA2AhggAyAENgIMIAMgADYCCAtBqAhBqAgoAgBBAWsiAEF/IAAbNgIACwsLCQEAQYEICwIGUA==",!me.startsWith(ue)){var he=me;me=r.locateFile?r.locateFile(he,d):d+he}function bt(){var te=me;try{if(te==me&&I)return new Uint8Array(I);var fe=vr(te);if(fe)return fe;if(h)return h(te);throw"both async and sync fetching of the wasm failed"}catch(ve){J(ve)}}c(bt,"pa");function Ct(){if(!I&&(a||u)){if(typeof fetch=="function"&&!me.startsWith("file://"))return fetch(me,{credentials:"same-origin"}).then(function(te){if(!te.ok)throw"failed to load wasm binary file at '"+me+"'";return te.arrayBuffer()}).catch(function(){return bt()});if(g)return new Promise(function(te,fe){g(me,function(ve){te(new Uint8Array(ve))},fe)})}return Promise.resolve().then(function(){return bt()})}c(Ct,"qa");function Xt(te){for(;0<te.length;){var fe=te.shift();if(typeof fe=="function")fe(r);else{var ve=fe.m;typeof ve=="number"?fe.l===void 0?F.get(ve)():F.get(ve)(fe.l):ve(fe.l===void 0?null:fe.l)}}}c(Xt,"X");var yr=!1,Dr=typeof atob=="function"?atob:function(te){var fe="",ve=0;te=te.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var De="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(te.charAt(ve++)),ut="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(te.charAt(ve++)),Jt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(te.charAt(ve++)),Yr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(te.charAt(ve++));De=De<<2|ut>>4,ut=(ut&15)<<4|Jt>>2;var kr=(Jt&3)<<6|Yr;fe+=String.fromCharCode(De),Jt!==64&&(fe+=String.fromCharCode(ut)),Yr!==64&&(fe+=String.fromCharCode(kr))}while(ve<te.length);return fe};function vr(te){if(te.startsWith(ue)){if(te=te.slice(ue.length),typeof l=="boolean"&&l){var fe=Buffer.from(te,"base64");fe=new Uint8Array(fe.buffer,fe.byteOffset,fe.byteLength)}else try{var ve=Dr(te),De=new Uint8Array(ve.length);for(te=0;te<ve.length;++te)De[te]=ve.charCodeAt(te);fe=De}catch{throw Error("Converting base64 string to bytes failed.")}return fe}}c(vr,"H");var Ai={a:c(function(te){var fe=L.length;if(te>>>=0,2147483648<te)return!1;for(var ve=1;4>=ve;ve*=2){var De=fe*(1+.2/ve);De=Math.min(De,te+100663296),De=Math.max(te,De),0<De%65536&&(De+=65536-De%65536);e:{try{H.grow(Math.min(2147483648,De)-k.byteLength+65535>>>16),T();var ut=1;break e}catch{}ut=void 0}if(ut)return!0}return!1},"a")};(function(){function te(ut){r.asm=ut.exports,H=r.asm.b,T(),F=r.asm.j,B.unshift(r.asm.c),C--,r.monitorRunDependencies&&r.monitorRunDependencies(C),C==0&&(W!==null&&(clearInterval(W),W=null),q&&(ut=q,q=null,ut()))}c(te,"a");function fe(ut){te(ut.instance)}c(fe,"c");function ve(ut){return Ct().then(function(Jt){return WebAssembly.instantiate(Jt,De)}).then(ut,function(Jt){b("failed to asynchronously prepare wasm: "+Jt),J(Jt)})}c(ve,"d");var De={a:Ai};if(C++,r.monitorRunDependencies&&r.monitorRunDependencies(C),r.instantiateWasm)try{return r.instantiateWasm(De,te)}catch(ut){return b("Module.instantiateWasm callback failed with error: "+ut),!1}return(function(){return I||typeof WebAssembly.instantiateStreaming!="function"||me.startsWith(ue)||me.startsWith("file://")||typeof fetch!="function"?ve(fe):fetch(me,{credentials:"same-origin"}).then(function(ut){return WebAssembly.instantiateStreaming(ut,De).then(fe,function(Jt){return b("wasm streaming compile failed: "+Jt),b("falling back to ArrayBuffer instantiation"),ve(fe)})})})().catch(i),{}})(),r.___wasm_call_ctors=function(){return(r.___wasm_call_ctors=r.asm.c).apply(null,arguments)},r._poly1305_auth=function(){return(r._poly1305_auth=r.asm.d).apply(null,arguments)};var go=r.stackSave=function(){return(go=r.stackSave=r.asm.e).apply(null,arguments)},Bs=r.stackRestore=function(){return(Bs=r.stackRestore=r.asm.f).apply(null,arguments)},mo=r.stackAlloc=function(){return(mo=r.stackAlloc=r.asm.g).apply(null,arguments)};r._malloc=function(){return(r._malloc=r.asm.h).apply(null,arguments)},r._free=function(){return(r._free=r.asm.i).apply(null,arguments)},r.cwrap=function(te,fe,ve,De){ve=ve||[];var ut=ve.every(function(Jt){return Jt==="number"});return fe!=="string"&&ut&&!De?Z(te):function(){return Y(te,fe,ve,arguments)}};var bi;q=c(function te(){bi||xi(),bi||(q=te)},"ta");function xi(){function te(){if(!bi&&(bi=!0,r.calledRun=!0,!$)){if(Xt(B),n(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;){var fe=r.postRun.shift();G.unshift(fe)}Xt(G)}}if(c(te,"a"),!(0<C)){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)ee();Xt(j),0<C||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),te()},1)):te())}}if(c(xi,"Z"),r.run=xi,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);0<r.preInit.length;)r.preInit.pop()();return xi(),e.ready})})();typeof Ca=="object"&&typeof Wu=="object"?Wu.exports=ju:typeof define=="function"&&define.amd?define([],function(){return ju}):typeof Ca=="object"&&(Ca.createPoly1305=ju)});var zn=le((Z3,Tg)=>{"use strict";var{createCipheriv:Gi,createDecipheriv:Ra,createHmac:qu,randomFillSync:ci,timingSafeEqual:Qu}=require("crypto"),{readUInt32BE:Xo,writeUInt32BE:Or}=Qr(),Mn=Buffer[Symbol.species],vg=2**32-1,Sg=Buffer.alloc(0),Ki=Buffer.alloc(4),Na=new Map,ui=35e3,Vu,cl,ul,ll,fl,dl,pl;try{Vu=require("./crypto/build/Release/sshcrypto.node"),{AESGCMCipher:cl,ChaChaPolyCipher:ul,GenericCipher:ll,AESGCMDecipher:fl,ChaChaPolyDecipher:dl,GenericDecipher:pl}=Vu}catch{}var lr=1,Mx=(()=>{function t(e,r,n,i,o,s,a){return{sslName:e,blockLen:r,keyLen:n,ivLen:i!==0||a&lr?i:r,authLen:o,discardLen:s,stream:!!(a&lr)}}return c(t,"info"),{"chacha20-poly1305@openssh.com":t("chacha20",8,64,0,16,0,lr),"aes128-gcm":t("aes-128-gcm",16,16,12,16,0,lr),"aes256-gcm":t("aes-256-gcm",16,32,12,16,0,lr),"aes128-gcm@openssh.com":t("aes-128-gcm",16,16,12,16,0,lr),"aes256-gcm@openssh.com":t("aes-256-gcm",16,32,12,16,0,lr),"aes128-cbc":t("aes-128-cbc",16,16,0,0,0,0),"aes192-cbc":t("aes-192-cbc",16,24,0,0,0,0),"aes256-cbc":t("aes-256-cbc",16,32,0,0,0,0),"rijndael-cbc@lysator.liu.se":t("aes-256-cbc",16,32,0,0,0,0),"3des-cbc":t("des-ede3-cbc",8,24,0,0,0,0),"blowfish-cbc":t("bf-cbc",8,16,0,0,0,0),"idea-cbc":t("idea-cbc",8,16,0,0,0,0),"cast128-cbc":t("cast-cbc",8,16,0,0,0,0),"aes128-ctr":t("aes-128-ctr",16,16,16,0,0,lr),"aes192-ctr":t("aes-192-ctr",16,24,16,0,0,lr),"aes256-ctr":t("aes-256-ctr",16,32,16,0,0,lr),"3des-ctr":t("des-ede3",8,24,8,0,0,lr),"blowfish-ctr":t("bf-ecb",8,16,8,0,0,lr),"cast128-ctr":t("cast5-ecb",8,16,8,0,0,lr),arcfour:t("rc4",8,16,0,0,1536,lr),arcfour128:t("rc4",8,16,0,0,1536,lr),arcfour256:t("rc4",8,32,0,0,1536,lr),arcfour512:t("rc4",8,64,0,0,1536,lr)}})(),Fx=(()=>{function t(e,r,n,i){return{sslName:e,len:r,actualLen:n,isETM:i}}return c(t,"info"),{"hmac-md5":t("md5",16,16,!1),"hmac-md5-96":t("md5",16,12,!1),"hmac-ripemd160":t("ripemd160",20,20,!1),"hmac-sha1":t("sha1",20,20,!1),"hmac-sha1-etm@openssh.com":t("sha1",20,20,!0),"hmac-sha1-96":t("sha1",20,12,!1),"hmac-sha2-256":t("sha256",32,32,!1),"hmac-sha2-256-etm@openssh.com":t("sha256",32,32,!0),"hmac-sha2-256-96":t("sha256",32,12,!1),"hmac-sha2-512":t("sha512",64,64,!1),"hmac-sha2-512-etm@openssh.com":t("sha512",64,64,!0),"hmac-sha2-512-96":t("sha512",64,12,!1)}})(),Ku=class{static{c(this,"NullCipher")}constructor(e,r){this.outSeqno=e,this._onWrite=r,this._dead=!1}free(){this._dead=!0}allocPacket(e){let r=5+e,n=8-(r&7);n<4&&(n+=8),r+=n;let i=Buffer.allocUnsafe(r);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){this._dead||(this._onWrite(e),this.outSeqno=this.outSeqno+1>>>0)}},wg=Buffer.alloc(32),Sr=Buffer.alloc(16),Yo,Jo,hl,Gu=class{static{c(this,"ChaChaPolyCipherNative")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._encKeyMain=r.cipherKey.slice(0,32),this._encKeyPktLen=r.cipherKey.slice(32),this._dead=!1}free(){this._dead=!0}allocPacket(e){let r=5+e,n=8-(r-4&7);n<4&&(n+=8),r+=n;let i=Buffer.allocUnsafe(r);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){if(this._dead)return;Sr[0]=0,Or(Sr,this.outSeqno,12);let r=Gi("chacha20",this._encKeyMain,Sr).update(wg),n=Gi("chacha20",this._encKeyPktLen,Sr).update(e.slice(0,4));this._onWrite(n),Sr[0]=1;let i=Gi("chacha20",this._encKeyMain,Sr).update(e.slice(4));this._onWrite(i),hl(Jo,n,n.length,i,i.length,r);let o=Buffer.allocUnsafe(16);o.set(new Uint8Array(Yo.HEAPU8.buffer,Jo,16),0),this._onWrite(o),this.outSeqno=this.outSeqno+1>>>0}},Zu=class{static{c(this,"ChaChaPolyCipherBinding")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._instance=new ul(r.cipherKey),this._dead=!1}free(){this._dead=!0,this._instance.free()}allocPacket(e){let r=5+e,n=8-(r-4&7);n<4&&(n+=8),r+=n;let i=Buffer.allocUnsafe(r+16);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){this._dead||(this._instance.encrypt(e,this.outSeqno),this._onWrite(e),this.outSeqno=this.outSeqno+1>>>0)}},Yu=class{static{c(this,"AESGCMCipherNative")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._encSSLName=r.cipherInfo.sslName,this._encKey=r.cipherKey,this._encIV=r.cipherIV,this._dead=!1}free(){this._dead=!0}allocPacket(e){let r=5+e,n=16-(r-4&15);n<4&&(n+=16),r+=n;let i=Buffer.allocUnsafe(r);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){if(this._dead)return;let r=Gi(this._encSSLName,this._encKey,this._encIV);r.setAutoPadding(!1);let n=e.slice(0,4);r.setAAD(n),this._onWrite(n);let i=r.update(e.slice(4));this._onWrite(i);let o=r.final();o.length&&this._onWrite(o);let s=r.getAuthTag();this._onWrite(s),Pg(this._encIV),this.outSeqno=this.outSeqno+1>>>0}},Xu=class{static{c(this,"AESGCMCipherBinding")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._instance=new cl(r.cipherInfo.sslName,r.cipherKey,r.cipherIV),this._dead=!1}free(){this._dead=!0,this._instance.free()}allocPacket(e){let r=5+e,n=16-(r-4&15);n<4&&(n+=16),r+=n;let i=Buffer.allocUnsafe(r+16);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){this._dead||(this._instance.encrypt(e),this._onWrite(e),this.outSeqno=this.outSeqno+1>>>0)}},Ju=class{static{c(this,"GenericCipherNative")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._encBlockLen=r.cipherInfo.blockLen,this._cipherInstance=Gi(r.cipherInfo.sslName,r.cipherKey,r.cipherIV),this._macSSLName=r.macInfo.sslName,this._macKey=r.macKey,this._macActualLen=r.macInfo.actualLen,this._macETM=r.macInfo.isETM,this._aadLen=this._macETM?4:0,this._dead=!1;let n=r.cipherInfo.discardLen;if(n){let i=Na.get(n);i===void 0&&(i=Buffer.alloc(n),Na.set(n,i)),this._cipherInstance.update(i)}}free(){this._dead=!0}allocPacket(e){let r=this._encBlockLen,n=5+e,i=r-(n-this._aadLen&r-1);i<4&&(i+=r),n+=i;let o=Buffer.allocUnsafe(n);return Or(o,n-4,0),o[4]=i,ci(o,5+e,i),o}encrypt(e){if(this._dead)return;let r;if(this._macETM){let i=new Uint8Array(e.buffer,e.byteOffset,4),o=this._cipherInstance.update(new Uint8Array(e.buffer,e.byteOffset+4,e.length-4));this._onWrite(i),this._onWrite(o),r=qu(this._macSSLName,this._macKey),Or(Ki,this.outSeqno,0),r.update(Ki),r.update(i),r.update(o)}else{let i=this._cipherInstance.update(e);this._onWrite(i),r=qu(this._macSSLName,this._macKey),Or(Ki,this.outSeqno,0),r.update(Ki),r.update(e)}let n=r.digest();n.length>this._macActualLen&&(n=n.slice(0,this._macActualLen)),this._onWrite(n),this.outSeqno=this.outSeqno+1>>>0}},el=class{static{c(this,"GenericCipherBinding")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._encBlockLen=r.cipherInfo.blockLen,this._macLen=r.macInfo.len,this._macActualLen=r.macInfo.actualLen,this._aadLen=r.macInfo.isETM?4:0,this._instance=new ll(r.cipherInfo.sslName,r.cipherKey,r.cipherIV,r.macInfo.sslName,r.macKey,r.macInfo.isETM),this._dead=!1}free(){this._dead=!0,this._instance.free()}allocPacket(e){let r=this._encBlockLen,n=5+e,i=r-(n-this._aadLen&r-1);i<4&&(i+=r),n+=i;let o=Buffer.allocUnsafe(n+this._macLen);return Or(o,n-4,0),o[4]=i,ci(o,5+e,i),o}encrypt(e){this._dead||(this._instance.encrypt(e,this.outSeqno),this._macActualLen<this._macLen&&(e=new Mn(e.buffer,e.byteOffset,e.length-(this._macLen-this._macActualLen))),this._onWrite(e),this.outSeqno=this.outSeqno+1>>>0)}},tl=class{static{c(this,"NullDecipher")}constructor(e,r){this.inSeqno=e,this._onPayload=r,this._len=0,this._lenBytes=0,this._packet=null,this._packetPos=0}free(){}decrypt(e,r,n){for(;r<n;){if(this._lenBytes<4){let o=Math.min(4-this._lenBytes,n-r);for(this._lenBytes+=o;o--;)this._len=(this._len<<8)+e[r++];if(this._lenBytes<4)return;if(this._len>ui||this._len<8||(4+this._len&7)!==0)throw new Error("Bad packet length");if(r>=n)return}if(this._packetPos<this._len){let o=Math.min(this._len-this._packetPos,n-r),s;if(r!==0||o!==n?s=new Uint8Array(e.buffer,e.byteOffset+r,o):s=e,o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._packetPos)),r+=o,this._packetPos+=o,this._packetPos<this._len)return}let i=this._packet?new Mn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1):Sg;this.inSeqno=this.inSeqno+1>>>0,this._len=0,this._lenBytes=0,this._packet=null,this._packetPos=0;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}},rl=class{static{c(this,"ChaChaPolyDecipherNative")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._decKeyMain=r.decipherKey.slice(0,32),this._decKeyPktLen=r.decipherKey.slice(32),this._len=0,this._lenBuf=Buffer.alloc(4),this._lenPos=0,this._packet=null,this._pktLen=0,this._mac=Buffer.allocUnsafe(16),this._calcMac=Buffer.allocUnsafe(16),this._macPos=0}free(){}decrypt(e,r,n){for(;r<n;){if(this._lenPos<4){let a=Math.min(4-this._lenPos,n-r);for(;a--;)this._lenBuf[this._lenPos++]=e[r++];if(this._lenPos<4)return;Sr[0]=0,Or(Sr,this.inSeqno,12);let u=Ra("chacha20",this._decKeyPktLen,Sr).update(this._lenBuf);if(this._len=Xo(u,0),this._len>ui||this._len<8||(this._len&7)!==0)throw new Error("Bad packet length")}if(this._pktLen<this._len){if(r>=n)return;let a=Math.min(this._len-this._pktLen,n-r),u;if(r!==0||a!==n?u=new Uint8Array(e.buffer,e.byteOffset+r,a):u=e,a===this._len?this._packet=u:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(u,this._pktLen)),r+=a,this._pktLen+=a,this._pktLen<this._len||r>=n)return}{let a=Math.min(16-this._macPos,n-r);if(r!==0||a!==n?this._mac.set(new Uint8Array(e.buffer,e.byteOffset+r,a),this._macPos):this._mac.set(e,this._macPos),r+=a,this._macPos+=a,this._macPos<16)return}Sr[0]=0,Or(Sr,this.inSeqno,12);let i=Gi("chacha20",this._decKeyMain,Sr).update(wg);if(hl(Jo,this._lenBuf,4,this._packet,this._packet.length,i),this._calcMac.set(new Uint8Array(Yo.HEAPU8.buffer,Jo,16),0),!Qu(this._calcMac,this._mac))throw new Error("Invalid MAC");Sr[0]=1;let o=Ra("chacha20",this._decKeyMain,Sr).update(this._packet),s=new Mn(o.buffer,o.byteOffset+1,o.length-o[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._len=0,this._lenPos=0,this._packet=null,this._pktLen=0,this._macPos=0;{let a=this._onPayload(s);if(a!==void 0)return a===!1?r:a}}}},nl=class{static{c(this,"ChaChaPolyDecipherBinding")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._instance=new dl(r.decipherKey),this._len=0,this._lenBuf=Buffer.alloc(4),this._lenPos=0,this._packet=null,this._pktLen=0,this._mac=Buffer.allocUnsafe(16),this._macPos=0}free(){this._instance.free()}decrypt(e,r,n){for(;r<n;){if(this._lenPos<4){let o=Math.min(4-this._lenPos,n-r);for(;o--;)this._lenBuf[this._lenPos++]=e[r++];if(this._lenPos<4)return;if(this._len=this._instance.decryptLen(this._lenBuf,this.inSeqno),this._len>ui||this._len<8||(this._len&7)!==0)throw new Error("Bad packet length");if(r>=n)return}if(this._pktLen<this._len){let o=Math.min(this._len-this._pktLen,n-r),s;if(r!==0||o!==n?s=new Uint8Array(e.buffer,e.byteOffset+r,o):s=e,o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._pktLen)),r+=o,this._pktLen+=o,this._pktLen<this._len||r>=n)return}{let o=Math.min(16-this._macPos,n-r);if(r!==0||o!==n?this._mac.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._macPos):this._mac.set(e,this._macPos),r+=o,this._macPos+=o,this._macPos<16)return}this._instance.decrypt(this._packet,this._mac,this.inSeqno);let i=new Mn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._len=0,this._lenPos=0,this._packet=null,this._pktLen=0,this._macPos=0;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}},il=class{static{c(this,"AESGCMDecipherNative")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._decipherInstance=null,this._decipherSSLName=r.decipherInfo.sslName,this._decipherKey=r.decipherKey,this._decipherIV=r.decipherIV,this._len=0,this._lenBytes=0,this._packet=null,this._packetPos=0,this._pktLen=0,this._tag=Buffer.allocUnsafe(16),this._tagPos=0}free(){}decrypt(e,r,n){for(;r<n;){if(this._lenBytes<4){let o=Math.min(4-this._lenBytes,n-r);for(this._lenBytes+=o;o--;)this._len=(this._len<<8)+e[r++];if(this._lenBytes<4)return;if(this._len+20>ui||this._len<16||(this._len&15)!==0)throw new Error("Bad packet length");this._decipherInstance=Ra(this._decipherSSLName,this._decipherKey,this._decipherIV),this._decipherInstance.setAutoPadding(!1),this._decipherInstance.setAAD(Hx(this._len))}if(this._pktLen<this._len){if(r>=n)return;let o=Math.min(this._len-this._pktLen,n-r),s;if(r!==0||o!==n?s=this._decipherInstance.update(new Uint8Array(e.buffer,e.byteOffset+r,o)):s=this._decipherInstance.update(e),s.length&&(o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._packetPos)),this._packetPos+=s.length),r+=o,this._pktLen+=o,this._pktLen<this._len||r>=n)return}{let o=Math.min(16-this._tagPos,n-r);if(r!==0||o!==n?this._tag.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._tagPos):this._tag.set(e,this._tagPos),r+=o,this._tagPos+=o,this._tagPos<16)return}{this._decipherInstance.setAuthTag(this._tag);let o=this._decipherInstance.final();o.length&&(this._packet?this._packet.set(o,this._packetPos):this._packet=o)}let i=this._packet?new Mn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1):Sg;this.inSeqno=this.inSeqno+1>>>0,Pg(this._decipherIV),this._len=0,this._lenBytes=0,this._packet=null,this._packetPos=0,this._pktLen=0,this._tagPos=0;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}},ol=class{static{c(this,"AESGCMDecipherBinding")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._instance=new fl(r.decipherInfo.sslName,r.decipherKey,r.decipherIV),this._len=0,this._lenBytes=0,this._packet=null,this._pktLen=0,this._tag=Buffer.allocUnsafe(16),this._tagPos=0}free(){}decrypt(e,r,n){for(;r<n;){if(this._lenBytes<4){let o=Math.min(4-this._lenBytes,n-r);for(this._lenBytes+=o;o--;)this._len=(this._len<<8)+e[r++];if(this._lenBytes<4)return;if(this._len+20>ui||this._len<16||(this._len&15)!==0)throw new Error(`Bad packet length: ${this._len}`)}if(this._pktLen<this._len){if(r>=n)return;let o=Math.min(this._len-this._pktLen,n-r),s;if(r!==0||o!==n?s=new Uint8Array(e.buffer,e.byteOffset+r,o):s=e,o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._pktLen)),r+=o,this._pktLen+=o,this._pktLen<this._len||r>=n)return}{let o=Math.min(16-this._tagPos,n-r);if(r!==0||o!==n?this._tag.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._tagPos):this._tag.set(e,this._tagPos),r+=o,this._tagPos+=o,this._tagPos<16)return}this._instance.decrypt(this._packet,this._len,this._tag);let i=new Mn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._len=0,this._lenBytes=0,this._packet=null,this._pktLen=0,this._tagPos=0;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}},sl=class{static{c(this,"GenericDecipherNative")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._decipherInstance=Ra(r.decipherInfo.sslName,r.decipherKey,r.decipherIV),this._decipherInstance.setAutoPadding(!1),this._block=Buffer.allocUnsafe(r.macInfo.isETM?4:r.decipherInfo.blockLen),this._blockSize=r.decipherInfo.blockLen,this._blockPos=0,this._len=0,this._packet=null,this._packetPos=0,this._pktLen=0,this._mac=Buffer.allocUnsafe(r.macInfo.actualLen),this._macPos=0,this._macSSLName=r.macInfo.sslName,this._macKey=r.macKey,this._macActualLen=r.macInfo.actualLen,this._macETM=r.macInfo.isETM,this._macInstance=null;let n=r.decipherInfo.discardLen;if(n){let i=Na.get(n);i===void 0&&(i=Buffer.alloc(n),Na.set(n,i)),this._decipherInstance.update(i)}}free(){}decrypt(e,r,n){for(;r<n;){if(this._blockPos<this._block.length){let s=Math.min(this._block.length-this._blockPos,n-r);if(r!==0||s!==n||s<e.length?this._block.set(new Uint8Array(e.buffer,e.byteOffset+r,s),this._blockPos):this._block.set(e,this._blockPos),r+=s,this._blockPos+=s,this._blockPos<this._block.length)return;let a,u;if(this._macETM?this._len=u=Xo(this._block,0):(a=this._decipherInstance.update(this._block),this._len=Xo(a,0),u=4+this._len-this._blockSize),this._len>ui||this._len<5||(u&this._blockSize-1)!==0)throw new Error("Bad packet length");if(this._macInstance=qu(this._macSSLName,this._macKey),Or(Ki,this.inSeqno,0),this._macInstance.update(Ki),this._macETM?this._macInstance.update(this._block):(this._macInstance.update(new Uint8Array(a.buffer,a.byteOffset,4)),this._pktLen=a.length-4,this._packetPos=this._pktLen,this._packet=Buffer.allocUnsafe(this._len),this._packet.set(new Uint8Array(a.buffer,a.byteOffset+4,this._packetPos),0)),r>=n)return}if(this._pktLen<this._len){let s=Math.min(this._len-this._pktLen,n-r),a;r!==0||s!==n?a=new Uint8Array(e.buffer,e.byteOffset+r,s):a=e,this._macETM&&this._macInstance.update(a);let u=this._decipherInstance.update(a);if(u.length&&(s===this._len?this._packet=u:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(u,this._packetPos)),this._packetPos+=u.length),r+=s,this._pktLen+=s,this._pktLen<this._len||r>=n)return}{let s=Math.min(this._macActualLen-this._macPos,n-r);if(r!==0||s!==n?this._mac.set(new Uint8Array(e.buffer,e.byteOffset+r,s),this._macPos):this._mac.set(e,this._macPos),r+=s,this._macPos+=s,this._macPos<this._macActualLen)return}this._macETM||this._macInstance.update(this._packet);let i=this._macInstance.digest();if(this._macActualLen<i.length&&(i=new Uint8Array(i.buffer,i.byteOffset,this._macActualLen)),!jx(i,this._mac))throw new Error("Invalid MAC");let o=new Mn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._blockPos=0,this._len=0,this._packet=null,this._packetPos=0,this._pktLen=0,this._macPos=0,this._macInstance=null;{let s=this._onPayload(o);if(s!==void 0)return s===!1?r:s}}}},al=class{static{c(this,"GenericDecipherBinding")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._instance=new pl(r.decipherInfo.sslName,r.decipherKey,r.decipherIV,r.macInfo.sslName,r.macKey,r.macInfo.isETM,r.macInfo.actualLen),this._block=Buffer.allocUnsafe(r.macInfo.isETM||r.decipherInfo.stream?4:r.decipherInfo.blockLen),this._blockPos=0,this._len=0,this._packet=null,this._pktLen=0,this._mac=Buffer.allocUnsafe(r.macInfo.actualLen),this._macPos=0,this._macActualLen=r.macInfo.actualLen,this._macETM=r.macInfo.isETM}free(){this._instance.free()}decrypt(e,r,n){for(;r<n;){if(this._blockPos<this._block.length){let o=Math.min(this._block.length-this._blockPos,n-r);if(r!==0||o!==n||o<e.length?this._block.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._blockPos):this._block.set(e,this._blockPos),r+=o,this._blockPos+=o,this._blockPos<this._block.length)return;let s;if(this._macETM?this._len=s=Xo(this._block,0):(this._instance.decryptBlock(this._block),this._len=Xo(this._block,0),s=4+this._len-this._block.length),this._len>ui||this._len<5||(s&this._block.length-1)!==0)throw new Error("Bad packet length");if(this._macETM||(this._pktLen=this._block.length-4,this._pktLen&&(this._packet=Buffer.allocUnsafe(this._len),this._packet.set(new Uint8Array(this._block.buffer,this._block.byteOffset+4,this._pktLen),0))),r>=n)return}if(this._pktLen<this._len){let o=Math.min(this._len-this._pktLen,n-r),s;if(r!==0||o!==n?s=new Uint8Array(e.buffer,e.byteOffset+r,o):s=e,o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._pktLen)),r+=o,this._pktLen+=o,this._pktLen<this._len||r>=n)return}{let o=Math.min(this._macActualLen-this._macPos,n-r);if(r!==0||o!==n?this._mac.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._macPos):this._mac.set(e,this._macPos),r+=o,this._macPos+=o,this._macPos<this._macActualLen)return}this._instance.decrypt(this._packet,this.inSeqno,this._block,this._mac);let i=new Mn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._blockPos=0,this._len=0,this._packet=null,this._pktLen=0,this._macPos=0,this._macInstance=null;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}};function Pg(t){++t[11]>>>8&&++t[10]>>>8&&++t[9]>>>8&&++t[8]>>>8&&++t[7]>>>8&&++t[6]>>>8&&++t[5]>>>8&&++t[4]>>>8}c(Pg,"ivIncrement");var Hx=(()=>{let t=Buffer.alloc(4);return e=>(t[0]=e>>>24,t[1]=e>>>16,t[2]=e>>>8,t[3]=e,t)})();function jx(t,e){return t.length!==e.length?(Qu(t,t),!1):Qu(t,e)}c(jx,"timingSafeEquals");function Wx(t){if(typeof t!="object"||t===null)throw new Error("Invalid config");if(typeof t.outbound!="object"||t.outbound===null)throw new Error("Invalid outbound");let e=t.outbound;if(typeof e.onWrite!="function")throw new Error("Invalid outbound.onWrite");if(typeof e.cipherInfo!="object"||e.cipherInfo===null)throw new Error("Invalid outbound.cipherInfo");if(!Buffer.isBuffer(e.cipherKey)||e.cipherKey.length!==e.cipherInfo.keyLen)throw new Error("Invalid outbound.cipherKey");if(e.cipherInfo.ivLen&&(!Buffer.isBuffer(e.cipherIV)||e.cipherIV.length!==e.cipherInfo.ivLen))throw new Error("Invalid outbound.cipherIV");if(typeof e.seqno!="number"||e.seqno<0||e.seqno>vg)throw new Error("Invalid outbound.seqno");let r=!!e.forceNative;switch(e.cipherInfo.sslName){case"aes-128-gcm":case"aes-256-gcm":return cl&&!r?new Xu(t):new Yu(t);case"chacha20":return ul&&!r?new Zu(t):new Gu(t);default:{if(typeof e.macInfo!="object"||e.macInfo===null)throw new Error("Invalid outbound.macInfo");if(!Buffer.isBuffer(e.macKey)||e.macKey.length!==e.macInfo.len)throw new Error("Invalid outbound.macKey");return ll&&!r?new el(t):new Ju(t)}}}c(Wx,"createCipher");function qx(t){if(typeof t!="object"||t===null)throw new Error("Invalid config");if(typeof t.inbound!="object"||t.inbound===null)throw new Error("Invalid inbound");let e=t.inbound;if(typeof e.onPayload!="function")throw new Error("Invalid inbound.onPayload");if(typeof e.decipherInfo!="object"||e.decipherInfo===null)throw new Error("Invalid inbound.decipherInfo");if(!Buffer.isBuffer(e.decipherKey)||e.decipherKey.length!==e.decipherInfo.keyLen)throw new Error("Invalid inbound.decipherKey");if(e.decipherInfo.ivLen&&(!Buffer.isBuffer(e.decipherIV)||e.decipherIV.length!==e.decipherInfo.ivLen))throw new Error("Invalid inbound.decipherIV");if(typeof e.seqno!="number"||e.seqno<0||e.seqno>vg)throw new Error("Invalid inbound.seqno");let r=!!e.forceNative;switch(e.decipherInfo.sslName){case"aes-128-gcm":case"aes-256-gcm":return fl&&!r?new ol(t):new il(t);case"chacha20":return dl&&!r?new nl(t):new rl(t);default:{if(typeof e.macInfo!="object"||e.macInfo===null)throw new Error("Invalid inbound.macInfo");if(!Buffer.isBuffer(e.macKey)||e.macKey.length!==e.macInfo.len)throw new Error("Invalid inbound.macKey");return pl&&!r?new al(t):new sl(t)}}}c(qx,"createDecipher");Tg.exports={CIPHER_INFO:Mx,MAC_INFO:Fx,bindingAvailable:!!Vu,init:new Promise(async(t,e)=>{try{Yo=await Ig()(),Jo=Yo._malloc(16),hl=Yo.cwrap("poly1305_auth",null,["number","array","number","array","number","array"])}catch(r){return e(r)}t()}),NullCipher:Ku,createCipher:Wx,NullDecipher:tl,createDecipher:qx}});var Hn=le((X3,Lg)=>{"use strict";var{createDecipheriv:ml,createECDH:Qx,createHash:ts,createHmac:Vx,createSign:Kx,createVerify:Gx,getCiphers:Zx,sign:kg,verify:Cg}=require("crypto"),Yx=Zx(),{Ber:Oe}=Ko(),Xx=zu().pbkdf,{CIPHER_INFO:rs}=zn(),{eddsaSupported:_l,SUPPORTED_CIPHER:Jx}=An(),{bufferSlice:li,makeBufferParser:eI,readString:Re,readUInt32BE:es,writeUInt32BE:cr}=Qr(),bn=Symbol("Hash Algorithm"),Vr=Symbol("Private key PEM"),on=Symbol("Public key PEM"),Fn=Symbol("Public key SSH"),Zi=Symbol("Decrypted Key"),gl=Object.create(null);{let t=Object.keys(rs);for(let e=0;e<t.length;++e){let r=rs[t[e]].sslName;!r||gl[r]||(gl[r]=rs[t[e]])}}var Oa=eI();function Kr(t,e){e=e.base64Slice(0,e.length);let r=e.replace(/.{64}/g,`$&
8
+ -----END PRIVATE KEY-----`,e=Buffer.from("a"),r,n;try{r=En.sign(null,e,t),n=En.verify(null,e,t,r)}catch{}return Buffer.isBuffer(r)&&r.length===64&&n===!0}return!1})(),xg=typeof En.diffieHellman=="function"&&typeof En.generateKeyPairSync=="function"&&typeof En.createPublicKey=="function",wa=["ecdh-sha2-nistp256","ecdh-sha2-nistp384","ecdh-sha2-nistp521","diffie-hellman-group-exchange-sha256","diffie-hellman-group14-sha256","diffie-hellman-group15-sha512","diffie-hellman-group16-sha512","diffie-hellman-group17-sha512","diffie-hellman-group18-sha512"];xg&&(wa.unshift("curve25519-sha256"),wa.unshift("curve25519-sha256@libssh.org"));var jx=wa.concat(["diffie-hellman-group-exchange-sha1","diffie-hellman-group14-sha1","diffie-hellman-group1-sha1"]),Hu=["ecdsa-sha2-nistp256","ecdsa-sha2-nistp384","ecdsa-sha2-nistp521","rsa-sha2-512","rsa-sha2-256","ssh-rsa"];bg&&Hu.unshift("ssh-ed25519");var Wx=Hu.concat(["ssh-dss"]),Ig=(()=>{let t=En.getCiphers();return e=>t.includes(Fx[e].sslName)})(),zn=["aes128-gcm@openssh.com","aes256-gcm@openssh.com","aes128-ctr","aes192-ctr","aes256-ctr"];Vi&&Vi.flags&&!Vi.flags.aes?Ag?zn.unshift("chacha20-poly1305@openssh.com"):zn.push("chacha20-poly1305@openssh.com"):Ag&&Vi&&Vi.arch==="x86"?zn.splice(4,0,"chacha20-poly1305@openssh.com"):zn.push("chacha20-poly1305@openssh.com");zn=zn.filter(Ig);var qx=zn.concat(["aes256-cbc","aes192-cbc","aes128-cbc","blowfish-cbc","3des-cbc","aes128-gcm","aes256-gcm","arcfour256","arcfour128","cast128-cbc","arcfour"].filter(Ig)),vg=(()=>{let t=En.getHashes();return e=>t.includes(Hx[e].sslName)})(),Sg=["hmac-sha2-256-etm@openssh.com","hmac-sha2-512-etm@openssh.com","hmac-sha1-etm@openssh.com","hmac-sha2-256","hmac-sha2-512","hmac-sha1"].filter(vg),Qx=Sg.concat(["hmac-md5","hmac-sha2-256-96","hmac-sha2-512-96","hmac-ripemd160","hmac-sha1-96","hmac-md5-96"].filter(vg)),wg=["none","zlib@openssh.com","zlib"],Vx=wg.concat([]),Qi={BAD_DHGEX:1,OLD_EXIT:2,DYN_RPORT_BUG:4,BUG_DHGEX_LARGE:8,IMPLY_RSA_SHA2_SIGALGS:16};Pa.exports={MESSAGE:{DISCONNECT:1,IGNORE:2,UNIMPLEMENTED:3,DEBUG:4,SERVICE_REQUEST:5,SERVICE_ACCEPT:6,EXT_INFO:7,KEXINIT:20,NEWKEYS:21,KEXDH_INIT:30,KEXDH_REPLY:31,KEXDH_GEX_GROUP:31,KEXDH_GEX_INIT:32,KEXDH_GEX_REPLY:33,KEXDH_GEX_REQUEST:34,KEXECDH_INIT:30,KEXECDH_REPLY:31,USERAUTH_REQUEST:50,USERAUTH_FAILURE:51,USERAUTH_SUCCESS:52,USERAUTH_BANNER:53,USERAUTH_PASSWD_CHANGEREQ:60,USERAUTH_PK_OK:60,USERAUTH_INFO_REQUEST:60,USERAUTH_INFO_RESPONSE:61,GLOBAL_REQUEST:80,REQUEST_SUCCESS:81,REQUEST_FAILURE:82,CHANNEL_OPEN:90,CHANNEL_OPEN_CONFIRMATION:91,CHANNEL_OPEN_FAILURE:92,CHANNEL_WINDOW_ADJUST:93,CHANNEL_DATA:94,CHANNEL_EXTENDED_DATA:95,CHANNEL_EOF:96,CHANNEL_CLOSE:97,CHANNEL_REQUEST:98,CHANNEL_SUCCESS:99,CHANNEL_FAILURE:100},DISCONNECT_REASON:{HOST_NOT_ALLOWED_TO_CONNECT:1,PROTOCOL_ERROR:2,KEY_EXCHANGE_FAILED:3,RESERVED:4,MAC_ERROR:5,COMPRESSION_ERROR:6,SERVICE_NOT_AVAILABLE:7,PROTOCOL_VERSION_NOT_SUPPORTED:8,HOST_KEY_NOT_VERIFIABLE:9,CONNECTION_LOST:10,BY_APPLICATION:11,TOO_MANY_CONNECTIONS:12,AUTH_CANCELED_BY_USER:13,NO_MORE_AUTH_METHODS_AVAILABLE:14,ILLEGAL_USER_NAME:15},DISCONNECT_REASON_STR:void 0,CHANNEL_OPEN_FAILURE:{ADMINISTRATIVELY_PROHIBITED:1,CONNECT_FAILED:2,UNKNOWN_CHANNEL_TYPE:3,RESOURCE_SHORTAGE:4},TERMINAL_MODE:{TTY_OP_END:0,VINTR:1,VQUIT:2,VERASE:3,VKILL:4,VEOF:5,VEOL:6,VEOL2:7,VSTART:8,VSTOP:9,VSUSP:10,VDSUSP:11,VREPRINT:12,VWERASE:13,VLNEXT:14,VFLUSH:15,VSWTCH:16,VSTATUS:17,VDISCARD:18,IGNPAR:30,PARMRK:31,INPCK:32,ISTRIP:33,INLCR:34,IGNCR:35,ICRNL:36,IUCLC:37,IXON:38,IXANY:39,IXOFF:40,IMAXBEL:41,ISIG:50,ICANON:51,XCASE:52,ECHO:53,ECHOE:54,ECHOK:55,ECHONL:56,NOFLSH:57,TOSTOP:58,IEXTEN:59,ECHOCTL:60,ECHOKE:61,PENDIN:62,OPOST:70,OLCUC:71,ONLCR:72,OCRNL:73,ONOCR:74,ONLRET:75,CS7:90,CS8:91,PARENB:92,PARODD:93,TTY_OP_ISPEED:128,TTY_OP_OSPEED:129},CHANNEL_EXTENDED_DATATYPE:{STDERR:1},SIGNALS:["ABRT","ALRM","FPE","HUP","ILL","INT","QUIT","SEGV","TERM","USR1","USR2","KILL","PIPE"].reduce((t,e)=>({...t,[e]:1}),{}),COMPAT:Qi,COMPAT_CHECKS:[["Cisco-1.25",Qi.BAD_DHGEX],[/^Cisco-1[.]/,Qi.BUG_DHGEX_LARGE],[/^[0-9.]+$/,Qi.OLD_EXIT],[/^OpenSSH_5[.][0-9]+/,Qi.DYN_RPORT_BUG],[/^OpenSSH_7[.]4/,Qi.IMPLY_RSA_SHA2_SIGALGS]],DEFAULT_KEX:wa,SUPPORTED_KEX:jx,DEFAULT_SERVER_HOST_KEY:Hu,SUPPORTED_SERVER_HOST_KEY:Wx,DEFAULT_CIPHER:zn,SUPPORTED_CIPHER:qx,DEFAULT_MAC:Sg,SUPPORTED_MAC:Qx,DEFAULT_COMPRESSION:wg,SUPPORTED_COMPRESSION:Vx,curve25519Supported:xg,eddsaSupported:bg};Pa.exports.DISCONNECT_REASON_BY_VALUE=Array.from(Object.entries(Pa.exports.DISCONNECT_REASON)).reduce((t,[e,r])=>({...t,[r]:e}),{})});var Qr=le((_F,kg)=>{"use strict";var Mr=Ko().Ber,Ta,Cg=Buffer[Symbol.species],Kx=Object.getPrototypeOf(Uint8Array.prototype).fill;function Pg(t,e){return t[e++]*16777216+t[e++]*65536+t[e++]*256+t[e]}c(Pg,"readUInt32BE");function Go(t,e,r,n,i){i||(i=0),n>t.length&&(n=t.length);let o=n-r,s=e.length-i;return o>s&&(o=s),e.set(new Uint8Array(t.buffer,t.byteOffset+r,o),i),o}c(Go,"bufferCopy");function Zo(t,e,r){return r===void 0&&(r=t.length),new Cg(t.buffer,t.byteOffset+e,r-e)}c(Zo,"bufferSlice");function Wu(){let t=0,e,r={init:c((n,i)=>{e=n,t=typeof i=="number"?i:0},"init"),pos:c(()=>t,"pos"),length:c(()=>e?e.length:0,"length"),avail:c(()=>e&&t<e.length?e.length-t:0,"avail"),clear:c(()=>{e=void 0},"clear"),readUInt32BE:c(()=>{if(!(!e||t+3>=e.length))return e[t++]*16777216+e[t++]*65536+e[t++]*256+e[t++]},"readUInt32BE"),readUInt64BE:c(n=>{if(!(!e||t+7>=e.length))switch(n){case"always":return BigInt(`0x${e.hexSlice(t,t+=8)}`);case"maybe":if(e[t]>31)return BigInt(`0x${e.hexSlice(t,t+=8)}`);default:return e[t++]*72057594037927940+e[t++]*281474976710656+e[t++]*1099511627776+e[t++]*4294967296+e[t++]*16777216+e[t++]*65536+e[t++]*256+e[t++]}},"readUInt64BE"),skip:c(n=>{e&&n>0&&(t+=n)},"skip"),skipString:c(()=>{let n=r.readUInt32BE();if(n!==void 0)return t+=n,t<=e.length?n:void 0},"skipString"),readByte:c(()=>{if(e&&t<e.length)return e[t++]},"readByte"),readBool:c(()=>{if(e&&t<e.length)return!!e[t++]},"readBool"),readList:c(()=>{let n=r.readString(!0);if(n!==void 0)return n?n.split(","):[]},"readList"),readString:c((n,i)=>{typeof n=="number"&&(i=n,n=void 0);let o=r.readUInt32BE();if(o!==void 0&&!(e.length-t<o||typeof i=="number"&&o>i))return n?Buffer.isBuffer(n)?Go(e,n,t,t+=o):e.utf8Slice(t,t+=o):Zo(e,t,t+=o)},"readString"),readRaw:c(n=>{if(e){if(typeof n!="number")return Zo(e,t,t+=e.length-t);if(e.length-t>=n)return Zo(e,t,t+=n)}},"readRaw")};return r}c(Wu,"makeBufferParser");function Tg(t,e,r){let n=new Error(t);return typeof e=="boolean"?(r=e,n.level="protocol"):n.level=e||"protocol",n.fatal=!!r,n}c(Tg,"makeError");function ju(t,e,r){return t[r++]=e>>>24,t[r++]=e>>>16,t[r++]=e>>>8,t[r++]=e,r}c(ju,"writeUInt32BE");var Ca=Wu();kg.exports={bufferCopy:Go,bufferSlice:Zo,FastBuffer:Cg,bufferFill:c((t,e,r,n)=>Kx.call(t,e,r,n),"bufferFill"),makeError:Tg,doFatalError:c((t,e,r,n)=>{let i;return Ta===void 0&&({DISCONNECT_REASON:Ta}=An()),e instanceof Error?(i=e,typeof r!="number"?n=Ta.PROTOCOL_ERROR:n=r):i=Tg(e,r,!0),typeof n!="number"&&(n=Ta.PROTOCOL_ERROR),t.disconnect(n),t._destruct(),t._onError(i),1/0},"doFatalError"),readUInt32BE:Pg,writeUInt32BE:ju,writeUInt32LE:c((t,e,r)=>(t[r++]=e,t[r++]=e>>>8,t[r++]=e>>>16,t[r++]=e>>>24,r),"writeUInt32LE"),makeBufferParser:Wu,bufferParser:Wu(),readString:c((t,e,r,n)=>{typeof r=="number"&&(n=r,r=void 0),e===void 0&&(e=0);let i=t.length-e;if(e<0||e>=t.length||i<4)return;let o=Pg(t,e);if(i<4+o||typeof n=="number"&&o>n)return;e+=4;let s=e+o;return t._pos=s,r?Buffer.isBuffer(r)?Go(t,r,e,s):t.utf8Slice(e,s):Zo(t,e,s)},"readString"),sigSSHToASN1:c((t,e)=>{switch(e){case"ssh-dss":{if(t.length>40)return t;let r=new Mr.Writer;r.startSequence();let n=t.slice(0,20),i=t.slice(20);if(n[0]&128){let o=Buffer.allocUnsafe(21);o[0]=0,n.copy(o,1),n=o}else n[0]===0&&!(n[1]&128)&&(n=n.slice(1));if(i[0]&128){let o=Buffer.allocUnsafe(21);o[0]=0,i.copy(o,1),i=o}else i[0]===0&&!(i[1]&128)&&(i=i.slice(1));return r.writeBuffer(n,Mr.Integer),r.writeBuffer(i,Mr.Integer),r.endSequence(),r.buffer}case"ecdsa-sha2-nistp256":case"ecdsa-sha2-nistp384":case"ecdsa-sha2-nistp521":{Ca.init(t,0);let r=Ca.readString(),n=Ca.readString();if(Ca.clear(),r===void 0||n===void 0)return;let i=new Mr.Writer;return i.startSequence(),i.writeBuffer(r,Mr.Integer),i.writeBuffer(n,Mr.Integer),i.endSequence(),i.buffer}default:return t}},"sigSSHToASN1"),convertSignature:c((t,e)=>{switch(e){case"ssh-dss":{if(t.length<=40)return t;let r=new Mr.Reader(t);r.readSequence();let n=r.readString(Mr.Integer,!0),i=r.readString(Mr.Integer,!0),o=0,s=0;if(n.length<20){let u=Buffer.allocUnsafe(20);u.set(n,1),n=u,n[0]=0}if(i.length<20){let u=Buffer.allocUnsafe(20);u.set(i,1),i=u,i[0]=0}n.length>20&&n[0]===0&&(o=1),i.length>20&&i[0]===0&&(s=1);let a=Buffer.allocUnsafe(n.length-o+(i.length-s));return Go(n,a,o,n.length,0),Go(i,a,s,i.length,n.length-o),a}case"ecdsa-sha2-nistp256":case"ecdsa-sha2-nistp384":case"ecdsa-sha2-nistp521":{if(t[0]===0)return t;let r=new Mr.Reader(t);r.readSequence();let n=r.readString(Mr.Integer,!0),i=r.readString(Mr.Integer,!0);if(n===null||i===null)return;let o=Buffer.allocUnsafe(4+n.length+4+i.length);return ju(o,n.length,0),o.set(n,4),ju(o,i.length,4+n.length),o.set(i,8+n.length),o}}return t},"convertSignature"),sendPacket:c((t,e,r)=>!r&&t._kexinit!==void 0?(t._queue===void 0&&(t._queue=[]),t._queue.push(e),t._debug&&t._debug("Outbound: ... packet queued"),!1):(t._cipher.encrypt(e),!0),"sendPacket")}});var Rg=le((ka,Qu)=>{var qu=(function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),(function(e){e=e||{};var r;r||(r=typeof e<"u"?e:{});var n,i;r.ready=new Promise(function(re,fe){n=re,i=fe});var o={},s;for(s in r)r.hasOwnProperty(s)&&(o[s]=r[s]);var a=typeof window=="object",u=typeof importScripts=="function",l=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",d="",p,g,h,_,A;l?(d=u?require("path").dirname(d)+"/":__dirname+"/",p=c(function(re,fe){var ve=vr(re);return ve?fe?ve:ve.toString():(_||(_=require("fs")),A||(A=require("path")),re=A.normalize(re),_.readFileSync(re,fe?null:"utf8"))},"C"),h=c(function(re){return re=p(re,!0),re.buffer||(re=new Uint8Array(re)),J(re.buffer),re},"E"),g=c(function(re,fe,ve){var Be=vr(re);Be&&fe(Be),_||(_=require("fs")),A||(A=require("path")),re=A.normalize(re),_.readFile(re,function(ut,Jt){ut?ve(ut):fe(Jt.buffer)})},"D"),1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),r.inspect=function(){return"[Emscripten Module object]"}):(a||u)&&(u?d=self.location.href:typeof document<"u"&&document.currentScript&&(d=document.currentScript.src),t&&(d=t),d.indexOf("blob:")!==0?d=d.substr(0,d.lastIndexOf("/")+1):d="",p=c(function(re){try{var fe=new XMLHttpRequest;return fe.open("GET",re,!1),fe.send(null),fe.responseText}catch(ut){if(re=vr(re)){fe=[];for(var ve=0;ve<re.length;ve++){var Be=re[ve];255<Be&&(Er&&J(!1,"Character code "+Be+" ("+String.fromCharCode(Be)+") at offset "+ve+" not in 0x00-0xFF."),Be&=255),fe.push(String.fromCharCode(Be))}return fe.join("")}throw ut}},"C"),u&&(h=c(function(re){try{var fe=new XMLHttpRequest;return fe.open("GET",re,!1),fe.responseType="arraybuffer",fe.send(null),new Uint8Array(fe.response)}catch(ve){if(re=vr(re))return re;throw ve}},"E")),g=c(function(re,fe,ve){var Be=new XMLHttpRequest;Be.open("GET",re,!0),Be.responseType="arraybuffer",Be.onload=function(){if(Be.status==200||Be.status==0&&Be.response)fe(Be.response);else{var ut=vr(re);ut?fe(ut.buffer):ve()}},Be.onerror=ve,Be.send(null)},"D")),r.print||console.log.bind(console);var b=r.printErr||console.warn.bind(console);for(s in o)o.hasOwnProperty(s)&&(r[s]=o[s]);o=null;var v;r.wasmBinary&&(v=r.wasmBinary);var w=r.noExitRuntime||!0;typeof WebAssembly!="object"&&ee("no native wasm support detected");var H,D=!1;function J(re,fe){re||ee("Assertion failed: "+fe)}c(J,"assert");function Y(re){var fe=r["_"+re];return J(fe,"Cannot call unknown function "+re+", make sure it is exported"),fe}c(Y,"N");function X(re,fe,ve,Be){var ut={string:c(function(It){var ar=0;if(It!=null&&It!==0){var or=(It.length<<2)+1;ar=mo(or);var jt=ar,Pt=L;if(0<or){or=jt+or-1;for(var Br=0;Br<It.length;++Br){var Wt=It.charCodeAt(Br);if(55296<=Wt&&57343>=Wt){var ei=It.charCodeAt(++Br);Wt=65536+((Wt&1023)<<10)|ei&1023}if(127>=Wt){if(jt>=or)break;Pt[jt++]=Wt}else{if(2047>=Wt){if(jt+1>=or)break;Pt[jt++]=192|Wt>>6}else{if(65535>=Wt){if(jt+2>=or)break;Pt[jt++]=224|Wt>>12}else{if(jt+3>=or)break;Pt[jt++]=240|Wt>>18,Pt[jt++]=128|Wt>>12&63}Pt[jt++]=128|Wt>>6&63}Pt[jt++]=128|Wt&63}}Pt[jt]=0}}return ar},"string"),array:c(function(It){var ar=mo(It.length);return M.set(It,ar),ar},"array")},Jt=Y(re),Yr=[];if(re=0,Be)for(var Cr=0;Cr<Be.length;Cr++){var Ii=ut[ve[Cr]];Ii?(re===0&&(re=go()),Yr[Cr]=Ii(Be[Cr])):Yr[Cr]=Be[Cr]}return ve=Jt.apply(null,Yr),ve=(function(It){if(fe==="string")if(It){for(var ar=L,or=It+NaN,jt=It;ar[jt]&&!(jt>=or);)++jt;if(16<jt-It&&ar.subarray&&P)It=P.decode(ar.subarray(It,jt));else{for(or="";It<jt;){var Pt=ar[It++];if(Pt&128){var Br=ar[It++]&63;if((Pt&224)==192)or+=String.fromCharCode((Pt&31)<<6|Br);else{var Wt=ar[It++]&63;Pt=(Pt&240)==224?(Pt&15)<<12|Br<<6|Wt:(Pt&7)<<18|Br<<12|Wt<<6|ar[It++]&63,65536>Pt?or+=String.fromCharCode(Pt):(Pt-=65536,or+=String.fromCharCode(55296|Pt>>10,56320|Pt&1023))}}else or+=String.fromCharCode(Pt)}It=or}}else It="";else It=fe==="boolean"?!!It:It;return It})(ve),re!==0&&Bs(re),ve}c(X,"ca");var P=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,C,M,L;function T(){var re=H.buffer;C=re,r.HEAP8=M=new Int8Array(re),r.HEAP16=new Int16Array(re),r.HEAP32=new Int32Array(re),r.HEAPU8=L=new Uint8Array(re),r.HEAPU16=new Uint16Array(re),r.HEAPU32=new Uint32Array(re),r.HEAPF32=new Float32Array(re),r.HEAPF64=new Float64Array(re)}c(T,"ia");var F,j=[],B=[],Z=[];function te(){var re=r.preRun.shift();j.unshift(re)}c(te,"ma");var k=0,W=null,q=null;r.preloadedImages={},r.preloadedAudios={};function ee(re){throw r.onAbort&&r.onAbort(re),b(re),D=!0,re=new WebAssembly.RuntimeError("abort("+re+"). Build with -s ASSERTIONS=1 for more info."),i(re),re}c(ee,"K");var ue="data:application/octet-stream;base64,",me;if(me="data:application/octet-stream;base64,AGFzbQEAAAABIAZgAX8Bf2ADf39/AGABfwBgAABgAAF/YAZ/f39/f38AAgcBAWEBYQAAAwsKAAEDAQAAAgQFAgQFAXABAQEFBwEBgAKAgAIGCQF/AUGAjMACCwclCQFiAgABYwADAWQACQFlAAgBZgAHAWcABgFoAAUBaQAKAWoBAAqGTQpPAQJ/QYAIKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQAEUNAQtBgAggADYCACABDwtBhAhBMDYCAEF/C4wFAg5+Cn8gACgCJCEUIAAoAiAhFSAAKAIcIREgACgCGCESIAAoAhQhEyACQRBPBEAgAC0ATEVBGHQhFyAAKAIEIhZBBWytIQ8gACgCCCIYQQVsrSENIAAoAgwiGUEFbK0hCyAAKAIQIhpBBWytIQkgADUCACEIIBqtIRAgGa0hDiAYrSEMIBatIQoDQCASIAEtAAMiEiABLQAEQQh0ciABLQAFQRB0ciABLQAGIhZBGHRyQQJ2Qf///x9xaq0iAyAOfiABLwAAIAEtAAJBEHRyIBNqIBJBGHRBgICAGHFqrSIEIBB+fCARIAEtAAdBCHQgFnIgAS0ACEEQdHIgAS0ACSIRQRh0ckEEdkH///8fcWqtIgUgDH58IAEtAApBCHQgEXIgAS0AC0EQdHIgAS0ADEEYdHJBBnYgFWqtIgYgCn58IBQgF2ogAS8ADSABLQAPQRB0cmqtIgcgCH58IAMgDH4gBCAOfnwgBSAKfnwgBiAIfnwgByAJfnwgAyAKfiAEIAx+fCAFIAh+fCAGIAl+fCAHIAt+fCADIAh+IAQgCn58IAUgCX58IAYgC358IAcgDX58IAMgCX4gBCAIfnwgBSALfnwgBiANfnwgByAPfnwiA0IaiEL/////D4N8IgRCGohC/////w+DfCIFQhqIQv////8Pg3wiBkIaiEL/////D4N8IgdCGoinQQVsIAOnQf///x9xaiITQRp2IASnQf///x9xaiESIAWnQf///x9xIREgBqdB////H3EhFSAHp0H///8fcSEUIBNB////H3EhEyABQRBqIQEgAkEQayICQQ9LDQALCyAAIBQ2AiQgACAVNgIgIAAgETYCHCAAIBI2AhggACATNgIUCwMAAQu2BAEGfwJAIAAoAjgiBARAIABBPGohBQJAIAJBECAEayIDIAIgA0kbIgZFDQAgBkEDcSEHAkAgBkEBa0EDSQRAQQAhAwwBCyAGQXxxIQhBACEDA0AgBSADIARqaiABIANqLQAAOgAAIAUgA0EBciIEIAAoAjhqaiABIARqLQAAOgAAIAUgA0ECciIEIAAoAjhqaiABIARqLQAAOgAAIAUgA0EDciIEIAAoAjhqaiABIARqLQAAOgAAIANBBGohAyAAKAI4IQQgCEEEayIIDQALCyAHRQ0AA0AgBSADIARqaiABIANqLQAAOgAAIANBAWohAyAAKAI4IQQgB0EBayIHDQALCyAAIAQgBmoiAzYCOCADQRBJDQEgACAFQRAQAiAAQQA2AjggAiAGayECIAEgBmohAQsgAkEQTwRAIAAgASACQXBxIgMQAiACQQ9xIQIgASADaiEBCyACRQ0AIAJBA3EhBCAAQTxqIQVBACEDIAJBAWtBA08EQCACQXxxIQcDQCAFIAAoAjggA2pqIAEgA2otAAA6AAAgBSADQQFyIgYgACgCOGpqIAEgBmotAAA6AAAgBSADQQJyIgYgACgCOGpqIAEgBmotAAA6AAAgBSADQQNyIgYgACgCOGpqIAEgBmotAAA6AAAgA0EEaiEDIAdBBGsiBw0ACwsgBARAA0AgBSAAKAI4IANqaiABIANqLQAAOgAAIANBAWohAyAEQQFrIgQNAAsLIAAgACgCOCACajYCOAsLoS0BDH8jAEEQayIMJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEGICCgCACIFQRAgAEELakF4cSAAQQtJGyIIQQN2IgJ2IgFBA3EEQCABQX9zQQFxIAJqIgNBA3QiAUG4CGooAgAiBEEIaiEAAkAgBCgCCCICIAFBsAhqIgFGBEBBiAggBUF+IAN3cTYCAAwBCyACIAE2AgwgASACNgIICyAEIANBA3QiAUEDcjYCBCABIARqIgEgASgCBEEBcjYCBAwNCyAIQZAIKAIAIgpNDQEgAQRAAkBBAiACdCIAQQAgAGtyIAEgAnRxIgBBACAAa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2aiIDQQN0IgBBuAhqKAIAIgQoAggiASAAQbAIaiIARgRAQYgIIAVBfiADd3EiBTYCAAwBCyABIAA2AgwgACABNgIICyAEQQhqIQAgBCAIQQNyNgIEIAQgCGoiAiADQQN0IgEgCGsiA0EBcjYCBCABIARqIAM2AgAgCgRAIApBA3YiAUEDdEGwCGohB0GcCCgCACEEAn8gBUEBIAF0IgFxRQRAQYgIIAEgBXI2AgAgBwwBCyAHKAIICyEBIAcgBDYCCCABIAQ2AgwgBCAHNgIMIAQgATYCCAtBnAggAjYCAEGQCCADNgIADA0LQYwIKAIAIgZFDQEgBkEAIAZrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QbgKaigCACIBKAIEQXhxIAhrIQMgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAhrIgIgAyACIANJIgIbIQMgACABIAIbIQEgACECDAELCyABIAhqIgkgAU0NAiABKAIYIQsgASABKAIMIgRHBEAgASgCCCIAQZgIKAIASRogACAENgIMIAQgADYCCAwMCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQQgAUEQaiECCwNAIAIhByAAIgRBFGoiAigCACIADQAgBEEQaiECIAQoAhAiAA0ACyAHQQA2AgAMCwtBfyEIIABBv39LDQAgAEELaiIAQXhxIQhBjAgoAgAiCUUNAEEAIAhrIQMCQAJAAkACf0EAIAhBgAJJDQAaQR8gCEH///8HSw0AGiAAQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgCCAAQRVqdkEBcXJBHGoLIgVBAnRBuApqKAIAIgJFBEBBACEADAELQQAhACAIQQBBGSAFQQF2ayAFQR9GG3QhAQNAAkAgAigCBEF4cSAIayIHIANPDQAgAiEEIAciAw0AQQAhAyACIQAMAwsgACACKAIUIgcgByACIAFBHXZBBHFqKAIQIgJGGyAAIAcbIQAgAUEBdCEBIAINAAsLIAAgBHJFBEBBACEEQQIgBXQiAEEAIABrciAJcSIARQ0DIABBACAAa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2akECdEG4CmooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAhrIgEgA0khAiABIAMgAhshAyAAIAQgAhshBCAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAERQ0AIANBkAgoAgAgCGtPDQAgBCAIaiIGIARNDQEgBCgCGCEFIAQgBCgCDCIBRwRAIAQoAggiAEGYCCgCAEkaIAAgATYCDCABIAA2AggMCgsgBEEUaiICKAIAIgBFBEAgBCgCECIARQ0EIARBEGohAgsDQCACIQcgACIBQRRqIgIoAgAiAA0AIAFBEGohAiABKAIQIgANAAsgB0EANgIADAkLIAhBkAgoAgAiAk0EQEGcCCgCACEDAkAgAiAIayIBQRBPBEBBkAggATYCAEGcCCADIAhqIgA2AgAgACABQQFyNgIEIAIgA2ogATYCACADIAhBA3I2AgQMAQtBnAhBADYCAEGQCEEANgIAIAMgAkEDcjYCBCACIANqIgAgACgCBEEBcjYCBAsgA0EIaiEADAsLIAhBlAgoAgAiBkkEQEGUCCAGIAhrIgE2AgBBoAhBoAgoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAsLQQAhACAIQS9qIgkCf0HgCygCAARAQegLKAIADAELQewLQn83AgBB5AtCgKCAgICABDcCAEHgCyAMQQxqQXBxQdiq1aoFczYCAEH0C0EANgIAQcQLQQA2AgBBgCALIgFqIgVBACABayIHcSICIAhNDQpBwAsoAgAiBARAQbgLKAIAIgMgAmoiASADTQ0LIAEgBEsNCwtBxAstAABBBHENBQJAAkBBoAgoAgAiAwRAQcgLIQADQCADIAAoAgAiAU8EQCABIAAoAgRqIANLDQMLIAAoAggiAA0ACwtBABABIgFBf0YNBiACIQVB5AsoAgAiA0EBayIAIAFxBEAgAiABayAAIAFqQQAgA2txaiEFCyAFIAhNDQYgBUH+////B0sNBkHACygCACIEBEBBuAsoAgAiAyAFaiIAIANNDQcgACAESw0HCyAFEAEiACABRw0BDAgLIAUgBmsgB3EiBUH+////B0sNBSAFEAEiASAAKAIAIAAoAgRqRg0EIAEhAAsCQCAAQX9GDQAgCEEwaiAFTQ0AQegLKAIAIgEgCSAFa2pBACABa3EiAUH+////B0sEQCAAIQEMCAsgARABQX9HBEAgASAFaiEFIAAhAQwIC0EAIAVrEAEaDAULIAAiAUF/Rw0GDAQLAAtBACEEDAcLQQAhAQwFCyABQX9HDQILQcQLQcQLKAIAQQRyNgIACyACQf7///8HSw0BIAIQASEBQQAQASEAIAFBf0YNASAAQX9GDQEgACABTQ0BIAAgAWsiBSAIQShqTQ0BC0G4C0G4CygCACAFaiIANgIAQbwLKAIAIABJBEBBvAsgADYCAAsCQAJAAkBBoAgoAgAiBwRAQcgLIQADQCABIAAoAgAiAyAAKAIEIgJqRg0CIAAoAggiAA0ACwwCC0GYCCgCACIAQQAgACABTRtFBEBBmAggATYCAAtBACEAQcwLIAU2AgBByAsgATYCAEGoCEF/NgIAQawIQeALKAIANgIAQdQLQQA2AgADQCAAQQN0IgNBuAhqIANBsAhqIgI2AgAgA0G8CGogAjYCACAAQQFqIgBBIEcNAAtBlAggBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQaAIIAAgAWoiADYCACAAIAJBAXI2AgQgASADakEoNgIEQaQIQfALKAIANgIADAILIAAtAAxBCHENACADIAdLDQAgASAHTQ0AIAAgAiAFajYCBEGgCCAHQXggB2tBB3FBACAHQQhqQQdxGyIAaiICNgIAQZQIQZQIKAIAIAVqIgEgAGsiADYCACACIABBAXI2AgQgASAHakEoNgIEQaQIQfALKAIANgIADAELQZgIKAIAIAFLBEBBmAggATYCAAsgASAFaiECQcgLIQACQAJAAkACQAJAAkADQCACIAAoAgBHBEAgACgCCCIADQEMAgsLIAAtAAxBCHFFDQELQcgLIQADQCAHIAAoAgAiAk8EQCACIAAoAgRqIgQgB0sNAwsgACgCCCEADAALAAsgACABNgIAIAAgACgCBCAFajYCBCABQXggAWtBB3FBACABQQhqQQdxG2oiCSAIQQNyNgIEIAJBeCACa0EHcUEAIAJBCGpBB3EbaiIFIAggCWoiBmshAiAFIAdGBEBBoAggBjYCAEGUCEGUCCgCACACaiIANgIAIAYgAEEBcjYCBAwDCyAFQZwIKAIARgRAQZwIIAY2AgBBkAhBkAgoAgAgAmoiADYCACAGIABBAXI2AgQgACAGaiAANgIADAMLIAUoAgQiAEEDcUEBRgRAIABBeHEhBwJAIABB/wFNBEAgBSgCCCIDIABBA3YiAEEDdEGwCGpGGiADIAUoAgwiAUYEQEGICEGICCgCAEF+IAB3cTYCAAwCCyADIAE2AgwgASADNgIIDAELIAUoAhghCAJAIAUgBSgCDCIBRwRAIAUoAggiACABNgIMIAEgADYCCAwBCwJAIAVBFGoiACgCACIDDQAgBUEQaiIAKAIAIgMNAEEAIQEMAQsDQCAAIQQgAyIBQRRqIgAoAgAiAw0AIAFBEGohACABKAIQIgMNAAsgBEEANgIACyAIRQ0AAkAgBSAFKAIcIgNBAnRBuApqIgAoAgBGBEAgACABNgIAIAENAUGMCEGMCCgCAEF+IAN3cTYCAAwCCyAIQRBBFCAIKAIQIAVGG2ogATYCACABRQ0BCyABIAg2AhggBSgCECIABEAgASAANgIQIAAgATYCGAsgBSgCFCIARQ0AIAEgADYCFCAAIAE2AhgLIAUgB2ohBSACIAdqIQILIAUgBSgCBEF+cTYCBCAGIAJBAXI2AgQgAiAGaiACNgIAIAJB/wFNBEAgAkEDdiIAQQN0QbAIaiECAn9BiAgoAgAiAUEBIAB0IgBxRQRAQYgIIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwDC0EfIQAgAkH///8HTQRAIAJBCHYiACAAQYD+P2pBEHZBCHEiA3QiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASADciAAcmsiAEEBdCACIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRBuApqIQQCQEGMCCgCACIDQQEgAHQiAXFFBEBBjAggASADcjYCACAEIAY2AgAgBiAENgIYDAELIAJBAEEZIABBAXZrIABBH0YbdCEAIAQoAgAhAQNAIAEiAygCBEF4cSACRg0DIABBHXYhASAAQQF0IQAgAyABQQRxaiIEKAIQIgENAAsgBCAGNgIQIAYgAzYCGAsgBiAGNgIMIAYgBjYCCAwCC0GUCCAFQShrIgNBeCABa0EHcUEAIAFBCGpBB3EbIgBrIgI2AgBBoAggACABaiIANgIAIAAgAkEBcjYCBCABIANqQSg2AgRBpAhB8AsoAgA2AgAgByAEQScgBGtBB3FBACAEQSdrQQdxG2pBL2siACAAIAdBEGpJGyICQRs2AgQgAkHQCykCADcCECACQcgLKQIANwIIQdALIAJBCGo2AgBBzAsgBTYCAEHICyABNgIAQdQLQQA2AgAgAkEYaiEAA0AgAEEHNgIEIABBCGohASAAQQRqIQAgASAESQ0ACyACIAdGDQMgAiACKAIEQX5xNgIEIAcgAiAHayIEQQFyNgIEIAIgBDYCACAEQf8BTQRAIARBA3YiAEEDdEGwCGohAgJ/QYgIKAIAIgFBASAAdCIAcUUEQEGICCAAIAFyNgIAIAIMAQsgAigCCAshACACIAc2AgggACAHNgIMIAcgAjYCDCAHIAA2AggMBAtBHyEAIAdCADcCECAEQf///wdNBEAgBEEIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAQgAEEVanZBAXFyQRxqIQALIAcgADYCHCAAQQJ0QbgKaiEDAkBBjAgoAgAiAkEBIAB0IgFxRQRAQYwIIAEgAnI2AgAgAyAHNgIAIAcgAzYCGAwBCyAEQQBBGSAAQQF2ayAAQR9GG3QhACADKAIAIQEDQCABIgIoAgRBeHEgBEYNBCAAQR12IQEgAEEBdCEAIAIgAUEEcWoiAygCECIBDQALIAMgBzYCECAHIAI2AhgLIAcgBzYCDCAHIAc2AggMAwsgAygCCCIAIAY2AgwgAyAGNgIIIAZBADYCGCAGIAM2AgwgBiAANgIICyAJQQhqIQAMBQsgAigCCCIAIAc2AgwgAiAHNgIIIAdBADYCGCAHIAI2AgwgByAANgIIC0GUCCgCACIAIAhNDQBBlAggACAIayIBNgIAQaAIQaAIKAIAIgIgCGoiADYCACAAIAFBAXI2AgQgAiAIQQNyNgIEIAJBCGohAAwDC0GECEEwNgIAQQAhAAwCCwJAIAVFDQACQCAEKAIcIgJBAnRBuApqIgAoAgAgBEYEQCAAIAE2AgAgAQ0BQYwIIAlBfiACd3EiCTYCAAwCCyAFQRBBFCAFKAIQIARGG2ogATYCACABRQ0BCyABIAU2AhggBCgCECIABEAgASAANgIQIAAgATYCGAsgBCgCFCIARQ0AIAEgADYCFCAAIAE2AhgLAkAgA0EPTQRAIAQgAyAIaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIEDAELIAQgCEEDcjYCBCAGIANBAXI2AgQgAyAGaiADNgIAIANB/wFNBEAgA0EDdiIAQQN0QbAIaiECAn9BiAgoAgAiAUEBIAB0IgBxRQRAQYgIIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwBC0EfIQAgA0H///8HTQRAIANBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCADIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRBuApqIQICQAJAIAlBASAAdCIBcUUEQEGMCCABIAlyNgIAIAIgBjYCACAGIAI2AhgMAQsgA0EAQRkgAEEBdmsgAEEfRht0IQAgAigCACEIA0AgCCIBKAIEQXhxIANGDQIgAEEddiECIABBAXQhACABIAJBBHFqIgIoAhAiCA0ACyACIAY2AhAgBiABNgIYCyAGIAY2AgwgBiAGNgIIDAELIAEoAggiACAGNgIMIAEgBjYCCCAGQQA2AhggBiABNgIMIAYgADYCCAsgBEEIaiEADAELAkAgC0UNAAJAIAEoAhwiAkECdEG4CmoiACgCACABRgRAIAAgBDYCACAEDQFBjAggBkF+IAJ3cTYCAAwCCyALQRBBFCALKAIQIAFGG2ogBDYCACAERQ0BCyAEIAs2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEgAyAIaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgCEEDcjYCBCAJIANBAXI2AgQgAyAJaiADNgIAIAoEQCAKQQN2IgBBA3RBsAhqIQRBnAgoAgAhAgJ/QQEgAHQiACAFcUUEQEGICCAAIAVyNgIAIAQMAQsgBCgCCAshACAEIAI2AgggACACNgIMIAIgBDYCDCACIAA2AggLQZwIIAk2AgBBkAggAzYCAAsgAUEIaiEACyAMQRBqJAAgAAsQACMAIABrQXBxIgAkACAACwYAIAAkAAsEACMAC4AJAgh/BH4jAEGQAWsiBiQAIAYgBS0AA0EYdEGAgIAYcSAFLwAAIAUtAAJBEHRycjYCACAGIAUoAANBAnZBg/7/H3E2AgQgBiAFKAAGQQR2Qf+B/x9xNgIIIAYgBSgACUEGdkH//8AfcTYCDCAFLwANIQggBS0ADyEJIAZCADcCFCAGQgA3AhwgBkEANgIkIAYgCCAJQRB0QYCAPHFyNgIQIAYgBSgAEDYCKCAGIAUoABQ2AiwgBiAFKAAYNgIwIAUoABwhBSAGQQA6AEwgBkEANgI4IAYgBTYCNCAGIAEgAhAEIAQEQCAGIAMgBBAECyAGKAI4IgEEQCAGQTxqIgIgAWpBAToAACABQQFqQQ9NBEAgASAGakE9aiEEAkBBDyABayIDRQ0AIAMgBGoiAUEBa0EAOgAAIARBADoAACADQQNJDQAgAUECa0EAOgAAIARBADoAASABQQNrQQA6AAAgBEEAOgACIANBB0kNACABQQRrQQA6AAAgBEEAOgADIANBCUkNACAEQQAgBGtBA3EiAWoiBEEANgIAIAQgAyABa0F8cSIBaiIDQQRrQQA2AgAgAUEJSQ0AIARBADYCCCAEQQA2AgQgA0EIa0EANgIAIANBDGtBADYCACABQRlJDQAgBEEANgIYIARBADYCFCAEQQA2AhAgBEEANgIMIANBEGtBADYCACADQRRrQQA2AgAgA0EYa0EANgIAIANBHGtBADYCACABIARBBHFBGHIiAWsiA0EgSQ0AIAEgBGohAQNAIAFCADcDGCABQgA3AxAgAUIANwMIIAFCADcDACABQSBqIQEgA0EgayIDQR9LDQALCwsgBkEBOgBMIAYgAkEQEAILIAY1AjQhECAGNQIwIREgBjUCLCEOIAAgBjUCKCAGKAIkIAYoAiAgBigCHCAGKAIYIgNBGnZqIgJBGnZqIgFBGnZqIgtBgICAYHIgAUH///8fcSINIAJB////H3EiCCAGKAIUIAtBGnZBBWxqIgFB////H3EiCUEFaiIFQRp2IANB////H3EgAUEadmoiA2oiAUEadmoiAkEadmoiBEEadmoiDEEfdSIHIANxIAEgDEEfdkEBayIDQf///x9xIgpxciIBQRp0IAUgCnEgByAJcXJyrXwiDzwAACAAIA9CGIg8AAMgACAPQhCIPAACIAAgD0IIiDwAASAAIA4gByAIcSACIApxciICQRR0IAFBBnZyrXwgD0IgiHwiDjwABCAAIA5CGIg8AAcgACAOQhCIPAAGIAAgDkIIiDwABSAAIBEgByANcSAEIApxciIBQQ50IAJBDHZyrXwgDkIgiHwiDjwACCAAIA5CGIg8AAsgACAOQhCIPAAKIAAgDkIIiDwACSAAIBAgAyAMcSAHIAtxckEIdCABQRJ2cq18IA5CIIh8Ig48AAwgACAOQhiIPAAPIAAgDkIQiDwADiAAIA5CCIg8AA0gBkIANwIwIAZCADcCKCAGQgA3AiAgBkIANwIYIAZCADcCECAGQgA3AgggBkIANwIAIAZBkAFqJAALpwwBB38CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgFBeHEiAGohBQJAIAFBAXENACABQQNxRQ0BIAMgAygCACIBayIDQZgIKAIASQ0BIAAgAWohACADQZwIKAIARwRAIAFB/wFNBEAgAygCCCICIAFBA3YiBEEDdEGwCGpGGiACIAMoAgwiAUYEQEGICEGICCgCAEF+IAR3cTYCAAwDCyACIAE2AgwgASACNgIIDAILIAMoAhghBgJAIAMgAygCDCIBRwRAIAMoAggiAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRBuApqIgQoAgBGBEAgBCABNgIAIAENAUGMCEGMCCgCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBkAggADYCACAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAMgBU8NACAFKAIEIgFBAXFFDQACQCABQQJxRQRAIAVBoAgoAgBGBEBBoAggAzYCAEGUCEGUCCgCACAAaiIANgIAIAMgAEEBcjYCBCADQZwIKAIARw0DQZAIQQA2AgBBnAhBADYCAA8LIAVBnAgoAgBGBEBBnAggAzYCAEGQCEGQCCgCACAAaiIANgIAIAMgAEEBcjYCBCAAIANqIAA2AgAPCyABQXhxIABqIQACQCABQf8BTQRAIAUoAggiAiABQQN2IgRBA3RBsAhqRhogAiAFKAIMIgFGBEBBiAhBiAgoAgBBfiAEd3E2AgAMAgsgAiABNgIMIAEgAjYCCAwBCyAFKAIYIQYCQCAFIAUoAgwiAUcEQCAFKAIIIgJBmAgoAgBJGiACIAE2AgwgASACNgIIDAELAkAgBUEUaiICKAIAIgQNACAFQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiAkECdEG4CmoiBCgCAEYEQCAEIAE2AgAgAQ0BQYwIQYwIKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgIEQCABIAI2AhAgAiABNgIYCyAFKAIUIgJFDQAgASACNgIUIAIgATYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQZwIKAIARw0BQZAIIAA2AgAPCyAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAAsgAEH/AU0EQCAAQQN2IgFBA3RBsAhqIQACf0GICCgCACICQQEgAXQiAXFFBEBBiAggASACcjYCACAADAELIAAoAggLIQIgACADNgIIIAIgAzYCDCADIAA2AgwgAyACNgIIDwtBHyECIANCADcCECAAQf///wdNBEAgAEEIdiIBIAFBgP4/akEQdkEIcSIBdCICIAJBgOAfakEQdkEEcSICdCIEIARBgIAPakEQdkECcSIEdEEPdiABIAJyIARyayIBQQF0IAAgAUEVanZBAXFyQRxqIQILIAMgAjYCHCACQQJ0QbgKaiEBAkACQAJAQYwIKAIAIgRBASACdCIHcUUEQEGMCCAEIAdyNgIAIAEgAzYCACADIAE2AhgMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgASgCACEBA0AgASIEKAIEQXhxIABGDQIgAkEddiEBIAJBAXQhAiAEIAFBBHFqIgdBEGooAgAiAQ0ACyAHIAM2AhAgAyAENgIYCyADIAM2AgwgAyADNgIIDAELIAQoAggiACADNgIMIAQgAzYCCCADQQA2AhggAyAENgIMIAMgADYCCAtBqAhBqAgoAgBBAWsiAEF/IAAbNgIACwsLCQEAQYEICwIGUA==",!me.startsWith(ue)){var he=me;me=r.locateFile?r.locateFile(he,d):d+he}function xt(){var re=me;try{if(re==me&&v)return new Uint8Array(v);var fe=vr(re);if(fe)return fe;if(h)return h(re);throw"both async and sync fetching of the wasm failed"}catch(ve){ee(ve)}}c(xt,"pa");function kt(){if(!v&&(a||u)){if(typeof fetch=="function"&&!me.startsWith("file://"))return fetch(me,{credentials:"same-origin"}).then(function(re){if(!re.ok)throw"failed to load wasm binary file at '"+me+"'";return re.arrayBuffer()}).catch(function(){return xt()});if(g)return new Promise(function(re,fe){g(me,function(ve){re(new Uint8Array(ve))},fe)})}return Promise.resolve().then(function(){return xt()})}c(kt,"qa");function Xt(re){for(;0<re.length;){var fe=re.shift();if(typeof fe=="function")fe(r);else{var ve=fe.m;typeof ve=="number"?fe.l===void 0?F.get(ve)():F.get(ve)(fe.l):ve(fe.l===void 0?null:fe.l)}}}c(Xt,"X");var Er=!1,Dr=typeof atob=="function"?atob:function(re){var fe="",ve=0;re=re.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var Be="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(re.charAt(ve++)),ut="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(re.charAt(ve++)),Jt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(re.charAt(ve++)),Yr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(re.charAt(ve++));Be=Be<<2|ut>>4,ut=(ut&15)<<4|Jt>>2;var Cr=(Jt&3)<<6|Yr;fe+=String.fromCharCode(Be),Jt!==64&&(fe+=String.fromCharCode(ut)),Yr!==64&&(fe+=String.fromCharCode(Cr))}while(ve<re.length);return fe};function vr(re){if(re.startsWith(ue)){if(re=re.slice(ue.length),typeof l=="boolean"&&l){var fe=Buffer.from(re,"base64");fe=new Uint8Array(fe.buffer,fe.byteOffset,fe.byteLength)}else try{var ve=Dr(re),Be=new Uint8Array(ve.length);for(re=0;re<ve.length;++re)Be[re]=ve.charCodeAt(re);fe=Be}catch{throw Error("Converting base64 string to bytes failed.")}return fe}}c(vr,"H");var Ai={a:c(function(re){var fe=L.length;if(re>>>=0,2147483648<re)return!1;for(var ve=1;4>=ve;ve*=2){var Be=fe*(1+.2/ve);Be=Math.min(Be,re+100663296),Be=Math.max(re,Be),0<Be%65536&&(Be+=65536-Be%65536);e:{try{H.grow(Math.min(2147483648,Be)-C.byteLength+65535>>>16),T();var ut=1;break e}catch{}ut=void 0}if(ut)return!0}return!1},"a")};(function(){function re(ut){r.asm=ut.exports,H=r.asm.b,T(),F=r.asm.j,B.unshift(r.asm.c),k--,r.monitorRunDependencies&&r.monitorRunDependencies(k),k==0&&(W!==null&&(clearInterval(W),W=null),q&&(ut=q,q=null,ut()))}c(re,"a");function fe(ut){re(ut.instance)}c(fe,"c");function ve(ut){return kt().then(function(Jt){return WebAssembly.instantiate(Jt,Be)}).then(ut,function(Jt){b("failed to asynchronously prepare wasm: "+Jt),ee(Jt)})}c(ve,"d");var Be={a:Ai};if(k++,r.monitorRunDependencies&&r.monitorRunDependencies(k),r.instantiateWasm)try{return r.instantiateWasm(Be,re)}catch(ut){return b("Module.instantiateWasm callback failed with error: "+ut),!1}return(function(){return v||typeof WebAssembly.instantiateStreaming!="function"||me.startsWith(ue)||me.startsWith("file://")||typeof fetch!="function"?ve(fe):fetch(me,{credentials:"same-origin"}).then(function(ut){return WebAssembly.instantiateStreaming(ut,Be).then(fe,function(Jt){return b("wasm streaming compile failed: "+Jt),b("falling back to ArrayBuffer instantiation"),ve(fe)})})})().catch(i),{}})(),r.___wasm_call_ctors=function(){return(r.___wasm_call_ctors=r.asm.c).apply(null,arguments)},r._poly1305_auth=function(){return(r._poly1305_auth=r.asm.d).apply(null,arguments)};var go=r.stackSave=function(){return(go=r.stackSave=r.asm.e).apply(null,arguments)},Bs=r.stackRestore=function(){return(Bs=r.stackRestore=r.asm.f).apply(null,arguments)},mo=r.stackAlloc=function(){return(mo=r.stackAlloc=r.asm.g).apply(null,arguments)};r._malloc=function(){return(r._malloc=r.asm.h).apply(null,arguments)},r._free=function(){return(r._free=r.asm.i).apply(null,arguments)},r.cwrap=function(re,fe,ve,Be){ve=ve||[];var ut=ve.every(function(Jt){return Jt==="number"});return fe!=="string"&&ut&&!Be?Y(re):function(){return X(re,fe,ve,arguments)}};var bi;q=c(function re(){bi||xi(),bi||(q=re)},"ta");function xi(){function re(){if(!bi&&(bi=!0,r.calledRun=!0,!D)){if(Xt(B),n(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;){var fe=r.postRun.shift();Z.unshift(fe)}Xt(Z)}}if(c(re,"a"),!(0<k)){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)te();Xt(j),0<k||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),re()},1)):re())}}if(c(xi,"Z"),r.run=xi,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);0<r.preInit.length;)r.preInit.pop()();return xi(),e.ready})})();typeof ka=="object"&&typeof Qu=="object"?Qu.exports=qu:typeof define=="function"&&define.amd?define([],function(){return qu}):typeof ka=="object"&&(ka.createPoly1305=qu)});var Mn=le((AF,Bg)=>{"use strict";var{createCipheriv:Gi,createDecipheriv:Ra,createHmac:Vu,randomFillSync:ci,timingSafeEqual:Ku}=require("crypto"),{readUInt32BE:Xo,writeUInt32BE:Or}=Qr(),Fn=Buffer[Symbol.species],Ng=2**32-1,Og=Buffer.alloc(0),Ki=Buffer.alloc(4),Na=new Map,ui=35e3,Gu,ll,fl,dl,pl,hl,gl;try{Gu=require("./crypto/build/Release/sshcrypto.node"),{AESGCMCipher:ll,ChaChaPolyCipher:fl,GenericCipher:dl,AESGCMDecipher:pl,ChaChaPolyDecipher:hl,GenericDecipher:gl}=Gu}catch{}var fr=1,Gx=(()=>{function t(e,r,n,i,o,s,a){return{sslName:e,blockLen:r,keyLen:n,ivLen:i!==0||a&fr?i:r,authLen:o,discardLen:s,stream:!!(a&fr)}}return c(t,"info"),{"chacha20-poly1305@openssh.com":t("chacha20",8,64,0,16,0,fr),"aes128-gcm":t("aes-128-gcm",16,16,12,16,0,fr),"aes256-gcm":t("aes-256-gcm",16,32,12,16,0,fr),"aes128-gcm@openssh.com":t("aes-128-gcm",16,16,12,16,0,fr),"aes256-gcm@openssh.com":t("aes-256-gcm",16,32,12,16,0,fr),"aes128-cbc":t("aes-128-cbc",16,16,0,0,0,0),"aes192-cbc":t("aes-192-cbc",16,24,0,0,0,0),"aes256-cbc":t("aes-256-cbc",16,32,0,0,0,0),"rijndael-cbc@lysator.liu.se":t("aes-256-cbc",16,32,0,0,0,0),"3des-cbc":t("des-ede3-cbc",8,24,0,0,0,0),"blowfish-cbc":t("bf-cbc",8,16,0,0,0,0),"idea-cbc":t("idea-cbc",8,16,0,0,0,0),"cast128-cbc":t("cast-cbc",8,16,0,0,0,0),"aes128-ctr":t("aes-128-ctr",16,16,16,0,0,fr),"aes192-ctr":t("aes-192-ctr",16,24,16,0,0,fr),"aes256-ctr":t("aes-256-ctr",16,32,16,0,0,fr),"3des-ctr":t("des-ede3",8,24,8,0,0,fr),"blowfish-ctr":t("bf-ecb",8,16,8,0,0,fr),"cast128-ctr":t("cast5-ecb",8,16,8,0,0,fr),arcfour:t("rc4",8,16,0,0,1536,fr),arcfour128:t("rc4",8,16,0,0,1536,fr),arcfour256:t("rc4",8,32,0,0,1536,fr),arcfour512:t("rc4",8,64,0,0,1536,fr)}})(),Zx=(()=>{function t(e,r,n,i){return{sslName:e,len:r,actualLen:n,isETM:i}}return c(t,"info"),{"hmac-md5":t("md5",16,16,!1),"hmac-md5-96":t("md5",16,12,!1),"hmac-ripemd160":t("ripemd160",20,20,!1),"hmac-sha1":t("sha1",20,20,!1),"hmac-sha1-etm@openssh.com":t("sha1",20,20,!0),"hmac-sha1-96":t("sha1",20,12,!1),"hmac-sha2-256":t("sha256",32,32,!1),"hmac-sha2-256-etm@openssh.com":t("sha256",32,32,!0),"hmac-sha2-256-96":t("sha256",32,12,!1),"hmac-sha2-512":t("sha512",64,64,!1),"hmac-sha2-512-etm@openssh.com":t("sha512",64,64,!0),"hmac-sha2-512-96":t("sha512",64,12,!1)}})(),Zu=class{static{c(this,"NullCipher")}constructor(e,r){this.outSeqno=e,this._onWrite=r,this._dead=!1}free(){this._dead=!0}allocPacket(e){let r=5+e,n=8-(r&7);n<4&&(n+=8),r+=n;let i=Buffer.allocUnsafe(r);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){this._dead||(this._onWrite(e),this.outSeqno=this.outSeqno+1>>>0)}},$g=Buffer.alloc(32),Sr=Buffer.alloc(16),Yo,Jo,ml,Yu=class{static{c(this,"ChaChaPolyCipherNative")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._encKeyMain=r.cipherKey.slice(0,32),this._encKeyPktLen=r.cipherKey.slice(32),this._dead=!1}free(){this._dead=!0}allocPacket(e){let r=5+e,n=8-(r-4&7);n<4&&(n+=8),r+=n;let i=Buffer.allocUnsafe(r);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){if(this._dead)return;Sr[0]=0,Or(Sr,this.outSeqno,12);let r=Gi("chacha20",this._encKeyMain,Sr).update($g),n=Gi("chacha20",this._encKeyPktLen,Sr).update(e.slice(0,4));this._onWrite(n),Sr[0]=1;let i=Gi("chacha20",this._encKeyMain,Sr).update(e.slice(4));this._onWrite(i),ml(Jo,n,n.length,i,i.length,r);let o=Buffer.allocUnsafe(16);o.set(new Uint8Array(Yo.HEAPU8.buffer,Jo,16),0),this._onWrite(o),this.outSeqno=this.outSeqno+1>>>0}},Xu=class{static{c(this,"ChaChaPolyCipherBinding")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._instance=new fl(r.cipherKey),this._dead=!1}free(){this._dead=!0,this._instance.free()}allocPacket(e){let r=5+e,n=8-(r-4&7);n<4&&(n+=8),r+=n;let i=Buffer.allocUnsafe(r+16);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){this._dead||(this._instance.encrypt(e,this.outSeqno),this._onWrite(e),this.outSeqno=this.outSeqno+1>>>0)}},Ju=class{static{c(this,"AESGCMCipherNative")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._encSSLName=r.cipherInfo.sslName,this._encKey=r.cipherKey,this._encIV=r.cipherIV,this._dead=!1}free(){this._dead=!0}allocPacket(e){let r=5+e,n=16-(r-4&15);n<4&&(n+=16),r+=n;let i=Buffer.allocUnsafe(r);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){if(this._dead)return;let r=Gi(this._encSSLName,this._encKey,this._encIV);r.setAutoPadding(!1);let n=e.slice(0,4);r.setAAD(n),this._onWrite(n);let i=r.update(e.slice(4));this._onWrite(i);let o=r.final();o.length&&this._onWrite(o);let s=r.getAuthTag();this._onWrite(s),Dg(this._encIV),this.outSeqno=this.outSeqno+1>>>0}},el=class{static{c(this,"AESGCMCipherBinding")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._instance=new ll(r.cipherInfo.sslName,r.cipherKey,r.cipherIV),this._dead=!1}free(){this._dead=!0,this._instance.free()}allocPacket(e){let r=5+e,n=16-(r-4&15);n<4&&(n+=16),r+=n;let i=Buffer.allocUnsafe(r+16);return Or(i,r-4,0),i[4]=n,ci(i,5+e,n),i}encrypt(e){this._dead||(this._instance.encrypt(e),this._onWrite(e),this.outSeqno=this.outSeqno+1>>>0)}},tl=class{static{c(this,"GenericCipherNative")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._encBlockLen=r.cipherInfo.blockLen,this._cipherInstance=Gi(r.cipherInfo.sslName,r.cipherKey,r.cipherIV),this._macSSLName=r.macInfo.sslName,this._macKey=r.macKey,this._macActualLen=r.macInfo.actualLen,this._macETM=r.macInfo.isETM,this._aadLen=this._macETM?4:0,this._dead=!1;let n=r.cipherInfo.discardLen;if(n){let i=Na.get(n);i===void 0&&(i=Buffer.alloc(n),Na.set(n,i)),this._cipherInstance.update(i)}}free(){this._dead=!0}allocPacket(e){let r=this._encBlockLen,n=5+e,i=r-(n-this._aadLen&r-1);i<4&&(i+=r),n+=i;let o=Buffer.allocUnsafe(n);return Or(o,n-4,0),o[4]=i,ci(o,5+e,i),o}encrypt(e){if(this._dead)return;let r;if(this._macETM){let i=new Uint8Array(e.buffer,e.byteOffset,4),o=this._cipherInstance.update(new Uint8Array(e.buffer,e.byteOffset+4,e.length-4));this._onWrite(i),this._onWrite(o),r=Vu(this._macSSLName,this._macKey),Or(Ki,this.outSeqno,0),r.update(Ki),r.update(i),r.update(o)}else{let i=this._cipherInstance.update(e);this._onWrite(i),r=Vu(this._macSSLName,this._macKey),Or(Ki,this.outSeqno,0),r.update(Ki),r.update(e)}let n=r.digest();n.length>this._macActualLen&&(n=n.slice(0,this._macActualLen)),this._onWrite(n),this.outSeqno=this.outSeqno+1>>>0}},rl=class{static{c(this,"GenericCipherBinding")}constructor(e){let r=e.outbound;this.outSeqno=r.seqno,this._onWrite=r.onWrite,this._encBlockLen=r.cipherInfo.blockLen,this._macLen=r.macInfo.len,this._macActualLen=r.macInfo.actualLen,this._aadLen=r.macInfo.isETM?4:0,this._instance=new dl(r.cipherInfo.sslName,r.cipherKey,r.cipherIV,r.macInfo.sslName,r.macKey,r.macInfo.isETM),this._dead=!1}free(){this._dead=!0,this._instance.free()}allocPacket(e){let r=this._encBlockLen,n=5+e,i=r-(n-this._aadLen&r-1);i<4&&(i+=r),n+=i;let o=Buffer.allocUnsafe(n+this._macLen);return Or(o,n-4,0),o[4]=i,ci(o,5+e,i),o}encrypt(e){this._dead||(this._instance.encrypt(e,this.outSeqno),this._macActualLen<this._macLen&&(e=new Fn(e.buffer,e.byteOffset,e.length-(this._macLen-this._macActualLen))),this._onWrite(e),this.outSeqno=this.outSeqno+1>>>0)}},nl=class{static{c(this,"NullDecipher")}constructor(e,r){this.inSeqno=e,this._onPayload=r,this._len=0,this._lenBytes=0,this._packet=null,this._packetPos=0}free(){}decrypt(e,r,n){for(;r<n;){if(this._lenBytes<4){let o=Math.min(4-this._lenBytes,n-r);for(this._lenBytes+=o;o--;)this._len=(this._len<<8)+e[r++];if(this._lenBytes<4)return;if(this._len>ui||this._len<8||(4+this._len&7)!==0)throw new Error("Bad packet length");if(r>=n)return}if(this._packetPos<this._len){let o=Math.min(this._len-this._packetPos,n-r),s;if(r!==0||o!==n?s=new Uint8Array(e.buffer,e.byteOffset+r,o):s=e,o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._packetPos)),r+=o,this._packetPos+=o,this._packetPos<this._len)return}let i=this._packet?new Fn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1):Og;this.inSeqno=this.inSeqno+1>>>0,this._len=0,this._lenBytes=0,this._packet=null,this._packetPos=0;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}},il=class{static{c(this,"ChaChaPolyDecipherNative")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._decKeyMain=r.decipherKey.slice(0,32),this._decKeyPktLen=r.decipherKey.slice(32),this._len=0,this._lenBuf=Buffer.alloc(4),this._lenPos=0,this._packet=null,this._pktLen=0,this._mac=Buffer.allocUnsafe(16),this._calcMac=Buffer.allocUnsafe(16),this._macPos=0}free(){}decrypt(e,r,n){for(;r<n;){if(this._lenPos<4){let a=Math.min(4-this._lenPos,n-r);for(;a--;)this._lenBuf[this._lenPos++]=e[r++];if(this._lenPos<4)return;Sr[0]=0,Or(Sr,this.inSeqno,12);let u=Ra("chacha20",this._decKeyPktLen,Sr).update(this._lenBuf);if(this._len=Xo(u,0),this._len>ui||this._len<8||(this._len&7)!==0)throw new Error("Bad packet length")}if(this._pktLen<this._len){if(r>=n)return;let a=Math.min(this._len-this._pktLen,n-r),u;if(r!==0||a!==n?u=new Uint8Array(e.buffer,e.byteOffset+r,a):u=e,a===this._len?this._packet=u:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(u,this._pktLen)),r+=a,this._pktLen+=a,this._pktLen<this._len||r>=n)return}{let a=Math.min(16-this._macPos,n-r);if(r!==0||a!==n?this._mac.set(new Uint8Array(e.buffer,e.byteOffset+r,a),this._macPos):this._mac.set(e,this._macPos),r+=a,this._macPos+=a,this._macPos<16)return}Sr[0]=0,Or(Sr,this.inSeqno,12);let i=Gi("chacha20",this._decKeyMain,Sr).update($g);if(ml(Jo,this._lenBuf,4,this._packet,this._packet.length,i),this._calcMac.set(new Uint8Array(Yo.HEAPU8.buffer,Jo,16),0),!Ku(this._calcMac,this._mac))throw new Error("Invalid MAC");Sr[0]=1;let o=Ra("chacha20",this._decKeyMain,Sr).update(this._packet),s=new Fn(o.buffer,o.byteOffset+1,o.length-o[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._len=0,this._lenPos=0,this._packet=null,this._pktLen=0,this._macPos=0;{let a=this._onPayload(s);if(a!==void 0)return a===!1?r:a}}}},ol=class{static{c(this,"ChaChaPolyDecipherBinding")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._instance=new hl(r.decipherKey),this._len=0,this._lenBuf=Buffer.alloc(4),this._lenPos=0,this._packet=null,this._pktLen=0,this._mac=Buffer.allocUnsafe(16),this._macPos=0}free(){this._instance.free()}decrypt(e,r,n){for(;r<n;){if(this._lenPos<4){let o=Math.min(4-this._lenPos,n-r);for(;o--;)this._lenBuf[this._lenPos++]=e[r++];if(this._lenPos<4)return;if(this._len=this._instance.decryptLen(this._lenBuf,this.inSeqno),this._len>ui||this._len<8||(this._len&7)!==0)throw new Error("Bad packet length");if(r>=n)return}if(this._pktLen<this._len){let o=Math.min(this._len-this._pktLen,n-r),s;if(r!==0||o!==n?s=new Uint8Array(e.buffer,e.byteOffset+r,o):s=e,o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._pktLen)),r+=o,this._pktLen+=o,this._pktLen<this._len||r>=n)return}{let o=Math.min(16-this._macPos,n-r);if(r!==0||o!==n?this._mac.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._macPos):this._mac.set(e,this._macPos),r+=o,this._macPos+=o,this._macPos<16)return}this._instance.decrypt(this._packet,this._mac,this.inSeqno);let i=new Fn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._len=0,this._lenPos=0,this._packet=null,this._pktLen=0,this._macPos=0;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}},sl=class{static{c(this,"AESGCMDecipherNative")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._decipherInstance=null,this._decipherSSLName=r.decipherInfo.sslName,this._decipherKey=r.decipherKey,this._decipherIV=r.decipherIV,this._len=0,this._lenBytes=0,this._packet=null,this._packetPos=0,this._pktLen=0,this._tag=Buffer.allocUnsafe(16),this._tagPos=0}free(){}decrypt(e,r,n){for(;r<n;){if(this._lenBytes<4){let o=Math.min(4-this._lenBytes,n-r);for(this._lenBytes+=o;o--;)this._len=(this._len<<8)+e[r++];if(this._lenBytes<4)return;if(this._len+20>ui||this._len<16||(this._len&15)!==0)throw new Error("Bad packet length");this._decipherInstance=Ra(this._decipherSSLName,this._decipherKey,this._decipherIV),this._decipherInstance.setAutoPadding(!1),this._decipherInstance.setAAD(Yx(this._len))}if(this._pktLen<this._len){if(r>=n)return;let o=Math.min(this._len-this._pktLen,n-r),s;if(r!==0||o!==n?s=this._decipherInstance.update(new Uint8Array(e.buffer,e.byteOffset+r,o)):s=this._decipherInstance.update(e),s.length&&(o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._packetPos)),this._packetPos+=s.length),r+=o,this._pktLen+=o,this._pktLen<this._len||r>=n)return}{let o=Math.min(16-this._tagPos,n-r);if(r!==0||o!==n?this._tag.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._tagPos):this._tag.set(e,this._tagPos),r+=o,this._tagPos+=o,this._tagPos<16)return}{this._decipherInstance.setAuthTag(this._tag);let o=this._decipherInstance.final();o.length&&(this._packet?this._packet.set(o,this._packetPos):this._packet=o)}let i=this._packet?new Fn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1):Og;this.inSeqno=this.inSeqno+1>>>0,Dg(this._decipherIV),this._len=0,this._lenBytes=0,this._packet=null,this._packetPos=0,this._pktLen=0,this._tagPos=0;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}},al=class{static{c(this,"AESGCMDecipherBinding")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._instance=new pl(r.decipherInfo.sslName,r.decipherKey,r.decipherIV),this._len=0,this._lenBytes=0,this._packet=null,this._pktLen=0,this._tag=Buffer.allocUnsafe(16),this._tagPos=0}free(){}decrypt(e,r,n){for(;r<n;){if(this._lenBytes<4){let o=Math.min(4-this._lenBytes,n-r);for(this._lenBytes+=o;o--;)this._len=(this._len<<8)+e[r++];if(this._lenBytes<4)return;if(this._len+20>ui||this._len<16||(this._len&15)!==0)throw new Error(`Bad packet length: ${this._len}`)}if(this._pktLen<this._len){if(r>=n)return;let o=Math.min(this._len-this._pktLen,n-r),s;if(r!==0||o!==n?s=new Uint8Array(e.buffer,e.byteOffset+r,o):s=e,o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._pktLen)),r+=o,this._pktLen+=o,this._pktLen<this._len||r>=n)return}{let o=Math.min(16-this._tagPos,n-r);if(r!==0||o!==n?this._tag.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._tagPos):this._tag.set(e,this._tagPos),r+=o,this._tagPos+=o,this._tagPos<16)return}this._instance.decrypt(this._packet,this._len,this._tag);let i=new Fn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._len=0,this._lenBytes=0,this._packet=null,this._pktLen=0,this._tagPos=0;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}},cl=class{static{c(this,"GenericDecipherNative")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._decipherInstance=Ra(r.decipherInfo.sslName,r.decipherKey,r.decipherIV),this._decipherInstance.setAutoPadding(!1),this._block=Buffer.allocUnsafe(r.macInfo.isETM?4:r.decipherInfo.blockLen),this._blockSize=r.decipherInfo.blockLen,this._blockPos=0,this._len=0,this._packet=null,this._packetPos=0,this._pktLen=0,this._mac=Buffer.allocUnsafe(r.macInfo.actualLen),this._macPos=0,this._macSSLName=r.macInfo.sslName,this._macKey=r.macKey,this._macActualLen=r.macInfo.actualLen,this._macETM=r.macInfo.isETM,this._macInstance=null;let n=r.decipherInfo.discardLen;if(n){let i=Na.get(n);i===void 0&&(i=Buffer.alloc(n),Na.set(n,i)),this._decipherInstance.update(i)}}free(){}decrypt(e,r,n){for(;r<n;){if(this._blockPos<this._block.length){let s=Math.min(this._block.length-this._blockPos,n-r);if(r!==0||s!==n||s<e.length?this._block.set(new Uint8Array(e.buffer,e.byteOffset+r,s),this._blockPos):this._block.set(e,this._blockPos),r+=s,this._blockPos+=s,this._blockPos<this._block.length)return;let a,u;if(this._macETM?this._len=u=Xo(this._block,0):(a=this._decipherInstance.update(this._block),this._len=Xo(a,0),u=4+this._len-this._blockSize),this._len>ui||this._len<5||(u&this._blockSize-1)!==0)throw new Error("Bad packet length");if(this._macInstance=Vu(this._macSSLName,this._macKey),Or(Ki,this.inSeqno,0),this._macInstance.update(Ki),this._macETM?this._macInstance.update(this._block):(this._macInstance.update(new Uint8Array(a.buffer,a.byteOffset,4)),this._pktLen=a.length-4,this._packetPos=this._pktLen,this._packet=Buffer.allocUnsafe(this._len),this._packet.set(new Uint8Array(a.buffer,a.byteOffset+4,this._packetPos),0)),r>=n)return}if(this._pktLen<this._len){let s=Math.min(this._len-this._pktLen,n-r),a;r!==0||s!==n?a=new Uint8Array(e.buffer,e.byteOffset+r,s):a=e,this._macETM&&this._macInstance.update(a);let u=this._decipherInstance.update(a);if(u.length&&(s===this._len?this._packet=u:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(u,this._packetPos)),this._packetPos+=u.length),r+=s,this._pktLen+=s,this._pktLen<this._len||r>=n)return}{let s=Math.min(this._macActualLen-this._macPos,n-r);if(r!==0||s!==n?this._mac.set(new Uint8Array(e.buffer,e.byteOffset+r,s),this._macPos):this._mac.set(e,this._macPos),r+=s,this._macPos+=s,this._macPos<this._macActualLen)return}this._macETM||this._macInstance.update(this._packet);let i=this._macInstance.digest();if(this._macActualLen<i.length&&(i=new Uint8Array(i.buffer,i.byteOffset,this._macActualLen)),!Xx(i,this._mac))throw new Error("Invalid MAC");let o=new Fn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._blockPos=0,this._len=0,this._packet=null,this._packetPos=0,this._pktLen=0,this._macPos=0,this._macInstance=null;{let s=this._onPayload(o);if(s!==void 0)return s===!1?r:s}}}},ul=class{static{c(this,"GenericDecipherBinding")}constructor(e){let r=e.inbound;this.inSeqno=r.seqno,this._onPayload=r.onPayload,this._instance=new gl(r.decipherInfo.sslName,r.decipherKey,r.decipherIV,r.macInfo.sslName,r.macKey,r.macInfo.isETM,r.macInfo.actualLen),this._block=Buffer.allocUnsafe(r.macInfo.isETM||r.decipherInfo.stream?4:r.decipherInfo.blockLen),this._blockPos=0,this._len=0,this._packet=null,this._pktLen=0,this._mac=Buffer.allocUnsafe(r.macInfo.actualLen),this._macPos=0,this._macActualLen=r.macInfo.actualLen,this._macETM=r.macInfo.isETM}free(){this._instance.free()}decrypt(e,r,n){for(;r<n;){if(this._blockPos<this._block.length){let o=Math.min(this._block.length-this._blockPos,n-r);if(r!==0||o!==n||o<e.length?this._block.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._blockPos):this._block.set(e,this._blockPos),r+=o,this._blockPos+=o,this._blockPos<this._block.length)return;let s;if(this._macETM?this._len=s=Xo(this._block,0):(this._instance.decryptBlock(this._block),this._len=Xo(this._block,0),s=4+this._len-this._block.length),this._len>ui||this._len<5||(s&this._block.length-1)!==0)throw new Error("Bad packet length");if(this._macETM||(this._pktLen=this._block.length-4,this._pktLen&&(this._packet=Buffer.allocUnsafe(this._len),this._packet.set(new Uint8Array(this._block.buffer,this._block.byteOffset+4,this._pktLen),0))),r>=n)return}if(this._pktLen<this._len){let o=Math.min(this._len-this._pktLen,n-r),s;if(r!==0||o!==n?s=new Uint8Array(e.buffer,e.byteOffset+r,o):s=e,o===this._len?this._packet=s:(this._packet||(this._packet=Buffer.allocUnsafe(this._len)),this._packet.set(s,this._pktLen)),r+=o,this._pktLen+=o,this._pktLen<this._len||r>=n)return}{let o=Math.min(this._macActualLen-this._macPos,n-r);if(r!==0||o!==n?this._mac.set(new Uint8Array(e.buffer,e.byteOffset+r,o),this._macPos):this._mac.set(e,this._macPos),r+=o,this._macPos+=o,this._macPos<this._macActualLen)return}this._instance.decrypt(this._packet,this.inSeqno,this._block,this._mac);let i=new Fn(this._packet.buffer,this._packet.byteOffset+1,this._packet.length-this._packet[0]-1);this.inSeqno=this.inSeqno+1>>>0,this._blockPos=0,this._len=0,this._packet=null,this._pktLen=0,this._macPos=0,this._macInstance=null;{let o=this._onPayload(i);if(o!==void 0)return o===!1?r:o}}}};function Dg(t){++t[11]>>>8&&++t[10]>>>8&&++t[9]>>>8&&++t[8]>>>8&&++t[7]>>>8&&++t[6]>>>8&&++t[5]>>>8&&++t[4]>>>8}c(Dg,"ivIncrement");var Yx=(()=>{let t=Buffer.alloc(4);return e=>(t[0]=e>>>24,t[1]=e>>>16,t[2]=e>>>8,t[3]=e,t)})();function Xx(t,e){return t.length!==e.length?(Ku(t,t),!1):Ku(t,e)}c(Xx,"timingSafeEquals");function Jx(t){if(typeof t!="object"||t===null)throw new Error("Invalid config");if(typeof t.outbound!="object"||t.outbound===null)throw new Error("Invalid outbound");let e=t.outbound;if(typeof e.onWrite!="function")throw new Error("Invalid outbound.onWrite");if(typeof e.cipherInfo!="object"||e.cipherInfo===null)throw new Error("Invalid outbound.cipherInfo");if(!Buffer.isBuffer(e.cipherKey)||e.cipherKey.length!==e.cipherInfo.keyLen)throw new Error("Invalid outbound.cipherKey");if(e.cipherInfo.ivLen&&(!Buffer.isBuffer(e.cipherIV)||e.cipherIV.length!==e.cipherInfo.ivLen))throw new Error("Invalid outbound.cipherIV");if(typeof e.seqno!="number"||e.seqno<0||e.seqno>Ng)throw new Error("Invalid outbound.seqno");let r=!!e.forceNative;switch(e.cipherInfo.sslName){case"aes-128-gcm":case"aes-256-gcm":return ll&&!r?new el(t):new Ju(t);case"chacha20":return fl&&!r?new Xu(t):new Yu(t);default:{if(typeof e.macInfo!="object"||e.macInfo===null)throw new Error("Invalid outbound.macInfo");if(!Buffer.isBuffer(e.macKey)||e.macKey.length!==e.macInfo.len)throw new Error("Invalid outbound.macKey");return dl&&!r?new rl(t):new tl(t)}}}c(Jx,"createCipher");function eI(t){if(typeof t!="object"||t===null)throw new Error("Invalid config");if(typeof t.inbound!="object"||t.inbound===null)throw new Error("Invalid inbound");let e=t.inbound;if(typeof e.onPayload!="function")throw new Error("Invalid inbound.onPayload");if(typeof e.decipherInfo!="object"||e.decipherInfo===null)throw new Error("Invalid inbound.decipherInfo");if(!Buffer.isBuffer(e.decipherKey)||e.decipherKey.length!==e.decipherInfo.keyLen)throw new Error("Invalid inbound.decipherKey");if(e.decipherInfo.ivLen&&(!Buffer.isBuffer(e.decipherIV)||e.decipherIV.length!==e.decipherInfo.ivLen))throw new Error("Invalid inbound.decipherIV");if(typeof e.seqno!="number"||e.seqno<0||e.seqno>Ng)throw new Error("Invalid inbound.seqno");let r=!!e.forceNative;switch(e.decipherInfo.sslName){case"aes-128-gcm":case"aes-256-gcm":return pl&&!r?new al(t):new sl(t);case"chacha20":return hl&&!r?new ol(t):new il(t);default:{if(typeof e.macInfo!="object"||e.macInfo===null)throw new Error("Invalid inbound.macInfo");if(!Buffer.isBuffer(e.macKey)||e.macKey.length!==e.macInfo.len)throw new Error("Invalid inbound.macKey");return gl&&!r?new ul(t):new cl(t)}}}c(eI,"createDecipher");Bg.exports={CIPHER_INFO:Gx,MAC_INFO:Zx,bindingAvailable:!!Gu,init:new Promise(async(t,e)=>{try{Yo=await Rg()(),Jo=Yo._malloc(16),ml=Yo.cwrap("poly1305_auth",null,["number","array","number","array","number","array"])}catch(r){return e(r)}t()}),NullCipher:Zu,createCipher:Jx,NullDecipher:nl,createDecipher:eI}});var jn=le((xF,Qg)=>{"use strict";var{createDecipheriv:yl,createECDH:tI,createHash:ts,createHmac:rI,createSign:nI,createVerify:iI,getCiphers:oI,sign:Ug,verify:Lg}=require("crypto"),sI=oI(),{Ber:$e}=Ko(),aI=Fu().pbkdf,{CIPHER_INFO:rs}=Mn(),{eddsaSupported:El,SUPPORTED_CIPHER:cI}=An(),{bufferSlice:li,makeBufferParser:uI,readString:Re,readUInt32BE:es,writeUInt32BE:ur}=Qr(),bn=Symbol("Hash Algorithm"),Vr=Symbol("Private key PEM"),on=Symbol("Public key PEM"),Hn=Symbol("Public key SSH"),Zi=Symbol("Decrypted Key"),_l=Object.create(null);{let t=Object.keys(rs);for(let e=0;e<t.length;++e){let r=rs[t[e]].sslName;!r||_l[r]||(_l[r]=rs[t[e]])}}var Oa=uI();function Kr(t,e){e=e.base64Slice(0,e.length);let r=e.replace(/.{64}/g,`$&
9
9
  `);return e.length&63&&(r+=`
10
10
  `),`-----BEGIN ${t} KEY-----
11
- ${r}-----END ${t} KEY-----`}c(Kr,"makePEM");function ns(t,e){let r=Buffer.allocUnsafe(t.length+e.length);return r.set(t,0),r.set(e,t.length),r}c(ns,"combineBuffers");function yl(t,e){let r=t.length,n=t._pos||0;for(let i=0;i<e;++i){let o=r-n;if(n>=r||o<4)return!1;let s=es(t,n);if(o<4+s)return!1;n+=4+s}return t._pos=n,!0}c(yl,"skipFields");function is(t,e){let r=new Oe.Writer;return r.startSequence(),r.startSequence(),r.writeOID("1.2.840.113549.1.1.1"),r.writeNull(),r.endSequence(),r.startSequence(Oe.BitString),r.writeByte(0),r.startSequence(),r.writeBuffer(t,Oe.Integer),r.writeBuffer(e,Oe.Integer),r.endSequence(),r.endSequence(),r.endSequence(),Kr("PUBLIC",r.buffer)}c(is,"genOpenSSLRSAPub");function os(t,e){let r=Buffer.allocUnsafe(15+e.length+4+t.length);cr(r,7,0),r.utf8Write("ssh-rsa",4,7);let n=11;return cr(r,e.length,n),r.set(e,n+=4),cr(r,t.length,n+=e.length),r.set(t,n+4),r}c(os,"genOpenSSHRSAPub");var Rg=(()=>{function t(n,i,o,s,a,u,l,d){let p=new Oe.Writer;return p.startSequence(),p.writeInt(0,Oe.Integer),p.writeBuffer(n,Oe.Integer),p.writeBuffer(i,Oe.Integer),p.writeBuffer(o,Oe.Integer),p.writeBuffer(s,Oe.Integer),p.writeBuffer(a,Oe.Integer),p.writeBuffer(u,Oe.Integer),p.writeBuffer(l,Oe.Integer),p.writeBuffer(d,Oe.Integer),p.endSequence(),p.buffer}c(t,"genRSAASN1Buf");function e(n){return BigInt(`0x${n.hexSlice(0,n.length)}`)}c(e,"bigIntFromBuffer");function r(n){let i=n.toString(16);if((i.length&1)!==0)i=`0${i}`;else{let o=i.charCodeAt(0);(o===56||o===57||o>=97&&o<=102)&&(i=`00${i}`)}return Buffer.from(i,"hex")}return c(r,"bigIntToBuffer"),c(function(i,o,s,a,u,l){let d=e(s),p=r(d%(e(u)-1n)),g=r(d%(e(l)-1n));return Kr("RSA PRIVATE",t(i,o,s,u,l,p,g,a))},"genOpenSSLRSAPriv")})();function ss(t,e,r,n){let i=new Oe.Writer;return i.startSequence(),i.startSequence(),i.writeOID("1.2.840.10040.4.1"),i.startSequence(),i.writeBuffer(t,Oe.Integer),i.writeBuffer(e,Oe.Integer),i.writeBuffer(r,Oe.Integer),i.endSequence(),i.endSequence(),i.startSequence(Oe.BitString),i.writeByte(0),i.writeBuffer(n,Oe.Integer),i.endSequence(),i.endSequence(),Kr("PUBLIC",i.buffer)}c(ss,"genOpenSSLDSAPub");function as(t,e,r,n){let i=Buffer.allocUnsafe(15+t.length+4+e.length+4+r.length+4+n.length);cr(i,7,0),i.utf8Write("ssh-dss",4,7);let o=11;return cr(i,t.length,o),i.set(t,o+=4),cr(i,e.length,o+=t.length),i.set(e,o+=4),cr(i,r.length,o+=e.length),i.set(r,o+=4),cr(i,n.length,o+=r.length),i.set(n,o+4),i}c(as,"genOpenSSHDSAPub");function Ng(t,e,r,n,i){let o=new Oe.Writer;return o.startSequence(),o.writeInt(0,Oe.Integer),o.writeBuffer(t,Oe.Integer),o.writeBuffer(e,Oe.Integer),o.writeBuffer(r,Oe.Integer),o.writeBuffer(n,Oe.Integer),o.writeBuffer(i,Oe.Integer),o.endSequence(),Kr("DSA PRIVATE",o.buffer)}c(Ng,"genOpenSSLDSAPriv");function Og(t){let e=new Oe.Writer;return e.startSequence(),e.startSequence(),e.writeOID("1.3.101.112"),e.endSequence(),e.startSequence(Oe.BitString),e.writeByte(0),e._ensure(t.length),e._buf.set(t,e._offset),e._offset+=t.length,e.endSequence(),e.endSequence(),Kr("PUBLIC",e.buffer)}c(Og,"genOpenSSLEdPub");function $g(t){let e=Buffer.allocUnsafe(19+t.length);return cr(e,11,0),e.utf8Write("ssh-ed25519",4,11),cr(e,t.length,15),e.set(t,19),e}c($g,"genOpenSSHEdPub");function tI(t){let e=new Oe.Writer;return e.startSequence(),e.writeInt(0,Oe.Integer),e.startSequence(),e.writeOID("1.3.101.112"),e.endSequence(),e.startSequence(Oe.OctetString),e.writeBuffer(t,Oe.OctetString),e.endSequence(),e.endSequence(),Kr("PRIVATE",e.buffer)}c(tI,"genOpenSSLEdPriv");function El(t,e){let r=new Oe.Writer;return r.startSequence(),r.startSequence(),r.writeOID("1.2.840.10045.2.1"),r.writeOID(t),r.endSequence(),r.startSequence(Oe.BitString),r.writeByte(0),r._ensure(e.length),r._buf.set(e,r._offset),r._offset+=e.length,r.endSequence(),r.endSequence(),Kr("PUBLIC",r.buffer)}c(El,"genOpenSSLECDSAPub");function Al(t,e){let r;switch(t){case"1.2.840.10045.3.1.7":r="nistp256";break;case"1.3.132.0.34":r="nistp384";break;case"1.3.132.0.35":r="nistp521";break;default:return}let n=Buffer.allocUnsafe(39+e.length);return cr(n,19,0),n.utf8Write(`ecdsa-sha2-${r}`,4,19),cr(n,8,23),n.utf8Write(r,27,8),cr(n,e.length,35),n.set(e,39),n}c(Al,"genOpenSSHECDSAPub");function rI(t,e,r){let n=new Oe.Writer;return n.startSequence(),n.writeInt(1,Oe.Integer),n.writeBuffer(r,Oe.OctetString),n.startSequence(160),n.writeOID(t),n.endSequence(),n.startSequence(161),n.startSequence(Oe.BitString),n.writeByte(0),n._ensure(e.length),n._buf.set(e,n._offset),n._offset+=e.length,n.endSequence(),n.endSequence(),n.endSequence(),Kr("EC PRIVATE",n.buffer)}c(rI,"genOpenSSLECDSAPriv");function nI(t,e){let r=Qx(t);return r.setPrivateKey(e),r.getPublicKey()}c(nI,"genOpenSSLECDSAPubFromPriv");var cs={sign:c(typeof kg=="function"?function(e,r){let n=this[Vr];if(n===null)return new Error("No private key available");(!r||typeof r!="string")&&(r=this[bn]);try{return kg(r,e,n)}catch(i){return i}}:function(e,r){let n=this[Vr];if(n===null)return new Error("No private key available");(!r||typeof r!="string")&&(r=this[bn]);let i=Kx(r);i.update(e);try{return i.sign(n)}catch(o){return o}},"sign"),verify:c(typeof Cg=="function"?function(e,r,n){let i=this[on];if(i===null)return new Error("No public key available");(!n||typeof n!="string")&&(n=this[bn]);try{return Cg(n,e,i,r)}catch(o){return o}}:function(e,r,n){let i=this[on];if(i===null)return new Error("No public key available");(!n||typeof n!="string")&&(n=this[bn]);let o=Gx(n);o.update(e);try{return o.verify(i,r)}catch(s){return s}},"verify"),isPrivateKey:c(function(){return this[Vr]!==null},"isPrivateKey"),getPrivatePEM:c(function(){return this[Vr]},"getPrivatePEM"),getPublicPEM:c(function(){return this[on]},"getPublicPEM"),getPublicSSH:c(function(){return this[Fn]},"getPublicSSH"),equals:c(function(e){let r=Ug(e);return r instanceof Error?!1:this.type===r.type&&this[Vr]===r[Vr]&&this[on]===r[on]&&this[Fn].equals(r[Fn])},"equals")};function $a(t,e,r,n,i,o,s){this.type=t,this.comment=e,this[Vr]=r,this[on]=n,this[Fn]=i,this[bn]=o,this[Zi]=s}c($a,"OpenSSH_Private");$a.prototype=cs;{let e=function(r,n,i){let o=[];if(r.length<8)return new Error("Malformed OpenSSH private key");let s=es(r,0),a=es(r,4);if(s!==a)return i?new Error("OpenSSH key integrity check failed -- bad passphrase?"):new Error("OpenSSH key integrity check failed");r._pos=8;let u,l;for(u=0;u<n;++u){let p,g,h,_,A=Re(r,r._pos,!0);if(A===void 0)return new Error("Malformed OpenSSH private key");switch(A){case"ssh-rsa":{let I=Re(r,r._pos);if(I===void 0)return new Error("Malformed OpenSSH private key");let w=Re(r,r._pos);if(w===void 0)return new Error("Malformed OpenSSH private key");let H=Re(r,r._pos);if(H===void 0)return new Error("Malformed OpenSSH private key");let $=Re(r,r._pos);if($===void 0)return new Error("Malformed OpenSSH private key");let X=Re(r,r._pos);if(X===void 0)return new Error("Malformed OpenSSH private key");let Z=Re(r,r._pos);if(Z===void 0)return new Error("Malformed OpenSSH private key");h=is(I,w),_=os(I,w),g=Rg(I,w,H,$,X,Z),p="sha1";break}case"ssh-dss":{let I=Re(r,r._pos);if(I===void 0)return new Error("Malformed OpenSSH private key");let w=Re(r,r._pos);if(w===void 0)return new Error("Malformed OpenSSH private key");let H=Re(r,r._pos);if(H===void 0)return new Error("Malformed OpenSSH private key");let $=Re(r,r._pos);if($===void 0)return new Error("Malformed OpenSSH private key");let X=Re(r,r._pos);if(X===void 0)return new Error("Malformed OpenSSH private key");h=ss(I,w,H,$),_=as(I,w,H,$),g=Ng(I,w,H,$,X),p="sha1";break}case"ssh-ed25519":{if(!_l)return new Error(`Unsupported OpenSSH private key type: ${A}`);let I=Re(r,r._pos);if(I===void 0||I.length!==32)return new Error("Malformed OpenSSH private key");let w=Re(r,r._pos);if(w===void 0||w.length!==64)return new Error("Malformed OpenSSH private key");h=Og(I),_=$g(I),g=tI(li(w,0,32)),p=null;break}case"ecdsa-sha2-nistp256":p="sha256",l="1.2.840.10045.3.1.7";case"ecdsa-sha2-nistp384":p===void 0&&(p="sha384",l="1.3.132.0.34");case"ecdsa-sha2-nistp521":{if(p===void 0&&(p="sha512",l="1.3.132.0.35"),!yl(r,1))return new Error("Malformed OpenSSH private key");let I=Re(r,r._pos);if(I===void 0)return new Error("Malformed OpenSSH private key");let w=Re(r,r._pos);if(w===void 0)return new Error("Malformed OpenSSH private key");h=El(l,I),_=Al(l,I),g=rI(l,I,w);break}default:return new Error(`Unsupported OpenSSH private key type: ${A}`)}let b=Re(r,r._pos,!0);if(b===void 0)return new Error("Malformed OpenSSH private key");o.push(new $a(A,b,g,h,_,p,i))}let d=0;for(u=r._pos;u<r.length;++u)if(r[u]!==++d%255)return new Error("Malformed OpenSSH private key");return o};c(e,"parseOpenSSHPrivKeys");let t=/^-----BEGIN OPENSSH PRIVATE KEY-----(?:\r\n|\n)([\s\S]+)(?:\r\n|\n)-----END OPENSSH PRIVATE KEY-----$/;$a.parse=(r,n)=>{let i=t.exec(r);if(i===null)return null;let o,s=Buffer.from(i[1],"base64");if(s.length<31)return new Error("Malformed OpenSSH private key");let a=s.utf8Slice(0,15);if(a!=="openssh-key-v1\0")return new Error(`Unsupported OpenSSH key magic: ${a}`);let u=Re(s,15,!0);if(u===void 0)return new Error("Malformed OpenSSH private key");if(u!=="none"&&Jx.indexOf(u)===-1)return new Error(`Unsupported cipher for OpenSSH key: ${u}`);let l=Re(s,s._pos,!0);if(l===void 0)return new Error("Malformed OpenSSH private key");if(l!=="none"){if(u==="none")return new Error("Malformed OpenSSH private key");if(l!=="bcrypt")return new Error(`Unsupported kdf name for OpenSSH key: ${l}`);if(!n)return new Error("Encrypted private OpenSSH key detected, but no passphrase given")}else if(u!=="none")return new Error("Malformed OpenSSH private key");let d,p,g;u!=="none"&&(d=rs[u]);let h=Re(s,s._pos);if(h===void 0)return new Error("Malformed OpenSSH private key");if(h.length)switch(l){case"none":return new Error("Malformed OpenSSH private key");case"bcrypt":{let A=Re(h,0);if(A===void 0||h._pos+4>h.length)return new Error("Malformed OpenSSH private key");let b=es(h,h._pos),I=Buffer.allocUnsafe(d.keyLen+d.ivLen);if(Xx(n,n.length,A,A.length,I,I.length,b)!==0)return new Error("Failed to generate information to decrypt key");p=li(I,0,d.keyLen),g=li(I,d.keyLen,I.length);break}}else if(l!=="none")return new Error("Malformed OpenSSH private key");if(s._pos+3>=s.length)return new Error("Malformed OpenSSH private key");let _=es(s,s._pos);if(s._pos+=4,_>0){for(let b=0;b<_;++b){let I=Re(s,s._pos);if(I===void 0)return new Error("Malformed OpenSSH private key");if(Re(I,0,!0)===void 0)return new Error("Malformed OpenSSH private key")}let A=Re(s,s._pos);if(A===void 0)return new Error("Malformed OpenSSH private key");if(p!==void 0){if(A.length<d.blockLen||A.length%d.blockLen!==0)return new Error("Malformed OpenSSH private key");try{let b={authTagLength:d.authLen},I=ml(d.sslName,p,g,b);if(I.setAutoPadding(!1),d.authLen>0){if(s.length-s._pos<d.authLen)return new Error("Malformed OpenSSH private key");I.setAuthTag(li(s,s._pos,s._pos+=d.authLen))}A=ns(I.update(A),I.final())}catch(b){return b}}if(s._pos!==s.length)return new Error("Malformed OpenSSH private key");o=e(A,_,p!==void 0)}else o=[];return o instanceof Error?o:o[0]}}function Da(t,e,r,n,i,o,s){this.type=t,this.comment=e,this[Vr]=r,this[on]=n,this[Fn]=i,this[bn]=o,this[Zi]=s}c(Da,"OpenSSH_Old_Private");Da.prototype=cs;{let t=/^-----BEGIN (RSA|DSA|EC) PRIVATE KEY-----(?:\r\n|\n)((?:[^:]+:\s*[\S].*(?:\r\n|\n))*)([\s\S]+)(?:\r\n|\n)-----END (RSA|DSA|EC) PRIVATE KEY-----$/;Da.parse=(e,r)=>{let n=t.exec(e);if(n===null)return null;let i=Buffer.from(n[3],"base64"),o=n[2],s=!1;if(o!==void 0){o=o.split(/\r\n|\n/g);for(let _=0;_<o.length;++_){let A=o[_],b=A.indexOf(":");if(A.slice(0,b)==="DEK-Info"){let I=A.slice(b+2);if(b=I.indexOf(","),b===-1)continue;let w=I.slice(0,b).toLowerCase();if(Yx.indexOf(w)===-1)return new Error(`Cipher (${w}) not supported for encrypted OpenSSH private key`);let H=gl[w];if(!H)return new Error(`Cipher (${w}) not supported for encrypted OpenSSH private key`);let $=Buffer.from(I.slice(b+1),"hex");if($.length!==H.ivLen)return new Error("Malformed encrypted OpenSSH private key");if(!r)return new Error("Encrypted OpenSSH private key detected, but no passphrase given");let X=li($,0,8),Z=ts("md5").update(r).update(X).digest();for(;Z.length<H.keyLen;)Z=ns(Z,ts("md5").update(Z).update(r).update(X).digest());Z.length>H.keyLen&&(Z=li(Z,0,H.keyLen));try{let Y=ml(w,Z,$);Y.setAutoPadding(!1),i=ns(Y.update(i),Y.final()),s=!0}catch(Y){return Y}}}}let a,u,l,d,p,g,h="Malformed OpenSSH private key";switch(s&&(h+=". Bad passphrase?"),n[1]){case"RSA":a="ssh-rsa",u=Kr("RSA PRIVATE",i);try{g=new Oe.Reader(i),g.readSequence(),g.readInt();let _=g.readString(Oe.Integer,!0);if(_===null)return new Error(h);let A=g.readString(Oe.Integer,!0);if(A===null)return new Error(h);l=is(_,A),d=os(_,A)}catch{return new Error(h)}p="sha1";break;case"DSA":a="ssh-dss",u=Kr("DSA PRIVATE",i);try{g=new Oe.Reader(i),g.readSequence(),g.readInt();let _=g.readString(Oe.Integer,!0);if(_===null)return new Error(h);let A=g.readString(Oe.Integer,!0);if(A===null)return new Error(h);let b=g.readString(Oe.Integer,!0);if(b===null)return new Error(h);let I=g.readString(Oe.Integer,!0);if(I===null)return new Error(h);l=ss(_,A,b,I),d=as(_,A,b,I)}catch{return new Error(h)}p="sha1";break;case"EC":{let _,A,b;try{g=new Oe.Reader(i),g.readSequence(),g.readInt(),A=g.readString(Oe.OctetString,!0),g.readByte();let w=g.readLength();if(w!==null){if(g._offset=w,b=g.readOID(),b===null)return new Error(h);switch(b){case"1.2.840.10045.3.1.7":_="prime256v1",a="ecdsa-sha2-nistp256",p="sha256";break;case"1.3.132.0.34":_="secp384r1",a="ecdsa-sha2-nistp384",p="sha384";break;case"1.3.132.0.35":_="secp521r1",a="ecdsa-sha2-nistp521",p="sha512";break;default:return new Error(`Unsupported private key EC OID: ${b}`)}}else return new Error(h)}catch{return new Error(h)}u=Kr("EC PRIVATE",i);let I=nI(_,A);l=El(b,I),d=Al(b,I);break}}return new Da(a,"",u,l,d,p,s)}}function Ba(t,e,r,n,i,o,s){this.type=t,this.comment=e,this[Vr]=r,this[on]=n,this[Fn]=i,this[bn]=o,this[Zi]=s}c(Ba,"PPK_Private");Ba.prototype=cs;{let t=Buffer.alloc(0),e=Buffer.from([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),r=Buffer.from([0,0,0,0]),n=Buffer.from([0,0,0,1]),i=/^PuTTY-User-Key-File-2: (ssh-(?:rsa|dss))\r?\nEncryption: (aes256-cbc|none)\r?\nComment: ([^\r\n]*)\r?\nPublic-Lines: \d+\r?\n([\s\S]+?)\r?\nPrivate-Lines: \d+\r?\n([\s\S]+?)\r?\nPrivate-MAC: ([^\r\n]+)/;Ba.parse=(o,s)=>{let a=i.exec(o);if(a===null)return null;let u=a[2],l=u!=="none";if(l&&!s)return new Error("Encrypted PPK private key detected, but no passphrase given");let d=Buffer.from(a[5],"base64");if(l){let M=rs[u],L=ns(ts("sha1").update(r).update(s).digest(),ts("sha1").update(n).update(s).digest());L.length>M.keyLen&&(L=li(L,0,M.keyLen));try{let T=ml(M.sslName,L,e);T.setAutoPadding(!1),d=ns(T.update(d),T.final())}catch(T){return T}}let p=a[1],g=a[3],h=Buffer.from(a[4],"base64"),_=a[6],A=p.length,b=u.length,I=Buffer.byteLength(g),w=h.length,H=d.length,$=Buffer.allocUnsafe(4+A+4+b+4+I+4+w+4+H),X=0;if(cr($,A,X),$.utf8Write(p,X+=4,A),cr($,b,X+=A),$.utf8Write(u,X+=4,b),cr($,I,X+=b),$.utf8Write(g,X+=4,I),cr($,w,X+=I),$.set(h,X+=4),cr($,H,X+=w),$.set(d,X+4),s||(s=t),Vx("sha1",ts("sha1").update("putty-private-key-file-mac-key").update(s).digest()).update($).digest("hex")!==_)return l?new Error("PPK private key integrity check failed -- bad passphrase?"):new Error("PPK private key integrity check failed");let Y,P,k;switch(h._pos=0,yl(h,1),p){case"ssh-rsa":{let M=Re(h,h._pos);if(M===void 0)return new Error("Malformed PPK public key");let L=Re(h,h._pos);if(L===void 0)return new Error("Malformed PPK public key");let T=Re(d,0);if(T===void 0)return new Error("Malformed PPK private key");let F=Re(d,d._pos);if(F===void 0)return new Error("Malformed PPK private key");let j=Re(d,d._pos);if(j===void 0)return new Error("Malformed PPK private key");let B=Re(d,d._pos);if(B===void 0)return new Error("Malformed PPK private key");Y=is(L,M),P=os(L,M),k=Rg(L,M,T,B,F,j);break}case"ssh-dss":{let M=Re(h,h._pos);if(M===void 0)return new Error("Malformed PPK public key");let L=Re(h,h._pos);if(L===void 0)return new Error("Malformed PPK public key");let T=Re(h,h._pos);if(T===void 0)return new Error("Malformed PPK public key");let F=Re(h,h._pos);if(F===void 0)return new Error("Malformed PPK public key");let j=Re(d,0);if(j===void 0)return new Error("Malformed PPK private key");Y=ss(M,L,T,F),P=as(M,L,T,F),k=Ng(M,L,T,F,j);break}}return new Ba(p,g,k,Y,P,"sha1",l)}}function La(t,e,r,n,i){this.type=t,this.comment=e,this[Vr]=null,this[on]=r,this[Fn]=n,this[bn]=i,this[Zi]=!1}c(La,"OpenSSH_Public");La.prototype=cs;{let t;_l?t=/^(((?:ssh-(?:rsa|dss|ed25519))|ecdsa-sha2-nistp(?:256|384|521))(?:-cert-v0[01]@openssh.com)?) ([A-Z0-9a-z/+=]+)(?:$|\s+([\S].*)?)$/:t=/^(((?:ssh-(?:rsa|dss))|ecdsa-sha2-nistp(?:256|384|521))(?:-cert-v0[01]@openssh.com)?) ([A-Z0-9a-z/+=]+)(?:$|\s+([\S].*)?)$/,La.parse=e=>{let r=t.exec(e);if(r===null)return null;let n=r[1],i=r[2],o=Buffer.from(r[3],"base64"),s=r[4]||"",a=Re(o,o._pos,!0);return a===void 0||a.indexOf(i)!==0?new Error("Malformed OpenSSH public key"):bl(o,i,s,n)}}function Ua(t,e,r,n,i){this.type=t,this.comment=e,this[Vr]=null,this[on]=r,this[Fn]=n,this[bn]=i,this[Zi]=!1}c(Ua,"RFC4716_Public");Ua.prototype=cs;{let t=/^---- BEGIN SSH2 PUBLIC KEY ----(?:\r?\n)((?:.{0,72}\r?\n)+)---- END SSH2 PUBLIC KEY ----$/,e=/^[A-Z0-9a-z/+=\r\n]+$/,r=/^([\x21-\x39\x3B-\x7E]{1,64}): ((?:[^\\]*\\\r?\n)*[^\r\n]+)\r?\n/gm,n=/\\\r?\n/g;Ua.parse=i=>{let o=t.exec(i);if(o===null)return null;let s=o[1],a=0,u="";for(;o=r.exec(s);){let h=o[1],_=o[2].replace(n,"");if(_.length>1024)return r.lastIndex=0,new Error("Malformed RFC4716 public key");a=r.lastIndex,h.toLowerCase()==="comment"&&(u=_,u.length>1&&u.charCodeAt(0)===34&&u.charCodeAt(u.length-1)===34&&(u=u.slice(1,-1)))}let l=s.slice(a);if(!e.test(l))return new Error("Malformed RFC4716 public key");l=Buffer.from(l,"base64");let d=Re(l,0,!0);if(d===void 0)return new Error("Malformed RFC4716 public key");let p=null,g=null;switch(d){case"ssh-rsa":{let h=Re(l,l._pos);if(h===void 0)return new Error("Malformed RFC4716 public key");let _=Re(l,l._pos);if(_===void 0)return new Error("Malformed RFC4716 public key");p=is(_,h),g=os(_,h);break}case"ssh-dss":{let h=Re(l,l._pos);if(h===void 0)return new Error("Malformed RFC4716 public key");let _=Re(l,l._pos);if(_===void 0)return new Error("Malformed RFC4716 public key");let A=Re(l,l._pos);if(A===void 0)return new Error("Malformed RFC4716 public key");let b=Re(l,l._pos);if(b===void 0)return new Error("Malformed RFC4716 public key");p=ss(h,_,A,b),g=as(h,_,A,b);break}default:return new Error("Malformed RFC4716 public key")}return new Ua(d,u,p,g,"sha1")}}function bl(t,e,r,n){if(!Dg(e))return new Error(`Unsupported OpenSSH public key type: ${e}`);let i,o,s=null,a=null;switch(e){case"ssh-rsa":{let u=Re(t,t._pos||0);if(u===void 0)return new Error("Malformed OpenSSH public key");let l=Re(t,t._pos);if(l===void 0)return new Error("Malformed OpenSSH public key");s=is(l,u),a=os(l,u),i="sha1";break}case"ssh-dss":{let u=Re(t,t._pos||0);if(u===void 0)return new Error("Malformed OpenSSH public key");let l=Re(t,t._pos);if(l===void 0)return new Error("Malformed OpenSSH public key");let d=Re(t,t._pos);if(d===void 0)return new Error("Malformed OpenSSH public key");let p=Re(t,t._pos);if(p===void 0)return new Error("Malformed OpenSSH public key");s=ss(u,l,d,p),a=as(u,l,d,p),i="sha1";break}case"ssh-ed25519":{let u=Re(t,t._pos||0);if(u===void 0||u.length!==32)return new Error("Malformed OpenSSH public key");s=Og(u),a=$g(u),i=null;break}case"ecdsa-sha2-nistp256":i="sha256",o="1.2.840.10045.3.1.7";case"ecdsa-sha2-nistp384":i===void 0&&(i="sha384",o="1.3.132.0.34");case"ecdsa-sha2-nistp521":{if(i===void 0&&(i="sha512",o="1.3.132.0.35"),!yl(t,1))return new Error("Malformed OpenSSH public key");let u=Re(t,t._pos||0);if(u===void 0)return new Error("Malformed OpenSSH public key");s=El(o,u),a=Al(o,u);break}default:return new Error(`Unsupported OpenSSH public key type: ${e}`)}return new La(n,r,s,a,i)}c(bl,"parseDER");function Dg(t){switch(t){case"ssh-rsa":case"ssh-dss":case"ecdsa-sha2-nistp256":case"ecdsa-sha2-nistp384":case"ecdsa-sha2-nistp521":return!0;case"ssh-ed25519":if(_l)return!0;default:return!1}}c(Dg,"isSupportedKeyType");function Bg(t){return t?typeof t[Zi]=="boolean":!1}c(Bg,"isParsedKey");function Ug(t,e){if(Bg(t))return t;let r;if(Buffer.isBuffer(t))r=t,t=t.utf8Slice(0,t.length).trim();else if(typeof t=="string")t=t.trim();else return new Error("Key data must be a Buffer or string");if(e!=null){if(typeof e=="string")e=Buffer.from(e);else if(!Buffer.isBuffer(e))return new Error("Passphrase must be a string or Buffer when supplied")}let n;if((n=$a.parse(t,e))!==null||(n=Da.parse(t,e))!==null||(n=Ba.parse(t,e))!==null||(n=La.parse(t))!==null||(n=Ua.parse(t))!==null)return n;if(r){Oa.init(r,0);let i=Oa.readString(!0);i!==void 0&&(t=Oa.readRaw(),t!==void 0&&(n=bl(t,i,"",i),n instanceof Error&&(n=null))),Oa.clear()}return n||new Error("Unsupported key format")}c(Ug,"parseKey");Lg.exports={isParsedKey:Bg,isSupportedKeyType:Dg,parseDERKey:c((t,e)=>bl(t,e,"",e),"parseDERKey"),parseKey:Ug}});var Pl=le((nF,Kg)=>{"use strict";var{Socket:Hg}=require("net"),{Duplex:jg}=require("stream"),{resolve:iI}=require("path"),{readFile:zg}=require("fs"),{execFile:oI,spawn:sI}=require("child_process"),{isParsedKey:Mg,parseKey:us}=Hn(),{makeBufferParser:aI,readUInt32BE:wl,writeUInt32BE:wr,writeUInt32LE:Fg}=Qr();function ls(t){let e=!1;return(...r)=>{e||(e=!0,t(...r))}}c(ls,"once");function cI(t,e){let r=Buffer.allocUnsafe(t.length+e.length);return t.copy(r,0),e.copy(r,t.length),r}c(cI,"concat");function Il(){}c(Il,"noop");var uI=Buffer.alloc(0),Lt=aI(),fs=class{static{c(this,"BaseAgent")}getIdentities(e){e(new Error("Missing getIdentities() implementation"))}sign(e,r,n,i){typeof n=="function"&&(i=n),i(new Error("Missing sign() implementation"))}},Xi=class extends fs{static{c(this,"OpenSSHAgent")}constructor(e){super(),this.socketPath=e}getStream(e){e=ls(e);let r=new Hg;r.on("connect",()=>{e(null,r)}),r.on("close",n).on("end",n).on("error",n),r.connect(this.socketPath);function n(){try{r.destroy()}catch{}e(new Error("Failed to connect to agent"))}c(n,"onFail")}getIdentities(e){e=ls(e),this.getStream((r,n)=>{function i(s){if(n)try{n.destroy()}catch{}s||(s=new Error("Failed to retrieve identities from agent")),e(s)}if(c(i,"onFail"),r)return i(r);let o=new vl(!0);o.on("error",i),o.pipe(n).pipe(o),n.on("close",i).on("end",i).on("error",i),o.getIdentities((s,a)=>{if(s)return i(s);try{n.destroy()}catch{}e(null,a)})})}sign(e,r,n,i){typeof n=="function"?(i=n,n=void 0):(typeof n!="object"||n===null)&&(n=void 0),i=ls(i),this.getStream((o,s)=>{function a(l){if(s)try{s.destroy()}catch{}l||(l=new Error("Failed to sign data with agent")),i(l)}if(c(a,"onFail"),o)return a(o);let u=new vl(!0);u.on("error",a),u.pipe(s).pipe(u),s.on("close",a).on("end",a).on("error",a),u.sign(e,r,n,(l,d)=>{if(l)return a(l);try{s.destroy()}catch{}i(null,d)})})}},Wg=(()=>{let s=iI(__dirname,"..","util/pagent.exe"),a={10:new Error("Invalid pagent.exe arguments"),11:new Error("Pageant is not running"),12:new Error("pagent.exe could not create an mmap"),13:new Error("pagent.exe could not set mode for stdin"),14:new Error("pagent.exe could not set mode for stdout"),15:new Error("pagent.exe did not get expected input payload")};function u(d){d.buffer=null,d.proc&&(d.proc.kill(),d.proc=void 0)}c(u,"destroy");class l extends jg{static{c(this,"PageantSocket")}constructor(){super(),this.proc=void 0,this.buffer=null}_read(p){}_write(p,g,h){if(this.buffer===null)this.buffer=p;else{let I=Buffer.allocUnsafe(this.buffer.length+p.length);this.buffer.copy(I,0),p.copy(I,this.buffer.length),this.buffer=I}if(this.buffer.length<4)return h();let _=wl(this.buffer,0);if(this.buffer.length-4<_)return h();if(p=this.buffer.slice(0,4+_),this.buffer.length>4+_)return h(new Error("Unexpected multiple agent requests"));this.buffer=null;let A,b=this.proc=sI(s,[p.length]);b.stdout.on("data",I=>{this.push(I)}),b.on("error",I=>{A=I,h(A)}),b.on("close",I=>{if(this.proc=void 0,!A){if(A=a[I])return h(A);h()}}),b.stdin.end(p)}_final(p){u(this),p()}_destroy(p,g){u(this),g()}}return class extends Xi{static{c(this,"PageantAgent")}getStream(p){p(null,new l)}}})(),qg=(()=>{let t=/^!<socket >(\d+) s ([A-Z0-9]{8}-[A-Z0-9]{8}-[A-Z0-9]{8}-[A-Z0-9]{8})/;return class extends Xi{static{c(this,"CygwinAgent")}getStream(r){r=ls(r);let n=this.socketPath,i=!1;zg(n,c(function o(s,a){if(s){if(i)return r(new Error("Invalid cygwin unix socket path"));oI("cygpath",["-w",n],(Z,Y,P)=>{if(Z||Y.length===0)return r(new Error("Invalid cygwin unix socket path"));i=!0,n=Y.toString().replace(/[\r\n]/g,""),zg(n,o)});return}let u=t.exec(a.toString("ascii"));if(!u)return r(new Error("Malformed cygwin unix socket file"));let l,d=0,p=!1,g=[],h,_=Buffer.alloc(12),A=parseInt(u[1],10),b=u[2].replace(/-/g,""),I=Buffer.allocUnsafe(16);for(let Z=0,Y=0;Y<32;++Z,Y+=2)I[Z]=parseInt(b.substring(Y,Y+2),16);for(let Z=0;Z<16;Z+=4)Fg(I,wl(I,Z),Z);X();function w(){d=0,l="secret",h.write(I)}c(w,"_onconnect");function H(Z){if(d+=Z.length,l==="secret"){d===16&&(d=0,l="creds",h.write(_));return}if(l==="creds"&&(p||g.push(Z),d===12)){if(h.removeListener("connect",w),h.removeListener("data",H),h.removeListener("error",$),h.removeListener("end",$),h.removeListener("close",$),p)return r(null,h);p=!0,_=Buffer.concat(g),Fg(_,process.pid,0),h.on("error",()=>{}),h.destroy(),X()}}c(H,"_ondata");function $(){r(new Error("Problem negotiating cygwin unix socket security"))}c($,"onFail");function X(){h=new Hg,h.on("connect",w),h.on("data",H),h.on("error",$),h.on("end",$),h.on("close",$),h.connect(A)}c(X,"tryConnect")},"readCygsocket"))}}})(),lI=/^[/\\][/\\]\.[/\\]pipe[/\\].+/;function Qg(t){return process.platform==="win32"&&!lI.test(t)?t==="pageant"?new Wg:new qg(t):new Xi(t)}c(Qg,"createAgent");var vl=(()=>{function l(P){let k;for(;P[w].length;){let M=P[w][0][p];if(M===void 0)break;P[w].shift(),k=P.push(M)}return k}c(l,"processResponses");let d=Symbol("Inbound Request Type"),p=Symbol("Inbound Request Response"),g=Symbol("Inbound Request Context");class h{static{c(this,"AgentInboundRequest")}constructor(k,M){this[d]=k,this[p]=void 0,this[g]=M}hasResponded(){return this[p]!==void 0}getType(){return this[d]}getContext(){return this[g]}}function _(P,k,M){return k[p]=M,l(P)}c(_,"respond");function A(P){if(P[$]=null,P[H]===0){let k=P[w];if(k&&k.length){P[w]=[];for(let M of k)M.cb(new Error("No reply from server"))}}try{P.end()}catch{}setImmediate(()=>{P[Y]||P.emit("end"),P[Z]||P.emit("close")})}c(A,"cleanup");function b(){this[Z]=!0}c(b,"onClose");function I(){this[Y]=!0}c(I,"onEnd");let w=Symbol("Requests"),H=Symbol("Agent Protocol Role"),$=Symbol("Agent Protocol Buffer"),X=Symbol("Agent Protocol Current Message Length"),Z=Symbol("Agent Protocol Closed"),Y=Symbol("Agent Protocol Ended");return class extends jg{static{c(this,"AgentProtocol")}constructor(k){super({autoDestroy:!0,emitClose:!1}),this[H]=k?0:1,this[w]=[],this[$]=null,this[X]=-1,this.once("end",I),this.once("close",b)}_read(k){}_write(k,M,L){this[$]===null?this[$]=k:this[$]=cI(this[$],k);let T=this[$],F=T.length,j=0;for(;j<F&&!(F<5||(this[X]===-1&&(this[X]=wl(T,j)),F<4+this[X]));){let B=T[j+=4];if(++j,this[H]===0){if(this[w].length===0)return L(new Error("Received unexpected message from server"));let G=this[w].shift();switch(B){case 5:G.cb(new Error("Agent responded with failure"));break;case 12:{if(G.type!==11)return L(new Error("Agent responded with wrong message type"));Lt.init(T,j);let ee=Lt.readUInt32BE();if(ee===void 0)return Lt.clear(),L(new Error("Malformed agent response"));let C=[];for(let W=0;W<ee;++W){let q=Lt.readString();if(q===void 0)return Lt.clear(),L(new Error("Malformed agent response"));let J=Lt.readString(!0);if(J===void 0)return Lt.clear(),L(new Error("Malformed agent response"));q=us(q),!(q instanceof Error)&&(q.comment=q.comment||J,C.push(q))}j=Lt.pos(),Lt.clear(),G.cb(null,C);break}case 14:{if(G.type!==13)return L(new Error("Agent responded with wrong message type"));Lt.init(T,j);let ee=Lt.readString();if(j=Lt.pos(),Lt.clear(),ee===void 0)return L(new Error("Malformed agent response"));if(Lt.init(ee,0),Lt.readString(!0),ee=Lt.readString(),Lt.clear(),ee===void 0)return L(new Error("Malformed OpenSSH signature format"));G.cb(null,ee);break}default:return L(new Error("Agent responded with unsupported message type"))}}else switch(B){case 11:{let G=new h(B);this[w].push(G),this.emit("identities",G);break}case 13:{Lt.init(T,j);let G=Lt.readString(),ee=Lt.readString(),C=Lt.readUInt32BE();if(j=Lt.pos(),Lt.clear(),C===void 0){let ue=new h(B);return this[w].push(ue),this.failureReply(ue)}if(G=us(G),G instanceof Error){let ue=new h(B);return this[w].push(ue),this.failureReply(ue)}let W={hash:void 0},q;G.type==="ssh-rsa"&&(C&2?(q="rsa-sha2-256",W.hash="sha256"):C&4&&(q="rsa-sha2-512",W.hash="sha512")),q===void 0&&(q=G.type);let J=new h(B,q);this[w].push(J),this.emit("sign",J,G,ee,W);break}default:{let G=new h(B);this[w].push(G),this.failureReply(G)}}if(this[X]=-1,j===F){this[$]=null;break}else this[$]=T=T.slice(j),F=T.length,j=0}L()}_destroy(k,M){A(this),M()}_final(k){A(this),k()}sign(k,M,L,T){if(this[H]!==0)throw new Error("Client-only method called with server role");typeof L=="function"?(T=L,L=void 0):(typeof L!="object"||L===null)&&(L=void 0);let F=0;if(k=us(k),k instanceof Error)throw new Error("Invalid public key argument");if(k.type==="ssh-rsa"&&L)switch(L.hash){case"sha256":F=2;break;case"sha512":F=4;break}k=k.getPublicSSH();let j=13,B=k.length,G=M.length,ee=0,C=Buffer.allocUnsafe(9+B+4+G+4);return wr(C,C.length-4,ee),C[ee+=4]=j,wr(C,B,++ee),k.copy(C,ee+=4),wr(C,G,ee+=B),M.copy(C,ee+=4),wr(C,F,ee+=G),typeof T!="function"&&(T=Il),this[w].push({type:j,cb:T}),this.push(C)}getIdentities(k){if(this[H]!==0)throw new Error("Client-only method called with server role");let M=11,L=0,T=Buffer.allocUnsafe(5);return wr(T,T.length-4,L),T[L+=4]=M,typeof k!="function"&&(k=Il),this[w].push({type:M,cb:k}),this.push(T)}failureReply(k){if(this[H]!==1)throw new Error("Server-only method called with client role");if(!(k instanceof h))throw new Error("Wrong request argument");if(k.hasResponded())return!0;let M=0,L=Buffer.allocUnsafe(5);return wr(L,L.length-4,M),L[M+=4]=5,_(this,k,L)}getIdentitiesReply(k,M){if(this[H]!==1)throw new Error("Server-only method called with client role");if(!(k instanceof h))throw new Error("Wrong request argument");if(k.hasResponded())return!0;if(k.getType()!==11)throw new Error("Invalid response to request");if(!Array.isArray(M))throw new Error("Keys argument must be an array");let L=4,T=[];for(let B=0;B<M.length;++B){let G=M[B];if(typeof G!="object"||G===null)throw new Error(`Invalid key entry: ${G}`);let ee,C;if(Mg(G))ee=G;else if(Mg(G.pubKey))ee=G.pubKey;else if(typeof G.pubKey!="object"||G.pubKey===null||({pubKey:ee,comment:C}=G.pubKey,ee=us(ee),ee instanceof Error))continue;C=ee.comment||C,ee=ee.getPublicSSH(),L+=4+ee.length,C&&typeof C=="string"?C=Buffer.from(C):Buffer.isBuffer(C)||(C=uI),L+=4+C.length,T.push({pubKey:ee,comment:C})}let F=0,j=Buffer.allocUnsafe(5+L);wr(j,j.length-4,F),j[F+=4]=12,wr(j,T.length,++F),F+=4;for(let B=0;B<T.length;++B){let{pubKey:G,comment:ee}=T[B];wr(j,G.length,F),G.copy(j,F+=4),wr(j,ee.length,F+=G.length),F+=4,ee.length&&(ee.copy(j,F),F+=ee.length)}return _(this,k,j)}signReply(k,M){if(this[H]!==1)throw new Error("Server-only method called with client role");if(!(k instanceof h))throw new Error("Wrong request argument");if(k.hasResponded())return!0;if(k.getType()!==13)throw new Error("Invalid response to request");if(!Buffer.isBuffer(M))throw new Error("Signature argument must be a Buffer");if(M.length===0)throw new Error("Signature argument must be non-empty");let L=0,T=k.getContext(),F=Buffer.byteLength(T),j=Buffer.allocUnsafe(13+F+4+M.length);return wr(j,j.length-4,L),j[L+=4]=14,wr(j,4+F+4+M.length,++L),wr(j,F,L+=4),j.utf8Write(T,L+=4,F),wr(j,M.length,L+=F),M.copy(j,L+=4),_(this,k,j)}}})(),xl=Symbol("Agent"),Gr=Symbol("Agent Keys"),xn=Symbol("Agent Keys Index"),Yi=Symbol("Agent Init Callbacks"),Sl=class{static{c(this,"AgentContext")}constructor(e){if(typeof e=="string")e=Qg(e);else if(!Vg(e))throw new Error("Invalid agent argument");this[xl]=e,this[Gr]=null,this[xn]=-1,this[Yi]=null}init(e){if(typeof e!="function"&&(e=Il),this[Gr]===null)if(this[Yi]===null){this[Yi]=[e];let r=c((...n)=>{process.nextTick(()=>{let i=this[Yi];this[Yi]=null;for(let o of i)o(...n)})},"doCbs");this[xl].getIdentities(ls((n,i)=>{if(n)return r(n);if(!Array.isArray(i))return r(new Error("Agent implementation failed to provide keys"));let o=[];for(let s of i)s=us(s),!(s instanceof Error)&&o.push(s);this[Gr]=o,this[xn]=-1,r()}))}else this[Yi].push(e);else process.nextTick(e)}nextKey(){return this[Gr]===null||++this[xn]>=this[Gr].length?!1:this[Gr][this[xn]]}currentKey(){return this[Gr]===null||this[xn]>=this[Gr].length?null:this[Gr][this[xn]]}pos(){return this[Gr]===null||this[xn]>=this[Gr].length?-1:this[xn]}reset(){this[xn]=-1}sign(...e){this[xl].sign(...e)}};function Vg(t){return t instanceof fs}c(Vg,"isAgent");Kg.exports={AgentContext:Sl,AgentProtocol:vl,BaseAgent:fs,createAgent:Qg,CygwinAgent:qg,isAgent:Vg,OpenSSHAgent:Xi,PageantAgent:Wg}});var Ol=le((oF,Gg)=>{"use strict";var{kMaxLength:fI}=require("buffer"),{createInflate:dI,constants:{DEFLATE:pI,INFLATE:hI,Z_DEFAULT_CHUNK:gI,Z_DEFAULT_COMPRESSION:mI,Z_DEFAULT_MEMLEVEL:_I,Z_DEFAULT_STRATEGY:yI,Z_DEFAULT_WINDOWBITS:EI,Z_PARTIAL_FLUSH:AI}}=require("zlib"),bI=dI()._handle.constructor;function xI(){throw new Error("Should not get here")}c(xI,"processCallback");function II(t,e,r){let n=this._owner,i=new Error(t);i.errno=e,i.code=r,n._err=i}c(II,"zlibOnError");function Nl(t){t._handle&&(t._handle.close(),t._handle=null)}c(Nl,"_close");var za=class{static{c(this,"Zlib")}constructor(e){let r=EI,n=mI,i=_I,o=yI,s=void 0;this._err=void 0,this._writeState=new Uint32Array(2),this._chunkSize=gI,this._maxOutputLength=fI,this._outBuffer=Buffer.allocUnsafe(this._chunkSize),this._outOffset=0,this._handle=new bI(e),this._handle._owner=this,this._handle.onerror=II,this._handle.init(r,n,i,o,this._writeState,xI,s)}writeSync(e,r){let n=this._handle;if(!n)throw new Error("Invalid Zlib instance");let i=e.length,o=this._chunkSize-this._outOffset,s=0,a,u,l,d=0,p=this._writeState,g=this._outBuffer,h=this._outOffset,_=this._chunkSize;for(;;){if(n.writeSync(AI,e,s,i,g,h,o),this._err)throw this._err;a=p[0],u=p[1];let b=i-u,I=o-a;if(I>0){let w=h===0&&I===g.length?g:g.slice(h,h+I);if(h+=I,l?l.push===void 0?l=[l,w]:l.push(w):l=w,d+=w.byteLength,d>this._maxOutputLength)throw Nl(this),new Error(`Output length exceeded maximum of ${this._maxOutputLength}`)}else if(I!==0)throw new Error("have should not go down");if((a===0||h>=_)&&(o=_,h=0,g=Buffer.allocUnsafe(_)),a===0)s+=b,i=u;else break}if(this._outBuffer=g,this._outOffset=h,d===0&&(l=Buffer.alloc(0)),r)return l.totalLen=d,l;if(l.push===void 0)return l;let A=Buffer.allocUnsafe(d);for(let b=0,I=0;b<l.length;++b){let w=l[b];A.set(w,I),I+=w.length}return A}},Tl=class{static{c(this,"ZlibPacketWriter")}constructor(e){this.allocStart=0,this.allocStartKEX=0,this._protocol=e,this._zlib=new za(pI)}cleanup(){this._zlib&&Nl(this._zlib)}alloc(e,r){return Buffer.allocUnsafe(e)}finalize(e,r){if(this._protocol._kexinit===void 0||r){let n=this._zlib.writeSync(e,!0),i=this._protocol._cipher.allocPacket(n.totalLen);if(n.push===void 0)i.set(n,5);else for(let o=0,s=5;o<n.length;++o){let a=n[o];i.set(a,s),s+=a.length}return i}return e}},kl=class{static{c(this,"PacketWriter")}constructor(e){this.allocStart=5,this.allocStartKEX=5,this._protocol=e}cleanup(){}alloc(e,r){return this._protocol._kexinit===void 0||r?this._protocol._cipher.allocPacket(e):Buffer.allocUnsafe(e)}finalize(e,r){return e}},Cl=class{static{c(this,"ZlibPacketReader")}constructor(){this._zlib=new za(hI)}cleanup(){this._zlib&&Nl(this._zlib)}read(e){return this._zlib.writeSync(e,!1)}},Rl=class{static{c(this,"PacketReader")}cleanup(){}read(e){return e}};Gg.exports={PacketReader:Rl,PacketWriter:kl,ZlibPacketReader:Cl,ZlibPacketWriter:Tl}});var em=le((aF,Jg)=>{"use strict";var{bufferSlice:$l,bufferParser:O,doFatalError:Tt,sigSSHToASN1:Zg,writeUInt32BE:Yg}=Qr(),{CHANNEL_OPEN_FAILURE:vI,COMPAT:SI,MESSAGE:kt,TERMINAL_MODE:Xg}=An(),{parseKey:wI}=Hn(),PI=Array.from(Object.entries(Xg)).reduce((t,[e,r])=>({...t,[e]:r}),{});Jg.exports={[kt.DISCONNECT]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readString(!0),i=O.readString();if(O.clear(),i===void 0)return Tt(t,"Inbound: Malformed DISCONNECT packet");t._debug&&t._debug(`Inbound: Received DISCONNECT (${r}, "${n}")`);let o=t._handlers.DISCONNECT;o&&o(t,r,n)},[kt.IGNORE]:(t,e)=>{t._debug&&t._debug("Inbound: Received IGNORE")},[kt.UNIMPLEMENTED]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed UNIMPLEMENTED packet");t._debug&&t._debug(`Inbound: Received UNIMPLEMENTED (seqno ${r})`)},[kt.DEBUG]:(t,e)=>{O.init(e,1);let r=O.readBool(),n=O.readString(!0),i=O.readString();if(O.clear(),i===void 0)return Tt(t,"Inbound: Malformed DEBUG packet");t._debug&&t._debug("Inbound: Received DEBUG");let o=t._handlers.DEBUG;o&&o(t,r,n)},[kt.SERVICE_REQUEST]:(t,e)=>{O.init(e,1);let r=O.readString(!0);if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed SERVICE_REQUEST packet");t._debug&&t._debug(`Inbound: Received SERVICE_REQUEST (${r})`);let n=t._handlers.SERVICE_REQUEST;n&&n(t,r)},[kt.SERVICE_ACCEPT]:(t,e)=>{O.init(e,1);let r=O.readString(!0);if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed SERVICE_ACCEPT packet");t._debug&&t._debug(`Inbound: Received SERVICE_ACCEPT (${r})`);let n=t._handlers.SERVICE_ACCEPT;n&&n(t,r)},[kt.EXT_INFO]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n;if(r!==void 0){n=[];for(let o=0;o<r;++o){let s=O.readString(!0),a=O.readString();if(a!==void 0)if(s==="server-sig-algs"){let u=a.latin1Slice(0,a.length).split(",");n.push({name:s,algs:u});continue}else continue;n=void 0;break}}if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed EXT_INFO packet");t._debug&&t._debug("Inbound: Received EXT_INFO");let i=t._handlers.EXT_INFO;i&&i(t,n)},[kt.USERAUTH_REQUEST]:(t,e)=>{O.init(e,1);let r=O.readString(!0),n=O.readString(!0),i=O.readString(!0),o,s;switch(i){case"none":o=null;break;case"password":{let u=O.readBool();if(u!==void 0&&(o=O.readString(!0),o!==void 0&&u)){let l=O.readString(!0);l!==void 0?o={oldPassword:o,newPassword:l}:o=void 0}break}case"publickey":{let u=O.readBool();if(u!==void 0){let l=O.readString(!0),d=l,p=O.readString(),g;switch(l){case"rsa-sha2-256":d="ssh-rsa",g="sha256";break;case"rsa-sha2-512":d="ssh-rsa",g="sha512";break}if(u){let h=O.pos(),_=O.readString();if(_!==void 0&&(_.length>4+l.length+4&&_.utf8Slice(4,4+l.length)===l&&(_=$l(_,4+l.length+4)),_=Zg(_,d),_)){let A=t._kex.sessionID,b=Buffer.allocUnsafe(4+A.length+h);Yg(b,A.length,0),b.set(A,4),b.set(new Uint8Array(e.buffer,e.byteOffset,h),4+A.length),o={keyAlgo:d,key:p,signature:_,blob:b,hashAlgo:g}}}else o={keyAlgo:d,key:p,hashAlgo:g},s="publickey -- check"}break}case"hostbased":{let u=O.readString(!0),l=u,d=O.readString(),p=O.readString(!0),g=O.readString(!0),h;switch(u){case"rsa-sha2-256":l="ssh-rsa",h="sha256";break;case"rsa-sha2-512":l="ssh-rsa",h="sha512";break}let _=O.pos(),A=O.readString();if(A!==void 0&&(A.length>4+u.length+4&&A.utf8Slice(4,4+u.length)===u&&(A=$l(A,4+u.length+4)),A=Zg(A,l),A!==void 0)){let b=t._kex.sessionID,I=Buffer.allocUnsafe(4+b.length+_);Yg(I,b.length,0),I.set(b,4),I.set(new Uint8Array(e.buffer,e.byteOffset,_),4+b.length),o={keyAlgo:l,key:d,signature:A,blob:I,localHostname:p,localUsername:g,hashAlgo:h}}break}case"keyboard-interactive":O.skipString(),o=O.readList();break;default:i!==void 0&&(o=O.readRaw())}if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed USERAUTH_REQUEST packet");s===void 0&&(s=i),t._authsQueue.push(i),t._debug&&t._debug(`Inbound: Received USERAUTH_REQUEST (${s})`);let a=t._handlers.USERAUTH_REQUEST;a&&a(t,r,n,i,o)},[kt.USERAUTH_FAILURE]:(t,e)=>{O.init(e,1);let r=O.readList(),n=O.readBool();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_FAILURE packet");t._debug&&t._debug(`Inbound: Received USERAUTH_FAILURE (${r})`),t._authsQueue.shift();let i=t._handlers.USERAUTH_FAILURE;i&&i(t,r,n)},[kt.USERAUTH_SUCCESS]:(t,e)=>{t._debug&&t._debug("Inbound: Received USERAUTH_SUCCESS"),t._authsQueue.shift();let r=t._handlers.USERAUTH_SUCCESS;r&&r(t)},[kt.USERAUTH_BANNER]:(t,e)=>{O.init(e,1);let r=O.readString(!0),n=O.readString();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_BANNER packet");t._debug&&t._debug("Inbound: Received USERAUTH_BANNER");let i=t._handlers.USERAUTH_BANNER;i&&i(t,r)},60:(t,e)=>{if(!t._authsQueue.length){t._debug&&t._debug("Inbound: Received payload type 60 without auth");return}switch(t._authsQueue[0]){case"password":{O.init(e,1);let r=O.readString(!0),n=O.readString();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_PASSWD_CHANGEREQ packet");t._debug&&t._debug("Inbound: Received USERAUTH_PASSWD_CHANGEREQ");let i=t._handlers.USERAUTH_PASSWD_CHANGEREQ;i&&i(t,r);break}case"publickey":{O.init(e,1);let r=O.readString(!0),n=O.readString();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_PK_OK packet");t._debug&&t._debug("Inbound: Received USERAUTH_PK_OK"),t._authsQueue.shift();let i=t._handlers.USERAUTH_PK_OK;i&&i(t,r,n);break}case"keyboard-interactive":{O.init(e,1);let r=O.readString(!0),n=O.readString(!0);O.readString();let i=O.readUInt32BE(),o;if(i!==void 0){o=new Array(i);let a;for(a=0;a<i;++a){let u=O.readString(!0),l=O.readBool();if(l===void 0)break;o[a]={prompt:u,echo:l}}a!==i&&(o=void 0)}if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed USERAUTH_INFO_REQUEST packet");t._debug&&t._debug("Inbound: Received USERAUTH_INFO_REQUEST");let s=t._handlers.USERAUTH_INFO_REQUEST;s&&s(t,r,n,o);break}default:t._debug&&t._debug("Inbound: Received unexpected payload type 60")}},61:(t,e)=>{if(!t._authsQueue.length){t._debug&&t._debug("Inbound: Received payload type 61 without auth");return}if(t._authsQueue[0]!=="keyboard-interactive")return Tt(t,"Inbound: Received unexpected payload type 61");O.init(e,1);let r=O.readUInt32BE(),n;if(r!==void 0){n=new Array(r);let o;for(o=0;o<r;++o){let s=O.readString(!0);if(s===void 0)break;n[o]=s}o!==r&&(n=void 0)}if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_INFO_RESPONSE packet");t._debug&&t._debug("Inbound: Received USERAUTH_INFO_RESPONSE");let i=t._handlers.USERAUTH_INFO_RESPONSE;i&&i(t,n)},[kt.GLOBAL_REQUEST]:(t,e)=>{O.init(e,1);let r=O.readString(!0),n=O.readBool(),i;if(n!==void 0)switch(r){case"tcpip-forward":case"cancel-tcpip-forward":{let s=O.readString(!0),a=O.readUInt32BE();a!==void 0&&(i={bindAddr:s,bindPort:a});break}case"streamlocal-forward@openssh.com":case"cancel-streamlocal-forward@openssh.com":{let s=O.readString(!0);s!==void 0&&(i={socketPath:s});break}case"no-more-sessions@openssh.com":i=null;break;case"hostkeys-00@openssh.com":{for(i=[];O.avail()>0;){let s=O.readString();if(s===void 0){i=void 0;break}let a=wI(s);a instanceof Error||i.push(a)}break}default:i=O.readRaw()}if(O.clear(),i===void 0)return Tt(t,"Inbound: Malformed GLOBAL_REQUEST packet");t._debug&&t._debug(`Inbound: GLOBAL_REQUEST (${r})`);let o=t._handlers.GLOBAL_REQUEST;o?o(t,r,n,i):t.requestFailure()},[kt.REQUEST_SUCCESS]:(t,e)=>{let r=e.length>1?$l(e,1):null;t._debug&&t._debug("Inbound: REQUEST_SUCCESS");let n=t._handlers.REQUEST_SUCCESS;n&&n(t,r)},[kt.REQUEST_FAILURE]:(t,e)=>{t._debug&&t._debug("Inbound: Received REQUEST_FAILURE");let r=t._handlers.REQUEST_FAILURE;r&&r(t)},[kt.CHANNEL_OPEN]:(t,e)=>{O.init(e,1);let r=O.readString(!0),n=O.readUInt32BE(),i=O.readUInt32BE(),o=O.readUInt32BE(),s;switch(r){case"forwarded-tcpip":case"direct-tcpip":{let u=O.readString(!0),l=O.readUInt32BE(),d=O.readString(!0),p=O.readUInt32BE();p!==void 0&&(s={type:r,sender:n,window:i,packetSize:o,data:{destIP:u,destPort:l,srcIP:d,srcPort:p}});break}case"forwarded-streamlocal@openssh.com":case"direct-streamlocal@openssh.com":{let u=O.readString(!0);u!==void 0&&(s={type:r,sender:n,window:i,packetSize:o,data:{socketPath:u}});break}case"x11":{let u=O.readString(!0),l=O.readUInt32BE();l!==void 0&&(s={type:r,sender:n,window:i,packetSize:o,data:{srcIP:u,srcPort:l}});break}default:s={type:r,sender:n,window:i,packetSize:o,data:{}}}if(O.clear(),s===void 0)return Tt(t,"Inbound: Malformed CHANNEL_OPEN packet");t._debug&&t._debug(`Inbound: CHANNEL_OPEN (s:${n}, ${r})`);let a=t._handlers.CHANNEL_OPEN;a?a(t,s):t.channelOpenFail(s.sender,vI.ADMINISTRATIVELY_PROHIBITED,"","")},[kt.CHANNEL_OPEN_CONFIRMATION]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readUInt32BE(),i=O.readUInt32BE(),o=O.readUInt32BE(),s=O.avail()?O.readRaw():void 0;if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed CHANNEL_OPEN_CONFIRMATION packet");t._debug&&t._debug(`Inbound: CHANNEL_OPEN_CONFIRMATION (r:${r}, s:${n})`);let a=t._handlers.CHANNEL_OPEN_CONFIRMATION;a&&a(t,{recipient:r,sender:n,window:i,packetSize:o,data:s})},[kt.CHANNEL_OPEN_FAILURE]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readUInt32BE(),i=O.readString(!0),o=O.readString();if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed CHANNEL_OPEN_FAILURE packet");t._debug&&t._debug(`Inbound: CHANNEL_OPEN_FAILURE (r:${r})`);let s=t._handlers.CHANNEL_OPEN_FAILURE;s&&s(t,r,n,i)},[kt.CHANNEL_WINDOW_ADJUST]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readUInt32BE();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed CHANNEL_WINDOW_ADJUST packet");t._debug&&t._debug(`Inbound: CHANNEL_WINDOW_ADJUST (r:${r}, ${n})`);let i=t._handlers.CHANNEL_WINDOW_ADJUST;i&&i(t,r,n)},[kt.CHANNEL_DATA]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readString();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed CHANNEL_DATA packet");t._debug&&t._debug(`Inbound: CHANNEL_DATA (r:${r}, ${n.length})`);let i=t._handlers.CHANNEL_DATA;i&&i(t,r,n)},[kt.CHANNEL_EXTENDED_DATA]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readUInt32BE(),i=O.readString();if(O.clear(),i===void 0)return Tt(t,"Inbound: Malformed CHANNEL_EXTENDED_DATA packet");t._debug&&t._debug(`Inbound: CHANNEL_EXTENDED_DATA (r:${r}, ${i.length})`);let o=t._handlers.CHANNEL_EXTENDED_DATA;o&&o(t,r,i,n)},[kt.CHANNEL_EOF]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed CHANNEL_EOF packet");t._debug&&t._debug(`Inbound: CHANNEL_EOF (r:${r})`);let n=t._handlers.CHANNEL_EOF;n&&n(t,r)},[kt.CHANNEL_CLOSE]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed CHANNEL_CLOSE packet");t._debug&&t._debug(`Inbound: CHANNEL_CLOSE (r:${r})`);let n=t._handlers.CHANNEL_CLOSE;n&&n(t,r)},[kt.CHANNEL_REQUEST]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readString(!0),i=O.readBool(),o;if(i!==void 0)switch(n){case"exit-status":o=O.readUInt32BE(),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"exit-signal":{let a,u;if(t._compatFlags&SI.OLD_EXIT){let d=O.readUInt32BE();switch(d){case 1:a="HUP";break;case 2:a="INT";break;case 3:a="QUIT";break;case 6:a="ABRT";break;case 9:a="KILL";break;case 14:a="ALRM";break;case 15:a="TERM";break;default:d!==void 0&&(a=`UNKNOWN (${d})`)}u=!1}else a=O.readString(!0),u=O.readBool(),u===void 0&&(a=void 0);let l=O.readString(!0);O.skipString()!==void 0&&(o={signal:a,coreDumped:u,errorMessage:l}),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${a})`);break}case"pty-req":{let a=O.readString(!0),u=O.readUInt32BE(),l=O.readUInt32BE(),d=O.readUInt32BE(),p=O.readUInt32BE(),g=O.readString();if(g!==void 0){O.init(g,1);let h={};for(;O.avail();){let _=O.readByte();if(_===Xg.TTY_OP_END)break;let A=PI[_],b=O.readUInt32BE();if(_===void 0||A===void 0||b===void 0){h=void 0;break}h[A]=b}h!==void 0&&(o={term:a,cols:u,rows:l,width:d,height:p,modes:h})}t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break}case"window-change":{let a=O.readUInt32BE(),u=O.readUInt32BE(),l=O.readUInt32BE(),d=O.readUInt32BE();d!==void 0&&(o={cols:a,rows:u,width:l,height:d}),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break}case"x11-req":{let a=O.readBool(),u=O.readString(!0),l=O.readString(),d=O.readUInt32BE();d!==void 0&&(o={single:a,protocol:u,cookie:l,screen:d}),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break}case"env":{let a=O.readString(!0),u=O.readString(!0);u!==void 0&&(o={name:a,value:u}),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${a}=${u})`);break}case"shell":o=null,t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break;case"exec":o=O.readString(!0),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"subsystem":o=O.readString(!0),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"signal":o=O.readString(!0),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"xon-xoff":o=O.readBool(),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"auth-agent-req@openssh.com":o=null,t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break;default:o=O.avail()?O.readRaw():null,t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`)}if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed CHANNEL_REQUEST packet");let s=t._handlers.CHANNEL_REQUEST;s&&s(t,r,n,i,o)},[kt.CHANNEL_SUCCESS]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed CHANNEL_SUCCESS packet");t._debug&&t._debug(`Inbound: CHANNEL_SUCCESS (r:${r})`);let n=t._handlers.CHANNEL_SUCCESS;n&&n(t,r)},[kt.CHANNEL_FAILURE]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed CHANNEL_FAILURE packet");t._debug&&t._debug(`Inbound: CHANNEL_FAILURE (r:${r})`);let n=t._handlers.CHANNEL_FAILURE;n&&n(t,r)}}});var Ma=le((cF,tm)=>{"use strict";var Dl=new Array(256);[Fa().HANDLERS,em()].forEach(t=>{for(let[e,r]of Object.entries(t))e=+e,isFinite(e)&&e>=0&&e<Dl.length&&(Dl[e]=r)});tm.exports=Dl});var Fa=le((lF,fm)=>{"use strict";var{createDiffieHellman:TI,createDiffieHellmanGroup:kI,createECDH:CI,createHash:Ul,createPublicKey:RI,diffieHellman:NI,generateKeyPairSync:OI,randomFillSync:$I}=require("crypto"),{Ber:rm}=Ko(),{COMPAT:Ll,curve25519Supported:DI,DEFAULT_KEX:nm,DEFAULT_SERVER_HOST_KEY:im,DEFAULT_CIPHER:Ha,DEFAULT_MAC:ja,DEFAULT_COMPRESSION:Wa,DISCONNECT_REASON:st,MESSAGE:wt}=An(),{CIPHER_INFO:to,createCipher:BI,createDecipher:UI,MAC_INFO:om}=zn(),{parseDERKey:LI}=Hn(),{bufferFill:zI,bufferParser:it,convertSignature:MI,doFatalError:at,FastBuffer:FI,sigSSHToASN1:HI,writeUInt32BE:ur}=Qr(),{PacketReader:sm,PacketWriter:am,ZlibPacketReader:qa,ZlibPacketWriter:Qa}=Ol(),Ji,jI=2048,WI=8192,qI=Buffer.alloc(0);function cm(t){let e;if(t._compatFlags&Ll.BAD_DHGEX){let r=t._offer.lists.kex,n=r.array,i=!1;for(let o=0;o<n.length;++o)n[o].includes("group-exchange")&&(i||(i=!0,n=n.slice()),n.splice(o--,1));if(i){let o=17+t._offer.totalSize+1+4,s=Buffer.from(n.join(","));o-=r.buffer.length-s.length;let a=t._offer.lists.all,u=new Uint8Array(a.buffer,a.byteOffset+4+r.buffer.length,a.length-(4+r.buffer.length));e=Buffer.allocUnsafe(o),ur(e,s.length,17),e.set(s,21),e.set(u,21+s.length)}}e===void 0&&(e=Buffer.allocUnsafe(17+t._offer.totalSize+1+4),t._offer.copyAllTo(e,17)),t._debug&&t._debug("Outbound: Sending KEXINIT"),e[0]=wt.KEXINIT,$I(e,1,16),zI(e,0,e.length-5),t._kexinit=e,t._packetRW.write.allocStart=0;{let r=t._packetRW.write.allocStartKEX,n=t._packetRW.write.alloc(e.length,!0);n.set(e,r),t._cipher.encrypt(t._packetRW.write.finalize(n,!0))}}c(cm,"kexinit");function um(t,e){let r={kex:void 0,serverHostKey:void 0,cs:{cipher:void 0,mac:void 0,compress:void 0,lang:void 0},sc:{cipher:void 0,mac:void 0,compress:void 0,lang:void 0}};if(it.init(e,17),(r.kex=it.readList())===void 0||(r.serverHostKey=it.readList())===void 0||(r.cs.cipher=it.readList())===void 0||(r.sc.cipher=it.readList())===void 0||(r.cs.mac=it.readList())===void 0||(r.sc.mac=it.readList())===void 0||(r.cs.compress=it.readList())===void 0||(r.sc.compress=it.readList())===void 0||(r.cs.lang=it.readList())===void 0||(r.sc.lang=it.readList())===void 0)return it.clear(),at(t,"Received malformed KEXINIT","handshake",st.KEY_EXCHANGE_FAILED);let n=it.pos(),i=n<e.length&&e[n]===1;it.clear();let o=t._offer,s=r,a=o.lists.kex.array;if(t._compatFlags&Ll.BAD_DHGEX){let $=!1;for(let X=0;X<a.length;++X)a[X].indexOf("group-exchange")!==-1&&($||($=!0,a=a.slice()),a.splice(X--,1))}let u,l,d,p=t._debug;p&&p("Inbound: Handshake in progress"),p&&p(`Handshake: (local) KEX method: ${a}`),p&&p(`Handshake: (remote) KEX method: ${s.kex}`);let g;if(t._server?(l=a,u=s.kex,g=u.indexOf("ext-info-c")!==-1):(l=s.kex,u=a,g=l.indexOf("ext-info-s")!==-1),t._strictMode===void 0&&(t._server?t._strictMode=u.indexOf("kex-strict-c-v00@openssh.com")!==-1:t._strictMode=l.indexOf("kex-strict-s-v00@openssh.com")!==-1,t._strictMode&&(p&&p("Handshake: strict KEX mode enabled"),t._decipher.inSeqno!==1)))return p&&p("Handshake: KEXINIT not first packet in strict KEX mode"),at(t,"Handshake failed: KEXINIT not first packet in strict KEX mode","handshake",st.KEY_EXCHANGE_FAILED);for(d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: no matching key exchange algorithm"),at(t,"Handshake failed: no matching key exchange algorithm","handshake",st.KEY_EXCHANGE_FAILED);r.kex=u[d],p&&p(`Handshake: KEX algorithm: ${u[d]}`),i&&(!s.kex.length||u[d]!==s.kex[0])&&(t._skipNextInboundPacket=!0);let h=o.lists.serverHostKey.array;for(p&&p(`Handshake: (local) Host key format: ${h}`),p&&p(`Handshake: (remote) Host key format: ${s.serverHostKey}`),t._server?(l=h,u=s.serverHostKey):(l=s.serverHostKey,u=h),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching host key format"),at(t,"Handshake failed: no matching host key format","handshake",st.KEY_EXCHANGE_FAILED);r.serverHostKey=u[d],p&&p(`Handshake: Host key format: ${u[d]}`);let _=o.lists.cs.cipher.array;for(p&&p(`Handshake: (local) C->S cipher: ${_}`),p&&p(`Handshake: (remote) C->S cipher: ${s.cs.cipher}`),t._server?(l=_,u=s.cs.cipher):(l=s.cs.cipher,u=_),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching C->S cipher"),at(t,"Handshake failed: no matching C->S cipher","handshake",st.KEY_EXCHANGE_FAILED);r.cs.cipher=u[d],p&&p(`Handshake: C->S Cipher: ${u[d]}`);let A=o.lists.sc.cipher.array;for(p&&p(`Handshake: (local) S->C cipher: ${A}`),p&&p(`Handshake: (remote) S->C cipher: ${s.sc.cipher}`),t._server?(l=A,u=s.sc.cipher):(l=s.sc.cipher,u=A),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching S->C cipher"),at(t,"Handshake failed: no matching S->C cipher","handshake",st.KEY_EXCHANGE_FAILED);r.sc.cipher=u[d],p&&p(`Handshake: S->C cipher: ${u[d]}`);let b=o.lists.cs.mac.array;if(p&&p(`Handshake: (local) C->S MAC: ${b}`),p&&p(`Handshake: (remote) C->S MAC: ${s.cs.mac}`),to[r.cs.cipher].authLen>0)r.cs.mac="",p&&p("Handshake: C->S MAC: <implicit>");else{for(t._server?(l=b,u=s.cs.mac):(l=s.cs.mac,u=b),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching C->S MAC"),at(t,"Handshake failed: no matching C->S MAC","handshake",st.KEY_EXCHANGE_FAILED);r.cs.mac=u[d],p&&p(`Handshake: C->S MAC: ${u[d]}`)}let I=o.lists.sc.mac.array;if(p&&p(`Handshake: (local) S->C MAC: ${I}`),p&&p(`Handshake: (remote) S->C MAC: ${s.sc.mac}`),to[r.sc.cipher].authLen>0)r.sc.mac="",p&&p("Handshake: S->C MAC: <implicit>");else{for(t._server?(l=I,u=s.sc.mac):(l=s.sc.mac,u=I),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching S->C MAC"),at(t,"Handshake failed: no matching S->C MAC","handshake",st.KEY_EXCHANGE_FAILED);r.sc.mac=u[d],p&&p(`Handshake: S->C MAC: ${u[d]}`)}let w=o.lists.cs.compress.array;for(p&&p(`Handshake: (local) C->S compression: ${w}`),p&&p(`Handshake: (remote) C->S compression: ${s.cs.compress}`),t._server?(l=w,u=s.cs.compress):(l=s.cs.compress,u=w),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching C->S compression"),at(t,"Handshake failed: no matching C->S compression","handshake",st.KEY_EXCHANGE_FAILED);r.cs.compress=u[d],p&&p(`Handshake: C->S compression: ${u[d]}`);let H=o.lists.sc.compress.array;for(p&&p(`Handshake: (local) S->C compression: ${H}`),p&&p(`Handshake: (remote) S->C compression: ${s.sc.compress}`),t._server?(l=H,u=s.sc.compress):(l=s.sc.compress,u=H),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching S->C compression"),at(t,"Handshake failed: no matching S->C compression","handshake",st.KEY_EXCHANGE_FAILED);r.sc.compress=u[d],p&&p(`Handshake: S->C compression: ${u[d]}`),r.cs.lang="",r.sc.lang="",t._kex&&(t._kexinit||cm(t),t._decipher._onPayload=lm.bind(t,{firstPacket:!1})),t._kex=QI(r,t,e),t._kex.remoteExtInfoEnabled=g,t._kex.start()}c(um,"handleKexInit");var QI=(()=>{function t(s){let a=0,u=s.length;for(;s[a]===0;)++a,--u;let l;return s[a]&128?(l=Buffer.allocUnsafe(1+u),l[0]=0,s.copy(l,1,a),s=l):u!==s.length&&(l=Buffer.allocUnsafe(u),s.copy(l,0,a),s=l),s}c(t,"convertToMpint");class e{static{c(this,"KeyExchange")}constructor(a,u,l){this._protocol=u,this.sessionID=u._kex?u._kex.sessionID:void 0,this.negotiated=a,this.remoteExtInfoEnabled=!1,this._step=1,this._public=null,this._dh=null,this._sentNEWKEYS=!1,this._receivedNEWKEYS=!1,this._finished=!1,this._hostVerified=!1,this._kexinit=u._kexinit,this._remoteKexinit=l,this._identRaw=u._identRaw,this._remoteIdentRaw=u._remoteIdentRaw,this._hostKey=void 0,this._dhData=void 0,this._sig=void 0}finish(a){if(this._finished)return!1;this._finished=!0;let u=this._protocol._server,l=this.negotiated,d=this.convertPublicKey(this._dhData),p=this.computeSecret(this._dhData);if(p instanceof Error)return p.message=`Error while computing DH secret (${this.type}): ${p.message}`,p.level="handshake",at(this._protocol,p,st.KEY_EXCHANGE_FAILED);let g=Ul(this.hashName);sn(g,u?this._remoteIdentRaw:this._identRaw),sn(g,u?this._identRaw:this._remoteIdentRaw),sn(g,u?this._remoteKexinit:this._kexinit),sn(g,u?this._kexinit:this._remoteKexinit);let h=u?this._hostKey.getPublicSSH():this._hostKey;if(sn(g,h),this.type==="groupex"){let H=this.getDHParams(),$=Buffer.allocUnsafe(4);ur($,this._minBits,0),g.update($),ur($,this._prefBits,0),g.update($),ur($,this._maxBits,0),g.update($),sn(g,H.prime),sn(g,H.generator)}sn(g,u?d:this.getPublicKey());let _=u?this.getPublicKey():d;sn(g,_),sn(g,p);let A=g.digest();if(u){let H;switch(this.negotiated.serverHostKey){case"rsa-sha2-256":H="sha256";break;case"rsa-sha2-512":H="sha512";break}this._protocol._debug&&this._protocol._debug("Generating signature ...");let $=this._hostKey.sign(A,H);if($ instanceof Error)return at(this._protocol,`Handshake failed: signature generation failed for ${this._hostKey.type} host key: ${$.message}`,"handshake",st.KEY_EXCHANGE_FAILED);if($=MI($,this._hostKey.type),$===!1)return at(this._protocol,`Handshake failed: signature conversion failed for ${this._hostKey.type} host key`,"handshake",st.KEY_EXCHANGE_FAILED);let X=this.negotiated.serverHostKey,Z=Buffer.byteLength(X),Y=4+Z+4+$.length,P=this._protocol._packetRW.write.allocStartKEX,k=this._protocol._packetRW.write.alloc(5+h.length+4+_.length+4+Y,!0);if(k[P]=wt.KEXDH_REPLY,ur(k,h.length,++P),k.set(h,P+=4),ur(k,_.length,P+=h.length),k.set(_,P+=4),ur(k,Y,P+=_.length),ur(k,Z,P+=4),k.utf8Write(X,P+=4,Z),ur(k,$.length,P+=Z),k.set($,P+=4),this._protocol._debug){let M;switch(this.type){case"group":M="KEXDH_REPLY";break;case"groupex":M="KEXDH_GEX_REPLY";break;default:M="KEXECDH_REPLY"}this._protocol._debug(`Outbound: Sending ${M}`)}this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(k,!0))}else{it.init(this._sig,0);let H=it.readString(!0);if(!H)return at(this._protocol,"Malformed packet while reading signature","handshake",st.KEY_EXCHANGE_FAILED);if(H!==l.serverHostKey)return at(this._protocol,`Wrong signature type: ${H}, expected: ${l.serverHostKey}`,"handshake",st.KEY_EXCHANGE_FAILED);let $=it.readString();if(it.clear(),$===void 0)return at(this._protocol,"Malformed packet while reading signature","handshake",st.KEY_EXCHANGE_FAILED);if(!($=HI($,H)))return at(this._protocol,"Malformed signature","handshake",st.KEY_EXCHANGE_FAILED);let X;{it.init(this._hostKey,0);let P=it.readString(!0),k=this._hostKey.slice(it.pos());if(it.clear(),X=LI(k,P),X instanceof Error)return X.level="handshake",at(this._protocol,X,st.KEY_EXCHANGE_FAILED)}let Z;switch(this.negotiated.serverHostKey){case"rsa-sha2-256":Z="sha256";break;case"rsa-sha2-512":Z="sha512";break}this._protocol._debug&&this._protocol._debug("Verifying signature ...");let Y=X.verify(A,$,Z);if(Y!==!0)return Y instanceof Error?this._protocol._debug&&this._protocol._debug(`Signature verification failed: ${Y.stack}`):this._protocol._debug&&this._protocol._debug("Signature verification failed"),at(this._protocol,"Handshake failed: signature verification failed","handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Verified signature")}(u||!a)&&Va(this);let b,I,w=c(H=>{if(b)return Va(this),b.outbound.seqno=this._protocol._cipher.outSeqno,this._protocol._cipher.free(),this._protocol._cipher=BI(b),this._protocol._packetRW.write=I,b=void 0,I=void 0,this._protocol._onHandshakeComplete(l),!1;this.sessionID||(this.sessionID=A);{let G=Buffer.allocUnsafe(4+p.length);ur(G,p.length,0),G.set(p,4),p=G}let $=to[l.cs.cipher],X=to[l.sc.cipher],Z=eo($.ivLen,this.hashName,p,A,this.sessionID,"A"),Y=eo(X.ivLen,this.hashName,p,A,this.sessionID,"B"),P=eo($.keyLen,this.hashName,p,A,this.sessionID,"C"),k=eo(X.keyLen,this.hashName,p,A,this.sessionID,"D"),M,L;$.authLen||(M=om[l.cs.mac],L=eo(M.len,this.hashName,p,A,this.sessionID,"E"));let T,F;X.authLen||(T=om[l.sc.mac],F=eo(T.len,this.hashName,p,A,this.sessionID,"F"));let j={inbound:{onPayload:this._protocol._onPayload,seqno:this._protocol._decipher.inSeqno,decipherInfo:u?$:X,decipherIV:u?Z:Y,decipherKey:u?P:k,macInfo:u?M:T,macKey:u?L:F},outbound:{onWrite:this._protocol._onWrite,seqno:this._protocol._cipher.outSeqno,cipherInfo:u?X:$,cipherIV:u?Y:Z,cipherKey:u?k:P,macInfo:u?T:M,macKey:u?F:L}};this._protocol._decipher.free(),b=j,this._protocol._decipher=UI(j);let B={read:void 0,write:void 0};switch(l.cs.compress){case"zlib":u?B.read=new qa:B.write=new Qa(this._protocol);break;case"zlib@openssh.com":if(this._protocol._authenticated){u?B.read=new qa:B.write=new Qa(this._protocol);break}default:u?B.read=new sm:B.write=new am(this._protocol)}switch(l.sc.compress){case"zlib":u?B.write=new Qa(this._protocol):B.read=new qa;break;case"zlib@openssh.com":if(this._protocol._authenticated){u?B.write=new Qa(this._protocol):B.read=new qa;break}default:u?B.write=new am(this._protocol):B.read=new sm}return this._protocol._packetRW.read.cleanup(),this._protocol._packetRW.write.cleanup(),this._protocol._packetRW.read=B.read,I=B.write,this._public=null,this._dh=null,this._kexinit=this._protocol._kexinit=void 0,this._remoteKexinit=void 0,this._identRaw=void 0,this._remoteIdentRaw=void 0,this._hostKey=void 0,this._dhData=void 0,this._sig=void 0,H?!1:w()},"completeHandshake");if((u||a)&&(this.finish=w),!u)return w(a)}start(){if(!this._protocol._server){if(this._protocol._debug){let d;this.type==="group"?d="KEXDH_INIT":d="KEXECDH_INIT",this._protocol._debug(`Outbound: Sending ${d}`)}let a=this.getPublicKey(),u=this._protocol._packetRW.write.allocStartKEX,l=this._protocol._packetRW.write.alloc(5+a.length,!0);l[u]=wt.KEXDH_INIT,ur(l,a.length,++u),l.set(a,u+=4),this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(l,!0))}}getPublicKey(){this.generateKeys();let a=this._public;if(a)return this.convertPublicKey(a)}convertPublicKey(a){let u,l=0,d=a.length;for(;a[l]===0;)++l,--d;return a[l]&128?(u=Buffer.allocUnsafe(1+d),u[0]=0,a.copy(u,1,l),u):(d!==a.length&&(u=Buffer.allocUnsafe(d),a.copy(u,0,l),a=u),a)}computeSecret(a){this.generateKeys();try{return t(this._dh.computeSecret(a))}catch(u){return u}}parse(a){let u=a[0];switch(this._step){case 1:if(this._protocol._server){if(u!==wt.KEXDH_INIT)return at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_INIT}`,"handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Received DH Init"),it.init(a,1);let l=it.readString();if(it.clear(),l===void 0)return at(this._protocol,"Received malformed KEX*_INIT","handshake",st.KEY_EXCHANGE_FAILED);this._dhData=l;let d=this._protocol._hostKeys[this.negotiated.serverHostKey];Array.isArray(d)&&(d=d[0]),this._hostKey=d,this.finish()}else{if(u!==wt.KEXDH_REPLY)return at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_REPLY}`,"handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Received DH Reply"),it.init(a,1);let l,d,p;if((l=it.readString())===void 0||(d=it.readString())===void 0||(p=it.readString())===void 0)return it.clear(),at(this._protocol,"Received malformed KEX*_REPLY","handshake",st.KEY_EXCHANGE_FAILED);it.clear(),it.init(l,0);let g=it.readString(!0);if(it.clear(),g===void 0)return at(this._protocol,"Received malformed host public key","handshake",st.KEY_EXCHANGE_FAILED);if(g!==this.negotiated.serverHostKey)switch(this.negotiated.serverHostKey){case"rsa-sha2-256":case"rsa-sha2-512":if(g==="ssh-rsa")break;default:return at(this._protocol,"Host key does not match negotiated type","handshake",st.KEY_EXCHANGE_FAILED)}this._hostKey=l,this._dhData=d,this._sig=p;let h=!1,_;if(this._protocol._hostVerifier===void 0?(_=!0,this._protocol._debug&&this._protocol._debug("Host accepted by default (no verification)")):_=this._protocol._hostVerifier(l,A=>{if(!h){if(h=!0,A===!1)return this._protocol._debug&&this._protocol._debug("Host denied (verification failed)"),at(this._protocol,"Host denied (verification failed)","handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Host accepted (verified)"),this._hostVerified=!0,this._receivedNEWKEYS?this.finish():Va(this)}}),_===void 0){++this._step;return}if(h=!0,_===!1)return this._protocol._debug&&this._protocol._debug("Host denied (verification failed)"),at(this._protocol,"Host denied (verification failed)","handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Host accepted (verified)"),this._hostVerified=!0,Va(this)}++this._step;break;case 2:return u!==wt.NEWKEYS?at(this._protocol,`Received packet ${u} instead of ${wt.NEWKEYS}`,"handshake",st.KEY_EXCHANGE_FAILED):(this._protocol._debug&&this._protocol._debug("Inbound: NEWKEYS"),this._receivedNEWKEYS=!0,this._protocol._strictMode&&(this._protocol._decipher.inSeqno=0),++this._step,this.finish(!this._protocol._server&&!this._hostVerified));default:return at(this._protocol,`Received unexpected packet ${u} after NEWKEYS`,"handshake",st.KEY_EXCHANGE_FAILED)}}}class r extends e{static{c(this,"Curve25519Exchange")}constructor(a,...u){super(...u),this.type="25519",this.hashName=a,this._keys=null}generateKeys(){this._keys||(this._keys=OI("x25519"))}getPublicKey(){return this.generateKeys(),this._keys.publicKey.export({type:"spki",format:"der"}).slice(-32)}convertPublicKey(a){let u,l=0,d=a.length;for(;a[l]===0;)++l,--d;return a.length===32||d!==a.length&&(u=Buffer.allocUnsafe(d),a.copy(u,0,l),a=u),a}computeSecret(a){this.generateKeys();try{let u=new rm.Writer;return u.startSequence(),u.startSequence(),u.writeOID("1.3.101.110"),u.endSequence(),u.startSequence(rm.BitString),u.writeByte(0),u._ensure(a.length),a.copy(u._buf,u._offset,0,a.length),u._offset+=a.length,u.endSequence(),u.endSequence(),t(NI({privateKey:this._keys.privateKey,publicKey:RI({key:u.buffer,type:"spki",format:"der"})}))}catch(u){return u}}}class n extends e{static{c(this,"ECDHExchange")}constructor(a,u,...l){super(...l),this.type="ecdh",this.curveName=a,this.hashName=u}generateKeys(){this._dh||(this._dh=CI(this.curveName),this._public=this._dh.generateKeys())}}class i extends e{static{c(this,"DHGroupExchange")}constructor(a,...u){super(...u),this.type="groupex",this.hashName=a,this._prime=null,this._generator=null,this._minBits=jI,this._prefBits=VI(this.negotiated),this._protocol._compatFlags&Ll.BUG_DHGEX_LARGE&&(this._prefBits=Math.min(this._prefBits,4096)),this._maxBits=WI}start(){if(this._protocol._server)return;this._protocol._debug&&this._protocol._debug("Outbound: Sending KEXDH_GEX_REQUEST");let a=this._protocol._packetRW.write.allocStartKEX,u=this._protocol._packetRW.write.alloc(13,!0);u[a]=wt.KEXDH_GEX_REQUEST,ur(u,this._minBits,++a),ur(u,this._prefBits,a+=4),ur(u,this._maxBits,a+=4),this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(u,!0))}generateKeys(){!this._dh&&this._prime&&this._generator&&(this._dh=TI(this._prime,this._generator),this._public=this._dh.generateKeys())}setDHParams(a,u){if(!Buffer.isBuffer(a))throw new Error("Invalid prime value");if(!Buffer.isBuffer(u))throw new Error("Invalid generator value");this._prime=a,this._generator=u}getDHParams(){if(this._dh)return{prime:t(this._dh.getPrime()),generator:t(this._dh.getGenerator())}}parse(a){let u=a[0];switch(this._step){case 1:{if(this._protocol._server)return u!==wt.KEXDH_GEX_REQUEST?at(this._protocol,`Received packet ${u} instead of `+wt.KEXDH_GEX_REQUEST,"handshake",st.KEY_EXCHANGE_FAILED):at(this._protocol,"Group exchange not implemented for server","handshake",st.KEY_EXCHANGE_FAILED);if(u!==wt.KEXDH_GEX_GROUP)return at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_GEX_GROUP}`,"handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Received DH GEX Group"),it.init(a,1);let l,d;if((l=it.readString())===void 0||(d=it.readString())===void 0)return it.clear(),at(this._protocol,"Received malformed KEXDH_GEX_GROUP","handshake",st.KEY_EXCHANGE_FAILED);it.clear(),this.setDHParams(l,d),this.generateKeys();let p=this.getPublicKey();this._protocol._debug&&this._protocol._debug("Outbound: Sending KEXDH_GEX_INIT");let g=this._protocol._packetRW.write.allocStartKEX,h=this._protocol._packetRW.write.alloc(5+p.length,!0);h[g]=wt.KEXDH_GEX_INIT,ur(h,p.length,++g),h.set(p,g+=4),this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(h,!0)),++this._step;break}case 2:if(this._protocol._server)return u!==wt.KEXDH_GEX_INIT?at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_GEX_INIT}`,"handshake",st.KEY_EXCHANGE_FAILED):(this._protocol._debug&&this._protocol._debug("Received DH GEX Init"),at(this._protocol,"Group exchange not implemented for server","handshake",st.KEY_EXCHANGE_FAILED));if(u!==wt.KEXDH_GEX_REPLY)return at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_GEX_REPLY}`,"handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Received DH GEX Reply"),this._step=1,a[0]=wt.KEXDH_REPLY,this.parse=e.prototype.parse,this.parse(a)}}}class o extends e{static{c(this,"DHExchange")}constructor(a,u,...l){super(...l),this.type="group",this.groupName=a,this.hashName=u}start(){if(!this._protocol._server){this._protocol._debug&&this._protocol._debug("Outbound: Sending KEXDH_INIT");let a=this.getPublicKey(),u=this._protocol._packetRW.write.allocStartKEX,l=this._protocol._packetRW.write.alloc(5+a.length,!0);l[u]=wt.KEXDH_INIT,ur(l,a.length,++u),l.set(a,u+=4),this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(l,!0))}}generateKeys(){this._dh||(this._dh=kI(this.groupName),this._public=this._dh.generateKeys())}getDHParams(){if(this._dh)return{prime:t(this._dh.getPrime()),generator:t(this._dh.getGenerator())}}}return(s,...a)=>{if(typeof s!="object"||s===null)throw new Error("Invalid negotiated argument");let u=s.kex;if(typeof u=="string"){switch(a=[s,...a],u){case"curve25519-sha256":case"curve25519-sha256@libssh.org":if(!DI)break;return new r("sha256",...a);case"ecdh-sha2-nistp256":return new n("prime256v1","sha256",...a);case"ecdh-sha2-nistp384":return new n("secp384r1","sha384",...a);case"ecdh-sha2-nistp521":return new n("secp521r1","sha512",...a);case"diffie-hellman-group1-sha1":return new o("modp2","sha1",...a);case"diffie-hellman-group14-sha1":return new o("modp14","sha1",...a);case"diffie-hellman-group14-sha256":return new o("modp14","sha256",...a);case"diffie-hellman-group15-sha512":return new o("modp15","sha512",...a);case"diffie-hellman-group16-sha512":return new o("modp16","sha512",...a);case"diffie-hellman-group17-sha512":return new o("modp17","sha512",...a);case"diffie-hellman-group18-sha512":return new o("modp18","sha512",...a);case"diffie-hellman-group-exchange-sha1":return new i("sha1",...a);case"diffie-hellman-group-exchange-sha256":return new i("sha256",...a)}throw new Error(`Unsupported key exchange algorithm: ${u}`)}throw new Error(`Invalid key exchange type: ${u}`)}})(),Bl=(()=>{let t=["kex","serverHostKey",["cs","cipher"],["sc","cipher"],["cs","mac"],["sc","mac"],["cs","compress"],["sc","compress"],["cs","lang"],["sc","lang"]];return class{static{c(this,"KexInit")}constructor(r){if(typeof r!="object"||r===null)throw new TypeError("Argument must be an object");let n={kex:void 0,serverHostKey:void 0,cs:{cipher:void 0,mac:void 0,compress:void 0,lang:void 0},sc:{cipher:void 0,mac:void 0,compress:void 0,lang:void 0},all:void 0},i=0;for(let a of t){let u,l,d,p;if(typeof a=="string")u=n,l=r[a],d=p=a;else{let h=a[0];u=n[h],p=a[1],l=r[h][p],d=`${h}.${p}`}let g={array:void 0,buffer:void 0};if(Buffer.isBuffer(l))g.array=(""+l).split(","),g.buffer=l,i+=4+l.length;else{if(typeof l=="string"&&(l=l.split(",")),Array.isArray(l))g.array=l,g.buffer=Buffer.from(l.join(","));else throw new TypeError(`Invalid \`${d}\` type: ${typeof l}`);i+=4+g.buffer.length}u[p]=g}let o=Buffer.allocUnsafe(i);n.all=o;let s=0;for(let a of t){let u;typeof a=="string"?u=n[a].buffer:u=n[a[0]][a[1]].buffer,s=ur(o,u.length,s),o.set(u,s),s+=u.length}this.totalSize=i,this.lists=n}copyAllTo(r,n){let i=this.lists.all;if(typeof n!="number")throw new TypeError(`Invalid offset value: ${typeof n}`);if(r.length-n<i.length)throw new Error("Insufficient space to copy list");return r.set(i,n),i.length}}})(),sn=(()=>{let t=Buffer.allocUnsafe(4);return(e,r)=>{ur(t,r.length,0),e.update(t),e.update(r)}})();function eo(t,e,r,n,i,o){let s;if(t){let a=Ul(e).update(r).update(n).update(o).update(i).digest();for(;a.length<t;){let u=Ul(e).update(r).update(n).update(a).digest(),l=Buffer.allocUnsafe(a.length+u.length);l.set(a,0),l.set(u,a.length),a=l}a.length===t?s=a:s=new FI(a.buffer,a.byteOffset,t)}else s=qI;return s}c(eo,"generateKEXVal");function lm(t,e){if(e.length===0){this._debug&&this._debug("Inbound: Skipping empty packet payload");return}if(this._skipNextInboundPacket){this._skipNextInboundPacket=!1;return}e=this._packetRW.read.read(e);let r=e[0];if(!this._strictMode)switch(r){case wt.IGNORE:case wt.UNIMPLEMENTED:case wt.DEBUG:return Ji||(Ji=Ma()),Ji[r](this,e)}switch(r){case wt.DISCONNECT:return Ji||(Ji=Ma()),Ji[r](this,e);case wt.KEXINIT:return t.firstPacket?(t.firstPacket=!1,um(this,e)):at(this,"Received extra KEXINIT during handshake","handshake",st.KEY_EXCHANGE_FAILED);default:if(r<20||r>49)return at(this,`Received unexpected packet type ${r}`,"handshake",st.KEY_EXCHANGE_FAILED)}return this._kex.parse(e)}c(lm,"onKEXPayload");function VI(t){let e=to[t.cs.cipher],r=to[t.sc.cipher],n=Math.max(0,e.sslName==="des-ede3-cbc"?14:e.keyLen,e.blockLen,e.ivLen,r.sslName==="des-ede3-cbc"?14:r.keyLen,r.blockLen,r.ivLen)*8;return n<=112?2048:n<=128?3072:n<=192?7680:8192}c(VI,"dhEstimate");function Va(t){if(!t._sentNEWKEYS){t._protocol._debug&&t._protocol._debug("Outbound: Sending NEWKEYS");let e=t._protocol._packetRW.write.allocStartKEX,r=t._protocol._packetRW.write.alloc(1,!0);r[e]=wt.NEWKEYS,t._protocol._cipher.encrypt(t._protocol._packetRW.write.finalize(r,!0)),t._sentNEWKEYS=!0,t._protocol._strictMode&&(t._protocol._cipher.outSeqno=0)}}c(Va,"trySendNEWKEYS");fm.exports={KexInit:Bl,kexinit:cm,onKEXPayload:lm,DEFAULT_KEXINIT_CLIENT:new Bl({kex:nm.concat(["ext-info-c","kex-strict-c-v00@openssh.com"]),serverHostKey:im,cs:{cipher:Ha,mac:ja,compress:Wa,lang:[]},sc:{cipher:Ha,mac:ja,compress:Wa,lang:[]}}),DEFAULT_KEXINIT_SERVER:new Bl({kex:nm.concat(["kex-strict-s-v00@openssh.com"]),serverHostKey:im,cs:{cipher:Ha,mac:ja,compress:Wa,lang:[]},sc:{cipher:Ha,mac:ja,compress:Wa,lang:[]}}),HANDLERS:{[wt.KEXINIT]:um}}});var dm=le((dF,KI)=>{KI.exports={name:"ssh2",version:"1.16.0",author:"Brian White <mscdex@mscdex.net>",description:"SSH2 client and server modules written in pure JavaScript for node.js",main:"./lib/index.js",engines:{node:">=10.16.0"},dependencies:{asn1:"^0.2.6","bcrypt-pbkdf":"^1.0.2"},devDependencies:{"@mscdex/eslint-config":"^1.1.0",eslint:"^7.32.0"},optionalDependencies:{"cpu-features":"~0.0.10",nan:"^2.20.0"},scripts:{install:"node install.js",rebuild:"node install.js",test:"node test/test.js",lint:"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},keywords:["ssh","ssh2","sftp","secure","shell","exec","remote","client"],licenses:[{type:"MIT",url:"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],repository:{type:"git",url:"http://github.com/mscdex/ssh2.git"}}});var Hl=le((pF,Sm)=>{"use strict";var{inspect:ym}=require("util"),{bindingAvailable:GI,NullCipher:ZI,NullDecipher:YI}=zn(),{COMPAT_CHECKS:XI,DISCONNECT_REASON:Em,eddsaSupported:JI,MESSAGE:we,SIGNALS:pm,TERMINAL_MODE:Ml}=An(),{DEFAULT_KEXINIT_CLIENT:ev,DEFAULT_KEXINIT_SERVER:tv,KexInit:hm,kexinit:Am,onKEXPayload:rv}=Fa(),{parseKey:gm}=Hn(),nv=Ma(),{bufferCopy:Ka,bufferFill:iv,bufferSlice:bm,convertSignature:mm,sendPacket:Pe,writeUInt32BE:R}=Qr(),{PacketReader:ov,PacketWriter:sv,ZlibPacketReader:xm,ZlibPacketWriter:Im}=Ol(),av=dm().version,cv=new Map(Object.values(Em).map(t=>[t,1])),vm=Buffer.from(`SSH-2.0-ssh2js${av}`),uv=Buffer.from(`${vm}\r
12
- `),lv=8192,fv=1024,_m=Buffer.from([we.GLOBAL_REQUEST,0,0,0,21,107,101,101,112,97,108,105,118,101,64,111,112,101,110,115,115,104,46,99,111,109,1]),dv=Buffer.from([Ml.TTY_OP_END]);function zl(){}c(zl,"noop");var Fl=class{static{c(this,"Protocol")}constructor(e){let r=e.onWrite;if(typeof r!="function")throw new Error("Missing onWrite function");this._onWrite=h=>{r(h)};let n=e.onError;if(typeof n!="function")throw new Error("Missing onError function");this._onError=h=>{n(h)};let i=e.debug;this._debug=typeof i=="function"?h=>{i(h)}:void 0;let o=e.onHeader;this._onHeader=typeof o=="function"?(...h)=>{o(...h)}:zl;let s=e.onPacket;this._onPacket=typeof s=="function"?()=>{s()}:zl;let a=e.onHandshakeComplete;typeof a!="function"&&(a=zl);let u;this._onHandshakeComplete=(...h)=>{this._debug&&this._debug("Handshake completed"),u===void 0?u=!0:u=!1;let _=this._queue;if(_){this._queue=void 0,this._debug&&this._debug(`Draining outbound queue (${_.length}) ...`);for(let A=0;A<_.length;++A){let b=_[A],I=this._packetRW.write.finalize(b);if(I===b){let w=this._cipher.allocPacket(b.length);w.set(b,5),I=w}Pe(this,I)}this._debug&&this._debug("... finished draining outbound queue")}u&&this._server&&this._kex.remoteExtInfoEnabled&&Ev(this),a(...h)},this._queue=void 0;let l=e.messageHandlers;typeof l=="object"&&l!==null?this._handlers=l:this._handlers={},this._onPayload=mv.bind(this),this._server=!!e.server,this._banner=void 0;let d;if(this._server){if(typeof e.hostKeys!="object"||e.hostKeys===null)throw new Error("Missing server host key(s)");this._hostKeys=e.hostKeys,typeof e.greeting=="string"&&e.greeting.length&&(d=e.greeting.slice(-2)===`\r
11
+ ${r}-----END ${t} KEY-----`}c(Kr,"makePEM");function ns(t,e){let r=Buffer.allocUnsafe(t.length+e.length);return r.set(t,0),r.set(e,t.length),r}c(ns,"combineBuffers");function Al(t,e){let r=t.length,n=t._pos||0;for(let i=0;i<e;++i){let o=r-n;if(n>=r||o<4)return!1;let s=es(t,n);if(o<4+s)return!1;n+=4+s}return t._pos=n,!0}c(Al,"skipFields");function is(t,e){let r=new $e.Writer;return r.startSequence(),r.startSequence(),r.writeOID("1.2.840.113549.1.1.1"),r.writeNull(),r.endSequence(),r.startSequence($e.BitString),r.writeByte(0),r.startSequence(),r.writeBuffer(t,$e.Integer),r.writeBuffer(e,$e.Integer),r.endSequence(),r.endSequence(),r.endSequence(),Kr("PUBLIC",r.buffer)}c(is,"genOpenSSLRSAPub");function os(t,e){let r=Buffer.allocUnsafe(15+e.length+4+t.length);ur(r,7,0),r.utf8Write("ssh-rsa",4,7);let n=11;return ur(r,e.length,n),r.set(e,n+=4),ur(r,t.length,n+=e.length),r.set(t,n+4),r}c(os,"genOpenSSHRSAPub");var zg=(()=>{function t(n,i,o,s,a,u,l,d){let p=new $e.Writer;return p.startSequence(),p.writeInt(0,$e.Integer),p.writeBuffer(n,$e.Integer),p.writeBuffer(i,$e.Integer),p.writeBuffer(o,$e.Integer),p.writeBuffer(s,$e.Integer),p.writeBuffer(a,$e.Integer),p.writeBuffer(u,$e.Integer),p.writeBuffer(l,$e.Integer),p.writeBuffer(d,$e.Integer),p.endSequence(),p.buffer}c(t,"genRSAASN1Buf");function e(n){return BigInt(`0x${n.hexSlice(0,n.length)}`)}c(e,"bigIntFromBuffer");function r(n){let i=n.toString(16);if((i.length&1)!==0)i=`0${i}`;else{let o=i.charCodeAt(0);(o===56||o===57||o>=97&&o<=102)&&(i=`00${i}`)}return Buffer.from(i,"hex")}return c(r,"bigIntToBuffer"),c(function(i,o,s,a,u,l){let d=e(s),p=r(d%(e(u)-1n)),g=r(d%(e(l)-1n));return Kr("RSA PRIVATE",t(i,o,s,u,l,p,g,a))},"genOpenSSLRSAPriv")})();function ss(t,e,r,n){let i=new $e.Writer;return i.startSequence(),i.startSequence(),i.writeOID("1.2.840.10040.4.1"),i.startSequence(),i.writeBuffer(t,$e.Integer),i.writeBuffer(e,$e.Integer),i.writeBuffer(r,$e.Integer),i.endSequence(),i.endSequence(),i.startSequence($e.BitString),i.writeByte(0),i.writeBuffer(n,$e.Integer),i.endSequence(),i.endSequence(),Kr("PUBLIC",i.buffer)}c(ss,"genOpenSSLDSAPub");function as(t,e,r,n){let i=Buffer.allocUnsafe(15+t.length+4+e.length+4+r.length+4+n.length);ur(i,7,0),i.utf8Write("ssh-dss",4,7);let o=11;return ur(i,t.length,o),i.set(t,o+=4),ur(i,e.length,o+=t.length),i.set(e,o+=4),ur(i,r.length,o+=e.length),i.set(r,o+=4),ur(i,n.length,o+=r.length),i.set(n,o+4),i}c(as,"genOpenSSHDSAPub");function Mg(t,e,r,n,i){let o=new $e.Writer;return o.startSequence(),o.writeInt(0,$e.Integer),o.writeBuffer(t,$e.Integer),o.writeBuffer(e,$e.Integer),o.writeBuffer(r,$e.Integer),o.writeBuffer(n,$e.Integer),o.writeBuffer(i,$e.Integer),o.endSequence(),Kr("DSA PRIVATE",o.buffer)}c(Mg,"genOpenSSLDSAPriv");function Fg(t){let e=new $e.Writer;return e.startSequence(),e.startSequence(),e.writeOID("1.3.101.112"),e.endSequence(),e.startSequence($e.BitString),e.writeByte(0),e._ensure(t.length),e._buf.set(t,e._offset),e._offset+=t.length,e.endSequence(),e.endSequence(),Kr("PUBLIC",e.buffer)}c(Fg,"genOpenSSLEdPub");function Hg(t){let e=Buffer.allocUnsafe(19+t.length);return ur(e,11,0),e.utf8Write("ssh-ed25519",4,11),ur(e,t.length,15),e.set(t,19),e}c(Hg,"genOpenSSHEdPub");function lI(t){let e=new $e.Writer;return e.startSequence(),e.writeInt(0,$e.Integer),e.startSequence(),e.writeOID("1.3.101.112"),e.endSequence(),e.startSequence($e.OctetString),e.writeBuffer(t,$e.OctetString),e.endSequence(),e.endSequence(),Kr("PRIVATE",e.buffer)}c(lI,"genOpenSSLEdPriv");function bl(t,e){let r=new $e.Writer;return r.startSequence(),r.startSequence(),r.writeOID("1.2.840.10045.2.1"),r.writeOID(t),r.endSequence(),r.startSequence($e.BitString),r.writeByte(0),r._ensure(e.length),r._buf.set(e,r._offset),r._offset+=e.length,r.endSequence(),r.endSequence(),Kr("PUBLIC",r.buffer)}c(bl,"genOpenSSLECDSAPub");function xl(t,e){let r;switch(t){case"1.2.840.10045.3.1.7":r="nistp256";break;case"1.3.132.0.34":r="nistp384";break;case"1.3.132.0.35":r="nistp521";break;default:return}let n=Buffer.allocUnsafe(39+e.length);return ur(n,19,0),n.utf8Write(`ecdsa-sha2-${r}`,4,19),ur(n,8,23),n.utf8Write(r,27,8),ur(n,e.length,35),n.set(e,39),n}c(xl,"genOpenSSHECDSAPub");function fI(t,e,r){let n=new $e.Writer;return n.startSequence(),n.writeInt(1,$e.Integer),n.writeBuffer(r,$e.OctetString),n.startSequence(160),n.writeOID(t),n.endSequence(),n.startSequence(161),n.startSequence($e.BitString),n.writeByte(0),n._ensure(e.length),n._buf.set(e,n._offset),n._offset+=e.length,n.endSequence(),n.endSequence(),n.endSequence(),Kr("EC PRIVATE",n.buffer)}c(fI,"genOpenSSLECDSAPriv");function dI(t,e){let r=tI(t);return r.setPrivateKey(e),r.getPublicKey()}c(dI,"genOpenSSLECDSAPubFromPriv");var cs={sign:c(typeof Ug=="function"?function(e,r){let n=this[Vr];if(n===null)return new Error("No private key available");(!r||typeof r!="string")&&(r=this[bn]);try{return Ug(r,e,n)}catch(i){return i}}:function(e,r){let n=this[Vr];if(n===null)return new Error("No private key available");(!r||typeof r!="string")&&(r=this[bn]);let i=nI(r);i.update(e);try{return i.sign(n)}catch(o){return o}},"sign"),verify:c(typeof Lg=="function"?function(e,r,n){let i=this[on];if(i===null)return new Error("No public key available");(!n||typeof n!="string")&&(n=this[bn]);try{return Lg(n,e,i,r)}catch(o){return o}}:function(e,r,n){let i=this[on];if(i===null)return new Error("No public key available");(!n||typeof n!="string")&&(n=this[bn]);let o=iI(n);o.update(e);try{return o.verify(i,r)}catch(s){return s}},"verify"),isPrivateKey:c(function(){return this[Vr]!==null},"isPrivateKey"),getPrivatePEM:c(function(){return this[Vr]},"getPrivatePEM"),getPublicPEM:c(function(){return this[on]},"getPublicPEM"),getPublicSSH:c(function(){return this[Hn]},"getPublicSSH"),equals:c(function(e){let r=qg(e);return r instanceof Error?!1:this.type===r.type&&this[Vr]===r[Vr]&&this[on]===r[on]&&this[Hn].equals(r[Hn])},"equals")};function $a(t,e,r,n,i,o,s){this.type=t,this.comment=e,this[Vr]=r,this[on]=n,this[Hn]=i,this[bn]=o,this[Zi]=s}c($a,"OpenSSH_Private");$a.prototype=cs;{let e=function(r,n,i){let o=[];if(r.length<8)return new Error("Malformed OpenSSH private key");let s=es(r,0),a=es(r,4);if(s!==a)return i?new Error("OpenSSH key integrity check failed -- bad passphrase?"):new Error("OpenSSH key integrity check failed");r._pos=8;let u,l;for(u=0;u<n;++u){let p,g,h,_,A=Re(r,r._pos,!0);if(A===void 0)return new Error("Malformed OpenSSH private key");switch(A){case"ssh-rsa":{let v=Re(r,r._pos);if(v===void 0)return new Error("Malformed OpenSSH private key");let w=Re(r,r._pos);if(w===void 0)return new Error("Malformed OpenSSH private key");let H=Re(r,r._pos);if(H===void 0)return new Error("Malformed OpenSSH private key");let D=Re(r,r._pos);if(D===void 0)return new Error("Malformed OpenSSH private key");let J=Re(r,r._pos);if(J===void 0)return new Error("Malformed OpenSSH private key");let Y=Re(r,r._pos);if(Y===void 0)return new Error("Malformed OpenSSH private key");h=is(v,w),_=os(v,w),g=zg(v,w,H,D,J,Y),p="sha1";break}case"ssh-dss":{let v=Re(r,r._pos);if(v===void 0)return new Error("Malformed OpenSSH private key");let w=Re(r,r._pos);if(w===void 0)return new Error("Malformed OpenSSH private key");let H=Re(r,r._pos);if(H===void 0)return new Error("Malformed OpenSSH private key");let D=Re(r,r._pos);if(D===void 0)return new Error("Malformed OpenSSH private key");let J=Re(r,r._pos);if(J===void 0)return new Error("Malformed OpenSSH private key");h=ss(v,w,H,D),_=as(v,w,H,D),g=Mg(v,w,H,D,J),p="sha1";break}case"ssh-ed25519":{if(!El)return new Error(`Unsupported OpenSSH private key type: ${A}`);let v=Re(r,r._pos);if(v===void 0||v.length!==32)return new Error("Malformed OpenSSH private key");let w=Re(r,r._pos);if(w===void 0||w.length!==64)return new Error("Malformed OpenSSH private key");h=Fg(v),_=Hg(v),g=lI(li(w,0,32)),p=null;break}case"ecdsa-sha2-nistp256":p="sha256",l="1.2.840.10045.3.1.7";case"ecdsa-sha2-nistp384":p===void 0&&(p="sha384",l="1.3.132.0.34");case"ecdsa-sha2-nistp521":{if(p===void 0&&(p="sha512",l="1.3.132.0.35"),!Al(r,1))return new Error("Malformed OpenSSH private key");let v=Re(r,r._pos);if(v===void 0)return new Error("Malformed OpenSSH private key");let w=Re(r,r._pos);if(w===void 0)return new Error("Malformed OpenSSH private key");h=bl(l,v),_=xl(l,v),g=fI(l,v,w);break}default:return new Error(`Unsupported OpenSSH private key type: ${A}`)}let b=Re(r,r._pos,!0);if(b===void 0)return new Error("Malformed OpenSSH private key");o.push(new $a(A,b,g,h,_,p,i))}let d=0;for(u=r._pos;u<r.length;++u)if(r[u]!==++d%255)return new Error("Malformed OpenSSH private key");return o};c(e,"parseOpenSSHPrivKeys");let t=/^-----BEGIN OPENSSH PRIVATE KEY-----(?:\r\n|\n)([\s\S]+)(?:\r\n|\n)-----END OPENSSH PRIVATE KEY-----$/;$a.parse=(r,n)=>{let i=t.exec(r);if(i===null)return null;let o,s=Buffer.from(i[1],"base64");if(s.length<31)return new Error("Malformed OpenSSH private key");let a=s.utf8Slice(0,15);if(a!=="openssh-key-v1\0")return new Error(`Unsupported OpenSSH key magic: ${a}`);let u=Re(s,15,!0);if(u===void 0)return new Error("Malformed OpenSSH private key");if(u!=="none"&&cI.indexOf(u)===-1)return new Error(`Unsupported cipher for OpenSSH key: ${u}`);let l=Re(s,s._pos,!0);if(l===void 0)return new Error("Malformed OpenSSH private key");if(l!=="none"){if(u==="none")return new Error("Malformed OpenSSH private key");if(l!=="bcrypt")return new Error(`Unsupported kdf name for OpenSSH key: ${l}`);if(!n)return new Error("Encrypted private OpenSSH key detected, but no passphrase given")}else if(u!=="none")return new Error("Malformed OpenSSH private key");let d,p,g;u!=="none"&&(d=rs[u]);let h=Re(s,s._pos);if(h===void 0)return new Error("Malformed OpenSSH private key");if(h.length)switch(l){case"none":return new Error("Malformed OpenSSH private key");case"bcrypt":{let A=Re(h,0);if(A===void 0||h._pos+4>h.length)return new Error("Malformed OpenSSH private key");let b=es(h,h._pos),v=Buffer.allocUnsafe(d.keyLen+d.ivLen);if(aI(n,n.length,A,A.length,v,v.length,b)!==0)return new Error("Failed to generate information to decrypt key");p=li(v,0,d.keyLen),g=li(v,d.keyLen,v.length);break}}else if(l!=="none")return new Error("Malformed OpenSSH private key");if(s._pos+3>=s.length)return new Error("Malformed OpenSSH private key");let _=es(s,s._pos);if(s._pos+=4,_>0){for(let b=0;b<_;++b){let v=Re(s,s._pos);if(v===void 0)return new Error("Malformed OpenSSH private key");if(Re(v,0,!0)===void 0)return new Error("Malformed OpenSSH private key")}let A=Re(s,s._pos);if(A===void 0)return new Error("Malformed OpenSSH private key");if(p!==void 0){if(A.length<d.blockLen||A.length%d.blockLen!==0)return new Error("Malformed OpenSSH private key");try{let b={authTagLength:d.authLen},v=yl(d.sslName,p,g,b);if(v.setAutoPadding(!1),d.authLen>0){if(s.length-s._pos<d.authLen)return new Error("Malformed OpenSSH private key");v.setAuthTag(li(s,s._pos,s._pos+=d.authLen))}A=ns(v.update(A),v.final())}catch(b){return b}}if(s._pos!==s.length)return new Error("Malformed OpenSSH private key");o=e(A,_,p!==void 0)}else o=[];return o instanceof Error?o:o[0]}}function Da(t,e,r,n,i,o,s){this.type=t,this.comment=e,this[Vr]=r,this[on]=n,this[Hn]=i,this[bn]=o,this[Zi]=s}c(Da,"OpenSSH_Old_Private");Da.prototype=cs;{let t=/^-----BEGIN (RSA|DSA|EC) PRIVATE KEY-----(?:\r\n|\n)((?:[^:]+:\s*[\S].*(?:\r\n|\n))*)([\s\S]+)(?:\r\n|\n)-----END (RSA|DSA|EC) PRIVATE KEY-----$/;Da.parse=(e,r)=>{let n=t.exec(e);if(n===null)return null;let i=Buffer.from(n[3],"base64"),o=n[2],s=!1;if(o!==void 0){o=o.split(/\r\n|\n/g);for(let _=0;_<o.length;++_){let A=o[_],b=A.indexOf(":");if(A.slice(0,b)==="DEK-Info"){let v=A.slice(b+2);if(b=v.indexOf(","),b===-1)continue;let w=v.slice(0,b).toLowerCase();if(sI.indexOf(w)===-1)return new Error(`Cipher (${w}) not supported for encrypted OpenSSH private key`);let H=_l[w];if(!H)return new Error(`Cipher (${w}) not supported for encrypted OpenSSH private key`);let D=Buffer.from(v.slice(b+1),"hex");if(D.length!==H.ivLen)return new Error("Malformed encrypted OpenSSH private key");if(!r)return new Error("Encrypted OpenSSH private key detected, but no passphrase given");let J=li(D,0,8),Y=ts("md5").update(r).update(J).digest();for(;Y.length<H.keyLen;)Y=ns(Y,ts("md5").update(Y).update(r).update(J).digest());Y.length>H.keyLen&&(Y=li(Y,0,H.keyLen));try{let X=yl(w,Y,D);X.setAutoPadding(!1),i=ns(X.update(i),X.final()),s=!0}catch(X){return X}}}}let a,u,l,d,p,g,h="Malformed OpenSSH private key";switch(s&&(h+=". Bad passphrase?"),n[1]){case"RSA":a="ssh-rsa",u=Kr("RSA PRIVATE",i);try{g=new $e.Reader(i),g.readSequence(),g.readInt();let _=g.readString($e.Integer,!0);if(_===null)return new Error(h);let A=g.readString($e.Integer,!0);if(A===null)return new Error(h);l=is(_,A),d=os(_,A)}catch{return new Error(h)}p="sha1";break;case"DSA":a="ssh-dss",u=Kr("DSA PRIVATE",i);try{g=new $e.Reader(i),g.readSequence(),g.readInt();let _=g.readString($e.Integer,!0);if(_===null)return new Error(h);let A=g.readString($e.Integer,!0);if(A===null)return new Error(h);let b=g.readString($e.Integer,!0);if(b===null)return new Error(h);let v=g.readString($e.Integer,!0);if(v===null)return new Error(h);l=ss(_,A,b,v),d=as(_,A,b,v)}catch{return new Error(h)}p="sha1";break;case"EC":{let _,A,b;try{g=new $e.Reader(i),g.readSequence(),g.readInt(),A=g.readString($e.OctetString,!0),g.readByte();let w=g.readLength();if(w!==null){if(g._offset=w,b=g.readOID(),b===null)return new Error(h);switch(b){case"1.2.840.10045.3.1.7":_="prime256v1",a="ecdsa-sha2-nistp256",p="sha256";break;case"1.3.132.0.34":_="secp384r1",a="ecdsa-sha2-nistp384",p="sha384";break;case"1.3.132.0.35":_="secp521r1",a="ecdsa-sha2-nistp521",p="sha512";break;default:return new Error(`Unsupported private key EC OID: ${b}`)}}else return new Error(h)}catch{return new Error(h)}u=Kr("EC PRIVATE",i);let v=dI(_,A);l=bl(b,v),d=xl(b,v);break}}return new Da(a,"",u,l,d,p,s)}}function Ba(t,e,r,n,i,o,s){this.type=t,this.comment=e,this[Vr]=r,this[on]=n,this[Hn]=i,this[bn]=o,this[Zi]=s}c(Ba,"PPK_Private");Ba.prototype=cs;{let t=Buffer.alloc(0),e=Buffer.from([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),r=Buffer.from([0,0,0,0]),n=Buffer.from([0,0,0,1]),i=/^PuTTY-User-Key-File-2: (ssh-(?:rsa|dss))\r?\nEncryption: (aes256-cbc|none)\r?\nComment: ([^\r\n]*)\r?\nPublic-Lines: \d+\r?\n([\s\S]+?)\r?\nPrivate-Lines: \d+\r?\n([\s\S]+?)\r?\nPrivate-MAC: ([^\r\n]+)/;Ba.parse=(o,s)=>{let a=i.exec(o);if(a===null)return null;let u=a[2],l=u!=="none";if(l&&!s)return new Error("Encrypted PPK private key detected, but no passphrase given");let d=Buffer.from(a[5],"base64");if(l){let M=rs[u],L=ns(ts("sha1").update(r).update(s).digest(),ts("sha1").update(n).update(s).digest());L.length>M.keyLen&&(L=li(L,0,M.keyLen));try{let T=yl(M.sslName,L,e);T.setAutoPadding(!1),d=ns(T.update(d),T.final())}catch(T){return T}}let p=a[1],g=a[3],h=Buffer.from(a[4],"base64"),_=a[6],A=p.length,b=u.length,v=Buffer.byteLength(g),w=h.length,H=d.length,D=Buffer.allocUnsafe(4+A+4+b+4+v+4+w+4+H),J=0;if(ur(D,A,J),D.utf8Write(p,J+=4,A),ur(D,b,J+=A),D.utf8Write(u,J+=4,b),ur(D,v,J+=b),D.utf8Write(g,J+=4,v),ur(D,w,J+=v),D.set(h,J+=4),ur(D,H,J+=w),D.set(d,J+4),s||(s=t),rI("sha1",ts("sha1").update("putty-private-key-file-mac-key").update(s).digest()).update(D).digest("hex")!==_)return l?new Error("PPK private key integrity check failed -- bad passphrase?"):new Error("PPK private key integrity check failed");let X,P,C;switch(h._pos=0,Al(h,1),p){case"ssh-rsa":{let M=Re(h,h._pos);if(M===void 0)return new Error("Malformed PPK public key");let L=Re(h,h._pos);if(L===void 0)return new Error("Malformed PPK public key");let T=Re(d,0);if(T===void 0)return new Error("Malformed PPK private key");let F=Re(d,d._pos);if(F===void 0)return new Error("Malformed PPK private key");let j=Re(d,d._pos);if(j===void 0)return new Error("Malformed PPK private key");let B=Re(d,d._pos);if(B===void 0)return new Error("Malformed PPK private key");X=is(L,M),P=os(L,M),C=zg(L,M,T,B,F,j);break}case"ssh-dss":{let M=Re(h,h._pos);if(M===void 0)return new Error("Malformed PPK public key");let L=Re(h,h._pos);if(L===void 0)return new Error("Malformed PPK public key");let T=Re(h,h._pos);if(T===void 0)return new Error("Malformed PPK public key");let F=Re(h,h._pos);if(F===void 0)return new Error("Malformed PPK public key");let j=Re(d,0);if(j===void 0)return new Error("Malformed PPK private key");X=ss(M,L,T,F),P=as(M,L,T,F),C=Mg(M,L,T,F,j);break}}return new Ba(p,g,C,X,P,"sha1",l)}}function La(t,e,r,n,i){this.type=t,this.comment=e,this[Vr]=null,this[on]=r,this[Hn]=n,this[bn]=i,this[Zi]=!1}c(La,"OpenSSH_Public");La.prototype=cs;{let t;El?t=/^(((?:ssh-(?:rsa|dss|ed25519))|ecdsa-sha2-nistp(?:256|384|521))(?:-cert-v0[01]@openssh.com)?) ([A-Z0-9a-z/+=]+)(?:$|\s+([\S].*)?)$/:t=/^(((?:ssh-(?:rsa|dss))|ecdsa-sha2-nistp(?:256|384|521))(?:-cert-v0[01]@openssh.com)?) ([A-Z0-9a-z/+=]+)(?:$|\s+([\S].*)?)$/,La.parse=e=>{let r=t.exec(e);if(r===null)return null;let n=r[1],i=r[2],o=Buffer.from(r[3],"base64"),s=r[4]||"",a=Re(o,o._pos,!0);return a===void 0||a.indexOf(i)!==0?new Error("Malformed OpenSSH public key"):Il(o,i,s,n)}}function Ua(t,e,r,n,i){this.type=t,this.comment=e,this[Vr]=null,this[on]=r,this[Hn]=n,this[bn]=i,this[Zi]=!1}c(Ua,"RFC4716_Public");Ua.prototype=cs;{let t=/^---- BEGIN SSH2 PUBLIC KEY ----(?:\r?\n)((?:.{0,72}\r?\n)+)---- END SSH2 PUBLIC KEY ----$/,e=/^[A-Z0-9a-z/+=\r\n]+$/,r=/^([\x21-\x39\x3B-\x7E]{1,64}): ((?:[^\\]*\\\r?\n)*[^\r\n]+)\r?\n/gm,n=/\\\r?\n/g;Ua.parse=i=>{let o=t.exec(i);if(o===null)return null;let s=o[1],a=0,u="";for(;o=r.exec(s);){let h=o[1],_=o[2].replace(n,"");if(_.length>1024)return r.lastIndex=0,new Error("Malformed RFC4716 public key");a=r.lastIndex,h.toLowerCase()==="comment"&&(u=_,u.length>1&&u.charCodeAt(0)===34&&u.charCodeAt(u.length-1)===34&&(u=u.slice(1,-1)))}let l=s.slice(a);if(!e.test(l))return new Error("Malformed RFC4716 public key");l=Buffer.from(l,"base64");let d=Re(l,0,!0);if(d===void 0)return new Error("Malformed RFC4716 public key");let p=null,g=null;switch(d){case"ssh-rsa":{let h=Re(l,l._pos);if(h===void 0)return new Error("Malformed RFC4716 public key");let _=Re(l,l._pos);if(_===void 0)return new Error("Malformed RFC4716 public key");p=is(_,h),g=os(_,h);break}case"ssh-dss":{let h=Re(l,l._pos);if(h===void 0)return new Error("Malformed RFC4716 public key");let _=Re(l,l._pos);if(_===void 0)return new Error("Malformed RFC4716 public key");let A=Re(l,l._pos);if(A===void 0)return new Error("Malformed RFC4716 public key");let b=Re(l,l._pos);if(b===void 0)return new Error("Malformed RFC4716 public key");p=ss(h,_,A,b),g=as(h,_,A,b);break}default:return new Error("Malformed RFC4716 public key")}return new Ua(d,u,p,g,"sha1")}}function Il(t,e,r,n){if(!jg(e))return new Error(`Unsupported OpenSSH public key type: ${e}`);let i,o,s=null,a=null;switch(e){case"ssh-rsa":{let u=Re(t,t._pos||0);if(u===void 0)return new Error("Malformed OpenSSH public key");let l=Re(t,t._pos);if(l===void 0)return new Error("Malformed OpenSSH public key");s=is(l,u),a=os(l,u),i="sha1";break}case"ssh-dss":{let u=Re(t,t._pos||0);if(u===void 0)return new Error("Malformed OpenSSH public key");let l=Re(t,t._pos);if(l===void 0)return new Error("Malformed OpenSSH public key");let d=Re(t,t._pos);if(d===void 0)return new Error("Malformed OpenSSH public key");let p=Re(t,t._pos);if(p===void 0)return new Error("Malformed OpenSSH public key");s=ss(u,l,d,p),a=as(u,l,d,p),i="sha1";break}case"ssh-ed25519":{let u=Re(t,t._pos||0);if(u===void 0||u.length!==32)return new Error("Malformed OpenSSH public key");s=Fg(u),a=Hg(u),i=null;break}case"ecdsa-sha2-nistp256":i="sha256",o="1.2.840.10045.3.1.7";case"ecdsa-sha2-nistp384":i===void 0&&(i="sha384",o="1.3.132.0.34");case"ecdsa-sha2-nistp521":{if(i===void 0&&(i="sha512",o="1.3.132.0.35"),!Al(t,1))return new Error("Malformed OpenSSH public key");let u=Re(t,t._pos||0);if(u===void 0)return new Error("Malformed OpenSSH public key");s=bl(o,u),a=xl(o,u);break}default:return new Error(`Unsupported OpenSSH public key type: ${e}`)}return new La(n,r,s,a,i)}c(Il,"parseDER");function jg(t){switch(t){case"ssh-rsa":case"ssh-dss":case"ecdsa-sha2-nistp256":case"ecdsa-sha2-nistp384":case"ecdsa-sha2-nistp521":return!0;case"ssh-ed25519":if(El)return!0;default:return!1}}c(jg,"isSupportedKeyType");function Wg(t){return t?typeof t[Zi]=="boolean":!1}c(Wg,"isParsedKey");function qg(t,e){if(Wg(t))return t;let r;if(Buffer.isBuffer(t))r=t,t=t.utf8Slice(0,t.length).trim();else if(typeof t=="string")t=t.trim();else return new Error("Key data must be a Buffer or string");if(e!=null){if(typeof e=="string")e=Buffer.from(e);else if(!Buffer.isBuffer(e))return new Error("Passphrase must be a string or Buffer when supplied")}let n;if((n=$a.parse(t,e))!==null||(n=Da.parse(t,e))!==null||(n=Ba.parse(t,e))!==null||(n=La.parse(t))!==null||(n=Ua.parse(t))!==null)return n;if(r){Oa.init(r,0);let i=Oa.readString(!0);i!==void 0&&(t=Oa.readRaw(),t!==void 0&&(n=Il(t,i,"",i),n instanceof Error&&(n=null))),Oa.clear()}return n||new Error("Unsupported key format")}c(qg,"parseKey");Qg.exports={isParsedKey:Wg,isSupportedKeyType:jg,parseDERKey:c((t,e)=>Il(t,e,"",e),"parseDERKey"),parseKey:qg}});var Cl=le((PF,rm)=>{"use strict";var{Socket:Zg}=require("net"),{Duplex:Yg}=require("stream"),{resolve:pI}=require("path"),{readFile:Vg}=require("fs"),{execFile:hI,spawn:gI}=require("child_process"),{isParsedKey:Kg,parseKey:us}=jn(),{makeBufferParser:mI,readUInt32BE:Tl,writeUInt32BE:wr,writeUInt32LE:Gg}=Qr();function ls(t){let e=!1;return(...r)=>{e||(e=!0,t(...r))}}c(ls,"once");function _I(t,e){let r=Buffer.allocUnsafe(t.length+e.length);return t.copy(r,0),e.copy(r,t.length),r}c(_I,"concat");function Sl(){}c(Sl,"noop");var yI=Buffer.alloc(0),zt=mI(),fs=class{static{c(this,"BaseAgent")}getIdentities(e){e(new Error("Missing getIdentities() implementation"))}sign(e,r,n,i){typeof n=="function"&&(i=n),i(new Error("Missing sign() implementation"))}},Xi=class extends fs{static{c(this,"OpenSSHAgent")}constructor(e){super(),this.socketPath=e}getStream(e){e=ls(e);let r=new Zg;r.on("connect",()=>{e(null,r)}),r.on("close",n).on("end",n).on("error",n),r.connect(this.socketPath);function n(){try{r.destroy()}catch{}e(new Error("Failed to connect to agent"))}c(n,"onFail")}getIdentities(e){e=ls(e),this.getStream((r,n)=>{function i(s){if(n)try{n.destroy()}catch{}s||(s=new Error("Failed to retrieve identities from agent")),e(s)}if(c(i,"onFail"),r)return i(r);let o=new wl(!0);o.on("error",i),o.pipe(n).pipe(o),n.on("close",i).on("end",i).on("error",i),o.getIdentities((s,a)=>{if(s)return i(s);try{n.destroy()}catch{}e(null,a)})})}sign(e,r,n,i){typeof n=="function"?(i=n,n=void 0):(typeof n!="object"||n===null)&&(n=void 0),i=ls(i),this.getStream((o,s)=>{function a(l){if(s)try{s.destroy()}catch{}l||(l=new Error("Failed to sign data with agent")),i(l)}if(c(a,"onFail"),o)return a(o);let u=new wl(!0);u.on("error",a),u.pipe(s).pipe(u),s.on("close",a).on("end",a).on("error",a),u.sign(e,r,n,(l,d)=>{if(l)return a(l);try{s.destroy()}catch{}i(null,d)})})}},Xg=(()=>{let s=pI(__dirname,"..","util/pagent.exe"),a={10:new Error("Invalid pagent.exe arguments"),11:new Error("Pageant is not running"),12:new Error("pagent.exe could not create an mmap"),13:new Error("pagent.exe could not set mode for stdin"),14:new Error("pagent.exe could not set mode for stdout"),15:new Error("pagent.exe did not get expected input payload")};function u(d){d.buffer=null,d.proc&&(d.proc.kill(),d.proc=void 0)}c(u,"destroy");class l extends Yg{static{c(this,"PageantSocket")}constructor(){super(),this.proc=void 0,this.buffer=null}_read(p){}_write(p,g,h){if(this.buffer===null)this.buffer=p;else{let v=Buffer.allocUnsafe(this.buffer.length+p.length);this.buffer.copy(v,0),p.copy(v,this.buffer.length),this.buffer=v}if(this.buffer.length<4)return h();let _=Tl(this.buffer,0);if(this.buffer.length-4<_)return h();if(p=this.buffer.slice(0,4+_),this.buffer.length>4+_)return h(new Error("Unexpected multiple agent requests"));this.buffer=null;let A,b=this.proc=gI(s,[p.length]);b.stdout.on("data",v=>{this.push(v)}),b.on("error",v=>{A=v,h(A)}),b.on("close",v=>{if(this.proc=void 0,!A){if(A=a[v])return h(A);h()}}),b.stdin.end(p)}_final(p){u(this),p()}_destroy(p,g){u(this),g()}}return class extends Xi{static{c(this,"PageantAgent")}getStream(p){p(null,new l)}}})(),Jg=(()=>{let t=/^!<socket >(\d+) s ([A-Z0-9]{8}-[A-Z0-9]{8}-[A-Z0-9]{8}-[A-Z0-9]{8})/;return class extends Xi{static{c(this,"CygwinAgent")}getStream(r){r=ls(r);let n=this.socketPath,i=!1;Vg(n,c(function o(s,a){if(s){if(i)return r(new Error("Invalid cygwin unix socket path"));hI("cygpath",["-w",n],(Y,X,P)=>{if(Y||X.length===0)return r(new Error("Invalid cygwin unix socket path"));i=!0,n=X.toString().replace(/[\r\n]/g,""),Vg(n,o)});return}let u=t.exec(a.toString("ascii"));if(!u)return r(new Error("Malformed cygwin unix socket file"));let l,d=0,p=!1,g=[],h,_=Buffer.alloc(12),A=parseInt(u[1],10),b=u[2].replace(/-/g,""),v=Buffer.allocUnsafe(16);for(let Y=0,X=0;X<32;++Y,X+=2)v[Y]=parseInt(b.substring(X,X+2),16);for(let Y=0;Y<16;Y+=4)Gg(v,Tl(v,Y),Y);J();function w(){d=0,l="secret",h.write(v)}c(w,"_onconnect");function H(Y){if(d+=Y.length,l==="secret"){d===16&&(d=0,l="creds",h.write(_));return}if(l==="creds"&&(p||g.push(Y),d===12)){if(h.removeListener("connect",w),h.removeListener("data",H),h.removeListener("error",D),h.removeListener("end",D),h.removeListener("close",D),p)return r(null,h);p=!0,_=Buffer.concat(g),Gg(_,process.pid,0),h.on("error",()=>{}),h.destroy(),J()}}c(H,"_ondata");function D(){r(new Error("Problem negotiating cygwin unix socket security"))}c(D,"onFail");function J(){h=new Zg,h.on("connect",w),h.on("data",H),h.on("error",D),h.on("end",D),h.on("close",D),h.connect(A)}c(J,"tryConnect")},"readCygsocket"))}}})(),EI=/^[/\\][/\\]\.[/\\]pipe[/\\].+/;function em(t){return process.platform==="win32"&&!EI.test(t)?t==="pageant"?new Xg:new Jg(t):new Xi(t)}c(em,"createAgent");var wl=(()=>{function l(P){let C;for(;P[w].length;){let M=P[w][0][p];if(M===void 0)break;P[w].shift(),C=P.push(M)}return C}c(l,"processResponses");let d=Symbol("Inbound Request Type"),p=Symbol("Inbound Request Response"),g=Symbol("Inbound Request Context");class h{static{c(this,"AgentInboundRequest")}constructor(C,M){this[d]=C,this[p]=void 0,this[g]=M}hasResponded(){return this[p]!==void 0}getType(){return this[d]}getContext(){return this[g]}}function _(P,C,M){return C[p]=M,l(P)}c(_,"respond");function A(P){if(P[D]=null,P[H]===0){let C=P[w];if(C&&C.length){P[w]=[];for(let M of C)M.cb(new Error("No reply from server"))}}try{P.end()}catch{}setImmediate(()=>{P[X]||P.emit("end"),P[Y]||P.emit("close")})}c(A,"cleanup");function b(){this[Y]=!0}c(b,"onClose");function v(){this[X]=!0}c(v,"onEnd");let w=Symbol("Requests"),H=Symbol("Agent Protocol Role"),D=Symbol("Agent Protocol Buffer"),J=Symbol("Agent Protocol Current Message Length"),Y=Symbol("Agent Protocol Closed"),X=Symbol("Agent Protocol Ended");return class extends Yg{static{c(this,"AgentProtocol")}constructor(C){super({autoDestroy:!0,emitClose:!1}),this[H]=C?0:1,this[w]=[],this[D]=null,this[J]=-1,this.once("end",v),this.once("close",b)}_read(C){}_write(C,M,L){this[D]===null?this[D]=C:this[D]=_I(this[D],C);let T=this[D],F=T.length,j=0;for(;j<F&&!(F<5||(this[J]===-1&&(this[J]=Tl(T,j)),F<4+this[J]));){let B=T[j+=4];if(++j,this[H]===0){if(this[w].length===0)return L(new Error("Received unexpected message from server"));let Z=this[w].shift();switch(B){case 5:Z.cb(new Error("Agent responded with failure"));break;case 12:{if(Z.type!==11)return L(new Error("Agent responded with wrong message type"));zt.init(T,j);let te=zt.readUInt32BE();if(te===void 0)return zt.clear(),L(new Error("Malformed agent response"));let k=[];for(let W=0;W<te;++W){let q=zt.readString();if(q===void 0)return zt.clear(),L(new Error("Malformed agent response"));let ee=zt.readString(!0);if(ee===void 0)return zt.clear(),L(new Error("Malformed agent response"));q=us(q),!(q instanceof Error)&&(q.comment=q.comment||ee,k.push(q))}j=zt.pos(),zt.clear(),Z.cb(null,k);break}case 14:{if(Z.type!==13)return L(new Error("Agent responded with wrong message type"));zt.init(T,j);let te=zt.readString();if(j=zt.pos(),zt.clear(),te===void 0)return L(new Error("Malformed agent response"));if(zt.init(te,0),zt.readString(!0),te=zt.readString(),zt.clear(),te===void 0)return L(new Error("Malformed OpenSSH signature format"));Z.cb(null,te);break}default:return L(new Error("Agent responded with unsupported message type"))}}else switch(B){case 11:{let Z=new h(B);this[w].push(Z),this.emit("identities",Z);break}case 13:{zt.init(T,j);let Z=zt.readString(),te=zt.readString(),k=zt.readUInt32BE();if(j=zt.pos(),zt.clear(),k===void 0){let ue=new h(B);return this[w].push(ue),this.failureReply(ue)}if(Z=us(Z),Z instanceof Error){let ue=new h(B);return this[w].push(ue),this.failureReply(ue)}let W={hash:void 0},q;Z.type==="ssh-rsa"&&(k&2?(q="rsa-sha2-256",W.hash="sha256"):k&4&&(q="rsa-sha2-512",W.hash="sha512")),q===void 0&&(q=Z.type);let ee=new h(B,q);this[w].push(ee),this.emit("sign",ee,Z,te,W);break}default:{let Z=new h(B);this[w].push(Z),this.failureReply(Z)}}if(this[J]=-1,j===F){this[D]=null;break}else this[D]=T=T.slice(j),F=T.length,j=0}L()}_destroy(C,M){A(this),M()}_final(C){A(this),C()}sign(C,M,L,T){if(this[H]!==0)throw new Error("Client-only method called with server role");typeof L=="function"?(T=L,L=void 0):(typeof L!="object"||L===null)&&(L=void 0);let F=0;if(C=us(C),C instanceof Error)throw new Error("Invalid public key argument");if(C.type==="ssh-rsa"&&L)switch(L.hash){case"sha256":F=2;break;case"sha512":F=4;break}C=C.getPublicSSH();let j=13,B=C.length,Z=M.length,te=0,k=Buffer.allocUnsafe(9+B+4+Z+4);return wr(k,k.length-4,te),k[te+=4]=j,wr(k,B,++te),C.copy(k,te+=4),wr(k,Z,te+=B),M.copy(k,te+=4),wr(k,F,te+=Z),typeof T!="function"&&(T=Sl),this[w].push({type:j,cb:T}),this.push(k)}getIdentities(C){if(this[H]!==0)throw new Error("Client-only method called with server role");let M=11,L=0,T=Buffer.allocUnsafe(5);return wr(T,T.length-4,L),T[L+=4]=M,typeof C!="function"&&(C=Sl),this[w].push({type:M,cb:C}),this.push(T)}failureReply(C){if(this[H]!==1)throw new Error("Server-only method called with client role");if(!(C instanceof h))throw new Error("Wrong request argument");if(C.hasResponded())return!0;let M=0,L=Buffer.allocUnsafe(5);return wr(L,L.length-4,M),L[M+=4]=5,_(this,C,L)}getIdentitiesReply(C,M){if(this[H]!==1)throw new Error("Server-only method called with client role");if(!(C instanceof h))throw new Error("Wrong request argument");if(C.hasResponded())return!0;if(C.getType()!==11)throw new Error("Invalid response to request");if(!Array.isArray(M))throw new Error("Keys argument must be an array");let L=4,T=[];for(let B=0;B<M.length;++B){let Z=M[B];if(typeof Z!="object"||Z===null)throw new Error(`Invalid key entry: ${Z}`);let te,k;if(Kg(Z))te=Z;else if(Kg(Z.pubKey))te=Z.pubKey;else if(typeof Z.pubKey!="object"||Z.pubKey===null||({pubKey:te,comment:k}=Z.pubKey,te=us(te),te instanceof Error))continue;k=te.comment||k,te=te.getPublicSSH(),L+=4+te.length,k&&typeof k=="string"?k=Buffer.from(k):Buffer.isBuffer(k)||(k=yI),L+=4+k.length,T.push({pubKey:te,comment:k})}let F=0,j=Buffer.allocUnsafe(5+L);wr(j,j.length-4,F),j[F+=4]=12,wr(j,T.length,++F),F+=4;for(let B=0;B<T.length;++B){let{pubKey:Z,comment:te}=T[B];wr(j,Z.length,F),Z.copy(j,F+=4),wr(j,te.length,F+=Z.length),F+=4,te.length&&(te.copy(j,F),F+=te.length)}return _(this,C,j)}signReply(C,M){if(this[H]!==1)throw new Error("Server-only method called with client role");if(!(C instanceof h))throw new Error("Wrong request argument");if(C.hasResponded())return!0;if(C.getType()!==13)throw new Error("Invalid response to request");if(!Buffer.isBuffer(M))throw new Error("Signature argument must be a Buffer");if(M.length===0)throw new Error("Signature argument must be non-empty");let L=0,T=C.getContext(),F=Buffer.byteLength(T),j=Buffer.allocUnsafe(13+F+4+M.length);return wr(j,j.length-4,L),j[L+=4]=14,wr(j,4+F+4+M.length,++L),wr(j,F,L+=4),j.utf8Write(T,L+=4,F),wr(j,M.length,L+=F),M.copy(j,L+=4),_(this,C,j)}}})(),vl=Symbol("Agent"),Gr=Symbol("Agent Keys"),xn=Symbol("Agent Keys Index"),Yi=Symbol("Agent Init Callbacks"),Pl=class{static{c(this,"AgentContext")}constructor(e){if(typeof e=="string")e=em(e);else if(!tm(e))throw new Error("Invalid agent argument");this[vl]=e,this[Gr]=null,this[xn]=-1,this[Yi]=null}init(e){if(typeof e!="function"&&(e=Sl),this[Gr]===null)if(this[Yi]===null){this[Yi]=[e];let r=c((...n)=>{process.nextTick(()=>{let i=this[Yi];this[Yi]=null;for(let o of i)o(...n)})},"doCbs");this[vl].getIdentities(ls((n,i)=>{if(n)return r(n);if(!Array.isArray(i))return r(new Error("Agent implementation failed to provide keys"));let o=[];for(let s of i)s=us(s),!(s instanceof Error)&&o.push(s);this[Gr]=o,this[xn]=-1,r()}))}else this[Yi].push(e);else process.nextTick(e)}nextKey(){return this[Gr]===null||++this[xn]>=this[Gr].length?!1:this[Gr][this[xn]]}currentKey(){return this[Gr]===null||this[xn]>=this[Gr].length?null:this[Gr][this[xn]]}pos(){return this[Gr]===null||this[xn]>=this[Gr].length?-1:this[xn]}reset(){this[xn]=-1}sign(...e){this[vl].sign(...e)}};function tm(t){return t instanceof fs}c(tm,"isAgent");rm.exports={AgentContext:Pl,AgentProtocol:wl,BaseAgent:fs,createAgent:em,CygwinAgent:Jg,isAgent:tm,OpenSSHAgent:Xi,PageantAgent:Xg}});var Dl=le((CF,nm)=>{"use strict";var{kMaxLength:AI}=require("buffer"),{createInflate:bI,constants:{DEFLATE:xI,INFLATE:II,Z_DEFAULT_CHUNK:vI,Z_DEFAULT_COMPRESSION:SI,Z_DEFAULT_MEMLEVEL:wI,Z_DEFAULT_STRATEGY:PI,Z_DEFAULT_WINDOWBITS:TI,Z_PARTIAL_FLUSH:CI}}=require("zlib"),kI=bI()._handle.constructor;function RI(){throw new Error("Should not get here")}c(RI,"processCallback");function NI(t,e,r){let n=this._owner,i=new Error(t);i.errno=e,i.code=r,n._err=i}c(NI,"zlibOnError");function $l(t){t._handle&&(t._handle.close(),t._handle=null)}c($l,"_close");var za=class{static{c(this,"Zlib")}constructor(e){let r=TI,n=SI,i=wI,o=PI,s=void 0;this._err=void 0,this._writeState=new Uint32Array(2),this._chunkSize=vI,this._maxOutputLength=AI,this._outBuffer=Buffer.allocUnsafe(this._chunkSize),this._outOffset=0,this._handle=new kI(e),this._handle._owner=this,this._handle.onerror=NI,this._handle.init(r,n,i,o,this._writeState,RI,s)}writeSync(e,r){let n=this._handle;if(!n)throw new Error("Invalid Zlib instance");let i=e.length,o=this._chunkSize-this._outOffset,s=0,a,u,l,d=0,p=this._writeState,g=this._outBuffer,h=this._outOffset,_=this._chunkSize;for(;;){if(n.writeSync(CI,e,s,i,g,h,o),this._err)throw this._err;a=p[0],u=p[1];let b=i-u,v=o-a;if(v>0){let w=h===0&&v===g.length?g:g.slice(h,h+v);if(h+=v,l?l.push===void 0?l=[l,w]:l.push(w):l=w,d+=w.byteLength,d>this._maxOutputLength)throw $l(this),new Error(`Output length exceeded maximum of ${this._maxOutputLength}`)}else if(v!==0)throw new Error("have should not go down");if((a===0||h>=_)&&(o=_,h=0,g=Buffer.allocUnsafe(_)),a===0)s+=b,i=u;else break}if(this._outBuffer=g,this._outOffset=h,d===0&&(l=Buffer.alloc(0)),r)return l.totalLen=d,l;if(l.push===void 0)return l;let A=Buffer.allocUnsafe(d);for(let b=0,v=0;b<l.length;++b){let w=l[b];A.set(w,v),v+=w.length}return A}},kl=class{static{c(this,"ZlibPacketWriter")}constructor(e){this.allocStart=0,this.allocStartKEX=0,this._protocol=e,this._zlib=new za(xI)}cleanup(){this._zlib&&$l(this._zlib)}alloc(e,r){return Buffer.allocUnsafe(e)}finalize(e,r){if(this._protocol._kexinit===void 0||r){let n=this._zlib.writeSync(e,!0),i=this._protocol._cipher.allocPacket(n.totalLen);if(n.push===void 0)i.set(n,5);else for(let o=0,s=5;o<n.length;++o){let a=n[o];i.set(a,s),s+=a.length}return i}return e}},Rl=class{static{c(this,"PacketWriter")}constructor(e){this.allocStart=5,this.allocStartKEX=5,this._protocol=e}cleanup(){}alloc(e,r){return this._protocol._kexinit===void 0||r?this._protocol._cipher.allocPacket(e):Buffer.allocUnsafe(e)}finalize(e,r){return e}},Nl=class{static{c(this,"ZlibPacketReader")}constructor(){this._zlib=new za(II)}cleanup(){this._zlib&&$l(this._zlib)}read(e){return this._zlib.writeSync(e,!1)}},Ol=class{static{c(this,"PacketReader")}cleanup(){}read(e){return e}};nm.exports={PacketReader:Ol,PacketWriter:Rl,ZlibPacketReader:Nl,ZlibPacketWriter:kl}});var cm=le((RF,am)=>{"use strict";var{bufferSlice:Bl,bufferParser:O,doFatalError:Tt,sigSSHToASN1:im,writeUInt32BE:om}=Qr(),{CHANNEL_OPEN_FAILURE:OI,COMPAT:$I,MESSAGE:Ct,TERMINAL_MODE:sm}=An(),{parseKey:DI}=jn(),BI=Array.from(Object.entries(sm)).reduce((t,[e,r])=>({...t,[e]:r}),{});am.exports={[Ct.DISCONNECT]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readString(!0),i=O.readString();if(O.clear(),i===void 0)return Tt(t,"Inbound: Malformed DISCONNECT packet");t._debug&&t._debug(`Inbound: Received DISCONNECT (${r}, "${n}")`);let o=t._handlers.DISCONNECT;o&&o(t,r,n)},[Ct.IGNORE]:(t,e)=>{t._debug&&t._debug("Inbound: Received IGNORE")},[Ct.UNIMPLEMENTED]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed UNIMPLEMENTED packet");t._debug&&t._debug(`Inbound: Received UNIMPLEMENTED (seqno ${r})`)},[Ct.DEBUG]:(t,e)=>{O.init(e,1);let r=O.readBool(),n=O.readString(!0),i=O.readString();if(O.clear(),i===void 0)return Tt(t,"Inbound: Malformed DEBUG packet");t._debug&&t._debug("Inbound: Received DEBUG");let o=t._handlers.DEBUG;o&&o(t,r,n)},[Ct.SERVICE_REQUEST]:(t,e)=>{O.init(e,1);let r=O.readString(!0);if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed SERVICE_REQUEST packet");t._debug&&t._debug(`Inbound: Received SERVICE_REQUEST (${r})`);let n=t._handlers.SERVICE_REQUEST;n&&n(t,r)},[Ct.SERVICE_ACCEPT]:(t,e)=>{O.init(e,1);let r=O.readString(!0);if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed SERVICE_ACCEPT packet");t._debug&&t._debug(`Inbound: Received SERVICE_ACCEPT (${r})`);let n=t._handlers.SERVICE_ACCEPT;n&&n(t,r)},[Ct.EXT_INFO]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n;if(r!==void 0){n=[];for(let o=0;o<r;++o){let s=O.readString(!0),a=O.readString();if(a!==void 0)if(s==="server-sig-algs"){let u=a.latin1Slice(0,a.length).split(",");n.push({name:s,algs:u});continue}else continue;n=void 0;break}}if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed EXT_INFO packet");t._debug&&t._debug("Inbound: Received EXT_INFO");let i=t._handlers.EXT_INFO;i&&i(t,n)},[Ct.USERAUTH_REQUEST]:(t,e)=>{O.init(e,1);let r=O.readString(!0),n=O.readString(!0),i=O.readString(!0),o,s;switch(i){case"none":o=null;break;case"password":{let u=O.readBool();if(u!==void 0&&(o=O.readString(!0),o!==void 0&&u)){let l=O.readString(!0);l!==void 0?o={oldPassword:o,newPassword:l}:o=void 0}break}case"publickey":{let u=O.readBool();if(u!==void 0){let l=O.readString(!0),d=l,p=O.readString(),g;switch(l){case"rsa-sha2-256":d="ssh-rsa",g="sha256";break;case"rsa-sha2-512":d="ssh-rsa",g="sha512";break}if(u){let h=O.pos(),_=O.readString();if(_!==void 0&&(_.length>4+l.length+4&&_.utf8Slice(4,4+l.length)===l&&(_=Bl(_,4+l.length+4)),_=im(_,d),_)){let A=t._kex.sessionID,b=Buffer.allocUnsafe(4+A.length+h);om(b,A.length,0),b.set(A,4),b.set(new Uint8Array(e.buffer,e.byteOffset,h),4+A.length),o={keyAlgo:d,key:p,signature:_,blob:b,hashAlgo:g}}}else o={keyAlgo:d,key:p,hashAlgo:g},s="publickey -- check"}break}case"hostbased":{let u=O.readString(!0),l=u,d=O.readString(),p=O.readString(!0),g=O.readString(!0),h;switch(u){case"rsa-sha2-256":l="ssh-rsa",h="sha256";break;case"rsa-sha2-512":l="ssh-rsa",h="sha512";break}let _=O.pos(),A=O.readString();if(A!==void 0&&(A.length>4+u.length+4&&A.utf8Slice(4,4+u.length)===u&&(A=Bl(A,4+u.length+4)),A=im(A,l),A!==void 0)){let b=t._kex.sessionID,v=Buffer.allocUnsafe(4+b.length+_);om(v,b.length,0),v.set(b,4),v.set(new Uint8Array(e.buffer,e.byteOffset,_),4+b.length),o={keyAlgo:l,key:d,signature:A,blob:v,localHostname:p,localUsername:g,hashAlgo:h}}break}case"keyboard-interactive":O.skipString(),o=O.readList();break;default:i!==void 0&&(o=O.readRaw())}if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed USERAUTH_REQUEST packet");s===void 0&&(s=i),t._authsQueue.push(i),t._debug&&t._debug(`Inbound: Received USERAUTH_REQUEST (${s})`);let a=t._handlers.USERAUTH_REQUEST;a&&a(t,r,n,i,o)},[Ct.USERAUTH_FAILURE]:(t,e)=>{O.init(e,1);let r=O.readList(),n=O.readBool();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_FAILURE packet");t._debug&&t._debug(`Inbound: Received USERAUTH_FAILURE (${r})`),t._authsQueue.shift();let i=t._handlers.USERAUTH_FAILURE;i&&i(t,r,n)},[Ct.USERAUTH_SUCCESS]:(t,e)=>{t._debug&&t._debug("Inbound: Received USERAUTH_SUCCESS"),t._authsQueue.shift();let r=t._handlers.USERAUTH_SUCCESS;r&&r(t)},[Ct.USERAUTH_BANNER]:(t,e)=>{O.init(e,1);let r=O.readString(!0),n=O.readString();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_BANNER packet");t._debug&&t._debug("Inbound: Received USERAUTH_BANNER");let i=t._handlers.USERAUTH_BANNER;i&&i(t,r)},60:(t,e)=>{if(!t._authsQueue.length){t._debug&&t._debug("Inbound: Received payload type 60 without auth");return}switch(t._authsQueue[0]){case"password":{O.init(e,1);let r=O.readString(!0),n=O.readString();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_PASSWD_CHANGEREQ packet");t._debug&&t._debug("Inbound: Received USERAUTH_PASSWD_CHANGEREQ");let i=t._handlers.USERAUTH_PASSWD_CHANGEREQ;i&&i(t,r);break}case"publickey":{O.init(e,1);let r=O.readString(!0),n=O.readString();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_PK_OK packet");t._debug&&t._debug("Inbound: Received USERAUTH_PK_OK"),t._authsQueue.shift();let i=t._handlers.USERAUTH_PK_OK;i&&i(t,r,n);break}case"keyboard-interactive":{O.init(e,1);let r=O.readString(!0),n=O.readString(!0);O.readString();let i=O.readUInt32BE(),o;if(i!==void 0){o=new Array(i);let a;for(a=0;a<i;++a){let u=O.readString(!0),l=O.readBool();if(l===void 0)break;o[a]={prompt:u,echo:l}}a!==i&&(o=void 0)}if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed USERAUTH_INFO_REQUEST packet");t._debug&&t._debug("Inbound: Received USERAUTH_INFO_REQUEST");let s=t._handlers.USERAUTH_INFO_REQUEST;s&&s(t,r,n,o);break}default:t._debug&&t._debug("Inbound: Received unexpected payload type 60")}},61:(t,e)=>{if(!t._authsQueue.length){t._debug&&t._debug("Inbound: Received payload type 61 without auth");return}if(t._authsQueue[0]!=="keyboard-interactive")return Tt(t,"Inbound: Received unexpected payload type 61");O.init(e,1);let r=O.readUInt32BE(),n;if(r!==void 0){n=new Array(r);let o;for(o=0;o<r;++o){let s=O.readString(!0);if(s===void 0)break;n[o]=s}o!==r&&(n=void 0)}if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed USERAUTH_INFO_RESPONSE packet");t._debug&&t._debug("Inbound: Received USERAUTH_INFO_RESPONSE");let i=t._handlers.USERAUTH_INFO_RESPONSE;i&&i(t,n)},[Ct.GLOBAL_REQUEST]:(t,e)=>{O.init(e,1);let r=O.readString(!0),n=O.readBool(),i;if(n!==void 0)switch(r){case"tcpip-forward":case"cancel-tcpip-forward":{let s=O.readString(!0),a=O.readUInt32BE();a!==void 0&&(i={bindAddr:s,bindPort:a});break}case"streamlocal-forward@openssh.com":case"cancel-streamlocal-forward@openssh.com":{let s=O.readString(!0);s!==void 0&&(i={socketPath:s});break}case"no-more-sessions@openssh.com":i=null;break;case"hostkeys-00@openssh.com":{for(i=[];O.avail()>0;){let s=O.readString();if(s===void 0){i=void 0;break}let a=DI(s);a instanceof Error||i.push(a)}break}default:i=O.readRaw()}if(O.clear(),i===void 0)return Tt(t,"Inbound: Malformed GLOBAL_REQUEST packet");t._debug&&t._debug(`Inbound: GLOBAL_REQUEST (${r})`);let o=t._handlers.GLOBAL_REQUEST;o?o(t,r,n,i):t.requestFailure()},[Ct.REQUEST_SUCCESS]:(t,e)=>{let r=e.length>1?Bl(e,1):null;t._debug&&t._debug("Inbound: REQUEST_SUCCESS");let n=t._handlers.REQUEST_SUCCESS;n&&n(t,r)},[Ct.REQUEST_FAILURE]:(t,e)=>{t._debug&&t._debug("Inbound: Received REQUEST_FAILURE");let r=t._handlers.REQUEST_FAILURE;r&&r(t)},[Ct.CHANNEL_OPEN]:(t,e)=>{O.init(e,1);let r=O.readString(!0),n=O.readUInt32BE(),i=O.readUInt32BE(),o=O.readUInt32BE(),s;switch(r){case"forwarded-tcpip":case"direct-tcpip":{let u=O.readString(!0),l=O.readUInt32BE(),d=O.readString(!0),p=O.readUInt32BE();p!==void 0&&(s={type:r,sender:n,window:i,packetSize:o,data:{destIP:u,destPort:l,srcIP:d,srcPort:p}});break}case"forwarded-streamlocal@openssh.com":case"direct-streamlocal@openssh.com":{let u=O.readString(!0);u!==void 0&&(s={type:r,sender:n,window:i,packetSize:o,data:{socketPath:u}});break}case"x11":{let u=O.readString(!0),l=O.readUInt32BE();l!==void 0&&(s={type:r,sender:n,window:i,packetSize:o,data:{srcIP:u,srcPort:l}});break}default:s={type:r,sender:n,window:i,packetSize:o,data:{}}}if(O.clear(),s===void 0)return Tt(t,"Inbound: Malformed CHANNEL_OPEN packet");t._debug&&t._debug(`Inbound: CHANNEL_OPEN (s:${n}, ${r})`);let a=t._handlers.CHANNEL_OPEN;a?a(t,s):t.channelOpenFail(s.sender,OI.ADMINISTRATIVELY_PROHIBITED,"","")},[Ct.CHANNEL_OPEN_CONFIRMATION]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readUInt32BE(),i=O.readUInt32BE(),o=O.readUInt32BE(),s=O.avail()?O.readRaw():void 0;if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed CHANNEL_OPEN_CONFIRMATION packet");t._debug&&t._debug(`Inbound: CHANNEL_OPEN_CONFIRMATION (r:${r}, s:${n})`);let a=t._handlers.CHANNEL_OPEN_CONFIRMATION;a&&a(t,{recipient:r,sender:n,window:i,packetSize:o,data:s})},[Ct.CHANNEL_OPEN_FAILURE]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readUInt32BE(),i=O.readString(!0),o=O.readString();if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed CHANNEL_OPEN_FAILURE packet");t._debug&&t._debug(`Inbound: CHANNEL_OPEN_FAILURE (r:${r})`);let s=t._handlers.CHANNEL_OPEN_FAILURE;s&&s(t,r,n,i)},[Ct.CHANNEL_WINDOW_ADJUST]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readUInt32BE();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed CHANNEL_WINDOW_ADJUST packet");t._debug&&t._debug(`Inbound: CHANNEL_WINDOW_ADJUST (r:${r}, ${n})`);let i=t._handlers.CHANNEL_WINDOW_ADJUST;i&&i(t,r,n)},[Ct.CHANNEL_DATA]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readString();if(O.clear(),n===void 0)return Tt(t,"Inbound: Malformed CHANNEL_DATA packet");t._debug&&t._debug(`Inbound: CHANNEL_DATA (r:${r}, ${n.length})`);let i=t._handlers.CHANNEL_DATA;i&&i(t,r,n)},[Ct.CHANNEL_EXTENDED_DATA]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readUInt32BE(),i=O.readString();if(O.clear(),i===void 0)return Tt(t,"Inbound: Malformed CHANNEL_EXTENDED_DATA packet");t._debug&&t._debug(`Inbound: CHANNEL_EXTENDED_DATA (r:${r}, ${i.length})`);let o=t._handlers.CHANNEL_EXTENDED_DATA;o&&o(t,r,i,n)},[Ct.CHANNEL_EOF]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed CHANNEL_EOF packet");t._debug&&t._debug(`Inbound: CHANNEL_EOF (r:${r})`);let n=t._handlers.CHANNEL_EOF;n&&n(t,r)},[Ct.CHANNEL_CLOSE]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed CHANNEL_CLOSE packet");t._debug&&t._debug(`Inbound: CHANNEL_CLOSE (r:${r})`);let n=t._handlers.CHANNEL_CLOSE;n&&n(t,r)},[Ct.CHANNEL_REQUEST]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE(),n=O.readString(!0),i=O.readBool(),o;if(i!==void 0)switch(n){case"exit-status":o=O.readUInt32BE(),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"exit-signal":{let a,u;if(t._compatFlags&$I.OLD_EXIT){let d=O.readUInt32BE();switch(d){case 1:a="HUP";break;case 2:a="INT";break;case 3:a="QUIT";break;case 6:a="ABRT";break;case 9:a="KILL";break;case 14:a="ALRM";break;case 15:a="TERM";break;default:d!==void 0&&(a=`UNKNOWN (${d})`)}u=!1}else a=O.readString(!0),u=O.readBool(),u===void 0&&(a=void 0);let l=O.readString(!0);O.skipString()!==void 0&&(o={signal:a,coreDumped:u,errorMessage:l}),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${a})`);break}case"pty-req":{let a=O.readString(!0),u=O.readUInt32BE(),l=O.readUInt32BE(),d=O.readUInt32BE(),p=O.readUInt32BE(),g=O.readString();if(g!==void 0){O.init(g,1);let h={};for(;O.avail();){let _=O.readByte();if(_===sm.TTY_OP_END)break;let A=BI[_],b=O.readUInt32BE();if(_===void 0||A===void 0||b===void 0){h=void 0;break}h[A]=b}h!==void 0&&(o={term:a,cols:u,rows:l,width:d,height:p,modes:h})}t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break}case"window-change":{let a=O.readUInt32BE(),u=O.readUInt32BE(),l=O.readUInt32BE(),d=O.readUInt32BE();d!==void 0&&(o={cols:a,rows:u,width:l,height:d}),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break}case"x11-req":{let a=O.readBool(),u=O.readString(!0),l=O.readString(),d=O.readUInt32BE();d!==void 0&&(o={single:a,protocol:u,cookie:l,screen:d}),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break}case"env":{let a=O.readString(!0),u=O.readString(!0);u!==void 0&&(o={name:a,value:u}),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${a}=${u})`);break}case"shell":o=null,t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break;case"exec":o=O.readString(!0),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"subsystem":o=O.readString(!0),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"signal":o=O.readString(!0),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"xon-xoff":o=O.readBool(),t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n}: ${o})`);break;case"auth-agent-req@openssh.com":o=null,t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`);break;default:o=O.avail()?O.readRaw():null,t._debug&&t._debug(`Inbound: CHANNEL_REQUEST (r:${r}, ${n})`)}if(O.clear(),o===void 0)return Tt(t,"Inbound: Malformed CHANNEL_REQUEST packet");let s=t._handlers.CHANNEL_REQUEST;s&&s(t,r,n,i,o)},[Ct.CHANNEL_SUCCESS]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed CHANNEL_SUCCESS packet");t._debug&&t._debug(`Inbound: CHANNEL_SUCCESS (r:${r})`);let n=t._handlers.CHANNEL_SUCCESS;n&&n(t,r)},[Ct.CHANNEL_FAILURE]:(t,e)=>{O.init(e,1);let r=O.readUInt32BE();if(O.clear(),r===void 0)return Tt(t,"Inbound: Malformed CHANNEL_FAILURE packet");t._debug&&t._debug(`Inbound: CHANNEL_FAILURE (r:${r})`);let n=t._handlers.CHANNEL_FAILURE;n&&n(t,r)}}});var Ma=le((NF,um)=>{"use strict";var Ul=new Array(256);[Fa().HANDLERS,cm()].forEach(t=>{for(let[e,r]of Object.entries(t))e=+e,isFinite(e)&&e>=0&&e<Ul.length&&(Ul[e]=r)});um.exports=Ul});var Fa=le(($F,Em)=>{"use strict";var{createDiffieHellman:UI,createDiffieHellmanGroup:LI,createECDH:zI,createHash:zl,createPublicKey:MI,diffieHellman:FI,generateKeyPairSync:HI,randomFillSync:jI}=require("crypto"),{Ber:lm}=Ko(),{COMPAT:Ml,curve25519Supported:WI,DEFAULT_KEX:fm,DEFAULT_SERVER_HOST_KEY:dm,DEFAULT_CIPHER:Ha,DEFAULT_MAC:ja,DEFAULT_COMPRESSION:Wa,DISCONNECT_REASON:st,MESSAGE:wt}=An(),{CIPHER_INFO:to,createCipher:qI,createDecipher:QI,MAC_INFO:pm}=Mn(),{parseDERKey:VI}=jn(),{bufferFill:KI,bufferParser:ot,convertSignature:GI,doFatalError:at,FastBuffer:ZI,sigSSHToASN1:YI,writeUInt32BE:lr}=Qr(),{PacketReader:hm,PacketWriter:gm,ZlibPacketReader:qa,ZlibPacketWriter:Qa}=Dl(),Ji,XI=2048,JI=8192,ev=Buffer.alloc(0);function mm(t){let e;if(t._compatFlags&Ml.BAD_DHGEX){let r=t._offer.lists.kex,n=r.array,i=!1;for(let o=0;o<n.length;++o)n[o].includes("group-exchange")&&(i||(i=!0,n=n.slice()),n.splice(o--,1));if(i){let o=17+t._offer.totalSize+1+4,s=Buffer.from(n.join(","));o-=r.buffer.length-s.length;let a=t._offer.lists.all,u=new Uint8Array(a.buffer,a.byteOffset+4+r.buffer.length,a.length-(4+r.buffer.length));e=Buffer.allocUnsafe(o),lr(e,s.length,17),e.set(s,21),e.set(u,21+s.length)}}e===void 0&&(e=Buffer.allocUnsafe(17+t._offer.totalSize+1+4),t._offer.copyAllTo(e,17)),t._debug&&t._debug("Outbound: Sending KEXINIT"),e[0]=wt.KEXINIT,jI(e,1,16),KI(e,0,e.length-5),t._kexinit=e,t._packetRW.write.allocStart=0;{let r=t._packetRW.write.allocStartKEX,n=t._packetRW.write.alloc(e.length,!0);n.set(e,r),t._cipher.encrypt(t._packetRW.write.finalize(n,!0))}}c(mm,"kexinit");function _m(t,e){let r={kex:void 0,serverHostKey:void 0,cs:{cipher:void 0,mac:void 0,compress:void 0,lang:void 0},sc:{cipher:void 0,mac:void 0,compress:void 0,lang:void 0}};if(ot.init(e,17),(r.kex=ot.readList())===void 0||(r.serverHostKey=ot.readList())===void 0||(r.cs.cipher=ot.readList())===void 0||(r.sc.cipher=ot.readList())===void 0||(r.cs.mac=ot.readList())===void 0||(r.sc.mac=ot.readList())===void 0||(r.cs.compress=ot.readList())===void 0||(r.sc.compress=ot.readList())===void 0||(r.cs.lang=ot.readList())===void 0||(r.sc.lang=ot.readList())===void 0)return ot.clear(),at(t,"Received malformed KEXINIT","handshake",st.KEY_EXCHANGE_FAILED);let n=ot.pos(),i=n<e.length&&e[n]===1;ot.clear();let o=t._offer,s=r,a=o.lists.kex.array;if(t._compatFlags&Ml.BAD_DHGEX){let D=!1;for(let J=0;J<a.length;++J)a[J].indexOf("group-exchange")!==-1&&(D||(D=!0,a=a.slice()),a.splice(J--,1))}let u,l,d,p=t._debug;p&&p("Inbound: Handshake in progress"),p&&p(`Handshake: (local) KEX method: ${a}`),p&&p(`Handshake: (remote) KEX method: ${s.kex}`);let g;if(t._server?(l=a,u=s.kex,g=u.indexOf("ext-info-c")!==-1):(l=s.kex,u=a,g=l.indexOf("ext-info-s")!==-1),t._strictMode===void 0&&(t._server?t._strictMode=u.indexOf("kex-strict-c-v00@openssh.com")!==-1:t._strictMode=l.indexOf("kex-strict-s-v00@openssh.com")!==-1,t._strictMode&&(p&&p("Handshake: strict KEX mode enabled"),t._decipher.inSeqno!==1)))return p&&p("Handshake: KEXINIT not first packet in strict KEX mode"),at(t,"Handshake failed: KEXINIT not first packet in strict KEX mode","handshake",st.KEY_EXCHANGE_FAILED);for(d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: no matching key exchange algorithm"),at(t,"Handshake failed: no matching key exchange algorithm","handshake",st.KEY_EXCHANGE_FAILED);r.kex=u[d],p&&p(`Handshake: KEX algorithm: ${u[d]}`),i&&(!s.kex.length||u[d]!==s.kex[0])&&(t._skipNextInboundPacket=!0);let h=o.lists.serverHostKey.array;for(p&&p(`Handshake: (local) Host key format: ${h}`),p&&p(`Handshake: (remote) Host key format: ${s.serverHostKey}`),t._server?(l=h,u=s.serverHostKey):(l=s.serverHostKey,u=h),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching host key format"),at(t,"Handshake failed: no matching host key format","handshake",st.KEY_EXCHANGE_FAILED);r.serverHostKey=u[d],p&&p(`Handshake: Host key format: ${u[d]}`);let _=o.lists.cs.cipher.array;for(p&&p(`Handshake: (local) C->S cipher: ${_}`),p&&p(`Handshake: (remote) C->S cipher: ${s.cs.cipher}`),t._server?(l=_,u=s.cs.cipher):(l=s.cs.cipher,u=_),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching C->S cipher"),at(t,"Handshake failed: no matching C->S cipher","handshake",st.KEY_EXCHANGE_FAILED);r.cs.cipher=u[d],p&&p(`Handshake: C->S Cipher: ${u[d]}`);let A=o.lists.sc.cipher.array;for(p&&p(`Handshake: (local) S->C cipher: ${A}`),p&&p(`Handshake: (remote) S->C cipher: ${s.sc.cipher}`),t._server?(l=A,u=s.sc.cipher):(l=s.sc.cipher,u=A),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching S->C cipher"),at(t,"Handshake failed: no matching S->C cipher","handshake",st.KEY_EXCHANGE_FAILED);r.sc.cipher=u[d],p&&p(`Handshake: S->C cipher: ${u[d]}`);let b=o.lists.cs.mac.array;if(p&&p(`Handshake: (local) C->S MAC: ${b}`),p&&p(`Handshake: (remote) C->S MAC: ${s.cs.mac}`),to[r.cs.cipher].authLen>0)r.cs.mac="",p&&p("Handshake: C->S MAC: <implicit>");else{for(t._server?(l=b,u=s.cs.mac):(l=s.cs.mac,u=b),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching C->S MAC"),at(t,"Handshake failed: no matching C->S MAC","handshake",st.KEY_EXCHANGE_FAILED);r.cs.mac=u[d],p&&p(`Handshake: C->S MAC: ${u[d]}`)}let v=o.lists.sc.mac.array;if(p&&p(`Handshake: (local) S->C MAC: ${v}`),p&&p(`Handshake: (remote) S->C MAC: ${s.sc.mac}`),to[r.sc.cipher].authLen>0)r.sc.mac="",p&&p("Handshake: S->C MAC: <implicit>");else{for(t._server?(l=v,u=s.sc.mac):(l=s.sc.mac,u=v),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching S->C MAC"),at(t,"Handshake failed: no matching S->C MAC","handshake",st.KEY_EXCHANGE_FAILED);r.sc.mac=u[d],p&&p(`Handshake: S->C MAC: ${u[d]}`)}let w=o.lists.cs.compress.array;for(p&&p(`Handshake: (local) C->S compression: ${w}`),p&&p(`Handshake: (remote) C->S compression: ${s.cs.compress}`),t._server?(l=w,u=s.cs.compress):(l=s.cs.compress,u=w),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching C->S compression"),at(t,"Handshake failed: no matching C->S compression","handshake",st.KEY_EXCHANGE_FAILED);r.cs.compress=u[d],p&&p(`Handshake: C->S compression: ${u[d]}`);let H=o.lists.sc.compress.array;for(p&&p(`Handshake: (local) S->C compression: ${H}`),p&&p(`Handshake: (remote) S->C compression: ${s.sc.compress}`),t._server?(l=H,u=s.sc.compress):(l=s.sc.compress,u=H),d=0;d<u.length&&l.indexOf(u[d])===-1;++d);if(d===u.length)return p&&p("Handshake: No matching S->C compression"),at(t,"Handshake failed: no matching S->C compression","handshake",st.KEY_EXCHANGE_FAILED);r.sc.compress=u[d],p&&p(`Handshake: S->C compression: ${u[d]}`),r.cs.lang="",r.sc.lang="",t._kex&&(t._kexinit||mm(t),t._decipher._onPayload=ym.bind(t,{firstPacket:!1})),t._kex=tv(r,t,e),t._kex.remoteExtInfoEnabled=g,t._kex.start()}c(_m,"handleKexInit");var tv=(()=>{function t(s){let a=0,u=s.length;for(;s[a]===0;)++a,--u;let l;return s[a]&128?(l=Buffer.allocUnsafe(1+u),l[0]=0,s.copy(l,1,a),s=l):u!==s.length&&(l=Buffer.allocUnsafe(u),s.copy(l,0,a),s=l),s}c(t,"convertToMpint");class e{static{c(this,"KeyExchange")}constructor(a,u,l){this._protocol=u,this.sessionID=u._kex?u._kex.sessionID:void 0,this.negotiated=a,this.remoteExtInfoEnabled=!1,this._step=1,this._public=null,this._dh=null,this._sentNEWKEYS=!1,this._receivedNEWKEYS=!1,this._finished=!1,this._hostVerified=!1,this._kexinit=u._kexinit,this._remoteKexinit=l,this._identRaw=u._identRaw,this._remoteIdentRaw=u._remoteIdentRaw,this._hostKey=void 0,this._dhData=void 0,this._sig=void 0}finish(a){if(this._finished)return!1;this._finished=!0;let u=this._protocol._server,l=this.negotiated,d=this.convertPublicKey(this._dhData),p=this.computeSecret(this._dhData);if(p instanceof Error)return p.message=`Error while computing DH secret (${this.type}): ${p.message}`,p.level="handshake",at(this._protocol,p,st.KEY_EXCHANGE_FAILED);let g=zl(this.hashName);sn(g,u?this._remoteIdentRaw:this._identRaw),sn(g,u?this._identRaw:this._remoteIdentRaw),sn(g,u?this._remoteKexinit:this._kexinit),sn(g,u?this._kexinit:this._remoteKexinit);let h=u?this._hostKey.getPublicSSH():this._hostKey;if(sn(g,h),this.type==="groupex"){let H=this.getDHParams(),D=Buffer.allocUnsafe(4);lr(D,this._minBits,0),g.update(D),lr(D,this._prefBits,0),g.update(D),lr(D,this._maxBits,0),g.update(D),sn(g,H.prime),sn(g,H.generator)}sn(g,u?d:this.getPublicKey());let _=u?this.getPublicKey():d;sn(g,_),sn(g,p);let A=g.digest();if(u){let H;switch(this.negotiated.serverHostKey){case"rsa-sha2-256":H="sha256";break;case"rsa-sha2-512":H="sha512";break}this._protocol._debug&&this._protocol._debug("Generating signature ...");let D=this._hostKey.sign(A,H);if(D instanceof Error)return at(this._protocol,`Handshake failed: signature generation failed for ${this._hostKey.type} host key: ${D.message}`,"handshake",st.KEY_EXCHANGE_FAILED);if(D=GI(D,this._hostKey.type),D===!1)return at(this._protocol,`Handshake failed: signature conversion failed for ${this._hostKey.type} host key`,"handshake",st.KEY_EXCHANGE_FAILED);let J=this.negotiated.serverHostKey,Y=Buffer.byteLength(J),X=4+Y+4+D.length,P=this._protocol._packetRW.write.allocStartKEX,C=this._protocol._packetRW.write.alloc(5+h.length+4+_.length+4+X,!0);if(C[P]=wt.KEXDH_REPLY,lr(C,h.length,++P),C.set(h,P+=4),lr(C,_.length,P+=h.length),C.set(_,P+=4),lr(C,X,P+=_.length),lr(C,Y,P+=4),C.utf8Write(J,P+=4,Y),lr(C,D.length,P+=Y),C.set(D,P+=4),this._protocol._debug){let M;switch(this.type){case"group":M="KEXDH_REPLY";break;case"groupex":M="KEXDH_GEX_REPLY";break;default:M="KEXECDH_REPLY"}this._protocol._debug(`Outbound: Sending ${M}`)}this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(C,!0))}else{ot.init(this._sig,0);let H=ot.readString(!0);if(!H)return at(this._protocol,"Malformed packet while reading signature","handshake",st.KEY_EXCHANGE_FAILED);if(H!==l.serverHostKey)return at(this._protocol,`Wrong signature type: ${H}, expected: ${l.serverHostKey}`,"handshake",st.KEY_EXCHANGE_FAILED);let D=ot.readString();if(ot.clear(),D===void 0)return at(this._protocol,"Malformed packet while reading signature","handshake",st.KEY_EXCHANGE_FAILED);if(!(D=YI(D,H)))return at(this._protocol,"Malformed signature","handshake",st.KEY_EXCHANGE_FAILED);let J;{ot.init(this._hostKey,0);let P=ot.readString(!0),C=this._hostKey.slice(ot.pos());if(ot.clear(),J=VI(C,P),J instanceof Error)return J.level="handshake",at(this._protocol,J,st.KEY_EXCHANGE_FAILED)}let Y;switch(this.negotiated.serverHostKey){case"rsa-sha2-256":Y="sha256";break;case"rsa-sha2-512":Y="sha512";break}this._protocol._debug&&this._protocol._debug("Verifying signature ...");let X=J.verify(A,D,Y);if(X!==!0)return X instanceof Error?this._protocol._debug&&this._protocol._debug(`Signature verification failed: ${X.stack}`):this._protocol._debug&&this._protocol._debug("Signature verification failed"),at(this._protocol,"Handshake failed: signature verification failed","handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Verified signature")}(u||!a)&&Va(this);let b,v,w=c(H=>{if(b)return Va(this),b.outbound.seqno=this._protocol._cipher.outSeqno,this._protocol._cipher.free(),this._protocol._cipher=qI(b),this._protocol._packetRW.write=v,b=void 0,v=void 0,this._protocol._onHandshakeComplete(l),!1;this.sessionID||(this.sessionID=A);{let Z=Buffer.allocUnsafe(4+p.length);lr(Z,p.length,0),Z.set(p,4),p=Z}let D=to[l.cs.cipher],J=to[l.sc.cipher],Y=eo(D.ivLen,this.hashName,p,A,this.sessionID,"A"),X=eo(J.ivLen,this.hashName,p,A,this.sessionID,"B"),P=eo(D.keyLen,this.hashName,p,A,this.sessionID,"C"),C=eo(J.keyLen,this.hashName,p,A,this.sessionID,"D"),M,L;D.authLen||(M=pm[l.cs.mac],L=eo(M.len,this.hashName,p,A,this.sessionID,"E"));let T,F;J.authLen||(T=pm[l.sc.mac],F=eo(T.len,this.hashName,p,A,this.sessionID,"F"));let j={inbound:{onPayload:this._protocol._onPayload,seqno:this._protocol._decipher.inSeqno,decipherInfo:u?D:J,decipherIV:u?Y:X,decipherKey:u?P:C,macInfo:u?M:T,macKey:u?L:F},outbound:{onWrite:this._protocol._onWrite,seqno:this._protocol._cipher.outSeqno,cipherInfo:u?J:D,cipherIV:u?X:Y,cipherKey:u?C:P,macInfo:u?T:M,macKey:u?F:L}};this._protocol._decipher.free(),b=j,this._protocol._decipher=QI(j);let B={read:void 0,write:void 0};switch(l.cs.compress){case"zlib":u?B.read=new qa:B.write=new Qa(this._protocol);break;case"zlib@openssh.com":if(this._protocol._authenticated){u?B.read=new qa:B.write=new Qa(this._protocol);break}default:u?B.read=new hm:B.write=new gm(this._protocol)}switch(l.sc.compress){case"zlib":u?B.write=new Qa(this._protocol):B.read=new qa;break;case"zlib@openssh.com":if(this._protocol._authenticated){u?B.write=new Qa(this._protocol):B.read=new qa;break}default:u?B.write=new gm(this._protocol):B.read=new hm}return this._protocol._packetRW.read.cleanup(),this._protocol._packetRW.write.cleanup(),this._protocol._packetRW.read=B.read,v=B.write,this._public=null,this._dh=null,this._kexinit=this._protocol._kexinit=void 0,this._remoteKexinit=void 0,this._identRaw=void 0,this._remoteIdentRaw=void 0,this._hostKey=void 0,this._dhData=void 0,this._sig=void 0,H?!1:w()},"completeHandshake");if((u||a)&&(this.finish=w),!u)return w(a)}start(){if(!this._protocol._server){if(this._protocol._debug){let d;this.type==="group"?d="KEXDH_INIT":d="KEXECDH_INIT",this._protocol._debug(`Outbound: Sending ${d}`)}let a=this.getPublicKey(),u=this._protocol._packetRW.write.allocStartKEX,l=this._protocol._packetRW.write.alloc(5+a.length,!0);l[u]=wt.KEXDH_INIT,lr(l,a.length,++u),l.set(a,u+=4),this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(l,!0))}}getPublicKey(){this.generateKeys();let a=this._public;if(a)return this.convertPublicKey(a)}convertPublicKey(a){let u,l=0,d=a.length;for(;a[l]===0;)++l,--d;return a[l]&128?(u=Buffer.allocUnsafe(1+d),u[0]=0,a.copy(u,1,l),u):(d!==a.length&&(u=Buffer.allocUnsafe(d),a.copy(u,0,l),a=u),a)}computeSecret(a){this.generateKeys();try{return t(this._dh.computeSecret(a))}catch(u){return u}}parse(a){let u=a[0];switch(this._step){case 1:if(this._protocol._server){if(u!==wt.KEXDH_INIT)return at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_INIT}`,"handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Received DH Init"),ot.init(a,1);let l=ot.readString();if(ot.clear(),l===void 0)return at(this._protocol,"Received malformed KEX*_INIT","handshake",st.KEY_EXCHANGE_FAILED);this._dhData=l;let d=this._protocol._hostKeys[this.negotiated.serverHostKey];Array.isArray(d)&&(d=d[0]),this._hostKey=d,this.finish()}else{if(u!==wt.KEXDH_REPLY)return at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_REPLY}`,"handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Received DH Reply"),ot.init(a,1);let l,d,p;if((l=ot.readString())===void 0||(d=ot.readString())===void 0||(p=ot.readString())===void 0)return ot.clear(),at(this._protocol,"Received malformed KEX*_REPLY","handshake",st.KEY_EXCHANGE_FAILED);ot.clear(),ot.init(l,0);let g=ot.readString(!0);if(ot.clear(),g===void 0)return at(this._protocol,"Received malformed host public key","handshake",st.KEY_EXCHANGE_FAILED);if(g!==this.negotiated.serverHostKey)switch(this.negotiated.serverHostKey){case"rsa-sha2-256":case"rsa-sha2-512":if(g==="ssh-rsa")break;default:return at(this._protocol,"Host key does not match negotiated type","handshake",st.KEY_EXCHANGE_FAILED)}this._hostKey=l,this._dhData=d,this._sig=p;let h=!1,_;if(this._protocol._hostVerifier===void 0?(_=!0,this._protocol._debug&&this._protocol._debug("Host accepted by default (no verification)")):_=this._protocol._hostVerifier(l,A=>{if(!h){if(h=!0,A===!1)return this._protocol._debug&&this._protocol._debug("Host denied (verification failed)"),at(this._protocol,"Host denied (verification failed)","handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Host accepted (verified)"),this._hostVerified=!0,this._receivedNEWKEYS?this.finish():Va(this)}}),_===void 0){++this._step;return}if(h=!0,_===!1)return this._protocol._debug&&this._protocol._debug("Host denied (verification failed)"),at(this._protocol,"Host denied (verification failed)","handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Host accepted (verified)"),this._hostVerified=!0,Va(this)}++this._step;break;case 2:return u!==wt.NEWKEYS?at(this._protocol,`Received packet ${u} instead of ${wt.NEWKEYS}`,"handshake",st.KEY_EXCHANGE_FAILED):(this._protocol._debug&&this._protocol._debug("Inbound: NEWKEYS"),this._receivedNEWKEYS=!0,this._protocol._strictMode&&(this._protocol._decipher.inSeqno=0),++this._step,this.finish(!this._protocol._server&&!this._hostVerified));default:return at(this._protocol,`Received unexpected packet ${u} after NEWKEYS`,"handshake",st.KEY_EXCHANGE_FAILED)}}}class r extends e{static{c(this,"Curve25519Exchange")}constructor(a,...u){super(...u),this.type="25519",this.hashName=a,this._keys=null}generateKeys(){this._keys||(this._keys=HI("x25519"))}getPublicKey(){return this.generateKeys(),this._keys.publicKey.export({type:"spki",format:"der"}).slice(-32)}convertPublicKey(a){let u,l=0,d=a.length;for(;a[l]===0;)++l,--d;return a.length===32||d!==a.length&&(u=Buffer.allocUnsafe(d),a.copy(u,0,l),a=u),a}computeSecret(a){this.generateKeys();try{let u=new lm.Writer;return u.startSequence(),u.startSequence(),u.writeOID("1.3.101.110"),u.endSequence(),u.startSequence(lm.BitString),u.writeByte(0),u._ensure(a.length),a.copy(u._buf,u._offset,0,a.length),u._offset+=a.length,u.endSequence(),u.endSequence(),t(FI({privateKey:this._keys.privateKey,publicKey:MI({key:u.buffer,type:"spki",format:"der"})}))}catch(u){return u}}}class n extends e{static{c(this,"ECDHExchange")}constructor(a,u,...l){super(...l),this.type="ecdh",this.curveName=a,this.hashName=u}generateKeys(){this._dh||(this._dh=zI(this.curveName),this._public=this._dh.generateKeys())}}class i extends e{static{c(this,"DHGroupExchange")}constructor(a,...u){super(...u),this.type="groupex",this.hashName=a,this._prime=null,this._generator=null,this._minBits=XI,this._prefBits=rv(this.negotiated),this._protocol._compatFlags&Ml.BUG_DHGEX_LARGE&&(this._prefBits=Math.min(this._prefBits,4096)),this._maxBits=JI}start(){if(this._protocol._server)return;this._protocol._debug&&this._protocol._debug("Outbound: Sending KEXDH_GEX_REQUEST");let a=this._protocol._packetRW.write.allocStartKEX,u=this._protocol._packetRW.write.alloc(13,!0);u[a]=wt.KEXDH_GEX_REQUEST,lr(u,this._minBits,++a),lr(u,this._prefBits,a+=4),lr(u,this._maxBits,a+=4),this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(u,!0))}generateKeys(){!this._dh&&this._prime&&this._generator&&(this._dh=UI(this._prime,this._generator),this._public=this._dh.generateKeys())}setDHParams(a,u){if(!Buffer.isBuffer(a))throw new Error("Invalid prime value");if(!Buffer.isBuffer(u))throw new Error("Invalid generator value");this._prime=a,this._generator=u}getDHParams(){if(this._dh)return{prime:t(this._dh.getPrime()),generator:t(this._dh.getGenerator())}}parse(a){let u=a[0];switch(this._step){case 1:{if(this._protocol._server)return u!==wt.KEXDH_GEX_REQUEST?at(this._protocol,`Received packet ${u} instead of `+wt.KEXDH_GEX_REQUEST,"handshake",st.KEY_EXCHANGE_FAILED):at(this._protocol,"Group exchange not implemented for server","handshake",st.KEY_EXCHANGE_FAILED);if(u!==wt.KEXDH_GEX_GROUP)return at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_GEX_GROUP}`,"handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Received DH GEX Group"),ot.init(a,1);let l,d;if((l=ot.readString())===void 0||(d=ot.readString())===void 0)return ot.clear(),at(this._protocol,"Received malformed KEXDH_GEX_GROUP","handshake",st.KEY_EXCHANGE_FAILED);ot.clear(),this.setDHParams(l,d),this.generateKeys();let p=this.getPublicKey();this._protocol._debug&&this._protocol._debug("Outbound: Sending KEXDH_GEX_INIT");let g=this._protocol._packetRW.write.allocStartKEX,h=this._protocol._packetRW.write.alloc(5+p.length,!0);h[g]=wt.KEXDH_GEX_INIT,lr(h,p.length,++g),h.set(p,g+=4),this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(h,!0)),++this._step;break}case 2:if(this._protocol._server)return u!==wt.KEXDH_GEX_INIT?at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_GEX_INIT}`,"handshake",st.KEY_EXCHANGE_FAILED):(this._protocol._debug&&this._protocol._debug("Received DH GEX Init"),at(this._protocol,"Group exchange not implemented for server","handshake",st.KEY_EXCHANGE_FAILED));if(u!==wt.KEXDH_GEX_REPLY)return at(this._protocol,`Received packet ${u} instead of ${wt.KEXDH_GEX_REPLY}`,"handshake",st.KEY_EXCHANGE_FAILED);this._protocol._debug&&this._protocol._debug("Received DH GEX Reply"),this._step=1,a[0]=wt.KEXDH_REPLY,this.parse=e.prototype.parse,this.parse(a)}}}class o extends e{static{c(this,"DHExchange")}constructor(a,u,...l){super(...l),this.type="group",this.groupName=a,this.hashName=u}start(){if(!this._protocol._server){this._protocol._debug&&this._protocol._debug("Outbound: Sending KEXDH_INIT");let a=this.getPublicKey(),u=this._protocol._packetRW.write.allocStartKEX,l=this._protocol._packetRW.write.alloc(5+a.length,!0);l[u]=wt.KEXDH_INIT,lr(l,a.length,++u),l.set(a,u+=4),this._protocol._cipher.encrypt(this._protocol._packetRW.write.finalize(l,!0))}}generateKeys(){this._dh||(this._dh=LI(this.groupName),this._public=this._dh.generateKeys())}getDHParams(){if(this._dh)return{prime:t(this._dh.getPrime()),generator:t(this._dh.getGenerator())}}}return(s,...a)=>{if(typeof s!="object"||s===null)throw new Error("Invalid negotiated argument");let u=s.kex;if(typeof u=="string"){switch(a=[s,...a],u){case"curve25519-sha256":case"curve25519-sha256@libssh.org":if(!WI)break;return new r("sha256",...a);case"ecdh-sha2-nistp256":return new n("prime256v1","sha256",...a);case"ecdh-sha2-nistp384":return new n("secp384r1","sha384",...a);case"ecdh-sha2-nistp521":return new n("secp521r1","sha512",...a);case"diffie-hellman-group1-sha1":return new o("modp2","sha1",...a);case"diffie-hellman-group14-sha1":return new o("modp14","sha1",...a);case"diffie-hellman-group14-sha256":return new o("modp14","sha256",...a);case"diffie-hellman-group15-sha512":return new o("modp15","sha512",...a);case"diffie-hellman-group16-sha512":return new o("modp16","sha512",...a);case"diffie-hellman-group17-sha512":return new o("modp17","sha512",...a);case"diffie-hellman-group18-sha512":return new o("modp18","sha512",...a);case"diffie-hellman-group-exchange-sha1":return new i("sha1",...a);case"diffie-hellman-group-exchange-sha256":return new i("sha256",...a)}throw new Error(`Unsupported key exchange algorithm: ${u}`)}throw new Error(`Invalid key exchange type: ${u}`)}})(),Ll=(()=>{let t=["kex","serverHostKey",["cs","cipher"],["sc","cipher"],["cs","mac"],["sc","mac"],["cs","compress"],["sc","compress"],["cs","lang"],["sc","lang"]];return class{static{c(this,"KexInit")}constructor(r){if(typeof r!="object"||r===null)throw new TypeError("Argument must be an object");let n={kex:void 0,serverHostKey:void 0,cs:{cipher:void 0,mac:void 0,compress:void 0,lang:void 0},sc:{cipher:void 0,mac:void 0,compress:void 0,lang:void 0},all:void 0},i=0;for(let a of t){let u,l,d,p;if(typeof a=="string")u=n,l=r[a],d=p=a;else{let h=a[0];u=n[h],p=a[1],l=r[h][p],d=`${h}.${p}`}let g={array:void 0,buffer:void 0};if(Buffer.isBuffer(l))g.array=(""+l).split(","),g.buffer=l,i+=4+l.length;else{if(typeof l=="string"&&(l=l.split(",")),Array.isArray(l))g.array=l,g.buffer=Buffer.from(l.join(","));else throw new TypeError(`Invalid \`${d}\` type: ${typeof l}`);i+=4+g.buffer.length}u[p]=g}let o=Buffer.allocUnsafe(i);n.all=o;let s=0;for(let a of t){let u;typeof a=="string"?u=n[a].buffer:u=n[a[0]][a[1]].buffer,s=lr(o,u.length,s),o.set(u,s),s+=u.length}this.totalSize=i,this.lists=n}copyAllTo(r,n){let i=this.lists.all;if(typeof n!="number")throw new TypeError(`Invalid offset value: ${typeof n}`);if(r.length-n<i.length)throw new Error("Insufficient space to copy list");return r.set(i,n),i.length}}})(),sn=(()=>{let t=Buffer.allocUnsafe(4);return(e,r)=>{lr(t,r.length,0),e.update(t),e.update(r)}})();function eo(t,e,r,n,i,o){let s;if(t){let a=zl(e).update(r).update(n).update(o).update(i).digest();for(;a.length<t;){let u=zl(e).update(r).update(n).update(a).digest(),l=Buffer.allocUnsafe(a.length+u.length);l.set(a,0),l.set(u,a.length),a=l}a.length===t?s=a:s=new ZI(a.buffer,a.byteOffset,t)}else s=ev;return s}c(eo,"generateKEXVal");function ym(t,e){if(e.length===0){this._debug&&this._debug("Inbound: Skipping empty packet payload");return}if(this._skipNextInboundPacket){this._skipNextInboundPacket=!1;return}e=this._packetRW.read.read(e);let r=e[0];if(!this._strictMode)switch(r){case wt.IGNORE:case wt.UNIMPLEMENTED:case wt.DEBUG:return Ji||(Ji=Ma()),Ji[r](this,e)}switch(r){case wt.DISCONNECT:return Ji||(Ji=Ma()),Ji[r](this,e);case wt.KEXINIT:return t.firstPacket?(t.firstPacket=!1,_m(this,e)):at(this,"Received extra KEXINIT during handshake","handshake",st.KEY_EXCHANGE_FAILED);default:if(r<20||r>49)return at(this,`Received unexpected packet type ${r}`,"handshake",st.KEY_EXCHANGE_FAILED)}return this._kex.parse(e)}c(ym,"onKEXPayload");function rv(t){let e=to[t.cs.cipher],r=to[t.sc.cipher],n=Math.max(0,e.sslName==="des-ede3-cbc"?14:e.keyLen,e.blockLen,e.ivLen,r.sslName==="des-ede3-cbc"?14:r.keyLen,r.blockLen,r.ivLen)*8;return n<=112?2048:n<=128?3072:n<=192?7680:8192}c(rv,"dhEstimate");function Va(t){if(!t._sentNEWKEYS){t._protocol._debug&&t._protocol._debug("Outbound: Sending NEWKEYS");let e=t._protocol._packetRW.write.allocStartKEX,r=t._protocol._packetRW.write.alloc(1,!0);r[e]=wt.NEWKEYS,t._protocol._cipher.encrypt(t._protocol._packetRW.write.finalize(r,!0)),t._sentNEWKEYS=!0,t._protocol._strictMode&&(t._protocol._cipher.outSeqno=0)}}c(Va,"trySendNEWKEYS");Em.exports={KexInit:Ll,kexinit:mm,onKEXPayload:ym,DEFAULT_KEXINIT_CLIENT:new Ll({kex:fm.concat(["ext-info-c","kex-strict-c-v00@openssh.com"]),serverHostKey:dm,cs:{cipher:Ha,mac:ja,compress:Wa,lang:[]},sc:{cipher:Ha,mac:ja,compress:Wa,lang:[]}}),DEFAULT_KEXINIT_SERVER:new Ll({kex:fm.concat(["kex-strict-s-v00@openssh.com"]),serverHostKey:dm,cs:{cipher:Ha,mac:ja,compress:Wa,lang:[]},sc:{cipher:Ha,mac:ja,compress:Wa,lang:[]}}),HANDLERS:{[wt.KEXINIT]:_m}}});var Am=le((BF,nv)=>{nv.exports={name:"ssh2",version:"1.16.0",author:"Brian White <mscdex@mscdex.net>",description:"SSH2 client and server modules written in pure JavaScript for node.js",main:"./lib/index.js",engines:{node:">=10.16.0"},dependencies:{asn1:"^0.2.6","bcrypt-pbkdf":"^1.0.2"},devDependencies:{"@mscdex/eslint-config":"^1.1.0",eslint:"^7.32.0"},optionalDependencies:{"cpu-features":"~0.0.10",nan:"^2.20.0"},scripts:{install:"node install.js",rebuild:"node install.js",test:"node test/test.js",lint:"eslint --cache --report-unused-disable-directives --ext=.js .eslintrc.js examples lib test","lint:fix":"npm run lint -- --fix"},keywords:["ssh","ssh2","sftp","secure","shell","exec","remote","client"],licenses:[{type:"MIT",url:"http://github.com/mscdex/ssh2/raw/master/LICENSE"}],repository:{type:"git",url:"http://github.com/mscdex/ssh2.git"}}});var Wl=le((UF,Om)=>{"use strict";var{inspect:wm}=require("util"),{bindingAvailable:iv,NullCipher:ov,NullDecipher:sv}=Mn(),{COMPAT_CHECKS:av,DISCONNECT_REASON:Pm,eddsaSupported:cv,MESSAGE:we,SIGNALS:bm,TERMINAL_MODE:Hl}=An(),{DEFAULT_KEXINIT_CLIENT:uv,DEFAULT_KEXINIT_SERVER:lv,KexInit:xm,kexinit:Tm,onKEXPayload:fv}=Fa(),{parseKey:Im}=jn(),dv=Ma(),{bufferCopy:Ka,bufferFill:pv,bufferSlice:Cm,convertSignature:vm,sendPacket:Pe,writeUInt32BE:R}=Qr(),{PacketReader:hv,PacketWriter:gv,ZlibPacketReader:km,ZlibPacketWriter:Rm}=Dl(),mv=Am().version,_v=new Map(Object.values(Pm).map(t=>[t,1])),Nm=Buffer.from(`SSH-2.0-ssh2js${mv}`),yv=Buffer.from(`${Nm}\r
12
+ `),Ev=8192,Av=1024,Sm=Buffer.from([we.GLOBAL_REQUEST,0,0,0,21,107,101,101,112,97,108,105,118,101,64,111,112,101,110,115,115,104,46,99,111,109,1]),bv=Buffer.from([Hl.TTY_OP_END]);function Fl(){}c(Fl,"noop");var jl=class{static{c(this,"Protocol")}constructor(e){let r=e.onWrite;if(typeof r!="function")throw new Error("Missing onWrite function");this._onWrite=h=>{r(h)};let n=e.onError;if(typeof n!="function")throw new Error("Missing onError function");this._onError=h=>{n(h)};let i=e.debug;this._debug=typeof i=="function"?h=>{i(h)}:void 0;let o=e.onHeader;this._onHeader=typeof o=="function"?(...h)=>{o(...h)}:Fl;let s=e.onPacket;this._onPacket=typeof s=="function"?()=>{s()}:Fl;let a=e.onHandshakeComplete;typeof a!="function"&&(a=Fl);let u;this._onHandshakeComplete=(...h)=>{this._debug&&this._debug("Handshake completed"),u===void 0?u=!0:u=!1;let _=this._queue;if(_){this._queue=void 0,this._debug&&this._debug(`Draining outbound queue (${_.length}) ...`);for(let A=0;A<_.length;++A){let b=_[A],v=this._packetRW.write.finalize(b);if(v===b){let w=this._cipher.allocPacket(b.length);w.set(b,5),v=w}Pe(this,v)}this._debug&&this._debug("... finished draining outbound queue")}u&&this._server&&this._kex.remoteExtInfoEnabled&&Tv(this),a(...h)},this._queue=void 0;let l=e.messageHandlers;typeof l=="object"&&l!==null?this._handlers=l:this._handlers={},this._onPayload=Sv.bind(this),this._server=!!e.server,this._banner=void 0;let d;if(this._server){if(typeof e.hostKeys!="object"||e.hostKeys===null)throw new Error("Missing server host key(s)");this._hostKeys=e.hostKeys,typeof e.greeting=="string"&&e.greeting.length&&(d=e.greeting.slice(-2)===`\r
13
13
  `?e.greeting:`${e.greeting}\r
14
14
  `),typeof e.banner=="string"&&e.banner.length&&(this._banner=e.banner.slice(-2)===`\r
15
15
  `?e.banner:`${e.banner}\r
16
- `)}else this._hostKeys=void 0;let p=e.offer;typeof p!="object"||p===null?p=this._server?tv:ev:p.constructor!==hm&&(this._server?p.kex=p.kex.concat(["kex-strict-s-v00@openssh.com"]):p.kex=p.kex.concat(["ext-info-c","kex-strict-c-v00@openssh.com"]),p=new hm(p)),this._kex=void 0,this._strictMode=void 0,this._kexinit=void 0,this._offer=p,this._cipher=new ZI(0,this._onWrite),this._decipher=void 0,this._skipNextInboundPacket=!1,this._packetRW={read:new ov,write:new sv(this)},this._hostVerifier=!this._server&&typeof e.hostVerifier=="function"?e.hostVerifier:void 0,this._parse=hv,this._buffer=void 0,this._authsQueue=[],this._authenticated=!1,this._remoteIdentRaw=void 0;let g;if(typeof e.ident=="string")this._identRaw=Buffer.from(`SSH-2.0-${e.ident}`),g=Buffer.allocUnsafe(this._identRaw.length+2),g.set(this._identRaw,0),g[g.length-2]=13,g[g.length-1]=10;else if(Buffer.isBuffer(e.ident)){let h=Buffer.allocUnsafe(8+e.ident.length);h.latin1Write("SSH-2.0-",0,8),h.set(e.ident,8),this._identRaw=h,g=Buffer.allocUnsafe(h.length+2),g.set(h,0),g[g.length-2]=13,g[g.length-1]=10}else this._identRaw=vm,g=uv;this._compatFlags=0,this._debug&&(GI?this._debug("Custom crypto binding available"):this._debug("Custom crypto binding not available")),this._debug&&this._debug(`Local ident: ${ym(this._identRaw.toString())}`),this.start=()=>{this.start=void 0,d&&this._onWrite(d),this._onWrite(g)}}_destruct(e){this._packetRW.read.cleanup(),this._packetRW.write.cleanup(),this._cipher&&this._cipher.free(),this._decipher&&this._decipher.free(),(typeof e!="string"||e.length===0)&&(e="fatal error"),this.parse=()=>{throw new Error(`Instance unusable after ${e}`)},this._onWrite=()=>{throw new Error(`Instance unusable after ${e}`)},this._destruct=void 0}cleanup(){this._destruct&&this._destruct()}parse(e,r,n){for(;r<n;)r=this._parse(e,r,n)}disconnect(e){let n=this._packetRW.write.allocStartKEX,i=this._packetRW.write.alloc(13,!0),o=n+13;cv.has(e)||(e=Em.PROTOCOL_ERROR),i[n]=we.DISCONNECT,R(i,e,++n),i.fill(0,n+=4,o),this._debug&&this._debug(`Outbound: Sending DISCONNECT (${e})`),Pe(this,this._packetRW.write.finalize(i,!0),!0)}ping(){let e=this._packetRW.write.allocStart,r=this._packetRW.write.alloc(_m.length);r.set(_m,e),this._debug&&this._debug("Outbound: Sending ping (GLOBAL_REQUEST: keepalive@openssh.com)"),Pe(this,this._packetRW.write.finalize(r))}rekey(){this._kexinit===void 0?(this._debug&&this._debug("Outbound: Initiated explicit rekey"),this._queue=[],Am(this)):this._debug&&this._debug("Outbound: Ignoring rekey during handshake")}requestSuccess(e){let r=this._packetRW.write.allocStart,n;Buffer.isBuffer(e)?(n=this._packetRW.write.alloc(1+e.length),n[r]=we.REQUEST_SUCCESS,n.set(e,++r)):(n=this._packetRW.write.alloc(1),n[r]=we.REQUEST_SUCCESS),this._debug&&this._debug("Outbound: Sending REQUEST_SUCCESS"),Pe(this,this._packetRW.write.finalize(n))}requestFailure(){let e=this._packetRW.write.allocStart,r=this._packetRW.write.alloc(1);r[e]=we.REQUEST_FAILURE,this._debug&&this._debug("Outbound: Sending REQUEST_FAILURE"),Pe(this,this._packetRW.write.finalize(r))}channelSuccess(e){let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(5);n[r]=we.CHANNEL_SUCCESS,R(n,e,++r),this._debug&&this._debug(`Outbound: Sending CHANNEL_SUCCESS (r:${e})`),Pe(this,this._packetRW.write.finalize(n))}channelFailure(e){let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(5);n[r]=we.CHANNEL_FAILURE,R(n,e,++r),this._debug&&this._debug(`Outbound: Sending CHANNEL_FAILURE (r:${e})`),Pe(this,this._packetRW.write.finalize(n))}channelEOF(e){let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(5);n[r]=we.CHANNEL_EOF,R(n,e,++r),this._debug&&this._debug(`Outbound: Sending CHANNEL_EOF (r:${e})`),Pe(this,this._packetRW.write.finalize(n))}channelClose(e){let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(5);n[r]=we.CHANNEL_CLOSE,R(n,e,++r),this._debug&&this._debug(`Outbound: Sending CHANNEL_CLOSE (r:${e})`),Pe(this,this._packetRW.write.finalize(n))}channelWindowAdjust(e,r){let n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(9);i[n]=we.CHANNEL_WINDOW_ADJUST,R(i,e,++n),R(i,r,n+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_WINDOW_ADJUST (r:${e}, ${r})`),Pe(this,this._packetRW.write.finalize(i))}channelData(e,r){let n=Buffer.isBuffer(r),i=n?r.length:Buffer.byteLength(r),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(9+i);s[o]=we.CHANNEL_DATA,R(s,e,++o),R(s,i,o+=4),n?s.set(r,o+=4):s.utf8Write(r,o+=4,i),this._debug&&this._debug(`Outbound: Sending CHANNEL_DATA (r:${e}, ${i})`),Pe(this,this._packetRW.write.finalize(s))}channelExtData(e,r,n){let i=Buffer.isBuffer(r),o=i?r.length:Buffer.byteLength(r),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(13+o);a[s]=we.CHANNEL_EXTENDED_DATA,R(a,e,++s),R(a,n,s+=4),R(a,o,s+=4),i?a.set(r,s+=4):a.utf8Write(r,s+=4,o),this._debug&&this._debug(`Outbound: Sending CHANNEL_EXTENDED_DATA (r:${e})`),Pe(this,this._packetRW.write.finalize(a))}channelOpenConfirm(e,r,n,i){let o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(17);s[o]=we.CHANNEL_OPEN_CONFIRMATION,R(s,e,++o),R(s,r,o+=4),R(s,n,o+=4),R(s,i,o+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN_CONFIRMATION (r:${e}, l:${r})`),Pe(this,this._packetRW.write.finalize(s))}channelOpenFail(e,r,n){typeof n!="string"&&(n="");let i=Buffer.byteLength(n),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(13+i+4);s[o]=we.CHANNEL_OPEN_FAILURE,R(s,e,++o),R(s,r,o+=4),R(s,i,o+=4),o+=4,i&&(s.utf8Write(n,o,i),o+=i),R(s,0,o),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN_FAILURE (r:${e})`),Pe(this,this._packetRW.write.finalize(s))}service(e){if(this._server)throw new Error("Client-only method called in server mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r);i[n]=we.SERVICE_REQUEST,R(i,r,++n),i.utf8Write(e,n+=4,r),this._debug&&this._debug(`Outbound: Sending SERVICE_REQUEST (${e})`),Pe(this,this._packetRW.write.finalize(i))}authPassword(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(e),o=Buffer.byteLength(r),s=n?Buffer.byteLength(n):0,a=this._packetRW.write.allocStart,u=this._packetRW.write.alloc(5+i+4+14+4+8+1+4+o+(n?4+s:0));u[a]=we.USERAUTH_REQUEST,R(u,i,++a),u.utf8Write(e,a+=4,i),R(u,14,a+=i),u.utf8Write("ssh-connection",a+=4,14),R(u,8,a+=14),u.utf8Write("password",a+=4,8),u[a+=8]=n?1:0,R(u,o,++a),Buffer.isBuffer(r)?Ka(r,u,0,o,a+=4):u.utf8Write(r,a+=4,o),n?(R(u,s,a+=o),Buffer.isBuffer(n)?Ka(n,u,0,s,a+=4):u.utf8Write(n,a+=4,s),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (changed password)")):this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (password)"),this._authsQueue.push("password"),Pe(this,this._packetRW.write.finalize(u))}authPK(e,r,n,i){if(this._server)throw new Error("Client-only method called in server mode");if(r=gm(r),r instanceof Error)throw new Error("Invalid key");let o=r.type;r=r.getPublicSSH(),typeof n=="function"&&(i=n,n=void 0),n||(n=o);let s=Buffer.byteLength(e),a=Buffer.byteLength(n),u=r.length,l=this._kex.sessionID,d=l.length,p=(i?4+d:0)+1+4+s+4+14+4+9+1+4+a+4+u,g,h;if(i?(g=Buffer.allocUnsafe(p),h=0,R(g,d,h),g.set(l,h+=4),h+=d):(g=this._packetRW.write.alloc(p),h=this._packetRW.write.allocStart),g[h]=we.USERAUTH_REQUEST,R(g,s,++h),g.utf8Write(e,h+=4,s),R(g,14,h+=s),g.utf8Write("ssh-connection",h+=4,14),R(g,9,h+=14),g.utf8Write("publickey",h+=4,9),g[h+=9]=i?1:0,R(g,a,++h),g.utf8Write(n,h+=4,a),R(g,u,h+=a),g.set(r,h+=4),!i){this._authsQueue.push("publickey"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (publickey -- check)"),Pe(this,this._packetRW.write.finalize(g));return}i(g,_=>{if(_=mm(_,o),_===!1)throw new Error("Error while converting handshake signature");let A=_.length;h=this._packetRW.write.allocStart,g=this._packetRW.write.alloc(5+s+4+14+4+9+1+4+a+4+u+4+4+a+4+A),g[h]=we.USERAUTH_REQUEST,R(g,s,++h),g.utf8Write(e,h+=4,s),R(g,14,h+=s),g.utf8Write("ssh-connection",h+=4,14),R(g,9,h+=14),g.utf8Write("publickey",h+=4,9),g[h+=9]=1,R(g,a,++h),g.utf8Write(n,h+=4,a),R(g,u,h+=a),g.set(r,h+=4),R(g,4+a+4+A,h+=u),R(g,a,h+=4),g.utf8Write(n,h+=4,a),R(g,A,h+=a),g.set(_,h+=4),this._authsQueue.push("publickey"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (publickey)"),Pe(this,this._packetRW.write.finalize(g))})}authHostbased(e,r,n,i,o,s){if(this._server)throw new Error("Client-only method called in server mode");if(r=gm(r),r instanceof Error)throw new Error("Invalid key");let a=r.type;r=r.getPublicSSH(),typeof o=="function"&&(s=o,o=void 0),o||(o=a);let u=Buffer.byteLength(e),l=Buffer.byteLength(o),d=r.length,p=this._kex.sessionID,g=p.length,h=Buffer.byteLength(n),_=Buffer.byteLength(i),A=Buffer.allocUnsafe(4+g+1+4+u+4+14+4+9+4+l+4+d+4+h+4+_),b=0;R(A,g,b),A.set(p,b+=4),A[b+=g]=we.USERAUTH_REQUEST,R(A,u,++b),A.utf8Write(e,b+=4,u),R(A,14,b+=u),A.utf8Write("ssh-connection",b+=4,14),R(A,9,b+=14),A.utf8Write("hostbased",b+=4,9),R(A,l,b+=9),A.utf8Write(o,b+=4,l),R(A,d,b+=l),A.set(r,b+=4),R(A,h,b+=d),A.utf8Write(n,b+=4,h),R(A,_,b+=h),A.utf8Write(i,b+=4,_),s(A,I=>{if(I=mm(I,a),!I)throw new Error("Error while converting handshake signature");let w=I.length,H=A.length-g-4;b=this._packetRW.write.allocStart;let $=this._packetRW.write.alloc(H+4+4+l+4+w);Ka(A,$,4+g,A.length,b),R($,4+l+4+w,b+=H),R($,l,b+=4),$.utf8Write(o,b+=4,l),R($,w,b+=l),$.set(I,b+=4),this._authsQueue.push("hostbased"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (hostbased)"),Pe(this,this._packetRW.write.finalize($))})}authKeyboard(e){if(this._server)throw new Error("Client-only method called in server mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r+4+14+4+20+4+4);i[n]=we.USERAUTH_REQUEST,R(i,r,++n),i.utf8Write(e,n+=4,r),R(i,14,n+=r),i.utf8Write("ssh-connection",n+=4,14),R(i,20,n+=14),i.utf8Write("keyboard-interactive",n+=4,20),R(i,0,n+=20),R(i,0,n+=4),this._authsQueue.push("keyboard-interactive"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (keyboard-interactive)"),Pe(this,this._packetRW.write.finalize(i))}authNone(e){if(this._server)throw new Error("Client-only method called in server mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r+4+14+4+4);i[n]=we.USERAUTH_REQUEST,R(i,r,++n),i.utf8Write(e,n+=4,r),R(i,14,n+=r),i.utf8Write("ssh-connection",n+=4,14),R(i,4,n+=14),i.utf8Write("none",n+=4,4),this._authsQueue.push("none"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (none)"),Pe(this,this._packetRW.write.finalize(i))}authInfoRes(e){if(this._server)throw new Error("Client-only method called in server mode");let r=0,n;if(e){n=new Array(e.length);for(let s=0;s<e.length;++s){let a=Buffer.byteLength(e[s]);n[s]=a,r+=4+a}}let i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(5+r);if(o[i]=we.USERAUTH_INFO_RESPONSE,e){R(o,e.length,++i),i+=4;for(let s=0;s<e.length;++s){let a=n[s];R(o,a,i),i+=4,a&&(o.utf8Write(e[s],i,a),i+=a)}}else R(o,0,++i);this._debug&&this._debug("Outbound: Sending USERAUTH_INFO_RESPONSE"),Pe(this,this._packetRW.write.finalize(o))}tcpipForward(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(e),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(23+i+4);s[o]=we.GLOBAL_REQUEST,R(s,13,++o),s.utf8Write("tcpip-forward",o+=4,13),s[o+=13]=n===void 0||n===!0?1:0,R(s,i,++o),s.utf8Write(e,o+=4,i),R(s,r,o+=i),this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (tcpip-forward)"),Pe(this,this._packetRW.write.finalize(s))}cancelTcpipForward(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(e),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(30+i+4);s[o]=we.GLOBAL_REQUEST,R(s,20,++o),s.utf8Write("cancel-tcpip-forward",o+=4,20),s[o+=20]=n===void 0||n===!0?1:0,R(s,i,++o),s.utf8Write(e,o+=4,i),R(s,r,o+=i),this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (cancel-tcpip-forward)"),Pe(this,this._packetRW.write.finalize(s))}openssh_streamLocalForward(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(41+n);o[i]=we.GLOBAL_REQUEST,R(o,31,++i),o.utf8Write("streamlocal-forward@openssh.com",i+=4,31),o[i+=31]=r===void 0||r===!0?1:0,R(o,n,++i),o.utf8Write(e,i+=4,n),this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (streamlocal-forward@openssh.com)"),Pe(this,this._packetRW.write.finalize(o))}openssh_cancelStreamLocalForward(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(48+n);o[i]=we.GLOBAL_REQUEST,R(o,38,++i),o.utf8Write("cancel-streamlocal-forward@openssh.com",i+=4,38),o[i+=38]=r===void 0||r===!0?1:0,R(o,n,++i),o.utf8Write(e,i+=4,n),this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (cancel-streamlocal-forward@openssh.com)"),Pe(this,this._packetRW.write.finalize(o))}directTcpip(e,r,n,i){if(this._server)throw new Error("Client-only method called in server mode");let o=Buffer.byteLength(i.srcIP),s=Buffer.byteLength(i.dstIP),a=this._packetRW.write.allocStart,u=this._packetRW.write.alloc(33+o+4+4+s+4);u[a]=we.CHANNEL_OPEN,R(u,12,++a),u.utf8Write("direct-tcpip",a+=4,12),R(u,e,a+=12),R(u,r,a+=4),R(u,n,a+=4),R(u,s,a+=4),u.utf8Write(i.dstIP,a+=4,s),R(u,i.dstPort,a+=s),R(u,o,a+=4),u.utf8Write(i.srcIP,a+=4,o),R(u,i.srcPort,a+=o),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, direct-tcpip)`),Pe(this,this._packetRW.write.finalize(u))}openssh_directStreamLocal(e,r,n,i){if(this._server)throw new Error("Client-only method called in server mode");let o=Buffer.byteLength(i.socketPath),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(51+o+4+4);a[s]=we.CHANNEL_OPEN,R(a,30,++s),a.utf8Write("direct-streamlocal@openssh.com",s+=4,30),R(a,e,s+=30),R(a,r,s+=4),R(a,n,s+=4),R(a,o,s+=4),a.utf8Write(i.socketPath,s+=4,o),iv(a,0,s+=o,s+8),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, direct-streamlocal@openssh.com)`),Pe(this,this._packetRW.write.finalize(a))}openssh_noMoreSessions(e){if(this._server)throw new Error("Client-only method called in server mode");let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(34);n[r]=we.GLOBAL_REQUEST,R(n,28,++r),n.utf8Write("no-more-sessions@openssh.com",r+=4,28),n[r+=28]=e===void 0||e===!0?1:0,this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (no-more-sessions@openssh.com)"),Pe(this,this._packetRW.write.finalize(n))}session(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(24);o[i]=we.CHANNEL_OPEN,R(o,7,++i),o.utf8Write("session",i+=4,7),R(o,e,i+=7),R(o,r,i+=4),R(o,n,i+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, session)`),Pe(this,this._packetRW.write.finalize(o))}windowChange(e,r,n,i,o){if(this._server)throw new Error("Client-only method called in server mode");let s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(39);a[s]=we.CHANNEL_REQUEST,R(a,e,++s),R(a,13,s+=4),a.utf8Write("window-change",s+=4,13),a[s+=13]=0,R(a,n,++s),R(a,r,s+=4),R(a,o,s+=4),R(a,i,s+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, window-change)`),Pe(this,this._packetRW.write.finalize(a))}pty(e,r,n,i,o,s,a,u){if(this._server)throw new Error("Client-only method called in server mode");(!s||!s.length)&&(s="vt100"),a&&!Buffer.isBuffer(a)&&!Array.isArray(a)&&typeof a=="object"&&a!==null&&(a=yv(a)),(!a||!a.length)&&(a=dv);let l=s.length,d=a.length,p=this._packetRW.write.allocStart,g=this._packetRW.write.alloc(21+l+4+4+4+4+4+d);if(g[p]=we.CHANNEL_REQUEST,R(g,e,++p),R(g,7,p+=4),g.utf8Write("pty-req",p+=4,7),g[p+=7]=u===void 0||u===!0?1:0,R(g,l,++p),g.utf8Write(s,p+=4,l),R(g,n,p+=l),R(g,r,p+=4),R(g,o,p+=4),R(g,i,p+=4),R(g,d,p+=4),p+=4,Array.isArray(a))for(let h=0;h<d;++h)g[p++]=a[h];else Buffer.isBuffer(a)&&g.set(a,p);this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, pty-req)`),Pe(this,this._packetRW.write.finalize(g))}shell(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(15);i[n]=we.CHANNEL_REQUEST,R(i,e,++n),R(i,5,n+=4),i.utf8Write("shell",n+=4,5),i[n+=5]=r===void 0||r===!0?1:0,this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, shell)`),Pe(this,this._packetRW.write.finalize(i))}exec(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.isBuffer(r),o=i?r.length:Buffer.byteLength(r),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(18+o);a[s]=we.CHANNEL_REQUEST,R(a,e,++s),R(a,4,s+=4),a.utf8Write("exec",s+=4,4),a[s+=4]=n===void 0||n===!0?1:0,R(a,o,++s),i?a.set(r,s+=4):a.utf8Write(r,s+=4,o),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, exec: ${r})`),Pe(this,this._packetRW.write.finalize(a))}signal(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=r;if(r=r.toUpperCase(),r.slice(0,3)==="SIG"&&(r=r.slice(3)),pm[r]!==1)throw new Error(`Invalid signal: ${n}`);let i=r.length,o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(20+i);s[o]=we.CHANNEL_REQUEST,R(s,e,++o),R(s,6,o+=4),s.utf8Write("signal",o+=4,6),s[o+=6]=0,R(s,i,++o),s.utf8Write(r,o+=4,i),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, signal: ${r})`),Pe(this,this._packetRW.write.finalize(s))}env(e,r,n,i){if(this._server)throw new Error("Client-only method called in server mode");let o=Buffer.byteLength(r),s=Buffer.isBuffer(n),a=s?n.length:Buffer.byteLength(n),u=this._packetRW.write.allocStart,l=this._packetRW.write.alloc(17+o+4+a);l[u]=we.CHANNEL_REQUEST,R(l,e,++u),R(l,3,u+=4),l.utf8Write("env",u+=4,3),l[u+=3]=i===void 0||i===!0?1:0,R(l,o,++u),l.utf8Write(r,u+=4,o),R(l,a,u+=o),s?l.set(n,u+=4):l.utf8Write(n,u+=4,a),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, env: ${r}=${n})`),Pe(this,this._packetRW.write.finalize(l))}x11Forward(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=r.protocol,o=r.cookie,s=Buffer.isBuffer(i),a=s?i.length:Buffer.byteLength(i),u=Buffer.isBuffer(o),l=u?o.length:Buffer.byteLength(o),d=this._packetRW.write.allocStart,p=this._packetRW.write.alloc(22+a+4+l+4);p[d]=we.CHANNEL_REQUEST,R(p,e,++d),R(p,7,d+=4),p.utf8Write("x11-req",d+=4,7),p[d+=7]=n===void 0||n===!0?1:0,p[++d]=r.single?1:0,R(p,a,++d),s?p.set(i,d+=4):p.utf8Write(i,d+=4,a),R(p,l,d+=a),u?p.set(o,d+=4):p.latin1Write(o,d+=4,l),R(p,r.screen||0,d+=l),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, x11-req)`),Pe(this,this._packetRW.write.finalize(p))}subsystem(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(r),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(23+i);s[o]=we.CHANNEL_REQUEST,R(s,e,++o),R(s,9,o+=4),s.utf8Write("subsystem",o+=4,9),s[o+=9]=n===void 0||n===!0?1:0,R(s,i,++o),s.utf8Write(r,o+=4,i),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, subsystem: ${r})`),Pe(this,this._packetRW.write.finalize(s))}openssh_agentForward(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(36);i[n]=we.CHANNEL_REQUEST,R(i,e,++n),R(i,26,n+=4),i.utf8Write("auth-agent-req@openssh.com",n+=4,26),i[n+=26]=r===void 0||r===!0?1:0,this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, auth-agent-req@openssh.com)`),Pe(this,this._packetRW.write.finalize(i))}openssh_hostKeysProve(e){if(this._server)throw new Error("Client-only method called in server mode");let r=0,n=[];for(let s of e){let a=s.getPublicSSH();r+=4+a.length,n.push(a)}let i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(35+r);o[i]=we.GLOBAL_REQUEST,R(o,29,++i),o.utf8Write("hostkeys-prove-00@openssh.com",i+=4,29),o[i+=29]=1,++i;for(let s of n)R(o,s.length,i),Ka(s,o,0,s.length,i+=4),i+=s.length;this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (hostkeys-prove-00@openssh.com)"),Pe(this,this._packetRW.write.finalize(o))}serviceAccept(e){if(!this._server)throw new Error("Server-only method called in client mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r);if(i[n]=we.SERVICE_ACCEPT,R(i,r,++n),i.utf8Write(e,n+=4,r),this._debug&&this._debug(`Outbound: Sending SERVICE_ACCEPT (${e})`),Pe(this,this._packetRW.write.finalize(i)),this._server&&this._banner&&e==="ssh-userauth"){let o=this._banner;this._banner=void 0;let s=Buffer.byteLength(o);n=this._packetRW.write.allocStart;let a=this._packetRW.write.alloc(5+s+4);a[n]=we.USERAUTH_BANNER,R(a,s,++n),a.utf8Write(o,n+=4,s),R(a,0,n+=s),this._debug&&this._debug("Outbound: Sending USERAUTH_BANNER"),Pe(this,this._packetRW.write.finalize(a))}}forwardedTcpip(e,r,n,i){if(!this._server)throw new Error("Server-only method called in client mode");let o=Buffer.byteLength(i.boundAddr),s=Buffer.byteLength(i.remoteAddr),a=this._packetRW.write.allocStart,u=this._packetRW.write.alloc(36+o+4+4+s+4);u[a]=we.CHANNEL_OPEN,R(u,15,++a),u.utf8Write("forwarded-tcpip",a+=4,15),R(u,e,a+=15),R(u,r,a+=4),R(u,n,a+=4),R(u,o,a+=4),u.utf8Write(i.boundAddr,a+=4,o),R(u,i.boundPort,a+=o),R(u,s,a+=4),u.utf8Write(i.remoteAddr,a+=4,s),R(u,i.remotePort,a+=s),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, forwarded-tcpip)`),Pe(this,this._packetRW.write.finalize(u))}x11(e,r,n,i){if(!this._server)throw new Error("Server-only method called in client mode");let o=Buffer.byteLength(i.originAddr),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(24+o+4);a[s]=we.CHANNEL_OPEN,R(a,3,++s),a.utf8Write("x11",s+=4,3),R(a,e,s+=3),R(a,r,s+=4),R(a,n,s+=4),R(a,o,s+=4),a.utf8Write(i.originAddr,s+=4,o),R(a,i.originPort,s+=o),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, x11)`),Pe(this,this._packetRW.write.finalize(a))}openssh_authAgent(e,r,n){if(!this._server)throw new Error("Server-only method called in client mode");let i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(39);o[i]=we.CHANNEL_OPEN,R(o,22,++i),o.utf8Write("auth-agent@openssh.com",i+=4,22),R(o,e,i+=22),R(o,r,i+=4),R(o,n,i+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, auth-agent@openssh.com)`),Pe(this,this._packetRW.write.finalize(o))}openssh_forwardedStreamLocal(e,r,n,i){if(!this._server)throw new Error("Server-only method called in client mode");let o=Buffer.byteLength(i.socketPath),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(54+o+4);a[s]=we.CHANNEL_OPEN,R(a,33,++s),a.utf8Write("forwarded-streamlocal@openssh.com",s+=4,33),R(a,e,s+=33),R(a,r,s+=4),R(a,n,s+=4),R(a,o,s+=4),a.utf8Write(i.socketPath,s+=4,o),R(a,0,s+=o),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, forwarded-streamlocal@openssh.com)`),Pe(this,this._packetRW.write.finalize(a))}exitStatus(e,r){if(!this._server)throw new Error("Server-only method called in client mode");let n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(25);i[n]=we.CHANNEL_REQUEST,R(i,e,++n),R(i,11,n+=4),i.utf8Write("exit-status",n+=4,11),i[n+=11]=0,R(i,r,++n),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, exit-status: ${r})`),Pe(this,this._packetRW.write.finalize(i))}exitSignal(e,r,n,i){if(!this._server)throw new Error("Server-only method called in client mode");let o=r;if(typeof o!="string"||!o)throw new Error(`Invalid signal: ${o}`);let s=r.toUpperCase();if(s.slice(0,3)==="SIG"&&(s=s.slice(3)),pm[s]!==1)throw new Error(`Invalid signal: ${o}`);let a=Buffer.byteLength(s),u=i?Buffer.byteLength(i):0,l=this._packetRW.write.allocStart,d=this._packetRW.write.alloc(25+a+1+4+u+4);d[l]=we.CHANNEL_REQUEST,R(d,e,++l),R(d,11,l+=4),d.utf8Write("exit-signal",l+=4,11),d[l+=11]=0,R(d,a,++l),d.utf8Write(s,l+=4,a),d[l+=a]=n?1:0,R(d,u,++l),l+=4,u&&(d.utf8Write(i,l,u),l+=u),R(d,0,l),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, exit-signal: ${r})`),Pe(this,this._packetRW.write.finalize(d))}authFailure(e,r){if(!this._server)throw new Error("Server-only method called in client mode");if(this._authsQueue.length===0)throw new Error("No auth in progress");let n;if(typeof e=="boolean"&&(r=e,e=void 0),e){n=[];for(let a=0;a<e.length;++a)e[a].toLowerCase()!=="none"&&n.push(e[a]);n=n.join(",")}else n="";let i=n.length,o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(5+i+1);s[o]=we.USERAUTH_FAILURE,R(s,i,++o),s.utf8Write(n,o+=4,i),s[o+=i]=r===!0?1:0,this._authsQueue.shift(),this._debug&&this._debug("Outbound: Sending USERAUTH_FAILURE"),Pe(this,this._packetRW.write.finalize(s))}authSuccess(){if(!this._server)throw new Error("Server-only method called in client mode");if(this._authsQueue.length===0)throw new Error("No auth in progress");let e=this._packetRW.write.allocStart,r=this._packetRW.write.alloc(1);r[e]=we.USERAUTH_SUCCESS,this._authsQueue.shift(),this._authenticated=!0,this._debug&&this._debug("Outbound: Sending USERAUTH_SUCCESS"),Pe(this,this._packetRW.write.finalize(r)),this._kex.negotiated.cs.compress==="zlib@openssh.com"&&(this._packetRW.read=new xm),this._kex.negotiated.sc.compress==="zlib@openssh.com"&&(this._packetRW.write=new Im(this))}authPKOK(e,r){if(!this._server)throw new Error("Server-only method called in client mode");if(this._authsQueue.length===0||this._authsQueue[0]!=="publickey")throw new Error('"publickey" auth not in progress');let n=Buffer.byteLength(e),i=r.length,o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(5+n+4+i);s[o]=we.USERAUTH_PK_OK,R(s,n,++o),s.utf8Write(e,o+=4,n),R(s,i,o+=n),s.set(r,o+=4),this._authsQueue.shift(),this._debug&&this._debug("Outbound: Sending USERAUTH_PK_OK"),Pe(this,this._packetRW.write.finalize(s))}authPasswdChg(e){if(!this._server)throw new Error("Server-only method called in client mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r+4);i[n]=we.USERAUTH_PASSWD_CHANGEREQ,R(i,r,++n),i.utf8Write(e,n+=4,r),R(i,0,n+=r),this._debug&&this._debug("Outbound: Sending USERAUTH_PASSWD_CHANGEREQ"),Pe(this,this._packetRW.write.finalize(i))}authInfoReq(e,r,n){if(!this._server)throw new Error("Server-only method called in client mode");let i=0,o=e?Buffer.byteLength(e):0,s=r?Buffer.byteLength(r):0;for(let l=0;l<n.length;++l)i+=4+Buffer.byteLength(n[l].prompt)+1;let a=this._packetRW.write.allocStart,u=this._packetRW.write.alloc(5+o+4+s+4+4+i);u[a]=we.USERAUTH_INFO_REQUEST,R(u,o,++a),a+=4,e&&(u.utf8Write(e,a,o),a+=o),R(u,s,a),a+=4,r&&(u.utf8Write(r,a,s),a+=s),R(u,0,a),R(u,n.length,a+=4),a+=4;for(let l=0;l<n.length;++l){let d=n[l],p=Buffer.byteLength(d.prompt);R(u,p,a),a+=4,p&&(u.utf8Write(d.prompt,a,p),a+=p),u[a++]=d.echo?1:0}this._debug&&this._debug("Outbound: Sending USERAUTH_INFO_REQUEST"),Pe(this,this._packetRW.write.finalize(u))}},pv=/^SSH-(2\.0|1\.99)-([^ ]+)(?: (.*))?$/;function hv(t,e,r){let n,i;this._buffer?(n=Buffer.allocUnsafe(this._buffer.length+(r-e)),n.set(this._buffer,0),e===0?n.set(t,this._buffer.length):n.set(new Uint8Array(t.buffer,t.byteOffset+e,r-e),this._buffer.length),i=this._buffer.length,e=0):(n=t,i=0);let o=e,s=e,a=e,u=!1,l=0,d=0;for(;e<n.length;++e){let p=n[e];if(p===13){u=!0;continue}if(p===10){if(a>s&&a-s>4&&n[s]===83&&n[s+1]===83&&n[s+2]===72&&n[s+3]===45){let g=n.latin1Slice(o,a+1),h=s===o?g:g.slice(s-o),_=pv.exec(h);if(!_)throw new Error("Invalid identification string");let A={greeting:s===o?"":g.slice(0,s-o),identRaw:h,versions:{protocol:_[1],software:_[2]},comments:_[3]};return this._remoteIdentRaw=Buffer.from(h),this._debug&&this._debug(`Remote ident: ${ym(h)}`),this._compatFlags=_v(A),this._buffer=void 0,this._decipher=new YI(0,rv.bind(this,{firstPacket:!0})),this._parse=gv,this._onHeader(A),this._destruct?(Am(this),e+1-i):r}if(this._server)throw new Error("Greetings from clients not permitted");if(++d>fv)throw new Error("Max greeting lines exceeded");u=!1,s=e+1,l=0}else{if(u)throw new Error("Invalid header: expected newline");if(++l>=lv)throw new Error("Header line too long")}a=e}return this._buffer||(this._buffer=bm(n,o)),e-i}c(hv,"parseHeader");function gv(t,e,r){return this._decipher.decrypt(t,e,r)}c(gv,"parsePacket");function mv(t){if(this._onPacket(),t.length===0){this._debug&&this._debug("Inbound: Skipping empty packet payload");return}t=this._packetRW.read.read(t);let e=t[0];e===we.USERAUTH_SUCCESS&&!this._server&&!this._authenticated&&(this._authenticated=!0,this._kex.negotiated.cs.compress==="zlib@openssh.com"&&(this._packetRW.write=new Im(this)),this._kex.negotiated.sc.compress==="zlib@openssh.com"&&(this._packetRW.read=new xm));let r=nv[e];if(r===void 0){this._debug&&this._debug(`Inbound: Unsupported message type: ${e}`);return}return r(this,t)}c(mv,"onPayload");function _v(t){let e=t.versions.software,r=0;for(let n of XI)typeof n[0]=="string"?e===n[0]&&(r|=n[1]):n[0].test(e)&&(r|=n[1]);return r}c(_v,"getCompatFlags");function yv(t){let e=Object.keys(t),r=Buffer.allocUnsafe(5*e.length+1),n=0;for(let i=0;i<e.length;++i){let o=e[i];if(o==="TTY_OP_END")continue;let s=Ml[o];if(s===void 0)continue;let a=t[o];typeof a=="number"&&isFinite(a)&&(r[n++]=s,r[n++]=a>>>24,r[n++]=a>>>16,r[n++]=a>>>8,r[n++]=a)}return r[n++]=Ml.TTY_OP_END,n<r.length?bm(r,0,n):r}c(yv,"modesToBytes");function Ev(t){let e="ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss";JI&&(e=`ssh-ed25519,${e}`);let r=Buffer.byteLength(e),n=t._packetRW.write.allocStart,i=t._packetRW.write.alloc(28+r);i[n]=we.EXT_INFO,R(i,1,++n),R(i,15,n+=4),i.utf8Write("server-sig-algs",n+=4,15),R(i,r,n+=15),i.utf8Write(e,n+=4,r),t._debug&&t._debug("Outbound: Sending EXT_INFO"),Pe(t,t._packetRW.write.finalize(i))}c(Ev,"sendExtInfo");Sm.exports=Fl});var Rm=le(ds=>{"use strict";var Ga=require("assert"),{inspect:Av}=require("util");function wm(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}c(wm,"addNumericalSeparator");function Pm(t,e){if(Ga(typeof e=="string","`thing` has to be of type string"),Array.isArray(t)){let r=t.length;return Ga(r>0,"At least one expected value needs to be specified"),t=t.map(n=>String(n)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}return`of ${e} ${String(t)}`}c(Pm,"oneOf");ds.ERR_INTERNAL_ASSERTION=class km extends Error{static{c(this,"ERR_INTERNAL_ASSERTION")}constructor(e){super(),Error.captureStackTrace(this,km);let r=`This is caused by either a bug in ssh2 or incorrect usage of ssh2 internals.
16
+ `)}else this._hostKeys=void 0;let p=e.offer;typeof p!="object"||p===null?p=this._server?lv:uv:p.constructor!==xm&&(this._server?p.kex=p.kex.concat(["kex-strict-s-v00@openssh.com"]):p.kex=p.kex.concat(["ext-info-c","kex-strict-c-v00@openssh.com"]),p=new xm(p)),this._kex=void 0,this._strictMode=void 0,this._kexinit=void 0,this._offer=p,this._cipher=new ov(0,this._onWrite),this._decipher=void 0,this._skipNextInboundPacket=!1,this._packetRW={read:new hv,write:new gv(this)},this._hostVerifier=!this._server&&typeof e.hostVerifier=="function"?e.hostVerifier:void 0,this._parse=Iv,this._buffer=void 0,this._authsQueue=[],this._authenticated=!1,this._remoteIdentRaw=void 0;let g;if(typeof e.ident=="string")this._identRaw=Buffer.from(`SSH-2.0-${e.ident}`),g=Buffer.allocUnsafe(this._identRaw.length+2),g.set(this._identRaw,0),g[g.length-2]=13,g[g.length-1]=10;else if(Buffer.isBuffer(e.ident)){let h=Buffer.allocUnsafe(8+e.ident.length);h.latin1Write("SSH-2.0-",0,8),h.set(e.ident,8),this._identRaw=h,g=Buffer.allocUnsafe(h.length+2),g.set(h,0),g[g.length-2]=13,g[g.length-1]=10}else this._identRaw=Nm,g=yv;this._compatFlags=0,this._debug&&(iv?this._debug("Custom crypto binding available"):this._debug("Custom crypto binding not available")),this._debug&&this._debug(`Local ident: ${wm(this._identRaw.toString())}`),this.start=()=>{this.start=void 0,d&&this._onWrite(d),this._onWrite(g)}}_destruct(e){this._packetRW.read.cleanup(),this._packetRW.write.cleanup(),this._cipher&&this._cipher.free(),this._decipher&&this._decipher.free(),(typeof e!="string"||e.length===0)&&(e="fatal error"),this.parse=()=>{throw new Error(`Instance unusable after ${e}`)},this._onWrite=()=>{throw new Error(`Instance unusable after ${e}`)},this._destruct=void 0}cleanup(){this._destruct&&this._destruct()}parse(e,r,n){for(;r<n;)r=this._parse(e,r,n)}disconnect(e){let n=this._packetRW.write.allocStartKEX,i=this._packetRW.write.alloc(13,!0),o=n+13;_v.has(e)||(e=Pm.PROTOCOL_ERROR),i[n]=we.DISCONNECT,R(i,e,++n),i.fill(0,n+=4,o),this._debug&&this._debug(`Outbound: Sending DISCONNECT (${e})`),Pe(this,this._packetRW.write.finalize(i,!0),!0)}ping(){let e=this._packetRW.write.allocStart,r=this._packetRW.write.alloc(Sm.length);r.set(Sm,e),this._debug&&this._debug("Outbound: Sending ping (GLOBAL_REQUEST: keepalive@openssh.com)"),Pe(this,this._packetRW.write.finalize(r))}rekey(){this._kexinit===void 0?(this._debug&&this._debug("Outbound: Initiated explicit rekey"),this._queue=[],Tm(this)):this._debug&&this._debug("Outbound: Ignoring rekey during handshake")}requestSuccess(e){let r=this._packetRW.write.allocStart,n;Buffer.isBuffer(e)?(n=this._packetRW.write.alloc(1+e.length),n[r]=we.REQUEST_SUCCESS,n.set(e,++r)):(n=this._packetRW.write.alloc(1),n[r]=we.REQUEST_SUCCESS),this._debug&&this._debug("Outbound: Sending REQUEST_SUCCESS"),Pe(this,this._packetRW.write.finalize(n))}requestFailure(){let e=this._packetRW.write.allocStart,r=this._packetRW.write.alloc(1);r[e]=we.REQUEST_FAILURE,this._debug&&this._debug("Outbound: Sending REQUEST_FAILURE"),Pe(this,this._packetRW.write.finalize(r))}channelSuccess(e){let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(5);n[r]=we.CHANNEL_SUCCESS,R(n,e,++r),this._debug&&this._debug(`Outbound: Sending CHANNEL_SUCCESS (r:${e})`),Pe(this,this._packetRW.write.finalize(n))}channelFailure(e){let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(5);n[r]=we.CHANNEL_FAILURE,R(n,e,++r),this._debug&&this._debug(`Outbound: Sending CHANNEL_FAILURE (r:${e})`),Pe(this,this._packetRW.write.finalize(n))}channelEOF(e){let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(5);n[r]=we.CHANNEL_EOF,R(n,e,++r),this._debug&&this._debug(`Outbound: Sending CHANNEL_EOF (r:${e})`),Pe(this,this._packetRW.write.finalize(n))}channelClose(e){let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(5);n[r]=we.CHANNEL_CLOSE,R(n,e,++r),this._debug&&this._debug(`Outbound: Sending CHANNEL_CLOSE (r:${e})`),Pe(this,this._packetRW.write.finalize(n))}channelWindowAdjust(e,r){let n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(9);i[n]=we.CHANNEL_WINDOW_ADJUST,R(i,e,++n),R(i,r,n+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_WINDOW_ADJUST (r:${e}, ${r})`),Pe(this,this._packetRW.write.finalize(i))}channelData(e,r){let n=Buffer.isBuffer(r),i=n?r.length:Buffer.byteLength(r),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(9+i);s[o]=we.CHANNEL_DATA,R(s,e,++o),R(s,i,o+=4),n?s.set(r,o+=4):s.utf8Write(r,o+=4,i),this._debug&&this._debug(`Outbound: Sending CHANNEL_DATA (r:${e}, ${i})`),Pe(this,this._packetRW.write.finalize(s))}channelExtData(e,r,n){let i=Buffer.isBuffer(r),o=i?r.length:Buffer.byteLength(r),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(13+o);a[s]=we.CHANNEL_EXTENDED_DATA,R(a,e,++s),R(a,n,s+=4),R(a,o,s+=4),i?a.set(r,s+=4):a.utf8Write(r,s+=4,o),this._debug&&this._debug(`Outbound: Sending CHANNEL_EXTENDED_DATA (r:${e})`),Pe(this,this._packetRW.write.finalize(a))}channelOpenConfirm(e,r,n,i){let o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(17);s[o]=we.CHANNEL_OPEN_CONFIRMATION,R(s,e,++o),R(s,r,o+=4),R(s,n,o+=4),R(s,i,o+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN_CONFIRMATION (r:${e}, l:${r})`),Pe(this,this._packetRW.write.finalize(s))}channelOpenFail(e,r,n){typeof n!="string"&&(n="");let i=Buffer.byteLength(n),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(13+i+4);s[o]=we.CHANNEL_OPEN_FAILURE,R(s,e,++o),R(s,r,o+=4),R(s,i,o+=4),o+=4,i&&(s.utf8Write(n,o,i),o+=i),R(s,0,o),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN_FAILURE (r:${e})`),Pe(this,this._packetRW.write.finalize(s))}service(e){if(this._server)throw new Error("Client-only method called in server mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r);i[n]=we.SERVICE_REQUEST,R(i,r,++n),i.utf8Write(e,n+=4,r),this._debug&&this._debug(`Outbound: Sending SERVICE_REQUEST (${e})`),Pe(this,this._packetRW.write.finalize(i))}authPassword(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(e),o=Buffer.byteLength(r),s=n?Buffer.byteLength(n):0,a=this._packetRW.write.allocStart,u=this._packetRW.write.alloc(5+i+4+14+4+8+1+4+o+(n?4+s:0));u[a]=we.USERAUTH_REQUEST,R(u,i,++a),u.utf8Write(e,a+=4,i),R(u,14,a+=i),u.utf8Write("ssh-connection",a+=4,14),R(u,8,a+=14),u.utf8Write("password",a+=4,8),u[a+=8]=n?1:0,R(u,o,++a),Buffer.isBuffer(r)?Ka(r,u,0,o,a+=4):u.utf8Write(r,a+=4,o),n?(R(u,s,a+=o),Buffer.isBuffer(n)?Ka(n,u,0,s,a+=4):u.utf8Write(n,a+=4,s),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (changed password)")):this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (password)"),this._authsQueue.push("password"),Pe(this,this._packetRW.write.finalize(u))}authPK(e,r,n,i){if(this._server)throw new Error("Client-only method called in server mode");if(r=Im(r),r instanceof Error)throw new Error("Invalid key");let o=r.type;r=r.getPublicSSH(),typeof n=="function"&&(i=n,n=void 0),n||(n=o);let s=Buffer.byteLength(e),a=Buffer.byteLength(n),u=r.length,l=this._kex.sessionID,d=l.length,p=(i?4+d:0)+1+4+s+4+14+4+9+1+4+a+4+u,g,h;if(i?(g=Buffer.allocUnsafe(p),h=0,R(g,d,h),g.set(l,h+=4),h+=d):(g=this._packetRW.write.alloc(p),h=this._packetRW.write.allocStart),g[h]=we.USERAUTH_REQUEST,R(g,s,++h),g.utf8Write(e,h+=4,s),R(g,14,h+=s),g.utf8Write("ssh-connection",h+=4,14),R(g,9,h+=14),g.utf8Write("publickey",h+=4,9),g[h+=9]=i?1:0,R(g,a,++h),g.utf8Write(n,h+=4,a),R(g,u,h+=a),g.set(r,h+=4),!i){this._authsQueue.push("publickey"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (publickey -- check)"),Pe(this,this._packetRW.write.finalize(g));return}i(g,_=>{if(_=vm(_,o),_===!1)throw new Error("Error while converting handshake signature");let A=_.length;h=this._packetRW.write.allocStart,g=this._packetRW.write.alloc(5+s+4+14+4+9+1+4+a+4+u+4+4+a+4+A),g[h]=we.USERAUTH_REQUEST,R(g,s,++h),g.utf8Write(e,h+=4,s),R(g,14,h+=s),g.utf8Write("ssh-connection",h+=4,14),R(g,9,h+=14),g.utf8Write("publickey",h+=4,9),g[h+=9]=1,R(g,a,++h),g.utf8Write(n,h+=4,a),R(g,u,h+=a),g.set(r,h+=4),R(g,4+a+4+A,h+=u),R(g,a,h+=4),g.utf8Write(n,h+=4,a),R(g,A,h+=a),g.set(_,h+=4),this._authsQueue.push("publickey"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (publickey)"),Pe(this,this._packetRW.write.finalize(g))})}authHostbased(e,r,n,i,o,s){if(this._server)throw new Error("Client-only method called in server mode");if(r=Im(r),r instanceof Error)throw new Error("Invalid key");let a=r.type;r=r.getPublicSSH(),typeof o=="function"&&(s=o,o=void 0),o||(o=a);let u=Buffer.byteLength(e),l=Buffer.byteLength(o),d=r.length,p=this._kex.sessionID,g=p.length,h=Buffer.byteLength(n),_=Buffer.byteLength(i),A=Buffer.allocUnsafe(4+g+1+4+u+4+14+4+9+4+l+4+d+4+h+4+_),b=0;R(A,g,b),A.set(p,b+=4),A[b+=g]=we.USERAUTH_REQUEST,R(A,u,++b),A.utf8Write(e,b+=4,u),R(A,14,b+=u),A.utf8Write("ssh-connection",b+=4,14),R(A,9,b+=14),A.utf8Write("hostbased",b+=4,9),R(A,l,b+=9),A.utf8Write(o,b+=4,l),R(A,d,b+=l),A.set(r,b+=4),R(A,h,b+=d),A.utf8Write(n,b+=4,h),R(A,_,b+=h),A.utf8Write(i,b+=4,_),s(A,v=>{if(v=vm(v,a),!v)throw new Error("Error while converting handshake signature");let w=v.length,H=A.length-g-4;b=this._packetRW.write.allocStart;let D=this._packetRW.write.alloc(H+4+4+l+4+w);Ka(A,D,4+g,A.length,b),R(D,4+l+4+w,b+=H),R(D,l,b+=4),D.utf8Write(o,b+=4,l),R(D,w,b+=l),D.set(v,b+=4),this._authsQueue.push("hostbased"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (hostbased)"),Pe(this,this._packetRW.write.finalize(D))})}authKeyboard(e){if(this._server)throw new Error("Client-only method called in server mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r+4+14+4+20+4+4);i[n]=we.USERAUTH_REQUEST,R(i,r,++n),i.utf8Write(e,n+=4,r),R(i,14,n+=r),i.utf8Write("ssh-connection",n+=4,14),R(i,20,n+=14),i.utf8Write("keyboard-interactive",n+=4,20),R(i,0,n+=20),R(i,0,n+=4),this._authsQueue.push("keyboard-interactive"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (keyboard-interactive)"),Pe(this,this._packetRW.write.finalize(i))}authNone(e){if(this._server)throw new Error("Client-only method called in server mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r+4+14+4+4);i[n]=we.USERAUTH_REQUEST,R(i,r,++n),i.utf8Write(e,n+=4,r),R(i,14,n+=r),i.utf8Write("ssh-connection",n+=4,14),R(i,4,n+=14),i.utf8Write("none",n+=4,4),this._authsQueue.push("none"),this._debug&&this._debug("Outbound: Sending USERAUTH_REQUEST (none)"),Pe(this,this._packetRW.write.finalize(i))}authInfoRes(e){if(this._server)throw new Error("Client-only method called in server mode");let r=0,n;if(e){n=new Array(e.length);for(let s=0;s<e.length;++s){let a=Buffer.byteLength(e[s]);n[s]=a,r+=4+a}}let i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(5+r);if(o[i]=we.USERAUTH_INFO_RESPONSE,e){R(o,e.length,++i),i+=4;for(let s=0;s<e.length;++s){let a=n[s];R(o,a,i),i+=4,a&&(o.utf8Write(e[s],i,a),i+=a)}}else R(o,0,++i);this._debug&&this._debug("Outbound: Sending USERAUTH_INFO_RESPONSE"),Pe(this,this._packetRW.write.finalize(o))}tcpipForward(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(e),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(23+i+4);s[o]=we.GLOBAL_REQUEST,R(s,13,++o),s.utf8Write("tcpip-forward",o+=4,13),s[o+=13]=n===void 0||n===!0?1:0,R(s,i,++o),s.utf8Write(e,o+=4,i),R(s,r,o+=i),this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (tcpip-forward)"),Pe(this,this._packetRW.write.finalize(s))}cancelTcpipForward(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(e),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(30+i+4);s[o]=we.GLOBAL_REQUEST,R(s,20,++o),s.utf8Write("cancel-tcpip-forward",o+=4,20),s[o+=20]=n===void 0||n===!0?1:0,R(s,i,++o),s.utf8Write(e,o+=4,i),R(s,r,o+=i),this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (cancel-tcpip-forward)"),Pe(this,this._packetRW.write.finalize(s))}openssh_streamLocalForward(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(41+n);o[i]=we.GLOBAL_REQUEST,R(o,31,++i),o.utf8Write("streamlocal-forward@openssh.com",i+=4,31),o[i+=31]=r===void 0||r===!0?1:0,R(o,n,++i),o.utf8Write(e,i+=4,n),this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (streamlocal-forward@openssh.com)"),Pe(this,this._packetRW.write.finalize(o))}openssh_cancelStreamLocalForward(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(48+n);o[i]=we.GLOBAL_REQUEST,R(o,38,++i),o.utf8Write("cancel-streamlocal-forward@openssh.com",i+=4,38),o[i+=38]=r===void 0||r===!0?1:0,R(o,n,++i),o.utf8Write(e,i+=4,n),this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (cancel-streamlocal-forward@openssh.com)"),Pe(this,this._packetRW.write.finalize(o))}directTcpip(e,r,n,i){if(this._server)throw new Error("Client-only method called in server mode");let o=Buffer.byteLength(i.srcIP),s=Buffer.byteLength(i.dstIP),a=this._packetRW.write.allocStart,u=this._packetRW.write.alloc(33+o+4+4+s+4);u[a]=we.CHANNEL_OPEN,R(u,12,++a),u.utf8Write("direct-tcpip",a+=4,12),R(u,e,a+=12),R(u,r,a+=4),R(u,n,a+=4),R(u,s,a+=4),u.utf8Write(i.dstIP,a+=4,s),R(u,i.dstPort,a+=s),R(u,o,a+=4),u.utf8Write(i.srcIP,a+=4,o),R(u,i.srcPort,a+=o),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, direct-tcpip)`),Pe(this,this._packetRW.write.finalize(u))}openssh_directStreamLocal(e,r,n,i){if(this._server)throw new Error("Client-only method called in server mode");let o=Buffer.byteLength(i.socketPath),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(51+o+4+4);a[s]=we.CHANNEL_OPEN,R(a,30,++s),a.utf8Write("direct-streamlocal@openssh.com",s+=4,30),R(a,e,s+=30),R(a,r,s+=4),R(a,n,s+=4),R(a,o,s+=4),a.utf8Write(i.socketPath,s+=4,o),pv(a,0,s+=o,s+8),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, direct-streamlocal@openssh.com)`),Pe(this,this._packetRW.write.finalize(a))}openssh_noMoreSessions(e){if(this._server)throw new Error("Client-only method called in server mode");let r=this._packetRW.write.allocStart,n=this._packetRW.write.alloc(34);n[r]=we.GLOBAL_REQUEST,R(n,28,++r),n.utf8Write("no-more-sessions@openssh.com",r+=4,28),n[r+=28]=e===void 0||e===!0?1:0,this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (no-more-sessions@openssh.com)"),Pe(this,this._packetRW.write.finalize(n))}session(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(24);o[i]=we.CHANNEL_OPEN,R(o,7,++i),o.utf8Write("session",i+=4,7),R(o,e,i+=7),R(o,r,i+=4),R(o,n,i+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, session)`),Pe(this,this._packetRW.write.finalize(o))}windowChange(e,r,n,i,o){if(this._server)throw new Error("Client-only method called in server mode");let s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(39);a[s]=we.CHANNEL_REQUEST,R(a,e,++s),R(a,13,s+=4),a.utf8Write("window-change",s+=4,13),a[s+=13]=0,R(a,n,++s),R(a,r,s+=4),R(a,o,s+=4),R(a,i,s+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, window-change)`),Pe(this,this._packetRW.write.finalize(a))}pty(e,r,n,i,o,s,a,u){if(this._server)throw new Error("Client-only method called in server mode");(!s||!s.length)&&(s="vt100"),a&&!Buffer.isBuffer(a)&&!Array.isArray(a)&&typeof a=="object"&&a!==null&&(a=Pv(a)),(!a||!a.length)&&(a=bv);let l=s.length,d=a.length,p=this._packetRW.write.allocStart,g=this._packetRW.write.alloc(21+l+4+4+4+4+4+d);if(g[p]=we.CHANNEL_REQUEST,R(g,e,++p),R(g,7,p+=4),g.utf8Write("pty-req",p+=4,7),g[p+=7]=u===void 0||u===!0?1:0,R(g,l,++p),g.utf8Write(s,p+=4,l),R(g,n,p+=l),R(g,r,p+=4),R(g,o,p+=4),R(g,i,p+=4),R(g,d,p+=4),p+=4,Array.isArray(a))for(let h=0;h<d;++h)g[p++]=a[h];else Buffer.isBuffer(a)&&g.set(a,p);this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, pty-req)`),Pe(this,this._packetRW.write.finalize(g))}shell(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(15);i[n]=we.CHANNEL_REQUEST,R(i,e,++n),R(i,5,n+=4),i.utf8Write("shell",n+=4,5),i[n+=5]=r===void 0||r===!0?1:0,this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, shell)`),Pe(this,this._packetRW.write.finalize(i))}exec(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.isBuffer(r),o=i?r.length:Buffer.byteLength(r),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(18+o);a[s]=we.CHANNEL_REQUEST,R(a,e,++s),R(a,4,s+=4),a.utf8Write("exec",s+=4,4),a[s+=4]=n===void 0||n===!0?1:0,R(a,o,++s),i?a.set(r,s+=4):a.utf8Write(r,s+=4,o),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, exec: ${r})`),Pe(this,this._packetRW.write.finalize(a))}signal(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=r;if(r=r.toUpperCase(),r.slice(0,3)==="SIG"&&(r=r.slice(3)),bm[r]!==1)throw new Error(`Invalid signal: ${n}`);let i=r.length,o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(20+i);s[o]=we.CHANNEL_REQUEST,R(s,e,++o),R(s,6,o+=4),s.utf8Write("signal",o+=4,6),s[o+=6]=0,R(s,i,++o),s.utf8Write(r,o+=4,i),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, signal: ${r})`),Pe(this,this._packetRW.write.finalize(s))}env(e,r,n,i){if(this._server)throw new Error("Client-only method called in server mode");let o=Buffer.byteLength(r),s=Buffer.isBuffer(n),a=s?n.length:Buffer.byteLength(n),u=this._packetRW.write.allocStart,l=this._packetRW.write.alloc(17+o+4+a);l[u]=we.CHANNEL_REQUEST,R(l,e,++u),R(l,3,u+=4),l.utf8Write("env",u+=4,3),l[u+=3]=i===void 0||i===!0?1:0,R(l,o,++u),l.utf8Write(r,u+=4,o),R(l,a,u+=o),s?l.set(n,u+=4):l.utf8Write(n,u+=4,a),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, env: ${r}=${n})`),Pe(this,this._packetRW.write.finalize(l))}x11Forward(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=r.protocol,o=r.cookie,s=Buffer.isBuffer(i),a=s?i.length:Buffer.byteLength(i),u=Buffer.isBuffer(o),l=u?o.length:Buffer.byteLength(o),d=this._packetRW.write.allocStart,p=this._packetRW.write.alloc(22+a+4+l+4);p[d]=we.CHANNEL_REQUEST,R(p,e,++d),R(p,7,d+=4),p.utf8Write("x11-req",d+=4,7),p[d+=7]=n===void 0||n===!0?1:0,p[++d]=r.single?1:0,R(p,a,++d),s?p.set(i,d+=4):p.utf8Write(i,d+=4,a),R(p,l,d+=a),u?p.set(o,d+=4):p.latin1Write(o,d+=4,l),R(p,r.screen||0,d+=l),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, x11-req)`),Pe(this,this._packetRW.write.finalize(p))}subsystem(e,r,n){if(this._server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(r),o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(23+i);s[o]=we.CHANNEL_REQUEST,R(s,e,++o),R(s,9,o+=4),s.utf8Write("subsystem",o+=4,9),s[o+=9]=n===void 0||n===!0?1:0,R(s,i,++o),s.utf8Write(r,o+=4,i),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, subsystem: ${r})`),Pe(this,this._packetRW.write.finalize(s))}openssh_agentForward(e,r){if(this._server)throw new Error("Client-only method called in server mode");let n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(36);i[n]=we.CHANNEL_REQUEST,R(i,e,++n),R(i,26,n+=4),i.utf8Write("auth-agent-req@openssh.com",n+=4,26),i[n+=26]=r===void 0||r===!0?1:0,this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, auth-agent-req@openssh.com)`),Pe(this,this._packetRW.write.finalize(i))}openssh_hostKeysProve(e){if(this._server)throw new Error("Client-only method called in server mode");let r=0,n=[];for(let s of e){let a=s.getPublicSSH();r+=4+a.length,n.push(a)}let i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(35+r);o[i]=we.GLOBAL_REQUEST,R(o,29,++i),o.utf8Write("hostkeys-prove-00@openssh.com",i+=4,29),o[i+=29]=1,++i;for(let s of n)R(o,s.length,i),Ka(s,o,0,s.length,i+=4),i+=s.length;this._debug&&this._debug("Outbound: Sending GLOBAL_REQUEST (hostkeys-prove-00@openssh.com)"),Pe(this,this._packetRW.write.finalize(o))}serviceAccept(e){if(!this._server)throw new Error("Server-only method called in client mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r);if(i[n]=we.SERVICE_ACCEPT,R(i,r,++n),i.utf8Write(e,n+=4,r),this._debug&&this._debug(`Outbound: Sending SERVICE_ACCEPT (${e})`),Pe(this,this._packetRW.write.finalize(i)),this._server&&this._banner&&e==="ssh-userauth"){let o=this._banner;this._banner=void 0;let s=Buffer.byteLength(o);n=this._packetRW.write.allocStart;let a=this._packetRW.write.alloc(5+s+4);a[n]=we.USERAUTH_BANNER,R(a,s,++n),a.utf8Write(o,n+=4,s),R(a,0,n+=s),this._debug&&this._debug("Outbound: Sending USERAUTH_BANNER"),Pe(this,this._packetRW.write.finalize(a))}}forwardedTcpip(e,r,n,i){if(!this._server)throw new Error("Server-only method called in client mode");let o=Buffer.byteLength(i.boundAddr),s=Buffer.byteLength(i.remoteAddr),a=this._packetRW.write.allocStart,u=this._packetRW.write.alloc(36+o+4+4+s+4);u[a]=we.CHANNEL_OPEN,R(u,15,++a),u.utf8Write("forwarded-tcpip",a+=4,15),R(u,e,a+=15),R(u,r,a+=4),R(u,n,a+=4),R(u,o,a+=4),u.utf8Write(i.boundAddr,a+=4,o),R(u,i.boundPort,a+=o),R(u,s,a+=4),u.utf8Write(i.remoteAddr,a+=4,s),R(u,i.remotePort,a+=s),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, forwarded-tcpip)`),Pe(this,this._packetRW.write.finalize(u))}x11(e,r,n,i){if(!this._server)throw new Error("Server-only method called in client mode");let o=Buffer.byteLength(i.originAddr),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(24+o+4);a[s]=we.CHANNEL_OPEN,R(a,3,++s),a.utf8Write("x11",s+=4,3),R(a,e,s+=3),R(a,r,s+=4),R(a,n,s+=4),R(a,o,s+=4),a.utf8Write(i.originAddr,s+=4,o),R(a,i.originPort,s+=o),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, x11)`),Pe(this,this._packetRW.write.finalize(a))}openssh_authAgent(e,r,n){if(!this._server)throw new Error("Server-only method called in client mode");let i=this._packetRW.write.allocStart,o=this._packetRW.write.alloc(39);o[i]=we.CHANNEL_OPEN,R(o,22,++i),o.utf8Write("auth-agent@openssh.com",i+=4,22),R(o,e,i+=22),R(o,r,i+=4),R(o,n,i+=4),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, auth-agent@openssh.com)`),Pe(this,this._packetRW.write.finalize(o))}openssh_forwardedStreamLocal(e,r,n,i){if(!this._server)throw new Error("Server-only method called in client mode");let o=Buffer.byteLength(i.socketPath),s=this._packetRW.write.allocStart,a=this._packetRW.write.alloc(54+o+4);a[s]=we.CHANNEL_OPEN,R(a,33,++s),a.utf8Write("forwarded-streamlocal@openssh.com",s+=4,33),R(a,e,s+=33),R(a,r,s+=4),R(a,n,s+=4),R(a,o,s+=4),a.utf8Write(i.socketPath,s+=4,o),R(a,0,s+=o),this._debug&&this._debug(`Outbound: Sending CHANNEL_OPEN (r:${e}, forwarded-streamlocal@openssh.com)`),Pe(this,this._packetRW.write.finalize(a))}exitStatus(e,r){if(!this._server)throw new Error("Server-only method called in client mode");let n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(25);i[n]=we.CHANNEL_REQUEST,R(i,e,++n),R(i,11,n+=4),i.utf8Write("exit-status",n+=4,11),i[n+=11]=0,R(i,r,++n),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, exit-status: ${r})`),Pe(this,this._packetRW.write.finalize(i))}exitSignal(e,r,n,i){if(!this._server)throw new Error("Server-only method called in client mode");let o=r;if(typeof o!="string"||!o)throw new Error(`Invalid signal: ${o}`);let s=r.toUpperCase();if(s.slice(0,3)==="SIG"&&(s=s.slice(3)),bm[s]!==1)throw new Error(`Invalid signal: ${o}`);let a=Buffer.byteLength(s),u=i?Buffer.byteLength(i):0,l=this._packetRW.write.allocStart,d=this._packetRW.write.alloc(25+a+1+4+u+4);d[l]=we.CHANNEL_REQUEST,R(d,e,++l),R(d,11,l+=4),d.utf8Write("exit-signal",l+=4,11),d[l+=11]=0,R(d,a,++l),d.utf8Write(s,l+=4,a),d[l+=a]=n?1:0,R(d,u,++l),l+=4,u&&(d.utf8Write(i,l,u),l+=u),R(d,0,l),this._debug&&this._debug(`Outbound: Sending CHANNEL_REQUEST (r:${e}, exit-signal: ${r})`),Pe(this,this._packetRW.write.finalize(d))}authFailure(e,r){if(!this._server)throw new Error("Server-only method called in client mode");if(this._authsQueue.length===0)throw new Error("No auth in progress");let n;if(typeof e=="boolean"&&(r=e,e=void 0),e){n=[];for(let a=0;a<e.length;++a)e[a].toLowerCase()!=="none"&&n.push(e[a]);n=n.join(",")}else n="";let i=n.length,o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(5+i+1);s[o]=we.USERAUTH_FAILURE,R(s,i,++o),s.utf8Write(n,o+=4,i),s[o+=i]=r===!0?1:0,this._authsQueue.shift(),this._debug&&this._debug("Outbound: Sending USERAUTH_FAILURE"),Pe(this,this._packetRW.write.finalize(s))}authSuccess(){if(!this._server)throw new Error("Server-only method called in client mode");if(this._authsQueue.length===0)throw new Error("No auth in progress");let e=this._packetRW.write.allocStart,r=this._packetRW.write.alloc(1);r[e]=we.USERAUTH_SUCCESS,this._authsQueue.shift(),this._authenticated=!0,this._debug&&this._debug("Outbound: Sending USERAUTH_SUCCESS"),Pe(this,this._packetRW.write.finalize(r)),this._kex.negotiated.cs.compress==="zlib@openssh.com"&&(this._packetRW.read=new km),this._kex.negotiated.sc.compress==="zlib@openssh.com"&&(this._packetRW.write=new Rm(this))}authPKOK(e,r){if(!this._server)throw new Error("Server-only method called in client mode");if(this._authsQueue.length===0||this._authsQueue[0]!=="publickey")throw new Error('"publickey" auth not in progress');let n=Buffer.byteLength(e),i=r.length,o=this._packetRW.write.allocStart,s=this._packetRW.write.alloc(5+n+4+i);s[o]=we.USERAUTH_PK_OK,R(s,n,++o),s.utf8Write(e,o+=4,n),R(s,i,o+=n),s.set(r,o+=4),this._authsQueue.shift(),this._debug&&this._debug("Outbound: Sending USERAUTH_PK_OK"),Pe(this,this._packetRW.write.finalize(s))}authPasswdChg(e){if(!this._server)throw new Error("Server-only method called in client mode");let r=Buffer.byteLength(e),n=this._packetRW.write.allocStart,i=this._packetRW.write.alloc(5+r+4);i[n]=we.USERAUTH_PASSWD_CHANGEREQ,R(i,r,++n),i.utf8Write(e,n+=4,r),R(i,0,n+=r),this._debug&&this._debug("Outbound: Sending USERAUTH_PASSWD_CHANGEREQ"),Pe(this,this._packetRW.write.finalize(i))}authInfoReq(e,r,n){if(!this._server)throw new Error("Server-only method called in client mode");let i=0,o=e?Buffer.byteLength(e):0,s=r?Buffer.byteLength(r):0;for(let l=0;l<n.length;++l)i+=4+Buffer.byteLength(n[l].prompt)+1;let a=this._packetRW.write.allocStart,u=this._packetRW.write.alloc(5+o+4+s+4+4+i);u[a]=we.USERAUTH_INFO_REQUEST,R(u,o,++a),a+=4,e&&(u.utf8Write(e,a,o),a+=o),R(u,s,a),a+=4,r&&(u.utf8Write(r,a,s),a+=s),R(u,0,a),R(u,n.length,a+=4),a+=4;for(let l=0;l<n.length;++l){let d=n[l],p=Buffer.byteLength(d.prompt);R(u,p,a),a+=4,p&&(u.utf8Write(d.prompt,a,p),a+=p),u[a++]=d.echo?1:0}this._debug&&this._debug("Outbound: Sending USERAUTH_INFO_REQUEST"),Pe(this,this._packetRW.write.finalize(u))}},xv=/^SSH-(2\.0|1\.99)-([^ ]+)(?: (.*))?$/;function Iv(t,e,r){let n,i;this._buffer?(n=Buffer.allocUnsafe(this._buffer.length+(r-e)),n.set(this._buffer,0),e===0?n.set(t,this._buffer.length):n.set(new Uint8Array(t.buffer,t.byteOffset+e,r-e),this._buffer.length),i=this._buffer.length,e=0):(n=t,i=0);let o=e,s=e,a=e,u=!1,l=0,d=0;for(;e<n.length;++e){let p=n[e];if(p===13){u=!0;continue}if(p===10){if(a>s&&a-s>4&&n[s]===83&&n[s+1]===83&&n[s+2]===72&&n[s+3]===45){let g=n.latin1Slice(o,a+1),h=s===o?g:g.slice(s-o),_=xv.exec(h);if(!_)throw new Error("Invalid identification string");let A={greeting:s===o?"":g.slice(0,s-o),identRaw:h,versions:{protocol:_[1],software:_[2]},comments:_[3]};return this._remoteIdentRaw=Buffer.from(h),this._debug&&this._debug(`Remote ident: ${wm(h)}`),this._compatFlags=wv(A),this._buffer=void 0,this._decipher=new sv(0,fv.bind(this,{firstPacket:!0})),this._parse=vv,this._onHeader(A),this._destruct?(Tm(this),e+1-i):r}if(this._server)throw new Error("Greetings from clients not permitted");if(++d>Av)throw new Error("Max greeting lines exceeded");u=!1,s=e+1,l=0}else{if(u)throw new Error("Invalid header: expected newline");if(++l>=Ev)throw new Error("Header line too long")}a=e}return this._buffer||(this._buffer=Cm(n,o)),e-i}c(Iv,"parseHeader");function vv(t,e,r){return this._decipher.decrypt(t,e,r)}c(vv,"parsePacket");function Sv(t){if(this._onPacket(),t.length===0){this._debug&&this._debug("Inbound: Skipping empty packet payload");return}t=this._packetRW.read.read(t);let e=t[0];e===we.USERAUTH_SUCCESS&&!this._server&&!this._authenticated&&(this._authenticated=!0,this._kex.negotiated.cs.compress==="zlib@openssh.com"&&(this._packetRW.write=new Rm(this)),this._kex.negotiated.sc.compress==="zlib@openssh.com"&&(this._packetRW.read=new km));let r=dv[e];if(r===void 0){this._debug&&this._debug(`Inbound: Unsupported message type: ${e}`);return}return r(this,t)}c(Sv,"onPayload");function wv(t){let e=t.versions.software,r=0;for(let n of av)typeof n[0]=="string"?e===n[0]&&(r|=n[1]):n[0].test(e)&&(r|=n[1]);return r}c(wv,"getCompatFlags");function Pv(t){let e=Object.keys(t),r=Buffer.allocUnsafe(5*e.length+1),n=0;for(let i=0;i<e.length;++i){let o=e[i];if(o==="TTY_OP_END")continue;let s=Hl[o];if(s===void 0)continue;let a=t[o];typeof a=="number"&&isFinite(a)&&(r[n++]=s,r[n++]=a>>>24,r[n++]=a>>>16,r[n++]=a>>>8,r[n++]=a)}return r[n++]=Hl.TTY_OP_END,n<r.length?Cm(r,0,n):r}c(Pv,"modesToBytes");function Tv(t){let e="ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss";cv&&(e=`ssh-ed25519,${e}`);let r=Buffer.byteLength(e),n=t._packetRW.write.allocStart,i=t._packetRW.write.alloc(28+r);i[n]=we.EXT_INFO,R(i,1,++n),R(i,15,n+=4),i.utf8Write("server-sig-algs",n+=4,15),R(i,r,n+=15),i.utf8Write(e,n+=4,r),t._debug&&t._debug("Outbound: Sending EXT_INFO"),Pe(t,t._packetRW.write.finalize(i))}c(Tv,"sendExtInfo");Om.exports=jl});var zm=le(ds=>{"use strict";var Ga=require("assert"),{inspect:Cv}=require("util");function $m(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}c($m,"addNumericalSeparator");function Dm(t,e){if(Ga(typeof e=="string","`thing` has to be of type string"),Array.isArray(t)){let r=t.length;return Ga(r>0,"At least one expected value needs to be specified"),t=t.map(n=>String(n)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}return`of ${e} ${String(t)}`}c(Dm,"oneOf");ds.ERR_INTERNAL_ASSERTION=class Um extends Error{static{c(this,"ERR_INTERNAL_ASSERTION")}constructor(e){super(),Error.captureStackTrace(this,Um);let r=`This is caused by either a bug in ssh2 or incorrect usage of ssh2 internals.
17
17
  Please open an issue with this stack trace at https://github.com/mscdex/ssh2/issues
18
18
  `;this.message=e===void 0?r:`${e}
19
- ${r}`}};var bv=2**32,Tm=(()=>{try{return new Function("return 2n ** 32n")()}catch{}})();ds.ERR_OUT_OF_RANGE=class Cm extends RangeError{static{c(this,"ERR_OUT_OF_RANGE")}constructor(e,r,n,i){super(),Error.captureStackTrace(this,Cm),Ga(r,'Missing "range" argument');let o=i?e:`The value of "${e}" is out of range.`,s;Number.isInteger(n)&&Math.abs(n)>bv?s=wm(String(n)):typeof n=="bigint"?(s=String(n),(n>Tm||n<-Tm)&&(s=wm(s)),s+="n"):s=Av(n),o+=` It must be ${r}. Received ${s}`,this.message=o}};var Za=class t extends TypeError{static{c(this,"ERR_INVALID_ARG_TYPE")}constructor(e,r,n){super(),Error.captureStackTrace(this,t),Ga(typeof e=="string","'name' must be a string");let i;typeof r=="string"&&r.startsWith("not ")?(i="must not be",r=r.replace(/^not /,"")):i="must be";let o;if(e.endsWith(" argument"))o=`The ${e} ${i} ${Pm(r,"type")}`;else{let s=e.includes(".")?"property":"argument";o=`The "${e}" ${s} ${i} ${Pm(r,"type")}`}o+=`. Received type ${typeof n}`,this.message=o}};ds.ERR_INVALID_ARG_TYPE=Za;ds.validateNumber=c(function(e,r){if(typeof e!="number")throw new Za(r,"number",e)},"validateNumber")});var ps=le((_F,Wm)=>{"use strict";var xv=require("events"),Wn=require("fs"),{constants:Pr}=Wn,{Readable:Um,Writable:Yl}=require("stream"),{inherits:Lm,types:{isDate:ql}}=require("util"),Iv=Buffer[Symbol.species],{bufferCopy:jn,bufferSlice:io,makeBufferParser:vv,writeUInt32BE:K}=Qr(),In={SIZE:1,UIDGID:2,PERMISSIONS:4,ACMODTIME:8,EXTENDED:2147483648},$e=Buffer.alloc(28),ht={OK:0,EOF:1,NO_SUCH_FILE:2,PERMISSION_DENIED:3,FAILURE:4,BAD_MESSAGE:5,NO_CONNECTION:6,CONNECTION_LOST:7,OP_UNSUPPORTED:8},Sv=new Map(Object.values(ht).map(t=>[t,1])),wv={[ht.OK]:"No error",[ht.EOF]:"End of file",[ht.NO_SUCH_FILE]:"No such file or directory",[ht.PERMISSION_DENIED]:"Permission denied",[ht.FAILURE]:"Failure",[ht.BAD_MESSAGE]:"Bad message",[ht.NO_CONNECTION]:"No connection",[ht.CONNECTION_LOST]:"Connection lost",[ht.OP_UNSUPPORTED]:"Operation unsupported"},Ne={INIT:1,OPEN:3,CLOSE:4,READ:5,WRITE:6,LSTAT:7,FSTAT:8,SETSTAT:9,FSETSTAT:10,OPENDIR:11,READDIR:12,REMOVE:13,MKDIR:14,RMDIR:15,REALPATH:16,STAT:17,RENAME:18,READLINK:19,SYMLINK:20,EXTENDED:200},Tr={VERSION:2,STATUS:101,HANDLE:102,DATA:103,NAME:104,ATTRS:105,EXTENDED:201},Te={READ:1,WRITE:2,APPEND:4,CREAT:8,TRUNC:16,EXCL:32},Nm=2*1024,St=2**32-1,Pv=Buffer.from([0,0,0,5,Ne.INIT,0,0,0,3]),Tv=Buffer.from([0,0,0,5,Tr.VERSION,0,0,0,3]),kv=/^SSH-2.0-(?:OpenSSH|dropbear)/,jl=256*1024,U=vv(),Cv={readable:!1,writable:!1,push:c(t=>{},"push"),once:c(()=>{},"once"),on:c(()=>{},"on"),emit:c(()=>{},"emit"),end:c(()=>{},"end")};function zm(){}c(zm,"noop");var Ql=class extends xv{static{c(this,"SFTP")}constructor(e,r,n){super(),(typeof n!="object"||!n)&&(n={});let i=e._protocol._remoteIdentRaw;this.server=!!n.server,this._debug=typeof n.debug=="function"?n.debug:void 0,this._isOpenSSH=i&&kv.test(i),this._version=-1,this._extensions={},this._biOpt=n.biOpt,this._pktLenBytes=0,this._pktLen=0,this._pktPos=0,this._pktType=0,this._pktData=void 0,this._writeReqid=-1,this._requests={},this._maxInPktLen=jl,this._maxOutPktLen=34e3,this._maxReadLen=(this._isOpenSSH?jl:34e3)-Nm,this._maxWriteLen=(this._isOpenSSH?jl:34e3)-Nm,this.maxOpenHandles=void 0,this._client=e,this._protocol=e._protocol,this._callbacks=[],this._hasX11=!1,this._exit={code:void 0,signal:void 0,dump:void 0,desc:void 0},this._waitWindow=!1,this._chunkcb=void 0,this._buffer=[],this.type=r.type,this.subtype=void 0,this.incoming=r.incoming,this.outgoing=r.outgoing,this.stderr=Cv,this.readable=!0}push(e){if(e===null){if(jm(this),!this.readable)return;this.readable=!1,this.emit("end");return}let r=0;for(;r<e.length;){if(this._pktLenBytes<4){let s=Math.min(4-this._pktLenBytes,e.length-r);for(this._pktLenBytes+=s;s--;)this._pktLen=(this._pktLen<<8)+e[r++];if(this._pktLenBytes<4)return;if(this._pktLen===0)return yt(this,"Invalid packet length");if(this._pktLen>this._maxInPktLen){let a=this._maxInPktLen;return yt(this,`Packet length ${this._pktLen} exceeds max length of ${a}`)}if(r>=e.length)return}if(this._pktPos<this._pktLen){let s=Math.min(this._pktLen-this._pktPos,e.length-r);if(r!==0||s!==e.length?s===this._pktLen?this._pkt=new Iv(e.buffer,e.byteOffset+r,s):(this._pkt||(this._pkt=Buffer.allocUnsafe(this._pktLen)),this._pkt.set(new Uint8Array(e.buffer,e.byteOffset+r,s),this._pktPos)):s===this._pktLen?this._pkt=e:(this._pkt||(this._pkt=Buffer.allocUnsafe(this._pktLen)),this._pkt.set(e,this._pktPos)),r+=s,this._pktPos+=s,this._pktPos<this._pktLen)return}let n=this._pkt[0],i=this._pkt;this._pktLen=0,this._pktLenBytes=0,this._pkt=void 0,this._pktPos=0;let o=this.server?Dv[n]:$v[n];if(!o)return yt(this,`Unknown packet type ${n}`);if(this._version===-1){if(this.server){if(n!==Ne.INIT)return yt(this,`Expected INIT packet, got ${n}`)}else if(n!==Tr.VERSION)return yt(this,`Expected VERSION packet, got ${n}`)}if(o(this,i)===!1)return}}end(){this.destroy()}destroy(){(this.outgoing.state==="open"||this.outgoing.state==="eof")&&(this.outgoing.state="closing",this._protocol.channelClose(this.outgoing.id))}_init(){this._init=zm,this.server||lt(this,Pv)}createReadStream(e,r){if(this.server)throw new Error("Client-only method called in server mode");return new vn(this,e,r)}createWriteStream(e,r){if(this.server)throw new Error("Client-only method called in server mode");return new Fr(this,e,r)}open(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");typeof n=="function"&&(i=n,n=void 0);let o=typeof r=="number"?r:Fm(r);if(o===null)throw new Error(`Unknown flags string: ${r}`);let s=0,a=0;(typeof n=="string"||typeof n=="number")&&(n={mode:n}),typeof n=="object"&&n!==null&&(n=fi(n),s=n.flags,a=n.nb);let u=Buffer.byteLength(e),l=9,d=Buffer.allocUnsafe(13+u+4+4+a);K(d,d.length-4,0),d[4]=Ne.OPEN;let p=this._writeReqid=this._writeReqid+1&St;K(d,p,5),K(d,u,l),d.utf8Write(e,l+=4,u),K(d,o,l+=u),K(d,s,l+=4),a&&(l+=4,a===$e.length?d.set($e,l):jn($e,d,0,a,l),l+=a),this._requests[p]={cb:i};let g=lt(this,d);this._debug&&this._debug(`SFTP: Outbound: ${g?"Buffered":"Sending"} OPEN`)}close(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let n=e.length,i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Ne.CLOSE;let s=this._writeReqid=this._writeReqid+1&St;K(o,s,5),K(o,n,i),o.set(e,i+=4),this._requests[s]={cb:r};let a=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} CLOSE`)}read(e,r,n,i,o,s){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");if(!Buffer.isBuffer(r))throw new Error("buffer is not a Buffer");if(n>=r.length)throw new Error("offset is out of bounds");if(n+i>r.length)throw new Error("length extends beyond buffer");if(o===null)throw new Error("null position currently unsupported");Mm(this,e,r,n,i,o,s)}readData(e,r,n,i,o,s){this.read(e,r,n,i,o,s)}write(e,r,n,i,o,s){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");if(!Buffer.isBuffer(r))throw new Error("buffer is not a Buffer");if(n>r.length)throw new Error("offset is out of bounds");if(n+i>r.length)throw new Error("length extends beyond buffer");if(o===null)throw new Error("null position currently unsupported");if(!i){s&&process.nextTick(s,void 0,0);return}let a=this._maxWriteLen,u=Math.max(i-a,0),l=o;u&&(i=a);let d=e.length,p=9,g=Buffer.allocUnsafe(13+d+8+4+i);K(g,g.length-4,0),g[4]=Ne.WRITE;let h=this._writeReqid=this._writeReqid+1&St;K(g,h,5),K(g,d,p),g.set(e,p+=4),p+=d;for(let A=7;A>=0;--A)g[p+A]=o&255,o/=256;K(g,i,p+=8),jn(r,g,n,n+i,p+=4),this._requests[h]={cb:c(A=>{A?typeof s=="function"&&s(A):u?this.write(e,r,n+i,u,l+i,s):typeof s=="function"&&s(void 0,n+i)},"cb")};let _=lt(this,g);if(this._debug){let A=_?"Sent":"Buffered";this._debug(`SFTP: Outbound: ${A} WRITE (id:${h})`)}}writeData(e,r,n,i,o,s){this.write(e,r,n,i,o,s)}fastGet(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");Om(this,Wn,e,r,n,i)}fastPut(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");Om(Wn,this,e,r,n,i)}readFile(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i;if(typeof n=="function"?i=n:typeof r=="function"&&(i=r,r=void 0),typeof r=="string")r={encoding:r,flag:"r"};else if(!r)r={encoding:null,flag:"r"};else if(typeof r!="object")throw new TypeError("Bad arguments");let o=r.encoding;if(o&&!Buffer.isEncoding(o))throw new Error(`Unknown encoding: ${o}`);let s,a,u,l=0,d,p=0,g=r.flag||"r",h=c(()=>{s===0?(a=Buffer.allocUnsafe(8192),this.read(d,a,0,8192,p,_)):this.read(d,a,l,s-l,p,_)},"read"),_=c((b,I)=>{let w;if(b){if(w=b.code===ht.EOF,!w)return this.close(d,()=>i&&i(b))}else w=!1;if(w||s===0&&I===0)return A();p+=I,l+=I,s!==0?l===s?A():h():(u.push(io(a,0,I)),h())},"afterRead");_._wantEOFError=!0;let A=c(()=>{this.close(d,b=>(s===0?a=Buffer.concat(u,l):l<s&&(a=io(a,0,l)),o&&(a=a.toString(o)),i&&i(b,a)))},"close");this.open(e,g,438,(b,I)=>{if(b)return i&&i(b);d=I;let w=c((H,$)=>{if(H){this.stat(e,(X,Z)=>{if(X)return this.close(d,()=>{i&&i(H)});w(null,Z)});return}if(s=$.size||0,s===0)return u=[],h();a=Buffer.allocUnsafe(s),h()},"tryStat");this.fstat(d,w)})}writeFile(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");let o;if(typeof i=="function"?o=i:typeof n=="function"&&(o=n,n=void 0),typeof n=="string")n={encoding:n,mode:438,flag:"w"};else if(!n)n={encoding:"utf8",mode:438,flag:"w"};else if(typeof n!="object")throw new TypeError("Bad arguments");if(n.encoding&&!Buffer.isEncoding(n.encoding))throw new Error(`Unknown encoding: ${n.encoding}`);let s=n.flag||"w";this.open(e,s,n.mode,(a,u)=>{if(a)o&&o(a);else{let l=Buffer.isBuffer(r)?r:Buffer.from(""+r,n.encoding||"utf8"),d=/a/.test(s)?null:0;if(d===null){let p=c((g,h)=>{if(g){this.stat(e,(_,A)=>{if(_)return this.close(u,()=>{o&&o(g)});p(null,A)});return}Vl(this,u,l,0,l.length,h.size,o)},"tryStat");this.fstat(u,p);return}Vl(this,u,l,0,l.length,d,o)}})}appendFile(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");let o;if(typeof i=="function"?o=i:typeof n=="function"&&(o=n,n=void 0),typeof n=="string")n={encoding:n,mode:438,flag:"a"};else if(!n)n={encoding:"utf8",mode:438,flag:"a"};else if(typeof n!="object")throw new TypeError("Bad arguments");n.flag||(n=Object.assign({flag:"a"},n)),this.writeFile(e,r,n,o)}exists(e,r){if(this.server)throw new Error("Client-only method called in server mode");this.stat(e,n=>{r&&r(!n)})}unlink(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Ne.REMOVE;let s=this._writeReqid=this._writeReqid+1&St;K(o,s,5),K(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} REMOVE`)}rename(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(e),o=Buffer.byteLength(r),s=9,a=Buffer.allocUnsafe(13+i+4+o);K(a,a.length-4,0),a[4]=Ne.RENAME;let u=this._writeReqid=this._writeReqid+1&St;K(a,u,5),K(a,i,s),a.utf8Write(e,s+=4,i),K(a,o,s+=i),a.utf8Write(r,s+=4,o),this._requests[u]={cb:n};let l=lt(this,a);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} RENAME`)}mkdir(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=0,o=0;typeof r=="function"&&(n=r,r=void 0),typeof r=="object"&&r!==null&&(r=fi(r),i=r.flags,o=r.nb);let s=Buffer.byteLength(e),a=9,u=Buffer.allocUnsafe(13+s+4+o);K(u,u.length-4,0),u[4]=Ne.MKDIR;let l=this._writeReqid=this._writeReqid+1&St;K(u,l,5),K(u,s,a),u.utf8Write(e,a+=4,s),K(u,i,a+=s),o&&(a+=4,o===$e.length?u.set($e,a):jn($e,u,0,o,a),a+=o),this._requests[l]={cb:n};let d=lt(this,u);this._debug&&this._debug(`SFTP: Outbound: ${d?"Buffered":"Sending"} MKDIR`)}rmdir(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Ne.RMDIR;let s=this._writeReqid=this._writeReqid+1&St;K(o,s,5),K(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} RMDIR`)}readdir(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");typeof r=="function"&&(n=r,r={}),(typeof r!="object"||r===null)&&(r={});let i=!(r&&r.full);if(!Buffer.isBuffer(e)&&typeof e!="string")throw new Error("missing directory handle or path");if(typeof e=="string"){let d=[],p=0,g=c((h,_)=>{if(h)return n(h);this.readdir(_,r,(A,b)=>{let I=A&&A.code===ht.EOF;if(A&&!I)return this.close(_,()=>n(A));if(I)return this.close(_,w=>{if(w)return n(w);n(void 0,d)});for(let w=0;w<b.length;++w,++p)d[p]=b[w];g(void 0,_)})},"reread");return this.opendir(e,g)}let o=e.length,s=9,a=Buffer.allocUnsafe(13+o);K(a,a.length-4,0),a[4]=Ne.READDIR;let u=this._writeReqid=this._writeReqid+1&St;K(a,u,5),K(a,o,s),a.set(e,s+=4),this._requests[u]={cb:i?(d,p)=>{if(typeof n=="function"){if(d)return n(d);for(let g=p.length-1;g>=0;--g)(p[g].filename==="."||p[g].filename==="..")&&p.splice(g,1);n(void 0,p)}}:n};let l=lt(this,a);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} READDIR`)}fstat(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let n=e.length,i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Ne.FSTAT;let s=this._writeReqid=this._writeReqid+1&St;K(o,s,5),K(o,n,i),o.set(e,i+=4),this._requests[s]={cb:r};let a=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} FSTAT`)}stat(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Ne.STAT;let s=this._writeReqid=this._writeReqid+1&St;K(o,s,5),K(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} STAT`)}lstat(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Ne.LSTAT;let s=this._writeReqid=this._writeReqid+1&St;K(o,s,5),K(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} LSTAT`)}opendir(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Ne.OPENDIR;let s=this._writeReqid=this._writeReqid+1&St;K(o,s,5),K(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} OPENDIR`)}setstat(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=0,o=0;typeof r=="object"&&r!==null?(r=fi(r),i=r.flags,o=r.nb):typeof r=="function"&&(n=r);let s=Buffer.byteLength(e),a=9,u=Buffer.allocUnsafe(13+s+4+o);K(u,u.length-4,0),u[4]=Ne.SETSTAT;let l=this._writeReqid=this._writeReqid+1&St;K(u,l,5),K(u,s,a),u.utf8Write(e,a+=4,s),K(u,i,a+=s),o&&(a+=4,o===$e.length?u.set($e,a):jn($e,u,0,o,a),a+=o),this._requests[l]={cb:n};let d=lt(this,u);this._debug&&this._debug(`SFTP: Outbound: ${d?"Buffered":"Sending"} SETSTAT`)}fsetstat(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let i=0,o=0;typeof r=="object"&&r!==null?(r=fi(r),i=r.flags,o=r.nb):typeof r=="function"&&(n=r);let s=e.length,a=9,u=Buffer.allocUnsafe(13+s+4+o);K(u,u.length-4,0),u[4]=Ne.FSETSTAT;let l=this._writeReqid=this._writeReqid+1&St;K(u,l,5),K(u,s,a),u.set(e,a+=4),K(u,i,a+=s),o&&(a+=4,o===$e.length?u.set($e,a):jn($e,u,0,o,a),a+=o),this._requests[l]={cb:n};let d=lt(this,u);this._debug&&this._debug(`SFTP: Outbound: ${d?"Buffered":"Sending"} FSETSTAT`)}futimes(e,r,n,i){return this.fsetstat(e,{atime:ro(r),mtime:ro(n)},i)}utimes(e,r,n,i){return this.setstat(e,{atime:ro(r),mtime:ro(n)},i)}fchown(e,r,n,i){return this.fsetstat(e,{uid:r,gid:n},i)}chown(e,r,n,i){return this.setstat(e,{uid:r,gid:n},i)}fchmod(e,r,n){return this.fsetstat(e,{mode:r},n)}chmod(e,r,n){return this.setstat(e,{mode:r},n)}readlink(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Ne.READLINK;let s=this._writeReqid=this._writeReqid+1&St;K(o,s,5),K(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:c((u,l)=>{if(typeof r=="function"){if(u)return r(u);if(!l||!l.length)return r(new Error("Response missing link info"));r(void 0,l[0].filename)}},"cb")};let a=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} READLINK`)}symlink(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(r),o=Buffer.byteLength(e),s=9,a=Buffer.allocUnsafe(13+i+4+o);K(a,a.length-4,0),a[4]=Ne.SYMLINK;let u=this._writeReqid=this._writeReqid+1&St;K(a,u,5),this._isOpenSSH?(K(a,o,s),a.utf8Write(e,s+=4,o),K(a,i,s+=o),a.utf8Write(r,s+=4,i)):(K(a,i,s),a.utf8Write(r,s+=4,i),K(a,o,s+=i),a.utf8Write(e,s+=4,o)),this._requests[u]={cb:n};let l=lt(this,a);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} SYMLINK`)}realpath(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Ne.REALPATH;let s=this._writeReqid=this._writeReqid+1&St;K(o,s,5),K(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:c((u,l)=>{if(typeof r=="function"){if(u)return r(u);if(!l||!l.length)return r(new Error("Response missing path info"));r(void 0,l[0].filename)}},"cb")};let a=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} REALPATH`)}ext_openssh_rename(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=this._extensions["posix-rename@openssh.com"];if(!i||i!=="1")throw new Error("Server does not support this extended request");let o=Buffer.byteLength(e),s=Buffer.byteLength(r),a=9,u=Buffer.allocUnsafe(41+o+4+s);K(u,u.length-4,0),u[4]=Ne.EXTENDED;let l=this._writeReqid=this._writeReqid+1&St;K(u,l,5),K(u,24,a),u.utf8Write("posix-rename@openssh.com",a+=4,24),K(u,o,a+=24),u.utf8Write(e,a+=4,o),K(u,s,a+=o),u.utf8Write(r,a+=4,s),this._requests[l]={cb:n};let d=lt(this,u);if(this._debug){let p=d?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${p} posix-rename@openssh.com`)}}ext_openssh_statvfs(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=this._extensions["statvfs@openssh.com"];if(!n||n!=="2")throw new Error("Server does not support this extended request");let i=Buffer.byteLength(e),o=9,s=Buffer.allocUnsafe(36+i);K(s,s.length-4,0),s[4]=Ne.EXTENDED;let a=this._writeReqid=this._writeReqid+1&St;K(s,a,5),K(s,19,o),s.utf8Write("statvfs@openssh.com",o+=4,19),K(s,i,o+=19),s.utf8Write(e,o+=4,i),this._requests[a]={extended:"statvfs@openssh.com",cb:r};let u=lt(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} statvfs@openssh.com`)}}ext_openssh_fstatvfs(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=this._extensions["fstatvfs@openssh.com"];if(!n||n!=="2")throw new Error("Server does not support this extended request");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let i=e.length,o=9,s=Buffer.allocUnsafe(37+i);K(s,s.length-4,0),s[4]=Ne.EXTENDED;let a=this._writeReqid=this._writeReqid+1&St;K(s,a,5),K(s,20,o),s.utf8Write("fstatvfs@openssh.com",o+=4,20),K(s,i,o+=20),s.set(e,o+=4),this._requests[a]={extended:"fstatvfs@openssh.com",cb:r};let u=lt(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} fstatvfs@openssh.com`)}}ext_openssh_hardlink(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["hardlink@openssh.com"]!=="1")throw new Error("Server does not support this extended request");let o=Buffer.byteLength(e),s=Buffer.byteLength(r),a=9,u=Buffer.allocUnsafe(37+o+4+s);K(u,u.length-4,0),u[4]=Ne.EXTENDED;let l=this._writeReqid=this._writeReqid+1&St;K(u,l,5),K(u,20,a),u.utf8Write("hardlink@openssh.com",a+=4,20),K(u,o,a+=20),u.utf8Write(e,a+=4,o),K(u,s,a+=o),u.utf8Write(r,a+=4,s),this._requests[l]={cb:n};let d=lt(this,u);if(this._debug){let p=d?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${p} hardlink@openssh.com`)}}ext_openssh_fsync(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["fsync@openssh.com"]!=="1")throw new Error("Server does not support this extended request");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let i=e.length,o=9,s=Buffer.allocUnsafe(34+i);K(s,s.length-4,0),s[4]=Ne.EXTENDED;let a=this._writeReqid=this._writeReqid+1&St;K(s,a,5),K(s,17,o),s.utf8Write("fsync@openssh.com",o+=4,17),K(s,i,o+=17),s.set(e,o+=4),this._requests[a]={cb:r};let u=lt(this,s);this._debug&&this._debug(`SFTP: Outbound: ${u?"Buffered":"Sending"} fsync@openssh.com`)}ext_openssh_lsetstat(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["lsetstat@openssh.com"]!=="1")throw new Error("Server does not support this extended request");let o=0,s=0;typeof r=="object"&&r!==null?(r=fi(r),o=r.flags,s=r.nb):typeof r=="function"&&(n=r);let a=Buffer.byteLength(e),u=9,l=Buffer.allocUnsafe(37+a+4+s);K(l,l.length-4,0),l[4]=Ne.EXTENDED;let d=this._writeReqid=this._writeReqid+1&St;K(l,d,5),K(l,20,u),l.utf8Write("lsetstat@openssh.com",u+=4,20),K(l,a,u+=20),l.utf8Write(e,u+=4,a),K(l,o,u+=a),s&&(u+=4,s===$e.length?l.set($e,u):jn($e,l,0,s,u),u+=s),this._requests[d]={cb:n};let p=lt(this,l);if(this._debug){let g=p?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${g} lsetstat@openssh.com`)}}ext_openssh_expandPath(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["expand-path@openssh.com"]!=="1")throw new Error("Server does not support this extended request");let i=Buffer.byteLength(e),o=9,s=Buffer.allocUnsafe(40+i);K(s,s.length-4,0),s[4]=Ne.EXTENDED;let a=this._writeReqid=this._writeReqid+1&St;K(s,a,5),K(s,23,o),s.utf8Write("expand-path@openssh.com",o+=4,23),K(s,i,o+=20),s.utf8Write(e,o+=4,i),this._requests[a]={cb:c((l,d)=>{if(typeof r=="function"){if(l)return r(l);if(!d||!d.length)return r(new Error("Response missing expanded path"));r(void 0,d[0].filename)}},"cb")};let u=lt(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} expand-path@openssh.com`)}}ext_copy_data(e,r,n,i,o,s){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["copy-data"]!=="1")throw new Error("Server does not support this extended request");if(!Buffer.isBuffer(e))throw new Error("Source handle is not a Buffer");if(!Buffer.isBuffer(i))throw new Error("Destination handle is not a Buffer");let u=0,l=Buffer.allocUnsafe(26+e.length+8+8+4+i.length+8);K(l,l.length-4,u),u+=4,l[u]=Ne.EXTENDED,++u;let d=this._writeReqid=this._writeReqid+1&St;K(l,d,u),u+=4,K(l,9,u),u+=4,l.utf8Write("copy-data",u,9),u+=9,K(l,e.length,u),u+=4,l.set(e,u),u+=e.length;for(let g=7;g>=0;--g)l[u+g]=r&255,r/=256;u+=8;for(let g=7;g>=0;--g)l[u+g]=n&255,n/=256;u+=8,K(l,i.length,u),u+=4,l.set(i,u),u+=i.length;for(let g=7;g>=0;--g)l[u+g]=o&255,o/=256;this._requests[d]={cb:s};let p=lt(this,l);if(this._debug){let g=p?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${g} copy-data`)}}ext_home_dir(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["home-directory"]!=="1")throw new Error("Server does not support this extended request");if(typeof e!="string")throw new TypeError("username is not a string");let i=0,o=Buffer.byteLength(e),s=Buffer.allocUnsafe(31+o);K(s,s.length-4,i),i+=4,s[i]=Ne.EXTENDED,++i;let a=this._writeReqid=this._writeReqid+1&St;K(s,a,i),i+=4,K(s,14,i),i+=4,s.utf8Write("home-directory",i,14),i+=14,K(s,o,i),i+=4,s.utf8Write(e,i,o),i+=o,this._requests[a]={cb:c((l,d)=>{if(typeof r=="function"){if(l)return r(l);if(!d||!d.length)return r(new Error("Response missing home directory"));r(void 0,d[0].filename)}},"cb")};let u=lt(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} home-directory`)}}ext_users_groups(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["users-groups-by-id@openssh.com"]!=="1")throw new Error("Server does not support this extended request");if(!Array.isArray(e))throw new TypeError("uids is not an array");for(let l of e)if(!Number.isInteger(l)||l<0||l>2**32-1)throw new Error("uid values must all be 32-bit unsigned integers");if(!Array.isArray(r))throw new TypeError("gids is not an array");for(let l of r)if(!Number.isInteger(l)||l<0||l>2**32-1)throw new Error("gid values must all be 32-bit unsigned integers");let o=0,s=Buffer.allocUnsafe(47+4*e.length+4+4*r.length);K(s,s.length-4,o),o+=4,s[o]=Ne.EXTENDED,++o;let a=this._writeReqid=this._writeReqid+1&St;K(s,a,o),o+=4,K(s,30,o),o+=4,s.utf8Write("users-groups-by-id@openssh.com",o,30),o+=30,K(s,4*e.length,o),o+=4;for(let l of e)K(s,l,o),o+=4;K(s,4*r.length,o),o+=4;for(let l of r)K(s,l,o),o+=4;this._requests[a]={extended:"users-groups-by-id@openssh.com",cb:n};let u=lt(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} users-groups-by-id@openssh.com`)}}handle(e,r){if(!this.server)throw new Error("Server-only method called in client mode");if(!Buffer.isBuffer(r))throw new Error("handle is not a Buffer");let n=r.length;if(n>256)throw new Error("handle too large (> 256 bytes)");let i=9,o=Buffer.allocUnsafe(13+n);K(o,o.length-4,0),o[4]=Tr.HANDLE,K(o,e,5),K(o,n,i),n&&o.set(r,i+=4);let s=lt(this,o);this._debug&&this._debug(`SFTP: Outbound: ${s?"Buffered":"Sending"} HANDLE`)}status(e,r,n){if(!this.server)throw new Error("Server-only method called in client mode");if(!Sv.has(r))throw new Error(`Bad status code: ${r}`);n||(n="");let i=Buffer.byteLength(n),o=9,s=Buffer.allocUnsafe(17+i+4);K(s,s.length-4,0),s[4]=Tr.STATUS,K(s,e,5),K(s,r,o),K(s,i,o+=4),o+=4,i&&(s.utf8Write(n,o,i),o+=i),K(s,0,o);let a=lt(this,s);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} STATUS`)}data(e,r,n){if(!this.server)throw new Error("Server-only method called in client mode");let i=Buffer.isBuffer(r);if(!i&&typeof r!="string")throw new Error("data is not a Buffer or string");let o;!i&&!n&&(n=void 0,o=!0);let s=i?r.length:Buffer.byteLength(r,n),a=9,u=Buffer.allocUnsafe(13+s);K(u,u.length-4,0),u[4]=Tr.DATA,K(u,e,5),K(u,s,a),s&&(i?u.set(r,a+=4):o?u.utf8Write(r,a+=4,s):u.write(r,a+=4,s,n));let l=lt(this,u);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} DATA`)}name(e,r){if(!this.server)throw new Error("Server-only method called in client mode");if(!Array.isArray(r)){if(typeof r!="object"||r===null)throw new Error("names is not an object or array");r=[r]}let n=r.length,i=0,o,s=[];for(let d=0;d<n;++d){let p=r[d],g=!p||!p.filename||typeof p.filename!="string"?"":p.filename;i+=4+Buffer.byteLength(g);let h=!p||!p.longname||typeof p.longname!="string"?"":p.longname;if(i+=4+Buffer.byteLength(h),typeof p.attrs=="object"&&p.attrs!==null){if(o=fi(p.attrs),i+=4+o.nb,o.nb){let _;o.nb===$e.length?_=new Uint8Array($e):(_=new Uint8Array(o.nb),jn($e,_,0,o.nb,0)),o.bytes=_}s.push(o)}else i+=4,s.push(null)}let a=9,u=Buffer.allocUnsafe(13+i);K(u,u.length-4,0),u[4]=Tr.NAME,K(u,e,5),K(u,n,a),a+=4;for(let d=0;d<n;++d){let p=r[d];{let h=!p||!p.filename||typeof p.filename!="string"?"":p.filename,_=Buffer.byteLength(h);K(u,_,a),a+=4,_&&(u.utf8Write(h,a,_),a+=_)}{let h=!p||!p.longname||typeof p.longname!="string"?"":p.longname,_=Buffer.byteLength(h);K(u,_,a),a+=4,_&&(u.utf8Write(h,a,_),a+=_)}let g=s[d];g?(K(u,g.flags,a),a+=4,g.flags&&g.bytes&&(u.set(g.bytes,a),a+=g.nb)):(K(u,0,a),a+=4)}let l=lt(this,u);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} NAME`)}attrs(e,r){if(!this.server)throw new Error("Server-only method called in client mode");if(typeof r!="object"||r===null)throw new Error("attrs is not an object");r=fi(r);let n=r.flags,i=r.nb,o=9,s=Buffer.allocUnsafe(13+i);K(s,s.length-4,0),s[4]=Tr.ATTRS,K(s,e,5),K(s,n,o),i&&(o+=4,i===$e.length?s.set($e,o):jn($e,s,0,i,o),o+=i);let a=lt(this,s);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} ATTRS`)}};function Rv(t){try{return Buffer.allocUnsafe(t)}catch(e){return e}}c(Rv,"tryCreateBuffer");function Mm(t,e,r,n,i,o,s,a){let u=t._maxReadLen,l=Math.max(i-u,0);l&&(i=u);let d=e.length,p=9,g=o,h=Buffer.allocUnsafe(13+d+8+4);K(h,h.length-4,0),h[4]=Ne.READ;let _=t._writeReqid=t._writeReqid+1&St;K(h,_,5),K(h,d,p),h.set(e,p+=4),p+=d;for(let I=7;I>=0;--I)h[p+I]=g&255,g/=256;K(h,i,p+=8),typeof s!="function"&&(s=zm);let A=a||{nb:0,position:o,off:n,origOff:n,len:void 0,overflow:void 0,cb:c((I,w,H)=>{let $=A.len,X=A.overflow;if(I){if(s._wantEOFError||I.code!==ht.EOF)return s(I)}else{if(H>$)return s(new Error("Received more data than requested"));if(H===$&&X){A.nb+=H,A.position+=H,A.off+=H,Mm(t,e,r,A.off,X,A.position,s,A);return}}H=H||0,A.origOff===0&&r.length===A.nb?w=r:w=io(r,A.origOff,A.origOff+A.nb+H),s(void 0,A.nb+H,w,A.position)},"cb"),buffer:void 0};A.len=i,A.overflow=l,A.buffer=io(r,n,n+i),t._requests[_]=A;let b=lt(t,h);t._debug&&t._debug(`SFTP: Outbound: ${b?"Buffered":"Sending"} READ`)}c(Mm,"read_");function Om(t,e,r,n,i,o){let s=64,a=32768,u,l,d;typeof i=="function"?o=i:typeof i=="object"&&i!==null&&(typeof i.concurrency=="number"&&i.concurrency>0&&!isNaN(i.concurrency)&&(s=i.concurrency),typeof i.chunkSize=="number"&&i.chunkSize>0&&!isNaN(i.chunkSize)&&(a=i.chunkSize),typeof i.fileSize=="number"&&i.fileSize>0&&!isNaN(i.fileSize)&&(d=i.fileSize),typeof i.step=="function"&&(u=i.step),(typeof i.mode=="string"||typeof i.mode=="number")&&(l=Xl(i.mode)));let p,g=0,h=0,_=!1,A,b,I,w=a*s;function H($){if(_)return;_=!0;let X=0,Z;A||b?(Z=c(()=>{--X===0&&o($)},"cbfinal"),A&&(t===Wn||t.outgoing.state==="open")&&++X,b&&(e===Wn||e.outgoing.state==="open")&&++X,A&&(t===Wn||t.outgoing.state==="open")&&t.close(A,Z),b&&(e===Wn||e.outgoing.state==="open")&&e.close(b,Z)):o($)}c(H,"onerror"),t.open(r,"r",($,X)=>{if($)return H($);A=X,d===void 0?t.fstat(A,Z):Z(null,{size:d});function Z(Y,P){if(Y){if(t!==Wn){t.stat(r,(k,M)=>{if(k)return H(Y);Z(null,M)});return}return H(Y)}p=P.size,e.open(n,"w",(k,M)=>{if(k)return H(k);if(b=M,p<=0)return H();for(;w>p;){if(s===1){w=p;break}w-=a,--s}if(I=Rv(w),I instanceof Error)return H(I);l!==void 0?e.fchmod(b,l,c(function B(G){if(G){e.chmod(n,l,ee=>B());return}j()},"tryAgain")):j();function L(B,G,ee,C,W,q){if(B)return H(B);W=W||0,e.write(b,I,W,G,C,J);function J(ue){if(ue)return H(ue);if(h+=G,u&&u(h,G,p),G<q)return F(W,C+G,q-G);if(h===p){e.close(b,he=>{if(b=void 0,he)return H(he);t.close(A,bt=>{if(A=void 0,bt)return H(bt);o()})});return}if(g>=p)return;let me=g+a>p?p-g:a;F(W,g,me),g+=me}c(J,"writeCb")}c(L,"onread");function T(B,G,ee){return(C,W,q)=>{L(C,W,q,G,B,ee)}}c(T,"makeCb");function F(B,G,ee){t.read(A,I,B,ee,G,T(B,G,ee))}c(F,"singleRead");function j(){let B=0,G=0;for(;g<p&&B<s;){let ee=g+a>p?p-g:a;F(G,g,ee),G+=ee,g+=ee,++B}}c(j,"startReads")})}c(Z,"tryStat")})}c(Om,"fastXfer");function Vl(t,e,r,n,i,o,s){let a=typeof s=="function"?s:void 0;t.write(e,r,n,i,o,(u,l)=>{if(u)return t.close(e,()=>{a&&a(u)});l===i?t.close(e,a):(n+=l,i-=l,o+=l,Vl(t,e,r,n,i,o,a))})}c(Vl,"writeAll");var Xa=class{static{c(this,"Stats")}constructor(e){this.mode=e&&e.mode,this.uid=e&&e.uid,this.gid=e&&e.gid,this.size=e&&e.size,this.atime=e&&e.atime,this.mtime=e&&e.mtime,this.extended=e&&e.extended}isDirectory(){return(this.mode&Pr.S_IFMT)===Pr.S_IFDIR}isFile(){return(this.mode&Pr.S_IFMT)===Pr.S_IFREG}isBlockDevice(){return(this.mode&Pr.S_IFMT)===Pr.S_IFBLK}isCharacterDevice(){return(this.mode&Pr.S_IFMT)===Pr.S_IFCHR}isSymbolicLink(){return(this.mode&Pr.S_IFMT)===Pr.S_IFLNK}isFIFO(){return(this.mode&Pr.S_IFMT)===Pr.S_IFIFO}isSocket(){return(this.mode&Pr.S_IFMT)===Pr.S_IFSOCK}};function fi(t){let e=0,r=0;if(typeof t=="object"&&t!==null){if(typeof t.size=="number"){e|=In.SIZE;let n=t.size;$e[r++]=n/72057594037927940,$e[r++]=n/281474976710656,$e[r++]=n/1099511627776,$e[r++]=n/4294967296,$e[r++]=n/16777216,$e[r++]=n/65536,$e[r++]=n/256,$e[r++]=n}if(typeof t.uid=="number"&&typeof t.gid=="number"){e|=In.UIDGID;let n=t.uid,i=t.gid;$e[r++]=n>>>24,$e[r++]=n>>>16,$e[r++]=n>>>8,$e[r++]=n,$e[r++]=i>>>24,$e[r++]=i>>>16,$e[r++]=i>>>8,$e[r++]=i}if(typeof t.mode=="number"||typeof t.mode=="string"){let n=Xl(t.mode);e|=In.PERMISSIONS,$e[r++]=n>>>24,$e[r++]=n>>>16,$e[r++]=n>>>8,$e[r++]=n}if((typeof t.atime=="number"||ql(t.atime))&&(typeof t.mtime=="number"||ql(t.mtime))){let n=ro(t.atime),i=ro(t.mtime);e|=In.ACMODTIME,$e[r++]=n>>>24,$e[r++]=n>>>16,$e[r++]=n>>>8,$e[r++]=n,$e[r++]=i>>>24,$e[r++]=i>>>16,$e[r++]=i>>>8,$e[r++]=i}}return{flags:e,nb:r}}c(fi,"attrsToBytes");function ro(t){if(typeof t=="number"&&t===t)return t;if(ql(t))return parseInt(t.getTime()/1e3,10);throw new Error(`Cannot parse time: ${t}`)}c(ro,"toUnixTimestamp");function Xl(t){if(typeof t=="number"&&t===t)return t;if(typeof t=="string")return Xl(parseInt(t,8));throw new Error(`Cannot parse mode: ${t}`)}c(Xl,"modeNum");var Kl={r:Te.READ,"r+":Te.READ|Te.WRITE,w:Te.TRUNC|Te.CREAT|Te.WRITE,wx:Te.TRUNC|Te.CREAT|Te.WRITE|Te.EXCL,xw:Te.TRUNC|Te.CREAT|Te.WRITE|Te.EXCL,"w+":Te.TRUNC|Te.CREAT|Te.READ|Te.WRITE,"wx+":Te.TRUNC|Te.CREAT|Te.READ|Te.WRITE|Te.EXCL,"xw+":Te.TRUNC|Te.CREAT|Te.READ|Te.WRITE|Te.EXCL,a:Te.APPEND|Te.CREAT|Te.WRITE,ax:Te.APPEND|Te.CREAT|Te.WRITE|Te.EXCL,xa:Te.APPEND|Te.CREAT|Te.WRITE|Te.EXCL,"a+":Te.APPEND|Te.CREAT|Te.READ|Te.WRITE,"ax+":Te.APPEND|Te.CREAT|Te.READ|Te.WRITE|Te.EXCL,"xa+":Te.APPEND|Te.CREAT|Te.READ|Te.WRITE|Te.EXCL};function Fm(t){let e=Kl[t];return e!==void 0?e:null}c(Fm,"stringToFlags");var Nv=(()=>{let t=Object.keys(Kl);return e=>{for(let r=0;r<t.length;++r){let n=t[r];if(Kl[n]===e)return n}return null}})();function no(t){let e=U.readUInt32BE();if(e===void 0)return;let r=new Xa;if(e&In.SIZE){let n=U.readUInt64BE(t);if(n===void 0)return;r.size=n}if(e&In.UIDGID){let n=U.readUInt32BE(),i=U.readUInt32BE();if(i===void 0)return;r.uid=n,r.gid=i}if(e&In.PERMISSIONS){let n=U.readUInt32BE();if(n===void 0)return;r.mode=n}if(e&In.ACMODTIME){let n=U.readUInt32BE(),i=U.readUInt32BE();if(i===void 0)return;r.atime=n,r.mtime=i}if(e&In.EXTENDED){let n=U.readUInt32BE();if(n===void 0)return;let i={};for(let o=0;o<n;++o){let s=U.readString(!0),a=U.readString();if(a===void 0)return;i[s]=a}r.extended=i}return r}c(no,"readAttrs");function lt(t,e){let r=Hm(t,e);return r!==void 0?(t._buffer.push(r),!1):!0}c(lt,"sendOrBuffer");function Hm(t,e){let r=t.outgoing;if(r.state!=="open")return;if(r.window===0)return t._waitWindow=!0,t._chunkcb=$m,e;let n,i=e.length,o=0;for(;i-o>0&&r.window>0;){let s=Math.min(i-o,r.window,r.packetSize);r.window-=s,r.window===0&&(t._waitWindow=!0,t._chunkcb=$m),o===0&&s===i?t._protocol.channelData(t.outgoing.id,e):t._protocol.channelData(t.outgoing.id,io(e,o,o+s)),o+=s}return i-o>0&&(o>0?n=io(e,o,i):n=e),n}c(Hm,"tryWritePayload");function $m(){this._chunkcb=void 0;let t=this._buffer,e=0;for(;e<t.length;){let r=t[e],n=Hm(this,r);if(n!==void 0){n!==r&&(t[e]=n),e>0&&(this._buffer=t.slice(e));return}++e}e>0&&(this._buffer=[])}c($m,"drainBuffer");function yt(t,e,r){let n=new Error(e);return n.level="sftp-protocol",!r&&t._debug&&t._debug(`SFTP: Inbound: ${e}`),t.emit("error",n),t.destroy(),jm(t),!1}c(yt,"doFatalSFTPError");function jm(t){let e=Object.keys(t._requests);if(e.length===0)return;let r=t._requests;t._requests={};let n=new Error("No response from server");for(let i=0;i<e.length;++i){let o=r[e[i]];typeof o.cb=="function"&&o.cb(n)}}c(jm,"cleanupRequests");function Ov(t,e){let r=9,n=Buffer.allocUnsafe(31);K(n,n.length-4,0),n[4]=Ne.EXTENDED;let i=t._writeReqid=t._writeReqid+1&St;K(n,i,5),K(n,18,r),n.utf8Write("limits@openssh.com",r+=4,18),t._requests[i]={extended:"limits@openssh.com",cb:e};let o=lt(t,n);if(t._debug){let s=o?"Buffered":"Sending";t._debug(`SFTP: Outbound: ${s} limits@openssh.com`)}}c(Ov,"requestLimits");var $v={[Tr.VERSION]:(t,e)=>{if(t._version!==-1)return yt(t,"Duplicate VERSION packet");let r={};U.init(e,1);let n=U.readUInt32BE();for(;U.avail();){let i=U.readString(!0),o=U.readString(!0);if(o===void 0){n=void 0;break}r[i]=o}if(U.clear(),n===void 0)return yt(t,"Malformed VERSION packet");if(t._debug){let i=Object.keys(r);i.length?t._debug(`SFTP: Inbound: Received VERSION (v${n}, exts:${i})`):t._debug(`SFTP: Inbound: Received VERSION (v${n})`)}if(t._version=n,t._extensions=r,r["limits@openssh.com"]==="1")return Ov(t,(i,o)=>{i||(o.maxPktLen>0&&(t._maxOutPktLen=o.maxPktLen),o.maxReadLen>0&&(t._maxReadLen=o.maxReadLen),o.maxWriteLen>0&&(t._maxWriteLen=o.maxWriteLen),t.maxOpenHandles=o.maxOpenHandles>0?o.maxOpenHandles:1/0),t.emit("ready")});t.emit("ready")},[Tr.STATUS]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readUInt32BE(),i=U.readString(!0);if(U.clear(),t._debug){let s=JSON.stringify(i);t._debug(`SFTP: Inbound: Received STATUS (id:${r}, ${n}, ${s})`)}let o=t._requests[r];if(delete t._requests[r],o&&typeof o.cb=="function"){if(n===ht.OK){o.cb();return}let s=new Error(i||wv[n]||"Unknown status");s.code=n,o.cb(s)}},[Tr.HANDLE]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString();if(U.clear(),n===void 0)return r!==void 0&&delete t._requests[r],yt(t,"Malformed HANDLE packet");t._debug&&t._debug(`SFTP: Inbound: Received HANDLE (id:${r})`);let i=t._requests[r];delete t._requests[r],i&&typeof i.cb=="function"&&i.cb(void 0,n)},[Tr.DATA]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n;if(r!==void 0&&(n=t._requests[r],delete t._requests[r]),n&&typeof n.cb=="function")if(n.buffer){let i=U.readString(n.buffer);if(U.clear(),i!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received DATA (id:${r}, ${i})`),n.cb(void 0,n.buffer,i);return}}else{let i=U.readString();if(U.clear(),i!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received DATA (id:${r}, ${i.length})`),n.cb(void 0,i);return}}else{let i=U.skipString();if(U.clear(),i!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received DATA (id:${r}, ${i})`);return}}return yt(t,"Malformed DATA packet")},[Tr.NAME]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n;r!==void 0&&(n=t._requests[r],delete t._requests[r]);let i=U.readUInt32BE();if(i!==void 0){let o=[];for(let s=0;s<i;++s){let a=U.readString(!0),u=U.readString(!0),l=no(t._biOpt);if(l===void 0){o=void 0;break}o.push({filename:a,longname:u,attrs:l})}if(o!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received NAME (id:${r}, ${o.length})`),U.clear(),n&&typeof n.cb=="function"&&n.cb(void 0,o);return}}return U.clear(),yt(t,"Malformed NAME packet")},[Tr.ATTRS]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n;r!==void 0&&(n=t._requests[r],delete t._requests[r]);let i=no(t._biOpt);if(U.clear(),i!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received ATTRS (id:${r})`),n&&typeof n.cb=="function"&&n.cb(void 0,i);return}return yt(t,"Malformed ATTRS packet")},[Tr.EXTENDED]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE();if(r!==void 0){let n=t._requests[r];if(n)switch(delete t._requests[r],n.extended){case"statvfs@openssh.com":case"fstatvfs@openssh.com":{let i=t._biOpt,o={f_bsize:U.readUInt64BE(i),f_frsize:U.readUInt64BE(i),f_blocks:U.readUInt64BE(i),f_bfree:U.readUInt64BE(i),f_bavail:U.readUInt64BE(i),f_files:U.readUInt64BE(i),f_ffree:U.readUInt64BE(i),f_favail:U.readUInt64BE(i),f_sid:U.readUInt64BE(i),f_flag:U.readUInt64BE(i),f_namemax:U.readUInt64BE(i)};if(o.f_namemax===void 0)break;t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ${n.extended})`),U.clear(),typeof n.cb=="function"&&n.cb(void 0,o);return}case"limits@openssh.com":{let i={maxPktLen:U.readUInt64BE(),maxReadLen:U.readUInt64BE(),maxWriteLen:U.readUInt64BE(),maxOpenHandles:U.readUInt64BE()};if(i.maxOpenHandles===void 0)break;t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ${n.extended})`),U.clear(),typeof n.cb=="function"&&n.cb(void 0,i);return}case"users-groups-by-id@openssh.com":{let i=U.readUInt32BE();if(i===void 0)break;let o=new Array(i);for(let u=0;u<o.length;++u)o[u]=U.readString(!0);let s=U.readUInt32BE();if(s===void 0)break;let a=new Array(s);for(let u=0;u<a.length;++u)a[u]=U.readString(!0);if(a.length>0&&a[a.length-1]===void 0)break;t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ${n.extended})`),U.clear(),typeof n.cb=="function"&&n.cb(void 0,o,a);return}default:t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ???)`),U.clear(),typeof n.cb=="function"&&n.cb();return}else{t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ???)`),U.clear();return}}return U.clear(),yt(t,"Malformed EXTENDED_REPLY packet")}},Dv={[Ne.INIT]:(t,e)=>{if(t._version!==-1)return yt(t,"Duplicate INIT packet");let r={};U.init(e,1);let n=U.readUInt32BE();for(;U.avail();){let i=U.readString(!0),o=U.readString(!0);if(o===void 0){n=void 0;break}r[i]=o}if(U.clear(),n===void 0)return yt(t,"Malformed INIT packet");if(t._debug){let i=Object.keys(r);i.length?t._debug(`SFTP: Inbound: Received INIT (v${n}, exts:${i})`):t._debug(`SFTP: Inbound: Received INIT (v${n})`)}lt(t,Tv),t._version=n,t._extensions=r,t.emit("ready")},[Ne.OPEN]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=U.readUInt32BE(),o=no(t._biOpt);if(U.clear(),o===void 0)return yt(t,"Malformed OPEN packet");t._debug&&t._debug(`SFTP: Inbound: Received OPEN (id:${r})`),t.emit("OPEN",r,n,i,o)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.CLOSE]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString();if(U.clear(),n===void 0||n.length>256)return yt(t,"Malformed CLOSE packet");t._debug&&t._debug(`SFTP: Inbound: Received CLOSE (id:${r})`),t.emit("CLOSE",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.READ]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(),i=U.readUInt64BE(t._biOpt),o=U.readUInt32BE();if(U.clear(),o===void 0||n.length>256)return yt(t,"Malformed READ packet");t._debug&&t._debug(`SFTP: Inbound: Received READ (id:${r})`),t.emit("READ",r,n,i,o)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.WRITE]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(),i=U.readUInt64BE(t._biOpt),o=U.readString();if(U.clear(),o===void 0||n.length>256)return yt(t,"Malformed WRITE packet");t._debug&&t._debug(`SFTP: Inbound: Received WRITE (id:${r})`),t.emit("WRITE",r,n,i,o)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.LSTAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return yt(t,"Malformed LSTAT packet");t._debug&&t._debug(`SFTP: Inbound: Received LSTAT (id:${r})`),t.emit("LSTAT",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.FSTAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString();if(U.clear(),n===void 0||n.length>256)return yt(t,"Malformed FSTAT packet");t._debug&&t._debug(`SFTP: Inbound: Received FSTAT (id:${r})`),t.emit("FSTAT",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.SETSTAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=no(t._biOpt);if(U.clear(),i===void 0)return yt(t,"Malformed SETSTAT packet");t._debug&&t._debug(`SFTP: Inbound: Received SETSTAT (id:${r})`),t.emit("SETSTAT",r,n,i)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.FSETSTAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(),i=no(t._biOpt);if(U.clear(),i===void 0||n.length>256)return yt(t,"Malformed FSETSTAT packet");t._debug&&t._debug(`SFTP: Inbound: Received FSETSTAT (id:${r})`),t.emit("FSETSTAT",r,n,i)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.OPENDIR]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return yt(t,"Malformed OPENDIR packet");t._debug&&t._debug(`SFTP: Inbound: Received OPENDIR (id:${r})`),t.emit("OPENDIR",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.READDIR]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString();if(U.clear(),n===void 0||n.length>256)return yt(t,"Malformed READDIR packet");t._debug&&t._debug(`SFTP: Inbound: Received READDIR (id:${r})`),t.emit("READDIR",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.REMOVE]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return yt(t,"Malformed REMOVE packet");t._debug&&t._debug(`SFTP: Inbound: Received REMOVE (id:${r})`),t.emit("REMOVE",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.MKDIR]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=no(t._biOpt);if(U.clear(),i===void 0)return yt(t,"Malformed MKDIR packet");t._debug&&t._debug(`SFTP: Inbound: Received MKDIR (id:${r})`),t.emit("MKDIR",r,n,i)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.RMDIR]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return yt(t,"Malformed RMDIR packet");t._debug&&t._debug(`SFTP: Inbound: Received RMDIR (id:${r})`),t.emit("RMDIR",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.REALPATH]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return yt(t,"Malformed REALPATH packet");t._debug&&t._debug(`SFTP: Inbound: Received REALPATH (id:${r})`),t.emit("REALPATH",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.STAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return yt(t,"Malformed STAT packet");t._debug&&t._debug(`SFTP: Inbound: Received STAT (id:${r})`),t.emit("STAT",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.RENAME]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=U.readString(!0);if(U.clear(),i===void 0)return yt(t,"Malformed RENAME packet");t._debug&&t._debug(`SFTP: Inbound: Received RENAME (id:${r})`),t.emit("RENAME",r,n,i)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.READLINK]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return yt(t,"Malformed READLINK packet");t._debug&&t._debug(`SFTP: Inbound: Received READLINK (id:${r})`),t.emit("READLINK",r,n)||t.status(r,ht.OP_UNSUPPORTED)},[Ne.SYMLINK]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=U.readString(!0);if(U.clear(),i===void 0)return yt(t,"Malformed SYMLINK packet");t._debug&&t._debug(`SFTP: Inbound: Received SYMLINK (id:${r})`);let o;t._isOpenSSH?o=t.emit("SYMLINK",r,i,n):o=t.emit("SYMLINK",r,n,i),o||t.status(r,ht.OP_UNSUPPORTED)},[Ne.EXTENDED]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(n===void 0)return U.clear(),yt(t,"Malformed EXTENDED packet");let i;U.avail()&&(i=U.readRaw()),U.clear(),t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED (id:${r})`),t.emit("EXTENDED",r,n,i)||t.status(r,ht.OP_UNSUPPORTED)}},{ERR_INVALID_ARG_TYPE:Bv,ERR_OUT_OF_RANGE:Ya,validateNumber:Uv}=Rm(),Dm=128,Ir,Gl=[];function Lv(t){Gl.length>0?Ir=Gl.pop():Ir=Buffer.allocUnsafe(t),Ir.used=0}c(Lv,"allocNewPool");function Zl(t,e){if(!Number.isSafeInteger(t))throw Uv(t,e),Number.isInteger(t)?new Ya(e,">= 0 and <= 2 ** 53 - 1",t):new Ya(e,"an integer",t);if(t<0)throw new Ya(e,">= 0 and <= 2 ** 53 - 1",t)}c(Zl,"checkPosition");function Wl(t){return t+7&-8}c(Wl,"roundUpToMultipleOf8");function vn(t,e,r){if(r===void 0)r={};else if(typeof r=="string")r={encoding:r};else{if(r===null||typeof r!="object")throw new TypeError('"options" argument must be a string or an object');r=Object.create(r)}if(r.highWaterMark===void 0&&(r.highWaterMark=64*1024),r.emitClose=!1,r.autoDestroy=!1,Um.call(this,r),this.path=e,this.flags=r.flags===void 0?"r":r.flags,this.mode=r.mode===void 0?438:r.mode,this.start=r.start,this.end=r.end,this.autoClose=r.autoClose===void 0?!0:r.autoClose,this.pos=0,this.bytesRead=0,this.isClosed=!1,this.handle=r.handle===void 0?null:r.handle,this.sftp=t,this._opening=!1,this.start!==void 0&&(Zl(this.start,"start"),this.pos=this.start),this.end===void 0)this.end=1/0;else if(this.end!==1/0&&(Zl(this.end,"end"),this.start!==void 0&&this.start>this.end))throw new Ya("start",`<= "end" (here: ${this.end})`,this.start);this.on("end",function(){this.autoClose&&this.destroy()}),Buffer.isBuffer(this.handle)||this.open()}c(vn,"ReadStream");Lm(vn,Um);vn.prototype.open=function(){this._opening||(this._opening=!0,this.sftp.open(this.path,this.flags,this.mode,(t,e)=>{if(this._opening=!1,t){this.emit("error",t),this.autoClose&&this.destroy();return}this.handle=e,this.emit("open",e),this.emit("ready"),this.read()}))};vn.prototype._read=function(t){if(!Buffer.isBuffer(this.handle))return this.once("open",()=>this._read(t));if(this.destroyed)return;(!Ir||Ir.length-Ir.used<Dm)&&Lv(this.readableHighWaterMark||this._readableState.highWaterMark);let e=Ir,r=Math.min(Ir.length-Ir.used,t),n=Ir.used;if(this.end!==void 0&&(r=Math.min(this.end-this.pos+1,r)),r<=0)return this.push(null);this.sftp.read(this.handle,Ir,Ir.used,r,this.pos,(i,o)=>{if(i){this.emit("error",i),this.autoClose&&this.destroy();return}let s=null;if(n+r===e.used&&e===Ir)e.used=Wl(e.used+o-r);else{let a=n+r&-8,u=Wl(n+o);a-u>=Dm&&Gl.push(e.slice(u,a))}o>0&&(this.bytesRead+=o,s=e.slice(n,n+o)),this.pos+=o,this.push(s)}),Ir.used=Wl(Ir.used+r)};vn.prototype._destroy=function(t,e){if(this._opening&&!Buffer.isBuffer(this.handle)){this.once("open",Bm.bind(null,this,e,t));return}Bm(this,e,t),this.handle=null,this._opening=!1};function Bm(t,e,r){if(!t.handle)return n();t.sftp.close(t.handle,n);function n(i){i=i||r,e(i),t.isClosed=!0,i||t.emit("close")}c(n,"onclose")}c(Bm,"closeStream");vn.prototype.close=function(t){this.destroy(null,t)};Object.defineProperty(vn.prototype,"pending",{get(){return this.handle===null},configurable:!0});function Fr(t,e,r){if(r===void 0)r={};else if(typeof r=="string")r={encoding:r};else{if(r===null||typeof r!="object")throw new TypeError('"options" argument must be a string or an object');r=Object.create(r)}r.emitClose=!1,r.autoDestroy=!1,Yl.call(this,r),this.path=e,this.flags=r.flags===void 0?"w":r.flags,this.mode=r.mode===void 0?438:r.mode,this.start=r.start,this.autoClose=r.autoClose===void 0?!0:r.autoClose,this.pos=0,this.bytesWritten=0,this.isClosed=!1,this.handle=r.handle===void 0?null:r.handle,this.sftp=t,this._opening=!1,this.start!==void 0&&(Zl(this.start,"start"),this.pos=this.start),r.encoding&&this.setDefaultEncoding(r.encoding),this.on("finish",function(){this._writableState.finalCalled||this.autoClose&&this.destroy()}),Buffer.isBuffer(this.handle)||this.open()}c(Fr,"WriteStream");Lm(Fr,Yl);Fr.prototype._final=function(t){this.autoClose&&this.destroy(),t()};Fr.prototype.open=function(){this._opening||(this._opening=!0,this.sftp.open(this.path,this.flags,this.mode,(t,e)=>{if(this._opening=!1,t){this.emit("error",t),this.autoClose&&this.destroy();return}this.handle=e;let r=c(n=>{if(n){this.sftp.chmod(this.path,this.mode,i=>r());return}if(this.flags[0]==="a"){let i=c((o,s)=>{if(o){this.sftp.stat(this.path,(a,u)=>{if(a){this.destroy(),this.emit("error",o);return}i(null,u)});return}this.pos=s.size,this.emit("open",e),this.emit("ready")},"tryStat");this.sftp.fstat(e,i);return}this.emit("open",e),this.emit("ready")},"tryAgain");this.sftp.fchmod(e,this.mode,r)}))};Fr.prototype._write=function(t,e,r){if(!Buffer.isBuffer(t)){let n=new Bv("data","Buffer",t);return this.emit("error",n)}if(!Buffer.isBuffer(this.handle))return this.once("open",function(){this._write(t,e,r)});this.sftp.write(this.handle,t,0,t.length,this.pos,(n,i)=>{if(n)return this.autoClose&&this.destroy(),r(n);this.bytesWritten+=i,r()}),this.pos+=t.length};Fr.prototype._writev=function(t,e){if(!Buffer.isBuffer(this.handle))return this.once("open",function(){this._writev(t,e)});let r=this.sftp,n=this.handle,i=t.length,o=c((s,a)=>{if(s)return this.destroy(),e(s);this.bytesWritten+=a,--i===0&&e()},"onwrite");for(let s=0;s<t.length;++s){let a=t[s].chunk;r.write(n,a,0,a.length,this.pos,o),this.pos+=a.length}};typeof Yl.prototype.destroy!="function"&&(Fr.prototype.destroy=vn.prototype.destroy);Fr.prototype._destroy=vn.prototype._destroy;Fr.prototype.close=function(t){if(t){if(this.isClosed){process.nextTick(t);return}this.on("close",t)}this.autoClose||this.on("finish",this.destroy.bind(this)),this.end()};Fr.prototype.destroySoon=Fr.prototype.end;Object.defineProperty(Fr.prototype,"pending",{get(){return this.handle===null},configurable:!0});Wm.exports={flagsToString:Nv,OPEN_MODE:Te,SFTP:Ql,Stats:Xa,STATUS_CODE:ht,stringToFlags:Fm}});var of=le((EF,Km)=>{"use strict";var{Duplex:zv,Readable:Mv,Writable:Fv}=require("stream"),{CHANNEL_EXTENDED_DATATYPE:{STDERR:qm}}=An(),{bufferSlice:Ja}=Qr(),Hv=32*1024,hs=2*1024*1024,rf=hs/2,Jl=class extends Mv{static{c(this,"ClientStderr")}constructor(e,r){super(r),this._channel=e}_read(e){this._channel._waitChanDrain&&(this._channel._waitChanDrain=!1,this._channel.incoming.window<=rf&&nf(this._channel))}},ef=class extends Fv{static{c(this,"ServerStderr")}constructor(e){super({highWaterMark:hs}),this._channel=e}_write(e,r,n){let i=this._channel,o=i._client._protocol,s=i.outgoing,a=s.packetSize,u=s.id,l=s.window,d=e.length,p=0;if(s.state==="open"){for(;d-p>0&&l>0;){let g=d-p;g>l&&(g=l),g>a&&(g=a),p===0&&g===d?o.channelExtData(u,e,qm):o.channelExtData(u,Ja(e,p,p+g),qm),p+=g,l-=g}if(s.window=l,d-p>0){l===0&&(i._waitWindow=!0),p>0?i._chunkErr=Ja(e,p,d):i._chunkErr=e,i._chunkcbErr=n;return}n()}}},tf=class extends zv{static{c(this,"Channel")}constructor(e,r,n){let i={highWaterMark:hs,allowHalfOpen:!n||n&&n.allowHalfOpen!==!1,emitClose:!1};super(i),this.allowHalfOpen=i.allowHalfOpen;let o=!!(n&&n.server);this.server=o,this.type=r.type,this.subtype=void 0,this.incoming=r.incoming,this.outgoing=r.outgoing,this._callbacks=[],this._client=e,this._hasX11=!1,this._exit={code:void 0,signal:void 0,dump:void 0,desc:void 0},this.stdin=this.stdout=this,o?this.stderr=new ef(this):this.stderr=new Jl(this,i),this._waitWindow=!1,this._waitChanDrain=!1,this._chunk=void 0,this._chunkcb=void 0,this._chunkErr=void 0,this._chunkcbErr=void 0,this.on("finish",Qm).on("prefinish",Qm),this.on("end",Vm).on("close",Vm)}_read(e){this._waitChanDrain&&(this._waitChanDrain=!1,this.incoming.window<=rf&&nf(this))}_write(e,r,n){let i=this._client._protocol,o=this.outgoing,s=o.packetSize,a=o.id,u=o.window,l=e.length,d=0;if(o.state==="open"){for(;l-d>0&&u>0;){let p=l-d;p>u&&(p=u),p>s&&(p=s),d===0&&p===l?i.channelData(a,e):i.channelData(a,Ja(e,d,d+p)),d+=p,u-=p}if(o.window=u,l-d>0){u===0&&(this._waitWindow=!0),d>0?this._chunk=Ja(e,d,l):this._chunk=e,this._chunkcb=n;return}n()}}eof(){this.outgoing.state==="open"&&(this.outgoing.state="eof",this._client._protocol.channelEOF(this.outgoing.id))}close(){(this.outgoing.state==="open"||this.outgoing.state==="eof")&&(this.outgoing.state="closing",this._client._protocol.channelClose(this.outgoing.id))}destroy(){return this.end(),this.close(),this}setWindow(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");this.type==="session"&&(this.subtype==="shell"||this.subtype==="exec")&&this.writable&&this.outgoing.state==="open"&&this._client._protocol.windowChange(this.outgoing.id,e,r,n,i)}signal(e){if(this.server)throw new Error("Client-only method called in server mode");this.type==="session"&&this.writable&&this.outgoing.state==="open"&&this._client._protocol.signal(this.outgoing.id,e)}exit(e,r,n){if(!this.server)throw new Error("Server-only method called in client mode");this.type==="session"&&this.writable&&this.outgoing.state==="open"&&(typeof e=="number"?this._client._protocol.exitStatus(this.outgoing.id,e):this._client._protocol.exitSignal(this.outgoing.id,e,r,n))}};function Qm(){this.eof(),(this.server||!this.allowHalfOpen)&&this.close(),this.writable=!1}c(Qm,"onFinish");function Vm(){this.readable=!1}c(Vm,"onEnd");function nf(t){if(t.outgoing.state==="closed")return;let e=hs-t.incoming.window;e<=0||(t.incoming.window+=e,t._client._protocol.channelWindowAdjust(t.outgoing.id,e))}c(nf,"windowAdjust");Km.exports={Channel:tf,MAX_WINDOW:hs,PACKET_SIZE:Hv,windowAdjust:nf,WINDOW_THRESHOLD:rf}});var cf=le((bF,Ym)=>{"use strict";var{SFTP:jv}=ps(),gs=2**32-1;function Gm(t,e,r,n){if(t._chanMgr.remove(e),typeof n!="function")return;let i;r instanceof Error?i=r:typeof r=="object"&&r!==null?(i=new Error(`(SSH) Channel open failure: ${r.description}`),i.reason=r.reason):(i=new Error("(SSH) Channel open failure: server closed channel unexpectedly"),i.reason=""),n(i)}c(Gm,"onChannelOpenFailure");function Zm(t,e,r,n,i){if(typeof r=="function"){Gm(t,e,n,r);return}if(typeof r!="object"||r===null||r.incoming&&r.incoming.state==="closed"||(t._chanMgr.remove(e),r.server&&r.constructor.name==="Session"))return;r.incoming.state="closed",r.readable&&r.push(null),r.server?r.stderr.writable&&r.stderr.end():r.stderr.readable&&r.stderr.push(null),r.constructor!==jv&&(r.outgoing.state==="open"||r.outgoing.state==="eof")&&!i&&r.close(),r.outgoing.state==="closing"&&(r.outgoing.state="closed");let o=r._readableState,s=r._writableState;s&&!s.ending&&!s.finished&&!i&&r.end();let a=r._callbacks;r._callbacks=[];for(let u=0;u<a.length;++u)a[u](!0);if(r.server)!r.readable||r.destroyed||o&&o.endEmitted?r.emit("close"):r.once("end",()=>r.emit("close"));else{let u;switch(r.type){case"direct-streamlocal@openssh.com":case"direct-tcpip":u=c(()=>r.emit("close"),"doClose");break;default:{let d=r._exit;u=c(()=>{d.code===null?r.emit("close",d.code,d.signal,d.dump,d.desc):r.emit("close",d.code)},"doClose")}}!r.readable||r.destroyed||o&&o.endEmitted?u():r.once("end",u);let l=r.stderr._readableState;!r.stderr.readable||r.stderr.destroyed||l&&l.endEmitted?r.stderr.emit("close"):r.stderr.once("end",()=>r.stderr.emit("close"))}}c(Zm,"onCHANNEL_CLOSE");var af=class{static{c(this,"ChannelManager")}constructor(e){this._client=e,this._channels={},this._cur=-1,this._count=0}add(e){let r;if(this._cur<gs)r=++this._cur;else if(this._count===0)this._cur=0,r=0;else{let n=this._channels;for(let i=0;i<gs;++i)if(n[i]===void 0){r=i;break}}return r===void 0?-1:(this._channels[r]=e||!0,++this._count,r)}update(e,r){if(typeof e!="number"||e<0||e>=gs||!isFinite(e))throw new Error(`Invalid channel id: ${e}`);r&&this._channels[e]&&(this._channels[e]=r)}get(e){if(typeof e!="number"||e<0||e>=gs||!isFinite(e))throw new Error(`Invalid channel id: ${e}`);return this._channels[e]}remove(e){if(typeof e!="number"||e<0||e>=gs||!isFinite(e))throw new Error(`Invalid channel id: ${e}`);this._channels[e]&&(delete this._channels[e],this._count&&--this._count)}cleanup(e){let r=this._channels;this._channels={},this._cur=-1,this._count=0;let n=Object.keys(r),i=this._client;for(let o=0;o<n.length;++o){let s=+n[o],a=r[s];Zm(i,s,a._channel||a,e,!0)}}},sf=(()=>{let t=Object.prototype.toString;return e=>t.call(e)==="[object RegExp]"})();function Wv(t,e,r){if(Array.isArray(t)&&t.length>0){for(let n=0;n<t.length;++n)if(r.indexOf(t[n])===-1)throw new Error(`Unsupported algorithm: ${t[n]}`);return t}if(typeof t=="object"&&t!==null){let n=Object.keys(t),i=e;for(let o=0;o<n.length;++o){let s=n[o],a=t[s];switch(s){case"append":if(Array.isArray(a)||(a=[a]),Array.isArray(a))for(let u=0;u<a.length;++u){let l=a[u];if(typeof l=="string"){if(!l||i.indexOf(l)!==-1)continue;if(r.indexOf(l)===-1)throw new Error(`Unsupported algorithm: ${l}`);i===e&&(i=i.slice()),i.push(l)}else if(sf(l))for(let d=0;d<r.length;++d){let p=r[d];if(l.test(p)){if(i.indexOf(p)!==-1)continue;i===e&&(i=i.slice()),i.push(p)}}}break;case"prepend":if(Array.isArray(a)||(a=[a]),Array.isArray(a))for(let u=a.length;u>=0;--u){let l=a[u];if(typeof l=="string"){if(!l||i.indexOf(l)!==-1)continue;if(r.indexOf(l)===-1)throw new Error(`Unsupported algorithm: ${l}`);i===e&&(i=i.slice()),i.unshift(l)}else if(sf(l))for(let d=r.length;d>=0;--d){let p=r[d];if(l.test(p)){if(i.indexOf(p)!==-1)continue;i===e&&(i=i.slice()),i.unshift(p)}}}break;case"remove":if(Array.isArray(a)||(a=[a]),Array.isArray(a))for(let u=0;u<a.length;++u){let l=a[u];if(typeof l=="string"){if(!l)continue;let d=i.indexOf(l);if(d===-1)continue;i===e&&(i=i.slice()),i.splice(d,1)}else if(sf(l))for(let d=0;d<i.length;++d)l.test(i[d])&&(i===e&&(i=i.slice()),i.splice(d,1),--d)}break}}return i}return e}c(Wv,"generateAlgorithmList");Ym.exports={ChannelManager:af,generateAlgorithmList:Wv,onChannelOpenFailure:Gm,onCHANNEL_CLOSE:Zm,isWritable:c(t=>t&&t.writable&&t._readableState&&t._readableState.ended===!1,"isWritable")}});var pf=le((IF,E_)=>{"use strict";var{createHash:qv,getHashes:Qv,randomFillSync:Vv}=require("crypto"),{Socket:Kv}=require("net"),{lookup:Gv}=require("dns"),Zv=require("events"),Yv=Qv(),{COMPAT:m_,CHANNEL_EXTENDED_DATATYPE:{STDERR:Xv},CHANNEL_OPEN_FAILURE:ms,DEFAULT_CIPHER:Xm,DEFAULT_COMPRESSION:Jm,DEFAULT_KEX:e_,DEFAULT_MAC:t_,DEFAULT_SERVER_HOST_KEY:r_,DISCONNECT_REASON:n_,DISCONNECT_REASON_BY_VALUE:Jv,SUPPORTED_CIPHER:eS,SUPPORTED_COMPRESSION:tS,SUPPORTED_KEX:rS,SUPPORTED_MAC:nS,SUPPORTED_SERVER_HOST_KEY:iS}=An(),{init:oS}=zn(),sS=Hl(),{parseKey:rc}=Hn(),{SFTP:aS}=ps(),{bufferCopy:i_,makeBufferParser:__,makeError:cS,readUInt32BE:uS,sigSSHToASN1:lS,writeUInt32BE:uf}=Qr(),{AgentContext:o_,createAgent:s_,isAgent:a_}=Pl(),{Channel:y_,MAX_WINDOW:nc,PACKET_SIZE:ic,windowAdjust:c_,WINDOW_THRESHOLD:u_}=of(),{ChannelManager:fS,generateAlgorithmList:_s,isWritable:rr,onChannelOpenFailure:dS,onCHANNEL_CLOSE:pS}=cf(),ec=__(),tc=__(),ys=/^OpenSSH_(?:(?![0-4])\d)|(?:\d{2,})/,ff=c(t=>{},"noop"),df=class extends Zv{static{c(this,"Client")}constructor(){super(),this.config={host:void 0,port:void 0,localAddress:void 0,localPort:void 0,forceIPv4:void 0,forceIPv6:void 0,keepaliveCountMax:void 0,keepaliveInterval:void 0,readyTimeout:void 0,ident:void 0,username:void 0,password:void 0,privateKey:void 0,tryKeyboard:void 0,agent:void 0,allowAgentFwd:void 0,authHandler:void 0,hostHashAlgo:void 0,hostHashCb:void 0,strictVendor:void 0,debug:void 0},this._agent=void 0,this._readyTimeout=void 0,this._chanMgr=void 0,this._callbacks=void 0,this._forwarding=void 0,this._forwardingUnix=void 0,this._acceptX11=void 0,this._agentFwdEnabled=void 0,this._remoteVer=void 0,this._protocol=void 0,this._sock=void 0,this._resetKA=void 0}connect(e){if(this._sock&&rr(this._sock))return this.once("close",()=>{this.connect(e)}),this.end(),this;this.config.host=e.hostname||e.host||"localhost",this.config.port=e.port||22,this.config.localAddress=typeof e.localAddress=="string"?e.localAddress:void 0,this.config.localPort=typeof e.localPort=="string"||typeof e.localPort=="number"?e.localPort:void 0,this.config.forceIPv4=e.forceIPv4||!1,this.config.forceIPv6=e.forceIPv6||!1,this.config.keepaliveCountMax=typeof e.keepaliveCountMax=="number"&&e.keepaliveCountMax>=0?e.keepaliveCountMax:3,this.config.keepaliveInterval=typeof e.keepaliveInterval=="number"&&e.keepaliveInterval>0?e.keepaliveInterval:0,this.config.readyTimeout=typeof e.readyTimeout=="number"&&e.readyTimeout>=0?e.readyTimeout:2e4,this.config.ident=typeof e.ident=="string"||Buffer.isBuffer(e.ident)?e.ident:void 0;let r={kex:void 0,serverHostKey:void 0,cs:{cipher:void 0,mac:void 0,compress:void 0,lang:[]},sc:void 0},n=!0;if(typeof e.algorithms=="object"&&e.algorithms!==null&&(r.kex=_s(e.algorithms.kex,e_,rS),r.kex!==e_&&(n=!1),r.serverHostKey=_s(e.algorithms.serverHostKey,r_,iS),r.serverHostKey!==r_&&(n=!1),r.cs.cipher=_s(e.algorithms.cipher,Xm,eS),r.cs.cipher!==Xm&&(n=!1),r.cs.mac=_s(e.algorithms.hmac,t_,nS),r.cs.mac!==t_&&(n=!1),r.cs.compress=_s(e.algorithms.compress,Jm,tS),r.cs.compress!==Jm&&(n=!1),n||(r.sc=r.cs)),typeof e.username=="string")this.config.username=e.username;else if(typeof e.user=="string")this.config.username=e.user;else throw new Error("Invalid username");this.config.password=typeof e.password=="string"?e.password:void 0,this.config.privateKey=typeof e.privateKey=="string"||Buffer.isBuffer(e.privateKey)?e.privateKey:void 0,this.config.localHostname=typeof e.localHostname=="string"?e.localHostname:void 0,this.config.localUsername=typeof e.localUsername=="string"?e.localUsername:void 0,this.config.tryKeyboard=e.tryKeyboard===!0,typeof e.agent=="string"&&e.agent.length?this.config.agent=s_(e.agent):a_(e.agent)?this.config.agent=e.agent:this.config.agent=void 0,this.config.allowAgentFwd=e.agentForward===!0&&this.config.agent!==void 0;let i=this.config.authHandler=typeof e.authHandler=="function"||Array.isArray(e.authHandler)?e.authHandler:void 0;this.config.strictVendor=typeof e.strictVendor=="boolean"?e.strictVendor:!0;let o=this.config.debug=typeof e.debug=="function"?e.debug:void 0;if(e.agentForward===!0&&!this.config.allowAgentFwd)throw new Error("You must set a valid agent path to allow agent forwarding");let s=this._callbacks=[];this._chanMgr=new fS(this),this._forwarding={},this._forwardingUnix={},this._acceptX11=0,this._agentFwdEnabled=!1,this._agent=this.config.agent?this.config.agent:void 0,this._remoteVer=void 0;let a;if(this.config.privateKey){if(a=rc(this.config.privateKey,e.passphrase),a instanceof Error)throw new Error(`Cannot parse privateKey: ${a.message}`);if(Array.isArray(a)&&(a=a[0]),a.getPrivatePEM()===null)throw new Error("privateKey value does not contain a (valid) private key")}let u;if(typeof e.hostVerifier=="function"){let C=e.hostVerifier,W;Yv.indexOf(e.hostHash)!==-1&&(W=e.hostHash),u=c((q,J)=>{W&&(q=qv(W).update(q).digest("hex"));let ue=C(q,J);ue!==void 0&&J(ue)},"hostVerifier")}let l=this._sock=e.sock||new Kv,d=!1,p=!1;this._protocol&&this._protocol.cleanup();let g=o?(C,W,q)=>{o(`Debug output from server: ${JSON.stringify(q)}`)}:void 0,h,_=this._protocol=new sS({ident:this.config.ident,offer:n?void 0:r,onWrite:c(C=>{rr(l)&&l.write(C)},"onWrite"),onError:c(C=>{C.level==="handshake"&&clearTimeout(this._readyTimeout),_._destruct||l.removeAllListeners("data"),this.emit("error",C);try{l.end()}catch{}},"onError"),onHeader:c(C=>{p=!0,this._remoteVer=C.versions.software,C.greeting&&this.emit("greeting",C.greeting)},"onHeader"),onHandshakeComplete:c(C=>{this.emit("handshake",C),d||(d=!0,_.service("ssh-userauth"))},"onHandshakeComplete"),debug:o,hostVerifier:u,messageHandlers:{DEBUG:g,DISCONNECT:c((C,W,q)=>{if(W!==n_.BY_APPLICATION){q||(q=Jv[W],q===void 0&&(q=`Unexpected disconnection reason: ${W}`));let J=new Error(q);J.code=W,this.emit("error",J)}l.end()},"DISCONNECT"),SERVICE_ACCEPT:c((C,W)=>{W==="ssh-userauth"&&B()},"SERVICE_ACCEPT"),EXT_INFO:c((C,W)=>{if(h===void 0){for(let q of W)if(q.name==="server-sig-algs"){h=q.algs;return}h=null}},"EXT_INFO"),USERAUTH_BANNER:c((C,W)=>{this.emit("banner",W)},"USERAUTH_BANNER"),USERAUTH_SUCCESS:c(C=>{$(),clearTimeout(this._readyTimeout),this.emit("ready")},"USERAUTH_SUCCESS"),USERAUTH_FAILURE:c((C,W,q)=>{if(P.keyAlgos){let J=P.keyAlgos[0][0];if(o&&o(`Client: ${P.type} (${J}) auth failed`),P.keyAlgos.shift(),P.keyAlgos.length){let[ue,me]=P.keyAlgos[0];switch(P.type){case"agent":_.authPK(P.username,P.agentCtx.currentKey(),ue);return;case"publickey":_.authPK(P.username,P.key,ue);return;case"hostbased":_.authHostbased(P.username,P.key,P.localHostname,P.localUsername,ue,(he,bt)=>{let Ct=P.key.sign(he,me);if(Ct instanceof Error)return Ct.message=`Error while signing with key: ${Ct.message}`,Ct.level="client-authentication",this.emit("error",Ct),B();bt(Ct)});return}}else P.keyAlgos=void 0}if(P.type==="agent"){let J=P.agentCtx.pos();return o&&o(`Client: Agent key #${J+1} failed`),G()}o&&o(`Client: ${P.type} auth failed`),k=q,M=W,B()},"USERAUTH_FAILURE"),USERAUTH_PASSWD_CHANGEREQ:c((C,W)=>{P.type==="password"&&this.emit("change password",W,q=>{_.authPassword(this.config.username,this.config.password,q)})},"USERAUTH_PASSWD_CHANGEREQ"),USERAUTH_PK_OK:c(C=>{let W,q;if(P.keyAlgos&&([W,q]=P.keyAlgos[0]),P.type==="agent"){let J=P.agentCtx.currentKey();_.authPK(P.username,J,W,(ue,me)=>{let he={hash:q};P.agentCtx.sign(J,ue,he,(bt,Ct)=>{if(bt)bt.level="agent",this.emit("error",bt);else return me(Ct);G()})})}else P.type==="publickey"&&_.authPK(P.username,P.key,W,(J,ue)=>{let me=P.key.sign(J,q);if(me instanceof Error)return me.message=`Error signing data with key: ${me.message}`,me.level="client-authentication",this.emit("error",me),B();ue(me)})},"USERAUTH_PK_OK"),USERAUTH_INFO_REQUEST:c((C,W,q,J)=>{if(P.type==="keyboard-interactive"){if((Array.isArray(J)?J.length:0)===0){o&&o("Client: Sending automatic USERAUTH_INFO_RESPONSE"),_.authInfoRes();return}P.prompt(W,q,"",J,me=>{_.authInfoRes(me)})}},"USERAUTH_INFO_REQUEST"),REQUEST_SUCCESS:c((C,W)=>{s.length&&s.shift()(!1,W)},"REQUEST_SUCCESS"),REQUEST_FAILURE:c(C=>{s.length&&s.shift()(!0)},"REQUEST_FAILURE"),GLOBAL_REQUEST:c((C,W,q,J)=>{W==="hostkeys-00@openssh.com"?(yS(this,J,(ue,me)=>{ue||this.emit("hostkeys",me)}),q&&_.requestSuccess()):q&&_.requestFailure()},"GLOBAL_REQUEST"),CHANNEL_OPEN:c((C,W)=>{mS(this,W)},"CHANNEL_OPEN"),CHANNEL_OPEN_CONFIRMATION:c((C,W)=>{let q=this._chanMgr.get(W.recipient);if(typeof q!="function")return;let J=q.type==="sftp",me={type:J?"session":q.type,incoming:{id:W.recipient,window:nc,packetSize:ic,state:"open"},outgoing:{id:W.sender,window:W.window,packetSize:W.packetSize,state:"open"}},he=J?new aS(this,me,{debug:o}):new y_(this,me);this._chanMgr.update(W.recipient,he),q(void 0,he)},"CHANNEL_OPEN_CONFIRMATION"),CHANNEL_OPEN_FAILURE:c((C,W,q,J)=>{let ue=this._chanMgr.get(W);if(typeof ue!="function")return;dS(this,W,{reason:q,description:J},ue)},"CHANNEL_OPEN_FAILURE"),CHANNEL_DATA:c((C,W,q)=>{let J=this._chanMgr.get(W);if(!(typeof J!="object"||J===null)&&J.incoming.window!==0){if(J.incoming.window-=q.length,J.push(q)===!1){J._waitChanDrain=!0;return}J.incoming.window<=u_&&c_(J)}},"CHANNEL_DATA"),CHANNEL_EXTENDED_DATA:c((C,W,q,J)=>{if(J!==Xv)return;let ue=this._chanMgr.get(W);if(!(typeof ue!="object"||ue===null)&&ue.incoming.window!==0){if(ue.incoming.window-=q.length,!ue.stderr.push(q)){ue._waitChanDrain=!0;return}ue.incoming.window<=u_&&c_(ue)}},"CHANNEL_EXTENDED_DATA"),CHANNEL_WINDOW_ADJUST:c((C,W,q)=>{let J=this._chanMgr.get(W);typeof J!="object"||J===null||(J.outgoing.window+=q,J._waitWindow&&(J._waitWindow=!1,J._chunk?J._write(J._chunk,null,J._chunkcb):J._chunkcb?J._chunkcb():J._chunkErr?J.stderr._write(J._chunkErr,null,J._chunkcbErr):J._chunkcbErr&&J._chunkcbErr()))},"CHANNEL_WINDOW_ADJUST"),CHANNEL_SUCCESS:c((C,W)=>{let q=this._chanMgr.get(W);typeof q!="object"||q===null||(this._resetKA(),q._callbacks.length&&q._callbacks.shift()(!1))},"CHANNEL_SUCCESS"),CHANNEL_FAILURE:c((C,W)=>{let q=this._chanMgr.get(W);typeof q!="object"||q===null||(this._resetKA(),q._callbacks.length&&q._callbacks.shift()(!0))},"CHANNEL_FAILURE"),CHANNEL_REQUEST:c((C,W,q,J,ue)=>{let me=this._chanMgr.get(W);if(typeof me!="object"||me===null)return;let he=me._exit;if(he.code===void 0){switch(q){case"exit-status":me.emit("exit",he.code=ue);return;case"exit-signal":me.emit("exit",he.code=null,he.signal=`SIG${ue.signal}`,he.dump=ue.coreDumped,he.desc=ue.errorMessage);return}J&&C.channelFailure(me.outgoing.id)}},"CHANNEL_REQUEST"),CHANNEL_EOF:c((C,W)=>{let q=this._chanMgr.get(W);typeof q!="object"||q===null||q.incoming.state==="open"&&(q.incoming.state="eof",q.readable&&q.push(null),q.stderr.readable&&q.stderr.push(null))},"CHANNEL_EOF"),CHANNEL_CLOSE:c((C,W)=>{pS(this,W,this._chanMgr.get(W))},"CHANNEL_CLOSE")}});l.pause();let A=this.config.keepaliveInterval,b=this.config.keepaliveCountMax,I=0,w,H=c(()=>{if(++I>b){if(clearInterval(w),l.readable){let C=new Error("Keepalive timeout");C.level="client-timeout",this.emit("error",C),l.destroy()}return}rr(l)?(s.push($),_.ping()):clearInterval(w)},"sendKA");function $(){A>0&&(I=0,clearInterval(w),rr(l)&&(w=setInterval(H,A)))}c($,"resetKA"),this._resetKA=$;let X=(()=>{let C=!1;return()=>{if(!C&&(C=!0,Y&&!p)){let W=cS("Connection lost before handshake","protocol",!0);this.emit("error",W)}}})(),Z=(()=>{let C=!1;return()=>{C||(C=!0,Y=!0,o&&o("Socket connected"),this.emit("connect"),oS.then(()=>{_.start(),l.on("data",W=>{try{_.parse(W,0,W.length)}catch(q){this.emit("error",q);try{rr(l)&&l.end()}catch{}}}),l.stderr&&typeof l.stderr.resume=="function"&&l.stderr.resume(),l.resume()}).catch(W=>{this.emit("error",W);try{rr(l)&&l.end()}catch{}}))}})(),Y=!1;l.on("connect",Z).on("timeout",()=>{this.emit("timeout")}).on("error",C=>{o&&o(`Socket error: ${C.message}`),clearTimeout(this._readyTimeout),C.level="client-socket",this.emit("error",C)}).on("end",()=>{o&&o("Socket ended"),X(),_.cleanup(),clearTimeout(this._readyTimeout),clearInterval(w),this.emit("end")}).on("close",()=>{o&&o("Socket closed"),X(),_.cleanup(),clearTimeout(this._readyTimeout),clearInterval(w),this.emit("close");let C=s;s=this._callbacks=[];let W=new Error("No response from server");for(let q=0;q<C.length;++q)C[q](W);this._chanMgr.cleanup(W)});let P,k=null,M=null,L=["none"];this.config.password!==void 0&&L.push("password"),a!==void 0&&L.push("publickey"),this._agent!==void 0&&L.push("agent"),this.config.tryKeyboard&&L.push("keyboard-interactive"),a!==void 0&&this.config.localHostname!==void 0&&this.config.localUsername!==void 0&&L.push("hostbased"),Array.isArray(i)?i=g_(i):typeof i!="function"&&(i=g_(L));let T=!1,F=c(C=>{if(!T){if(T=!0,C===!1){let W=new Error("All configured authentication methods failed");W.level="client-authentication",this.emit("error",W),this.end();return}if(typeof C=="string"){let W=C;if(L.indexOf(W)===-1)return j(`Authentication method not allowed: ${W}`);let q=this.config.username;switch(W){case"password":C={type:W,username:q,password:this.config.password};break;case"publickey":C={type:W,username:q,key:a};break;case"hostbased":C={type:W,username:q,key:a,localHostname:this.config.localHostname,localUsername:this.config.localUsername};break;case"agent":C={type:W,username:q,agentCtx:new o_(this._agent)};break;case"keyboard-interactive":C={type:W,username:q,prompt:c((...J)=>this.emit("keyboard-interactive",...J),"prompt")};break;case"none":C={type:W,username:q};break;default:return j(`Skipping unsupported authentication method: ${C}`)}}else{if(typeof C!="object"||C===null)return j(`Skipping invalid authentication attempt: ${C}`);{let W=C.username;if(typeof W!="string")return j(`Skipping invalid authentication attempt: ${C}`);let q=C.type;switch(q){case"password":{let{password:J}=C;if(typeof J!="string"&&!Buffer.isBuffer(J))return j("Skipping invalid password auth attempt");C={type:q,username:W,password:J};break}case"publickey":{let J=rc(C.key,C.passphrase);if(J instanceof Error)return j("Skipping invalid key auth attempt");if(!J.isPrivateKey())return j("Skipping non-private key");C={type:q,username:W,key:J};break}case"hostbased":{let{localHostname:J,localUsername:ue}=C,me=rc(C.key,C.passphrase);if(me instanceof Error||typeof J!="string"||typeof ue!="string")return j("Skipping invalid hostbased auth attempt");if(!me.isPrivateKey())return j("Skipping non-private key");C={type:q,username:W,key:me,localHostname:J,localUsername:ue};break}case"agent":{let J=C.agent;if(typeof J=="string"&&J.length)J=s_(J);else if(!a_(J))return j(`Skipping invalid agent: ${C.agent}`);C={type:q,username:W,agentCtx:new o_(J)};break}case"keyboard-interactive":{let{prompt:J}=C;if(typeof J!="function")return j("Skipping invalid keyboard-interactive auth attempt");C={type:q,username:W,prompt:J};break}case"none":C={type:q,username:W};break;default:return j(`Skipping unsupported authentication method: ${C}`)}}}P=C;try{let W=P.username;switch(P.type){case"password":_.authPassword(W,P.password);break;case"publickey":{let q;if(P.keyAlgos=lf(this,P.key,h),P.keyAlgos)if(P.keyAlgos.length)q=P.keyAlgos[0][0];else return j("Skipping key authentication (no mutual hash algorithm)");_.authPK(W,P.key,q);break}case"hostbased":{let q,J;if(P.keyAlgos=lf(this,P.key,h),P.keyAlgos)if(P.keyAlgos.length)[q,J]=P.keyAlgos[0];else return j("Skipping hostbased authentication (no mutual hash algorithm)");_.authHostbased(W,P.key,P.localHostname,P.localUsername,q,(ue,me)=>{let he=P.key.sign(ue,J);if(he instanceof Error)return he.message=`Error while signing with key: ${he.message}`,he.level="client-authentication",this.emit("error",he),B();me(he)});break}case"agent":P.agentCtx.init(q=>{if(q)return q.level="agent",this.emit("error",q),B();G()});break;case"keyboard-interactive":_.authKeyboard(W);break;case"none":_.authNone(W);break}}finally{T=!1}}},"doNextAuth");function j(C){o&&o(C),process.nextTick(B)}c(j,"skipAuth");function B(){T=!1;let C=i(M,k,F);T||C===void 0||F(C)}c(B,"tryNextAuth");let G=c(()=>{if(P.type==="agent"){let C=P.agentCtx.nextKey();if(C===!1)o&&o("Agent: No more keys left to try"),o&&o("Client: agent auth failed"),B();else{let W=P.agentCtx.pos(),q;if(P.keyAlgos=lf(this,C,h),P.keyAlgos)if(P.keyAlgos.length)q=P.keyAlgos[0][0];else{o&&o(`Agent: Skipping key #${W+1} (no mutual hash algorithm)`),G();return}o&&o(`Agent: Trying key #${W+1}`),_.authPK(P.username,C,q)}}},"tryNextAgentKey"),ee=c(()=>{this.config.readyTimeout>0&&(this._readyTimeout=setTimeout(()=>{let C=new Error("Timed out while waiting for handshake");C.level="client-timeout",this.emit("error",C),l.destroy()},this.config.readyTimeout))},"startTimeout");if(e.sock)ee(),typeof l.connecting=="boolean"&&l.connecting||Z();else{let C=this.config.host,W=this.config.forceIPv4,q=this.config.forceIPv6;o&&o(`Client: Trying ${C} on port ${this.config.port} ...`);let J=c(()=>{ee(),l.connect({host:C,port:this.config.port,localAddress:this.config.localAddress,localPort:this.config.localPort}),l.setMaxListeners(0),l.setTimeout(typeof e.timeout=="number"?e.timeout:0)},"doConnect");!W&&!q||W&&q?J():Gv(C,W?4:6,(ue,me,he)=>{if(ue){let bt=W?"IPv4":"IPv6",Ct=new Error(`Error while looking up ${bt} address for '${C}': ${ue}`);clearTimeout(this._readyTimeout),Ct.level="client-dns",this.emit("error",Ct),this.emit("close");return}C=me,J()})}return this}end(){return this._sock&&rr(this._sock)&&(this._protocol.disconnect(n_.BY_APPLICATION),this._sock.end()),this}destroy(){return this._sock&&rr(this._sock)&&this._sock.destroy(),this}exec(e,r,n){if(!this._sock||!rr(this._sock))throw new Error("Not connected");typeof r=="function"&&(n=r,r={});let i={allowHalfOpen:r.allowHalfOpen!==!1};return oo(this,"session",i,(o,s)=>{if(o){n(o);return}let a=[];function u(l){if(l){s.close(),n(l);return}a.length&&a.shift()()}c(u,"reqCb"),(this.config.allowAgentFwd===!0||r&&r.agentForward===!0&&this._agent!==void 0)&&a.push(()=>d_(s,u)),typeof r=="object"&&r!==null&&(typeof r.env=="object"&&r.env!==null&&p_(s,r.env),(typeof r.pty=="object"&&r.pty!==null||r.pty===!0)&&a.push(()=>f_(s,r.pty,u)),(typeof r.x11=="object"&&r.x11!==null||r.x11==="number"||r.x11===!0)&&a.push(()=>l_(s,r.x11,u))),a.push(()=>gS(s,e,r,n)),a.shift()()}),this}shell(e,r,n){if(!this._sock||!rr(this._sock))throw new Error("Not connected");return typeof e=="function"?(n=e,e=r=void 0):typeof r=="function"&&(n=r,r=void 0),e&&(e.x11!==void 0||e.env!==void 0)&&(r=e,e=void 0),oo(this,"session",(i,o)=>{if(i){n(i);return}let s=[];function a(u){if(u){o.close(),n(u);return}s.length&&s.shift()()}c(a,"reqCb"),(this.config.allowAgentFwd===!0||r&&r.agentForward===!0&&this._agent!==void 0)&&s.push(()=>d_(o,a)),e!==!1&&s.push(()=>f_(o,e,a)),typeof r=="object"&&r!==null&&(typeof r.env=="object"&&r.env!==null&&p_(o,r.env),(typeof r.x11=="object"&&r.x11!==null||r.x11==="number"||r.x11===!0)&&s.push(()=>l_(o,r.x11,a))),s.push(()=>hS(o,n)),s.shift()()}),this}subsys(e,r){if(!this._sock||!rr(this._sock))throw new Error("Not connected");return oo(this,"session",(n,i)=>{if(n){r(n);return}h_(i,e,(o,s)=>{if(o){r(o);return}r(void 0,s)})}),this}forwardIn(e,r,n){if(!this._sock||!rr(this._sock))throw new Error("Not connected");let i=typeof n=="function";return i&&this._callbacks.push((o,s)=>{if(o){n(o!==!0?o:new Error(`Unable to bind to ${e}:${r}`));return}let a=r;r===0&&s&&s.length>=4&&(a=uS(s,0),this._protocol._compatFlags&m_.DYN_RPORT_BUG||(r=a)),this._forwarding[`${e}:${r}`]=a,n(void 0,a)}),this._protocol.tcpipForward(e,r,i),this}unforwardIn(e,r,n){if(!this._sock||!rr(this._sock))throw new Error("Not connected");let i=typeof n=="function";return i&&this._callbacks.push(o=>{if(o){n(o!==!0?o:new Error(`Unable to unbind from ${e}:${r}`));return}delete this._forwarding[`${e}:${r}`],n()}),this._protocol.cancelTcpipForward(e,r,i),this}forwardOut(e,r,n,i,o){if(!this._sock||!rr(this._sock))throw new Error("Not connected");let s={srcIP:e,srcPort:r,dstIP:n,dstPort:i};return typeof o!="function"&&(o=ff),oo(this,"direct-tcpip",s,o),this}openssh_noMoreSessions(e){if(!this._sock||!rr(this._sock))throw new Error("Not connected");let r=typeof e=="function";return!this.config.strictVendor||this.config.strictVendor&&ys.test(this._remoteVer)?(r&&this._callbacks.push(n=>{if(n){e(n!==!0?n:new Error("Unable to disable future sessions"));return}e()}),this._protocol.openssh_noMoreSessions(r),this):r?(process.nextTick(e,new Error("strictVendor enabled and server is not OpenSSH or compatible version")),this):this}openssh_forwardInStreamLocal(e,r){if(!this._sock||!rr(this._sock))throw new Error("Not connected");let n=typeof r=="function";return!this.config.strictVendor||this.config.strictVendor&&ys.test(this._remoteVer)?(n&&this._callbacks.push(i=>{if(i){r(i!==!0?i:new Error(`Unable to bind to ${e}`));return}this._forwardingUnix[e]=!0,r()}),this._protocol.openssh_streamLocalForward(e,n),this):n?(process.nextTick(r,new Error("strictVendor enabled and server is not OpenSSH or compatible version")),this):this}openssh_unforwardInStreamLocal(e,r){if(!this._sock||!rr(this._sock))throw new Error("Not connected");let n=typeof r=="function";return!this.config.strictVendor||this.config.strictVendor&&ys.test(this._remoteVer)?(n&&this._callbacks.push(i=>{if(i){r(i!==!0?i:new Error(`Unable to unbind from ${e}`));return}delete this._forwardingUnix[e],r()}),this._protocol.openssh_cancelStreamLocalForward(e,n),this):n?(process.nextTick(r,new Error("strictVendor enabled and server is not OpenSSH or compatible version")),this):this}openssh_forwardOutStreamLocal(e,r){if(!this._sock||!rr(this._sock))throw new Error("Not connected");return typeof r!="function"&&(r=ff),!this.config.strictVendor||this.config.strictVendor&&ys.test(this._remoteVer)?(oo(this,"direct-streamlocal@openssh.com",{socketPath:e},r),this):(process.nextTick(r,new Error("strictVendor enabled and server is not OpenSSH or compatible version")),this)}sftp(e){if(!this._sock||!rr(this._sock))throw new Error("Not connected");return oo(this,"sftp",(r,n)=>{if(r){e(r);return}h_(n,"sftp",(i,o)=>{if(i){e(i);return}function s(){n.removeListener("ready",a),n.removeListener("error",u),n.removeListener("exit",l),n.removeListener("close",l)}c(s,"removeListeners");function a(){s(),e(void 0,n)}c(a,"onReady");function u(d){s(),e(d)}c(u,"onError");function l(d,p){s();let g;typeof d=="number"?g=`Received exit code ${d} while establishing SFTP session`:p!==void 0?g=`Received signal ${p} while establishing SFTP session`:g="Received unexpected SFTP session termination";let h=new Error(g);h.code=d,h.signal=p,e(h)}c(l,"onExit"),n.on("ready",a).on("error",u).on("exit",l).on("close",l),n._init()})}),this}setNoDelay(e){return this._sock&&typeof this._sock.setNoDelay=="function"&&this._sock.setNoDelay(e),this}};function oo(t,e,r,n){let i=nc,o=ic;typeof r=="function"&&(n=r,r={});let s=c((u,l)=>{n(u,l)},"wrapper");s.type=e;let a=t._chanMgr.add(s);if(a===-1){n(new Error("No free channels available"));return}switch(e){case"session":case"sftp":t._protocol.session(a,i,o);break;case"direct-tcpip":t._protocol.directTcpip(a,i,o,r);break;case"direct-streamlocal@openssh.com":t._protocol.openssh_directStreamLocal(a,i,o,r);break;default:throw new Error(`Unsupported channel type: ${e}`)}}c(oo,"openChannel");function l_(t,e,r){let n={single:!1,protocol:"MIT-MAGIC-COOKIE-1",cookie:void 0,screen:0};typeof e=="function"?r=e:typeof e=="object"&&e!==null&&(typeof e.single=="boolean"&&(n.single=e.single),typeof e.screen=="number"&&(n.screen=e.screen),typeof e.protocol=="string"&&(n.protocol=e.protocol),typeof e.cookie=="string"?n.cookie=e.cookie:Buffer.isBuffer(e.cookie)&&(n.cookie=e.cookie.hexSlice(0,e.cookie.length))),n.cookie===void 0&&(n.cookie=_S());let i=typeof r=="function";if(t.outgoing.state!=="open"){i&&r(new Error("Channel is not open"));return}i&&t._callbacks.push(o=>{if(o){r(o!==!0?o:new Error("Unable to request X11"));return}t._hasX11=!0,++t._client._acceptX11,t.once("close",()=>{t._client._acceptX11&&--t._client._acceptX11}),r()}),t._client._protocol.x11Forward(t.outgoing.id,n,i)}c(l_,"reqX11");function f_(t,e,r){let n=24,i=80,o=640,s=480,a="vt100",u=null;typeof e=="function"?r=e:typeof e=="object"&&e!==null&&(typeof e.rows=="number"&&(n=e.rows),typeof e.cols=="number"&&(i=e.cols),typeof e.width=="number"&&(o=e.width),typeof e.height=="number"&&(s=e.height),typeof e.term=="string"&&(a=e.term),typeof e.modes=="object"&&(u=e.modes));let l=typeof r=="function";if(t.outgoing.state!=="open"){l&&r(new Error("Channel is not open"));return}l&&t._callbacks.push(d=>{if(d){r(d!==!0?d:new Error("Unable to request a pseudo-terminal"));return}r()}),t._client._protocol.pty(t.outgoing.id,n,i,s,o,a,u,l)}c(f_,"reqPty");function d_(t,e){let r=typeof e=="function";if(t.outgoing.state!=="open"){r&&e(new Error("Channel is not open"));return}if(t._client._agentFwdEnabled){r&&e(!1);return}t._client._agentFwdEnabled=!0,t._callbacks.push(n=>{if(n){t._client._agentFwdEnabled=!1,r&&e(n!==!0?n:new Error("Unable to request agent forwarding"));return}r&&e()}),t._client._protocol.openssh_agentForward(t.outgoing.id,!0)}c(d_,"reqAgentFwd");function hS(t,e){if(t.outgoing.state!=="open"){e(new Error("Channel is not open"));return}t._callbacks.push(r=>{if(r){e(r!==!0?r:new Error("Unable to open shell"));return}t.subtype="shell",e(void 0,t)}),t._client._protocol.shell(t.outgoing.id,!0)}c(hS,"reqShell");function gS(t,e,r,n){if(t.outgoing.state!=="open"){n(new Error("Channel is not open"));return}t._callbacks.push(i=>{if(i){n(i!==!0?i:new Error("Unable to exec"));return}t.subtype="exec",t.allowHalfOpen=r.allowHalfOpen!==!1,n(void 0,t)}),t._client._protocol.exec(t.outgoing.id,e,!0)}c(gS,"reqExec");function p_(t,e){if(t.outgoing.state!=="open")return;let r=Object.keys(e||{});for(let n=0;n<r.length;++n){let i=r[n],o=e[i];t._client._protocol.env(t.outgoing.id,i,o,!1)}}c(p_,"reqEnv");function h_(t,e,r){if(t.outgoing.state!=="open"){r(new Error("Channel is not open"));return}t._callbacks.push(n=>{if(n){r(n!==!0?n:new Error(`Unable to start subsystem: ${e}`));return}t.subtype="subsystem",r(void 0,t)}),t._client._protocol.subsystem(t.outgoing.id,e,!0)}c(h_,"reqSubsystem");function mS(t,e){let r=-1,n,i=c(()=>{let u={type:e.type,incoming:{id:r,window:nc,packetSize:ic,state:"open"},outgoing:{id:e.sender,window:e.window,packetSize:e.packetSize,state:"open"}},l=new y_(t,u);return t._chanMgr.update(r,l),t._protocol.channelOpenConfirm(e.sender,r,nc,ic),l},"accept"),o=c(()=>{n===void 0&&(r===-1?n=ms.RESOURCE_SHORTAGE:n=ms.CONNECT_FAILED),r!==-1&&t._chanMgr.remove(r),t._protocol.channelOpenFail(e.sender,n,"")},"reject"),s=c(()=>(r=t._chanMgr.add(),r===-1&&(n=ms.RESOURCE_SHORTAGE,t.config.debug&&t.config.debug("Client: Automatic rejection of incoming channel open: no channels available")),r!==-1),"reserveChannel"),a=e.data;switch(e.type){case"forwarded-tcpip":{let u=t._forwarding[`${a.destIP}:${a.destPort}`];if(u!==void 0&&s()){a.destPort===0&&(a.destPort=u),t.emit("tcp connection",a,i,o);return}break}case"forwarded-streamlocal@openssh.com":if(t._forwardingUnix[a.socketPath]!==void 0&&s()){t.emit("unix connection",a,i,o);return}break;case"auth-agent@openssh.com":if(t._agentFwdEnabled&&typeof t._agent.getStream=="function"&&s()){t._agent.getStream((u,l)=>{if(u)return o();let d=i();d.pipe(l).pipe(d)});return}break;case"x11":if(t._acceptX11!==0&&s()){t.emit("x11",a,i,o);return}break;default:n=ms.UNKNOWN_CHANNEL_TYPE,t.config.debug&&t.config.debug(`Client: Automatic rejection of unsupported incoming channel open type: ${e.type}`)}n===void 0&&(n=ms.ADMINISTRATIVELY_PROHIBITED,t.config.debug&&t.config.debug("Client: Automatic rejection of unexpected incoming channel open for: "+e.type)),o()}c(mS,"onCHANNEL_OPEN");var _S=(()=>{let t=Buffer.allocUnsafe(16);return()=>(Vv(t,0,16),t.hexSlice(0,16))})();function g_(t){if(!Array.isArray(t))throw new Error("authList must be an array");let e=0;return(r,n,i)=>e===t.length?!1:t[e++]}c(g_,"makeSimpleAuthHandler");function yS(t,e,r){if(!t._sock||!rr(t._sock))return;if(typeof r!="function"&&(r=ff),!Array.isArray(e))throw new TypeError("Invalid keys argument type");let n=[];for(let i of e){let o=rc(i);if(o instanceof Error)throw o;n.push(o)}if(!t.config.strictVendor||t.config.strictVendor&&ys.test(t._remoteVer)){t._callbacks.push((i,o)=>{if(i){r(i!==!0?i:new Error("Server failed to prove supplied keys"));return}let s=[],a=0;for(ec.init(o,0);ec.avail()&&a!==n.length;){let u=n[a++],l=u.getPublicSSH(),d=ec.readString();tc.init(d,0);let p=tc.readString(!0),g=tc.readString(),h;if(p!==u.type)if(u.type==="ssh-rsa")switch(p){case"rsa-sha2-256":h="sha256";break;case"rsa-sha2-512":h="sha512";break;default:continue}else continue;let _=t._protocol._kex.sessionID,A=Buffer.allocUnsafe(37+_.length+4+l.length),b=0;uf(A,29,b),A.utf8Write("hostkeys-prove-00@openssh.com",b+=4,29),uf(A,_.length,b+=29),i_(_,A,0,_.length,b+=4),uf(A,l.length,b+=_.length),i_(l,A,0,l.length,b+=4),(g=lS(g,p))&&u.verify(A,g,h)===!0&&s.push(u)}tc.clear(),ec.clear(),r(null,s)}),t._protocol.openssh_hostKeysProve(n);return}process.nextTick(r,new Error("strictVendor enabled and server is not OpenSSH or compatible version"))}c(yS,"hostKeysProve");function lf(t,e,r){switch(e.type){case"ssh-rsa":if(t._protocol._compatFlags&m_.IMPLY_RSA_SHA2_SIGALGS&&(Array.isArray(r)?r=["rsa-sha2-256","rsa-sha2-512",...r]:r=["rsa-sha2-256","rsa-sha2-512"]),Array.isArray(r)){if(r.indexOf("rsa-sha2-256")!==-1)return[["rsa-sha2-256","sha256"]];if(r.indexOf("rsa-sha2-512")!==-1)return[["rsa-sha2-512","sha512"]];if(r.indexOf("ssh-rsa")===-1)return[]}return[["ssh-rsa","sha1"]]}}c(lf,"getKeyAlgos");E_.exports=df});var b_=le(A_=>{"use strict";var{Agent:gf}=require("http"),{Agent:ES}=require("https"),{connect:AS}=require("tls"),hf;for(let t of[gf,ES]){class e extends t{static{c(this,"SSHAgent")}constructor(n,i){super(i),this._connectCfg=n,this._defaultSrcIP=i&&i.srcIP||"localhost"}createConnection(n,i){let o=n&&n.localAddress||this._defaultSrcIP,s=n&&n.localPort||0,a=n.host,u=n.port;hf===void 0&&(hf=pf());let l=new hf,d=!1;l.on("ready",()=>{l.forwardOut(o,s,a,u,(p,g)=>{if(d=!0,p)return l.end(),i(p);g.once("close",()=>l.end()),i(null,bS(g,t,n))})}).on("error",i).on("close",()=>{d||i(new Error("Unexpected connection close"))}).connect(this._connectCfg)}}A_[t===gf?"SSHTTPAgent":"SSHTTPSAgent"]=e}function Es(){}c(Es,"noop");function bS(t,e,r){if(e===gf)return t.setKeepAlive=Es,t.setNoDelay=Es,t.setTimeout=Es,t.ref=Es,t.unref=Es,t.destroySoon=t.destroy,t;r.socket=t;let n=AS(r),i=(()=>{let o=!1;return()=>{o||(o=!0,t.isPaused()&&t.resume())}})();return n.on("end",i).on("close",i),n}c(bS,"decorateStream")});var I_=le((PF,Ef)=>{"use strict";var{Server:xS}=require("net"),bs=require("events"),{listenerCount:_r}=bs,{CHANNEL_OPEN_FAILURE:so,DEFAULT_CIPHER:IS,DEFAULT_COMPRESSION:vS,DEFAULT_KEX:SS,DEFAULT_MAC:wS,DEFAULT_SERVER_HOST_KEY:PS,DISCONNECT_REASON:ao,DISCONNECT_REASON_BY_VALUE:TS,SUPPORTED_CIPHER:kS,SUPPORTED_COMPRESSION:CS,SUPPORTED_KEX:RS,SUPPORTED_MAC:NS,SUPPORTED_SERVER_HOST_KEY:OS}=An(),{init:$S}=zn(),{KexInit:DS}=Fa(),{parseKey:x_}=Hn(),BS=Hl(),{SFTP:US}=ps(),{writeUInt32BE:LS}=Qr(),{Channel:co,MAX_WINDOW:qn,PACKET_SIZE:Qn,windowAdjust:zS,WINDOW_THRESHOLD:MS}=of(),{ChannelManager:FS,generateAlgorithmList:As,isWritable:oc,onChannelOpenFailure:HS,onCHANNEL_CLOSE:jS}=cf(),WS=10,Vn=class extends bs{static{c(this,"AuthContext")}constructor(e,r,n,i,o){super(),this.username=this.user=r,this.service=n,this.method=i,this._initialResponse=!1,this._finalResponse=!1,this._multistep=!1,this._cbfinal=(s,a,u)=>{this._finalResponse||(this._finalResponse=!0,o(this,s,a,u))},this._protocol=e}accept(){this._cleanup&&this._cleanup(),this._initialResponse=!0,this._cbfinal(!0)}reject(e,r){this._cleanup&&this._cleanup(),this._initialResponse=!0,this._cbfinal(!1,e,r)}},sc=class extends Vn{static{c(this,"KeyboardAuthContext")}constructor(e,r,n,i,o,s){super(e,r,n,i,s),this._multistep=!0,this._cb=void 0,this._onInfoResponse=a=>{let u=this._cb;u&&(this._cb=void 0,u(a))},this.submethods=o,this.on("abort",()=>{this._cb&&this._cb(new Error("Authentication request aborted"))})}prompt(e,r,n,i){Array.isArray(e)||(e=[e]),typeof r=="function"?(i=r,r=n=void 0):typeof n=="function"?(i=n,n=void 0):typeof i!="function"&&(i=void 0);for(let o=0;o<e.length;++o)typeof e[o]=="string"&&(e[o]={prompt:e[o],echo:!0});this._cb=i,this._initialResponse=!0,this._protocol.authInfoReq(r,n,e)}},_f=class extends Vn{static{c(this,"PKAuthContext")}constructor(e,r,n,i,o,s){super(e,r,n,i,s),this.key={algo:o.keyAlgo,data:o.key},this.hashAlgo=o.hashAlgo,this.signature=o.signature,this.blob=o.blob}accept(){this.signature?Vn.prototype.accept.call(this):(this._initialResponse=!0,this._protocol.authPKOK(this.key.algo,this.key.data))}},yf=class extends Vn{static{c(this,"HostbasedAuthContext")}constructor(e,r,n,i,o,s){super(e,r,n,i,s),this.key={algo:o.keyAlgo,data:o.key},this.hashAlgo=o.hashAlgo,this.signature=o.signature,this.blob=o.blob,this.localHostname=o.localHostname,this.localUsername=o.localUsername}},ac=class extends Vn{static{c(this,"PwdAuthContext")}constructor(e,r,n,i,o,s){super(e,r,n,i,s),this.password=o,this._changeCb=void 0}requestChange(e,r){if(this._changeCb)throw new Error("Change request already in progress");if(typeof e!="string")throw new Error("prompt argument must be a string");if(typeof r!="function")throw new Error("Callback argument must be a function");this._changeCb=r,this._protocol.authPasswdChg(e)}},an=class extends bs{static{c(this,"Session")}constructor(e,r,n){super(),this.type="session",this.subtype=void 0,this.server=!0,this._ending=!1,this._channel=void 0,this._chanInfo={type:"session",incoming:{id:n,window:qn,packetSize:Qn,state:"open"},outgoing:{id:r.sender,window:r.window,packetSize:r.packetSize,state:"open"}}}},$r=class extends bs{static{c(this,"Server")}constructor(e,r){if(super(),typeof e!="object"||e===null)throw new Error("Missing configuration object");let n=Object.create(null),i=[],o=e.hostKeys;if(!Array.isArray(o))throw new Error("hostKeys must be an array");let s=typeof e.algorithms=="object"&&e.algorithms!==null?e.algorithms:{},a=As(s.serverHostKey,PS,OS);for(let g=0;g<o.length;++g){let h;if(Buffer.isBuffer(o[g])||typeof o[g]=="string"?h=x_(o[g]):h=x_(o[g].key,o[g].passphrase),h instanceof Error)throw new Error(`Cannot parse privateKey: ${h.message}`);if(Array.isArray(h)&&(h=h[0]),h.getPrivatePEM()===null)throw new Error("privateKey value contains an invalid private key");if(!i.includes(h.type))if(h.type==="ssh-rsa"){let _=a.indexOf("ssh-rsa"),A=a.indexOf("rsa-sha2-256"),b=a.indexOf("rsa-sha2-512");_===-1&&(_=1/0),[_,A,b].sort(qS).forEach(I=>{if(I===-1)return;let w;switch(I){case _:w="ssh-rsa";break;case A:w="rsa-sha2-256";break;case b:w="rsa-sha2-512";break;default:return}n[w]=h,i.push(w)})}else n[h.type]=h,i.push(h.type)}let u={kex:As(s.kex,SS,RS).concat(["kex-strict-s-v00@openssh.com"]),serverHostKey:i,cs:{cipher:As(s.cipher,IS,kS),mac:As(s.hmac,wS,NS),compress:As(s.compress,vS,CS),lang:[]},sc:void 0};u.sc=u.cs,typeof r=="function"&&this.on("connection",r);let l=typeof e.debug=="function"?e.debug:void 0,d=e.ident?Buffer.from(e.ident):void 0,p=new DS(u);this._srv=new xS(g=>{if(this._connections>=this.maxConnections){g.destroy();return}++this._connections,g.once("close",()=>{--this._connections});let h;if(l){let _=`[${process.hrtime().join(".")}] `;h=c(A=>{l(`${_}${A}`)},"debug")}new cc(g,n,d,p,h,this,e)}).on("error",g=>{this.emit("error",g)}).on("listening",()=>{this.emit("listening")}).on("close",()=>{this.emit("close")}),this._connections=0,this.maxConnections=1/0}injectSocket(e){this._srv.emit("connection",e)}listen(...e){return this._srv.listen(...e),this}address(){return this._srv.address()}getConnections(e){return this._srv.getConnections(e),this}close(e){return this._srv.close(e),this}ref(){return this._srv.ref(),this}unref(){return this._srv.unref(),this}};$r.KEEPALIVE_CLIENT_INTERVAL=15e3;$r.KEEPALIVE_CLIENT_COUNT_MAX=3;var cc=class extends bs{static{c(this,"Client")}constructor(e,r,n,i,o,s,a){super();let u=0,l=!1,d=[],p,g,h,_=[];this._sock=e,this._chanMgr=new FS(this),this._debug=o,this.noMoreSessions=!1,this.authenticated=!1;function A(Y){}c(A,"onClientPreHeaderError"),this.on("error",A);let b=o?(Y,P,k)=>{o(`Debug output from client: ${JSON.stringify(k)}`)}:void 0,I=typeof a.keepaliveInterval=="number"&&isFinite(a.keepaliveInterval)&&a.keepaliveInterval>0?a.keepaliveInterval:typeof $r.KEEPALIVE_CLIENT_INTERVAL=="number"&&isFinite($r.KEEPALIVE_CLIENT_INTERVAL)&&$r.KEEPALIVE_CLIENT_INTERVAL>0?$r.KEEPALIVE_CLIENT_INTERVAL:-1,w=typeof a.keepaliveCountMax=="number"&&isFinite(a.keepaliveCountMax)&&a.keepaliveCountMax>=0?a.keepaliveCountMax:typeof $r.KEEPALIVE_CLIENT_COUNT_MAX=="number"&&isFinite($r.KEEPALIVE_CLIENT_COUNT_MAX)&&$r.KEEPALIVE_CLIENT_COUNT_MAX>=0?$r.KEEPALIVE_CLIENT_COUNT_MAX:-1,H=0;I!==-1&&w!==-1&&(this.once("ready",()=>{let Y=c(()=>{clearInterval(g)},"onClose");this.on("close",Y).on("end",Y),g=setInterval(()=>{if(++H>w){clearInterval(g);let P=new Error("Keepalive timeout");P.level="client-timeout",this.emit("error",P),this.end()}else $.ping()},I)}),h=c(()=>{g&&g.refresh(),H=0},"onPacket"));let $=this._protocol=new BS({server:!0,hostKeys:r,ident:n,offer:i,onPacket:h,greeting:a.greeting,banner:a.banner,onWrite:c(Y=>{oc(e)&&e.write(Y)},"onWrite"),onError:c(Y=>{$._destruct||e.removeAllListeners("data"),this.emit("error",Y);try{e.end()}catch{}},"onError"),onHeader:c(Y=>{this.removeListener("error",A);let P={ip:e.remoteAddress,family:e.remoteFamily,port:e.remotePort,header:Y};if(!s.emit("connection",this,P)){$.disconnect(ao.BY_APPLICATION),e.end();return}Y.greeting&&this.emit("greeting",Y.greeting)},"onHeader"),onHandshakeComplete:c(Y=>{++u>1&&this.emit("rekey"),this.emit("handshake",Y)},"onHandshakeComplete"),debug:o,messageHandlers:{DEBUG:b,DISCONNECT:c((Y,P,k)=>{if(P!==ao.BY_APPLICATION){k||(k=TS[P],k===void 0&&(k=`Unexpected disconnection reason: ${P}`));let M=new Error(k);M.code=P,this.emit("error",M)}e.end()},"DISCONNECT"),CHANNEL_OPEN:c((Y,P)=>{if(P.type==="session"&&this.noMoreSessions||!this.authenticated){let G=so.ADMINISTRATIVELY_PROHIBITED;return $.channelOpenFail(P.sender,G)}let k=-1,M,L=!1,T,F=c(()=>{L||(L=!0,M===void 0&&(k===-1?M=so.RESOURCE_SHORTAGE:M=so.CONNECT_FAILED),k!==-1&&this._chanMgr.remove(k),$.channelOpenFail(P.sender,M,""))},"reject"),j=c(()=>(k=this._chanMgr.add(),k===-1&&(M=so.RESOURCE_SHORTAGE,o&&o("Automatic rejection of incoming channel open: no channels available")),k!==-1),"reserveChannel"),B=P.data;switch(P.type){case"session":if(_r(this,"session")&&j()){T=c(()=>{if(L)return;L=!0;let G=new an(this,P,k);return this._chanMgr.update(k,G),$.channelOpenConfirm(P.sender,k,qn,Qn),G},"accept"),this.emit("session",T,F);return}break;case"direct-tcpip":if(_r(this,"tcpip")&&j()){T=c(()=>{if(L)return;L=!0;let G={type:void 0,incoming:{id:k,window:qn,packetSize:Qn,state:"open"},outgoing:{id:P.sender,window:P.window,packetSize:P.packetSize,state:"open"}},ee=new co(this,G,{server:!0});return this._chanMgr.update(k,ee),$.channelOpenConfirm(P.sender,k,qn,Qn),ee},"accept"),this.emit("tcpip",T,F,B);return}break;case"direct-streamlocal@openssh.com":if(_r(this,"openssh.streamlocal")&&j()){T=c(()=>{if(L)return;L=!0;let G={type:void 0,incoming:{id:k,window:qn,packetSize:Qn,state:"open"},outgoing:{id:P.sender,window:P.window,packetSize:P.packetSize,state:"open"}},ee=new co(this,G,{server:!0});return this._chanMgr.update(k,ee),$.channelOpenConfirm(P.sender,k,qn,Qn),ee},"accept"),this.emit("openssh.streamlocal",T,F,B);return}break;default:M=so.UNKNOWN_CHANNEL_TYPE,o&&o(`Automatic rejection of unsupported incoming channel open type: ${P.type}`)}M===void 0&&(M=so.ADMINISTRATIVELY_PROHIBITED,o&&o(`Automatic rejection of unexpected incoming channel open for: ${P.type}`)),F()},"CHANNEL_OPEN"),CHANNEL_OPEN_CONFIRMATION:c((Y,P)=>{let k=this._chanMgr.get(P.recipient);if(typeof k!="function")return;let M={type:k.type,incoming:{id:P.recipient,window:qn,packetSize:Qn,state:"open"},outgoing:{id:P.sender,window:P.window,packetSize:P.packetSize,state:"open"}},L=new co(this,M,{server:!0});this._chanMgr.update(P.recipient,L),k(void 0,L)},"CHANNEL_OPEN_CONFIRMATION"),CHANNEL_OPEN_FAILURE:c((Y,P,k,M)=>{let L=this._chanMgr.get(P);if(typeof L!="function")return;HS(this,P,{reason:k,description:M},L)},"CHANNEL_OPEN_FAILURE"),CHANNEL_DATA:c((Y,P,k)=>{let M=this._chanMgr.get(P);if(!(typeof M!="object"||M===null)&&!(M.constructor===an&&(M=M._channel,!M))&&M.incoming.window!==0){if(M.incoming.window-=k.length,M.push(k)===!1){M._waitChanDrain=!0;return}M.incoming.window<=MS&&zS(M)}},"CHANNEL_DATA"),CHANNEL_EXTENDED_DATA:c((Y,P,k,M)=>{},"CHANNEL_EXTENDED_DATA"),CHANNEL_WINDOW_ADJUST:c((Y,P,k)=>{let M=this._chanMgr.get(P);typeof M!="object"||M===null||M.constructor===an&&(M=M._channel,!M)||(M.outgoing.window+=k,M._waitWindow&&(M._waitWindow=!1,M._chunk?M._write(M._chunk,null,M._chunkcb):M._chunkcb?M._chunkcb():M._chunkErr?M.stderr._write(M._chunkErr,null,M._chunkcbErr):M._chunkcbErr&&M._chunkcbErr()))},"CHANNEL_WINDOW_ADJUST"),CHANNEL_SUCCESS:c((Y,P)=>{let k=this._chanMgr.get(P);typeof k!="object"||k===null||k.constructor===an&&(k=k._channel,!k)||k._callbacks.length&&k._callbacks.shift()(!1)},"CHANNEL_SUCCESS"),CHANNEL_FAILURE:c((Y,P)=>{let k=this._chanMgr.get(P);typeof k!="object"||k===null||k.constructor===an&&(k=k._channel,!k)||k._callbacks.length&&k._callbacks.shift()(!0)},"CHANNEL_FAILURE"),CHANNEL_REQUEST:c((Y,P,k,M,L)=>{let T=this._chanMgr.get(P);if(typeof T!="object"||T===null)return;let F=!1,j,B;if(T.constructor!==an){M&&$.channelFailure(T.outgoing.id);return}if(M&&(k!=="shell"&&k!=="exec"&&k!=="subsystem"&&(j=c(()=>{F||T._ending||T._channel||(F=!0,$.channelSuccess(T._chanInfo.outgoing.id))},"accept")),B=c(()=>{F||T._ending||T._channel||(F=!0,$.channelFailure(T._chanInfo.outgoing.id))},"reject")),T._ending){B&&B();return}switch(k){case"env":if(_r(T,"env")){T.emit("env",j,B,{key:L.name,val:L.value});return}break;case"pty-req":if(_r(T,"pty")){T.emit("pty",j,B,L);return}break;case"window-change":_r(T,"window-change")?T.emit("window-change",j,B,L):B&&B();break;case"x11-req":if(_r(T,"x11")){T.emit("x11",j,B,L);return}break;case"signal":if(_r(T,"signal")){T.emit("signal",j,B,{name:L});return}break;case"auth-agent-req@openssh.com":if(_r(T,"auth-agent")){T.emit("auth-agent",j,B);return}break;case"shell":if(_r(T,"shell")){j=c(()=>{if(F||T._ending||T._channel)return;F=!0,M&&$.channelSuccess(T._chanInfo.outgoing.id);let G=new co(this,T._chanInfo,{server:!0});return G.subtype=T.subtype=k,T._channel=G,G},"accept"),T.emit("shell",j,B);return}break;case"exec":if(_r(T,"exec")){j=c(()=>{if(F||T._ending||T._channel)return;F=!0,M&&$.channelSuccess(T._chanInfo.outgoing.id);let G=new co(this,T._chanInfo,{server:!0});return G.subtype=T.subtype=k,T._channel=G,G},"accept"),T.emit("exec",j,B,{command:L});return}break;case"subsystem":{let G=L==="sftp";if(j=c(()=>{if(F||T._ending||T._channel)return;F=!0,M&&$.channelSuccess(T._chanInfo.outgoing.id);let ee;return G?ee=new US(this,T._chanInfo,{server:!0,debug:o}):(ee=new co(this,T._chanInfo,{server:!0}),ee.subtype=T.subtype=`${k}:${L}`),T._channel=ee,ee},"accept"),L==="sftp"){if(_r(T,"sftp")){T.emit("sftp",j,B);return}G=!1}if(_r(T,"subsystem")){T.emit("subsystem",j,B,{name:L});return}break}}o&&o(`Automatic rejection of incoming channel request: ${k}`),B&&B()},"CHANNEL_REQUEST"),CHANNEL_EOF:c((Y,P)=>{let k=this._chanMgr.get(P);typeof k!="object"||k===null||k.constructor===an&&(k._ending||(k._ending=!0,k.emit("eof"),k.emit("end")),k=k._channel,!k)||k.incoming.state==="open"&&(k.incoming.state="eof",k.readable&&k.push(null))},"CHANNEL_EOF"),CHANNEL_CLOSE:c((Y,P)=>{let k=this._chanMgr.get(P);typeof k!="object"||k===null||k.constructor===an&&(k._ending=!0,k.emit("close"),k=k._channel,!k)||jS(this,P,k)},"CHANNEL_CLOSE"),SERVICE_REQUEST:c((Y,P)=>{if(u===0||l||this.authenticated||P!=="ssh-userauth"){$.disconnect(ao.SERVICE_NOT_AVAILABLE),e.end();return}l=!0,$.serviceAccept(P)},"SERVICE_REQUEST"),USERAUTH_REQUEST:c((Y,P,k,M,L)=>{if(u===0||this.authenticated||p&&(p.username!==P||p.service!==k)||M!=="password"&&M!=="publickey"&&M!=="hostbased"&&M!=="keyboard-interactive"&&M!=="none"||d.length===WS){$.disconnect(ao.PROTOCOL_ERROR),e.end();return}else if(k!=="ssh-connection"){$.disconnect(ao.SERVICE_NOT_AVAILABLE),e.end();return}let T;switch(M){case"keyboard-interactive":T=new sc($,P,k,M,L,X);break;case"publickey":T=new _f($,P,k,M,L,X);break;case"hostbased":T=new yf($,P,k,M,L,X);break;case"password":if(p&&p instanceof ac&&p._changeCb){let F=p._changeCb;p._changeCb=void 0,F(L.newPassword);return}T=new ac($,P,k,M,L,X);break;case"none":T=new Vn($,P,k,M,X);break}if(p)if(p._initialResponse)p._multistep&&!p._finalResponse&&(p._cleanup&&p._cleanup(),p.emit("abort"));else return d.push(T);p=T,_r(this,"authentication")?this.emit("authentication",p):p.reject()},"USERAUTH_REQUEST"),USERAUTH_INFO_RESPONSE:c((Y,P)=>{p&&p instanceof sc&&p._onInfoResponse(P)},"USERAUTH_INFO_RESPONSE"),GLOBAL_REQUEST:c((Y,P,k,M)=>{let L={type:null,buf:null};function T(F,j){L.type=F,L.buf=j,Z()}if(c(T,"setReply"),k&&_.push(L),(P==="tcpip-forward"||P==="cancel-tcpip-forward"||P==="no-more-sessions@openssh.com"||P==="streamlocal-forward@openssh.com"||P==="cancel-streamlocal-forward@openssh.com")&&_r(this,"request")&&this.authenticated){let F,j;if(k){let B=!1;F=c(G=>{if(B)return;B=!0;let ee;P==="tcpip-forward"&&M.bindPort===0&&typeof G=="number"&&(ee=Buffer.allocUnsafe(4),LS(ee,G,0)),T("SUCCESS",ee)},"accept"),j=c(()=>{B||(B=!0,T("FAILURE"))},"reject")}if(P==="no-more-sessions@openssh.com"){this.noMoreSessions=!0,F&&F();return}this.emit("request",F,j,P,M)}else k&&T("FAILURE")},"GLOBAL_REQUEST")}});e.pause(),$S.then(()=>{$.start(),e.on("data",Y=>{try{$.parse(Y,0,Y.length)}catch(P){this.emit("error",P);try{oc(e)&&e.end()}catch{}}}),e.resume()}).catch(Y=>{this.emit("error",Y);try{oc(e)&&e.end()}catch{}}),e.on("error",Y=>{Y.level="socket",this.emit("error",Y)}).once("end",()=>{o&&o("Socket ended"),$.cleanup(),this.emit("end")}).once("close",()=>{o&&o("Socket closed"),$.cleanup(),this.emit("close");let Y=new Error("No response from server");this._chanMgr.cleanup(Y)});let X=c((Y,P,k,M)=>{p===Y&&!this.authenticated&&(P?(p=void 0,this.authenticated=!0,$.authSuccess(),d=[],this.emit("ready")):($.authFailure(k,M),d.length&&(p=d.pop(),_r(this,"authentication")?this.emit("authentication",p):p.reject())))},"onAuthDecide");function Z(){for(;_.length>0&&_[0].type;){let Y=_.shift();Y.type==="SUCCESS"&&$.requestSuccess(Y.buf),Y.type==="FAILURE"&&$.requestFailure()}}c(Z,"sendReplies")}end(){return this._sock&&oc(this._sock)&&(this._protocol.disconnect(ao.BY_APPLICATION),this._sock.end()),this}x11(e,r,n){return mf(this,"x11",{originAddr:e,originPort:r},n),this}forwardOut(e,r,n,i,o){return mf(this,"forwarded-tcpip",{boundAddr:e,boundPort:r,remoteAddr:n,remotePort:i},o),this}openssh_forwardOutStreamLocal(e,r){return mf(this,"forwarded-streamlocal@openssh.com",{socketPath:e},r),this}rekey(e){let r;try{this._protocol.rekey()}catch(n){r=n}typeof e=="function"&&(r?process.nextTick(e,r):this.once("rekey",e))}setNoDelay(e){return this._sock&&typeof this._sock.setNoDelay=="function"&&this._sock.setNoDelay(e),this}};function mf(t,e,r,n){let i=qn,o=Qn;typeof r=="function"&&(n=r,r={});let s=c((u,l)=>{n(u,l)},"wrapper");s.type=e;let a=t._chanMgr.add(s);if(a===-1){n(new Error("No free channels available"));return}switch(e){case"forwarded-tcpip":t._protocol.forwardedTcpip(a,i,o,r);break;case"x11":t._protocol.x11(a,i,o,r);break;case"forwarded-streamlocal@openssh.com":t._protocol.openssh_forwardedStreamLocal(a,i,o,r);break;default:throw new Error(`Unsupported channel type: ${e}`)}}c(mf,"openChannel");function qS(t,e){return t-e}c(qS,"compareNumbers");Ef.exports=$r;Ef.exports.IncomingClient=cc});var T_=le((kF,P_)=>{"use strict";var{createCipheriv:QS,generateKeyPair:VS,generateKeyPairSync:KS,getCurves:GS,randomBytes:v_}=require("crypto"),{Ber:Nt}=Ko(),ZS=zu().pbkdf,{CIPHER_INFO:YS}=zn(),XS=16,JS=16,ew=GS(),tw=new Map(Object.entries(YS));function S_(t,e){if(typeof t!="string")throw new TypeError("Key type must be a string");let r={type:"spki",format:"der"},n={type:"pkcs8",format:"der"};switch(t.toLowerCase()){case"rsa":{if(typeof e!="object"||e===null)throw new TypeError("Missing options object for RSA key");let i=e.bits;if(!Number.isInteger(i))throw new TypeError("RSA bits must be an integer");if(i<=0||i>16384)throw new RangeError("RSA bits must be non-zero and <= 16384");return["rsa",{modulusLength:i,publicKeyEncoding:r,privateKeyEncoding:n}]}case"ecdsa":{if(typeof e!="object"||e===null)throw new TypeError("Missing options object for ECDSA key");if(!Number.isInteger(e.bits))throw new TypeError("ECDSA bits must be an integer");let i;switch(e.bits){case 256:i="prime256v1";break;case 384:i="secp384r1";break;case 521:i="secp521r1";break;default:throw new Error("ECDSA bits must be 256, 384, or 521")}if(!ew.includes(i))throw new Error("Unsupported ECDSA bits value");return["ec",{namedCurve:i,publicKeyEncoding:r,privateKeyEncoding:n}]}case"ed25519":return["ed25519",{publicKeyEncoding:r,privateKeyEncoding:n}];default:throw new Error(`Unsupported key type: ${t}`)}}c(S_,"makeArgs");function rw(t,e,r){switch(t){case"rsa":{let n=new Nt.Reader(r);if(n.readSequence(),n.readInt()!==0)throw new Error("Unsupported version in RSA private key");if(n.readSequence(),n.readOID()!=="1.2.840.113549.1.1.1")throw new Error("Bad RSA private OID");if(n.readByte()!==Nt.Null)throw new Error("Malformed RSA private key (expected null)");if(n.readByte()!==0)throw new Error("Malformed RSA private key (expected zero-length null)");if(n=new Nt.Reader(n.readString(Nt.OctetString,!0)),n.readSequence(),n.readInt()!==0)throw new Error("Unsupported version in RSA private key");let i=n.readString(Nt.Integer,!0),o=n.readString(Nt.Integer,!0),s=n.readString(Nt.Integer,!0),a=n.readString(Nt.Integer,!0),u=n.readString(Nt.Integer,!0);n.readString(Nt.Integer,!0),n.readString(Nt.Integer,!0);let l=n.readString(Nt.Integer,!0),d=Buffer.from("ssh-rsa"),p=Buffer.allocUnsafe(4+d.length+4+i.length+4+o.length+4+s.length+4+l.length+4+a.length+4+u.length),g=0;p.writeUInt32BE(d.length,g+=0),p.set(d,g+=4),p.writeUInt32BE(i.length,g+=d.length),p.set(i,g+=4),p.writeUInt32BE(o.length,g+=i.length),p.set(o,g+=4),p.writeUInt32BE(s.length,g+=o.length),p.set(s,g+=4),p.writeUInt32BE(l.length,g+=s.length),p.set(l,g+=4),p.writeUInt32BE(a.length,g+=l.length),p.set(a,g+=4),p.writeUInt32BE(u.length,g+=a.length),p.set(u,g+=4);let h=Buffer.allocUnsafe(4+d.length+4+o.length+4+i.length);return g=0,h.writeUInt32BE(d.length,g+=0),h.set(d,g+=4),h.writeUInt32BE(o.length,g+=d.length),h.set(o,g+=4),h.writeUInt32BE(i.length,g+=o.length),h.set(i,g+=4),{sshName:d.toString(),priv:p,pub:h}}case"ec":{let n=new Nt.Reader(e);if(n.readSequence(),n.readSequence(),n.readOID()!=="1.2.840.10045.2.1")throw new Error("Bad ECDSA public OID");n.readOID();let i=n.readString(Nt.BitString,!0);{let g=0;for(;g<i.length&&i[g]===0;++g);g>0&&(i=i.slice(g))}if(n=new Nt.Reader(r),n.readSequence(),n.readInt()!==0)throw new Error("Unsupported version in ECDSA private key");if(n.readSequence(),n.readOID()!=="1.2.840.10045.2.1")throw new Error("Bad ECDSA private OID");let o=n.readOID(),s;switch(o){case"1.2.840.10045.3.1.7":s="nistp256";break;case"1.3.132.0.34":s="nistp384";break;case"1.3.132.0.35":s="nistp521";break;default:throw new Error("Unsupported curve in ECDSA private key")}if(n=new Nt.Reader(n.readString(Nt.OctetString,!0)),n.readSequence(),n.readInt()!==1)throw new Error("Unsupported version in ECDSA private key");let a=Buffer.concat([Buffer.from([0]),n.readString(Nt.OctetString,!0)]),u=Buffer.from(`ecdsa-sha2-${s}`);s=Buffer.from(s);let l=Buffer.allocUnsafe(4+u.length+4+s.length+4+i.length+4+a.length),d=0;l.writeUInt32BE(u.length,d+=0),l.set(u,d+=4),l.writeUInt32BE(s.length,d+=u.length),l.set(s,d+=4),l.writeUInt32BE(i.length,d+=s.length),l.set(i,d+=4),l.writeUInt32BE(a.length,d+=i.length),l.set(a,d+=4);let p=Buffer.allocUnsafe(4+u.length+4+s.length+4+i.length);return d=0,p.writeUInt32BE(u.length,d+=0),p.set(u,d+=4),p.writeUInt32BE(s.length,d+=u.length),p.set(s,d+=4),p.writeUInt32BE(i.length,d+=s.length),p.set(i,d+=4),{sshName:u.toString(),priv:l,pub:p}}case"ed25519":{let n=new Nt.Reader(e);if(n.readSequence(),n.readSequence(),n.readOID()!=="1.3.101.112")throw new Error("Bad ED25519 public OID");let i=n.readString(Nt.BitString,!0);{let d=0;for(;d<i.length&&i[d]===0;++d);d>0&&(i=i.slice(d))}if(n=new Nt.Reader(r),n.readSequence(),n.readInt()!==0)throw new Error("Unsupported version in ED25519 private key");if(n.readSequence(),n.readOID()!=="1.3.101.112")throw new Error("Bad ED25519 private OID");n=new Nt.Reader(n.readString(Nt.OctetString,!0));let o=n.readString(Nt.OctetString,!0),s=Buffer.from("ssh-ed25519"),a=Buffer.allocUnsafe(4+s.length+4+i.length+4+(o.length+i.length)),u=0;a.writeUInt32BE(s.length,u+=0),a.set(s,u+=4),a.writeUInt32BE(i.length,u+=s.length),a.set(i,u+=4),a.writeUInt32BE(o.length+i.length,u+=i.length),a.set(o,u+=4),a.set(i,u+=o.length);let l=Buffer.allocUnsafe(4+s.length+4+i.length);return u=0,l.writeUInt32BE(s.length,u+=0),l.set(s,u+=4),l.writeUInt32BE(i.length,u+=s.length),l.set(i,u+=4),{sshName:s.toString(),priv:a,pub:l}}}}c(rw,"parseDERs");function w_(t,e,r,n){let i="new",o,s="";if(typeof n=="object"&&n!==null&&(typeof n.comment=="string"&&n.comment&&(s=n.comment),typeof n.format=="string"&&n.format&&(i=n.format),n.passphrase)){let a;if(typeof n.passphrase=="string")a=Buffer.from(n.passphrase);else if(Buffer.isBuffer(n.passphrase))a=n.passphrase;else throw new Error("Invalid passphrase");if(n.cipher===void 0)throw new Error("Missing cipher name");let u=tw.get(n.cipher);if(u===void 0)throw new Error("Invalid cipher name");if(i==="new"){let l=JS;if(n.rounds!==void 0){if(!Number.isInteger(n.rounds))throw new TypeError("rounds must be an integer");n.rounds>0&&(l=n.rounds)}let d=Buffer.allocUnsafe(u.keyLen+u.ivLen),p=v_(XS);if(ZS(a,a.length,p,p.length,d,d.length,l)!==0)return new Error("Failed to generate information to encrypt key");let h=Buffer.allocUnsafe(4+p.length+4);{let _=0;h.writeUInt32BE(p.length,_+=0),h.set(p,_+=4),h.writeUInt32BE(l,_+=p.length)}o={cipher:u,cipherName:n.cipher,kdfName:"bcrypt",kdfOptions:h,key:d.slice(0,u.keyLen),iv:d.slice(u.keyLen)}}}switch(i){case"new":{let a=`-----BEGIN OPENSSH PRIVATE KEY-----
20
- `,u,l=Buffer.from(o?o.cipherName:"none"),d=Buffer.from(o?o.kdfName:"none"),p=o?o.kdfOptions:Buffer.alloc(0),g=o?o.cipher.blockLen:8,h=rw(t,e,r),_=v_(4),A=Buffer.from(s),b=8+h.priv.length+4+A.length,I=[];for(let Z=1;(b+I.length)%g;++Z)I.push(Z&255);I=Buffer.from(I);let w=Buffer.allocUnsafe(b+I.length),H;{let Z=0;w.set(_,Z+=0),w.set(_,Z+=4),w.set(h.priv,Z+=4),w.writeUInt32BE(A.length,Z+=h.priv.length),w.set(A,Z+=4),w.set(I,Z+=A.length)}if(o){let Z={authTagLength:o.cipher.authLen},Y=QS(o.cipher.sslName,o.key,o.iv,Z);Y.setAutoPadding(!1),w=Buffer.concat([Y.update(w),Y.final()]),o.cipher.authLen>0?H=Y.getAuthTag():H=Buffer.alloc(0),o.key.fill(0),o.iv.fill(0)}else H=Buffer.alloc(0);let $=Buffer.from("openssh-key-v1\0"),X=Buffer.allocUnsafe($.length+4+l.length+4+d.length+4+p.length+4+4+h.pub.length+4+w.length+H.length);{let Z=0;X.set($,Z+=0),X.writeUInt32BE(l.length,Z+=$.length),X.set(l,Z+=4),X.writeUInt32BE(d.length,Z+=l.length),X.set(d,Z+=4),X.writeUInt32BE(p.length,Z+=d.length),X.set(p,Z+=4),X.writeUInt32BE(1,Z+=p.length),X.writeUInt32BE(h.pub.length,Z+=4),X.set(h.pub,Z+=4),X.writeUInt32BE(w.length,Z+=h.pub.length),X.set(w,Z+=4),X.set(H,Z+=w.length)}{let Z=X.base64Slice(0,X.length),Y=Z.replace(/.{64}/g,`$&
21
- `);Z.length&63&&(Y+=`
22
- `),a+=Y}{let Z=h.pub.base64Slice(0,h.pub.length);u=`${h.sshName} ${Z}${s?` ${s}`:""}`}return a+=`-----END OPENSSH PRIVATE KEY-----
23
- `,{private:a,public:u}}default:throw new Error("Invalid output key format")}}c(w_,"convertKeys");function nw(){}c(nw,"noop");P_.exports={generateKeyPair:c((t,e,r)=>{typeof e=="function"&&(r=e,e=void 0),typeof r!="function"&&(r=nw);let n=S_(t,e);VS(...n,(i,o,s)=>{if(i)return r(i);let a;try{a=w_(n[0],o,s,e)}catch(u){return r(u)}r(null,a)})},"generateKeyPair"),generateKeyPairSync:c((t,e)=>{let r=S_(t,e),{publicKey:n,privateKey:i}=KS(...r);return w_(r[0],n,i,e)},"generateKeyPairSync")}});var C_=le((RF,k_)=>{"use strict";var{AgentProtocol:iw,BaseAgent:ow,createAgent:sw,CygwinAgent:aw,OpenSSHAgent:cw,PageantAgent:uw}=Pl(),{SSHTTPAgent:lw,SSHTTPSAgent:fw}=b_(),{parseKey:dw}=Hn(),{flagsToString:pw,OPEN_MODE:hw,STATUS_CODE:gw,stringToFlags:mw}=ps();k_.exports={AgentProtocol:iw,BaseAgent:ow,createAgent:sw,Client:pf(),CygwinAgent:aw,HTTPAgent:lw,HTTPSAgent:fw,OpenSSHAgent:cw,PageantAgent:uw,Server:I_(),utils:{parseKey:dw,...T_(),sftp:{flagsToString:pw,OPEN_MODE:hw,STATUS_CODE:gw,stringToFlags:mw}}}});var Af=le((NF,R_)=>{R_.exports=require("stream")});var U_=le((OF,B_)=>{"use strict";function N_(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}c(N_,"ownKeys");function O_(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?N_(Object(r),!0).forEach(function(n){_w(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):N_(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}c(O_,"_objectSpread");function _w(t,e,r){return e=D_(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}c(_w,"_defineProperty");function yw(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}c(yw,"_classCallCheck");function $_(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,D_(n.key),n)}}c($_,"_defineProperties");function Ew(t,e,r){return e&&$_(t.prototype,e),r&&$_(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}c(Ew,"_createClass");function D_(t){var e=Aw(t,"string");return typeof e=="symbol"?e:String(e)}c(D_,"_toPropertyKey");function Aw(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}c(Aw,"_toPrimitive");var bw=require("buffer"),uc=bw.Buffer,xw=require("util"),bf=xw.inspect,Iw=bf&&bf.custom||"inspect";function vw(t,e,r){uc.prototype.copy.call(t,e,r)}c(vw,"copyBuffer");B_.exports=(function(){function t(){yw(this,t),this.head=null,this.tail=null,this.length=0}return c(t,"BufferList"),Ew(t,[{key:"push",value:c(function(r){var n={data:r,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length},"push")},{key:"unshift",value:c(function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length},"unshift")},{key:"shift",value:c(function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}},"shift")},{key:"clear",value:c(function(){this.head=this.tail=null,this.length=0},"clear")},{key:"join",value:c(function(r){if(this.length===0)return"";for(var n=this.head,i=""+n.data;n=n.next;)i+=r+n.data;return i},"join")},{key:"concat",value:c(function(r){if(this.length===0)return uc.alloc(0);for(var n=uc.allocUnsafe(r>>>0),i=this.head,o=0;i;)vw(i.data,n,o),o+=i.data.length,i=i.next;return n},"concat")},{key:"consume",value:c(function(r,n){var i;return r<this.head.data.length?(i=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?i=this.shift():i=n?this._getString(r):this._getBuffer(r),i},"consume")},{key:"first",value:c(function(){return this.head.data},"first")},{key:"_getString",value:c(function(r){var n=this.head,i=1,o=n.data;for(r-=o.length;n=n.next;){var s=n.data,a=r>s.length?s.length:r;if(a===s.length?o+=s:o+=s.slice(0,r),r-=a,r===0){a===s.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=s.slice(a));break}++i}return this.length-=i,o},"_getString")},{key:"_getBuffer",value:c(function(r){var n=uc.allocUnsafe(r),i=this.head,o=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var s=i.data,a=r>s.length?s.length:r;if(s.copy(n,n.length-r,0,a),r-=a,r===0){a===s.length?(++o,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=s.slice(a));break}++o}return this.length-=o,n},"_getBuffer")},{key:Iw,value:c(function(r,n){return bf(this,O_(O_({},n),{},{depth:0,customInspect:!1}))},"value")}]),t})()});var If=le((DF,z_)=>{"use strict";function Sw(t,e){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(xf,this,t)):process.nextTick(xf,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(o){!e&&o?r._writableState?r._writableState.errorEmitted?process.nextTick(lc,r):(r._writableState.errorEmitted=!0,process.nextTick(L_,r,o)):process.nextTick(L_,r,o):e?(process.nextTick(lc,r),e(o)):process.nextTick(lc,r)}),this)}c(Sw,"destroy");function L_(t,e){xf(t,e),lc(t)}c(L_,"emitErrorAndCloseNT");function lc(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}c(lc,"emitCloseNT");function ww(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}c(ww,"undestroy");function xf(t,e){t.emit("error",e)}c(xf,"emitErrorNT");function Pw(t,e){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit("error",e)}c(Pw,"errorOrDestroy");z_.exports={destroy:Sw,undestroy:ww,errorOrDestroy:Pw}});var Kn=le((UF,H_)=>{"use strict";var F_={};function Hr(t,e,r){r||(r=Error);function n(o,s,a){return typeof e=="string"?e:e(o,s,a)}c(n,"getMessage");class i extends r{static{c(this,"NodeError")}constructor(s,a,u){super(n(s,a,u))}}i.prototype.name=r.name,i.prototype.code=t,F_[t]=i}c(Hr,"createErrorType");function M_(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(n=>String(n)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}c(M_,"oneOf");function Tw(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}c(Tw,"startsWith");function kw(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}c(kw,"endsWith");function Cw(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}c(Cw,"includes");Hr("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Hr("ERR_INVALID_ARG_TYPE",function(t,e,r){let n;typeof e=="string"&&Tw(e,"not ")?(n="must not be",e=e.replace(/^not /,"")):n="must be";let i;if(kw(t," argument"))i=`The ${t} ${n} ${M_(e,"type")}`;else{let o=Cw(t,".")?"property":"argument";i=`The "${t}" ${o} ${n} ${M_(e,"type")}`}return i+=`. Received type ${typeof r}`,i},TypeError);Hr("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Hr("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Hr("ERR_STREAM_PREMATURE_CLOSE","Premature close");Hr("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Hr("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Hr("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Hr("ERR_STREAM_WRITE_AFTER_END","write after end");Hr("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Hr("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Hr("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");H_.exports.codes=F_});var vf=le((zF,j_)=>{"use strict";var Rw=Kn().codes.ERR_INVALID_OPT_VALUE;function Nw(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}c(Nw,"highWaterMarkFrom");function Ow(t,e,r,n){var i=Nw(e,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var o=n?r:"highWaterMark";throw new Rw(o,i)}return Math.floor(i)}return t.objectMode?16:16*1024}c(Ow,"getHighWaterMark");j_.exports={getHighWaterMark:Ow}});var W_=le((FF,Sf)=>{typeof Object.create=="function"?Sf.exports=c(function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))},"inherits"):Sf.exports=c(function(e,r){if(r){e.super_=r;var n=c(function(){},"TempCtor");n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}},"inherits")});var di=le((jF,Pf)=>{try{if(wf=require("util"),typeof wf.inherits!="function")throw"";Pf.exports=wf.inherits}catch{Pf.exports=W_()}var wf});var Q_=le((WF,q_)=>{q_.exports=require("util").deprecate});var Cf=le((qF,X_)=>{"use strict";X_.exports=Gt;function K_(t){var e=this;this.next=null,this.entry=null,this.finish=function(){sP(e,t)}}c(K_,"CorkedRequest");var uo;Gt.WritableState=Is;var $w={deprecate:Q_()},G_=Af(),dc=require("buffer").Buffer,Dw=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function Bw(t){return dc.from(t)}c(Bw,"_uint8ArrayToBuffer");function Uw(t){return dc.isBuffer(t)||t instanceof Dw}c(Uw,"_isUint8Array");var kf=If(),Lw=vf(),zw=Lw.getHighWaterMark,Gn=Kn().codes,Mw=Gn.ERR_INVALID_ARG_TYPE,Fw=Gn.ERR_METHOD_NOT_IMPLEMENTED,Hw=Gn.ERR_MULTIPLE_CALLBACK,jw=Gn.ERR_STREAM_CANNOT_PIPE,Ww=Gn.ERR_STREAM_DESTROYED,qw=Gn.ERR_STREAM_NULL_VALUES,Qw=Gn.ERR_STREAM_WRITE_AFTER_END,Vw=Gn.ERR_UNKNOWN_ENCODING,lo=kf.errorOrDestroy;di()(Gt,G_);function Kw(){}c(Kw,"nop");function Is(t,e,r){uo=uo||pi(),t=t||{},typeof r!="boolean"&&(r=e instanceof uo),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=zw(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=t.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){tP(e,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new K_(this)}c(Is,"WritableState");Is.prototype.getBuffer=c(function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r},"getBuffer");(function(){try{Object.defineProperty(Is.prototype,"buffer",{get:$w.deprecate(c(function(){return this.getBuffer()},"writableStateBufferGetter"),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var fc;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(fc=Function.prototype[Symbol.hasInstance],Object.defineProperty(Gt,Symbol.hasInstance,{value:c(function(e){return fc.call(this,e)?!0:this!==Gt?!1:e&&e._writableState instanceof Is},"value")})):fc=c(function(e){return e instanceof this},"realHasInstance");function Gt(t){uo=uo||pi();var e=this instanceof uo;if(!e&&!fc.call(Gt,this))return new Gt(t);this._writableState=new Is(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),G_.call(this)}c(Gt,"Writable");Gt.prototype.pipe=function(){lo(this,new jw)};function Gw(t,e){var r=new Qw;lo(t,r),process.nextTick(e,r)}c(Gw,"writeAfterEnd");function Zw(t,e,r,n){var i;return r===null?i=new qw:typeof r!="string"&&!e.objectMode&&(i=new Mw("chunk",["string","Buffer"],r)),i?(lo(t,i),process.nextTick(n,i),!1):!0}c(Zw,"validChunk");Gt.prototype.write=function(t,e,r){var n=this._writableState,i=!1,o=!n.objectMode&&Uw(t);return o&&!dc.isBuffer(t)&&(t=Bw(t)),typeof e=="function"&&(r=e,e=null),o?e="buffer":e||(e=n.defaultEncoding),typeof r!="function"&&(r=Kw),n.ending?Gw(this,r):(o||Zw(this,n,t,r))&&(n.pendingcb++,i=Xw(this,n,o,t,e,r)),i};Gt.prototype.cork=function(){this._writableState.corked++};Gt.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Z_(this,t))};Gt.prototype.setDefaultEncoding=c(function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new Vw(e);return this._writableState.defaultEncoding=e,this},"setDefaultEncoding");Object.defineProperty(Gt.prototype,"writableBuffer",{enumerable:!1,get:c(function(){return this._writableState&&this._writableState.getBuffer()},"get")});function Yw(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=dc.from(e,r)),e}c(Yw,"decodeChunk");Object.defineProperty(Gt.prototype,"writableHighWaterMark",{enumerable:!1,get:c(function(){return this._writableState.highWaterMark},"get")});function Xw(t,e,r,n,i,o){if(!r){var s=Yw(e,n,i);n!==s&&(r=!0,i="buffer",n=s)}var a=e.objectMode?1:n.length;e.length+=a;var u=e.length<e.highWaterMark;if(u||(e.needDrain=!0),e.writing||e.corked){var l=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:o,next:null},l?l.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else Tf(t,e,!1,a,n,i,o);return u}c(Xw,"writeOrBuffer");function Tf(t,e,r,n,i,o,s){e.writelen=n,e.writecb=s,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new Ww("write")):r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}c(Tf,"doWrite");function Jw(t,e,r,n,i){--e.pendingcb,r?(process.nextTick(i,n),process.nextTick(xs,t,e),t._writableState.errorEmitted=!0,lo(t,n)):(i(n),t._writableState.errorEmitted=!0,lo(t,n),xs(t,e))}c(Jw,"onwriteError");function eP(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}c(eP,"onwriteStateUpdate");function tP(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if(typeof i!="function")throw new Hw;if(eP(r),e)Jw(t,r,n,e,i);else{var o=Y_(r)||t.destroyed;!o&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Z_(t,r),n?process.nextTick(V_,t,r,o,i):V_(t,r,o,i)}}c(tP,"onwrite");function V_(t,e,r,n){r||rP(t,e),e.pendingcb--,n(),xs(t,e)}c(V_,"afterWrite");function rP(t,e){e.length===0&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}c(rP,"onwriteDrain");function Z_(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),o=e.corkedRequestsFree;o.entry=r;for(var s=0,a=!0;r;)i[s]=r,r.isBuf||(a=!1),r=r.next,s+=1;i.allBuffers=a,Tf(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new K_(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,l=r.encoding,d=r.callback,p=e.objectMode?1:u.length;if(Tf(t,e,!1,p,u,l,d),r=r.next,e.bufferedRequestCount--,e.writing)break}r===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}c(Z_,"clearBuffer");Gt.prototype._write=function(t,e,r){r(new Fw("_write()"))};Gt.prototype._writev=null;Gt.prototype.end=function(t,e,r){var n=this._writableState;return typeof t=="function"?(r=t,t=null,e=null):typeof e=="function"&&(r=e,e=null),t!=null&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||oP(this,n,r),this};Object.defineProperty(Gt.prototype,"writableLength",{enumerable:!1,get:c(function(){return this._writableState.length},"get")});function Y_(t){return t.ending&&t.length===0&&t.bufferedRequest===null&&!t.finished&&!t.writing}c(Y_,"needFinish");function nP(t,e){t._final(function(r){e.pendingcb--,r&&lo(t,r),e.prefinished=!0,t.emit("prefinish"),xs(t,e)})}c(nP,"callFinal");function iP(t,e){!e.prefinished&&!e.finalCalled&&(typeof t._final=="function"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(nP,t,e)):(e.prefinished=!0,t.emit("prefinish")))}c(iP,"prefinish");function xs(t,e){var r=Y_(e);if(r&&(iP(t,e),e.pendingcb===0&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var n=t._readableState;(!n||n.autoDestroy&&n.endEmitted)&&t.destroy()}return r}c(xs,"finishMaybe");function oP(t,e,r){e.ending=!0,xs(t,e),r&&(e.finished?process.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}c(oP,"endWritable");function sP(t,e,r){var n=t.entry;for(t.entry=null;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree.next=t}c(sP,"onCorkedFinish");Object.defineProperty(Gt.prototype,"destroyed",{enumerable:!1,get:c(function(){return this._writableState===void 0?!1:this._writableState.destroyed},"get"),set:c(function(e){this._writableState&&(this._writableState.destroyed=e)},"set")});Gt.prototype.destroy=kf.destroy;Gt.prototype._undestroy=kf.undestroy;Gt.prototype._destroy=function(t,e){e(t)}});var pi=le((VF,ey)=>{"use strict";var aP=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};ey.exports=cn;var J_=Of(),Nf=Cf();di()(cn,J_);for(Rf=aP(Nf.prototype),pc=0;pc<Rf.length;pc++)hc=Rf[pc],cn.prototype[hc]||(cn.prototype[hc]=Nf.prototype[hc]);var Rf,hc,pc;function cn(t){if(!(this instanceof cn))return new cn(t);J_.call(this,t),Nf.call(this,t),this.allowHalfOpen=!0,t&&(t.readable===!1&&(this.readable=!1),t.writable===!1&&(this.writable=!1),t.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",cP)))}c(cn,"Duplex");Object.defineProperty(cn.prototype,"writableHighWaterMark",{enumerable:!1,get:c(function(){return this._writableState.highWaterMark},"get")});Object.defineProperty(cn.prototype,"writableBuffer",{enumerable:!1,get:c(function(){return this._writableState&&this._writableState.getBuffer()},"get")});Object.defineProperty(cn.prototype,"writableLength",{enumerable:!1,get:c(function(){return this._writableState.length},"get")});function cP(){this._writableState.ended||process.nextTick(uP,this)}c(cP,"onend");function uP(t){t.end()}c(uP,"onEndNT");Object.defineProperty(cn.prototype,"destroyed",{enumerable:!1,get:c(function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},"get"),set:c(function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)},"set")})});var ny=le(($f,ry)=>{var gc=require("buffer"),un=gc.Buffer;function ty(t,e){for(var r in t)e[r]=t[r]}c(ty,"copyProps");un.from&&un.alloc&&un.allocUnsafe&&un.allocUnsafeSlow?ry.exports=gc:(ty(gc,$f),$f.Buffer=hi);function hi(t,e,r){return un(t,e,r)}c(hi,"SafeBuffer");hi.prototype=Object.create(un.prototype);ty(un,hi);hi.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return un(t,e,r)};hi.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=un(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};hi.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return un(t)};hi.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return gc.SlowBuffer(t)}});var Uf=le(oy=>{"use strict";var Bf=ny().Buffer,iy=Bf.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function lP(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}c(lP,"_normalizeEncoding");function fP(t){var e=lP(t);if(typeof e!="string"&&(Bf.isEncoding===iy||!iy(t)))throw new Error("Unknown encoding: "+t);return e||t}c(fP,"normalizeEncoding");oy.StringDecoder=vs;function vs(t){this.encoding=fP(t);var e;switch(this.encoding){case"utf16le":this.text=_P,this.end=yP,e=4;break;case"utf8":this.fillLast=hP,e=4;break;case"base64":this.text=EP,this.end=AP,e=3;break;default:this.write=bP,this.end=xP;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Bf.allocUnsafe(e)}c(vs,"StringDecoder");vs.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""};vs.prototype.end=mP;vs.prototype.text=gP;vs.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};function Df(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}c(Df,"utf8CheckByte");function dP(t,e,r){var n=e.length-1;if(n<r)return 0;var i=Df(e[n]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--n<r||i===-2?0:(i=Df(e[n]),i>=0?(i>0&&(t.lastNeed=i-2),i):--n<r||i===-2?0:(i=Df(e[n]),i>=0?(i>0&&(i===2?i=0:t.lastNeed=i-3),i):0))}c(dP,"utf8CheckIncomplete");function pP(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}c(pP,"utf8CheckExtraBytes");function hP(t){var e=this.lastTotal-this.lastNeed,r=pP(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}c(hP,"utf8FillLast");function gP(t,e){var r=dP(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)}c(gP,"utf8Text");function mP(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}c(mP,"utf8End");function _P(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}c(_P,"utf16Text");function yP(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}c(yP,"utf16End");function EP(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}c(EP,"base64Text");function AP(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}c(AP,"base64End");function bP(t){return t.toString(this.encoding)}c(bP,"simpleWrite");function xP(t){return t&&t.length?this.write(t):""}c(xP,"simpleEnd")});var mc=le((XF,cy)=>{"use strict";var sy=Kn().codes.ERR_STREAM_PREMATURE_CLOSE;function IP(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];t.apply(this,n)}}}c(IP,"once");function vP(){}c(vP,"noop");function SP(t){return t.setHeader&&typeof t.abort=="function"}c(SP,"isRequest");function ay(t,e,r){if(typeof e=="function")return ay(t,null,e);e||(e={}),r=IP(r||vP);var n=e.readable||e.readable!==!1&&t.readable,i=e.writable||e.writable!==!1&&t.writable,o=c(function(){t.writable||a()},"onlegacyfinish"),s=t._writableState&&t._writableState.finished,a=c(function(){i=!1,s=!0,n||r.call(t)},"onfinish"),u=t._readableState&&t._readableState.endEmitted,l=c(function(){n=!1,u=!0,i||r.call(t)},"onend"),d=c(function(_){r.call(t,_)},"onerror"),p=c(function(){var _;if(n&&!u)return(!t._readableState||!t._readableState.ended)&&(_=new sy),r.call(t,_);if(i&&!s)return(!t._writableState||!t._writableState.ended)&&(_=new sy),r.call(t,_)},"onclose"),g=c(function(){t.req.on("finish",a)},"onrequest");return SP(t)?(t.on("complete",a),t.on("abort",p),t.req?g():t.on("request",g)):i&&!t._writableState&&(t.on("end",o),t.on("close",o)),t.on("end",l),t.on("finish",a),e.error!==!1&&t.on("error",d),t.on("close",p),function(){t.removeListener("complete",a),t.removeListener("abort",p),t.removeListener("request",g),t.req&&t.req.removeListener("finish",a),t.removeListener("end",o),t.removeListener("close",o),t.removeListener("finish",a),t.removeListener("end",l),t.removeListener("error",d),t.removeListener("close",p)}}c(ay,"eos");cy.exports=ay});var ly=le((e5,uy)=>{"use strict";var _c;function Zn(t,e,r){return e=wP(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}c(Zn,"_defineProperty");function wP(t){var e=PP(t,"string");return typeof e=="symbol"?e:String(e)}c(wP,"_toPropertyKey");function PP(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}c(PP,"_toPrimitive");var TP=mc(),Yn=Symbol("lastResolve"),gi=Symbol("lastReject"),Ss=Symbol("error"),yc=Symbol("ended"),mi=Symbol("lastPromise"),Lf=Symbol("handlePromise"),_i=Symbol("stream");function Xn(t,e){return{value:t,done:e}}c(Xn,"createIterResult");function kP(t){var e=t[Yn];if(e!==null){var r=t[_i].read();r!==null&&(t[mi]=null,t[Yn]=null,t[gi]=null,e(Xn(r,!1)))}}c(kP,"readAndResolve");function CP(t){process.nextTick(kP,t)}c(CP,"onReadable");function RP(t,e){return function(r,n){t.then(function(){if(e[yc]){r(Xn(void 0,!0));return}e[Lf](r,n)},n)}}c(RP,"wrapForNext");var NP=Object.getPrototypeOf(function(){}),OP=Object.setPrototypeOf((_c={get stream(){return this[_i]},next:c(function(){var e=this,r=this[Ss];if(r!==null)return Promise.reject(r);if(this[yc])return Promise.resolve(Xn(void 0,!0));if(this[_i].destroyed)return new Promise(function(s,a){process.nextTick(function(){e[Ss]?a(e[Ss]):s(Xn(void 0,!0))})});var n=this[mi],i;if(n)i=new Promise(RP(n,this));else{var o=this[_i].read();if(o!==null)return Promise.resolve(Xn(o,!1));i=new Promise(this[Lf])}return this[mi]=i,i},"next")},Zn(_c,Symbol.asyncIterator,function(){return this}),Zn(_c,"return",c(function(){var e=this;return new Promise(function(r,n){e[_i].destroy(null,function(i){if(i){n(i);return}r(Xn(void 0,!0))})})},"_return")),_c),NP),$P=c(function(e){var r,n=Object.create(OP,(r={},Zn(r,_i,{value:e,writable:!0}),Zn(r,Yn,{value:null,writable:!0}),Zn(r,gi,{value:null,writable:!0}),Zn(r,Ss,{value:null,writable:!0}),Zn(r,yc,{value:e._readableState.endEmitted,writable:!0}),Zn(r,Lf,{value:c(function(o,s){var a=n[_i].read();a?(n[mi]=null,n[Yn]=null,n[gi]=null,o(Xn(a,!1))):(n[Yn]=o,n[gi]=s)},"value"),writable:!0}),r));return n[mi]=null,TP(e,function(i){if(i&&i.code!=="ERR_STREAM_PREMATURE_CLOSE"){var o=n[gi];o!==null&&(n[mi]=null,n[Yn]=null,n[gi]=null,o(i)),n[Ss]=i;return}var s=n[Yn];s!==null&&(n[mi]=null,n[Yn]=null,n[gi]=null,s(Xn(void 0,!0))),n[yc]=!0}),e.on("readable",CP.bind(null,n)),n},"createReadableStreamAsyncIterator");uy.exports=$P});var hy=le((r5,py)=>{"use strict";function fy(t,e,r,n,i,o,s){try{var a=t[o](s),u=a.value}catch(l){r(l);return}a.done?e(u):Promise.resolve(u).then(n,i)}c(fy,"asyncGeneratorStep");function DP(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(u){fy(o,n,i,s,a,"next",u)}c(s,"_next");function a(u){fy(o,n,i,s,a,"throw",u)}c(a,"_throw"),s(void 0)})}}c(DP,"_asyncToGenerator");function dy(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}c(dy,"ownKeys");function BP(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?dy(Object(r),!0).forEach(function(n){UP(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):dy(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}c(BP,"_objectSpread");function UP(t,e,r){return e=LP(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}c(UP,"_defineProperty");function LP(t){var e=zP(t,"string");return typeof e=="symbol"?e:String(e)}c(LP,"_toPropertyKey");function zP(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}c(zP,"_toPrimitive");var MP=Kn().codes.ERR_INVALID_ARG_TYPE;function FP(t,e,r){var n;if(e&&typeof e.next=="function")n=e;else if(e&&e[Symbol.asyncIterator])n=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])n=e[Symbol.iterator]();else throw new MP("iterable",["Iterable"],e);var i=new t(BP({objectMode:!0},r)),o=!1;i._read=function(){o||(o=!0,s())};function s(){return a.apply(this,arguments)}c(s,"next");function a(){return a=DP(function*(){try{var u=yield n.next(),l=u.value,d=u.done;d?i.push(null):i.push(yield l)?s():o=!1}catch(p){i.destroy(p)}}),a.apply(this,arguments)}return c(a,"_next2"),i}c(FP,"from");py.exports=FP});var Of=le((o5,vy)=>{"use strict";vy.exports=Et;var fo;Et.ReadableState=yy;var i5=require("events").EventEmitter,_y=c(function(e,r){return e.listeners(r).length},"EElistenerCount"),Ps=Af(),Ec=require("buffer").Buffer,HP=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function jP(t){return Ec.from(t)}c(jP,"_uint8ArrayToBuffer");function WP(t){return Ec.isBuffer(t)||t instanceof HP}c(WP,"_isUint8Array");var zf=require("util"),ct;zf&&zf.debuglog?ct=zf.debuglog("stream"):ct=c(function(){},"debug");var qP=U_(),Qf=If(),QP=vf(),VP=QP.getHighWaterMark,Ac=Kn().codes,KP=Ac.ERR_INVALID_ARG_TYPE,GP=Ac.ERR_STREAM_PUSH_AFTER_EOF,ZP=Ac.ERR_METHOD_NOT_IMPLEMENTED,YP=Ac.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,po,Mf,Ff;di()(Et,Ps);var ws=Qf.errorOrDestroy,Hf=["error","close","destroy","pause","resume"];function XP(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}c(XP,"prependListener");function yy(t,e,r){fo=fo||pi(),t=t||{},typeof r!="boolean"&&(r=e instanceof fo),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=VP(this,t,"readableHighWaterMark",r),this.buffer=new qP,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(po||(po=Uf().StringDecoder),this.decoder=new po(t.encoding),this.encoding=t.encoding)}c(yy,"ReadableState");function Et(t){if(fo=fo||pi(),!(this instanceof Et))return new Et(t);var e=this instanceof fo;this._readableState=new yy(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),Ps.call(this)}c(Et,"Readable");Object.defineProperty(Et.prototype,"destroyed",{enumerable:!1,get:c(function(){return this._readableState===void 0?!1:this._readableState.destroyed},"get"),set:c(function(e){this._readableState&&(this._readableState.destroyed=e)},"set")});Et.prototype.destroy=Qf.destroy;Et.prototype._undestroy=Qf.undestroy;Et.prototype._destroy=function(t,e){e(t)};Et.prototype.push=function(t,e){var r=this._readableState,n;return r.objectMode?n=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=Ec.from(t,e),e=""),n=!0),Ey(this,t,e,!1,n)};Et.prototype.unshift=function(t){return Ey(this,t,null,!0,!1)};function Ey(t,e,r,n,i){ct("readableAddChunk",e);var o=t._readableState;if(e===null)o.reading=!1,tT(t,o);else{var s;if(i||(s=JP(o,e)),s)ws(t,s);else if(o.objectMode||e&&e.length>0)if(typeof e!="string"&&!o.objectMode&&Object.getPrototypeOf(e)!==Ec.prototype&&(e=jP(e)),n)o.endEmitted?ws(t,new YP):jf(t,o,e,!0);else if(o.ended)ws(t,new GP);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||e.length!==0?jf(t,o,e,!1):qf(t,o)):jf(t,o,e,!1)}else n||(o.reading=!1,qf(t,o))}return!o.ended&&(o.length<o.highWaterMark||o.length===0)}c(Ey,"readableAddChunk");function jf(t,e,r,n){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&bc(t)),qf(t,e)}c(jf,"addChunk");function JP(t,e){var r;return!WP(e)&&typeof e!="string"&&e!==void 0&&!t.objectMode&&(r=new KP("chunk",["string","Buffer","Uint8Array"],e)),r}c(JP,"chunkInvalid");Et.prototype.isPaused=function(){return this._readableState.flowing===!1};Et.prototype.setEncoding=function(t){po||(po=Uf().StringDecoder);var e=new po(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,n="";r!==null;)n+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),n!==""&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var gy=1073741824;function eT(t){return t>=gy?t=gy:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}c(eT,"computeNewHighWaterMark");function my(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=eT(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}c(my,"howMuchToRead");Et.prototype.read=function(t){ct("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return ct("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?Wf(this):bc(this),null;if(t=my(t,e),t===0&&e.ended)return e.length===0&&Wf(this),null;var n=e.needReadable;ct("need readable",n),(e.length===0||e.length-t<e.highWaterMark)&&(n=!0,ct("length less than watermark",n)),e.ended||e.reading?(n=!1,ct("reading or ended",n)):n&&(ct("do read"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=my(r,e)));var i;return t>0?i=xy(t,e):i=null,i===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Wf(this)),i!==null&&this.emit("data",i),i};function tT(t,e){if(ct("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?bc(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Ay(t)))}}c(tT,"onEofChunk");function bc(t){var e=t._readableState;ct("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(ct("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Ay,t))}c(bc,"emitReadable");function Ay(t){var e=t._readableState;ct("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,Vf(t)}c(Ay,"emitReadable_");function qf(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(rT,t,e))}c(qf,"maybeReadMore");function rT(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var r=e.length;if(ct("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}c(rT,"maybeReadMore_");Et.prototype._read=function(t){ws(this,new ZP("_read()"))};Et.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t);break}n.pipesCount+=1,ct("pipe count=%d opts=%j",n.pipesCount,e);var i=(!e||e.end!==!1)&&t!==process.stdout&&t!==process.stderr,o=i?a:A;n.endEmitted?process.nextTick(o):r.once("end",o),t.on("unpipe",s);function s(b,I){ct("onunpipe"),b===r&&I&&I.hasUnpiped===!1&&(I.hasUnpiped=!0,d())}c(s,"onunpipe");function a(){ct("onend"),t.end()}c(a,"onend");var u=nT(r);t.on("drain",u);var l=!1;function d(){ct("cleanup"),t.removeListener("close",h),t.removeListener("finish",_),t.removeListener("drain",u),t.removeListener("error",g),t.removeListener("unpipe",s),r.removeListener("end",a),r.removeListener("end",A),r.removeListener("data",p),l=!0,n.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u()}c(d,"cleanup"),r.on("data",p);function p(b){ct("ondata");var I=t.write(b);ct("dest.write",I),I===!1&&((n.pipesCount===1&&n.pipes===t||n.pipesCount>1&&Iy(n.pipes,t)!==-1)&&!l&&(ct("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}c(p,"ondata");function g(b){ct("onerror",b),A(),t.removeListener("error",g),_y(t,"error")===0&&ws(t,b)}c(g,"onerror"),XP(t,"error",g);function h(){t.removeListener("finish",_),A()}c(h,"onclose"),t.once("close",h);function _(){ct("onfinish"),t.removeListener("close",h),A()}c(_,"onfinish"),t.once("finish",_);function A(){ct("unpipe"),r.unpipe(t)}return c(A,"unpipe"),t.emit("pipe",r),n.flowing||(ct("pipe resume"),r.resume()),t};function nT(t){return c(function(){var r=t._readableState;ct("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&_y(t,"data")&&(r.flowing=!0,Vf(t))},"pipeOnDrainFunctionResult")}c(nT,"pipeOnDrain");Et.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)n[o].emit("unpipe",this,{hasUnpiped:!1});return this}var s=Iy(e.pipes,t);return s===-1?this:(e.pipes.splice(s,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r),this)};Et.prototype.on=function(t,e){var r=Ps.prototype.on.call(this,t,e),n=this._readableState;return t==="data"?(n.readableListening=this.listenerCount("readable")>0,n.flowing!==!1&&this.resume()):t==="readable"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,ct("on readable",n.length,n.reading),n.length?bc(this):n.reading||process.nextTick(iT,this)),r};Et.prototype.addListener=Et.prototype.on;Et.prototype.removeListener=function(t,e){var r=Ps.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(by,this),r};Et.prototype.removeAllListeners=function(t){var e=Ps.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(by,this),e};function by(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}c(by,"updateReadableListening");function iT(t){ct("readable nexttick read 0"),t.read(0)}c(iT,"nReadingNextTick");Et.prototype.resume=function(){var t=this._readableState;return t.flowing||(ct("resume"),t.flowing=!t.readableListening,oT(this,t)),t.paused=!1,this};function oT(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(sT,t,e))}c(oT,"resume");function sT(t,e){ct("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),Vf(t),e.flowing&&!e.reading&&t.read(0)}c(sT,"resume_");Et.prototype.pause=function(){return ct("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ct("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Vf(t){var e=t._readableState;for(ct("flow",e.flowing);e.flowing&&t.read()!==null;);}c(Vf,"flow");Et.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;t.on("end",function(){if(ct("wrapped end"),r.decoder&&!r.ended){var s=r.decoder.end();s&&s.length&&e.push(s)}e.push(null)}),t.on("data",function(s){if(ct("wrapped data"),r.decoder&&(s=r.decoder.write(s)),!(r.objectMode&&s==null)&&!(!r.objectMode&&(!s||!s.length))){var a=e.push(s);a||(n=!0,t.pause())}});for(var i in t)this[i]===void 0&&typeof t[i]=="function"&&(this[i]=c(function(a){return c(function(){return t[a].apply(t,arguments)},"methodWrapReturnFunction")},"methodWrap")(i));for(var o=0;o<Hf.length;o++)t.on(Hf[o],this.emit.bind(this,Hf[o]));return this._read=function(s){ct("wrapped _read",s),n&&(n=!1,t.resume())},this};typeof Symbol=="function"&&(Et.prototype[Symbol.asyncIterator]=function(){return Mf===void 0&&(Mf=ly()),Mf(this)});Object.defineProperty(Et.prototype,"readableHighWaterMark",{enumerable:!1,get:c(function(){return this._readableState.highWaterMark},"get")});Object.defineProperty(Et.prototype,"readableBuffer",{enumerable:!1,get:c(function(){return this._readableState&&this._readableState.buffer},"get")});Object.defineProperty(Et.prototype,"readableFlowing",{enumerable:!1,get:c(function(){return this._readableState.flowing},"get"),set:c(function(e){this._readableState&&(this._readableState.flowing=e)},"set")});Et._fromList=xy;Object.defineProperty(Et.prototype,"readableLength",{enumerable:!1,get:c(function(){return this._readableState.length},"get")});function xy(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}c(xy,"fromList");function Wf(t){var e=t._readableState;ct("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(aT,e,t))}c(Wf,"endReadable");function aT(t,e){if(ct("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}c(aT,"endReadableNT");typeof Symbol=="function"&&(Et.from=function(t,e){return Ff===void 0&&(Ff=hy()),Ff(Et,t,e)});function Iy(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}c(Iy,"indexOf")});var Kf=le((a5,wy)=>{"use strict";wy.exports=Sn;var xc=Kn().codes,cT=xc.ERR_METHOD_NOT_IMPLEMENTED,uT=xc.ERR_MULTIPLE_CALLBACK,lT=xc.ERR_TRANSFORM_ALREADY_TRANSFORMING,fT=xc.ERR_TRANSFORM_WITH_LENGTH_0,Ic=pi();di()(Sn,Ic);function dT(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new uT);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}c(dT,"afterTransform");function Sn(t){if(!(this instanceof Sn))return new Sn(t);Ic.call(this,t),this._transformState={afterTransform:dT.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&(typeof t.transform=="function"&&(this._transform=t.transform),typeof t.flush=="function"&&(this._flush=t.flush)),this.on("prefinish",pT)}c(Sn,"Transform");function pT(){var t=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(e,r){Sy(t,e,r)}):Sy(this,null,null)}c(pT,"prefinish");Sn.prototype.push=function(t,e){return this._transformState.needTransform=!1,Ic.prototype.push.call(this,t,e)};Sn.prototype._transform=function(t,e,r){r(new cT("_transform()"))};Sn.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Sn.prototype._read=function(t){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};Sn.prototype._destroy=function(t,e){Ic.prototype._destroy.call(this,t,function(r){e(r)})};function Sy(t,e,r){if(e)return t.emit("error",e);if(r!=null&&t.push(r),t._writableState.length)throw new fT;if(t._transformState.transforming)throw new lT;return t.push(null)}c(Sy,"done")});var ky=le((u5,Ty)=>{"use strict";Ty.exports=Ts;var Py=Kf();di()(Ts,Py);function Ts(t){if(!(this instanceof Ts))return new Ts(t);Py.call(this,t)}c(Ts,"PassThrough");Ts.prototype._transform=function(t,e,r){r(null,t)}});var $y=le((f5,Oy)=>{"use strict";var Gf;function hT(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}c(hT,"once");var Ny=Kn().codes,gT=Ny.ERR_MISSING_ARGS,mT=Ny.ERR_STREAM_DESTROYED;function Cy(t){if(t)throw t}c(Cy,"noop");function _T(t){return t.setHeader&&typeof t.abort=="function"}c(_T,"isRequest");function yT(t,e,r,n){n=hT(n);var i=!1;t.on("close",function(){i=!0}),Gf===void 0&&(Gf=mc()),Gf(t,{readable:e,writable:r},function(s){if(s)return n(s);i=!0,n()});var o=!1;return function(s){if(!i&&!o){if(o=!0,_T(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();n(s||new mT("pipe"))}}}c(yT,"destroyer");function Ry(t){t()}c(Ry,"call");function ET(t,e){return t.pipe(e)}c(ET,"pipe");function AT(t){return!t.length||typeof t[t.length-1]!="function"?Cy:t.pop()}c(AT,"popCallback");function bT(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var n=AT(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new gT("streams");var i,o=e.map(function(s,a){var u=a<e.length-1,l=a>0;return yT(s,u,l,function(d){i||(i=d),d&&o.forEach(Ry),!u&&(o.forEach(Ry),n(i))})});return e.reduce(ET)}c(bT,"pipeline");Oy.exports=bT});var Dy=le((jr,Cs)=>{var ks=require("stream");process.env.READABLE_STREAM==="disable"&&ks?(Cs.exports=ks.Readable,Object.assign(Cs.exports,ks),Cs.exports.Stream=ks):(jr=Cs.exports=Of(),jr.Stream=ks||jr,jr.Readable=jr,jr.Writable=Cf(),jr.Duplex=pi(),jr.Transform=Kf(),jr.PassThrough=ky(),jr.finished=mc(),jr.pipeline=$y())});var Uy=le((p5,By)=>{var xT=Object.prototype.toString,Zf=typeof Buffer<"u"&&typeof Buffer.alloc=="function"&&typeof Buffer.allocUnsafe=="function"&&typeof Buffer.from=="function";function IT(t){return xT.call(t).slice(8,-1)==="ArrayBuffer"}c(IT,"isArrayBuffer");function vT(t,e,r){e>>>=0;var n=t.byteLength-e;if(n<0)throw new RangeError("'offset' is out of bounds");if(r===void 0)r=n;else if(r>>>=0,r>n)throw new RangeError("'length' is out of bounds");return Zf?Buffer.from(t.slice(e,e+r)):new Buffer(new Uint8Array(t.slice(e,e+r)))}c(vT,"fromArrayBuffer");function ST(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!Buffer.isEncoding(e))throw new TypeError('"encoding" must be a valid string encoding');return Zf?Buffer.from(t,e):new Buffer(t,e)}c(ST,"fromString");function wT(t,e,r){if(typeof t=="number")throw new TypeError('"value" argument must not be a number');return IT(t)?vT(t,e,r):typeof t=="string"?ST(t,e):Zf?Buffer.from(t):new Buffer(t)}c(wT,"bufferFrom");By.exports=wT});var jy=le(Be=>{var Ly=void 0,PT=1e5,Ot=(function(){var t=Object.prototype.toString,e=Object.prototype.hasOwnProperty;return{Class:c(function(r){return t.call(r).replace(/^\[object *|\]$/g,"")},"Class"),HasProperty:c(function(r,n){return n in r},"HasProperty"),HasOwnProperty:c(function(r,n){return e.call(r,n)},"HasOwnProperty"),IsCallable:c(function(r){return typeof r=="function"},"IsCallable"),ToInt32:c(function(r){return r>>0},"ToInt32"),ToUint32:c(function(r){return r>>>0},"ToUint32")}})(),TT=Math.LN2,kT=Math.abs,vc=Math.floor,CT=Math.log,RT=Math.min,Zr=Math.pow,NT=Math.round;function Yf(t){if(zy&&ho){var e=zy(t),r;for(r=0;r<e.length;r+=1)ho(t,e[r],{value:t[e[r]],writable:!1,enumerable:!1,configurable:!1})}}c(Yf,"configureProperties");var ho;Object.defineProperty&&(function(){try{return Object.defineProperty({},"x",{}),!0}catch{return!1}})()?ho=Object.defineProperty:ho=c(function(t,e,r){if(!t===Object(t))throw new TypeError("Object.defineProperty called on non-object");return Ot.HasProperty(r,"get")&&Object.prototype.__defineGetter__&&Object.prototype.__defineGetter__.call(t,e,r.get),Ot.HasProperty(r,"set")&&Object.prototype.__defineSetter__&&Object.prototype.__defineSetter__.call(t,e,r.set),Ot.HasProperty(r,"value")&&(t[e]=r.value),t},"defineProp");var zy=Object.getOwnPropertyNames||function(t){if(t!==Object(t))throw new TypeError("Object.getOwnPropertyNames called on non-object");var e=[],r;for(r in t)Ot.HasOwnProperty(t,r)&&e.push(r);return e};function OT(t){if(!ho)return;if(t.length>PT)throw new RangeError("Array too large for polyfill");function e(n){ho(t,n,{get:c(function(){return t._getter(n)},"get"),set:c(function(i){t._setter(n,i)},"set"),enumerable:!0,configurable:!1})}c(e,"makeArrayAccessor");var r;for(r=0;r<t.length;r+=1)e(r)}c(OT,"makeArrayAccessors");function Xf(t,e){var r=32-e;return t<<r>>r}c(Xf,"as_signed");function Jf(t,e){var r=32-e;return t<<r>>>r}c(Jf,"as_unsigned");function $T(t){return[t&255]}c($T,"packI8");function DT(t){return Xf(t[0],8)}c(DT,"unpackI8");function BT(t){return[t&255]}c(BT,"packU8");function My(t){return Jf(t[0],8)}c(My,"unpackU8");function UT(t){return t=NT(Number(t)),[t<0?0:t>255?255:t&255]}c(UT,"packU8Clamped");function LT(t){return[t>>8&255,t&255]}c(LT,"packI16");function zT(t){return Xf(t[0]<<8|t[1],16)}c(zT,"unpackI16");function MT(t){return[t>>8&255,t&255]}c(MT,"packU16");function FT(t){return Jf(t[0]<<8|t[1],16)}c(FT,"unpackU16");function HT(t){return[t>>24&255,t>>16&255,t>>8&255,t&255]}c(HT,"packI32");function jT(t){return Xf(t[0]<<24|t[1]<<16|t[2]<<8|t[3],32)}c(jT,"unpackI32");function WT(t){return[t>>24&255,t>>16&255,t>>8&255,t&255]}c(WT,"packU32");function qT(t){return Jf(t[0]<<24|t[1]<<16|t[2]<<8|t[3],32)}c(qT,"unpackU32");function Fy(t,e,r){var n=(1<<e-1)-1,i,o,s,a,u,l,d,p;function g(h){var _=vc(h),A=h-_;return A<.5?_:A>.5||_%2?_+1:_}for(c(g,"roundToEven"),t!==t?(o=(1<<e)-1,s=Zr(2,r-1),i=0):t===1/0||t===-1/0?(o=(1<<e)-1,s=0,i=t<0?1:0):t===0?(o=0,s=0,i=1/t===-1/0?1:0):(i=t<0,t=kT(t),t>=Zr(2,1-n)?(o=RT(vc(CT(t)/TT),1023),s=g(t/Zr(2,o)*Zr(2,r)),s/Zr(2,r)>=2&&(o=o+1,s=1),o>n?(o=(1<<e)-1,s=0):(o=o+n,s=s-Zr(2,r))):(o=0,s=g(t/Zr(2,1-n-r)))),l=[],u=r;u;u-=1)l.push(s%2?1:0),s=vc(s/2);for(u=e;u;u-=1)l.push(o%2?1:0),o=vc(o/2);for(l.push(i?1:0),l.reverse(),d=l.join(""),p=[];d.length;)p.push(parseInt(d.substring(0,8),2)),d=d.substring(8);return p}c(Fy,"packIEEE754");function Hy(t,e,r){var n=[],i,o,s,a,u,l,d,p;for(i=t.length;i;i-=1)for(s=t[i-1],o=8;o;o-=1)n.push(s%2?1:0),s=s>>1;return n.reverse(),a=n.join(""),u=(1<<e-1)-1,l=parseInt(a.substring(0,1),2)?-1:1,d=parseInt(a.substring(1,1+e),2),p=parseInt(a.substring(1+e),2),d===(1<<e)-1?p!==0?NaN:l*(1/0):d>0?l*Zr(2,d-u)*(1+p/Zr(2,r)):p!==0?l*Zr(2,-(u-1))*(p/Zr(2,r)):l<0?-0:0}c(Hy,"unpackIEEE754");function QT(t){return Hy(t,11,52)}c(QT,"unpackF64");function VT(t){return Fy(t,11,52)}c(VT,"packF64");function KT(t){return Hy(t,8,23)}c(KT,"unpackF32");function GT(t){return Fy(t,8,23)}c(GT,"packF32");(function(){var t=c(function(h){if(h=Ot.ToInt32(h),h<0)throw new RangeError("ArrayBuffer size is not a small enough positive integer");this.byteLength=h,this._bytes=[],this._bytes.length=h;var _;for(_=0;_<this.byteLength;_+=1)this._bytes[_]=0;Yf(this)},"ArrayBuffer");Be.ArrayBuffer=Be.ArrayBuffer||t;var e=c(function(){},"ArrayBufferView");function r(g,h,_){var A;return A=c(function(b,I,w){var H,$,X,Z;if(!arguments.length||typeof arguments[0]=="number"){if(this.length=Ot.ToInt32(arguments[0]),w<0)throw new RangeError("ArrayBufferView size is not a small enough positive integer");this.byteLength=this.length*this.BYTES_PER_ELEMENT,this.buffer=new t(this.byteLength),this.byteOffset=0}else if(typeof arguments[0]=="object"&&arguments[0].constructor===A)for(H=arguments[0],this.length=H.length,this.byteLength=this.length*this.BYTES_PER_ELEMENT,this.buffer=new t(this.byteLength),this.byteOffset=0,X=0;X<this.length;X+=1)this._setter(X,H._getter(X));else if(typeof arguments[0]=="object"&&!(arguments[0]instanceof t||Ot.Class(arguments[0])==="ArrayBuffer"))for($=arguments[0],this.length=Ot.ToUint32($.length),this.byteLength=this.length*this.BYTES_PER_ELEMENT,this.buffer=new t(this.byteLength),this.byteOffset=0,X=0;X<this.length;X+=1)Z=$[X],this._setter(X,Number(Z));else if(typeof arguments[0]=="object"&&(arguments[0]instanceof t||Ot.Class(arguments[0])==="ArrayBuffer")){if(this.buffer=b,this.byteOffset=Ot.ToUint32(I),this.byteOffset>this.buffer.byteLength)throw new RangeError("byteOffset out of range");if(this.byteOffset%this.BYTES_PER_ELEMENT)throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size.");if(arguments.length<3){if(this.byteLength=this.buffer.byteLength-this.byteOffset,this.byteLength%this.BYTES_PER_ELEMENT)throw new RangeError("length of buffer minus byteOffset not a multiple of the element size");this.length=this.byteLength/this.BYTES_PER_ELEMENT}else this.length=Ot.ToUint32(w),this.byteLength=this.length*this.BYTES_PER_ELEMENT;if(this.byteOffset+this.byteLength>this.buffer.byteLength)throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}else throw new TypeError("Unexpected argument type(s)");this.constructor=A,Yf(this),OT(this)},"ctor"),A.prototype=new e,A.prototype.BYTES_PER_ELEMENT=g,A.prototype._pack=h,A.prototype._unpack=_,A.BYTES_PER_ELEMENT=g,A.prototype._getter=function(b){if(arguments.length<1)throw new SyntaxError("Not enough arguments");if(b=Ot.ToUint32(b),b>=this.length)return Ly;var I=[],w,H;for(w=0,H=this.byteOffset+b*this.BYTES_PER_ELEMENT;w<this.BYTES_PER_ELEMENT;w+=1,H+=1)I.push(this.buffer._bytes[H]);return this._unpack(I)},A.prototype.get=A.prototype._getter,A.prototype._setter=function(b,I){if(arguments.length<2)throw new SyntaxError("Not enough arguments");if(b=Ot.ToUint32(b),b>=this.length)return Ly;var w=this._pack(I),H,$;for(H=0,$=this.byteOffset+b*this.BYTES_PER_ELEMENT;H<this.BYTES_PER_ELEMENT;H+=1,$+=1)this.buffer._bytes[$]=w[H]},A.prototype.set=function(b,I){if(arguments.length<1)throw new SyntaxError("Not enough arguments");var w,H,$,X,Z,Y,P,k,M,L;if(typeof arguments[0]=="object"&&arguments[0].constructor===this.constructor){if(w=arguments[0],$=Ot.ToUint32(arguments[1]),$+w.length>this.length)throw new RangeError("Offset plus length of array is out of range");if(k=this.byteOffset+$*this.BYTES_PER_ELEMENT,M=w.length*this.BYTES_PER_ELEMENT,w.buffer===this.buffer){for(L=[],Z=0,Y=w.byteOffset;Z<M;Z+=1,Y+=1)L[Z]=w.buffer._bytes[Y];for(Z=0,P=k;Z<M;Z+=1,P+=1)this.buffer._bytes[P]=L[Z]}else for(Z=0,Y=w.byteOffset,P=k;Z<M;Z+=1,Y+=1,P+=1)this.buffer._bytes[P]=w.buffer._bytes[Y]}else if(typeof arguments[0]=="object"&&typeof arguments[0].length<"u"){if(H=arguments[0],X=Ot.ToUint32(H.length),$=Ot.ToUint32(arguments[1]),$+X>this.length)throw new RangeError("Offset plus length of array is out of range");for(Z=0;Z<X;Z+=1)Y=H[Z],this._setter($+Z,Number(Y))}else throw new TypeError("Unexpected argument type(s)")},A.prototype.subarray=function(b,I){function w($,X,Z){return $<X?X:$>Z?Z:$}c(w,"clamp"),b=Ot.ToInt32(b),I=Ot.ToInt32(I),arguments.length<1&&(b=0),arguments.length<2&&(I=this.length),b<0&&(b=this.length+b),I<0&&(I=this.length+I),b=w(b,0,this.length),I=w(I,0,this.length);var H=I-b;return H<0&&(H=0),new this.constructor(this.buffer,this.byteOffset+b*this.BYTES_PER_ELEMENT,H)},A}c(r,"makeConstructor");var n=r(1,$T,DT),i=r(1,BT,My),o=r(1,UT,My),s=r(2,LT,zT),a=r(2,MT,FT),u=r(4,HT,jT),l=r(4,WT,qT),d=r(4,GT,KT),p=r(8,VT,QT);Be.Int8Array=Be.Int8Array||n,Be.Uint8Array=Be.Uint8Array||i,Be.Uint8ClampedArray=Be.Uint8ClampedArray||o,Be.Int16Array=Be.Int16Array||s,Be.Uint16Array=Be.Uint16Array||a,Be.Int32Array=Be.Int32Array||u,Be.Uint32Array=Be.Uint32Array||l,Be.Float32Array=Be.Float32Array||d,Be.Float64Array=Be.Float64Array||p})();(function(){function t(o,s){return Ot.IsCallable(o.get)?o.get(s):o[s]}c(t,"r");var e=(function(){var o=new Be.Uint16Array([4660]),s=new Be.Uint8Array(o.buffer);return t(s,0)===18})(),r=c(function(s,a,u){if(arguments.length===0)s=new Be.ArrayBuffer(0);else if(!(s instanceof Be.ArrayBuffer||Ot.Class(s)==="ArrayBuffer"))throw new TypeError("TypeError");if(this.buffer=s||new Be.ArrayBuffer(0),this.byteOffset=Ot.ToUint32(a),this.byteOffset>this.buffer.byteLength)throw new RangeError("byteOffset out of range");if(arguments.length<3?this.byteLength=this.buffer.byteLength-this.byteOffset:this.byteLength=Ot.ToUint32(u),this.byteOffset+this.byteLength>this.buffer.byteLength)throw new RangeError("byteOffset and length reference an area beyond the end of the buffer");Yf(this)},"DataView");function n(o){return function(s,a){if(s=Ot.ToUint32(s),s+o.BYTES_PER_ELEMENT>this.byteLength)throw new RangeError("Array index out of range");s+=this.byteOffset;var u=new Be.Uint8Array(this.buffer,s,o.BYTES_PER_ELEMENT),l=[],d;for(d=0;d<o.BYTES_PER_ELEMENT;d+=1)l.push(t(u,d));return!!a==!!e&&l.reverse(),t(new o(new Be.Uint8Array(l).buffer),0)}}c(n,"makeGetter"),r.prototype.getUint8=n(Be.Uint8Array),r.prototype.getInt8=n(Be.Int8Array),r.prototype.getUint16=n(Be.Uint16Array),r.prototype.getInt16=n(Be.Int16Array),r.prototype.getUint32=n(Be.Uint32Array),r.prototype.getInt32=n(Be.Int32Array),r.prototype.getFloat32=n(Be.Float32Array),r.prototype.getFloat64=n(Be.Float64Array);function i(o){return function(s,a,u){if(s=Ot.ToUint32(s),s+o.BYTES_PER_ELEMENT>this.byteLength)throw new RangeError("Array index out of range");var l=new o([a]),d=new Be.Uint8Array(l.buffer),p=[],g,h;for(g=0;g<o.BYTES_PER_ELEMENT;g+=1)p.push(t(d,g));!!u==!!e&&p.reverse(),h=new Be.Uint8Array(this.buffer,s,o.BYTES_PER_ELEMENT),h.set(p)}}c(i,"makeSetter"),r.prototype.setUint8=i(Be.Uint8Array),r.prototype.setInt8=i(Be.Int8Array),r.prototype.setUint16=i(Be.Uint16Array),r.prototype.setInt16=i(Be.Int16Array),r.prototype.setUint32=i(Be.Uint32Array),r.prototype.setInt32=i(Be.Int32Array),r.prototype.setFloat32=i(Be.Float32Array),r.prototype.setFloat64=i(Be.Float64Array),Be.DataView=Be.DataView||r})()});var Vy=le((_5,Qy)=>{var Wy=Dy().Writable,ZT=di(),Rs=Uy();typeof Uint8Array>"u"?Sc=jy().Uint8Array:Sc=Uint8Array;var Sc;function yi(t,e){if(!(this instanceof yi))return new yi(t,e);typeof t=="function"&&(e=t,t={}),t||(t={});var r=t.encoding,n=!1;r?(r=String(r).toLowerCase(),(r==="u8"||r==="uint8")&&(r="uint8array")):n=!0,Wy.call(this,{objectMode:!0}),this.encoding=r,this.shouldInferEncoding=n,e&&this.on("finish",function(){e(this.getBody())}),this.body=[]}c(yi,"ConcatStream");Qy.exports=yi;ZT(yi,Wy);yi.prototype._write=function(t,e,r){this.body.push(t),r()};yi.prototype.inferEncoding=function(t){var e=t===void 0?this.body[0]:t;return Buffer.isBuffer(e)?"buffer":typeof Uint8Array<"u"&&e instanceof Uint8Array?"uint8array":Array.isArray(e)?"array":typeof e=="string"?"string":Object.prototype.toString.call(e)==="[object Object]"?"object":"buffer"};yi.prototype.getBody=function(){return!this.encoding&&this.body.length===0?[]:(this.shouldInferEncoding&&(this.encoding=this.inferEncoding()),this.encoding==="array"?e1(this.body):this.encoding==="string"?XT(this.body):this.encoding==="buffer"?JT(this.body):this.encoding==="uint8array"?t1(this.body):this.body)};function YT(t){return/Array\]$/.test(Object.prototype.toString.call(t))}c(YT,"isArrayish");function qy(t){return typeof t=="string"||YT(t)||t&&typeof t.subarray=="function"}c(qy,"isBufferish");function XT(t){for(var e=[],r=!1,n=0;n<t.length;n++){var i=t[n];typeof i=="string"||Buffer.isBuffer(i)?e.push(i):qy(i)?e.push(Rs(i)):e.push(Rs(String(i)))}return Buffer.isBuffer(t[0])?(e=Buffer.concat(e),e=e.toString("utf8")):e=e.join(""),e}c(XT,"stringConcat");function JT(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];Buffer.isBuffer(n)?e.push(n):qy(n)?e.push(Rs(n)):e.push(Rs(String(n)))}return Buffer.concat(e)}c(JT,"bufferConcat");function e1(t){for(var e=[],r=0;r<t.length;r++)e.push.apply(e,t[r]);return e}c(e1,"arrayConcat");function t1(t){for(var e=0,r=0;r<t.length;r++)typeof t[r]=="string"&&(t[r]=Rs(t[r])),e+=t[r].length;for(var n=new Sc(e),r=0,i=0;r<t.length;r++)for(var o=t[r],s=0;s<o.length;s++)n[i++]=o[s];return n}c(t1,"u8Concat")});var Zy=le((E5,Gy)=>{"use strict";function Ky(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}c(Ky,"assign");function r1(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=void 0),e!=null&&(r.code=e);try{return Ky(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=c(function(){},"ErrClass");return i.prototype=Object.create(Object.getPrototypeOf(t)),Ky(new i,r)}}c(r1,"createError");Gy.exports=r1});var Xy=le((b5,Yy)=>{function Wr(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}c(Wr,"RetryOperation");Yy.exports=Wr;Wr.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};Wr.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};Wr.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),r=this._timeouts.shift();else return!1;var n=this,i=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r);return this._options.unref&&i.unref(),!0};Wr.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Wr.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Wr.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Wr.prototype.start=Wr.prototype.try;Wr.prototype.errors=function(){return this._errors};Wr.prototype.attempts=function(){return this._attempts};Wr.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],o=i.message,s=(t[o]||0)+1;t[o]=s,s>=r&&(e=i,r=s)}return e}});var Jy=le(Ei=>{var n1=Xy();Ei.operation=function(t){var e=Ei.timeouts(t);return new n1(e,{forever:t&&t.forever,unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};Ei.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<e.retries;i++)n.push(this.createTimeout(i,e));return t&&t.forever&&!n.length&&n.push(this.createTimeout(i,e)),n.sort(function(o,s){return o-s}),n};Ei.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,n=Math.round(r*e.minTimeout*Math.pow(e.factor,t));return n=Math.min(n,e.maxTimeout),n};Ei.wrap=function(t,e,r){if(e instanceof Array&&(r=e,e=null),!r){r=[];for(var n in t)typeof t[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var o=r[i],s=t[o];t[o]=c(function(u){var l=Ei.operation(e),d=Array.prototype.slice.call(arguments,1),p=d.pop();d.push(function(g){l.retry(g)||(g&&(arguments[0]=l.mainError()),p.apply(this,arguments))}),l.attempt(function(){u.apply(t,d)})},"retryWrapper").bind(t,s),t[o].options=e}}});var tE=le((S5,eE)=>{eE.exports=Jy()});var iE=le((w5,nE)=>{"use strict";var i1=Zy(),o1=tE(),s1=Object.prototype.hasOwnProperty;function rE(t){return t&&t.code==="EPROMISERETRY"&&s1.call(t,"retried")}c(rE,"isRetryError");function a1(t,e){var r,n;return typeof t=="object"&&typeof e=="function"&&(r=e,e=t,t=r),n=o1.operation(e),new Promise(function(i,o){n.attempt(function(s){Promise.resolve().then(function(){return t(function(a){throw rE(a)&&(a=a.retried),i1(new Error("Retrying"),"EPROMISERETRY",{retried:a})},s)}).then(i,function(a){rE(a)&&(a=a.retried,n.retry(a||new Error))||o(a)})})})}c(a1,"promiseRetry");nE.exports=a1});var ed=le((T5,oE)=>{var c1={generic:"ERR_GENERIC_CLIENT",connect:"ERR_NOT_CONNECTED",badPath:"ERR_BAD_PATH",permission:"EACCES",notexist:"ENOENT",notdir:"ENOTDIR",badAuth:"ERR_BAD_AUTH"},u1={writeFile:1,readFile:2,writeDir:3,readDir:4,readObj:5,writeObj:6};oE.exports={errorCode:c1,targetType:u1}});var fE=le((k5,lE)=>{var Ns=require("fs"),l1=require("path"),{errorCode:sE}=ed();function aE(t,e,r){return c(i=>{if(t.endCalled||t.errorHandled){t.debugMsg(`${e} errorListener - ignoring handled error`);return}t.errorHandled=!0;let o=new Error(`${e}: ${i.message}`);if(o.code=i.code,r)r(o);else throw o},"fn")}c(aE,"errorListener");function f1(t,e){return()=>{t.endCalled||t.errorHandled||t.closeHandled?t.debugMsg(`Global ${e} event: Ignoring expected and handled event`):(t.debugMsg(`Global ${e} event: Handling unexpected event`),t.sftp=void 0)}}c(f1,"globalListener");function cE(t,e,r){return c(function(){if(t.sftp=void 0,t.endCalled||t.endHandled||t.errorHandled){t.debugMsg(`${e} endListener - ignoring handled error`);return}t.endHandled=!0,t.debugMsg(`${e} Unexpected end event - ignoring`)},"fn")}c(cE,"endListener");function uE(t,e,r){return c(function(){if(t.sftp=void 0,t.endCalled||t.closeHandled||t.errorHandled||t.endHandled){t.debugMsg(`${e} closeListener - ignoring handled error`);return}t.closeHandled=!0,t.debugMsg(`${e} Unexpected close event raised - ignoring`)},"fn")}c(uE,"closeListener");function d1(t,e,r){let n={end:cE(t,e,r),close:uE(t,e,r),error:aE(t,e,r)};return t.on("end",n.end),t.on("close",n.close),t.on("error",n.error),t._resetEventFlags(),n}c(d1,"addTempListeners");function p1(t,e,r){try{t.removeListener("end",e.end),t.removeListener("close",e.close),t.removeListener("error",e.error)}catch(n){throw new Error(`${r}: Error removing temp listeners: ${n.message}`)}}c(p1,"removeTempListeners");function td(t){let e=Ns.statSync(t,{throwIfNoEntry:!1});if(e){if(e.isDirectory())return"d";if(e.isFile())return"-";{let r=new Error(`Bad path: ${t}: target must be a file or directory`);throw r.code=sE.badPath,r}}else return!1}c(td,"localExists");function rd(t,e="r"){let r=Ns.constants.F_OK|e==="w"?Ns.constants.W_OK:Ns.constants.R_OK;try{return Ns.accessSync(t,r),{status:!0,type:td(t),details:"access OK",code:0}}catch(n){switch(n.errno){case-2:return{status:!1,type:null,details:"not exist",code:-2};case-13:return{status:!1,type:td(t),details:"permission denied",code:-13};case-20:return{status:!1,type:null,details:"parent not a directory"};default:return{status:!1,type:null,details:n.message}}}}c(rd,"haveLocalAccess");function h1(t){let{status:e,details:r,type:n}=rd(t,"w");if(!e&&r==="permission denied")return{status:e,details:r,type:n};if(!e){let i=l1.dirname(t),o=rd(i,"w");return o.status&&o.type!=="d"?{status:!1,details:`${i}: not a directory`,type:null}:o.status?{status:!0,details:"access OK",type:null,code:0}:{status:o.status,details:`${i}: ${o.details}`,type:null}}return{status:e,details:r,type:n}}c(h1,"haveLocalCreate");async function g1(t,e){try{return e.startsWith("..")?`${await t.realPath("..")}/${e.slice(3)}`:e.startsWith(".")?`${await t.realPath(".")}/${e.slice(2)}`:e}catch(r){throw new Error(`normalizeRemotePath: ${r.message}`)}}c(g1,"normalizeRemotePath");function m1(t,e,r){if(!t.sftp){let n=new Error(`${e}: No SFTP connection available`);if(n.code=sE.connect,r)return r(n),!1;throw n}return!0}c(m1,"haveConnection");function _1(t){return new Promise((e,r)=>{try{isNaN(t)||t<0?r("Argument must be anumber >= 0"):setTimeout(()=>{e(!0)},t)}catch(n){r(n)}})}c(_1,"sleep");lE.exports={globalListener:f1,errorListener:aE,endListener:cE,closeListener:uE,addTempListeners:d1,removeTempListeners:p1,haveLocalAccess:rd,haveLocalCreate:h1,normalizeRemotePath:g1,localExists:td,haveConnection:m1,sleep:_1}});var gE=le((R5,hE)=>{"use strict";var{Client:y1}=C_(),wc=require("fs"),E1=Vy(),A1=iE(),{join:Os,parse:b1}=require("path"),{globalListener:nd,addTempListeners:zt,removeTempListeners:Mt,haveConnection:fr,normalizeRemotePath:$s,localExists:dE,haveLocalAccess:pE,haveLocalCreate:id}=fE(),{errorCode:$t}=ed(),od=class{static{c(this,"SftpClient")}constructor(e){this.version="9.0.4",this.client=new y1,this.sftp=void 0,this.clientName=e||"sftp",this.endCalled=!1,this.errorHandled=!1,this.closeHandled=!1,this.endHandled=!1,this.remotePlatform="unix",this.debug=void 0,this.client.on("close",nd(this,"close")),this.client.on("end",nd(this,"end")),this.client.on("error",nd(this,"error"))}debugMsg(e,r){this.debug&&(r?this.debug(`CLIENT[${this.clientName}]: ${e} ${JSON.stringify(r,null," ")}`):this.debug(`CLIENT[${this.clientName}]: ${e}`))}fmtError(e,r="sftp",n,i){let o="",s="",a=i?` after ${i} ${i>1?"attempts":"attempt"}`:"";if(e===void 0)o=`${r}: Undefined error - probably a bug!`,s=$t.generic;else if(typeof e=="string")o=`${r}: ${e}${a}`,s=n||$t.generic;else if(e.custom)o=`${r}->${e.message}${a}`,s=e.code;else{switch(e.code){case"ENOTFOUND":o=`${r}: Address lookup failed for host${a}`;break;case"ECONNREFUSED":o=`${r}: Remote host refused connection${a}`;break;case"ECONNRESET":o=`${r}: Remote host has reset the connection: ${e.message}${a}`;break;default:o=`${r}: ${e.message}${a}`}s=e.code?e.code:$t.generic}let u=new Error(o);return u.code=s,u.custom=!0,this.debugMsg(`${u.message} (${u.code})`),u}on(e,r){this.client.prependListener(e,r)}removeListener(e,r){this.client.removeListener(e,r)}_resetEventFlags(){this.closeHandled=!1,this.endHandled=!1,this.errorHandled=!1}getConnection(e){let r,n;return new Promise((i,o)=>{n=zt(this,"getConnection",o),r=c(()=>{this.debugMsg("getConnection ready listener: got connection - promise resolved"),i(!0)},"doReady"),this.on("ready",r);try{this.client.connect(e)}catch(s){this.debugMsg(`getConnection: ${s.message}`),o(s)}}).finally(()=>{this.removeListener("ready",r),Mt(this,n,"getConnection")})}getSftpChannel(){return new Promise((e,r)=>{this.client.sftp((n,i)=>{n?r(this.fmtError(n,"getSftpChannel",n.code)):(this.sftp=i,e(i))})})}async connect(e){let r;try{if(r=zt(this,"connect"),e.debug&&(this.debug=e.debug,this.debugMsg("connect: Debugging turned on"),this.debugMsg(`ssh2-sftp-client Version: ${this.version} `,process.versions)),this.sftp)throw this.fmtError("An existing SFTP connection is already defined","connect",$t.connect);let n={retries:e.retries??1,factor:e.factor??2,minTimeout:e.retry_minTimeout??25e3};return await A1(n,async(o,s)=>{try{this.debugMsg(`connect: Connect attempt ${s}`),await this.getConnection(e)}catch(a){switch(a.code){case"ENOTFOUND":case"ECONNREFUSED":case"ERR_SOCKET_BAD_PORT":throw a;case void 0:{if(a.message.endsWith("All configured authentication methods failed")||a.message.startsWith("Cannot parse privateKey"))throw a;o(a);break}default:o(a)}}}),await this.getSftpChannel()}catch(n){throw this.end(),n.custom?n:this.fmtError(n,"connect")}finally{Mt(this,r,"connect")}}realPath(e,r=!0){let n;return new Promise((i,o)=>{r&&(n=zt(this,"realPath",o)),this.debugMsg(`realPath -> ${e}`),this.sftp.realpath(e,(s,a)=>{s&&(s.code===2?(this.debugMsg('realPath <- ""'),i("")):(this.debugMsg(`${s.message} ${e}`,"realPath"),o(this.fmtError(`${s.message} ${e}`,"realPath",s.code)))),this.debugMsg(`realPath <- ${a}`),i(a)})}).finally(()=>{r&&Mt(this,n,"realPath")})}cwd(){return this.realPath(".")}_xstat(e,r,n=!0){let i;return new Promise((o,s)=>{let a=c((u,l)=>{if(u)u.code===2||u.code===4?s(this.fmtError(`No such file: ${r}`,"_xstat",$t.notexist)):s(this.fmtError(`${u.message} ${r}`,"_xstat",u.code));else{let d={mode:l.mode,uid:l.uid,gid:l.gid,size:l.size,accessTime:l.atime*1e3,modifyTime:l.mtime*1e3,isDirectory:l.isDirectory(),isFile:l.isFile(),isBlockDevice:l.isBlockDevice(),isCharacterDevice:l.isCharacterDevice(),isSymbolicLink:l.isSymbolicLink(),isFIFO:l.isFIFO(),isSocket:l.isSocket()};this.debugMsg("_xstat: result = ",d),o(d)}},"cb");n&&(i=zt(this,"_xstat",s)),e==="stat"?this.sftp.stat(r,a):this.sftp.lstat(r,a)}).finally(()=>{n&&Mt(this,i,"_xstat")})}async stat(e){try{return fr(this,"stat"),await this._xstat("stat",e)}catch(r){throw r.custom?r:this.fmtError(r,"stat",r.code)}}async lstat(e){try{return fr(this,"lstat"),await this._xstat("lstat",e)}catch(r){throw r.custom?r:this.fmtError(r,"lstat",r.code)}}async exists(e){this.debugMsg(`exists: remotePath = ${e}`);try{if(e===".")return"d";let r=await this.lstat(e);return this.debugMsg("exists: <- ",r),r.isDirectory?"d":r.isSymbolicLink?"l":r.isFile?"-":!1}catch(r){if(r.code===$t.notexist)return!1;throw r.custom?r:this.fmtError(r.message,"exists",r.code)}}list(e,r,n=!0){let i;return new Promise((o,s)=>{n&&(i=zt(this,"list",s)),fr(this,"list",s)&&this.sftp.readdir(e,(a,u)=>{if(a)s(this.fmtError(`${a.message} ${e}`,"list",a.code));else{let l=/-/gi,d=u.map(p=>({type:p.longname.slice(0,1),name:p.filename,size:p.attrs.size,modifyTime:p.attrs.mtime*1e3,accessTime:p.attrs.atime*1e3,rights:{user:p.longname.slice(1,4).replace(l,""),group:p.longname.slice(4,7).replace(l,""),other:p.longname.slice(7,10).replace(l,"")},owner:p.attrs.uid,group:p.attrs.gid,longname:p.longname}));o(r?d.filter(p=>r(p)):d)}})}).finally(()=>{n&&Mt(this,i,"list")})}get(e,r,n,i=!0){let o,s,a;return new Promise((u,l)=>{if(i&&(o=zt(this,"get",l)),fr(this,"get",l)){if(n={readStreamOptions:{...n?.readStreamOptions,autoClose:!0},writeStreamOptions:{...n?.writeStreamOptions,autoClose:!0},pipeOptions:{...n?.pipeOptions,end:!0}},s=this.sftp.createReadStream(e,n.readStreamOptions),s.once("error",d=>{r&&typeof r!="string"&&!r.destroyed&&r.destroy(),l(this.fmtError(`${d.message} ${e}`,"get",d.code))}),r===void 0)this.debugMsg("get resolving buffer of data"),a=E1(d=>{u(d)});else if(typeof r=="string"){this.debugMsg("get returning local file");let d=id(r);if(d.status)a=wc.createWriteStream(r,n.writeStreamOptions);else{l(this.fmtError(`Bad path: ${r}: ${d.details}`,"get",d.code));return}}else this.debugMsg("get: returning data into supplied stream"),a=r;a.once("error",d=>{l(this.fmtError(`${d.message} ${typeof r=="string"?r:"<stream>"}`,"get",d.code))}),s.once("end",()=>{typeof r=="string"?(this.debugMsg("get: resolving with dst filename"),u(r)):r!==void 0&&(this.debugMsg("get: resolving with writer stream object"),u(a))}),s.pipe(a,n.pipeOptions)}}).finally(()=>{i&&Mt(this,o,"get")})}_fastGet(e,r,n,i=!0){let o;return new Promise((s,a)=>{i&&(o=zt(this,"_fastGet",a)),fr(this,"_fastGet",a)&&this.sftp.fastGet(e,r,n,u=>{u&&a(this.fmtError(`${u.message} Remote: ${e} Local: ${r}`)),s(`${e} was successfully download to ${r}!`)})}).finally(()=>{i&&Mt(this,o,"_fastGet")})}async fastGet(e,r,n){try{let i=await this.exists(e);if(i!=="-"){let s=`${i?"Not a regular file":"No such file "} ${e}`;throw this.fmtError(s,"fastGet",$t.badPath)}let o=id(r);if(!o.status)throw this.fmtError(`Bad path: ${r}: ${o.details}`,"fastGet",$t.badPath);return await this._fastGet(e,r,n)}catch(i){throw this.fmtError(i,"fastGet")}}_fastPut(e,r,n,i=!0){let o;return new Promise((s,a)=>{i&&(o=zt(this,"_fastPut",a)),fr(this,"_fastPut",a)&&this.sftp.fastPut(e,r,n,u=>{u&&a(this.fmtError(`${u.message} Local: ${e} Remote: ${r}`,"fastPut",u.code)),s(`${e} was successfully uploaded to ${r}!`)})}).finally(()=>{i&&Mt(this,o,"_fastPut")})}async fastPut(e,r,n){try{this.debugMsg(`fastPut -> local ${e} remote ${r}`);let i=pE(e);if(i.status){if(i.status&&dE(e)==="d")throw this.fmtError(`Bad path: ${e} not a regular file`,"fastgPut",$t.badPath)}else throw this.fmtError(`Bad path: ${e}: ${i.details}`,"fastPut",i.code);return await this._fastPut(e,r,n)}catch(i){throw i.custom?i:this.fmtError(i.message,"fastPut",i.code)}}_put(e,r,n,i=!0){let o,s,a;return new Promise((u,l)=>{i&&(o=zt(this,"_put",l)),n={readStreamOptions:{...n?.readStreamOptions,autoClose:!0},writeStreamOptions:{...n?.writeStreamOptions,autoClose:!0},pipeOptions:{...n?.pipeOptions,end:!0}},fr(this,"_put",l)&&(s=this.sftp.createWriteStream(r,n.writeStreamOptions),s.once("error",d=>{l(this.fmtError(`Write stream error: ${d.message} ${r}`,"_put",d.code))}),s.once("close",()=>{u(`Uploaded data stream to ${r}`)}),e instanceof Buffer?(this.debugMsg("put source is a buffer"),s.end(e)):(a=typeof e=="string"?wc.createReadStream(e,n.readStreamOptions):e,a.once("error",d=>{l(this.fmtError(`Read stream error: ${d.message} ${typeof e=="string"?e:"<stream>"}`,"_put",d.code))}),a.pipe(s,n.pipeOptions)))}).finally(()=>{i&&Mt(this,o,"_put")})}async put(e,r,n){try{if(typeof e=="string"){let i=pE(e);if(!i.status)throw this.fmtError(`Bad path: ${e} ${i.details}`,"put",i.code)}return await this._put(e,r,n)}catch(i){throw i.custom?i:this.fmtError(`Re-thrown: ${i.message}`,"put",i.code)}}_append(e,r,n,i=!0){let o;return new Promise((s,a)=>{if(i&&(o=zt(this,"_append",a)),fr(this,"_append",a)){this.debugMsg(`append -> remote: ${r} `,n),n.flags="a";let u=this.sftp.createWriteStream(r,n);u.on("error",l=>{a(this.fmtError(`${l.message} ${r}`,"append",l.code))}),u.on("close",()=>{s(`Appended data to ${r}`)}),e instanceof Buffer?(u.write(e),u.end()):e.pipe(u)}}).finally(()=>{i&&Mt(this,o,"_append")})}async append(e,r,n={}){try{if(typeof e=="string")throw this.fmtError("Cannot append one file to another","append",$t.badPath);let i=await this.exists(r);if(i&&i==="d")throw this.fmtError(`Bad path: ${r}: cannot append to a directory`,"append",$t.badPath);await this._append(e,r,n)}catch(i){throw i.custom?i:this.fmtError(i.message,"append",i.code)}}_doMkdir(e,r=!0){let n;return new Promise((i,o)=>{r&&(n=zt(this,"_doMkdir",o)),this.sftp.mkdir(e,s=>{s?s.code===4?o(this.fmtError(`Bad path: ${e} permission denied`,"_doMkdir",$t.badPath)):s.code===2?o(this.fmtError(`Bad path: ${e} parent not a directory or not exist`,"_doMkdir",$t.badPath)):o(this.fmtError(`${s.message} ${e}`,"_doMkdir",s.code)):i(`${e} directory created`)})}).finally(()=>{r&&Mt(this,n,"_doMkdir")})}async _mkdir(e,r){try{let n=await $s(this,e),i=await this.exists(n);if(i&&i!=="d")throw this.fmtError(`Bad path: ${n} already exists as a file`,"_mkdir",$t.badPath);if(i)return`${n} already exists`;if(!r)return await this._doMkdir(n);let o=b1(n).dir;if(o){let s=await this.exists(o);if(!s)await this._mkdir(o,!0);else if(s!=="d")throw this.fmtError(`Bad path: ${o} not a directory`,"_mkdir",$t.badPath)}return await this._doMkdir(n)}catch(n){throw n.custom?n:this.fmtError(`${n.message} ${e}`,"_mkdir",n.code)}}async mkdir(e,r=!1){try{return fr(this,"mkdir"),await this._mkdir(e,r)}catch(n){throw this.fmtError(`${n.message}`,"mkdir",n.code)}}async rmdir(e,r=!1){let n=c(o=>{let s;return new Promise((a,u)=>{s=zt(this,"_rmdir",u),this.debugMsg(`_rmdir: dir = ${o}`),this.sftp.rmdir(o,l=>{l&&u(this.fmtError(`${l.message} ${o}`,"rmdir",l.code)),a("Successfully removed directory")})}).finally(()=>{Mt(this,s,"_rmdir")})},"_rmdir"),i=c((o,s)=>{let a;return new Promise((u,l)=>{a=zt(this,"_delFiles",l),this.debugMsg(`_delFiles: path = ${o} fileList = ${s}`);let d=[];for(let p of s)d.push(this.delete(`${o}/${p.name}`,!0,!1));u(d)}).then(u=>Promise.all(u)).finally(()=>{Mt(this,a,"_delFiles")})},"_delFiles");try{this.debugMsg(`rmdir: dir = ${e} recursive = ${r}`);let o=await $s(this,e),s=await this.exists(o);if(this.debugMsg(`rmdir: ${o} existStatus = ${s}`),!s)throw this.fmtError(`Bad Path: ${e}: No such directory`,"rmdir",$t.badPath);if(s!=="d")throw this.fmtError(`Bad Path: ${e}: Not a directory`,"rmdir",$t.badPath);if(!r)return this.debugMsg("rmdir: non-recursive - just try to remove it"),await n(o);let a=await this.list(o);if(this.debugMsg(`rmdir: listing count = ${a.length}`),!a.length)return this.debugMsg("rmdir: No sub dir or files, just rmdir"),await n(o);let u=a.filter(d=>d.type!=="d");this.debugMsg(`rmdir: dir content files to remove = ${u.length}`);let l=a.filter(d=>d.type==="d");this.debugMsg(`rmdir: sub-directories to remove = ${l.length}`),await i(o,u);for(let d of l)await this.rmdir(`${o}/${d.name}`,!0);return await n(o),"Successfully removed directory"}catch(o){throw o.custom?o:this.fmtError(`${o.message} ${e}`,"rmdir",o.code)}}delete(e,r=!1,n=!0){let i;return new Promise((o,s)=>{n&&(i=zt(this,"delete",s)),this.sftp.unlink(e,a=>{a&&(r&&a.code===2?o(`Successfully deleted ${e}`):s(this.fmtError(`${a.message} ${e}`,"delete",a.code))),o(`Successfully deleted ${e}`)})}).finally(()=>{n&&Mt(this,i,"delete")})}rename(e,r,n=!0){let i;return new Promise((o,s)=>{n&&(i=zt(this,"rename",s)),fr(this,"rename",s)&&this.sftp.rename(e,r,a=>{a&&s(this.fmtError(`${a.message} From: ${e} To: ${r}`,"_rename",a.code)),o(`Successfully renamed ${e} to ${r}`)})}).finally(()=>{n&&Mt(this,i,"rename")})}posixRename(e,r,n=!0){let i;return new Promise((o,s)=>{n&&(i=zt(this,"posixRename",s)),fr(this,"posixRename",s)&&this.sftp.ext_openssh_rename(e,r,a=>{a&&s(this.fmtError(`${a.message} From: ${e} To: ${r}`,"_posixRename",a.code)),o(`Successful POSIX rename ${e} to ${r}`)})}).finally(()=>{Mt(this,i,"posixRename")})}chmod(e,r,n=!0){let i;return new Promise((o,s)=>{n&&(i=zt(this,"chmod",s)),fr(this,"chmod",s)&&this.sftp.chmod(e,r,a=>{a&&s(this.fmtError(`${a.message} ${e}`,"_chmod",a.code)),o("Successfully change file mode")})}).finally(()=>{n&&Mt(this,i,"chmod")})}async uploadDir(e,r,n){let i=c(async a=>{let u=await $s(this,a),l=await this.exists(u);if(l&&l!=="d")throw this.fmtError(`Bad path ${u} Not a directory`,"getRemoteStatus",$t.badPath);return{remoteDir:u,remoteStatus:l}},"getRemoteStatus"),o=c(a=>{let u=dE(a);if(!u)throw this.fmtError(`Bad path: ${a} not exist`,"getLocalStatus",$t.badPath);if(u!=="d")throw this.fmtError(`Bad path: ${a}: not a directory`,"getLocalStatus",$t.badPath);return u},"checkLocalStatus"),s=c((a,u,l,d)=>{let p;return new Promise((g,h)=>{p=zt(this,"uploadFiles",h);let _=[];for(let A of l){let b=Os(a,A.name),I=`${u}/${A.name}`;A.isFile()?(d?_.push(this._fastPut(b,I,null,!1)):_.push(this._put(b,I,null,!1)),this.client.emit("upload",{source:b,destination:I})):this.debugMsg(`uploadFiles: File ignored: ${A.name} not a regular file`)}g(Promise.all(_))}).then(g=>Promise.all(g)).finally(()=>{Mt(this,p,s)})},"uploadFiles");try{fr(this,"uploadDir"),this.debugMsg(`uploadDir: srcDir = ${e} dstDir = ${r} options = ${n}`);let{remoteDir:a,remoteStatus:u}=await i(r);this.debugMsg(`uploadDir: remoteDir = ${a} remoteStatus = ${u}`),o(e),u||await this._mkdir(a,!0);let l=wc.readdirSync(e,{encoding:"utf8",withFileTypes:!0});this.debugMsg(`uploadDir: dirEntries = ${l}`),n?.filter&&(l=l.filter(g=>n.filter(Os(e,g.name),g.isDirectory())));let d=l.filter(g=>g.isDirectory()),p=l.filter(g=>!g.isDirectory());this.debugMsg(`uploadDir: dirUploads = ${d}`),this.debugMsg(`uploadDir: fileUploads = ${p}`),await s(e,a,p,n?.useFastput);for(let g of d){let h=Os(e,g.name),_=`${a}/${g.name}`;await this.uploadDir(h,_,n)}return`${e} uploaded to ${r}`}catch(a){throw a.custom?a:this.fmtError(`${a.message} ${e}`,"uploadDir",a.code)}}async downloadDir(e,r,n={filter:null,useFastget:!1}){let i=c(async(a,u)=>{try{let l=await this.list(a);return u?l.filter(d=>u(`${a}/${d.name}`,d.type==="d")):l}catch(l){throw l.custom?l:this.fmtError(l.message,"_getDownloadList",l.code)}},"_getDownloadList"),o=c(a=>{try{let u=id(a);if(!u.status&&u.details==="permission denied")throw this.fmtError(`Bad path: ${a}: ${u.details}`,"prepareDestination",u.code);if(u.status&&!u.type)wc.mkdirSync(a,{recursive:!0});else if(u.status&&u.type!=="d")throw this.fmtError(`Bad path: ${r}: not a directory`,"_prepareDestination",$t.badPath)}catch(u){throw u.custom?u:this.fmtError(u.message,"_prepareDestination",u.code)}},"_prepareDestination"),s=c((a,u,l,d)=>{let p;return new Promise((g,h)=>{p=zt(this,"_downloadFIles",h);let _=[];for(let A of l){let b=`${a}/${A.name}`,I=Os(u,A.name);d?_.push(this.fastGet(b,I,!1)):_.push(this.get(b,I,!1)),this.client.emit("download",{source:b,destination:I})}return g(Promise.all(_))}).finally(()=>{Mt(this,p,"_downloadFiles")})},"_downloadFiles");try{fr(this,"downloadDir");let a=await i(e,n.filter);o(r);let u=a.filter(d=>d.type!=="d");u.length&&await s(e,r,u,n.useFastget);let l=a.filter(d=>d.type==="d");for(let d of l){let p=`${e}/${d.name}`,g=Os(r,d.name);await this.downloadDir(p,g)}return`${e} downloaded to ${r}`}catch(a){throw a.custom?a:this.fmtError(`${a.message}: ${e}`,"downloadDir",a.code)}}createReadStream(e,r){let n;try{return n=zt(this,"createReadStream"),fr(this,"createReadStream"),this.sftp.createReadStream(e,r)}catch(i){throw i.custom?i:this.fmtError(i.message,"createReadStream",i.code)}finally{Mt(this,n,"createReadStreame")}}createWriteStream(e,r){let n;try{return n=zt(this,"createWriteStream"),fr(this,"createWriteStream"),this.sftp.createWriteStream(e,r)}catch(i){throw i.custom?i:this.fmtError(i.message,"createWriteStream",i.code)}finally{Mt(this,n,"createWriteStream")}}_rcopy(e,r){return new Promise((n,i)=>{let o=this.sftp.createWriteStream(r),s=this.sftp.createReadStream(e);o.on("error",a=>{i(this.fmtError(`${a.message} ${r}`,"_rcopy"))}),s.on("error",a=>{i(this.fmtError(`${a.message} ${e}`,"_rcopy"))}),o.on("close",()=>{n(`${e} copied to ${r}`)}),s.pipe(o)})}async rcopy(e,r){let n;try{n=zt(this,"rcopy"),fr(this,"rcopy");let i=await $s(this,e),o=await this.exists(i);if(!o)throw this.fmtError(`Source does not exist ${i}`,"rcopy",$t.badPath);if(o!=="-")throw this.fmtError(`Source not a file ${i}`,"rcopy",$t.badPath);let s=await $s(this,r);if(await this.exists(s))throw this.fmtError(`Destination already exists ${s}`,"rcopy",$t.badPath);return this._rcopy(i,s)}catch(i){throw i.custom?i:this.fmtError(i,"rcopy")}finally{Mt(this,n,"rcopy")}}end(){let e,r;return new Promise((n,i)=>{r=zt(this,"end",i),this.endCalled=!0,e=c(()=>{this.sftp=void 0,this.debugMsg("end: Connection closed"),n(!0)},"endCloseHandler"),this.on("close",e),this.sftp?this.client.end():(this.debugMsg("end: Called when no connection active"),n(!0))}).finally(()=>{Mt(this,r,"end"),this.removeListener("close",e),this.endCalled=!1})}};hE.exports=od});var PE=le((sd,ad)=>{(function(t,e){typeof sd=="object"&&typeof ad<"u"?ad.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(sd,(function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",o="minute",s="hour",a="day",u="week",l="month",d="quarter",p="year",g="date",h="Invalid Date",_=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,A=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:c(function(L){var T=["th","st","nd","rd"],F=L%100;return"["+L+(T[(F-20)%10]||T[F]||T[0])+"]"},"ordinal")},I=c(function(L,T,F){var j=String(L);return!j||j.length>=T?L:""+Array(T+1-j.length).join(F)+L},"m"),w={s:I,z:c(function(L){var T=-L.utcOffset(),F=Math.abs(T),j=Math.floor(F/60),B=F%60;return(T<=0?"+":"-")+I(j,2,"0")+":"+I(B,2,"0")},"z"),m:c(function L(T,F){if(T.date()<F.date())return-L(F,T);var j=12*(F.year()-T.year())+(F.month()-T.month()),B=T.clone().add(j,l),G=F-B<0,ee=T.clone().add(j+(G?-1:1),l);return+(-(j+(F-B)/(G?B-ee:ee-B))||0)},"t"),a:c(function(L){return L<0?Math.ceil(L)||0:Math.floor(L)},"a"),p:c(function(L){return{M:l,y:p,w:u,d:a,D:g,h:s,m:o,s:i,ms:n,Q:d}[L]||String(L||"").toLowerCase().replace(/s$/,"")},"p"),u:c(function(L){return L===void 0},"u")},H="en",$={};$[H]=b;var X=c(function(L){return L instanceof k},"p"),Z=c(function L(T,F,j){var B;if(!T)return H;if(typeof T=="string"){var G=T.toLowerCase();$[G]&&(B=G),F&&($[G]=F,B=G);var ee=T.split("-");if(!B&&ee.length>1)return L(ee[0])}else{var C=T.name;$[C]=T,B=C}return!j&&B&&(H=B),B||!j&&H},"t"),Y=c(function(L,T){if(X(L))return L.clone();var F=typeof T=="object"?T:{};return F.date=L,F.args=arguments,new k(F)},"w"),P=w;P.l=Z,P.i=X,P.w=function(L,T){return Y(L,{locale:T.$L,utc:T.$u,x:T.$x,$offset:T.$offset})};var k=(function(){function L(F){this.$L=Z(F.locale,null,!0),this.parse(F)}c(L,"M");var T=L.prototype;return T.parse=function(F){this.$d=(function(j){var B=j.date,G=j.utc;if(B===null)return new Date(NaN);if(P.u(B))return new Date;if(B instanceof Date)return new Date(B);if(typeof B=="string"&&!/Z$/i.test(B)){var ee=B.match(_);if(ee){var C=ee[2]-1||0,W=(ee[7]||"0").substring(0,3);return G?new Date(Date.UTC(ee[1],C,ee[3]||1,ee[4]||0,ee[5]||0,ee[6]||0,W)):new Date(ee[1],C,ee[3]||1,ee[4]||0,ee[5]||0,ee[6]||0,W)}}return new Date(B)})(F),this.$x=F.x||{},this.init()},T.init=function(){var F=this.$d;this.$y=F.getFullYear(),this.$M=F.getMonth(),this.$D=F.getDate(),this.$W=F.getDay(),this.$H=F.getHours(),this.$m=F.getMinutes(),this.$s=F.getSeconds(),this.$ms=F.getMilliseconds()},T.$utils=function(){return P},T.isValid=function(){return this.$d.toString()!==h},T.isSame=function(F,j){var B=Y(F);return this.startOf(j)<=B&&B<=this.endOf(j)},T.isAfter=function(F,j){return Y(F)<this.startOf(j)},T.isBefore=function(F,j){return this.endOf(j)<Y(F)},T.$g=function(F,j,B){return P.u(F)?this[j]:this.set(B,F)},T.unix=function(){return Math.floor(this.valueOf()/1e3)},T.valueOf=function(){return this.$d.getTime()},T.startOf=function(F,j){var B=this,G=!!P.u(j)||j,ee=P.p(F),C=c(function(Ct,Xt){var yr=P.w(B.$u?Date.UTC(B.$y,Xt,Ct):new Date(B.$y,Xt,Ct),B);return G?yr:yr.endOf(a)},"l"),W=c(function(Ct,Xt){return P.w(B.toDate()[Ct].apply(B.toDate("s"),(G?[0,0,0,0]:[23,59,59,999]).slice(Xt)),B)},"$"),q=this.$W,J=this.$M,ue=this.$D,me="set"+(this.$u?"UTC":"");switch(ee){case p:return G?C(1,0):C(31,11);case l:return G?C(1,J):C(0,J+1);case u:var he=this.$locale().weekStart||0,bt=(q<he?q+7:q)-he;return C(G?ue-bt:ue+(6-bt),J);case a:case g:return W(me+"Hours",0);case s:return W(me+"Minutes",1);case o:return W(me+"Seconds",2);case i:return W(me+"Milliseconds",3);default:return this.clone()}},T.endOf=function(F){return this.startOf(F,!1)},T.$set=function(F,j){var B,G=P.p(F),ee="set"+(this.$u?"UTC":""),C=(B={},B[a]=ee+"Date",B[g]=ee+"Date",B[l]=ee+"Month",B[p]=ee+"FullYear",B[s]=ee+"Hours",B[o]=ee+"Minutes",B[i]=ee+"Seconds",B[n]=ee+"Milliseconds",B)[G],W=G===a?this.$D+(j-this.$W):j;if(G===l||G===p){var q=this.clone().set(g,1);q.$d[C](W),q.init(),this.$d=q.set(g,Math.min(this.$D,q.daysInMonth())).$d}else C&&this.$d[C](W);return this.init(),this},T.set=function(F,j){return this.clone().$set(F,j)},T.get=function(F){return this[P.p(F)]()},T.add=function(F,j){var B,G=this;F=Number(F);var ee=P.p(j),C=c(function(J){var ue=Y(G);return P.w(ue.date(ue.date()+Math.round(J*F)),G)},"y");if(ee===l)return this.set(l,this.$M+F);if(ee===p)return this.set(p,this.$y+F);if(ee===a)return C(1);if(ee===u)return C(7);var W=(B={},B[o]=e,B[s]=r,B[i]=t,B)[ee]||1,q=this.$d.getTime()+F*W;return P.w(q,this)},T.subtract=function(F,j){return this.add(-1*F,j)},T.format=function(F){var j=this,B=this.$locale();if(!this.isValid())return B.invalidDate||h;var G=F||"YYYY-MM-DDTHH:mm:ssZ",ee=P.z(this),C=this.$H,W=this.$m,q=this.$M,J=B.weekdays,ue=B.months,me=B.meridiem,he=c(function(Xt,yr,Dr,vr){return Xt&&(Xt[yr]||Xt(j,G))||Dr[yr].slice(0,vr)},"h"),bt=c(function(Xt){return P.s(C%12||12,Xt,"0")},"d"),Ct=me||function(Xt,yr,Dr){var vr=Xt<12?"AM":"PM";return Dr?vr.toLowerCase():vr};return G.replace(A,(function(Xt,yr){return yr||(function(Dr){switch(Dr){case"YY":return String(j.$y).slice(-2);case"YYYY":return P.s(j.$y,4,"0");case"M":return q+1;case"MM":return P.s(q+1,2,"0");case"MMM":return he(B.monthsShort,q,ue,3);case"MMMM":return he(ue,q);case"D":return j.$D;case"DD":return P.s(j.$D,2,"0");case"d":return String(j.$W);case"dd":return he(B.weekdaysMin,j.$W,J,2);case"ddd":return he(B.weekdaysShort,j.$W,J,3);case"dddd":return J[j.$W];case"H":return String(C);case"HH":return P.s(C,2,"0");case"h":return bt(1);case"hh":return bt(2);case"a":return Ct(C,W,!0);case"A":return Ct(C,W,!1);case"m":return String(W);case"mm":return P.s(W,2,"0");case"s":return String(j.$s);case"ss":return P.s(j.$s,2,"0");case"SSS":return P.s(j.$ms,3,"0");case"Z":return ee}return null})(Xt)||ee.replace(":","")}))},T.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},T.diff=function(F,j,B){var G,ee=this,C=P.p(j),W=Y(F),q=(W.utcOffset()-this.utcOffset())*e,J=this-W,ue=c(function(){return P.m(ee,W)},"D");switch(C){case p:G=ue()/12;break;case l:G=ue();break;case d:G=ue()/3;break;case u:G=(J-q)/6048e5;break;case a:G=(J-q)/864e5;break;case s:G=J/r;break;case o:G=J/e;break;case i:G=J/t;break;default:G=J}return B?G:P.a(G)},T.daysInMonth=function(){return this.endOf(l).$D},T.$locale=function(){return $[this.$L]},T.locale=function(F,j){if(!F)return this.$L;var B=this.clone(),G=Z(F,j,!0);return G&&(B.$L=G),B},T.clone=function(){return P.w(this.$d,this)},T.toDate=function(){return new Date(this.valueOf())},T.toJSON=function(){return this.isValid()?this.toISOString():null},T.toISOString=function(){return this.$d.toISOString()},T.toString=function(){return this.$d.toUTCString()},L})(),M=k.prototype;return Y.prototype=M,[["$ms",n],["$s",i],["$m",o],["$H",s],["$W",a],["$M",l],["$y",p],["$D",g]].forEach((function(L){M[L[1]]=function(T){return this.$g(T,L[0],L[1])}})),Y.extend=function(L,T){return L.$i||(L(T,k,Y),L.$i=!0),Y},Y.locale=Z,Y.isDayjs=X,Y.unix=function(L){return Y(1e3*L)},Y.en=$[H],Y.Ls=$,Y.p={},Y}))});var z1={};fd(z1,{endClient:()=>Zt,ftpSftp:()=>L1,getClient:()=>Ft,getProtocolBackwardCompatibility:()=>Dt});module.exports=KE(z1);var GE=Object.freeze({status:"aborted"});function xe(t,e,r){function n(a,u){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:u,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(t))return;a._zod.traits.add(t),e(a,u);let l=s.prototype,d=Object.keys(l);for(let p=0;p<d.length;p++){let g=d[p];g in a||(a[g]=l[g].bind(a))}}c(n,"init");let i=r?.Parent??Object;class o extends i{static{c(this,"Definition")}}Object.defineProperty(o,"name",{value:t});function s(a){var u;let l=r?.Parent?new o:this;n(l,a),(u=l._zod).deferred??(u.deferred=[]);for(let d of l._zod.deferred)d();return l}return c(s,"_"),Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:c(a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t),"value")}),Object.defineProperty(s,"name",{value:t}),s}c(xe,"$constructor");var Xr=class extends Error{static{c(this,"$ZodAsyncError")}constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ls=class extends Error{static{c(this,"$ZodEncodeError")}constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},Nc={};function fn(t){return t&&Object.assign(Nc,t),Nc}c(fn,"config");function $c(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}c($c,"getEnumValues");function hd(t,e){return typeof e=="bigint"?e.toString():e}c(hd,"jsonStringifyReplacer");function Ms(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}c(Ms,"cached");function gd(t){return t==null}c(gd,"nullish");function Fs(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}c(Fs,"cleanRegex");var pd=Symbol("evaluating");function er(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==pd)return n===void 0&&(n=pd,n=r()),n},set(i){Object.defineProperty(t,e,{value:i})},configurable:!0})}c(er,"defineLazy");var Dc="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function bo(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}c(bo,"isObject");var ZE=Ms(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function md(t){if(bo(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(bo(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}c(md,"isPlainObject");var _d=new Set(["string","number","symbol"]);function wi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}c(wi,"escapeRegex");function Hs(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}c(Hs,"clone");function Rt(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:c(()=>e,"error")};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:c(()=>e.error,"error")}:e}c(Rt,"normalizeParams");function yd(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}c(yd,"optionalKeys");var Ed={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Pi(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}c(Pi,"aborted");function wn(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}c(wn,"prefixIssues");function zs(t){return typeof t=="string"?t:t?.message}c(zs,"unwrapMessage");function Pn(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let i=zs(t.inst?._zod.def?.error?.(t))??zs(e?.error?.(t))??zs(r.customError?.(t))??zs(r.localeError?.(t))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}c(Pn,"finalizeIssue");function Ad(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}c(Ad,"getLengthableOrigin");function Bc(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}c(Bc,"issue");var bd=c((t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,hd,2),Object.defineProperty(t,"toString",{value:c(()=>t.message,"value"),enumerable:!1})},"initializer"),xd=xe("$ZodError",bd),xo=xe("$ZodError",bd,{Parent:Error});var XE=c(t=>(e,r,n,i)=>{let o=n?Object.assign(n,{async:!1}):{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Xr;if(s.issues.length){let a=new(i?.Err??t)(s.issues.map(u=>Pn(u,o,fn())));throw Dc(a,i?.callee),a}return s.value},"_parse"),js=XE(xo),JE=c(t=>async(e,r,n,i)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(i?.Err??t)(s.issues.map(u=>Pn(u,o,fn())));throw Dc(a,i?.callee),a}return s.value},"_parseAsync"),Ws=JE(xo),eA=c(t=>(e,r,n)=>{let i=n?{...n,async:!1}:{async:!1},o=e._zod.run({value:r,issues:[]},i);if(o instanceof Promise)throw new Xr;return o.issues.length?{success:!1,error:new(t??xd)(o.issues.map(s=>Pn(s,i,fn())))}:{success:!0,data:o.value}},"_safeParse"),Io=eA(xo),tA=c(t=>async(e,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},o=e._zod.run({value:r,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new t(o.issues.map(s=>Pn(s,i,fn())))}:{success:!0,data:o.value}},"_safeParseAsync"),vo=tA(xo);var rA="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",nA=new RegExp(`^${rA}$`);var Id=c(t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},"string"),vd=/^-?\d+n?$/,Sd=/^-?\d+$/,Uc=/^-?\d+(?:\.\d+)?$/,wd=/^(?:true|false)$/i;var Tn=xe("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),iA={number:"number",bigint:"bigint",object:"date"};var Pd=xe("$ZodCheckGreaterThan",(t,e)=>{Tn.init(t,e);let r=iA[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,o=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>o&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}});var Td=xe("$ZodCheckNumberFormat",(t,e)=>{Tn.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[i,o]=Ed[e.format];t._zod.onattach.push(s=>{let a=s._zod.bag;a.format=e.format,a.minimum=i,a.maximum=o,r&&(a.pattern=Sd)}),t._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}a<i&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:i,inclusive:!0,inst:t,continue:!e.abort}),a>o&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:o,inclusive:!0,inst:t,continue:!e.abort})}});var kd=xe("$ZodCheckMinLength",(t,e)=>{var r;Tn.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!gd(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;if(i.length>=e.minimum)return;let s=Ad(i);n.issues.push({origin:s,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}});var Lc=xe("$ZodCheckStringFormat",(t,e)=>{var r,n;Tn.init(t,e),t._zod.onattach.push(i=>{let o=i._zod.bag;o.format=e.format,e.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Cd=xe("$ZodCheckRegex",(t,e)=>{Lc.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}});var Nd={major:4,minor:3,patch:6};var Vt=xe("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Nd;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let i of n)for(let o of i._zod.onattach)o(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let i=c((s,a,u)=>{let l=Pi(s),d;for(let p of a){if(p._zod.def.when){if(!p._zod.def.when(s))continue}else if(l)continue;let g=s.issues.length,h=p._zod.check(s);if(h instanceof Promise&&u?.async===!1)throw new Xr;if(d||h instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await h,s.issues.length!==g&&(l||(l=Pi(s,g)))});else{if(s.issues.length===g)continue;l||(l=Pi(s,g))}}return d?d.then(()=>s):s},"runChecks"),o=c((s,a,u)=>{if(Pi(s))return s.aborted=!0,s;let l=i(a,n,u);if(l instanceof Promise){if(u.async===!1)throw new Xr;return l.then(d=>t._zod.parse(d,u))}return t._zod.parse(l,u)},"handleCanaryResult");t._zod.run=(s,a)=>{if(a.skipChecks)return t._zod.parse(s,a);if(a.direction==="backward"){let l=t._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});return l instanceof Promise?l.then(d=>o(d,s,a)):o(l,s,a)}let u=t._zod.parse(s,a);if(u instanceof Promise){if(a.async===!1)throw new Xr;return u.then(l=>i(l,n,a))}return i(u,n,a)}}er(t,"~standard",()=>({validate:c(i=>{try{let o=Io(t,i);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return vo(t,i).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},"validate"),vendor:"zod",version:1}))}),Vs=xe("$ZodString",(t,e)=>{Vt.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Id(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),zc=xe("$ZodStringFormat",(t,e)=>{Lc.init(t,e),Vs.init(t,e)});var Ud=xe("$ZodURL",(t,e)=>{zc.init(t,e),t._zod.check=r=>{try{let n=r.value.trim(),i=new URL(n);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=i.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}});var Mc=xe("$ZodNumber",(t,e)=>{Vt.init(t,e),t._zod.pattern=t._zod.bag.pattern??Uc,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let o=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:t,...o?{received:o}:{}}),r}}),Ld=xe("$ZodNumberFormat",(t,e)=>{Td.init(t,e),Mc.init(t,e)}),Fc=xe("$ZodBoolean",(t,e)=>{Vt.init(t,e),t._zod.pattern=wd,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:t}),r}}),zd=xe("$ZodBigInt",(t,e)=>{Vt.init(t,e),t._zod.pattern=vd,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:t}),r}});var Md=xe("$ZodAny",(t,e)=>{Vt.init(t,e),t._zod.parse=r=>r}),Fd=xe("$ZodUnknown",(t,e)=>{Vt.init(t,e),t._zod.parse=r=>r});var Hd=xe("$ZodVoid",(t,e)=>{Vt.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"void",code:"invalid_type",input:i,inst:t}),r}}),jd=xe("$ZodDate",(t,e)=>{Vt.init(t,e),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let i=r.value,o=i instanceof Date;return o&&!Number.isNaN(i.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:i,...o?{received:"Invalid Date"}:{},inst:t}),r}});function Od(t,e,r){t.issues.length&&e.issues.push(...wn(r,t.issues)),e.value[r]=t.value}c(Od,"handleArrayResult");var Wd=xe("$ZodArray",(t,e)=>{Vt.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:t}),r;r.value=Array(i.length);let o=[];for(let s=0;s<i.length;s++){let a=i[s],u=e.element._zod.run({value:a,issues:[]},n);u instanceof Promise?o.push(u.then(l=>Od(l,r,s))):Od(u,r,s)}return o.length?Promise.all(o).then(()=>r):r}});function Qs(t,e,r,n,i){if(t.issues.length){if(i&&!(r in n))return;e.issues.push(...wn(r,t.issues))}t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}c(Qs,"handlePropertyResult");function oA(t){let e=Object.keys(t.shape);for(let n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=yd(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}c(oA,"normalizeDef");function sA(t,e,r,n,i,o){let s=[],a=i.keySet,u=i.catchall._zod,l=u.def.type,d=u.optout==="optional";for(let p in e){if(a.has(p))continue;if(l==="never"){s.push(p);continue}let g=u.run({value:e[p],issues:[]},n);g instanceof Promise?t.push(g.then(h=>Qs(h,r,p,e,d))):Qs(g,r,p,e,d)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:e,inst:o}),t.length?Promise.all(t).then(()=>r):r}c(sA,"handleCatchall");var qd=xe("$ZodObject",(t,e)=>{if(Vt.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let a=e.shape;Object.defineProperty(e,"shape",{get:c(()=>{let u={...a};return Object.defineProperty(e,"shape",{value:u}),u},"get")})}let n=Ms(()=>oA(e));er(t._zod,"propValues",()=>{let a=e.shape,u={};for(let l in a){let d=a[l]._zod;if(d.values){u[l]??(u[l]=new Set);for(let p of d.values)u[l].add(p)}}return u});let i=bo,o=e.catchall,s;t._zod.parse=(a,u)=>{s??(s=n.value);let l=a.value;if(!i(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:t}),a;a.value={};let d=[],p=s.shape;for(let g of s.keys){let h=p[g],_=h._zod.optout==="optional",A=h._zod.run({value:l[g],issues:[]},u);A instanceof Promise?d.push(A.then(b=>Qs(b,a,g,l,_))):Qs(A,a,g,l,_)}return o?sA(d,l,a,u,n.value,t):d.length?Promise.all(d).then(()=>a):a}});function $d(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;let i=t.filter(o=>!Pi(o));return i.length===1?(e.value=i[0].value,i[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>Pn(s,n,fn())))}),e)}c($d,"handleUnionResults");var Hc=xe("$ZodUnion",(t,e)=>{Vt.init(t,e),er(t._zod,"optin",()=>e.options.some(i=>i._zod.optin==="optional")?"optional":void 0),er(t._zod,"optout",()=>e.options.some(i=>i._zod.optout==="optional")?"optional":void 0),er(t._zod,"values",()=>{if(e.options.every(i=>i._zod.values))return new Set(e.options.flatMap(i=>Array.from(i._zod.values)))}),er(t._zod,"pattern",()=>{if(e.options.every(i=>i._zod.pattern)){let i=e.options.map(o=>o._zod.pattern);return new RegExp(`^(${i.map(o=>Fs(o.source)).join("|")})$`)}});let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,o)=>{if(r)return n(i,o);let s=!1,a=[];for(let u of e.options){let l=u._zod.run({value:i.value,issues:[]},o);if(l instanceof Promise)a.push(l),s=!0;else{if(l.issues.length===0)return l;a.push(l)}}return s?Promise.all(a).then(u=>$d(u,i,t,o)):$d(a,i,t,o)}});var Qd=xe("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,Hc.init(t,e);let r=t._zod.parse;er(t._zod,"propValues",()=>{let i={};for(let o of e.options){let s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let[a,u]of Object.entries(s)){i[a]||(i[a]=new Set);for(let l of u)i[a].add(l)}}return i});let n=Ms(()=>{let i=e.options,o=new Map;for(let s of i){let a=s._zod.propValues?.[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let u of a){if(o.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);o.set(u,s)}}return o});t._zod.parse=(i,o)=>{let s=i.value;if(!bo(s))return i.issues.push({code:"invalid_type",expected:"object",input:s,inst:t}),i;let a=n.value.get(s?.[e.discriminator]);return a?a._zod.run(i,o):e.unionFallback?r(i,o):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:s,path:[e.discriminator],inst:t}),i)}});var Vd=xe("$ZodRecord",(t,e)=>{Vt.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!md(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:t}),r;let o=[],s=e.keyType._zod.values;if(s){r.value={};let a=new Set;for(let l of s)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){a.add(typeof l=="number"?l.toString():l);let d=e.valueType._zod.run({value:i[l],issues:[]},n);d instanceof Promise?o.push(d.then(p=>{p.issues.length&&r.issues.push(...wn(l,p.issues)),r.value[l]=p.value})):(d.issues.length&&r.issues.push(...wn(l,d.issues)),r.value[l]=d.value)}let u;for(let l in i)a.has(l)||(u=u??[],u.push(l));u&&u.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:t,keys:u})}else{r.value={};for(let a of Reflect.ownKeys(i)){if(a==="__proto__")continue;let u=e.keyType._zod.run({value:a,issues:[]},n);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&Uc.test(a)&&u.issues.length){let p=e.keyType._zod.run({value:Number(a),issues:[]},n);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(u=p)}if(u.issues.length){e.mode==="loose"?r.value[a]=i[a]:r.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(p=>Pn(p,n,fn())),input:a,path:[a],inst:t});continue}let d=e.valueType._zod.run({value:i[a],issues:[]},n);d instanceof Promise?o.push(d.then(p=>{p.issues.length&&r.issues.push(...wn(a,p.issues)),r.value[u.value]=p.value})):(d.issues.length&&r.issues.push(...wn(a,d.issues)),r.value[u.value]=d.value)}}return o.length?Promise.all(o).then(()=>r):r}});var Kd=xe("$ZodEnum",(t,e)=>{Vt.init(t,e);let r=$c(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(i=>_d.has(typeof i)).map(i=>typeof i=="string"?wi(i):i.toString()).join("|")})$`),t._zod.parse=(i,o)=>{let s=i.value;return n.has(s)||i.issues.push({code:"invalid_value",values:r,input:s,inst:t}),i}}),Gd=xe("$ZodLiteral",(t,e)=>{if(Vt.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?wi(n):n?wi(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,i)=>{let o=n.value;return r.has(o)||n.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),n}});var Zd=xe("$ZodTransform",(t,e)=>{Vt.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ls(t.constructor.name);let i=e.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(s=>(r.value=s,r));if(i instanceof Promise)throw new Xr;return r.value=i,r}});function Dd(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}c(Dd,"handleOptionalResult");var Yd=xe("$ZodOptional",(t,e)=>{Vt.init(t,e),t._zod.optin="optional",t._zod.optout="optional",er(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),er(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Fs(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(o=>Dd(o,r.value)):Dd(i,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,n)}});var Xd=xe("$ZodNullable",(t,e)=>{Vt.init(t,e),er(t._zod,"optin",()=>e.innerType._zod.optin),er(t._zod,"optout",()=>e.innerType._zod.optout),er(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Fs(r.source)}|null)$`):void 0}),er(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)});var Jd=xe("$ZodPipe",(t,e)=>{Vt.init(t,e),er(t._zod,"values",()=>e.in._zod.values),er(t._zod,"optin",()=>e.in._zod.optin),er(t._zod,"optout",()=>e.out._zod.optout),er(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let o=e.out._zod.run(r,n);return o instanceof Promise?o.then(s=>qs(s,e.in,n)):qs(o,e.in,n)}let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(o=>qs(o,e.out,n)):qs(i,e.out,n)}});function qs(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}c(qs,"handlePipeResult");var ep=xe("$ZodCustom",(t,e)=>{Tn.init(t,e),Vt.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,i=e.fn(n);if(i instanceof Promise)return i.then(o=>Bd(o,r,n,t));Bd(i,r,n,t)}});function Bd(t,e,r,n){if(!t){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),e.issues.push(Bc(i))}}c(Bd,"handleRefineResult");var rp;var jc=class{static{c(this,"$ZodRegistry")}constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function np(){return new jc}c(np,"registry");(rp=globalThis).__zod_globalRegistry??(rp.__zod_globalRegistry=np());var Wc=globalThis.__zod_globalRegistry;function ip(t,e){return new t({type:"string",...Rt(e)})}c(ip,"_string");function op(t,e){return new t({type:"string",coerce:!0,...Rt(e)})}c(op,"_coercedString");function sp(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...Rt(e)})}c(sp,"_url");function ap(t,e){return new t({type:"number",checks:[],...Rt(e)})}c(ap,"_number");function cp(t,e){return new t({type:"number",coerce:!0,checks:[],...Rt(e)})}c(cp,"_coercedNumber");function up(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...Rt(e)})}c(up,"_int");function lp(t,e){return new t({type:"boolean",...Rt(e)})}c(lp,"_boolean");function fp(t,e){return new t({type:"boolean",coerce:!0,...Rt(e)})}c(fp,"_coercedBoolean");function dp(t,e){return new t({type:"bigint",coerce:!0,...Rt(e)})}c(dp,"_coercedBigint");function pp(t){return new t({type:"any"})}c(pp,"_any");function hp(t){return new t({type:"unknown"})}c(hp,"_unknown");function gp(t,e){return new t({type:"void",...Rt(e)})}c(gp,"_void");function mp(t,e){return new t({type:"date",coerce:!0,...Rt(e)})}c(mp,"_coercedDate");function Ks(t,e){return new Pd({check:"greater_than",...Rt(e),value:t,inclusive:!0})}c(Ks,"_gte");function qr(t,e){return new kd({check:"min_length",...Rt(e),minimum:t})}c(qr,"_minLength");function kn(t,e){return new Cd({check:"string_format",format:"regex",...Rt(e),pattern:t})}c(kn,"_regex");function _p(t,e,r){let n=Rt(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}c(_p,"_custom");var tr=xe("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");Vt.init(t,e),t.def=e,t.type=e.type,t.parse=(r,n)=>js(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Io(t,r,n),t.parseAsync=async(r,n)=>Ws(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>vo(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]},{parent:!0}),t.with=t.check,t.clone=(r,n)=>Hs(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.apply=r=>r(t)}),Zs=xe("ZodMiniString",(t,e)=>{Vs.init(t,e),tr.init(t,e)});function v(t){return ip(Zs,t)}c(v,"string");var yp=xe("ZodMiniStringFormat",(t,e)=>{zc.init(t,e),Zs.init(t,e)});var EA=xe("ZodMiniURL",(t,e)=>{Ud.init(t,e),yp.init(t,e)});function Ep(t){return sp(EA,t)}c(Ep,"url");var Ys=xe("ZodMiniNumber",(t,e)=>{Mc.init(t,e),tr.init(t,e)});function Ar(t){return ap(Ys,t)}c(Ar,"number");var AA=xe("ZodMiniNumberFormat",(t,e)=>{Ld.init(t,e),Ys.init(t,e)});function Ap(t){return up(AA,t)}c(Ap,"int");var qc=xe("ZodMiniBoolean",(t,e)=>{Fc.init(t,e),tr.init(t,e)});function It(t){return lp(qc,t)}c(It,"boolean");var bp=xe("ZodMiniBigInt",(t,e)=>{zd.init(t,e),tr.init(t,e)});var bA=xe("ZodMiniAny",(t,e)=>{Md.init(t,e),tr.init(t,e)});function wo(){return pp(bA)}c(wo,"any");var xA=xe("ZodMiniUnknown",(t,e)=>{Fd.init(t,e),tr.init(t,e)});function We(){return hp(xA)}c(We,"unknown");var IA=xe("ZodMiniVoid",(t,e)=>{Hd.init(t,e),tr.init(t,e)});function xp(t){return gp(IA,t)}c(xp,"_void");var Ip=xe("ZodMiniDate",(t,e)=>{jd.init(t,e),tr.init(t,e)});var vA=xe("ZodMiniArray",(t,e)=>{Wd.init(t,e),tr.init(t,e)});function Xe(t,e){return new vA({type:"array",element:t,...Rt(e)})}c(Xe,"array");var SA=xe("ZodMiniObject",(t,e)=>{qd.init(t,e),tr.init(t,e),er(t,"shape",()=>e.shape)});function D(t,e){let r={type:"object",shape:t??{},...Rt(e)};return new SA(r)}c(D,"object");var wA=xe("ZodMiniUnion",(t,e)=>{Hc.init(t,e),tr.init(t,e)});function Je(t,e){return new wA({type:"union",options:t,...Rt(e)})}c(Je,"union");var PA=xe("ZodMiniDiscriminatedUnion",(t,e)=>{Qd.init(t,e),tr.init(t,e)});function Cn(t,e,r){return new PA({type:"union",options:e,discriminator:t,...Rt(r)})}c(Cn,"discriminatedUnion");var TA=xe("ZodMiniRecord",(t,e)=>{Vd.init(t,e),tr.init(t,e)});function qe(t,e,r){return new TA({type:"record",keyType:t,valueType:e,...Rt(r)})}c(qe,"record");var kA=xe("ZodMiniEnum",(t,e)=>{Kd.init(t,e),tr.init(t,e),t.options=Object.values(e.entries)});function ot(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new kA({type:"enum",entries:r,...Rt(e)})}c(ot,"_enum");var CA=xe("ZodMiniLiteral",(t,e)=>{Gd.init(t,e),tr.init(t,e)});function Ce(t,e){return new CA({type:"literal",values:Array.isArray(t)?t:[t],...Rt(e)})}c(Ce,"literal");var RA=xe("ZodMiniTransform",(t,e)=>{Zd.init(t,e),tr.init(t,e)});function Rn(t){return new RA({type:"transform",transform:t})}c(Rn,"transform");var NA=xe("ZodMiniOptional",(t,e)=>{Yd.init(t,e),tr.init(t,e)});function oe(t){return new NA({type:"optional",innerType:t})}c(oe,"optional");var OA=xe("ZodMiniNullable",(t,e)=>{Xd.init(t,e),tr.init(t,e)});function Po(t){return new OA({type:"nullable",innerType:t})}c(Po,"nullable");var $A=xe("ZodMiniPipe",(t,e)=>{Jd.init(t,e),tr.init(t,e)});function Nn(t,e){return new $A({type:"pipe",in:t,out:e})}c(Nn,"pipe");var DA=xe("ZodMiniCustom",(t,e)=>{ep.init(t,e),tr.init(t,e)});function Xs(t,e){return _p(DA,t??(()=>!0),e)}c(Xs,"custom");var To={};fd(To,{bigint:()=>FA,boolean:()=>MA,date:()=>HA,number:()=>zA,string:()=>LA});function LA(t){return op(Zs,t)}c(LA,"string");function zA(t){return cp(Ys,t)}c(zA,"number");function MA(t){return fp(qc,t)}c(MA,"boolean");function FA(t){return dp(bp,t)}c(FA,"bigint");function HA(t){return mp(Ip,t)}c(HA,"date");var Vc=D({retryOnFailure:D({defaultValue:oe(It()),hide:oe(It())}),continueOnFailure:D({defaultValue:oe(It()),hide:oe(It())})}),Qc=class{constructor(e,r,n,i,o,s,a,u,l,d,p){this.name=e;this.displayName=r;this.description=n;this.props=i;this.run=o;this.test=s;this.requireAuth=a;this.errorHandlingOptions=u;this.outputSchema=l;this.audience=d;this.aiMetadata=p}static{c(this,"IAction")}},gr=c(t=>new Qc(t.name,t.displayName,t.description,t.props,t.run,t.test??t.run,t.requireAuth??!0,t.errorHandlingOptions??{continueOnFailure:{defaultValue:!1},retryOnFailure:{defaultValue:!1}},t.outputSchema,t.audience,t.aiMetadata),"createAction");var At=D({displayName:v(),description:oe(v())}),tt=c((t,e)=>D({type:Ce(e),required:It(),defaultValue:oe(wo())}),"TPropertyValue");var Rr=D({...At.shape,...tt(v(),"SHORT_TEXT").shape}),dn=D({...At.shape,...tt(v(),"LONG_TEXT").shape});var Sp=D({label:v(),value:We()}),Js=D({disabled:oe(It()),placeholder:oe(v()),options:Xe(Sp)});var Nr=D({...At.shape,options:Js,...tt(We(),"STATIC_DROPDOWN").shape}),pn=D({...At.shape,options:Js,...tt(Xe(We()),"STATIC_MULTI_SELECT_DROPDOWN").shape});var Kc=D({...At.shape,...tt(We(),"DROPDOWN").shape,refreshers:Xe(v())}),ko=D({...At.shape,...tt(Xe(We()),"MULTI_SELECT_DROPDOWN").shape,refreshers:Xe(v())});var hn=D({...At.shape,...tt(It(),"CHECKBOX").shape});var gn=D({...At.shape,...tt(Ar(),"NUMBER").shape});var Co=D({...At.shape,streaming:oe(It()),...tt(We(),"FILE").shape});var Ro=D({...At.shape,...tt(v(),"DATE_TIME").shape});var wp=qe(v(),Je([Rr,dn,Nr,ko,pn,hn,gn,Co,Ro])),No=D({...At.shape,properties:wp,...tt(Xe(We()),"ARRAY").shape});var Oo=D({...At.shape,...tt(Je([qe(v(),We())]),"JSON").shape});var Pp=Je([Rr,Nr,Oo,No,pn]),WA=qe(v(),Pp),Gc=D({refreshers:Xe(v()),...At.shape,...tt(We(),"DYNAMIC").shape});var ea=D({...At.shape,...tt(xp(),"MARKDOWN").shape});var $o=(r=>(r.ARCHIVE="ARCHIVE",r.REGISTRY="REGISTRY",r))($o||{}),Ti=(r=>(r.CUSTOM="CUSTOM",r.OFFICIAL="OFFICIAL",r))(Ti||{}),ki=(I=>(I.ARTIFICIAL_INTELLIGENCE="ARTIFICIAL_INTELLIGENCE",I.COMMUNICATION="COMMUNICATION",I.COMMERCE="COMMERCE",I.CORE="CORE",I.UNIVERSAL_AI="UNIVERSAL_AI",I.FLOW_CONTROL="FLOW_CONTROL",I.BUSINESS_INTELLIGENCE="BUSINESS_INTELLIGENCE",I.ACCOUNTING="ACCOUNTING",I.PRODUCTIVITY="PRODUCTIVITY",I.CONTENT_AND_FILES="CONTENT_AND_FILES",I.DEVELOPER_TOOLS="DEVELOPER_TOOLS",I.CUSTOMER_SUPPORT="CUSTOMER_SUPPORT",I.FORMS_AND_SURVEYS="FORMS_AND_SURVEYS",I.HUMAN_RESOURCES="HUMAN_RESOURCES",I.PAYMENT_PROCESSING="PAYMENT_PROCESSING",I.MARKETING="MARKETING",I.SALES_AND_CRM="SALES_AND_CRM",I))(ki||{});var Do=(r=>(r.AUTHORIZATION_CODE="authorization_code",r.CLIENT_CREDENTIALS="client_credentials",r))(Do||{}),Zc="both_client_credentials_and_authorization_code";var On=(i=>(i.POLLING="POLLING",i.WEBHOOK="WEBHOOK",i.APP_WEBHOOK="APP_WEBHOOK",i.MANUAL="MANUAL",i))(On||{}),Bo=(o=>(o.NONE="NONE",o.HEADER_PRESENT="HEADER_PRESENT",o.QUERY_PRESENT="QUERY_PRESENT",o.BODY_PARAM_PRESENT="BODY_PARAM_PRESENT",o.HEAD_REQUEST="HEAD_REQUEST",o))(Bo||{}),qA=D({strategy:ot(Bo),paramName:oe(v())}),Uo=(r=>(r.SIMULATION="SIMULATION",r.TEST_FUNCTION="TEST_FUNCTION",r))(Uo||{});var ta=(r=>(r.WEBSOCKET="WEBSOCKET",r.NONE="NONE",r))(ta||{}),Tp=D({status:oe(Ar()),body:oe(We()),headers:oe(qe(v(),v()))}),kp=D({type:Ce("DELAY"),resumeDateTime:v(),requestIdToReply:oe(v()),handlerId:oe(v()),streamStepProgress:oe(ot(ta))}),Cp=D({type:Ce("WEBHOOK"),requestId:v(),requestIdToReply:oe(v()),response:Tp,handlerId:oe(v()),streamStepProgress:oe(ot(ta))}),QA=Je([kp,Cp]);var VA=D({body:We(),rawBody:oe(We()),headers:qe(v(),v()),queryParams:qe(v(),v())});function ar(t){return t==null}c(ar,"isNil");var Yc=Er(require("crypto"),1);var KA=128,ti,Ci,GA=c(t=>{!ti||ti.length<t?(ti=Buffer.allocUnsafe(t*KA),Yc.default.randomFillSync(ti),Ci=0):Ci+t>ti.length&&(Yc.default.randomFillSync(ti),Ci=0),Ci+=t},"fillPool"),ZA=c(t=>(GA(t|=0),ti.subarray(Ci-t,Ci)),"random"),YA=c((t,e,r)=>{let n=(2<<31-Math.clz32(t.length-1|1))-1,i=Math.ceil(1.6*n*e/t.length);return(o=e)=>{let s="";for(;;){let a=r(i),u=i;for(;u--;)if(s+=t[a[u]&n]||"",s.length===o)return s}}},"customRandom"),Np=c((t,e=21)=>YA(t,e,ZA),"customAlphabet");var XA="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Op=21,E6=v().check(kn(new RegExp(`^[0-9a-zA-Z]{${Op}}$`))),JA=Np(XA,Op);var $n=Nn(Rn(t=>t instanceof Date?t.toISOString():t),v()),Ur={id:v(),created:$n,updated:$n},Ut=c(t=>oe(Po(t)),"Nullable");function Xc(t){return oe(Po(ot(t)))}c(Xc,"NullableEnum");var x6=Nn(Rn(t=>t==="true"||t===!0?!0:t==="false"||t===!1?!1:void 0),oe(It())),ra=c(t=>Nn(Rn(e=>Array.isArray(e)?e:e!==void 0?[e]:void 0),oe(Xe(t))),"OptionalArrayFromQuery");var S6=qe(v(),We());var Lo=(d=>(d.OPENAI="openai",d.OPENROUTER="openrouter",d.ANTHROPIC="anthropic",d.AZURE="azure",d.GOOGLE="google",d.ACTIVEPIECES="activepieces",d.CLOUDFLARE_GATEWAY="cloudflare-gateway",d.CUSTOM="custom",d.BEDROCK="bedrock",d.MISTRAL="mistral",d))(Lo||{});var U6=v().check(kn(/^#[0-9A-Fa-f]{6}$/));var z6=D({filename:v(),data:We(),type:Ce("file"),mimetype:oe(v())});var e0=Er(Dp());var Q6=D({...Ur,name:v(),permissions:Xe(v()),platformId:Ut(v()),type:v(),userCount:oe(Ar())});var Bp=(n=>(n.AGENT_DECIDE="agent-decide",n.CHOOSE_YOURSELF="choose-yourself",n.LEAVE_EMPTY="leave-empty",n))(Bp||{}),Jc=(r=>(r.FILE="FILE",r.TABLE="TABLE",r))(Jc||{}),eu=(n=>(n.SSE="sse",n.STREAMABLE_HTTP="streamable-http",n.SIMPLE_HTTP="http",n))(eu||{});var tu=(n=>(n.TEXT="text",n.NUMBER="number",n.BOOLEAN="boolean",n))(tu||{});var ru=(r=>(r.IN_PROGRESS="in-progress",r.COMPLETED="completed",r))(ru||{});var t0=D({mode:ot(Bp),value:We()}),r0=D({auth:oe(v()),fields:qe(v(),t0)}),n0=D({pieceName:v(),pieceVersion:v(),actionName:v(),predefinedInput:oe(r0)}),i0=D({type:Ce("PIECE"),toolName:v().check(qr(1)),pieceMetadata:n0}),o0=D({type:Ce("none")}),s0=D({type:Ce("access_token"),accessToken:v()}),a0=D({type:Ce("api_key"),apiKey:v(),apiKeyHeader:v()}),c0=D({type:Ce("headers"),headers:qe(v(),v())}),u0=Cn("type",[o0,s0,a0,c0]),Up=D({type:Ce("FLOW"),toolName:v().check(qr(1)),externalFlowId:v(),flowDisplayName:oe(v())}),Lp=D({type:Ce("MCP"),toolName:v().check(qr(1)),serverUrl:Ep(),protocol:ot(eu),auth:u0}),zp=D({type:Ce("KNOWLEDGE_BASE"),toolName:v().check(qr(1)),sourceType:ot(Jc),sourceId:v(),sourceName:v()}),l0=Cn("type",[i0,Up,Lp,zp]),f0=D({displayName:v(),description:oe(v()),type:ot(tu)}),Mp=D({type:Ce("MARKDOWN"),markdown:v()}),Ri={type:Ce("TOOL_CALL"),input:Ut(qe(v(),We())),output:oe(We()),toolName:v(),status:ot(ru),toolCallId:v(),startTime:v(),endTime:oe(v())},IB=D(Ri),Fp=Cn("toolCallType",[D({...Ri,toolCallType:Ce("PIECE"),pieceName:v(),pieceVersion:v(),actionName:v()}),D({...Ri,toolCallType:Ce("FLOW"),displayName:v(),externalFlowId:v()}),D({...Ri,toolCallType:Ce("MCP"),displayName:v(),serverUrl:v()}),D({...Ri,toolCallType:Ce("KNOWLEDGE_BASE"),displayName:v(),sourceType:v()}),D({...Ri,toolCallType:Ce("UNKNOWN"),displayName:v()})]),d0=Je([Mp,Fp]);var nu=(r=>(r.IMAGE="image",r.TEXT="text",r))(nu||{}),mn=D({apiKey:v()}),p0=mn,h0=D({apiKey:v(),apiKeyHash:v()}),g0=mn,m0=mn,_0=mn,y0=mn,E0=mn,A0=mn,b0=mn,Qp=D({accessKeyId:v().check(qr(1)),secretAccessKey:v().check(qr(1))}),x0=D({}),I0=D({}),v0=D({}),S0=D({}),w0=D({}),P0=D({}),Vp=D({modelId:v(),modelName:v(),modelType:ot(nu)}),Kp=D({apiKeyHeader:v(),baseUrl:v(),models:Xe(Vp),defaultHeaders:oe(qe(v(),v()))}),Gp=D({accountId:v(),gatewayId:v(),models:Xe(Vp),vertexProject:oe(v()),vertexRegion:oe(v())}),Zp=D({resourceName:v(),apiVersion:Nn(Rn(t=>typeof t=="string"&&t.trim().length===0?void 0:t),oe(v()))}),Yp=D({region:v().check(qr(1))}),T0=Je([p0,_0,y0,E0,A0,m0,g0,h0,Qp,b0]),Xp=Je([Kp,Gp,Zp,Yp,x0,v0,S0,w0,I0,P0]),k0=D({id:v(),name:v(),type:ot(nu)}),C0=D({id:v(),name:v(),provider:ot(Lo),config:Xp,enabledForChat:It()}),R0=D({provider:ot(Lo),config:Xp,auth:T0,platformId:v()});var PB={openai:"openai",anthropic:"anthropic","google-ai-studio":"google","google-vertex-ai":"google"},Hp=["gpt-5.5","gpt-5.4-mini","gpt-5.4-nano","gpt-4.1","gpt-4.1-mini"],N0=["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],O0=["claude-sonnet-4.6","claude-opus-4.7","claude-haiku-4.5"],jp=["gemini-2.5-pro","gemini-2.5-flash","gemini-3.1-pro-preview","gemini-3-flash-preview"],$0=["grok-4.20","grok-4.1-fast"],D0={openai:Hp,anthropic:N0,google:jp,activepieces:[...O0.map(t=>`anthropic/${t}`),...Hp.map(t=>`openai/${t}`),...jp.map(t=>`google/${t}`),...$0.map(t=>`x-ai/${t}`)]};var Wp=128e3,B0={openai:128e3,anthropic:2e5,google:1048576,bedrock:2e5,azure:128e3,openrouter:128e3,activepieces:2e5,mistral:128e3};function U0({provider:t}){return t?B0[t]??Wp:Wp}c(U0,"getMaxContextTokens");var qp={openai:"text-embedding-3-small",google:"text-embedding-004",azure:"text-embedding-3-small",activepieces:"text-embedding-3-small",openrouter:"openai/text-embedding-3-small"},L0={anthropic:"native",google:"native",openrouter:"plugin",activepieces:"plugin"},z0=new Set(["anthropic","mistral"]);function Jr(t){return{chatModels:D0[t],maxContextTokens:U0({provider:t}),defaultEmbeddingModel:qp[t],supportsEmbedding:qp[t]!==void 0,supportsImageGeneration:!z0.has(t),webSearch:L0[t]}}c(Jr,"buildProviderCapabilities");var M0={openai:Jr("openai"),anthropic:Jr("anthropic"),openrouter:Jr("openrouter"),azure:Jr("azure"),google:Jr("google"),"cloudflare-gateway":Jr("cloudflare-gateway"),custom:Jr("custom"),bedrock:Jr("bedrock"),mistral:Jr("mistral"),activepieces:Jr("activepieces")};var F0=D({base64Url:v(),fileName:v(),extension:oe(v())}),H0=D({mimeType:v(),url:v(),fileName:oe(v())}),iu=Je([F0,H0]);var j0=Je([D({type:Ce("file"),value:iu}),D({type:Ce("markdown"),value:v(),files:oe(Xe(iu))})]),W0=D({sessionId:v(),message:v(),files:oe(Xe(v()))});var eh=(r=>(r.ON_NEW_RECORD="ON_NEW_RECORD",r.ON_UPDATE_RECORD="ON_UPDATE_RECORD",r))(eh||{}),th=(r=>(r.ENABLED="ENABLED",r.DISABLED="DISABLED",r))(th||{}),ou=(n=>(n.RECORD_CREATED="RECORD_CREATED",n.RECORD_UPDATED="RECORD_UPDATED",n.RECORD_DELETED="RECORD_DELETED",n))(ou||{});var q0=Je([D({...Ur,name:v(),externalId:v(),type:Ce("STATIC_DROPDOWN"),tableId:v(),projectId:v(),data:D({options:Xe(D({value:v()}))})}),D({...Ur,name:v(),externalId:v(),type:Je([Ce("TEXT"),Ce("NUMBER"),Ce("DATE")]),tableId:v(),projectId:v()})]),Q0=D({...Ur,name:v(),folderId:Ut(v()),projectId:v(),externalId:v(),status:Xc(th),trigger:Xc(eh)}),V0=D({...Ur,tableId:v(),projectId:v(),cells:qe(v(),D({updated:v(),created:v(),value:We(),fieldName:v()}))}),K0=D({events:Xe(ot(ou)),webhookUrl:v(),flowId:v()}),G0=D({fields:Xe(D({id:v(),name:v()})),rows:Xe(qe(v(),v())),name:v()}),Z0=D({projectId:v(),limit:oe(To.number()),cursor:oe(v()),name:oe(v()),externalIds:ra(v()),folderId:oe(v()),folderIds:ra(v())}),Y0=D({records:Xe(Xe(D({fieldId:v(),value:nh()}))),tableId:v()}),X0=D({cells:oe(Xe(D({fieldId:v(),value:nh()}))),tableId:v(),agentUpdate:oe(It())}),rh=Cn("operator",[ri("eq"),ri("neq"),ri("gt"),ri("gte"),ri("lt"),ri("lte"),ri("co"),Jp("exists"),Jp("not_exists")]),J0=D({tableId:v(),limit:oe(To.number()),cursor:oe(v()),filters:ra(rh)});function nh(){return Nn(Rn(t=>t==null?t:String(t)),Po(v()))}c(nh,"coerceToString");function ri(t){return D({fieldId:v(),operator:Ce(t),value:v()})}c(ri,"valueFilter");function Jp(t){return D({fieldId:v(),operator:Ce(t)})}c(Jp,"existenceFilter");var eb=D({status:oe(Ar()),body:oe(We()),headers:oe(qe(v(),v()))}),tb=D({...Ur,deleted:Ut($n),ownerId:v(),displayName:v(),platformId:v(),externalId:Ut(v())});var ih=D({name:v(),description:oe(v()),type:v(),required:It()}),rb=D({pieceName:v(),triggerName:v(),input:D({toolName:v(),toolDescription:v(),inputSchema:Xe(ih),returnsResponse:It()})});var oh="^[0-9]+\\.[0-9]+\\.[0-9]+$",QB=new RegExp(oh),ib="^([~^])?[0-9]+\\.[0-9]+\\.[0-9]+$",VB=v().check(kn(new RegExp(oh))),KB=v().check(kn(new RegExp(ib))),ob=D({packageType:Ce("ARCHIVE"),pieceType:ot(Ti),pieceName:v(),pieceVersion:v(),archiveId:v(),platformId:v()}),sh=D({packageType:Ce("REGISTRY"),pieceType:Ce("OFFICIAL"),pieceName:v(),pieceVersion:v()}),ah=D({packageType:Ce("REGISTRY"),pieceType:Ce("CUSTOM"),pieceName:v(),pieceVersion:v(),platformId:v()}),GB=Je([sh,ah]),ZB=Je([ob,sh,ah]);var sb=Cn("type",[D({type:Ce("CRON_EXPRESSION"),cronExpression:v(),timezone:v()}),D({type:Ce("INTERVAL"),intervalMs:Ap().check(Ks(6e4))})]),YB=D({...Ur,type:ot(On),projectId:v(),flowId:v(),triggerName:v(),schedule:Ut(sb),flowVersionId:v(),pieceName:v(),pieceVersion:v(),deleted:Ut(v()),simulate:It()}),ch=(b=>(b.UNKNOWN="UNKNOWN",b.FLOW_RUN_LOG="FLOW_RUN_LOG",b.FLOW_RUN_LOG_SLICE="FLOW_RUN_LOG_SLICE",b.PACKAGE_ARCHIVE="PACKAGE_ARCHIVE",b.FLOW_STEP_FILE="FLOW_STEP_FILE",b.SAMPLE_DATA="SAMPLE_DATA",b.TRIGGER_PAYLOAD="TRIGGER_PAYLOAD",b.SAMPLE_DATA_INPUT="SAMPLE_DATA_INPUT",b.TRIGGER_EVENT_FILE="TRIGGER_EVENT_FILE",b.PROJECT_RELEASE="PROJECT_RELEASE",b.FLOW_VERSION_BACKUP="FLOW_VERSION_BACKUP",b.PLATFORM_ASSET="PLATFORM_ASSET",b.USER_PROFILE_PICTURE="USER_PROFILE_PICTURE",b.WEBHOOK_PAYLOAD="WEBHOOK_PAYLOAD",b.KNOWLEDGE_BASE="KNOWLEDGE_BASE",b.FLOW_BUNDLE="FLOW_BUNDLE",b))(ch||{}),uh=(r=>(r.NONE="NONE",r.ZSTD="ZSTD",r))(uh||{}),lh=(r=>(r.S3="S3",r.DB="DB",r))(lh||{}),XB=D({...Ur,projectId:Ut(v()),platformId:Ut(v()),type:ot(ch),compression:ot(uh),data:oe(We()),location:ot(lh),size:Ut(Ar()),fileName:Ut(v()),s3Key:Ut(v()),metadata:Ut(qe(v(),v()))}),fh=(n=>(n.ADMIN="ADMIN",n.MEMBER="MEMBER",n.OPERATOR="OPERATOR",n))(fh||{}),dh=(r=>(r.ACTIVE="ACTIVE",r.INACTIVE="INACTIVE",r))(dh||{}),JB=D({id:v(),email:v(),firstName:v(),status:ot(dh),externalId:Ut(v()),platformId:Ut(v()),platformRole:ot(fh),lastName:v(),created:$n,updated:$n,lastActiveDate:Ut($n),imageUrl:Ut(v())});var au=D({...At.shape,...tt(qe(v(),We()),"OBJECT").shape});var gh=D({...At.shape,...tt(v(),"COLOR").shape});var cu=Je([Rr,dn,ea,hn,Nr,pn,Kc,ko,Gc,gn,No,au,Oo,Ro,Co,gh]),pt={ShortText(t){return{...t,valueSchema:void 0,type:"SHORT_TEXT"}},Checkbox(t){return{...t,valueSchema:void 0,type:"CHECKBOX"}},LongText(t){return{...t,valueSchema:void 0,type:"LONG_TEXT"}},MarkDown(t){return{displayName:"Markdown",required:!1,description:t.value,type:"MARKDOWN",valueSchema:void 0,variant:t.variant??"INFO"}},Number(t){return{...t,valueSchema:void 0,type:"NUMBER"}},Json(t){return{...t,valueSchema:void 0,type:"JSON"}},Array(t){return{...t,valueSchema:void 0,type:"ARRAY"}},Object(t){return{...t,valueSchema:void 0,type:"OBJECT"}},Dropdown(t){return{...t,valueSchema:void 0,type:"DROPDOWN"}},StaticDropdown(t){return{...t,valueSchema:void 0,type:"STATIC_DROPDOWN"}},MultiSelectDropdown(t){return{...t,valueSchema:void 0,type:"MULTI_SELECT_DROPDOWN"}},DynamicProperties(t){return{...t,valueSchema:void 0,type:"DYNAMIC"}},StaticMultiSelectDropdown(t){return{...t,valueSchema:void 0,type:"STATIC_MULTI_SELECT_DROPDOWN"}},DateTime(t){return{...t,valueSchema:void 0,type:"DATE_TIME"}},File(t){return{...t,valueSchema:void 0,type:"FILE"}},Custom(t){let e=t.code.toString();return{...t,code:e,valueSchema:void 0,type:"CUSTOM"}},Color(t){return{...t,valueSchema:void 0,type:"COLOR"}}};var en=D({displayName:v(),description:oe(v())});var mh=D({username:v(),password:v()}),uu=D({...en.shape,username:D({displayName:v(),description:oe(v())}),password:D({displayName:v(),description:oe(v())}),...tt(mh,"BASIC_AUTH").shape});var lb=qe(v(),Je([Rr,dn,gn,hn,Nr])),lu=D({...en.shape,props:lb,...tt(We(),"CUSTOM_AUTH").shape});var ni=D({...en.shape,...tt(D({auth:v()}),"SECRET_TEXT").shape});var fb=qe(v(),Je([Rr,dn,ni,gn,hn,Nr,pn,ea])),_h=D({...en.shape,props:fb,...tt(We(),"OIDC").shape});var fu=(r=>(r.HEADER="HEADER",r.BODY="BODY",r))(fu||{}),yh=Je([Rr,ni,Nr]),Eh=qe(v(),yh),db=D({props:oe(qe(v(),yh)),authUrl:v(),tokenUrl:v(),scope:Xe(v()),prompt:oe(Je([Ce("none"),Ce("consent"),Ce("login"),Ce("omit")])),pkce:oe(It()),pkceMethod:oe(Je([Ce("plain"),Ce("S256")])),authorizationMethod:oe(ot(fu)),grantType:oe(Je([ot(Do),Ce(Zc)])),extra:oe(qe(v(),v()))}),Ah=D({access_token:v(),props:oe(Eh),data:qe(v(),wo())}),du=D({...en.shape,...db.shape,...tt(Ah,"OAUTH2").shape});var Ni=Je([uu,lu,_h,du,ni]),zo="Connection",Mo={SecretText(t){return{...t,valueSchema:void 0,type:"SECRET_TEXT"}},OAuth2(t){return{...t,valueSchema:void 0,type:"OAUTH2",displayName:t.displayName||zo}},BasicAuth(t){return{...t,valueSchema:void 0,type:"BASIC_AUTH",displayName:t.displayName||zo,required:!0}},CustomAuth(t){return{...t,valueSchema:void 0,type:"CUSTOM_AUTH",displayName:t.displayName||zo}},OIDC(t){return{...t,valueSchema:void 0,type:"OIDC",displayName:t.displayName||zo}},None(){}};var RL={OAUTH2:"OAUTH2",CLOUD_OAUTH2:"OAUTH2",PLATFORM_OAUTH2:"OAUTH2",BASIC_AUTH:"BASIC_AUTH",CUSTOM_AUTH:"CUSTOM_AUTH",OIDC:"OIDC",SECRET_TEXT:"SECRET_TEXT",NO_AUTH:void 0};var pb=D({...At.shape,...tt(We(),"CUSTOM").shape,code:v()});var gb=Je([cu,Ni]),pu=qe(v(),gb),YL=qe(v(),cu);var bh=Je([D({strategy:Ce("CRON"),cronExpression:v()}),D({strategy:Ce("NONE")})]),Oi=class{constructor(e,r,n,i,o,s,a,u,l,d,p,g,h,_,A,b,I,w,H){this.name=e;this.displayName=r;this.description=n;this.requireAuth=i;this.props=o;this.type=s;this.handshakeConfiguration=a;this.onHandshake=u;this.renewConfiguration=l;this.onRenew=d;this.onEnable=p;this.onDisable=g;this.onStart=h;this.run=_;this.test=A;this.sampleData=b;this.testStrategy=I;this.outputSchema=w;this.aiMetadata=H}static{c(this,"ITrigger")}},xh=c(t=>{switch(t.type){case"WEBHOOK":return new Oi(t.name,t.displayName,t.description,t.requireAuth??!0,t.props,t.type,t.handshakeConfiguration??{strategy:"NONE"},t.onHandshake??(async()=>({status:200})),t.renewConfiguration??{strategy:"NONE"},t.onRenew??(async()=>Promise.resolve()),t.onEnable,t.onDisable,t.onStart??(async()=>Promise.resolve()),t.run,t.test??(()=>Promise.resolve([t.sampleData])),t.sampleData,t.test?"TEST_FUNCTION":"SIMULATION",t.outputSchema,t.aiMetadata);case"POLLING":return new Oi(t.name,t.displayName,t.description,t.requireAuth??!0,t.props,t.type,{strategy:"NONE"},async()=>({status:200}),{strategy:"NONE"},(async()=>Promise.resolve()),t.onEnable,t.onDisable,t.onStart??(async()=>Promise.resolve()),t.run,t.test??(()=>Promise.resolve([t.sampleData])),t.sampleData,"TEST_FUNCTION",t.outputSchema,t.aiMetadata);case"MANUAL":return new Oi(t.name,t.displayName,t.description,t.requireAuth??!0,t.props,t.type,{strategy:"NONE"},async()=>({status:200}),{strategy:"NONE"},(async()=>Promise.resolve()),t.onEnable,t.onDisable,t.onStart??(async()=>Promise.resolve()),t.run,t.test??(()=>Promise.resolve([t.sampleData])),t.sampleData,"TEST_FUNCTION",t.outputSchema,t.aiMetadata);case"APP_WEBHOOK":return new Oi(t.name,t.displayName,t.description,t.requireAuth??!0,t.props,t.type,{strategy:"NONE"},async()=>({status:200}),{strategy:"NONE"},(async()=>Promise.resolve()),t.onEnable,t.onDisable,t.onStart??(async()=>Promise.resolve()),t.run,t.test??(()=>Promise.resolve([t.sampleData])),t.sampleData,ar(t.sampleData)&&ar(t.test)?"SIMULATION":"TEST_FUNCTION",t.outputSchema,t.aiMetadata)}},"createTrigger");var Ih="2",ia="0.82.0";var hu=class{constructor(e,r,n,i,o,s,a,u,l=ia,d,p="",g){this.displayName=e;this.logoUrl=r;this.authors=n;this.events=i;this.categories=a;this.auth=u;this.minimumSupportedRelease=l;this.maximumSupportedRelease=d;this.description=p;this.deprecated=g;this._actions={};this._triggers={};this.getContextInfo=c(()=>({version:Ih}),"getContextInfo");(!mb(l)||_b(l,ia))&&(this.minimumSupportedRelease=ia),o.forEach(h=>this._actions[h.name]=h),s.forEach(h=>this._triggers[h.name]=h)}static{c(this,"Piece")}metadata(){return{displayName:this.displayName,logoUrl:this.logoUrl,actions:this._actions,triggers:this._triggers,categories:this.categories,description:this.description,authors:this.authors,auth:this.auth,minimumSupportedRelease:this.minimumSupportedRelease,maximumSupportedRelease:this.maximumSupportedRelease,deprecated:this.deprecated,contextInfo:this.getContextInfo?.()}}getAction(e){return this._actions[e]}getTrigger(e){return this._triggers[e]}actions(){return this._actions}triggers(){return this._triggers}},vh=c(t=>{if(t.auth&&Array.isArray(t.auth)&&!t.auth.every((r,n,i)=>n===i.findIndex(o=>o.type===r.type)))throw new Error("Auth properties must be unique by type");return new hu(t.displayName,t.logoUrl,t.authors??[],t.events,t.actions,t.triggers,t.categories??[],t.auth,t.minimumSupportedRelease,t.maximumSupportedRelease,t.description,t.deprecated)},"createPiece");function mb(t){return/^\d+\.\d+\.\d+$/.test(t)}c(mb,"isValidSimpleSemver");function _b(t,e){let[r,n,i]=t.split(".").map(Number),[o,s,a]=e.split(".").map(Number);return r!==o?r<o:n!==s?n<s:i<a}c(_b,"isSemverLessThan");var yb=oe(qe(v(),qe(v(),v()))),Sh=D({id:oe(v()),name:v(),displayName:v(),logoUrl:v(),description:v(),authors:Xe(v()),platformId:oe(v()),directoryPath:oe(v()),auth:oe(Je([Ni,Xe(Ni)])),version:v(),categories:oe(Xe(ot(ki))),minimumSupportedRelease:oe(v()),maximumSupportedRelease:oe(v()),deprecated:oe(It()),i18n:yb}),Eb=ot(["human","ai","both"]),wh=D({description:oe(v()),idempotent:oe(It())}),Ph=D({name:v(),displayName:v(),description:v(),props:pu,requireAuth:It(),errorHandlingOptions:oe(Vc),outputSchema:oe(Xs()),audience:oe(Eb),aiMetadata:oe(wh)}),Th=D({name:v(),displayName:v(),description:v(),props:pu,errorHandlingOptions:oe(Vc),type:ot(On),sampleData:We(),handshakeConfiguration:oe(Xs()),renewConfiguration:oe(bh),testStrategy:ot(Uo),outputSchema:oe(Xs()),aiMetadata:oe(wh)}),Ab=D({...Sh.shape,actions:qe(v(),Ph),triggers:qe(v(),Th)}),bb=D({...Sh.shape,actions:Ar(),triggers:Ar(),suggestedActions:oe(Xe(Ph)),suggestedTriggers:oe(Xe(Th))}),kh=D({projectUsage:Ar(),pieceType:ot(Ti),packageType:ot($o),platformId:oe(v()),archiveId:oe(v())}),Yz=D({...Ab.shape,...kh.shape}),Xz=D({...bb.shape,...kh.shape}),Jz=D({name:v(),version:v()});var xb=Er(require("path")),Ib=Er(require("fs/promises"));var yE=Er(nn());var mE=Er(gE()),_E=Er(nn());async function Dt(t){return ar(t)?"sftp":t}c(Dt,"getProtocolBackwardCompatibility");async function Ft(t){let{protocol:e,host:r,port:n,allow_unauthorized_certificates:i,allow_anonymous_login:o,username:s,password:a,privateKey:u,algorithm:l}=t,d=await Dt(e);if(d==="sftp"){let p=new mE.default;if(u){let g=u.replace(/\\r\\n/g,`
19
+ ${r}`}};var kv=2**32,Bm=(()=>{try{return new Function("return 2n ** 32n")()}catch{}})();ds.ERR_OUT_OF_RANGE=class Lm extends RangeError{static{c(this,"ERR_OUT_OF_RANGE")}constructor(e,r,n,i){super(),Error.captureStackTrace(this,Lm),Ga(r,'Missing "range" argument');let o=i?e:`The value of "${e}" is out of range.`,s;Number.isInteger(n)&&Math.abs(n)>kv?s=$m(String(n)):typeof n=="bigint"?(s=String(n),(n>Bm||n<-Bm)&&(s=$m(s)),s+="n"):s=Cv(n),o+=` It must be ${r}. Received ${s}`,this.message=o}};var Za=class t extends TypeError{static{c(this,"ERR_INVALID_ARG_TYPE")}constructor(e,r,n){super(),Error.captureStackTrace(this,t),Ga(typeof e=="string","'name' must be a string");let i;typeof r=="string"&&r.startsWith("not ")?(i="must not be",r=r.replace(/^not /,"")):i="must be";let o;if(e.endsWith(" argument"))o=`The ${e} ${i} ${Dm(r,"type")}`;else{let s=e.includes(".")?"property":"argument";o=`The "${e}" ${s} ${i} ${Dm(r,"type")}`}o+=`. Received type ${typeof n}`,this.message=o}};ds.ERR_INVALID_ARG_TYPE=Za;ds.validateNumber=c(function(e,r){if(typeof e!="number")throw new Za(r,"number",e)},"validateNumber")});var ps=le((FF,Xm)=>{"use strict";var Rv=require("events"),qn=require("fs"),{constants:Pr}=qn,{Readable:qm,Writable:Jl}=require("stream"),{inherits:Qm,types:{isDate:Vl}}=require("util"),Nv=Buffer[Symbol.species],{bufferCopy:Wn,bufferSlice:io,makeBufferParser:Ov,writeUInt32BE:G}=Qr(),In={SIZE:1,UIDGID:2,PERMISSIONS:4,ACMODTIME:8,EXTENDED:2147483648},De=Buffer.alloc(28),mt={OK:0,EOF:1,NO_SUCH_FILE:2,PERMISSION_DENIED:3,FAILURE:4,BAD_MESSAGE:5,NO_CONNECTION:6,CONNECTION_LOST:7,OP_UNSUPPORTED:8},$v=new Map(Object.values(mt).map(t=>[t,1])),Dv={[mt.OK]:"No error",[mt.EOF]:"End of file",[mt.NO_SUCH_FILE]:"No such file or directory",[mt.PERMISSION_DENIED]:"Permission denied",[mt.FAILURE]:"Failure",[mt.BAD_MESSAGE]:"Bad message",[mt.NO_CONNECTION]:"No connection",[mt.CONNECTION_LOST]:"Connection lost",[mt.OP_UNSUPPORTED]:"Operation unsupported"},Ne={INIT:1,OPEN:3,CLOSE:4,READ:5,WRITE:6,LSTAT:7,FSTAT:8,SETSTAT:9,FSETSTAT:10,OPENDIR:11,READDIR:12,REMOVE:13,MKDIR:14,RMDIR:15,REALPATH:16,STAT:17,RENAME:18,READLINK:19,SYMLINK:20,EXTENDED:200},Tr={VERSION:2,STATUS:101,HANDLE:102,DATA:103,NAME:104,ATTRS:105,EXTENDED:201},Te={READ:1,WRITE:2,APPEND:4,CREAT:8,TRUNC:16,EXCL:32},Mm=2*1024,St=2**32-1,Bv=Buffer.from([0,0,0,5,Ne.INIT,0,0,0,3]),Uv=Buffer.from([0,0,0,5,Tr.VERSION,0,0,0,3]),Lv=/^SSH-2.0-(?:OpenSSH|dropbear)/,ql=256*1024,U=Ov(),zv={readable:!1,writable:!1,push:c(t=>{},"push"),once:c(()=>{},"once"),on:c(()=>{},"on"),emit:c(()=>{},"emit"),end:c(()=>{},"end")};function Vm(){}c(Vm,"noop");var Kl=class extends Rv{static{c(this,"SFTP")}constructor(e,r,n){super(),(typeof n!="object"||!n)&&(n={});let i=e._protocol._remoteIdentRaw;this.server=!!n.server,this._debug=typeof n.debug=="function"?n.debug:void 0,this._isOpenSSH=i&&Lv.test(i),this._version=-1,this._extensions={},this._biOpt=n.biOpt,this._pktLenBytes=0,this._pktLen=0,this._pktPos=0,this._pktType=0,this._pktData=void 0,this._writeReqid=-1,this._requests={},this._maxInPktLen=ql,this._maxOutPktLen=34e3,this._maxReadLen=(this._isOpenSSH?ql:34e3)-Mm,this._maxWriteLen=(this._isOpenSSH?ql:34e3)-Mm,this.maxOpenHandles=void 0,this._client=e,this._protocol=e._protocol,this._callbacks=[],this._hasX11=!1,this._exit={code:void 0,signal:void 0,dump:void 0,desc:void 0},this._waitWindow=!1,this._chunkcb=void 0,this._buffer=[],this.type=r.type,this.subtype=void 0,this.incoming=r.incoming,this.outgoing=r.outgoing,this.stderr=zv,this.readable=!0}push(e){if(e===null){if(Ym(this),!this.readable)return;this.readable=!1,this.emit("end");return}let r=0;for(;r<e.length;){if(this._pktLenBytes<4){let s=Math.min(4-this._pktLenBytes,e.length-r);for(this._pktLenBytes+=s;s--;)this._pktLen=(this._pktLen<<8)+e[r++];if(this._pktLenBytes<4)return;if(this._pktLen===0)return At(this,"Invalid packet length");if(this._pktLen>this._maxInPktLen){let a=this._maxInPktLen;return At(this,`Packet length ${this._pktLen} exceeds max length of ${a}`)}if(r>=e.length)return}if(this._pktPos<this._pktLen){let s=Math.min(this._pktLen-this._pktPos,e.length-r);if(r!==0||s!==e.length?s===this._pktLen?this._pkt=new Nv(e.buffer,e.byteOffset+r,s):(this._pkt||(this._pkt=Buffer.allocUnsafe(this._pktLen)),this._pkt.set(new Uint8Array(e.buffer,e.byteOffset+r,s),this._pktPos)):s===this._pktLen?this._pkt=e:(this._pkt||(this._pkt=Buffer.allocUnsafe(this._pktLen)),this._pkt.set(e,this._pktPos)),r+=s,this._pktPos+=s,this._pktPos<this._pktLen)return}let n=this._pkt[0],i=this._pkt;this._pktLen=0,this._pktLenBytes=0,this._pkt=void 0,this._pktPos=0;let o=this.server?Wv[n]:jv[n];if(!o)return At(this,`Unknown packet type ${n}`);if(this._version===-1){if(this.server){if(n!==Ne.INIT)return At(this,`Expected INIT packet, got ${n}`)}else if(n!==Tr.VERSION)return At(this,`Expected VERSION packet, got ${n}`)}if(o(this,i)===!1)return}}end(){this.destroy()}destroy(){(this.outgoing.state==="open"||this.outgoing.state==="eof")&&(this.outgoing.state="closing",this._protocol.channelClose(this.outgoing.id))}_init(){this._init=Vm,this.server||ft(this,Bv)}createReadStream(e,r){if(this.server)throw new Error("Client-only method called in server mode");return new vn(this,e,r)}createWriteStream(e,r){if(this.server)throw new Error("Client-only method called in server mode");return new Fr(this,e,r)}open(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");typeof n=="function"&&(i=n,n=void 0);let o=typeof r=="number"?r:Gm(r);if(o===null)throw new Error(`Unknown flags string: ${r}`);let s=0,a=0;(typeof n=="string"||typeof n=="number")&&(n={mode:n}),typeof n=="object"&&n!==null&&(n=fi(n),s=n.flags,a=n.nb);let u=Buffer.byteLength(e),l=9,d=Buffer.allocUnsafe(13+u+4+4+a);G(d,d.length-4,0),d[4]=Ne.OPEN;let p=this._writeReqid=this._writeReqid+1&St;G(d,p,5),G(d,u,l),d.utf8Write(e,l+=4,u),G(d,o,l+=u),G(d,s,l+=4),a&&(l+=4,a===De.length?d.set(De,l):Wn(De,d,0,a,l),l+=a),this._requests[p]={cb:i};let g=ft(this,d);this._debug&&this._debug(`SFTP: Outbound: ${g?"Buffered":"Sending"} OPEN`)}close(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let n=e.length,i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Ne.CLOSE;let s=this._writeReqid=this._writeReqid+1&St;G(o,s,5),G(o,n,i),o.set(e,i+=4),this._requests[s]={cb:r};let a=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} CLOSE`)}read(e,r,n,i,o,s){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");if(!Buffer.isBuffer(r))throw new Error("buffer is not a Buffer");if(n>=r.length)throw new Error("offset is out of bounds");if(n+i>r.length)throw new Error("length extends beyond buffer");if(o===null)throw new Error("null position currently unsupported");Km(this,e,r,n,i,o,s)}readData(e,r,n,i,o,s){this.read(e,r,n,i,o,s)}write(e,r,n,i,o,s){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");if(!Buffer.isBuffer(r))throw new Error("buffer is not a Buffer");if(n>r.length)throw new Error("offset is out of bounds");if(n+i>r.length)throw new Error("length extends beyond buffer");if(o===null)throw new Error("null position currently unsupported");if(!i){s&&process.nextTick(s,void 0,0);return}let a=this._maxWriteLen,u=Math.max(i-a,0),l=o;u&&(i=a);let d=e.length,p=9,g=Buffer.allocUnsafe(13+d+8+4+i);G(g,g.length-4,0),g[4]=Ne.WRITE;let h=this._writeReqid=this._writeReqid+1&St;G(g,h,5),G(g,d,p),g.set(e,p+=4),p+=d;for(let A=7;A>=0;--A)g[p+A]=o&255,o/=256;G(g,i,p+=8),Wn(r,g,n,n+i,p+=4),this._requests[h]={cb:c(A=>{A?typeof s=="function"&&s(A):u?this.write(e,r,n+i,u,l+i,s):typeof s=="function"&&s(void 0,n+i)},"cb")};let _=ft(this,g);if(this._debug){let A=_?"Sent":"Buffered";this._debug(`SFTP: Outbound: ${A} WRITE (id:${h})`)}}writeData(e,r,n,i,o,s){this.write(e,r,n,i,o,s)}fastGet(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");Fm(this,qn,e,r,n,i)}fastPut(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");Fm(qn,this,e,r,n,i)}readFile(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i;if(typeof n=="function"?i=n:typeof r=="function"&&(i=r,r=void 0),typeof r=="string")r={encoding:r,flag:"r"};else if(!r)r={encoding:null,flag:"r"};else if(typeof r!="object")throw new TypeError("Bad arguments");let o=r.encoding;if(o&&!Buffer.isEncoding(o))throw new Error(`Unknown encoding: ${o}`);let s,a,u,l=0,d,p=0,g=r.flag||"r",h=c(()=>{s===0?(a=Buffer.allocUnsafe(8192),this.read(d,a,0,8192,p,_)):this.read(d,a,l,s-l,p,_)},"read"),_=c((b,v)=>{let w;if(b){if(w=b.code===mt.EOF,!w)return this.close(d,()=>i&&i(b))}else w=!1;if(w||s===0&&v===0)return A();p+=v,l+=v,s!==0?l===s?A():h():(u.push(io(a,0,v)),h())},"afterRead");_._wantEOFError=!0;let A=c(()=>{this.close(d,b=>(s===0?a=Buffer.concat(u,l):l<s&&(a=io(a,0,l)),o&&(a=a.toString(o)),i&&i(b,a)))},"close");this.open(e,g,438,(b,v)=>{if(b)return i&&i(b);d=v;let w=c((H,D)=>{if(H){this.stat(e,(J,Y)=>{if(J)return this.close(d,()=>{i&&i(H)});w(null,Y)});return}if(s=D.size||0,s===0)return u=[],h();a=Buffer.allocUnsafe(s),h()},"tryStat");this.fstat(d,w)})}writeFile(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");let o;if(typeof i=="function"?o=i:typeof n=="function"&&(o=n,n=void 0),typeof n=="string")n={encoding:n,mode:438,flag:"w"};else if(!n)n={encoding:"utf8",mode:438,flag:"w"};else if(typeof n!="object")throw new TypeError("Bad arguments");if(n.encoding&&!Buffer.isEncoding(n.encoding))throw new Error(`Unknown encoding: ${n.encoding}`);let s=n.flag||"w";this.open(e,s,n.mode,(a,u)=>{if(a)o&&o(a);else{let l=Buffer.isBuffer(r)?r:Buffer.from(""+r,n.encoding||"utf8"),d=/a/.test(s)?null:0;if(d===null){let p=c((g,h)=>{if(g){this.stat(e,(_,A)=>{if(_)return this.close(u,()=>{o&&o(g)});p(null,A)});return}Gl(this,u,l,0,l.length,h.size,o)},"tryStat");this.fstat(u,p);return}Gl(this,u,l,0,l.length,d,o)}})}appendFile(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");let o;if(typeof i=="function"?o=i:typeof n=="function"&&(o=n,n=void 0),typeof n=="string")n={encoding:n,mode:438,flag:"a"};else if(!n)n={encoding:"utf8",mode:438,flag:"a"};else if(typeof n!="object")throw new TypeError("Bad arguments");n.flag||(n=Object.assign({flag:"a"},n)),this.writeFile(e,r,n,o)}exists(e,r){if(this.server)throw new Error("Client-only method called in server mode");this.stat(e,n=>{r&&r(!n)})}unlink(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Ne.REMOVE;let s=this._writeReqid=this._writeReqid+1&St;G(o,s,5),G(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} REMOVE`)}rename(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(e),o=Buffer.byteLength(r),s=9,a=Buffer.allocUnsafe(13+i+4+o);G(a,a.length-4,0),a[4]=Ne.RENAME;let u=this._writeReqid=this._writeReqid+1&St;G(a,u,5),G(a,i,s),a.utf8Write(e,s+=4,i),G(a,o,s+=i),a.utf8Write(r,s+=4,o),this._requests[u]={cb:n};let l=ft(this,a);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} RENAME`)}mkdir(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=0,o=0;typeof r=="function"&&(n=r,r=void 0),typeof r=="object"&&r!==null&&(r=fi(r),i=r.flags,o=r.nb);let s=Buffer.byteLength(e),a=9,u=Buffer.allocUnsafe(13+s+4+o);G(u,u.length-4,0),u[4]=Ne.MKDIR;let l=this._writeReqid=this._writeReqid+1&St;G(u,l,5),G(u,s,a),u.utf8Write(e,a+=4,s),G(u,i,a+=s),o&&(a+=4,o===De.length?u.set(De,a):Wn(De,u,0,o,a),a+=o),this._requests[l]={cb:n};let d=ft(this,u);this._debug&&this._debug(`SFTP: Outbound: ${d?"Buffered":"Sending"} MKDIR`)}rmdir(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Ne.RMDIR;let s=this._writeReqid=this._writeReqid+1&St;G(o,s,5),G(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} RMDIR`)}readdir(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");typeof r=="function"&&(n=r,r={}),(typeof r!="object"||r===null)&&(r={});let i=!(r&&r.full);if(!Buffer.isBuffer(e)&&typeof e!="string")throw new Error("missing directory handle or path");if(typeof e=="string"){let d=[],p=0,g=c((h,_)=>{if(h)return n(h);this.readdir(_,r,(A,b)=>{let v=A&&A.code===mt.EOF;if(A&&!v)return this.close(_,()=>n(A));if(v)return this.close(_,w=>{if(w)return n(w);n(void 0,d)});for(let w=0;w<b.length;++w,++p)d[p]=b[w];g(void 0,_)})},"reread");return this.opendir(e,g)}let o=e.length,s=9,a=Buffer.allocUnsafe(13+o);G(a,a.length-4,0),a[4]=Ne.READDIR;let u=this._writeReqid=this._writeReqid+1&St;G(a,u,5),G(a,o,s),a.set(e,s+=4),this._requests[u]={cb:i?(d,p)=>{if(typeof n=="function"){if(d)return n(d);for(let g=p.length-1;g>=0;--g)(p[g].filename==="."||p[g].filename==="..")&&p.splice(g,1);n(void 0,p)}}:n};let l=ft(this,a);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} READDIR`)}fstat(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let n=e.length,i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Ne.FSTAT;let s=this._writeReqid=this._writeReqid+1&St;G(o,s,5),G(o,n,i),o.set(e,i+=4),this._requests[s]={cb:r};let a=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} FSTAT`)}stat(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Ne.STAT;let s=this._writeReqid=this._writeReqid+1&St;G(o,s,5),G(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} STAT`)}lstat(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Ne.LSTAT;let s=this._writeReqid=this._writeReqid+1&St;G(o,s,5),G(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} LSTAT`)}opendir(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Ne.OPENDIR;let s=this._writeReqid=this._writeReqid+1&St;G(o,s,5),G(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:r};let a=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} OPENDIR`)}setstat(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=0,o=0;typeof r=="object"&&r!==null?(r=fi(r),i=r.flags,o=r.nb):typeof r=="function"&&(n=r);let s=Buffer.byteLength(e),a=9,u=Buffer.allocUnsafe(13+s+4+o);G(u,u.length-4,0),u[4]=Ne.SETSTAT;let l=this._writeReqid=this._writeReqid+1&St;G(u,l,5),G(u,s,a),u.utf8Write(e,a+=4,s),G(u,i,a+=s),o&&(a+=4,o===De.length?u.set(De,a):Wn(De,u,0,o,a),a+=o),this._requests[l]={cb:n};let d=ft(this,u);this._debug&&this._debug(`SFTP: Outbound: ${d?"Buffered":"Sending"} SETSTAT`)}fsetstat(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let i=0,o=0;typeof r=="object"&&r!==null?(r=fi(r),i=r.flags,o=r.nb):typeof r=="function"&&(n=r);let s=e.length,a=9,u=Buffer.allocUnsafe(13+s+4+o);G(u,u.length-4,0),u[4]=Ne.FSETSTAT;let l=this._writeReqid=this._writeReqid+1&St;G(u,l,5),G(u,s,a),u.set(e,a+=4),G(u,i,a+=s),o&&(a+=4,o===De.length?u.set(De,a):Wn(De,u,0,o,a),a+=o),this._requests[l]={cb:n};let d=ft(this,u);this._debug&&this._debug(`SFTP: Outbound: ${d?"Buffered":"Sending"} FSETSTAT`)}futimes(e,r,n,i){return this.fsetstat(e,{atime:ro(r),mtime:ro(n)},i)}utimes(e,r,n,i){return this.setstat(e,{atime:ro(r),mtime:ro(n)},i)}fchown(e,r,n,i){return this.fsetstat(e,{uid:r,gid:n},i)}chown(e,r,n,i){return this.setstat(e,{uid:r,gid:n},i)}fchmod(e,r,n){return this.fsetstat(e,{mode:r},n)}chmod(e,r,n){return this.setstat(e,{mode:r},n)}readlink(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Ne.READLINK;let s=this._writeReqid=this._writeReqid+1&St;G(o,s,5),G(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:c((u,l)=>{if(typeof r=="function"){if(u)return r(u);if(!l||!l.length)return r(new Error("Response missing link info"));r(void 0,l[0].filename)}},"cb")};let a=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} READLINK`)}symlink(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=Buffer.byteLength(r),o=Buffer.byteLength(e),s=9,a=Buffer.allocUnsafe(13+i+4+o);G(a,a.length-4,0),a[4]=Ne.SYMLINK;let u=this._writeReqid=this._writeReqid+1&St;G(a,u,5),this._isOpenSSH?(G(a,o,s),a.utf8Write(e,s+=4,o),G(a,i,s+=o),a.utf8Write(r,s+=4,i)):(G(a,i,s),a.utf8Write(r,s+=4,i),G(a,o,s+=i),a.utf8Write(e,s+=4,o)),this._requests[u]={cb:n};let l=ft(this,a);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} SYMLINK`)}realpath(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=Buffer.byteLength(e),i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Ne.REALPATH;let s=this._writeReqid=this._writeReqid+1&St;G(o,s,5),G(o,n,i),o.utf8Write(e,i+=4,n),this._requests[s]={cb:c((u,l)=>{if(typeof r=="function"){if(u)return r(u);if(!l||!l.length)return r(new Error("Response missing path info"));r(void 0,l[0].filename)}},"cb")};let a=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} REALPATH`)}ext_openssh_rename(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");let i=this._extensions["posix-rename@openssh.com"];if(!i||i!=="1")throw new Error("Server does not support this extended request");let o=Buffer.byteLength(e),s=Buffer.byteLength(r),a=9,u=Buffer.allocUnsafe(41+o+4+s);G(u,u.length-4,0),u[4]=Ne.EXTENDED;let l=this._writeReqid=this._writeReqid+1&St;G(u,l,5),G(u,24,a),u.utf8Write("posix-rename@openssh.com",a+=4,24),G(u,o,a+=24),u.utf8Write(e,a+=4,o),G(u,s,a+=o),u.utf8Write(r,a+=4,s),this._requests[l]={cb:n};let d=ft(this,u);if(this._debug){let p=d?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${p} posix-rename@openssh.com`)}}ext_openssh_statvfs(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=this._extensions["statvfs@openssh.com"];if(!n||n!=="2")throw new Error("Server does not support this extended request");let i=Buffer.byteLength(e),o=9,s=Buffer.allocUnsafe(36+i);G(s,s.length-4,0),s[4]=Ne.EXTENDED;let a=this._writeReqid=this._writeReqid+1&St;G(s,a,5),G(s,19,o),s.utf8Write("statvfs@openssh.com",o+=4,19),G(s,i,o+=19),s.utf8Write(e,o+=4,i),this._requests[a]={extended:"statvfs@openssh.com",cb:r};let u=ft(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} statvfs@openssh.com`)}}ext_openssh_fstatvfs(e,r){if(this.server)throw new Error("Client-only method called in server mode");let n=this._extensions["fstatvfs@openssh.com"];if(!n||n!=="2")throw new Error("Server does not support this extended request");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let i=e.length,o=9,s=Buffer.allocUnsafe(37+i);G(s,s.length-4,0),s[4]=Ne.EXTENDED;let a=this._writeReqid=this._writeReqid+1&St;G(s,a,5),G(s,20,o),s.utf8Write("fstatvfs@openssh.com",o+=4,20),G(s,i,o+=20),s.set(e,o+=4),this._requests[a]={extended:"fstatvfs@openssh.com",cb:r};let u=ft(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} fstatvfs@openssh.com`)}}ext_openssh_hardlink(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["hardlink@openssh.com"]!=="1")throw new Error("Server does not support this extended request");let o=Buffer.byteLength(e),s=Buffer.byteLength(r),a=9,u=Buffer.allocUnsafe(37+o+4+s);G(u,u.length-4,0),u[4]=Ne.EXTENDED;let l=this._writeReqid=this._writeReqid+1&St;G(u,l,5),G(u,20,a),u.utf8Write("hardlink@openssh.com",a+=4,20),G(u,o,a+=20),u.utf8Write(e,a+=4,o),G(u,s,a+=o),u.utf8Write(r,a+=4,s),this._requests[l]={cb:n};let d=ft(this,u);if(this._debug){let p=d?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${p} hardlink@openssh.com`)}}ext_openssh_fsync(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["fsync@openssh.com"]!=="1")throw new Error("Server does not support this extended request");if(!Buffer.isBuffer(e))throw new Error("handle is not a Buffer");let i=e.length,o=9,s=Buffer.allocUnsafe(34+i);G(s,s.length-4,0),s[4]=Ne.EXTENDED;let a=this._writeReqid=this._writeReqid+1&St;G(s,a,5),G(s,17,o),s.utf8Write("fsync@openssh.com",o+=4,17),G(s,i,o+=17),s.set(e,o+=4),this._requests[a]={cb:r};let u=ft(this,s);this._debug&&this._debug(`SFTP: Outbound: ${u?"Buffered":"Sending"} fsync@openssh.com`)}ext_openssh_lsetstat(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["lsetstat@openssh.com"]!=="1")throw new Error("Server does not support this extended request");let o=0,s=0;typeof r=="object"&&r!==null?(r=fi(r),o=r.flags,s=r.nb):typeof r=="function"&&(n=r);let a=Buffer.byteLength(e),u=9,l=Buffer.allocUnsafe(37+a+4+s);G(l,l.length-4,0),l[4]=Ne.EXTENDED;let d=this._writeReqid=this._writeReqid+1&St;G(l,d,5),G(l,20,u),l.utf8Write("lsetstat@openssh.com",u+=4,20),G(l,a,u+=20),l.utf8Write(e,u+=4,a),G(l,o,u+=a),s&&(u+=4,s===De.length?l.set(De,u):Wn(De,l,0,s,u),u+=s),this._requests[d]={cb:n};let p=ft(this,l);if(this._debug){let g=p?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${g} lsetstat@openssh.com`)}}ext_openssh_expandPath(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["expand-path@openssh.com"]!=="1")throw new Error("Server does not support this extended request");let i=Buffer.byteLength(e),o=9,s=Buffer.allocUnsafe(40+i);G(s,s.length-4,0),s[4]=Ne.EXTENDED;let a=this._writeReqid=this._writeReqid+1&St;G(s,a,5),G(s,23,o),s.utf8Write("expand-path@openssh.com",o+=4,23),G(s,i,o+=20),s.utf8Write(e,o+=4,i),this._requests[a]={cb:c((l,d)=>{if(typeof r=="function"){if(l)return r(l);if(!d||!d.length)return r(new Error("Response missing expanded path"));r(void 0,d[0].filename)}},"cb")};let u=ft(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} expand-path@openssh.com`)}}ext_copy_data(e,r,n,i,o,s){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["copy-data"]!=="1")throw new Error("Server does not support this extended request");if(!Buffer.isBuffer(e))throw new Error("Source handle is not a Buffer");if(!Buffer.isBuffer(i))throw new Error("Destination handle is not a Buffer");let u=0,l=Buffer.allocUnsafe(26+e.length+8+8+4+i.length+8);G(l,l.length-4,u),u+=4,l[u]=Ne.EXTENDED,++u;let d=this._writeReqid=this._writeReqid+1&St;G(l,d,u),u+=4,G(l,9,u),u+=4,l.utf8Write("copy-data",u,9),u+=9,G(l,e.length,u),u+=4,l.set(e,u),u+=e.length;for(let g=7;g>=0;--g)l[u+g]=r&255,r/=256;u+=8;for(let g=7;g>=0;--g)l[u+g]=n&255,n/=256;u+=8,G(l,i.length,u),u+=4,l.set(i,u),u+=i.length;for(let g=7;g>=0;--g)l[u+g]=o&255,o/=256;this._requests[d]={cb:s};let p=ft(this,l);if(this._debug){let g=p?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${g} copy-data`)}}ext_home_dir(e,r){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["home-directory"]!=="1")throw new Error("Server does not support this extended request");if(typeof e!="string")throw new TypeError("username is not a string");let i=0,o=Buffer.byteLength(e),s=Buffer.allocUnsafe(31+o);G(s,s.length-4,i),i+=4,s[i]=Ne.EXTENDED,++i;let a=this._writeReqid=this._writeReqid+1&St;G(s,a,i),i+=4,G(s,14,i),i+=4,s.utf8Write("home-directory",i,14),i+=14,G(s,o,i),i+=4,s.utf8Write(e,i,o),i+=o,this._requests[a]={cb:c((l,d)=>{if(typeof r=="function"){if(l)return r(l);if(!d||!d.length)return r(new Error("Response missing home directory"));r(void 0,d[0].filename)}},"cb")};let u=ft(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} home-directory`)}}ext_users_groups(e,r,n){if(this.server)throw new Error("Client-only method called in server mode");if(this._extensions["users-groups-by-id@openssh.com"]!=="1")throw new Error("Server does not support this extended request");if(!Array.isArray(e))throw new TypeError("uids is not an array");for(let l of e)if(!Number.isInteger(l)||l<0||l>2**32-1)throw new Error("uid values must all be 32-bit unsigned integers");if(!Array.isArray(r))throw new TypeError("gids is not an array");for(let l of r)if(!Number.isInteger(l)||l<0||l>2**32-1)throw new Error("gid values must all be 32-bit unsigned integers");let o=0,s=Buffer.allocUnsafe(47+4*e.length+4+4*r.length);G(s,s.length-4,o),o+=4,s[o]=Ne.EXTENDED,++o;let a=this._writeReqid=this._writeReqid+1&St;G(s,a,o),o+=4,G(s,30,o),o+=4,s.utf8Write("users-groups-by-id@openssh.com",o,30),o+=30,G(s,4*e.length,o),o+=4;for(let l of e)G(s,l,o),o+=4;G(s,4*r.length,o),o+=4;for(let l of r)G(s,l,o),o+=4;this._requests[a]={extended:"users-groups-by-id@openssh.com",cb:n};let u=ft(this,s);if(this._debug){let l=u?"Buffered":"Sending";this._debug(`SFTP: Outbound: ${l} users-groups-by-id@openssh.com`)}}handle(e,r){if(!this.server)throw new Error("Server-only method called in client mode");if(!Buffer.isBuffer(r))throw new Error("handle is not a Buffer");let n=r.length;if(n>256)throw new Error("handle too large (> 256 bytes)");let i=9,o=Buffer.allocUnsafe(13+n);G(o,o.length-4,0),o[4]=Tr.HANDLE,G(o,e,5),G(o,n,i),n&&o.set(r,i+=4);let s=ft(this,o);this._debug&&this._debug(`SFTP: Outbound: ${s?"Buffered":"Sending"} HANDLE`)}status(e,r,n){if(!this.server)throw new Error("Server-only method called in client mode");if(!$v.has(r))throw new Error(`Bad status code: ${r}`);n||(n="");let i=Buffer.byteLength(n),o=9,s=Buffer.allocUnsafe(17+i+4);G(s,s.length-4,0),s[4]=Tr.STATUS,G(s,e,5),G(s,r,o),G(s,i,o+=4),o+=4,i&&(s.utf8Write(n,o,i),o+=i),G(s,0,o);let a=ft(this,s);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} STATUS`)}data(e,r,n){if(!this.server)throw new Error("Server-only method called in client mode");let i=Buffer.isBuffer(r);if(!i&&typeof r!="string")throw new Error("data is not a Buffer or string");let o;!i&&!n&&(n=void 0,o=!0);let s=i?r.length:Buffer.byteLength(r,n),a=9,u=Buffer.allocUnsafe(13+s);G(u,u.length-4,0),u[4]=Tr.DATA,G(u,e,5),G(u,s,a),s&&(i?u.set(r,a+=4):o?u.utf8Write(r,a+=4,s):u.write(r,a+=4,s,n));let l=ft(this,u);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} DATA`)}name(e,r){if(!this.server)throw new Error("Server-only method called in client mode");if(!Array.isArray(r)){if(typeof r!="object"||r===null)throw new Error("names is not an object or array");r=[r]}let n=r.length,i=0,o,s=[];for(let d=0;d<n;++d){let p=r[d],g=!p||!p.filename||typeof p.filename!="string"?"":p.filename;i+=4+Buffer.byteLength(g);let h=!p||!p.longname||typeof p.longname!="string"?"":p.longname;if(i+=4+Buffer.byteLength(h),typeof p.attrs=="object"&&p.attrs!==null){if(o=fi(p.attrs),i+=4+o.nb,o.nb){let _;o.nb===De.length?_=new Uint8Array(De):(_=new Uint8Array(o.nb),Wn(De,_,0,o.nb,0)),o.bytes=_}s.push(o)}else i+=4,s.push(null)}let a=9,u=Buffer.allocUnsafe(13+i);G(u,u.length-4,0),u[4]=Tr.NAME,G(u,e,5),G(u,n,a),a+=4;for(let d=0;d<n;++d){let p=r[d];{let h=!p||!p.filename||typeof p.filename!="string"?"":p.filename,_=Buffer.byteLength(h);G(u,_,a),a+=4,_&&(u.utf8Write(h,a,_),a+=_)}{let h=!p||!p.longname||typeof p.longname!="string"?"":p.longname,_=Buffer.byteLength(h);G(u,_,a),a+=4,_&&(u.utf8Write(h,a,_),a+=_)}let g=s[d];g?(G(u,g.flags,a),a+=4,g.flags&&g.bytes&&(u.set(g.bytes,a),a+=g.nb)):(G(u,0,a),a+=4)}let l=ft(this,u);this._debug&&this._debug(`SFTP: Outbound: ${l?"Buffered":"Sending"} NAME`)}attrs(e,r){if(!this.server)throw new Error("Server-only method called in client mode");if(typeof r!="object"||r===null)throw new Error("attrs is not an object");r=fi(r);let n=r.flags,i=r.nb,o=9,s=Buffer.allocUnsafe(13+i);G(s,s.length-4,0),s[4]=Tr.ATTRS,G(s,e,5),G(s,n,o),i&&(o+=4,i===De.length?s.set(De,o):Wn(De,s,0,i,o),o+=i);let a=ft(this,s);this._debug&&this._debug(`SFTP: Outbound: ${a?"Buffered":"Sending"} ATTRS`)}};function Mv(t){try{return Buffer.allocUnsafe(t)}catch(e){return e}}c(Mv,"tryCreateBuffer");function Km(t,e,r,n,i,o,s,a){let u=t._maxReadLen,l=Math.max(i-u,0);l&&(i=u);let d=e.length,p=9,g=o,h=Buffer.allocUnsafe(13+d+8+4);G(h,h.length-4,0),h[4]=Ne.READ;let _=t._writeReqid=t._writeReqid+1&St;G(h,_,5),G(h,d,p),h.set(e,p+=4),p+=d;for(let v=7;v>=0;--v)h[p+v]=g&255,g/=256;G(h,i,p+=8),typeof s!="function"&&(s=Vm);let A=a||{nb:0,position:o,off:n,origOff:n,len:void 0,overflow:void 0,cb:c((v,w,H)=>{let D=A.len,J=A.overflow;if(v){if(s._wantEOFError||v.code!==mt.EOF)return s(v)}else{if(H>D)return s(new Error("Received more data than requested"));if(H===D&&J){A.nb+=H,A.position+=H,A.off+=H,Km(t,e,r,A.off,J,A.position,s,A);return}}H=H||0,A.origOff===0&&r.length===A.nb?w=r:w=io(r,A.origOff,A.origOff+A.nb+H),s(void 0,A.nb+H,w,A.position)},"cb"),buffer:void 0};A.len=i,A.overflow=l,A.buffer=io(r,n,n+i),t._requests[_]=A;let b=ft(t,h);t._debug&&t._debug(`SFTP: Outbound: ${b?"Buffered":"Sending"} READ`)}c(Km,"read_");function Fm(t,e,r,n,i,o){let s=64,a=32768,u,l,d;typeof i=="function"?o=i:typeof i=="object"&&i!==null&&(typeof i.concurrency=="number"&&i.concurrency>0&&!isNaN(i.concurrency)&&(s=i.concurrency),typeof i.chunkSize=="number"&&i.chunkSize>0&&!isNaN(i.chunkSize)&&(a=i.chunkSize),typeof i.fileSize=="number"&&i.fileSize>0&&!isNaN(i.fileSize)&&(d=i.fileSize),typeof i.step=="function"&&(u=i.step),(typeof i.mode=="string"||typeof i.mode=="number")&&(l=ef(i.mode)));let p,g=0,h=0,_=!1,A,b,v,w=a*s;function H(D){if(_)return;_=!0;let J=0,Y;A||b?(Y=c(()=>{--J===0&&o(D)},"cbfinal"),A&&(t===qn||t.outgoing.state==="open")&&++J,b&&(e===qn||e.outgoing.state==="open")&&++J,A&&(t===qn||t.outgoing.state==="open")&&t.close(A,Y),b&&(e===qn||e.outgoing.state==="open")&&e.close(b,Y)):o(D)}c(H,"onerror"),t.open(r,"r",(D,J)=>{if(D)return H(D);A=J,d===void 0?t.fstat(A,Y):Y(null,{size:d});function Y(X,P){if(X){if(t!==qn){t.stat(r,(C,M)=>{if(C)return H(X);Y(null,M)});return}return H(X)}p=P.size,e.open(n,"w",(C,M)=>{if(C)return H(C);if(b=M,p<=0)return H();for(;w>p;){if(s===1){w=p;break}w-=a,--s}if(v=Mv(w),v instanceof Error)return H(v);l!==void 0?e.fchmod(b,l,c(function B(Z){if(Z){e.chmod(n,l,te=>B());return}j()},"tryAgain")):j();function L(B,Z,te,k,W,q){if(B)return H(B);W=W||0,e.write(b,v,W,Z,k,ee);function ee(ue){if(ue)return H(ue);if(h+=Z,u&&u(h,Z,p),Z<q)return F(W,k+Z,q-Z);if(h===p){e.close(b,he=>{if(b=void 0,he)return H(he);t.close(A,xt=>{if(A=void 0,xt)return H(xt);o()})});return}if(g>=p)return;let me=g+a>p?p-g:a;F(W,g,me),g+=me}c(ee,"writeCb")}c(L,"onread");function T(B,Z,te){return(k,W,q)=>{L(k,W,q,Z,B,te)}}c(T,"makeCb");function F(B,Z,te){t.read(A,v,B,te,Z,T(B,Z,te))}c(F,"singleRead");function j(){let B=0,Z=0;for(;g<p&&B<s;){let te=g+a>p?p-g:a;F(Z,g,te),Z+=te,g+=te,++B}}c(j,"startReads")})}c(Y,"tryStat")})}c(Fm,"fastXfer");function Gl(t,e,r,n,i,o,s){let a=typeof s=="function"?s:void 0;t.write(e,r,n,i,o,(u,l)=>{if(u)return t.close(e,()=>{a&&a(u)});l===i?t.close(e,a):(n+=l,i-=l,o+=l,Gl(t,e,r,n,i,o,a))})}c(Gl,"writeAll");var Xa=class{static{c(this,"Stats")}constructor(e){this.mode=e&&e.mode,this.uid=e&&e.uid,this.gid=e&&e.gid,this.size=e&&e.size,this.atime=e&&e.atime,this.mtime=e&&e.mtime,this.extended=e&&e.extended}isDirectory(){return(this.mode&Pr.S_IFMT)===Pr.S_IFDIR}isFile(){return(this.mode&Pr.S_IFMT)===Pr.S_IFREG}isBlockDevice(){return(this.mode&Pr.S_IFMT)===Pr.S_IFBLK}isCharacterDevice(){return(this.mode&Pr.S_IFMT)===Pr.S_IFCHR}isSymbolicLink(){return(this.mode&Pr.S_IFMT)===Pr.S_IFLNK}isFIFO(){return(this.mode&Pr.S_IFMT)===Pr.S_IFIFO}isSocket(){return(this.mode&Pr.S_IFMT)===Pr.S_IFSOCK}};function fi(t){let e=0,r=0;if(typeof t=="object"&&t!==null){if(typeof t.size=="number"){e|=In.SIZE;let n=t.size;De[r++]=n/72057594037927940,De[r++]=n/281474976710656,De[r++]=n/1099511627776,De[r++]=n/4294967296,De[r++]=n/16777216,De[r++]=n/65536,De[r++]=n/256,De[r++]=n}if(typeof t.uid=="number"&&typeof t.gid=="number"){e|=In.UIDGID;let n=t.uid,i=t.gid;De[r++]=n>>>24,De[r++]=n>>>16,De[r++]=n>>>8,De[r++]=n,De[r++]=i>>>24,De[r++]=i>>>16,De[r++]=i>>>8,De[r++]=i}if(typeof t.mode=="number"||typeof t.mode=="string"){let n=ef(t.mode);e|=In.PERMISSIONS,De[r++]=n>>>24,De[r++]=n>>>16,De[r++]=n>>>8,De[r++]=n}if((typeof t.atime=="number"||Vl(t.atime))&&(typeof t.mtime=="number"||Vl(t.mtime))){let n=ro(t.atime),i=ro(t.mtime);e|=In.ACMODTIME,De[r++]=n>>>24,De[r++]=n>>>16,De[r++]=n>>>8,De[r++]=n,De[r++]=i>>>24,De[r++]=i>>>16,De[r++]=i>>>8,De[r++]=i}}return{flags:e,nb:r}}c(fi,"attrsToBytes");function ro(t){if(typeof t=="number"&&t===t)return t;if(Vl(t))return parseInt(t.getTime()/1e3,10);throw new Error(`Cannot parse time: ${t}`)}c(ro,"toUnixTimestamp");function ef(t){if(typeof t=="number"&&t===t)return t;if(typeof t=="string")return ef(parseInt(t,8));throw new Error(`Cannot parse mode: ${t}`)}c(ef,"modeNum");var Zl={r:Te.READ,"r+":Te.READ|Te.WRITE,w:Te.TRUNC|Te.CREAT|Te.WRITE,wx:Te.TRUNC|Te.CREAT|Te.WRITE|Te.EXCL,xw:Te.TRUNC|Te.CREAT|Te.WRITE|Te.EXCL,"w+":Te.TRUNC|Te.CREAT|Te.READ|Te.WRITE,"wx+":Te.TRUNC|Te.CREAT|Te.READ|Te.WRITE|Te.EXCL,"xw+":Te.TRUNC|Te.CREAT|Te.READ|Te.WRITE|Te.EXCL,a:Te.APPEND|Te.CREAT|Te.WRITE,ax:Te.APPEND|Te.CREAT|Te.WRITE|Te.EXCL,xa:Te.APPEND|Te.CREAT|Te.WRITE|Te.EXCL,"a+":Te.APPEND|Te.CREAT|Te.READ|Te.WRITE,"ax+":Te.APPEND|Te.CREAT|Te.READ|Te.WRITE|Te.EXCL,"xa+":Te.APPEND|Te.CREAT|Te.READ|Te.WRITE|Te.EXCL};function Gm(t){let e=Zl[t];return e!==void 0?e:null}c(Gm,"stringToFlags");var Fv=(()=>{let t=Object.keys(Zl);return e=>{for(let r=0;r<t.length;++r){let n=t[r];if(Zl[n]===e)return n}return null}})();function no(t){let e=U.readUInt32BE();if(e===void 0)return;let r=new Xa;if(e&In.SIZE){let n=U.readUInt64BE(t);if(n===void 0)return;r.size=n}if(e&In.UIDGID){let n=U.readUInt32BE(),i=U.readUInt32BE();if(i===void 0)return;r.uid=n,r.gid=i}if(e&In.PERMISSIONS){let n=U.readUInt32BE();if(n===void 0)return;r.mode=n}if(e&In.ACMODTIME){let n=U.readUInt32BE(),i=U.readUInt32BE();if(i===void 0)return;r.atime=n,r.mtime=i}if(e&In.EXTENDED){let n=U.readUInt32BE();if(n===void 0)return;let i={};for(let o=0;o<n;++o){let s=U.readString(!0),a=U.readString();if(a===void 0)return;i[s]=a}r.extended=i}return r}c(no,"readAttrs");function ft(t,e){let r=Zm(t,e);return r!==void 0?(t._buffer.push(r),!1):!0}c(ft,"sendOrBuffer");function Zm(t,e){let r=t.outgoing;if(r.state!=="open")return;if(r.window===0)return t._waitWindow=!0,t._chunkcb=Hm,e;let n,i=e.length,o=0;for(;i-o>0&&r.window>0;){let s=Math.min(i-o,r.window,r.packetSize);r.window-=s,r.window===0&&(t._waitWindow=!0,t._chunkcb=Hm),o===0&&s===i?t._protocol.channelData(t.outgoing.id,e):t._protocol.channelData(t.outgoing.id,io(e,o,o+s)),o+=s}return i-o>0&&(o>0?n=io(e,o,i):n=e),n}c(Zm,"tryWritePayload");function Hm(){this._chunkcb=void 0;let t=this._buffer,e=0;for(;e<t.length;){let r=t[e],n=Zm(this,r);if(n!==void 0){n!==r&&(t[e]=n),e>0&&(this._buffer=t.slice(e));return}++e}e>0&&(this._buffer=[])}c(Hm,"drainBuffer");function At(t,e,r){let n=new Error(e);return n.level="sftp-protocol",!r&&t._debug&&t._debug(`SFTP: Inbound: ${e}`),t.emit("error",n),t.destroy(),Ym(t),!1}c(At,"doFatalSFTPError");function Ym(t){let e=Object.keys(t._requests);if(e.length===0)return;let r=t._requests;t._requests={};let n=new Error("No response from server");for(let i=0;i<e.length;++i){let o=r[e[i]];typeof o.cb=="function"&&o.cb(n)}}c(Ym,"cleanupRequests");function Hv(t,e){let r=9,n=Buffer.allocUnsafe(31);G(n,n.length-4,0),n[4]=Ne.EXTENDED;let i=t._writeReqid=t._writeReqid+1&St;G(n,i,5),G(n,18,r),n.utf8Write("limits@openssh.com",r+=4,18),t._requests[i]={extended:"limits@openssh.com",cb:e};let o=ft(t,n);if(t._debug){let s=o?"Buffered":"Sending";t._debug(`SFTP: Outbound: ${s} limits@openssh.com`)}}c(Hv,"requestLimits");var jv={[Tr.VERSION]:(t,e)=>{if(t._version!==-1)return At(t,"Duplicate VERSION packet");let r={};U.init(e,1);let n=U.readUInt32BE();for(;U.avail();){let i=U.readString(!0),o=U.readString(!0);if(o===void 0){n=void 0;break}r[i]=o}if(U.clear(),n===void 0)return At(t,"Malformed VERSION packet");if(t._debug){let i=Object.keys(r);i.length?t._debug(`SFTP: Inbound: Received VERSION (v${n}, exts:${i})`):t._debug(`SFTP: Inbound: Received VERSION (v${n})`)}if(t._version=n,t._extensions=r,r["limits@openssh.com"]==="1")return Hv(t,(i,o)=>{i||(o.maxPktLen>0&&(t._maxOutPktLen=o.maxPktLen),o.maxReadLen>0&&(t._maxReadLen=o.maxReadLen),o.maxWriteLen>0&&(t._maxWriteLen=o.maxWriteLen),t.maxOpenHandles=o.maxOpenHandles>0?o.maxOpenHandles:1/0),t.emit("ready")});t.emit("ready")},[Tr.STATUS]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readUInt32BE(),i=U.readString(!0);if(U.clear(),t._debug){let s=JSON.stringify(i);t._debug(`SFTP: Inbound: Received STATUS (id:${r}, ${n}, ${s})`)}let o=t._requests[r];if(delete t._requests[r],o&&typeof o.cb=="function"){if(n===mt.OK){o.cb();return}let s=new Error(i||Dv[n]||"Unknown status");s.code=n,o.cb(s)}},[Tr.HANDLE]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString();if(U.clear(),n===void 0)return r!==void 0&&delete t._requests[r],At(t,"Malformed HANDLE packet");t._debug&&t._debug(`SFTP: Inbound: Received HANDLE (id:${r})`);let i=t._requests[r];delete t._requests[r],i&&typeof i.cb=="function"&&i.cb(void 0,n)},[Tr.DATA]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n;if(r!==void 0&&(n=t._requests[r],delete t._requests[r]),n&&typeof n.cb=="function")if(n.buffer){let i=U.readString(n.buffer);if(U.clear(),i!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received DATA (id:${r}, ${i})`),n.cb(void 0,n.buffer,i);return}}else{let i=U.readString();if(U.clear(),i!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received DATA (id:${r}, ${i.length})`),n.cb(void 0,i);return}}else{let i=U.skipString();if(U.clear(),i!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received DATA (id:${r}, ${i})`);return}}return At(t,"Malformed DATA packet")},[Tr.NAME]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n;r!==void 0&&(n=t._requests[r],delete t._requests[r]);let i=U.readUInt32BE();if(i!==void 0){let o=[];for(let s=0;s<i;++s){let a=U.readString(!0),u=U.readString(!0),l=no(t._biOpt);if(l===void 0){o=void 0;break}o.push({filename:a,longname:u,attrs:l})}if(o!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received NAME (id:${r}, ${o.length})`),U.clear(),n&&typeof n.cb=="function"&&n.cb(void 0,o);return}}return U.clear(),At(t,"Malformed NAME packet")},[Tr.ATTRS]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n;r!==void 0&&(n=t._requests[r],delete t._requests[r]);let i=no(t._biOpt);if(U.clear(),i!==void 0){t._debug&&t._debug(`SFTP: Inbound: Received ATTRS (id:${r})`),n&&typeof n.cb=="function"&&n.cb(void 0,i);return}return At(t,"Malformed ATTRS packet")},[Tr.EXTENDED]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE();if(r!==void 0){let n=t._requests[r];if(n)switch(delete t._requests[r],n.extended){case"statvfs@openssh.com":case"fstatvfs@openssh.com":{let i=t._biOpt,o={f_bsize:U.readUInt64BE(i),f_frsize:U.readUInt64BE(i),f_blocks:U.readUInt64BE(i),f_bfree:U.readUInt64BE(i),f_bavail:U.readUInt64BE(i),f_files:U.readUInt64BE(i),f_ffree:U.readUInt64BE(i),f_favail:U.readUInt64BE(i),f_sid:U.readUInt64BE(i),f_flag:U.readUInt64BE(i),f_namemax:U.readUInt64BE(i)};if(o.f_namemax===void 0)break;t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ${n.extended})`),U.clear(),typeof n.cb=="function"&&n.cb(void 0,o);return}case"limits@openssh.com":{let i={maxPktLen:U.readUInt64BE(),maxReadLen:U.readUInt64BE(),maxWriteLen:U.readUInt64BE(),maxOpenHandles:U.readUInt64BE()};if(i.maxOpenHandles===void 0)break;t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ${n.extended})`),U.clear(),typeof n.cb=="function"&&n.cb(void 0,i);return}case"users-groups-by-id@openssh.com":{let i=U.readUInt32BE();if(i===void 0)break;let o=new Array(i);for(let u=0;u<o.length;++u)o[u]=U.readString(!0);let s=U.readUInt32BE();if(s===void 0)break;let a=new Array(s);for(let u=0;u<a.length;++u)a[u]=U.readString(!0);if(a.length>0&&a[a.length-1]===void 0)break;t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ${n.extended})`),U.clear(),typeof n.cb=="function"&&n.cb(void 0,o,a);return}default:t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ???)`),U.clear(),typeof n.cb=="function"&&n.cb();return}else{t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED_REPLY (id:${r}, ???)`),U.clear();return}}return U.clear(),At(t,"Malformed EXTENDED_REPLY packet")}},Wv={[Ne.INIT]:(t,e)=>{if(t._version!==-1)return At(t,"Duplicate INIT packet");let r={};U.init(e,1);let n=U.readUInt32BE();for(;U.avail();){let i=U.readString(!0),o=U.readString(!0);if(o===void 0){n=void 0;break}r[i]=o}if(U.clear(),n===void 0)return At(t,"Malformed INIT packet");if(t._debug){let i=Object.keys(r);i.length?t._debug(`SFTP: Inbound: Received INIT (v${n}, exts:${i})`):t._debug(`SFTP: Inbound: Received INIT (v${n})`)}ft(t,Uv),t._version=n,t._extensions=r,t.emit("ready")},[Ne.OPEN]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=U.readUInt32BE(),o=no(t._biOpt);if(U.clear(),o===void 0)return At(t,"Malformed OPEN packet");t._debug&&t._debug(`SFTP: Inbound: Received OPEN (id:${r})`),t.emit("OPEN",r,n,i,o)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.CLOSE]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString();if(U.clear(),n===void 0||n.length>256)return At(t,"Malformed CLOSE packet");t._debug&&t._debug(`SFTP: Inbound: Received CLOSE (id:${r})`),t.emit("CLOSE",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.READ]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(),i=U.readUInt64BE(t._biOpt),o=U.readUInt32BE();if(U.clear(),o===void 0||n.length>256)return At(t,"Malformed READ packet");t._debug&&t._debug(`SFTP: Inbound: Received READ (id:${r})`),t.emit("READ",r,n,i,o)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.WRITE]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(),i=U.readUInt64BE(t._biOpt),o=U.readString();if(U.clear(),o===void 0||n.length>256)return At(t,"Malformed WRITE packet");t._debug&&t._debug(`SFTP: Inbound: Received WRITE (id:${r})`),t.emit("WRITE",r,n,i,o)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.LSTAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return At(t,"Malformed LSTAT packet");t._debug&&t._debug(`SFTP: Inbound: Received LSTAT (id:${r})`),t.emit("LSTAT",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.FSTAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString();if(U.clear(),n===void 0||n.length>256)return At(t,"Malformed FSTAT packet");t._debug&&t._debug(`SFTP: Inbound: Received FSTAT (id:${r})`),t.emit("FSTAT",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.SETSTAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=no(t._biOpt);if(U.clear(),i===void 0)return At(t,"Malformed SETSTAT packet");t._debug&&t._debug(`SFTP: Inbound: Received SETSTAT (id:${r})`),t.emit("SETSTAT",r,n,i)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.FSETSTAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(),i=no(t._biOpt);if(U.clear(),i===void 0||n.length>256)return At(t,"Malformed FSETSTAT packet");t._debug&&t._debug(`SFTP: Inbound: Received FSETSTAT (id:${r})`),t.emit("FSETSTAT",r,n,i)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.OPENDIR]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return At(t,"Malformed OPENDIR packet");t._debug&&t._debug(`SFTP: Inbound: Received OPENDIR (id:${r})`),t.emit("OPENDIR",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.READDIR]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString();if(U.clear(),n===void 0||n.length>256)return At(t,"Malformed READDIR packet");t._debug&&t._debug(`SFTP: Inbound: Received READDIR (id:${r})`),t.emit("READDIR",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.REMOVE]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return At(t,"Malformed REMOVE packet");t._debug&&t._debug(`SFTP: Inbound: Received REMOVE (id:${r})`),t.emit("REMOVE",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.MKDIR]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=no(t._biOpt);if(U.clear(),i===void 0)return At(t,"Malformed MKDIR packet");t._debug&&t._debug(`SFTP: Inbound: Received MKDIR (id:${r})`),t.emit("MKDIR",r,n,i)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.RMDIR]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return At(t,"Malformed RMDIR packet");t._debug&&t._debug(`SFTP: Inbound: Received RMDIR (id:${r})`),t.emit("RMDIR",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.REALPATH]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return At(t,"Malformed REALPATH packet");t._debug&&t._debug(`SFTP: Inbound: Received REALPATH (id:${r})`),t.emit("REALPATH",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.STAT]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return At(t,"Malformed STAT packet");t._debug&&t._debug(`SFTP: Inbound: Received STAT (id:${r})`),t.emit("STAT",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.RENAME]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=U.readString(!0);if(U.clear(),i===void 0)return At(t,"Malformed RENAME packet");t._debug&&t._debug(`SFTP: Inbound: Received RENAME (id:${r})`),t.emit("RENAME",r,n,i)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.READLINK]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(U.clear(),n===void 0)return At(t,"Malformed READLINK packet");t._debug&&t._debug(`SFTP: Inbound: Received READLINK (id:${r})`),t.emit("READLINK",r,n)||t.status(r,mt.OP_UNSUPPORTED)},[Ne.SYMLINK]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0),i=U.readString(!0);if(U.clear(),i===void 0)return At(t,"Malformed SYMLINK packet");t._debug&&t._debug(`SFTP: Inbound: Received SYMLINK (id:${r})`);let o;t._isOpenSSH?o=t.emit("SYMLINK",r,i,n):o=t.emit("SYMLINK",r,n,i),o||t.status(r,mt.OP_UNSUPPORTED)},[Ne.EXTENDED]:(t,e)=>{U.init(e,1);let r=U.readUInt32BE(),n=U.readString(!0);if(n===void 0)return U.clear(),At(t,"Malformed EXTENDED packet");let i;U.avail()&&(i=U.readRaw()),U.clear(),t._debug&&t._debug(`SFTP: Inbound: Received EXTENDED (id:${r})`),t.emit("EXTENDED",r,n,i)||t.status(r,mt.OP_UNSUPPORTED)}},{ERR_INVALID_ARG_TYPE:qv,ERR_OUT_OF_RANGE:Ya,validateNumber:Qv}=zm(),jm=128,Ir,Yl=[];function Vv(t){Yl.length>0?Ir=Yl.pop():Ir=Buffer.allocUnsafe(t),Ir.used=0}c(Vv,"allocNewPool");function Xl(t,e){if(!Number.isSafeInteger(t))throw Qv(t,e),Number.isInteger(t)?new Ya(e,">= 0 and <= 2 ** 53 - 1",t):new Ya(e,"an integer",t);if(t<0)throw new Ya(e,">= 0 and <= 2 ** 53 - 1",t)}c(Xl,"checkPosition");function Ql(t){return t+7&-8}c(Ql,"roundUpToMultipleOf8");function vn(t,e,r){if(r===void 0)r={};else if(typeof r=="string")r={encoding:r};else{if(r===null||typeof r!="object")throw new TypeError('"options" argument must be a string or an object');r=Object.create(r)}if(r.highWaterMark===void 0&&(r.highWaterMark=64*1024),r.emitClose=!1,r.autoDestroy=!1,qm.call(this,r),this.path=e,this.flags=r.flags===void 0?"r":r.flags,this.mode=r.mode===void 0?438:r.mode,this.start=r.start,this.end=r.end,this.autoClose=r.autoClose===void 0?!0:r.autoClose,this.pos=0,this.bytesRead=0,this.isClosed=!1,this.handle=r.handle===void 0?null:r.handle,this.sftp=t,this._opening=!1,this.start!==void 0&&(Xl(this.start,"start"),this.pos=this.start),this.end===void 0)this.end=1/0;else if(this.end!==1/0&&(Xl(this.end,"end"),this.start!==void 0&&this.start>this.end))throw new Ya("start",`<= "end" (here: ${this.end})`,this.start);this.on("end",function(){this.autoClose&&this.destroy()}),Buffer.isBuffer(this.handle)||this.open()}c(vn,"ReadStream");Qm(vn,qm);vn.prototype.open=function(){this._opening||(this._opening=!0,this.sftp.open(this.path,this.flags,this.mode,(t,e)=>{if(this._opening=!1,t){this.emit("error",t),this.autoClose&&this.destroy();return}this.handle=e,this.emit("open",e),this.emit("ready"),this.read()}))};vn.prototype._read=function(t){if(!Buffer.isBuffer(this.handle))return this.once("open",()=>this._read(t));if(this.destroyed)return;(!Ir||Ir.length-Ir.used<jm)&&Vv(this.readableHighWaterMark||this._readableState.highWaterMark);let e=Ir,r=Math.min(Ir.length-Ir.used,t),n=Ir.used;if(this.end!==void 0&&(r=Math.min(this.end-this.pos+1,r)),r<=0)return this.push(null);this.sftp.read(this.handle,Ir,Ir.used,r,this.pos,(i,o)=>{if(i){this.emit("error",i),this.autoClose&&this.destroy();return}let s=null;if(n+r===e.used&&e===Ir)e.used=Ql(e.used+o-r);else{let a=n+r&-8,u=Ql(n+o);a-u>=jm&&Yl.push(e.slice(u,a))}o>0&&(this.bytesRead+=o,s=e.slice(n,n+o)),this.pos+=o,this.push(s)}),Ir.used=Ql(Ir.used+r)};vn.prototype._destroy=function(t,e){if(this._opening&&!Buffer.isBuffer(this.handle)){this.once("open",Wm.bind(null,this,e,t));return}Wm(this,e,t),this.handle=null,this._opening=!1};function Wm(t,e,r){if(!t.handle)return n();t.sftp.close(t.handle,n);function n(i){i=i||r,e(i),t.isClosed=!0,i||t.emit("close")}c(n,"onclose")}c(Wm,"closeStream");vn.prototype.close=function(t){this.destroy(null,t)};Object.defineProperty(vn.prototype,"pending",{get(){return this.handle===null},configurable:!0});function Fr(t,e,r){if(r===void 0)r={};else if(typeof r=="string")r={encoding:r};else{if(r===null||typeof r!="object")throw new TypeError('"options" argument must be a string or an object');r=Object.create(r)}r.emitClose=!1,r.autoDestroy=!1,Jl.call(this,r),this.path=e,this.flags=r.flags===void 0?"w":r.flags,this.mode=r.mode===void 0?438:r.mode,this.start=r.start,this.autoClose=r.autoClose===void 0?!0:r.autoClose,this.pos=0,this.bytesWritten=0,this.isClosed=!1,this.handle=r.handle===void 0?null:r.handle,this.sftp=t,this._opening=!1,this.start!==void 0&&(Xl(this.start,"start"),this.pos=this.start),r.encoding&&this.setDefaultEncoding(r.encoding),this.on("finish",function(){this._writableState.finalCalled||this.autoClose&&this.destroy()}),Buffer.isBuffer(this.handle)||this.open()}c(Fr,"WriteStream");Qm(Fr,Jl);Fr.prototype._final=function(t){this.autoClose&&this.destroy(),t()};Fr.prototype.open=function(){this._opening||(this._opening=!0,this.sftp.open(this.path,this.flags,this.mode,(t,e)=>{if(this._opening=!1,t){this.emit("error",t),this.autoClose&&this.destroy();return}this.handle=e;let r=c(n=>{if(n){this.sftp.chmod(this.path,this.mode,i=>r());return}if(this.flags[0]==="a"){let i=c((o,s)=>{if(o){this.sftp.stat(this.path,(a,u)=>{if(a){this.destroy(),this.emit("error",o);return}i(null,u)});return}this.pos=s.size,this.emit("open",e),this.emit("ready")},"tryStat");this.sftp.fstat(e,i);return}this.emit("open",e),this.emit("ready")},"tryAgain");this.sftp.fchmod(e,this.mode,r)}))};Fr.prototype._write=function(t,e,r){if(!Buffer.isBuffer(t)){let n=new qv("data","Buffer",t);return this.emit("error",n)}if(!Buffer.isBuffer(this.handle))return this.once("open",function(){this._write(t,e,r)});this.sftp.write(this.handle,t,0,t.length,this.pos,(n,i)=>{if(n)return this.autoClose&&this.destroy(),r(n);this.bytesWritten+=i,r()}),this.pos+=t.length};Fr.prototype._writev=function(t,e){if(!Buffer.isBuffer(this.handle))return this.once("open",function(){this._writev(t,e)});let r=this.sftp,n=this.handle,i=t.length,o=c((s,a)=>{if(s)return this.destroy(),e(s);this.bytesWritten+=a,--i===0&&e()},"onwrite");for(let s=0;s<t.length;++s){let a=t[s].chunk;r.write(n,a,0,a.length,this.pos,o),this.pos+=a.length}};typeof Jl.prototype.destroy!="function"&&(Fr.prototype.destroy=vn.prototype.destroy);Fr.prototype._destroy=vn.prototype._destroy;Fr.prototype.close=function(t){if(t){if(this.isClosed){process.nextTick(t);return}this.on("close",t)}this.autoClose||this.on("finish",this.destroy.bind(this)),this.end()};Fr.prototype.destroySoon=Fr.prototype.end;Object.defineProperty(Fr.prototype,"pending",{get(){return this.handle===null},configurable:!0});Xm.exports={flagsToString:Fv,OPEN_MODE:Te,SFTP:Kl,Stats:Xa,STATUS_CODE:mt,stringToFlags:Gm}});var af=le((jF,r_)=>{"use strict";var{Duplex:Kv,Readable:Gv,Writable:Zv}=require("stream"),{CHANNEL_EXTENDED_DATATYPE:{STDERR:Jm}}=An(),{bufferSlice:Ja}=Qr(),Yv=32*1024,hs=2*1024*1024,of=hs/2,tf=class extends Gv{static{c(this,"ClientStderr")}constructor(e,r){super(r),this._channel=e}_read(e){this._channel._waitChanDrain&&(this._channel._waitChanDrain=!1,this._channel.incoming.window<=of&&sf(this._channel))}},rf=class extends Zv{static{c(this,"ServerStderr")}constructor(e){super({highWaterMark:hs}),this._channel=e}_write(e,r,n){let i=this._channel,o=i._client._protocol,s=i.outgoing,a=s.packetSize,u=s.id,l=s.window,d=e.length,p=0;if(s.state==="open"){for(;d-p>0&&l>0;){let g=d-p;g>l&&(g=l),g>a&&(g=a),p===0&&g===d?o.channelExtData(u,e,Jm):o.channelExtData(u,Ja(e,p,p+g),Jm),p+=g,l-=g}if(s.window=l,d-p>0){l===0&&(i._waitWindow=!0),p>0?i._chunkErr=Ja(e,p,d):i._chunkErr=e,i._chunkcbErr=n;return}n()}}},nf=class extends Kv{static{c(this,"Channel")}constructor(e,r,n){let i={highWaterMark:hs,allowHalfOpen:!n||n&&n.allowHalfOpen!==!1,emitClose:!1};super(i),this.allowHalfOpen=i.allowHalfOpen;let o=!!(n&&n.server);this.server=o,this.type=r.type,this.subtype=void 0,this.incoming=r.incoming,this.outgoing=r.outgoing,this._callbacks=[],this._client=e,this._hasX11=!1,this._exit={code:void 0,signal:void 0,dump:void 0,desc:void 0},this.stdin=this.stdout=this,o?this.stderr=new rf(this):this.stderr=new tf(this,i),this._waitWindow=!1,this._waitChanDrain=!1,this._chunk=void 0,this._chunkcb=void 0,this._chunkErr=void 0,this._chunkcbErr=void 0,this.on("finish",e_).on("prefinish",e_),this.on("end",t_).on("close",t_)}_read(e){this._waitChanDrain&&(this._waitChanDrain=!1,this.incoming.window<=of&&sf(this))}_write(e,r,n){let i=this._client._protocol,o=this.outgoing,s=o.packetSize,a=o.id,u=o.window,l=e.length,d=0;if(o.state==="open"){for(;l-d>0&&u>0;){let p=l-d;p>u&&(p=u),p>s&&(p=s),d===0&&p===l?i.channelData(a,e):i.channelData(a,Ja(e,d,d+p)),d+=p,u-=p}if(o.window=u,l-d>0){u===0&&(this._waitWindow=!0),d>0?this._chunk=Ja(e,d,l):this._chunk=e,this._chunkcb=n;return}n()}}eof(){this.outgoing.state==="open"&&(this.outgoing.state="eof",this._client._protocol.channelEOF(this.outgoing.id))}close(){(this.outgoing.state==="open"||this.outgoing.state==="eof")&&(this.outgoing.state="closing",this._client._protocol.channelClose(this.outgoing.id))}destroy(){return this.end(),this.close(),this}setWindow(e,r,n,i){if(this.server)throw new Error("Client-only method called in server mode");this.type==="session"&&(this.subtype==="shell"||this.subtype==="exec")&&this.writable&&this.outgoing.state==="open"&&this._client._protocol.windowChange(this.outgoing.id,e,r,n,i)}signal(e){if(this.server)throw new Error("Client-only method called in server mode");this.type==="session"&&this.writable&&this.outgoing.state==="open"&&this._client._protocol.signal(this.outgoing.id,e)}exit(e,r,n){if(!this.server)throw new Error("Server-only method called in client mode");this.type==="session"&&this.writable&&this.outgoing.state==="open"&&(typeof e=="number"?this._client._protocol.exitStatus(this.outgoing.id,e):this._client._protocol.exitSignal(this.outgoing.id,e,r,n))}};function e_(){this.eof(),(this.server||!this.allowHalfOpen)&&this.close(),this.writable=!1}c(e_,"onFinish");function t_(){this.readable=!1}c(t_,"onEnd");function sf(t){if(t.outgoing.state==="closed")return;let e=hs-t.incoming.window;e<=0||(t.incoming.window+=e,t._client._protocol.channelWindowAdjust(t.outgoing.id,e))}c(sf,"windowAdjust");r_.exports={Channel:nf,MAX_WINDOW:hs,PACKET_SIZE:Yv,windowAdjust:sf,WINDOW_THRESHOLD:of}});var lf=le((qF,o_)=>{"use strict";var{SFTP:Xv}=ps(),gs=2**32-1;function n_(t,e,r,n){if(t._chanMgr.remove(e),typeof n!="function")return;let i;r instanceof Error?i=r:typeof r=="object"&&r!==null?(i=new Error(`(SSH) Channel open failure: ${r.description}`),i.reason=r.reason):(i=new Error("(SSH) Channel open failure: server closed channel unexpectedly"),i.reason=""),n(i)}c(n_,"onChannelOpenFailure");function i_(t,e,r,n,i){if(typeof r=="function"){n_(t,e,n,r);return}if(typeof r!="object"||r===null||r.incoming&&r.incoming.state==="closed"||(t._chanMgr.remove(e),r.server&&r.constructor.name==="Session"))return;r.incoming.state="closed",r.readable&&r.push(null),r.server?r.stderr.writable&&r.stderr.end():r.stderr.readable&&r.stderr.push(null),r.constructor!==Xv&&(r.outgoing.state==="open"||r.outgoing.state==="eof")&&!i&&r.close(),r.outgoing.state==="closing"&&(r.outgoing.state="closed");let o=r._readableState,s=r._writableState;s&&!s.ending&&!s.finished&&!i&&r.end();let a=r._callbacks;r._callbacks=[];for(let u=0;u<a.length;++u)a[u](!0);if(r.server)!r.readable||r.destroyed||o&&o.endEmitted?r.emit("close"):r.once("end",()=>r.emit("close"));else{let u;switch(r.type){case"direct-streamlocal@openssh.com":case"direct-tcpip":u=c(()=>r.emit("close"),"doClose");break;default:{let d=r._exit;u=c(()=>{d.code===null?r.emit("close",d.code,d.signal,d.dump,d.desc):r.emit("close",d.code)},"doClose")}}!r.readable||r.destroyed||o&&o.endEmitted?u():r.once("end",u);let l=r.stderr._readableState;!r.stderr.readable||r.stderr.destroyed||l&&l.endEmitted?r.stderr.emit("close"):r.stderr.once("end",()=>r.stderr.emit("close"))}}c(i_,"onCHANNEL_CLOSE");var uf=class{static{c(this,"ChannelManager")}constructor(e){this._client=e,this._channels={},this._cur=-1,this._count=0}add(e){let r;if(this._cur<gs)r=++this._cur;else if(this._count===0)this._cur=0,r=0;else{let n=this._channels;for(let i=0;i<gs;++i)if(n[i]===void 0){r=i;break}}return r===void 0?-1:(this._channels[r]=e||!0,++this._count,r)}update(e,r){if(typeof e!="number"||e<0||e>=gs||!isFinite(e))throw new Error(`Invalid channel id: ${e}`);r&&this._channels[e]&&(this._channels[e]=r)}get(e){if(typeof e!="number"||e<0||e>=gs||!isFinite(e))throw new Error(`Invalid channel id: ${e}`);return this._channels[e]}remove(e){if(typeof e!="number"||e<0||e>=gs||!isFinite(e))throw new Error(`Invalid channel id: ${e}`);this._channels[e]&&(delete this._channels[e],this._count&&--this._count)}cleanup(e){let r=this._channels;this._channels={},this._cur=-1,this._count=0;let n=Object.keys(r),i=this._client;for(let o=0;o<n.length;++o){let s=+n[o],a=r[s];i_(i,s,a._channel||a,e,!0)}}},cf=(()=>{let t=Object.prototype.toString;return e=>t.call(e)==="[object RegExp]"})();function Jv(t,e,r){if(Array.isArray(t)&&t.length>0){for(let n=0;n<t.length;++n)if(r.indexOf(t[n])===-1)throw new Error(`Unsupported algorithm: ${t[n]}`);return t}if(typeof t=="object"&&t!==null){let n=Object.keys(t),i=e;for(let o=0;o<n.length;++o){let s=n[o],a=t[s];switch(s){case"append":if(Array.isArray(a)||(a=[a]),Array.isArray(a))for(let u=0;u<a.length;++u){let l=a[u];if(typeof l=="string"){if(!l||i.indexOf(l)!==-1)continue;if(r.indexOf(l)===-1)throw new Error(`Unsupported algorithm: ${l}`);i===e&&(i=i.slice()),i.push(l)}else if(cf(l))for(let d=0;d<r.length;++d){let p=r[d];if(l.test(p)){if(i.indexOf(p)!==-1)continue;i===e&&(i=i.slice()),i.push(p)}}}break;case"prepend":if(Array.isArray(a)||(a=[a]),Array.isArray(a))for(let u=a.length;u>=0;--u){let l=a[u];if(typeof l=="string"){if(!l||i.indexOf(l)!==-1)continue;if(r.indexOf(l)===-1)throw new Error(`Unsupported algorithm: ${l}`);i===e&&(i=i.slice()),i.unshift(l)}else if(cf(l))for(let d=r.length;d>=0;--d){let p=r[d];if(l.test(p)){if(i.indexOf(p)!==-1)continue;i===e&&(i=i.slice()),i.unshift(p)}}}break;case"remove":if(Array.isArray(a)||(a=[a]),Array.isArray(a))for(let u=0;u<a.length;++u){let l=a[u];if(typeof l=="string"){if(!l)continue;let d=i.indexOf(l);if(d===-1)continue;i===e&&(i=i.slice()),i.splice(d,1)}else if(cf(l))for(let d=0;d<i.length;++d)l.test(i[d])&&(i===e&&(i=i.slice()),i.splice(d,1),--d)}break}}return i}return e}c(Jv,"generateAlgorithmList");o_.exports={ChannelManager:uf,generateAlgorithmList:Jv,onChannelOpenFailure:n_,onCHANNEL_CLOSE:i_,isWritable:c(t=>t&&t.writable&&t._readableState&&t._readableState.ended===!1,"isWritable")}});var gf=le((VF,P_)=>{"use strict";var{createHash:eS,getHashes:tS,randomFillSync:rS}=require("crypto"),{Socket:nS}=require("net"),{lookup:iS}=require("dns"),oS=require("events"),sS=tS(),{COMPAT:v_,CHANNEL_EXTENDED_DATATYPE:{STDERR:aS},CHANNEL_OPEN_FAILURE:ms,DEFAULT_CIPHER:s_,DEFAULT_COMPRESSION:a_,DEFAULT_KEX:c_,DEFAULT_MAC:u_,DEFAULT_SERVER_HOST_KEY:l_,DISCONNECT_REASON:f_,DISCONNECT_REASON_BY_VALUE:cS,SUPPORTED_CIPHER:uS,SUPPORTED_COMPRESSION:lS,SUPPORTED_KEX:fS,SUPPORTED_MAC:dS,SUPPORTED_SERVER_HOST_KEY:pS}=An(),{init:hS}=Mn(),gS=Wl(),{parseKey:rc}=jn(),{SFTP:mS}=ps(),{bufferCopy:d_,makeBufferParser:S_,makeError:_S,readUInt32BE:yS,sigSSHToASN1:ES,writeUInt32BE:ff}=Qr(),{AgentContext:p_,createAgent:h_,isAgent:g_}=Cl(),{Channel:w_,MAX_WINDOW:nc,PACKET_SIZE:ic,windowAdjust:m_,WINDOW_THRESHOLD:__}=af(),{ChannelManager:AS,generateAlgorithmList:_s,isWritable:nr,onChannelOpenFailure:bS,onCHANNEL_CLOSE:xS}=lf(),ec=S_(),tc=S_(),ys=/^OpenSSH_(?:(?![0-4])\d)|(?:\d{2,})/,pf=c(t=>{},"noop"),hf=class extends oS{static{c(this,"Client")}constructor(){super(),this.config={host:void 0,port:void 0,localAddress:void 0,localPort:void 0,forceIPv4:void 0,forceIPv6:void 0,keepaliveCountMax:void 0,keepaliveInterval:void 0,readyTimeout:void 0,ident:void 0,username:void 0,password:void 0,privateKey:void 0,tryKeyboard:void 0,agent:void 0,allowAgentFwd:void 0,authHandler:void 0,hostHashAlgo:void 0,hostHashCb:void 0,strictVendor:void 0,debug:void 0},this._agent=void 0,this._readyTimeout=void 0,this._chanMgr=void 0,this._callbacks=void 0,this._forwarding=void 0,this._forwardingUnix=void 0,this._acceptX11=void 0,this._agentFwdEnabled=void 0,this._remoteVer=void 0,this._protocol=void 0,this._sock=void 0,this._resetKA=void 0}connect(e){if(this._sock&&nr(this._sock))return this.once("close",()=>{this.connect(e)}),this.end(),this;this.config.host=e.hostname||e.host||"localhost",this.config.port=e.port||22,this.config.localAddress=typeof e.localAddress=="string"?e.localAddress:void 0,this.config.localPort=typeof e.localPort=="string"||typeof e.localPort=="number"?e.localPort:void 0,this.config.forceIPv4=e.forceIPv4||!1,this.config.forceIPv6=e.forceIPv6||!1,this.config.keepaliveCountMax=typeof e.keepaliveCountMax=="number"&&e.keepaliveCountMax>=0?e.keepaliveCountMax:3,this.config.keepaliveInterval=typeof e.keepaliveInterval=="number"&&e.keepaliveInterval>0?e.keepaliveInterval:0,this.config.readyTimeout=typeof e.readyTimeout=="number"&&e.readyTimeout>=0?e.readyTimeout:2e4,this.config.ident=typeof e.ident=="string"||Buffer.isBuffer(e.ident)?e.ident:void 0;let r={kex:void 0,serverHostKey:void 0,cs:{cipher:void 0,mac:void 0,compress:void 0,lang:[]},sc:void 0},n=!0;if(typeof e.algorithms=="object"&&e.algorithms!==null&&(r.kex=_s(e.algorithms.kex,c_,fS),r.kex!==c_&&(n=!1),r.serverHostKey=_s(e.algorithms.serverHostKey,l_,pS),r.serverHostKey!==l_&&(n=!1),r.cs.cipher=_s(e.algorithms.cipher,s_,uS),r.cs.cipher!==s_&&(n=!1),r.cs.mac=_s(e.algorithms.hmac,u_,dS),r.cs.mac!==u_&&(n=!1),r.cs.compress=_s(e.algorithms.compress,a_,lS),r.cs.compress!==a_&&(n=!1),n||(r.sc=r.cs)),typeof e.username=="string")this.config.username=e.username;else if(typeof e.user=="string")this.config.username=e.user;else throw new Error("Invalid username");this.config.password=typeof e.password=="string"?e.password:void 0,this.config.privateKey=typeof e.privateKey=="string"||Buffer.isBuffer(e.privateKey)?e.privateKey:void 0,this.config.localHostname=typeof e.localHostname=="string"?e.localHostname:void 0,this.config.localUsername=typeof e.localUsername=="string"?e.localUsername:void 0,this.config.tryKeyboard=e.tryKeyboard===!0,typeof e.agent=="string"&&e.agent.length?this.config.agent=h_(e.agent):g_(e.agent)?this.config.agent=e.agent:this.config.agent=void 0,this.config.allowAgentFwd=e.agentForward===!0&&this.config.agent!==void 0;let i=this.config.authHandler=typeof e.authHandler=="function"||Array.isArray(e.authHandler)?e.authHandler:void 0;this.config.strictVendor=typeof e.strictVendor=="boolean"?e.strictVendor:!0;let o=this.config.debug=typeof e.debug=="function"?e.debug:void 0;if(e.agentForward===!0&&!this.config.allowAgentFwd)throw new Error("You must set a valid agent path to allow agent forwarding");let s=this._callbacks=[];this._chanMgr=new AS(this),this._forwarding={},this._forwardingUnix={},this._acceptX11=0,this._agentFwdEnabled=!1,this._agent=this.config.agent?this.config.agent:void 0,this._remoteVer=void 0;let a;if(this.config.privateKey){if(a=rc(this.config.privateKey,e.passphrase),a instanceof Error)throw new Error(`Cannot parse privateKey: ${a.message}`);if(Array.isArray(a)&&(a=a[0]),a.getPrivatePEM()===null)throw new Error("privateKey value does not contain a (valid) private key")}let u;if(typeof e.hostVerifier=="function"){let k=e.hostVerifier,W;sS.indexOf(e.hostHash)!==-1&&(W=e.hostHash),u=c((q,ee)=>{W&&(q=eS(W).update(q).digest("hex"));let ue=k(q,ee);ue!==void 0&&ee(ue)},"hostVerifier")}let l=this._sock=e.sock||new nS,d=!1,p=!1;this._protocol&&this._protocol.cleanup();let g=o?(k,W,q)=>{o(`Debug output from server: ${JSON.stringify(q)}`)}:void 0,h,_=this._protocol=new gS({ident:this.config.ident,offer:n?void 0:r,onWrite:c(k=>{nr(l)&&l.write(k)},"onWrite"),onError:c(k=>{k.level==="handshake"&&clearTimeout(this._readyTimeout),_._destruct||l.removeAllListeners("data"),this.emit("error",k);try{l.end()}catch{}},"onError"),onHeader:c(k=>{p=!0,this._remoteVer=k.versions.software,k.greeting&&this.emit("greeting",k.greeting)},"onHeader"),onHandshakeComplete:c(k=>{this.emit("handshake",k),d||(d=!0,_.service("ssh-userauth"))},"onHandshakeComplete"),debug:o,hostVerifier:u,messageHandlers:{DEBUG:g,DISCONNECT:c((k,W,q)=>{if(W!==f_.BY_APPLICATION){q||(q=cS[W],q===void 0&&(q=`Unexpected disconnection reason: ${W}`));let ee=new Error(q);ee.code=W,this.emit("error",ee)}l.end()},"DISCONNECT"),SERVICE_ACCEPT:c((k,W)=>{W==="ssh-userauth"&&B()},"SERVICE_ACCEPT"),EXT_INFO:c((k,W)=>{if(h===void 0){for(let q of W)if(q.name==="server-sig-algs"){h=q.algs;return}h=null}},"EXT_INFO"),USERAUTH_BANNER:c((k,W)=>{this.emit("banner",W)},"USERAUTH_BANNER"),USERAUTH_SUCCESS:c(k=>{D(),clearTimeout(this._readyTimeout),this.emit("ready")},"USERAUTH_SUCCESS"),USERAUTH_FAILURE:c((k,W,q)=>{if(P.keyAlgos){let ee=P.keyAlgos[0][0];if(o&&o(`Client: ${P.type} (${ee}) auth failed`),P.keyAlgos.shift(),P.keyAlgos.length){let[ue,me]=P.keyAlgos[0];switch(P.type){case"agent":_.authPK(P.username,P.agentCtx.currentKey(),ue);return;case"publickey":_.authPK(P.username,P.key,ue);return;case"hostbased":_.authHostbased(P.username,P.key,P.localHostname,P.localUsername,ue,(he,xt)=>{let kt=P.key.sign(he,me);if(kt instanceof Error)return kt.message=`Error while signing with key: ${kt.message}`,kt.level="client-authentication",this.emit("error",kt),B();xt(kt)});return}}else P.keyAlgos=void 0}if(P.type==="agent"){let ee=P.agentCtx.pos();return o&&o(`Client: Agent key #${ee+1} failed`),Z()}o&&o(`Client: ${P.type} auth failed`),C=q,M=W,B()},"USERAUTH_FAILURE"),USERAUTH_PASSWD_CHANGEREQ:c((k,W)=>{P.type==="password"&&this.emit("change password",W,q=>{_.authPassword(this.config.username,this.config.password,q)})},"USERAUTH_PASSWD_CHANGEREQ"),USERAUTH_PK_OK:c(k=>{let W,q;if(P.keyAlgos&&([W,q]=P.keyAlgos[0]),P.type==="agent"){let ee=P.agentCtx.currentKey();_.authPK(P.username,ee,W,(ue,me)=>{let he={hash:q};P.agentCtx.sign(ee,ue,he,(xt,kt)=>{if(xt)xt.level="agent",this.emit("error",xt);else return me(kt);Z()})})}else P.type==="publickey"&&_.authPK(P.username,P.key,W,(ee,ue)=>{let me=P.key.sign(ee,q);if(me instanceof Error)return me.message=`Error signing data with key: ${me.message}`,me.level="client-authentication",this.emit("error",me),B();ue(me)})},"USERAUTH_PK_OK"),USERAUTH_INFO_REQUEST:c((k,W,q,ee)=>{if(P.type==="keyboard-interactive"){if((Array.isArray(ee)?ee.length:0)===0){o&&o("Client: Sending automatic USERAUTH_INFO_RESPONSE"),_.authInfoRes();return}P.prompt(W,q,"",ee,me=>{_.authInfoRes(me)})}},"USERAUTH_INFO_REQUEST"),REQUEST_SUCCESS:c((k,W)=>{s.length&&s.shift()(!1,W)},"REQUEST_SUCCESS"),REQUEST_FAILURE:c(k=>{s.length&&s.shift()(!0)},"REQUEST_FAILURE"),GLOBAL_REQUEST:c((k,W,q,ee)=>{W==="hostkeys-00@openssh.com"?(PS(this,ee,(ue,me)=>{ue||this.emit("hostkeys",me)}),q&&_.requestSuccess()):q&&_.requestFailure()},"GLOBAL_REQUEST"),CHANNEL_OPEN:c((k,W)=>{SS(this,W)},"CHANNEL_OPEN"),CHANNEL_OPEN_CONFIRMATION:c((k,W)=>{let q=this._chanMgr.get(W.recipient);if(typeof q!="function")return;let ee=q.type==="sftp",me={type:ee?"session":q.type,incoming:{id:W.recipient,window:nc,packetSize:ic,state:"open"},outgoing:{id:W.sender,window:W.window,packetSize:W.packetSize,state:"open"}},he=ee?new mS(this,me,{debug:o}):new w_(this,me);this._chanMgr.update(W.recipient,he),q(void 0,he)},"CHANNEL_OPEN_CONFIRMATION"),CHANNEL_OPEN_FAILURE:c((k,W,q,ee)=>{let ue=this._chanMgr.get(W);if(typeof ue!="function")return;bS(this,W,{reason:q,description:ee},ue)},"CHANNEL_OPEN_FAILURE"),CHANNEL_DATA:c((k,W,q)=>{let ee=this._chanMgr.get(W);if(!(typeof ee!="object"||ee===null)&&ee.incoming.window!==0){if(ee.incoming.window-=q.length,ee.push(q)===!1){ee._waitChanDrain=!0;return}ee.incoming.window<=__&&m_(ee)}},"CHANNEL_DATA"),CHANNEL_EXTENDED_DATA:c((k,W,q,ee)=>{if(ee!==aS)return;let ue=this._chanMgr.get(W);if(!(typeof ue!="object"||ue===null)&&ue.incoming.window!==0){if(ue.incoming.window-=q.length,!ue.stderr.push(q)){ue._waitChanDrain=!0;return}ue.incoming.window<=__&&m_(ue)}},"CHANNEL_EXTENDED_DATA"),CHANNEL_WINDOW_ADJUST:c((k,W,q)=>{let ee=this._chanMgr.get(W);typeof ee!="object"||ee===null||(ee.outgoing.window+=q,ee._waitWindow&&(ee._waitWindow=!1,ee._chunk?ee._write(ee._chunk,null,ee._chunkcb):ee._chunkcb?ee._chunkcb():ee._chunkErr?ee.stderr._write(ee._chunkErr,null,ee._chunkcbErr):ee._chunkcbErr&&ee._chunkcbErr()))},"CHANNEL_WINDOW_ADJUST"),CHANNEL_SUCCESS:c((k,W)=>{let q=this._chanMgr.get(W);typeof q!="object"||q===null||(this._resetKA(),q._callbacks.length&&q._callbacks.shift()(!1))},"CHANNEL_SUCCESS"),CHANNEL_FAILURE:c((k,W)=>{let q=this._chanMgr.get(W);typeof q!="object"||q===null||(this._resetKA(),q._callbacks.length&&q._callbacks.shift()(!0))},"CHANNEL_FAILURE"),CHANNEL_REQUEST:c((k,W,q,ee,ue)=>{let me=this._chanMgr.get(W);if(typeof me!="object"||me===null)return;let he=me._exit;if(he.code===void 0){switch(q){case"exit-status":me.emit("exit",he.code=ue);return;case"exit-signal":me.emit("exit",he.code=null,he.signal=`SIG${ue.signal}`,he.dump=ue.coreDumped,he.desc=ue.errorMessage);return}ee&&k.channelFailure(me.outgoing.id)}},"CHANNEL_REQUEST"),CHANNEL_EOF:c((k,W)=>{let q=this._chanMgr.get(W);typeof q!="object"||q===null||q.incoming.state==="open"&&(q.incoming.state="eof",q.readable&&q.push(null),q.stderr.readable&&q.stderr.push(null))},"CHANNEL_EOF"),CHANNEL_CLOSE:c((k,W)=>{xS(this,W,this._chanMgr.get(W))},"CHANNEL_CLOSE")}});l.pause();let A=this.config.keepaliveInterval,b=this.config.keepaliveCountMax,v=0,w,H=c(()=>{if(++v>b){if(clearInterval(w),l.readable){let k=new Error("Keepalive timeout");k.level="client-timeout",this.emit("error",k),l.destroy()}return}nr(l)?(s.push(D),_.ping()):clearInterval(w)},"sendKA");function D(){A>0&&(v=0,clearInterval(w),nr(l)&&(w=setInterval(H,A)))}c(D,"resetKA"),this._resetKA=D;let J=(()=>{let k=!1;return()=>{if(!k&&(k=!0,X&&!p)){let W=_S("Connection lost before handshake","protocol",!0);this.emit("error",W)}}})(),Y=(()=>{let k=!1;return()=>{k||(k=!0,X=!0,o&&o("Socket connected"),this.emit("connect"),hS.then(()=>{_.start(),l.on("data",W=>{try{_.parse(W,0,W.length)}catch(q){this.emit("error",q);try{nr(l)&&l.end()}catch{}}}),l.stderr&&typeof l.stderr.resume=="function"&&l.stderr.resume(),l.resume()}).catch(W=>{this.emit("error",W);try{nr(l)&&l.end()}catch{}}))}})(),X=!1;l.on("connect",Y).on("timeout",()=>{this.emit("timeout")}).on("error",k=>{o&&o(`Socket error: ${k.message}`),clearTimeout(this._readyTimeout),k.level="client-socket",this.emit("error",k)}).on("end",()=>{o&&o("Socket ended"),J(),_.cleanup(),clearTimeout(this._readyTimeout),clearInterval(w),this.emit("end")}).on("close",()=>{o&&o("Socket closed"),J(),_.cleanup(),clearTimeout(this._readyTimeout),clearInterval(w),this.emit("close");let k=s;s=this._callbacks=[];let W=new Error("No response from server");for(let q=0;q<k.length;++q)k[q](W);this._chanMgr.cleanup(W)});let P,C=null,M=null,L=["none"];this.config.password!==void 0&&L.push("password"),a!==void 0&&L.push("publickey"),this._agent!==void 0&&L.push("agent"),this.config.tryKeyboard&&L.push("keyboard-interactive"),a!==void 0&&this.config.localHostname!==void 0&&this.config.localUsername!==void 0&&L.push("hostbased"),Array.isArray(i)?i=I_(i):typeof i!="function"&&(i=I_(L));let T=!1,F=c(k=>{if(!T){if(T=!0,k===!1){let W=new Error("All configured authentication methods failed");W.level="client-authentication",this.emit("error",W),this.end();return}if(typeof k=="string"){let W=k;if(L.indexOf(W)===-1)return j(`Authentication method not allowed: ${W}`);let q=this.config.username;switch(W){case"password":k={type:W,username:q,password:this.config.password};break;case"publickey":k={type:W,username:q,key:a};break;case"hostbased":k={type:W,username:q,key:a,localHostname:this.config.localHostname,localUsername:this.config.localUsername};break;case"agent":k={type:W,username:q,agentCtx:new p_(this._agent)};break;case"keyboard-interactive":k={type:W,username:q,prompt:c((...ee)=>this.emit("keyboard-interactive",...ee),"prompt")};break;case"none":k={type:W,username:q};break;default:return j(`Skipping unsupported authentication method: ${k}`)}}else{if(typeof k!="object"||k===null)return j(`Skipping invalid authentication attempt: ${k}`);{let W=k.username;if(typeof W!="string")return j(`Skipping invalid authentication attempt: ${k}`);let q=k.type;switch(q){case"password":{let{password:ee}=k;if(typeof ee!="string"&&!Buffer.isBuffer(ee))return j("Skipping invalid password auth attempt");k={type:q,username:W,password:ee};break}case"publickey":{let ee=rc(k.key,k.passphrase);if(ee instanceof Error)return j("Skipping invalid key auth attempt");if(!ee.isPrivateKey())return j("Skipping non-private key");k={type:q,username:W,key:ee};break}case"hostbased":{let{localHostname:ee,localUsername:ue}=k,me=rc(k.key,k.passphrase);if(me instanceof Error||typeof ee!="string"||typeof ue!="string")return j("Skipping invalid hostbased auth attempt");if(!me.isPrivateKey())return j("Skipping non-private key");k={type:q,username:W,key:me,localHostname:ee,localUsername:ue};break}case"agent":{let ee=k.agent;if(typeof ee=="string"&&ee.length)ee=h_(ee);else if(!g_(ee))return j(`Skipping invalid agent: ${k.agent}`);k={type:q,username:W,agentCtx:new p_(ee)};break}case"keyboard-interactive":{let{prompt:ee}=k;if(typeof ee!="function")return j("Skipping invalid keyboard-interactive auth attempt");k={type:q,username:W,prompt:ee};break}case"none":k={type:q,username:W};break;default:return j(`Skipping unsupported authentication method: ${k}`)}}}P=k;try{let W=P.username;switch(P.type){case"password":_.authPassword(W,P.password);break;case"publickey":{let q;if(P.keyAlgos=df(this,P.key,h),P.keyAlgos)if(P.keyAlgos.length)q=P.keyAlgos[0][0];else return j("Skipping key authentication (no mutual hash algorithm)");_.authPK(W,P.key,q);break}case"hostbased":{let q,ee;if(P.keyAlgos=df(this,P.key,h),P.keyAlgos)if(P.keyAlgos.length)[q,ee]=P.keyAlgos[0];else return j("Skipping hostbased authentication (no mutual hash algorithm)");_.authHostbased(W,P.key,P.localHostname,P.localUsername,q,(ue,me)=>{let he=P.key.sign(ue,ee);if(he instanceof Error)return he.message=`Error while signing with key: ${he.message}`,he.level="client-authentication",this.emit("error",he),B();me(he)});break}case"agent":P.agentCtx.init(q=>{if(q)return q.level="agent",this.emit("error",q),B();Z()});break;case"keyboard-interactive":_.authKeyboard(W);break;case"none":_.authNone(W);break}}finally{T=!1}}},"doNextAuth");function j(k){o&&o(k),process.nextTick(B)}c(j,"skipAuth");function B(){T=!1;let k=i(M,C,F);T||k===void 0||F(k)}c(B,"tryNextAuth");let Z=c(()=>{if(P.type==="agent"){let k=P.agentCtx.nextKey();if(k===!1)o&&o("Agent: No more keys left to try"),o&&o("Client: agent auth failed"),B();else{let W=P.agentCtx.pos(),q;if(P.keyAlgos=df(this,k,h),P.keyAlgos)if(P.keyAlgos.length)q=P.keyAlgos[0][0];else{o&&o(`Agent: Skipping key #${W+1} (no mutual hash algorithm)`),Z();return}o&&o(`Agent: Trying key #${W+1}`),_.authPK(P.username,k,q)}}},"tryNextAgentKey"),te=c(()=>{this.config.readyTimeout>0&&(this._readyTimeout=setTimeout(()=>{let k=new Error("Timed out while waiting for handshake");k.level="client-timeout",this.emit("error",k),l.destroy()},this.config.readyTimeout))},"startTimeout");if(e.sock)te(),typeof l.connecting=="boolean"&&l.connecting||Y();else{let k=this.config.host,W=this.config.forceIPv4,q=this.config.forceIPv6;o&&o(`Client: Trying ${k} on port ${this.config.port} ...`);let ee=c(()=>{te(),l.connect({host:k,port:this.config.port,localAddress:this.config.localAddress,localPort:this.config.localPort}),l.setMaxListeners(0),l.setTimeout(typeof e.timeout=="number"?e.timeout:0)},"doConnect");!W&&!q||W&&q?ee():iS(k,W?4:6,(ue,me,he)=>{if(ue){let xt=W?"IPv4":"IPv6",kt=new Error(`Error while looking up ${xt} address for '${k}': ${ue}`);clearTimeout(this._readyTimeout),kt.level="client-dns",this.emit("error",kt),this.emit("close");return}k=me,ee()})}return this}end(){return this._sock&&nr(this._sock)&&(this._protocol.disconnect(f_.BY_APPLICATION),this._sock.end()),this}destroy(){return this._sock&&nr(this._sock)&&this._sock.destroy(),this}exec(e,r,n){if(!this._sock||!nr(this._sock))throw new Error("Not connected");typeof r=="function"&&(n=r,r={});let i={allowHalfOpen:r.allowHalfOpen!==!1};return oo(this,"session",i,(o,s)=>{if(o){n(o);return}let a=[];function u(l){if(l){s.close(),n(l);return}a.length&&a.shift()()}c(u,"reqCb"),(this.config.allowAgentFwd===!0||r&&r.agentForward===!0&&this._agent!==void 0)&&a.push(()=>A_(s,u)),typeof r=="object"&&r!==null&&(typeof r.env=="object"&&r.env!==null&&b_(s,r.env),(typeof r.pty=="object"&&r.pty!==null||r.pty===!0)&&a.push(()=>E_(s,r.pty,u)),(typeof r.x11=="object"&&r.x11!==null||r.x11==="number"||r.x11===!0)&&a.push(()=>y_(s,r.x11,u))),a.push(()=>vS(s,e,r,n)),a.shift()()}),this}shell(e,r,n){if(!this._sock||!nr(this._sock))throw new Error("Not connected");return typeof e=="function"?(n=e,e=r=void 0):typeof r=="function"&&(n=r,r=void 0),e&&(e.x11!==void 0||e.env!==void 0)&&(r=e,e=void 0),oo(this,"session",(i,o)=>{if(i){n(i);return}let s=[];function a(u){if(u){o.close(),n(u);return}s.length&&s.shift()()}c(a,"reqCb"),(this.config.allowAgentFwd===!0||r&&r.agentForward===!0&&this._agent!==void 0)&&s.push(()=>A_(o,a)),e!==!1&&s.push(()=>E_(o,e,a)),typeof r=="object"&&r!==null&&(typeof r.env=="object"&&r.env!==null&&b_(o,r.env),(typeof r.x11=="object"&&r.x11!==null||r.x11==="number"||r.x11===!0)&&s.push(()=>y_(o,r.x11,a))),s.push(()=>IS(o,n)),s.shift()()}),this}subsys(e,r){if(!this._sock||!nr(this._sock))throw new Error("Not connected");return oo(this,"session",(n,i)=>{if(n){r(n);return}x_(i,e,(o,s)=>{if(o){r(o);return}r(void 0,s)})}),this}forwardIn(e,r,n){if(!this._sock||!nr(this._sock))throw new Error("Not connected");let i=typeof n=="function";return i&&this._callbacks.push((o,s)=>{if(o){n(o!==!0?o:new Error(`Unable to bind to ${e}:${r}`));return}let a=r;r===0&&s&&s.length>=4&&(a=yS(s,0),this._protocol._compatFlags&v_.DYN_RPORT_BUG||(r=a)),this._forwarding[`${e}:${r}`]=a,n(void 0,a)}),this._protocol.tcpipForward(e,r,i),this}unforwardIn(e,r,n){if(!this._sock||!nr(this._sock))throw new Error("Not connected");let i=typeof n=="function";return i&&this._callbacks.push(o=>{if(o){n(o!==!0?o:new Error(`Unable to unbind from ${e}:${r}`));return}delete this._forwarding[`${e}:${r}`],n()}),this._protocol.cancelTcpipForward(e,r,i),this}forwardOut(e,r,n,i,o){if(!this._sock||!nr(this._sock))throw new Error("Not connected");let s={srcIP:e,srcPort:r,dstIP:n,dstPort:i};return typeof o!="function"&&(o=pf),oo(this,"direct-tcpip",s,o),this}openssh_noMoreSessions(e){if(!this._sock||!nr(this._sock))throw new Error("Not connected");let r=typeof e=="function";return!this.config.strictVendor||this.config.strictVendor&&ys.test(this._remoteVer)?(r&&this._callbacks.push(n=>{if(n){e(n!==!0?n:new Error("Unable to disable future sessions"));return}e()}),this._protocol.openssh_noMoreSessions(r),this):r?(process.nextTick(e,new Error("strictVendor enabled and server is not OpenSSH or compatible version")),this):this}openssh_forwardInStreamLocal(e,r){if(!this._sock||!nr(this._sock))throw new Error("Not connected");let n=typeof r=="function";return!this.config.strictVendor||this.config.strictVendor&&ys.test(this._remoteVer)?(n&&this._callbacks.push(i=>{if(i){r(i!==!0?i:new Error(`Unable to bind to ${e}`));return}this._forwardingUnix[e]=!0,r()}),this._protocol.openssh_streamLocalForward(e,n),this):n?(process.nextTick(r,new Error("strictVendor enabled and server is not OpenSSH or compatible version")),this):this}openssh_unforwardInStreamLocal(e,r){if(!this._sock||!nr(this._sock))throw new Error("Not connected");let n=typeof r=="function";return!this.config.strictVendor||this.config.strictVendor&&ys.test(this._remoteVer)?(n&&this._callbacks.push(i=>{if(i){r(i!==!0?i:new Error(`Unable to unbind from ${e}`));return}delete this._forwardingUnix[e],r()}),this._protocol.openssh_cancelStreamLocalForward(e,n),this):n?(process.nextTick(r,new Error("strictVendor enabled and server is not OpenSSH or compatible version")),this):this}openssh_forwardOutStreamLocal(e,r){if(!this._sock||!nr(this._sock))throw new Error("Not connected");return typeof r!="function"&&(r=pf),!this.config.strictVendor||this.config.strictVendor&&ys.test(this._remoteVer)?(oo(this,"direct-streamlocal@openssh.com",{socketPath:e},r),this):(process.nextTick(r,new Error("strictVendor enabled and server is not OpenSSH or compatible version")),this)}sftp(e){if(!this._sock||!nr(this._sock))throw new Error("Not connected");return oo(this,"sftp",(r,n)=>{if(r){e(r);return}x_(n,"sftp",(i,o)=>{if(i){e(i);return}function s(){n.removeListener("ready",a),n.removeListener("error",u),n.removeListener("exit",l),n.removeListener("close",l)}c(s,"removeListeners");function a(){s(),e(void 0,n)}c(a,"onReady");function u(d){s(),e(d)}c(u,"onError");function l(d,p){s();let g;typeof d=="number"?g=`Received exit code ${d} while establishing SFTP session`:p!==void 0?g=`Received signal ${p} while establishing SFTP session`:g="Received unexpected SFTP session termination";let h=new Error(g);h.code=d,h.signal=p,e(h)}c(l,"onExit"),n.on("ready",a).on("error",u).on("exit",l).on("close",l),n._init()})}),this}setNoDelay(e){return this._sock&&typeof this._sock.setNoDelay=="function"&&this._sock.setNoDelay(e),this}};function oo(t,e,r,n){let i=nc,o=ic;typeof r=="function"&&(n=r,r={});let s=c((u,l)=>{n(u,l)},"wrapper");s.type=e;let a=t._chanMgr.add(s);if(a===-1){n(new Error("No free channels available"));return}switch(e){case"session":case"sftp":t._protocol.session(a,i,o);break;case"direct-tcpip":t._protocol.directTcpip(a,i,o,r);break;case"direct-streamlocal@openssh.com":t._protocol.openssh_directStreamLocal(a,i,o,r);break;default:throw new Error(`Unsupported channel type: ${e}`)}}c(oo,"openChannel");function y_(t,e,r){let n={single:!1,protocol:"MIT-MAGIC-COOKIE-1",cookie:void 0,screen:0};typeof e=="function"?r=e:typeof e=="object"&&e!==null&&(typeof e.single=="boolean"&&(n.single=e.single),typeof e.screen=="number"&&(n.screen=e.screen),typeof e.protocol=="string"&&(n.protocol=e.protocol),typeof e.cookie=="string"?n.cookie=e.cookie:Buffer.isBuffer(e.cookie)&&(n.cookie=e.cookie.hexSlice(0,e.cookie.length))),n.cookie===void 0&&(n.cookie=wS());let i=typeof r=="function";if(t.outgoing.state!=="open"){i&&r(new Error("Channel is not open"));return}i&&t._callbacks.push(o=>{if(o){r(o!==!0?o:new Error("Unable to request X11"));return}t._hasX11=!0,++t._client._acceptX11,t.once("close",()=>{t._client._acceptX11&&--t._client._acceptX11}),r()}),t._client._protocol.x11Forward(t.outgoing.id,n,i)}c(y_,"reqX11");function E_(t,e,r){let n=24,i=80,o=640,s=480,a="vt100",u=null;typeof e=="function"?r=e:typeof e=="object"&&e!==null&&(typeof e.rows=="number"&&(n=e.rows),typeof e.cols=="number"&&(i=e.cols),typeof e.width=="number"&&(o=e.width),typeof e.height=="number"&&(s=e.height),typeof e.term=="string"&&(a=e.term),typeof e.modes=="object"&&(u=e.modes));let l=typeof r=="function";if(t.outgoing.state!=="open"){l&&r(new Error("Channel is not open"));return}l&&t._callbacks.push(d=>{if(d){r(d!==!0?d:new Error("Unable to request a pseudo-terminal"));return}r()}),t._client._protocol.pty(t.outgoing.id,n,i,s,o,a,u,l)}c(E_,"reqPty");function A_(t,e){let r=typeof e=="function";if(t.outgoing.state!=="open"){r&&e(new Error("Channel is not open"));return}if(t._client._agentFwdEnabled){r&&e(!1);return}t._client._agentFwdEnabled=!0,t._callbacks.push(n=>{if(n){t._client._agentFwdEnabled=!1,r&&e(n!==!0?n:new Error("Unable to request agent forwarding"));return}r&&e()}),t._client._protocol.openssh_agentForward(t.outgoing.id,!0)}c(A_,"reqAgentFwd");function IS(t,e){if(t.outgoing.state!=="open"){e(new Error("Channel is not open"));return}t._callbacks.push(r=>{if(r){e(r!==!0?r:new Error("Unable to open shell"));return}t.subtype="shell",e(void 0,t)}),t._client._protocol.shell(t.outgoing.id,!0)}c(IS,"reqShell");function vS(t,e,r,n){if(t.outgoing.state!=="open"){n(new Error("Channel is not open"));return}t._callbacks.push(i=>{if(i){n(i!==!0?i:new Error("Unable to exec"));return}t.subtype="exec",t.allowHalfOpen=r.allowHalfOpen!==!1,n(void 0,t)}),t._client._protocol.exec(t.outgoing.id,e,!0)}c(vS,"reqExec");function b_(t,e){if(t.outgoing.state!=="open")return;let r=Object.keys(e||{});for(let n=0;n<r.length;++n){let i=r[n],o=e[i];t._client._protocol.env(t.outgoing.id,i,o,!1)}}c(b_,"reqEnv");function x_(t,e,r){if(t.outgoing.state!=="open"){r(new Error("Channel is not open"));return}t._callbacks.push(n=>{if(n){r(n!==!0?n:new Error(`Unable to start subsystem: ${e}`));return}t.subtype="subsystem",r(void 0,t)}),t._client._protocol.subsystem(t.outgoing.id,e,!0)}c(x_,"reqSubsystem");function SS(t,e){let r=-1,n,i=c(()=>{let u={type:e.type,incoming:{id:r,window:nc,packetSize:ic,state:"open"},outgoing:{id:e.sender,window:e.window,packetSize:e.packetSize,state:"open"}},l=new w_(t,u);return t._chanMgr.update(r,l),t._protocol.channelOpenConfirm(e.sender,r,nc,ic),l},"accept"),o=c(()=>{n===void 0&&(r===-1?n=ms.RESOURCE_SHORTAGE:n=ms.CONNECT_FAILED),r!==-1&&t._chanMgr.remove(r),t._protocol.channelOpenFail(e.sender,n,"")},"reject"),s=c(()=>(r=t._chanMgr.add(),r===-1&&(n=ms.RESOURCE_SHORTAGE,t.config.debug&&t.config.debug("Client: Automatic rejection of incoming channel open: no channels available")),r!==-1),"reserveChannel"),a=e.data;switch(e.type){case"forwarded-tcpip":{let u=t._forwarding[`${a.destIP}:${a.destPort}`];if(u!==void 0&&s()){a.destPort===0&&(a.destPort=u),t.emit("tcp connection",a,i,o);return}break}case"forwarded-streamlocal@openssh.com":if(t._forwardingUnix[a.socketPath]!==void 0&&s()){t.emit("unix connection",a,i,o);return}break;case"auth-agent@openssh.com":if(t._agentFwdEnabled&&typeof t._agent.getStream=="function"&&s()){t._agent.getStream((u,l)=>{if(u)return o();let d=i();d.pipe(l).pipe(d)});return}break;case"x11":if(t._acceptX11!==0&&s()){t.emit("x11",a,i,o);return}break;default:n=ms.UNKNOWN_CHANNEL_TYPE,t.config.debug&&t.config.debug(`Client: Automatic rejection of unsupported incoming channel open type: ${e.type}`)}n===void 0&&(n=ms.ADMINISTRATIVELY_PROHIBITED,t.config.debug&&t.config.debug("Client: Automatic rejection of unexpected incoming channel open for: "+e.type)),o()}c(SS,"onCHANNEL_OPEN");var wS=(()=>{let t=Buffer.allocUnsafe(16);return()=>(rS(t,0,16),t.hexSlice(0,16))})();function I_(t){if(!Array.isArray(t))throw new Error("authList must be an array");let e=0;return(r,n,i)=>e===t.length?!1:t[e++]}c(I_,"makeSimpleAuthHandler");function PS(t,e,r){if(!t._sock||!nr(t._sock))return;if(typeof r!="function"&&(r=pf),!Array.isArray(e))throw new TypeError("Invalid keys argument type");let n=[];for(let i of e){let o=rc(i);if(o instanceof Error)throw o;n.push(o)}if(!t.config.strictVendor||t.config.strictVendor&&ys.test(t._remoteVer)){t._callbacks.push((i,o)=>{if(i){r(i!==!0?i:new Error("Server failed to prove supplied keys"));return}let s=[],a=0;for(ec.init(o,0);ec.avail()&&a!==n.length;){let u=n[a++],l=u.getPublicSSH(),d=ec.readString();tc.init(d,0);let p=tc.readString(!0),g=tc.readString(),h;if(p!==u.type)if(u.type==="ssh-rsa")switch(p){case"rsa-sha2-256":h="sha256";break;case"rsa-sha2-512":h="sha512";break;default:continue}else continue;let _=t._protocol._kex.sessionID,A=Buffer.allocUnsafe(37+_.length+4+l.length),b=0;ff(A,29,b),A.utf8Write("hostkeys-prove-00@openssh.com",b+=4,29),ff(A,_.length,b+=29),d_(_,A,0,_.length,b+=4),ff(A,l.length,b+=_.length),d_(l,A,0,l.length,b+=4),(g=ES(g,p))&&u.verify(A,g,h)===!0&&s.push(u)}tc.clear(),ec.clear(),r(null,s)}),t._protocol.openssh_hostKeysProve(n);return}process.nextTick(r,new Error("strictVendor enabled and server is not OpenSSH or compatible version"))}c(PS,"hostKeysProve");function df(t,e,r){switch(e.type){case"ssh-rsa":if(t._protocol._compatFlags&v_.IMPLY_RSA_SHA2_SIGALGS&&(Array.isArray(r)?r=["rsa-sha2-256","rsa-sha2-512",...r]:r=["rsa-sha2-256","rsa-sha2-512"]),Array.isArray(r)){if(r.indexOf("rsa-sha2-256")!==-1)return[["rsa-sha2-256","sha256"]];if(r.indexOf("rsa-sha2-512")!==-1)return[["rsa-sha2-512","sha512"]];if(r.indexOf("ssh-rsa")===-1)return[]}return[["ssh-rsa","sha1"]]}}c(df,"getKeyAlgos");P_.exports=hf});var C_=le(T_=>{"use strict";var{Agent:_f}=require("http"),{Agent:TS}=require("https"),{connect:CS}=require("tls"),mf;for(let t of[_f,TS]){class e extends t{static{c(this,"SSHAgent")}constructor(n,i){super(i),this._connectCfg=n,this._defaultSrcIP=i&&i.srcIP||"localhost"}createConnection(n,i){let o=n&&n.localAddress||this._defaultSrcIP,s=n&&n.localPort||0,a=n.host,u=n.port;mf===void 0&&(mf=gf());let l=new mf,d=!1;l.on("ready",()=>{l.forwardOut(o,s,a,u,(p,g)=>{if(d=!0,p)return l.end(),i(p);g.once("close",()=>l.end()),i(null,kS(g,t,n))})}).on("error",i).on("close",()=>{d||i(new Error("Unexpected connection close"))}).connect(this._connectCfg)}}T_[t===_f?"SSHTTPAgent":"SSHTTPSAgent"]=e}function Es(){}c(Es,"noop");function kS(t,e,r){if(e===_f)return t.setKeepAlive=Es,t.setNoDelay=Es,t.setTimeout=Es,t.ref=Es,t.unref=Es,t.destroySoon=t.destroy,t;r.socket=t;let n=CS(r),i=(()=>{let o=!1;return()=>{o||(o=!0,t.isPaused()&&t.resume())}})();return n.on("end",i).on("close",i),n}c(kS,"decorateStream")});var R_=le((YF,bf)=>{"use strict";var{Server:RS}=require("net"),bs=require("events"),{listenerCount:yr}=bs,{CHANNEL_OPEN_FAILURE:so,DEFAULT_CIPHER:NS,DEFAULT_COMPRESSION:OS,DEFAULT_KEX:$S,DEFAULT_MAC:DS,DEFAULT_SERVER_HOST_KEY:BS,DISCONNECT_REASON:ao,DISCONNECT_REASON_BY_VALUE:US,SUPPORTED_CIPHER:LS,SUPPORTED_COMPRESSION:zS,SUPPORTED_KEX:MS,SUPPORTED_MAC:FS,SUPPORTED_SERVER_HOST_KEY:HS}=An(),{init:jS}=Mn(),{KexInit:WS}=Fa(),{parseKey:k_}=jn(),qS=Wl(),{SFTP:QS}=ps(),{writeUInt32BE:VS}=Qr(),{Channel:co,MAX_WINDOW:Qn,PACKET_SIZE:Vn,windowAdjust:KS,WINDOW_THRESHOLD:GS}=af(),{ChannelManager:ZS,generateAlgorithmList:As,isWritable:oc,onChannelOpenFailure:YS,onCHANNEL_CLOSE:XS}=lf(),JS=10,Kn=class extends bs{static{c(this,"AuthContext")}constructor(e,r,n,i,o){super(),this.username=this.user=r,this.service=n,this.method=i,this._initialResponse=!1,this._finalResponse=!1,this._multistep=!1,this._cbfinal=(s,a,u)=>{this._finalResponse||(this._finalResponse=!0,o(this,s,a,u))},this._protocol=e}accept(){this._cleanup&&this._cleanup(),this._initialResponse=!0,this._cbfinal(!0)}reject(e,r){this._cleanup&&this._cleanup(),this._initialResponse=!0,this._cbfinal(!1,e,r)}},sc=class extends Kn{static{c(this,"KeyboardAuthContext")}constructor(e,r,n,i,o,s){super(e,r,n,i,s),this._multistep=!0,this._cb=void 0,this._onInfoResponse=a=>{let u=this._cb;u&&(this._cb=void 0,u(a))},this.submethods=o,this.on("abort",()=>{this._cb&&this._cb(new Error("Authentication request aborted"))})}prompt(e,r,n,i){Array.isArray(e)||(e=[e]),typeof r=="function"?(i=r,r=n=void 0):typeof n=="function"?(i=n,n=void 0):typeof i!="function"&&(i=void 0);for(let o=0;o<e.length;++o)typeof e[o]=="string"&&(e[o]={prompt:e[o],echo:!0});this._cb=i,this._initialResponse=!0,this._protocol.authInfoReq(r,n,e)}},Ef=class extends Kn{static{c(this,"PKAuthContext")}constructor(e,r,n,i,o,s){super(e,r,n,i,s),this.key={algo:o.keyAlgo,data:o.key},this.hashAlgo=o.hashAlgo,this.signature=o.signature,this.blob=o.blob}accept(){this.signature?Kn.prototype.accept.call(this):(this._initialResponse=!0,this._protocol.authPKOK(this.key.algo,this.key.data))}},Af=class extends Kn{static{c(this,"HostbasedAuthContext")}constructor(e,r,n,i,o,s){super(e,r,n,i,s),this.key={algo:o.keyAlgo,data:o.key},this.hashAlgo=o.hashAlgo,this.signature=o.signature,this.blob=o.blob,this.localHostname=o.localHostname,this.localUsername=o.localUsername}},ac=class extends Kn{static{c(this,"PwdAuthContext")}constructor(e,r,n,i,o,s){super(e,r,n,i,s),this.password=o,this._changeCb=void 0}requestChange(e,r){if(this._changeCb)throw new Error("Change request already in progress");if(typeof e!="string")throw new Error("prompt argument must be a string");if(typeof r!="function")throw new Error("Callback argument must be a function");this._changeCb=r,this._protocol.authPasswdChg(e)}},an=class extends bs{static{c(this,"Session")}constructor(e,r,n){super(),this.type="session",this.subtype=void 0,this.server=!0,this._ending=!1,this._channel=void 0,this._chanInfo={type:"session",incoming:{id:n,window:Qn,packetSize:Vn,state:"open"},outgoing:{id:r.sender,window:r.window,packetSize:r.packetSize,state:"open"}}}},$r=class extends bs{static{c(this,"Server")}constructor(e,r){if(super(),typeof e!="object"||e===null)throw new Error("Missing configuration object");let n=Object.create(null),i=[],o=e.hostKeys;if(!Array.isArray(o))throw new Error("hostKeys must be an array");let s=typeof e.algorithms=="object"&&e.algorithms!==null?e.algorithms:{},a=As(s.serverHostKey,BS,HS);for(let g=0;g<o.length;++g){let h;if(Buffer.isBuffer(o[g])||typeof o[g]=="string"?h=k_(o[g]):h=k_(o[g].key,o[g].passphrase),h instanceof Error)throw new Error(`Cannot parse privateKey: ${h.message}`);if(Array.isArray(h)&&(h=h[0]),h.getPrivatePEM()===null)throw new Error("privateKey value contains an invalid private key");if(!i.includes(h.type))if(h.type==="ssh-rsa"){let _=a.indexOf("ssh-rsa"),A=a.indexOf("rsa-sha2-256"),b=a.indexOf("rsa-sha2-512");_===-1&&(_=1/0),[_,A,b].sort(ew).forEach(v=>{if(v===-1)return;let w;switch(v){case _:w="ssh-rsa";break;case A:w="rsa-sha2-256";break;case b:w="rsa-sha2-512";break;default:return}n[w]=h,i.push(w)})}else n[h.type]=h,i.push(h.type)}let u={kex:As(s.kex,$S,MS).concat(["kex-strict-s-v00@openssh.com"]),serverHostKey:i,cs:{cipher:As(s.cipher,NS,LS),mac:As(s.hmac,DS,FS),compress:As(s.compress,OS,zS),lang:[]},sc:void 0};u.sc=u.cs,typeof r=="function"&&this.on("connection",r);let l=typeof e.debug=="function"?e.debug:void 0,d=e.ident?Buffer.from(e.ident):void 0,p=new WS(u);this._srv=new RS(g=>{if(this._connections>=this.maxConnections){g.destroy();return}++this._connections,g.once("close",()=>{--this._connections});let h;if(l){let _=`[${process.hrtime().join(".")}] `;h=c(A=>{l(`${_}${A}`)},"debug")}new cc(g,n,d,p,h,this,e)}).on("error",g=>{this.emit("error",g)}).on("listening",()=>{this.emit("listening")}).on("close",()=>{this.emit("close")}),this._connections=0,this.maxConnections=1/0}injectSocket(e){this._srv.emit("connection",e)}listen(...e){return this._srv.listen(...e),this}address(){return this._srv.address()}getConnections(e){return this._srv.getConnections(e),this}close(e){return this._srv.close(e),this}ref(){return this._srv.ref(),this}unref(){return this._srv.unref(),this}};$r.KEEPALIVE_CLIENT_INTERVAL=15e3;$r.KEEPALIVE_CLIENT_COUNT_MAX=3;var cc=class extends bs{static{c(this,"Client")}constructor(e,r,n,i,o,s,a){super();let u=0,l=!1,d=[],p,g,h,_=[];this._sock=e,this._chanMgr=new ZS(this),this._debug=o,this.noMoreSessions=!1,this.authenticated=!1;function A(X){}c(A,"onClientPreHeaderError"),this.on("error",A);let b=o?(X,P,C)=>{o(`Debug output from client: ${JSON.stringify(C)}`)}:void 0,v=typeof a.keepaliveInterval=="number"&&isFinite(a.keepaliveInterval)&&a.keepaliveInterval>0?a.keepaliveInterval:typeof $r.KEEPALIVE_CLIENT_INTERVAL=="number"&&isFinite($r.KEEPALIVE_CLIENT_INTERVAL)&&$r.KEEPALIVE_CLIENT_INTERVAL>0?$r.KEEPALIVE_CLIENT_INTERVAL:-1,w=typeof a.keepaliveCountMax=="number"&&isFinite(a.keepaliveCountMax)&&a.keepaliveCountMax>=0?a.keepaliveCountMax:typeof $r.KEEPALIVE_CLIENT_COUNT_MAX=="number"&&isFinite($r.KEEPALIVE_CLIENT_COUNT_MAX)&&$r.KEEPALIVE_CLIENT_COUNT_MAX>=0?$r.KEEPALIVE_CLIENT_COUNT_MAX:-1,H=0;v!==-1&&w!==-1&&(this.once("ready",()=>{let X=c(()=>{clearInterval(g)},"onClose");this.on("close",X).on("end",X),g=setInterval(()=>{if(++H>w){clearInterval(g);let P=new Error("Keepalive timeout");P.level="client-timeout",this.emit("error",P),this.end()}else D.ping()},v)}),h=c(()=>{g&&g.refresh(),H=0},"onPacket"));let D=this._protocol=new qS({server:!0,hostKeys:r,ident:n,offer:i,onPacket:h,greeting:a.greeting,banner:a.banner,onWrite:c(X=>{oc(e)&&e.write(X)},"onWrite"),onError:c(X=>{D._destruct||e.removeAllListeners("data"),this.emit("error",X);try{e.end()}catch{}},"onError"),onHeader:c(X=>{this.removeListener("error",A);let P={ip:e.remoteAddress,family:e.remoteFamily,port:e.remotePort,header:X};if(!s.emit("connection",this,P)){D.disconnect(ao.BY_APPLICATION),e.end();return}X.greeting&&this.emit("greeting",X.greeting)},"onHeader"),onHandshakeComplete:c(X=>{++u>1&&this.emit("rekey"),this.emit("handshake",X)},"onHandshakeComplete"),debug:o,messageHandlers:{DEBUG:b,DISCONNECT:c((X,P,C)=>{if(P!==ao.BY_APPLICATION){C||(C=US[P],C===void 0&&(C=`Unexpected disconnection reason: ${P}`));let M=new Error(C);M.code=P,this.emit("error",M)}e.end()},"DISCONNECT"),CHANNEL_OPEN:c((X,P)=>{if(P.type==="session"&&this.noMoreSessions||!this.authenticated){let Z=so.ADMINISTRATIVELY_PROHIBITED;return D.channelOpenFail(P.sender,Z)}let C=-1,M,L=!1,T,F=c(()=>{L||(L=!0,M===void 0&&(C===-1?M=so.RESOURCE_SHORTAGE:M=so.CONNECT_FAILED),C!==-1&&this._chanMgr.remove(C),D.channelOpenFail(P.sender,M,""))},"reject"),j=c(()=>(C=this._chanMgr.add(),C===-1&&(M=so.RESOURCE_SHORTAGE,o&&o("Automatic rejection of incoming channel open: no channels available")),C!==-1),"reserveChannel"),B=P.data;switch(P.type){case"session":if(yr(this,"session")&&j()){T=c(()=>{if(L)return;L=!0;let Z=new an(this,P,C);return this._chanMgr.update(C,Z),D.channelOpenConfirm(P.sender,C,Qn,Vn),Z},"accept"),this.emit("session",T,F);return}break;case"direct-tcpip":if(yr(this,"tcpip")&&j()){T=c(()=>{if(L)return;L=!0;let Z={type:void 0,incoming:{id:C,window:Qn,packetSize:Vn,state:"open"},outgoing:{id:P.sender,window:P.window,packetSize:P.packetSize,state:"open"}},te=new co(this,Z,{server:!0});return this._chanMgr.update(C,te),D.channelOpenConfirm(P.sender,C,Qn,Vn),te},"accept"),this.emit("tcpip",T,F,B);return}break;case"direct-streamlocal@openssh.com":if(yr(this,"openssh.streamlocal")&&j()){T=c(()=>{if(L)return;L=!0;let Z={type:void 0,incoming:{id:C,window:Qn,packetSize:Vn,state:"open"},outgoing:{id:P.sender,window:P.window,packetSize:P.packetSize,state:"open"}},te=new co(this,Z,{server:!0});return this._chanMgr.update(C,te),D.channelOpenConfirm(P.sender,C,Qn,Vn),te},"accept"),this.emit("openssh.streamlocal",T,F,B);return}break;default:M=so.UNKNOWN_CHANNEL_TYPE,o&&o(`Automatic rejection of unsupported incoming channel open type: ${P.type}`)}M===void 0&&(M=so.ADMINISTRATIVELY_PROHIBITED,o&&o(`Automatic rejection of unexpected incoming channel open for: ${P.type}`)),F()},"CHANNEL_OPEN"),CHANNEL_OPEN_CONFIRMATION:c((X,P)=>{let C=this._chanMgr.get(P.recipient);if(typeof C!="function")return;let M={type:C.type,incoming:{id:P.recipient,window:Qn,packetSize:Vn,state:"open"},outgoing:{id:P.sender,window:P.window,packetSize:P.packetSize,state:"open"}},L=new co(this,M,{server:!0});this._chanMgr.update(P.recipient,L),C(void 0,L)},"CHANNEL_OPEN_CONFIRMATION"),CHANNEL_OPEN_FAILURE:c((X,P,C,M)=>{let L=this._chanMgr.get(P);if(typeof L!="function")return;YS(this,P,{reason:C,description:M},L)},"CHANNEL_OPEN_FAILURE"),CHANNEL_DATA:c((X,P,C)=>{let M=this._chanMgr.get(P);if(!(typeof M!="object"||M===null)&&!(M.constructor===an&&(M=M._channel,!M))&&M.incoming.window!==0){if(M.incoming.window-=C.length,M.push(C)===!1){M._waitChanDrain=!0;return}M.incoming.window<=GS&&KS(M)}},"CHANNEL_DATA"),CHANNEL_EXTENDED_DATA:c((X,P,C,M)=>{},"CHANNEL_EXTENDED_DATA"),CHANNEL_WINDOW_ADJUST:c((X,P,C)=>{let M=this._chanMgr.get(P);typeof M!="object"||M===null||M.constructor===an&&(M=M._channel,!M)||(M.outgoing.window+=C,M._waitWindow&&(M._waitWindow=!1,M._chunk?M._write(M._chunk,null,M._chunkcb):M._chunkcb?M._chunkcb():M._chunkErr?M.stderr._write(M._chunkErr,null,M._chunkcbErr):M._chunkcbErr&&M._chunkcbErr()))},"CHANNEL_WINDOW_ADJUST"),CHANNEL_SUCCESS:c((X,P)=>{let C=this._chanMgr.get(P);typeof C!="object"||C===null||C.constructor===an&&(C=C._channel,!C)||C._callbacks.length&&C._callbacks.shift()(!1)},"CHANNEL_SUCCESS"),CHANNEL_FAILURE:c((X,P)=>{let C=this._chanMgr.get(P);typeof C!="object"||C===null||C.constructor===an&&(C=C._channel,!C)||C._callbacks.length&&C._callbacks.shift()(!0)},"CHANNEL_FAILURE"),CHANNEL_REQUEST:c((X,P,C,M,L)=>{let T=this._chanMgr.get(P);if(typeof T!="object"||T===null)return;let F=!1,j,B;if(T.constructor!==an){M&&D.channelFailure(T.outgoing.id);return}if(M&&(C!=="shell"&&C!=="exec"&&C!=="subsystem"&&(j=c(()=>{F||T._ending||T._channel||(F=!0,D.channelSuccess(T._chanInfo.outgoing.id))},"accept")),B=c(()=>{F||T._ending||T._channel||(F=!0,D.channelFailure(T._chanInfo.outgoing.id))},"reject")),T._ending){B&&B();return}switch(C){case"env":if(yr(T,"env")){T.emit("env",j,B,{key:L.name,val:L.value});return}break;case"pty-req":if(yr(T,"pty")){T.emit("pty",j,B,L);return}break;case"window-change":yr(T,"window-change")?T.emit("window-change",j,B,L):B&&B();break;case"x11-req":if(yr(T,"x11")){T.emit("x11",j,B,L);return}break;case"signal":if(yr(T,"signal")){T.emit("signal",j,B,{name:L});return}break;case"auth-agent-req@openssh.com":if(yr(T,"auth-agent")){T.emit("auth-agent",j,B);return}break;case"shell":if(yr(T,"shell")){j=c(()=>{if(F||T._ending||T._channel)return;F=!0,M&&D.channelSuccess(T._chanInfo.outgoing.id);let Z=new co(this,T._chanInfo,{server:!0});return Z.subtype=T.subtype=C,T._channel=Z,Z},"accept"),T.emit("shell",j,B);return}break;case"exec":if(yr(T,"exec")){j=c(()=>{if(F||T._ending||T._channel)return;F=!0,M&&D.channelSuccess(T._chanInfo.outgoing.id);let Z=new co(this,T._chanInfo,{server:!0});return Z.subtype=T.subtype=C,T._channel=Z,Z},"accept"),T.emit("exec",j,B,{command:L});return}break;case"subsystem":{let Z=L==="sftp";if(j=c(()=>{if(F||T._ending||T._channel)return;F=!0,M&&D.channelSuccess(T._chanInfo.outgoing.id);let te;return Z?te=new QS(this,T._chanInfo,{server:!0,debug:o}):(te=new co(this,T._chanInfo,{server:!0}),te.subtype=T.subtype=`${C}:${L}`),T._channel=te,te},"accept"),L==="sftp"){if(yr(T,"sftp")){T.emit("sftp",j,B);return}Z=!1}if(yr(T,"subsystem")){T.emit("subsystem",j,B,{name:L});return}break}}o&&o(`Automatic rejection of incoming channel request: ${C}`),B&&B()},"CHANNEL_REQUEST"),CHANNEL_EOF:c((X,P)=>{let C=this._chanMgr.get(P);typeof C!="object"||C===null||C.constructor===an&&(C._ending||(C._ending=!0,C.emit("eof"),C.emit("end")),C=C._channel,!C)||C.incoming.state==="open"&&(C.incoming.state="eof",C.readable&&C.push(null))},"CHANNEL_EOF"),CHANNEL_CLOSE:c((X,P)=>{let C=this._chanMgr.get(P);typeof C!="object"||C===null||C.constructor===an&&(C._ending=!0,C.emit("close"),C=C._channel,!C)||XS(this,P,C)},"CHANNEL_CLOSE"),SERVICE_REQUEST:c((X,P)=>{if(u===0||l||this.authenticated||P!=="ssh-userauth"){D.disconnect(ao.SERVICE_NOT_AVAILABLE),e.end();return}l=!0,D.serviceAccept(P)},"SERVICE_REQUEST"),USERAUTH_REQUEST:c((X,P,C,M,L)=>{if(u===0||this.authenticated||p&&(p.username!==P||p.service!==C)||M!=="password"&&M!=="publickey"&&M!=="hostbased"&&M!=="keyboard-interactive"&&M!=="none"||d.length===JS){D.disconnect(ao.PROTOCOL_ERROR),e.end();return}else if(C!=="ssh-connection"){D.disconnect(ao.SERVICE_NOT_AVAILABLE),e.end();return}let T;switch(M){case"keyboard-interactive":T=new sc(D,P,C,M,L,J);break;case"publickey":T=new Ef(D,P,C,M,L,J);break;case"hostbased":T=new Af(D,P,C,M,L,J);break;case"password":if(p&&p instanceof ac&&p._changeCb){let F=p._changeCb;p._changeCb=void 0,F(L.newPassword);return}T=new ac(D,P,C,M,L,J);break;case"none":T=new Kn(D,P,C,M,J);break}if(p)if(p._initialResponse)p._multistep&&!p._finalResponse&&(p._cleanup&&p._cleanup(),p.emit("abort"));else return d.push(T);p=T,yr(this,"authentication")?this.emit("authentication",p):p.reject()},"USERAUTH_REQUEST"),USERAUTH_INFO_RESPONSE:c((X,P)=>{p&&p instanceof sc&&p._onInfoResponse(P)},"USERAUTH_INFO_RESPONSE"),GLOBAL_REQUEST:c((X,P,C,M)=>{let L={type:null,buf:null};function T(F,j){L.type=F,L.buf=j,Y()}if(c(T,"setReply"),C&&_.push(L),(P==="tcpip-forward"||P==="cancel-tcpip-forward"||P==="no-more-sessions@openssh.com"||P==="streamlocal-forward@openssh.com"||P==="cancel-streamlocal-forward@openssh.com")&&yr(this,"request")&&this.authenticated){let F,j;if(C){let B=!1;F=c(Z=>{if(B)return;B=!0;let te;P==="tcpip-forward"&&M.bindPort===0&&typeof Z=="number"&&(te=Buffer.allocUnsafe(4),VS(te,Z,0)),T("SUCCESS",te)},"accept"),j=c(()=>{B||(B=!0,T("FAILURE"))},"reject")}if(P==="no-more-sessions@openssh.com"){this.noMoreSessions=!0,F&&F();return}this.emit("request",F,j,P,M)}else C&&T("FAILURE")},"GLOBAL_REQUEST")}});e.pause(),jS.then(()=>{D.start(),e.on("data",X=>{try{D.parse(X,0,X.length)}catch(P){this.emit("error",P);try{oc(e)&&e.end()}catch{}}}),e.resume()}).catch(X=>{this.emit("error",X);try{oc(e)&&e.end()}catch{}}),e.on("error",X=>{X.level="socket",this.emit("error",X)}).once("end",()=>{o&&o("Socket ended"),D.cleanup(),this.emit("end")}).once("close",()=>{o&&o("Socket closed"),D.cleanup(),this.emit("close");let X=new Error("No response from server");this._chanMgr.cleanup(X)});let J=c((X,P,C,M)=>{p===X&&!this.authenticated&&(P?(p=void 0,this.authenticated=!0,D.authSuccess(),d=[],this.emit("ready")):(D.authFailure(C,M),d.length&&(p=d.pop(),yr(this,"authentication")?this.emit("authentication",p):p.reject())))},"onAuthDecide");function Y(){for(;_.length>0&&_[0].type;){let X=_.shift();X.type==="SUCCESS"&&D.requestSuccess(X.buf),X.type==="FAILURE"&&D.requestFailure()}}c(Y,"sendReplies")}end(){return this._sock&&oc(this._sock)&&(this._protocol.disconnect(ao.BY_APPLICATION),this._sock.end()),this}x11(e,r,n){return yf(this,"x11",{originAddr:e,originPort:r},n),this}forwardOut(e,r,n,i,o){return yf(this,"forwarded-tcpip",{boundAddr:e,boundPort:r,remoteAddr:n,remotePort:i},o),this}openssh_forwardOutStreamLocal(e,r){return yf(this,"forwarded-streamlocal@openssh.com",{socketPath:e},r),this}rekey(e){let r;try{this._protocol.rekey()}catch(n){r=n}typeof e=="function"&&(r?process.nextTick(e,r):this.once("rekey",e))}setNoDelay(e){return this._sock&&typeof this._sock.setNoDelay=="function"&&this._sock.setNoDelay(e),this}};function yf(t,e,r,n){let i=Qn,o=Vn;typeof r=="function"&&(n=r,r={});let s=c((u,l)=>{n(u,l)},"wrapper");s.type=e;let a=t._chanMgr.add(s);if(a===-1){n(new Error("No free channels available"));return}switch(e){case"forwarded-tcpip":t._protocol.forwardedTcpip(a,i,o,r);break;case"x11":t._protocol.x11(a,i,o,r);break;case"forwarded-streamlocal@openssh.com":t._protocol.openssh_forwardedStreamLocal(a,i,o,r);break;default:throw new Error(`Unsupported channel type: ${e}`)}}c(yf,"openChannel");function ew(t,e){return t-e}c(ew,"compareNumbers");bf.exports=$r;bf.exports.IncomingClient=cc});var B_=le((JF,D_)=>{"use strict";var{createCipheriv:tw,generateKeyPair:rw,generateKeyPairSync:nw,getCurves:iw,randomBytes:N_}=require("crypto"),{Ber:Ot}=Ko(),ow=Fu().pbkdf,{CIPHER_INFO:sw}=Mn(),aw=16,cw=16,uw=iw(),lw=new Map(Object.entries(sw));function O_(t,e){if(typeof t!="string")throw new TypeError("Key type must be a string");let r={type:"spki",format:"der"},n={type:"pkcs8",format:"der"};switch(t.toLowerCase()){case"rsa":{if(typeof e!="object"||e===null)throw new TypeError("Missing options object for RSA key");let i=e.bits;if(!Number.isInteger(i))throw new TypeError("RSA bits must be an integer");if(i<=0||i>16384)throw new RangeError("RSA bits must be non-zero and <= 16384");return["rsa",{modulusLength:i,publicKeyEncoding:r,privateKeyEncoding:n}]}case"ecdsa":{if(typeof e!="object"||e===null)throw new TypeError("Missing options object for ECDSA key");if(!Number.isInteger(e.bits))throw new TypeError("ECDSA bits must be an integer");let i;switch(e.bits){case 256:i="prime256v1";break;case 384:i="secp384r1";break;case 521:i="secp521r1";break;default:throw new Error("ECDSA bits must be 256, 384, or 521")}if(!uw.includes(i))throw new Error("Unsupported ECDSA bits value");return["ec",{namedCurve:i,publicKeyEncoding:r,privateKeyEncoding:n}]}case"ed25519":return["ed25519",{publicKeyEncoding:r,privateKeyEncoding:n}];default:throw new Error(`Unsupported key type: ${t}`)}}c(O_,"makeArgs");function fw(t,e,r){switch(t){case"rsa":{let n=new Ot.Reader(r);if(n.readSequence(),n.readInt()!==0)throw new Error("Unsupported version in RSA private key");if(n.readSequence(),n.readOID()!=="1.2.840.113549.1.1.1")throw new Error("Bad RSA private OID");if(n.readByte()!==Ot.Null)throw new Error("Malformed RSA private key (expected null)");if(n.readByte()!==0)throw new Error("Malformed RSA private key (expected zero-length null)");if(n=new Ot.Reader(n.readString(Ot.OctetString,!0)),n.readSequence(),n.readInt()!==0)throw new Error("Unsupported version in RSA private key");let i=n.readString(Ot.Integer,!0),o=n.readString(Ot.Integer,!0),s=n.readString(Ot.Integer,!0),a=n.readString(Ot.Integer,!0),u=n.readString(Ot.Integer,!0);n.readString(Ot.Integer,!0),n.readString(Ot.Integer,!0);let l=n.readString(Ot.Integer,!0),d=Buffer.from("ssh-rsa"),p=Buffer.allocUnsafe(4+d.length+4+i.length+4+o.length+4+s.length+4+l.length+4+a.length+4+u.length),g=0;p.writeUInt32BE(d.length,g+=0),p.set(d,g+=4),p.writeUInt32BE(i.length,g+=d.length),p.set(i,g+=4),p.writeUInt32BE(o.length,g+=i.length),p.set(o,g+=4),p.writeUInt32BE(s.length,g+=o.length),p.set(s,g+=4),p.writeUInt32BE(l.length,g+=s.length),p.set(l,g+=4),p.writeUInt32BE(a.length,g+=l.length),p.set(a,g+=4),p.writeUInt32BE(u.length,g+=a.length),p.set(u,g+=4);let h=Buffer.allocUnsafe(4+d.length+4+o.length+4+i.length);return g=0,h.writeUInt32BE(d.length,g+=0),h.set(d,g+=4),h.writeUInt32BE(o.length,g+=d.length),h.set(o,g+=4),h.writeUInt32BE(i.length,g+=o.length),h.set(i,g+=4),{sshName:d.toString(),priv:p,pub:h}}case"ec":{let n=new Ot.Reader(e);if(n.readSequence(),n.readSequence(),n.readOID()!=="1.2.840.10045.2.1")throw new Error("Bad ECDSA public OID");n.readOID();let i=n.readString(Ot.BitString,!0);{let g=0;for(;g<i.length&&i[g]===0;++g);g>0&&(i=i.slice(g))}if(n=new Ot.Reader(r),n.readSequence(),n.readInt()!==0)throw new Error("Unsupported version in ECDSA private key");if(n.readSequence(),n.readOID()!=="1.2.840.10045.2.1")throw new Error("Bad ECDSA private OID");let o=n.readOID(),s;switch(o){case"1.2.840.10045.3.1.7":s="nistp256";break;case"1.3.132.0.34":s="nistp384";break;case"1.3.132.0.35":s="nistp521";break;default:throw new Error("Unsupported curve in ECDSA private key")}if(n=new Ot.Reader(n.readString(Ot.OctetString,!0)),n.readSequence(),n.readInt()!==1)throw new Error("Unsupported version in ECDSA private key");let a=Buffer.concat([Buffer.from([0]),n.readString(Ot.OctetString,!0)]),u=Buffer.from(`ecdsa-sha2-${s}`);s=Buffer.from(s);let l=Buffer.allocUnsafe(4+u.length+4+s.length+4+i.length+4+a.length),d=0;l.writeUInt32BE(u.length,d+=0),l.set(u,d+=4),l.writeUInt32BE(s.length,d+=u.length),l.set(s,d+=4),l.writeUInt32BE(i.length,d+=s.length),l.set(i,d+=4),l.writeUInt32BE(a.length,d+=i.length),l.set(a,d+=4);let p=Buffer.allocUnsafe(4+u.length+4+s.length+4+i.length);return d=0,p.writeUInt32BE(u.length,d+=0),p.set(u,d+=4),p.writeUInt32BE(s.length,d+=u.length),p.set(s,d+=4),p.writeUInt32BE(i.length,d+=s.length),p.set(i,d+=4),{sshName:u.toString(),priv:l,pub:p}}case"ed25519":{let n=new Ot.Reader(e);if(n.readSequence(),n.readSequence(),n.readOID()!=="1.3.101.112")throw new Error("Bad ED25519 public OID");let i=n.readString(Ot.BitString,!0);{let d=0;for(;d<i.length&&i[d]===0;++d);d>0&&(i=i.slice(d))}if(n=new Ot.Reader(r),n.readSequence(),n.readInt()!==0)throw new Error("Unsupported version in ED25519 private key");if(n.readSequence(),n.readOID()!=="1.3.101.112")throw new Error("Bad ED25519 private OID");n=new Ot.Reader(n.readString(Ot.OctetString,!0));let o=n.readString(Ot.OctetString,!0),s=Buffer.from("ssh-ed25519"),a=Buffer.allocUnsafe(4+s.length+4+i.length+4+(o.length+i.length)),u=0;a.writeUInt32BE(s.length,u+=0),a.set(s,u+=4),a.writeUInt32BE(i.length,u+=s.length),a.set(i,u+=4),a.writeUInt32BE(o.length+i.length,u+=i.length),a.set(o,u+=4),a.set(i,u+=o.length);let l=Buffer.allocUnsafe(4+s.length+4+i.length);return u=0,l.writeUInt32BE(s.length,u+=0),l.set(s,u+=4),l.writeUInt32BE(i.length,u+=s.length),l.set(i,u+=4),{sshName:s.toString(),priv:a,pub:l}}}}c(fw,"parseDERs");function $_(t,e,r,n){let i="new",o,s="";if(typeof n=="object"&&n!==null&&(typeof n.comment=="string"&&n.comment&&(s=n.comment),typeof n.format=="string"&&n.format&&(i=n.format),n.passphrase)){let a;if(typeof n.passphrase=="string")a=Buffer.from(n.passphrase);else if(Buffer.isBuffer(n.passphrase))a=n.passphrase;else throw new Error("Invalid passphrase");if(n.cipher===void 0)throw new Error("Missing cipher name");let u=lw.get(n.cipher);if(u===void 0)throw new Error("Invalid cipher name");if(i==="new"){let l=cw;if(n.rounds!==void 0){if(!Number.isInteger(n.rounds))throw new TypeError("rounds must be an integer");n.rounds>0&&(l=n.rounds)}let d=Buffer.allocUnsafe(u.keyLen+u.ivLen),p=N_(aw);if(ow(a,a.length,p,p.length,d,d.length,l)!==0)return new Error("Failed to generate information to encrypt key");let h=Buffer.allocUnsafe(4+p.length+4);{let _=0;h.writeUInt32BE(p.length,_+=0),h.set(p,_+=4),h.writeUInt32BE(l,_+=p.length)}o={cipher:u,cipherName:n.cipher,kdfName:"bcrypt",kdfOptions:h,key:d.slice(0,u.keyLen),iv:d.slice(u.keyLen)}}}switch(i){case"new":{let a=`-----BEGIN OPENSSH PRIVATE KEY-----
20
+ `,u,l=Buffer.from(o?o.cipherName:"none"),d=Buffer.from(o?o.kdfName:"none"),p=o?o.kdfOptions:Buffer.alloc(0),g=o?o.cipher.blockLen:8,h=fw(t,e,r),_=N_(4),A=Buffer.from(s),b=8+h.priv.length+4+A.length,v=[];for(let Y=1;(b+v.length)%g;++Y)v.push(Y&255);v=Buffer.from(v);let w=Buffer.allocUnsafe(b+v.length),H;{let Y=0;w.set(_,Y+=0),w.set(_,Y+=4),w.set(h.priv,Y+=4),w.writeUInt32BE(A.length,Y+=h.priv.length),w.set(A,Y+=4),w.set(v,Y+=A.length)}if(o){let Y={authTagLength:o.cipher.authLen},X=tw(o.cipher.sslName,o.key,o.iv,Y);X.setAutoPadding(!1),w=Buffer.concat([X.update(w),X.final()]),o.cipher.authLen>0?H=X.getAuthTag():H=Buffer.alloc(0),o.key.fill(0),o.iv.fill(0)}else H=Buffer.alloc(0);let D=Buffer.from("openssh-key-v1\0"),J=Buffer.allocUnsafe(D.length+4+l.length+4+d.length+4+p.length+4+4+h.pub.length+4+w.length+H.length);{let Y=0;J.set(D,Y+=0),J.writeUInt32BE(l.length,Y+=D.length),J.set(l,Y+=4),J.writeUInt32BE(d.length,Y+=l.length),J.set(d,Y+=4),J.writeUInt32BE(p.length,Y+=d.length),J.set(p,Y+=4),J.writeUInt32BE(1,Y+=p.length),J.writeUInt32BE(h.pub.length,Y+=4),J.set(h.pub,Y+=4),J.writeUInt32BE(w.length,Y+=h.pub.length),J.set(w,Y+=4),J.set(H,Y+=w.length)}{let Y=J.base64Slice(0,J.length),X=Y.replace(/.{64}/g,`$&
21
+ `);Y.length&63&&(X+=`
22
+ `),a+=X}{let Y=h.pub.base64Slice(0,h.pub.length);u=`${h.sshName} ${Y}${s?` ${s}`:""}`}return a+=`-----END OPENSSH PRIVATE KEY-----
23
+ `,{private:a,public:u}}default:throw new Error("Invalid output key format")}}c($_,"convertKeys");function dw(){}c(dw,"noop");D_.exports={generateKeyPair:c((t,e,r)=>{typeof e=="function"&&(r=e,e=void 0),typeof r!="function"&&(r=dw);let n=O_(t,e);rw(...n,(i,o,s)=>{if(i)return r(i);let a;try{a=$_(n[0],o,s,e)}catch(u){return r(u)}r(null,a)})},"generateKeyPair"),generateKeyPairSync:c((t,e)=>{let r=O_(t,e),{publicKey:n,privateKey:i}=nw(...r);return $_(r[0],n,i,e)},"generateKeyPairSync")}});var L_=le((t5,U_)=>{"use strict";var{AgentProtocol:pw,BaseAgent:hw,createAgent:gw,CygwinAgent:mw,OpenSSHAgent:_w,PageantAgent:yw}=Cl(),{SSHTTPAgent:Ew,SSHTTPSAgent:Aw}=C_(),{parseKey:bw}=jn(),{flagsToString:xw,OPEN_MODE:Iw,STATUS_CODE:vw,stringToFlags:Sw}=ps();U_.exports={AgentProtocol:pw,BaseAgent:hw,createAgent:gw,Client:gf(),CygwinAgent:mw,HTTPAgent:Ew,HTTPSAgent:Aw,OpenSSHAgent:_w,PageantAgent:yw,Server:R_(),utils:{parseKey:bw,...B_(),sftp:{flagsToString:xw,OPEN_MODE:Iw,STATUS_CODE:vw,stringToFlags:Sw}}}});var xf=le((r5,z_)=>{z_.exports=require("stream")});var q_=le((n5,W_)=>{"use strict";function M_(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}c(M_,"ownKeys");function F_(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?M_(Object(r),!0).forEach(function(n){ww(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):M_(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}c(F_,"_objectSpread");function ww(t,e,r){return e=j_(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}c(ww,"_defineProperty");function Pw(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}c(Pw,"_classCallCheck");function H_(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,j_(n.key),n)}}c(H_,"_defineProperties");function Tw(t,e,r){return e&&H_(t.prototype,e),r&&H_(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}c(Tw,"_createClass");function j_(t){var e=Cw(t,"string");return typeof e=="symbol"?e:String(e)}c(j_,"_toPropertyKey");function Cw(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}c(Cw,"_toPrimitive");var kw=require("buffer"),uc=kw.Buffer,Rw=require("util"),If=Rw.inspect,Nw=If&&If.custom||"inspect";function Ow(t,e,r){uc.prototype.copy.call(t,e,r)}c(Ow,"copyBuffer");W_.exports=(function(){function t(){Pw(this,t),this.head=null,this.tail=null,this.length=0}return c(t,"BufferList"),Tw(t,[{key:"push",value:c(function(r){var n={data:r,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length},"push")},{key:"unshift",value:c(function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length},"unshift")},{key:"shift",value:c(function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}},"shift")},{key:"clear",value:c(function(){this.head=this.tail=null,this.length=0},"clear")},{key:"join",value:c(function(r){if(this.length===0)return"";for(var n=this.head,i=""+n.data;n=n.next;)i+=r+n.data;return i},"join")},{key:"concat",value:c(function(r){if(this.length===0)return uc.alloc(0);for(var n=uc.allocUnsafe(r>>>0),i=this.head,o=0;i;)Ow(i.data,n,o),o+=i.data.length,i=i.next;return n},"concat")},{key:"consume",value:c(function(r,n){var i;return r<this.head.data.length?(i=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?i=this.shift():i=n?this._getString(r):this._getBuffer(r),i},"consume")},{key:"first",value:c(function(){return this.head.data},"first")},{key:"_getString",value:c(function(r){var n=this.head,i=1,o=n.data;for(r-=o.length;n=n.next;){var s=n.data,a=r>s.length?s.length:r;if(a===s.length?o+=s:o+=s.slice(0,r),r-=a,r===0){a===s.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=s.slice(a));break}++i}return this.length-=i,o},"_getString")},{key:"_getBuffer",value:c(function(r){var n=uc.allocUnsafe(r),i=this.head,o=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var s=i.data,a=r>s.length?s.length:r;if(s.copy(n,n.length-r,0,a),r-=a,r===0){a===s.length?(++o,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=s.slice(a));break}++o}return this.length-=o,n},"_getBuffer")},{key:Nw,value:c(function(r,n){return If(this,F_(F_({},n),{},{depth:0,customInspect:!1}))},"value")}]),t})()});var Sf=le((o5,V_)=>{"use strict";function $w(t,e){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(vf,this,t)):process.nextTick(vf,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(o){!e&&o?r._writableState?r._writableState.errorEmitted?process.nextTick(lc,r):(r._writableState.errorEmitted=!0,process.nextTick(Q_,r,o)):process.nextTick(Q_,r,o):e?(process.nextTick(lc,r),e(o)):process.nextTick(lc,r)}),this)}c($w,"destroy");function Q_(t,e){vf(t,e),lc(t)}c(Q_,"emitErrorAndCloseNT");function lc(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}c(lc,"emitCloseNT");function Dw(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}c(Dw,"undestroy");function vf(t,e){t.emit("error",e)}c(vf,"emitErrorNT");function Bw(t,e){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit("error",e)}c(Bw,"errorOrDestroy");V_.exports={destroy:$w,undestroy:Dw,errorOrDestroy:Bw}});var Gn=le((a5,Z_)=>{"use strict";var G_={};function Hr(t,e,r){r||(r=Error);function n(o,s,a){return typeof e=="string"?e:e(o,s,a)}c(n,"getMessage");class i extends r{static{c(this,"NodeError")}constructor(s,a,u){super(n(s,a,u))}}i.prototype.name=r.name,i.prototype.code=t,G_[t]=i}c(Hr,"createErrorType");function K_(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(n=>String(n)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}c(K_,"oneOf");function Uw(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}c(Uw,"startsWith");function Lw(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}c(Lw,"endsWith");function zw(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}c(zw,"includes");Hr("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Hr("ERR_INVALID_ARG_TYPE",function(t,e,r){let n;typeof e=="string"&&Uw(e,"not ")?(n="must not be",e=e.replace(/^not /,"")):n="must be";let i;if(Lw(t," argument"))i=`The ${t} ${n} ${K_(e,"type")}`;else{let o=zw(t,".")?"property":"argument";i=`The "${t}" ${o} ${n} ${K_(e,"type")}`}return i+=`. Received type ${typeof r}`,i},TypeError);Hr("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Hr("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Hr("ERR_STREAM_PREMATURE_CLOSE","Premature close");Hr("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Hr("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Hr("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Hr("ERR_STREAM_WRITE_AFTER_END","write after end");Hr("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Hr("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Hr("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");Z_.exports.codes=G_});var wf=le((u5,Y_)=>{"use strict";var Mw=Gn().codes.ERR_INVALID_OPT_VALUE;function Fw(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}c(Fw,"highWaterMarkFrom");function Hw(t,e,r,n){var i=Fw(e,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var o=n?r:"highWaterMark";throw new Mw(o,i)}return Math.floor(i)}return t.objectMode?16:16*1024}c(Hw,"getHighWaterMark");Y_.exports={getHighWaterMark:Hw}});var X_=le((f5,Pf)=>{typeof Object.create=="function"?Pf.exports=c(function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))},"inherits"):Pf.exports=c(function(e,r){if(r){e.super_=r;var n=c(function(){},"TempCtor");n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}},"inherits")});var di=le((p5,Cf)=>{try{if(Tf=require("util"),typeof Tf.inherits!="function")throw"";Cf.exports=Tf.inherits}catch{Cf.exports=X_()}var Tf});var ey=le((h5,J_)=>{J_.exports=require("util").deprecate});var Nf=le((g5,sy)=>{"use strict";sy.exports=Gt;function ry(t){var e=this;this.next=null,this.entry=null,this.finish=function(){gP(e,t)}}c(ry,"CorkedRequest");var uo;Gt.WritableState=Is;var jw={deprecate:ey()},ny=xf(),dc=require("buffer").Buffer,Ww=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function qw(t){return dc.from(t)}c(qw,"_uint8ArrayToBuffer");function Qw(t){return dc.isBuffer(t)||t instanceof Ww}c(Qw,"_isUint8Array");var Rf=Sf(),Vw=wf(),Kw=Vw.getHighWaterMark,Zn=Gn().codes,Gw=Zn.ERR_INVALID_ARG_TYPE,Zw=Zn.ERR_METHOD_NOT_IMPLEMENTED,Yw=Zn.ERR_MULTIPLE_CALLBACK,Xw=Zn.ERR_STREAM_CANNOT_PIPE,Jw=Zn.ERR_STREAM_DESTROYED,eP=Zn.ERR_STREAM_NULL_VALUES,tP=Zn.ERR_STREAM_WRITE_AFTER_END,rP=Zn.ERR_UNKNOWN_ENCODING,lo=Rf.errorOrDestroy;di()(Gt,ny);function nP(){}c(nP,"nop");function Is(t,e,r){uo=uo||pi(),t=t||{},typeof r!="boolean"&&(r=e instanceof uo),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=Kw(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=t.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){lP(e,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new ry(this)}c(Is,"WritableState");Is.prototype.getBuffer=c(function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r},"getBuffer");(function(){try{Object.defineProperty(Is.prototype,"buffer",{get:jw.deprecate(c(function(){return this.getBuffer()},"writableStateBufferGetter"),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var fc;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(fc=Function.prototype[Symbol.hasInstance],Object.defineProperty(Gt,Symbol.hasInstance,{value:c(function(e){return fc.call(this,e)?!0:this!==Gt?!1:e&&e._writableState instanceof Is},"value")})):fc=c(function(e){return e instanceof this},"realHasInstance");function Gt(t){uo=uo||pi();var e=this instanceof uo;if(!e&&!fc.call(Gt,this))return new Gt(t);this._writableState=new Is(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),ny.call(this)}c(Gt,"Writable");Gt.prototype.pipe=function(){lo(this,new Xw)};function iP(t,e){var r=new tP;lo(t,r),process.nextTick(e,r)}c(iP,"writeAfterEnd");function oP(t,e,r,n){var i;return r===null?i=new eP:typeof r!="string"&&!e.objectMode&&(i=new Gw("chunk",["string","Buffer"],r)),i?(lo(t,i),process.nextTick(n,i),!1):!0}c(oP,"validChunk");Gt.prototype.write=function(t,e,r){var n=this._writableState,i=!1,o=!n.objectMode&&Qw(t);return o&&!dc.isBuffer(t)&&(t=qw(t)),typeof e=="function"&&(r=e,e=null),o?e="buffer":e||(e=n.defaultEncoding),typeof r!="function"&&(r=nP),n.ending?iP(this,r):(o||oP(this,n,t,r))&&(n.pendingcb++,i=aP(this,n,o,t,e,r)),i};Gt.prototype.cork=function(){this._writableState.corked++};Gt.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&iy(this,t))};Gt.prototype.setDefaultEncoding=c(function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new rP(e);return this._writableState.defaultEncoding=e,this},"setDefaultEncoding");Object.defineProperty(Gt.prototype,"writableBuffer",{enumerable:!1,get:c(function(){return this._writableState&&this._writableState.getBuffer()},"get")});function sP(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=dc.from(e,r)),e}c(sP,"decodeChunk");Object.defineProperty(Gt.prototype,"writableHighWaterMark",{enumerable:!1,get:c(function(){return this._writableState.highWaterMark},"get")});function aP(t,e,r,n,i,o){if(!r){var s=sP(e,n,i);n!==s&&(r=!0,i="buffer",n=s)}var a=e.objectMode?1:n.length;e.length+=a;var u=e.length<e.highWaterMark;if(u||(e.needDrain=!0),e.writing||e.corked){var l=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:o,next:null},l?l.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else kf(t,e,!1,a,n,i,o);return u}c(aP,"writeOrBuffer");function kf(t,e,r,n,i,o,s){e.writelen=n,e.writecb=s,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new Jw("write")):r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}c(kf,"doWrite");function cP(t,e,r,n,i){--e.pendingcb,r?(process.nextTick(i,n),process.nextTick(xs,t,e),t._writableState.errorEmitted=!0,lo(t,n)):(i(n),t._writableState.errorEmitted=!0,lo(t,n),xs(t,e))}c(cP,"onwriteError");function uP(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}c(uP,"onwriteStateUpdate");function lP(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if(typeof i!="function")throw new Yw;if(uP(r),e)cP(t,r,n,e,i);else{var o=oy(r)||t.destroyed;!o&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&iy(t,r),n?process.nextTick(ty,t,r,o,i):ty(t,r,o,i)}}c(lP,"onwrite");function ty(t,e,r,n){r||fP(t,e),e.pendingcb--,n(),xs(t,e)}c(ty,"afterWrite");function fP(t,e){e.length===0&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}c(fP,"onwriteDrain");function iy(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),o=e.corkedRequestsFree;o.entry=r;for(var s=0,a=!0;r;)i[s]=r,r.isBuf||(a=!1),r=r.next,s+=1;i.allBuffers=a,kf(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new ry(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,l=r.encoding,d=r.callback,p=e.objectMode?1:u.length;if(kf(t,e,!1,p,u,l,d),r=r.next,e.bufferedRequestCount--,e.writing)break}r===null&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}c(iy,"clearBuffer");Gt.prototype._write=function(t,e,r){r(new Zw("_write()"))};Gt.prototype._writev=null;Gt.prototype.end=function(t,e,r){var n=this._writableState;return typeof t=="function"?(r=t,t=null,e=null):typeof e=="function"&&(r=e,e=null),t!=null&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||hP(this,n,r),this};Object.defineProperty(Gt.prototype,"writableLength",{enumerable:!1,get:c(function(){return this._writableState.length},"get")});function oy(t){return t.ending&&t.length===0&&t.bufferedRequest===null&&!t.finished&&!t.writing}c(oy,"needFinish");function dP(t,e){t._final(function(r){e.pendingcb--,r&&lo(t,r),e.prefinished=!0,t.emit("prefinish"),xs(t,e)})}c(dP,"callFinal");function pP(t,e){!e.prefinished&&!e.finalCalled&&(typeof t._final=="function"&&!e.destroyed?(e.pendingcb++,e.finalCalled=!0,process.nextTick(dP,t,e)):(e.prefinished=!0,t.emit("prefinish")))}c(pP,"prefinish");function xs(t,e){var r=oy(e);if(r&&(pP(t,e),e.pendingcb===0&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var n=t._readableState;(!n||n.autoDestroy&&n.endEmitted)&&t.destroy()}return r}c(xs,"finishMaybe");function hP(t,e,r){e.ending=!0,xs(t,e),r&&(e.finished?process.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}c(hP,"endWritable");function gP(t,e,r){var n=t.entry;for(t.entry=null;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree.next=t}c(gP,"onCorkedFinish");Object.defineProperty(Gt.prototype,"destroyed",{enumerable:!1,get:c(function(){return this._writableState===void 0?!1:this._writableState.destroyed},"get"),set:c(function(e){this._writableState&&(this._writableState.destroyed=e)},"set")});Gt.prototype.destroy=Rf.destroy;Gt.prototype._undestroy=Rf.undestroy;Gt.prototype._destroy=function(t,e){e(t)}});var pi=le((_5,cy)=>{"use strict";var mP=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};cy.exports=cn;var ay=Df(),$f=Nf();di()(cn,ay);for(Of=mP($f.prototype),pc=0;pc<Of.length;pc++)hc=Of[pc],cn.prototype[hc]||(cn.prototype[hc]=$f.prototype[hc]);var Of,hc,pc;function cn(t){if(!(this instanceof cn))return new cn(t);ay.call(this,t),$f.call(this,t),this.allowHalfOpen=!0,t&&(t.readable===!1&&(this.readable=!1),t.writable===!1&&(this.writable=!1),t.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",_P)))}c(cn,"Duplex");Object.defineProperty(cn.prototype,"writableHighWaterMark",{enumerable:!1,get:c(function(){return this._writableState.highWaterMark},"get")});Object.defineProperty(cn.prototype,"writableBuffer",{enumerable:!1,get:c(function(){return this._writableState&&this._writableState.getBuffer()},"get")});Object.defineProperty(cn.prototype,"writableLength",{enumerable:!1,get:c(function(){return this._writableState.length},"get")});function _P(){this._writableState.ended||process.nextTick(yP,this)}c(_P,"onend");function yP(t){t.end()}c(yP,"onEndNT");Object.defineProperty(cn.prototype,"destroyed",{enumerable:!1,get:c(function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},"get"),set:c(function(e){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=e,this._writableState.destroyed=e)},"set")})});var fy=le((Bf,ly)=>{var gc=require("buffer"),un=gc.Buffer;function uy(t,e){for(var r in t)e[r]=t[r]}c(uy,"copyProps");un.from&&un.alloc&&un.allocUnsafe&&un.allocUnsafeSlow?ly.exports=gc:(uy(gc,Bf),Bf.Buffer=hi);function hi(t,e,r){return un(t,e,r)}c(hi,"SafeBuffer");hi.prototype=Object.create(un.prototype);uy(un,hi);hi.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return un(t,e,r)};hi.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=un(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};hi.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return un(t)};hi.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return gc.SlowBuffer(t)}});var zf=le(py=>{"use strict";var Lf=fy().Buffer,dy=Lf.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function EP(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}c(EP,"_normalizeEncoding");function AP(t){var e=EP(t);if(typeof e!="string"&&(Lf.isEncoding===dy||!dy(t)))throw new Error("Unknown encoding: "+t);return e||t}c(AP,"normalizeEncoding");py.StringDecoder=vs;function vs(t){this.encoding=AP(t);var e;switch(this.encoding){case"utf16le":this.text=wP,this.end=PP,e=4;break;case"utf8":this.fillLast=IP,e=4;break;case"base64":this.text=TP,this.end=CP,e=3;break;default:this.write=kP,this.end=RP;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Lf.allocUnsafe(e)}c(vs,"StringDecoder");vs.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""};vs.prototype.end=SP;vs.prototype.text=vP;vs.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};function Uf(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}c(Uf,"utf8CheckByte");function bP(t,e,r){var n=e.length-1;if(n<r)return 0;var i=Uf(e[n]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--n<r||i===-2?0:(i=Uf(e[n]),i>=0?(i>0&&(t.lastNeed=i-2),i):--n<r||i===-2?0:(i=Uf(e[n]),i>=0?(i>0&&(i===2?i=0:t.lastNeed=i-3),i):0))}c(bP,"utf8CheckIncomplete");function xP(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}c(xP,"utf8CheckExtraBytes");function IP(t){var e=this.lastTotal-this.lastNeed,r=xP(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}c(IP,"utf8FillLast");function vP(t,e){var r=bP(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)}c(vP,"utf8Text");function SP(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}c(SP,"utf8End");function wP(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}c(wP,"utf16Text");function PP(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}c(PP,"utf16End");function TP(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}c(TP,"base64Text");function CP(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}c(CP,"base64End");function kP(t){return t.toString(this.encoding)}c(kP,"simpleWrite");function RP(t){return t&&t.length?this.write(t):""}c(RP,"simpleEnd")});var mc=le((x5,my)=>{"use strict";var hy=Gn().codes.ERR_STREAM_PREMATURE_CLOSE;function NP(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];t.apply(this,n)}}}c(NP,"once");function OP(){}c(OP,"noop");function $P(t){return t.setHeader&&typeof t.abort=="function"}c($P,"isRequest");function gy(t,e,r){if(typeof e=="function")return gy(t,null,e);e||(e={}),r=NP(r||OP);var n=e.readable||e.readable!==!1&&t.readable,i=e.writable||e.writable!==!1&&t.writable,o=c(function(){t.writable||a()},"onlegacyfinish"),s=t._writableState&&t._writableState.finished,a=c(function(){i=!1,s=!0,n||r.call(t)},"onfinish"),u=t._readableState&&t._readableState.endEmitted,l=c(function(){n=!1,u=!0,i||r.call(t)},"onend"),d=c(function(_){r.call(t,_)},"onerror"),p=c(function(){var _;if(n&&!u)return(!t._readableState||!t._readableState.ended)&&(_=new hy),r.call(t,_);if(i&&!s)return(!t._writableState||!t._writableState.ended)&&(_=new hy),r.call(t,_)},"onclose"),g=c(function(){t.req.on("finish",a)},"onrequest");return $P(t)?(t.on("complete",a),t.on("abort",p),t.req?g():t.on("request",g)):i&&!t._writableState&&(t.on("end",o),t.on("close",o)),t.on("end",l),t.on("finish",a),e.error!==!1&&t.on("error",d),t.on("close",p),function(){t.removeListener("complete",a),t.removeListener("abort",p),t.removeListener("request",g),t.req&&t.req.removeListener("finish",a),t.removeListener("end",o),t.removeListener("close",o),t.removeListener("finish",a),t.removeListener("end",l),t.removeListener("error",d),t.removeListener("close",p)}}c(gy,"eos");my.exports=gy});var yy=le((v5,_y)=>{"use strict";var _c;function Yn(t,e,r){return e=DP(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}c(Yn,"_defineProperty");function DP(t){var e=BP(t,"string");return typeof e=="symbol"?e:String(e)}c(DP,"_toPropertyKey");function BP(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}c(BP,"_toPrimitive");var UP=mc(),Xn=Symbol("lastResolve"),gi=Symbol("lastReject"),Ss=Symbol("error"),yc=Symbol("ended"),mi=Symbol("lastPromise"),Mf=Symbol("handlePromise"),_i=Symbol("stream");function Jn(t,e){return{value:t,done:e}}c(Jn,"createIterResult");function LP(t){var e=t[Xn];if(e!==null){var r=t[_i].read();r!==null&&(t[mi]=null,t[Xn]=null,t[gi]=null,e(Jn(r,!1)))}}c(LP,"readAndResolve");function zP(t){process.nextTick(LP,t)}c(zP,"onReadable");function MP(t,e){return function(r,n){t.then(function(){if(e[yc]){r(Jn(void 0,!0));return}e[Mf](r,n)},n)}}c(MP,"wrapForNext");var FP=Object.getPrototypeOf(function(){}),HP=Object.setPrototypeOf((_c={get stream(){return this[_i]},next:c(function(){var e=this,r=this[Ss];if(r!==null)return Promise.reject(r);if(this[yc])return Promise.resolve(Jn(void 0,!0));if(this[_i].destroyed)return new Promise(function(s,a){process.nextTick(function(){e[Ss]?a(e[Ss]):s(Jn(void 0,!0))})});var n=this[mi],i;if(n)i=new Promise(MP(n,this));else{var o=this[_i].read();if(o!==null)return Promise.resolve(Jn(o,!1));i=new Promise(this[Mf])}return this[mi]=i,i},"next")},Yn(_c,Symbol.asyncIterator,function(){return this}),Yn(_c,"return",c(function(){var e=this;return new Promise(function(r,n){e[_i].destroy(null,function(i){if(i){n(i);return}r(Jn(void 0,!0))})})},"_return")),_c),FP),jP=c(function(e){var r,n=Object.create(HP,(r={},Yn(r,_i,{value:e,writable:!0}),Yn(r,Xn,{value:null,writable:!0}),Yn(r,gi,{value:null,writable:!0}),Yn(r,Ss,{value:null,writable:!0}),Yn(r,yc,{value:e._readableState.endEmitted,writable:!0}),Yn(r,Mf,{value:c(function(o,s){var a=n[_i].read();a?(n[mi]=null,n[Xn]=null,n[gi]=null,o(Jn(a,!1))):(n[Xn]=o,n[gi]=s)},"value"),writable:!0}),r));return n[mi]=null,UP(e,function(i){if(i&&i.code!=="ERR_STREAM_PREMATURE_CLOSE"){var o=n[gi];o!==null&&(n[mi]=null,n[Xn]=null,n[gi]=null,o(i)),n[Ss]=i;return}var s=n[Xn];s!==null&&(n[mi]=null,n[Xn]=null,n[gi]=null,s(Jn(void 0,!0))),n[yc]=!0}),e.on("readable",zP.bind(null,n)),n},"createReadableStreamAsyncIterator");_y.exports=jP});var xy=le((w5,by)=>{"use strict";function Ey(t,e,r,n,i,o,s){try{var a=t[o](s),u=a.value}catch(l){r(l);return}a.done?e(u):Promise.resolve(u).then(n,i)}c(Ey,"asyncGeneratorStep");function WP(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function s(u){Ey(o,n,i,s,a,"next",u)}c(s,"_next");function a(u){Ey(o,n,i,s,a,"throw",u)}c(a,"_throw"),s(void 0)})}}c(WP,"_asyncToGenerator");function Ay(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}c(Ay,"ownKeys");function qP(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Ay(Object(r),!0).forEach(function(n){QP(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ay(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}c(qP,"_objectSpread");function QP(t,e,r){return e=VP(e),e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}c(QP,"_defineProperty");function VP(t){var e=KP(t,"string");return typeof e=="symbol"?e:String(e)}c(VP,"_toPropertyKey");function KP(t,e){if(typeof t!="object"||t===null)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}c(KP,"_toPrimitive");var GP=Gn().codes.ERR_INVALID_ARG_TYPE;function ZP(t,e,r){var n;if(e&&typeof e.next=="function")n=e;else if(e&&e[Symbol.asyncIterator])n=e[Symbol.asyncIterator]();else if(e&&e[Symbol.iterator])n=e[Symbol.iterator]();else throw new GP("iterable",["Iterable"],e);var i=new t(qP({objectMode:!0},r)),o=!1;i._read=function(){o||(o=!0,s())};function s(){return a.apply(this,arguments)}c(s,"next");function a(){return a=WP(function*(){try{var u=yield n.next(),l=u.value,d=u.done;d?i.push(null):i.push(yield l)?s():o=!1}catch(p){i.destroy(p)}}),a.apply(this,arguments)}return c(a,"_next2"),i}c(ZP,"from");by.exports=ZP});var Df=le((C5,Ny)=>{"use strict";Ny.exports=bt;var fo;bt.ReadableState=wy;var T5=require("events").EventEmitter,Sy=c(function(e,r){return e.listeners(r).length},"EElistenerCount"),Ps=xf(),Ec=require("buffer").Buffer,YP=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function XP(t){return Ec.from(t)}c(XP,"_uint8ArrayToBuffer");function JP(t){return Ec.isBuffer(t)||t instanceof YP}c(JP,"_isUint8Array");var Ff=require("util"),ct;Ff&&Ff.debuglog?ct=Ff.debuglog("stream"):ct=c(function(){},"debug");var eT=q_(),Kf=Sf(),tT=wf(),rT=tT.getHighWaterMark,Ac=Gn().codes,nT=Ac.ERR_INVALID_ARG_TYPE,iT=Ac.ERR_STREAM_PUSH_AFTER_EOF,oT=Ac.ERR_METHOD_NOT_IMPLEMENTED,sT=Ac.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,po,Hf,jf;di()(bt,Ps);var ws=Kf.errorOrDestroy,Wf=["error","close","destroy","pause","resume"];function aT(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}c(aT,"prependListener");function wy(t,e,r){fo=fo||pi(),t=t||{},typeof r!="boolean"&&(r=e instanceof fo),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=rT(this,t,"readableHighWaterMark",r),this.buffer=new eT,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(po||(po=zf().StringDecoder),this.decoder=new po(t.encoding),this.encoding=t.encoding)}c(wy,"ReadableState");function bt(t){if(fo=fo||pi(),!(this instanceof bt))return new bt(t);var e=this instanceof fo;this._readableState=new wy(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),Ps.call(this)}c(bt,"Readable");Object.defineProperty(bt.prototype,"destroyed",{enumerable:!1,get:c(function(){return this._readableState===void 0?!1:this._readableState.destroyed},"get"),set:c(function(e){this._readableState&&(this._readableState.destroyed=e)},"set")});bt.prototype.destroy=Kf.destroy;bt.prototype._undestroy=Kf.undestroy;bt.prototype._destroy=function(t,e){e(t)};bt.prototype.push=function(t,e){var r=this._readableState,n;return r.objectMode?n=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=Ec.from(t,e),e=""),n=!0),Py(this,t,e,!1,n)};bt.prototype.unshift=function(t){return Py(this,t,null,!0,!1)};function Py(t,e,r,n,i){ct("readableAddChunk",e);var o=t._readableState;if(e===null)o.reading=!1,lT(t,o);else{var s;if(i||(s=cT(o,e)),s)ws(t,s);else if(o.objectMode||e&&e.length>0)if(typeof e!="string"&&!o.objectMode&&Object.getPrototypeOf(e)!==Ec.prototype&&(e=XP(e)),n)o.endEmitted?ws(t,new sT):qf(t,o,e,!0);else if(o.ended)ws(t,new iT);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||e.length!==0?qf(t,o,e,!1):Vf(t,o)):qf(t,o,e,!1)}else n||(o.reading=!1,Vf(t,o))}return!o.ended&&(o.length<o.highWaterMark||o.length===0)}c(Py,"readableAddChunk");function qf(t,e,r,n){e.flowing&&e.length===0&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&bc(t)),Vf(t,e)}c(qf,"addChunk");function cT(t,e){var r;return!JP(e)&&typeof e!="string"&&e!==void 0&&!t.objectMode&&(r=new nT("chunk",["string","Buffer","Uint8Array"],e)),r}c(cT,"chunkInvalid");bt.prototype.isPaused=function(){return this._readableState.flowing===!1};bt.prototype.setEncoding=function(t){po||(po=zf().StringDecoder);var e=new po(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,n="";r!==null;)n+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),n!==""&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var Iy=1073741824;function uT(t){return t>=Iy?t=Iy:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}c(uT,"computeNewHighWaterMark");function vy(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=uT(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}c(vy,"howMuchToRead");bt.prototype.read=function(t){ct("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return ct("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?Qf(this):bc(this),null;if(t=vy(t,e),t===0&&e.ended)return e.length===0&&Qf(this),null;var n=e.needReadable;ct("need readable",n),(e.length===0||e.length-t<e.highWaterMark)&&(n=!0,ct("length less than watermark",n)),e.ended||e.reading?(n=!1,ct("reading or ended",n)):n&&(ct("do read"),e.reading=!0,e.sync=!0,e.length===0&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=vy(r,e)));var i;return t>0?i=ky(t,e):i=null,i===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&Qf(this)),i!==null&&this.emit("data",i),i};function lT(t,e){if(ct("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?bc(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Ty(t)))}}c(lT,"onEofChunk");function bc(t){var e=t._readableState;ct("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(ct("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Ty,t))}c(bc,"emitReadable");function Ty(t){var e=t._readableState;ct("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,Gf(t)}c(Ty,"emitReadable_");function Vf(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(fT,t,e))}c(Vf,"maybeReadMore");function fT(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&e.length===0);){var r=e.length;if(ct("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}c(fT,"maybeReadMore_");bt.prototype._read=function(t){ws(this,new oT("_read()"))};bt.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t);break}n.pipesCount+=1,ct("pipe count=%d opts=%j",n.pipesCount,e);var i=(!e||e.end!==!1)&&t!==process.stdout&&t!==process.stderr,o=i?a:A;n.endEmitted?process.nextTick(o):r.once("end",o),t.on("unpipe",s);function s(b,v){ct("onunpipe"),b===r&&v&&v.hasUnpiped===!1&&(v.hasUnpiped=!0,d())}c(s,"onunpipe");function a(){ct("onend"),t.end()}c(a,"onend");var u=dT(r);t.on("drain",u);var l=!1;function d(){ct("cleanup"),t.removeListener("close",h),t.removeListener("finish",_),t.removeListener("drain",u),t.removeListener("error",g),t.removeListener("unpipe",s),r.removeListener("end",a),r.removeListener("end",A),r.removeListener("data",p),l=!0,n.awaitDrain&&(!t._writableState||t._writableState.needDrain)&&u()}c(d,"cleanup"),r.on("data",p);function p(b){ct("ondata");var v=t.write(b);ct("dest.write",v),v===!1&&((n.pipesCount===1&&n.pipes===t||n.pipesCount>1&&Ry(n.pipes,t)!==-1)&&!l&&(ct("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}c(p,"ondata");function g(b){ct("onerror",b),A(),t.removeListener("error",g),Sy(t,"error")===0&&ws(t,b)}c(g,"onerror"),aT(t,"error",g);function h(){t.removeListener("finish",_),A()}c(h,"onclose"),t.once("close",h);function _(){ct("onfinish"),t.removeListener("close",h),A()}c(_,"onfinish"),t.once("finish",_);function A(){ct("unpipe"),r.unpipe(t)}return c(A,"unpipe"),t.emit("pipe",r),n.flowing||(ct("pipe resume"),r.resume()),t};function dT(t){return c(function(){var r=t._readableState;ct("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&Sy(t,"data")&&(r.flowing=!0,Gf(t))},"pipeOnDrainFunctionResult")}c(dT,"pipeOnDrain");bt.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)n[o].emit("unpipe",this,{hasUnpiped:!1});return this}var s=Ry(e.pipes,t);return s===-1?this:(e.pipes.splice(s,1),e.pipesCount-=1,e.pipesCount===1&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r),this)};bt.prototype.on=function(t,e){var r=Ps.prototype.on.call(this,t,e),n=this._readableState;return t==="data"?(n.readableListening=this.listenerCount("readable")>0,n.flowing!==!1&&this.resume()):t==="readable"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,ct("on readable",n.length,n.reading),n.length?bc(this):n.reading||process.nextTick(pT,this)),r};bt.prototype.addListener=bt.prototype.on;bt.prototype.removeListener=function(t,e){var r=Ps.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(Cy,this),r};bt.prototype.removeAllListeners=function(t){var e=Ps.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(Cy,this),e};function Cy(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}c(Cy,"updateReadableListening");function pT(t){ct("readable nexttick read 0"),t.read(0)}c(pT,"nReadingNextTick");bt.prototype.resume=function(){var t=this._readableState;return t.flowing||(ct("resume"),t.flowing=!t.readableListening,hT(this,t)),t.paused=!1,this};function hT(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(gT,t,e))}c(hT,"resume");function gT(t,e){ct("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),Gf(t),e.flowing&&!e.reading&&t.read(0)}c(gT,"resume_");bt.prototype.pause=function(){return ct("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ct("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Gf(t){var e=t._readableState;for(ct("flow",e.flowing);e.flowing&&t.read()!==null;);}c(Gf,"flow");bt.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;t.on("end",function(){if(ct("wrapped end"),r.decoder&&!r.ended){var s=r.decoder.end();s&&s.length&&e.push(s)}e.push(null)}),t.on("data",function(s){if(ct("wrapped data"),r.decoder&&(s=r.decoder.write(s)),!(r.objectMode&&s==null)&&!(!r.objectMode&&(!s||!s.length))){var a=e.push(s);a||(n=!0,t.pause())}});for(var i in t)this[i]===void 0&&typeof t[i]=="function"&&(this[i]=c(function(a){return c(function(){return t[a].apply(t,arguments)},"methodWrapReturnFunction")},"methodWrap")(i));for(var o=0;o<Wf.length;o++)t.on(Wf[o],this.emit.bind(this,Wf[o]));return this._read=function(s){ct("wrapped _read",s),n&&(n=!1,t.resume())},this};typeof Symbol=="function"&&(bt.prototype[Symbol.asyncIterator]=function(){return Hf===void 0&&(Hf=yy()),Hf(this)});Object.defineProperty(bt.prototype,"readableHighWaterMark",{enumerable:!1,get:c(function(){return this._readableState.highWaterMark},"get")});Object.defineProperty(bt.prototype,"readableBuffer",{enumerable:!1,get:c(function(){return this._readableState&&this._readableState.buffer},"get")});Object.defineProperty(bt.prototype,"readableFlowing",{enumerable:!1,get:c(function(){return this._readableState.flowing},"get"),set:c(function(e){this._readableState&&(this._readableState.flowing=e)},"set")});bt._fromList=ky;Object.defineProperty(bt.prototype,"readableLength",{enumerable:!1,get:c(function(){return this._readableState.length},"get")});function ky(t,e){if(e.length===0)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}c(ky,"fromList");function Qf(t){var e=t._readableState;ct("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(mT,e,t))}c(Qf,"endReadable");function mT(t,e){if(ct("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}c(mT,"endReadableNT");typeof Symbol=="function"&&(bt.from=function(t,e){return jf===void 0&&(jf=xy()),jf(bt,t,e)});function Ry(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}c(Ry,"indexOf")});var Zf=le((R5,$y)=>{"use strict";$y.exports=Sn;var xc=Gn().codes,_T=xc.ERR_METHOD_NOT_IMPLEMENTED,yT=xc.ERR_MULTIPLE_CALLBACK,ET=xc.ERR_TRANSFORM_ALREADY_TRANSFORMING,AT=xc.ERR_TRANSFORM_WITH_LENGTH_0,Ic=pi();di()(Sn,Ic);function bT(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new yT);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}c(bT,"afterTransform");function Sn(t){if(!(this instanceof Sn))return new Sn(t);Ic.call(this,t),this._transformState={afterTransform:bT.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&(typeof t.transform=="function"&&(this._transform=t.transform),typeof t.flush=="function"&&(this._flush=t.flush)),this.on("prefinish",xT)}c(Sn,"Transform");function xT(){var t=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(e,r){Oy(t,e,r)}):Oy(this,null,null)}c(xT,"prefinish");Sn.prototype.push=function(t,e){return this._transformState.needTransform=!1,Ic.prototype.push.call(this,t,e)};Sn.prototype._transform=function(t,e,r){r(new _T("_transform()"))};Sn.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Sn.prototype._read=function(t){var e=this._transformState;e.writechunk!==null&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0};Sn.prototype._destroy=function(t,e){Ic.prototype._destroy.call(this,t,function(r){e(r)})};function Oy(t,e,r){if(e)return t.emit("error",e);if(r!=null&&t.push(r),t._writableState.length)throw new AT;if(t._transformState.transforming)throw new ET;return t.push(null)}c(Oy,"done")});var Uy=le((O5,By)=>{"use strict";By.exports=Ts;var Dy=Zf();di()(Ts,Dy);function Ts(t){if(!(this instanceof Ts))return new Ts(t);Dy.call(this,t)}c(Ts,"PassThrough");Ts.prototype._transform=function(t,e,r){r(null,t)}});var Hy=le((D5,Fy)=>{"use strict";var Yf;function IT(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}c(IT,"once");var My=Gn().codes,vT=My.ERR_MISSING_ARGS,ST=My.ERR_STREAM_DESTROYED;function Ly(t){if(t)throw t}c(Ly,"noop");function wT(t){return t.setHeader&&typeof t.abort=="function"}c(wT,"isRequest");function PT(t,e,r,n){n=IT(n);var i=!1;t.on("close",function(){i=!0}),Yf===void 0&&(Yf=mc()),Yf(t,{readable:e,writable:r},function(s){if(s)return n(s);i=!0,n()});var o=!1;return function(s){if(!i&&!o){if(o=!0,wT(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();n(s||new ST("pipe"))}}}c(PT,"destroyer");function zy(t){t()}c(zy,"call");function TT(t,e){return t.pipe(e)}c(TT,"pipe");function CT(t){return!t.length||typeof t[t.length-1]!="function"?Ly:t.pop()}c(CT,"popCallback");function kT(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var n=CT(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new vT("streams");var i,o=e.map(function(s,a){var u=a<e.length-1,l=a>0;return PT(s,u,l,function(d){i||(i=d),d&&o.forEach(zy),!u&&(o.forEach(zy),n(i))})});return e.reduce(TT)}c(kT,"pipeline");Fy.exports=kT});var jy=le((jr,ks)=>{var Cs=require("stream");process.env.READABLE_STREAM==="disable"&&Cs?(ks.exports=Cs.Readable,Object.assign(ks.exports,Cs),ks.exports.Stream=Cs):(jr=ks.exports=Df(),jr.Stream=Cs||jr,jr.Readable=jr,jr.Writable=Nf(),jr.Duplex=pi(),jr.Transform=Zf(),jr.PassThrough=Uy(),jr.finished=mc(),jr.pipeline=Hy())});var qy=le((U5,Wy)=>{var RT=Object.prototype.toString,Xf=typeof Buffer<"u"&&typeof Buffer.alloc=="function"&&typeof Buffer.allocUnsafe=="function"&&typeof Buffer.from=="function";function NT(t){return RT.call(t).slice(8,-1)==="ArrayBuffer"}c(NT,"isArrayBuffer");function OT(t,e,r){e>>>=0;var n=t.byteLength-e;if(n<0)throw new RangeError("'offset' is out of bounds");if(r===void 0)r=n;else if(r>>>=0,r>n)throw new RangeError("'length' is out of bounds");return Xf?Buffer.from(t.slice(e,e+r)):new Buffer(new Uint8Array(t.slice(e,e+r)))}c(OT,"fromArrayBuffer");function $T(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!Buffer.isEncoding(e))throw new TypeError('"encoding" must be a valid string encoding');return Xf?Buffer.from(t,e):new Buffer(t,e)}c($T,"fromString");function DT(t,e,r){if(typeof t=="number")throw new TypeError('"value" argument must not be a number');return NT(t)?OT(t,e,r):typeof t=="string"?$T(t,e):Xf?Buffer.from(t):new Buffer(t)}c(DT,"bufferFrom");Wy.exports=DT});var Yy=le(Le=>{var Qy=void 0,BT=1e5,$t=(function(){var t=Object.prototype.toString,e=Object.prototype.hasOwnProperty;return{Class:c(function(r){return t.call(r).replace(/^\[object *|\]$/g,"")},"Class"),HasProperty:c(function(r,n){return n in r},"HasProperty"),HasOwnProperty:c(function(r,n){return e.call(r,n)},"HasOwnProperty"),IsCallable:c(function(r){return typeof r=="function"},"IsCallable"),ToInt32:c(function(r){return r>>0},"ToInt32"),ToUint32:c(function(r){return r>>>0},"ToUint32")}})(),UT=Math.LN2,LT=Math.abs,vc=Math.floor,zT=Math.log,MT=Math.min,Zr=Math.pow,FT=Math.round;function Jf(t){if(Vy&&ho){var e=Vy(t),r;for(r=0;r<e.length;r+=1)ho(t,e[r],{value:t[e[r]],writable:!1,enumerable:!1,configurable:!1})}}c(Jf,"configureProperties");var ho;Object.defineProperty&&(function(){try{return Object.defineProperty({},"x",{}),!0}catch{return!1}})()?ho=Object.defineProperty:ho=c(function(t,e,r){if(!t===Object(t))throw new TypeError("Object.defineProperty called on non-object");return $t.HasProperty(r,"get")&&Object.prototype.__defineGetter__&&Object.prototype.__defineGetter__.call(t,e,r.get),$t.HasProperty(r,"set")&&Object.prototype.__defineSetter__&&Object.prototype.__defineSetter__.call(t,e,r.set),$t.HasProperty(r,"value")&&(t[e]=r.value),t},"defineProp");var Vy=Object.getOwnPropertyNames||function(t){if(t!==Object(t))throw new TypeError("Object.getOwnPropertyNames called on non-object");var e=[],r;for(r in t)$t.HasOwnProperty(t,r)&&e.push(r);return e};function HT(t){if(!ho)return;if(t.length>BT)throw new RangeError("Array too large for polyfill");function e(n){ho(t,n,{get:c(function(){return t._getter(n)},"get"),set:c(function(i){t._setter(n,i)},"set"),enumerable:!0,configurable:!1})}c(e,"makeArrayAccessor");var r;for(r=0;r<t.length;r+=1)e(r)}c(HT,"makeArrayAccessors");function ed(t,e){var r=32-e;return t<<r>>r}c(ed,"as_signed");function td(t,e){var r=32-e;return t<<r>>>r}c(td,"as_unsigned");function jT(t){return[t&255]}c(jT,"packI8");function WT(t){return ed(t[0],8)}c(WT,"unpackI8");function qT(t){return[t&255]}c(qT,"packU8");function Ky(t){return td(t[0],8)}c(Ky,"unpackU8");function QT(t){return t=FT(Number(t)),[t<0?0:t>255?255:t&255]}c(QT,"packU8Clamped");function VT(t){return[t>>8&255,t&255]}c(VT,"packI16");function KT(t){return ed(t[0]<<8|t[1],16)}c(KT,"unpackI16");function GT(t){return[t>>8&255,t&255]}c(GT,"packU16");function ZT(t){return td(t[0]<<8|t[1],16)}c(ZT,"unpackU16");function YT(t){return[t>>24&255,t>>16&255,t>>8&255,t&255]}c(YT,"packI32");function XT(t){return ed(t[0]<<24|t[1]<<16|t[2]<<8|t[3],32)}c(XT,"unpackI32");function JT(t){return[t>>24&255,t>>16&255,t>>8&255,t&255]}c(JT,"packU32");function e1(t){return td(t[0]<<24|t[1]<<16|t[2]<<8|t[3],32)}c(e1,"unpackU32");function Gy(t,e,r){var n=(1<<e-1)-1,i,o,s,a,u,l,d,p;function g(h){var _=vc(h),A=h-_;return A<.5?_:A>.5||_%2?_+1:_}for(c(g,"roundToEven"),t!==t?(o=(1<<e)-1,s=Zr(2,r-1),i=0):t===1/0||t===-1/0?(o=(1<<e)-1,s=0,i=t<0?1:0):t===0?(o=0,s=0,i=1/t===-1/0?1:0):(i=t<0,t=LT(t),t>=Zr(2,1-n)?(o=MT(vc(zT(t)/UT),1023),s=g(t/Zr(2,o)*Zr(2,r)),s/Zr(2,r)>=2&&(o=o+1,s=1),o>n?(o=(1<<e)-1,s=0):(o=o+n,s=s-Zr(2,r))):(o=0,s=g(t/Zr(2,1-n-r)))),l=[],u=r;u;u-=1)l.push(s%2?1:0),s=vc(s/2);for(u=e;u;u-=1)l.push(o%2?1:0),o=vc(o/2);for(l.push(i?1:0),l.reverse(),d=l.join(""),p=[];d.length;)p.push(parseInt(d.substring(0,8),2)),d=d.substring(8);return p}c(Gy,"packIEEE754");function Zy(t,e,r){var n=[],i,o,s,a,u,l,d,p;for(i=t.length;i;i-=1)for(s=t[i-1],o=8;o;o-=1)n.push(s%2?1:0),s=s>>1;return n.reverse(),a=n.join(""),u=(1<<e-1)-1,l=parseInt(a.substring(0,1),2)?-1:1,d=parseInt(a.substring(1,1+e),2),p=parseInt(a.substring(1+e),2),d===(1<<e)-1?p!==0?NaN:l*(1/0):d>0?l*Zr(2,d-u)*(1+p/Zr(2,r)):p!==0?l*Zr(2,-(u-1))*(p/Zr(2,r)):l<0?-0:0}c(Zy,"unpackIEEE754");function t1(t){return Zy(t,11,52)}c(t1,"unpackF64");function r1(t){return Gy(t,11,52)}c(r1,"packF64");function n1(t){return Zy(t,8,23)}c(n1,"unpackF32");function i1(t){return Gy(t,8,23)}c(i1,"packF32");(function(){var t=c(function(h){if(h=$t.ToInt32(h),h<0)throw new RangeError("ArrayBuffer size is not a small enough positive integer");this.byteLength=h,this._bytes=[],this._bytes.length=h;var _;for(_=0;_<this.byteLength;_+=1)this._bytes[_]=0;Jf(this)},"ArrayBuffer");Le.ArrayBuffer=Le.ArrayBuffer||t;var e=c(function(){},"ArrayBufferView");function r(g,h,_){var A;return A=c(function(b,v,w){var H,D,J,Y;if(!arguments.length||typeof arguments[0]=="number"){if(this.length=$t.ToInt32(arguments[0]),w<0)throw new RangeError("ArrayBufferView size is not a small enough positive integer");this.byteLength=this.length*this.BYTES_PER_ELEMENT,this.buffer=new t(this.byteLength),this.byteOffset=0}else if(typeof arguments[0]=="object"&&arguments[0].constructor===A)for(H=arguments[0],this.length=H.length,this.byteLength=this.length*this.BYTES_PER_ELEMENT,this.buffer=new t(this.byteLength),this.byteOffset=0,J=0;J<this.length;J+=1)this._setter(J,H._getter(J));else if(typeof arguments[0]=="object"&&!(arguments[0]instanceof t||$t.Class(arguments[0])==="ArrayBuffer"))for(D=arguments[0],this.length=$t.ToUint32(D.length),this.byteLength=this.length*this.BYTES_PER_ELEMENT,this.buffer=new t(this.byteLength),this.byteOffset=0,J=0;J<this.length;J+=1)Y=D[J],this._setter(J,Number(Y));else if(typeof arguments[0]=="object"&&(arguments[0]instanceof t||$t.Class(arguments[0])==="ArrayBuffer")){if(this.buffer=b,this.byteOffset=$t.ToUint32(v),this.byteOffset>this.buffer.byteLength)throw new RangeError("byteOffset out of range");if(this.byteOffset%this.BYTES_PER_ELEMENT)throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size.");if(arguments.length<3){if(this.byteLength=this.buffer.byteLength-this.byteOffset,this.byteLength%this.BYTES_PER_ELEMENT)throw new RangeError("length of buffer minus byteOffset not a multiple of the element size");this.length=this.byteLength/this.BYTES_PER_ELEMENT}else this.length=$t.ToUint32(w),this.byteLength=this.length*this.BYTES_PER_ELEMENT;if(this.byteOffset+this.byteLength>this.buffer.byteLength)throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}else throw new TypeError("Unexpected argument type(s)");this.constructor=A,Jf(this),HT(this)},"ctor"),A.prototype=new e,A.prototype.BYTES_PER_ELEMENT=g,A.prototype._pack=h,A.prototype._unpack=_,A.BYTES_PER_ELEMENT=g,A.prototype._getter=function(b){if(arguments.length<1)throw new SyntaxError("Not enough arguments");if(b=$t.ToUint32(b),b>=this.length)return Qy;var v=[],w,H;for(w=0,H=this.byteOffset+b*this.BYTES_PER_ELEMENT;w<this.BYTES_PER_ELEMENT;w+=1,H+=1)v.push(this.buffer._bytes[H]);return this._unpack(v)},A.prototype.get=A.prototype._getter,A.prototype._setter=function(b,v){if(arguments.length<2)throw new SyntaxError("Not enough arguments");if(b=$t.ToUint32(b),b>=this.length)return Qy;var w=this._pack(v),H,D;for(H=0,D=this.byteOffset+b*this.BYTES_PER_ELEMENT;H<this.BYTES_PER_ELEMENT;H+=1,D+=1)this.buffer._bytes[D]=w[H]},A.prototype.set=function(b,v){if(arguments.length<1)throw new SyntaxError("Not enough arguments");var w,H,D,J,Y,X,P,C,M,L;if(typeof arguments[0]=="object"&&arguments[0].constructor===this.constructor){if(w=arguments[0],D=$t.ToUint32(arguments[1]),D+w.length>this.length)throw new RangeError("Offset plus length of array is out of range");if(C=this.byteOffset+D*this.BYTES_PER_ELEMENT,M=w.length*this.BYTES_PER_ELEMENT,w.buffer===this.buffer){for(L=[],Y=0,X=w.byteOffset;Y<M;Y+=1,X+=1)L[Y]=w.buffer._bytes[X];for(Y=0,P=C;Y<M;Y+=1,P+=1)this.buffer._bytes[P]=L[Y]}else for(Y=0,X=w.byteOffset,P=C;Y<M;Y+=1,X+=1,P+=1)this.buffer._bytes[P]=w.buffer._bytes[X]}else if(typeof arguments[0]=="object"&&typeof arguments[0].length<"u"){if(H=arguments[0],J=$t.ToUint32(H.length),D=$t.ToUint32(arguments[1]),D+J>this.length)throw new RangeError("Offset plus length of array is out of range");for(Y=0;Y<J;Y+=1)X=H[Y],this._setter(D+Y,Number(X))}else throw new TypeError("Unexpected argument type(s)")},A.prototype.subarray=function(b,v){function w(D,J,Y){return D<J?J:D>Y?Y:D}c(w,"clamp"),b=$t.ToInt32(b),v=$t.ToInt32(v),arguments.length<1&&(b=0),arguments.length<2&&(v=this.length),b<0&&(b=this.length+b),v<0&&(v=this.length+v),b=w(b,0,this.length),v=w(v,0,this.length);var H=v-b;return H<0&&(H=0),new this.constructor(this.buffer,this.byteOffset+b*this.BYTES_PER_ELEMENT,H)},A}c(r,"makeConstructor");var n=r(1,jT,WT),i=r(1,qT,Ky),o=r(1,QT,Ky),s=r(2,VT,KT),a=r(2,GT,ZT),u=r(4,YT,XT),l=r(4,JT,e1),d=r(4,i1,n1),p=r(8,r1,t1);Le.Int8Array=Le.Int8Array||n,Le.Uint8Array=Le.Uint8Array||i,Le.Uint8ClampedArray=Le.Uint8ClampedArray||o,Le.Int16Array=Le.Int16Array||s,Le.Uint16Array=Le.Uint16Array||a,Le.Int32Array=Le.Int32Array||u,Le.Uint32Array=Le.Uint32Array||l,Le.Float32Array=Le.Float32Array||d,Le.Float64Array=Le.Float64Array||p})();(function(){function t(o,s){return $t.IsCallable(o.get)?o.get(s):o[s]}c(t,"r");var e=(function(){var o=new Le.Uint16Array([4660]),s=new Le.Uint8Array(o.buffer);return t(s,0)===18})(),r=c(function(s,a,u){if(arguments.length===0)s=new Le.ArrayBuffer(0);else if(!(s instanceof Le.ArrayBuffer||$t.Class(s)==="ArrayBuffer"))throw new TypeError("TypeError");if(this.buffer=s||new Le.ArrayBuffer(0),this.byteOffset=$t.ToUint32(a),this.byteOffset>this.buffer.byteLength)throw new RangeError("byteOffset out of range");if(arguments.length<3?this.byteLength=this.buffer.byteLength-this.byteOffset:this.byteLength=$t.ToUint32(u),this.byteOffset+this.byteLength>this.buffer.byteLength)throw new RangeError("byteOffset and length reference an area beyond the end of the buffer");Jf(this)},"DataView");function n(o){return function(s,a){if(s=$t.ToUint32(s),s+o.BYTES_PER_ELEMENT>this.byteLength)throw new RangeError("Array index out of range");s+=this.byteOffset;var u=new Le.Uint8Array(this.buffer,s,o.BYTES_PER_ELEMENT),l=[],d;for(d=0;d<o.BYTES_PER_ELEMENT;d+=1)l.push(t(u,d));return!!a==!!e&&l.reverse(),t(new o(new Le.Uint8Array(l).buffer),0)}}c(n,"makeGetter"),r.prototype.getUint8=n(Le.Uint8Array),r.prototype.getInt8=n(Le.Int8Array),r.prototype.getUint16=n(Le.Uint16Array),r.prototype.getInt16=n(Le.Int16Array),r.prototype.getUint32=n(Le.Uint32Array),r.prototype.getInt32=n(Le.Int32Array),r.prototype.getFloat32=n(Le.Float32Array),r.prototype.getFloat64=n(Le.Float64Array);function i(o){return function(s,a,u){if(s=$t.ToUint32(s),s+o.BYTES_PER_ELEMENT>this.byteLength)throw new RangeError("Array index out of range");var l=new o([a]),d=new Le.Uint8Array(l.buffer),p=[],g,h;for(g=0;g<o.BYTES_PER_ELEMENT;g+=1)p.push(t(d,g));!!u==!!e&&p.reverse(),h=new Le.Uint8Array(this.buffer,s,o.BYTES_PER_ELEMENT),h.set(p)}}c(i,"makeSetter"),r.prototype.setUint8=i(Le.Uint8Array),r.prototype.setInt8=i(Le.Int8Array),r.prototype.setUint16=i(Le.Uint16Array),r.prototype.setInt16=i(Le.Int16Array),r.prototype.setUint32=i(Le.Uint32Array),r.prototype.setInt32=i(Le.Int32Array),r.prototype.setFloat32=i(Le.Float32Array),r.prototype.setFloat64=i(Le.Float64Array),Le.DataView=Le.DataView||r})()});var tE=le((F5,eE)=>{var Xy=jy().Writable,o1=di(),Rs=qy();typeof Uint8Array>"u"?Sc=Yy().Uint8Array:Sc=Uint8Array;var Sc;function yi(t,e){if(!(this instanceof yi))return new yi(t,e);typeof t=="function"&&(e=t,t={}),t||(t={});var r=t.encoding,n=!1;r?(r=String(r).toLowerCase(),(r==="u8"||r==="uint8")&&(r="uint8array")):n=!0,Xy.call(this,{objectMode:!0}),this.encoding=r,this.shouldInferEncoding=n,e&&this.on("finish",function(){e(this.getBody())}),this.body=[]}c(yi,"ConcatStream");eE.exports=yi;o1(yi,Xy);yi.prototype._write=function(t,e,r){this.body.push(t),r()};yi.prototype.inferEncoding=function(t){var e=t===void 0?this.body[0]:t;return Buffer.isBuffer(e)?"buffer":typeof Uint8Array<"u"&&e instanceof Uint8Array?"uint8array":Array.isArray(e)?"array":typeof e=="string"?"string":Object.prototype.toString.call(e)==="[object Object]"?"object":"buffer"};yi.prototype.getBody=function(){return!this.encoding&&this.body.length===0?[]:(this.shouldInferEncoding&&(this.encoding=this.inferEncoding()),this.encoding==="array"?u1(this.body):this.encoding==="string"?a1(this.body):this.encoding==="buffer"?c1(this.body):this.encoding==="uint8array"?l1(this.body):this.body)};function s1(t){return/Array\]$/.test(Object.prototype.toString.call(t))}c(s1,"isArrayish");function Jy(t){return typeof t=="string"||s1(t)||t&&typeof t.subarray=="function"}c(Jy,"isBufferish");function a1(t){for(var e=[],r=!1,n=0;n<t.length;n++){var i=t[n];typeof i=="string"||Buffer.isBuffer(i)?e.push(i):Jy(i)?e.push(Rs(i)):e.push(Rs(String(i)))}return Buffer.isBuffer(t[0])?(e=Buffer.concat(e),e=e.toString("utf8")):e=e.join(""),e}c(a1,"stringConcat");function c1(t){for(var e=[],r=0;r<t.length;r++){var n=t[r];Buffer.isBuffer(n)?e.push(n):Jy(n)?e.push(Rs(n)):e.push(Rs(String(n)))}return Buffer.concat(e)}c(c1,"bufferConcat");function u1(t){for(var e=[],r=0;r<t.length;r++)e.push.apply(e,t[r]);return e}c(u1,"arrayConcat");function l1(t){for(var e=0,r=0;r<t.length;r++)typeof t[r]=="string"&&(t[r]=Rs(t[r])),e+=t[r].length;for(var n=new Sc(e),r=0,i=0;r<t.length;r++)for(var o=t[r],s=0;s<o.length;s++)n[i++]=o[s];return n}c(l1,"u8Concat")});var iE=le((j5,nE)=>{"use strict";function rE(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}c(rE,"assign");function f1(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=void 0),e!=null&&(r.code=e);try{return rE(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=c(function(){},"ErrClass");return i.prototype=Object.create(Object.getPrototypeOf(t)),rE(new i,r)}}c(f1,"createError");nE.exports=f1});var sE=le((q5,oE)=>{function Wr(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}c(Wr,"RetryOperation");oE.exports=Wr;Wr.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};Wr.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};Wr.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),r=this._timeouts.shift();else return!1;var n=this,i=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r);return this._options.unref&&i.unref(),!0};Wr.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Wr.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Wr.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Wr.prototype.start=Wr.prototype.try;Wr.prototype.errors=function(){return this._errors};Wr.prototype.attempts=function(){return this._attempts};Wr.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],o=i.message,s=(t[o]||0)+1;t[o]=s,s>=r&&(e=i,r=s)}return e}});var aE=le(Ei=>{var d1=sE();Ei.operation=function(t){var e=Ei.timeouts(t);return new d1(e,{forever:t&&t.forever,unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};Ei.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<e.retries;i++)n.push(this.createTimeout(i,e));return t&&t.forever&&!n.length&&n.push(this.createTimeout(i,e)),n.sort(function(o,s){return o-s}),n};Ei.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,n=Math.round(r*e.minTimeout*Math.pow(e.factor,t));return n=Math.min(n,e.maxTimeout),n};Ei.wrap=function(t,e,r){if(e instanceof Array&&(r=e,e=null),!r){r=[];for(var n in t)typeof t[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var o=r[i],s=t[o];t[o]=c(function(u){var l=Ei.operation(e),d=Array.prototype.slice.call(arguments,1),p=d.pop();d.push(function(g){l.retry(g)||(g&&(arguments[0]=l.mainError()),p.apply(this,arguments))}),l.attempt(function(){u.apply(t,d)})},"retryWrapper").bind(t,s),t[o].options=e}}});var uE=le((G5,cE)=>{cE.exports=aE()});var dE=le((Z5,fE)=>{"use strict";var p1=iE(),h1=uE(),g1=Object.prototype.hasOwnProperty;function lE(t){return t&&t.code==="EPROMISERETRY"&&g1.call(t,"retried")}c(lE,"isRetryError");function m1(t,e){var r,n;return typeof t=="object"&&typeof e=="function"&&(r=e,e=t,t=r),n=h1.operation(e),new Promise(function(i,o){n.attempt(function(s){Promise.resolve().then(function(){return t(function(a){throw lE(a)&&(a=a.retried),p1(new Error("Retrying"),"EPROMISERETRY",{retried:a})},s)}).then(i,function(a){lE(a)&&(a=a.retried,n.retry(a||new Error))||o(a)})})})}c(m1,"promiseRetry");fE.exports=m1});var rd=le((X5,pE)=>{var _1={generic:"ERR_GENERIC_CLIENT",connect:"ERR_NOT_CONNECTED",badPath:"ERR_BAD_PATH",permission:"EACCES",notexist:"ENOENT",notdir:"ENOTDIR",badAuth:"ERR_BAD_AUTH"},y1={writeFile:1,readFile:2,writeDir:3,readDir:4,readObj:5,writeObj:6};pE.exports={errorCode:_1,targetType:y1}});var EE=le((J5,yE)=>{var Ns=require("fs"),E1=require("path"),{errorCode:hE}=rd();function gE(t,e,r){return c(i=>{if(t.endCalled||t.errorHandled){t.debugMsg(`${e} errorListener - ignoring handled error`);return}t.errorHandled=!0;let o=new Error(`${e}: ${i.message}`);if(o.code=i.code,r)r(o);else throw o},"fn")}c(gE,"errorListener");function A1(t,e){return()=>{t.endCalled||t.errorHandled||t.closeHandled?t.debugMsg(`Global ${e} event: Ignoring expected and handled event`):(t.debugMsg(`Global ${e} event: Handling unexpected event`),t.sftp=void 0)}}c(A1,"globalListener");function mE(t,e,r){return c(function(){if(t.sftp=void 0,t.endCalled||t.endHandled||t.errorHandled){t.debugMsg(`${e} endListener - ignoring handled error`);return}t.endHandled=!0,t.debugMsg(`${e} Unexpected end event - ignoring`)},"fn")}c(mE,"endListener");function _E(t,e,r){return c(function(){if(t.sftp=void 0,t.endCalled||t.closeHandled||t.errorHandled||t.endHandled){t.debugMsg(`${e} closeListener - ignoring handled error`);return}t.closeHandled=!0,t.debugMsg(`${e} Unexpected close event raised - ignoring`)},"fn")}c(_E,"closeListener");function b1(t,e,r){let n={end:mE(t,e,r),close:_E(t,e,r),error:gE(t,e,r)};return t.on("end",n.end),t.on("close",n.close),t.on("error",n.error),t._resetEventFlags(),n}c(b1,"addTempListeners");function x1(t,e,r){try{t.removeListener("end",e.end),t.removeListener("close",e.close),t.removeListener("error",e.error)}catch(n){throw new Error(`${r}: Error removing temp listeners: ${n.message}`)}}c(x1,"removeTempListeners");function nd(t){let e=Ns.statSync(t,{throwIfNoEntry:!1});if(e){if(e.isDirectory())return"d";if(e.isFile())return"-";{let r=new Error(`Bad path: ${t}: target must be a file or directory`);throw r.code=hE.badPath,r}}else return!1}c(nd,"localExists");function id(t,e="r"){let r=Ns.constants.F_OK|e==="w"?Ns.constants.W_OK:Ns.constants.R_OK;try{return Ns.accessSync(t,r),{status:!0,type:nd(t),details:"access OK",code:0}}catch(n){switch(n.errno){case-2:return{status:!1,type:null,details:"not exist",code:-2};case-13:return{status:!1,type:nd(t),details:"permission denied",code:-13};case-20:return{status:!1,type:null,details:"parent not a directory"};default:return{status:!1,type:null,details:n.message}}}}c(id,"haveLocalAccess");function I1(t){let{status:e,details:r,type:n}=id(t,"w");if(!e&&r==="permission denied")return{status:e,details:r,type:n};if(!e){let i=E1.dirname(t),o=id(i,"w");return o.status&&o.type!=="d"?{status:!1,details:`${i}: not a directory`,type:null}:o.status?{status:!0,details:"access OK",type:null,code:0}:{status:o.status,details:`${i}: ${o.details}`,type:null}}return{status:e,details:r,type:n}}c(I1,"haveLocalCreate");async function v1(t,e){try{return e.startsWith("..")?`${await t.realPath("..")}/${e.slice(3)}`:e.startsWith(".")?`${await t.realPath(".")}/${e.slice(2)}`:e}catch(r){throw new Error(`normalizeRemotePath: ${r.message}`)}}c(v1,"normalizeRemotePath");function S1(t,e,r){if(!t.sftp){let n=new Error(`${e}: No SFTP connection available`);if(n.code=hE.connect,r)return r(n),!1;throw n}return!0}c(S1,"haveConnection");function w1(t){return new Promise((e,r)=>{try{isNaN(t)||t<0?r("Argument must be anumber >= 0"):setTimeout(()=>{e(!0)},t)}catch(n){r(n)}})}c(w1,"sleep");yE.exports={globalListener:A1,errorListener:gE,endListener:mE,closeListener:_E,addTempListeners:b1,removeTempListeners:x1,haveLocalAccess:id,haveLocalCreate:I1,normalizeRemotePath:v1,localExists:nd,haveConnection:S1,sleep:w1}});var IE=le((t8,xE)=>{"use strict";var{Client:P1}=L_(),wc=require("fs"),T1=tE(),C1=dE(),{join:Os,parse:k1}=require("path"),{globalListener:od,addTempListeners:Mt,removeTempListeners:Ft,haveConnection:dr,normalizeRemotePath:$s,localExists:AE,haveLocalAccess:bE,haveLocalCreate:sd}=EE(),{errorCode:Dt}=rd(),ad=class{static{c(this,"SftpClient")}constructor(e){this.version="9.0.4",this.client=new P1,this.sftp=void 0,this.clientName=e||"sftp",this.endCalled=!1,this.errorHandled=!1,this.closeHandled=!1,this.endHandled=!1,this.remotePlatform="unix",this.debug=void 0,this.client.on("close",od(this,"close")),this.client.on("end",od(this,"end")),this.client.on("error",od(this,"error"))}debugMsg(e,r){this.debug&&(r?this.debug(`CLIENT[${this.clientName}]: ${e} ${JSON.stringify(r,null," ")}`):this.debug(`CLIENT[${this.clientName}]: ${e}`))}fmtError(e,r="sftp",n,i){let o="",s="",a=i?` after ${i} ${i>1?"attempts":"attempt"}`:"";if(e===void 0)o=`${r}: Undefined error - probably a bug!`,s=Dt.generic;else if(typeof e=="string")o=`${r}: ${e}${a}`,s=n||Dt.generic;else if(e.custom)o=`${r}->${e.message}${a}`,s=e.code;else{switch(e.code){case"ENOTFOUND":o=`${r}: Address lookup failed for host${a}`;break;case"ECONNREFUSED":o=`${r}: Remote host refused connection${a}`;break;case"ECONNRESET":o=`${r}: Remote host has reset the connection: ${e.message}${a}`;break;default:o=`${r}: ${e.message}${a}`}s=e.code?e.code:Dt.generic}let u=new Error(o);return u.code=s,u.custom=!0,this.debugMsg(`${u.message} (${u.code})`),u}on(e,r){this.client.prependListener(e,r)}removeListener(e,r){this.client.removeListener(e,r)}_resetEventFlags(){this.closeHandled=!1,this.endHandled=!1,this.errorHandled=!1}getConnection(e){let r,n;return new Promise((i,o)=>{n=Mt(this,"getConnection",o),r=c(()=>{this.debugMsg("getConnection ready listener: got connection - promise resolved"),i(!0)},"doReady"),this.on("ready",r);try{this.client.connect(e)}catch(s){this.debugMsg(`getConnection: ${s.message}`),o(s)}}).finally(()=>{this.removeListener("ready",r),Ft(this,n,"getConnection")})}getSftpChannel(){return new Promise((e,r)=>{this.client.sftp((n,i)=>{n?r(this.fmtError(n,"getSftpChannel",n.code)):(this.sftp=i,e(i))})})}async connect(e){let r;try{if(r=Mt(this,"connect"),e.debug&&(this.debug=e.debug,this.debugMsg("connect: Debugging turned on"),this.debugMsg(`ssh2-sftp-client Version: ${this.version} `,process.versions)),this.sftp)throw this.fmtError("An existing SFTP connection is already defined","connect",Dt.connect);let n={retries:e.retries??1,factor:e.factor??2,minTimeout:e.retry_minTimeout??25e3};return await C1(n,async(o,s)=>{try{this.debugMsg(`connect: Connect attempt ${s}`),await this.getConnection(e)}catch(a){switch(a.code){case"ENOTFOUND":case"ECONNREFUSED":case"ERR_SOCKET_BAD_PORT":throw a;case void 0:{if(a.message.endsWith("All configured authentication methods failed")||a.message.startsWith("Cannot parse privateKey"))throw a;o(a);break}default:o(a)}}}),await this.getSftpChannel()}catch(n){throw this.end(),n.custom?n:this.fmtError(n,"connect")}finally{Ft(this,r,"connect")}}realPath(e,r=!0){let n;return new Promise((i,o)=>{r&&(n=Mt(this,"realPath",o)),this.debugMsg(`realPath -> ${e}`),this.sftp.realpath(e,(s,a)=>{s&&(s.code===2?(this.debugMsg('realPath <- ""'),i("")):(this.debugMsg(`${s.message} ${e}`,"realPath"),o(this.fmtError(`${s.message} ${e}`,"realPath",s.code)))),this.debugMsg(`realPath <- ${a}`),i(a)})}).finally(()=>{r&&Ft(this,n,"realPath")})}cwd(){return this.realPath(".")}_xstat(e,r,n=!0){let i;return new Promise((o,s)=>{let a=c((u,l)=>{if(u)u.code===2||u.code===4?s(this.fmtError(`No such file: ${r}`,"_xstat",Dt.notexist)):s(this.fmtError(`${u.message} ${r}`,"_xstat",u.code));else{let d={mode:l.mode,uid:l.uid,gid:l.gid,size:l.size,accessTime:l.atime*1e3,modifyTime:l.mtime*1e3,isDirectory:l.isDirectory(),isFile:l.isFile(),isBlockDevice:l.isBlockDevice(),isCharacterDevice:l.isCharacterDevice(),isSymbolicLink:l.isSymbolicLink(),isFIFO:l.isFIFO(),isSocket:l.isSocket()};this.debugMsg("_xstat: result = ",d),o(d)}},"cb");n&&(i=Mt(this,"_xstat",s)),e==="stat"?this.sftp.stat(r,a):this.sftp.lstat(r,a)}).finally(()=>{n&&Ft(this,i,"_xstat")})}async stat(e){try{return dr(this,"stat"),await this._xstat("stat",e)}catch(r){throw r.custom?r:this.fmtError(r,"stat",r.code)}}async lstat(e){try{return dr(this,"lstat"),await this._xstat("lstat",e)}catch(r){throw r.custom?r:this.fmtError(r,"lstat",r.code)}}async exists(e){this.debugMsg(`exists: remotePath = ${e}`);try{if(e===".")return"d";let r=await this.lstat(e);return this.debugMsg("exists: <- ",r),r.isDirectory?"d":r.isSymbolicLink?"l":r.isFile?"-":!1}catch(r){if(r.code===Dt.notexist)return!1;throw r.custom?r:this.fmtError(r.message,"exists",r.code)}}list(e,r,n=!0){let i;return new Promise((o,s)=>{n&&(i=Mt(this,"list",s)),dr(this,"list",s)&&this.sftp.readdir(e,(a,u)=>{if(a)s(this.fmtError(`${a.message} ${e}`,"list",a.code));else{let l=/-/gi,d=u.map(p=>({type:p.longname.slice(0,1),name:p.filename,size:p.attrs.size,modifyTime:p.attrs.mtime*1e3,accessTime:p.attrs.atime*1e3,rights:{user:p.longname.slice(1,4).replace(l,""),group:p.longname.slice(4,7).replace(l,""),other:p.longname.slice(7,10).replace(l,"")},owner:p.attrs.uid,group:p.attrs.gid,longname:p.longname}));o(r?d.filter(p=>r(p)):d)}})}).finally(()=>{n&&Ft(this,i,"list")})}get(e,r,n,i=!0){let o,s,a;return new Promise((u,l)=>{if(i&&(o=Mt(this,"get",l)),dr(this,"get",l)){if(n={readStreamOptions:{...n?.readStreamOptions,autoClose:!0},writeStreamOptions:{...n?.writeStreamOptions,autoClose:!0},pipeOptions:{...n?.pipeOptions,end:!0}},s=this.sftp.createReadStream(e,n.readStreamOptions),s.once("error",d=>{r&&typeof r!="string"&&!r.destroyed&&r.destroy(),l(this.fmtError(`${d.message} ${e}`,"get",d.code))}),r===void 0)this.debugMsg("get resolving buffer of data"),a=T1(d=>{u(d)});else if(typeof r=="string"){this.debugMsg("get returning local file");let d=sd(r);if(d.status)a=wc.createWriteStream(r,n.writeStreamOptions);else{l(this.fmtError(`Bad path: ${r}: ${d.details}`,"get",d.code));return}}else this.debugMsg("get: returning data into supplied stream"),a=r;a.once("error",d=>{l(this.fmtError(`${d.message} ${typeof r=="string"?r:"<stream>"}`,"get",d.code))}),s.once("end",()=>{typeof r=="string"?(this.debugMsg("get: resolving with dst filename"),u(r)):r!==void 0&&(this.debugMsg("get: resolving with writer stream object"),u(a))}),s.pipe(a,n.pipeOptions)}}).finally(()=>{i&&Ft(this,o,"get")})}_fastGet(e,r,n,i=!0){let o;return new Promise((s,a)=>{i&&(o=Mt(this,"_fastGet",a)),dr(this,"_fastGet",a)&&this.sftp.fastGet(e,r,n,u=>{u&&a(this.fmtError(`${u.message} Remote: ${e} Local: ${r}`)),s(`${e} was successfully download to ${r}!`)})}).finally(()=>{i&&Ft(this,o,"_fastGet")})}async fastGet(e,r,n){try{let i=await this.exists(e);if(i!=="-"){let s=`${i?"Not a regular file":"No such file "} ${e}`;throw this.fmtError(s,"fastGet",Dt.badPath)}let o=sd(r);if(!o.status)throw this.fmtError(`Bad path: ${r}: ${o.details}`,"fastGet",Dt.badPath);return await this._fastGet(e,r,n)}catch(i){throw this.fmtError(i,"fastGet")}}_fastPut(e,r,n,i=!0){let o;return new Promise((s,a)=>{i&&(o=Mt(this,"_fastPut",a)),dr(this,"_fastPut",a)&&this.sftp.fastPut(e,r,n,u=>{u&&a(this.fmtError(`${u.message} Local: ${e} Remote: ${r}`,"fastPut",u.code)),s(`${e} was successfully uploaded to ${r}!`)})}).finally(()=>{i&&Ft(this,o,"_fastPut")})}async fastPut(e,r,n){try{this.debugMsg(`fastPut -> local ${e} remote ${r}`);let i=bE(e);if(i.status){if(i.status&&AE(e)==="d")throw this.fmtError(`Bad path: ${e} not a regular file`,"fastgPut",Dt.badPath)}else throw this.fmtError(`Bad path: ${e}: ${i.details}`,"fastPut",i.code);return await this._fastPut(e,r,n)}catch(i){throw i.custom?i:this.fmtError(i.message,"fastPut",i.code)}}_put(e,r,n,i=!0){let o,s,a;return new Promise((u,l)=>{i&&(o=Mt(this,"_put",l)),n={readStreamOptions:{...n?.readStreamOptions,autoClose:!0},writeStreamOptions:{...n?.writeStreamOptions,autoClose:!0},pipeOptions:{...n?.pipeOptions,end:!0}},dr(this,"_put",l)&&(s=this.sftp.createWriteStream(r,n.writeStreamOptions),s.once("error",d=>{l(this.fmtError(`Write stream error: ${d.message} ${r}`,"_put",d.code))}),s.once("close",()=>{u(`Uploaded data stream to ${r}`)}),e instanceof Buffer?(this.debugMsg("put source is a buffer"),s.end(e)):(a=typeof e=="string"?wc.createReadStream(e,n.readStreamOptions):e,a.once("error",d=>{l(this.fmtError(`Read stream error: ${d.message} ${typeof e=="string"?e:"<stream>"}`,"_put",d.code))}),a.pipe(s,n.pipeOptions)))}).finally(()=>{i&&Ft(this,o,"_put")})}async put(e,r,n){try{if(typeof e=="string"){let i=bE(e);if(!i.status)throw this.fmtError(`Bad path: ${e} ${i.details}`,"put",i.code)}return await this._put(e,r,n)}catch(i){throw i.custom?i:this.fmtError(`Re-thrown: ${i.message}`,"put",i.code)}}_append(e,r,n,i=!0){let o;return new Promise((s,a)=>{if(i&&(o=Mt(this,"_append",a)),dr(this,"_append",a)){this.debugMsg(`append -> remote: ${r} `,n),n.flags="a";let u=this.sftp.createWriteStream(r,n);u.on("error",l=>{a(this.fmtError(`${l.message} ${r}`,"append",l.code))}),u.on("close",()=>{s(`Appended data to ${r}`)}),e instanceof Buffer?(u.write(e),u.end()):e.pipe(u)}}).finally(()=>{i&&Ft(this,o,"_append")})}async append(e,r,n={}){try{if(typeof e=="string")throw this.fmtError("Cannot append one file to another","append",Dt.badPath);let i=await this.exists(r);if(i&&i==="d")throw this.fmtError(`Bad path: ${r}: cannot append to a directory`,"append",Dt.badPath);await this._append(e,r,n)}catch(i){throw i.custom?i:this.fmtError(i.message,"append",i.code)}}_doMkdir(e,r=!0){let n;return new Promise((i,o)=>{r&&(n=Mt(this,"_doMkdir",o)),this.sftp.mkdir(e,s=>{s?s.code===4?o(this.fmtError(`Bad path: ${e} permission denied`,"_doMkdir",Dt.badPath)):s.code===2?o(this.fmtError(`Bad path: ${e} parent not a directory or not exist`,"_doMkdir",Dt.badPath)):o(this.fmtError(`${s.message} ${e}`,"_doMkdir",s.code)):i(`${e} directory created`)})}).finally(()=>{r&&Ft(this,n,"_doMkdir")})}async _mkdir(e,r){try{let n=await $s(this,e),i=await this.exists(n);if(i&&i!=="d")throw this.fmtError(`Bad path: ${n} already exists as a file`,"_mkdir",Dt.badPath);if(i)return`${n} already exists`;if(!r)return await this._doMkdir(n);let o=k1(n).dir;if(o){let s=await this.exists(o);if(!s)await this._mkdir(o,!0);else if(s!=="d")throw this.fmtError(`Bad path: ${o} not a directory`,"_mkdir",Dt.badPath)}return await this._doMkdir(n)}catch(n){throw n.custom?n:this.fmtError(`${n.message} ${e}`,"_mkdir",n.code)}}async mkdir(e,r=!1){try{return dr(this,"mkdir"),await this._mkdir(e,r)}catch(n){throw this.fmtError(`${n.message}`,"mkdir",n.code)}}async rmdir(e,r=!1){let n=c(o=>{let s;return new Promise((a,u)=>{s=Mt(this,"_rmdir",u),this.debugMsg(`_rmdir: dir = ${o}`),this.sftp.rmdir(o,l=>{l&&u(this.fmtError(`${l.message} ${o}`,"rmdir",l.code)),a("Successfully removed directory")})}).finally(()=>{Ft(this,s,"_rmdir")})},"_rmdir"),i=c((o,s)=>{let a;return new Promise((u,l)=>{a=Mt(this,"_delFiles",l),this.debugMsg(`_delFiles: path = ${o} fileList = ${s}`);let d=[];for(let p of s)d.push(this.delete(`${o}/${p.name}`,!0,!1));u(d)}).then(u=>Promise.all(u)).finally(()=>{Ft(this,a,"_delFiles")})},"_delFiles");try{this.debugMsg(`rmdir: dir = ${e} recursive = ${r}`);let o=await $s(this,e),s=await this.exists(o);if(this.debugMsg(`rmdir: ${o} existStatus = ${s}`),!s)throw this.fmtError(`Bad Path: ${e}: No such directory`,"rmdir",Dt.badPath);if(s!=="d")throw this.fmtError(`Bad Path: ${e}: Not a directory`,"rmdir",Dt.badPath);if(!r)return this.debugMsg("rmdir: non-recursive - just try to remove it"),await n(o);let a=await this.list(o);if(this.debugMsg(`rmdir: listing count = ${a.length}`),!a.length)return this.debugMsg("rmdir: No sub dir or files, just rmdir"),await n(o);let u=a.filter(d=>d.type!=="d");this.debugMsg(`rmdir: dir content files to remove = ${u.length}`);let l=a.filter(d=>d.type==="d");this.debugMsg(`rmdir: sub-directories to remove = ${l.length}`),await i(o,u);for(let d of l)await this.rmdir(`${o}/${d.name}`,!0);return await n(o),"Successfully removed directory"}catch(o){throw o.custom?o:this.fmtError(`${o.message} ${e}`,"rmdir",o.code)}}delete(e,r=!1,n=!0){let i;return new Promise((o,s)=>{n&&(i=Mt(this,"delete",s)),this.sftp.unlink(e,a=>{a&&(r&&a.code===2?o(`Successfully deleted ${e}`):s(this.fmtError(`${a.message} ${e}`,"delete",a.code))),o(`Successfully deleted ${e}`)})}).finally(()=>{n&&Ft(this,i,"delete")})}rename(e,r,n=!0){let i;return new Promise((o,s)=>{n&&(i=Mt(this,"rename",s)),dr(this,"rename",s)&&this.sftp.rename(e,r,a=>{a&&s(this.fmtError(`${a.message} From: ${e} To: ${r}`,"_rename",a.code)),o(`Successfully renamed ${e} to ${r}`)})}).finally(()=>{n&&Ft(this,i,"rename")})}posixRename(e,r,n=!0){let i;return new Promise((o,s)=>{n&&(i=Mt(this,"posixRename",s)),dr(this,"posixRename",s)&&this.sftp.ext_openssh_rename(e,r,a=>{a&&s(this.fmtError(`${a.message} From: ${e} To: ${r}`,"_posixRename",a.code)),o(`Successful POSIX rename ${e} to ${r}`)})}).finally(()=>{Ft(this,i,"posixRename")})}chmod(e,r,n=!0){let i;return new Promise((o,s)=>{n&&(i=Mt(this,"chmod",s)),dr(this,"chmod",s)&&this.sftp.chmod(e,r,a=>{a&&s(this.fmtError(`${a.message} ${e}`,"_chmod",a.code)),o("Successfully change file mode")})}).finally(()=>{n&&Ft(this,i,"chmod")})}async uploadDir(e,r,n){let i=c(async a=>{let u=await $s(this,a),l=await this.exists(u);if(l&&l!=="d")throw this.fmtError(`Bad path ${u} Not a directory`,"getRemoteStatus",Dt.badPath);return{remoteDir:u,remoteStatus:l}},"getRemoteStatus"),o=c(a=>{let u=AE(a);if(!u)throw this.fmtError(`Bad path: ${a} not exist`,"getLocalStatus",Dt.badPath);if(u!=="d")throw this.fmtError(`Bad path: ${a}: not a directory`,"getLocalStatus",Dt.badPath);return u},"checkLocalStatus"),s=c((a,u,l,d)=>{let p;return new Promise((g,h)=>{p=Mt(this,"uploadFiles",h);let _=[];for(let A of l){let b=Os(a,A.name),v=`${u}/${A.name}`;A.isFile()?(d?_.push(this._fastPut(b,v,null,!1)):_.push(this._put(b,v,null,!1)),this.client.emit("upload",{source:b,destination:v})):this.debugMsg(`uploadFiles: File ignored: ${A.name} not a regular file`)}g(Promise.all(_))}).then(g=>Promise.all(g)).finally(()=>{Ft(this,p,s)})},"uploadFiles");try{dr(this,"uploadDir"),this.debugMsg(`uploadDir: srcDir = ${e} dstDir = ${r} options = ${n}`);let{remoteDir:a,remoteStatus:u}=await i(r);this.debugMsg(`uploadDir: remoteDir = ${a} remoteStatus = ${u}`),o(e),u||await this._mkdir(a,!0);let l=wc.readdirSync(e,{encoding:"utf8",withFileTypes:!0});this.debugMsg(`uploadDir: dirEntries = ${l}`),n?.filter&&(l=l.filter(g=>n.filter(Os(e,g.name),g.isDirectory())));let d=l.filter(g=>g.isDirectory()),p=l.filter(g=>!g.isDirectory());this.debugMsg(`uploadDir: dirUploads = ${d}`),this.debugMsg(`uploadDir: fileUploads = ${p}`),await s(e,a,p,n?.useFastput);for(let g of d){let h=Os(e,g.name),_=`${a}/${g.name}`;await this.uploadDir(h,_,n)}return`${e} uploaded to ${r}`}catch(a){throw a.custom?a:this.fmtError(`${a.message} ${e}`,"uploadDir",a.code)}}async downloadDir(e,r,n={filter:null,useFastget:!1}){let i=c(async(a,u)=>{try{let l=await this.list(a);return u?l.filter(d=>u(`${a}/${d.name}`,d.type==="d")):l}catch(l){throw l.custom?l:this.fmtError(l.message,"_getDownloadList",l.code)}},"_getDownloadList"),o=c(a=>{try{let u=sd(a);if(!u.status&&u.details==="permission denied")throw this.fmtError(`Bad path: ${a}: ${u.details}`,"prepareDestination",u.code);if(u.status&&!u.type)wc.mkdirSync(a,{recursive:!0});else if(u.status&&u.type!=="d")throw this.fmtError(`Bad path: ${r}: not a directory`,"_prepareDestination",Dt.badPath)}catch(u){throw u.custom?u:this.fmtError(u.message,"_prepareDestination",u.code)}},"_prepareDestination"),s=c((a,u,l,d)=>{let p;return new Promise((g,h)=>{p=Mt(this,"_downloadFIles",h);let _=[];for(let A of l){let b=`${a}/${A.name}`,v=Os(u,A.name);d?_.push(this.fastGet(b,v,!1)):_.push(this.get(b,v,!1)),this.client.emit("download",{source:b,destination:v})}return g(Promise.all(_))}).finally(()=>{Ft(this,p,"_downloadFiles")})},"_downloadFiles");try{dr(this,"downloadDir");let a=await i(e,n.filter);o(r);let u=a.filter(d=>d.type!=="d");u.length&&await s(e,r,u,n.useFastget);let l=a.filter(d=>d.type==="d");for(let d of l){let p=`${e}/${d.name}`,g=Os(r,d.name);await this.downloadDir(p,g)}return`${e} downloaded to ${r}`}catch(a){throw a.custom?a:this.fmtError(`${a.message}: ${e}`,"downloadDir",a.code)}}createReadStream(e,r){let n;try{return n=Mt(this,"createReadStream"),dr(this,"createReadStream"),this.sftp.createReadStream(e,r)}catch(i){throw i.custom?i:this.fmtError(i.message,"createReadStream",i.code)}finally{Ft(this,n,"createReadStreame")}}createWriteStream(e,r){let n;try{return n=Mt(this,"createWriteStream"),dr(this,"createWriteStream"),this.sftp.createWriteStream(e,r)}catch(i){throw i.custom?i:this.fmtError(i.message,"createWriteStream",i.code)}finally{Ft(this,n,"createWriteStream")}}_rcopy(e,r){return new Promise((n,i)=>{let o=this.sftp.createWriteStream(r),s=this.sftp.createReadStream(e);o.on("error",a=>{i(this.fmtError(`${a.message} ${r}`,"_rcopy"))}),s.on("error",a=>{i(this.fmtError(`${a.message} ${e}`,"_rcopy"))}),o.on("close",()=>{n(`${e} copied to ${r}`)}),s.pipe(o)})}async rcopy(e,r){let n;try{n=Mt(this,"rcopy"),dr(this,"rcopy");let i=await $s(this,e),o=await this.exists(i);if(!o)throw this.fmtError(`Source does not exist ${i}`,"rcopy",Dt.badPath);if(o!=="-")throw this.fmtError(`Source not a file ${i}`,"rcopy",Dt.badPath);let s=await $s(this,r);if(await this.exists(s))throw this.fmtError(`Destination already exists ${s}`,"rcopy",Dt.badPath);return this._rcopy(i,s)}catch(i){throw i.custom?i:this.fmtError(i,"rcopy")}finally{Ft(this,n,"rcopy")}}end(){let e,r;return new Promise((n,i)=>{r=Mt(this,"end",i),this.endCalled=!0,e=c(()=>{this.sftp=void 0,this.debugMsg("end: Connection closed"),n(!0)},"endCloseHandler"),this.on("close",e),this.sftp?this.client.end():(this.debugMsg("end: Called when no connection active"),n(!0))}).finally(()=>{Ft(this,r,"end"),this.removeListener("close",e),this.endCalled=!1})}};xE.exports=ad});var OE=le((ud,ld)=>{(function(t,e){typeof ud=="object"&&typeof ld<"u"?ld.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(ud,(function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",o="minute",s="hour",a="day",u="week",l="month",d="quarter",p="year",g="date",h="Invalid Date",_=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,A=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:c(function(L){var T=["th","st","nd","rd"],F=L%100;return"["+L+(T[(F-20)%10]||T[F]||T[0])+"]"},"ordinal")},v=c(function(L,T,F){var j=String(L);return!j||j.length>=T?L:""+Array(T+1-j.length).join(F)+L},"m"),w={s:v,z:c(function(L){var T=-L.utcOffset(),F=Math.abs(T),j=Math.floor(F/60),B=F%60;return(T<=0?"+":"-")+v(j,2,"0")+":"+v(B,2,"0")},"z"),m:c(function L(T,F){if(T.date()<F.date())return-L(F,T);var j=12*(F.year()-T.year())+(F.month()-T.month()),B=T.clone().add(j,l),Z=F-B<0,te=T.clone().add(j+(Z?-1:1),l);return+(-(j+(F-B)/(Z?B-te:te-B))||0)},"t"),a:c(function(L){return L<0?Math.ceil(L)||0:Math.floor(L)},"a"),p:c(function(L){return{M:l,y:p,w:u,d:a,D:g,h:s,m:o,s:i,ms:n,Q:d}[L]||String(L||"").toLowerCase().replace(/s$/,"")},"p"),u:c(function(L){return L===void 0},"u")},H="en",D={};D[H]=b;var J=c(function(L){return L instanceof C},"p"),Y=c(function L(T,F,j){var B;if(!T)return H;if(typeof T=="string"){var Z=T.toLowerCase();D[Z]&&(B=Z),F&&(D[Z]=F,B=Z);var te=T.split("-");if(!B&&te.length>1)return L(te[0])}else{var k=T.name;D[k]=T,B=k}return!j&&B&&(H=B),B||!j&&H},"t"),X=c(function(L,T){if(J(L))return L.clone();var F=typeof T=="object"?T:{};return F.date=L,F.args=arguments,new C(F)},"w"),P=w;P.l=Y,P.i=J,P.w=function(L,T){return X(L,{locale:T.$L,utc:T.$u,x:T.$x,$offset:T.$offset})};var C=(function(){function L(F){this.$L=Y(F.locale,null,!0),this.parse(F)}c(L,"M");var T=L.prototype;return T.parse=function(F){this.$d=(function(j){var B=j.date,Z=j.utc;if(B===null)return new Date(NaN);if(P.u(B))return new Date;if(B instanceof Date)return new Date(B);if(typeof B=="string"&&!/Z$/i.test(B)){var te=B.match(_);if(te){var k=te[2]-1||0,W=(te[7]||"0").substring(0,3);return Z?new Date(Date.UTC(te[1],k,te[3]||1,te[4]||0,te[5]||0,te[6]||0,W)):new Date(te[1],k,te[3]||1,te[4]||0,te[5]||0,te[6]||0,W)}}return new Date(B)})(F),this.$x=F.x||{},this.init()},T.init=function(){var F=this.$d;this.$y=F.getFullYear(),this.$M=F.getMonth(),this.$D=F.getDate(),this.$W=F.getDay(),this.$H=F.getHours(),this.$m=F.getMinutes(),this.$s=F.getSeconds(),this.$ms=F.getMilliseconds()},T.$utils=function(){return P},T.isValid=function(){return this.$d.toString()!==h},T.isSame=function(F,j){var B=X(F);return this.startOf(j)<=B&&B<=this.endOf(j)},T.isAfter=function(F,j){return X(F)<this.startOf(j)},T.isBefore=function(F,j){return this.endOf(j)<X(F)},T.$g=function(F,j,B){return P.u(F)?this[j]:this.set(B,F)},T.unix=function(){return Math.floor(this.valueOf()/1e3)},T.valueOf=function(){return this.$d.getTime()},T.startOf=function(F,j){var B=this,Z=!!P.u(j)||j,te=P.p(F),k=c(function(kt,Xt){var Er=P.w(B.$u?Date.UTC(B.$y,Xt,kt):new Date(B.$y,Xt,kt),B);return Z?Er:Er.endOf(a)},"l"),W=c(function(kt,Xt){return P.w(B.toDate()[kt].apply(B.toDate("s"),(Z?[0,0,0,0]:[23,59,59,999]).slice(Xt)),B)},"$"),q=this.$W,ee=this.$M,ue=this.$D,me="set"+(this.$u?"UTC":"");switch(te){case p:return Z?k(1,0):k(31,11);case l:return Z?k(1,ee):k(0,ee+1);case u:var he=this.$locale().weekStart||0,xt=(q<he?q+7:q)-he;return k(Z?ue-xt:ue+(6-xt),ee);case a:case g:return W(me+"Hours",0);case s:return W(me+"Minutes",1);case o:return W(me+"Seconds",2);case i:return W(me+"Milliseconds",3);default:return this.clone()}},T.endOf=function(F){return this.startOf(F,!1)},T.$set=function(F,j){var B,Z=P.p(F),te="set"+(this.$u?"UTC":""),k=(B={},B[a]=te+"Date",B[g]=te+"Date",B[l]=te+"Month",B[p]=te+"FullYear",B[s]=te+"Hours",B[o]=te+"Minutes",B[i]=te+"Seconds",B[n]=te+"Milliseconds",B)[Z],W=Z===a?this.$D+(j-this.$W):j;if(Z===l||Z===p){var q=this.clone().set(g,1);q.$d[k](W),q.init(),this.$d=q.set(g,Math.min(this.$D,q.daysInMonth())).$d}else k&&this.$d[k](W);return this.init(),this},T.set=function(F,j){return this.clone().$set(F,j)},T.get=function(F){return this[P.p(F)]()},T.add=function(F,j){var B,Z=this;F=Number(F);var te=P.p(j),k=c(function(ee){var ue=X(Z);return P.w(ue.date(ue.date()+Math.round(ee*F)),Z)},"y");if(te===l)return this.set(l,this.$M+F);if(te===p)return this.set(p,this.$y+F);if(te===a)return k(1);if(te===u)return k(7);var W=(B={},B[o]=e,B[s]=r,B[i]=t,B)[te]||1,q=this.$d.getTime()+F*W;return P.w(q,this)},T.subtract=function(F,j){return this.add(-1*F,j)},T.format=function(F){var j=this,B=this.$locale();if(!this.isValid())return B.invalidDate||h;var Z=F||"YYYY-MM-DDTHH:mm:ssZ",te=P.z(this),k=this.$H,W=this.$m,q=this.$M,ee=B.weekdays,ue=B.months,me=B.meridiem,he=c(function(Xt,Er,Dr,vr){return Xt&&(Xt[Er]||Xt(j,Z))||Dr[Er].slice(0,vr)},"h"),xt=c(function(Xt){return P.s(k%12||12,Xt,"0")},"d"),kt=me||function(Xt,Er,Dr){var vr=Xt<12?"AM":"PM";return Dr?vr.toLowerCase():vr};return Z.replace(A,(function(Xt,Er){return Er||(function(Dr){switch(Dr){case"YY":return String(j.$y).slice(-2);case"YYYY":return P.s(j.$y,4,"0");case"M":return q+1;case"MM":return P.s(q+1,2,"0");case"MMM":return he(B.monthsShort,q,ue,3);case"MMMM":return he(ue,q);case"D":return j.$D;case"DD":return P.s(j.$D,2,"0");case"d":return String(j.$W);case"dd":return he(B.weekdaysMin,j.$W,ee,2);case"ddd":return he(B.weekdaysShort,j.$W,ee,3);case"dddd":return ee[j.$W];case"H":return String(k);case"HH":return P.s(k,2,"0");case"h":return xt(1);case"hh":return xt(2);case"a":return kt(k,W,!0);case"A":return kt(k,W,!1);case"m":return String(W);case"mm":return P.s(W,2,"0");case"s":return String(j.$s);case"ss":return P.s(j.$s,2,"0");case"SSS":return P.s(j.$ms,3,"0");case"Z":return te}return null})(Xt)||te.replace(":","")}))},T.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},T.diff=function(F,j,B){var Z,te=this,k=P.p(j),W=X(F),q=(W.utcOffset()-this.utcOffset())*e,ee=this-W,ue=c(function(){return P.m(te,W)},"D");switch(k){case p:Z=ue()/12;break;case l:Z=ue();break;case d:Z=ue()/3;break;case u:Z=(ee-q)/6048e5;break;case a:Z=(ee-q)/864e5;break;case s:Z=ee/r;break;case o:Z=ee/e;break;case i:Z=ee/t;break;default:Z=ee}return B?Z:P.a(Z)},T.daysInMonth=function(){return this.endOf(l).$D},T.$locale=function(){return D[this.$L]},T.locale=function(F,j){if(!F)return this.$L;var B=this.clone(),Z=Y(F,j,!0);return Z&&(B.$L=Z),B},T.clone=function(){return P.w(this.$d,this)},T.toDate=function(){return new Date(this.valueOf())},T.toJSON=function(){return this.isValid()?this.toISOString():null},T.toISOString=function(){return this.$d.toISOString()},T.toString=function(){return this.$d.toUTCString()},L})(),M=C.prototype;return X.prototype=M,[["$ms",n],["$s",i],["$m",o],["$H",s],["$W",a],["$M",l],["$y",p],["$D",g]].forEach((function(L){M[L[1]]=function(T){return this.$g(T,L[0],L[1])}})),X.extend=function(L,T){return L.$i||(L(T,C,X),L.$i=!0),X},X.locale=Y,X.isDayjs=J,X.unix=function(L){return X(1e3*L)},X.en=D[H],X.Ls=D,X.p={},X}))});var K1={};hd(K1,{endClient:()=>Zt,ftpSftp:()=>V1,getClient:()=>Ht,getProtocolBackwardCompatibility:()=>Bt});module.exports=eA(K1);var tA=Object.freeze({status:"aborted"});function xe(t,e,r){function n(a,u){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:u,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(t))return;a._zod.traits.add(t),e(a,u);let l=s.prototype,d=Object.keys(l);for(let p=0;p<d.length;p++){let g=d[p];g in a||(a[g]=l[g].bind(a))}}c(n,"init");let i=r?.Parent??Object;class o extends i{static{c(this,"Definition")}}Object.defineProperty(o,"name",{value:t});function s(a){var u;let l=r?.Parent?new o:this;n(l,a),(u=l._zod).deferred??(u.deferred=[]);for(let d of l._zod.deferred)d();return l}return c(s,"_"),Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:c(a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(t),"value")}),Object.defineProperty(s,"name",{value:t}),s}c(xe,"$constructor");var Xr=class extends Error{static{c(this,"$ZodAsyncError")}constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Ls=class extends Error{static{c(this,"$ZodEncodeError")}constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}},Nc={};function fn(t){return t&&Object.assign(Nc,t),Nc}c(fn,"config");function $c(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}c($c,"getEnumValues");function _d(t,e){return typeof e=="bigint"?e.toString():e}c(_d,"jsonStringifyReplacer");function Ms(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}c(Ms,"cached");function yd(t){return t==null}c(yd,"nullish");function Fs(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}c(Fs,"cleanRegex");var md=Symbol("evaluating");function er(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==md)return n===void 0&&(n=md,n=r()),n},set(i){Object.defineProperty(t,e,{value:i})},configurable:!0})}c(er,"defineLazy");var Dc="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function bo(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}c(bo,"isObject");var rA=Ms(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});function Ed(t){if(bo(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(bo(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}c(Ed,"isPlainObject");var Ad=new Set(["string","number","symbol"]);function wi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}c(wi,"escapeRegex");function Hs(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}c(Hs,"clone");function Rt(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:c(()=>e,"error")};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:c(()=>e.error,"error")}:e}c(Rt,"normalizeParams");function bd(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}c(bd,"optionalKeys");var xd={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Pi(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}c(Pi,"aborted");function wn(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}c(wn,"prefixIssues");function zs(t){return typeof t=="string"?t:t?.message}c(zs,"unwrapMessage");function Pn(t,e,r){let n={...t,path:t.path??[]};if(!t.message){let i=zs(t.inst?._zod.def?.error?.(t))??zs(e?.error?.(t))??zs(r.customError?.(t))??zs(r.localeError?.(t))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,e?.reportInput||delete n.input,n}c(Pn,"finalizeIssue");function Id(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}c(Id,"getLengthableOrigin");function Bc(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}c(Bc,"issue");var vd=c((t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,_d,2),Object.defineProperty(t,"toString",{value:c(()=>t.message,"value"),enumerable:!1})},"initializer"),Sd=xe("$ZodError",vd),xo=xe("$ZodError",vd,{Parent:Error});var iA=c(t=>(e,r,n,i)=>{let o=n?Object.assign(n,{async:!1}):{async:!1},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Xr;if(s.issues.length){let a=new(i?.Err??t)(s.issues.map(u=>Pn(u,o,fn())));throw Dc(a,i?.callee),a}return s.value},"_parse"),js=iA(xo),oA=c(t=>async(e,r,n,i)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},s=e._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(i?.Err??t)(s.issues.map(u=>Pn(u,o,fn())));throw Dc(a,i?.callee),a}return s.value},"_parseAsync"),Ws=oA(xo),sA=c(t=>(e,r,n)=>{let i=n?{...n,async:!1}:{async:!1},o=e._zod.run({value:r,issues:[]},i);if(o instanceof Promise)throw new Xr;return o.issues.length?{success:!1,error:new(t??Sd)(o.issues.map(s=>Pn(s,i,fn())))}:{success:!0,data:o.value}},"_safeParse"),Io=sA(xo),aA=c(t=>async(e,r,n)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},o=e._zod.run({value:r,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new t(o.issues.map(s=>Pn(s,i,fn())))}:{success:!0,data:o.value}},"_safeParseAsync"),vo=aA(xo);var cA="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",uA=new RegExp(`^${cA}$`);var wd=c(t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},"string"),Pd=/^-?\d+n?$/,Td=/^-?\d+$/,Uc=/^-?\d+(?:\.\d+)?$/,Cd=/^(?:true|false)$/i;var Tn=xe("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),lA={number:"number",bigint:"bigint",object:"date"};var kd=xe("$ZodCheckGreaterThan",(t,e)=>{Tn.init(t,e);let r=lA[typeof e.value];t._zod.onattach.push(n=>{let i=n._zod.bag,o=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>o&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}});var Rd=xe("$ZodCheckNumberFormat",(t,e)=>{Tn.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[i,o]=xd[e.format];t._zod.onattach.push(s=>{let a=s._zod.bag;a.format=e.format,a.minimum=i,a.maximum=o,r&&(a.pattern=Td)}),t._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:a,inst:t});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}a<i&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:i,inclusive:!0,inst:t,continue:!e.abort}),a>o&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:o,inclusive:!0,inst:t,continue:!e.abort})}});var Nd=xe("$ZodCheckMinLength",(t,e)=>{var r;Tn.init(t,e),(r=t._zod.def).when??(r.when=n=>{let i=n.value;return!yd(i)&&i.length!==void 0}),t._zod.onattach.push(n=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let i=n.value;if(i.length>=e.minimum)return;let s=Id(i);n.issues.push({origin:s,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}});var Lc=xe("$ZodCheckStringFormat",(t,e)=>{var r,n;Tn.init(t,e),t._zod.onattach.push(i=>{let o=i._zod.bag;o.format=e.format,e.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Od=xe("$ZodCheckRegex",(t,e)=>{Lc.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}});var Dd={major:4,minor:3,patch:6};var Kt=xe("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Dd;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let i of n)for(let o of i._zod.onattach)o(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let i=c((s,a,u)=>{let l=Pi(s),d;for(let p of a){if(p._zod.def.when){if(!p._zod.def.when(s))continue}else if(l)continue;let g=s.issues.length,h=p._zod.check(s);if(h instanceof Promise&&u?.async===!1)throw new Xr;if(d||h instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await h,s.issues.length!==g&&(l||(l=Pi(s,g)))});else{if(s.issues.length===g)continue;l||(l=Pi(s,g))}}return d?d.then(()=>s):s},"runChecks"),o=c((s,a,u)=>{if(Pi(s))return s.aborted=!0,s;let l=i(a,n,u);if(l instanceof Promise){if(u.async===!1)throw new Xr;return l.then(d=>t._zod.parse(d,u))}return t._zod.parse(l,u)},"handleCanaryResult");t._zod.run=(s,a)=>{if(a.skipChecks)return t._zod.parse(s,a);if(a.direction==="backward"){let l=t._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});return l instanceof Promise?l.then(d=>o(d,s,a)):o(l,s,a)}let u=t._zod.parse(s,a);if(u instanceof Promise){if(a.async===!1)throw new Xr;return u.then(l=>i(l,n,a))}return i(u,n,a)}}er(t,"~standard",()=>({validate:c(i=>{try{let o=Io(t,i);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return vo(t,i).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},"validate"),vendor:"zod",version:1}))}),Vs=xe("$ZodString",(t,e)=>{Kt.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??wd(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),zc=xe("$ZodStringFormat",(t,e)=>{Lc.init(t,e),Vs.init(t,e)});var Md=xe("$ZodURL",(t,e)=>{zc.init(t,e),t._zod.check=r=>{try{let n=r.value.trim(),i=new URL(n);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=i.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}});var Mc=xe("$ZodNumber",(t,e)=>{Kt.init(t,e),t._zod.pattern=t._zod.bag.pattern??Uc,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let o=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:t,...o?{received:o}:{}}),r}}),Fd=xe("$ZodNumberFormat",(t,e)=>{Rd.init(t,e),Mc.init(t,e)}),Fc=xe("$ZodBoolean",(t,e)=>{Kt.init(t,e),t._zod.pattern=Cd,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:t}),r}}),Hd=xe("$ZodBigInt",(t,e)=>{Kt.init(t,e),t._zod.pattern=Pd,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:t}),r}});var jd=xe("$ZodAny",(t,e)=>{Kt.init(t,e),t._zod.parse=r=>r}),Wd=xe("$ZodUnknown",(t,e)=>{Kt.init(t,e),t._zod.parse=r=>r});var qd=xe("$ZodVoid",(t,e)=>{Kt.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;return typeof i>"u"||r.issues.push({expected:"void",code:"invalid_type",input:i,inst:t}),r}}),Qd=xe("$ZodDate",(t,e)=>{Kt.init(t,e),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let i=r.value,o=i instanceof Date;return o&&!Number.isNaN(i.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:i,...o?{received:"Invalid Date"}:{},inst:t}),r}});function Bd(t,e,r){t.issues.length&&e.issues.push(...wn(r,t.issues)),e.value[r]=t.value}c(Bd,"handleArrayResult");var Vd=xe("$ZodArray",(t,e)=>{Kt.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:t}),r;r.value=Array(i.length);let o=[];for(let s=0;s<i.length;s++){let a=i[s],u=e.element._zod.run({value:a,issues:[]},n);u instanceof Promise?o.push(u.then(l=>Bd(l,r,s))):Bd(u,r,s)}return o.length?Promise.all(o).then(()=>r):r}});function Qs(t,e,r,n,i){if(t.issues.length){if(i&&!(r in n))return;e.issues.push(...wn(r,t.issues))}t.value===void 0?r in n&&(e.value[r]=void 0):e.value[r]=t.value}c(Qs,"handlePropertyResult");function fA(t){let e=Object.keys(t.shape);for(let n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=bd(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}c(fA,"normalizeDef");function dA(t,e,r,n,i,o){let s=[],a=i.keySet,u=i.catchall._zod,l=u.def.type,d=u.optout==="optional";for(let p in e){if(a.has(p))continue;if(l==="never"){s.push(p);continue}let g=u.run({value:e[p],issues:[]},n);g instanceof Promise?t.push(g.then(h=>Qs(h,r,p,e,d))):Qs(g,r,p,e,d)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:e,inst:o}),t.length?Promise.all(t).then(()=>r):r}c(dA,"handleCatchall");var Kd=xe("$ZodObject",(t,e)=>{if(Kt.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let a=e.shape;Object.defineProperty(e,"shape",{get:c(()=>{let u={...a};return Object.defineProperty(e,"shape",{value:u}),u},"get")})}let n=Ms(()=>fA(e));er(t._zod,"propValues",()=>{let a=e.shape,u={};for(let l in a){let d=a[l]._zod;if(d.values){u[l]??(u[l]=new Set);for(let p of d.values)u[l].add(p)}}return u});let i=bo,o=e.catchall,s;t._zod.parse=(a,u)=>{s??(s=n.value);let l=a.value;if(!i(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:t}),a;a.value={};let d=[],p=s.shape;for(let g of s.keys){let h=p[g],_=h._zod.optout==="optional",A=h._zod.run({value:l[g],issues:[]},u);A instanceof Promise?d.push(A.then(b=>Qs(b,a,g,l,_))):Qs(A,a,g,l,_)}return o?dA(d,l,a,u,n.value,t):d.length?Promise.all(d).then(()=>a):a}});function Ud(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;let i=t.filter(o=>!Pi(o));return i.length===1?(e.value=i[0].value,i[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(s=>Pn(s,n,fn())))}),e)}c(Ud,"handleUnionResults");var Hc=xe("$ZodUnion",(t,e)=>{Kt.init(t,e),er(t._zod,"optin",()=>e.options.some(i=>i._zod.optin==="optional")?"optional":void 0),er(t._zod,"optout",()=>e.options.some(i=>i._zod.optout==="optional")?"optional":void 0),er(t._zod,"values",()=>{if(e.options.every(i=>i._zod.values))return new Set(e.options.flatMap(i=>Array.from(i._zod.values)))}),er(t._zod,"pattern",()=>{if(e.options.every(i=>i._zod.pattern)){let i=e.options.map(o=>o._zod.pattern);return new RegExp(`^(${i.map(o=>Fs(o.source)).join("|")})$`)}});let r=e.options.length===1,n=e.options[0]._zod.run;t._zod.parse=(i,o)=>{if(r)return n(i,o);let s=!1,a=[];for(let u of e.options){let l=u._zod.run({value:i.value,issues:[]},o);if(l instanceof Promise)a.push(l),s=!0;else{if(l.issues.length===0)return l;a.push(l)}}return s?Promise.all(a).then(u=>Ud(u,i,t,o)):Ud(a,i,t,o)}});var Gd=xe("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,Hc.init(t,e);let r=t._zod.parse;er(t._zod,"propValues",()=>{let i={};for(let o of e.options){let s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(let[a,u]of Object.entries(s)){i[a]||(i[a]=new Set);for(let l of u)i[a].add(l)}}return i});let n=Ms(()=>{let i=e.options,o=new Map;for(let s of i){let a=s._zod.propValues?.[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(s)}"`);for(let u of a){if(o.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);o.set(u,s)}}return o});t._zod.parse=(i,o)=>{let s=i.value;if(!bo(s))return i.issues.push({code:"invalid_type",expected:"object",input:s,inst:t}),i;let a=n.value.get(s?.[e.discriminator]);return a?a._zod.run(i,o):e.unionFallback?r(i,o):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,input:s,path:[e.discriminator],inst:t}),i)}});var Zd=xe("$ZodRecord",(t,e)=>{Kt.init(t,e),t._zod.parse=(r,n)=>{let i=r.value;if(!Ed(i))return r.issues.push({expected:"record",code:"invalid_type",input:i,inst:t}),r;let o=[],s=e.keyType._zod.values;if(s){r.value={};let a=new Set;for(let l of s)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){a.add(typeof l=="number"?l.toString():l);let d=e.valueType._zod.run({value:i[l],issues:[]},n);d instanceof Promise?o.push(d.then(p=>{p.issues.length&&r.issues.push(...wn(l,p.issues)),r.value[l]=p.value})):(d.issues.length&&r.issues.push(...wn(l,d.issues)),r.value[l]=d.value)}let u;for(let l in i)a.has(l)||(u=u??[],u.push(l));u&&u.length>0&&r.issues.push({code:"unrecognized_keys",input:i,inst:t,keys:u})}else{r.value={};for(let a of Reflect.ownKeys(i)){if(a==="__proto__")continue;let u=e.keyType._zod.run({value:a,issues:[]},n);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&Uc.test(a)&&u.issues.length){let p=e.keyType._zod.run({value:Number(a),issues:[]},n);if(p instanceof Promise)throw new Error("Async schemas not supported in object keys currently");p.issues.length===0&&(u=p)}if(u.issues.length){e.mode==="loose"?r.value[a]=i[a]:r.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(p=>Pn(p,n,fn())),input:a,path:[a],inst:t});continue}let d=e.valueType._zod.run({value:i[a],issues:[]},n);d instanceof Promise?o.push(d.then(p=>{p.issues.length&&r.issues.push(...wn(a,p.issues)),r.value[u.value]=p.value})):(d.issues.length&&r.issues.push(...wn(a,d.issues)),r.value[u.value]=d.value)}}return o.length?Promise.all(o).then(()=>r):r}});var Yd=xe("$ZodEnum",(t,e)=>{Kt.init(t,e);let r=$c(e.entries),n=new Set(r);t._zod.values=n,t._zod.pattern=new RegExp(`^(${r.filter(i=>Ad.has(typeof i)).map(i=>typeof i=="string"?wi(i):i.toString()).join("|")})$`),t._zod.parse=(i,o)=>{let s=i.value;return n.has(s)||i.issues.push({code:"invalid_value",values:r,input:s,inst:t}),i}}),Xd=xe("$ZodLiteral",(t,e)=>{if(Kt.init(t,e),e.values.length===0)throw new Error("Cannot create literal schema with no valid values");let r=new Set(e.values);t._zod.values=r,t._zod.pattern=new RegExp(`^(${e.values.map(n=>typeof n=="string"?wi(n):n?wi(n.toString()):String(n)).join("|")})$`),t._zod.parse=(n,i)=>{let o=n.value;return r.has(o)||n.issues.push({code:"invalid_value",values:e.values,input:o,inst:t}),n}});var Jd=xe("$ZodTransform",(t,e)=>{Kt.init(t,e),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ls(t.constructor.name);let i=e.transform(r.value,r);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(s=>(r.value=s,r));if(i instanceof Promise)throw new Xr;return r.value=i,r}});function Ld(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}c(Ld,"handleOptionalResult");var ep=xe("$ZodOptional",(t,e)=>{Kt.init(t,e),t._zod.optin="optional",t._zod.optout="optional",er(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),er(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Fs(r.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(e.innerType._zod.optin==="optional"){let i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(o=>Ld(o,r.value)):Ld(i,r.value)}return r.value===void 0?r:e.innerType._zod.run(r,n)}});var tp=xe("$ZodNullable",(t,e)=>{Kt.init(t,e),er(t._zod,"optin",()=>e.innerType._zod.optin),er(t._zod,"optout",()=>e.innerType._zod.optout),er(t._zod,"pattern",()=>{let r=e.innerType._zod.pattern;return r?new RegExp(`^(${Fs(r.source)}|null)$`):void 0}),er(t._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)});var rp=xe("$ZodPipe",(t,e)=>{Kt.init(t,e),er(t._zod,"values",()=>e.in._zod.values),er(t._zod,"optin",()=>e.in._zod.optin),er(t._zod,"optout",()=>e.out._zod.optout),er(t._zod,"propValues",()=>e.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){let o=e.out._zod.run(r,n);return o instanceof Promise?o.then(s=>qs(s,e.in,n)):qs(o,e.in,n)}let i=e.in._zod.run(r,n);return i instanceof Promise?i.then(o=>qs(o,e.out,n)):qs(i,e.out,n)}});function qs(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}c(qs,"handlePipeResult");var np=xe("$ZodCustom",(t,e)=>{Tn.init(t,e),Kt.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{let n=r.value,i=e.fn(n);if(i instanceof Promise)return i.then(o=>zd(o,r,n,t));zd(i,r,n,t)}});function zd(t,e,r,n){if(!t){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),e.issues.push(Bc(i))}}c(zd,"handleRefineResult");var op;var jc=class{static{c(this,"$ZodRegistry")}constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){let n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){let r=e._zod.parent;if(r){let n={...this.get(r)??{}};delete n.id;let i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function sp(){return new jc}c(sp,"registry");(op=globalThis).__zod_globalRegistry??(op.__zod_globalRegistry=sp());var Wc=globalThis.__zod_globalRegistry;function ap(t,e){return new t({type:"string",...Rt(e)})}c(ap,"_string");function cp(t,e){return new t({type:"string",coerce:!0,...Rt(e)})}c(cp,"_coercedString");function up(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...Rt(e)})}c(up,"_url");function lp(t,e){return new t({type:"number",checks:[],...Rt(e)})}c(lp,"_number");function fp(t,e){return new t({type:"number",coerce:!0,checks:[],...Rt(e)})}c(fp,"_coercedNumber");function dp(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...Rt(e)})}c(dp,"_int");function pp(t,e){return new t({type:"boolean",...Rt(e)})}c(pp,"_boolean");function hp(t,e){return new t({type:"boolean",coerce:!0,...Rt(e)})}c(hp,"_coercedBoolean");function gp(t,e){return new t({type:"bigint",coerce:!0,...Rt(e)})}c(gp,"_coercedBigint");function mp(t){return new t({type:"any"})}c(mp,"_any");function _p(t){return new t({type:"unknown"})}c(_p,"_unknown");function yp(t,e){return new t({type:"void",...Rt(e)})}c(yp,"_void");function Ep(t,e){return new t({type:"date",coerce:!0,...Rt(e)})}c(Ep,"_coercedDate");function Ks(t,e){return new kd({check:"greater_than",...Rt(e),value:t,inclusive:!0})}c(Ks,"_gte");function qr(t,e){return new Nd({check:"min_length",...Rt(e),minimum:t})}c(qr,"_minLength");function Cn(t,e){return new Od({check:"string_format",format:"regex",...Rt(e),pattern:t})}c(Cn,"_regex");function Ap(t,e,r){let n=Rt(r);return n.abort??(n.abort=!0),new t({type:"custom",check:"custom",fn:e,...n})}c(Ap,"_custom");var tr=xe("ZodMiniType",(t,e)=>{if(!t._zod)throw new Error("Uninitialized schema in ZodMiniType.");Kt.init(t,e),t.def=e,t.type=e.type,t.parse=(r,n)=>js(t,r,n,{callee:t.parse}),t.safeParse=(r,n)=>Io(t,r,n),t.parseAsync=async(r,n)=>Ws(t,r,n,{callee:t.parseAsync}),t.safeParseAsync=async(r,n)=>vo(t,r,n),t.check=(...r)=>t.clone({...e,checks:[...e.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]},{parent:!0}),t.with=t.check,t.clone=(r,n)=>Hs(t,r,n),t.brand=()=>t,t.register=((r,n)=>(r.add(t,n),t)),t.apply=r=>r(t)}),Zs=xe("ZodMiniString",(t,e)=>{Vs.init(t,e),tr.init(t,e)});function I(t){return ap(Zs,t)}c(I,"string");var bp=xe("ZodMiniStringFormat",(t,e)=>{zc.init(t,e),Zs.init(t,e)});var SA=xe("ZodMiniURL",(t,e)=>{Md.init(t,e),bp.init(t,e)});function xp(t){return up(SA,t)}c(xp,"url");var Ys=xe("ZodMiniNumber",(t,e)=>{Mc.init(t,e),tr.init(t,e)});function cr(t){return lp(Ys,t)}c(cr,"number");var wA=xe("ZodMiniNumberFormat",(t,e)=>{Fd.init(t,e),Ys.init(t,e)});function Ip(t){return dp(wA,t)}c(Ip,"int");var qc=xe("ZodMiniBoolean",(t,e)=>{Fc.init(t,e),tr.init(t,e)});function ht(t){return pp(qc,t)}c(ht,"boolean");var vp=xe("ZodMiniBigInt",(t,e)=>{Hd.init(t,e),tr.init(t,e)});var PA=xe("ZodMiniAny",(t,e)=>{jd.init(t,e),tr.init(t,e)});function wo(){return mp(PA)}c(wo,"any");var TA=xe("ZodMiniUnknown",(t,e)=>{Wd.init(t,e),tr.init(t,e)});function Ve(){return _p(TA)}c(Ve,"unknown");var CA=xe("ZodMiniVoid",(t,e)=>{qd.init(t,e),tr.init(t,e)});function Sp(t){return yp(CA,t)}c(Sp,"_void");var wp=xe("ZodMiniDate",(t,e)=>{Qd.init(t,e),tr.init(t,e)});var kA=xe("ZodMiniArray",(t,e)=>{Vd.init(t,e),tr.init(t,e)});function Me(t,e){return new kA({type:"array",element:t,...Rt(e)})}c(Me,"array");var RA=xe("ZodMiniObject",(t,e)=>{Kd.init(t,e),tr.init(t,e),er(t,"shape",()=>e.shape)});function $(t,e){let r={type:"object",shape:t??{},...Rt(e)};return new RA(r)}c($,"object");var NA=xe("ZodMiniUnion",(t,e)=>{Hc.init(t,e),tr.init(t,e)});function tt(t,e){return new NA({type:"union",options:t,...Rt(e)})}c(tt,"union");var OA=xe("ZodMiniDiscriminatedUnion",(t,e)=>{Gd.init(t,e),tr.init(t,e)});function kn(t,e,r){return new OA({type:"union",options:e,discriminator:t,...Rt(r)})}c(kn,"discriminatedUnion");var $A=xe("ZodMiniRecord",(t,e)=>{Zd.init(t,e),tr.init(t,e)});function Ke(t,e,r){return new $A({type:"record",keyType:t,valueType:e,...Rt(r)})}c(Ke,"record");var DA=xe("ZodMiniEnum",(t,e)=>{Yd.init(t,e),tr.init(t,e),t.options=Object.values(e.entries)});function Oe(t,e){let r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new DA({type:"enum",entries:r,...Rt(e)})}c(Oe,"_enum");var BA=xe("ZodMiniLiteral",(t,e)=>{Xd.init(t,e),tr.init(t,e)});function Ce(t,e){return new BA({type:"literal",values:Array.isArray(t)?t:[t],...Rt(e)})}c(Ce,"literal");var UA=xe("ZodMiniTransform",(t,e)=>{Jd.init(t,e),tr.init(t,e)});function Rn(t){return new UA({type:"transform",transform:t})}c(Rn,"transform");var LA=xe("ZodMiniOptional",(t,e)=>{ep.init(t,e),tr.init(t,e)});function V(t){return new LA({type:"optional",innerType:t})}c(V,"optional");var zA=xe("ZodMiniNullable",(t,e)=>{tp.init(t,e),tr.init(t,e)});function Po(t){return new zA({type:"nullable",innerType:t})}c(Po,"nullable");var MA=xe("ZodMiniPipe",(t,e)=>{rp.init(t,e),tr.init(t,e)});function Nn(t,e){return new MA({type:"pipe",in:t,out:e})}c(Nn,"pipe");var FA=xe("ZodMiniCustom",(t,e)=>{np.init(t,e),tr.init(t,e)});function Xs(t,e){return Ap(FA,t??(()=>!0),e)}c(Xs,"custom");var To={};hd(To,{bigint:()=>VA,boolean:()=>QA,date:()=>KA,number:()=>qA,string:()=>WA});function WA(t){return cp(Zs,t)}c(WA,"string");function qA(t){return fp(Ys,t)}c(qA,"number");function QA(t){return hp(qc,t)}c(QA,"boolean");function VA(t){return gp(vp,t)}c(VA,"bigint");function KA(t){return Ep(wp,t)}c(KA,"date");var Vc=$({retryOnFailure:$({defaultValue:V(ht()),hide:V(ht())}),continueOnFailure:$({defaultValue:V(ht()),hide:V(ht())})}),Qc=class{constructor(e,r,n,i,o,s,a,u,l,d,p,g,h){this.name=e;this.displayName=r;this.description=n;this.props=i;this.propertyGroups=o;this.run=s;this.test=a;this.requireAuth=u;this.errorHandlingOptions=l;this.outputSchema=d;this.audience=p;this.aiMetadata=g;this.classification=h}static{c(this,"IAction")}},mr=c(t=>new Qc(t.name,t.displayName,t.description,t.props,t.propertyGroups,t.run,t.test??t.run,t.requireAuth??!0,t.errorHandlingOptions??{continueOnFailure:{defaultValue:!1},retryOnFailure:{defaultValue:!1}},t.outputSchema,t.audience,t.aiMetadata,t.classification),"createAction");var lt=$({displayName:I(),description:V(I()),advanced:V(ht()),width:V(Oe(["half","full"])),icon:V(I()),placeholder:V(I())}),Ze=c((t,e)=>$({type:Ce(e),required:ht(),defaultValue:V(wo())}),"TPropertyValue");var Rr=$({...lt.shape,...Ze(I(),"SHORT_TEXT").shape}),dn=$({...lt.shape,...Ze(I(),"LONG_TEXT").shape});var Tp=$({label:I(),value:Ve(),description:V(I()),icon:V(I())}),Js=$({disabled:V(ht()),placeholder:V(I()),options:Me(Tp)});var ZA=Oe(["cards"]),Nr=$({...lt.shape,options:Js,display:V(ZA),...Ze(Ve(),"STATIC_DROPDOWN").shape}),pn=$({...lt.shape,options:Js,...Ze(Me(Ve()),"STATIC_MULTI_SELECT_DROPDOWN").shape});var Kc=$({...lt.shape,...Ze(Ve(),"DROPDOWN").shape,refreshers:Me(I())}),Co=$({...lt.shape,...Ze(Me(Ve()),"MULTI_SELECT_DROPDOWN").shape,refreshers:Me(I())});var hn=$({...lt.shape,reveals:V(Me(I())),...Ze(ht(),"CHECKBOX").shape});var gn=$({...lt.shape,display:V(Oe(["stepper"])),min:V(cr()),max:V(cr()),step:V(cr()),...Ze(cr(),"NUMBER").shape});var ko=$({...lt.shape,streaming:V(ht()),...Ze(Ve(),"FILE").shape});var Ro=$({...lt.shape,...Ze(I(),"DATE_TIME").shape});var Cp=Ke(I(),tt([Rr,dn,Nr,Co,pn,hn,gn,ko,Ro])),No=$({...lt.shape,properties:Cp,...Ze(Me(Ve()),"ARRAY").shape});var kp=Oe(["any_time","last_24_hours","last_7_days","last_30_days","last_90_days","this_month","custom"]),Rp=$({preset:V(kp),after:V(I()),before:V(I())}),Gc=$({...lt.shape,display:V(Oe(["dropdown"])),...Ze(Rp,"DATE_RANGE").shape});var Oo=$({...lt.shape,...Ze(tt([Ke(I(),Ve())]),"JSON").shape});var Np=tt([Rr,Nr,Oo,No,pn]),YA=Ke(I(),Np),Zc=$({refreshers:Me(I()),...lt.shape,...Ze(Ve(),"DYNAMIC").shape});var ea=$({...lt.shape,...Ze(Sp(),"MARKDOWN").shape});var $o=(r=>(r.ARCHIVE="ARCHIVE",r.REGISTRY="REGISTRY",r))($o||{}),Ti=(r=>(r.CUSTOM="CUSTOM",r.OFFICIAL="OFFICIAL",r))(Ti||{}),Ci=(v=>(v.ARTIFICIAL_INTELLIGENCE="ARTIFICIAL_INTELLIGENCE",v.COMMUNICATION="COMMUNICATION",v.COMMERCE="COMMERCE",v.CORE="CORE",v.UNIVERSAL_AI="UNIVERSAL_AI",v.FLOW_CONTROL="FLOW_CONTROL",v.BUSINESS_INTELLIGENCE="BUSINESS_INTELLIGENCE",v.ACCOUNTING="ACCOUNTING",v.PRODUCTIVITY="PRODUCTIVITY",v.CONTENT_AND_FILES="CONTENT_AND_FILES",v.DEVELOPER_TOOLS="DEVELOPER_TOOLS",v.CUSTOMER_SUPPORT="CUSTOMER_SUPPORT",v.FORMS_AND_SURVEYS="FORMS_AND_SURVEYS",v.HUMAN_RESOURCES="HUMAN_RESOURCES",v.PAYMENT_PROCESSING="PAYMENT_PROCESSING",v.MARKETING="MARKETING",v.SALES_AND_CRM="SALES_AND_CRM",v))(Ci||{});var Do=(r=>(r.AUTHORIZATION_CODE="authorization_code",r.CLIENT_CREDENTIALS="client_credentials",r))(Do||{}),Yc="both_client_credentials_and_authorization_code";var On=(i=>(i.POLLING="POLLING",i.WEBHOOK="WEBHOOK",i.APP_WEBHOOK="APP_WEBHOOK",i.MANUAL="MANUAL",i))(On||{}),Bo=(o=>(o.NONE="NONE",o.HEADER_PRESENT="HEADER_PRESENT",o.QUERY_PRESENT="QUERY_PRESENT",o.BODY_PARAM_PRESENT="BODY_PARAM_PRESENT",o.HEAD_REQUEST="HEAD_REQUEST",o))(Bo||{}),XA=$({strategy:Oe(Bo),paramName:V(I())}),Uo=(r=>(r.SIMULATION="SIMULATION",r.TEST_FUNCTION="TEST_FUNCTION",r))(Uo||{});var ta=(r=>(r.WEBSOCKET="WEBSOCKET",r.NONE="NONE",r))(ta||{}),Op=$({status:V(cr()),body:V(Ve()),headers:V(Ke(I(),I()))}),$p=$({type:Ce("DELAY"),resumeDateTime:I(),requestIdToReply:V(I()),handlerId:V(I()),streamStepProgress:V(Oe(ta))}),Dp=$({type:Ce("WEBHOOK"),requestId:I(),requestIdToReply:V(I()),response:Op,handlerId:V(I()),streamStepProgress:V(Oe(ta))}),JA=tt([$p,Dp]);var e0=$({body:Ve(),rawBody:V(Ve()),headers:Ke(I(),I()),queryParams:Ke(I(),I())});function rr(t){return t==null}c(rr,"isNil");var Xc=Ar(require("crypto"),1);var t0=128,$n,ki,r0=c(t=>{if(t<0)throw new RangeError("Wrong ID size");try{!$n||$n.length<t?($n=Buffer.allocUnsafe(t*t0),Xc.default.randomFillSync($n),ki=0):ki+t>$n.length&&(Xc.default.randomFillSync($n),ki=0)}catch(e){throw $n=void 0,e}ki+=t},"fillPool"),n0=c(t=>(r0(t|=0),$n.subarray(ki-t,ki)),"random"),i0=c((t,e,r)=>{let n=(2<<31-Math.clz32(t.length-1|1))-1,i=Math.ceil(1.6*n*e/t.length);return(o=e)=>{if(o<=0)return"";let s="";for(;;){let a=r(i),u=i;for(;u--;)if(s+=t[a[u]&n]||"",s.length===o)return s}}},"customRandom"),Up=c((t,e=21)=>i0(t,e,n0),"customAlphabet");var o0="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Lp=21,N6=I().check(Cn(new RegExp(`^[0-9a-zA-Z]{${Lp}}$`))),s0=Up(o0,Lp);var Dn=Nn(Rn(t=>t instanceof Date?t.toISOString():t),I()),Ur={id:I(),created:Dn,updated:Dn},Lt=c(t=>V(Po(t)),"Nullable");function Jc(t){return V(Po(Oe(t)))}c(Jc,"NullableEnum");var D6=Nn(Rn(t=>t==="true"||t===!0?!0:t==="false"||t===!1?!1:void 0),V(ht())),ra=c(t=>Nn(Rn(e=>Array.isArray(e)?e:e!==void 0?[e]:void 0),V(Me(t))),"OptionalArrayFromQuery");var L6=Ke(I(),Ve());var Lo=(d=>(d.OPENAI="openai",d.OPENROUTER="openrouter",d.ANTHROPIC="anthropic",d.AZURE="azure",d.GOOGLE="google",d.ACTIVEPIECES="activepieces",d.CLOUDFLARE_GATEWAY="cloudflare-gateway",d.CUSTOM="custom",d.BEDROCK="bedrock",d.MISTRAL="mistral",d))(Lo||{});var Z6=I().check(Cn(/^#[0-9A-Fa-f]{6}$/));var X6=$({filename:I(),data:Ve(),type:Ce("file"),mimetype:V(I())});var a0=Ar(Mp());var oB=$({...Ur,name:I(),permissions:Me(I()),platformId:Lt(I()),type:I(),userCount:V(cr())});var Fp=(n=>(n.AGENT_DECIDE="agent-decide",n.CHOOSE_YOURSELF="choose-yourself",n.LEAVE_EMPTY="leave-empty",n))(Fp||{}),eu=(r=>(r.FILE="FILE",r.TABLE="TABLE",r))(eu||{}),tu=(n=>(n.SSE="sse",n.STREAMABLE_HTTP="streamable-http",n.SIMPLE_HTTP="http",n))(tu||{});var ru=(n=>(n.TEXT="text",n.NUMBER="number",n.BOOLEAN="boolean",n))(ru||{});var nu=(r=>(r.IN_PROGRESS="in-progress",r.COMPLETED="completed",r))(nu||{});var c0=$({mode:Oe(Fp),value:Ve()}),u0=$({auth:V(I()),fields:Ke(I(),c0)}),l0=$({pieceName:I(),pieceVersion:I(),actionName:I(),predefinedInput:V(u0)}),f0=$({type:Ce("PIECE"),toolName:I().check(qr(1)),pieceMetadata:l0}),d0=$({type:Ce("none")}),p0=$({type:Ce("access_token"),accessToken:I()}),h0=$({type:Ce("api_key"),apiKey:I(),apiKeyHeader:I()}),g0=$({type:Ce("headers"),headers:Ke(I(),I())}),m0=kn("type",[d0,p0,h0,g0]),Hp=$({type:Ce("FLOW"),toolName:I().check(qr(1)),externalFlowId:I(),flowDisplayName:V(I())}),jp=$({type:Ce("MCP"),toolName:I().check(qr(1)),serverUrl:xp(),protocol:Oe(tu),auth:m0}),Wp=$({type:Ce("KNOWLEDGE_BASE"),toolName:I().check(qr(1)),sourceType:Oe(eu),sourceId:I(),sourceName:I()}),_0=kn("type",[f0,Hp,jp,Wp]),y0=$({displayName:I(),description:V(I()),type:Oe(ru)}),qp=$({type:Ce("MARKDOWN"),markdown:I()}),Ri={type:Ce("TOOL_CALL"),input:Lt(Ke(I(),Ve())),output:V(Ve()),toolName:I(),status:Oe(nu),toolCallId:I(),startTime:I(),endTime:V(I())},BB=$(Ri),Qp=kn("toolCallType",[$({...Ri,toolCallType:Ce("PIECE"),pieceName:I(),pieceVersion:I(),actionName:I()}),$({...Ri,toolCallType:Ce("FLOW"),displayName:I(),externalFlowId:I()}),$({...Ri,toolCallType:Ce("MCP"),displayName:I(),serverUrl:I()}),$({...Ri,toolCallType:Ce("KNOWLEDGE_BASE"),displayName:I(),sourceType:I()}),$({...Ri,toolCallType:Ce("UNKNOWN"),displayName:I()})]),E0=tt([qp,Qp]);var iu=(r=>(r.IMAGE="image",r.TEXT="text",r))(iu||{}),mn=$({apiKey:I()}),A0=mn,b0=$({apiKey:I(),apiKeyHash:I()}),x0=mn,I0=mn,v0=mn,S0=mn,w0=mn,P0=mn,T0=mn,Yp=$({accessKeyId:I().check(qr(1)),secretAccessKey:I().check(qr(1))}),C0=$({}),k0=$({}),R0=$({}),N0=$({}),O0=$({}),$0=$({}),Xp=$({modelId:I(),modelName:I(),modelType:Oe(iu)}),Jp=$({apiKeyHeader:I(),baseUrl:I(),models:Me(Xp),defaultHeaders:V(Ke(I(),I()))}),eh=$({accountId:I(),gatewayId:I(),models:Me(Xp),vertexProject:V(I()),vertexRegion:V(I())}),th=$({resourceName:I(),apiVersion:Nn(Rn(t=>typeof t=="string"&&t.trim().length===0?void 0:t),V(I()))}),rh=$({region:I().check(qr(1))}),D0=tt([A0,v0,S0,w0,P0,I0,x0,b0,Yp,T0]),nh=tt([Jp,eh,th,rh,C0,R0,N0,O0,k0,$0]),B0=$({id:I(),name:I(),type:Oe(iu)}),U0=$({id:I(),name:I(),provider:Oe(Lo),config:nh,enabledForChat:ht()}),L0=$({provider:Oe(Lo),config:nh,auth:D0,platformId:I()});var MB={openai:"openai",anthropic:"anthropic","google-ai-studio":"google","google-vertex-ai":"google"},Vp=["gpt-5.5","gpt-5.4-mini","gpt-5.4-nano","gpt-4.1","gpt-4.1-mini"],z0=["claude-sonnet-4-6","claude-opus-4-7","claude-haiku-4-5"],M0=["claude-sonnet-4.6","claude-opus-4.7","claude-haiku-4.5"],Kp=["gemini-2.5-pro","gemini-2.5-flash","gemini-3.1-pro-preview","gemini-3-flash-preview"],F0=["grok-4.20","grok-4.1-fast"],H0={openai:Vp,anthropic:z0,google:Kp,activepieces:[...M0.map(t=>`anthropic/${t}`),...Vp.map(t=>`openai/${t}`),...Kp.map(t=>`google/${t}`),...F0.map(t=>`x-ai/${t}`)]};var Gp=128e3,j0={openai:128e3,anthropic:2e5,google:1048576,bedrock:2e5,azure:128e3,openrouter:128e3,activepieces:2e5,mistral:128e3};function W0({provider:t}){return t?j0[t]??Gp:Gp}c(W0,"getMaxContextTokens");var Zp={openai:"text-embedding-3-small",google:"text-embedding-004",azure:"text-embedding-3-small",activepieces:"text-embedding-3-small",openrouter:"openai/text-embedding-3-small"},q0={anthropic:"native",google:"native",openrouter:"plugin",activepieces:"plugin"},Q0=new Set(["anthropic","mistral"]);function Jr(t){return{chatModels:H0[t],maxContextTokens:W0({provider:t}),defaultEmbeddingModel:Zp[t],supportsEmbedding:Zp[t]!==void 0,supportsImageGeneration:!Q0.has(t),webSearch:q0[t]}}c(Jr,"buildProviderCapabilities");var V0={openai:Jr("openai"),anthropic:Jr("anthropic"),openrouter:Jr("openrouter"),azure:Jr("azure"),google:Jr("google"),"cloudflare-gateway":Jr("cloudflare-gateway"),custom:Jr("custom"),bedrock:Jr("bedrock"),mistral:Jr("mistral"),activepieces:Jr("activepieces")};var K0=$({base64Url:I(),fileName:I(),extension:V(I())}),G0=$({mimeType:I(),url:I(),fileName:V(I())}),ou=tt([K0,G0]);var Z0=tt([$({type:Ce("file"),value:ou}),$({type:Ce("markdown"),value:I(),files:V(Me(ou))})]),Y0=$({sessionId:I(),message:I(),files:V(Me(I()))});var oh=(r=>(r.ON_NEW_RECORD="ON_NEW_RECORD",r.ON_UPDATE_RECORD="ON_UPDATE_RECORD",r))(oh||{}),sh=(r=>(r.ENABLED="ENABLED",r.DISABLED="DISABLED",r))(sh||{}),su=(n=>(n.RECORD_CREATED="RECORD_CREATED",n.RECORD_UPDATED="RECORD_UPDATED",n.RECORD_DELETED="RECORD_DELETED",n))(su||{});var X0=tt([$({...Ur,name:I(),externalId:I(),type:Ce("STATIC_DROPDOWN"),tableId:I(),projectId:I(),data:$({options:Me($({value:I()}))})}),$({...Ur,name:I(),externalId:I(),type:tt([Ce("TEXT"),Ce("NUMBER"),Ce("DATE"),Ce("DATETIME")]),tableId:I(),projectId:I()})]),J0=$({...Ur,name:I(),folderId:Lt(I()),projectId:I(),externalId:I(),status:Jc(sh),trigger:Jc(oh)}),eb=$({...Ur,tableId:I(),projectId:I(),cells:Ke(I(),$({updated:I(),created:I(),value:Ve(),fieldName:I()}))}),tb=$({events:Me(Oe(su)),webhookUrl:I(),flowId:I()}),rb=$({fields:Me($({id:I(),name:I()})),rows:Me(Ke(I(),I())),name:I()}),nb=$({projectId:I(),limit:V(To.number()),cursor:V(I()),name:V(I()),externalIds:ra(I()),folderId:V(I()),folderIds:ra(I())}),ib=$({records:Me(Me($({fieldId:I(),value:ch()}))),tableId:I()}),ob=$({cells:V(Me($({fieldId:I(),value:ch()}))),tableId:I(),agentUpdate:V(ht())}),ah=kn("operator",[ri("eq"),ri("neq"),ri("gt"),ri("gte"),ri("lt"),ri("lte"),ri("co"),ih("exists"),ih("not_exists")]),sb=$({tableId:I(),limit:V(To.number()),cursor:V(I()),filters:ra(ah)});function ch(){return Nn(Rn(t=>t==null?t:String(t)),Po(I()))}c(ch,"coerceToString");function ri(t){return $({fieldId:I(),operator:Ce(t),value:I()})}c(ri,"valueFilter");function ih(t){return $({fieldId:I(),operator:Ce(t)})}c(ih,"existenceFilter");var ab=$({status:V(cr()),body:V(Ve()),headers:V(Ke(I(),I()))}),cb=$({...Ur,deleted:Lt(Dn),ownerId:I(),displayName:I(),platformId:I(),externalId:Lt(I())});var uh=$({name:I(),description:V(I()),type:I(),required:ht()}),ub=$({pieceName:I(),triggerName:I(),input:$({toolName:I(),toolDescription:I(),inputSchema:Me(uh),returnsResponse:ht()})});var lh="^[0-9]+\\.[0-9]+\\.[0-9]+$",oU=new RegExp(lh),fb="^([~^])?[0-9]+\\.[0-9]+\\.[0-9]+$",sU=I().check(Cn(new RegExp(lh))),aU=I().check(Cn(new RegExp(fb))),db=$({packageType:Ce("ARCHIVE"),pieceType:Oe(Ti),pieceName:I(),pieceVersion:I(),archiveId:I(),platformId:I()}),fh=$({packageType:Ce("REGISTRY"),pieceType:Ce("OFFICIAL"),pieceName:I(),pieceVersion:I()}),dh=$({packageType:Ce("REGISTRY"),pieceType:Ce("CUSTOM"),pieceName:I(),pieceVersion:I(),platformId:I()}),cU=tt([fh,dh]),uU=tt([db,fh,dh]);var pb=kn("type",[$({type:Ce("CRON_EXPRESSION"),cronExpression:I(),timezone:I()}),$({type:Ce("INTERVAL"),intervalMs:Ip().check(Ks(6e4))})]),lU=$({...Ur,type:Oe(On),projectId:I(),flowId:I(),triggerName:I(),schedule:Lt(pb),flowVersionId:I(),pieceName:I(),pieceVersion:I(),deleted:Lt(I()),simulate:ht()}),ph=(b=>(b.UNKNOWN="UNKNOWN",b.FLOW_RUN_LOG="FLOW_RUN_LOG",b.FLOW_RUN_LOG_SLICE="FLOW_RUN_LOG_SLICE",b.PACKAGE_ARCHIVE="PACKAGE_ARCHIVE",b.FLOW_STEP_FILE="FLOW_STEP_FILE",b.SAMPLE_DATA="SAMPLE_DATA",b.TRIGGER_PAYLOAD="TRIGGER_PAYLOAD",b.SAMPLE_DATA_INPUT="SAMPLE_DATA_INPUT",b.TRIGGER_EVENT_FILE="TRIGGER_EVENT_FILE",b.PROJECT_RELEASE="PROJECT_RELEASE",b.FLOW_VERSION_BACKUP="FLOW_VERSION_BACKUP",b.PLATFORM_ASSET="PLATFORM_ASSET",b.USER_PROFILE_PICTURE="USER_PROFILE_PICTURE",b.WEBHOOK_PAYLOAD="WEBHOOK_PAYLOAD",b.KNOWLEDGE_BASE="KNOWLEDGE_BASE",b.FLOW_BUNDLE="FLOW_BUNDLE",b))(ph||{}),hh=(r=>(r.NONE="NONE",r.ZSTD="ZSTD",r))(hh||{}),gh=(r=>(r.S3="S3",r.DB="DB",r))(gh||{}),fU=$({...Ur,projectId:Lt(I()),platformId:Lt(I()),type:Oe(ph),compression:Oe(hh),data:V(Ve()),location:Oe(gh),size:Lt(cr()),fileName:Lt(I()),s3Key:Lt(I()),metadata:Lt(Ke(I(),I()))}),mh=(n=>(n.ADMIN="ADMIN",n.MEMBER="MEMBER",n.OPERATOR="OPERATOR",n))(mh||{}),_h=(r=>(r.ACTIVE="ACTIVE",r.INACTIVE="INACTIVE",r))(_h||{}),dU=$({id:I(),email:I(),firstName:I(),status:Oe(_h),externalId:Lt(I()),platformId:Lt(I()),platformRole:Oe(mh),lastName:I(),created:Dn,updated:Dn,lastActiveDate:Lt(Dn),imageUrl:Lt(I())});var cu=$({...lt.shape,...Ze(Ke(I(),Ve()),"OBJECT").shape});var uu=$({...lt.shape,formatProperty:V(I()),...Ze(I(),"RICH_TEXT").shape});var Ah=$({...lt.shape,...Ze(I(),"COLOR").shape});var lu=tt([Rr,dn,uu,ea,hn,Nr,pn,Kc,Co,Zc,gn,No,cu,Oo,Ro,Gc,ko,Ah]),gt={ShortText(t){return{...t,valueSchema:void 0,type:"SHORT_TEXT"}},Checkbox(t){return{...t,valueSchema:void 0,type:"CHECKBOX"}},LongText(t){return{...t,valueSchema:void 0,type:"LONG_TEXT"}},RichText(t){return{...t,valueSchema:void 0,type:"RICH_TEXT"}},MarkDown(t){return{displayName:"Markdown",required:!1,description:t.value,type:"MARKDOWN",valueSchema:void 0,variant:t.variant??"INFO"}},Number(t){return{...t,valueSchema:void 0,type:"NUMBER"}},Json(t){return{...t,valueSchema:void 0,type:"JSON"}},Array(t){return{...t,valueSchema:void 0,type:"ARRAY"}},Object(t){return{...t,valueSchema:void 0,type:"OBJECT"}},Dropdown(t){return{...t,valueSchema:void 0,type:"DROPDOWN"}},StaticDropdown(t){return{...t,valueSchema:void 0,type:"STATIC_DROPDOWN"}},MultiSelectDropdown(t){return{...t,valueSchema:void 0,type:"MULTI_SELECT_DROPDOWN"}},DynamicProperties(t){return{...t,valueSchema:void 0,type:"DYNAMIC"}},StaticMultiSelectDropdown(t){return{...t,valueSchema:void 0,type:"STATIC_MULTI_SELECT_DROPDOWN"}},DateTime(t){return{...t,valueSchema:void 0,type:"DATE_TIME"}},DateRange(t){return{...t,valueSchema:void 0,type:"DATE_RANGE"}},File(t){return{...t,valueSchema:void 0,type:"FILE"}},Custom(t){let e=t.code.toString();return{...t,code:e,valueSchema:void 0,type:"CUSTOM"}},Color(t){return{...t,valueSchema:void 0,type:"COLOR"}}};var en=$({displayName:I(),description:V(I()),hasConnectionIdentifier:V(ht())});var bh=$({username:I(),password:I()}),fu=$({...en.shape,username:$({displayName:I(),description:V(I())}),password:$({displayName:I(),description:V(I())}),...Ze(bh,"BASIC_AUTH").shape});var _b=Ke(I(),tt([Rr,dn,gn,hn,Nr])),du=$({...en.shape,props:_b,...Ze(Ve(),"CUSTOM_AUTH").shape});var ni=$({...en.shape,...Ze($({auth:I()}),"SECRET_TEXT").shape});var yb=Ke(I(),tt([Rr,dn,ni,gn,hn,Nr,pn,ea])),xh=$({...en.shape,props:yb,...Ze(Ve(),"OIDC").shape});var pu=(r=>(r.HEADER="HEADER",r.BODY="BODY",r))(pu||{}),Ih=tt([Rr,ni,Nr]),vh=Ke(I(),Ih),Eb=$({props:V(Ke(I(),Ih)),authUrl:I(),tokenUrl:I(),scope:Me(I()),prompt:V(tt([Ce("none"),Ce("consent"),Ce("login"),Ce("omit")])),pkce:V(ht()),pkceMethod:V(tt([Ce("plain"),Ce("S256")])),authorizationMethod:V(Oe(pu)),grantType:V(tt([Oe(Do),Ce(Yc)])),extra:V(Ke(I(),I()))}),Sh=$({access_token:I(),props:V(vh),data:Ke(I(),wo())}),hu=$({...en.shape,...Eb.shape,...Ze(Sh,"OAUTH2").shape});var Ni=tt([fu,du,xh,hu,ni]),zo="Connection",Mo={SecretText(t){return{...t,valueSchema:void 0,type:"SECRET_TEXT"}},OAuth2(t){return{...t,valueSchema:void 0,type:"OAUTH2",displayName:t.displayName||zo}},BasicAuth(t){return{...t,valueSchema:void 0,type:"BASIC_AUTH",displayName:t.displayName||zo,required:!0}},CustomAuth(t){return{...t,valueSchema:void 0,type:"CUSTOM_AUTH",displayName:t.displayName||zo}},OIDC(t){return{...t,valueSchema:void 0,type:"OIDC",displayName:t.displayName||zo}},None(){}};var GL={OAUTH2:"OAUTH2",CLOUD_OAUTH2:"OAUTH2",PLATFORM_OAUTH2:"OAUTH2",BASIC_AUTH:"BASIC_AUTH",CUSTOM_AUTH:"CUSTOM_AUTH",OIDC:"OIDC",SECRET_TEXT:"SECRET_TEXT",NO_AUTH:void 0};var Ab=$({...lt.shape,...Ze(Ve(),"CUSTOM").shape,code:I()});var xb=tt([lu,Ni]),gu=Ke(I(),xb),mz=Ke(I(),lu);var wh=tt([$({strategy:Ce("CRON"),cronExpression:I()}),$({strategy:Ce("NONE")})]),Oi=class{constructor(e,r,n,i,o,s,a,u,l,d,p,g,h,_,A,b,v,w,H,D,J){this.name=e;this.displayName=r;this.description=n;this.requireAuth=i;this.props=o;this.type=s;this.handshakeConfiguration=a;this.onHandshake=u;this.renewConfiguration=l;this.onRenew=d;this.onEnable=p;this.onDisable=g;this.onStart=h;this.run=_;this.test=A;this.sampleData=b;this.testStrategy=v;this.outputSchema=w;this.aiMetadata=H;this.classification=D;this.propertyGroups=J}static{c(this,"ITrigger")}},Ph=c(t=>{switch(t.type){case"WEBHOOK":return new Oi(t.name,t.displayName,t.description,t.requireAuth??!0,t.props,t.type,t.handshakeConfiguration??{strategy:"NONE"},t.onHandshake??(async()=>({status:200})),t.renewConfiguration??{strategy:"NONE"},t.onRenew??(async()=>Promise.resolve()),t.onEnable,t.onDisable,t.onStart??(async()=>Promise.resolve()),t.run,t.test??(()=>Promise.resolve([t.sampleData])),t.sampleData,t.test?"TEST_FUNCTION":"SIMULATION",t.outputSchema,t.aiMetadata,t.classification,t.propertyGroups);case"POLLING":return new Oi(t.name,t.displayName,t.description,t.requireAuth??!0,t.props,t.type,{strategy:"NONE"},async()=>({status:200}),{strategy:"NONE"},(async()=>Promise.resolve()),t.onEnable,t.onDisable,t.onStart??(async()=>Promise.resolve()),t.run,t.test??(()=>Promise.resolve([t.sampleData])),t.sampleData,"TEST_FUNCTION",t.outputSchema,t.aiMetadata,t.classification,t.propertyGroups);case"MANUAL":return new Oi(t.name,t.displayName,t.description,t.requireAuth??!0,t.props,t.type,{strategy:"NONE"},async()=>({status:200}),{strategy:"NONE"},(async()=>Promise.resolve()),t.onEnable,t.onDisable,t.onStart??(async()=>Promise.resolve()),t.run,t.test??(()=>Promise.resolve([t.sampleData])),t.sampleData,"TEST_FUNCTION",t.outputSchema,t.aiMetadata,t.classification,t.propertyGroups);case"APP_WEBHOOK":return new Oi(t.name,t.displayName,t.description,t.requireAuth??!0,t.props,t.type,{strategy:"NONE"},async()=>({status:200}),{strategy:"NONE"},(async()=>Promise.resolve()),t.onEnable,t.onDisable,t.onStart??(async()=>Promise.resolve()),t.run,t.test??(()=>Promise.resolve([t.sampleData])),t.sampleData,rr(t.sampleData)&&rr(t.test)?"SIMULATION":"TEST_FUNCTION",t.outputSchema,t.aiMetadata,t.classification,t.propertyGroups)}},"createTrigger");var Th="2",ia="0.82.0";var mu=class{constructor(e,r,n,i,o,s,a,u,l=ia,d,p="",g){this.displayName=e;this.logoUrl=r;this.authors=n;this.events=i;this.categories=a;this.auth=u;this.minimumSupportedRelease=l;this.maximumSupportedRelease=d;this.description=p;this.deprecated=g;this._actions={};this._triggers={};this.getContextInfo=c(()=>({version:Th}),"getContextInfo");(!vb(l)||Sb(l,ia))&&(this.minimumSupportedRelease=ia),o.forEach(h=>this._actions[h.name]=h),s.forEach(h=>this._triggers[h.name]=h)}static{c(this,"Piece")}metadata(){return{displayName:this.displayName,logoUrl:this.logoUrl,actions:this._actions,triggers:this._triggers,categories:this.categories,description:this.description,authors:this.authors,auth:Ib(this.auth),minimumSupportedRelease:this.minimumSupportedRelease,maximumSupportedRelease:this.maximumSupportedRelease,deprecated:this.deprecated,contextInfo:this.getContextInfo?.()}}getAction(e){return this._actions[e]}getTrigger(e){return this._triggers[e]}actions(){return this._actions}triggers(){return this._triggers}},kh=c(t=>{if(t.auth&&Array.isArray(t.auth)&&!t.auth.every((r,n,i)=>n===i.findIndex(o=>o.type===r.type)))throw new Error("Auth properties must be unique by type");return new mu(t.displayName,t.logoUrl,t.authors??[],t.events,t.actions,t.triggers,t.categories??[],t.auth,t.minimumSupportedRelease,t.maximumSupportedRelease,t.description,t.deprecated)},"createPiece");function Ib(t){if(t!==void 0)return Array.isArray(t)?t.map(Ch):Ch(t)}c(Ib,"withConnectionIdentifierFlag");function Ch(t){return{...t,hasConnectionIdentifier:t.getConnectionIdentifier!==void 0}}c(Ch,"flagConnectionIdentifier");function vb(t){return/^\d+\.\d+\.\d+$/.test(t)}c(vb,"isValidSimpleSemver");function Sb(t,e){let[r,n,i]=t.split(".").map(Number),[o,s,a]=e.split(".").map(Number);return r!==o?r<o:n!==s?n<s:i<a}c(Sb,"isSemverLessThan");var wb=V(Ke(I(),Ke(I(),I()))),Rh=$({id:V(I()),name:I(),displayName:I(),logoUrl:I(),description:I(),authors:Me(I()),platformId:V(I()),directoryPath:V(I()),auth:V(tt([Ni,Me(Ni)])),version:I(),categories:V(Me(Oe(Ci))),minimumSupportedRelease:V(I()),maximumSupportedRelease:V(I()),deprecated:V(ht()),i18n:wb}),Pb=Oe(["human","ai","both"]),Nh=$({description:V(I()),idempotent:V(ht())}),Oh=Oe(["READ","SEARCH","WRITE","DESTRUCTIVE"]);var Tb=Oe(["tabs","section","summary","builder","footer"]),$h=$({key:I(),display:Tb,label:V(I()),description:V(I()),icon:V(I()),props:Me(I())}),Dh=$({name:I(),displayName:I(),description:I(),props:gu,propertyGroups:V(Me($h)),requireAuth:ht(),errorHandlingOptions:V(Vc),outputSchema:V(Xs()),audience:V(Pb),aiMetadata:V(Nh),classification:V(Oh)}),Bh=$({name:I(),displayName:I(),description:I(),props:gu,propertyGroups:V(Me($h)),errorHandlingOptions:V(Vc),type:Oe(On),sampleData:Ve(),handshakeConfiguration:V(Xs()),renewConfiguration:V(wh),testStrategy:Oe(Uo),outputSchema:V(Xs()),aiMetadata:V(Nh),classification:V(Oh)}),Cb=$({...Rh.shape,actions:Ke(I(),Dh),triggers:Ke(I(),Bh)}),kb=$({...Rh.shape,actions:cr(),triggers:cr(),suggestedActions:V(Me(Dh)),suggestedTriggers:V(Me(Bh))}),Uh=$({projectUsage:cr(),pieceType:Oe(Ti),packageType:Oe($o),platformId:V(I()),archiveId:V(I())}),yM=$({...Cb.shape,...Uh.shape}),EM=$({...kb.shape,...Uh.shape}),AM=$({name:I(),version:I()});var Rb=Ar(require("path")),Nb=Ar(require("fs/promises"));var wE=Ar(nn());var vE=Ar(IE()),SE=Ar(nn());async function Bt(t){return rr(t)?"sftp":t}c(Bt,"getProtocolBackwardCompatibility");async function Ht(t){let{protocol:e,host:r,port:n,allow_unauthorized_certificates:i,allow_anonymous_login:o,username:s,password:a,privateKey:u,algorithm:l}=t,d=await Bt(e);if(d==="sftp"){let p=new vE.default;if(u){let g=u.replace(/\\r\\n/g,`
24
24
  `).replace(/\\n/g,`
25
25
  `).replace(/\r\n/g,`
26
26
  `).replace(/\r/g,`
@@ -30,8 +30,8 @@ ${r}`}};var bv=2**32,Tm=(()=>{try{return new Function("return 2n ** 32n")()}catc
30
30
  `).replace(/(DEK-Info:\s*\S+)\s+/,`$1
31
31
 
32
32
  `).replace(/\s+(-----END [A-Z0-9 ]+ KEY-----)/,`
33
- $1`);let _=g.match(/(-----BEGIN [A-Z0-9 ]+ KEY-----\n(?:Proc-Type:[^\n]+\n)?(?:DEK-Info:[^\n]+\n\n)?)/),A=g.match(/(\n-----END [A-Z0-9 ]+ KEY-----)/);if(_&&A){let b=_[1],I=A[1],H=g.replace(b,"").replace(I,"").replace(/\s+/g,"").match(/.{1,64}/g)||[];g=b+H.join(`
34
- `)+I}}let h={host:r,port:n,username:s,privateKey:g,timeout:1e4};a&&(h.passphrase=a),l&&l.length>0&&(h.algorithms={serverHostKey:l}),await p.connect(h)}else a&&await p.connect({host:r,port:n,username:s,password:a,timeout:1e4});return p}else{let p=new _E.Client;return await p.access({host:r,port:n,user:s,password:a,secure:d==="ftps",secureOptions:{rejectUnauthorized:!(i??!1)}}),p}}c(Ft,"getClient");async function Zt(t,e){await Dt(e)==="sftp"?await t.end():t.close()}c(Zt,"endClient");var nr=Mo.CustomAuth({props:{protocol:pt.StaticDropdown({displayName:"Protocol",description:"The protocol to use",required:!1,options:{options:[{value:"sftp",label:"SFTP"},{value:"ftp",label:"FTP"},{value:"ftps",label:"FTPS"}]}}),allow_unauthorized_certificates:pt.Checkbox({displayName:"Allow Unauthorized Certificates",description:"Allow connections to servers with self-signed certificates",defaultValue:!1,required:!1}),allow_anonymous_login:pt.Checkbox({displayName:"Allow Anonymous Login",description:"Allow anonymous login to FTP servers (only applicable for FTP/FTPS)",defaultValue:!1,required:!1}),host:pt.ShortText({displayName:"Host",description:"The host of the server",required:!0}),port:pt.Number({displayName:"Port",description:"The port of the server",required:!0,defaultValue:22}),username:pt.ShortText({displayName:"Username",description:"The username to authenticate with",required:!0}),password:Mo.SecretText({displayName:"Password",description:"The password to authenticate with. Either this or private key is required. When using a private key, this field is used as the passphrase to decrypt the key.",required:!1}),privateKey:Mo.SecretText({displayName:"Private Key",description:"The private key to authenticate with. Either this or password is required.",required:!1}),algorithm:pt.StaticMultiSelectDropdown({displayName:"Host Key Algorithm",description:"The host key algorithm to use for SFTP connection. Only needed if you want to override the default algorithms (e.g., to support ssh-dss).",required:!1,options:{options:[{value:"ssh-rsa",label:"ssh-rsa"},{value:"ssh-dss",label:"ssh-dss"},{value:"ecdsa-sha2-nistp256",label:"ecdsa-sha2-nistp256"},{value:"ecdsa-sha2-nistp384",label:"ecdsa-sha2-nistp384"},{value:"ecdsa-sha2-nistp521",label:"ecdsa-sha2-nistp521"},{value:"ssh-ed25519",label:"ssh-ed25519"},{value:"rsa-sha2-256",label:"rsa-sha2-256"},{value:"rsa-sha2-512",label:"rsa-sha2-512"}]}})},validate:c(async({auth:t})=>{let e=null,r=await Dt(t.protocol);try{if(!t.privateKey&&!t.password&&!t.allow_anonymous_login)return{valid:!1,error:"Either password or private key must be provided for non-anonymous authentication."};switch(r){case"sftp":{if(t.allow_anonymous_login)return{valid:!1,error:"Anonymous login is not supported for SFTP protocol."};e=await Ft(t);break}default:{e=await Ft(t);break}}return{valid:!0}}catch(n){return{valid:!1,error:n?.message}}finally{e&&await Zt(e,t.protocol)}},"validate"),required:!0});var EE=require("stream");var x1={0:{error:"OK",description:"Indicates successful completion of the operation."},1:{error:"EOF",description:"An attempt to read past the end-of-file was made; or, there are no more directory entries to return."},2:{error:"No such file",description:"A reference was made to a file which does not exist."},3:{error:"Permission denied",description:"The user does not have sufficient permissions to perform the operation."},4:{error:"Failure",description:"An error occurred, but no specific error code exists to describe the failure. This error message should always have meaningful text in the error message field."},5:{error:"Bad message",description:"A badly formatted packet or other SFTP protocol incompatibility was detected."},6:{error:"No connection",description:"There is no connection to the server. This error may be used locally, but must not be returned by a server."},7:{error:"Connection lost",description:"The connection to the server was lost. This error may be used locally, but must not be returned by a server."},8:{error:"Operation unsupported",description:"An attempted operation could not be completed by the server because the server does not support the operation."},9:{error:"Invalid handle",description:"The handle value was invalid."},10:{error:"No such path",description:"The file path does not exist or is invalid."},11:{error:"File already exists",description:"The file already exists."},12:{error:"Write protect",description:"The file is on read-only media, or the media is write protected."},13:{error:"No media",description:"The requested operation cannot be completed because there is no media available in the drive."},14:{error:"No space on file-system",description:"The requested operation cannot be completed because there is insufficient free space on the filesystem."},15:{error:"Quota exceeded",description:"The operation cannot be completed because it would exceed the user\u2019s storage quota."},16:{error:"Unknown principal",description:"A principal referenced by the request (either the owner, group, or who field of an ACL), was unknown."},17:{error:"Lock conflict",description:"The file could not be opened because it is locked by another process."},18:{error:"Directory not empty",description:"The directory is not empty."},19:{error:"Not a directory",description:"The specified file is not a directory."},20:{error:"Invalid filename",description:"The filename is not valid."},21:{error:"Link loop",description:"Too many symbolic links encountered or an SSH_FXF_NOFOLLOW encountered a symbolic link as the final component."},22:{error:"Cannot delete",description:"The file cannot be deleted. One possible reason is that the advisory read-only attribute-bit is set."},23:{error:"Invalid parameter",description:"One of the parameters was out of range or the parameters specified cannot be used together."},24:{error:"File is a directory",description:"The specified file was a directory in a context where a directory cannot be used."},25:{error:"Range lock conflict",description:"A read or write operation failed because another process\u2019s mandatory byte-range lock overlaps with the request."},26:{error:"Range lock refused",description:"A request for a byte range lock was refused."},27:{error:"Delete pending",description:"An operation was attempted on a file for which a delete operation is pending."},28:{error:"File corrupt",description:"The file is corrupt; a filesystem integrity check should be run."},29:{error:"Owner invalid",description:"The principal specified cannot be assigned as an owner of a file."},30:{error:"Group invalid",description:"The principal specified cannot be assigned as the primary group of a file."},31:{error:"No matching byte range lock",description:"The requested operation could not be completed because the specified byte range lock has not been granted."}};function Bt(t){return x1[t]??{error:"Unknown error code"}}c(Bt,"getSftpError");async function I1(t,e,r){if(!await t.exists(e)){let i=e.substring(0,e.lastIndexOf("/"));await t.mkdir(i,!0)}await t.put(Buffer.from(r),e)}c(I1,"createFileWithSFTP");async function v1(t,e,r){let n=e.substring(0,e.lastIndexOf("/"));await t.ensureDir(n);let i=Buffer.from(r);await t.uploadFrom(EE.Readable.from(i),e)}c(v1,"createFileWithFTP");var AE=gr({audience:"both",auth:nr,name:"create_file",displayName:"Create File from Text",description:"Create a new file in the given path",aiMetadata:{description:"Writes a text string to a file at a given path on the connected FTP, FTPS or SFTP server, creating missing parent directories and overwriting any existing file at that path. Choose this when the content is plain text you already hold as a string; prefer Upload File when the content is a binary or file object produced by an earlier step. Requires the full remote path (e.g. ./myfolder/notes.txt); idempotent, since the same path and content always converge on the same stored file, but note it clobbers whatever was there before.",idempotent:!0},props:{fileName:pt.ShortText({displayName:"File Path",required:!0}),fileContent:pt.LongText({displayName:"File content",required:!0})},async run(t){let e=t.propsValue.fileName,r=t.propsValue.fileContent,n=await Dt(t.auth.props.protocol),i=await Ft(t.auth.props);try{switch(n){case"ftps":case"ftp":await v1(i,e,r);break;default:case"sftp":await I1(i,e,r);break}return{status:"success"}}catch(o){return o instanceof yE.FTPError?(console.error(Bt(o.code)),{status:"error",error:Bt(o.code)}):{status:"error",error:o}}finally{await Zt(i,t.auth.props.protocol)}}});var bE=Er(nn());var xE=require("stream");async function S1(t,e,r){let n=e.substring(0,e.lastIndexOf("/"));await t.ensureDir(n),await t.uploadFrom(xE.Readable.from(r.data),e)}c(S1,"uploadFileToFTP");async function w1(t,e,r){if(!await t.exists(e)){let i=e.substring(0,e.lastIndexOf("/"));await t.mkdir(i,!0)}await t.put(r.data,e),await t.end()}c(w1,"uploadFileToSFTP");var IE=gr({audience:"both",auth:nr,name:"upload_file",displayName:"Upload File",description:"Upload a file to the given path.",aiMetadata:{description:"Uploads a file object, typically one produced by an earlier step, to a given path on the connected FTP, FTPS or SFTP server, creating missing parent directories and overwriting any existing file at that path. Use this instead of Create File from Text whenever you have an actual file rather than a string of text. Requires both the file and the destination remote path (e.g. ./myfolder/test.mp3); idempotent, as repeating the upload converges on the same stored file.",idempotent:!0},props:{fileName:pt.ShortText({displayName:"File Path",required:!0,description:"The path on the sftp server to store the file. e.g. `./myfolder/test.mp3`"}),fileContent:pt.File({displayName:"File content",required:!0})},async run(t){let e=await Ft(t.auth.props),r=t.propsValue.fileName,n=t.propsValue.fileContent,i=await Dt(t.auth.props.protocol);try{switch(i){case"ftps":case"ftp":await S1(e,r,n);break;default:case"sftp":await w1(e,r,n);break}return{status:"success"}}catch(o){return o instanceof bE.FTPError?(console.error(Bt(o.code)),{status:"error",content:null,error:Bt(o.code)}):{status:"error",content:null,error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var vE=Er(nn()),SE=require("stream");async function P1(t,e){let r=[],n=new SE.Writable({write(i,o,s){r.push(i),s()}});return await t.downloadTo(n,e),Buffer.concat(r)}c(P1,"readFTP");async function T1(t,e){let r=await t.get(e);return await t.end(),r}c(T1,"readSFTP");var wE=gr({audience:"both",auth:nr,name:"read_file_content",displayName:"Read File Content",description:"Read the content of a file.",aiMetadata:{description:"Downloads one file from the connected FTP, FTPS or SFTP server by remote path and returns it as a file reference that later steps can consume. Use it to fetch the content of a file whose path you know; run List Folder Contents first when you still need to discover which paths exist. Requires an exact remote file path - it does not glob, search or recurse; read-only and idempotent.",idempotent:!0},props:{filePath:pt.ShortText({displayName:"File Path",required:!0})},async run(t){let e=await Ft(t.auth.props),r=t.propsValue.filePath,n=r.split("/").pop()??r,i=await Dt(t.auth.props.protocol);try{let o;switch(i){case"ftps":case"ftp":o=await P1(e,r);break;default:case"sftp":o=await T1(e,r);break}return{file:await t.files.write({fileName:n,data:o})}}catch(o){return o instanceof vE.FTPError?(console.error(Bt(o.code)),{status:"error",content:null,error:Bt(o.code)}):{status:"error",content:null,error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var Ds={async poll(t,{store:e,auth:r,propsValue:n,maxItemsToPoll:i,files:o,server:s}){switch(t.strategy){case 0:{let a=await e.get("lastPoll");if(ar(a))throw new Error("lastPoll doesn't exist in the store.");let u=await t.items({store:e,auth:r,propsValue:n,lastFetchEpochMS:a,server:s}),l=u.reduce((d,p)=>Math.max(d,p.epochMilliSeconds),a);return await e.put("lastPoll",l),u.filter(d=>d.epochMilliSeconds>a).map(d=>d.data)}case 1:{let a=await e.get("lastItem"),u=await t.items({store:e,auth:r,propsValue:n,lastItemId:a,files:o,server:s}),l=u.findIndex(g=>g.id===a),d=[];ar(a)||l==-1?d=u??[]:d=u?.slice(0,l)??[],ar(i)||(d=d.slice(-i));let p=d?.[0]?.id;return ar(p)||await e.put("lastItem",p),d.map(g=>g.data)}}},async onEnable(t,{store:e,auth:r,propsValue:n,server:i}){switch(t.strategy){case 0:{await e.put("lastPoll",Date.now());break}case 1:{let s=(await t.items({store:e,auth:r,propsValue:n,lastItemId:null,server:i}))?.[0]?.id;ar(s)?await e.delete("lastItem"):await e.put("lastItem",s);break}}},async onDisable(t,e){switch(t.strategy){case 0:case 1:return}},async test(t,{auth:e,propsValue:r,store:n,files:i,server:o}){let s=[];switch(t.strategy){case 0:{s=await t.items({store:n,auth:e,propsValue:r,lastFetchEpochMS:0,server:o});break}case 1:{s=await t.items({store:n,auth:e,propsValue:r,lastItemId:null,files:i,server:o});break}}return k1(s.map(a=>a.data))}};function k1(t){return t.length<=5?t:t.slice(0,5)}c(k1,"getFirstFiveOrAll");var Tc=Er(PE());function TE(t,e){return e==="sftp"?t.modifyTime:(0,Tc.default)(t.modifiedAt).valueOf()}c(TE,"getModifyTime");var Pc={strategy:0,items:c(async({auth:t,propsValue:e,lastFetchEpochMS:r})=>{let n=null;try{let i=await Dt(t.props.protocol);n=await Ft(t.props);let s=(await n.list(e.path)).filter(u=>{let l=TE(u,i);return(0,Tc.default)(l).valueOf()>r});return(e.ignoreHiddenFiles?s.filter(u=>!u.name.startsWith(".")):s).map(u=>{let l=TE(u,i);return{data:{...u,path:`${e.path}/${u.name}`},epochMilliSeconds:(0,Tc.default)(l).valueOf()}})}catch{return[]}finally{n&&await Zt(n,t.props.protocol)}},"items")},kE=xh({auth:nr,name:"new_file",displayName:"New File",description:"Trigger when a new file is created or modified.",aiMetadata:{description:"Fires for each file in a watched directory on an FTP, FTPS or SFTP server whose modification time is newer than the previous poll, so it covers both newly added files and edits to existing ones. Each event represents one such file. Polls a single directory only, without recursing into subfolders, and can optionally skip hidden dotfiles."},props:{path:pt.ShortText({displayName:"Path",description:"The path to watch for new files",required:!0,defaultValue:"./"}),ignoreHiddenFiles:pt.Checkbox({displayName:"Ignore hidden files",description:"Ignore hidden files",required:!1,defaultValue:!1})},type:"POLLING",onEnable:c(async t=>{await Ds.onEnable(Pc,t)},"onEnable"),onDisable:c(async t=>{await Ds.onDisable(Pc,t)},"onDisable"),run:c(async t=>await Ds.poll(Pc,t),"run"),test:c(async t=>await Ds.test(Pc,t),"test"),sampleData:null});var CE=Er(nn());async function C1(t,e,r){r?await t.removeDir(e):await t.removeEmptyDir(e)}c(C1,"deleteFolderFTP");async function R1(t,e,r){await t.rmdir(e,r)}c(R1,"deleteFolderSFTP");var RE=gr({audience:"both",auth:nr,name:"deleteFolder",displayName:"Delete Folder",description:"Deletes an existing folder at given path.",aiMetadata:{description:"Deletes a directory at a given remote path on the connected FTP, FTPS or SFTP server, either only when it is empty or, with the recursive option enabled, together with every nested subfolder and file. Use this for directories; use Delete File to remove a single file. Recursive deletion is permanent and unrecoverable, so verify the path first; idempotent in that it converges on the folder being absent, and a repeat call on an already-missing path just reports an error.",idempotent:!0},props:{folderPath:pt.ShortText({displayName:"Folder Path",required:!0,description:"The path of the folder to delete e.g. `./myfolder`"}),recursive:pt.Checkbox({displayName:"Recursive",defaultValue:!1,required:!1,description:"Enable this option to delete the folder and all its contents, including subfolders and files."})},async run(t){let e=await Ft(t.auth.props),r=t.propsValue.folderPath,n=t.propsValue.recursive??!1,i=await Dt(t.auth.props.protocol);try{switch(i){case"ftps":case"ftp":await C1(e,r,n);break;default:case"sftp":await R1(e,r,n);break}return{status:"success"}}catch(o){return o instanceof CE.FTPError?(console.error(Bt(o.code)),{status:"error",error:Bt(o.code)}):{status:"error",error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var NE=Er(nn());async function N1(t,e){await t.remove(e)}c(N1,"deleteFileFromFTP");async function O1(t,e){await t.delete(e)}c(O1,"deleteFileFromSFTP");var OE=gr({audience:"both",auth:nr,name:"deleteFile",displayName:"Delete file",description:"Deletes a file at given path.",aiMetadata:{description:"Permanently deletes a single file at a given remote path on the connected FTP, FTPS or SFTP server. Use this for one file; use Delete Folder to remove a directory, optionally with all of its contents. Requires the exact remote path (e.g. ./myfolder/test.mp3) and there is no recycle bin or undo; idempotent in that it converges on the file being absent, though a repeat call on an already-missing path reports an error.",idempotent:!0},props:{filePath:pt.ShortText({displayName:"File Path",required:!0,description:"The path of the file to delete e.g. `./myfolder/test.mp3`"})},async run(t){let e=await Ft(t.auth.props),r=t.propsValue.filePath,n=await Dt(t.auth.props.protocol);try{switch(n){case"ftps":case"ftp":await N1(e,r);break;default:case"sftp":await O1(e,r);break}return{status:"success"}}catch(i){return i instanceof NE.FTPError?(console.error(Bt(i.code)),{status:"error",error:Bt(i.code)}):{status:"error",error:i}}finally{await Zt(e,t.auth.props.protocol)}}});var $E=Er(nn());async function $1(t,e){let r=await t.list(e);return await t.end(),r}c($1,"listSFTP");async function D1(t,e){return(await t.list(e)).map(n=>({type:n.type===1?"d":"-",name:n.name,size:n.size,modifyTime:n.modifiedAt,accessTime:n.modifiedAt,rights:{user:n.permissions||"",group:"",other:""},owner:"",group:""}))}c(D1,"listFTP");var DE=gr({audience:"both",auth:nr,name:"listFolderContents",displayName:"List Folder Contents",description:"Lists the contents of a given folder.",aiMetadata:{description:"Lists the immediate entries of one directory on the connected FTP, FTPS or SFTP server. Use it to discover paths before reading, renaming or deleting, and to walk a tree one level at a time; it is not recursive and offers no filtering or search. Requires the directory path (e.g. ./myfolder); read-only and idempotent.",idempotent:!0},props:{directoryPath:pt.ShortText({displayName:"Directory Path",required:!0,description:"The path of the folder to list e.g. `./myfolder`"})},async run(t){let e=await Ft(t.auth.props),r=t.propsValue.directoryPath,n=await Dt(t.auth.props.protocol);try{let i;switch(n){case"ftps":case"ftp":i=await D1(e,r);break;default:case"sftp":i=await $1(e,r);break}return{status:"success",contents:i}}catch(i){return i instanceof $E.FTPError?(console.error(Bt(i.code)),{status:"error",content:null,error:Bt(i.code)}):{status:"error",content:null,error:i}}finally{await Zt(e,t.auth.props.protocol)}}});var BE=Er(nn());var UE=gr({audience:"both",auth:nr,name:"createFolder",displayName:"Create Folder",description:"Creates a folder at given path.",aiMetadata:{description:"Creates a directory at a given remote path on the connected FTP, FTPS or SFTP server; on SFTP an optional recursive mode also creates any missing parent directories, while FTP/FTPS always ensures the whole path. Use it to prepare a destination directory, for example before a rename or move, noting that Create File from Text and Upload File already create parent directories themselves. Requires the folder path (e.g. ./myfolder); idempotent because it converges on that directory existing.",idempotent:!0},props:{folderPath:pt.ShortText({displayName:"Folder Path",required:!0,description:"The new folder path e.g. `./myfolder`. For FTP/FTPS, it will create nested folders if necessary."}),recursive:pt.Checkbox({displayName:"Recursive",defaultValue:!1,required:!1,description:"For SFTP only: Create parent directories if they do not exist"})},async run(t){let e=await Ft(t.auth.props),r=t.propsValue.folderPath,n=t.propsValue.recursive??!1,i=await Dt(t.auth.props.protocol);try{switch(i){case"ftps":case"ftp":await e.ensureDir(r);break;default:case"sftp":await e.mkdir(r,n);break}return{status:"success"}}catch(o){return o instanceof BE.FTPError?(console.error(Bt(o.code)),{status:"error",error:Bt(o.code)}):{status:"error",error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var LE=Er(nn());async function B1(t,e,r){await t.rename(e,r)}c(B1,"renameFTP");async function U1(t,e,r){await t.rename(e,r),await t.end()}c(U1,"renameSFTP");var zE=gr({audience:"both",auth:nr,name:"renameFileOrFolder",displayName:"Rename File or Folder",description:"Renames a file or folder at given path.",aiMetadata:{description:"Moves a file or folder on the connected FTP, FTPS or SFTP server from an old remote path to a new one, which covers both renaming in place and, on most servers, relocating the entry into a different directory. Prefer it over reading and re-uploading content, and over a delete-then-create pair, when the bytes do not change. The parent directory of the new path must already exist, so create it with Create Folder first; idempotent in that the entry ends up at the new path, though a repeat call errors because the old path is gone.",idempotent:!0},props:{information:pt.MarkDown({value:"Depending on the server you can also use this to move a file to another directory, as long as the directory exists.",variant:"INFO"}),oldPath:pt.ShortText({displayName:"Old Path",required:!0,description:"The path of the file or folder to rename e.g. `./myfolder/test.mp3`"}),newPath:pt.ShortText({displayName:"New Path",required:!0,description:"The new path of the file or folder e.g. `./myfolder/new-name.mp3`"})},async run(t){let e=await Ft(t.auth.props),r=t.propsValue.oldPath,n=t.propsValue.newPath,i=await Dt(t.auth.props.protocol);try{switch(i){case"ftps":case"ftp":await B1(e,r,n);break;default:case"sftp":await U1(e,r,n);break}return{status:"success"}}catch(o){return o instanceof LE.FTPError?(console.error(Bt(o.code)),{status:"error",content:null,error:Bt(o.code)}):{status:"error",content:null,error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var L1=vh({displayName:"FTP/SFTP",description:"Connect to FTP, FTPS or SFTP servers",minimumSupportedRelease:"0.30.0",logoUrl:"https://cdn.activepieces.com/pieces/new-core/sftp.svg",categories:["CORE","DEVELOPER_TOOLS"],authors:["Abdallah-Alwarawreh","kishanprmr","AbdulTheActivePiecer","khaledmashaly","abuaboud","prasanna2000-max"],auth:nr,actions:[AE,IE,wE,OE,UE,RE,DE,zE],triggers:[kE]});0&&(module.exports={endClient,ftpSftp,getClient,getProtocolBackwardCompatibility});
33
+ $1`);let _=g.match(/(-----BEGIN [A-Z0-9 ]+ KEY-----\n(?:Proc-Type:[^\n]+\n)?(?:DEK-Info:[^\n]+\n\n)?)/),A=g.match(/(\n-----END [A-Z0-9 ]+ KEY-----)/);if(_&&A){let b=_[1],v=A[1],H=g.replace(b,"").replace(v,"").replace(/\s+/g,"").match(/.{1,64}/g)||[];g=b+H.join(`
34
+ `)+v}}let h={host:r,port:n,username:s,privateKey:g,timeout:1e4};a&&(h.passphrase=a),l&&l.length>0&&(h.algorithms={serverHostKey:l}),await p.connect(h)}else a&&await p.connect({host:r,port:n,username:s,password:a,timeout:1e4});return p}else{let p=new SE.Client;return await p.access({host:r,port:n,user:s,password:a,secure:d==="ftps",secureOptions:{rejectUnauthorized:!(i??!1)}}),p}}c(Ht,"getClient");async function Zt(t,e){await Bt(e)==="sftp"?await t.end():t.close()}c(Zt,"endClient");var ir=Mo.CustomAuth({props:{protocol:gt.StaticDropdown({displayName:"Protocol",description:"The protocol to use",required:!1,options:{options:[{value:"sftp",label:"SFTP"},{value:"ftp",label:"FTP"},{value:"ftps",label:"FTPS"}]}}),allow_unauthorized_certificates:gt.Checkbox({displayName:"Allow Unauthorized Certificates",description:"Allow connections to servers with self-signed certificates",defaultValue:!1,required:!1}),allow_anonymous_login:gt.Checkbox({displayName:"Allow Anonymous Login",description:"Allow anonymous login to FTP servers (only applicable for FTP/FTPS)",defaultValue:!1,required:!1}),host:gt.ShortText({displayName:"Host",description:"The host of the server",required:!0}),port:gt.Number({displayName:"Port",description:"The port of the server",required:!0,defaultValue:22}),username:gt.ShortText({displayName:"Username",description:"The username to authenticate with",required:!0}),password:Mo.SecretText({displayName:"Password",description:"The password to authenticate with. Either this or private key is required. When using a private key, this field is used as the passphrase to decrypt the key.",required:!1}),privateKey:Mo.SecretText({displayName:"Private Key",description:"The private key to authenticate with. Either this or password is required.",required:!1}),algorithm:gt.StaticMultiSelectDropdown({displayName:"Host Key Algorithm",description:"The host key algorithm to use for SFTP connection. Only needed if you want to override the default algorithms (e.g., to support ssh-dss).",required:!1,options:{options:[{value:"ssh-rsa",label:"ssh-rsa"},{value:"ssh-dss",label:"ssh-dss"},{value:"ecdsa-sha2-nistp256",label:"ecdsa-sha2-nistp256"},{value:"ecdsa-sha2-nistp384",label:"ecdsa-sha2-nistp384"},{value:"ecdsa-sha2-nistp521",label:"ecdsa-sha2-nistp521"},{value:"ssh-ed25519",label:"ssh-ed25519"},{value:"rsa-sha2-256",label:"rsa-sha2-256"},{value:"rsa-sha2-512",label:"rsa-sha2-512"}]}})},validate:c(async({auth:t})=>{let e=null,r=await Bt(t.protocol);try{if(!t.privateKey&&!t.password&&!t.allow_anonymous_login)return{valid:!1,error:"Either password or private key must be provided for non-anonymous authentication."};switch(r){case"sftp":{if(t.allow_anonymous_login)return{valid:!1,error:"Anonymous login is not supported for SFTP protocol."};e=await Ht(t);break}default:{e=await Ht(t);break}}return{valid:!0}}catch(n){return{valid:!1,error:n?.message}}finally{e&&await Zt(e,t.protocol)}},"validate"),required:!0});var PE=require("stream");var R1={0:{error:"OK",description:"Indicates successful completion of the operation."},1:{error:"EOF",description:"An attempt to read past the end-of-file was made; or, there are no more directory entries to return."},2:{error:"No such file",description:"A reference was made to a file which does not exist."},3:{error:"Permission denied",description:"The user does not have sufficient permissions to perform the operation."},4:{error:"Failure",description:"An error occurred, but no specific error code exists to describe the failure. This error message should always have meaningful text in the error message field."},5:{error:"Bad message",description:"A badly formatted packet or other SFTP protocol incompatibility was detected."},6:{error:"No connection",description:"There is no connection to the server. This error may be used locally, but must not be returned by a server."},7:{error:"Connection lost",description:"The connection to the server was lost. This error may be used locally, but must not be returned by a server."},8:{error:"Operation unsupported",description:"An attempted operation could not be completed by the server because the server does not support the operation."},9:{error:"Invalid handle",description:"The handle value was invalid."},10:{error:"No such path",description:"The file path does not exist or is invalid."},11:{error:"File already exists",description:"The file already exists."},12:{error:"Write protect",description:"The file is on read-only media, or the media is write protected."},13:{error:"No media",description:"The requested operation cannot be completed because there is no media available in the drive."},14:{error:"No space on file-system",description:"The requested operation cannot be completed because there is insufficient free space on the filesystem."},15:{error:"Quota exceeded",description:"The operation cannot be completed because it would exceed the user\u2019s storage quota."},16:{error:"Unknown principal",description:"A principal referenced by the request (either the owner, group, or who field of an ACL), was unknown."},17:{error:"Lock conflict",description:"The file could not be opened because it is locked by another process."},18:{error:"Directory not empty",description:"The directory is not empty."},19:{error:"Not a directory",description:"The specified file is not a directory."},20:{error:"Invalid filename",description:"The filename is not valid."},21:{error:"Link loop",description:"Too many symbolic links encountered or an SSH_FXF_NOFOLLOW encountered a symbolic link as the final component."},22:{error:"Cannot delete",description:"The file cannot be deleted. One possible reason is that the advisory read-only attribute-bit is set."},23:{error:"Invalid parameter",description:"One of the parameters was out of range or the parameters specified cannot be used together."},24:{error:"File is a directory",description:"The specified file was a directory in a context where a directory cannot be used."},25:{error:"Range lock conflict",description:"A read or write operation failed because another process\u2019s mandatory byte-range lock overlaps with the request."},26:{error:"Range lock refused",description:"A request for a byte range lock was refused."},27:{error:"Delete pending",description:"An operation was attempted on a file for which a delete operation is pending."},28:{error:"File corrupt",description:"The file is corrupt; a filesystem integrity check should be run."},29:{error:"Owner invalid",description:"The principal specified cannot be assigned as an owner of a file."},30:{error:"Group invalid",description:"The principal specified cannot be assigned as the primary group of a file."},31:{error:"No matching byte range lock",description:"The requested operation could not be completed because the specified byte range lock has not been granted."}};function Ut(t){return R1[t]??{error:"Unknown error code"}}c(Ut,"getSftpError");async function N1(t,e,r){if(!await t.exists(e)){let i=e.substring(0,e.lastIndexOf("/"));await t.mkdir(i,!0)}await t.put(Buffer.from(r),e)}c(N1,"createFileWithSFTP");async function O1(t,e,r){let n=e.substring(0,e.lastIndexOf("/"));await t.ensureDir(n);let i=Buffer.from(r);await t.uploadFrom(PE.Readable.from(i),e)}c(O1,"createFileWithFTP");var TE=mr({audience:"both",auth:ir,name:"create_file",classification:"WRITE",displayName:"Create File from Text",description:"Create a new file in the given path",aiMetadata:{description:"Writes a text string to a file at a given path on the connected FTP, FTPS or SFTP server, creating missing parent directories and overwriting any existing file at that path. Choose this when the content is plain text you already hold as a string; prefer Upload File when the content is a binary or file object produced by an earlier step. Requires the full remote path (e.g. ./myfolder/notes.txt); idempotent, since the same path and content always converge on the same stored file, but note it clobbers whatever was there before.",idempotent:!0},props:{fileName:gt.ShortText({displayName:"File Path",required:!0}),fileContent:gt.LongText({displayName:"File content",required:!0})},async run(t){let e=t.propsValue.fileName,r=t.propsValue.fileContent,n=await Bt(t.auth.props.protocol),i=await Ht(t.auth.props);try{switch(n){case"ftps":case"ftp":await O1(i,e,r);break;default:case"sftp":await N1(i,e,r);break}return{status:"success"}}catch(o){return o instanceof wE.FTPError?(console.error(Ut(o.code)),{status:"error",error:Ut(o.code)}):{status:"error",error:o}}finally{await Zt(i,t.auth.props.protocol)}}});var CE=Ar(nn());async function $1(t,e,r){let n=e.substring(0,e.lastIndexOf("/"));await t.ensureDir(n),await t.uploadFrom(r,e)}c($1,"uploadFileToFTP");async function D1(t,e,r){if(!await t.exists(e)){let i=e.substring(0,e.lastIndexOf("/"));await t.mkdir(i,!0)}await t.put(r,e),await t.end()}c(D1,"uploadFileToSFTP");var kE=mr({audience:"both",auth:ir,name:"upload_file",classification:"WRITE",displayName:"Upload File",description:"Upload a file to the given path.",aiMetadata:{description:"Uploads a file object, typically one produced by an earlier step, to a given path on the connected FTP, FTPS or SFTP server, creating missing parent directories and overwriting any existing file at that path. Use this instead of Create File from Text whenever you have an actual file rather than a string of text. Requires both the file and the destination remote path (e.g. ./myfolder/test.mp3); idempotent, as repeating the upload converges on the same stored file.",idempotent:!0},props:{fileName:gt.ShortText({displayName:"File Path",required:!0,description:"The path on the sftp server to store the file. e.g. `./myfolder/test.mp3`"}),fileContent:gt.File({displayName:"File content",required:!0,streaming:!0})},async run(t){let e=await Ht(t.auth.props),r=t.propsValue.fileName,n=t.propsValue.fileContent,i=await Bt(t.auth.props.protocol);try{switch(i){case"ftps":case"ftp":await $1(e,r,n.body);break;default:case"sftp":await D1(e,r,n.body);break}return{status:"success"}}catch(o){return o instanceof CE.FTPError?(console.error(Ut(o.code)),{status:"error",content:null,error:Ut(o.code)}):{status:"error",content:null,error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var RE=Ar(nn()),cd=require("stream");function B1(t,e){let r=new cd.PassThrough;return t.downloadTo(r,e).catch(n=>r.destroy(n)),r}c(B1,"readFTP");function U1(t,e){let r=new cd.PassThrough;return t.get(e,r).catch(n=>r.destroy(n)),r}c(U1,"readSFTP");var NE=mr({audience:"both",auth:ir,name:"read_file_content",classification:"READ",displayName:"Read File Content",description:"Read the content of a file.",aiMetadata:{description:"Downloads one file from the connected FTP, FTPS or SFTP server by remote path and returns it as a file reference that later steps can consume. Use it to fetch the content of a file whose path you know; run List Folder Contents first when you still need to discover which paths exist. Requires an exact remote file path - it does not glob, search or recurse; read-only and idempotent.",idempotent:!0},props:{filePath:gt.ShortText({displayName:"File Path",required:!0})},async run(t){let e=await Ht(t.auth.props),r=t.propsValue.filePath,n=r.split("/").pop()??r,i=await Bt(t.auth.props.protocol);try{let o;switch(i){case"ftps":case"ftp":o=B1(e,r);break;default:case"sftp":o=U1(e,r);break}return{file:await t.files.write({fileName:n,data:o})}}catch(o){return o instanceof RE.FTPError?(console.error(Ut(o.code)),{status:"error",content:null,error:Ut(o.code)}):{status:"error",content:null,error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var Ds={async poll(t,{store:e,auth:r,propsValue:n,maxItemsToPoll:i,files:o,server:s}){switch(t.strategy){case 0:{let a=await e.get("lastPoll");if(rr(a))throw new Error("lastPoll doesn't exist in the store.");let u=await t.items({store:e,auth:r,propsValue:n,lastFetchEpochMS:a,server:s}),l=u.reduce((d,p)=>Math.max(d,p.epochMilliSeconds),a);return await e.put("lastPoll",l),u.filter(d=>d.epochMilliSeconds>a).map(d=>d.data)}case 1:{let a=await e.get("lastItem"),u=await t.items({store:e,auth:r,propsValue:n,lastItemId:a,files:o,server:s}),l=u.findIndex(g=>g.id===a),d=[];rr(a)||l==-1?d=u??[]:d=u?.slice(0,l)??[],rr(i)||(d=d.slice(-i));let p=d?.[0]?.id;return rr(p)||await e.put("lastItem",p),d.map(g=>g.data)}}},async onEnable(t,{store:e,auth:r,propsValue:n,server:i,isRepublish:o}){switch(t.strategy){case 0:{if(o&&!rr(await e.get("lastPoll")))break;await e.put("lastPoll",Date.now());break}case 1:{if(o&&!rr(await e.get("lastItem")))break;let a=(await t.items({store:e,auth:r,propsValue:n,lastItemId:null,server:i}))?.[0]?.id;rr(a)?await e.delete("lastItem"):await e.put("lastItem",a);break}}},async onDisable(t,e){switch(t.strategy){case 0:case 1:return}},async test(t,{auth:e,propsValue:r,store:n,files:i,server:o}){let s=[];switch(t.strategy){case 0:{s=await t.items({store:n,auth:e,propsValue:r,lastFetchEpochMS:0,server:o});break}case 1:{s=await t.items({store:n,auth:e,propsValue:r,lastItemId:null,files:i,server:o});break}}return L1(s.map(a=>a.data))}};function L1(t){return t.length<=5?t:t.slice(0,5)}c(L1,"getFirstFiveOrAll");var Tc=Ar(OE());function $E(t,e){return e==="sftp"?t.modifyTime:(0,Tc.default)(t.modifiedAt).valueOf()}c($E,"getModifyTime");var Pc={strategy:0,items:c(async({auth:t,propsValue:e,lastFetchEpochMS:r})=>{let n=null;try{let i=await Bt(t.props.protocol);n=await Ht(t.props);let s=(await n.list(e.path)).filter(u=>{let l=$E(u,i);return(0,Tc.default)(l).valueOf()>r});return(e.ignoreHiddenFiles?s.filter(u=>!u.name.startsWith(".")):s).map(u=>{let l=$E(u,i);return{data:{...u,path:`${e.path}/${u.name}`},epochMilliSeconds:(0,Tc.default)(l).valueOf()}})}catch{return[]}finally{n&&await Zt(n,t.props.protocol)}},"items")},DE=Ph({auth:ir,name:"new_file",classification:"READ",displayName:"New File",description:"Trigger when a new file is created or modified.",aiMetadata:{description:"Fires for each file in a watched directory on an FTP, FTPS or SFTP server whose modification time is newer than the previous poll, so it covers both newly added files and edits to existing ones. Each event represents one such file. Polls a single directory only, without recursing into subfolders, and can optionally skip hidden dotfiles."},props:{path:gt.ShortText({displayName:"Path",description:"The path to watch for new files",required:!0,defaultValue:"./"}),ignoreHiddenFiles:gt.Checkbox({displayName:"Ignore hidden files",description:"Ignore hidden files",required:!1,defaultValue:!1})},type:"POLLING",onEnable:c(async t=>{await Ds.onEnable(Pc,t)},"onEnable"),onDisable:c(async t=>{await Ds.onDisable(Pc,t)},"onDisable"),run:c(async t=>await Ds.poll(Pc,t),"run"),test:c(async t=>await Ds.test(Pc,t),"test"),sampleData:null});var BE=Ar(nn());async function z1(t,e,r){r?await t.removeDir(e):await t.removeEmptyDir(e)}c(z1,"deleteFolderFTP");async function M1(t,e,r){await t.rmdir(e,r)}c(M1,"deleteFolderSFTP");var UE=mr({audience:"both",auth:ir,name:"deleteFolder",classification:"DESTRUCTIVE",displayName:"Delete Folder",description:"Deletes an existing folder at given path.",aiMetadata:{description:"Deletes a directory at a given remote path on the connected FTP, FTPS or SFTP server, either only when it is empty or, with the recursive option enabled, together with every nested subfolder and file. Use this for directories; use Delete File to remove a single file. Recursive deletion is permanent and unrecoverable, so verify the path first; idempotent in that it converges on the folder being absent, and a repeat call on an already-missing path just reports an error.",idempotent:!0},props:{folderPath:gt.ShortText({displayName:"Folder Path",required:!0,description:"The path of the folder to delete e.g. `./myfolder`"}),recursive:gt.Checkbox({displayName:"Recursive",defaultValue:!1,required:!1,description:"Enable this option to delete the folder and all its contents, including subfolders and files."})},async run(t){let e=await Ht(t.auth.props),r=t.propsValue.folderPath,n=t.propsValue.recursive??!1,i=await Bt(t.auth.props.protocol);try{switch(i){case"ftps":case"ftp":await z1(e,r,n);break;default:case"sftp":await M1(e,r,n);break}return{status:"success"}}catch(o){return o instanceof BE.FTPError?(console.error(Ut(o.code)),{status:"error",error:Ut(o.code)}):{status:"error",error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var LE=Ar(nn());async function F1(t,e){await t.remove(e)}c(F1,"deleteFileFromFTP");async function H1(t,e){await t.delete(e)}c(H1,"deleteFileFromSFTP");var zE=mr({audience:"both",auth:ir,name:"deleteFile",classification:"DESTRUCTIVE",displayName:"Delete file",description:"Deletes a file at given path.",aiMetadata:{description:"Permanently deletes a single file at a given remote path on the connected FTP, FTPS or SFTP server. Use this for one file; use Delete Folder to remove a directory, optionally with all of its contents. Requires the exact remote path (e.g. ./myfolder/test.mp3) and there is no recycle bin or undo; idempotent in that it converges on the file being absent, though a repeat call on an already-missing path reports an error.",idempotent:!0},props:{filePath:gt.ShortText({displayName:"File Path",required:!0,description:"The path of the file to delete e.g. `./myfolder/test.mp3`"})},async run(t){let e=await Ht(t.auth.props),r=t.propsValue.filePath,n=await Bt(t.auth.props.protocol);try{switch(n){case"ftps":case"ftp":await F1(e,r);break;default:case"sftp":await H1(e,r);break}return{status:"success"}}catch(i){return i instanceof LE.FTPError?(console.error(Ut(i.code)),{status:"error",error:Ut(i.code)}):{status:"error",error:i}}finally{await Zt(e,t.auth.props.protocol)}}});var ME=Ar(nn());async function j1(t,e){let r=await t.list(e);return await t.end(),r}c(j1,"listSFTP");async function W1(t,e){return(await t.list(e)).map(n=>({type:n.type===1?"d":"-",name:n.name,size:n.size,modifyTime:n.modifiedAt,accessTime:n.modifiedAt,rights:{user:n.permissions||"",group:"",other:""},owner:"",group:""}))}c(W1,"listFTP");var FE=mr({audience:"both",auth:ir,name:"listFolderContents",classification:"SEARCH",displayName:"List Folder Contents",description:"Lists the contents of a given folder.",aiMetadata:{description:"Lists the immediate entries of one directory on the connected FTP, FTPS or SFTP server. Use it to discover paths before reading, renaming or deleting, and to walk a tree one level at a time; it is not recursive and offers no filtering or search. Requires the directory path (e.g. ./myfolder); read-only and idempotent.",idempotent:!0},props:{directoryPath:gt.ShortText({displayName:"Directory Path",required:!0,description:"The path of the folder to list e.g. `./myfolder`"})},async run(t){let e=await Ht(t.auth.props),r=t.propsValue.directoryPath,n=await Bt(t.auth.props.protocol);try{let i;switch(n){case"ftps":case"ftp":i=await W1(e,r);break;default:case"sftp":i=await j1(e,r);break}return{status:"success",contents:i}}catch(i){return i instanceof ME.FTPError?(console.error(Ut(i.code)),{status:"error",content:null,error:Ut(i.code)}):{status:"error",content:null,error:i}}finally{await Zt(e,t.auth.props.protocol)}}});var HE=Ar(nn());var jE=mr({audience:"both",auth:ir,name:"createFolder",classification:"WRITE",displayName:"Create Folder",description:"Creates a folder at given path.",aiMetadata:{description:"Creates a directory at a given remote path on the connected FTP, FTPS or SFTP server; on SFTP an optional recursive mode also creates any missing parent directories, while FTP/FTPS always ensures the whole path. Use it to prepare a destination directory, for example before a rename or move, noting that Create File from Text and Upload File already create parent directories themselves. Requires the folder path (e.g. ./myfolder); idempotent because it converges on that directory existing.",idempotent:!0},props:{folderPath:gt.ShortText({displayName:"Folder Path",required:!0,description:"The new folder path e.g. `./myfolder`. For FTP/FTPS, it will create nested folders if necessary."}),recursive:gt.Checkbox({displayName:"Recursive",defaultValue:!1,required:!1,description:"For SFTP only: Create parent directories if they do not exist"})},async run(t){let e=await Ht(t.auth.props),r=t.propsValue.folderPath,n=t.propsValue.recursive??!1,i=await Bt(t.auth.props.protocol);try{switch(i){case"ftps":case"ftp":await e.ensureDir(r);break;default:case"sftp":await e.mkdir(r,n);break}return{status:"success"}}catch(o){return o instanceof HE.FTPError?(console.error(Ut(o.code)),{status:"error",error:Ut(o.code)}):{status:"error",error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var WE=Ar(nn());async function q1(t,e,r){await t.rename(e,r)}c(q1,"renameFTP");async function Q1(t,e,r){await t.rename(e,r),await t.end()}c(Q1,"renameSFTP");var qE=mr({audience:"both",auth:ir,name:"renameFileOrFolder",classification:"WRITE",displayName:"Rename File or Folder",description:"Renames a file or folder at given path.",aiMetadata:{description:"Moves a file or folder on the connected FTP, FTPS or SFTP server from an old remote path to a new one, which covers both renaming in place and, on most servers, relocating the entry into a different directory. Prefer it over reading and re-uploading content, and over a delete-then-create pair, when the bytes do not change. The parent directory of the new path must already exist, so create it with Create Folder first; idempotent in that the entry ends up at the new path, though a repeat call errors because the old path is gone.",idempotent:!0},props:{information:gt.MarkDown({value:"Depending on the server you can also use this to move a file to another directory, as long as the directory exists.",variant:"INFO"}),oldPath:gt.ShortText({displayName:"Old Path",required:!0,description:"The path of the file or folder to rename e.g. `./myfolder/test.mp3`"}),newPath:gt.ShortText({displayName:"New Path",required:!0,description:"The new path of the file or folder e.g. `./myfolder/new-name.mp3`"})},async run(t){let e=await Ht(t.auth.props),r=t.propsValue.oldPath,n=t.propsValue.newPath,i=await Bt(t.auth.props.protocol);try{switch(i){case"ftps":case"ftp":await q1(e,r,n);break;default:case"sftp":await Q1(e,r,n);break}return{status:"success"}}catch(o){return o instanceof WE.FTPError?(console.error(Ut(o.code)),{status:"error",content:null,error:Ut(o.code)}):{status:"error",content:null,error:o}}finally{await Zt(e,t.auth.props.protocol)}}});var V1=kh({displayName:"FTP/SFTP",description:"Connect to FTP, FTPS or SFTP servers",minimumSupportedRelease:"0.30.0",logoUrl:"https://cdn.activepieces.com/pieces/new-core/sftp.svg",categories:["CORE","DEVELOPER_TOOLS"],authors:["Abdallah-Alwarawreh","kishanprmr","AbdulTheActivePiecer","khaledmashaly","abuaboud","prasanna2000-max"],auth:ir,actions:[TE,kE,NE,zE,jE,UE,FE,qE],triggers:[DE]});0&&(module.exports={endClient,ftpSftp,getClient,getProtocolBackwardCompatibility});
35
35
  /*! Bundled license information:
36
36
 
37
37
  safe-buffer/index.js: