var nh = Object.create var Nr = Object.defineProperty var sh = Object.getOwnPropertyDescriptor var oh = Object.getOwnPropertyNames var ah = Object.getPrototypeOf, fh = Object.prototype.hasOwnProperty var b = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), lh = (e, t) => { for (var r in t) Nr(e, r, { get: t[r], enumerable: !0 }) }, Eo = (e, t, r, i) => { if ((t && typeof t == 'object') || typeof t == 'function') for (let n of oh(t)) !fh.call(e, n) && n !== r && Nr(e, n, { get: () => t[n], enumerable: !(i = sh(t, n)) || i.enumerable, }) return e } var uh = (e, t, r) => ( (r = e != null ? nh(ah(e)) : {}), Eo( t || !e || !e.__esModule ? Nr(r, 'default', { value: e, enumerable: !0 }) : r, e, ) ), ch = (e) => Eo(Nr({}, '__esModule', { value: !0 }), e) var Mr = b((Pm, xo) => { xo.exports = dh var hh = Object.prototype.hasOwnProperty function dh() { for (var e = {}, t = 0; t < arguments.length; t++) { var r = arguments[t] for (var i in r) hh.call(r, i) && (e[i] = r[i]) } return e } }) var Zi = b((Bm, Co) => { Co.exports = require('stream') }) var Po = b((Am, Ro) => { 'use strict' function To(e, t) { var r = Object.keys(e) if (Object.getOwnPropertySymbols) { var i = Object.getOwnPropertySymbols(e) t && (i = i.filter(function (n) { return Object.getOwnPropertyDescriptor(e, n).enumerable })), r.push.apply(r, i) } return r } function Io(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {} t % 2 ? To(Object(r), !0).forEach(function (i) { ph(e, i, r[i]) }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : To(Object(r)).forEach(function (i) { Object.defineProperty(e, i, Object.getOwnPropertyDescriptor(r, i)) }) } return e } function ph(e, t, r) { return ( (t = ko(t)), t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0, }) : (e[t] = r), e ) } function _h(e, t) { if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') } function Oo(e, t) { for (var r = 0; r < t.length; r++) { var i = t[r] ;(i.enumerable = i.enumerable || !1), (i.configurable = !0), 'value' in i && (i.writable = !0), Object.defineProperty(e, ko(i.key), i) } } function gh(e, t, r) { return ( t && Oo(e.prototype, t), r && Oo(e, r), Object.defineProperty(e, 'prototype', { writable: !1 }), e ) } function ko(e) { var t = bh(e, 'string') return typeof t == 'symbol' ? t : String(t) } function bh(e, t) { if (typeof e != 'object' || e === null) return e var r = e[Symbol.toPrimitive] if (r !== void 0) { var i = r.call(e, t || 'default') if (typeof i != 'object') return i throw new TypeError('@@toPrimitive must return a primitive value.') } return (t === 'string' ? String : Number)(e) } var yh = require('buffer'), Lr = yh.Buffer, vh = require('util'), en = vh.inspect, mh = (en && en.custom) || 'inspect' function wh(e, t, r) { Lr.prototype.copy.call(e, t, r) } Ro.exports = (function () { function e() { _h(this, e), (this.head = null), (this.tail = null), (this.length = 0) } return ( gh(e, [ { key: 'push', value: function (r) { var i = { data: r, next: null } this.length > 0 ? (this.tail.next = i) : (this.head = i), (this.tail = i), ++this.length }, }, { key: 'unshift', value: function (r) { var i = { data: r, next: this.head } this.length === 0 && (this.tail = i), (this.head = i), ++this.length }, }, { key: 'shift', value: 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 ) } }, }, { key: 'clear', value: function () { ;(this.head = this.tail = null), (this.length = 0) }, }, { key: 'join', value: function (r) { if (this.length === 0) return '' for (var i = this.head, n = '' + i.data; (i = i.next); ) n += r + i.data return n }, }, { key: 'concat', value: function (r) { if (this.length === 0) return Lr.alloc(0) for (var i = Lr.allocUnsafe(r >>> 0), n = this.head, s = 0; n; ) wh(n.data, i, s), (s += n.data.length), (n = n.next) return i }, }, { key: 'consume', value: function (r, i) { var n return ( r < this.head.data.length ? ((n = this.head.data.slice(0, r)), (this.head.data = this.head.data.slice(r))) : r === this.head.data.length ? (n = this.shift()) : (n = i ? this._getString(r) : this._getBuffer(r)), n ) }, }, { key: 'first', value: function () { return this.head.data }, }, { key: '_getString', value: function (r) { var i = this.head, n = 1, s = i.data for (r -= s.length; (i = i.next); ) { var o = i.data, f = r > o.length ? o.length : r if ( (f === o.length ? (s += o) : (s += o.slice(0, r)), (r -= f), r === 0) ) { f === o.length ? (++n, i.next ? (this.head = i.next) : (this.head = this.tail = null)) : ((this.head = i), (i.data = o.slice(f))) break } ++n } return (this.length -= n), s }, }, { key: '_getBuffer', value: function (r) { var i = Lr.allocUnsafe(r), n = this.head, s = 1 for (n.data.copy(i), r -= n.data.length; (n = n.next); ) { var o = n.data, f = r > o.length ? o.length : r if ((o.copy(i, i.length - r, 0, f), (r -= f), r === 0)) { f === o.length ? (++s, n.next ? (this.head = n.next) : (this.head = this.tail = null)) : ((this.head = n), (n.data = o.slice(f))) break } ++s } return (this.length -= s), i }, }, { key: mh, value: function (r, i) { return en(this, Io(Io({}, i), {}, { depth: 0, customInspect: !1 })) }, }, ]), e ) })() }) var rn = b((Nm, Ao) => { 'use strict' function Sh(e, t) { var r = this, i = this._readableState && this._readableState.destroyed, n = this._writableState && this._writableState.destroyed return i || n ? (t ? t(e) : e && (this._writableState ? this._writableState.errorEmitted || ((this._writableState.errorEmitted = !0), process.nextTick(tn, this, e)) : process.nextTick(tn, this, e)), this) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(e || null, function (s) { !t && s ? r._writableState ? r._writableState.errorEmitted ? process.nextTick(qr, r) : ((r._writableState.errorEmitted = !0), process.nextTick(Bo, r, s)) : process.nextTick(Bo, r, s) : t ? (process.nextTick(qr, r), t(s)) : process.nextTick(qr, r) }), this) } function Bo(e, t) { tn(e, t), qr(e) } function qr(e) { ;(e._writableState && !e._writableState.emitClose) || (e._readableState && !e._readableState.emitClose) || e.emit('close') } function Eh() { 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)) } function tn(e, t) { e.emit('error', t) } function xh(e, t) { var r = e._readableState, i = e._writableState ;(r && r.autoDestroy) || (i && i.autoDestroy) ? e.destroy(t) : e.emit('error', t) } Ao.exports = { destroy: Sh, undestroy: Eh, errorOrDestroy: xh } }) var Ue = b((Mm, Lo) => { 'use strict' var Mo = {} function he(e, t, r) { r || (r = Error) function i(s, o, f) { return typeof t == 'string' ? t : t(s, o, f) } class n extends r { constructor(o, f, a) { super(i(o, f, a)) } } ;(n.prototype.name = r.name), (n.prototype.code = e), (Mo[e] = n) } function No(e, t) { if (Array.isArray(e)) { let r = e.length return ( (e = e.map((i) => String(i))), r > 2 ? `one of ${t} ${e.slice(0, r - 1).join(', ')}, or ` + e[r - 1] : r === 2 ? `one of ${t} ${e[0]} or ${e[1]}` : `of ${t} ${e[0]}` ) } else return `of ${t} ${String(e)}` } function Ch(e, t, r) { return e.substr(!r || r < 0 ? 0 : +r, t.length) === t } function Th(e, t, r) { return ( (r === void 0 || r > e.length) && (r = e.length), e.substring(r - t.length, r) === t ) } function Ih(e, t, r) { return ( typeof r != 'number' && (r = 0), r + t.length > e.length ? !1 : e.indexOf(t, r) !== -1 ) } he( 'ERR_INVALID_OPT_VALUE', function (e, t) { return 'The value "' + t + '" is invalid for option "' + e + '"' }, TypeError, ) he( 'ERR_INVALID_ARG_TYPE', function (e, t, r) { let i typeof t == 'string' && Ch(t, 'not ') ? ((i = 'must not be'), (t = t.replace(/^not /, ''))) : (i = 'must be') let n if (Th(e, ' argument')) n = `The ${e} ${i} ${No(t, 'type')}` else { let s = Ih(e, '.') ? 'property' : 'argument' n = `The "${e}" ${s} ${i} ${No(t, 'type')}` } return (n += `. Received type ${typeof r}`), n }, TypeError, ) he('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF') he('ERR_METHOD_NOT_IMPLEMENTED', function (e) { return 'The ' + e + ' method is not implemented' }) he('ERR_STREAM_PREMATURE_CLOSE', 'Premature close') he('ERR_STREAM_DESTROYED', function (e) { return 'Cannot call ' + e + ' after a stream was destroyed' }) he('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times') he('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable') he('ERR_STREAM_WRITE_AFTER_END', 'write after end') he('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError) he( 'ERR_UNKNOWN_ENCODING', function (e) { return 'Unknown encoding: ' + e }, TypeError, ) he('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event') Lo.exports.codes = Mo }) var nn = b((Lm, qo) => { 'use strict' var Oh = Ue().codes.ERR_INVALID_OPT_VALUE function kh(e, t, r) { return e.highWaterMark != null ? e.highWaterMark : t ? e[r] : null } function Rh(e, t, r, i) { var n = kh(t, i, r) if (n != null) { if (!(isFinite(n) && Math.floor(n) === n) || n < 0) { var s = i ? r : 'highWaterMark' throw new Oh(s, n) } return Math.floor(n) } return e.objectMode ? 16 : 16 * 1024 } qo.exports = { getHighWaterMark: Rh } }) var Do = b((qm, sn) => { typeof Object.create == 'function' ? (sn.exports = function (t, r) { r && ((t.super_ = r), (t.prototype = Object.create(r.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0, }, }))) }) : (sn.exports = function (t, r) { if (r) { t.super_ = r var i = function () {} ;(i.prototype = r.prototype), (t.prototype = new i()), (t.prototype.constructor = t) } }) }) var ie = b((Dm, an) => { try { if (((on = require('util')), typeof on.inherits != 'function')) throw '' an.exports = on.inherits } catch { an.exports = Do() } var on }) var fn = b((Um, Uo) => { Uo.exports = require('util').deprecate }) var cn = b((jm, $o) => { 'use strict' $o.exports = $ function Fo(e) { var t = this ;(this.next = null), (this.entry = null), (this.finish = function () { id(t, e) }) } var wt $.WritableState = Ft var Ph = { deprecate: fn() }, Wo = Zi(), Ur = require('buffer').Buffer, Bh = (typeof global < 'u' ? global : typeof window < 'u' ? window : typeof self < 'u' ? self : {} ).Uint8Array || function () {} function Ah(e) { return Ur.from(e) } function Nh(e) { return Ur.isBuffer(e) || e instanceof Bh } var un = rn(), Mh = nn(), Lh = Mh.getHighWaterMark, je = Ue().codes, qh = je.ERR_INVALID_ARG_TYPE, Dh = je.ERR_METHOD_NOT_IMPLEMENTED, Uh = je.ERR_MULTIPLE_CALLBACK, jh = je.ERR_STREAM_CANNOT_PIPE, Fh = je.ERR_STREAM_DESTROYED, Wh = je.ERR_STREAM_NULL_VALUES, Vh = je.ERR_STREAM_WRITE_AFTER_END, Hh = je.ERR_UNKNOWN_ENCODING, St = un.errorOrDestroy ie()($, Wo) function $h() {} function Ft(e, t, r) { ;(wt = wt || it()), (e = e || {}), typeof r != 'boolean' && (r = t instanceof wt), (this.objectMode = !!e.objectMode), r && (this.objectMode = this.objectMode || !!e.writableObjectMode), (this.highWaterMark = Lh(this, e, 'writableHighWaterMark', r)), (this.finalCalled = !1), (this.needDrain = !1), (this.ending = !1), (this.ended = !1), (this.finished = !1), (this.destroyed = !1) var i = e.decodeStrings === !1 ;(this.decodeStrings = !i), (this.defaultEncoding = e.defaultEncoding || 'utf8'), (this.length = 0), (this.writing = !1), (this.corked = 0), (this.sync = !0), (this.bufferProcessing = !1), (this.onwrite = function (n) { Xh(t, n) }), (this.writecb = null), (this.writelen = 0), (this.bufferedRequest = null), (this.lastBufferedRequest = null), (this.pendingcb = 0), (this.prefinished = !1), (this.errorEmitted = !1), (this.emitClose = e.emitClose !== !1), (this.autoDestroy = !!e.autoDestroy), (this.bufferedRequestCount = 0), (this.corkedRequestsFree = new Fo(this)) } Ft.prototype.getBuffer = function () { for (var t = this.bufferedRequest, r = []; t; ) r.push(t), (t = t.next) return r } ;(function () { try { Object.defineProperty(Ft.prototype, 'buffer', { get: Ph.deprecate( function () { return this.getBuffer() }, '_writableState.buffer is deprecated. Use _writableState.getBuffer instead.', 'DEP0003', ), }) } catch {} })() var Dr typeof Symbol == 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] == 'function' ? ((Dr = Function.prototype[Symbol.hasInstance]), Object.defineProperty($, Symbol.hasInstance, { value: function (t) { return Dr.call(this, t) ? !0 : this !== $ ? !1 : t && t._writableState instanceof Ft }, })) : (Dr = function (t) { return t instanceof this }) function $(e) { wt = wt || it() var t = this instanceof wt if (!t && !Dr.call($, this)) return new $(e) ;(this._writableState = new Ft(e, this, t)), (this.writable = !0), e && (typeof e.write == 'function' && (this._write = e.write), typeof e.writev == 'function' && (this._writev = e.writev), typeof e.destroy == 'function' && (this._destroy = e.destroy), typeof e.final == 'function' && (this._final = e.final)), Wo.call(this) } $.prototype.pipe = function () { St(this, new jh()) } function Gh(e, t) { var r = new Vh() St(e, r), process.nextTick(t, r) } function zh(e, t, r, i) { var n return ( r === null ? (n = new Wh()) : typeof r != 'string' && !t.objectMode && (n = new qh('chunk', ['string', 'Buffer'], r)), n ? (St(e, n), process.nextTick(i, n), !1) : !0 ) } $.prototype.write = function (e, t, r) { var i = this._writableState, n = !1, s = !i.objectMode && Nh(e) return ( s && !Ur.isBuffer(e) && (e = Ah(e)), typeof t == 'function' && ((r = t), (t = null)), s ? (t = 'buffer') : t || (t = i.defaultEncoding), typeof r != 'function' && (r = $h), i.ending ? Gh(this, r) : (s || zh(this, i, e, r)) && (i.pendingcb++, (n = Yh(this, i, s, e, t, r))), n ) } $.prototype.cork = function () { this._writableState.corked++ } $.prototype.uncork = function () { var e = this._writableState e.corked && (e.corked--, !e.writing && !e.corked && !e.bufferProcessing && e.bufferedRequest && Vo(this, e)) } $.prototype.setDefaultEncoding = function (t) { if ( (typeof t == 'string' && (t = t.toLowerCase()), !( [ 'hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw', ].indexOf((t + '').toLowerCase()) > -1 )) ) throw new Hh(t) return (this._writableState.defaultEncoding = t), this } Object.defineProperty($.prototype, 'writableBuffer', { enumerable: !1, get: function () { return this._writableState && this._writableState.getBuffer() }, }) function Kh(e, t, r) { return ( !e.objectMode && e.decodeStrings !== !1 && typeof t == 'string' && (t = Ur.from(t, r)), t ) } Object.defineProperty($.prototype, 'writableHighWaterMark', { enumerable: !1, get: function () { return this._writableState.highWaterMark }, }) function Yh(e, t, r, i, n, s) { if (!r) { var o = Kh(t, i, n) i !== o && ((r = !0), (n = 'buffer'), (i = o)) } var f = t.objectMode ? 1 : i.length t.length += f var a = t.length < t.highWaterMark if ((a || (t.needDrain = !0), t.writing || t.corked)) { var l = t.lastBufferedRequest ;(t.lastBufferedRequest = { chunk: i, encoding: n, isBuf: r, callback: s, next: null, }), l ? (l.next = t.lastBufferedRequest) : (t.bufferedRequest = t.lastBufferedRequest), (t.bufferedRequestCount += 1) } else ln(e, t, !1, f, i, n, s) return a } function ln(e, t, r, i, n, s, o) { ;(t.writelen = i), (t.writecb = o), (t.writing = !0), (t.sync = !0), t.destroyed ? t.onwrite(new Fh('write')) : r ? e._writev(n, t.onwrite) : e._write(n, s, t.onwrite), (t.sync = !1) } function Qh(e, t, r, i, n) { --t.pendingcb, r ? (process.nextTick(n, i), process.nextTick(jt, e, t), (e._writableState.errorEmitted = !0), St(e, i)) : (n(i), (e._writableState.errorEmitted = !0), St(e, i), jt(e, t)) } function Jh(e) { ;(e.writing = !1), (e.writecb = null), (e.length -= e.writelen), (e.writelen = 0) } function Xh(e, t) { var r = e._writableState, i = r.sync, n = r.writecb if (typeof n != 'function') throw new Uh() if ((Jh(r), t)) Qh(e, r, i, t, n) else { var s = Ho(r) || e.destroyed !s && !r.corked && !r.bufferProcessing && r.bufferedRequest && Vo(e, r), i ? process.nextTick(jo, e, r, s, n) : jo(e, r, s, n) } } function jo(e, t, r, i) { r || Zh(e, t), t.pendingcb--, i(), jt(e, t) } function Zh(e, t) { t.length === 0 && t.needDrain && ((t.needDrain = !1), e.emit('drain')) } function Vo(e, t) { t.bufferProcessing = !0 var r = t.bufferedRequest if (e._writev && r && r.next) { var i = t.bufferedRequestCount, n = new Array(i), s = t.corkedRequestsFree s.entry = r for (var o = 0, f = !0; r; ) (n[o] = r), r.isBuf || (f = !1), (r = r.next), (o += 1) ;(n.allBuffers = f), ln(e, t, !0, t.length, n, '', s.finish), t.pendingcb++, (t.lastBufferedRequest = null), s.next ? ((t.corkedRequestsFree = s.next), (s.next = null)) : (t.corkedRequestsFree = new Fo(t)), (t.bufferedRequestCount = 0) } else { for (; r; ) { var a = r.chunk, l = r.encoding, u = r.callback, h = t.objectMode ? 1 : a.length if ( (ln(e, t, !1, h, a, l, u), (r = r.next), t.bufferedRequestCount--, t.writing) ) break } r === null && (t.lastBufferedRequest = null) } ;(t.bufferedRequest = r), (t.bufferProcessing = !1) } $.prototype._write = function (e, t, r) { r(new Dh('_write()')) } $.prototype._writev = null $.prototype.end = function (e, t, r) { var i = this._writableState return ( typeof e == 'function' ? ((r = e), (e = null), (t = null)) : typeof t == 'function' && ((r = t), (t = null)), e != null && this.write(e, t), i.corked && ((i.corked = 1), this.uncork()), i.ending || rd(this, i, r), this ) } Object.defineProperty($.prototype, 'writableLength', { enumerable: !1, get: function () { return this._writableState.length }, }) function Ho(e) { return ( e.ending && e.length === 0 && e.bufferedRequest === null && !e.finished && !e.writing ) } function ed(e, t) { e._final(function (r) { t.pendingcb--, r && St(e, r), (t.prefinished = !0), e.emit('prefinish'), jt(e, t) }) } function td(e, t) { !t.prefinished && !t.finalCalled && (typeof e._final == 'function' && !t.destroyed ? (t.pendingcb++, (t.finalCalled = !0), process.nextTick(ed, e, t)) : ((t.prefinished = !0), e.emit('prefinish'))) } function jt(e, t) { var r = Ho(t) if ( r && (td(e, t), t.pendingcb === 0 && ((t.finished = !0), e.emit('finish'), t.autoDestroy)) ) { var i = e._readableState ;(!i || (i.autoDestroy && i.endEmitted)) && e.destroy() } return r } function rd(e, t, r) { ;(t.ending = !0), jt(e, t), r && (t.finished ? process.nextTick(r) : e.once('finish', r)), (t.ended = !0), (e.writable = !1) } function id(e, t, r) { var i = e.entry for (e.entry = null; i; ) { var n = i.callback t.pendingcb--, n(r), (i = i.next) } t.corkedRequestsFree.next = e } Object.defineProperty($.prototype, 'destroyed', { enumerable: !1, get: function () { return this._writableState === void 0 ? !1 : this._writableState.destroyed }, set: function (t) { this._writableState && (this._writableState.destroyed = t) }, }) $.prototype.destroy = un.destroy $.prototype._undestroy = un.undestroy $.prototype._destroy = function (e, t) { t(e) } }) var it = b((Fm, zo) => { 'use strict' var nd = Object.keys || function (e) { var t = [] for (var r in e) t.push(r) return t } zo.exports = Ee var Go = pn(), dn = cn() ie()(Ee, Go) for (hn = nd(dn.prototype), jr = 0; jr < hn.length; jr++) (Fr = hn[jr]), Ee.prototype[Fr] || (Ee.prototype[Fr] = dn.prototype[Fr]) var hn, Fr, jr function Ee(e) { if (!(this instanceof Ee)) return new Ee(e) Go.call(this, e), dn.call(this, e), (this.allowHalfOpen = !0), e && (e.readable === !1 && (this.readable = !1), e.writable === !1 && (this.writable = !1), e.allowHalfOpen === !1 && ((this.allowHalfOpen = !1), this.once('end', sd))) } Object.defineProperty(Ee.prototype, 'writableHighWaterMark', { enumerable: !1, get: function () { return this._writableState.highWaterMark }, }) Object.defineProperty(Ee.prototype, 'writableBuffer', { enumerable: !1, get: function () { return this._writableState && this._writableState.getBuffer() }, }) Object.defineProperty(Ee.prototype, 'writableLength', { enumerable: !1, get: function () { return this._writableState.length }, }) function sd() { this._writableState.ended || process.nextTick(od, this) } function od(e) { e.end() } Object.defineProperty(Ee.prototype, 'destroyed', { enumerable: !1, get: function () { return this._readableState === void 0 || this._writableState === void 0 ? !1 : this._readableState.destroyed && this._writableState.destroyed }, set: function (t) { this._readableState === void 0 || this._writableState === void 0 || ((this._readableState.destroyed = t), (this._writableState.destroyed = t)) }, }) }) var Qo = b((_n, Yo) => { var Wr = require('buffer'), xe = Wr.Buffer function Ko(e, t) { for (var r in e) t[r] = e[r] } xe.from && xe.alloc && xe.allocUnsafe && xe.allocUnsafeSlow ? (Yo.exports = Wr) : (Ko(Wr, _n), (_n.Buffer = nt)) function nt(e, t, r) { return xe(e, t, r) } nt.prototype = Object.create(xe.prototype) Ko(xe, nt) nt.from = function (e, t, r) { if (typeof e == 'number') throw new TypeError('Argument must not be a number') return xe(e, t, r) } nt.alloc = function (e, t, r) { if (typeof e != 'number') throw new TypeError('Argument must be a number') var i = xe(e) return ( t !== void 0 ? typeof r == 'string' ? i.fill(t, r) : i.fill(t) : i.fill(0), i ) } nt.allocUnsafe = function (e) { if (typeof e != 'number') throw new TypeError('Argument must be a number') return xe(e) } nt.allocUnsafeSlow = function (e) { if (typeof e != 'number') throw new TypeError('Argument must be a number') return Wr.SlowBuffer(e) } }) var yn = b((Xo) => { 'use strict' var bn = Qo().Buffer, Jo = bn.isEncoding || function (e) { switch (((e = '' + e), e && e.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 ad(e) { if (!e) return 'utf8' for (var t; ; ) switch (e) { 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 e default: if (t) return ;(e = ('' + e).toLowerCase()), (t = !0) } } function fd(e) { var t = ad(e) if (typeof t != 'string' && (bn.isEncoding === Jo || !Jo(e))) throw new Error('Unknown encoding: ' + e) return t || e } Xo.StringDecoder = Wt function Wt(e) { this.encoding = fd(e) var t switch (this.encoding) { case 'utf16le': ;(this.text = pd), (this.end = _d), (t = 4) break case 'utf8': ;(this.fillLast = cd), (t = 4) break case 'base64': ;(this.text = gd), (this.end = bd), (t = 3) break default: ;(this.write = yd), (this.end = vd) return } ;(this.lastNeed = 0), (this.lastTotal = 0), (this.lastChar = bn.allocUnsafe(t)) } Wt.prototype.write = function (e) { if (e.length === 0) return '' var t, r if (this.lastNeed) { if (((t = this.fillLast(e)), t === void 0)) return '' ;(r = this.lastNeed), (this.lastNeed = 0) } else r = 0 return r < e.length ? (t ? t + this.text(e, r) : this.text(e, r)) : t || '' } Wt.prototype.end = dd Wt.prototype.text = hd Wt.prototype.fillLast = function (e) { if (this.lastNeed <= e.length) return ( e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal) ) e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, e.length), (this.lastNeed -= e.length) } function gn(e) { return e <= 127 ? 0 : e >> 5 === 6 ? 2 : e >> 4 === 14 ? 3 : e >> 3 === 30 ? 4 : e >> 6 === 2 ? -1 : -2 } function ld(e, t, r) { var i = t.length - 1 if (i < r) return 0 var n = gn(t[i]) return n >= 0 ? (n > 0 && (e.lastNeed = n - 1), n) : --i < r || n === -2 ? 0 : ((n = gn(t[i])), n >= 0 ? (n > 0 && (e.lastNeed = n - 2), n) : --i < r || n === -2 ? 0 : ((n = gn(t[i])), n >= 0 ? (n > 0 && (n === 2 ? (n = 0) : (e.lastNeed = n - 3)), n) : 0)) } function ud(e, t, r) { if ((t[0] & 192) !== 128) return (e.lastNeed = 0), '\uFFFD' if (e.lastNeed > 1 && t.length > 1) { if ((t[1] & 192) !== 128) return (e.lastNeed = 1), '\uFFFD' if (e.lastNeed > 2 && t.length > 2 && (t[2] & 192) !== 128) return (e.lastNeed = 2), '\uFFFD' } } function cd(e) { var t = this.lastTotal - this.lastNeed, r = ud(this, e, t) if (r !== void 0) return r if (this.lastNeed <= e.length) return ( e.copy(this.lastChar, t, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal) ) e.copy(this.lastChar, t, 0, e.length), (this.lastNeed -= e.length) } function hd(e, t) { var r = ld(this, e, t) if (!this.lastNeed) return e.toString('utf8', t) this.lastTotal = r var i = e.length - (r - this.lastNeed) return e.copy(this.lastChar, 0, i), e.toString('utf8', t, i) } function dd(e) { var t = e && e.length ? this.write(e) : '' return this.lastNeed ? t + '\uFFFD' : t } function pd(e, t) { if ((e.length - t) % 2 === 0) { var r = e.toString('utf16le', t) if (r) { var i = r.charCodeAt(r.length - 1) if (i >= 55296 && i <= 56319) return ( (this.lastNeed = 2), (this.lastTotal = 4), (this.lastChar[0] = e[e.length - 2]), (this.lastChar[1] = e[e.length - 1]), r.slice(0, -1) ) } return r } return ( (this.lastNeed = 1), (this.lastTotal = 2), (this.lastChar[0] = e[e.length - 1]), e.toString('utf16le', t, e.length - 1) ) } function _d(e) { var t = e && e.length ? this.write(e) : '' if (this.lastNeed) { var r = this.lastTotal - this.lastNeed return t + this.lastChar.toString('utf16le', 0, r) } return t } function gd(e, t) { var r = (e.length - t) % 3 return r === 0 ? e.toString('base64', t) : ((this.lastNeed = 3 - r), (this.lastTotal = 3), r === 1 ? (this.lastChar[0] = e[e.length - 1]) : ((this.lastChar[0] = e[e.length - 2]), (this.lastChar[1] = e[e.length - 1])), e.toString('base64', t, e.length - r)) } function bd(e) { var t = e && e.length ? this.write(e) : '' return this.lastNeed ? t + this.lastChar.toString('base64', 0, 3 - this.lastNeed) : t } function yd(e) { return e.toString(this.encoding) } function vd(e) { return e && e.length ? this.write(e) : '' } }) var Vr = b((Vm, ta) => { 'use strict' var Zo = Ue().codes.ERR_STREAM_PREMATURE_CLOSE function md(e) { var t = !1 return function () { if (!t) { t = !0 for (var r = arguments.length, i = new Array(r), n = 0; n < r; n++) i[n] = arguments[n] e.apply(this, i) } } } function wd() {} function Sd(e) { return e.setHeader && typeof e.abort == 'function' } function ea(e, t, r) { if (typeof t == 'function') return ea(e, null, t) t || (t = {}), (r = md(r || wd)) var i = t.readable || (t.readable !== !1 && e.readable), n = t.writable || (t.writable !== !1 && e.writable), s = function () { e.writable || f() }, o = e._writableState && e._writableState.finished, f = function () { ;(n = !1), (o = !0), i || r.call(e) }, a = e._readableState && e._readableState.endEmitted, l = function () { ;(i = !1), (a = !0), n || r.call(e) }, u = function (_) { r.call(e, _) }, h = function () { var _ if (i && !a) return ( (!e._readableState || !e._readableState.ended) && (_ = new Zo()), r.call(e, _) ) if (n && !o) return ( (!e._writableState || !e._writableState.ended) && (_ = new Zo()), r.call(e, _) ) }, c = function () { e.req.on('finish', f) } return ( Sd(e) ? (e.on('complete', f), e.on('abort', h), e.req ? c() : e.on('request', c)) : n && !e._writableState && (e.on('end', s), e.on('close', s)), e.on('end', l), e.on('finish', f), t.error !== !1 && e.on('error', u), e.on('close', h), function () { e.removeListener('complete', f), e.removeListener('abort', h), e.removeListener('request', c), e.req && e.req.removeListener('finish', f), e.removeListener('end', s), e.removeListener('close', s), e.removeListener('finish', f), e.removeListener('end', l), e.removeListener('error', u), e.removeListener('close', h) } ) } ta.exports = ea }) var ia = b((Hm, ra) => { 'use strict' var Hr function Fe(e, t, r) { return ( (t = Ed(t)), t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0, }) : (e[t] = r), e ) } function Ed(e) { var t = xd(e, 'string') return typeof t == 'symbol' ? t : String(t) } function xd(e, t) { if (typeof e != 'object' || e === null) return e var r = e[Symbol.toPrimitive] if (r !== void 0) { var i = r.call(e, t || 'default') if (typeof i != 'object') return i throw new TypeError('@@toPrimitive must return a primitive value.') } return (t === 'string' ? String : Number)(e) } var Cd = Vr(), We = Symbol('lastResolve'), st = Symbol('lastReject'), Vt = Symbol('error'), $r = Symbol('ended'), ot = Symbol('lastPromise'), vn = Symbol('handlePromise'), at = Symbol('stream') function Ve(e, t) { return { value: e, done: t } } function Td(e) { var t = e[We] if (t !== null) { var r = e[at].read() r !== null && ((e[ot] = null), (e[We] = null), (e[st] = null), t(Ve(r, !1))) } } function Id(e) { process.nextTick(Td, e) } function Od(e, t) { return function (r, i) { e.then(function () { if (t[$r]) { r(Ve(void 0, !0)) return } t[vn](r, i) }, i) } } var kd = Object.getPrototypeOf(function () {}), Rd = Object.setPrototypeOf( ((Hr = { get stream() { return this[at] }, next: function () { var t = this, r = this[Vt] if (r !== null) return Promise.reject(r) if (this[$r]) return Promise.resolve(Ve(void 0, !0)) if (this[at].destroyed) return new Promise(function (o, f) { process.nextTick(function () { t[Vt] ? f(t[Vt]) : o(Ve(void 0, !0)) }) }) var i = this[ot], n if (i) n = new Promise(Od(i, this)) else { var s = this[at].read() if (s !== null) return Promise.resolve(Ve(s, !1)) n = new Promise(this[vn]) } return (this[ot] = n), n }, }), Fe(Hr, Symbol.asyncIterator, function () { return this }), Fe(Hr, 'return', function () { var t = this return new Promise(function (r, i) { t[at].destroy(null, function (n) { if (n) { i(n) return } r(Ve(void 0, !0)) }) }) }), Hr), kd, ), Pd = function (t) { var r, i = Object.create( Rd, ((r = {}), Fe(r, at, { value: t, writable: !0 }), Fe(r, We, { value: null, writable: !0 }), Fe(r, st, { value: null, writable: !0 }), Fe(r, Vt, { value: null, writable: !0 }), Fe(r, $r, { value: t._readableState.endEmitted, writable: !0 }), Fe(r, vn, { value: function (s, o) { var f = i[at].read() f ? ((i[ot] = null), (i[We] = null), (i[st] = null), s(Ve(f, !1))) : ((i[We] = s), (i[st] = o)) }, writable: !0, }), r), ) return ( (i[ot] = null), Cd(t, function (n) { if (n && n.code !== 'ERR_STREAM_PREMATURE_CLOSE') { var s = i[st] s !== null && ((i[ot] = null), (i[We] = null), (i[st] = null), s(n)), (i[Vt] = n) return } var o = i[We] o !== null && ((i[ot] = null), (i[We] = null), (i[st] = null), o(Ve(void 0, !0))), (i[$r] = !0) }), t.on('readable', Id.bind(null, i)), i ) } ra.exports = Pd }) var aa = b(($m, oa) => { 'use strict' function na(e, t, r, i, n, s, o) { try { var f = e[s](o), a = f.value } catch (l) { r(l) return } f.done ? t(a) : Promise.resolve(a).then(i, n) } function Bd(e) { return function () { var t = this, r = arguments return new Promise(function (i, n) { var s = e.apply(t, r) function o(a) { na(s, i, n, o, f, 'next', a) } function f(a) { na(s, i, n, o, f, 'throw', a) } o(void 0) }) } } function sa(e, t) { var r = Object.keys(e) if (Object.getOwnPropertySymbols) { var i = Object.getOwnPropertySymbols(e) t && (i = i.filter(function (n) { return Object.getOwnPropertyDescriptor(e, n).enumerable })), r.push.apply(r, i) } return r } function Ad(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t] != null ? arguments[t] : {} t % 2 ? sa(Object(r), !0).forEach(function (i) { Nd(e, i, r[i]) }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : sa(Object(r)).forEach(function (i) { Object.defineProperty(e, i, Object.getOwnPropertyDescriptor(r, i)) }) } return e } function Nd(e, t, r) { return ( (t = Md(t)), t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0, }) : (e[t] = r), e ) } function Md(e) { var t = Ld(e, 'string') return typeof t == 'symbol' ? t : String(t) } function Ld(e, t) { if (typeof e != 'object' || e === null) return e var r = e[Symbol.toPrimitive] if (r !== void 0) { var i = r.call(e, t || 'default') if (typeof i != 'object') return i throw new TypeError('@@toPrimitive must return a primitive value.') } return (t === 'string' ? String : Number)(e) } var qd = Ue().codes.ERR_INVALID_ARG_TYPE function Dd(e, t, r) { var i if (t && typeof t.next == 'function') i = t else if (t && t[Symbol.asyncIterator]) i = t[Symbol.asyncIterator]() else if (t && t[Symbol.iterator]) i = t[Symbol.iterator]() else throw new qd('iterable', ['Iterable'], t) var n = new e(Ad({ objectMode: !0 }, r)), s = !1 n._read = function () { s || ((s = !0), o()) } function o() { return f.apply(this, arguments) } function f() { return ( (f = Bd(function* () { try { var a = yield i.next(), l = a.value, u = a.done u ? n.push(null) : n.push(yield l) ? o() : (s = !1) } catch (h) { n.destroy(h) } })), f.apply(this, arguments) ) } return n } oa.exports = Dd }) var pn = b((zm, ba) => { 'use strict' ba.exports = A var Et A.ReadableState = ca var Gm = require('events').EventEmitter, ua = function (t, r) { return t.listeners(r).length }, $t = Zi(), Gr = require('buffer').Buffer, Ud = (typeof global < 'u' ? global : typeof window < 'u' ? window : typeof self < 'u' ? self : {} ).Uint8Array || function () {} function jd(e) { return Gr.from(e) } function Fd(e) { return Gr.isBuffer(e) || e instanceof Ud } var mn = require('util'), P mn && mn.debuglog ? (P = mn.debuglog('stream')) : (P = function () {}) var Wd = Po(), In = rn(), Vd = nn(), Hd = Vd.getHighWaterMark, zr = Ue().codes, $d = zr.ERR_INVALID_ARG_TYPE, Gd = zr.ERR_STREAM_PUSH_AFTER_EOF, zd = zr.ERR_METHOD_NOT_IMPLEMENTED, Kd = zr.ERR_STREAM_UNSHIFT_AFTER_END_EVENT, xt, wn, Sn ie()(A, $t) var Ht = In.errorOrDestroy, En = ['error', 'close', 'destroy', 'pause', 'resume'] function Yd(e, t, r) { if (typeof e.prependListener == 'function') return e.prependListener(t, r) !e._events || !e._events[t] ? e.on(t, r) : Array.isArray(e._events[t]) ? e._events[t].unshift(r) : (e._events[t] = [r, e._events[t]]) } function ca(e, t, r) { ;(Et = Et || it()), (e = e || {}), typeof r != 'boolean' && (r = t instanceof Et), (this.objectMode = !!e.objectMode), r && (this.objectMode = this.objectMode || !!e.readableObjectMode), (this.highWaterMark = Hd(this, e, 'readableHighWaterMark', r)), (this.buffer = new Wd()), (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 = e.emitClose !== !1), (this.autoDestroy = !!e.autoDestroy), (this.destroyed = !1), (this.defaultEncoding = e.defaultEncoding || 'utf8'), (this.awaitDrain = 0), (this.readingMore = !1), (this.decoder = null), (this.encoding = null), e.encoding && (xt || (xt = yn().StringDecoder), (this.decoder = new xt(e.encoding)), (this.encoding = e.encoding)) } function A(e) { if (((Et = Et || it()), !(this instanceof A))) return new A(e) var t = this instanceof Et ;(this._readableState = new ca(e, this, t)), (this.readable = !0), e && (typeof e.read == 'function' && (this._read = e.read), typeof e.destroy == 'function' && (this._destroy = e.destroy)), $t.call(this) } Object.defineProperty(A.prototype, 'destroyed', { enumerable: !1, get: function () { return this._readableState === void 0 ? !1 : this._readableState.destroyed }, set: function (t) { this._readableState && (this._readableState.destroyed = t) }, }) A.prototype.destroy = In.destroy A.prototype._undestroy = In.undestroy A.prototype._destroy = function (e, t) { t(e) } A.prototype.push = function (e, t) { var r = this._readableState, i return ( r.objectMode ? (i = !0) : typeof e == 'string' && ((t = t || r.defaultEncoding), t !== r.encoding && ((e = Gr.from(e, t)), (t = '')), (i = !0)), ha(this, e, t, !1, i) ) } A.prototype.unshift = function (e) { return ha(this, e, null, !0, !1) } function ha(e, t, r, i, n) { P('readableAddChunk', t) var s = e._readableState if (t === null) (s.reading = !1), Xd(e, s) else { var o if ((n || (o = Qd(s, t)), o)) Ht(e, o) else if (s.objectMode || (t && t.length > 0)) if ( (typeof t != 'string' && !s.objectMode && Object.getPrototypeOf(t) !== Gr.prototype && (t = jd(t)), i) ) s.endEmitted ? Ht(e, new Kd()) : xn(e, s, t, !0) else if (s.ended) Ht(e, new Gd()) else { if (s.destroyed) return !1 ;(s.reading = !1), s.decoder && !r ? ((t = s.decoder.write(t)), s.objectMode || t.length !== 0 ? xn(e, s, t, !1) : Tn(e, s)) : xn(e, s, t, !1) } else i || ((s.reading = !1), Tn(e, s)) } return !s.ended && (s.length < s.highWaterMark || s.length === 0) } function xn(e, t, r, i) { t.flowing && t.length === 0 && !t.sync ? ((t.awaitDrain = 0), e.emit('data', r)) : ((t.length += t.objectMode ? 1 : r.length), i ? t.buffer.unshift(r) : t.buffer.push(r), t.needReadable && Kr(e)), Tn(e, t) } function Qd(e, t) { var r return ( !Fd(t) && typeof t != 'string' && t !== void 0 && !e.objectMode && (r = new $d('chunk', ['string', 'Buffer', 'Uint8Array'], t)), r ) } A.prototype.isPaused = function () { return this._readableState.flowing === !1 } A.prototype.setEncoding = function (e) { xt || (xt = yn().StringDecoder) var t = new xt(e) ;(this._readableState.decoder = t), (this._readableState.encoding = this._readableState.decoder.encoding) for (var r = this._readableState.buffer.head, i = ''; r !== null; ) (i += t.write(r.data)), (r = r.next) return ( this._readableState.buffer.clear(), i !== '' && this._readableState.buffer.push(i), (this._readableState.length = i.length), this ) } var fa = 1073741824 function Jd(e) { return ( e >= fa ? (e = fa) : (e--, (e |= e >>> 1), (e |= e >>> 2), (e |= e >>> 4), (e |= e >>> 8), (e |= e >>> 16), e++), e ) } function la(e, t) { return e <= 0 || (t.length === 0 && t.ended) ? 0 : t.objectMode ? 1 : e !== e ? t.flowing && t.length ? t.buffer.head.data.length : t.length : (e > t.highWaterMark && (t.highWaterMark = Jd(e)), e <= t.length ? e : t.ended ? t.length : ((t.needReadable = !0), 0)) } A.prototype.read = function (e) { P('read', e), (e = parseInt(e, 10)) var t = this._readableState, r = e if ( (e !== 0 && (t.emittedReadable = !1), e === 0 && t.needReadable && ((t.highWaterMark !== 0 ? t.length >= t.highWaterMark : t.length > 0) || t.ended)) ) return ( P('read: emitReadable', t.length, t.ended), t.length === 0 && t.ended ? Cn(this) : Kr(this), null ) if (((e = la(e, t)), e === 0 && t.ended)) return t.length === 0 && Cn(this), null var i = t.needReadable P('need readable', i), (t.length === 0 || t.length - e < t.highWaterMark) && ((i = !0), P('length less than watermark', i)), t.ended || t.reading ? ((i = !1), P('reading or ended', i)) : i && (P('do read'), (t.reading = !0), (t.sync = !0), t.length === 0 && (t.needReadable = !0), this._read(t.highWaterMark), (t.sync = !1), t.reading || (e = la(r, t))) var n return ( e > 0 ? (n = _a(e, t)) : (n = null), n === null ? ((t.needReadable = t.length <= t.highWaterMark), (e = 0)) : ((t.length -= e), (t.awaitDrain = 0)), t.length === 0 && (t.ended || (t.needReadable = !0), r !== e && t.ended && Cn(this)), n !== null && this.emit('data', n), n ) } function Xd(e, t) { if ((P('onEofChunk'), !t.ended)) { if (t.decoder) { var r = t.decoder.end() r && r.length && (t.buffer.push(r), (t.length += t.objectMode ? 1 : r.length)) } ;(t.ended = !0), t.sync ? Kr(e) : ((t.needReadable = !1), t.emittedReadable || ((t.emittedReadable = !0), da(e))) } } function Kr(e) { var t = e._readableState P('emitReadable', t.needReadable, t.emittedReadable), (t.needReadable = !1), t.emittedReadable || (P('emitReadable', t.flowing), (t.emittedReadable = !0), process.nextTick(da, e)) } function da(e) { var t = e._readableState P('emitReadable_', t.destroyed, t.length, t.ended), !t.destroyed && (t.length || t.ended) && (e.emit('readable'), (t.emittedReadable = !1)), (t.needReadable = !t.flowing && !t.ended && t.length <= t.highWaterMark), On(e) } function Tn(e, t) { t.readingMore || ((t.readingMore = !0), process.nextTick(Zd, e, t)) } function Zd(e, t) { for ( ; !t.reading && !t.ended && (t.length < t.highWaterMark || (t.flowing && t.length === 0)); ) { var r = t.length if ((P('maybeReadMore read 0'), e.read(0), r === t.length)) break } t.readingMore = !1 } A.prototype._read = function (e) { Ht(this, new zd('_read()')) } A.prototype.pipe = function (e, t) { var r = this, i = this._readableState switch (i.pipesCount) { case 0: i.pipes = e break case 1: i.pipes = [i.pipes, e] break default: i.pipes.push(e) break } ;(i.pipesCount += 1), P('pipe count=%d opts=%j', i.pipesCount, t) var n = (!t || t.end !== !1) && e !== process.stdout && e !== process.stderr, s = n ? f : v i.endEmitted ? process.nextTick(s) : r.once('end', s), e.on('unpipe', o) function o(m, p) { P('onunpipe'), m === r && p && p.hasUnpiped === !1 && ((p.hasUnpiped = !0), u()) } function f() { P('onend'), e.end() } var a = ep(r) e.on('drain', a) var l = !1 function u() { P('cleanup'), e.removeListener('close', d), e.removeListener('finish', _), e.removeListener('drain', a), e.removeListener('error', c), e.removeListener('unpipe', o), r.removeListener('end', f), r.removeListener('end', v), r.removeListener('data', h), (l = !0), i.awaitDrain && (!e._writableState || e._writableState.needDrain) && a() } r.on('data', h) function h(m) { P('ondata') var p = e.write(m) P('dest.write', p), p === !1 && (((i.pipesCount === 1 && i.pipes === e) || (i.pipesCount > 1 && ga(i.pipes, e) !== -1)) && !l && (P('false write response, pause', i.awaitDrain), i.awaitDrain++), r.pause()) } function c(m) { P('onerror', m), v(), e.removeListener('error', c), ua(e, 'error') === 0 && Ht(e, m) } Yd(e, 'error', c) function d() { e.removeListener('finish', _), v() } e.once('close', d) function _() { P('onfinish'), e.removeListener('close', d), v() } e.once('finish', _) function v() { P('unpipe'), r.unpipe(e) } return e.emit('pipe', r), i.flowing || (P('pipe resume'), r.resume()), e } function ep(e) { return function () { var r = e._readableState P('pipeOnDrain', r.awaitDrain), r.awaitDrain && r.awaitDrain--, r.awaitDrain === 0 && ua(e, 'data') && ((r.flowing = !0), On(e)) } } A.prototype.unpipe = function (e) { var t = this._readableState, r = { hasUnpiped: !1 } if (t.pipesCount === 0) return this if (t.pipesCount === 1) return e && e !== t.pipes ? this : (e || (e = t.pipes), (t.pipes = null), (t.pipesCount = 0), (t.flowing = !1), e && e.emit('unpipe', this, r), this) if (!e) { var i = t.pipes, n = t.pipesCount ;(t.pipes = null), (t.pipesCount = 0), (t.flowing = !1) for (var s = 0; s < n; s++) i[s].emit('unpipe', this, { hasUnpiped: !1 }) return this } var o = ga(t.pipes, e) return o === -1 ? this : (t.pipes.splice(o, 1), (t.pipesCount -= 1), t.pipesCount === 1 && (t.pipes = t.pipes[0]), e.emit('unpipe', this, r), this) } A.prototype.on = function (e, t) { var r = $t.prototype.on.call(this, e, t), i = this._readableState return ( e === 'data' ? ((i.readableListening = this.listenerCount('readable') > 0), i.flowing !== !1 && this.resume()) : e === 'readable' && !i.endEmitted && !i.readableListening && ((i.readableListening = i.needReadable = !0), (i.flowing = !1), (i.emittedReadable = !1), P('on readable', i.length, i.reading), i.length ? Kr(this) : i.reading || process.nextTick(tp, this)), r ) } A.prototype.addListener = A.prototype.on A.prototype.removeListener = function (e, t) { var r = $t.prototype.removeListener.call(this, e, t) return e === 'readable' && process.nextTick(pa, this), r } A.prototype.removeAllListeners = function (e) { var t = $t.prototype.removeAllListeners.apply(this, arguments) return (e === 'readable' || e === void 0) && process.nextTick(pa, this), t } function pa(e) { var t = e._readableState ;(t.readableListening = e.listenerCount('readable') > 0), t.resumeScheduled && !t.paused ? (t.flowing = !0) : e.listenerCount('data') > 0 && e.resume() } function tp(e) { P('readable nexttick read 0'), e.read(0) } A.prototype.resume = function () { var e = this._readableState return ( e.flowing || (P('resume'), (e.flowing = !e.readableListening), rp(this, e)), (e.paused = !1), this ) } function rp(e, t) { t.resumeScheduled || ((t.resumeScheduled = !0), process.nextTick(ip, e, t)) } function ip(e, t) { P('resume', t.reading), t.reading || e.read(0), (t.resumeScheduled = !1), e.emit('resume'), On(e), t.flowing && !t.reading && e.read(0) } A.prototype.pause = function () { return ( P('call pause flowing=%j', this._readableState.flowing), this._readableState.flowing !== !1 && (P('pause'), (this._readableState.flowing = !1), this.emit('pause')), (this._readableState.paused = !0), this ) } function On(e) { var t = e._readableState for (P('flow', t.flowing); t.flowing && e.read() !== null; ); } A.prototype.wrap = function (e) { var t = this, r = this._readableState, i = !1 e.on('end', function () { if ((P('wrapped end'), r.decoder && !r.ended)) { var o = r.decoder.end() o && o.length && t.push(o) } t.push(null) }), e.on('data', function (o) { if ( (P('wrapped data'), r.decoder && (o = r.decoder.write(o)), !(r.objectMode && o == null) && !(!r.objectMode && (!o || !o.length))) ) { var f = t.push(o) f || ((i = !0), e.pause()) } }) for (var n in e) this[n] === void 0 && typeof e[n] == 'function' && (this[n] = (function (f) { return function () { return e[f].apply(e, arguments) } })(n)) for (var s = 0; s < En.length; s++) e.on(En[s], this.emit.bind(this, En[s])) return ( (this._read = function (o) { P('wrapped _read', o), i && ((i = !1), e.resume()) }), this ) } typeof Symbol == 'function' && (A.prototype[Symbol.asyncIterator] = function () { return wn === void 0 && (wn = ia()), wn(this) }) Object.defineProperty(A.prototype, 'readableHighWaterMark', { enumerable: !1, get: function () { return this._readableState.highWaterMark }, }) Object.defineProperty(A.prototype, 'readableBuffer', { enumerable: !1, get: function () { return this._readableState && this._readableState.buffer }, }) Object.defineProperty(A.prototype, 'readableFlowing', { enumerable: !1, get: function () { return this._readableState.flowing }, set: function (t) { this._readableState && (this._readableState.flowing = t) }, }) A._fromList = _a Object.defineProperty(A.prototype, 'readableLength', { enumerable: !1, get: function () { return this._readableState.length }, }) function _a(e, t) { if (t.length === 0) return null var r return ( t.objectMode ? (r = t.buffer.shift()) : !e || e >= t.length ? (t.decoder ? (r = t.buffer.join('')) : t.buffer.length === 1 ? (r = t.buffer.first()) : (r = t.buffer.concat(t.length)), t.buffer.clear()) : (r = t.buffer.consume(e, t.decoder)), r ) } function Cn(e) { var t = e._readableState P('endReadable', t.endEmitted), t.endEmitted || ((t.ended = !0), process.nextTick(np, t, e)) } function np(e, t) { if ( (P('endReadableNT', e.endEmitted, e.length), !e.endEmitted && e.length === 0 && ((e.endEmitted = !0), (t.readable = !1), t.emit('end'), e.autoDestroy)) ) { var r = t._writableState ;(!r || (r.autoDestroy && r.finished)) && t.destroy() } } typeof Symbol == 'function' && (A.from = function (e, t) { return Sn === void 0 && (Sn = aa()), Sn(A, e, t) }) function ga(e, t) { for (var r = 0, i = e.length; r < i; r++) if (e[r] === t) return r return -1 } }) var kn = b((Km, va) => { 'use strict' va.exports = ke var Yr = Ue().codes, sp = Yr.ERR_METHOD_NOT_IMPLEMENTED, op = Yr.ERR_MULTIPLE_CALLBACK, ap = Yr.ERR_TRANSFORM_ALREADY_TRANSFORMING, fp = Yr.ERR_TRANSFORM_WITH_LENGTH_0, Qr = it() ie()(ke, Qr) function lp(e, t) { var r = this._transformState r.transforming = !1 var i = r.writecb if (i === null) return this.emit('error', new op()) ;(r.writechunk = null), (r.writecb = null), t != null && this.push(t), i(e) var n = this._readableState ;(n.reading = !1), (n.needReadable || n.length < n.highWaterMark) && this._read(n.highWaterMark) } function ke(e) { if (!(this instanceof ke)) return new ke(e) Qr.call(this, e), (this._transformState = { afterTransform: lp.bind(this), needTransform: !1, transforming: !1, writecb: null, writechunk: null, writeencoding: null, }), (this._readableState.needReadable = !0), (this._readableState.sync = !1), e && (typeof e.transform == 'function' && (this._transform = e.transform), typeof e.flush == 'function' && (this._flush = e.flush)), this.on('prefinish', up) } function up() { var e = this typeof this._flush == 'function' && !this._readableState.destroyed ? this._flush(function (t, r) { ya(e, t, r) }) : ya(this, null, null) } ke.prototype.push = function (e, t) { return ( (this._transformState.needTransform = !1), Qr.prototype.push.call(this, e, t) ) } ke.prototype._transform = function (e, t, r) { r(new sp('_transform()')) } ke.prototype._write = function (e, t, r) { var i = this._transformState if ( ((i.writecb = r), (i.writechunk = e), (i.writeencoding = t), !i.transforming) ) { var n = this._readableState ;(i.needTransform || n.needReadable || n.length < n.highWaterMark) && this._read(n.highWaterMark) } } ke.prototype._read = function (e) { var t = this._transformState t.writechunk !== null && !t.transforming ? ((t.transforming = !0), this._transform(t.writechunk, t.writeencoding, t.afterTransform)) : (t.needTransform = !0) } ke.prototype._destroy = function (e, t) { Qr.prototype._destroy.call(this, e, function (r) { t(r) }) } function ya(e, t, r) { if (t) return e.emit('error', t) if ((r != null && e.push(r), e._writableState.length)) throw new fp() if (e._transformState.transforming) throw new ap() return e.push(null) } }) var Sa = b((Ym, wa) => { 'use strict' wa.exports = Gt var ma = kn() ie()(Gt, ma) function Gt(e) { if (!(this instanceof Gt)) return new Gt(e) ma.call(this, e) } Gt.prototype._transform = function (e, t, r) { r(null, e) } }) var Ia = b((Qm, Ta) => { 'use strict' var Rn function cp(e) { var t = !1 return function () { t || ((t = !0), e.apply(void 0, arguments)) } } var Ca = Ue().codes, hp = Ca.ERR_MISSING_ARGS, dp = Ca.ERR_STREAM_DESTROYED function Ea(e) { if (e) throw e } function pp(e) { return e.setHeader && typeof e.abort == 'function' } function _p(e, t, r, i) { i = cp(i) var n = !1 e.on('close', function () { n = !0 }), Rn === void 0 && (Rn = Vr()), Rn(e, { readable: t, writable: r }, function (o) { if (o) return i(o) ;(n = !0), i() }) var s = !1 return function (o) { if (!n && !s) { if (((s = !0), pp(e))) return e.abort() if (typeof e.destroy == 'function') return e.destroy() i(o || new dp('pipe')) } } } function xa(e) { e() } function gp(e, t) { return e.pipe(t) } function bp(e) { return !e.length || typeof e[e.length - 1] != 'function' ? Ea : e.pop() } function yp() { for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r] var i = bp(t) if ((Array.isArray(t[0]) && (t = t[0]), t.length < 2)) throw new hp('streams') var n, s = t.map(function (o, f) { var a = f < t.length - 1, l = f > 0 return _p(o, a, l, function (u) { n || (n = u), u && s.forEach(xa), !a && (s.forEach(xa), i(n)) }) }) return t.reduce(gp) } Ta.exports = yp }) var He = b((de, Kt) => { var zt = require('stream') process.env.READABLE_STREAM === 'disable' && zt ? ((Kt.exports = zt.Readable), Object.assign(Kt.exports, zt), (Kt.exports.Stream = zt)) : ((de = Kt.exports = pn()), (de.Stream = zt || de), (de.Readable = de), (de.Writable = cn()), (de.Duplex = it()), (de.Transform = kn()), (de.PassThrough = Sa()), (de.finished = Vr()), (de.pipeline = Ia())) }) var Jr = b((Jm, Oa) => { 'use strict' var vp = Mr(), mp = He().Readable, wp = { objectMode: !0 }, Sp = { clean: !0 } function $e(e) { if (!(this instanceof $e)) return new $e(e) ;(this.options = e || {}), (this.options = vp(Sp, e)), (this._inflights = new Map()) } $e.prototype.put = function (e, t) { return this._inflights.set(e.messageId, e), t && t(), this } $e.prototype.createStream = function () { var e = new mp(wp), t = !1, r = [], i = 0 return ( this._inflights.forEach(function (n, s) { r.push(n) }), (e._read = function () { !t && i < r.length ? this.push(r[i++]) : this.push(null) }), (e.destroy = function () { if (!t) { var n = this ;(t = !0), setTimeout(function () { n.emit('close') }, 0) } }), e ) } $e.prototype.del = function (e, t) { return ( (e = this._inflights.get(e.messageId)), e ? (this._inflights.delete(e.messageId), t(null, e)) : t && t(new Error('missing packet')), this ) } $e.prototype.get = function (e, t) { return ( (e = this._inflights.get(e.messageId)), e ? t(null, e) : t && t(new Error('missing packet')), this ) } $e.prototype.close = function (e) { this.options.clean && (this._inflights = null), e && e() } Oa.exports = $e }) var Pa = b((Xm, Ra) => { 'use strict' var { Buffer: me } = require('buffer'), ka = Symbol.for('BufferList') function W(e) { if (!(this instanceof W)) return new W(e) W._init.call(this, e) } W._init = function (t) { Object.defineProperty(this, ka, { value: !0 }), (this._bufs = []), (this.length = 0), t && this.append(t) } W.prototype._new = function (t) { return new W(t) } W.prototype._offset = function (t) { if (t === 0) return [0, 0] let r = 0 for (let i = 0; i < this._bufs.length; i++) { let n = r + this._bufs[i].length if (t < n || i === this._bufs.length - 1) return [i, t - r] r = n } } W.prototype._reverseOffset = function (e) { let t = e[0], r = e[1] for (let i = 0; i < t; i++) r += this._bufs[i].length return r } W.prototype.get = function (t) { if (t > this.length || t < 0) return let r = this._offset(t) return this._bufs[r[0]][r[1]] } W.prototype.slice = function (t, r) { return ( typeof t == 'number' && t < 0 && (t += this.length), typeof r == 'number' && r < 0 && (r += this.length), this.copy(null, 0, t, r) ) } W.prototype.copy = function (t, r, i, n) { if ( ((typeof i != 'number' || i < 0) && (i = 0), (typeof n != 'number' || n > this.length) && (n = this.length), i >= this.length || n <= 0) ) return t || me.alloc(0) let s = !!t, o = this._offset(i), f = n - i, a = f, l = (s && r) || 0, u = o[1] if (i === 0 && n === this.length) { if (!s) return this._bufs.length === 1 ? this._bufs[0] : me.concat(this._bufs, this.length) for (let h = 0; h < this._bufs.length; h++) this._bufs[h].copy(t, l), (l += this._bufs[h].length) return t } if (a <= this._bufs[o[0]].length - u) return s ? this._bufs[o[0]].copy(t, r, u, u + a) : this._bufs[o[0]].slice(u, u + a) s || (t = me.allocUnsafe(f)) for (let h = o[0]; h < this._bufs.length; h++) { let c = this._bufs[h].length - u if (a > c) this._bufs[h].copy(t, l, u), (l += c) else { this._bufs[h].copy(t, l, u, u + a), (l += c) break } ;(a -= c), u && (u = 0) } return t.length > l ? t.slice(0, l) : t } W.prototype.shallowSlice = function (t, r) { if ( ((t = t || 0), (r = typeof r != 'number' ? this.length : r), t < 0 && (t += this.length), r < 0 && (r += this.length), t === r) ) return this._new() let i = this._offset(t), n = this._offset(r), s = this._bufs.slice(i[0], n[0] + 1) return ( n[1] === 0 ? s.pop() : (s[s.length - 1] = s[s.length - 1].slice(0, n[1])), i[1] !== 0 && (s[0] = s[0].slice(i[1])), this._new(s) ) } W.prototype.toString = function (t, r, i) { return this.slice(r, i).toString(t) } W.prototype.consume = function (t) { if (((t = Math.trunc(t)), Number.isNaN(t) || t <= 0)) return this for (; this._bufs.length; ) if (t >= this._bufs[0].length) (t -= this._bufs[0].length), (this.length -= this._bufs[0].length), this._bufs.shift() else { ;(this._bufs[0] = this._bufs[0].slice(t)), (this.length -= t) break } return this } W.prototype.duplicate = function () { let t = this._new() for (let r = 0; r < this._bufs.length; r++) t.append(this._bufs[r]) return t } W.prototype.append = function (t) { if (t == null) return this if (t.buffer) this._appendBuffer(me.from(t.buffer, t.byteOffset, t.byteLength)) else if (Array.isArray(t)) for (let r = 0; r < t.length; r++) this.append(t[r]) else if (this._isBufferList(t)) for (let r = 0; r < t._bufs.length; r++) this.append(t._bufs[r]) else typeof t == 'number' && (t = t.toString()), this._appendBuffer(me.from(t)) return this } W.prototype._appendBuffer = function (t) { this._bufs.push(t), (this.length += t.length) } W.prototype.indexOf = function (e, t, r) { if ( (r === void 0 && typeof t == 'string' && ((r = t), (t = void 0)), typeof e == 'function' || Array.isArray(e)) ) throw new TypeError( 'The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.', ) if ( (typeof e == 'number' ? (e = me.from([e])) : typeof e == 'string' ? (e = me.from(e, r)) : this._isBufferList(e) ? (e = e.slice()) : Array.isArray(e.buffer) ? (e = me.from(e.buffer, e.byteOffset, e.byteLength)) : me.isBuffer(e) || (e = me.from(e)), (t = Number(t || 0)), isNaN(t) && (t = 0), t < 0 && (t = this.length + t), t < 0 && (t = 0), e.length === 0) ) return t > this.length ? this.length : t let i = this._offset(t), n = i[0], s = i[1] for (; n < this._bufs.length; n++) { let o = this._bufs[n] for (; s < o.length; ) if (o.length - s >= e.length) { let a = o.indexOf(e, s) if (a !== -1) return this._reverseOffset([n, a]) s = o.length - e.length + 1 } else { let a = this._reverseOffset([n, s]) if (this._match(a, e)) return a s++ } s = 0 } return -1 } W.prototype._match = function (e, t) { if (this.length - e < t.length) return !1 for (let r = 0; r < t.length; r++) if (this.get(e + r) !== t[r]) return !1 return !0 } ;(function () { let e = { readDoubleBE: 8, readDoubleLE: 8, readFloatBE: 4, readFloatLE: 4, readInt32BE: 4, readInt32LE: 4, readUInt32BE: 4, readUInt32LE: 4, readInt16BE: 2, readInt16LE: 2, readUInt16BE: 2, readUInt16LE: 2, readInt8: 1, readUInt8: 1, readIntBE: null, readIntLE: null, readUIntBE: null, readUIntLE: null, } for (let t in e) (function (r) { e[r] === null ? (W.prototype[r] = function (i, n) { return this.slice(i, i + n)[r](0, n) }) : (W.prototype[r] = function (i = 0) { return this.slice(i, i + e[r])[r](0) }) })(t) })() W.prototype._isBufferList = function (t) { return t instanceof W || W.isBufferList(t) } W.isBufferList = function (t) { return t != null && t[ka] } Ra.exports = W }) var Ba = b((Zm, Xr) => { 'use strict' var Pn = He().Duplex, Ep = ie(), Yt = Pa() function ee(e) { if (!(this instanceof ee)) return new ee(e) if (typeof e == 'function') { this._callback = e let t = function (i) { this._callback && (this._callback(i), (this._callback = null)) }.bind(this) this.on('pipe', function (i) { i.on('error', t) }), this.on('unpipe', function (i) { i.removeListener('error', t) }), (e = null) } Yt._init.call(this, e), Pn.call(this) } Ep(ee, Pn) Object.assign(ee.prototype, Yt.prototype) ee.prototype._new = function (t) { return new ee(t) } ee.prototype._write = function (t, r, i) { this._appendBuffer(t), typeof i == 'function' && i() } ee.prototype._read = function (t) { if (!this.length) return this.push(null) ;(t = Math.min(t, this.length)), this.push(this.slice(0, t)), this.consume(t) } ee.prototype.end = function (t) { Pn.prototype.end.call(this, t), this._callback && (this._callback(null, this.slice()), (this._callback = null)) } ee.prototype._destroy = function (t, r) { ;(this._bufs.length = 0), (this.length = 0), r(t) } ee.prototype._isBufferList = function (t) { return t instanceof ee || t instanceof Yt || ee.isBufferList(t) } ee.isBufferList = Yt.isBufferList Xr.exports = ee Xr.exports.BufferListStream = ee Xr.exports.BufferList = Yt }) var Na = b((ew, Aa) => { var Bn = class { constructor() { ;(this.cmd = null), (this.retain = !1), (this.qos = 0), (this.dup = !1), (this.length = -1), (this.topic = null), (this.payload = null) } } Aa.exports = Bn }) var An = b((tw, Ma) => { var E = Ma.exports E.types = { 0: 'reserved', 1: 'connect', 2: 'connack', 3: 'publish', 4: 'puback', 5: 'pubrec', 6: 'pubrel', 7: 'pubcomp', 8: 'subscribe', 9: 'suback', 10: 'unsubscribe', 11: 'unsuback', 12: 'pingreq', 13: 'pingresp', 14: 'disconnect', 15: 'auth', } E.codes = {} for (let e in E.types) { let t = E.types[e] E.codes[t] = e } E.CMD_SHIFT = 4 E.CMD_MASK = 240 E.DUP_MASK = 8 E.QOS_MASK = 3 E.QOS_SHIFT = 1 E.RETAIN_MASK = 1 E.VARBYTEINT_MASK = 127 E.VARBYTEINT_FIN_MASK = 128 E.VARBYTEINT_MAX = 268435455 E.SESSIONPRESENT_MASK = 1 E.SESSIONPRESENT_HEADER = Buffer.from([E.SESSIONPRESENT_MASK]) E.CONNACK_HEADER = Buffer.from([E.codes.connack << E.CMD_SHIFT]) E.USERNAME_MASK = 128 E.PASSWORD_MASK = 64 E.WILL_RETAIN_MASK = 32 E.WILL_QOS_MASK = 24 E.WILL_QOS_SHIFT = 3 E.WILL_FLAG_MASK = 4 E.CLEAN_SESSION_MASK = 2 E.CONNECT_HEADER = Buffer.from([E.codes.connect << E.CMD_SHIFT]) E.properties = { sessionExpiryInterval: 17, willDelayInterval: 24, receiveMaximum: 33, maximumPacketSize: 39, topicAliasMaximum: 34, requestResponseInformation: 25, requestProblemInformation: 23, userProperties: 38, authenticationMethod: 21, authenticationData: 22, payloadFormatIndicator: 1, messageExpiryInterval: 2, contentType: 3, responseTopic: 8, correlationData: 9, maximumQoS: 36, retainAvailable: 37, assignedClientIdentifier: 18, reasonString: 31, wildcardSubscriptionAvailable: 40, subscriptionIdentifiersAvailable: 41, sharedSubscriptionAvailable: 42, serverKeepAlive: 19, responseInformation: 26, serverReference: 28, topicAlias: 35, subscriptionIdentifier: 11, } E.propertiesCodes = {} for (let e in E.properties) { let t = E.properties[e] E.propertiesCodes[t] = e } E.propertiesTypes = { sessionExpiryInterval: 'int32', willDelayInterval: 'int32', receiveMaximum: 'int16', maximumPacketSize: 'int32', topicAliasMaximum: 'int16', requestResponseInformation: 'byte', requestProblemInformation: 'byte', userProperties: 'pair', authenticationMethod: 'string', authenticationData: 'binary', payloadFormatIndicator: 'byte', messageExpiryInterval: 'int32', contentType: 'string', responseTopic: 'string', correlationData: 'binary', maximumQoS: 'int8', retainAvailable: 'byte', assignedClientIdentifier: 'string', reasonString: 'string', wildcardSubscriptionAvailable: 'byte', subscriptionIdentifiersAvailable: 'byte', sharedSubscriptionAvailable: 'byte', serverKeepAlive: 'int16', responseInformation: 'string', serverReference: 'string', topicAlias: 'int16', subscriptionIdentifier: 'var', } function Ge(e) { return [0, 1, 2].map((t) => [0, 1].map((r) => [0, 1].map((i) => { let n = Buffer.alloc(1) return ( n.writeUInt8( (E.codes[e] << E.CMD_SHIFT) | (r ? E.DUP_MASK : 0) | (t << E.QOS_SHIFT) | i, 0, !0, ), n ) }), ), ) } E.PUBLISH_HEADER = Ge('publish') E.SUBSCRIBE_HEADER = Ge('subscribe') E.SUBSCRIBE_OPTIONS_QOS_MASK = 3 E.SUBSCRIBE_OPTIONS_NL_MASK = 1 E.SUBSCRIBE_OPTIONS_NL_SHIFT = 2 E.SUBSCRIBE_OPTIONS_RAP_MASK = 1 E.SUBSCRIBE_OPTIONS_RAP_SHIFT = 3 E.SUBSCRIBE_OPTIONS_RH_MASK = 3 E.SUBSCRIBE_OPTIONS_RH_SHIFT = 4 E.SUBSCRIBE_OPTIONS_RH = [0, 16, 32] E.SUBSCRIBE_OPTIONS_NL = 4 E.SUBSCRIBE_OPTIONS_RAP = 8 E.SUBSCRIBE_OPTIONS_QOS = [0, 1, 2] E.UNSUBSCRIBE_HEADER = Ge('unsubscribe') E.ACKS = { unsuback: Ge('unsuback'), puback: Ge('puback'), pubcomp: Ge('pubcomp'), pubrel: Ge('pubrel'), pubrec: Ge('pubrec'), } E.SUBACK_HEADER = Buffer.from([E.codes.suback << E.CMD_SHIFT]) E.VERSION3 = Buffer.from([3]) E.VERSION4 = Buffer.from([4]) E.VERSION5 = Buffer.from([5]) E.VERSION131 = Buffer.from([131]) E.VERSION132 = Buffer.from([132]) E.QOS = [0, 1, 2].map((e) => Buffer.from([e])) E.EMPTY = { pingreq: Buffer.from([E.codes.pingreq << 4, 0]), pingresp: Buffer.from([E.codes.pingresp << 4, 0]), disconnect: Buffer.from([E.codes.disconnect << 4, 0]), } }) var qa = b((rw, La) => { var Ct = 1e3, Tt = Ct * 60, It = Tt * 60, ft = It * 24, xp = ft * 7, Cp = ft * 365.25 La.exports = function (e, t) { t = t || {} var r = typeof e if (r === 'string' && e.length > 0) return Tp(e) if (r === 'number' && isFinite(e)) return t.long ? Op(e) : Ip(e) throw new Error( 'val is not a non-empty string or a valid number. val=' + JSON.stringify(e), ) } function Tp(e) { if (((e = String(e)), !(e.length > 100))) { var t = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( e, ) if (t) { var r = parseFloat(t[1]), i = (t[2] || 'ms').toLowerCase() switch (i) { case 'years': case 'year': case 'yrs': case 'yr': case 'y': return r * Cp case 'weeks': case 'week': case 'w': return r * xp case 'days': case 'day': case 'd': return r * ft case 'hours': case 'hour': case 'hrs': case 'hr': case 'h': return r * It case 'minutes': case 'minute': case 'mins': case 'min': case 'm': return r * Tt case 'seconds': case 'second': case 'secs': case 'sec': case 's': return r * Ct case 'milliseconds': case 'millisecond': case 'msecs': case 'msec': case 'ms': return r default: return } } } } function Ip(e) { var t = Math.abs(e) return t >= ft ? Math.round(e / ft) + 'd' : t >= It ? Math.round(e / It) + 'h' : t >= Tt ? Math.round(e / Tt) + 'm' : t >= Ct ? Math.round(e / Ct) + 's' : e + 'ms' } function Op(e) { var t = Math.abs(e) return t >= ft ? Zr(e, t, ft, 'day') : t >= It ? Zr(e, t, It, 'hour') : t >= Tt ? Zr(e, t, Tt, 'minute') : t >= Ct ? Zr(e, t, Ct, 'second') : e + ' ms' } function Zr(e, t, r, i) { var n = t >= r * 1.5 return Math.round(e / r) + ' ' + i + (n ? 's' : '') } }) var Nn = b((iw, Da) => { function kp(e) { ;(r.debug = r), (r.default = r), (r.coerce = a), (r.disable = s), (r.enable = n), (r.enabled = o), (r.humanize = qa()), (r.destroy = l), Object.keys(e).forEach((u) => { r[u] = e[u] }), (r.names = []), (r.skips = []), (r.formatters = {}) function t(u) { let h = 0 for (let c = 0; c < u.length; c++) (h = (h << 5) - h + u.charCodeAt(c)), (h |= 0) return r.colors[Math.abs(h) % r.colors.length] } r.selectColor = t function r(u) { let h, c = null, d, _ function v(...m) { if (!v.enabled) return let p = v, g = Number(new Date()), S = g - (h || g) ;(p.diff = S), (p.prev = h), (p.curr = g), (h = g), (m[0] = r.coerce(m[0])), typeof m[0] != 'string' && m.unshift('%O') let x = 0 ;(m[0] = m[0].replace(/%([a-zA-Z%])/g, (w, B) => { if (w === '%%') return '%' x++ let M = r.formatters[B] if (typeof M == 'function') { let H = m[x] ;(w = M.call(p, H)), m.splice(x, 1), x-- } return w })), r.formatArgs.call(p, m), (p.log || r.log).apply(p, m) } return ( (v.namespace = u), (v.useColors = r.useColors()), (v.color = r.selectColor(u)), (v.extend = i), (v.destroy = r.destroy), Object.defineProperty(v, 'enabled', { enumerable: !0, configurable: !1, get: () => c !== null ? c : (d !== r.namespaces && ((d = r.namespaces), (_ = r.enabled(u))), _), set: (m) => { c = m }, }), typeof r.init == 'function' && r.init(v), v ) } function i(u, h) { let c = r(this.namespace + (typeof h > 'u' ? ':' : h) + u) return (c.log = this.log), c } function n(u) { r.save(u), (r.namespaces = u), (r.names = []), (r.skips = []) let h, c = (typeof u == 'string' ? u : '').split(/[\s,]+/), d = c.length for (h = 0; h < d; h++) c[h] && ((u = c[h].replace(/\*/g, '.*?')), u[0] === '-' ? r.skips.push(new RegExp('^' + u.slice(1) + '$')) : r.names.push(new RegExp('^' + u + '$'))) } function s() { let u = [...r.names.map(f), ...r.skips.map(f).map((h) => '-' + h)].join( ',', ) return r.enable(''), u } function o(u) { if (u[u.length - 1] === '*') return !0 let h, c for (h = 0, c = r.skips.length; h < c; h++) if (r.skips[h].test(u)) return !1 for (h = 0, c = r.names.length; h < c; h++) if (r.names[h].test(u)) return !0 return !1 } function f(u) { return u .toString() .substring(2, u.toString().length - 2) .replace(/\.\*\?$/, '*') } function a(u) { return u instanceof Error ? u.stack || u.message : u } function l() { console.warn( 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.', ) } return r.enable(r.load()), r } Da.exports = kp }) var Ua = b((fe, ei) => { fe.formatArgs = Pp fe.save = Bp fe.load = Ap fe.useColors = Rp fe.storage = Np() fe.destroy = (() => { let e = !1 return () => { e || ((e = !0), console.warn( 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.', )) } })() fe.colors = [ '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33', ] function Rp() { return typeof window < 'u' && window.process && (window.process.type === 'renderer' || window.process.__nwjs) ? !0 : typeof navigator < 'u' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/) ? !1 : (typeof document < 'u' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || (typeof window < 'u' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || (typeof navigator < 'u' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || (typeof navigator < 'u' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)) } function Pp(e) { if ( ((e[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + e[0] + (this.useColors ? '%c ' : ' ') + '+' + ei.exports.humanize(this.diff)), !this.useColors) ) return let t = 'color: ' + this.color e.splice(1, 0, t, 'color: inherit') let r = 0, i = 0 e[0].replace(/%[a-zA-Z%]/g, (n) => { n !== '%%' && (r++, n === '%c' && (i = r)) }), e.splice(i, 0, t) } fe.log = console.debug || console.log || (() => {}) function Bp(e) { try { e ? fe.storage.setItem('debug', e) : fe.storage.removeItem('debug') } catch {} } function Ap() { let e try { e = fe.storage.getItem('debug') } catch {} return ( !e && typeof process < 'u' && 'env' in process && (e = process.env.DEBUG), e ) } function Np() { try { return localStorage } catch {} } ei.exports = Nn()(fe) var { formatters: Mp } = ei.exports Mp.j = function (e) { try { return JSON.stringify(e) } catch (t) { return '[UnexpectedJSONParseError]: ' + t.message } } }) var Fa = b((nw, ja) => { 'use strict' ja.exports = (e, t = process.argv) => { let r = e.startsWith('-') ? '' : e.length === 1 ? '-' : '--', i = t.indexOf(r + e), n = t.indexOf('--') return i !== -1 && (n === -1 || i < n) } }) var Ha = b((sw, Va) => { 'use strict' var Lp = require('os'), Wa = require('tty'), pe = Fa(), { env: Y } = process, ti pe('no-color') || pe('no-colors') || pe('color=false') || pe('color=never') ? (ti = 0) : (pe('color') || pe('colors') || pe('color=true') || pe('color=always')) && (ti = 1) function qp() { if ('FORCE_COLOR' in Y) return Y.FORCE_COLOR === 'true' ? 1 : Y.FORCE_COLOR === 'false' ? 0 : Y.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(Y.FORCE_COLOR, 10), 3) } function Dp(e) { return e === 0 ? !1 : { level: e, hasBasic: !0, has256: e >= 2, has16m: e >= 3 } } function Up(e, { streamIsTTY: t, sniffFlags: r = !0 } = {}) { let i = qp() i !== void 0 && (ti = i) let n = r ? ti : i if (n === 0) return 0 if (r) { if (pe('color=16m') || pe('color=full') || pe('color=truecolor')) return 3 if (pe('color=256')) return 2 } if (e && !t && n === void 0) return 0 let s = n || 0 if (Y.TERM === 'dumb') return s if (process.platform === 'win32') { let o = Lp.release().split('.') return Number(o[0]) >= 10 && Number(o[2]) >= 10586 ? Number(o[2]) >= 14931 ? 3 : 2 : 1 } if ('CI' in Y) return [ 'TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE', 'DRONE', ].some((o) => o in Y) || Y.CI_NAME === 'codeship' ? 1 : s if ('TEAMCITY_VERSION' in Y) return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Y.TEAMCITY_VERSION) ? 1 : 0 if (Y.COLORTERM === 'truecolor') return 3 if ('TERM_PROGRAM' in Y) { let o = Number.parseInt((Y.TERM_PROGRAM_VERSION || '').split('.')[0], 10) switch (Y.TERM_PROGRAM) { case 'iTerm.app': return o >= 3 ? 3 : 2 case 'Apple_Terminal': return 2 } } return /-256(color)?$/i.test(Y.TERM) ? 2 : /^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test( Y.TERM, ) || 'COLORTERM' in Y ? 1 : s } function Mn(e, t = {}) { let r = Up(e, { streamIsTTY: e && e.isTTY, ...t }) return Dp(r) } Va.exports = { supportsColor: Mn, stdout: Mn({ isTTY: Wa.isatty(1) }), stderr: Mn({ isTTY: Wa.isatty(2) }), } }) var Ga = b((Q, ii) => { var jp = require('tty'), ri = require('util') Q.init = zp Q.log = Hp Q.formatArgs = Wp Q.save = $p Q.load = Gp Q.useColors = Fp Q.destroy = ri.deprecate( () => {}, 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.', ) Q.colors = [6, 2, 3, 4, 5, 1] try { let e = Ha() e && (e.stderr || e).level >= 2 && (Q.colors = [ 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221, ]) } catch {} Q.inspectOpts = Object.keys(process.env) .filter((e) => /^debug_/i.test(e)) .reduce((e, t) => { let r = t .substring(6) .toLowerCase() .replace(/_([a-z])/g, (n, s) => s.toUpperCase()), i = process.env[t] return ( /^(yes|on|true|enabled)$/i.test(i) ? (i = !0) : /^(no|off|false|disabled)$/i.test(i) ? (i = !1) : i === 'null' ? (i = null) : (i = Number(i)), (e[r] = i), e ) }, {}) function Fp() { return 'colors' in Q.inspectOpts ? !!Q.inspectOpts.colors : jp.isatty(process.stderr.fd) } function Wp(e) { let { namespace: t, useColors: r } = this if (r) { let i = this.color, n = '\x1B[3' + (i < 8 ? i : '8;5;' + i), s = ` ${n};1m${t} \x1B[0m` ;(e[0] = s + e[0] .split( ` `, ) .join( ` ` + s, )), e.push(n + 'm+' + ii.exports.humanize(this.diff) + '\x1B[0m') } else e[0] = Vp() + t + ' ' + e[0] } function Vp() { return Q.inspectOpts.hideDate ? '' : new Date().toISOString() + ' ' } function Hp(...e) { return process.stderr.write( ri.format(...e) + ` `, ) } function $p(e) { e ? (process.env.DEBUG = e) : delete process.env.DEBUG } function Gp() { return process.env.DEBUG } function zp(e) { e.inspectOpts = {} let t = Object.keys(Q.inspectOpts) for (let r = 0; r < t.length; r++) e.inspectOpts[t[r]] = Q.inspectOpts[t[r]] } ii.exports = Nn()(Q) var { formatters: $a } = ii.exports $a.o = function (e) { return ( (this.inspectOpts.colors = this.useColors), ri .inspect(e, this.inspectOpts) .split( ` `, ) .map((t) => t.trim()) .join(' ') ) } $a.O = function (e) { return ( (this.inspectOpts.colors = this.useColors), ri.inspect(e, this.inspectOpts) ) } }) var ze = b((ow, Ln) => { typeof process > 'u' || process.type === 'renderer' || process.browser === !0 || process.__nwjs ? (Ln.exports = Ua()) : (Ln.exports = Ga()) }) var Ya = b((aw, Ka) => { var Kp = Ba(), Yp = require('events'), za = Na(), j = An(), I = ze()('mqtt-packet:parser'), qn = class e extends Yp { constructor() { super(), (this.parser = this.constructor.parser) } static parser(t) { return this instanceof e ? ((this.settings = t || {}), (this._states = [ '_parseHeader', '_parseLength', '_parsePayload', '_newPacket', ]), this._resetState(), this) : new e().parser(t) } _resetState() { I('_resetState: resetting packet, error, _list, and _stateCounter'), (this.packet = new za()), (this.error = null), (this._list = Kp()), (this._stateCounter = 0) } parse(t) { for ( this.error && this._resetState(), this._list.append(t), I('parse: current state: %s', this._states[this._stateCounter]); (this.packet.length !== -1 || this._list.length > 0) && this[this._states[this._stateCounter]]() && !this.error; ) this._stateCounter++, I( 'parse: state complete. _stateCounter is now: %d', this._stateCounter, ), I( 'parse: packet.length: %d, buffer list length: %d', this.packet.length, this._list.length, ), this._stateCounter >= this._states.length && (this._stateCounter = 0) return ( I( 'parse: exited while loop. packet: %d, buffer list length: %d', this.packet.length, this._list.length, ), this._list.length ) } _parseHeader() { let t = this._list.readUInt8(0) return ( (this.packet.cmd = j.types[t >> j.CMD_SHIFT]), (this.packet.retain = (t & j.RETAIN_MASK) !== 0), (this.packet.qos = (t >> j.QOS_SHIFT) & j.QOS_MASK), (this.packet.dup = (t & j.DUP_MASK) !== 0), I('_parseHeader: packet: %o', this.packet), this._list.consume(1), !0 ) } _parseLength() { let t = this._parseVarByteNum(!0) return ( t && ((this.packet.length = t.value), this._list.consume(t.bytes)), I('_parseLength %d', t.value), !!t ) } _parsePayload() { I('_parsePayload: payload %O', this._list) let t = !1 if ( this.packet.length === 0 || this._list.length >= this.packet.length ) { switch (((this._pos = 0), this.packet.cmd)) { case 'connect': this._parseConnect() break case 'connack': this._parseConnack() break case 'publish': this._parsePublish() break case 'puback': case 'pubrec': case 'pubrel': case 'pubcomp': this._parseConfirmation() break case 'subscribe': this._parseSubscribe() break case 'suback': this._parseSuback() break case 'unsubscribe': this._parseUnsubscribe() break case 'unsuback': this._parseUnsuback() break case 'pingreq': case 'pingresp': break case 'disconnect': this._parseDisconnect() break case 'auth': this._parseAuth() break default: this._emitError(new Error('Not supported')) } t = !0 } return I('_parsePayload complete result: %s', t), t } _parseConnect() { I('_parseConnect') let t, r, i, n, s = {}, o = this.packet, f = this._parseString() if (f === null) return this._emitError(new Error('Cannot parse protocolId')) if (f !== 'MQTT' && f !== 'MQIsdp') return this._emitError(new Error('Invalid protocolId')) if (((o.protocolId = f), this._pos >= this._list.length)) return this._emitError(new Error('Packet too short')) if ( ((o.protocolVersion = this._list.readUInt8(this._pos)), o.protocolVersion >= 128 && ((o.bridgeMode = !0), (o.protocolVersion = o.protocolVersion - 128)), o.protocolVersion !== 3 && o.protocolVersion !== 4 && o.protocolVersion !== 5) ) return this._emitError(new Error('Invalid protocol version')) if ((this._pos++, this._pos >= this._list.length)) return this._emitError(new Error('Packet too short')) if ( ((s.username = this._list.readUInt8(this._pos) & j.USERNAME_MASK), (s.password = this._list.readUInt8(this._pos) & j.PASSWORD_MASK), (s.will = this._list.readUInt8(this._pos) & j.WILL_FLAG_MASK), s.will && ((o.will = {}), (o.will.retain = (this._list.readUInt8(this._pos) & j.WILL_RETAIN_MASK) !== 0), (o.will.qos = (this._list.readUInt8(this._pos) & j.WILL_QOS_MASK) >> j.WILL_QOS_SHIFT)), (o.clean = (this._list.readUInt8(this._pos) & j.CLEAN_SESSION_MASK) !== 0), this._pos++, (o.keepalive = this._parseNum()), o.keepalive === -1) ) return this._emitError(new Error('Packet too short')) if (o.protocolVersion === 5) { let l = this._parseProperties() Object.getOwnPropertyNames(l).length && (o.properties = l) } let a = this._parseString() if (a === null) return this._emitError(new Error('Packet too short')) if ( ((o.clientId = a), I('_parseConnect: packet.clientId: %s', o.clientId), s.will) ) { if (o.protocolVersion === 5) { let l = this._parseProperties() Object.getOwnPropertyNames(l).length && (o.will.properties = l) } if (((t = this._parseString()), t === null)) return this._emitError(new Error('Cannot parse will topic')) if ( ((o.will.topic = t), I('_parseConnect: packet.will.topic: %s', o.will.topic), (r = this._parseBuffer()), r === null) ) return this._emitError(new Error('Cannot parse will payload')) ;(o.will.payload = r), I('_parseConnect: packet.will.paylaod: %s', o.will.payload) } if (s.username) { if (((n = this._parseString()), n === null)) return this._emitError(new Error('Cannot parse username')) ;(o.username = n), I('_parseConnect: packet.username: %s', o.username) } if (s.password) { if (((i = this._parseBuffer()), i === null)) return this._emitError(new Error('Cannot parse password')) o.password = i } return (this.settings = o), I('_parseConnect: complete'), o } _parseConnack() { I('_parseConnack') let t = this.packet if (this._list.length < 1) return null if ( ((t.sessionPresent = !!( this._list.readUInt8(this._pos++) & j.SESSIONPRESENT_MASK )), this.settings.protocolVersion === 5) ) this._list.length >= 2 ? (t.reasonCode = this._list.readUInt8(this._pos++)) : (t.reasonCode = 0) else { if (this._list.length < 2) return null t.returnCode = this._list.readUInt8(this._pos++) } if (t.returnCode === -1 || t.reasonCode === -1) return this._emitError(new Error('Cannot parse return code')) if (this.settings.protocolVersion === 5) { let r = this._parseProperties() Object.getOwnPropertyNames(r).length && (t.properties = r) } I('_parseConnack: complete') } _parsePublish() { I('_parsePublish') let t = this.packet if (((t.topic = this._parseString()), t.topic === null)) return this._emitError(new Error('Cannot parse topic')) if (!(t.qos > 0 && !this._parseMessageId())) { if (this.settings.protocolVersion === 5) { let r = this._parseProperties() Object.getOwnPropertyNames(r).length && (t.properties = r) } ;(t.payload = this._list.slice(this._pos, t.length)), I('_parsePublish: payload from buffer list: %o', t.payload) } } _parseSubscribe() { I('_parseSubscribe') let t = this.packet, r, i, n, s, o, f, a if (t.qos !== 1) return this._emitError(new Error('Wrong subscribe header')) if (((t.subscriptions = []), !!this._parseMessageId())) { if (this.settings.protocolVersion === 5) { let l = this._parseProperties() Object.getOwnPropertyNames(l).length && (t.properties = l) } for (; this._pos < t.length; ) { if (((r = this._parseString()), r === null)) return this._emitError(new Error('Cannot parse topic')) if (this._pos >= t.length) return this._emitError(new Error('Malformed Subscribe Payload')) ;(i = this._parseByte()), (n = i & j.SUBSCRIBE_OPTIONS_QOS_MASK), (f = ((i >> j.SUBSCRIBE_OPTIONS_NL_SHIFT) & j.SUBSCRIBE_OPTIONS_NL_MASK) !== 0), (o = ((i >> j.SUBSCRIBE_OPTIONS_RAP_SHIFT) & j.SUBSCRIBE_OPTIONS_RAP_MASK) !== 0), (s = (i >> j.SUBSCRIBE_OPTIONS_RH_SHIFT) & j.SUBSCRIBE_OPTIONS_RH_MASK), (a = { topic: r, qos: n }), this.settings.protocolVersion === 5 ? ((a.nl = f), (a.rap = o), (a.rh = s)) : this.settings.bridgeMode && ((a.rh = 0), (a.rap = !0), (a.nl = !0)), I('_parseSubscribe: push subscription `%s` to subscription', a), t.subscriptions.push(a) } } } _parseSuback() { I('_parseSuback') let t = this.packet if (((this.packet.granted = []), !!this._parseMessageId())) { if (this.settings.protocolVersion === 5) { let r = this._parseProperties() Object.getOwnPropertyNames(r).length && (t.properties = r) } for (; this._pos < this.packet.length; ) this.packet.granted.push(this._list.readUInt8(this._pos++)) } } _parseUnsubscribe() { I('_parseUnsubscribe') let t = this.packet if (((t.unsubscriptions = []), !!this._parseMessageId())) { if (this.settings.protocolVersion === 5) { let r = this._parseProperties() Object.getOwnPropertyNames(r).length && (t.properties = r) } for (; this._pos < t.length; ) { let r = this._parseString() if (r === null) return this._emitError(new Error('Cannot parse topic')) I('_parseUnsubscribe: push topic `%s` to unsubscriptions', r), t.unsubscriptions.push(r) } } } _parseUnsuback() { I('_parseUnsuback') let t = this.packet if (!this._parseMessageId()) return this._emitError(new Error('Cannot parse messageId')) if (this.settings.protocolVersion === 5) { let r = this._parseProperties() for ( Object.getOwnPropertyNames(r).length && (t.properties = r), t.granted = []; this._pos < this.packet.length; ) this.packet.granted.push(this._list.readUInt8(this._pos++)) } } _parseConfirmation() { I('_parseConfirmation: packet.cmd: `%s`', this.packet.cmd) let t = this.packet if ( (this._parseMessageId(), this.settings.protocolVersion === 5 && (t.length > 2 ? ((t.reasonCode = this._parseByte()), I('_parseConfirmation: packet.reasonCode `%d`', t.reasonCode)) : (t.reasonCode = 0), t.length > 3)) ) { let r = this._parseProperties() Object.getOwnPropertyNames(r).length && (t.properties = r) } return !0 } _parseDisconnect() { let t = this.packet if ((I('_parseDisconnect'), this.settings.protocolVersion === 5)) { this._list.length > 0 ? (t.reasonCode = this._parseByte()) : (t.reasonCode = 0) let r = this._parseProperties() Object.getOwnPropertyNames(r).length && (t.properties = r) } return I('_parseDisconnect result: true'), !0 } _parseAuth() { I('_parseAuth') let t = this.packet if (this.settings.protocolVersion !== 5) return this._emitError( new Error('Not supported auth packet for this version MQTT'), ) t.reasonCode = this._parseByte() let r = this._parseProperties() return ( Object.getOwnPropertyNames(r).length && (t.properties = r), I('_parseAuth: result: true'), !0 ) } _parseMessageId() { let t = this.packet return ( (t.messageId = this._parseNum()), t.messageId === null ? (this._emitError(new Error('Cannot parse messageId')), !1) : (I('_parseMessageId: packet.messageId %d', t.messageId), !0) ) } _parseString(t) { let r = this._parseNum(), i = r + this._pos if (r === -1 || i > this._list.length || i > this.packet.length) return null let n = this._list.toString('utf8', this._pos, i) return (this._pos += r), I('_parseString: result: %s', n), n } _parseStringPair() { return ( I('_parseStringPair'), { name: this._parseString(), value: this._parseString() } ) } _parseBuffer() { let t = this._parseNum(), r = t + this._pos if (t === -1 || r > this._list.length || r > this.packet.length) return null let i = this._list.slice(this._pos, r) return (this._pos += t), I('_parseBuffer: result: %o', i), i } _parseNum() { if (this._list.length - this._pos < 2) return -1 let t = this._list.readUInt16BE(this._pos) return (this._pos += 2), I('_parseNum: result: %s', t), t } _parse4ByteNum() { if (this._list.length - this._pos < 4) return -1 let t = this._list.readUInt32BE(this._pos) return (this._pos += 4), I('_parse4ByteNum: result: %s', t), t } _parseVarByteNum(t) { I('_parseVarByteNum') let r = 4, i = 0, n = 1, s = 0, o = !1, f, a = this._pos ? this._pos : 0 for (; i < r && a + i < this._list.length; ) { if ( ((f = this._list.readUInt8(a + i++)), (s += n * (f & j.VARBYTEINT_MASK)), (n *= 128), !(f & j.VARBYTEINT_FIN_MASK)) ) { o = !0 break } if (this._list.length <= i) break } return ( !o && i === r && this._list.length >= i && this._emitError(new Error('Invalid variable byte integer')), a && (this._pos += i), (o = o ? (t ? { bytes: i, value: s } : s) : !1), I('_parseVarByteNum: result: %o', o), o ) } _parseByte() { let t return ( this._pos < this._list.length && ((t = this._list.readUInt8(this._pos)), this._pos++), I('_parseByte: result: %o', t), t ) } _parseByType(t) { switch ((I('_parseByType: type: %s', t), t)) { case 'byte': return this._parseByte() !== 0 case 'int8': return this._parseByte() case 'int16': return this._parseNum() case 'int32': return this._parse4ByteNum() case 'var': return this._parseVarByteNum() case 'string': return this._parseString() case 'pair': return this._parseStringPair() case 'binary': return this._parseBuffer() } } _parseProperties() { I('_parseProperties') let t = this._parseVarByteNum(), i = this._pos + t, n = {} for (; this._pos < i; ) { let s = this._parseByte() if (!s) return ( this._emitError(new Error('Cannot parse property code type')), !1 ) let o = j.propertiesCodes[s] if (!o) return this._emitError(new Error('Unknown property')), !1 if (o === 'userProperties') { n[o] || (n[o] = Object.create(null)) let f = this._parseByType(j.propertiesTypes[o]) if (n[o][f.name]) if (Array.isArray(n[o][f.name])) n[o][f.name].push(f.value) else { let a = n[o][f.name] ;(n[o][f.name] = [a]), n[o][f.name].push(f.value) } else n[o][f.name] = f.value continue } n[o] ? Array.isArray(n[o]) ? n[o].push(this._parseByType(j.propertiesTypes[o])) : ((n[o] = [n[o]]), n[o].push(this._parseByType(j.propertiesTypes[o]))) : (n[o] = this._parseByType(j.propertiesTypes[o])) } return n } _newPacket() { return ( I('_newPacket'), this.packet && (this._list.consume(this.packet.length), I( '_newPacket: parser emit packet: packet.cmd: %s, packet.payload: %s, packet.length: %d', this.packet.cmd, this.packet.payload, this.packet.length, ), this.emit('packet', this.packet)), I('_newPacket: new packet'), (this.packet = new za()), (this._pos = 0), !0 ) } _emitError(t) { I('_emitError'), (this.error = t), this.emit('error', t) } } Ka.exports = qn }) var Za = b((fw, Xa) => { var Qa = {}, Qp = Buffer.isBuffer(Buffer.from([1, 2]).subarray(0, 1)) function Ja(e) { let t = Buffer.allocUnsafe(2) return t.writeUInt8(e >> 8, 0), t.writeUInt8(e & 255, 1), t } function Jp() { for (let e = 0; e < 65536; e++) Qa[e] = Ja(e) } function Xp(e) { let r = 0, i = 0, n = Buffer.allocUnsafe(4) do (r = e % 128 | 0), (e = (e / 128) | 0), e > 0 && (r = r | 128), n.writeUInt8(r, i++) while (e > 0 && i < 4) return e > 0 && (i = 0), Qp ? n.subarray(0, i) : n.slice(0, i) } function Zp(e) { let t = Buffer.allocUnsafe(4) return t.writeUInt32BE(e, 0), t } Xa.exports = { cache: Qa, generateCache: Jp, generateNumber: Ja, genBufVariableByteInt: Xp, generate4ByteBuffer: Zp, } }) var Ot = b((lw, Dn) => { 'use strict' typeof process > 'u' || !process.version || process.version.indexOf('v0.') === 0 || (process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) ? (Dn.exports = { nextTick: e_ }) : (Dn.exports = process) function e_(e, t, r, i) { if (typeof e != 'function') throw new TypeError('"callback" argument must be a function') var n = arguments.length, s, o switch (n) { case 0: case 1: return process.nextTick(e) case 2: return process.nextTick(function () { e.call(null, t) }) case 3: return process.nextTick(function () { e.call(null, t, r) }) case 4: return process.nextTick(function () { e.call(null, t, r, i) }) default: for (s = new Array(n - 1), o = 0; o < s.length; ) s[o++] = arguments[o] return process.nextTick(function () { e.apply(null, s) }) } } }) var Fn = b((uw, ff) => { var k = An(), t_ = Buffer.allocUnsafe(0), r_ = Buffer.from([0]), Qt = Za(), i_ = Ot().nextTick, _e = ze()('mqtt-packet:writeToStream'), ni = Qt.cache, n_ = Qt.generateNumber, s_ = Qt.generateCache, Un = Qt.genBufVariableByteInt, o_ = Qt.generate4ByteBuffer, ne = jn, si = !0 function of(e, t, r) { switch ( (_e('generate called'), t.cork && (t.cork(), i_(a_, t)), si && ((si = !1), s_()), _e('generate: packet.cmd: %s', e.cmd), e.cmd) ) { case 'connect': return f_(e, t, r) case 'connack': return l_(e, t, r) case 'publish': return u_(e, t, r) case 'puback': case 'pubrec': case 'pubrel': case 'pubcomp': return c_(e, t, r) case 'subscribe': return h_(e, t, r) case 'suback': return d_(e, t, r) case 'unsubscribe': return p_(e, t, r) case 'unsuback': return __(e, t, r) case 'pingreq': case 'pingresp': return g_(e, t, r) case 'disconnect': return b_(e, t, r) case 'auth': return y_(e, t, r) default: return t.emit('error', new Error('Unknown command')), !1 } } Object.defineProperty(of, 'cacheNumbers', { get() { return ne === jn }, set(e) { e ? ((!ni || Object.keys(ni).length === 0) && (si = !0), (ne = jn)) : ((si = !1), (ne = v_)) }, }) function a_(e) { e.uncork() } function f_(e, t, r) { let i = e || {}, n = i.protocolId || 'MQTT', s = i.protocolVersion || 4, o = i.will, f = i.clean, a = i.keepalive || 0, l = i.clientId || '', u = i.username, h = i.password, c = i.properties f === void 0 && (f = !0) let d = 0 if (!n || (typeof n != 'string' && !Buffer.isBuffer(n))) return t.emit('error', new Error('Invalid protocolId')), !1 if (((d += n.length + 2), s !== 3 && s !== 4 && s !== 5)) return t.emit('error', new Error('Invalid protocol version')), !1 if ( ((d += 1), (typeof l == 'string' || Buffer.isBuffer(l)) && (l || s >= 4) && (l || f)) ) d += Buffer.byteLength(l) + 2 else { if (s < 4) return ( t.emit('error', new Error('clientId must be supplied before 3.1.1')), !1 ) if (f * 1 === 0) return ( t.emit( 'error', new Error('clientId must be given if cleanSession set to 0'), ), !1 ) } if (typeof a != 'number' || a < 0 || a > 65535 || a % 1 !== 0) return t.emit('error', new Error('Invalid keepalive')), !1 if (((d += 2), (d += 1), s === 5)) { var _ = Ke(t, c) if (!_) return !1 d += _.length } if (o) { if (typeof o != 'object') return t.emit('error', new Error('Invalid will')), !1 if (!o.topic || typeof o.topic != 'string') return t.emit('error', new Error('Invalid will topic')), !1 if (((d += Buffer.byteLength(o.topic) + 2), (d += 2), o.payload)) if (o.payload.length >= 0) typeof o.payload == 'string' ? (d += Buffer.byteLength(o.payload)) : (d += o.payload.length) else return t.emit('error', new Error('Invalid will payload')), !1 var v = {} if (s === 5) { if (((v = Ke(t, o.properties)), !v)) return !1 d += v.length } } let m = !1 if (u != null) if (sf(u)) (m = !0), (d += Buffer.byteLength(u) + 2) else return t.emit('error', new Error('Invalid username')), !1 if (h != null) { if (!m) return ( t.emit('error', new Error('Username is required to use password')), !1 ) if (sf(h)) d += af(h) + 2 else return t.emit('error', new Error('Invalid password')), !1 } t.write(k.CONNECT_HEADER), ge(t, d), kt(t, n), i.bridgeMode && (s += 128), t.write( s === 131 ? k.VERSION131 : s === 132 ? k.VERSION132 : s === 4 ? k.VERSION4 : s === 5 ? k.VERSION5 : k.VERSION3, ) let p = 0 return ( (p |= u != null ? k.USERNAME_MASK : 0), (p |= h != null ? k.PASSWORD_MASK : 0), (p |= o && o.retain ? k.WILL_RETAIN_MASK : 0), (p |= o && o.qos ? o.qos << k.WILL_QOS_SHIFT : 0), (p |= o ? k.WILL_FLAG_MASK : 0), (p |= f ? k.CLEAN_SESSION_MASK : 0), t.write(Buffer.from([p])), ne(t, a), s === 5 && _.write(), kt(t, l), o && (s === 5 && v.write(), lt(t, o.topic), kt(t, o.payload)), u != null && kt(t, u), h != null && kt(t, h), !0 ) } function l_(e, t, r) { let i = r ? r.protocolVersion : 4, n = e || {}, s = i === 5 ? n.reasonCode : n.returnCode, o = n.properties, f = 2 if (typeof s != 'number') return t.emit('error', new Error('Invalid return code')), !1 let a = null if (i === 5) { if (((a = Ke(t, o)), !a)) return !1 f += a.length } return ( t.write(k.CONNACK_HEADER), ge(t, f), t.write(n.sessionPresent ? k.SESSIONPRESENT_HEADER : r_), t.write(Buffer.from([s])), a?.write(), !0 ) } function u_(e, t, r) { _e('publish: packet: %o', e) let i = r ? r.protocolVersion : 4, n = e || {}, s = n.qos || 0, o = n.retain ? k.RETAIN_MASK : 0, f = n.topic, a = n.payload || t_, l = n.messageId, u = n.properties, h = 0 if (typeof f == 'string') h += Buffer.byteLength(f) + 2 else if (Buffer.isBuffer(f)) h += f.length + 2 else return t.emit('error', new Error('Invalid topic')), !1 if ( (Buffer.isBuffer(a) ? (h += a.length) : (h += Buffer.byteLength(a)), s && typeof l != 'number') ) return t.emit('error', new Error('Invalid messageId')), !1 s && (h += 2) let c = null if (i === 5) { if (((c = Ke(t, u)), !c)) return !1 h += c.length } return ( t.write(k.PUBLISH_HEADER[s][n.dup ? 1 : 0][o ? 1 : 0]), ge(t, h), ne(t, af(f)), t.write(f), s > 0 && ne(t, l), c?.write(), _e('publish: payload: %o', a), t.write(a) ) } function c_(e, t, r) { let i = r ? r.protocolVersion : 4, n = e || {}, s = n.cmd || 'puback', o = n.messageId, f = n.dup && s === 'pubrel' ? k.DUP_MASK : 0, a = 0, l = n.reasonCode, u = n.properties, h = i === 5 ? 3 : 2 if ((s === 'pubrel' && (a = 1), typeof o != 'number')) return t.emit('error', new Error('Invalid messageId')), !1 let c = null if (i === 5 && typeof u == 'object') { if (((c = Jt(t, u, r, h)), !c)) return !1 h += c.length } return ( t.write(k.ACKS[s][a][f][0]), ge(t, h), ne(t, o), i === 5 && t.write(Buffer.from([l])), c !== null && c.write(), !0 ) } function h_(e, t, r) { _e('subscribe: packet: ') let i = r ? r.protocolVersion : 4, n = e || {}, s = n.dup ? k.DUP_MASK : 0, o = n.messageId, f = n.subscriptions, a = n.properties, l = 0 if (typeof o != 'number') return t.emit('error', new Error('Invalid messageId')), !1 l += 2 let u = null if (i === 5) { if (((u = Ke(t, a)), !u)) return !1 l += u.length } if (typeof f == 'object' && f.length) for (let c = 0; c < f.length; c += 1) { let d = f[c].topic, _ = f[c].qos if (typeof d != 'string') return ( t.emit('error', new Error('Invalid subscriptions - invalid topic')), !1 ) if (typeof _ != 'number') return ( t.emit('error', new Error('Invalid subscriptions - invalid qos')), !1 ) if (i === 5) { if (typeof (f[c].nl || !1) != 'boolean') return ( t.emit( 'error', new Error('Invalid subscriptions - invalid No Local'), ), !1 ) if (typeof (f[c].rap || !1) != 'boolean') return ( t.emit( 'error', new Error( 'Invalid subscriptions - invalid Retain as Published', ), ), !1 ) let p = f[c].rh || 0 if (typeof p != 'number' || p > 2) return ( t.emit( 'error', new Error('Invalid subscriptions - invalid Retain Handling'), ), !1 ) } l += Buffer.byteLength(d) + 2 + 1 } else return t.emit('error', new Error('Invalid subscriptions')), !1 _e('subscribe: writing to stream: %o', k.SUBSCRIBE_HEADER), t.write(k.SUBSCRIBE_HEADER[1][s ? 1 : 0][0]), ge(t, l), ne(t, o), u !== null && u.write() let h = !0 for (let c of f) { let d = c.topic, _ = c.qos, v = +c.nl, m = +c.rap, p = c.rh, g lt(t, d), (g = k.SUBSCRIBE_OPTIONS_QOS[_]), i === 5 && ((g |= v ? k.SUBSCRIBE_OPTIONS_NL : 0), (g |= m ? k.SUBSCRIBE_OPTIONS_RAP : 0), (g |= p ? k.SUBSCRIBE_OPTIONS_RH[p] : 0)), (h = t.write(Buffer.from([g]))) } return h } function d_(e, t, r) { let i = r ? r.protocolVersion : 4, n = e || {}, s = n.messageId, o = n.granted, f = n.properties, a = 0 if (typeof s != 'number') return t.emit('error', new Error('Invalid messageId')), !1 if (((a += 2), typeof o == 'object' && o.length)) for (let u = 0; u < o.length; u += 1) { if (typeof o[u] != 'number') return t.emit('error', new Error('Invalid qos vector')), !1 a += 1 } else return t.emit('error', new Error('Invalid qos vector')), !1 let l = null if (i === 5) { if (((l = Jt(t, f, r, a)), !l)) return !1 a += l.length } return ( t.write(k.SUBACK_HEADER), ge(t, a), ne(t, s), l !== null && l.write(), t.write(Buffer.from(o)) ) } function p_(e, t, r) { let i = r ? r.protocolVersion : 4, n = e || {}, s = n.messageId, o = n.dup ? k.DUP_MASK : 0, f = n.unsubscriptions, a = n.properties, l = 0 if (typeof s != 'number') return t.emit('error', new Error('Invalid messageId')), !1 if (((l += 2), typeof f == 'object' && f.length)) for (let c = 0; c < f.length; c += 1) { if (typeof f[c] != 'string') return t.emit('error', new Error('Invalid unsubscriptions')), !1 l += Buffer.byteLength(f[c]) + 2 } else return t.emit('error', new Error('Invalid unsubscriptions')), !1 let u = null if (i === 5) { if (((u = Ke(t, a)), !u)) return !1 l += u.length } t.write(k.UNSUBSCRIBE_HEADER[1][o ? 1 : 0][0]), ge(t, l), ne(t, s), u !== null && u.write() let h = !0 for (let c = 0; c < f.length; c++) h = lt(t, f[c]) return h } function __(e, t, r) { let i = r ? r.protocolVersion : 4, n = e || {}, s = n.messageId, o = n.dup ? k.DUP_MASK : 0, f = n.granted, a = n.properties, l = n.cmd, u = 0, h = 2 if (typeof s != 'number') return t.emit('error', new Error('Invalid messageId')), !1 if (i === 5) if (typeof f == 'object' && f.length) for (let d = 0; d < f.length; d += 1) { if (typeof f[d] != 'number') return t.emit('error', new Error('Invalid qos vector')), !1 h += 1 } else return t.emit('error', new Error('Invalid qos vector')), !1 let c = null if (i === 5) { if (((c = Jt(t, a, r, h)), !c)) return !1 h += c.length } return ( t.write(k.ACKS[l][u][o][0]), ge(t, h), ne(t, s), c !== null && c.write(), i === 5 && t.write(Buffer.from(f)), !0 ) } function g_(e, t, r) { return t.write(k.EMPTY[e.cmd]) } function b_(e, t, r) { let i = r ? r.protocolVersion : 4, n = e || {}, s = n.reasonCode, o = n.properties, f = i === 5 ? 1 : 0, a = null if (i === 5) { if (((a = Jt(t, o, r, f)), !a)) return !1 f += a.length } return ( t.write(Buffer.from([k.codes.disconnect << 4])), ge(t, f), i === 5 && t.write(Buffer.from([s])), a !== null && a.write(), !0 ) } function y_(e, t, r) { let i = r ? r.protocolVersion : 4, n = e || {}, s = n.reasonCode, o = n.properties, f = i === 5 ? 1 : 0 i !== 5 && t.emit('error', new Error('Invalid mqtt version for auth packet')) let a = Jt(t, o, r, f) return a ? ((f += a.length), t.write(Buffer.from([k.codes.auth << 4])), ge(t, f), t.write(Buffer.from([s])), a !== null && a.write(), !0) : !1 } var ef = {} function ge(e, t) { if (t > k.VARBYTEINT_MAX) return ( e.emit('error', new Error(`Invalid variable byte integer: ${t}`)), !1 ) let r = ef[t] return ( r || ((r = Un(t)), t < 16384 && (ef[t] = r)), _e('writeVarByteInt: writing to stream: %o', r), e.write(r) ) } function lt(e, t) { let r = Buffer.byteLength(t) return ne(e, r), _e('writeString: %s', t), e.write(t, 'utf8') } function tf(e, t, r) { lt(e, t), lt(e, r) } function jn(e, t) { return ( _e('writeNumberCached: number: %d', t), _e('writeNumberCached: %o', ni[t]), e.write(ni[t]) ) } function v_(e, t) { let r = n_(t) return _e('writeNumberGenerated: %o', r), e.write(r) } function m_(e, t) { let r = o_(t) return _e('write4ByteNumber: %o', r), e.write(r) } function kt(e, t) { typeof t == 'string' ? lt(e, t) : t ? (ne(e, t.length), e.write(t)) : ne(e, 0) } function Ke(e, t) { if (typeof t != 'object' || t.length != null) return { length: 1, write() { nf(e, {}, 0) }, } let r = 0 function i(s, o) { let f = k.propertiesTypes[s], a = 0 switch (f) { case 'byte': { if (typeof o != 'boolean') return e.emit('error', new Error(`Invalid ${s}: ${o}`)), !1 a += 2 break } case 'int8': { if (typeof o != 'number' || o < 0 || o > 255) return e.emit('error', new Error(`Invalid ${s}: ${o}`)), !1 a += 2 break } case 'binary': { if (o && o === null) return e.emit('error', new Error(`Invalid ${s}: ${o}`)), !1 a += 1 + Buffer.byteLength(o) + 2 break } case 'int16': { if (typeof o != 'number' || o < 0 || o > 65535) return e.emit('error', new Error(`Invalid ${s}: ${o}`)), !1 a += 3 break } case 'int32': { if (typeof o != 'number' || o < 0 || o > 4294967295) return e.emit('error', new Error(`Invalid ${s}: ${o}`)), !1 a += 5 break } case 'var': { if (typeof o != 'number' || o < 0 || o > 268435455) return e.emit('error', new Error(`Invalid ${s}: ${o}`)), !1 a += 1 + Buffer.byteLength(Un(o)) break } case 'string': { if (typeof o != 'string') return e.emit('error', new Error(`Invalid ${s}: ${o}`)), !1 a += 3 + Buffer.byteLength(o.toString()) break } case 'pair': { if (typeof o != 'object') return e.emit('error', new Error(`Invalid ${s}: ${o}`)), !1 a += Object.getOwnPropertyNames(o).reduce((l, u) => { let h = o[u] return ( Array.isArray(h) ? (l += h.reduce( (c, d) => ( (c += 3 + Buffer.byteLength(u.toString()) + 2 + Buffer.byteLength(d.toString())), c ), 0, )) : (l += 3 + Buffer.byteLength(u.toString()) + 2 + Buffer.byteLength(o[u].toString())), l ) }, 0) break } default: return e.emit('error', new Error(`Invalid property ${s}: ${o}`)), !1 } return a } if (t) for (let s in t) { let o = 0, f = 0, a = t[s] if (Array.isArray(a)) for (let l = 0; l < a.length; l++) { if (((f = i(s, a[l])), !f)) return !1 o += f } else { if (((f = i(s, a)), !f)) return !1 o = f } if (!o) return !1 r += o } return { length: Buffer.byteLength(Un(r)) + r, write() { nf(e, t, r) }, } } function Jt(e, t, r, i) { let n = ['reasonString', 'userProperties'], s = r && r.properties && r.properties.maximumPacketSize ? r.properties.maximumPacketSize : 0, o = Ke(e, t) if (s) for (; i + o.length > s; ) { let f = n.shift() if (f && t[f]) delete t[f], (o = Ke(e, t)) else return !1 } return o } function rf(e, t, r) { switch (k.propertiesTypes[t]) { case 'byte': { e.write(Buffer.from([k.properties[t]])), e.write(Buffer.from([+r])) break } case 'int8': { e.write(Buffer.from([k.properties[t]])), e.write(Buffer.from([r])) break } case 'binary': { e.write(Buffer.from([k.properties[t]])), kt(e, r) break } case 'int16': { e.write(Buffer.from([k.properties[t]])), ne(e, r) break } case 'int32': { e.write(Buffer.from([k.properties[t]])), m_(e, r) break } case 'var': { e.write(Buffer.from([k.properties[t]])), ge(e, r) break } case 'string': { e.write(Buffer.from([k.properties[t]])), lt(e, r) break } case 'pair': { Object.getOwnPropertyNames(r).forEach((n) => { let s = r[n] Array.isArray(s) ? s.forEach((o) => { e.write(Buffer.from([k.properties[t]])), tf(e, n.toString(), o.toString()) }) : (e.write(Buffer.from([k.properties[t]])), tf(e, n.toString(), s.toString())) }) break } default: return ( e.emit('error', new Error(`Invalid property ${t} value: ${r}`)), !1 ) } } function nf(e, t, r) { ge(e, r) for (let i in t) if (Object.prototype.hasOwnProperty.call(t, i) && t[i] !== null) { let n = t[i] if (Array.isArray(n)) for (let s = 0; s < n.length; s++) rf(e, i, n[s]) else rf(e, i, n) } } function af(e) { return e ? (e instanceof Buffer ? e.length : Buffer.byteLength(e)) : 0 } function sf(e) { return typeof e == 'string' || e instanceof Buffer } ff.exports = of }) var uf = b((cw, lf) => { var w_ = Fn(), S_ = require('events') function E_(e, t) { let r = new Wn() return w_(e, r, t), r.concat() } var Wn = class extends S_ { constructor() { super(), (this._array = new Array(20)), (this._i = 0) } write(t) { return (this._array[this._i++] = t), !0 } concat() { let t = 0, r = new Array(this._array.length), i = this._array, n = 0, s for (s = 0; s < i.length && i[s] !== void 0; s++) typeof i[s] != 'string' ? (r[s] = i[s].length) : (r[s] = Buffer.byteLength(i[s])), (t += r[s]) let o = Buffer.allocUnsafe(t) for (s = 0; s < i.length && i[s] !== void 0; s++) typeof i[s] != 'string' ? (i[s].copy(o, n), (n += r[s])) : (o.write(i[s], n), (n += r[s])) return o } } lf.exports = E_ }) var cf = b((oi) => { oi.parser = Ya().parser oi.generate = uf() oi.writeToStream = Fn() }) var df = b((dw, hf) => { 'use strict' function x_(e, t, r) { var i = this ;(this._callback = e), (this._args = r), (this._interval = setInterval(e, t, this._args)), (this.reschedule = function (n) { n || (n = i._interval), i._interval && clearInterval(i._interval), (i._interval = setInterval(i._callback, n, i._args)) }), (this.clear = function () { i._interval && (clearInterval(i._interval), (i._interval = void 0)) }), (this.destroy = function () { i._interval && clearInterval(i._interval), (i._callback = void 0), (i._interval = void 0), (i._args = void 0) }) } function C_() { if (typeof arguments[0] != 'function') throw new Error('callback needed') if (typeof arguments[1] != 'number') throw new Error('interval needed') var e if (arguments.length > 0) { e = new Array(arguments.length - 2) for (var t = 0; t < e.length; t++) e[t] = arguments[t + 2] } return new x_(arguments[0], arguments[1], e) } hf.exports = C_ }) var _f = b((pw, pf) => { 'use strict' function T_(e) { for (var t = e.split('/'), r = 0; r < t.length; r++) if (t[r] !== '+') { if (t[r] === '#') return r === t.length - 1 if (t[r].indexOf('+') !== -1 || t[r].indexOf('#') !== -1) return !1 } return !0 } function I_(e) { if (e.length === 0) return 'empty_topic_list' for (var t = 0; t < e.length; t++) if (!T_(e[t])) return e[t] return null } pf.exports = { validateTopics: I_ } }) var $n = b((_w, wf) => { 'use strict' var yf = require('events').EventEmitter, ai = Jr(), vf = cf(), O_ = He().Writable, k_ = ie(), R_ = df(), P_ = _f(), fi = Mr(), y = ze()('mqttjs:client'), Hn = process ? process.nextTick : function (e) { setTimeout(e, 0) }, mf = global.setImmediate || function (e) { Hn(e) }, gf = { keepalive: 60, reschedulePings: !0, protocolId: 'MQTT', protocolVersion: 4, reconnectPeriod: 1e3, connectTimeout: 30 * 1e3, clean: !0, resubscribe: !0, }, B_ = ['ECONNREFUSED', 'EADDRINUSE', 'ECONNRESET', 'ENOTFOUND'], Vn = { 0: '', 1: 'Unacceptable protocol version', 2: 'Identifier rejected', 3: 'Server unavailable', 4: 'Bad username or password', 5: 'Not authorized', 16: 'No matching subscribers', 17: 'No subscription existed', 128: 'Unspecified error', 129: 'Malformed Packet', 130: 'Protocol Error', 131: 'Implementation specific error', 132: 'Unsupported Protocol Version', 133: 'Client Identifier not valid', 134: 'Bad User Name or Password', 135: 'Not authorized', 136: 'Server unavailable', 137: 'Server busy', 138: 'Banned', 139: 'Server shutting down', 140: 'Bad authentication method', 141: 'Keep Alive timeout', 142: 'Session taken over', 143: 'Topic Filter invalid', 144: 'Topic Name invalid', 145: 'Packet identifier in use', 146: 'Packet Identifier not found', 147: 'Receive Maximum exceeded', 148: 'Topic Alias invalid', 149: 'Packet too large', 150: 'Message rate too high', 151: 'Quota exceeded', 152: 'Administrative action', 153: 'Payload format invalid', 154: 'Retain not supported', 155: 'QoS not supported', 156: 'Use another server', 157: 'Server moved', 158: 'Shared Subscriptions not supported', 159: 'Connection rate exceeded', 160: 'Maximum connect time', 161: 'Subscription Identifiers not supported', 162: 'Wildcard Subscriptions not supported', } function A_() { return 'mqttjs_' + Math.random().toString(16).substr(2, 8) } function Xt(e, t, r) { y('sendPacket :: packet: %O', t), y('sendPacket :: emitting `packetsend`'), e.emit('packetsend', t), y('sendPacket :: writing to stream') var i = vf.writeToStream(t, e.stream, e.options) y('sendPacket :: writeToStream result %s', i), !i && r ? (y('sendPacket :: handle events on `drain` once through callback.'), e.stream.once('drain', r)) : r && (y('sendPacket :: invoking cb'), r()) } function N_(e) { e && (y('flush: queue exists? %b', !!e), Object.keys(e).forEach(function (t) { typeof e[t].cb == 'function' && (e[t].cb(new Error('Connection closed')), delete e[t]) })) } function M_(e) { e && (y( 'flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function', ), Object.keys(e).forEach(function (t) { e[t].volatile && typeof e[t].cb == 'function' && (e[t].cb(new Error('Connection closed')), delete e[t]) })) } function bf(e, t, r, i) { y('storeAndSend :: store packet with cmd %s to outgoingStore', t.cmd), e.outgoingStore.put(t, function (s) { if (s) return r && r(s) i(), Xt(e, t, r) }) } function se(e) { y('nop ::', e) } function N(e, t) { var r, i = this if (!(this instanceof N)) return new N(e, t) this.options = t || {} for (r in gf) typeof this.options[r] > 'u' ? (this.options[r] = gf[r]) : (this.options[r] = t[r]) y('MqttClient :: options.protocol', t.protocol), y('MqttClient :: options.protocolVersion', t.protocolVersion), y('MqttClient :: options.username', t.username), y('MqttClient :: options.keepalive', t.keepalive), y('MqttClient :: options.reconnectPeriod', t.reconnectPeriod), y('MqttClient :: options.rejectUnauthorized', t.rejectUnauthorized), (this.options.clientId = typeof t.clientId == 'string' ? t.clientId : A_()), y('MqttClient :: clientId', this.options.clientId), (this.options.customHandleAcks = t.protocolVersion === 5 && t.customHandleAcks ? t.customHandleAcks : function () { arguments[3](0) }), (this.streamBuilder = e), (this.outgoingStore = t.outgoingStore || new ai()), (this.incomingStore = t.incomingStore || new ai()), (this.queueQoSZero = t.queueQoSZero === void 0 ? !0 : t.queueQoSZero), (this._resubscribeTopics = {}), (this.messageIdToTopic = {}), (this.pingTimer = null), (this.connected = !1), (this.disconnecting = !1), (this.queue = []), (this.connackTimer = null), (this.reconnectTimer = null), (this._storeProcessing = !1), (this._packetIdsDuringStoreProcessing = {}), (this.nextId = Math.max(1, Math.floor(Math.random() * 65535))), (this.outgoing = {}), (this._firstConnection = !0), this.on('connect', function () { var n = this.queue function s() { var o = n.shift() y('deliver :: entry %o', o) var f = null o && ((f = o.packet), y('deliver :: call _sendPacket for %o', f), i._sendPacket(f, function (a) { o.cb && o.cb(a), s() })) } y('connect :: sending queued packets'), s() }), this.on('close', function () { y('close :: connected set to `false`'), (this.connected = !1), y('close :: clearing connackTimer'), clearTimeout(this.connackTimer), y('close :: clearing ping timer'), i.pingTimer !== null && (i.pingTimer.clear(), (i.pingTimer = null)), y('close :: calling _setupReconnect'), this._setupReconnect() }), yf.call(this), y('MqttClient :: setting up stream'), this._setupStream() } k_(N, yf) N.prototype._setupStream = function () { var e, t = this, r = new O_(), i = vf.parser(this.options), n = null, s = [] y('_setupStream :: calling method to clear reconnect'), this._clearReconnect(), y( '_setupStream :: using streamBuilder provided to client to create stream', ), (this.stream = this.streamBuilder(this)), i.on('packet', function (u) { y('parser :: on packet push to packets array.'), s.push(u) }) function o() { if (s.length) Hn(f) else { var u = n ;(n = null), u() } } function f() { y('work :: getting next packet in queue') var u = s.shift() if (u) y('work :: packet pulled from queue'), t._handlePacket(u, o) else { y('work :: no packets in queue') var h = n ;(n = null), y('work :: done flag is %s', !!h), h && h() } } r._write = function (u, h, c) { ;(n = c), y('writable stream :: parsing buffer'), i.parse(u), f() } function a(u) { y('streamErrorHandler :: error', u.message), B_.includes(u.code) ? (y('streamErrorHandler :: emitting error'), t.emit('error', u)) : se(u) } if ( (y('_setupStream :: pipe stream to writable stream'), this.stream.pipe(r), this.stream.on('error', a), this.stream.on('close', function () { y('(%s)stream :: on close', t.options.clientId), M_(t.outgoing), y('stream: emit close to MqttClient'), t.emit('close') }), y('_setupStream: sending packet `connect`'), (e = Object.create(this.options)), (e.cmd = 'connect'), Xt(this, e), i.on('error', this.emit.bind(this, 'error')), this.options.properties) ) { if ( !this.options.properties.authenticationMethod && this.options.properties.authenticationData ) return ( t.end(() => this.emit( 'error', new Error('Packet has no Authentication Method'), ), ), this ) if ( this.options.properties.authenticationMethod && this.options.authPacket && typeof this.options.authPacket == 'object' ) { var l = fi({ cmd: 'auth', reasonCode: 0 }, this.options.authPacket) Xt(this, l) } } this.stream.setMaxListeners(1e3), clearTimeout(this.connackTimer), (this.connackTimer = setTimeout(function () { y('!!connectTimeout hit!! Calling _cleanUp with force `true`'), t._cleanUp(!0) }, this.options.connectTimeout)) } N.prototype._handlePacket = function (e, t) { var r = this.options if ( r.protocolVersion === 5 && r.properties && r.properties.maximumPacketSize && r.properties.maximumPacketSize < e.length ) return ( this.emit('error', new Error('exceeding packets size ' + e.cmd)), this.end({ reasonCode: 149, properties: { reasonString: 'Maximum packet size was exceeded' }, }), this ) switch ( (y('_handlePacket :: emitting packetreceive'), this.emit('packetreceive', e), e.cmd) ) { case 'publish': this._handlePublish(e, t) break case 'puback': case 'pubrec': case 'pubcomp': case 'suback': case 'unsuback': this._handleAck(e), t() break case 'pubrel': this._handlePubrel(e, t) break case 'connack': this._handleConnack(e), t() break case 'pingresp': this._handlePingresp(e), t() break case 'disconnect': this._handleDisconnect(e), t() break default: break } } N.prototype._checkDisconnecting = function (e) { return ( this.disconnecting && (e ? e(new Error('client disconnecting')) : this.emit('error', new Error('client disconnecting'))), this.disconnecting ) } N.prototype.publish = function (e, t, r, i) { y('publish :: message `%s` to topic `%s`', t, e) var n, s = this.options typeof r == 'function' && ((i = r), (r = null)) var o = { qos: 0, retain: !1, dup: !1 } if (((r = fi(o, r)), this._checkDisconnecting(i))) return this switch ( ((n = { cmd: 'publish', topic: e, payload: t, qos: r.qos, retain: r.retain, messageId: this._nextId(), dup: r.dup, }), s.protocolVersion === 5 && ((n.properties = r.properties), ((!s.properties && n.properties && n.properties.topicAlias) || (r.properties && s.properties && ((r.properties.topicAlias && s.properties.topicAliasMaximum && r.properties.topicAlias > s.properties.topicAliasMaximum) || (!s.properties.topicAliasMaximum && r.properties.topicAlias)))) && delete n.properties.topicAlias), y('publish :: qos', r.qos), r.qos) ) { case 1: case 2: ;(this.outgoing[n.messageId] = { volatile: !1, cb: i || se }), this._storeProcessing ? (y('_storeProcessing enabled'), (this._packetIdsDuringStoreProcessing[n.messageId] = !1), this._storePacket(n, void 0, r.cbStorePut)) : (y('MqttClient:publish: packet cmd: %s', n.cmd), this._sendPacket(n, void 0, r.cbStorePut)) break default: this._storeProcessing ? (y('_storeProcessing enabled'), this._storePacket(n, i, r.cbStorePut)) : (y('MqttClient:publish: packet cmd: %s', n.cmd), this._sendPacket(n, i, r.cbStorePut)) break } return this } N.prototype.subscribe = function () { for ( var e, t = new Array(arguments.length), r = 0; r < arguments.length; r++ ) t[r] = arguments[r] var i = [], n = t.shift(), s = n.resubscribe, o = t.pop() || se, f = t.pop(), a, l = this, u = this.options.protocolVersion if ( (delete n.resubscribe, typeof n == 'string' && (n = [n]), typeof o != 'function' && ((f = o), (o = se)), (a = P_.validateTopics(n)), a !== null) ) return mf(o, new Error('Invalid topic ' + a)), this if (this._checkDisconnecting(o)) return y('subscribe: discconecting true'), this var h = { qos: 0 } if ( (u === 5 && ((h.nl = !1), (h.rap = !1), (h.rh = 0)), (f = fi(h, f)), Array.isArray(n) ? n.forEach(function (d) { if ( (y('subscribe: array topic %s', d), !l._resubscribeTopics.hasOwnProperty(d) || l._resubscribeTopics[d].qos < f.qos || s) ) { var _ = { topic: d, qos: f.qos } u === 5 && ((_.nl = f.nl), (_.rap = f.rap), (_.rh = f.rh), (_.properties = f.properties)), y( 'subscribe: pushing topic `%s` and qos `%s` to subs list', _.topic, _.qos, ), i.push(_) } }) : Object.keys(n).forEach(function (d) { if ( (y('subscribe: object topic %s', d), !l._resubscribeTopics.hasOwnProperty(d) || l._resubscribeTopics[d].qos < n[d].qos || s) ) { var _ = { topic: d, qos: n[d].qos } u === 5 && ((_.nl = n[d].nl), (_.rap = n[d].rap), (_.rh = n[d].rh), (_.properties = f.properties)), y('subscribe: pushing `%s` to subs list', _), i.push(_) } }), (e = { cmd: 'subscribe', subscriptions: i, qos: 1, retain: !1, dup: !1, messageId: this._nextId(), }), f.properties && (e.properties = f.properties), !i.length) ) { o(null, []) return } if (this.options.resubscribe) { y('subscribe :: resubscribe true') var c = [] i.forEach(function (d) { if (l.options.reconnectPeriod > 0) { var _ = { qos: d.qos } u === 5 && ((_.nl = d.nl || !1), (_.rap = d.rap || !1), (_.rh = d.rh || 0), (_.properties = d.properties)), (l._resubscribeTopics[d.topic] = _), c.push(d.topic) } }), (l.messageIdToTopic[e.messageId] = c) } return ( (this.outgoing[e.messageId] = { volatile: !0, cb: function (d, _) { if (!d) for (var v = _.granted, m = 0; m < v.length; m += 1) i[m].qos = v[m] o(d, i) }, }), y('subscribe :: call _sendPacket'), this._sendPacket(e), this ) } N.prototype.unsubscribe = function () { for ( var e = { cmd: 'unsubscribe', qos: 1, messageId: this._nextId() }, t = this, r = new Array(arguments.length), i = 0; i < arguments.length; i++ ) r[i] = arguments[i] var n = r.shift(), s = r.pop() || se, o = r.pop() return ( typeof n == 'string' && (n = [n]), typeof s != 'function' && ((o = s), (s = se)), this._checkDisconnecting(s) ? this : (typeof n == 'string' ? (e.unsubscriptions = [n]) : Array.isArray(n) && (e.unsubscriptions = n), this.options.resubscribe && e.unsubscriptions.forEach(function (f) { delete t._resubscribeTopics[f] }), typeof o == 'object' && o.properties && (e.properties = o.properties), (this.outgoing[e.messageId] = { volatile: !0, cb: s }), y('unsubscribe: call _sendPacket'), this._sendPacket(e), this) ) } N.prototype.end = function (e, t, r) { var i = this y('end :: (%s)', this.options.clientId), (e == null || typeof e != 'boolean') && ((r = t || se), (t = e), (e = !1), typeof t != 'object' && ((r = t), (t = null), typeof r != 'function' && (r = se))), typeof t != 'object' && ((r = t), (t = null)), y('end :: cb? %s', !!r), (r = r || se) function n() { y('end :: closeStores: closing incoming and outgoing stores'), (i.disconnected = !0), i.incomingStore.close(function (o) { i.outgoingStore.close(function (f) { if ((y('end :: closeStores: emitting end'), i.emit('end'), r)) { let a = o || f y('end :: closeStores: invoking callback with args'), r(a) } }) }), i._deferredReconnect && i._deferredReconnect() } function s() { y( 'end :: (%s) :: finish :: calling _cleanUp with force %s', i.options.clientId, e, ), i._cleanUp( e, () => { y('end :: finish :: calling process.nextTick on closeStores'), Hn(n.bind(i)) }, t, ) } return this.disconnecting ? (r(), this) : (this._clearReconnect(), (this.disconnecting = !0), !e && Object.keys(this.outgoing).length > 0 ? (y( 'end :: (%s) :: calling finish in 10ms once outgoing is empty', i.options.clientId, ), this.once('outgoingEmpty', setTimeout.bind(null, s, 10))) : (y('end :: (%s) :: immediately calling finish', i.options.clientId), s()), this) } N.prototype.removeOutgoingMessage = function (e) { var t = this.outgoing[e] ? this.outgoing[e].cb : null return ( delete this.outgoing[e], this.outgoingStore.del({ messageId: e }, function () { t(new Error('Message removed')) }), this ) } N.prototype.reconnect = function (e) { y('client reconnect') var t = this, r = function () { e ? ((t.options.incomingStore = e.incomingStore), (t.options.outgoingStore = e.outgoingStore)) : ((t.options.incomingStore = null), (t.options.outgoingStore = null)), (t.incomingStore = t.options.incomingStore || new ai()), (t.outgoingStore = t.options.outgoingStore || new ai()), (t.disconnecting = !1), (t.disconnected = !1), (t._deferredReconnect = null), t._reconnect() } return ( this.disconnecting && !this.disconnected ? (this._deferredReconnect = r) : r(), this ) } N.prototype._reconnect = function () { y('_reconnect: emitting reconnect to client'), this.emit('reconnect'), this.connected ? (this.end(() => { this._setupStream() }), y('client already connected. disconnecting first.')) : (y('_reconnect: calling _setupStream'), this._setupStream()) } N.prototype._setupReconnect = function () { var e = this !e.disconnecting && !e.reconnectTimer && e.options.reconnectPeriod > 0 ? (this.reconnecting || (y('_setupReconnect :: emit `offline` state'), this.emit('offline'), y('_setupReconnect :: set `reconnecting` to `true`'), (this.reconnecting = !0)), y( '_setupReconnect :: setting reconnectTimer for %d ms', e.options.reconnectPeriod, ), (e.reconnectTimer = setInterval(function () { y('reconnectTimer :: reconnect triggered!'), e._reconnect() }, e.options.reconnectPeriod))) : y('_setupReconnect :: doing nothing...') } N.prototype._clearReconnect = function () { y('_clearReconnect : clearing reconnect timer'), this.reconnectTimer && (clearInterval(this.reconnectTimer), (this.reconnectTimer = null)) } N.prototype._cleanUp = function (e, t) { var r = arguments[2] if ( (t && (y('_cleanUp :: done callback provided for on stream close'), this.stream.on('close', t)), y('_cleanUp :: forced? %s', e), e) ) this.options.reconnectPeriod === 0 && this.options.clean && N_(this.outgoing), y('_cleanUp :: (%s) :: destroying stream', this.options.clientId), this.stream.destroy() else { var i = fi({ cmd: 'disconnect' }, r) y( '_cleanUp :: (%s) :: call _sendPacket with disconnect packet', this.options.clientId, ), this._sendPacket(i, mf.bind(null, this.stream.end.bind(this.stream))) } this.disconnecting || (y( '_cleanUp :: client not disconnecting. Clearing and resetting reconnect.', ), this._clearReconnect(), this._setupReconnect()), this.pingTimer !== null && (y('_cleanUp :: clearing pingTimer'), this.pingTimer.clear(), (this.pingTimer = null)), t && !this.connected && (y( '_cleanUp :: (%s) :: removing stream `done` callback `close` listener', this.options.clientId, ), this.stream.removeListener('close', t), t()) } N.prototype._sendPacket = function (e, t, r) { if ( (y('_sendPacket :: (%s) :: start', this.options.clientId), (r = r || se), !this.connected) ) { y('_sendPacket :: client not connected. Storing packet offline.'), this._storePacket(e, t, r) return } switch ((this._shiftPingInterval(), e.cmd)) { case 'publish': break case 'pubrel': bf(this, e, t, r) return default: Xt(this, e, t) return } switch (e.qos) { case 2: case 1: bf(this, e, t, r) break case 0: default: Xt(this, e, t) break } y('_sendPacket :: (%s) :: end', this.options.clientId) } N.prototype._storePacket = function (e, t, r) { y('_storePacket :: packet: %o', e), y('_storePacket :: cb? %s', !!t), (r = r || se), ((e.qos || 0) === 0 && this.queueQoSZero) || e.cmd !== 'publish' ? this.queue.push({ packet: e, cb: t }) : e.qos > 0 ? ((t = this.outgoing[e.messageId] ? this.outgoing[e.messageId].cb : null), this.outgoingStore.put(e, function (i) { if (i) return t && t(i) r() })) : t && t(new Error('No connection to broker')) } N.prototype._setupPingTimer = function () { y('_setupPingTimer :: keepalive %d (seconds)', this.options.keepalive) var e = this !this.pingTimer && this.options.keepalive && ((this.pingResp = !0), (this.pingTimer = R_(function () { e._checkPing() }, this.options.keepalive * 1e3))) } N.prototype._shiftPingInterval = function () { this.pingTimer && this.options.keepalive && this.options.reschedulePings && this.pingTimer.reschedule(this.options.keepalive * 1e3) } N.prototype._checkPing = function () { y('_checkPing :: checking ping...'), this.pingResp ? (y( '_checkPing :: ping response received. Clearing flag and sending `pingreq`', ), (this.pingResp = !1), this._sendPacket({ cmd: 'pingreq' })) : (y('_checkPing :: calling _cleanUp with force true'), this._cleanUp(!0)) } N.prototype._handlePingresp = function () { this.pingResp = !0 } N.prototype._handleConnack = function (e) { y('_handleConnack') var t = this.options, r = t.protocolVersion, i = r === 5 ? e.reasonCode : e.returnCode if ( (clearTimeout(this.connackTimer), e.properties && (e.properties.topicAliasMaximum && (t.properties || (t.properties = {}), (t.properties.topicAliasMaximum = e.properties.topicAliasMaximum)), e.properties.serverKeepAlive && t.keepalive && ((t.keepalive = e.properties.serverKeepAlive), this._shiftPingInterval()), e.properties.maximumPacketSize && (t.properties || (t.properties = {}), (t.properties.maximumPacketSize = e.properties.maximumPacketSize))), i === 0) ) (this.reconnecting = !1), this._onConnect(e) else if (i > 0) { var n = new Error('Connection refused: ' + Vn[i]) ;(n.code = i), this.emit('error', n) } } N.prototype._handlePublish = function (e, t) { y('_handlePublish: packet %o', e), (t = typeof t < 'u' ? t : se) var r = e.topic.toString(), i = e.payload, n = e.qos, s = e.messageId, o = this, f = this.options, a = [0, 16, 128, 131, 135, 144, 145, 151, 153] switch ((y('_handlePublish: qos %d', n), n)) { case 2: { f.customHandleAcks(r, i, e, function (l, u) { if ((l instanceof Error || ((u = l), (l = null)), l)) return o.emit('error', l) if (a.indexOf(u) === -1) return o.emit('error', new Error('Wrong reason code for pubrec')) u ? o._sendPacket({ cmd: 'pubrec', messageId: s, reasonCode: u }, t) : o.incomingStore.put(e, function () { o._sendPacket({ cmd: 'pubrec', messageId: s }, t) }) }) break } case 1: { f.customHandleAcks(r, i, e, function (l, u) { if ((l instanceof Error || ((u = l), (l = null)), l)) return o.emit('error', l) if (a.indexOf(u) === -1) return o.emit('error', new Error('Wrong reason code for puback')) u || o.emit('message', r, i, e), o.handleMessage(e, function (h) { if (h) return t && t(h) o._sendPacket({ cmd: 'puback', messageId: s, reasonCode: u }, t) }) }) break } case 0: this.emit('message', r, i, e), this.handleMessage(e, t) break default: y('_handlePublish: unknown QoS. Doing nothing.') break } } N.prototype.handleMessage = function (e, t) { t() } N.prototype._handleAck = function (e) { var t = e.messageId, r = e.cmd, i = null, n = this.outgoing[t] ? this.outgoing[t].cb : null, s = this, o if (!n) { y('_handleAck :: Server sent an ack in error. Ignoring.') return } switch ((y('_handleAck :: packet type', r), r)) { case 'pubcomp': case 'puback': var f = e.reasonCode f && f > 0 && f !== 16 && ((o = new Error('Publish error: ' + Vn[f])), (o.code = f), n(o, e)), delete this.outgoing[t], this.outgoingStore.del(e, n) break case 'pubrec': i = { cmd: 'pubrel', qos: 2, messageId: t } var a = e.reasonCode a && a > 0 && a !== 16 ? ((o = new Error('Publish error: ' + Vn[a])), (o.code = a), n(o, e)) : this._sendPacket(i) break case 'suback': delete this.outgoing[t] for (var l = 0; l < e.granted.length; l++) if (e.granted[l] & 128) { var u = this.messageIdToTopic[t] u && u.forEach(function (h) { delete s._resubscribeTopics[h] }) } n(null, e) break case 'unsuback': delete this.outgoing[t], n(null) break default: s.emit('error', new Error('unrecognized packet type')) } this.disconnecting && Object.keys(this.outgoing).length === 0 && this.emit('outgoingEmpty') } N.prototype._handlePubrel = function (e, t) { y('handling pubrel packet'), (t = typeof t < 'u' ? t : se) var r = e.messageId, i = this, n = { cmd: 'pubcomp', messageId: r } i.incomingStore.get(e, function (s, o) { s ? i._sendPacket(n, t) : (i.emit('message', o.topic, o.payload, o), i.handleMessage(o, function (f) { if (f) return t(f) i.incomingStore.del(o, se), i._sendPacket(n, t) })) }) } N.prototype._handleDisconnect = function (e) { this.emit('disconnect', e) } N.prototype._nextId = function () { var e = this.nextId++ return this.nextId === 65536 && (this.nextId = 1), e } N.prototype.getLastMessageId = function () { return this.nextId === 1 ? 65535 : this.nextId - 1 } N.prototype._resubscribe = function (e) { y('_resubscribe') var t = Object.keys(this._resubscribeTopics) if ( !this._firstConnection && (this.options.clean || (this.options.protocolVersion === 5 && !e.sessionPresent)) && t.length > 0 ) if (this.options.resubscribe) if (this.options.protocolVersion === 5) { y('_resubscribe: protocolVersion 5') for (var r = 0; r < t.length; r++) { var i = {} ;(i[t[r]] = this._resubscribeTopics[t[r]]), (i.resubscribe = !0), this.subscribe(i, { properties: i[t[r]].properties }) } } else (this._resubscribeTopics.resubscribe = !0), this.subscribe(this._resubscribeTopics) else this._resubscribeTopics = {} this._firstConnection = !1 } N.prototype._onConnect = function (e) { if (this.disconnected) { this.emit('connect', e) return } var t = this this._setupPingTimer(), this._resubscribe(e), (this.connected = !0) function r() { var i = t.outgoingStore.createStream() function n() { ;(t._storeProcessing = !1), (t._packetIdsDuringStoreProcessing = {}) } t.once('close', s), i.on('error', function (f) { n(), t.removeListener('close', s), t.emit('error', f) }) function s() { i.destroy(), (i = null), n() } function o() { if (i) { t._storeProcessing = !0 var f = i.read(1), a if (!f) { i.once('readable', o) return } if (t._packetIdsDuringStoreProcessing[f.messageId]) { o() return } !t.disconnecting && !t.reconnectTimer ? ((a = t.outgoing[f.messageId] ? t.outgoing[f.messageId].cb : null), (t.outgoing[f.messageId] = { volatile: !1, cb: function (l, u) { a && a(l, u), o() }, }), (t._packetIdsDuringStoreProcessing[f.messageId] = !0), t._sendPacket(f)) : i.destroy && i.destroy() } } i.on('end', function () { var f = !0 for (var a in t._packetIdsDuringStoreProcessing) if (!t._packetIdsDuringStoreProcessing[a]) { f = !1 break } f ? (n(), t.removeListener('close', s), t.emit('connect', e)) : r() }), o() } r() } wf.exports = N }) var Gn = b((gw, Sf) => { 'use strict' var L_ = require('net'), q_ = ze()('mqttjs:tcp') function D_(e, t) { var r, i return ( (t.port = t.port || 1883), (t.hostname = t.hostname || t.host || 'localhost'), (r = t.port), (i = t.hostname), q_('port %d and host %s', r, i), L_.createConnection(r, i) ) } Sf.exports = D_ }) var li = b((bw, Ef) => { 'use strict' var U_ = require('tls'), j_ = ze()('mqttjs:tls') function F_(e, t) { var r ;(t.port = t.port || 8883), (t.host = t.hostname || t.host || 'localhost'), (t.servername = t.host), (t.rejectUnauthorized = t.rejectUnauthorized !== !1), delete t.path, j_( 'port %d host %s rejectUnauthorized %b', t.port, t.host, t.rejectUnauthorized, ), (r = U_.connect(t)), r.on('secureConnect', function () { t.rejectUnauthorized && !r.authorized ? r.emit('error', new Error('TLS not authorized')) : r.removeListener('error', i) }) function i(n) { t.rejectUnauthorized && e.emit('error', n), r.end() } return r.on('error', i), r } Ef.exports = F_ }) var Tf = b((yw, Cf) => { Cf.exports = xf function xf(e, t) { if (e && t) return xf(e)(t) if (typeof e != 'function') throw new TypeError('need wrapper function') return ( Object.keys(e).forEach(function (i) { r[i] = e[i] }), r ) function r() { for (var i = new Array(arguments.length), n = 0; n < i.length; n++) i[n] = arguments[n] var s = e.apply(this, i), o = i[i.length - 1] return ( typeof s == 'function' && s !== o && Object.keys(o).forEach(function (f) { s[f] = o[f] }), s ) } } }) var kf = b((vw, zn) => { var If = Tf() zn.exports = If(ui) zn.exports.strict = If(Of) ui.proto = ui(function () { Object.defineProperty(Function.prototype, 'once', { value: function () { return ui(this) }, configurable: !0, }), Object.defineProperty(Function.prototype, 'onceStrict', { value: function () { return Of(this) }, configurable: !0, }) }) function ui(e) { var t = function () { return t.called ? t.value : ((t.called = !0), (t.value = e.apply(this, arguments))) } return (t.called = !1), t } function Of(e) { var t = function () { if (t.called) throw new Error(t.onceError) return (t.called = !0), (t.value = e.apply(this, arguments)) }, r = e.name || 'Function wrapped with `once`' return ( (t.onceError = r + " shouldn't be called more than once"), (t.called = !1), t ) } }) var Kn = b((mw, Pf) => { var W_ = kf(), V_ = function () {}, H_ = function (e) { return e.setHeader && typeof e.abort == 'function' }, $_ = function (e) { return e.stdio && Array.isArray(e.stdio) && e.stdio.length === 3 }, Rf = function (e, t, r) { if (typeof t == 'function') return Rf(e, null, t) t || (t = {}), (r = W_(r || V_)) var i = e._writableState, n = e._readableState, s = t.readable || (t.readable !== !1 && e.readable), o = t.writable || (t.writable !== !1 && e.writable), f = !1, a = function () { e.writable || l() }, l = function () { ;(o = !1), s || r.call(e) }, u = function () { ;(s = !1), o || r.call(e) }, h = function (m) { r.call(e, m ? new Error('exited with error code: ' + m) : null) }, c = function (m) { r.call(e, m) }, d = function () { process.nextTick(_) }, _ = function () { if (!f) { if (s && !(n && n.ended && !n.destroyed)) return r.call(e, new Error('premature close')) if (o && !(i && i.ended && !i.destroyed)) return r.call(e, new Error('premature close')) } }, v = function () { e.req.on('finish', l) } return ( H_(e) ? (e.on('complete', l), e.on('abort', d), e.req ? v() : e.on('request', v)) : o && !i && (e.on('end', a), e.on('close', a)), $_(e) && e.on('exit', h), e.on('end', u), e.on('finish', l), t.error !== !1 && e.on('error', c), e.on('close', d), function () { ;(f = !0), e.removeListener('complete', l), e.removeListener('abort', d), e.removeListener('request', v), e.req && e.req.removeListener('finish', l), e.removeListener('end', a), e.removeListener('close', a), e.removeListener('finish', l), e.removeListener('exit', h), e.removeListener('end', u), e.removeListener('error', c), e.removeListener('close', d) } ) } Pf.exports = Rf }) var Yn = b((ww, Bf) => { Bf.exports = G_ function G_(e) { var t = e._readableState return t ? t.objectMode || typeof e._duplexState == 'number' ? e.read() : e.read(z_(t)) : null } function z_(e) { if (e.buffer.length) { var t = e.bufferIndex || 0 if (e.buffer.head) return e.buffer.head.data.length if (e.buffer.length - t > 0 && e.buffer[t]) return e.buffer[t].length } return e.length } }) var hi = b((Sw, Lf) => { var ci = He(), Af = Kn(), K_ = ie(), Y_ = Yn(), Nf = Buffer.from && Buffer.from !== Uint8Array.from ? Buffer.from([0]) : new Buffer([0]), Qn = function (e, t) { e._corked ? e.once('uncork', t) : t() }, Q_ = function (e, t) { e._autoDestroy && e.destroy(t) }, Mf = function (e, t) { return function (r) { r ? Q_(e, r.message === 'premature close' ? null : r) : t && !e._ended && e.end() } }, J_ = function (e, t) { if (!e || (e._writableState && e._writableState.finished)) return t() if (e._writableState) return e.end(t) e.end(), t() }, X_ = function () {}, Z_ = function (e) { return new ci.Readable({ objectMode: !0, highWaterMark: 16 }).wrap(e) }, J = function (e, t, r) { if (!(this instanceof J)) return new J(e, t, r) ci.Duplex.call(this, r), (this._writable = null), (this._readable = null), (this._readable2 = null), (this._autoDestroy = !r || r.autoDestroy !== !1), (this._forwardDestroy = !r || r.destroy !== !1), (this._forwardEnd = !r || r.end !== !1), (this._corked = 1), (this._ondrain = null), (this._drained = !1), (this._forwarding = !1), (this._unwrite = null), (this._unread = null), (this._ended = !1), (this.destroyed = !1), e && this.setWritable(e), t && this.setReadable(t) } K_(J, ci.Duplex) J.obj = function (e, t, r) { return ( r || (r = {}), (r.objectMode = !0), (r.highWaterMark = 16), new J(e, t, r) ) } J.prototype.cork = function () { ++this._corked === 1 && this.emit('cork') } J.prototype.uncork = function () { this._corked && --this._corked === 0 && this.emit('uncork') } J.prototype.setWritable = function (e) { if ((this._unwrite && this._unwrite(), this.destroyed)) { e && e.destroy && e.destroy() return } if (e === null || e === !1) { this.end() return } var t = this, r = Af(e, { writable: !0, readable: !1 }, Mf(this, this._forwardEnd)), i = function () { var s = t._ondrain ;(t._ondrain = null), s && s() }, n = function () { t._writable.removeListener('drain', i), r() } this._unwrite && process.nextTick(i), (this._writable = e), this._writable.on('drain', i), (this._unwrite = n), this.uncork() } J.prototype.setReadable = function (e) { if ((this._unread && this._unread(), this.destroyed)) { e && e.destroy && e.destroy() return } if (e === null || e === !1) { this.push(null), this.resume() return } var t = this, r = Af(e, { writable: !1, readable: !0 }, Mf(this)), i = function () { t._forward() }, n = function () { t.push(null) }, s = function () { t._readable2.removeListener('readable', i), t._readable2.removeListener('end', n), r() } ;(this._drained = !0), (this._readable = e), (this._readable2 = e._readableState ? e : Z_(e)), this._readable2.on('readable', i), this._readable2.on('end', n), (this._unread = s), this._forward() } J.prototype._read = function () { ;(this._drained = !0), this._forward() } J.prototype._forward = function () { if (!(this._forwarding || !this._readable2 || !this._drained)) { this._forwarding = !0 for (var e; this._drained && (e = Y_(this._readable2)) !== null; ) this.destroyed || (this._drained = this.push(e)) this._forwarding = !1 } } J.prototype.destroy = function (e, t) { if ((t || (t = X_), this.destroyed)) return t(null) this.destroyed = !0 var r = this process.nextTick(function () { r._destroy(e), t(null) }) } J.prototype._destroy = function (e) { if (e) { var t = this._ondrain ;(this._ondrain = null), t ? t(e) : this.emit('error', e) } this._forwardDestroy && (this._readable && this._readable.destroy && this._readable.destroy(), this._writable && this._writable.destroy && this._writable.destroy()), this.emit('close') } J.prototype._write = function (e, t, r) { if (!this.destroyed) { if (this._corked) return Qn(this, this._write.bind(this, e, t, r)) if (e === Nf) return this._finish(r) if (!this._writable) return r() this._writable.write(e) === !1 ? (this._ondrain = r) : this.destroyed || r() } } J.prototype._finish = function (e) { var t = this this.emit('preend'), Qn(this, function () { J_(t._forwardEnd && t._writable, function () { t._writableState.prefinished === !1 && (t._writableState.prefinished = !0), t.emit('prefinish'), Qn(t, e) }) }) } J.prototype.end = function (e, t, r) { return typeof e == 'function' ? this.end(null, null, e) : typeof t == 'function' ? this.end(e, null, t) : ((this._ended = !0), e && this.write(e), !this._writableState.ending && !this._writableState.destroyed && this.write(Nf), ci.Writable.prototype.end.call(this, r)) } Lf.exports = J }) var Jn = b((Ew, qf) => { 'use strict' var eg = He().Transform, tg = hi(), Re, di, le function rg() { var e = new eg() return ( (e._write = function (t, r, i) { Re.send({ data: t.buffer, success: function () { i() }, fail: function (n) { i(new Error(n)) }, }) }), (e._flush = function (r) { Re.close({ success: function () { r() }, }) }), e ) } function ig(e) { e.hostname || (e.hostname = 'localhost'), e.path || (e.path = '/'), e.wsOptions || (e.wsOptions = {}) } function ng(e, t) { var r = e.protocol === 'wxs' ? 'wss' : 'ws', i = r + '://' + e.hostname + e.path return ( e.port && e.port !== 80 && e.port !== 443 && (i = r + '://' + e.hostname + ':' + e.port + e.path), typeof e.transformWsUrl == 'function' && (i = e.transformWsUrl(i, e, t)), i ) } function sg() { Re.onOpen(function () { le.setReadable(di), le.setWritable(di), le.emit('connect') }), Re.onMessage(function (e) { var t = e.data t instanceof ArrayBuffer ? (t = Buffer.from(t)) : (t = Buffer.from(t, 'utf8')), di.push(t) }), Re.onClose(function () { le.end(), le.destroy() }), Re.onError(function (e) { le.destroy(new Error(e.errMsg)) }) } function og(e, t) { if (((t.hostname = t.hostname || t.host), !t.hostname)) throw new Error('Could not determine host. Specify host manually.') var r = t.protocolId === 'MQIsdp' && t.protocolVersion === 3 ? 'mqttv3.1' : 'mqtt' ig(t) var i = ng(t, e) ;(Re = wx.connectSocket({ url: i, protocols: [r] })), (di = rg()), (le = tg.obj()), (le._destroy = function (s, o) { Re.close({ success: function () { o && o(s) }, }) }) var n = le.destroy return ( (le.destroy = function () { le.destroy = n var s = this setTimeout(function () { Re.close({ fail: function () { s._destroy(new Error()) }, }) }, 0) }.bind(le)), sg(), le ) } qf.exports = og }) var Xn = b((xw, Uf) => { 'use strict' var ag = He().Transform, fg = hi(), Qe, Zt, Ye, Df = !1 function lg() { var e = new ag() return ( (e._write = function (t, r, i) { Qe.sendSocketMessage({ data: t.buffer, success: function () { i() }, fail: function () { i(new Error()) }, }) }), (e._flush = function (r) { Qe.closeSocket({ success: function () { r() }, }) }), e ) } function ug(e) { e.hostname || (e.hostname = 'localhost'), e.path || (e.path = '/'), e.wsOptions || (e.wsOptions = {}) } function cg(e, t) { var r = e.protocol === 'alis' ? 'wss' : 'ws', i = r + '://' + e.hostname + e.path return ( e.port && e.port !== 80 && e.port !== 443 && (i = r + '://' + e.hostname + ':' + e.port + e.path), typeof e.transformWsUrl == 'function' && (i = e.transformWsUrl(i, e, t)), i ) } function hg() { Df || ((Df = !0), Qe.onSocketOpen(function () { Ye.setReadable(Zt), Ye.setWritable(Zt), Ye.emit('connect') }), Qe.onSocketMessage(function (e) { if (typeof e.data == 'string') { var t = Buffer.from(e.data, 'base64') Zt.push(t) } else { var r = new FileReader() r.addEventListener('load', function () { var i = r.result i instanceof ArrayBuffer ? (i = Buffer.from(i)) : (i = Buffer.from(i, 'utf8')), Zt.push(i) }), r.readAsArrayBuffer(e.data) } }), Qe.onSocketClose(function () { Ye.end(), Ye.destroy() }), Qe.onSocketError(function (e) { Ye.destroy(e) })) } function dg(e, t) { if (((t.hostname = t.hostname || t.host), !t.hostname)) throw new Error('Could not determine host. Specify host manually.') var r = t.protocolId === 'MQIsdp' && t.protocolVersion === 3 ? 'mqttv3.1' : 'mqtt' ug(t) var i = cg(t, e) return ( (Qe = t.my), Qe.connectSocket({ url: i, protocols: r }), (Zt = lg()), (Ye = fg.obj()), hg(), Ye ) } Uf.exports = dg }) var ut = b((Cw, jf) => { 'use strict' jf.exports = { BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'], GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11', kStatusCode: Symbol('status-code'), kWebSocket: Symbol('websocket'), EMPTY_BUFFER: Buffer.alloc(0), NOOP: () => {}, } }) var er = b((Tw, Zn) => { 'use strict' var { EMPTY_BUFFER: pg } = ut() function Ff(e, t) { if (e.length === 0) return pg if (e.length === 1) return e[0] let r = Buffer.allocUnsafe(t), i = 0 for (let n = 0; n < e.length; n++) { let s = e[n] r.set(s, i), (i += s.length) } return i < t ? r.slice(0, i) : r } function Wf(e, t, r, i, n) { for (let s = 0; s < n; s++) r[i + s] = e[s] ^ t[s & 3] } function Vf(e, t) { let r = e.length for (let i = 0; i < r; i++) e[i] ^= t[i & 3] } function Hf(e) { return e.byteLength === e.buffer.byteLength ? e.buffer : e.buffer.slice(e.byteOffset, e.byteOffset + e.byteLength) } function pi(e) { if (((pi.readOnly = !0), Buffer.isBuffer(e))) return e let t return ( e instanceof ArrayBuffer ? (t = Buffer.from(e)) : ArrayBuffer.isView(e) ? (t = Buffer.from(e.buffer, e.byteOffset, e.byteLength)) : ((t = Buffer.from(e)), (pi.readOnly = !1)), t ) } try { let e = require('bufferutil'), t = e.BufferUtil || e Zn.exports = { concat: Ff, mask(r, i, n, s, o) { o < 48 ? Wf(r, i, n, s, o) : t.mask(r, i, n, s, o) }, toArrayBuffer: Hf, toBuffer: pi, unmask(r, i) { r.length < 32 ? Vf(r, i) : t.unmask(r, i) }, } } catch { Zn.exports = { concat: Ff, mask: Wf, toArrayBuffer: Hf, toBuffer: pi, unmask: Vf, } } }) var zf = b((Iw, Gf) => { 'use strict' var $f = Symbol('kDone'), es = Symbol('kRun'), ts = class { constructor(t) { ;(this[$f] = () => { this.pending--, this[es]() }), (this.concurrency = t || 1 / 0), (this.jobs = []), (this.pending = 0) } add(t) { this.jobs.push(t), this[es]() } [es]() { if (this.pending !== this.concurrency && this.jobs.length) { let t = this.jobs.shift() this.pending++, t(this[$f]) } } } Gf.exports = ts }) var ir = b((Ow, Jf) => { 'use strict' var tr = require('zlib'), Kf = er(), _g = zf(), { kStatusCode: Yf, NOOP: gg } = ut(), bg = Buffer.from([0, 0, 255, 255]), bi = Symbol('permessage-deflate'), Pe = Symbol('total-length'), rr = Symbol('callback'), Je = Symbol('buffers'), gi = Symbol('error'), _i, rs = class { constructor(t, r, i) { if ( ((this._maxPayload = i | 0), (this._options = t || {}), (this._threshold = this._options.threshold !== void 0 ? this._options.threshold : 1024), (this._isServer = !!r), (this._deflate = null), (this._inflate = null), (this.params = null), !_i) ) { let n = this._options.concurrencyLimit !== void 0 ? this._options.concurrencyLimit : 10 _i = new _g(n) } } static get extensionName() { return 'permessage-deflate' } offer() { let t = {} return ( this._options.serverNoContextTakeover && (t.server_no_context_takeover = !0), this._options.clientNoContextTakeover && (t.client_no_context_takeover = !0), this._options.serverMaxWindowBits && (t.server_max_window_bits = this._options.serverMaxWindowBits), this._options.clientMaxWindowBits ? (t.client_max_window_bits = this._options.clientMaxWindowBits) : this._options.clientMaxWindowBits == null && (t.client_max_window_bits = !0), t ) } accept(t) { return ( (t = this.normalizeParams(t)), (this.params = this._isServer ? this.acceptAsServer(t) : this.acceptAsClient(t)), this.params ) } cleanup() { if ( (this._inflate && (this._inflate.close(), (this._inflate = null)), this._deflate) ) { let t = this._deflate[rr] this._deflate.close(), (this._deflate = null), t && t( new Error( 'The deflate stream was closed while data was being processed', ), ) } } acceptAsServer(t) { let r = this._options, i = t.find( (n) => !( (r.serverNoContextTakeover === !1 && n.server_no_context_takeover) || (n.server_max_window_bits && (r.serverMaxWindowBits === !1 || (typeof r.serverMaxWindowBits == 'number' && r.serverMaxWindowBits > n.server_max_window_bits))) || (typeof r.clientMaxWindowBits == 'number' && !n.client_max_window_bits) ), ) if (!i) throw new Error('None of the extension offers can be accepted') return ( r.serverNoContextTakeover && (i.server_no_context_takeover = !0), r.clientNoContextTakeover && (i.client_no_context_takeover = !0), typeof r.serverMaxWindowBits == 'number' && (i.server_max_window_bits = r.serverMaxWindowBits), typeof r.clientMaxWindowBits == 'number' ? (i.client_max_window_bits = r.clientMaxWindowBits) : (i.client_max_window_bits === !0 || r.clientMaxWindowBits === !1) && delete i.client_max_window_bits, i ) } acceptAsClient(t) { let r = t[0] if ( this._options.clientNoContextTakeover === !1 && r.client_no_context_takeover ) throw new Error('Unexpected parameter "client_no_context_takeover"') if (!r.client_max_window_bits) typeof this._options.clientMaxWindowBits == 'number' && (r.client_max_window_bits = this._options.clientMaxWindowBits) else if ( this._options.clientMaxWindowBits === !1 || (typeof this._options.clientMaxWindowBits == 'number' && r.client_max_window_bits > this._options.clientMaxWindowBits) ) throw new Error( 'Unexpected or invalid parameter "client_max_window_bits"', ) return r } normalizeParams(t) { return ( t.forEach((r) => { Object.keys(r).forEach((i) => { let n = r[i] if (n.length > 1) throw new Error( `Parameter "${i}" must have only a single value`, ) if (((n = n[0]), i === 'client_max_window_bits')) { if (n !== !0) { let s = +n if (!Number.isInteger(s) || s < 8 || s > 15) throw new TypeError( `Invalid value for parameter "${i}": ${n}`, ) n = s } else if (!this._isServer) throw new TypeError( `Invalid value for parameter "${i}": ${n}`, ) } else if (i === 'server_max_window_bits') { let s = +n if (!Number.isInteger(s) || s < 8 || s > 15) throw new TypeError( `Invalid value for parameter "${i}": ${n}`, ) n = s } else if ( i === 'client_no_context_takeover' || i === 'server_no_context_takeover' ) { if (n !== !0) throw new TypeError( `Invalid value for parameter "${i}": ${n}`, ) } else throw new Error(`Unknown parameter "${i}"`) r[i] = n }) }), t ) } decompress(t, r, i) { _i.add((n) => { this._decompress(t, r, (s, o) => { n(), i(s, o) }) }) } compress(t, r, i) { _i.add((n) => { this._compress(t, r, (s, o) => { n(), i(s, o) }) }) } _decompress(t, r, i) { let n = this._isServer ? 'client' : 'server' if (!this._inflate) { let s = `${n}_max_window_bits`, o = typeof this.params[s] != 'number' ? tr.Z_DEFAULT_WINDOWBITS : this.params[s] ;(this._inflate = tr.createInflateRaw({ ...this._options.zlibInflateOptions, windowBits: o, })), (this._inflate[bi] = this), (this._inflate[Pe] = 0), (this._inflate[Je] = []), this._inflate.on('error', vg), this._inflate.on('data', Qf) } ;(this._inflate[rr] = i), this._inflate.write(t), r && this._inflate.write(bg), this._inflate.flush(() => { let s = this._inflate[gi] if (s) { this._inflate.close(), (this._inflate = null), i(s) return } let o = Kf.concat(this._inflate[Je], this._inflate[Pe]) this._inflate._readableState.endEmitted ? (this._inflate.close(), (this._inflate = null)) : ((this._inflate[Pe] = 0), (this._inflate[Je] = []), r && this.params[`${n}_no_context_takeover`] && this._inflate.reset()), i(null, o) }) } _compress(t, r, i) { let n = this._isServer ? 'server' : 'client' if (!this._deflate) { let s = `${n}_max_window_bits`, o = typeof this.params[s] != 'number' ? tr.Z_DEFAULT_WINDOWBITS : this.params[s] ;(this._deflate = tr.createDeflateRaw({ ...this._options.zlibDeflateOptions, windowBits: o, })), (this._deflate[Pe] = 0), (this._deflate[Je] = []), this._deflate.on('error', gg), this._deflate.on('data', yg) } ;(this._deflate[rr] = i), this._deflate.write(t), this._deflate.flush(tr.Z_SYNC_FLUSH, () => { if (!this._deflate) return let s = Kf.concat(this._deflate[Je], this._deflate[Pe]) r && (s = s.slice(0, s.length - 4)), (this._deflate[rr] = null), (this._deflate[Pe] = 0), (this._deflate[Je] = []), r && this.params[`${n}_no_context_takeover`] && this._deflate.reset(), i(null, s) }) } } Jf.exports = rs function yg(e) { this[Je].push(e), (this[Pe] += e.length) } function Qf(e) { if ( ((this[Pe] += e.length), this[bi]._maxPayload < 1 || this[Pe] <= this[bi]._maxPayload) ) { this[Je].push(e) return } ;(this[gi] = new RangeError('Max payload size exceeded')), (this[gi].code = 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH'), (this[gi][Yf] = 1009), this.removeListener('data', Qf), this.reset() } function vg(e) { ;(this[bi]._inflate = null), (e[Yf] = 1007), this[rr](e) } }) var ns = b((kw, is) => { 'use strict' function Xf(e) { return ( (e >= 1e3 && e <= 1014 && e !== 1004 && e !== 1005 && e !== 1006) || (e >= 3e3 && e <= 4999) ) } function Zf(e) { let t = e.length, r = 0 for (; r < t; ) if (!(e[r] & 128)) r++ else if ((e[r] & 224) === 192) { if (r + 1 === t || (e[r + 1] & 192) !== 128 || (e[r] & 254) === 192) return !1 r += 2 } else if ((e[r] & 240) === 224) { if ( r + 2 >= t || (e[r + 1] & 192) !== 128 || (e[r + 2] & 192) !== 128 || (e[r] === 224 && (e[r + 1] & 224) === 128) || (e[r] === 237 && (e[r + 1] & 224) === 160) ) return !1 r += 3 } else if ((e[r] & 248) === 240) { if ( r + 3 >= t || (e[r + 1] & 192) !== 128 || (e[r + 2] & 192) !== 128 || (e[r + 3] & 192) !== 128 || (e[r] === 240 && (e[r + 1] & 240) === 128) || (e[r] === 244 && e[r + 1] > 143) || e[r] > 244 ) return !1 r += 4 } else return !1 return !0 } try { let e = require('utf-8-validate') typeof e == 'object' && (e = e.Validation.isValidUTF8), (is.exports = { isValidStatusCode: Xf, isValidUTF8(t) { return t.length < 150 ? Zf(t) : e(t) }, }) } catch { is.exports = { isValidStatusCode: Xf, isValidUTF8: Zf } } }) var fs = b((Rw, sl) => { 'use strict' var { Writable: mg } = require('stream'), el = ir(), { BINARY_TYPES: wg, EMPTY_BUFFER: Sg, kStatusCode: Eg, kWebSocket: xg, } = ut(), { concat: ss, toArrayBuffer: Cg, unmask: Tg } = er(), { isValidStatusCode: Ig, isValidUTF8: tl } = ns(), nr = 0, rl = 1, il = 2, nl = 3, os = 4, Og = 5, as = class extends mg { constructor(t, r, i, n) { super(), (this._binaryType = t || wg[0]), (this[xg] = void 0), (this._extensions = r || {}), (this._isServer = !!i), (this._maxPayload = n | 0), (this._bufferedBytes = 0), (this._buffers = []), (this._compressed = !1), (this._payloadLength = 0), (this._mask = void 0), (this._fragmented = 0), (this._masked = !1), (this._fin = !1), (this._opcode = 0), (this._totalPayloadLength = 0), (this._messageLength = 0), (this._fragments = []), (this._state = nr), (this._loop = !1) } _write(t, r, i) { if (this._opcode === 8 && this._state == nr) return i() ;(this._bufferedBytes += t.length), this._buffers.push(t), this.startLoop(i) } consume(t) { if (((this._bufferedBytes -= t), t === this._buffers[0].length)) return this._buffers.shift() if (t < this._buffers[0].length) { let i = this._buffers[0] return (this._buffers[0] = i.slice(t)), i.slice(0, t) } let r = Buffer.allocUnsafe(t) do { let i = this._buffers[0], n = r.length - t t >= i.length ? r.set(this._buffers.shift(), n) : (r.set(new Uint8Array(i.buffer, i.byteOffset, t), n), (this._buffers[0] = i.slice(t))), (t -= i.length) } while (t > 0) return r } startLoop(t) { let r this._loop = !0 do switch (this._state) { case nr: r = this.getInfo() break case rl: r = this.getPayloadLength16() break case il: r = this.getPayloadLength64() break case nl: this.getMask() break case os: r = this.getData(t) break default: this._loop = !1 return } while (this._loop) t(r) } getInfo() { if (this._bufferedBytes < 2) { this._loop = !1 return } let t = this.consume(2) if (t[0] & 48) return ( (this._loop = !1), K( RangeError, 'RSV2 and RSV3 must be clear', !0, 1002, 'WS_ERR_UNEXPECTED_RSV_2_3', ) ) let r = (t[0] & 64) === 64 if (r && !this._extensions[el.extensionName]) return ( (this._loop = !1), K( RangeError, 'RSV1 must be clear', !0, 1002, 'WS_ERR_UNEXPECTED_RSV_1', ) ) if ( ((this._fin = (t[0] & 128) === 128), (this._opcode = t[0] & 15), (this._payloadLength = t[1] & 127), this._opcode === 0) ) { if (r) return ( (this._loop = !1), K( RangeError, 'RSV1 must be clear', !0, 1002, 'WS_ERR_UNEXPECTED_RSV_1', ) ) if (!this._fragmented) return ( (this._loop = !1), K( RangeError, 'invalid opcode 0', !0, 1002, 'WS_ERR_INVALID_OPCODE', ) ) this._opcode = this._fragmented } else if (this._opcode === 1 || this._opcode === 2) { if (this._fragmented) return ( (this._loop = !1), K( RangeError, `invalid opcode ${this._opcode}`, !0, 1002, 'WS_ERR_INVALID_OPCODE', ) ) this._compressed = r } else if (this._opcode > 7 && this._opcode < 11) { if (!this._fin) return ( (this._loop = !1), K(RangeError, 'FIN must be set', !0, 1002, 'WS_ERR_EXPECTED_FIN') ) if (r) return ( (this._loop = !1), K( RangeError, 'RSV1 must be clear', !0, 1002, 'WS_ERR_UNEXPECTED_RSV_1', ) ) if (this._payloadLength > 125) return ( (this._loop = !1), K( RangeError, `invalid payload length ${this._payloadLength}`, !0, 1002, 'WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH', ) ) } else return ( (this._loop = !1), K( RangeError, `invalid opcode ${this._opcode}`, !0, 1002, 'WS_ERR_INVALID_OPCODE', ) ) if ( (!this._fin && !this._fragmented && (this._fragmented = this._opcode), (this._masked = (t[1] & 128) === 128), this._isServer) ) { if (!this._masked) return ( (this._loop = !1), K( RangeError, 'MASK must be set', !0, 1002, 'WS_ERR_EXPECTED_MASK', ) ) } else if (this._masked) return ( (this._loop = !1), K( RangeError, 'MASK must be clear', !0, 1002, 'WS_ERR_UNEXPECTED_MASK', ) ) if (this._payloadLength === 126) this._state = rl else if (this._payloadLength === 127) this._state = il else return this.haveLength() } getPayloadLength16() { if (this._bufferedBytes < 2) { this._loop = !1 return } return ( (this._payloadLength = this.consume(2).readUInt16BE(0)), this.haveLength() ) } getPayloadLength64() { if (this._bufferedBytes < 8) { this._loop = !1 return } let t = this.consume(8), r = t.readUInt32BE(0) return r > Math.pow(2, 21) - 1 ? ((this._loop = !1), K( RangeError, 'Unsupported WebSocket frame: payload length > 2^53 - 1', !1, 1009, 'WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH', )) : ((this._payloadLength = r * Math.pow(2, 32) + t.readUInt32BE(4)), this.haveLength()) } haveLength() { if ( this._payloadLength && this._opcode < 8 && ((this._totalPayloadLength += this._payloadLength), this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) ) return ( (this._loop = !1), K( RangeError, 'Max payload size exceeded', !1, 1009, 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH', ) ) this._masked ? (this._state = nl) : (this._state = os) } getMask() { if (this._bufferedBytes < 4) { this._loop = !1 return } ;(this._mask = this.consume(4)), (this._state = os) } getData(t) { let r = Sg if (this._payloadLength) { if (this._bufferedBytes < this._payloadLength) { this._loop = !1 return } ;(r = this.consume(this._payloadLength)), this._masked && Tg(r, this._mask) } if (this._opcode > 7) return this.controlMessage(r) if (this._compressed) { ;(this._state = Og), this.decompress(r, t) return } return ( r.length && ((this._messageLength = this._totalPayloadLength), this._fragments.push(r)), this.dataMessage() ) } decompress(t, r) { this._extensions[el.extensionName].decompress(t, this._fin, (n, s) => { if (n) return r(n) if (s.length) { if ( ((this._messageLength += s.length), this._messageLength > this._maxPayload && this._maxPayload > 0) ) return r( K( RangeError, 'Max payload size exceeded', !1, 1009, 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH', ), ) this._fragments.push(s) } let o = this.dataMessage() if (o) return r(o) this.startLoop(r) }) } dataMessage() { if (this._fin) { let t = this._messageLength, r = this._fragments if ( ((this._totalPayloadLength = 0), (this._messageLength = 0), (this._fragmented = 0), (this._fragments = []), this._opcode === 2) ) { let i this._binaryType === 'nodebuffer' ? (i = ss(r, t)) : this._binaryType === 'arraybuffer' ? (i = Cg(ss(r, t))) : (i = r), this.emit('message', i) } else { let i = ss(r, t) if (!tl(i)) return ( (this._loop = !1), K( Error, 'invalid UTF-8 sequence', !0, 1007, 'WS_ERR_INVALID_UTF8', ) ) this.emit('message', i.toString()) } } this._state = nr } controlMessage(t) { if (this._opcode === 8) if (((this._loop = !1), t.length === 0)) this.emit('conclude', 1005, ''), this.end() else { if (t.length === 1) return K( RangeError, 'invalid payload length 1', !0, 1002, 'WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH', ) { let r = t.readUInt16BE(0) if (!Ig(r)) return K( RangeError, `invalid status code ${r}`, !0, 1002, 'WS_ERR_INVALID_CLOSE_CODE', ) let i = t.slice(2) if (!tl(i)) return K( Error, 'invalid UTF-8 sequence', !0, 1007, 'WS_ERR_INVALID_UTF8', ) this.emit('conclude', r, i.toString()), this.end() } } else this._opcode === 9 ? this.emit('ping', t) : this.emit('pong', t) this._state = nr } } sl.exports = as function K(e, t, r, i, n) { let s = new e(r ? `Invalid WebSocket frame: ${t}` : t) return Error.captureStackTrace(s, K), (s.code = n), (s[Eg] = i), s } }) var us = b((Aw, fl) => { 'use strict' var Pw = require('net'), Bw = require('tls'), { randomFillSync: kg } = require('crypto'), ol = ir(), { EMPTY_BUFFER: Rg } = ut(), { isValidStatusCode: Pg } = ns(), { mask: al, toBuffer: Be } = er(), ct = Buffer.alloc(4), ls = class e { constructor(t, r) { ;(this._extensions = r || {}), (this._socket = t), (this._firstFragment = !0), (this._compress = !1), (this._bufferedBytes = 0), (this._deflating = !1), (this._queue = []) } static frame(t, r) { let i = r.mask && r.readOnly, n = r.mask ? 6 : 2, s = t.length t.length >= 65536 ? ((n += 8), (s = 127)) : t.length > 125 && ((n += 2), (s = 126)) let o = Buffer.allocUnsafe(i ? t.length + n : n) return ( (o[0] = r.fin ? r.opcode | 128 : r.opcode), r.rsv1 && (o[0] |= 64), (o[1] = s), s === 126 ? o.writeUInt16BE(t.length, 2) : s === 127 && (o.writeUInt32BE(0, 2), o.writeUInt32BE(t.length, 6)), r.mask ? (kg(ct, 0, 4), (o[1] |= 128), (o[n - 4] = ct[0]), (o[n - 3] = ct[1]), (o[n - 2] = ct[2]), (o[n - 1] = ct[3]), i ? (al(t, ct, o, n, t.length), [o]) : (al(t, ct, t, 0, t.length), [o, t])) : [o, t] ) } close(t, r, i, n) { let s if (t === void 0) s = Rg else { if (typeof t != 'number' || !Pg(t)) throw new TypeError( 'First argument must be a valid error code number', ) if (r === void 0 || r === '') (s = Buffer.allocUnsafe(2)), s.writeUInt16BE(t, 0) else { let o = Buffer.byteLength(r) if (o > 123) throw new RangeError( 'The message must not be greater than 123 bytes', ) ;(s = Buffer.allocUnsafe(2 + o)), s.writeUInt16BE(t, 0), s.write(r, 2) } } this._deflating ? this.enqueue([this.doClose, s, i, n]) : this.doClose(s, i, n) } doClose(t, r, i) { this.sendFrame( e.frame(t, { fin: !0, rsv1: !1, opcode: 8, mask: r, readOnly: !1 }), i, ) } ping(t, r, i) { let n = Be(t) if (n.length > 125) throw new RangeError( 'The data size must not be greater than 125 bytes', ) this._deflating ? this.enqueue([this.doPing, n, r, Be.readOnly, i]) : this.doPing(n, r, Be.readOnly, i) } doPing(t, r, i, n) { this.sendFrame( e.frame(t, { fin: !0, rsv1: !1, opcode: 9, mask: r, readOnly: i }), n, ) } pong(t, r, i) { let n = Be(t) if (n.length > 125) throw new RangeError( 'The data size must not be greater than 125 bytes', ) this._deflating ? this.enqueue([this.doPong, n, r, Be.readOnly, i]) : this.doPong(n, r, Be.readOnly, i) } doPong(t, r, i, n) { this.sendFrame( e.frame(t, { fin: !0, rsv1: !1, opcode: 10, mask: r, readOnly: i }), n, ) } send(t, r, i) { let n = Be(t), s = this._extensions[ol.extensionName], o = r.binary ? 2 : 1, f = r.compress if ( (this._firstFragment ? ((this._firstFragment = !1), f && s && (f = n.length >= s._threshold), (this._compress = f)) : ((f = !1), (o = 0)), r.fin && (this._firstFragment = !0), s) ) { let a = { fin: r.fin, rsv1: f, opcode: o, mask: r.mask, readOnly: Be.readOnly, } this._deflating ? this.enqueue([this.dispatch, n, this._compress, a, i]) : this.dispatch(n, this._compress, a, i) } else this.sendFrame( e.frame(n, { fin: r.fin, rsv1: !1, opcode: o, mask: r.mask, readOnly: Be.readOnly, }), i, ) } dispatch(t, r, i, n) { if (!r) { this.sendFrame(e.frame(t, i), n) return } let s = this._extensions[ol.extensionName] ;(this._bufferedBytes += t.length), (this._deflating = !0), s.compress(t, i.fin, (o, f) => { if (this._socket.destroyed) { let a = new Error( 'The socket was closed while data was being compressed', ) typeof n == 'function' && n(a) for (let l = 0; l < this._queue.length; l++) { let u = this._queue[l][4] typeof u == 'function' && u(a) } return } ;(this._bufferedBytes -= t.length), (this._deflating = !1), (i.readOnly = !1), this.sendFrame(e.frame(f, i), n), this.dequeue() }) } dequeue() { for (; !this._deflating && this._queue.length; ) { let t = this._queue.shift() ;(this._bufferedBytes -= t[1].length), Reflect.apply(t[0], this, t.slice(1)) } } enqueue(t) { ;(this._bufferedBytes += t[1].length), this._queue.push(t) } sendFrame(t, r) { t.length === 2 ? (this._socket.cork(), this._socket.write(t[0]), this._socket.write(t[1], r), this._socket.uncork()) : this._socket.write(t[0], r) } } fl.exports = ls }) var ul = b((Nw, ll) => { 'use strict' var Rt = class { constructor(t, r) { ;(this.target = r), (this.type = t) } }, cs = class extends Rt { constructor(t, r) { super('message', r), (this.data = t) } }, hs = class extends Rt { constructor(t, r, i) { super('close', i), (this.wasClean = i._closeFrameReceived && i._closeFrameSent), (this.reason = r), (this.code = t) } }, ds = class extends Rt { constructor(t) { super('open', t) } }, ps = class extends Rt { constructor(t, r) { super('error', r), (this.message = t.message), (this.error = t) } }, Bg = { addEventListener(e, t, r) { if (typeof t != 'function') return function i(a) { t.call(this, new cs(a, this)) } function n(a, l) { t.call(this, new hs(a, l, this)) } function s(a) { t.call(this, new ps(a, this)) } function o() { t.call(this, new ds(this)) } let f = r && r.once ? 'once' : 'on' e === 'message' ? ((i._listener = t), this[f](e, i)) : e === 'close' ? ((n._listener = t), this[f](e, n)) : e === 'error' ? ((s._listener = t), this[f](e, s)) : e === 'open' ? ((o._listener = t), this[f](e, o)) : this[f](e, t) }, removeEventListener(e, t) { let r = this.listeners(e) for (let i = 0; i < r.length; i++) (r[i] === t || r[i]._listener === t) && this.removeListener(e, r[i]) }, } ll.exports = Bg }) var _s = b((Mw, cl) => { 'use strict' var sr = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, ] function Ce(e, t, r) { e[t] === void 0 ? (e[t] = [r]) : e[t].push(r) } function Ag(e) { let t = Object.create(null) if (e === void 0 || e === '') return t let r = Object.create(null), i = !1, n = !1, s = !1, o, f, a = -1, l = -1, u = 0 for (; u < e.length; u++) { let c = e.charCodeAt(u) if (o === void 0) if (l === -1 && sr[c] === 1) a === -1 && (a = u) else if (c === 32 || c === 9) l === -1 && a !== -1 && (l = u) else if (c === 59 || c === 44) { if (a === -1) throw new SyntaxError(`Unexpected character at index ${u}`) l === -1 && (l = u) let d = e.slice(a, l) c === 44 ? (Ce(t, d, r), (r = Object.create(null))) : (o = d), (a = l = -1) } else throw new SyntaxError(`Unexpected character at index ${u}`) else if (f === void 0) if (l === -1 && sr[c] === 1) a === -1 && (a = u) else if (c === 32 || c === 9) l === -1 && a !== -1 && (l = u) else if (c === 59 || c === 44) { if (a === -1) throw new SyntaxError(`Unexpected character at index ${u}`) l === -1 && (l = u), Ce(r, e.slice(a, l), !0), c === 44 && (Ce(t, o, r), (r = Object.create(null)), (o = void 0)), (a = l = -1) } else if (c === 61 && a !== -1 && l === -1) (f = e.slice(a, u)), (a = l = -1) else throw new SyntaxError(`Unexpected character at index ${u}`) else if (n) { if (sr[c] !== 1) throw new SyntaxError(`Unexpected character at index ${u}`) a === -1 ? (a = u) : i || (i = !0), (n = !1) } else if (s) if (sr[c] === 1) a === -1 && (a = u) else if (c === 34 && a !== -1) (s = !1), (l = u) else if (c === 92) n = !0 else throw new SyntaxError(`Unexpected character at index ${u}`) else if (c === 34 && e.charCodeAt(u - 1) === 61) s = !0 else if (l === -1 && sr[c] === 1) a === -1 && (a = u) else if (a !== -1 && (c === 32 || c === 9)) l === -1 && (l = u) else if (c === 59 || c === 44) { if (a === -1) throw new SyntaxError(`Unexpected character at index ${u}`) l === -1 && (l = u) let d = e.slice(a, l) i && ((d = d.replace(/\\/g, '')), (i = !1)), Ce(r, f, d), c === 44 && (Ce(t, o, r), (r = Object.create(null)), (o = void 0)), (f = void 0), (a = l = -1) } else throw new SyntaxError(`Unexpected character at index ${u}`) } if (a === -1 || s) throw new SyntaxError('Unexpected end of input') l === -1 && (l = u) let h = e.slice(a, l) return ( o === void 0 ? Ce(t, h, r) : (f === void 0 ? Ce(r, h, !0) : i ? Ce(r, f, h.replace(/\\/g, '')) : Ce(r, f, h), Ce(t, o, r)), t ) } function Ng(e) { return Object.keys(e) .map((t) => { let r = e[t] return ( Array.isArray(r) || (r = [r]), r .map((i) => [t] .concat( Object.keys(i).map((n) => { let s = i[n] return ( Array.isArray(s) || (s = [s]), s.map((o) => (o === !0 ? n : `${n}=${o}`)).join('; ') ) }), ) .join('; '), ) .join(', ') ) }) .join(', ') } cl.exports = { format: Ng, parse: Ag } }) var ws = b((qw, wl) => { 'use strict' var Mg = require('events'), Lg = require('https'), qg = require('http'), pl = require('net'), Dg = require('tls'), { randomBytes: Ug, createHash: jg } = require('crypto'), { Readable: Lw } = require('stream'), { URL: gs } = require('url'), Xe = ir(), Fg = fs(), Wg = us(), { BINARY_TYPES: hl, EMPTY_BUFFER: bs, GUID: Vg, kStatusCode: Hg, kWebSocket: te, NOOP: _l, } = ut(), { addEventListener: $g, removeEventListener: Gg } = ul(), { format: zg, parse: Kg } = _s(), { toBuffer: Yg } = er(), Ae = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'], ys = [8, 13], Qg = 30 * 1e3, G = class e extends Mg { constructor(t, r, i) { super(), (this._binaryType = hl[0]), (this._closeCode = 1006), (this._closeFrameReceived = !1), (this._closeFrameSent = !1), (this._closeMessage = ''), (this._closeTimer = null), (this._extensions = {}), (this._protocol = ''), (this._readyState = e.CONNECTING), (this._receiver = null), (this._sender = null), (this._socket = null), t !== null ? ((this._bufferedAmount = 0), (this._isServer = !1), (this._redirects = 0), Array.isArray(r) ? (r = r.join(', ')) : typeof r == 'object' && r !== null && ((i = r), (r = void 0)), gl(this, t, r, i)) : (this._isServer = !0) } get binaryType() { return this._binaryType } set binaryType(t) { hl.includes(t) && ((this._binaryType = t), this._receiver && (this._receiver._binaryType = t)) } get bufferedAmount() { return this._socket ? this._socket._writableState.length + this._sender._bufferedBytes : this._bufferedAmount } get extensions() { return Object.keys(this._extensions).join() } get onclose() {} set onclose(t) {} get onerror() {} set onerror(t) {} get onopen() {} set onopen(t) {} get onmessage() {} set onmessage(t) {} get protocol() { return this._protocol } get readyState() { return this._readyState } get url() { return this._url } setSocket(t, r, i) { let n = new Fg(this.binaryType, this._extensions, this._isServer, i) ;(this._sender = new Wg(t, this._extensions)), (this._receiver = n), (this._socket = t), (n[te] = this), (t[te] = this), n.on('conclude', Zg), n.on('drain', eb), n.on('error', tb), n.on('message', rb), n.on('ping', ib), n.on('pong', nb), t.setTimeout(0), t.setNoDelay(), r.length > 0 && t.unshift(r), t.on('close', yl), t.on('data', yi), t.on('end', vl), t.on('error', ml), (this._readyState = e.OPEN), this.emit('open') } emitClose() { if (!this._socket) { ;(this._readyState = e.CLOSED), this.emit('close', this._closeCode, this._closeMessage) return } this._extensions[Xe.extensionName] && this._extensions[Xe.extensionName].cleanup(), this._receiver.removeAllListeners(), (this._readyState = e.CLOSED), this.emit('close', this._closeCode, this._closeMessage) } close(t, r) { if (this.readyState !== e.CLOSED) { if (this.readyState === e.CONNECTING) return ue( this, this._req, 'WebSocket was closed before the connection was established', ) if (this.readyState === e.CLOSING) { this._closeFrameSent && (this._closeFrameReceived || this._receiver._writableState.errorEmitted) && this._socket.end() return } ;(this._readyState = e.CLOSING), this._sender.close(t, r, !this._isServer, (i) => { i || ((this._closeFrameSent = !0), (this._closeFrameReceived || this._receiver._writableState.errorEmitted) && this._socket.end()) }), (this._closeTimer = setTimeout( this._socket.destroy.bind(this._socket), Qg, )) } } ping(t, r, i) { if (this.readyState === e.CONNECTING) throw new Error('WebSocket is not open: readyState 0 (CONNECTING)') if ( (typeof t == 'function' ? ((i = t), (t = r = void 0)) : typeof r == 'function' && ((i = r), (r = void 0)), typeof t == 'number' && (t = t.toString()), this.readyState !== e.OPEN) ) { ms(this, t, i) return } r === void 0 && (r = !this._isServer), this._sender.ping(t || bs, r, i) } pong(t, r, i) { if (this.readyState === e.CONNECTING) throw new Error('WebSocket is not open: readyState 0 (CONNECTING)') if ( (typeof t == 'function' ? ((i = t), (t = r = void 0)) : typeof r == 'function' && ((i = r), (r = void 0)), typeof t == 'number' && (t = t.toString()), this.readyState !== e.OPEN) ) { ms(this, t, i) return } r === void 0 && (r = !this._isServer), this._sender.pong(t || bs, r, i) } send(t, r, i) { if (this.readyState === e.CONNECTING) throw new Error('WebSocket is not open: readyState 0 (CONNECTING)') if ( (typeof r == 'function' && ((i = r), (r = {})), typeof t == 'number' && (t = t.toString()), this.readyState !== e.OPEN) ) { ms(this, t, i) return } let n = { binary: typeof t != 'string', mask: !this._isServer, compress: !0, fin: !0, ...r, } this._extensions[Xe.extensionName] || (n.compress = !1), this._sender.send(t || bs, n, i) } terminate() { if (this.readyState !== e.CLOSED) { if (this.readyState === e.CONNECTING) return ue( this, this._req, 'WebSocket was closed before the connection was established', ) this._socket && ((this._readyState = e.CLOSING), this._socket.destroy()) } } } Object.defineProperty(G, 'CONNECTING', { enumerable: !0, value: Ae.indexOf('CONNECTING'), }) Object.defineProperty(G.prototype, 'CONNECTING', { enumerable: !0, value: Ae.indexOf('CONNECTING'), }) Object.defineProperty(G, 'OPEN', { enumerable: !0, value: Ae.indexOf('OPEN'), }) Object.defineProperty(G.prototype, 'OPEN', { enumerable: !0, value: Ae.indexOf('OPEN'), }) Object.defineProperty(G, 'CLOSING', { enumerable: !0, value: Ae.indexOf('CLOSING'), }) Object.defineProperty(G.prototype, 'CLOSING', { enumerable: !0, value: Ae.indexOf('CLOSING'), }) Object.defineProperty(G, 'CLOSED', { enumerable: !0, value: Ae.indexOf('CLOSED'), }) Object.defineProperty(G.prototype, 'CLOSED', { enumerable: !0, value: Ae.indexOf('CLOSED'), }) ;[ 'binaryType', 'bufferedAmount', 'extensions', 'protocol', 'readyState', 'url', ].forEach((e) => { Object.defineProperty(G.prototype, e, { enumerable: !0 }) }) ;['open', 'error', 'close', 'message'].forEach((e) => { Object.defineProperty(G.prototype, `on${e}`, { enumerable: !0, get() { let t = this.listeners(e) for (let r = 0; r < t.length; r++) if (t[r]._listener) return t[r]._listener }, set(t) { let r = this.listeners(e) for (let i = 0; i < r.length; i++) r[i]._listener && this.removeListener(e, r[i]) this.addEventListener(e, t) }, }) }) G.prototype.addEventListener = $g G.prototype.removeEventListener = Gg wl.exports = G function gl(e, t, r, i) { let n = { protocolVersion: ys[1], maxPayload: 104857600, perMessageDeflate: !0, followRedirects: !1, maxRedirects: 10, ...i, createConnection: void 0, socketPath: void 0, hostname: void 0, protocol: void 0, timeout: void 0, method: void 0, host: void 0, path: void 0, port: void 0, } if (!ys.includes(n.protocolVersion)) throw new RangeError( `Unsupported protocol version: ${ n.protocolVersion } (supported versions: ${ys.join(', ')})`, ) let s t instanceof gs ? ((s = t), (e._url = t.href)) : ((s = new gs(t)), (e._url = t)) let o = s.protocol === 'ws+unix:' if (!s.host && (!o || !s.pathname)) { let d = new Error(`Invalid URL: ${e.url}`) if (e._redirects === 0) throw d vs(e, d) return } let f = s.protocol === 'wss:' || s.protocol === 'https:', a = f ? 443 : 80, l = Ug(16).toString('base64'), u = f ? Lg.get : qg.get, h if ( ((n.createConnection = f ? Xg : Jg), (n.defaultPort = n.defaultPort || a), (n.port = s.port || a), (n.host = s.hostname.startsWith('[') ? s.hostname.slice(1, -1) : s.hostname), (n.headers = { 'Sec-WebSocket-Version': n.protocolVersion, 'Sec-WebSocket-Key': l, Connection: 'Upgrade', Upgrade: 'websocket', ...n.headers, }), (n.path = s.pathname + s.search), (n.timeout = n.handshakeTimeout), n.perMessageDeflate && ((h = new Xe( n.perMessageDeflate !== !0 ? n.perMessageDeflate : {}, !1, n.maxPayload, )), (n.headers['Sec-WebSocket-Extensions'] = zg({ [Xe.extensionName]: h.offer(), }))), r && (n.headers['Sec-WebSocket-Protocol'] = r), n.origin && (n.protocolVersion < 13 ? (n.headers['Sec-WebSocket-Origin'] = n.origin) : (n.headers.Origin = n.origin)), (s.username || s.password) && (n.auth = `${s.username}:${s.password}`), o) ) { let d = n.path.split(':') ;(n.socketPath = d[0]), (n.path = d[1]) } if (n.followRedirects) { if (e._redirects === 0) { ;(e._originalUnixSocket = o), (e._originalSecure = f), (e._originalHostOrSocketPath = o ? n.socketPath : s.host) let d = i && i.headers if (((i = { ...i, headers: {} }), d)) for (let [_, v] of Object.entries(d)) i.headers[_.toLowerCase()] = v } else { let d = o ? e._originalUnixSocket ? n.socketPath === e._originalHostOrSocketPath : !1 : e._originalUnixSocket ? !1 : s.host === e._originalHostOrSocketPath ;(!d || (e._originalSecure && !f)) && (delete n.headers.authorization, delete n.headers.cookie, d || delete n.headers.host, (n.auth = void 0)) } n.auth && !i.headers.authorization && (i.headers.authorization = 'Basic ' + Buffer.from(n.auth).toString('base64')) } let c = (e._req = u(n)) n.timeout && c.on('timeout', () => { ue(e, c, 'Opening handshake has timed out') }), c.on('error', (d) => { c === null || c.aborted || ((c = e._req = null), vs(e, d)) }), c.on('response', (d) => { let _ = d.headers.location, v = d.statusCode if (_ && n.followRedirects && v >= 300 && v < 400) { if (++e._redirects > n.maxRedirects) { ue(e, c, 'Maximum redirects exceeded') return } c.abort() let m try { m = new gs(_, t) } catch (p) { vs(e, p) return } gl(e, m, r, i) } else e.emit('unexpected-response', c, d) || ue(e, c, `Unexpected server response: ${d.statusCode}`) }), c.on('upgrade', (d, _, v) => { if ((e.emit('upgrade', d), e.readyState !== G.CONNECTING)) return if ( ((c = e._req = null), d.headers.upgrade.toLowerCase() !== 'websocket') ) { ue(e, _, 'Invalid Upgrade header') return } let m = jg('sha1') .update(l + Vg) .digest('base64') if (d.headers['sec-websocket-accept'] !== m) { ue(e, _, 'Invalid Sec-WebSocket-Accept header') return } let p = d.headers['sec-websocket-protocol'], g = (r || '').split(/, */), S if ( (!r && p ? (S = 'Server sent a subprotocol but none was requested') : r && !p ? (S = 'Server sent no subprotocol') : p && !g.includes(p) && (S = 'Server sent an invalid subprotocol'), S) ) { ue(e, _, S) return } p && (e._protocol = p) let x = d.headers['sec-websocket-extensions'] if (x !== void 0) { if (!h) { ue( e, _, 'Server sent a Sec-WebSocket-Extensions header but no extension was requested', ) return } let C try { C = Kg(x) } catch { ue(e, _, 'Invalid Sec-WebSocket-Extensions header') return } let w = Object.keys(C) if (w.length) { if (w.length !== 1 || w[0] !== Xe.extensionName) { ue(e, _, 'Server indicated an extension that was not requested') return } try { h.accept(C[Xe.extensionName]) } catch { ue(e, _, 'Invalid Sec-WebSocket-Extensions header') return } e._extensions[Xe.extensionName] = h } } e.setSocket(_, v, n.maxPayload) }) } function vs(e, t) { ;(e._readyState = G.CLOSING), e.emit('error', t), e.emitClose() } function Jg(e) { return (e.path = e.socketPath), pl.connect(e) } function Xg(e) { return ( (e.path = void 0), !e.servername && e.servername !== '' && (e.servername = pl.isIP(e.host) ? '' : e.host), Dg.connect(e) ) } function ue(e, t, r) { e._readyState = G.CLOSING let i = new Error(r) Error.captureStackTrace(i, ue), t.setHeader ? (t.abort(), t.socket && !t.socket.destroyed && t.socket.destroy(), t.once('abort', e.emitClose.bind(e)), e.emit('error', i)) : (t.destroy(i), t.once('error', e.emit.bind(e, 'error')), t.once('close', e.emitClose.bind(e))) } function ms(e, t, r) { if (t) { let i = Yg(t).length e._socket ? (e._sender._bufferedBytes += i) : (e._bufferedAmount += i) } if (r) { let i = new Error( `WebSocket is not open: readyState ${e.readyState} (${ Ae[e.readyState] })`, ) r(i) } } function Zg(e, t) { let r = this[te] ;(r._closeFrameReceived = !0), (r._closeMessage = t), (r._closeCode = e), r._socket[te] !== void 0 && (r._socket.removeListener('data', yi), process.nextTick(bl, r._socket), e === 1005 ? r.close() : r.close(e, t)) } function eb() { this[te]._socket.resume() } function tb(e) { let t = this[te] t._socket[te] !== void 0 && (t._socket.removeListener('data', yi), process.nextTick(bl, t._socket), t.close(e[Hg])), t.emit('error', e) } function dl() { this[te].emitClose() } function rb(e) { this[te].emit('message', e) } function ib(e) { let t = this[te] t.pong(e, !t._isServer, _l), t.emit('ping', e) } function nb(e) { this[te].emit('pong', e) } function bl(e) { e.resume() } function yl() { let e = this[te] this.removeListener('close', yl), this.removeListener('data', yi), this.removeListener('end', vl), (e._readyState = G.CLOSING) let t !this._readableState.endEmitted && !e._closeFrameReceived && !e._receiver._writableState.errorEmitted && (t = e._socket.read()) !== null && e._receiver.write(t), e._receiver.end(), (this[te] = void 0), clearTimeout(e._closeTimer), e._receiver._writableState.finished || e._receiver._writableState.errorEmitted ? e.emitClose() : (e._receiver.on('error', dl), e._receiver.on('finish', dl)) } function yi(e) { this[te]._receiver.write(e) || this.pause() } function vl() { let e = this[te] ;(e._readyState = G.CLOSING), e._receiver.end(), this.end() } function ml() { let e = this[te] this.removeListener('error', ml), this.on('error', _l), e && ((e._readyState = G.CLOSING), this.destroy()) } }) var Cl = b((Dw, xl) => { 'use strict' var { Duplex: sb } = require('stream') function Sl(e) { e.emit('close') } function ob() { !this.destroyed && this._writableState.finished && this.destroy() } function El(e) { this.removeListener('error', El), this.destroy(), this.listenerCount('error') === 0 && this.emit('error', e) } function ab(e, t) { let r = !0, i = !0 function n() { r && e._socket.resume() } e.readyState === e.CONNECTING ? e.once('open', function () { e._receiver.removeAllListeners('drain'), e._receiver.on('drain', n) }) : (e._receiver.removeAllListeners('drain'), e._receiver.on('drain', n)) let s = new sb({ ...t, autoDestroy: !1, emitClose: !1, objectMode: !1, writableObjectMode: !1, }) return ( e.on('message', function (f) { s.push(f) || ((r = !1), e._socket.pause()) }), e.once('error', function (f) { s.destroyed || ((i = !1), s.destroy(f)) }), e.once('close', function () { s.destroyed || s.push(null) }), (s._destroy = function (o, f) { if (e.readyState === e.CLOSED) { f(o), process.nextTick(Sl, s) return } let a = !1 e.once('error', function (u) { ;(a = !0), f(u) }), e.once('close', function () { a || f(o), process.nextTick(Sl, s) }), i && e.terminate() }), (s._final = function (o) { if (e.readyState === e.CONNECTING) { e.once('open', function () { s._final(o) }) return } e._socket !== null && (e._socket._writableState.finished ? (o(), s._readableState.endEmitted && s.destroy()) : (e._socket.once('finish', function () { o() }), e.close())) }), (s._read = function () { ;(e.readyState === e.OPEN || e.readyState === e.CLOSING) && !r && ((r = !0), e._receiver._writableState.needDrain || e._socket.resume()) }), (s._write = function (o, f, a) { if (e.readyState === e.CONNECTING) { e.once('open', function () { s._write(o, f, a) }) return } e.send(o, a) }), s.on('end', ob), s.on('error', El), s ) } xl.exports = ab }) var Rl = b((Ww, kl) => { 'use strict' var fb = require('events'), vi = require('http'), Uw = require('https'), jw = require('net'), Fw = require('tls'), { createHash: lb } = require('crypto'), ht = ir(), ub = ws(), { format: cb, parse: hb } = _s(), { GUID: db, kWebSocket: pb } = ut(), _b = /^[+/0-9A-Za-z]{22}==$/, Tl = 0, Il = 1, Ol = 2, Es = class extends fb { constructor(t, r) { if ( (super(), (t = { maxPayload: 100 * 1024 * 1024, perMessageDeflate: !1, handleProtocols: null, clientTracking: !0, verifyClient: null, noServer: !1, backlog: null, server: null, host: null, path: null, port: null, ...t, }), (t.port == null && !t.server && !t.noServer) || (t.port != null && (t.server || t.noServer)) || (t.server && t.noServer)) ) throw new TypeError( 'One and only one of the "port", "server", or "noServer" options must be specified', ) if ( (t.port != null ? ((this._server = vi.createServer((i, n) => { let s = vi.STATUS_CODES[426] n.writeHead(426, { 'Content-Length': s.length, 'Content-Type': 'text/plain', }), n.end(s) })), this._server.listen(t.port, t.host, t.backlog, r)) : t.server && (this._server = t.server), this._server) ) { let i = this.emit.bind(this, 'connection') this._removeListeners = gb(this._server, { listening: this.emit.bind(this, 'listening'), error: this.emit.bind(this, 'error'), upgrade: (n, s, o) => { this.handleUpgrade(n, s, o, i) }, }) } t.perMessageDeflate === !0 && (t.perMessageDeflate = {}), t.clientTracking && (this.clients = new Set()), (this.options = t), (this._state = Tl) } address() { if (this.options.noServer) throw new Error('The server is operating in "noServer" mode') return this._server ? this._server.address() : null } close(t) { if ((t && this.once('close', t), this._state === Ol)) { process.nextTick(Ss, this) return } if (this._state === Il) return if (((this._state = Il), this.clients)) for (let i of this.clients) i.terminate() let r = this._server if ( r && (this._removeListeners(), (this._removeListeners = this._server = null), this.options.port != null) ) { r.close(Ss.bind(void 0, this)) return } process.nextTick(Ss, this) } shouldHandle(t) { if (this.options.path) { let r = t.url.indexOf('?') if ((r !== -1 ? t.url.slice(0, r) : t.url) !== this.options.path) return !1 } return !0 } handleUpgrade(t, r, i, n) { r.on('error', xs) let s = t.headers['sec-websocket-key'] !== void 0 ? t.headers['sec-websocket-key'].trim() : !1, o = +t.headers['sec-websocket-version'], f = {} if ( t.method !== 'GET' || t.headers.upgrade.toLowerCase() !== 'websocket' || !s || !_b.test(s) || (o !== 8 && o !== 13) || !this.shouldHandle(t) ) return or(r, 400) if (this.options.perMessageDeflate) { let a = new ht( this.options.perMessageDeflate, !0, this.options.maxPayload, ) try { let l = hb(t.headers['sec-websocket-extensions']) l[ht.extensionName] && (a.accept(l[ht.extensionName]), (f[ht.extensionName] = a)) } catch { return or(r, 400) } } if (this.options.verifyClient) { let a = { origin: t.headers[`${o === 8 ? 'sec-websocket-origin' : 'origin'}`], secure: !!(t.socket.authorized || t.socket.encrypted), req: t, } if (this.options.verifyClient.length === 2) { this.options.verifyClient(a, (l, u, h, c) => { if (!l) return or(r, u || 401, h, c) this.completeUpgrade(s, f, t, r, i, n) }) return } if (!this.options.verifyClient(a)) return or(r, 401) } this.completeUpgrade(s, f, t, r, i, n) } completeUpgrade(t, r, i, n, s, o) { if (!n.readable || !n.writable) return n.destroy() if (n[pb]) throw new Error( 'server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration', ) if (this._state > Tl) return or(n, 503) let a = [ 'HTTP/1.1 101 Switching Protocols', 'Upgrade: websocket', 'Connection: Upgrade', `Sec-WebSocket-Accept: ${lb('sha1') .update(t + db) .digest('base64')}`, ], l = new ub(null), u = i.headers['sec-websocket-protocol'] if ( (u && ((u = u.split(',').map(bb)), this.options.handleProtocols ? (u = this.options.handleProtocols(u, i)) : (u = u[0]), u && (a.push(`Sec-WebSocket-Protocol: ${u}`), (l._protocol = u))), r[ht.extensionName]) ) { let h = r[ht.extensionName].params, c = cb({ [ht.extensionName]: [h] }) a.push(`Sec-WebSocket-Extensions: ${c}`), (l._extensions = r) } this.emit('headers', a, i), n.write( a.concat(`\r `).join(`\r `), ), n.removeListener('error', xs), l.setSocket(n, s, this.options.maxPayload), this.clients && (this.clients.add(l), l.on('close', () => this.clients.delete(l))), o(l, i) } } kl.exports = Es function gb(e, t) { for (let r of Object.keys(t)) e.on(r, t[r]) return function () { for (let i of Object.keys(t)) e.removeListener(i, t[i]) } } function Ss(e) { ;(e._state = Ol), e.emit('close') } function xs() { this.destroy() } function or(e, t, r, i) { e.writable && ((r = r || vi.STATUS_CODES[t]), (i = { Connection: 'close', 'Content-Type': 'text/html', 'Content-Length': Buffer.byteLength(r), ...i, }), e.write( `HTTP/1.1 ${t} ${vi.STATUS_CODES[t]}\r ` + Object.keys(i).map((n) => `${n}: ${i[n]}`).join(`\r `) + `\r \r ` + r, )), e.removeListener('error', xs), e.destroy() } function bb(e) { return e.trim() } }) var Bl = b((Vw, Pl) => { 'use strict' var ar = ws() ar.createWebSocketStream = Cl() ar.Server = Rl() ar.Receiver = fs() ar.Sender = us() Pl.exports = ar }) var Ts = b((Hw, Cs) => { 'use strict' var Al = Bl(), fr = ze()('mqttjs:ws'), yb = hi(), vb = He().Transform, mb = ['rejectUnauthorized', 'ca', 'cert', 'key', 'pfx', 'passphrase'], Nl = (typeof process < 'u' && process.title === 'browser') || typeof __webpack_require__ == 'function' function Ml(e, t) { let r = e.protocol + '://' + e.hostname + ':' + e.port + e.path return ( typeof e.transformWsUrl == 'function' && (r = e.transformWsUrl(r, e, t)), r ) } function Ll(e) { let t = e return ( e.hostname || (t.hostname = 'localhost'), e.port || (e.protocol === 'wss' ? (t.port = 443) : (t.port = 80)), e.path || (t.path = '/'), e.wsOptions || (t.wsOptions = {}), !Nl && e.protocol === 'wss' && mb.forEach(function (r) { e.hasOwnProperty(r) && !e.wsOptions.hasOwnProperty(r) && (t.wsOptions[r] = e[r]) }), t ) } function wb(e) { let t = Ll(e) if ((t.hostname || (t.hostname = t.host), !t.hostname)) { if (typeof document > 'u') throw new Error('Could not determine host. Specify host manually.') let r = new URL(document.URL) ;(t.hostname = r.hostname), t.port || (t.port = r.port) } return ( t.objectMode === void 0 && (t.objectMode = !(t.binary === !0 || t.binary === void 0)), t ) } function Sb(e, t, r) { fr('createWebSocket'), fr('protocol: ' + r.protocolId + ' ' + r.protocolVersion) let i = r.protocolId === 'MQIsdp' && r.protocolVersion === 3 ? 'mqttv3.1' : 'mqtt' return ( fr('creating new Websocket for url: ' + t + ' and protocol: ' + i), new Al(t, [i], r.wsOptions) ) } function Eb(e, t) { let r = t.protocolId === 'MQIsdp' && t.protocolVersion === 3 ? 'mqttv3.1' : 'mqtt', i = Ml(t, e), n = new WebSocket(i, [r]) return (n.binaryType = 'arraybuffer'), n } function xb(e, t) { fr('streamBuilder') let r = Ll(t), i = Ml(r, e), n = Sb(e, i, r), s = Al.createWebSocketStream(n, r.wsOptions) return ( (s.url = i), n.on('close', () => { s.destroy() }), s ) } function Cb(e, t) { fr('browserStreamBuilder') let r, n = wb(t).browserBufferSize || 1024 * 512, s = t.browserBufferTimeout || 1e3, o = !t.objectMode, f = Eb(e, t), a = u(t, m, p) t.objectMode || (a._writev = v), a.on('close', () => { f.close() }) let l = typeof f.addEventListener < 'u' f.readyState === f.OPEN ? (r = a) : ((r = r = yb(void 0, void 0, t)), t.objectMode || (r._writev = v), l ? f.addEventListener('open', h) : (f.onopen = h)), (r.socket = f), l ? (f.addEventListener('close', c), f.addEventListener('error', d), f.addEventListener('message', _)) : ((f.onclose = c), (f.onerror = d), (f.onmessage = _)) function u(g, S, x) { let C = new vb({ objectModeMode: g.objectMode }) return (C._write = S), (C._flush = x), C } function h() { r.setReadable(a), r.setWritable(a), r.emit('connect') } function c() { r.end(), r.destroy() } function d(g) { r.destroy(g) } function _(g) { let S = g.data S instanceof ArrayBuffer ? (S = Buffer.from(S)) : (S = Buffer.from(S, 'utf8')), a.push(S) } function v(g, S) { let x = new Array(g.length) for (let C = 0; C < g.length; C++) typeof g[C].chunk == 'string' ? (x[C] = Buffer.from(g[C], 'utf8')) : (x[C] = g[C].chunk) this._write(Buffer.concat(x), 'binary', S) } function m(g, S, x) { f.bufferedAmount > n && setTimeout(m, s, g, S, x), o && typeof g == 'string' && (g = Buffer.from(g, 'utf8')) try { f.send(g) } catch (C) { return x(C) } x() } function p(g) { f.close(), g() } return r } Nl ? (Cs.exports = Cb) : (Cs.exports = xb) }) var jl = b(($w, lr) => { 'use strict' var Dl = $n(), Tb = Jr(), Ib = require('url'), Ob = Mr(), ql = ze()('mqttjs'), oe = {} ;(typeof process < 'u' && process.title !== 'browser') || typeof __webpack_require__ != 'function' ? ((oe.mqtt = Gn()), (oe.tcp = Gn()), (oe.ssl = li()), (oe.tls = li()), (oe.mqtts = li())) : ((oe.wx = Jn()), (oe.wxs = Jn()), (oe.ali = Xn()), (oe.alis = Xn())) oe.ws = Ts() oe.wss = Ts() function kb(e) { var t e.auth && ((t = e.auth.match(/^(.+):(.+)$/)), t ? ((e.username = t[1]), (e.password = t[2])) : (e.username = e.auth)) } function Ul(e, t) { if ( (ql('connecting to an MQTT broker...'), typeof e == 'object' && !t && ((t = e), (e = null)), (t = t || {}), e) ) { var r = Ib.parse(e, !0) if ( (r.port != null && (r.port = Number(r.port)), (t = Ob(r, t)), t.protocol === null) ) throw new Error('Missing protocol') t.protocol = t.protocol.replace(/:$/, '') } if ( (kb(t), t.query && typeof t.query.clientId == 'string' && (t.clientId = t.query.clientId), t.cert && t.key) ) if (t.protocol) { if (['mqtts', 'wss', 'wxs', 'alis'].indexOf(t.protocol) === -1) switch (t.protocol) { case 'mqtt': t.protocol = 'mqtts' break case 'ws': t.protocol = 'wss' break case 'wx': t.protocol = 'wxs' break case 'ali': t.protocol = 'alis' break default: throw new Error( 'Unknown protocol for secure connection: "' + t.protocol + '"!', ) } } else throw new Error('Missing secure protocol key') if (!oe[t.protocol]) { var i = ['mqtts', 'wss'].indexOf(t.protocol) !== -1 t.protocol = [ 'mqtt', 'mqtts', 'ws', 'wss', 'wx', 'wxs', 'ali', 'alis', ].filter(function (o, f) { return i && f % 2 === 0 ? !1 : typeof oe[o] == 'function' })[0] } if (t.clean === !1 && !t.clientId) throw new Error('Missing clientId for unclean clients') t.protocol && (t.defaultProtocol = t.protocol) function n(o) { return ( t.servers && ((!o._reconnectCount || o._reconnectCount === t.servers.length) && (o._reconnectCount = 0), (t.host = t.servers[o._reconnectCount].host), (t.port = t.servers[o._reconnectCount].port), (t.protocol = t.servers[o._reconnectCount].protocol ? t.servers[o._reconnectCount].protocol : t.defaultProtocol), (t.hostname = t.host), o._reconnectCount++), ql('calling streambuilder for', t.protocol), oe[t.protocol](o, t) ) } var s = new Dl(n, t) return s.on('error', function () {}), s } lr.exports = Ul lr.exports.connect = Ul lr.exports.MqttClient = Dl lr.exports.Store = Tb }) var Wl = b((Gw, ur) => { var Fl = $n(), Rb = jl(), Pb = Jr() ur.exports.connect = Rb ur.exports.MqttClient = Fl ur.exports.Client = Fl ur.exports.Store = Pb }) var wi = b((mi, Vl) => { ;(function (e, t) { typeof mi == 'object' ? (Vl.exports = mi = t()) : typeof define == 'function' && define.amd ? define([], t) : (e.CryptoJS = t()) })(mi, function () { var e = e || (function (t, r) { var i if ( (typeof window < 'u' && window.crypto && (i = window.crypto), typeof self < 'u' && self.crypto && (i = self.crypto), typeof globalThis < 'u' && globalThis.crypto && (i = globalThis.crypto), !i && typeof window < 'u' && window.msCrypto && (i = window.msCrypto), !i && typeof global < 'u' && global.crypto && (i = global.crypto), !i && typeof require == 'function') ) try { i = require('crypto') } catch {} var n = function () { if (i) { if (typeof i.getRandomValues == 'function') try { return i.getRandomValues(new Uint32Array(1))[0] } catch {} if (typeof i.randomBytes == 'function') try { return i.randomBytes(4).readInt32LE() } catch {} } throw new Error( 'Native crypto module could not be used to get secure random number.', ) }, s = Object.create || (function () { function p() {} return function (g) { var S return (p.prototype = g), (S = new p()), (p.prototype = null), S } })(), o = {}, f = (o.lib = {}), a = (f.Base = (function () { return { extend: function (p) { var g = s(this) return ( p && g.mixIn(p), (!g.hasOwnProperty('init') || this.init === g.init) && (g.init = function () { g.$super.init.apply(this, arguments) }), (g.init.prototype = g), (g.$super = this), g ) }, create: function () { var p = this.extend() return p.init.apply(p, arguments), p }, init: function () {}, mixIn: function (p) { for (var g in p) p.hasOwnProperty(g) && (this[g] = p[g]) p.hasOwnProperty('toString') && (this.toString = p.toString) }, clone: function () { return this.init.prototype.extend(this) }, } })()), l = (f.WordArray = a.extend({ init: function (p, g) { ;(p = this.words = p || []), g != r ? (this.sigBytes = g) : (this.sigBytes = p.length * 4) }, toString: function (p) { return (p || h).stringify(this) }, concat: function (p) { var g = this.words, S = p.words, x = this.sigBytes, C = p.sigBytes if ((this.clamp(), x % 4)) for (var w = 0; w < C; w++) { var B = (S[w >>> 2] >>> (24 - (w % 4) * 8)) & 255 g[(x + w) >>> 2] |= B << (24 - ((x + w) % 4) * 8) } else for (var M = 0; M < C; M += 4) g[(x + M) >>> 2] = S[M >>> 2] return (this.sigBytes += C), this }, clamp: function () { var p = this.words, g = this.sigBytes ;(p[g >>> 2] &= 4294967295 << (32 - (g % 4) * 8)), (p.length = t.ceil(g / 4)) }, clone: function () { var p = a.clone.call(this) return (p.words = this.words.slice(0)), p }, random: function (p) { for (var g = [], S = 0; S < p; S += 4) g.push(n()) return new l.init(g, p) }, })), u = (o.enc = {}), h = (u.Hex = { stringify: function (p) { for (var g = p.words, S = p.sigBytes, x = [], C = 0; C < S; C++) { var w = (g[C >>> 2] >>> (24 - (C % 4) * 8)) & 255 x.push((w >>> 4).toString(16)), x.push((w & 15).toString(16)) } return x.join('') }, parse: function (p) { for (var g = p.length, S = [], x = 0; x < g; x += 2) S[x >>> 3] |= parseInt(p.substr(x, 2), 16) << (24 - (x % 8) * 4) return new l.init(S, g / 2) }, }), c = (u.Latin1 = { stringify: function (p) { for (var g = p.words, S = p.sigBytes, x = [], C = 0; C < S; C++) { var w = (g[C >>> 2] >>> (24 - (C % 4) * 8)) & 255 x.push(String.fromCharCode(w)) } return x.join('') }, parse: function (p) { for (var g = p.length, S = [], x = 0; x < g; x++) S[x >>> 2] |= (p.charCodeAt(x) & 255) << (24 - (x % 4) * 8) return new l.init(S, g) }, }), d = (u.Utf8 = { stringify: function (p) { try { return decodeURIComponent(escape(c.stringify(p))) } catch { throw new Error('Malformed UTF-8 data') } }, parse: function (p) { return c.parse(unescape(encodeURIComponent(p))) }, }), _ = (f.BufferedBlockAlgorithm = a.extend({ reset: function () { ;(this._data = new l.init()), (this._nDataBytes = 0) }, _append: function (p) { typeof p == 'string' && (p = d.parse(p)), this._data.concat(p), (this._nDataBytes += p.sigBytes) }, _process: function (p) { var g, S = this._data, x = S.words, C = S.sigBytes, w = this.blockSize, B = w * 4, M = C / B p ? (M = t.ceil(M)) : (M = t.max((M | 0) - this._minBufferSize, 0)) var H = M * w, rt = t.min(H * 4, C) if (H) { for (var Se = 0; Se < H; Se += w) this._doProcessBlock(x, Se) ;(g = x.splice(0, H)), (S.sigBytes -= rt) } return new l.init(g, rt) }, clone: function () { var p = a.clone.call(this) return (p._data = this._data.clone()), p }, _minBufferSize: 0, })), v = (f.Hasher = _.extend({ cfg: a.extend(), init: function (p) { ;(this.cfg = this.cfg.extend(p)), this.reset() }, reset: function () { _.reset.call(this), this._doReset() }, update: function (p) { return this._append(p), this._process(), this }, finalize: function (p) { p && this._append(p) var g = this._doFinalize() return g }, blockSize: 512 / 32, _createHelper: function (p) { return function (g, S) { return new p.init(S).finalize(g) } }, _createHmacHelper: function (p) { return function (g, S) { return new m.HMAC.init(p, S).finalize(g) } }, })), m = (o.algo = {}) return o })(Math) return e }) }) var Is = b((Si, Hl) => { ;(function (e, t) { typeof Si == 'object' ? (Hl.exports = Si = t(wi())) : typeof define == 'function' && define.amd ? define(['./core'], t) : t(e.CryptoJS) })(Si, function (e) { return ( (function (t) { var r = e, i = r.lib, n = i.WordArray, s = i.Hasher, o = r.algo, f = [], a = [] ;(function () { function h(v) { for (var m = t.sqrt(v), p = 2; p <= m; p++) if (!(v % p)) return !1 return !0 } function c(v) { return ((v - (v | 0)) * 4294967296) | 0 } for (var d = 2, _ = 0; _ < 64; ) h(d) && (_ < 8 && (f[_] = c(t.pow(d, 1 / 2))), (a[_] = c(t.pow(d, 1 / 3))), _++), d++ })() var l = [], u = (o.SHA256 = s.extend({ _doReset: function () { this._hash = new n.init(f.slice(0)) }, _doProcessBlock: function (h, c) { for ( var d = this._hash.words, _ = d[0], v = d[1], m = d[2], p = d[3], g = d[4], S = d[5], x = d[6], C = d[7], w = 0; w < 64; w++ ) { if (w < 16) l[w] = h[c + w] | 0 else { var B = l[w - 15], M = ((B << 25) | (B >>> 7)) ^ ((B << 14) | (B >>> 18)) ^ (B >>> 3), H = l[w - 2], rt = ((H << 15) | (H >>> 17)) ^ ((H << 13) | (H >>> 19)) ^ (H >>> 10) l[w] = M + l[w - 7] + rt + l[w - 16] } var Se = (g & S) ^ (~g & x), Rr = (_ & v) ^ (_ & m) ^ (v & m), Qi = ((_ << 30) | (_ >>> 2)) ^ ((_ << 19) | (_ >>> 13)) ^ ((_ << 10) | (_ >>> 22)), Ut = ((g << 26) | (g >>> 6)) ^ ((g << 21) | (g >>> 11)) ^ ((g << 7) | (g >>> 25)), Pr = C + Ut + Se + a[w] + l[w], Br = Qi + Rr ;(C = x), (x = S), (S = g), (g = (p + Pr) | 0), (p = m), (m = v), (v = _), (_ = (Pr + Br) | 0) } ;(d[0] = (d[0] + _) | 0), (d[1] = (d[1] + v) | 0), (d[2] = (d[2] + m) | 0), (d[3] = (d[3] + p) | 0), (d[4] = (d[4] + g) | 0), (d[5] = (d[5] + S) | 0), (d[6] = (d[6] + x) | 0), (d[7] = (d[7] + C) | 0) }, _doFinalize: function () { var h = this._data, c = h.words, d = this._nDataBytes * 8, _ = h.sigBytes * 8 return ( (c[_ >>> 5] |= 128 << (24 - (_ % 32))), (c[(((_ + 64) >>> 9) << 4) + 14] = t.floor(d / 4294967296)), (c[(((_ + 64) >>> 9) << 4) + 15] = d), (h.sigBytes = c.length * 4), this._process(), this._hash ) }, clone: function () { var h = s.clone.call(this) return (h._hash = this._hash.clone()), h }, })) ;(r.SHA256 = s._createHelper(u)), (r.HmacSHA256 = s._createHmacHelper(u)) })(Math), e.SHA256 ) }) }) var Gl = b((Ei, $l) => { ;(function (e, t) { typeof Ei == 'object' ? ($l.exports = Ei = t(wi())) : typeof define == 'function' && define.amd ? define(['./core'], t) : t(e.CryptoJS) })(Ei, function (e) { ;(function () { var t = e, r = t.lib, i = r.Base, n = t.enc, s = n.Utf8, o = t.algo, f = (o.HMAC = i.extend({ init: function (a, l) { ;(a = this._hasher = new a.init()), typeof l == 'string' && (l = s.parse(l)) var u = a.blockSize, h = u * 4 l.sigBytes > h && (l = a.finalize(l)), l.clamp() for ( var c = (this._oKey = l.clone()), d = (this._iKey = l.clone()), _ = c.words, v = d.words, m = 0; m < u; m++ ) (_[m] ^= 1549556828), (v[m] ^= 909522486) ;(c.sigBytes = d.sigBytes = h), this.reset() }, reset: function () { var a = this._hasher a.reset(), a.update(this._iKey) }, update: function (a) { return this._hasher.update(a), this }, finalize: function (a) { var l = this._hasher, u = l.finalize(a) l.reset() var h = l.finalize(this._oKey.clone().concat(u)) return h }, })) })() }) }) var Kl = b((xi, zl) => { ;(function (e, t, r) { typeof xi == 'object' ? (zl.exports = xi = t(wi(), Is(), Gl())) : typeof define == 'function' && define.amd ? define(['./core', './sha256', './hmac'], t) : t(e.CryptoJS) })(xi, function (e) { return e.HmacSHA256 }) }) var Ql = b((zw, Yl) => { Yl.exports = { INVALID_CONNECT_OPTIONS: 'Invalid connect options supplied.', INVALID_CLIENT_ID_OPTION: 'Invalid "clientId" (mqtt client id) option supplied.', INVALID_RECONNECT_TIMING: 'Invalid reconnect timing options supplied.', INVALID_OFFLINE_QUEUEING_PARAMETERS: 'Invalid offline queueing options supplied.', } }) var cr = b((Kw, Jl) => { Jl.exports = function (e) { return typeof e > 'u' || e === null } }) var Zl = b((Yw, Xl) => { Xl.exports = { NO_KEY_OPTION: 'No "keyPath" or "privateKey" option supplied.', NO_CERT_OPTION: 'No "certPath" or "clientCert" option supplied.', NO_CA_OPTION: 'No "caPath" or "caCert" option supplied.', INVALID_KEY_PATH_OPTION: 'Invalid "keyPath" option supplied.', INVALID_CERT_PATH_OPTION: 'Invalid "certPath" option supplied.', INVALID_CA_PATH_OPTION: 'Invalid "caPath" option supplied.', INVALID_CLIENT_CERT_OPTION: 'Invalid "clientCert" option supplied.', INVALID_PRIVATE_KEY_OPTION: 'Invalid "privateKey" option supplied.', INVALID_CA_CERT_OPTION: 'Invalid "caCert" option supplied.', } }) var tu = b((Qw, eu) => { var be = require('fs'), ye = cr(), Ne = Zl() eu.exports = function (e) { if (ye(e.keyPath) && ye(e.privateKey)) throw new Error(Ne.NO_KEY_OPTION) if (ye(e.certPath) && ye(e.clientCert)) throw new Error(Ne.NO_CERT_OPTION) if (ye(e.caPath) && ye(e.caCert)) throw new Error(Ne.NO_CA_OPTION) if (!ye(e.caCert)) if (Buffer.isBuffer(e.caCert)) e.ca = e.caCert else if (be.existsSync(e.caCert)) e.ca = be.readFileSync(e.caCert) else throw new Error(Ne.INVALID_CA_CERT_OPTION) if (!ye(e.privateKey)) if (Buffer.isBuffer(e.privateKey)) e.key = e.privateKey else if (be.existsSync(e.privateKey)) e.key = be.readFileSync(e.privateKey) else throw new Error(Ne.INVALID_PRIVATE_KEY_OPTION) if (!ye(e.clientCert)) if (Buffer.isBuffer(e.clientCert)) e.cert = e.clientCert else if (be.existsSync(e.clientCert)) e.cert = be.readFileSync(e.clientCert) else throw new Error(Ne.INVALID_CLIENT_CERT_OPTION) if (be.existsSync(e.keyPath)) e.key = be.readFileSync(e.keyPath) else if (!ye(e.keyPath)) throw new Error(Ne.INVALID_KEY_PATH_OPTION) if (be.existsSync(e.certPath)) e.cert = be.readFileSync(e.certPath) else if (!ye(e.certPath)) throw new Error(Ne.INVALID_CERT_PATH_OPTION) if (be.existsSync(e.caPath)) e.ca = be.readFileSync(e.caPath) else if (!ye(e.caPath)) throw new Error(Ne.INVALID_CA_PATH_OPTION) ;(e.requestCert = !0), (e.rejectUnauthorized = !0) } }) var ru = b((Jw, Bb) => { Bb.exports = { name: 'aws-iot-device-sdk', description: 'AWS IoT Node.js SDK for Embedded Devices', version: '2.2.13', author: { name: 'Amazon Web Services', email: '', url: 'http://aws.amazon.com', }, homepage: 'https://github.com/aws/aws-iot-device-sdk-js', main: 'index.js', engines: { node: '>=4.0.0' }, repository: { type: 'git', url: 'git://github.com/aws/aws-iot-device-sdk-js', }, bugs: { url: 'http://github.com/aws/aws-iot-device-sdk-js/issues' }, license: 'Apache-2.0', keywords: ['api', 'amazon', 'aws', 'iot', 'mqtt'], dependencies: { 'crypto-js': '4.2.0', minimist: '1.2.6', mqtt: '4.2.8', 'websocket-stream': '^5.5.2', }, devDependencies: { gulp: '^3.9.0', 'gulp-beautify': '^2.0.0', 'gulp-concat': '^2.6.0', 'gulp-coverage': '^0.3.38', 'gulp-jscs': '^4.0.0', 'gulp-jshint': '^2.0.0', 'gulp-mocha': '^3.0.1', jshint: '^2.9.1', 'jshint-stylish': '^2.2.1', rewire: '^2.5.1', sinon: '^1.17.3', }, scripts: { test: 'node ./node_modules/gulp/bin/gulp.js test --verbose', browserize: './scripts/browserize.sh', beautify: 'node ./node_modules/gulp/bin/gulp.js beautify', }, } }) var nu = b((Xw, iu) => { var Ab = require('tls') function Nb(e, t) { var r r = Ab.connect(t) function i(n) { e.emit('error', n), r.end() } return ( r.on('secureConnect', function () { r.authorized ? r.removeListener('error', i) : r.emit('error', new Error('TLS not authorized')) }), r.on('error', i), r ) } iu.exports = Nb }) var Os = b((Zw, su) => { 'use strict' var Mb = Object.prototype.hasOwnProperty, Lb = 0 function dt(e) { if (!(this instanceof dt)) return new dt(e) ;(this.id = Lb++), (this.ee = e) } dt.prototype.on = function (t, r, i) { return (r.__ultron = this.id), this.ee.on(t, r, i), this } dt.prototype.once = function (t, r, i) { return (r.__ultron = this.id), this.ee.once(t, r, i), this } dt.prototype.remove = function () { var t = arguments, r = this.ee, i if (t.length === 1 && typeof t[0] == 'string') t = t[0].split(/[, ]+/) else if (!t.length) { if (r.eventNames) t = r.eventNames() else if (r._events) { t = [] for (i in r._events) Mb.call(r._events, i) && t.push(i) Object.getOwnPropertySymbols && (t = t.concat(Object.getOwnPropertySymbols(r._events))) } } for (var n = 0; n < t.length; n++) for (var s = r.listeners(t[n]), o = 0; o < s.length; o++) { if (((i = s[o]), i.listener)) { if (i.listener.__ultron !== this.id) continue } else if (i.__ultron !== this.id) continue r.removeListener(t[n], i) } return this } dt.prototype.destroy = function () { return this.ee ? (this.remove(), (this.ee = null), !0) : !1 } su.exports = dt }) var ve = b((ks, au) => { var Ci = require('buffer'), Me = Ci.Buffer function ou(e, t) { for (var r in e) t[r] = e[r] } Me.from && Me.alloc && Me.allocUnsafe && Me.allocUnsafeSlow ? (au.exports = Ci) : (ou(Ci, ks), (ks.Buffer = Pt)) function Pt(e, t, r) { return Me(e, t, r) } ou(Me, Pt) Pt.from = function (e, t, r) { if (typeof e == 'number') throw new TypeError('Argument must not be a number') return Me(e, t, r) } Pt.alloc = function (e, t, r) { if (typeof e != 'number') throw new TypeError('Argument must be a number') var i = Me(e) return ( t !== void 0 ? typeof r == 'string' ? i.fill(t, r) : i.fill(t) : i.fill(0), i ) } Pt.allocUnsafe = function (e) { if (typeof e != 'number') throw new TypeError('Argument must be a number') return Me(e) } Pt.allocUnsafeSlow = function (e) { if (typeof e != 'number') throw new TypeError('Argument must be a number') return Ci.SlowBuffer(e) } }) var lu = b((e0, fu) => { 'use strict' function pt(e) { if (!(this instanceof pt)) return new pt(e) ;(e = e || {}), (this.concurrency = e.concurrency || 1 / 0), (this.pending = 0), (this.jobs = []), (this.cbs = []), (this._done = Db.bind(this)) } var qb = ['push', 'unshift', 'splice'] qb.forEach(function (e) { pt.prototype[e] = function () { var t = Array.prototype[e].apply(this.jobs, arguments) return this._run(), t } }) Object.defineProperty(pt.prototype, 'length', { get: function () { return this.pending + this.jobs.length }, }) pt.prototype._run = function () { if (this.pending !== this.concurrency) { if (this.jobs.length) { var e = this.jobs.shift() this.pending++, e(this._done), this._run() } if (this.pending === 0) for (; this.cbs.length !== 0; ) { var t = this.cbs.pop() process.nextTick(t) } } } pt.prototype.onDone = function (e) { typeof e == 'function' && (this.cbs.push(e), this._run()) } function Db() { this.pending--, this._run() } fu.exports = pt }) var Ti = b((t0, Rs) => { 'use strict' var Ub = ve(), jb = Ub.Buffer, uu = (e, t) => { let r = jb.allocUnsafe(t) for (var i = 0, n = 0; n < e.length; n++) { let s = e[n] s.copy(r, i), (i += s.length) } return r } try { let e = require('bufferutil') Rs.exports = Object.assign({ concat: uu }, e.BufferUtil || e) } catch { let t = (i, n, s, o, f) => { for (var a = 0; a < f; a++) s[o + a] = i[a] ^ n[a & 3] }, r = (i, n) => { let s = i.length for (var o = 0; o < s; o++) i[o] ^= n[o & 3] } Rs.exports = { concat: uu, mask: t, unmask: r } } }) var hr = b((r0, _u) => { 'use strict' var Fb = ve(), Wb = lu(), Ze = require('zlib'), cu = Ti(), hu = Fb.Buffer, Vb = hu.from([0, 0, 255, 255]), Hb = hu.from([0]), Bt = Symbol('write-in-progress'), Ii = Symbol('pending-close'), Le = Symbol('total-length'), du = Symbol('callback'), et = Symbol('buffers'), Ps = Symbol('error'), ki = Symbol('owner'), Oi, Bs = class { constructor(t, r, i) { if ( ((this._maxPayload = i | 0), (this._options = t || {}), (this._threshold = this._options.threshold !== void 0 ? this._options.threshold : 1024), (this._isServer = !!r), (this._deflate = null), (this._inflate = null), (this.params = null), !Oi) ) { let n = this._options.concurrencyLimit !== void 0 ? this._options.concurrencyLimit : 10 Oi = new Wb({ concurrency: n }) } } static get extensionName() { return 'permessage-deflate' } offer() { let t = {} return ( this._options.serverNoContextTakeover && (t.server_no_context_takeover = !0), this._options.clientNoContextTakeover && (t.client_no_context_takeover = !0), this._options.serverMaxWindowBits && (t.server_max_window_bits = this._options.serverMaxWindowBits), this._options.clientMaxWindowBits ? (t.client_max_window_bits = this._options.clientMaxWindowBits) : this._options.clientMaxWindowBits == null && (t.client_max_window_bits = !0), t ) } accept(t) { t = this.normalizeParams(t) var r return ( this._isServer ? (r = this.acceptAsServer(t)) : (r = this.acceptAsClient(t)), (this.params = r), r ) } cleanup() { this._inflate && (this._inflate[Bt] ? (this._inflate[Ii] = !0) : (this._inflate.close(), (this._inflate = null))), this._deflate && (this._deflate[Bt] ? (this._deflate[Ii] = !0) : (this._deflate.close(), (this._deflate = null))) } acceptAsServer(t) { let r = {} if ( !t.some((n) => { if ( !( (this._options.serverNoContextTakeover === !1 && n.server_no_context_takeover) || (this._options.serverMaxWindowBits === !1 && n.server_max_window_bits) || (typeof this._options.serverMaxWindowBits == 'number' && typeof n.server_max_window_bits == 'number' && this._options.serverMaxWindowBits > n.server_max_window_bits) || (typeof this._options.clientMaxWindowBits == 'number' && !n.client_max_window_bits) ) ) return ( (this._options.serverNoContextTakeover || n.server_no_context_takeover) && (r.server_no_context_takeover = !0), (this._options.clientNoContextTakeover || (this._options.clientNoContextTakeover !== !1 && n.client_no_context_takeover)) && (r.client_no_context_takeover = !0), typeof this._options.serverMaxWindowBits == 'number' ? (r.server_max_window_bits = this._options.serverMaxWindowBits) : typeof n.server_max_window_bits == 'number' && (r.server_max_window_bits = n.server_max_window_bits), typeof this._options.clientMaxWindowBits == 'number' ? (r.client_max_window_bits = this._options.clientMaxWindowBits) : this._options.clientMaxWindowBits !== !1 && typeof n.client_max_window_bits == 'number' && (r.client_max_window_bits = n.client_max_window_bits), !0 ) }) ) throw new Error("Doesn't support the offered configuration") return r } acceptAsClient(t) { let r = t[0] if ( this._options.clientNoContextTakeover === !1 && r.client_no_context_takeover ) throw new Error('Invalid value for "client_no_context_takeover"') if ( (typeof this._options.clientMaxWindowBits == 'number' && (!r.client_max_window_bits || r.client_max_window_bits > this._options.clientMaxWindowBits)) || (this._options.clientMaxWindowBits === !1 && r.client_max_window_bits) ) throw new Error('Invalid value for "client_max_window_bits"') return r } normalizeParams(t) { return t.map( (r) => ( Object.keys(r).forEach((i) => { var n = r[i] if (n.length > 1) throw new Error(`Multiple extension parameters for ${i}`) switch (((n = n[0]), i)) { case 'server_no_context_takeover': case 'client_no_context_takeover': if (n !== !0) throw new Error( `invalid extension parameter value for ${i} (${n})`, ) r[i] = !0 break case 'server_max_window_bits': case 'client_max_window_bits': if ( typeof n == 'string' && ((n = parseInt(n, 10)), Number.isNaN(n) || n < Ze.Z_MIN_WINDOWBITS || n > Ze.Z_MAX_WINDOWBITS) ) throw new Error( `invalid extension parameter value for ${i} (${n})`, ) if (!this._isServer && n === !0) throw new Error( `Missing extension parameter value for ${i}`, ) r[i] = n break default: throw new Error(`Not defined extension parameter (${i})`) } }), r ), ) } decompress(t, r, i) { Oi.push((n) => { this._decompress(t, r, (s, o) => { n(), i(s, o) }) }) } compress(t, r, i) { Oi.push((n) => { this._compress(t, r, (s, o) => { n(), i(s, o) }) }) } _decompress(t, r, i) { let n = this._isServer ? 'client' : 'server' if (!this._inflate) { let s = `${n}_max_window_bits`, o = typeof this.params[s] != 'number' ? Ze.Z_DEFAULT_WINDOWBITS : this.params[s] ;(this._inflate = Ze.createInflateRaw({ windowBits: o })), (this._inflate[Le] = 0), (this._inflate[et] = []), (this._inflate[ki] = this), this._inflate.on('error', Gb), this._inflate.on('data', pu) } ;(this._inflate[du] = i), (this._inflate[Bt] = !0), this._inflate.write(t), r && this._inflate.write(Vb), this._inflate.flush(() => { let s = this._inflate[Ps] if (s) { this._inflate.close(), (this._inflate = null), i(s) return } let o = cu.concat(this._inflate[et], this._inflate[Le]) ;(r && this.params[`${n}_no_context_takeover`]) || this._inflate[Ii] ? (this._inflate.close(), (this._inflate = null)) : ((this._inflate[Bt] = !1), (this._inflate[Le] = 0), (this._inflate[et] = [])), i(null, o) }) } _compress(t, r, i) { if (!t || t.length === 0) { process.nextTick(i, null, Hb) return } let n = this._isServer ? 'server' : 'client' if (!this._deflate) { let s = `${n}_max_window_bits`, o = typeof this.params[s] != 'number' ? Ze.Z_DEFAULT_WINDOWBITS : this.params[s] ;(this._deflate = Ze.createDeflateRaw({ memLevel: this._options.memLevel, level: this._options.level, flush: Ze.Z_SYNC_FLUSH, windowBits: o, })), (this._deflate[Le] = 0), (this._deflate[et] = []), this._deflate.on('data', $b) } ;(this._deflate[Bt] = !0), this._deflate.write(t), this._deflate.flush(Ze.Z_SYNC_FLUSH, () => { var s = cu.concat(this._deflate[et], this._deflate[Le]) r && (s = s.slice(0, s.length - 4)), (r && this.params[`${n}_no_context_takeover`]) || this._deflate[Ii] ? (this._deflate.close(), (this._deflate = null)) : ((this._deflate[Bt] = !1), (this._deflate[Le] = 0), (this._deflate[et] = [])), i(null, s) }) } } _u.exports = Bs function $b(e) { this[et].push(e), (this[Le] += e.length) } function pu(e) { if ( ((this[Le] += e.length), this[ki]._maxPayload < 1 || this[Le] <= this[ki]._maxPayload) ) { this[et].push(e) return } ;(this[Ps] = new Error('max payload size exceeded')), (this[Ps].closeCode = 1009), this.removeListener('data', pu), this.reset() } function Gb(e) { ;(this[ki]._inflate = null), this[du](e) } }) var bu = b((i0, gu) => { 'use strict' var dr = class { constructor(t, r) { ;(this.target = r), (this.type = t) } }, As = class extends dr { constructor(t, r) { super('message', r), (this.data = t) } }, Ns = class extends dr { constructor(t, r, i) { super('close', i), (this.wasClean = i._closeFrameReceived && i._closeFrameSent), (this.reason = r), (this.code = t) } }, Ms = class extends dr { constructor(t) { super('open', t) } }, zb = { addEventListener(e, t) { if (typeof t != 'function') return function r(o) { t.call(this, new As(o, this)) } function i(o, f) { t.call(this, new Ns(o, f, this)) } function n(o) { ;(o.type = 'error'), (o.target = this), t.call(this, o) } function s() { t.call(this, new Ms(this)) } e === 'message' ? ((r._listener = t), this.on(e, r)) : e === 'close' ? ((i._listener = t), this.on(e, i)) : e === 'error' ? ((n._listener = t), this.on(e, n)) : e === 'open' ? ((s._listener = t), this.on(e, s)) : this.on(e, t) }, removeEventListener(e, t) { let r = this.listeners(e) for (var i = 0; i < r.length; i++) (r[i] === t || r[i]._listener === t) && this.removeListener(e, r[i]) }, } gu.exports = zb }) var Ls = b((n0, yu) => { 'use strict' var pr = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, ] function Te(e, t, r) { Object.prototype.hasOwnProperty.call(e, t) ? e[t].push(r) : (e[t] = [r]) } function Kb(e) { let t = {} if (e === void 0 || e === '') return t for ( var r = {}, i = !1, n = !1, s = !1, o, f, a = -1, l = -1, u = 0; u < e.length; u++ ) { let d = e.charCodeAt(u) if (o === void 0) if (l === -1 && pr[d] === 1) a === -1 && (a = u) else if (d === 32 || d === 9) l === -1 && a !== -1 && (l = u) else if (d === 59 || d === 44) { if (a === -1) throw new Error(`unexpected character at index ${u}`) l === -1 && (l = u) let _ = e.slice(a, l) d === 44 ? (Te(t, _, r), (r = {})) : (o = _), (a = l = -1) } else throw new Error(`unexpected character at index ${u}`) else if (f === void 0) if (l === -1 && pr[d] === 1) a === -1 && (a = u) else if (d === 32 || d === 9) l === -1 && a !== -1 && (l = u) else if (d === 59 || d === 44) { if (a === -1) throw new Error(`unexpected character at index ${u}`) l === -1 && (l = u), Te(r, e.slice(a, l), !0), d === 44 && (Te(t, o, r), (r = {}), (o = void 0)), (a = l = -1) } else if (d === 61 && a !== -1 && l === -1) (f = e.slice(a, u)), (a = l = -1) else throw new Error(`unexpected character at index ${u}`) else if (n) { if (pr[d] !== 1) throw new Error(`unexpected character at index ${u}`) a === -1 ? (a = u) : i || (i = !0), (n = !1) } else if (s) if (pr[d] === 1) a === -1 && (a = u) else if (d === 34 && a !== -1) (s = !1), (l = u) else if (d === 92) n = !0 else throw new Error(`unexpected character at index ${u}`) else if (d === 34 && e.charCodeAt(u - 1) === 61) s = !0 else if (l === -1 && pr[d] === 1) a === -1 && (a = u) else if (a !== -1 && (d === 32 || d === 9)) l === -1 && (l = u) else if (d === 59 || d === 44) { if (a === -1) throw new Error(`unexpected character at index ${u}`) l === -1 && (l = u) var h = e.slice(a, l) i && ((h = h.replace(/\\/g, '')), (i = !1)), Te(r, f, h), d === 44 && (Te(t, o, r), (r = {}), (o = void 0)), (f = void 0), (a = l = -1) } else throw new Error(`unexpected character at index ${u}`) } if (a === -1 || s) throw new Error('unexpected end of input') l === -1 && (l = u) let c = e.slice(a, l) return ( o === void 0 ? Te(t, c, {}) : (f === void 0 ? Te(r, c, !0) : i ? Te(r, f, c.replace(/\\/g, '')) : Te(r, f, c), Te(t, o, r)), t ) } function Yb(e) { return Object.keys(e) .map((t) => { var r = e[t] return ( Array.isArray(r) || (r = [r]), r .map((i) => [t] .concat( Object.keys(i).map((n) => { var s = i[n] return ( Array.isArray(s) || (s = [s]), s.map((o) => (o === !0 ? n : `${n}=${o}`)).join('; ') ) }), ) .join('; '), ) .join(', ') ) }) .join(', ') } yu.exports = { format: Yb, parse: Kb } }) var gr = b((_r) => { 'use strict' var Qb = ve(), Jb = Qb.Buffer _r.BINARY_TYPES = ['nodebuffer', 'arraybuffer', 'fragments'] _r.GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11' _r.EMPTY_BUFFER = Jb.alloc(0) _r.NOOP = () => {} }) var vu = b((o0, qs) => { 'use strict' try { let e = require('utf-8-validate') qs.exports = typeof e == 'object' ? e.Validation.isValidUTF8 : e } catch { qs.exports = () => !0 } }) var Ds = b((a0, mu) => { 'use strict' mu.exports = { isValidErrorCode: function (e) { return ( (e >= 1e3 && e <= 1013 && e !== 1004 && e !== 1005 && e !== 1006) || (e >= 3e3 && e <= 4999) ) }, 1e3: 'normal', 1001: 'going away', 1002: 'protocol error', 1003: 'unsupported data', 1004: 'reserved', 1005: 'reserved for extensions', 1006: 'reserved for extensions', 1007: 'inconsistent or invalid data', 1008: 'policy violation', 1009: 'message too big', 1010: 'extension handshake missing', 1011: 'an unexpected condition prevented the request from being fulfilled', 1012: 'service restart', 1013: 'try again later', } }) var Vs = b((f0, Ou) => { 'use strict' var Xb = ve(), wu = hr(), Su = vu(), Iu = Ti(), Zb = Ds(), Fs = gr(), ey = Xb.Buffer, Ri = 0, Eu = 1, xu = 2, Cu = 3, Us = 4, Tu = 5, Ws = class { constructor(t, r, i) { ;(this._binaryType = i || Fs.BINARY_TYPES[0]), (this._extensions = t || {}), (this._maxPayload = r | 0), (this._bufferedBytes = 0), (this._buffers = []), (this._compressed = !1), (this._payloadLength = 0), (this._fragmented = 0), (this._masked = !1), (this._fin = !1), (this._mask = null), (this._opcode = 0), (this._totalPayloadLength = 0), (this._messageLength = 0), (this._fragments = []), (this._cleanupCallback = null), (this._hadError = !1), (this._dead = !1), (this._loop = !1), (this.onmessage = null), (this.onclose = null), (this.onerror = null), (this.onping = null), (this.onpong = null), (this._state = Ri) } readBuffer(t) { var r = 0, i, n if (((this._bufferedBytes -= t), t === this._buffers[0].length)) return this._buffers.shift() if (t < this._buffers[0].length) return ( (i = this._buffers[0].slice(0, t)), (this._buffers[0] = this._buffers[0].slice(t)), i ) for (i = ey.allocUnsafe(t); t > 0; ) (n = this._buffers[0].length), t >= n ? (this._buffers[0].copy(i, r), (r += n), this._buffers.shift()) : (this._buffers[0].copy(i, r, 0, t), (this._buffers[0] = this._buffers[0].slice(t))), (t -= n) return i } hasBufferedBytes(t) { return this._bufferedBytes >= t ? !0 : ((this._loop = !1), this._dead && this.cleanup(this._cleanupCallback), !1) } add(t) { this._dead || ((this._bufferedBytes += t.length), this._buffers.push(t), this.startLoop()) } startLoop() { for (this._loop = !0; this._loop; ) switch (this._state) { case Ri: this.getInfo() break case Eu: this.getPayloadLength16() break case xu: this.getPayloadLength64() break case Cu: this.getMask() break case Us: this.getData() break default: this._loop = !1 } } getInfo() { if (!this.hasBufferedBytes(2)) return let t = this.readBuffer(2) if (t[0] & 48) { this.error(new Error('RSV2 and RSV3 must be clear'), 1002) return } let r = (t[0] & 64) === 64 if (r && !this._extensions[wu.extensionName]) { this.error(new Error('RSV1 must be clear'), 1002) return } if ( ((this._fin = (t[0] & 128) === 128), (this._opcode = t[0] & 15), (this._payloadLength = t[1] & 127), this._opcode === 0) ) { if (r) { this.error(new Error('RSV1 must be clear'), 1002) return } if (this._fragmented) this._opcode = this._fragmented else { this.error(new Error(`invalid opcode: ${this._opcode}`), 1002) return } } else if (this._opcode === 1 || this._opcode === 2) { if (this._fragmented) { this.error(new Error(`invalid opcode: ${this._opcode}`), 1002) return } this._compressed = r } else if (this._opcode > 7 && this._opcode < 11) { if (!this._fin) { this.error(new Error('FIN must be set'), 1002) return } if (r) { this.error(new Error('RSV1 must be clear'), 1002) return } if (this._payloadLength > 125) { this.error(new Error('invalid payload length'), 1002) return } } else { this.error(new Error(`invalid opcode: ${this._opcode}`), 1002) return } !this._fin && !this._fragmented && (this._fragmented = this._opcode), (this._masked = (t[1] & 128) === 128), this._payloadLength === 126 ? (this._state = Eu) : this._payloadLength === 127 ? (this._state = xu) : this.haveLength() } getPayloadLength16() { this.hasBufferedBytes(2) && ((this._payloadLength = this.readBuffer(2).readUInt16BE(0, !0)), this.haveLength()) } getPayloadLength64() { if (!this.hasBufferedBytes(8)) return let t = this.readBuffer(8), r = t.readUInt32BE(0, !0) if (r > Math.pow(2, 21) - 1) { this.error(new Error('max payload size exceeded'), 1009) return } ;(this._payloadLength = r * Math.pow(2, 32) + t.readUInt32BE(4, !0)), this.haveLength() } haveLength() { ;(this._opcode < 8 && this.maxPayloadExceeded(this._payloadLength)) || (this._masked ? (this._state = Cu) : (this._state = Us)) } getMask() { this.hasBufferedBytes(4) && ((this._mask = this.readBuffer(4)), (this._state = Us)) } getData() { var t = Fs.EMPTY_BUFFER if (this._payloadLength) { if (!this.hasBufferedBytes(this._payloadLength)) return ;(t = this.readBuffer(this._payloadLength)), this._masked && Iu.unmask(t, this._mask) } this._opcode > 7 ? this.controlMessage(t) : this._compressed ? ((this._state = Tu), this.decompress(t)) : this.pushFragment(t) && this.dataMessage() } decompress(t) { this._extensions[wu.extensionName].decompress(t, this._fin, (i, n) => { if (i) { this.error(i, i.closeCode === 1009 ? 1009 : 1007) return } this.pushFragment(n) && this.dataMessage(), this.startLoop() }) } dataMessage() { if (this._fin) { let r = this._messageLength, i = this._fragments if ( ((this._totalPayloadLength = 0), (this._messageLength = 0), (this._fragmented = 0), (this._fragments = []), this._opcode === 2) ) { var t this._binaryType === 'nodebuffer' ? (t = js(i, r)) : this._binaryType === 'arraybuffer' ? (t = ty(js(i, r))) : (t = i), this.onmessage(t) } else { let n = js(i, r) if (!Su(n)) { this.error(new Error('invalid utf8 sequence'), 1007) return } this.onmessage(n.toString()) } } this._state = Ri } controlMessage(t) { if (this._opcode === 8) { if (t.length === 0) this.onclose(1e3, ''), (this._loop = !1), this.cleanup(this._cleanupCallback) else if (t.length === 1) this.error(new Error('invalid payload length'), 1002) else { let r = t.readUInt16BE(0, !0) if (!Zb.isValidErrorCode(r)) { this.error(new Error(`invalid status code: ${r}`), 1002) return } let i = t.slice(2) if (!Su(i)) { this.error(new Error('invalid utf8 sequence'), 1007) return } this.onclose(r, i.toString()), (this._loop = !1), this.cleanup(this._cleanupCallback) } return } this._opcode === 9 ? this.onping(t) : this.onpong(t), (this._state = Ri) } error(t, r) { this.onerror(t, r), (this._hadError = !0), (this._loop = !1), this.cleanup(this._cleanupCallback) } maxPayloadExceeded(t) { if (t === 0 || this._maxPayload < 1) return !1 let r = this._totalPayloadLength + t return r <= this._maxPayload ? ((this._totalPayloadLength = r), !1) : (this.error(new Error('max payload size exceeded'), 1009), !0) } pushFragment(t) { if (t.length === 0) return !0 let r = this._messageLength + t.length return this._maxPayload < 1 || r <= this._maxPayload ? ((this._messageLength = r), this._fragments.push(t), !0) : (this.error(new Error('max payload size exceeded'), 1009), !1) } cleanup(t) { ;(this._dead = !0), !this._hadError && (this._loop || this._state === Tu) ? (this._cleanupCallback = t) : ((this._extensions = null), (this._fragments = null), (this._buffers = null), (this._mask = null), (this._cleanupCallback = null), (this.onmessage = null), (this.onclose = null), (this.onerror = null), (this.onping = null), (this.onpong = null), t && t()) } } Ou.exports = Ws function js(e, t) { return e.length === 1 ? e[0] : e.length > 1 ? Iu.concat(e, t) : Fs.EMPTY_BUFFER } function ty(e) { return e.byteOffset === 0 && e.byteLength === e.buffer.byteLength ? e.buffer : e.buffer.slice(e.byteOffset, e.byteOffset + e.byteLength) } }) var Gs = b((l0, Pu) => { 'use strict' var ry = ve(), iy = require('crypto'), ku = hr(), Ru = Ti(), ny = Ds(), sy = gr(), ae = ry.Buffer, $s = class e { constructor(t, r) { ;(this._extensions = r || {}), (this._socket = t), (this._firstFragment = !0), (this._compress = !1), (this._bufferedBytes = 0), (this._deflating = !1), (this._queue = []) } static frame(t, r) { let i = t.length < 1024 || (r.mask && r.readOnly) var n = r.mask ? 6 : 2, s = t.length t.length >= 65536 ? ((n += 8), (s = 127)) : t.length > 125 && ((n += 2), (s = 126)) let o = ae.allocUnsafe(i ? t.length + n : n) if ( ((o[0] = r.fin ? r.opcode | 128 : r.opcode), r.rsv1 && (o[0] |= 64), s === 126 ? o.writeUInt16BE(t.length, 2, !0) : s === 127 && (o.writeUInt32BE(0, 2, !0), o.writeUInt32BE(t.length, 6, !0)), !r.mask) ) return (o[1] = s), i ? (t.copy(o, n), [o]) : [o, t] let f = iy.randomBytes(4) return ( (o[1] = s | 128), (o[n - 4] = f[0]), (o[n - 3] = f[1]), (o[n - 2] = f[2]), (o[n - 1] = f[3]), i ? (Ru.mask(t, f, o, n, t.length), [o]) : (Ru.mask(t, f, t, 0, t.length), [o, t]) ) } close(t, r, i, n) { var s if (t === void 0) t = 1e3 else if (typeof t != 'number' || !ny.isValidErrorCode(t)) throw new Error('first argument must be a valid error code number') r === void 0 || r === '' ? t === 1e3 ? (s = sy.EMPTY_BUFFER) : ((s = ae.allocUnsafe(2)), s.writeUInt16BE(t, 0, !0)) : ((s = ae.allocUnsafe(2 + ae.byteLength(r))), s.writeUInt16BE(t, 0, !0), s.write(r, 2)), this._deflating ? this.enqueue([this.doClose, s, i, n]) : this.doClose(s, i, n) } doClose(t, r, i) { this.sendFrame( e.frame(t, { fin: !0, rsv1: !1, opcode: 8, mask: r, readOnly: !1 }), i, ) } ping(t, r) { var i = !0 ae.isBuffer(t) || (t instanceof ArrayBuffer ? (t = ae.from(t)) : ArrayBuffer.isView(t) ? (t = Hs(t)) : ((t = ae.from(t)), (i = !1))), this._deflating ? this.enqueue([this.doPing, t, r, i]) : this.doPing(t, r, i) } doPing(t, r, i) { this.sendFrame( e.frame(t, { fin: !0, rsv1: !1, opcode: 9, mask: r, readOnly: i }), ) } pong(t, r) { var i = !0 ae.isBuffer(t) || (t instanceof ArrayBuffer ? (t = ae.from(t)) : ArrayBuffer.isView(t) ? (t = Hs(t)) : ((t = ae.from(t)), (i = !1))), this._deflating ? this.enqueue([this.doPong, t, r, i]) : this.doPong(t, r, i) } doPong(t, r, i) { this.sendFrame( e.frame(t, { fin: !0, rsv1: !1, opcode: 10, mask: r, readOnly: i }), ) } send(t, r, i) { var n = r.binary ? 2 : 1, s = r.compress, o = !0 ae.isBuffer(t) || (t instanceof ArrayBuffer ? (t = ae.from(t)) : ArrayBuffer.isView(t) ? (t = Hs(t)) : ((t = ae.from(t)), (o = !1))) let f = this._extensions[ku.extensionName] if ( (this._firstFragment ? ((this._firstFragment = !1), s && f && (s = t.length >= f._threshold), (this._compress = s)) : ((s = !1), (n = 0)), r.fin && (this._firstFragment = !0), f) ) { let a = { fin: r.fin, rsv1: s, opcode: n, mask: r.mask, readOnly: o } this._deflating ? this.enqueue([this.dispatch, t, this._compress, a, i]) : this.dispatch(t, this._compress, a, i) } else this.sendFrame( e.frame(t, { fin: r.fin, rsv1: !1, opcode: n, mask: r.mask, readOnly: o, }), i, ) } dispatch(t, r, i, n) { if (!r) { this.sendFrame(e.frame(t, i), n) return } let s = this._extensions[ku.extensionName] ;(this._deflating = !0), s.compress(t, i.fin, (o, f) => { ;(i.readOnly = !1), this.sendFrame(e.frame(f, i), n), (this._deflating = !1), this.dequeue() }) } dequeue() { for (; !this._deflating && this._queue.length; ) { let t = this._queue.shift() ;(this._bufferedBytes -= t[1].length), t[0].apply(this, t.slice(1)) } } enqueue(t) { ;(this._bufferedBytes += t[1].length), this._queue.push(t) } sendFrame(t, r) { t.length === 2 ? (this._socket.write(t[0]), this._socket.write(t[1], r)) : this._socket.write(t[0], r) } } Pu.exports = $s function Hs(e) { let t = ae.from(e.buffer) return e.byteLength !== e.buffer.byteLength ? t.slice(e.byteOffset, e.byteOffset + e.byteLength) : t } }) var Ks = b((u0, Mu) => { 'use strict' var oy = require('events'), Bu = require('crypto'), ay = Os(), fy = require('https'), ly = require('http'), uy = require('url'), tt = hr(), Nu = bu(), Au = Ls(), _t = gr(), cy = Vs(), hy = Gs(), zs = [8, 13], dy = 30 * 1e3, we = class e extends oy { constructor(t, r, i) { super(), r ? typeof r == 'string' ? (r = [r]) : Array.isArray(r) || ((i = r), (r = [])) : (r = []), (this.readyState = e.CONNECTING), (this.bytesReceived = 0), (this.extensions = {}), (this.protocol = ''), (this._binaryType = _t.BINARY_TYPES[0]), (this._finalize = this.finalize.bind(this)), (this._closeFrameReceived = !1), (this._closeFrameSent = !1), (this._closeMessage = ''), (this._closeTimer = null), (this._finalized = !1), (this._closeCode = 1006), (this._receiver = null), (this._sender = null), (this._socket = null), (this._ultron = null), Array.isArray(t) ? py.call(this, t[0], t[1], i) : _y.call(this, t, r, i) } get CONNECTING() { return e.CONNECTING } get CLOSING() { return e.CLOSING } get CLOSED() { return e.CLOSED } get OPEN() { return e.OPEN } get bufferedAmount() { var t = 0 return ( this._socket && (t = this._socket.bufferSize + this._sender._bufferedBytes), t ) } get binaryType() { return this._binaryType } set binaryType(t) { _t.BINARY_TYPES.indexOf(t) < 0 || ((this._binaryType = t), this._receiver && (this._receiver._binaryType = t)) } setSocket(t, r) { t.setTimeout(0), t.setNoDelay(), (this._receiver = new cy( this.extensions, this._maxPayload, this.binaryType, )), (this._sender = new hy(t, this.extensions)), (this._ultron = new ay(t)), (this._socket = t), this._ultron.on('close', this._finalize), this._ultron.on('error', this._finalize), this._ultron.on('end', this._finalize), r.length > 0 && t.unshift(r), this._ultron.on('data', (i) => { ;(this.bytesReceived += i.length), this._receiver.add(i) }), (this._receiver.onmessage = (i) => this.emit('message', i)), (this._receiver.onping = (i) => { this.pong(i, !this._isServer, !0), this.emit('ping', i) }), (this._receiver.onpong = (i) => this.emit('pong', i)), (this._receiver.onclose = (i, n) => { ;(this._closeFrameReceived = !0), (this._closeMessage = n), (this._closeCode = i), this._finalized || this.close(i, n) }), (this._receiver.onerror = (i, n) => { ;(this._closeMessage = ''), (this._closeCode = n), (this.readyState = e.CLOSING), this.emit('error', i), this.finalize(!0) }), (this.readyState = e.OPEN), this.emit('open') } finalize(t) { if (!this._finalized) { if ( ((this.readyState = e.CLOSING), (this._finalized = !0), typeof t == 'object' && this.emit('error', t), !this._socket) ) return this.emitClose() clearTimeout(this._closeTimer), (this._closeTimer = null), this._ultron.destroy(), (this._ultron = null), this._socket.on('error', _t.NOOP), t ? this._socket.destroy() : this._socket.end(), (this._socket = null), (this._sender = null), this._receiver.cleanup(() => this.emitClose()), (this._receiver = null) } } emitClose() { ;(this.readyState = e.CLOSED), this.emit('close', this._closeCode, this._closeMessage), this.extensions[tt.extensionName] && this.extensions[tt.extensionName].cleanup(), (this.extensions = null), this.removeAllListeners() } pause() { if (this.readyState !== e.OPEN) throw new Error('not opened') this._socket.pause() } resume() { if (this.readyState !== e.OPEN) throw new Error('not opened') this._socket.resume() } close(t, r) { if (this.readyState !== e.CLOSED) { if (this.readyState === e.CONNECTING) { this._req.abort(), this.finalize( new Error('closed before the connection is established'), ) return } if (this.readyState === e.CLOSING) { this._closeFrameSent && this._closeFrameReceived && this._socket.end() return } ;(this.readyState = e.CLOSING), this._sender.close(t, r, !this._isServer, (i) => { i || ((this._closeFrameSent = !0), this._finalized || (this._closeFrameReceived && this._socket.end(), (this._closeTimer = setTimeout(this._finalize, dy, !0)))) }) } } ping(t, r, i) { if (this.readyState !== e.OPEN) { if (i) return throw new Error('not opened') } typeof t == 'number' && (t = t.toString()), r === void 0 && (r = !this._isServer), this._sender.ping(t || _t.EMPTY_BUFFER, r) } pong(t, r, i) { if (this.readyState !== e.OPEN) { if (i) return throw new Error('not opened') } typeof t == 'number' && (t = t.toString()), r === void 0 && (r = !this._isServer), this._sender.pong(t || _t.EMPTY_BUFFER, r) } send(t, r, i) { if ( (typeof r == 'function' && ((i = r), (r = {})), this.readyState !== e.OPEN) ) { if (i) i(new Error('not opened')) else throw new Error('not opened') return } typeof t == 'number' && (t = t.toString()) let n = Object.assign( { binary: typeof t != 'string', mask: !this._isServer, compress: !0, fin: !0, }, r, ) this.extensions[tt.extensionName] || (n.compress = !1), this._sender.send(t || _t.EMPTY_BUFFER, n, i) } terminate() { if (this.readyState !== e.CLOSED) { if (this.readyState === e.CONNECTING) { this._req.abort(), this.finalize( new Error('closed before the connection is established'), ) return } this.finalize(!0) } } } we.CONNECTING = 0 we.OPEN = 1 we.CLOSING = 2 we.CLOSED = 3 ;['open', 'error', 'close', 'message'].forEach((e) => { Object.defineProperty(we.prototype, `on${e}`, { get() { let t = this.listeners(e) for (var r = 0; r < t.length; r++) if (t[r]._listener) return t[r]._listener }, set(t) { let r = this.listeners(e) for (var i = 0; i < r.length; i++) r[i]._listener && this.removeListener(e, r[i]) this.addEventListener(e, t) }, }) }) we.prototype.addEventListener = Nu.addEventListener we.prototype.removeEventListener = Nu.removeEventListener Mu.exports = we function py(e, t, r) { ;(this.protocolVersion = r.protocolVersion), (this._maxPayload = r.maxPayload), (this.extensions = r.extensions), (this.protocol = r.protocol), (this._isServer = !0), this.setSocket(e, t) } function _y(e, t, r) { if ( ((r = Object.assign( { protocolVersion: zs[1], protocol: t.join(','), perMessageDeflate: !0, handshakeTimeout: null, localAddress: null, headers: null, family: null, origin: null, agent: null, host: null, checkServerIdentity: null, rejectUnauthorized: null, passphrase: null, ciphers: null, ecdhCurve: null, cert: null, key: null, pfx: null, ca: null, }, r, )), zs.indexOf(r.protocolVersion) === -1) ) throw new Error( `unsupported protocol version: ${ r.protocolVersion } (supported versions: ${zs.join(', ')})`, ) ;(this.protocolVersion = r.protocolVersion), (this._isServer = !1), (this.url = e) let i = uy.parse(e), n = i.protocol === 'ws+unix:' if (!i.host && (!n || !i.path)) throw new Error('invalid url') let s = i.protocol === 'wss:' || i.protocol === 'https:', o = Bu.randomBytes(16).toString('base64'), f = s ? fy : ly var a let l = { port: i.port || (s ? 443 : 80), host: i.hostname, path: '/', headers: { 'Sec-WebSocket-Version': r.protocolVersion, 'Sec-WebSocket-Key': o, Connection: 'Upgrade', Upgrade: 'websocket', }, } if ( (r.headers && Object.assign(l.headers, r.headers), r.perMessageDeflate && ((a = new tt( r.perMessageDeflate !== !0 ? r.perMessageDeflate : {}, !1, )), (l.headers['Sec-WebSocket-Extensions'] = Au.format({ [tt.extensionName]: a.offer(), }))), r.protocol && (l.headers['Sec-WebSocket-Protocol'] = r.protocol), r.origin && (r.protocolVersion < 13 ? (l.headers['Sec-WebSocket-Origin'] = r.origin) : (l.headers.Origin = r.origin)), r.host && (l.headers.Host = r.host), i.auth && (l.auth = i.auth), r.localAddress && (l.localAddress = r.localAddress), r.family && (l.family = r.family), n) ) { let h = i.path.split(':') ;(l.socketPath = h[0]), (l.path = h[1]) } else i.path && (i.path.charAt(0) !== '/' ? (l.path = `/${i.path}`) : (l.path = i.path)) var u = r.agent ;(r.rejectUnauthorized != null || r.checkServerIdentity || r.passphrase || r.ciphers || r.ecdhCurve || r.cert || r.key || r.pfx || r.ca) && (r.passphrase && (l.passphrase = r.passphrase), r.ciphers && (l.ciphers = r.ciphers), r.ecdhCurve && (l.ecdhCurve = r.ecdhCurve), r.cert && (l.cert = r.cert), r.key && (l.key = r.key), r.pfx && (l.pfx = r.pfx), r.ca && (l.ca = r.ca), r.checkServerIdentity && (l.checkServerIdentity = r.checkServerIdentity), r.rejectUnauthorized != null && (l.rejectUnauthorized = r.rejectUnauthorized), u || (u = new f.Agent(l))), u && (l.agent = u), (this._req = f.get(l)), r.handshakeTimeout && this._req.setTimeout(r.handshakeTimeout, () => { this._req.abort(), this.finalize(new Error('opening handshake has timed out')) }), this._req.on('error', (h) => { this._req.aborted || ((this._req = null), this.finalize(h)) }), this._req.on('response', (h) => { this.emit('unexpected-response', this._req, h) || (this._req.abort(), this.finalize( new Error(`unexpected server response (${h.statusCode})`), )) }), this._req.on('upgrade', (h, c, d) => { if ( (this.emit('headers', h.headers, h), this.readyState !== we.CONNECTING) ) return this._req = null let _ = Bu.createHash('sha1') .update(o + _t.GUID, 'binary') .digest('base64') if (h.headers['sec-websocket-accept'] !== _) return c.destroy(), this.finalize(new Error('invalid server key')) let v = h.headers['sec-websocket-protocol'], m = (r.protocol || '').split(/, */) var p if ( (!r.protocol && v ? (p = 'server sent a subprotocol even though none requested') : r.protocol && !v ? (p = 'server sent no subprotocol even though requested') : v && m.indexOf(v) === -1 && (p = 'server responded with an invalid protocol'), p) ) return c.destroy(), this.finalize(new Error(p)) if ((v && (this.protocol = v), a)) try { let g = Au.parse(h.headers['sec-websocket-extensions']) g[tt.extensionName] && (a.accept(g[tt.extensionName]), (this.extensions[tt.extensionName] = a)) } catch { c.destroy(), this.finalize( new Error('invalid Sec-WebSocket-Extensions header'), ) return } this.setSocket(c, d) }) } }) var Du = b((c0, qu) => { 'use strict' var gy = ve(), by = require('events'), yy = require('crypto'), vy = Os(), Pi = require('http'), my = require('url'), gt = hr(), Lu = Ls(), wy = gr(), Sy = Ks(), Ey = gy.Buffer, Ys = class extends by { constructor(t, r) { if ( (super(), (t = Object.assign( { maxPayload: 100 * 1024 * 1024, perMessageDeflate: !1, handleProtocols: null, clientTracking: !0, verifyClient: null, noServer: !1, backlog: null, server: null, host: null, path: null, port: null, }, t, )), t.port == null && !t.server && !t.noServer) ) throw new TypeError('missing or invalid options') t.port != null ? ((this._server = Pi.createServer((i, n) => { let s = Pi.STATUS_CODES[426] n.writeHead(426, { 'Content-Length': s.length, 'Content-Type': 'text/plain', }), n.end(s) })), this._server.listen(t.port, t.host, t.backlog, r)) : t.server && (this._server = t.server), this._server && ((this._ultron = new vy(this._server)), this._ultron.on('listening', () => this.emit('listening')), this._ultron.on('error', (i) => this.emit('error', i)), this._ultron.on('upgrade', (i, n, s) => { this.handleUpgrade(i, n, s, (o) => { this.emit('connection', o, i) }) })), t.perMessageDeflate === !0 && (t.perMessageDeflate = {}), t.clientTracking && (this.clients = new Set()), (this.options = t) } close(t) { if (this.clients) for (let i of this.clients) i.terminate() let r = this._server if ( r && (this._ultron.destroy(), (this._ultron = this._server = null), this.options.port != null) ) return r.close(t) t && t() } shouldHandle(t) { return !( this.options.path && my.parse(t.url).pathname !== this.options.path ) } handleUpgrade(t, r, i, n) { r.on('error', Qs) let s = +t.headers['sec-websocket-version'], o = {} if ( t.method !== 'GET' || t.headers.upgrade.toLowerCase() !== 'websocket' || !t.headers['sec-websocket-key'] || (s !== 8 && s !== 13) || !this.shouldHandle(t) ) return br(r, 400) if (this.options.perMessageDeflate) { let a = new gt( this.options.perMessageDeflate, !0, this.options.maxPayload, ) try { let l = Lu.parse(t.headers['sec-websocket-extensions']) l[gt.extensionName] && (a.accept(l[gt.extensionName]), (o[gt.extensionName] = a)) } catch { return br(r, 400) } } var f = (t.headers['sec-websocket-protocol'] || '').split(/, */) if (this.options.handleProtocols) { if (((f = this.options.handleProtocols(f, t)), f === !1)) return br(r, 401) } else f = f[0] if (this.options.verifyClient) { let a = { origin: t.headers[`${s === 8 ? 'sec-websocket-origin' : 'origin'}`], secure: !!(t.connection.authorized || t.connection.encrypted), req: t, } if (this.options.verifyClient.length === 2) { this.options.verifyClient(a, (l, u, h) => { if (!l) return br(r, u || 401, h) this.completeUpgrade(f, o, s, t, r, i, n) }) return } if (!this.options.verifyClient(a)) return br(r, 401) } this.completeUpgrade(f, o, s, t, r, i, n) } completeUpgrade(t, r, i, n, s, o, f) { if (!s.readable || !s.writable) return s.destroy() let l = [ 'HTTP/1.1 101 Switching Protocols', 'Upgrade: websocket', 'Connection: Upgrade', `Sec-WebSocket-Accept: ${yy .createHash('sha1') .update(n.headers['sec-websocket-key'] + wy.GUID, 'binary') .digest('base64')}`, ] if ( (t && l.push(`Sec-WebSocket-Protocol: ${t}`), r[gt.extensionName]) ) { let h = r[gt.extensionName].params, c = Lu.format({ [gt.extensionName]: [h] }) l.push(`Sec-WebSocket-Extensions: ${c}`) } this.emit('headers', l, n), s.write( l.concat(`\r `).join(`\r `), ) let u = new Sy([s, o], null, { maxPayload: this.options.maxPayload, protocolVersion: i, extensions: r, protocol: t, }) this.clients && (this.clients.add(u), u.on('close', () => this.clients.delete(u))), s.removeListener('error', Qs), f(u) } } qu.exports = Ys function Qs() { this.destroy() } function br(e, t, r) { e.writable && ((r = r || Pi.STATUS_CODES[t]), e.write( `HTTP/1.1 ${t} ${Pi.STATUS_CODES[t]}\r Connection: close\r Content-type: text/html\r Content-Length: ${Ey.byteLength(r)}\r \r ` + r, )), e.removeListener('error', Qs), e.destroy() } }) var Js = b((h0, Uu) => { 'use strict' var Bi = Ks() Bi.Server = Du() Bi.Receiver = Vs() Bi.Sender = Gs() Uu.exports = Bi }) var Fu = b((d0, ju) => { var xy = {}.toString ju.exports = Array.isArray || function (e) { return xy.call(e) == '[object Array]' } }) var Xs = b((p0, Wu) => { Wu.exports = require('stream') }) var At = b((re) => { function Cy(e) { return Array.isArray ? Array.isArray(e) : Ai(e) === '[object Array]' } re.isArray = Cy function Ty(e) { return typeof e == 'boolean' } re.isBoolean = Ty function Iy(e) { return e === null } re.isNull = Iy function Oy(e) { return e == null } re.isNullOrUndefined = Oy function ky(e) { return typeof e == 'number' } re.isNumber = ky function Ry(e) { return typeof e == 'string' } re.isString = Ry function Py(e) { return typeof e == 'symbol' } re.isSymbol = Py function By(e) { return e === void 0 } re.isUndefined = By function Ay(e) { return Ai(e) === '[object RegExp]' } re.isRegExp = Ay function Ny(e) { return typeof e == 'object' && e !== null } re.isObject = Ny function My(e) { return Ai(e) === '[object Date]' } re.isDate = My function Ly(e) { return Ai(e) === '[object Error]' || e instanceof Error } re.isError = Ly function qy(e) { return typeof e == 'function' } re.isFunction = qy function Dy(e) { return ( e === null || typeof e == 'boolean' || typeof e == 'number' || typeof e == 'string' || typeof e == 'symbol' || typeof e > 'u' ) } re.isPrimitive = Dy re.isBuffer = Buffer.isBuffer function Ai(e) { return Object.prototype.toString.call(e) } }) var Hu = b((g0, Zs) => { 'use strict' function Uy(e, t) { if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') } var Vu = ve().Buffer, yr = require('util') function jy(e, t, r) { e.copy(t, r) } Zs.exports = (function () { function e() { Uy(this, e), (this.head = null), (this.tail = null), (this.length = 0) } return ( (e.prototype.push = function (r) { var i = { data: r, next: null } this.length > 0 ? (this.tail.next = i) : (this.head = i), (this.tail = i), ++this.length }), (e.prototype.unshift = function (r) { var i = { data: r, next: this.head } this.length === 0 && (this.tail = i), (this.head = i), ++this.length }), (e.prototype.shift = 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 ) } }), (e.prototype.clear = function () { ;(this.head = this.tail = null), (this.length = 0) }), (e.prototype.join = function (r) { if (this.length === 0) return '' for (var i = this.head, n = '' + i.data; (i = i.next); ) n += r + i.data return n }), (e.prototype.concat = function (r) { if (this.length === 0) return Vu.alloc(0) for (var i = Vu.allocUnsafe(r >>> 0), n = this.head, s = 0; n; ) jy(n.data, i, s), (s += n.data.length), (n = n.next) return i }), e ) })() yr && yr.inspect && yr.inspect.custom && (Zs.exports.prototype[yr.inspect.custom] = function () { var e = yr.inspect({ length: this.length }) return this.constructor.name + ' ' + e }) }) var eo = b((b0, $u) => { 'use strict' var Ni = Ot() function Fy(e, t) { var r = this, i = this._readableState && this._readableState.destroyed, n = this._writableState && this._writableState.destroyed return i || n ? (t ? t(e) : e && (this._writableState ? this._writableState.errorEmitted || ((this._writableState.errorEmitted = !0), Ni.nextTick(Mi, this, e)) : Ni.nextTick(Mi, this, e)), this) : (this._readableState && (this._readableState.destroyed = !0), this._writableState && (this._writableState.destroyed = !0), this._destroy(e || null, function (s) { !t && s ? r._writableState ? r._writableState.errorEmitted || ((r._writableState.errorEmitted = !0), Ni.nextTick(Mi, r, s)) : Ni.nextTick(Mi, r, s) : t && t(s) }), this) } function Wy() { 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)) } function Mi(e, t) { e.emit('error', t) } $u.exports = { destroy: Fy, undestroy: Wy } }) var ro = b((y0, Zu) => { 'use strict' var bt = Ot() Zu.exports = z function zu(e) { var t = this ;(this.next = null), (this.entry = null), (this.finish = function () { ov(t, e) }) } var Vy = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : bt.nextTick, Nt z.WritableState = mr var Ku = Object.create(At()) Ku.inherits = ie() var Hy = { deprecate: fn() }, Yu = Xs(), qi = ve().Buffer, $y = (typeof global < 'u' ? global : typeof window < 'u' ? window : typeof self < 'u' ? self : {} ).Uint8Array || function () {} function Gy(e) { return qi.from(e) } function zy(e) { return qi.isBuffer(e) || e instanceof $y } var Qu = eo() Ku.inherits(z, Yu) function Ky() {} function mr(e, t) { ;(Nt = Nt || yt()), (e = e || {}) var r = t instanceof Nt ;(this.objectMode = !!e.objectMode), r && (this.objectMode = this.objectMode || !!e.writableObjectMode) var i = e.highWaterMark, n = e.writableHighWaterMark, s = this.objectMode ? 16 : 16 * 1024 i || i === 0 ? (this.highWaterMark = i) : r && (n || n === 0) ? (this.highWaterMark = n) : (this.highWaterMark = s), (this.highWaterMark = Math.floor(this.highWaterMark)), (this.finalCalled = !1), (this.needDrain = !1), (this.ending = !1), (this.ended = !1), (this.finished = !1), (this.destroyed = !1) var o = e.decodeStrings === !1 ;(this.decodeStrings = !o), (this.defaultEncoding = e.defaultEncoding || 'utf8'), (this.length = 0), (this.writing = !1), (this.corked = 0), (this.sync = !0), (this.bufferProcessing = !1), (this.onwrite = function (f) { tv(t, f) }), (this.writecb = null), (this.writelen = 0), (this.bufferedRequest = null), (this.lastBufferedRequest = null), (this.pendingcb = 0), (this.prefinished = !1), (this.errorEmitted = !1), (this.bufferedRequestCount = 0), (this.corkedRequestsFree = new zu(this)) } mr.prototype.getBuffer = function () { for (var t = this.bufferedRequest, r = []; t; ) r.push(t), (t = t.next) return r } ;(function () { try { Object.defineProperty(mr.prototype, 'buffer', { get: Hy.deprecate( function () { return this.getBuffer() }, '_writableState.buffer is deprecated. Use _writableState.getBuffer instead.', 'DEP0003', ), }) } catch {} })() var Li typeof Symbol == 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] == 'function' ? ((Li = Function.prototype[Symbol.hasInstance]), Object.defineProperty(z, Symbol.hasInstance, { value: function (e) { return Li.call(this, e) ? !0 : this !== z ? !1 : e && e._writableState instanceof mr }, })) : (Li = function (e) { return e instanceof this }) function z(e) { if (((Nt = Nt || yt()), !Li.call(z, this) && !(this instanceof Nt))) return new z(e) ;(this._writableState = new mr(e, this)), (this.writable = !0), e && (typeof e.write == 'function' && (this._write = e.write), typeof e.writev == 'function' && (this._writev = e.writev), typeof e.destroy == 'function' && (this._destroy = e.destroy), typeof e.final == 'function' && (this._final = e.final)), Yu.call(this) } z.prototype.pipe = function () { this.emit('error', new Error('Cannot pipe, not readable')) } function Yy(e, t) { var r = new Error('write after end') e.emit('error', r), bt.nextTick(t, r) } function Qy(e, t, r, i) { var n = !0, s = !1 return ( r === null ? (s = new TypeError('May not write null values to stream')) : typeof r != 'string' && r !== void 0 && !t.objectMode && (s = new TypeError('Invalid non-string/buffer chunk')), s && (e.emit('error', s), bt.nextTick(i, s), (n = !1)), n ) } z.prototype.write = function (e, t, r) { var i = this._writableState, n = !1, s = !i.objectMode && zy(e) return ( s && !qi.isBuffer(e) && (e = Gy(e)), typeof t == 'function' && ((r = t), (t = null)), s ? (t = 'buffer') : t || (t = i.defaultEncoding), typeof r != 'function' && (r = Ky), i.ended ? Yy(this, r) : (s || Qy(this, i, e, r)) && (i.pendingcb++, (n = Xy(this, i, s, e, t, r))), n ) } z.prototype.cork = function () { var e = this._writableState e.corked++ } z.prototype.uncork = function () { var e = this._writableState e.corked && (e.corked--, !e.writing && !e.corked && !e.bufferProcessing && e.bufferedRequest && Ju(this, e)) } z.prototype.setDefaultEncoding = function (t) { if ( (typeof t == 'string' && (t = t.toLowerCase()), !( [ 'hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw', ].indexOf((t + '').toLowerCase()) > -1 )) ) throw new TypeError('Unknown encoding: ' + t) return (this._writableState.defaultEncoding = t), this } function Jy(e, t, r) { return ( !e.objectMode && e.decodeStrings !== !1 && typeof t == 'string' && (t = qi.from(t, r)), t ) } Object.defineProperty(z.prototype, 'writableHighWaterMark', { enumerable: !1, get: function () { return this._writableState.highWaterMark }, }) function Xy(e, t, r, i, n, s) { if (!r) { var o = Jy(t, i, n) i !== o && ((r = !0), (n = 'buffer'), (i = o)) } var f = t.objectMode ? 1 : i.length t.length += f var a = t.length < t.highWaterMark if ((a || (t.needDrain = !0), t.writing || t.corked)) { var l = t.lastBufferedRequest ;(t.lastBufferedRequest = { chunk: i, encoding: n, isBuf: r, callback: s, next: null, }), l ? (l.next = t.lastBufferedRequest) : (t.bufferedRequest = t.lastBufferedRequest), (t.bufferedRequestCount += 1) } else to(e, t, !1, f, i, n, s) return a } function to(e, t, r, i, n, s, o) { ;(t.writelen = i), (t.writecb = o), (t.writing = !0), (t.sync = !0), r ? e._writev(n, t.onwrite) : e._write(n, s, t.onwrite), (t.sync = !1) } function Zy(e, t, r, i, n) { --t.pendingcb, r ? (bt.nextTick(n, i), bt.nextTick(vr, e, t), (e._writableState.errorEmitted = !0), e.emit('error', i)) : (n(i), (e._writableState.errorEmitted = !0), e.emit('error', i), vr(e, t)) } function ev(e) { ;(e.writing = !1), (e.writecb = null), (e.length -= e.writelen), (e.writelen = 0) } function tv(e, t) { var r = e._writableState, i = r.sync, n = r.writecb if ((ev(r), t)) Zy(e, r, i, t, n) else { var s = Xu(r) !s && !r.corked && !r.bufferProcessing && r.bufferedRequest && Ju(e, r), i ? Vy(Gu, e, r, s, n) : Gu(e, r, s, n) } } function Gu(e, t, r, i) { r || rv(e, t), t.pendingcb--, i(), vr(e, t) } function rv(e, t) { t.length === 0 && t.needDrain && ((t.needDrain = !1), e.emit('drain')) } function Ju(e, t) { t.bufferProcessing = !0 var r = t.bufferedRequest if (e._writev && r && r.next) { var i = t.bufferedRequestCount, n = new Array(i), s = t.corkedRequestsFree s.entry = r for (var o = 0, f = !0; r; ) (n[o] = r), r.isBuf || (f = !1), (r = r.next), (o += 1) ;(n.allBuffers = f), to(e, t, !0, t.length, n, '', s.finish), t.pendingcb++, (t.lastBufferedRequest = null), s.next ? ((t.corkedRequestsFree = s.next), (s.next = null)) : (t.corkedRequestsFree = new zu(t)), (t.bufferedRequestCount = 0) } else { for (; r; ) { var a = r.chunk, l = r.encoding, u = r.callback, h = t.objectMode ? 1 : a.length if ( (to(e, t, !1, h, a, l, u), (r = r.next), t.bufferedRequestCount--, t.writing) ) break } r === null && (t.lastBufferedRequest = null) } ;(t.bufferedRequest = r), (t.bufferProcessing = !1) } z.prototype._write = function (e, t, r) { r(new Error('_write() is not implemented')) } z.prototype._writev = null z.prototype.end = function (e, t, r) { var i = this._writableState typeof e == 'function' ? ((r = e), (e = null), (t = null)) : typeof t == 'function' && ((r = t), (t = null)), e != null && this.write(e, t), i.corked && ((i.corked = 1), this.uncork()), i.ending || sv(this, i, r) } function Xu(e) { return ( e.ending && e.length === 0 && e.bufferedRequest === null && !e.finished && !e.writing ) } function iv(e, t) { e._final(function (r) { t.pendingcb--, r && e.emit('error', r), (t.prefinished = !0), e.emit('prefinish'), vr(e, t) }) } function nv(e, t) { !t.prefinished && !t.finalCalled && (typeof e._final == 'function' ? (t.pendingcb++, (t.finalCalled = !0), bt.nextTick(iv, e, t)) : ((t.prefinished = !0), e.emit('prefinish'))) } function vr(e, t) { var r = Xu(t) return ( r && (nv(e, t), t.pendingcb === 0 && ((t.finished = !0), e.emit('finish'))), r ) } function sv(e, t, r) { ;(t.ending = !0), vr(e, t), r && (t.finished ? bt.nextTick(r) : e.once('finish', r)), (t.ended = !0), (e.writable = !1) } function ov(e, t, r) { var i = e.entry for (e.entry = null; i; ) { var n = i.callback t.pendingcb--, n(r), (i = i.next) } t.corkedRequestsFree.next = e } Object.defineProperty(z.prototype, 'destroyed', { get: function () { return this._writableState === void 0 ? !1 : this._writableState.destroyed }, set: function (e) { this._writableState && (this._writableState.destroyed = e) }, }) z.prototype.destroy = Qu.destroy z.prototype._undestroy = Qu.undestroy z.prototype._destroy = function (e, t) { this.end(), t(e) } }) var yt = b((v0, ic) => { 'use strict' var ec = Ot(), av = Object.keys || function (e) { var t = [] for (var r in e) t.push(r) return t } ic.exports = qe var tc = Object.create(At()) tc.inherits = ie() var rc = so(), no = ro() tc.inherits(qe, rc) for (io = av(no.prototype), Di = 0; Di < io.length; Di++) (Ui = io[Di]), qe.prototype[Ui] || (qe.prototype[Ui] = no.prototype[Ui]) var io, Ui, Di function qe(e) { if (!(this instanceof qe)) return new qe(e) rc.call(this, e), no.call(this, e), e && e.readable === !1 && (this.readable = !1), e && e.writable === !1 && (this.writable = !1), (this.allowHalfOpen = !0), e && e.allowHalfOpen === !1 && (this.allowHalfOpen = !1), this.once('end', fv) } Object.defineProperty(qe.prototype, 'writableHighWaterMark', { enumerable: !1, get: function () { return this._writableState.highWaterMark }, }) function fv() { this.allowHalfOpen || this._writableState.ended || ec.nextTick(lv, this) } function lv(e) { e.end() } Object.defineProperty(qe.prototype, 'destroyed', { get: function () { return this._readableState === void 0 || this._writableState === void 0 ? !1 : this._readableState.destroyed && this._writableState.destroyed }, set: function (e) { this._readableState === void 0 || this._writableState === void 0 || ((this._readableState.destroyed = e), (this._writableState.destroyed = e)) }, }) qe.prototype._destroy = function (e, t) { this.push(null), this.end(), ec.nextTick(t, e) } }) var fo = b((sc) => { 'use strict' var ao = ve().Buffer, nc = ao.isEncoding || function (e) { switch (((e = '' + e), e && e.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 uv(e) { if (!e) return 'utf8' for (var t; ; ) switch (e) { 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 e default: if (t) return ;(e = ('' + e).toLowerCase()), (t = !0) } } function cv(e) { var t = uv(e) if (typeof t != 'string' && (ao.isEncoding === nc || !nc(e))) throw new Error('Unknown encoding: ' + e) return t || e } sc.StringDecoder = wr function wr(e) { this.encoding = cv(e) var t switch (this.encoding) { case 'utf16le': ;(this.text = bv), (this.end = yv), (t = 4) break case 'utf8': ;(this.fillLast = pv), (t = 4) break case 'base64': ;(this.text = vv), (this.end = mv), (t = 3) break default: ;(this.write = wv), (this.end = Sv) return } ;(this.lastNeed = 0), (this.lastTotal = 0), (this.lastChar = ao.allocUnsafe(t)) } wr.prototype.write = function (e) { if (e.length === 0) return '' var t, r if (this.lastNeed) { if (((t = this.fillLast(e)), t === void 0)) return '' ;(r = this.lastNeed), (this.lastNeed = 0) } else r = 0 return r < e.length ? (t ? t + this.text(e, r) : this.text(e, r)) : t || '' } wr.prototype.end = gv wr.prototype.text = _v wr.prototype.fillLast = function (e) { if (this.lastNeed <= e.length) return ( e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal) ) e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, e.length), (this.lastNeed -= e.length) } function oo(e) { return e <= 127 ? 0 : e >> 5 === 6 ? 2 : e >> 4 === 14 ? 3 : e >> 3 === 30 ? 4 : e >> 6 === 2 ? -1 : -2 } function hv(e, t, r) { var i = t.length - 1 if (i < r) return 0 var n = oo(t[i]) return n >= 0 ? (n > 0 && (e.lastNeed = n - 1), n) : --i < r || n === -2 ? 0 : ((n = oo(t[i])), n >= 0 ? (n > 0 && (e.lastNeed = n - 2), n) : --i < r || n === -2 ? 0 : ((n = oo(t[i])), n >= 0 ? (n > 0 && (n === 2 ? (n = 0) : (e.lastNeed = n - 3)), n) : 0)) } function dv(e, t, r) { if ((t[0] & 192) !== 128) return (e.lastNeed = 0), '\uFFFD' if (e.lastNeed > 1 && t.length > 1) { if ((t[1] & 192) !== 128) return (e.lastNeed = 1), '\uFFFD' if (e.lastNeed > 2 && t.length > 2 && (t[2] & 192) !== 128) return (e.lastNeed = 2), '\uFFFD' } } function pv(e) { var t = this.lastTotal - this.lastNeed, r = dv(this, e, t) if (r !== void 0) return r if (this.lastNeed <= e.length) return ( e.copy(this.lastChar, t, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal) ) e.copy(this.lastChar, t, 0, e.length), (this.lastNeed -= e.length) } function _v(e, t) { var r = hv(this, e, t) if (!this.lastNeed) return e.toString('utf8', t) this.lastTotal = r var i = e.length - (r - this.lastNeed) return e.copy(this.lastChar, 0, i), e.toString('utf8', t, i) } function gv(e) { var t = e && e.length ? this.write(e) : '' return this.lastNeed ? t + '\uFFFD' : t } function bv(e, t) { if ((e.length - t) % 2 === 0) { var r = e.toString('utf16le', t) if (r) { var i = r.charCodeAt(r.length - 1) if (i >= 55296 && i <= 56319) return ( (this.lastNeed = 2), (this.lastTotal = 4), (this.lastChar[0] = e[e.length - 2]), (this.lastChar[1] = e[e.length - 1]), r.slice(0, -1) ) } return r } return ( (this.lastNeed = 1), (this.lastTotal = 2), (this.lastChar[0] = e[e.length - 1]), e.toString('utf16le', t, e.length - 1) ) } function yv(e) { var t = e && e.length ? this.write(e) : '' if (this.lastNeed) { var r = this.lastTotal - this.lastNeed return t + this.lastChar.toString('utf16le', 0, r) } return t } function vv(e, t) { var r = (e.length - t) % 3 return r === 0 ? e.toString('base64', t) : ((this.lastNeed = 3 - r), (this.lastTotal = 3), r === 1 ? (this.lastChar[0] = e[e.length - 1]) : ((this.lastChar[0] = e[e.length - 2]), (this.lastChar[1] = e[e.length - 1])), e.toString('base64', t, e.length - r)) } function mv(e) { var t = e && e.length ? this.write(e) : '' return this.lastNeed ? t + this.lastChar.toString('base64', 0, 3 - this.lastNeed) : t } function wv(e) { return e.toString(this.encoding) } function Sv(e) { return e && e.length ? this.write(e) : '' } }) var so = b((S0, bc) => { 'use strict' var Lt = Ot() bc.exports = V var Ev = Fu(), Sr V.ReadableState = hc var w0 = require('events').EventEmitter, lc = function (e, t) { return e.listeners(t).length }, po = Xs(), Er = ve().Buffer, xv = (typeof global < 'u' ? global : typeof window < 'u' ? window : typeof self < 'u' ? self : {} ).Uint8Array || function () {} function Cv(e) { return Er.from(e) } function Tv(e) { return Er.isBuffer(e) || e instanceof xv } var uc = Object.create(At()) uc.inherits = ie() var lo = require('util'), L = void 0 lo && lo.debuglog ? (L = lo.debuglog('stream')) : (L = function () {}) var Iv = Hu(), cc = eo(), Mt uc.inherits(V, po) var uo = ['error', 'close', 'destroy', 'pause', 'resume'] function Ov(e, t, r) { if (typeof e.prependListener == 'function') return e.prependListener(t, r) !e._events || !e._events[t] ? e.on(t, r) : Ev(e._events[t]) ? e._events[t].unshift(r) : (e._events[t] = [r, e._events[t]]) } function hc(e, t) { ;(Sr = Sr || yt()), (e = e || {}) var r = t instanceof Sr ;(this.objectMode = !!e.objectMode), r && (this.objectMode = this.objectMode || !!e.readableObjectMode) var i = e.highWaterMark, n = e.readableHighWaterMark, s = this.objectMode ? 16 : 16 * 1024 i || i === 0 ? (this.highWaterMark = i) : r && (n || n === 0) ? (this.highWaterMark = n) : (this.highWaterMark = s), (this.highWaterMark = Math.floor(this.highWaterMark)), (this.buffer = new Iv()), (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.destroyed = !1), (this.defaultEncoding = e.defaultEncoding || 'utf8'), (this.awaitDrain = 0), (this.readingMore = !1), (this.decoder = null), (this.encoding = null), e.encoding && (Mt || (Mt = fo().StringDecoder), (this.decoder = new Mt(e.encoding)), (this.encoding = e.encoding)) } function V(e) { if (((Sr = Sr || yt()), !(this instanceof V))) return new V(e) ;(this._readableState = new hc(e, this)), (this.readable = !0), e && (typeof e.read == 'function' && (this._read = e.read), typeof e.destroy == 'function' && (this._destroy = e.destroy)), po.call(this) } Object.defineProperty(V.prototype, 'destroyed', { get: function () { return this._readableState === void 0 ? !1 : this._readableState.destroyed }, set: function (e) { this._readableState && (this._readableState.destroyed = e) }, }) V.prototype.destroy = cc.destroy V.prototype._undestroy = cc.undestroy V.prototype._destroy = function (e, t) { this.push(null), t(e) } V.prototype.push = function (e, t) { var r = this._readableState, i return ( r.objectMode ? (i = !0) : typeof e == 'string' && ((t = t || r.defaultEncoding), t !== r.encoding && ((e = Er.from(e, t)), (t = '')), (i = !0)), dc(this, e, t, !1, i) ) } V.prototype.unshift = function (e) { return dc(this, e, null, !0, !1) } function dc(e, t, r, i, n) { var s = e._readableState if (t === null) (s.reading = !1), Bv(e, s) else { var o n || (o = kv(s, t)), o ? e.emit('error', o) : s.objectMode || (t && t.length > 0) ? (typeof t != 'string' && !s.objectMode && Object.getPrototypeOf(t) !== Er.prototype && (t = Cv(t)), i ? s.endEmitted ? e.emit( 'error', new Error('stream.unshift() after end event'), ) : co(e, s, t, !0) : s.ended ? e.emit('error', new Error('stream.push() after EOF')) : ((s.reading = !1), s.decoder && !r ? ((t = s.decoder.write(t)), s.objectMode || t.length !== 0 ? co(e, s, t, !1) : pc(e, s)) : co(e, s, t, !1))) : i || (s.reading = !1) } return Rv(s) } function co(e, t, r, i) { t.flowing && t.length === 0 && !t.sync ? (e.emit('data', r), e.read(0)) : ((t.length += t.objectMode ? 1 : r.length), i ? t.buffer.unshift(r) : t.buffer.push(r), t.needReadable && ji(e)), pc(e, t) } function kv(e, t) { var r return ( !Tv(t) && typeof t != 'string' && t !== void 0 && !e.objectMode && (r = new TypeError('Invalid non-string/buffer chunk')), r ) } function Rv(e) { return ( !e.ended && (e.needReadable || e.length < e.highWaterMark || e.length === 0) ) } V.prototype.isPaused = function () { return this._readableState.flowing === !1 } V.prototype.setEncoding = function (e) { return ( Mt || (Mt = fo().StringDecoder), (this._readableState.decoder = new Mt(e)), (this._readableState.encoding = e), this ) } var oc = 8388608 function Pv(e) { return ( e >= oc ? (e = oc) : (e--, (e |= e >>> 1), (e |= e >>> 2), (e |= e >>> 4), (e |= e >>> 8), (e |= e >>> 16), e++), e ) } function ac(e, t) { return e <= 0 || (t.length === 0 && t.ended) ? 0 : t.objectMode ? 1 : e !== e ? t.flowing && t.length ? t.buffer.head.data.length : t.length : (e > t.highWaterMark && (t.highWaterMark = Pv(e)), e <= t.length ? e : t.ended ? t.length : ((t.needReadable = !0), 0)) } V.prototype.read = function (e) { L('read', e), (e = parseInt(e, 10)) var t = this._readableState, r = e if ( (e !== 0 && (t.emittedReadable = !1), e === 0 && t.needReadable && (t.length >= t.highWaterMark || t.ended)) ) return ( L('read: emitReadable', t.length, t.ended), t.length === 0 && t.ended ? ho(this) : ji(this), null ) if (((e = ac(e, t)), e === 0 && t.ended)) return t.length === 0 && ho(this), null var i = t.needReadable L('need readable', i), (t.length === 0 || t.length - e < t.highWaterMark) && ((i = !0), L('length less than watermark', i)), t.ended || t.reading ? ((i = !1), L('reading or ended', i)) : i && (L('do read'), (t.reading = !0), (t.sync = !0), t.length === 0 && (t.needReadable = !0), this._read(t.highWaterMark), (t.sync = !1), t.reading || (e = ac(r, t))) var n return ( e > 0 ? (n = _c(e, t)) : (n = null), n === null ? ((t.needReadable = !0), (e = 0)) : (t.length -= e), t.length === 0 && (t.ended || (t.needReadable = !0), r !== e && t.ended && ho(this)), n !== null && this.emit('data', n), n ) } function Bv(e, t) { if (!t.ended) { if (t.decoder) { var r = t.decoder.end() r && r.length && (t.buffer.push(r), (t.length += t.objectMode ? 1 : r.length)) } ;(t.ended = !0), ji(e) } } function ji(e) { var t = e._readableState ;(t.needReadable = !1), t.emittedReadable || (L('emitReadable', t.flowing), (t.emittedReadable = !0), t.sync ? Lt.nextTick(fc, e) : fc(e)) } function fc(e) { L('emit readable'), e.emit('readable'), _o(e) } function pc(e, t) { t.readingMore || ((t.readingMore = !0), Lt.nextTick(Av, e, t)) } function Av(e, t) { for ( var r = t.length; !t.reading && !t.flowing && !t.ended && t.length < t.highWaterMark && (L('maybeReadMore read 0'), e.read(0), r !== t.length); ) r = t.length t.readingMore = !1 } V.prototype._read = function (e) { this.emit('error', new Error('_read() is not implemented')) } V.prototype.pipe = function (e, t) { var r = this, i = this._readableState switch (i.pipesCount) { case 0: i.pipes = e break case 1: i.pipes = [i.pipes, e] break default: i.pipes.push(e) break } ;(i.pipesCount += 1), L('pipe count=%d opts=%j', i.pipesCount, t) var n = (!t || t.end !== !1) && e !== process.stdout && e !== process.stderr, s = n ? f : m i.endEmitted ? Lt.nextTick(s) : r.once('end', s), e.on('unpipe', o) function o(p, g) { L('onunpipe'), p === r && g && g.hasUnpiped === !1 && ((g.hasUnpiped = !0), u()) } function f() { L('onend'), e.end() } var a = Nv(r) e.on('drain', a) var l = !1 function u() { L('cleanup'), e.removeListener('close', _), e.removeListener('finish', v), e.removeListener('drain', a), e.removeListener('error', d), e.removeListener('unpipe', o), r.removeListener('end', f), r.removeListener('end', m), r.removeListener('data', c), (l = !0), i.awaitDrain && (!e._writableState || e._writableState.needDrain) && a() } var h = !1 r.on('data', c) function c(p) { L('ondata'), (h = !1) var g = e.write(p) g === !1 && !h && (((i.pipesCount === 1 && i.pipes === e) || (i.pipesCount > 1 && gc(i.pipes, e) !== -1)) && !l && (L('false write response, pause', i.awaitDrain), i.awaitDrain++, (h = !0)), r.pause()) } function d(p) { L('onerror', p), m(), e.removeListener('error', d), lc(e, 'error') === 0 && e.emit('error', p) } Ov(e, 'error', d) function _() { e.removeListener('finish', v), m() } e.once('close', _) function v() { L('onfinish'), e.removeListener('close', _), m() } e.once('finish', v) function m() { L('unpipe'), r.unpipe(e) } return e.emit('pipe', r), i.flowing || (L('pipe resume'), r.resume()), e } function Nv(e) { return function () { var t = e._readableState L('pipeOnDrain', t.awaitDrain), t.awaitDrain && t.awaitDrain--, t.awaitDrain === 0 && lc(e, 'data') && ((t.flowing = !0), _o(e)) } } V.prototype.unpipe = function (e) { var t = this._readableState, r = { hasUnpiped: !1 } if (t.pipesCount === 0) return this if (t.pipesCount === 1) return e && e !== t.pipes ? this : (e || (e = t.pipes), (t.pipes = null), (t.pipesCount = 0), (t.flowing = !1), e && e.emit('unpipe', this, r), this) if (!e) { var i = t.pipes, n = t.pipesCount ;(t.pipes = null), (t.pipesCount = 0), (t.flowing = !1) for (var s = 0; s < n; s++) i[s].emit('unpipe', this, { hasUnpiped: !1 }) return this } var o = gc(t.pipes, e) return o === -1 ? this : (t.pipes.splice(o, 1), (t.pipesCount -= 1), t.pipesCount === 1 && (t.pipes = t.pipes[0]), e.emit('unpipe', this, r), this) } V.prototype.on = function (e, t) { var r = po.prototype.on.call(this, e, t) if (e === 'data') this._readableState.flowing !== !1 && this.resume() else if (e === 'readable') { var i = this._readableState !i.endEmitted && !i.readableListening && ((i.readableListening = i.needReadable = !0), (i.emittedReadable = !1), i.reading ? i.length && ji(this) : Lt.nextTick(Mv, this)) } return r } V.prototype.addListener = V.prototype.on function Mv(e) { L('readable nexttick read 0'), e.read(0) } V.prototype.resume = function () { var e = this._readableState return e.flowing || (L('resume'), (e.flowing = !0), Lv(this, e)), this } function Lv(e, t) { t.resumeScheduled || ((t.resumeScheduled = !0), Lt.nextTick(qv, e, t)) } function qv(e, t) { t.reading || (L('resume read 0'), e.read(0)), (t.resumeScheduled = !1), (t.awaitDrain = 0), e.emit('resume'), _o(e), t.flowing && !t.reading && e.read(0) } V.prototype.pause = function () { return ( L('call pause flowing=%j', this._readableState.flowing), this._readableState.flowing !== !1 && (L('pause'), (this._readableState.flowing = !1), this.emit('pause')), this ) } function _o(e) { var t = e._readableState for (L('flow', t.flowing); t.flowing && e.read() !== null; ); } V.prototype.wrap = function (e) { var t = this, r = this._readableState, i = !1 e.on('end', function () { if ((L('wrapped end'), r.decoder && !r.ended)) { var o = r.decoder.end() o && o.length && t.push(o) } t.push(null) }), e.on('data', function (o) { if ( (L('wrapped data'), r.decoder && (o = r.decoder.write(o)), !(r.objectMode && o == null) && !(!r.objectMode && (!o || !o.length))) ) { var f = t.push(o) f || ((i = !0), e.pause()) } }) for (var n in e) this[n] === void 0 && typeof e[n] == 'function' && (this[n] = (function (o) { return function () { return e[o].apply(e, arguments) } })(n)) for (var s = 0; s < uo.length; s++) e.on(uo[s], this.emit.bind(this, uo[s])) return ( (this._read = function (o) { L('wrapped _read', o), i && ((i = !1), e.resume()) }), this ) } Object.defineProperty(V.prototype, 'readableHighWaterMark', { enumerable: !1, get: function () { return this._readableState.highWaterMark }, }) V._fromList = _c function _c(e, t) { if (t.length === 0) return null var r return ( t.objectMode ? (r = t.buffer.shift()) : !e || e >= t.length ? (t.decoder ? (r = t.buffer.join('')) : t.buffer.length === 1 ? (r = t.buffer.head.data) : (r = t.buffer.concat(t.length)), t.buffer.clear()) : (r = Dv(e, t.buffer, t.decoder)), r ) } function Dv(e, t, r) { var i return ( e < t.head.data.length ? ((i = t.head.data.slice(0, e)), (t.head.data = t.head.data.slice(e))) : e === t.head.data.length ? (i = t.shift()) : (i = r ? Uv(e, t) : jv(e, t)), i ) } function Uv(e, t) { var r = t.head, i = 1, n = r.data for (e -= n.length; (r = r.next); ) { var s = r.data, o = e > s.length ? s.length : e if ( (o === s.length ? (n += s) : (n += s.slice(0, e)), (e -= o), e === 0) ) { o === s.length ? (++i, r.next ? (t.head = r.next) : (t.head = t.tail = null)) : ((t.head = r), (r.data = s.slice(o))) break } ++i } return (t.length -= i), n } function jv(e, t) { var r = Er.allocUnsafe(e), i = t.head, n = 1 for (i.data.copy(r), e -= i.data.length; (i = i.next); ) { var s = i.data, o = e > s.length ? s.length : e if ((s.copy(r, r.length - e, 0, o), (e -= o), e === 0)) { o === s.length ? (++n, i.next ? (t.head = i.next) : (t.head = t.tail = null)) : ((t.head = i), (i.data = s.slice(o))) break } ++n } return (t.length -= n), r } function ho(e) { var t = e._readableState if (t.length > 0) throw new Error('"endReadable()" called on non-empty stream') t.endEmitted || ((t.ended = !0), Lt.nextTick(Fv, t, e)) } function Fv(e, t) { !e.endEmitted && e.length === 0 && ((e.endEmitted = !0), (t.readable = !1), t.emit('end')) } function gc(e, t) { for (var r = 0, i = e.length; r < i; r++) if (e[r] === t) return r return -1 } }) var go = b((E0, mc) => { 'use strict' mc.exports = De var Fi = yt(), vc = Object.create(At()) vc.inherits = ie() vc.inherits(De, Fi) function Wv(e, t) { var r = this._transformState r.transforming = !1 var i = r.writecb if (!i) return this.emit( 'error', new Error('write callback called multiple times'), ) ;(r.writechunk = null), (r.writecb = null), t != null && this.push(t), i(e) var n = this._readableState ;(n.reading = !1), (n.needReadable || n.length < n.highWaterMark) && this._read(n.highWaterMark) } function De(e) { if (!(this instanceof De)) return new De(e) Fi.call(this, e), (this._transformState = { afterTransform: Wv.bind(this), needTransform: !1, transforming: !1, writecb: null, writechunk: null, writeencoding: null, }), (this._readableState.needReadable = !0), (this._readableState.sync = !1), e && (typeof e.transform == 'function' && (this._transform = e.transform), typeof e.flush == 'function' && (this._flush = e.flush)), this.on('prefinish', Vv) } function Vv() { var e = this typeof this._flush == 'function' ? this._flush(function (t, r) { yc(e, t, r) }) : yc(this, null, null) } De.prototype.push = function (e, t) { return ( (this._transformState.needTransform = !1), Fi.prototype.push.call(this, e, t) ) } De.prototype._transform = function (e, t, r) { throw new Error('_transform() is not implemented') } De.prototype._write = function (e, t, r) { var i = this._transformState if ( ((i.writecb = r), (i.writechunk = e), (i.writeencoding = t), !i.transforming) ) { var n = this._readableState ;(i.needTransform || n.needReadable || n.length < n.highWaterMark) && this._read(n.highWaterMark) } } De.prototype._read = function (e) { var t = this._transformState t.writechunk !== null && t.writecb && !t.transforming ? ((t.transforming = !0), this._transform(t.writechunk, t.writeencoding, t.afterTransform)) : (t.needTransform = !0) } De.prototype._destroy = function (e, t) { var r = this Fi.prototype._destroy.call(this, e, function (i) { t(i), r.emit('close') }) } function yc(e, t, r) { if (t) return e.emit('error', t) if ((r != null && e.push(r), e._writableState.length)) throw new Error('Calling transform done when ws.length != 0') if (e._transformState.transforming) throw new Error('Calling transform done when still transforming') return e.push(null) } }) var xc = b((x0, Ec) => { 'use strict' Ec.exports = xr var wc = go(), Sc = Object.create(At()) Sc.inherits = ie() Sc.inherits(xr, wc) function xr(e) { if (!(this instanceof xr)) return new xr(e) wc.call(this, e) } xr.prototype._transform = function (e, t, r) { r(null, e) } }) var bo = b((X, Wi) => { var Ie = require('stream') process.env.READABLE_STREAM === 'disable' && Ie ? ((Wi.exports = Ie), (X = Wi.exports = Ie.Readable), (X.Readable = Ie.Readable), (X.Writable = Ie.Writable), (X.Duplex = Ie.Duplex), (X.Transform = Ie.Transform), (X.PassThrough = Ie.PassThrough), (X.Stream = Ie)) : ((X = Wi.exports = so()), (X.Stream = Ie || X), (X.Readable = X), (X.Writable = ro()), (X.Duplex = yt()), (X.Transform = go()), (X.PassThrough = xc())) }) var kc = b((C0, Oc) => { var Vi = bo(), Cc = Kn(), Hv = ie(), $v = Yn(), Tc = Buffer.from && Buffer.from !== Uint8Array.from ? Buffer.from([0]) : new Buffer([0]), yo = function (e, t) { e._corked ? e.once('uncork', t) : t() }, Gv = function (e, t) { e._autoDestroy && e.destroy(t) }, Ic = function (e, t) { return function (r) { r ? Gv(e, r.message === 'premature close' ? null : r) : t && !e._ended && e.end() } }, zv = function (e, t) { if (!e || (e._writableState && e._writableState.finished)) return t() if (e._writableState) return e.end(t) e.end(), t() }, Kv = function (e) { return new Vi.Readable({ objectMode: !0, highWaterMark: 16 }).wrap(e) }, Z = function (e, t, r) { if (!(this instanceof Z)) return new Z(e, t, r) Vi.Duplex.call(this, r), (this._writable = null), (this._readable = null), (this._readable2 = null), (this._autoDestroy = !r || r.autoDestroy !== !1), (this._forwardDestroy = !r || r.destroy !== !1), (this._forwardEnd = !r || r.end !== !1), (this._corked = 1), (this._ondrain = null), (this._drained = !1), (this._forwarding = !1), (this._unwrite = null), (this._unread = null), (this._ended = !1), (this.destroyed = !1), e && this.setWritable(e), t && this.setReadable(t) } Hv(Z, Vi.Duplex) Z.obj = function (e, t, r) { return ( r || (r = {}), (r.objectMode = !0), (r.highWaterMark = 16), new Z(e, t, r) ) } Z.prototype.cork = function () { ++this._corked === 1 && this.emit('cork') } Z.prototype.uncork = function () { this._corked && --this._corked === 0 && this.emit('uncork') } Z.prototype.setWritable = function (e) { if ((this._unwrite && this._unwrite(), this.destroyed)) { e && e.destroy && e.destroy() return } if (e === null || e === !1) { this.end() return } var t = this, r = Cc(e, { writable: !0, readable: !1 }, Ic(this, this._forwardEnd)), i = function () { var s = t._ondrain ;(t._ondrain = null), s && s() }, n = function () { t._writable.removeListener('drain', i), r() } this._unwrite && process.nextTick(i), (this._writable = e), this._writable.on('drain', i), (this._unwrite = n), this.uncork() } Z.prototype.setReadable = function (e) { if ((this._unread && this._unread(), this.destroyed)) { e && e.destroy && e.destroy() return } if (e === null || e === !1) { this.push(null), this.resume() return } var t = this, r = Cc(e, { writable: !1, readable: !0 }, Ic(this)), i = function () { t._forward() }, n = function () { t.push(null) }, s = function () { t._readable2.removeListener('readable', i), t._readable2.removeListener('end', n), r() } ;(this._drained = !0), (this._readable = e), (this._readable2 = e._readableState ? e : Kv(e)), this._readable2.on('readable', i), this._readable2.on('end', n), (this._unread = s), this._forward() } Z.prototype._read = function () { ;(this._drained = !0), this._forward() } Z.prototype._forward = function () { if (!(this._forwarding || !this._readable2 || !this._drained)) { this._forwarding = !0 for (var e; this._drained && (e = $v(this._readable2)) !== null; ) this.destroyed || (this._drained = this.push(e)) this._forwarding = !1 } } Z.prototype.destroy = function (e) { if (!this.destroyed) { this.destroyed = !0 var t = this process.nextTick(function () { t._destroy(e) }) } } Z.prototype._destroy = function (e) { if (e) { var t = this._ondrain ;(this._ondrain = null), t ? t(e) : this.emit('error', e) } this._forwardDestroy && (this._readable && this._readable.destroy && this._readable.destroy(), this._writable && this._writable.destroy && this._writable.destroy()), this.emit('close') } Z.prototype._write = function (e, t, r) { if (this.destroyed) return r() if (this._corked) return yo(this, this._write.bind(this, e, t, r)) if (e === Tc) return this._finish(r) if (!this._writable) return r() this._writable.write(e) === !1 ? (this._ondrain = r) : r() } Z.prototype._finish = function (e) { var t = this this.emit('preend'), yo(this, function () { zv(t._forwardEnd && t._writable, function () { t._writableState.prefinished === !1 && (t._writableState.prefinished = !0), t.emit('prefinish'), yo(t, e) }) }) } Z.prototype.end = function (e, t, r) { return typeof e == 'function' ? this.end(null, null, e) : typeof t == 'function' ? this.end(e, null, t) : ((this._ended = !0), e && this.write(e), this._writableState.ending || this.write(Tc), Vi.Writable.prototype.end.call(this, r)) } Oc.exports = Z }) var vo = b((T0, Pc) => { 'use strict' var Yv = bo().Transform, Qv = kc(), Rc = Js(), qt = ve().Buffer Pc.exports = Xv function Jv(e, t, r) { var i = new Yv({ objectMode: e.objectMode }) return (i._write = t), (i._flush = r), i } function Xv(e, t, r) { var i, n, s = process.title === 'browser', o = !!global.WebSocket, f = s ? _ : d t && !Array.isArray(t) && typeof t == 'object' && ((r = t), (t = null), (typeof r.protocol == 'string' || Array.isArray(r.protocol)) && (t = r.protocol)), r || (r = {}), r.objectMode === void 0 && (r.objectMode = !(r.binary === !0 || r.binary === void 0)) var a = Jv(r, f, v) r.objectMode || (a._writev = C) var l = r.browserBufferSize || 1024 * 512, u = r.browserBufferTimeout || 1e3 typeof e == 'object' ? (n = e) : (o && s ? (n = new Rc(e, t)) : (n = new Rc(e, t, r)), (n.binaryType = 'arraybuffer')) var h = typeof n.addEventListener > 'u' n.readyState === n.OPEN ? (i = a) : ((i = i = Qv(void 0, void 0, r)), r.objectMode || (i._writev = C), h ? n.addEventListener('open', m) : (n.onopen = m)), (i.socket = n), h ? (n.addEventListener('close', p), n.addEventListener('error', g), n.addEventListener('message', S)) : ((n.onclose = p), (n.onerror = g), (n.onmessage = S)), a.on('close', x) var c = !r.objectMode function d(w, B, M) { if (n.readyState !== n.OPEN) { M() return } c && typeof w == 'string' && (w = qt.from(w, 'utf8')), n.send(w, M) } function _(w, B, M) { if (n.bufferedAmount > l) { setTimeout(_, u, w, B, M) return } c && typeof w == 'string' && (w = qt.from(w, 'utf8')) try { n.send(w) } catch (H) { return M(H) } M() } function v(w) { n.close(), w() } function m() { i.setReadable(a), i.setWritable(a), i.emit('connect') } function p() { i.end(), i.destroy() } function g(w) { i.destroy(w) } function S(w) { var B = w.data B instanceof ArrayBuffer ? (B = qt.from(B)) : (B = qt.from(B, 'utf8')), a.push(B) } function x() { n.close() } function C(w, B) { for (var M = new Array(w.length), H = 0; H < w.length; H++) typeof w[H].chunk == 'string' ? (M[H] = qt.from(w[H], 'utf8')) : (M[H] = w[H].chunk) this._write(qt.concat(M), 'binary', B) } return i } }) var Bc = b((I0, mo) => { 'use strict' var Zv = Js().Server, em = vo(), Hi = class extends Zv { constructor(t, r) { super(t) var i = !1 this.on('newListener', function (n) { !i && n === 'stream' && ((i = !0), this.on('connection', function (s, o) { this.emit('stream', em(s, t), o) })) }), r && this.on('stream', r) } } mo.exports.Server = Hi mo.exports.createServer = function (e, t) { return new Hi(e, t) } }) var Nc = b((O0, $i) => { var Ac = Bc() $i.exports = vo() $i.exports.Server = Ac.Server $i.exports.createServer = Ac.createServer }) var Lc = b((k0, Mc) => { var tm = Nc() function rm(e, t) { return tm(t.url, ['mqttv3.1'], t.websocketOptions) } Mc.exports = rm }) var Gi = b((R0, Or) => { var im = require('events'), nm = require('util').inherits, sm = Wl(), Tr = Kl(), qc = Is(), Oe = Ql(), R = cr(), om = tu(), am = require('path'), fm = require('fs') function Cr(e) { return e > 9 ? e : '0' + e } function lm() { var e = new Date() return ( e.getUTCFullYear() + '' + Cr(e.getUTCMonth() + 1) + Cr(e.getUTCDate()) + 'T' + Cr(e.getUTCHours()) + Cr(e.getUTCMinutes()) + Cr(e.getUTCSeconds()) + 'Z' ) } function um(e) { return e.substring(0, e.indexOf('T')) } function cm(e, t, r, i) { var n = Tr(t, 'AWS4' + e, { asBytes: !0 }), s = Tr(r, n, { asBytes: !0 }), o = Tr(i, s, { asBytes: !0 }), f = Tr('aws4_request', o, { asBytes: !0 }) return f } function hm(e, t, r, i, n, s, o, f, a, l, u, h, c, d) { var _ = 'host', v = 'host:' + r.toLowerCase() + ` `, m = e + ` ` + i + ` ` + n + ` ` + v + ` ` + _ + ` ` + qc(l, { asBytes: !0 }) c === !0 && console.log( 'canonical request: ' + m + ` `, ) var p = qc(m, { asBytes: !0 }) c === !0 && console.log( 'hashed canonical request: ' + p + ` `, ) var g = `AWS4-HMAC-SHA256 ` + h + ` ` + u + '/' + f + '/' + a + `/aws4_request ` + p c === !0 && console.log( 'string to sign: ' + g + ` `, ) var S = cm(o, u, f, a) c === !0 && console.log( 'signing key: ' + S + ` `, ) var x = Tr(g, S, { asBytes: !0 }) c === !0 && console.log( 'signature: ' + x + ` `, ) var C = n + '&X-Amz-Signature=' + x R(d) || (C += '&X-Amz-Security-Token=' + encodeURIComponent(d)) var w = t + r + i + '?' + C return ( c === !0 && console.log( 'url: ' + w + ` `, ), w ) } function Dc(e, t, r, i) { var n = lm(), s = um(n), o = '/mqtt', f = 'iotdevicegateway', a = 'X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=' + t + '%2F' + s + '%2F' + e.region + '%2F' + f + '%2Faws4_request&X-Amz-Date=' + n + '&X-Amz-SignedHeaders=host', l = e.host return ( !R(e.port) && e.port !== 443 && (l = e.host + ':' + e.port), hm('GET', 'wss://', l, o, a, t, r, e.region, f, '', s, n, e.debug, i) ) } function Uc(e) { var t = '/mqtt', r = e.host return ( !R(e.port) && e.port !== 443 && (r = e.host + ':' + e.port), 'wss://' + r + t + (e.customAuthQueryString || '') ) } function dm(e, t) { for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.call(this, e[r], parseInt(r, 10)) } function pm(e) { var t = {}, r = {} return ( dm(e.split(/\r?\n/), function (i) { i = i.split(/(^|\s)[;#]/)[0] var n = i.match(/^\s*\[([^\[\]]+)\]\s*$/) if (n) r = n[1] else if (r) { var s = i.match(/^\s*(.+?)\s*=\s*(.+?)\s*$/) s && ((t[r] = t[r] || {}), (t[r][s[1]] = s[2])) } }), t ) } function Ir(e) { if (!(this instanceof Ir)) return new Ir(e) var t = this, r = [], i = !0, n = 0, s = 'oldest' r.length = 0 var o = [], f = 50 o.length = 0 var a = [], l = !0 a.length = 0 var u = [] u.length = 0 var h = 'inactive', c = null, d = 250, _ = 300, v = 1e3, m = 2e4, p = 128e3, g, S = null, x, C, w, B = '?SDK=JavaScript&Version=', M = ru(), H = M.version, rt = B + H if (R(e) || Object.keys(e).length === 0) throw new Error(Oe.INVALID_CONNECT_OPTIONS) if ( (R(e.keepalive) && (e.keepalive = _), (R(e.enableMetrics) || e.enableMetrics === !0) && (R(e.username) ? (e.username = rt) : (e.username += rt)), R(e.baseReconnectTimeMs) || (v = e.baseReconnectTimeMs), R(e.minimumConnectionTimeMs) || (m = e.minimumConnectionTimeMs), R(e.maximumReconnectTimeMs) || (p = e.maximumReconnectTimeMs), R(e.drainTimeMs) || (d = e.drainTimeMs), R(e.autoResubscribe) || (l = e.autoResubscribe), R(e.offlineQueueing) || (i = e.offlineQueueing), R(e.offlineQueueMaxSize) || (n = e.offlineQueueMaxSize), R(e.offlineQueueDropBehavior) || (s = e.offlineQueueDropBehavior), (g = v), (e.reconnectPeriod = g), (e.fastDisconnectDetection = !0), (e.resubscribe = !1), e.baseReconnectTimeMs <= 0) ) throw new Error(Oe.INVALID_RECONNECT_TIMING) if (p < v) throw new Error(Oe.INVALID_RECONNECT_TIMING) if (m < v) throw new Error(Oe.INVALID_RECONNECT_TIMING) if (s !== 'newest' && s !== 'oldest') throw new Error(Oe.INVALID_OFFLINE_QUEUEING_PARAMETERS) if (n < 0) throw new Error(Oe.INVALID_OFFLINE_QUEUEING_PARAMETERS) if ((R(e.protocol) && (e.protocol = 'mqtts'), R(e.host))) throw new Error(Oe.INVALID_CONNECT_OPTIONS) if ( (R(e.servername) && (e.servername = e.host.split(':')[0]), e.protocol === 'mqtts') ) R(e.port) && (e.port = 8883), om(e) else if (e.protocol === 'wss' || e.protocol === 'wss-custom-auth') { if (e.protocol === 'wss') { if ( (R(e.accessKeyId) ? (x = process.env.AWS_ACCESS_KEY_ID) : (x = e.accessKeyId), R(e.secretKey) ? (C = process.env.AWS_SECRET_ACCESS_KEY) : (C = e.secretKey), R(e.sessionToken) ? (w = process.env.AWS_SESSION_TOKEN) : (w = e.sessionToken), R(x) || R(C)) ) { var Se, Rr = e.profile || process.env.AWS_PROFILE || 'default' try { R(e.filename) ? (Se = Qc()) : (Se = e.filename) var Qi = pm(fm.readFileSync(Se, 'utf-8')), Ut = Qi[Rr] ;(x = Ut.aws_access_key_id), (C = Ut.aws_secret_access_key), (w = Ut.aws_session_token) } catch (T) { console.log(T), console.log( 'Failed to read credentials for AWS_PROFILE ' + Rr + ' from ' + Se, ) } } if (R(x) || R(C)) throw ( (console.log( 'To connect via WebSocket/SigV4, AWS Access Key ID and AWS Secret Key must be passed either in options or as environment variables; see README.md', ), new Error(Oe.INVALID_CONNECT_OPTIONS)) ) } else if (R(e.customAuthHeaders) && R(e.customAuthQueryString)) throw ( (console.log( 'To authenticate with a custom authorizer, you must provide the required HTTP headers or queryString; see README.md', ), new Error(Oe.INVALID_CONNECT_OPTIONS)) ) if (!R(e.host) && R(e.region)) { var Pr = /[a-zA-Z0-9]+\.iot\.([a-z]+-[a-z]+-[0-9]+)\.amazonaws\..+/, Br = Pr.exec(e.host) if (Br === null) throw ( (console.log('Host endpoint is not valid'), new Error(Oe.INVALID_CONNECT_OPTIONS)) ) e.region = Br[1] } R(e.port) && (e.port = 443), R(e.websocketOptions) ? (e.websocketOptions = { protocol: 'mqttv3.1' }) : (e.websocketOptions.protocol = 'mqttv3.1'), e.protocol === 'wss-custom-auth' && (e.websocketOptions.headers = e.customAuthHeaders) } !R(e) && e.debug === !0 && (console.log(e), console.log('attempting new mqtt connection...')) var Ji = {} ;(Ji.mqtts = nu()), (Ji.wss = Lc()) function Qc() { var T = process.env.HOME || process.env.USERPROFILE || (process.env.HOMEPATH ? (process.env.HOMEDRIVE || 'C:/') + process.env.HOMEPATH : null) return am.join(T, '.aws', 'credentials') } function Jc(T, O) { var U = a.filter(function (ce) { return ce.topic === T }) U.length === 0 && a.push({ topic: T, options: O }) } function Xc(T, O) { var U = a.filter(function (ce) { return ce.topic !== T }) a = U } function Xi(T, O, U) { var ce = null l !== !1 && (T === 'subscribe' ? (ce = Jc) : T === 'unsubscribe' && (ce = Xc), Object.prototype.toString.call(O) === '[object Array]' ? O.forEach(function (ih, Om, km) { ce(ih, U) }) : ce(O, U)) } function Ar() { return h === 'inactive' } function Zc(T) { var O = e.protocol if (O === 'wss') { var U x === '' || C === '' ? (U = 'wss://no-credentials-available') : (U = Dc(e, x, C, w)), e.debug === !0 && console.log("using websockets, will connect to '" + U + "'..."), (e.url = U) } else O === 'wss-custom-auth' && ((e.url = Uc(e)), e.debug === !0 && console.log( "using websockets custom auth, will connect to '" + e.url + "'...", ), (O = 'wss')) return Ji[O](T, e) } var D = new sm.MqttClient(Zc, e) function eh() { ;(g = v), (D.options.reconnectPeriod = g), (S = null), (h = 'stable') } function th() { var T = !0 return ( n > 0 && r.length >= n && (s === 'oldest' ? r.shift() : (T = !1)), T ) } function rh() { var T = u.shift() if (!R(T)) R(T.callback) ? D.subscribe(T.topic, T.options) : D.subscribe(T.topic, T.options, T.callback) else { var O = o.shift() if (!R(O)) Xi(O.type, O.topics, O.options), O.type === 'subscribe' ? R(O.callback) ? D.subscribe(O.topics, O.options) : D.subscribe(O.topics, O.options, O.callback) : O.type === 'unsubscribe' && D.unsubscribe(O.topics, O.callback) else { var U = r.shift() R(U) || D.publish(U.topic, U.message, U.options, U.callback), r.length === 0 && (clearInterval(c), (c = null)) } } } D.on('connect', function (T) { S === null && (S = setTimeout(eh, m)), (h = 'established'), c === null && ((u = a.slice(0)), (c = setInterval(rh, d))), t.emit('connect', T) }), D.on('close', function (T) { R(T) || t.emit('error', T), !R(e) && e.debug === !0 && console.log( 'connection lost - will attempt reconnection in ' + D.options.reconnectPeriod / 1e3 + ' seconds...', ), clearTimeout(S), (S = null), clearInterval(c), (c = null), (h = 'inactive'), t.emit('close') }), D.on('reconnect', function () { ;(g = g * 2), (g = Math.min(p, g)), (D.options.reconnectPeriod = g), t.emit('reconnect') }), D.on('end', function () { t.emit('end') }), D.on('offline', function () { t.emit('offline') }), D.on('error', function (T) { t.emit('error', T) }), D.on('packetsend', function (T) { t.emit('packetsend', T) }), D.on('packetreceive', function (T) { t.emit('packetreceive', T) }), D.on('message', function (T, O, U) { t.emit('message', T, O, U) }), (this.publish = function (T, O, U, ce) { i === !0 && (Ar() || c !== null) ? th() && r.push({ topic: T, message: O, options: U, callback: ce }) : (i === !0 || !Ar()) && D.publish(T, O, U, ce) }), (this.subscribe = function (T, O, U) { !Ar() || l === !1 ? (Xi('subscribe', T, O), R(U) ? D.subscribe(T, O) : D.subscribe(T, O, U)) : o.length < f ? o.push({ type: 'subscribe', topics: T, options: O, callback: U }) : t.emit( 'error', new Error('Maximum queued offline subscription reached'), ) }), (this.unsubscribe = function (T, O) { !Ar() || l === !1 ? (Xi('unsubscribe', T), D.unsubscribe(T, O)) : o.length < f && o.push({ type: 'unsubscribe', topics: T, options: e, callback: O }) }), (this.end = function (T, O) { D.end(T, O) }), (this.handleMessage = D.handleMessage.bind(D)), (D.handleMessage = function (T, O) { t.handleMessage(T, O) }), (this.updateWebSocketCredentials = function (T, O, U, ce) { ;(x = T), (C = O), (w = U) }), (this.getWebsocketHeaders = function () { return e.websocketOptions.headers }), (this.updateCustomAuthHeaders = function (T) { e.websocketOptions.headers = T }), (this.simulateNetworkFailure = function () { D.stream.emit('error', new Error('simulated connection error')), D.stream.end() }) } nm(Ir, im.EventEmitter) Or.exports = Ir Or.exports.DeviceClient = Ir Or.exports.prepareWebSocketUrl = Dc Or.exports.prepareWebSocketCustomAuthUrl = Uc }) var Vc = b((P0, Wc) => { var Fc = require('events'), _m = require('util').inherits, gm = Gi(), q = cr() function jc(e, t, r) { return q(r) ? '$aws/things/' + e + '/shadow/' + t : '$aws/things/' + e + '/shadow/' + t + '/' + r } function bm(e, t) { var r = !1 return ( e[0] === '$aws' && e[1] === 'things' && e[3] === 'shadow' && (e[4] === 'update' || e[4] === 'get' || e[4] === 'delete') && (t === 'subscribe' ? (e[5] === 'accepted' || e[5] === 'rejected' || e[5] === 'delta') && e.length === 6 && (r = !0) : e.length === 5 && (r = !0)), r ) } function zi(e, t) { if (!(this instanceof zi)) return new zi(e, t) var r = this, i = [{}], n = 0, s = 1e4, o = !0, f = gm.DeviceClient(e) q(t) || q(t.operationTimeout) || (s = t.operationTimeout), (this._handleSubscriptions = function (a, l, u, h) { for (var c = [], d = 0, _ = l.length; d < _; d++) for (var v = 0, m = l[d].operations.length; v < m; v++) for (var p = 0, g = l[d].statii.length; p < g; p++) c.push(jc(a, l[d].operations[v], l[d].statii[p])) i[a].debug === !0 && console.log(u + ' on ' + c) var S = [] S.push(c), u === 'subscribe' ? (S.push({ qos: i[a].qos }), S.push(function (x, C) { if (!q(h)) { if (x) { h(x) return } for (var w = [], B = 0, M = C.length; B < M; B++) C[B].qos === 128 && w.push(C[B]) if (w.length > 0) { h('Not all subscriptions were granted', w) return } h() } })) : q(h) || S.push(h), f[u].apply(f, S) }), (this._handleMessages = function (a, l, u, h) { var c = {} try { c = JSON.parse(h.toString()) } catch (v) { e.debug === !0 && console.error("failed parsing JSON '" + h.toString() + "', " + v) return } var d = c.clientToken, _ = c.version if ((delete c.clientToken, !q(_) && u !== 'rejected')) { if (q(i[a].version) || _ >= i[a].version) i[a].version = _ else if (l !== 'delete' && i[a].discardStale === !0) { e.debug === !0 && console.warn( "out-of-date version '" + _ + "' on '" + a + "' (local version '" + i[a].version + "')", ) return } } if (u === 'delta') { this.emit('delta', a, c) return } if (q(i[a].clientToken) || i[a].clientToken !== d) { u === 'accepted' && l !== 'get' && this.emit('foreignStateChange', a, l, c) return } clearTimeout(i[a].timeout), delete i[a].timeout, delete i[a].clientToken, (i[a].pending = !1), i[a].persistentSubscribe === !1 && this._handleSubscriptions( a, [{ operations: [l], statii: ['accepted', 'rejected'] }], 'unsubscribe', ), this.emit('status', a, u, d, c) }), f.on('connect', function () { r.emit('connect') }), f.on('close', function () { r.emit('close') }), f.on('reconnect', function () { r.emit('reconnect') }), f.on('offline', function () { r.emit('offline') }), f.on('error', function (a) { r.emit('error', a) }), f.on('packetsend', function (a) { r.emit('packetsend', a) }), f.on('packetreceive', function (a) { r.emit('packetreceive', a) }), f.on('message', function (a, l) { if (o === !0) { var u = a.split('/') bm(u, 'subscribe') ? i.hasOwnProperty(u[2]) && r._handleMessages(u[2], u[4], u[5], l) : r.emit('message', a, l) } }), (this._thingOperation = function (a, l, u) { var h = null if (i.hasOwnProperty(a)) if (i[a].pending === !1) { i[a].pending = !0 var c if (q(u.clientToken)) { var d = e.clientId.length d > 48 ? (c = e.clientId.substr(d - 48) + '-' + n++) : (c = e.clientId + '-' + n++) } else c = u.clientToken i[a].clientToken = c var _ = jc(a, l) ;(i[a].timeout = setTimeout( function (v, m) { i[v].persistentSubscribe === !1 && r._handleSubscriptions( v, [{ operations: [l], statii: ['accepted', 'rejected'] }], 'unsubscribe', ), (i[v].pending = !1), delete i[v].timeout, delete i[v].clientToken, r.emit('timeout', v, m) }, s, a, c, )), i[a].persistentSubscribe === !1 ? this._handleSubscriptions( a, [{ operations: [l], statii: ['accepted', 'rejected'] }], 'subscribe', function (v, m) { if (!q(v) || !q(m)) { console.warn( 'failed subscription to accepted/rejected topics', ) return } q(u) || (!q(i[a].version) && i[a].enableVersioning && (u.version = i[a].version), (u.clientToken = c), f.publish(_, JSON.stringify(u), { qos: i[a].qos }), !q(i[a]) && i[a].debug === !0 && console.log( "publishing '" + JSON.stringify(u) + " on '" + _ + "'", )) }, ) : (!q(i[a].version) && i[a].enableVersioning && (u.version = i[a].version), (u.clientToken = c), f.publish(_, JSON.stringify(u), { qos: i[a].qos }), i[a].debug === !0 && console.log( "publishing '" + JSON.stringify(u) + " on '" + _ + "'", )), (h = c) } else e.debug === !0 && console.error(l + ' still in progress on thing: ', a) else e.debug === !0 && console.error('attempting to ' + l + ' unknown thing: ', a) return h }), (this.register = function (a, l, u) { if (i.hasOwnProperty(a)) e.debug === !0 && console.error('thing already registered: ', a) else { var h = !1, c = [] ;(i[a] = { persistentSubscribe: !0, debug: !1, discardStale: !0, enableVersioning: !0, qos: 0, pending: !0, }), typeof l == 'function' && ((u = l), (l = null)), q(l) || (q(l.ignoreDeltas) || (h = l.ignoreDeltas), q(l.persistentSubscribe) || (i[a].persistentSubscribe = l.persistentSubscribe), q(l.debug) || (i[a].debug = l.debug), q(l.discardStale) || (i[a].discardStale = l.discardStale), q(l.enableVersioning) || (i[a].enableVersioning = l.enableVersioning), q(l.qos) || (i[a].qos = l.qos)), h === !1 && c.push({ operations: ['update'], statii: ['delta'] }), i[a].persistentSubscribe === !0 && c.push({ operations: ['update', 'get', 'delete'], statii: ['accepted', 'rejected'], }), c.length > 0 ? this._handleSubscriptions(a, c, 'subscribe', function (d, _) { q(d) && q(_) && (i[a].pending = !1), q(u) || u(d, _) }) : ((i[a].pending = !1), q(u) || u()) } }), (this.unregister = function (a) { if (i.hasOwnProperty(a)) { var l = [] l.push({ operations: ['update'], statii: ['delta'] }), i[a].persistentSubscribe === !0 && l.push({ operations: ['update', 'get', 'delete'], statii: ['accepted', 'rejected'], }), this._handleSubscriptions(a, l, 'unsubscribe'), q(i[a].timeout) || clearTimeout(i[a].timeout), delete i[a] } else e.debug === !0 && console.error('attempting to unregister unknown thing: ', a) }), (this.update = function (a, l) { var u = null return ( q(l.version) ? (u = r._thingOperation(a, 'update', l)) : console.error("message can't contain 'version' property"), u ) }), (this.get = function (a, l) { var u = {} return q(l) || (u.clientToken = l), r._thingOperation(a, 'get', u) }), (this.delete = function (a, l) { var u = {} return q(l) || (u.clientToken = l), r._thingOperation(a, 'delete', u) }), (this.publish = function (a, l, u, h) { f.publish(a, l, u, h) }), (this.subscribe = function (a, l, u) { var h = [] typeof a == 'string' ? h.push(a) : typeof a == 'object' && a.length && (h = a), f.subscribe(h, l, u) }), (this.unsubscribe = function (a, l) { var u = [] typeof a == 'string' ? u.push(a) : typeof a == 'object' && a.length && (u = a), f.unsubscribe(u, l) }), (this.end = function (a, l) { f.end(a, l) }), (this.updateWebSocketCredentials = function (a, l, u, h) { f.updateWebSocketCredentials(a, l, u, h) }), (this.updateCustomAuthHeaders = function (a) { f.updateCustomAuthHeaders(a) }), (this.setConnectionStatus = function (a) { o = a }), Fc.EventEmitter.call(this) } _m(zi, Fc.EventEmitter) Wc.exports = zi }) var $c = b((B0, Hc) => { var ym = require('events'), vm = require('util').inherits, mm = Gi(), F = cr() function wm(e) { return e[0] === '$aws' && e[1] === 'things' && e[3] === 'jobs' } function Dt(e, t, r) { var i = '$aws/things/' + e + '/jobs/' return F(r) ? (r = t) : (i += t.toString() + '/'), (i += r), i } function Ki(e) { if (!(this instanceof Ki)) return new Ki(e) var t = this, r = [], i = mm.DeviceClient(e) ;(this._updateJobStatus = function (n, s, o, f, a) { typeof f == 'function' && ((a = f), (f = void 0)), !F(e) && e.debug === !0 && console.log('updateJobStatus:', { thingName: n, jobId: s.id, status: o, statusDetails: f, }), i.publish( Dt(n, s.id, 'update'), JSON.stringify({ status: o, statusDetails: f }), null, function (l) { F(l) && (s.status = { status: o, statusDetails: f }), F(a) || a(l) }, ) }), (this._buildJobObject = function (n, s) { if (F(s) || F(s.jobId)) return null var o = {} return ( (o.id = s.jobId), (o.document = s.jobDocument), (o.operation = o.document.operation), (o.status = { status: s.status, statusDetails: s.statusDetails }), (o.inProgress = function (f, a) { t._updateJobStatus(n, o, 'IN_PROGRESS', f, a) }), (o.failed = function (f, a) { t._updateJobStatus(n, o, 'FAILED', f, a) }), (o.succeeded = function (f, a) { t._updateJobStatus(n, o, 'SUCCEEDED', f, a) }), o ) }), (this._handleMessages = function (n, s) { var o = n.split('/') if (!wm(o)) { t.emit('message', n, s) return } var f = o[2], a = r.find(function (c) { return c.thingName === f }) if (!F(a)) { var l = {} try { l = JSON.parse(s.toString()) } catch (c) { e.debug === !0 && console.error("failed parsing JSON '" + s.toString() + "', " + c) return } if ( !( F(l.execution) || F(l.execution.jobId) || F(l.execution.jobDocument) ) ) { var u = l.execution.jobDocument.operation, h = a.operations.find(function (c) { return F(u) ? F(c.operationName) : u === c.operationName }) ;(F(h) && ((h = a.operations.find(function (c) { return F(c.operationName) })), F(h))) || h.callback(null, t._buildJobObject(f, l.execution)) } } }), (this.subscribeToJobs = function (n, s, o) { F(o) && ((o = s), (s = null)), !F(e) && e.debug === !0 && console.log('subscribeToJobs:', { thingName: n, operationName: s }) var f = r.find(function (l) { return l.thingName === n }) F(f) && ((f = { thingName: n, operations: [] }), r.push(f), i.subscribe( [Dt(n, '$next/get/accepted'), Dt(n, 'notify-next')], function (l, u) { F(l) || o(l) }, )) var a = f.operations.find(function (l) { return F(s) ? F(l.operationName) : s === l.operationName }) F(a) ? ((a = { operationName: s, callback: o }), f.operations.push(a)) : (a.callback = o) }), (this.unsubscribeFromJobs = function (n, s, o) { F(o) && ((o = s), (s = null)), !F(e) && e.debug === !0 && console.log('unsubscribeFromJobs:', { thingName: n, operationName: s, }) var f = r.findIndex(function (u) { return u.thingName === n }), a = new Error('subscription not found for given thing') if (f < 0) { o(a) return } var l = r[f].operations.findIndex(function (u) { return F(s) ? F(u.operationName) : s === u.operationName }) if (l < 0) { o(a) return } if ((r[f].operations.splice(l, 1), r[f].operations.length === 0)) { r.splice(f, 1), i.unsubscribe( [Dt(n, '$next/get/accepted'), Dt(n, 'notify-next')], o, ) return } o() }), (this.startJobNotifications = function (n, s) { !F(e) && e.debug === !0 && console.log('startJobNotifications:', { thingName: n }), i.publish(Dt(n, '$next', 'get'), '{}', s) }), i.on('connect', function () { t.emit('connect') }), i.on('close', function () { t.emit('close') }), i.on('reconnect', function () { t.emit('reconnect') }), i.on('offline', function () { t.emit('offline') }), i.on('error', function (n) { t.emit('error', n) }), i.on('message', t._handleMessages), (this.publish = i.publish), (this.subscribe = i.subscribe), (this.unsubscribe = i.unsubscribe), (this.end = i.end), (this.handleMessage = i.handleMessage), (this.updateWebSocketCredentials = i.updateWebSocketCredentials), (this.simulateNetworkFailure = i.simulateNetworkFailure) } vm(Ki, ym.EventEmitter) Hc.exports = Ki }) var Gc = b((A0, Yi) => { Yi.exports.device = Gi() Yi.exports.thingShadow = Vc() Yi.exports.jobs = $c() }) var Im = {} lh(Im, { handler: () => Tm }) module.exports = ch(Im) var zc = uh(Gc(), 1), Sm = ['PATH', 'NODE_PATH', 'LD_LIBRARY_PATH', 'PWD', 'SHLVL'], Em = Object.fromEntries( Object.entries(process.env).filter(([e]) => !Sm.includes(e)), ), wo = (e) => { let t = process.env.AWS_REGION, r = process.env.SLS_SERVICE, i = process.env.SLS_STAGE, n = `sls/${t}/${r}/${i}` return e && (n += `/${e}`), n }, vt = { request: wo(`${process.env.SLS_FUNCTION}/request`), response: wo(`${process.env.SLS_FUNCTION}/response`), heartbeat: wo('_heartbeat'), }, kr = new Map(), mt = new zc.default.device({ protocol: 'wss', host: process.env.SLS_IOT_ENDPOINT, }) mt.on('connect', () => { console.log('Successfully connected to AWS IoT') }) mt.on('close', (...e) => { console.log('AWS IoT connection closed'), console.log(e) }) mt.on('error', (...e) => { console.error('AWS IoT connection error occurred'), console.error(e) }) mt.on('message', async (e, t) => { let r = JSON.parse(t?.toString() || '{}') console.log('Received message from AWS IoT:'), console.log(e), e === vt.heartbeat && kr.set(vt.heartbeat, !0), e === vt.response && r.requestId && kr.set(r.requestId, r) }) mt.subscribe(vt.heartbeat, { qos: 1 }) mt.subscribe(vt.response, { qos: 1 }) var So = (e = 1e3) => new Promise((t) => { setTimeout(() => t(), e) }), Kc = async () => (await Promise.race([Yc(vt.heartbeat), So(2e3)])) ? (await So(2e3), await Kc()) : "Dev Mode Disconnected: This AWS Lambda function is instrumented with Serverless Framework's Dev Mode but the Dev Mode session is no longer active. Run `serverless dev` to reconnect, or `serverless deploy` to remove Dev Mode's instrumentation and restore the original code.", xm = async (e) => { let { response: t, error: r } = await Yc(e) if (r) { console.error( 'Error occurred during lambda invocation on the local machine:', ) let i = new Error(r.message) throw ((i.stack = r.stack), (i.name = r.name), i) } return t }, Yc = async (e) => { for (; !kr.get(e); ) await So(100) let t = kr.get(e) return kr.delete(e), t }, Cm = async (e, t) => new Promise((r, i) => { mt.publish(e, t ? JSON.stringify(t) : '{}', { qos: 1 }, (n) => { n ? (console.error( `Failed to publish message to AWS IoT: ${n.message}`, ), i(n)) : (console.log('Message successfully published to AWS IoT topic:'), console.log(e), r(t)) }) }), Tm = async (e, t) => { let { functionName: r, functionVersion: i, memoryLimitInMB: n, logGroupName: s, logStreamName: o, clientContext: f, identity: a, invokedFunctionArn: l, awsRequestId: u, callbackWaitsForEmptyEventLoop: h, } = t return ( await Cm(vt.request, { event: e, environment: Em, context: { awsRequestId: u, functionName: r, functionVersion: i, memoryLimitInMB: n, logGroupName: s, logStreamName: o, clientContext: f, identity: a, invokedFunctionArn: l, callbackWaitsForEmptyEventLoop: h, }, }), await Promise.race([xm(u), Kc()]) ) } 0 && (module.exports = { handler }) /*! Bundled license information: safe-buffer/index.js: (*! safe-buffer. MIT License. Feross Aboukhadijeh *) ws/lib/BufferUtil.js: (*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed *) ws/lib/Validation.js: (*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed *) ws/lib/ErrorCodes.js: (*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed *) ws/lib/Receiver.js: (*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed *) ws/lib/Sender.js: (*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed *) ws/lib/WebSocket.js: (*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed *) ws/lib/WebSocketServer.js: (*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed *) ws/index.js: (*! * ws: a node.js websocket client * Copyright(c) 2011 Einar Otto Stangvik * MIT Licensed *) */