function t(t,e=[]){for(e.push((t<128?0:128)|127&t);(t>>>=7)>0;)e.push((t<128?0:128)|127&t);return e}function e(t,e=0,r){let n=0,s=e,i=t[s++],o=127&i;for(;128&i;)o|=(127&(i=t[s++]))<<(n+=7);return t.length<s?[r,e,e]:[o,s,e]}const r=()=>function(t,e){for(let[r,n,s,i]of e)i={id:r,type:n,name:s,...i},t.set(r,i).set(s,i);return t}(new Map,[[1,"u8","payload_format_indicator"],[2,"u32","message_expiry_interval"],[3,"utf8","content_type"],[8,"utf8","response_topic"],[9,"bin","correlation_data"],[11,"vint","subscription_identifier"],[17,"u32","session_expiry_interval"],[18,"utf8","assigned_client_identifier"],[19,"u16","server_keep_alive"],[21,"utf8","authentication_method"],[22,"bin","authentication_data"],[23,"u8","request_problem_information"],[24,"u32","will_delay_interval"],[25,"u8","request_response_information"],[26,"utf8","response_information"],[28,"utf8","server_reference"],[31,"utf8","reason_string"],[33,"u16","receive_maximum"],[34,"u16","topic_alias_maximum"],[35,"u16","topic_alias"],[36,"u8","maximum_qos"],[37,"u8","retain_available"],[38,"pair","user_properties",{op:"kv_obj"}],[39,"u32","maximum_packet_size"],[40,"u8","wildcard_subscription_available"],[41,"u8","subscription_identifiers_available",{op:"u8_vec"}],[42,"u8","shared_subscription_available"]]),n=r();class s extends Number{constructor(t,e){super(t),this.reason=`:${(this.ok=t<128)?"ok":"fail"}:${e}`}}class i{static for(t,e){return(new this).of(e,{pkt:t})}of(t,e){let r=(t,e)=>(e=0|r.k,r.k=e+t,e);return{__proto__:this,buf:t,step:r,...e}}has_more(){return this.buf.byteLength>(0|this.step.k)}u8(){return this.buf[this.step(1)]}u16(){let{buf:t,step:e}=this,r=e(2);return t[r]<<8|t[r+1]}u32(){let{buf:t,step:e}=this,r=e(4);return t[r]<<24|t[r+1]<<16|t[r+2]<<8|t[r+3]}vint(){let{buf:t,step:r}=this,[n,s,i]=e(t,0|r.k);return r(s-i),n}bin(){let{buf:t,step:e}=this,r=e(2),n=t[r]<<8|t[r+1];return r=e(n),t.subarray(r,r+n)}utf8(){return new TextDecoder("utf-8").decode(this.bin())}pair(){return[this.utf8(),this.utf8()]}flags(t){return new t(this.buf[this.step(1)])}reason(t){let e=this.buf[this.step(1)];if(null!=e)return new s(e,this._reason_for?.(e,t))}flush(){let{buf:t,step:e}=this;return this.step=this.buf=null,t.subarray(0|e.k)}}function o(t,e){for(let[t,r]of Object.entries(e))e[t]=new Map(r);return class extends t{_reason_for(t,r){return e[r]?.get(t)||e.all.get(t)}warn(t){let e=this.pkt;e.warn?e.warn(t,e):console.warn("[u8-mqtt-packet] "+t)}}}const u={connack:[[1,"conn refused: unacceptable protocol version"],[2,"conn refused: identifier rejected"],[3,"conn refused: server unavailable"],[4,"conn refused: bad user name or password"],[5,"conn refused: not authorized"]],suback:[[0,"qos=0"],[1,"qos=1"],[2,"qos=2"]],unsuback:[[17,"no subscription existed"]],puback:[[16,"no matching subscribers"]],all:[[0,""],[128,"unspecified error"],[131,"implementation specific error"],[135,"not authorized"],[143,"topic filter invalid"],[145,"packet identifier in use"],[146,"packet identifier not found"]]},a=o(class extends i{props(){let{buf:t,step:r}=this,[s,i,o]=e(t,0|r.k,0);if(r(s+i-o),0===s)return null;let u={},a=this.of(t.subarray(i,0|r.k));for(;a.has_more();){let t,e=a.u8(),r=n.get(e);if(!r){u._unknown_=e,this.warn?.(`unknown property: ${e}`);break}t=a[r.type](),u[r.name]=r.op?a[r.op](u[r.name],t):t}return u}kv_obj(t=Object.create(null),[e,r]){return t[e]=r,t}u8_vec(t=[],e){return t.push(e),t}},{...u,auth:[[24,"continue authentication"],[25,"re-authenticate"]],disconnect:[[4,"disconnect with will message"]],all:[...u.all,[129,"malformed packet"],[130,"protocol error"],[132,"unsupported protocol version"],[133,"client identifier not valid"],[134,"bad user name or password"],[136,"server unavailable"],[137,"server busy"],[138,"banned"],[139,"server shutting down"],[140,"bad authentication method"],[141,"keep alive timeout"],[142,"session taken over"],[144,"topic name invalid"],[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"]]});class p{static for(t){return(new this).of()}of(){return{__proto__:this,$:[]}}static init(){return this}as_pkt(t){return this.pack([t])}push(...t){this.$.push(...t)}pack(e){let r,n,s=0,i=this.$;for(r of(this.$=!1,i))s+=r.length;n=(e=t(s,e)).length;let o=new Uint8Array(n+s);for(r of(o.set(e,0),i))o.set(r,n),n+=r.length;return o}u8(t){this.push([255&t])}u16(t){this.push([t>>>8&255,255&t])}u32(t){this.push([t>>>24&255,t>>>16&255,t>>>8&255,255&t])}vint(e){this.push(t(e))}bin(t){return t?"string"==typeof t?this.utf8(t):(t.length!==t.byteLength&&(t=new Uint8Array(t)),this.u16(t.byteLength),void this.push(t)):this.u16(0)}utf8(t){let e=new TextEncoder("utf-8").encode(t);this.u16(e.byteLength),this.push(e)}pair(t,e){this.utf8(t),this.utf8(e)}flags(t,e,r=0){return void 0!==t&&isNaN(+t)&&(t=e(t,0)),t|=r,this.push([t]),t}reason(t){this.push([0|t])}flush(t){null!=t&&this.push("string"==typeof t?new TextEncoder("utf-8").encode(t):t),this.push=!1}}const c={decode_fns:[function(t,e){class r extends Number{get session_present(){return!0&this}}return t[2]=(t,n)=>{let s=e.for(t,n);return t.flags=s.flags(r),t.reason=s.reason(t.type),5<=t.mqtt_level&&(t.props=s.props()),t}},function(t,e){return t[3]=(t,r)=>{let{hdr:n}=t;t.dup=Boolean(8&n),t.retain=Boolean(1&n);let s=t.qos=n>>1&3,i=e.for(t,r);return t.topic=i.utf8(),0!==s&&(t.pkt_id=i.u16()),5<=t.mqtt_level&&(t.props=i.props()),t.payload=i.flush(),t}},function(t,e){return t[4]=(t,r)=>{let n=e.for(t,r);return t.pkt_id=n.u16(),5<=t.mqtt_level&&(t.reason=n.reason(t.type),t.props=n.props()),t}},function(t,e){return t[9]=t[11]=(t,r)=>{let n=e.for(t,r);t.pkt_id=n.u16(),5<=t.mqtt_level&&(t.props=n.props());let s=t.answers=[];for(;n.has_more();)s.push(n.reason(t.type));return t}},function(t){return t[12]=t[13]=t=>t},function(t,e){return t[14]=(t,r)=>{if(r&&5<=t.mqtt_level){let n=e.for(t,r);t.reason=n.reason(t.type),t.props=n.props()}return t}},function(t,e){return t[15]=(t,r)=>{if(5<=t.mqtt_level){let n=e.of(r);t.reason=n.reason(t.type),t.props=n.props()}return t}}],mqtt_reader:a,encode_fns:[function(t,e){const r=new Uint8Array([0,4,77,81,84,84]),n=t=>(t.reserved?1:0)|(3&t.will_qos)<<3|(t.clean_start?2:0)|(t.will_flag?4:0)|(t.will_retain?32:0)|(t.password?64:0)|(t.username?128:0);return t.connect=(t,s)=>{let i=e.for(s);i.push(r),i.u8(t);let{will:o,username:u,password:a}=s,p=i.flags(s.flags,n,(u?128:0)|(a?64:0)|(o?(t=>4|(3&t.qos)<<3|(t.retain?32:0))(o):0));return i.u16(s.keep_alive),5<=t&&i.props(s.props),i.utf8(s.client_id),4&p&&(5<=t&&i.props(o.props),i.utf8(o.topic),i.bin(o.payload)),128&p&&i.utf8(u),64&p&&i.bin(a),i.as_pkt(16)}},function(t,e){return t.puback=(t,r)=>{let n=e.for(r);return n.u16(r.pkt_id),5<=t&&(n.reason(r.reason),n.props(r.props)),n.as_pkt(64)}},function(t,e){return t.publish=(t,r)=>{let n=(3&r.qos)<<1,s=e.for(r);return s.utf8(r.topic),0!==n&&s.u16(r.pkt_id),5<=t?(s.props(r.props),s.flush(r.payload)):s.flush(r.payload),s.as_pkt(48|n|(r.dup?8:0)|(r.retain?1:0))}},function(t,e){const r=t=>3&t.qos|(t.retain?4:0)|(3&t.retain_handling)<<2;return t.subscribe=(t,n)=>{let s=e.for(n);s.u16(n.pkt_id),5<=t&&s.props(n.props);let i=r(n);for(let t of n.topics)if("string"==typeof t)s.utf8(t),s.u8(i);else{let[e,n]=Array.isArray(t)?t:[t.topic,t.opts];s.utf8(e),void 0===n?s.u8(i):s.flags(n,r)}return s.as_pkt(130)}},function(t,e){return t.unsubscribe=(t,r)=>{let n=e.for(r);n.u16(r.pkt_id),5<=t&&n.props(r.props);for(let t of r.topics)n.utf8(t);return n.as_pkt(162)}},function(t){t.pingreq=()=>new Uint8Array([192,0]),t.pingresp=()=>new Uint8Array([208,0])},function(t,e){return t.disconnect=(t,r)=>{let n=e.for(r);return r&&5<=t&&(r.reason||r.props)&&(n.reason(r.reason),n.props(r.props)),n.as_pkt(224)}},function(t,e){return t.auth=(t,r)=>{if(5>t)throw new Error("Auth packets are only available after MQTT 5.x");let n=e.of(r);return n.reason(r.reason),n.props(r.props),n.as_pkt(240)}}],mqtt_writer:class extends p{props(t){if(!t)return this.u8(0);if(Array.isArray(t)||(t=t.entries?Array.from(t.entries()):Object.entries(t)),0===t.length)return this.u8(0);let e=this.of();for(let[r,s]of t){let t=n.get(r);if(!t)throw new Error(`MQTT unknown property "${r}"`);e[t.op||"one"](s,t)}this.push(e.pack())}one(t,e){this.u8(e.id),this[e.type](t)}kv_obj(t,e){for(let r of Object.entries(t))this.u8(e.id),this.pair(r)}u8_vec(t,e){for(let r of t)this.u8(e.id),this.u8(r)}}};const l=t=>"function"==typeof t,_=t=>"string"==typeof t;const f=t=>e=>class extends e{static _aliases(){return super._aliases()+" sub_topic:subscribe_topic unsub_topic:unsubscribe_topic"}_init_router(e,r,n){this._subs=[];let s=this.router=n.router=t(e,this,n);return s?.invoke}on_sub(t,e){return t.pkt=e,this._subs.push(t),t}subs_settled(){return Promise.allSettled(this._subs.splice(0,1/0))}subscribe_topic(t,...e){let r=this.router;r.add(t,!0,e.pop());let n=r.mqtt_topic(t);return this.subscribe(n,...e),this}unsubscribe_topic(t,...e){let r=this.router,n=e.at(-1)?.call?e.pop():null;if(r.remove(t,!0,n),0!==r.count(t))return null;let s=r.mqtt_topic(t);return this.unsubscribe(s,...e)}on_topic(...t){return this.router.add(...t),this}},h=f(w),d=t=>t.replace(/[*].*$/,"#").replace(/:\w[^\/]*/g,"+"),b=(t,e)=>(e=1,t.replace(/#$/,"*").replace(/\+/g,(()=>":$"+e++)));function m(t,e,r){r.done=!0}function w(){let t=[[],[]],e=Symbol(),r=e=>function*(t,e){e=e.replace(/^[\/]*/,"/");for(let r of t.flat()){let t=r?.pattern.exec(e);if(t){let e=r.keys;if(e){let n,s=0,i={__proto__:y};for(n of e)i[n]=t[++s];yield[r.tgt,i,r]}else yield[r.tgt,t.groups??t,r]}}}(t,e);return{find:r,mqtt_topic:d,add(e,...r){let n=r.pop(),s=r.pop();if(!l(n)){if(n)throw new TypeError;n=m}let i=function(t){if(t instanceof RegExp)return{keys:!1,pattern:t};var e,r,n,s,i=[],o="",u=t.split("/");for(u[0]||u.shift();n=u.shift();)"*"===(e=n[0])?(i.push(e),o+="?"===n[1]?"(?:/(.*))?":"/(.*)"):":"===e?(r=n.indexOf("?",1),s=n.indexOf(".",1),i.push(n.substring(1,~r?r:~s?s:n.length)),o+=~r&&!~s?"(?:/([^/]+?))?":"/([^/]+?)",~s&&(o+=(~r?"?":"")+"\\"+n.substring(s))):o+="/"+n;return{keys:i,pattern:new RegExp("^"+o+"/?$","i")}}(b(e));return i.topic=e,i.tgt=n,t[s?0:1].push(i),this},remove(e,...r){let n=t;return"boolean"==typeof r[0]&&(n=[t[r.shift()?0:1]]),"string"==typeof e&&(e={topic:e,tgt:r.pop()}),g(n,e)},count(e){if(!e)return t.reduce(((t,e)=>t+e.length),0);let r=0;for(let n of t)for(let t of n)e===t.topic&&r++;return r},clear(e){null==e?t=[[],[]]:t[e?0:1]=[]},async invoke(n,s){s.idx=0,s.rm=e;for(let[i,o,u]of r(n.topic)){let r=await i(n,o,s);if(e===r&&g(t,u),s.done)break;s.idx++}1===n.qos&&await s.mqtt.puback(n)}}}const y={get wild(){return this["*"]},set wild(t){return this["*"]=wild}};function g(t,e){let r=0;for(let n of t){let t=0;for(let s of n)s.topic!==e.topic||null!=e.tgt&&s.tgt!==e.tgt?n[t++]=s:r++;n.length=t}return r}function k(t,e=0,r){let n=0,s=e,i=t[s++],o=127&i;for(;128&i;)o|=(127&(i=t[s++]))<<(n+=7);return t.length<s?[r,e,e]:[o,s,e]}function v(t){let e=new Uint8Array(0),r=0;return n=>{e=0===e.byteLength?n:function(t,e){let r=t.byteLength,n=new Uint8Array(r+e.byteLength);return n.set(t,0),n.set(e,r),n}(e,n);let s=[];for(;e.byteLength>=r;){let[n,i]=k(e,1,NaN),o=n+i;if(!(o<=e.byteLength)){r=o||0;break}let u=e[0],a=0===n?null:e.subarray(i,o);e=e.subarray(o);let p=t.decode_pkt(u,a,t);null!=p&&s.push(p)}return s}}const q=["~","connect","connack","publish","puback","pubrec","pubrel","pubcomp","subscribe","suback","unsubscribe","unsuback","pingreq","pingresp","disconnect","auth"];async function x(t,e,r,n){let s=t[`mqtt_${r.type}`]||t.mqtt_pkt;await(s?.call(t,r,n))}function j(t,e,r,n){e(r.type,r),x(t,0,r,n)}function T(t,e,r){e(r.pkt_id,r)}const E=[t=>{},x,j,x,T,T,T,T,x,T,x,T,j,j,x,j];function $(t,e){let r,n=[],s=0,{td:i=1e3,n:o=5}=t?.rotate||{},u=100,a=t=>n[0].set(r,t);return c([]),[c,function(t){_(t)?r=t:(u=u+1&65535,r=t.pkt_id=u);return new Promise(a)}];function p(t,e){for(let r of n){let n=r.get(t);if(n)return r.delete(t),n([e]),!0}return!1}function c(t,r){for(let n of t)E[n.id](e,p,n,r);let u=Date.now();if(u>s)for(s=i+u,n.unshift(new Map);n.length>o;)for(let t of n.pop().values())t([,"expired"])}}class A extends Error{constructor(t,e=t.reason){super(`[0x${e.toString(16)}] ${e.reason}`),this.mqtt_pkt=t,this.reason=e}}class S{async connect(t={}){let e=t.client_id;_(e)||(t.client_id=e=this.client_id||this.init_client_id(e)),this.client_id=e,null==t.keep_alive&&(t.keep_alive=60);let r=await this._send0("connect",t,"connack");if(0!=r[0].reason)throw new this.MQTTError(r[0]);return this.conn.on_conn(t,r)}async disconnect(t={}){let e=this._send0("disconnect",t);return await this.conn.on_dis(t,e),await e}async auth(t={}){let e=await this._send0("auth",t,"auth");if(e[0].reason)throw new this.MQTTError(e[0]);return this.conn.on_auth(t,e)}ping(){return this._send("pingreq",null,"pingresp")}puback({pkt_id:t}){return this._send("puback",{pkt_id:t})}subscribe(t,e,r){t=L(t,e,r);let n=this._send("subscribe",t,t);return this.on_sub?.(n,t)??n}unsubscribe(t,e,r){return t=L(t,e,r),this._send("unsubscribe",t,t)}post(t,e,r){return this.pub({topic:t,payload:e,qos:0},r)}send(t,e,r){return this.pub({topic:t,payload:e,qos:1},r)}store(t,e,r){return this.pub({topic:t,payload:e,qos:1,retain:1},r)}obj_post(t,e,r){return this.pub({topic:t,msg:e,arg:"msg",qos:0},r)}obj_send(t,e,r){return this.pub({topic:t,msg:e,arg:"msg",qos:1},r)}obj_store(t,e,r){return this.pub({topic:t,msg:e,arg:"msg",qos:1,retain:1},r)}async pub(t,e){if(void 0===t.payload){l(e)&&(e={fn_encode:e});let r=t.msg,n=e?.fn_encode;if(null==r||l(r))return r&&(e={...e,fn_encode:r}),r=>this.pub({...t,[t.arg||"payload"]:r},e);t.payload=n?await n(r):JSON.stringify(r)}return e&&(e.props&&(t.props=e.props),e.xform&&(t=e.xform(t)||t)),this._send("publish",t,t.qos?t:null)}_init_dispatch(t){this.constructor?._once_();let e={__proto__:t.on_mqtt_type};return e.mqtt_publish||=this._init_router?.(t,this,e),$(t,e)}static _aliases(){return" publish:pub sub:subscribe unsub:unsubscribe json_post:obj_post json_send:obj_send json_store:obj_store"}static _once_(t=this){t._once_=t=>0;var e,r,n=t.prototype;for(e of(n.MQTTError=A,t._aliases().split(/\s+/)))[e,r]=e.split(":"),n[e]=n[r]}}function L(t,e,r){if(e?.trim&&(r=e,e=null),t=t.trim?{topics:[t],...e}:t[Symbol.iterator]?{topics:[...t],...e}:e?{...t,...e}:t,r){let e=t=>t.trim?r+t:t.map(e);t.topics=t.topics.map(e)}return t}const M=t=>(t.p=new Promise(((e,r)=>{t.a=e,t.e=r})),t);function O(t,e,r){let n={set:i},s=async(...t)=>(await n.p)(...t);return i();function i(){return s!==t[e]&&(M(n).p.then(r,(t=>0)),t[e]=s),n}}function U(t,e,[r,n]){let s,i=O(e,"_send0",(t=>e.conn_emit("on_live",a.has_connected))),o=O(e,"_send",(t=>e.conn_emit("on_ready"))),u=function(t){let e;return r=>{if(e=clearInterval(e),r)return e=setInterval(t,1e3*r),e.unref?.(),!0}}((()=>e._send0("pingreq"))),a=Object.create({ping:(t=a.keep_alive)=>u(t),on_conn:(r,n)=>(a.has_connected=!0,a.keep_alive=t.keep_alive||n[0].props?.server_keep_alive||r.keep_alive,e.conn_emit("on_conn"),t.use_auth?n:a.on_auth(null,n)),on_auth:(r,n)=>(o.a(i.p),0!=t.keep_alive&&a.ping(),e.conn_emit("on_auth",!r),n),on_dis:(t,e)=>(a.reset(!1),e),reset(t){t&&i.e(t),s.e(t),a.is_set&&(delete a.is_set,a.ready=p(),e.conn_emit("on_disconnect",!1===t,t))},abort:t=>(o.e(t),a.reset(t)),async setup(t,s,o){if(a.is_set)throw new Error;a.is_set=!0,await t;let u=e.mqtt_ctx.mqtt_stream();{let t={mqtt:e};o((e=>r(u.decode(e),t)),a)}s=await s,i.a((async(t,e,r)=>{let i=void 0===r||n(r);return await s(u.encode_pkt(t,e)),i}))}});return a.ready=p(),a;async function p(){s=M({}),u(0),i.set(),o.set();try{return e._send0=await Promise.race([i.p,s.p]),e._send=await Promise.race([o.p,s.p]),!0}catch(t){return!1}}}const N={utf8(t){return new TextDecoder("utf-8").decode(t||this.payload)},json(t){return JSON.parse(this.utf8(t)||null)},text(t){return this.utf8(t)}},P={sess_stg:globalThis.sessionStorage};class Q extends S{constructor(t){t={...P,...t},super(),this.with(t),this.sess_stg=t.sess_stg,this.conn=U(t,this,this._init_dispatch(t))}with(t){for(let[e,r]of Object.entries(t))l(r)&&(this[e]=r);return this}static mqtt_ctx(t,e,r=N){let n=class extends(this){};return n.prototype.mqtt_ctx=function(t,e,r=e.pkt_ctx){let n,s=e=>({__proto__:e,get hdr(){return 15&this.b0},get id(){return this.b0>>>4},get type(){return q[this.b0>>>4]},mqtt_level:t}),i=[],o={};for(n of e.encode_fns)n(o,e.mqtt_writer);for(n of e.decode_fns)n(i,e.mqtt_reader);return{pkt_api:r,pkt_ctx:s(r),encode_pkt:(e,r)=>o[e](t,r),decode_pkt(t,e){if(t.map)return v(this)(t)[0];let r=i[t>>>4]||i[0];return r?.({__proto__:this.pkt_ctx,b0:t},e)},mqtt_stream(t=this.pkt_api){let e={__proto__:this,pkt_ctx:s(t)};return e.decode=v(e),e}}}(t,e,r),n}async conn_emit(t,e,r){this.log_conn?.(t,e,r);try{let n=this[await t];if(n)await n.call(this,this,e,r);else if(r)throw r}catch(e){this.on_error(e,t)}}on_error(t,e){console.warn("[[u8-mqtt error: %s]]",e,t)}log_conn(t,e,r){console.info("[[u8-mqtt conn: %s]]",t,e,r)}init_client_id(t=["u8-mqtt--",""]){let e,r=this.sess_stg,n=r?.getItem(e=t.join(" "));return n||(n=t.join(Math.random().toString(36).slice(2)),r?.setItem(e,n)),n}on_live(t,e){if(e)return t.connect()}on_disconnect(t,e,r){if(!e)return t.on_reconnect?.()}_use_conn(t){return(this.reconnect=t)?.()}with_autoreconnect(t=2e3){return t.toFixed&&(t={delay:t}),this.with({on_reconnect(){this.delay(t.delay||2e3,t.jitter).then(this.reconnect).then(t.reconnect,t.error)}})}delay(t,e=.2*t){return new Promise((r=>setTimeout(r,0|t+e*Math.random())))}with_async_iter(t,e){return this.conn.setup(t,e,(async(e,r)=>{try{t=await t;for await(let r of t)e(r);r.reset()}catch(t){r.reset(t)}})),this}with_stream(t,e){return void 0===e&&(e=t),this.with_async_iter(t,(t=>e.write(t)))}with_websock(t){if(!t?.send)return t=new URL(t||"ws://127.0.0.1:9001"),this._use_conn((()=>this.with_websock(new WebSocket(t,["mqtt"]))));t.binaryType="arraybuffer";let e,r=t.readyState;if(1!==r){if(0!==r)throw new Error("WS readyState");e=new Promise((e=>t.onopen=e))}return this.conn.setup(e,(e=>t.send(e)),((e,r)=>{t.onmessage=t=>e(new Uint8Array(t.data)),t.onerror=t=>{r.reset(new Error("websocket error"))},t.onclose=t=>{if(!t.wasClean){var e=new Error("websocket close");e.code=t.code,e.reason=t.reason}r.reset(e)}})),this}}const I="0.6.7-web",z=h(Q.mqtt_ctx(4,c)),D=h(Q.mqtt_ctx(5,c)),R=t=>new z(t),B=t=>new D(t);export{S as MQTTBase,z as MQTTClient_v4,D as MQTTClient_v5,Q as MQTTCore,A as MQTTError,E as _mqtt_cmdids,U as _mqtt_conn,$ as _mqtt_dispatch,b as as_topic_path,R as default,R as mqtt_v4,B as mqtt_v5,I as version,h as with_topic_path_router,f as with_topic_router};
