@alipay-inc/mpaas-mgs-sdk-websocket
Version:
A WebSocket SDK for mPaaS MGS with connection management, reconnection, and event handling
2 lines • 76.4 kB
JavaScript
/*! For license information please see index.js.LICENSE.txt */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.MgsWebSocket=t():e.MgsWebSocket=t()}(this,()=>(()=>{var e={48:function(e,t,r){var i;e.exports=(i=r(309),function(){if("function"==typeof ArrayBuffer){var e=i.lib.WordArray,t=e.init,r=e.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var r=e.byteLength,i=[],n=0;n<r;n++)i[n>>>2]|=e[n]<<24-n%4*8;t.call(this,i,r)}else t.apply(this,arguments)};r.prototype=e}}(),i.lib.WordArray)},55:function(e,t,r){var i;e.exports=(i=r(309),function(){var e=i,t=e.lib.WordArray,r=e.enc;function n(e){return e<<8&4278255360|e>>>8&16711935}r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n<r;n+=2){var o=t[n>>>2]>>>16-n%4*8&65535;i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var r=e.length,i=[],n=0;n<r;n++)i[n>>>1]|=e.charCodeAt(n)<<16-n%2*16;return t.create(i,2*r)}},r.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],o=0;o<r;o+=2){var s=n(t[o>>>2]>>>16-o%4*8&65535);i.push(String.fromCharCode(s))}return i.join("")},parse:function(e){for(var r=e.length,i=[],o=0;o<r;o++)i[o>>>1]|=n(e.charCodeAt(o)<<16-o%2*16);return t.create(i,2*r)}}}(),i.enc.Utf16)},79:function(e,t,r){var i,n,o,s,a,c,h,l;e.exports=(n=(i=l=r(309)).lib,o=n.WordArray,s=n.Hasher,a=i.algo,c=[],h=a.SHA1=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],a=r[4],h=0;h<80;h++){if(h<16)c[h]=0|e[t+h];else{var l=c[h-3]^c[h-8]^c[h-14]^c[h-16];c[h]=l<<1|l>>>31}var f=(i<<5|i>>>27)+a+c[h];f+=h<20?1518500249+(n&o|~n&s):h<40?1859775393+(n^o^s):h<60?(n&o|n&s|o&s)-1894007588:(n^o^s)-899497514,a=s,s=o,o=n<<30|n>>>2,n=i,i=f}r[0]=r[0]+i|0,r[1]=r[1]+n|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+a|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(i+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),i.SHA1=s._createHelper(h),i.HmacSHA1=s._createHmacHelper(h),l.SHA1)},116:function(e,t,r){var i;e.exports=(i=r(309),r(960),function(){var e=i,t=e.lib.Hasher,r=e.x64,n=r.Word,o=r.WordArray,s=e.algo;function a(){return n.create.apply(n,arguments)}var c=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],h=[];!function(){for(var e=0;e<80;e++)h[e]=a()}();var l=s.SHA512=t.extend({_doReset:function(){this._hash=new o.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var r=this._hash.words,i=r[0],n=r[1],o=r[2],s=r[3],a=r[4],l=r[5],f=r[6],u=r[7],d=i.high,p=i.low,v=n.high,g=n.low,y=o.high,_=o.low,S=s.high,w=s.low,b=a.high,m=a.low,k=l.high,B=l.low,x=f.high,E=f.low,C=u.high,A=u.low,R=d,O=p,H=v,W=g,T=y,z=_,D=S,M=w,N=b,P=m,L=k,I=B,F=x,j=E,U=C,G=A,K=0;K<80;K++){var X,$,Q=h[K];if(K<16)$=Q.high=0|e[t+2*K],X=Q.low=0|e[t+2*K+1];else{var V=h[K-15],Z=V.high,q=V.low,J=(Z>>>1|q<<31)^(Z>>>8|q<<24)^Z>>>7,Y=(q>>>1|Z<<31)^(q>>>8|Z<<24)^(q>>>7|Z<<25),ee=h[K-2],te=ee.high,re=ee.low,ie=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ne=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),oe=h[K-7],se=oe.high,ae=oe.low,ce=h[K-16],he=ce.high,le=ce.low;$=($=($=J+se+((X=Y+ae)>>>0<Y>>>0?1:0))+ie+((X+=ne)>>>0<ne>>>0?1:0))+he+((X+=le)>>>0<le>>>0?1:0),Q.high=$,Q.low=X}var fe,ue=N&L^~N&F,de=P&I^~P&j,pe=R&H^R&T^H&T,ve=O&W^O&z^W&z,ge=(R>>>28|O<<4)^(R<<30|O>>>2)^(R<<25|O>>>7),ye=(O>>>28|R<<4)^(O<<30|R>>>2)^(O<<25|R>>>7),_e=(N>>>14|P<<18)^(N>>>18|P<<14)^(N<<23|P>>>9),Se=(P>>>14|N<<18)^(P>>>18|N<<14)^(P<<23|N>>>9),we=c[K],be=we.high,me=we.low,ke=U+_e+((fe=G+Se)>>>0<G>>>0?1:0),Be=ye+ve;U=F,G=j,F=L,j=I,L=N,I=P,N=D+(ke=(ke=(ke=ke+ue+((fe+=de)>>>0<de>>>0?1:0))+be+((fe+=me)>>>0<me>>>0?1:0))+$+((fe+=X)>>>0<X>>>0?1:0))+((P=M+fe|0)>>>0<M>>>0?1:0)|0,D=T,M=z,T=H,z=W,H=R,W=O,R=ke+(ge+pe+(Be>>>0<ye>>>0?1:0))+((O=fe+Be|0)>>>0<fe>>>0?1:0)|0}p=i.low=p+O,i.high=d+R+(p>>>0<O>>>0?1:0),g=n.low=g+W,n.high=v+H+(g>>>0<W>>>0?1:0),_=o.low=_+z,o.high=y+T+(_>>>0<z>>>0?1:0),w=s.low=w+M,s.high=S+D+(w>>>0<M>>>0?1:0),m=a.low=m+P,a.high=b+N+(m>>>0<P>>>0?1:0),B=l.low=B+I,l.high=k+L+(B>>>0<I>>>0?1:0),E=f.low=E+j,f.high=x+F+(E>>>0<j>>>0?1:0),A=u.low=A+G,u.high=C+U+(A>>>0<G>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;return t[i>>>5]|=128<<24-i%32,t[30+(i+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(i+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(l),e.HmacSHA512=t._createHmacHelper(l)}(),i.SHA512)},117:function(e,t,r){var i,n,o,s,a,c,h,l,f,u,d,p,v,g,y,_,S,w,b;e.exports=(i=r(309),r(314),void(i.lib.Cipher||(n=i,o=n.lib,s=o.Base,a=o.WordArray,c=o.BufferedBlockAlgorithm,h=n.enc,h.Utf8,l=h.Base64,f=n.algo.EvpKDF,u=o.Cipher=c.extend({cfg:s.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,r){this.cfg=this.cfg.extend(r),this._xformMode=e,this._key=t,this.reset()},reset:function(){c.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return"string"==typeof e?b:S}return function(t){return{encrypt:function(r,i,n){return e(i).encrypt(t,r,i,n)},decrypt:function(r,i,n){return e(i).decrypt(t,r,i,n)}}}}()}),o.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),d=n.mode={},p=o.BlockCipherMode=s.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),v=d.CBC=function(){var e=p.extend();function t(e,t,r){var i,n=this._iv;n?(i=n,this._iv=void 0):i=this._prevBlock;for(var o=0;o<r;o++)e[t+o]^=i[o]}return e.Encryptor=e.extend({processBlock:function(e,r){var i=this._cipher,n=i.blockSize;t.call(this,e,r,n),i.encryptBlock(e,r),this._prevBlock=e.slice(r,r+n)}}),e.Decryptor=e.extend({processBlock:function(e,r){var i=this._cipher,n=i.blockSize,o=e.slice(r,r+n);i.decryptBlock(e,r),t.call(this,e,r,n),this._prevBlock=o}}),e}(),g=(n.pad={}).Pkcs7={pad:function(e,t){for(var r=4*t,i=r-e.sigBytes%r,n=i<<24|i<<16|i<<8|i,o=[],s=0;s<i;s+=4)o.push(n);var c=a.create(o,i);e.concat(c)},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},o.BlockCipher=u.extend({cfg:u.cfg.extend({mode:v,padding:g}),reset:function(){var e;u.reset.call(this);var t=this.cfg,r=t.iv,i=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=i.createEncryptor:(e=i.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(i,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4}),y=o.CipherParams=s.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=(n.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?a.create([1398893684,1701076831]).concat(r).concat(t):t).toString(l)},parse:function(e){var t,r=l.parse(e),i=r.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=a.create(i.slice(2,4)),i.splice(0,4),r.sigBytes-=16),y.create({ciphertext:r,salt:t})}},S=o.SerializableCipher=s.extend({cfg:s.extend({format:_}),encrypt:function(e,t,r,i){i=this.cfg.extend(i);var n=e.createEncryptor(r,i),o=n.finalize(t),s=n.cfg;return y.create({ciphertext:o,key:r,iv:s.iv,algorithm:e,mode:s.mode,padding:s.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,r,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(r,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),w=(n.kdf={}).OpenSSL={execute:function(e,t,r,i,n){if(i||(i=a.random(8)),n)o=f.create({keySize:t+r,hasher:n}).compute(e,i);else var o=f.create({keySize:t+r}).compute(e,i);var s=a.create(o.words.slice(t),4*r);return o.sigBytes=4*t,y.create({key:o,iv:s,salt:i})}},b=o.PasswordBasedCipher=S.extend({cfg:S.cfg.extend({kdf:w}),encrypt:function(e,t,r,i){var n=(i=this.cfg.extend(i)).kdf.execute(r,e.keySize,e.ivSize,i.salt,i.hasher);i.iv=n.iv;var o=S.encrypt.call(this,e,t,n.key,i);return o.mixIn(n),o},decrypt:function(e,t,r,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var n=i.kdf.execute(r,e.keySize,e.ivSize,t.salt,i.hasher);return i.iv=n.iv,S.decrypt.call(this,e,t,n.key,i)}}))))},120:function(e,t,r){var i;e.exports=(i=r(309),function(){var e=i,t=e.lib,r=t.WordArray,n=t.Hasher,o=e.algo,s=r.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),a=r.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),c=r.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),h=r.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),l=r.create([0,1518500249,1859775393,2400959708,2840853838]),f=r.create([1352829926,1548603684,1836072691,2053994217,0]),u=o.RIPEMD160=n.extend({_doReset:function(){this._hash=r.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,n=e[i];e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o,u,S,w,b,m,k,B,x,E,C,A=this._hash.words,R=l.words,O=f.words,H=s.words,W=a.words,T=c.words,z=h.words;for(m=o=A[0],k=u=A[1],B=S=A[2],x=w=A[3],E=b=A[4],r=0;r<80;r+=1)C=o+e[t+H[r]]|0,C+=r<16?d(u,S,w)+R[0]:r<32?p(u,S,w)+R[1]:r<48?v(u,S,w)+R[2]:r<64?g(u,S,w)+R[3]:y(u,S,w)+R[4],C=(C=_(C|=0,T[r]))+b|0,o=b,b=w,w=_(S,10),S=u,u=C,C=m+e[t+W[r]]|0,C+=r<16?y(k,B,x)+O[0]:r<32?g(k,B,x)+O[1]:r<48?v(k,B,x)+O[2]:r<64?p(k,B,x)+O[3]:d(k,B,x)+O[4],C=(C=_(C|=0,z[r]))+E|0,m=E,E=x,x=_(B,10),B=k,k=C;C=A[1]+S+x|0,A[1]=A[2]+w+E|0,A[2]=A[3]+b+m|0,A[3]=A[4]+o+k|0,A[4]=A[0]+u+B|0,A[0]=C},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,i=8*e.sigBytes;t[i>>>5]|=128<<24-i%32,t[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var n=this._hash,o=n.words,s=0;s<5;s++){var a=o[s];o[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return n},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});function d(e,t,r){return e^t^r}function p(e,t,r){return e&t|~e&r}function v(e,t,r){return(e|~t)^r}function g(e,t,r){return e&r|t&~r}function y(e,t,r){return e^(t|~r)}function _(e,t){return e<<t|e>>>32-t}e.RIPEMD160=n._createHelper(u),e.HmacRIPEMD160=n._createHmacHelper(u)}(Math),i.RIPEMD160)},168:function(e,t,r){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WebSocketClient=void 0;const n=r(194),o=r(288),s=i(r(832)),a=r(182),c=r(218);class h extends n.EventEmitter{constructor(e,t){var r;super(),this.ws=null,this.logger=o.Logger.getInstance(),this.reconnectTimer=null,this.heartbeatTimer=null,this.connectionTimer=null,this.messageQueue=[],this.rpcParams=t;let i={};t.signType&&(i=(0,s.default)(t.signType,t.operationType,t.secretKey)),this.config={url:t.baseURL,protocols:e.protocols||[],timeout:e.timeout||1e4,autoReconnect:null===(r=e.autoReconnect)||void 0===r||r,reconnectInterval:e.reconnectInterval||3e3,maxReconnectAttempts:e.maxReconnectAttempts||5,heartbeatInterval:e.heartbeatInterval||3e4,heartbeatMessage:e.heartbeatMessage||"ping",headers:{"x-amnet-stream-rpc":t.operationType,"x-amnet-serialize":"json","x-amnet-appid":t.appId,"x-amnet-workspaceid":t.workspaceId,...e.headers||{},...i}},this.stats={state:c.WebSocketState.CLOSED,reconnectCount:0,sentMessageCount:0,receivedMessageCount:0},this.logger.info("WebSocket客户端已创建",{url:this.config.url})}async connect(){if(this.ws&&this.ws.readyState===c.WebSocketState.OPEN)this.logger.warn("WebSocket已经连接,无需重复连接");else{if(!this.ws||this.ws.readyState!==c.WebSocketState.CONNECTING)return new Promise((e,t)=>{try{const r=new URLSearchParams(this.config.headers),i=`${this.config.url}?${r.toString()}`;this.logger.info("开始连接WebSocket服务器",{url:i}),this.ws=new WebSocket(i,this.config.protocols),this.stats.state=c.WebSocketState.CONNECTING,this.connectionTimer=setTimeout(()=>{if(this.ws&&this.ws.readyState===c.WebSocketState.CONNECTING){this.ws.close();const e=new Error(`连接超时 (${this.config.timeout}ms)`);this.logger.error("连接超时",e),t(e)}},this.config.timeout),this.ws.onopen=t=>{this.clearConnectionTimer(),this.stats.state=c.WebSocketState.OPEN,this.stats.connectedAt=new Date,this.stats.reconnectCount=0,this.logger.info("WebSocket连接成功"),this.emit(c.WebSocketEventType.OPEN,t),this.startHeartbeat(),this.flushMessageQueue(),e()},this.ws.onmessage=e=>{if(this.stats.receivedMessageCount++,"pong"!==e.data)try{const t=JSON.parse(e.data);if(1e3===t.resultStatus){const r=(0,a.base64ToString)(t.data);this.emit(c.WebSocketEventType.MESSAGE,{...e,data:r})}else this.emit(c.WebSocketEventType.MESSAGE,e)}catch(t){this.emit(c.WebSocketEventType.MESSAGE,e)}},this.ws.onerror=e=>{this.clearConnectionTimer(),this.logger.error("WebSocket连接错误",e),this.emit(c.WebSocketEventType.ERROR,e),t(new Error("WebSocket连接错误"))},this.ws.onclose=e=>{this.clearConnectionTimer(),this.stopHeartbeat(),this.stats.state=c.WebSocketState.CLOSED,this.logger.info("WebSocket连接已关闭",{code:e.code,reason:e.reason,wasClean:e.wasClean}),this.emit(c.WebSocketEventType.CLOSE,e),this.config.autoReconnect&&!e.wasClean&&this.scheduleReconnect()}}catch(e){this.clearConnectionTimer(),this.logger.error("创建WebSocket连接失败",e),t(e)}});this.logger.warn("WebSocket正在连接中,请等待连接完成")}}disconnect(e,t){this.config.autoReconnect=!1,this.clearReconnectTimer(),this.stopHeartbeat(),this.ws&&(this.stats.state=c.WebSocketState.CLOSING,this.ws.close(e,t),this.ws=null),this.logger.info("手动断开WebSocket连接")}async send(e,t={}){const{waitForConnection:r=!0,timeout:i=5e3}=t;if(r&&(!this.ws||this.ws.readyState!==c.WebSocketState.OPEN)){if(!this.ws||this.ws.readyState!==c.WebSocketState.CONNECTING)return this.messageQueue.push({data:e,options:t}),void this.logger.debug("消息已加入发送队列",{queueLength:this.messageQueue.length});await this.waitForConnection(i)}if(!this.ws||this.ws.readyState!==c.WebSocketState.OPEN)throw new Error("WebSocket连接未建立或已关闭");this.logger.debug("send data",e);let n=e;if(n=(0,a.handleValue)(e),this.logger.debug("send sendData",n),!n)throw new Error("sendData is null");try{this.ws.send(n),this.stats.sentMessageCount++,this.logger.debug("消息发送成功",{data:e})}catch(e){throw this.logger.error("消息发送失败",e),e}}waitForConnection(e){return new Promise((t,r)=>{if(this.ws&&this.ws.readyState===c.WebSocketState.OPEN)return void t();const i=setTimeout(()=>{this.off(c.WebSocketEventType.OPEN,n),this.off(c.WebSocketEventType.ERROR,o),this.off(c.WebSocketEventType.CLOSE,s),r(new Error("等待连接超时"))},e),n=()=>{clearTimeout(i),this.off(c.WebSocketEventType.ERROR,o),this.off(c.WebSocketEventType.CLOSE,s),t()},o=()=>{clearTimeout(i),this.off(c.WebSocketEventType.OPEN,n),this.off(c.WebSocketEventType.CLOSE,s),r(new Error("连接失败"))},s=()=>{clearTimeout(i),this.off(c.WebSocketEventType.OPEN,n),this.off(c.WebSocketEventType.ERROR,o),r(new Error("连接已关闭"))};this.once(c.WebSocketEventType.OPEN,n),this.once(c.WebSocketEventType.ERROR,o),this.once(c.WebSocketEventType.CLOSE,s)})}flushMessageQueue(){if(0===this.messageQueue.length)return;this.logger.info(`发送队列中的 ${this.messageQueue.length} 条消息`);const e=[...this.messageQueue];this.messageQueue=[],e.forEach(({data:e,options:t})=>{this.send(e,{...t,waitForConnection:!1}).catch(e=>{this.logger.error("发送队列消息失败",e)})})}scheduleReconnect(){if(this.stats.reconnectCount>=this.config.maxReconnectAttempts)return this.logger.error("已达到最大重连次数,停止重连",{maxAttempts:this.config.maxReconnectAttempts}),void this.emit(c.WebSocketEventType.RECONNECT_FAILED,{maxAttempts:this.config.maxReconnectAttempts});this.stats.reconnectCount++,this.logger.info("准备重连",{attempt:this.stats.reconnectCount,interval:this.config.reconnectInterval}),this.emit(c.WebSocketEventType.RECONNECTING,{attempt:this.stats.reconnectCount}),this.reconnectTimer=setTimeout(()=>{this.connect().then(()=>{this.logger.info("重连成功"),this.emit(c.WebSocketEventType.RECONNECTED,new Event("reconnected"))}).catch(e=>{this.logger.error("重连失败",e),this.scheduleReconnect()})},this.config.reconnectInterval)}clearReconnectTimer(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}startHeartbeat(){this.config.heartbeatInterval<=0||(this.stopHeartbeat(),this.heartbeatTimer=setInterval(()=>{if(this.ws&&this.ws.readyState===c.WebSocketState.OPEN)try{this.ws.send(this.config.heartbeatMessage),this.stats.lastHeartbeatAt=new Date,this.logger.debug("发送心跳消息")}catch(e){this.logger.error("发送心跳消息失败",e)}},this.config.heartbeatInterval))}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null)}clearConnectionTimer(){this.connectionTimer&&(clearTimeout(this.connectionTimer),this.connectionTimer=null)}getState(){return this.ws?this.ws.readyState:c.WebSocketState.CLOSED}isConnected(){return null!==this.ws&&this.ws.readyState===c.WebSocketState.OPEN}getStats(){return{...this.stats,state:this.getState()}}updateConfig(e){this.config={...this.config,...e},this.logger.info("配置已更新",e),void 0!==e.heartbeatInterval&&this.isConnected()&&this.startHeartbeat()}destroy(){this.disconnect(),this.clearReconnectTimer(),this.clearConnectionTimer(),this.removeAllListeners(),this.messageQueue=[],this.logger.info("WebSocket客户端已销毁")}}t.WebSocketClient=h},182:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleValue=void 0,t.base64ToString=function(e){const t=atob(e);let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t.charCodeAt(e));return decodeURIComponent(escape(r))};class r{constructor(){this.data=null}getData(){return this.data}setData(e){if(!(e instanceof Uint8Array))throw new TypeError("Data must be a Uint8Array");const t=function(e){const t=new TextDecoder("utf-8").decode(e);return btoa(unescape(encodeURIComponent(t)))}(e);this.data=t}}const i=e=>{const t=JSON.stringify(e);return(new TextEncoder).encode(t)};t.handleValue=e=>{console.log("payload",e);try{const t=i(e),n=new r;return console.log("byteArray",t),n.setData(t),i(n)}catch(t){return e}}},194:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventEmitter=void 0,t.EventEmitter=class{constructor(){this.listeners=new Map}on(e,t){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t)}once(e,t){const r=i=>{t(i),this.off(e,r)};this.on(e,r)}off(e,t){const r=this.listeners.get(e);r&&(r.delete(t),0===r.size&&this.listeners.delete(e))}removeAllListeners(e){e?this.listeners.delete(e):this.listeners.clear()}emit(e,t){const r=this.listeners.get(e);r&&r.forEach(r=>{try{r(t)}catch(t){console.error(`Error in event listener for ${String(e)}:`,t)}})}listenerCount(e){const t=this.listeners.get(e);return t?t.size:0}eventNames(){return Array.from(this.listeners.keys())}}},218:(e,t)=>{"use strict";var r,i,n;Object.defineProperty(t,"__esModule",{value:!0}),t.WebSocketEventType=t.WebSocketState=t.SignType=void 0,function(e){e.SHA256="sha256",e.HMACSHA256="hmacsha256",e.MD5="md5"}(r||(t.SignType=r={})),function(e){e[e.CONNECTING=0]="CONNECTING",e[e.OPEN=1]="OPEN",e[e.CLOSING=2]="CLOSING",e[e.CLOSED=3]="CLOSED"}(i||(t.WebSocketState=i={})),function(e){e.OPEN="open",e.MESSAGE="message",e.ERROR="error",e.CLOSE="close",e.RECONNECTING="reconnecting",e.RECONNECTED="reconnected",e.RECONNECT_FAILED="reconnect_failed"}(n||(t.WebSocketEventType=n={}))},288:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t.LogLevel=void 0,function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.NONE=4]="NONE"}(r||(t.LogLevel=r={}));class i{constructor(){this.logLevel=r.INFO,this.prefix="[WebSocketSDK]"}static getInstance(){return i.instance||(i.instance=new i),i.instance}setLevel(e){this.logLevel=e}setPrefix(e){this.prefix=e}debug(e,...t){this.logLevel<=r.DEBUG&&console.debug(`${this.prefix} [DEBUG]`,e,...t)}info(e,...t){this.logLevel<=r.INFO&&console.info(`${this.prefix} [INFO]`,e,...t)}warn(e,...t){this.logLevel<=r.WARN&&console.warn(`${this.prefix} [WARN]`,e,...t)}error(e,...t){this.logLevel<=r.ERROR&&console.error(`${this.prefix} [ERROR]`,e,...t)}}t.Logger=i},292:function(e,t,r){var i;e.exports=(i=r(309),r(117),i.pad.NoPadding={pad:function(){},unpad:function(){}},i.pad.NoPadding)},309:function(e,t,r){var i;e.exports=(i=i||function(e){var t;if("undefined"!=typeof window&&window.crypto&&(t=window.crypto),"undefined"!=typeof self&&self.crypto&&(t=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(t=globalThis.crypto),!t&&"undefined"!=typeof window&&window.msCrypto&&(t=window.msCrypto),!t&&void 0!==r.g&&r.g.crypto&&(t=r.g.crypto),!t)try{t=r(341)}catch(e){}var i=function(){if(t){if("function"==typeof t.getRandomValues)try{return t.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof t.randomBytes)try{return t.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},n=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),o={},s=o.lib={},a=s.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},c=s.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||l).stringify(this)},concat:function(e){var t=this.words,r=e.words,i=this.sigBytes,n=e.sigBytes;if(this.clamp(),i%4)for(var o=0;o<n;o++){var s=r[o>>>2]>>>24-o%4*8&255;t[i+o>>>2]|=s<<24-(i+o)%4*8}else for(var a=0;a<n;a+=4)t[i+a>>>2]=r[a>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r<e;r+=4)t.push(i());return new c.init(t,e)}}),h=o.enc={},l=h.Hex={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n<r;n++){var o=t[n>>>2]>>>24-n%4*8&255;i.push((o>>>4).toString(16)),i.push((15&o).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i<t;i+=2)r[i>>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new c.init(r,t/2)}},f=h.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,i=[],n=0;n<r;n++){var o=t[n>>>2]>>>24-n%4*8&255;i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var t=e.length,r=[],i=0;i<t;i++)r[i>>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new c.init(r,t)}},u=h.Utf8={stringify:function(e){try{return decodeURIComponent(escape(f.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return f.parse(unescape(encodeURIComponent(e)))}},d=s.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,i=this._data,n=i.words,o=i.sigBytes,s=this.blockSize,a=o/(4*s),h=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*s,l=e.min(4*h,o);if(h){for(var f=0;f<h;f+=s)this._doProcessBlock(n,f);r=n.splice(0,h),i.sigBytes-=l}return new c.init(r,l)},clone:function(){var e=a.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),p=(s.Hasher=d.extend({cfg:a.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,r){return new e.init(r).finalize(t)}},_createHmacHelper:function(e){return function(t,r){return new p.HMAC.init(e,r).finalize(t)}}}),o.algo={});return o}(Math),i)},314:function(e,t,r){var i,n,o,s,a,c,h,l;e.exports=(l=r(309),r(79),r(937),o=(n=(i=l).lib).Base,s=n.WordArray,c=(a=i.algo).MD5,h=a.EvpKDF=o.extend({cfg:o.extend({keySize:4,hasher:c,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var r,i=this.cfg,n=i.hasher.create(),o=s.create(),a=o.words,c=i.keySize,h=i.iterations;a.length<c;){r&&n.update(r),r=n.update(e).finalize(t),n.reset();for(var l=1;l<h;l++)r=n.finalize(r),n.reset();o.concat(r)}return o.sigBytes=4*c,o}}),i.EvpKDF=function(e,t,r){return h.create(r).compute(e,t)},l.EvpKDF)},317:function(e,t,r){var i,n,o;e.exports=(i=r(309),o=(n=i).lib.WordArray,n.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,i=e.sigBytes,n=t?this._safe_map:this._map;e.clamp();for(var o=[],s=0;s<i;s+=3)for(var a=(r[s>>>2]>>>24-s%4*8&255)<<16|(r[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|r[s+2>>>2]>>>24-(s+2)%4*8&255,c=0;c<4&&s+.75*c<i;c++)o.push(n.charAt(a>>>6*(3-c)&63));var h=n.charAt(64);if(h)for(;o.length%4;)o.push(h);return o.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,i=t?this._safe_map:this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var s=0;s<i.length;s++)n[i.charCodeAt(s)]=s}var a=i.charAt(64);if(a){var c=e.indexOf(a);-1!==c&&(r=c)}return function(e,t,r){for(var i=[],n=0,s=0;s<t;s++)if(s%4){var a=r[e.charCodeAt(s-1)]<<s%4*2|r[e.charCodeAt(s)]>>>6-s%4*2;i[n>>>2]|=a<<24-n%4*8,n++}return o.create(i,n)}(e,r,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},i.enc.Base64url)},341:()=>{},361:function(e,t,r){var i;e.exports=(i=r(309),r(714),r(596),r(314),r(117),function(){var e=i,t=e.lib.StreamCipher,r=e.algo,n=r.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,i=this._S=[],n=0;n<256;n++)i[n]=n;n=0;for(var o=0;n<256;n++){var s=n%r,a=t[s>>>2]>>>24-s%4*8&255;o=(o+i[n]+a)%256;var c=i[n];i[n]=i[o],i[o]=c}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,i=0,n=0;n<4;n++){r=(r+e[t=(t+1)%256])%256;var o=e[t];e[t]=e[r],e[r]=o,i|=e[(e[t]+e[r])%256]<<24-8*n}return this._i=t,this._j=r,i}e.RC4=t._createHelper(n);var s=r.RC4Drop=n.extend({cfg:n.cfg.extend({drop:192}),_doReset:function(){n._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o.call(this)}});e.RC4Drop=t._createHelper(s)}(),i.RC4)},372:function(e,t,r){var i,n,o,s,a,c;e.exports=(c=r(309),r(737),n=(i=c).lib.WordArray,o=i.algo,s=o.SHA256,a=o.SHA224=s.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=s._doFinalize.call(this);return e.sigBytes-=4,e}}),i.SHA224=s._createHelper(a),i.HmacSHA224=s._createHmacHelper(a),c.SHA224)},380:function(e,t,r){var i;e.exports=(i=r(309),r(960),r(48),r(55),r(714),r(317),r(596),r(79),r(737),r(372),r(116),r(813),r(409),r(120),r(937),r(667),r(314),r(117),r(449),r(635),r(956),r(725),r(406),r(569),r(521),r(386),r(419),r(292),r(809),r(739),r(420),r(361),r(434),r(904),r(808),i)},386:function(e,t,r){var i;e.exports=(i=r(309),r(117),i.pad.Iso97971={pad:function(e,t){e.concat(i.lib.WordArray.create([2147483648],1)),i.pad.ZeroPadding.pad(e,t)},unpad:function(e){i.pad.ZeroPadding.unpad(e),e.sigBytes--}},i.pad.Iso97971)},406:function(e,t,r){var i,n;e.exports=(n=r(309),r(117),n.mode.ECB=((i=n.lib.BlockCipherMode.extend()).Encryptor=i.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),i.Decryptor=i.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),i),n.mode.ECB)},409:function(e,t,r){var i;e.exports=(i=r(309),r(960),function(e){var t=i,r=t.lib,n=r.WordArray,o=r.Hasher,s=t.x64.Word,a=t.algo,c=[],h=[],l=[];!function(){for(var e=1,t=0,r=0;r<24;r++){c[e+5*t]=(r+1)*(r+2)/2%64;var i=(2*e+3*t)%5;e=t%5,t=i}for(e=0;e<5;e++)for(t=0;t<5;t++)h[e+5*t]=t+(2*e+3*t)%5*5;for(var n=1,o=0;o<24;o++){for(var a=0,f=0,u=0;u<7;u++){if(1&n){var d=(1<<u)-1;d<32?f^=1<<d:a^=1<<d-32}128&n?n=n<<1^113:n<<=1}l[o]=s.create(a,f)}}();var f=[];!function(){for(var e=0;e<25;e++)f[e]=s.create()}();var u=a.SHA3=o.extend({cfg:o.cfg.extend({outputLength:512}),_doReset:function(){for(var e=this._state=[],t=0;t<25;t++)e[t]=new s.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(e,t){for(var r=this._state,i=this.blockSize/2,n=0;n<i;n++){var o=e[t+2*n],s=e[t+2*n+1];o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(A=r[n]).high^=s,A.low^=o}for(var a=0;a<24;a++){for(var u=0;u<5;u++){for(var d=0,p=0,v=0;v<5;v++)d^=(A=r[u+5*v]).high,p^=A.low;var g=f[u];g.high=d,g.low=p}for(u=0;u<5;u++){var y=f[(u+4)%5],_=f[(u+1)%5],S=_.high,w=_.low;for(d=y.high^(S<<1|w>>>31),p=y.low^(w<<1|S>>>31),v=0;v<5;v++)(A=r[u+5*v]).high^=d,A.low^=p}for(var b=1;b<25;b++){var m=(A=r[b]).high,k=A.low,B=c[b];B<32?(d=m<<B|k>>>32-B,p=k<<B|m>>>32-B):(d=k<<B-32|m>>>64-B,p=m<<B-32|k>>>64-B);var x=f[h[b]];x.high=d,x.low=p}var E=f[0],C=r[0];for(E.high=C.high,E.low=C.low,u=0;u<5;u++)for(v=0;v<5;v++){var A=r[b=u+5*v],R=f[b],O=f[(u+1)%5+5*v],H=f[(u+2)%5+5*v];A.high=R.high^~O.high&H.high,A.low=R.low^~O.low&H.low}A=r[0];var W=l[a];A.high^=W.high,A.low^=W.low}},_doFinalize:function(){var t=this._data,r=t.words,i=(this._nDataBytes,8*t.sigBytes),o=32*this.blockSize;r[i>>>5]|=1<<24-i%32,r[(e.ceil((i+1)/o)*o>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var s=this._state,a=this.cfg.outputLength/8,c=a/8,h=[],l=0;l<c;l++){var f=s[l],u=f.high,d=f.low;u=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),h.push(d),h.push(u)}return new n.init(h,a)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=o._createHelper(u),t.HmacSHA3=o._createHmacHelper(u)}(Math),i.SHA3)},419:function(e,t,r){var i;e.exports=(i=r(309),r(117),i.pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},i.pad.ZeroPadding)},420:function(e,t,r){var i;e.exports=(i=r(309),r(714),r(596),r(314),r(117),function(){var e=i,t=e.lib,r=t.WordArray,n=t.BlockCipher,o=e.algo,s=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],h=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],f=o.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var i=s[r]-1;t[r]=e[i>>>5]>>>31-i%32&1}for(var n=this._subKeys=[],o=0;o<16;o++){var h=n[o]=[],l=c[o];for(r=0;r<24;r++)h[r/6|0]|=t[(a[r]-1+l)%28]<<31-r%6,h[4+(r/6|0)]|=t[28+(a[r+24]-1+l)%28]<<31-r%6;for(h[0]=h[0]<<1|h[0]>>>31,r=1;r<7;r++)h[r]=h[r]>>>4*(r-1)+3;h[7]=h[7]<<5|h[7]>>>27}var f=this._invSubKeys=[];for(r=0;r<16;r++)f[r]=n[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],u.call(this,4,252645135),u.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),u.call(this,1,1431655765);for(var i=0;i<16;i++){for(var n=r[i],o=this._lBlock,s=this._rBlock,a=0,c=0;c<8;c++)a|=h[c][((s^n[c])&l[c])>>>0];this._lBlock=s,this._rBlock=o^a}var f=this._lBlock;this._lBlock=this._rBlock,this._rBlock=f,u.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),u.call(this,16,65535),u.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function u(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<<e}function d(e,t){var r=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<<e}e.DES=n._createHelper(f);var p=o.TripleDES=n.extend({_doReset:function(){var e=this._key.words;if(2!==e.length&&4!==e.length&&e.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var t=e.slice(0,2),i=e.length<4?e.slice(0,2):e.slice(2,4),n=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=f.createEncryptor(r.create(t)),this._des2=f.createEncryptor(r.create(i)),this._des3=f.createEncryptor(r.create(n))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=n._createHelper(p)}(),i.TripleDES)},434:function(e,t,r){var i;e.exports=(i=r(309),r(714),r(596),r(314),r(117),function(){var e=i,t=e.lib.StreamCipher,r=e.algo,n=[],o=[],s=[],a=r.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)c.call(this);for(r=0;r<8;r++)n[r]^=i[r+4&7];if(t){var o=t.words,s=o[0],a=o[1],h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),f=h>>>16|4294901760&l,u=l<<16|65535&h;for(n[0]^=h,n[1]^=f,n[2]^=l,n[3]^=u,n[4]^=h,n[5]^=f,n[6]^=l,n[7]^=u,r=0;r<4;r++)c.call(this)}},_doProcessBlock:function(e,t){var r=this._X;c.call(this),n[0]=r[0]^r[5]>>>16^r[3]<<16,n[1]=r[2]^r[7]>>>16^r[5]<<16,n[2]=r[4]^r[1]>>>16^r[7]<<16,n[3]=r[6]^r[3]>>>16^r[1]<<16;for(var i=0;i<4;i++)n[i]=16711935&(n[i]<<8|n[i]>>>24)|4278255360&(n[i]<<24|n[i]>>>8),e[t+i]^=n[i]},blockSize:4,ivSize:2});function c(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<o[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<o[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<o[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<o[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<o[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<o[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<o[6]>>>0?1:0)|0,this._b=t[7]>>>0<o[7]>>>0?1:0,r=0;r<8;r++){var i=e[r]+t[r],n=65535&i,a=i>>>16,c=((n*n>>>17)+n*a>>>15)+a*a,h=((4294901760&i)*i|0)+((65535&i)*i|0);s[r]=c^h}e[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,e[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,e[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,e[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,e[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,e[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,e[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,e[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}e.Rabbit=t._createHelper(a)}(),i.Rabbit)},449:function(e,t,r){var i;e.exports=(i=r(309),r(117),i.mode.CFB=function(){var e=i.lib.BlockCipherMode.extend();function t(e,t,r,i){var n,o=this._iv;o?(n=o.slice(0),this._iv=void 0):n=this._prevBlock,i.encryptBlock(n,0);for(var s=0;s<r;s++)e[t+s]^=n[s]}return e.Encryptor=e.extend({processBlock:function(e,r){var i=this._cipher,n=i.blockSize;t.call(this,e,r,n,i),this._prevBlock=e.slice(r,r+n)}}),e.Decryptor=e.extend({processBlock:function(e,r){var i=this._cipher,n=i.blockSize,o=e.slice(r,r+n);t.call(this,e,r,n,i),this._prevBlock=o}}),e}(),i.mode.CFB)},512:function(e,t,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||i(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.LogLevel=t.Logger=t.EventEmitter=t.WebSocketClient=void 0;var o=r(168);Object.defineProperty(t,"WebSocketClient",{enumerable:!0,get:function(){return o.WebSocketClient}});var s=r(194);Object.defineProperty(t,"EventEmitter",{enumerable:!0,get:function(){return s.EventEmitter}});var a=r(288);Object.defineProperty(t,"Logger",{enumerable:!0,get:function(){return a.Logger}}),Object.defineProperty(t,"LogLevel",{enumerable:!0,get:function(){return a.LogLevel}}),n(r(218),t);var c=r(168);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c.WebSocketClient}})},521:function(e,t,r){var i;e.exports=(i=r(309),r(117),i.pad.Iso10126={pad:function(e,t){var r=4*t,n=r-e.sigBytes%r;e.concat(i.lib.WordArray.random(n-1)).concat(i.lib.WordArray.create([n<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},i.pad.Iso10126)},569:function(e,t,r){var i;e.exports=(i=r(309),r(117),i.pad.AnsiX923={pad:function(e,t){var r=e.sigBytes,i=4*t,n=i-r%i,o=r+n-1;e.clamp(),e.words[o>>>2]|=n<<24-o%4*8,e.sigBytes+=n},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},i.pad.Ansix923)},596:function(e,t,r){var i;e.exports=(i=r(309),function(e){var t=i,r=t.lib,n=r.WordArray,o=r.Hasher,s=t.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();var c=s.MD5=o.extend({_doReset:function(){this._hash=new n.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var i=t+r,n=e[i];e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o=this._hash.words,s=e[t+0],c=e[t+1],d=e[t+2],p=e[t+3],v=e[t+4],g=e[t+5],y=e[t+6],_=e[t+7],S=e[t+8],w=e[t+9],b=e[t+10],m=e[t+11],k=e[t+12],B=e[t+13],x=e[t+14],E=e[t+15],C=o[0],A=o[1],R=o[2],O=o[3];C=h(C,A,R,O,s,7,a[0]),O=h(O,C,A,R,c,12,a[1]),R=h(R,O,C,A,d,17,a[2]),A=h(A,R,O,C,p,22,a[3]),C=h(C,A,R,O,v,7,a[4]),O=h(O,C,A,R,g,12,a[5]),R=h(R,O,C,A,y,17,a[6]),A=h(A,R,O,C,_,22,a[7]),C=h(C,A,R,O,S,7,a[8]),O=h(O,C,A,R,w,12,a[9]),R=h(R,O,C,A,b,17,a[10]),A=h(A,R,O,C,m,22,a[11]),C=h(C,A,R,O,k,7,a[12]),O=h(O,C,A,R,B,12,a[13]),R=h(R,O,C,A,x,17,a[14]),C=l(C,A=h(A,R,O,C,E,22,a[15]),R,O,c,5,a[16]),O=l(O,C,A,R,y,9,a[17]),R=l(R,O,C,A,m,14,a[18]),A=l(A,R,O,C,s,20,a[19]),C=l(C,A,R,O,g,5,a[20]),O=l(O,C,A,R,b,9,a[21]),R=l(R,O,C,A,E,14,a[22]),A=l(A,R,O,C,v