UNPKG

42.3 kBJavaScriptView Raw
1let e,t,n,r,i,o,s,a,l,c,u,f,d,h,p,y,g;function b(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}var m=globalThis,w={},v={},_=m.parcelRequire83ac;null==_&&((_=function(e){if(e in w)return w[e].exports;if(e in v){var t=v[e];delete v[e];var n={id:e,exports:{}};return w[e]=n,t.call(n.exports,n,n.exports),n.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t){v[e]=t},m.parcelRequire83ac=_);var C=_.register;C("5L6jO",function(e,t){}),C("hBa25",function(e,t){b(e.exports,"StreamConnection",()=>i);var n=_("aGTqB"),r=_("brJ7I");class i extends r.DataConnection{constructor(e,t,i){super(e,t,{...i,reliable:!0}),this._CHUNK_SIZE=32768,this._splitStream=new TransformStream({transform:(e,t)=>{for(let n=0;n<e.length;n+=this._CHUNK_SIZE)t.enqueue(e.subarray(n,n+this._CHUNK_SIZE))}}),this._rawSendStream=new WritableStream({write:async(e,t)=>{let i=new Promise(e=>this.dataChannel.addEventListener("bufferedamountlow",e,{once:!0}));await (this.dataChannel.bufferedAmount<=r.DataConnection.MAX_BUFFERED_AMOUNT-e.byteLength||i);try{this.dataChannel.send(e)}catch(e){(0,n.default).error(`DC#:${this.connectionId} Error when sending:`,e),t.error(e),this.close()}}}),this.writer=this._splitStream.writable.getWriter(),this._rawReadStream=new ReadableStream({start:e=>{this.once("open",()=>{this.dataChannel.addEventListener("message",t=>{e.enqueue(t.data)})})}}),this._splitStream.readable.pipeTo(this._rawSendStream)}_initializeDataChannel(e){super._initializeDataChannel(e),this.dataChannel.binaryType="arraybuffer",this.dataChannel.bufferedAmountLowThreshold=r.DataConnection.MAX_BUFFERED_AMOUNT/2}}}),C("aGTqB",function(e,t){b(e.exports,"default",()=>i),(n=r||(r={}))[n.Disabled=0]="Disabled",n[n.Errors=1]="Errors",n[n.Warnings=2]="Warnings",n[n.All=3]="All";var n,r,i=new class{get logLevel(){return this._logLevel}set logLevel(e){this._logLevel=e}log(...e){this._logLevel>=3&&this._print(3,...e)}warn(...e){this._logLevel>=2&&this._print(2,...e)}error(...e){this._logLevel>=1&&this._print(1,...e)}setLogFunction(e){this._print=e}_print(e,...t){let n=["PeerJS: ",...t];for(let e in n)n[e]instanceof Error&&(n[e]="("+n[e].name+") "+n[e].message);e>=3?console.log(...n):e>=2?console.warn("WARNING",...n):e>=1&&console.error("ERROR",...n)}constructor(){this._logLevel=0}}}),C("brJ7I",function(e,t){b(e.exports,"DataConnection",()=>a);var n=_("aGTqB"),r=_("eEr5Q"),i=_("3pPW3"),o=_("kRc3N"),s=_("9Ek5E");class a extends o.BaseConnection{static #e=this.ID_PREFIX="dc_";static #t=this.MAX_BUFFERED_AMOUNT=8388608;get type(){return i.ConnectionType.Data}constructor(e,t,n){super(e,t,n),this.connectionId=this.options.connectionId||a.ID_PREFIX+(0,s.randomToken)(),this.label=this.options.label||this.connectionId,this.reliable=!!this.options.reliable,this._negotiator=new r.Negotiator(this),this._negotiator.startConnection(this.options._payload||{originator:!0,reliable:this.reliable})}_initializeDataChannel(e){this.dataChannel=e,this.dataChannel.onopen=()=>{(0,n.default).log(`DC#${this.connectionId} dc connection success`),this._open=!0,this.emit("open")},this.dataChannel.onmessage=e=>{(0,n.default).log(`DC#${this.connectionId} dc onmessage:`,e.data)},this.dataChannel.onclose=()=>{(0,n.default).log(`DC#${this.connectionId} dc closed for:`,this.peer),this.close()}}close(e){if(e?.flush){this.send({__peerData:{type:"close"}});return}this._negotiator&&(this._negotiator.cleanup(),this._negotiator=null),this.provider&&(this.provider._removeConnection(this),this.provider=null),this.dataChannel&&(this.dataChannel.onopen=null,this.dataChannel.onmessage=null,this.dataChannel.onclose=null,this.dataChannel=null),this.open&&(this._open=!1,super.emit("close"))}send(e,t=!1){if(!this.open){this.emitError(i.DataConnectionErrorType.NotOpenYet,"Connection is not open. You should listen for the `open` event before sending messages.");return}return this._send(e,t)}async handleMessage(e){let t=e.payload;switch(e.type){case i.ServerMessageType.Answer:await this._negotiator.handleSDP(e.type,t.sdp);break;case i.ServerMessageType.Candidate:await this._negotiator.handleCandidate(t.candidate);break;default:(0,n.default).warn("Unrecognized message type:",e.type,"from peer:",this.peer)}}}}),C("eEr5Q",function(e,t){b(e.exports,"Negotiator",()=>i);var n=_("aGTqB"),r=_("3pPW3");class i{constructor(e){this.connection=e}startConnection(e){let t=this._startPeerConnection();if(this.connection.peerConnection=t,this.connection.type===r.ConnectionType.Media&&e._stream&&this._addTracksToConnection(e._stream,t),e.originator){let n=this.connection,r={ordered:!!e.reliable},i=t.createDataChannel(n.label,r);n._initializeDataChannel(i),this._makeOffer()}else this.handleSDP("OFFER",e.sdp)}_startPeerConnection(){(0,n.default).log("Creating RTCPeerConnection.");let e=new RTCPeerConnection(this.connection.provider.options.config);return this._setupListeners(e),e}_setupListeners(e){let t=this.connection.peer,i=this.connection.connectionId,o=this.connection.type,s=this.connection.provider;(0,n.default).log("Listening for ICE candidates."),e.onicecandidate=e=>{e.candidate&&e.candidate.candidate&&((0,n.default).log(`Received ICE candidates for ${t}:`,e.candidate),s.socket.send({type:r.ServerMessageType.Candidate,payload:{candidate:e.candidate,type:o,connectionId:i},dst:t}))},e.oniceconnectionstatechange=()=>{switch(e.iceConnectionState){case"failed":(0,n.default).log("iceConnectionState is failed, closing connections to "+t),this.connection.emitError(r.BaseConnectionErrorType.NegotiationFailed,"Negotiation of connection to "+t+" failed."),this.connection.close();break;case"closed":(0,n.default).log("iceConnectionState is closed, closing connections to "+t),this.connection.emitError(r.BaseConnectionErrorType.ConnectionClosed,"Connection to "+t+" closed."),this.connection.close();break;case"disconnected":(0,n.default).log("iceConnectionState changed to disconnected on the connection with "+t);break;case"completed":e.onicecandidate=()=>{}}this.connection.emit("iceStateChanged",e.iceConnectionState)},(0,n.default).log("Listening for data channel"),e.ondatachannel=e=>{(0,n.default).log("Received data channel");let r=e.channel;s.getConnection(t,i)._initializeDataChannel(r)},(0,n.default).log("Listening for remote stream"),e.ontrack=e=>{(0,n.default).log("Received remote stream");let o=e.streams[0],a=s.getConnection(t,i);a.type===r.ConnectionType.Media&&this._addStreamToMediaConnection(o,a)}}cleanup(){(0,n.default).log("Cleaning up PeerConnection to "+this.connection.peer);let e=this.connection.peerConnection;if(!e)return;this.connection.peerConnection=null,e.onicecandidate=e.oniceconnectionstatechange=e.ondatachannel=e.ontrack=()=>{};let t="closed"!==e.signalingState,r=!1,i=this.connection.dataChannel;i&&(r=!!i.readyState&&"closed"!==i.readyState),(t||r)&&e.close()}async _makeOffer(){let e=this.connection.peerConnection,t=this.connection.provider;try{let i=await e.createOffer(this.connection.options.constraints);(0,n.default).log("Created offer."),this.connection.options.sdpTransform&&"function"==typeof this.connection.options.sdpTransform&&(i.sdp=this.connection.options.sdpTransform(i.sdp)||i.sdp);try{await e.setLocalDescription(i),(0,n.default).log("Set localDescription:",i,`for:${this.connection.peer}`);let o={sdp:i,type:this.connection.type,connectionId:this.connection.connectionId,metadata:this.connection.metadata};if(this.connection.type===r.ConnectionType.Data){let e=this.connection;o={...o,label:e.label,reliable:e.reliable,serialization:e.serialization}}t.socket.send({type:r.ServerMessageType.Offer,payload:o,dst:this.connection.peer})}catch(e){"OperationError: Failed to set local offer sdp: Called in wrong state: kHaveRemoteOffer"!=e&&(t.emitError(r.PeerErrorType.WebRTC,e),(0,n.default).log("Failed to setLocalDescription, ",e))}}catch(e){t.emitError(r.PeerErrorType.WebRTC,e),(0,n.default).log("Failed to createOffer, ",e)}}async _makeAnswer(){let e=this.connection.peerConnection,t=this.connection.provider;try{let i=await e.createAnswer();(0,n.default).log("Created answer."),this.connection.options.sdpTransform&&"function"==typeof this.connection.options.sdpTransform&&(i.sdp=this.connection.options.sdpTransform(i.sdp)||i.sdp);try{await e.setLocalDescription(i),(0,n.default).log("Set localDescription:",i,`for:${this.connection.peer}`),t.socket.send({type:r.ServerMessageType.Answer,payload:{sdp:i,type:this.connection.type,connectionId:this.connection.connectionId},dst:this.connection.peer})}catch(e){t.emitError(r.PeerErrorType.WebRTC,e),(0,n.default).log("Failed to setLocalDescription, ",e)}}catch(e){t.emitError(r.PeerErrorType.WebRTC,e),(0,n.default).log("Failed to create answer, ",e)}}async handleSDP(e,t){t=new RTCSessionDescription(t);let i=this.connection.peerConnection,o=this.connection.provider;(0,n.default).log("Setting remote description",t);try{await i.setRemoteDescription(t),(0,n.default).log(`Set remoteDescription:${e} for:${this.connection.peer}`),"OFFER"===e&&await this._makeAnswer()}catch(e){o.emitError(r.PeerErrorType.WebRTC,e),(0,n.default).log("Failed to setRemoteDescription, ",e)}}async handleCandidate(e){(0,n.default).log("handleCandidate:",e);try{await this.connection.peerConnection.addIceCandidate(e),(0,n.default).log(`Added ICE candidate for:${this.connection.peer}`)}catch(e){this.connection.provider.emitError(r.PeerErrorType.WebRTC,e),(0,n.default).log("Failed to handleCandidate, ",e)}}_addTracksToConnection(e,t){if((0,n.default).log(`add tracks from stream ${e.id} to peer connection`),!t.addTrack)return(0,n.default).error("Your browser does't support RTCPeerConnection#addTrack. Ignored.");e.getTracks().forEach(n=>{t.addTrack(n,e)})}_addStreamToMediaConnection(e,t){(0,n.default).log(`add stream ${e.id} to media connection ${t.connectionId}`),t.addStream(e)}}}),C("3pPW3",function(e,t){var n,r,i,o,s,a,l,c,u,f,d,h,p,y;b(e.exports,"ConnectionType",()=>n),b(e.exports,"PeerErrorType",()=>r),b(e.exports,"BaseConnectionErrorType",()=>i),b(e.exports,"DataConnectionErrorType",()=>o),b(e.exports,"ServerMessageType",()=>l),(c=n||(n={})).Data="data",c.Media="media",(u=r||(r={})).BrowserIncompatible="browser-incompatible",u.Disconnected="disconnected",u.InvalidID="invalid-id",u.InvalidKey="invalid-key",u.Network="network",u.PeerUnavailable="peer-unavailable",u.SslUnavailable="ssl-unavailable",u.ServerError="server-error",u.SocketError="socket-error",u.SocketClosed="socket-closed",u.UnavailableID="unavailable-id",u.WebRTC="webrtc",(f=i||(i={})).NegotiationFailed="negotiation-failed",f.ConnectionClosed="connection-closed",(d=o||(o={})).NotOpenYet="not-open-yet",d.MessageToBig="message-too-big",(h=s||(s={})).Binary="binary",h.BinaryUTF8="binary-utf8",h.JSON="json",h.None="raw",(p=a||(a={})).Message="message",p.Disconnected="disconnected",p.Error="error",p.Close="close",(y=l||(l={})).Heartbeat="HEARTBEAT",y.Candidate="CANDIDATE",y.Offer="OFFER",y.Answer="ANSWER",y.Open="OPEN",y.Error="ERROR",y.IdTaken="ID-TAKEN",y.InvalidKey="INVALID-KEY",y.Leave="LEAVE",y.Expire="EXPIRE"}),C("kRc3N",function(e,t){b(e.exports,"BaseConnection",()=>r);var n=_("8edWV");class r extends n.EventEmitterWithError{get open(){return this._open}constructor(e,t,n){super(),this.peer=e,this.provider=t,this.options=n,this._open=!1,this.metadata=n.metadata}}}),C("8edWV",function(e,t){b(e.exports,"EventEmitterWithError",()=>i);var n=_("2b5HH"),r=_("aGTqB");class i extends n.EventEmitter{emitError(e,t){(0,r.default).error("Error:",t),this.emit("error",new o(`${e}`,t))}}class o extends Error{constructor(e,t){"string"==typeof t?super(t):(super(),Object.assign(this,t)),this.type=e}}}),C("2b5HH",function(e,t){var n=Object.prototype.hasOwnProperty,r="~";function i(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function s(e,t,n,i,s){if("function"!=typeof n)throw TypeError("The listener must be a function");var a=new o(n,i||e,s),l=r?r+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new i:delete e._events[t]}function l(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1)),l.prototype.eventNames=function(){var e,t,i=[];if(0===this._eventsCount)return i;for(t in e=this._events)n.call(e,t)&&i.push(r?t.slice(1):t);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},l.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=Array(o);i<o;i++)s[i]=n[i].fn;return s},l.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},l.prototype.emit=function(e,t,n,i,o,s){var a=r?r+e:e;if(!this._events[a])return!1;var l,c,u=this._events[a],f=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),f){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,n),!0;case 4:return u.fn.call(u.context,t,n,i),!0;case 5:return u.fn.call(u.context,t,n,i,o),!0;case 6:return u.fn.call(u.context,t,n,i,o,s),!0}for(c=1,l=Array(f-1);c<f;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var d,h=u.length;for(c=0;c<h;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),f){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,n);break;case 4:u[c].fn.call(u[c].context,t,n,i);break;default:if(!l)for(d=1,l=Array(f-1);d<f;d++)l[d-1]=arguments[d];u[c].fn.apply(u[c].context,l)}}return!0},l.prototype.on=function(e,t,n){return s(this,e,t,n,!1)},l.prototype.once=function(e,t,n){return s(this,e,t,n,!0)},l.prototype.removeListener=function(e,t,n,i){var o=r?r+e:e;if(!this._events[o])return this;if(!t)return a(this,o),this;var s=this._events[o];if(s.fn)s.fn!==t||i&&!s.once||n&&s.context!==n||a(this,o);else{for(var l=0,c=[],u=s.length;l<u;l++)(s[l].fn!==t||i&&!s[l].once||n&&s[l].context!==n)&&c.push(s[l]);c.length?this._events[o]=1===c.length?c[0]:c:a(this,o)}return this},l.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&a(this,t)):(this._events=new i,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=r,l.EventEmitter=l,e.exports=l}),C("9Ek5E",function(e,t){b(e.exports,"randomToken",()=>n);let n=()=>Math.random().toString(36).slice(2)});var E=_("5L6jO"),A=E.Buffer;try{e=new TextDecoder}catch(e){}let k=0,S=[],T={},O=S,I=0,U={},M=0,x=0,R=[],D=[],B={useRecords:!1,mapsAsObjects:!0},j=!1,P=2;try{Function("")}catch(e){P=1/0}class F{constructor(e){if(e&&((e.keyMap||e._keyMap)&&!e.useRecords&&(e.useRecords=!1,e.mapsAsObjects=!0),!1===e.useRecords&&void 0===e.mapsAsObjects&&(e.mapsAsObjects=!0),e.getStructures&&(e.getShared=e.getStructures),e.getShared&&!e.structures&&((e.structures=[]).uninitialized=!0),e.keyMap))for(let[t,n]of(this.mapKey=new Map,Object.entries(e.keyMap)))this.mapKey.set(n,t);Object.assign(this,e)}decodeKey(e){return this.keyMap&&this.mapKey.get(e)||e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(e){if(!this._keyMap)return e;let t=new Map;for(let[n,r]of Object.entries(e))t.set(this._keyMap.hasOwnProperty(n)?this._keyMap[n]:n,r);return t}decodeKeys(e){if(!this._keyMap||"Map"!=e.constructor.name)return e;if(!this._mapKey)for(let[e,t]of(this._mapKey=new Map,Object.entries(this._keyMap)))this._mapKey.set(t,e);let t={};return e.forEach((e,n)=>t[W(this._mapKey.has(n)?this._mapKey.get(n):n)]=e),t}mapDecode(e,t){let n=this.decode(e);return this._keyMap&&"Array"===n.constructor.name?n.map(e=>this.decodeKeys(e)):n}decode(e,s){if(t)return ea(()=>(el(),this?this.decode(e,s):F.prototype.decode.call(B,e,s)));n=s>-1?s:e.length,k=0,I=0,x=0,i=null,O=S,o=null,t=e;try{l=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(n){if(t=null,e instanceof Uint8Array)throw n;throw Error("Source must be a Uint8Array or Buffer but was a "+(e&&"object"==typeof e?e.constructor.name:typeof e))}return this instanceof F?(U=this,a=this.sharedValues&&(this.pack?Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures?r=this.structures:(!r||r.length>0)&&(r=[])):(U=B,(!r||r.length>0)&&(r=[]),a=null),L()}decodeMultiple(e,t){let n,r=0;try{let i=e.length;j=!0;let o=this?this.decode(e,i):eu.decode(e,i);if(t){if(!1===t(o))return;for(;k<i;)if(r=k,!1===t(L()))return}else{for(n=[o];k<i;)r=k,n.push(L());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{j=!1,el()}}}function L(){try{let e=N();if(o){if(k>=o.postBundlePosition){let e=Error("Unexpected bundle position");throw e.incomplete=!0,e}k=o.postBundlePosition,o=null}if(k==n)r=null,t=null,s&&(s=null);else if(k>n){let e=Error("Unexpected end of CBOR data");throw e.incomplete=!0,e}else if(!j)throw Error("Data read, but end of buffer not reached");return e}catch(e){throw el(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer"))&&(e.incomplete=!0),e}}function N(){let e=t[k++],s=e>>5;if((e&=31)>23)switch(e){case 24:e=t[k++];break;case 25:if(7==s)return function(){let e=t[k++],n=t[k++],r=(127&e)>>2;if(31===r)return n||3&e?NaN:128&e?-1/0:1/0;if(0===r){let t=((3&e)<<8|n)/16777216;return 128&e?-t:t}return Y[3]=128&e|(r>>1)+56,Y[2]=(7&e)<<5|n>>3,Y[1]=n<<5,Y[0]=0,J[0]}();e=l.getUint16(k),k+=2;break;case 26:if(7==s){let e=l.getFloat32(k);if(U.useFloat32>2){let n=ec[(127&t[k])<<1|t[k+1]>>7];return k+=4,(n*e+(e>0?.5:-.5)>>0)/n}return k+=4,e}e=l.getUint32(k),k+=4;break;case 27:if(7==s){let e=l.getFloat64(k);return k+=8,e}if(s>1){if(l.getUint32(k)>0)throw Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");e=l.getUint32(k+4)}else e=U.int64AsNumber?4294967296*l.getUint32(k)+l.getUint32(k+4):l.getBigUint64(k);k+=8;break;case 31:switch(s){case 2:case 3:throw Error("Indefinite length not supported for byte or text strings");case 4:let u=[],f,d=0;for(;(f=N())!=T;)u[d++]=f;return 4==s?u:3==s?u.join(""):A.concat(u);case 5:let h;if(U.mapsAsObjects){let e={};if(U.keyMap)for(;(h=N())!=T;)e[W(U.decodeKey(h))]=N();else for(;(h=N())!=T;)e[W(h)]=N();return e}{c&&(U.mapsAsObjects=!0,c=!1);let e=new Map;if(U.keyMap)for(;(h=N())!=T;)e.set(U.decodeKey(h),N());else for(;(h=N())!=T;)e.set(h,N());return e}case 7:return T;default:throw Error("Invalid major type for indefinite length "+s)}default:throw Error("Unknown token "+e)}switch(s){case 0:return e;case 1:return~e;case 2:var p;return p=e,U.copyBuffers?Uint8Array.prototype.slice.call(t,k,k+=p):t.subarray(k,k+=p);case 3:if(x>=k)return i.slice(k-M,(k+=e)-M);if(0==x&&n<140&&e<32){let n=e<16?q(e):function(e){let n=k,r=Array(e);for(let i=0;i<e;i++){let e=t[k++];if((128&e)>0){k=n;return}r[i]=e}return H.apply(String,r)}(e);if(null!=n)return n}return z(e);case 4:let y=Array(e);for(let t=0;t<e;t++)y[t]=N();return y;case 5:if(U.mapsAsObjects){let t={};if(U.keyMap)for(let n=0;n<e;n++)t[W(U.decodeKey(N()))]=N();else for(let n=0;n<e;n++)t[W(N())]=N();return t}{c&&(U.mapsAsObjects=!0,c=!1);let t=new Map;if(U.keyMap)for(let n=0;n<e;n++)t.set(U.decodeKey(N()),N());else for(let n=0;n<e;n++)t.set(N(),N());return t}case 6:if(e>=57337){let t=r[8191&e];if(t)return t.read||(t.read=K(t)),t.read();if(e<65536){if(57343==e){let e=eo(),t=N(),n=N();X(t,n);let r={};if(U.keyMap)for(let t=2;t<e;t++)r[W(U.decodeKey(n[t-2]))]=N();else for(let t=2;t<e;t++)r[W(n[t-2])]=N();return r}if(57342==e){let e=eo(),t=N();for(let n=2;n<e;n++)X(t++,N());return N()}if(57337==e)return function(){let e=eo(),t=k+N();for(let t=2;t<e;t++){let e=eo();k+=e}let n=k;return k=t,(o=[$(eo()),$(eo())]).position0=0,o.position1=0,o.postBundlePosition=k,k=n,N()}();if(U.getShared&&(es(),t=r[8191&e]))return t.read||(t.read=K(t)),t.read()}}let g=R[e];if(g){if(g.handlesRead)return g(N);return g(N())}{let t=N();for(let n=0;n<D.length;n++){let r=D[n](e,t);if(void 0!==r)return r}return new G(t,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let b=(a||et())[e];if(void 0!==b)return b;throw Error("Unknown token "+e)}default:if(isNaN(e)){let e=Error("Unexpected end of CBOR data");throw e.incomplete=!0,e}throw Error("Unknown CBOR token "+e)}}let V=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function K(e){return e.slowReads=0,function(){let e=t[k++];if((e&=31)>23)switch(e){case 24:e=t[k++];break;case 25:e=l.getUint16(k),k+=2;break;case 26:e=l.getUint32(k),k+=4;break;default:throw Error("Expected array header, but got "+t[k-1])}let n=this.compiledReader;for(;n;){if(n.propertyCount===e)return n(N);n=n.next}if(this.slowReads++>=P){let t=this.length==e?this:this.slice(0,e);return n=U.keyMap?Function("r","return {"+t.map(e=>U.decodeKey(e)).map(e=>V.test(e)?W(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}"):Function("r","return {"+t.map(e=>V.test(e)?W(e)+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}"),this.compiledReader&&(n.next=this.compiledReader),n.propertyCount=e,this.compiledReader=n,n(N)}let r={};if(U.keyMap)for(let t=0;t<e;t++)r[W(U.decodeKey(this[t]))]=N();else for(let t=0;t<e;t++)r[W(this[t])]=N();return r}}function W(e){return"__proto__"===e?"__proto_":e}let z=$;function $(n){let r;if(n<16&&(r=q(n)))return r;if(n>64&&e)return e.decode(t.subarray(k,k+=n));let i=k+n,o=[];for(r="";k<i;){let e=t[k++];if((128&e)==0)o.push(e);else if((224&e)==192){let n=63&t[k++];o.push((31&e)<<6|n)}else if((240&e)==224){let n=63&t[k++],r=63&t[k++];o.push((31&e)<<12|n<<6|r)}else if((248&e)==240){let n=(7&e)<<18|(63&t[k++])<<12|(63&t[k++])<<6|63&t[k++];n>65535&&(n-=65536,o.push(n>>>10&1023|55296),n=56320|1023&n),o.push(n)}else o.push(e);o.length>=4096&&(r+=H.apply(String,o),o.length=0)}return o.length>0&&(r+=H.apply(String,o)),r}let H=String.fromCharCode;function q(e){if(e<4){if(e<2){if(0===e)return"";{let e=t[k++];if((128&e)>1){k-=1;return}return H(e)}}{let n=t[k++],r=t[k++];if((128&n)>0||(128&r)>0){k-=2;return}if(e<3)return H(n,r);let i=t[k++];if((128&i)>0){k-=3;return}return H(n,r,i)}}{let n=t[k++],r=t[k++],i=t[k++],o=t[k++];if((128&n)>0||(128&r)>0||(128&i)>0||(128&o)>0){k-=4;return}if(e<6){if(4===e)return H(n,r,i,o);{let e=t[k++];if((128&e)>0){k-=5;return}return H(n,r,i,o,e)}}if(e<8){let s=t[k++],a=t[k++];if((128&s)>0||(128&a)>0){k-=6;return}if(e<7)return H(n,r,i,o,s,a);let l=t[k++];if((128&l)>0){k-=7;return}return H(n,r,i,o,s,a,l)}{let s=t[k++],a=t[k++],l=t[k++],c=t[k++];if((128&s)>0||(128&a)>0||(128&l)>0||(128&c)>0){k-=8;return}if(e<10){if(8===e)return H(n,r,i,o,s,a,l,c);{let e=t[k++];if((128&e)>0){k-=9;return}return H(n,r,i,o,s,a,l,c,e)}}if(e<12){let u=t[k++],f=t[k++];if((128&u)>0||(128&f)>0){k-=10;return}if(e<11)return H(n,r,i,o,s,a,l,c,u,f);let d=t[k++];if((128&d)>0){k-=11;return}return H(n,r,i,o,s,a,l,c,u,f,d)}{let u=t[k++],f=t[k++],d=t[k++],h=t[k++];if((128&u)>0||(128&f)>0||(128&d)>0||(128&h)>0){k-=12;return}if(e<14){if(12===e)return H(n,r,i,o,s,a,l,c,u,f,d,h);{let e=t[k++];if((128&e)>0){k-=13;return}return H(n,r,i,o,s,a,l,c,u,f,d,h,e)}}{let p=t[k++],y=t[k++];if((128&p)>0||(128&y)>0){k-=14;return}if(e<15)return H(n,r,i,o,s,a,l,c,u,f,d,h,p,y);let g=t[k++];if((128&g)>0){k-=15;return}return H(n,r,i,o,s,a,l,c,u,f,d,h,p,y,g)}}}}}let J=new Float32Array(1),Y=new Uint8Array(J.buffer,0,4);class G{constructor(e,t){this.value=e,this.tag=t}}R[0]=e=>new Date(e),R[1]=e=>new Date(Math.round(1e3*e)),R[2]=e=>{let t=BigInt(0);for(let n=0,r=e.byteLength;n<r;n++)t=BigInt(e[n])+t<<BigInt(8);return t},R[3]=e=>BigInt(-1)-R[2](e),R[4]=e=>+(e[1]+"e"+e[0]),R[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));let X=(e,t)=>{let n=r[e-=57344];n&&n.isShared&&((r.restoreStructures||(r.restoreStructures=[]))[e]=n),r[e]=t,t.read=K(t)};R[105]=e=>{let t=e.length,n=e[1];X(e[0],n);let r={};for(let i=2;i<t;i++)r[W(n[i-2])]=e[i];return r},R[14]=e=>o?o[0].slice(o.position0,o.position0+=e):new G(e,14),R[15]=e=>o?o[1].slice(o.position1,o.position1+=e):new G(e,15);let Z={Error:Error,RegExp:RegExp};R[27]=e=>(Z[e[0]]||Error)(e[1],e[2]);let Q=e=>{if(132!=t[k++])throw Error("Packed values structure must be followed by a 4 element array");let n=e();return(a=a?n.concat(a.slice(n.length)):n).prefixes=e(),a.suffixes=e(),e()};function ee(e,t){return"string"==typeof e?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function et(){if(!a){if(U.getShared)es();else throw Error("No packed values available")}return a}Q.handlesRead=!0,R[51]=Q,R[6]=e=>{if(!a){if(!U.getShared)return new G(e,6);es()}if("number"==typeof e)return a[16+(e>=0?2*e:-2*e-1)];throw Error("No support for non-integer packed references yet")},R[28]=e=>{let n;s||((s=new Map).id=0);let r=s.id++,i={target:n=t[k]>>5==4?[]:{}};s.set(r,i);let o=e();return i.used?Object.assign(n,o):(i.target=o,o)},R[28].handlesRead=!0,R[29]=e=>{let t=s.get(e);return t.used=!0,t.target},R[258]=e=>new Set(e),(R[259]=e=>(U.mapsAsObjects&&(U.mapsAsObjects=!1,c=!0),e())).handlesRead=!0,D.push((e,t)=>e>=225&&e<=255?ee(et().prefixes[e-224],t):e>=28704&&e<=32767?ee(et().prefixes[e-28672],t):e>=1879052288&&e<=2147483647?ee(et().prefixes[e-1879048192],t):e>=216&&e<=223?ee(t,et().suffixes[e-216]):e>=27647&&e<=28671?ee(t,et().suffixes[e-27639]):e>=1811940352&&e<=1879048191?ee(t,et().suffixes[e-1811939328]):1399353956==e?{packedValues:a,structures:r.slice(0),version:t}:55799==e?t:void 0);let en=1==new Uint8Array(new Uint16Array([1]).buffer)[0],er=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,"undefined"==typeof BigUint64Array?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,"undefined"==typeof BigInt64Array?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array],ei=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<er.length;e++)!function(e,t){let n,r="get"+e.name.slice(0,-5);"function"==typeof e?n=e.BYTES_PER_ELEMENT:e=null;for(let i=0;i<2;i++){if(!i&&1==n)continue;let o=2==n?1:4==n?2:3;R[i?t:t-4]=1==n||i==en?n=>{if(!e)throw Error("Could not find typed array for code "+t);return new e(Uint8Array.prototype.slice.call(n,0).buffer)}:n=>{if(!e)throw Error("Could not find typed array for code "+t);let s=new DataView(n.buffer,n.byteOffset,n.byteLength),a=n.length>>o,l=new e(a),c=s[r];for(let e=0;e<a;e++)l[e]=c.call(s,e<<o,i);return l}}}(er[e],ei[e]);function eo(){let e=31&t[k++];if(e>23)switch(e){case 24:e=t[k++];break;case 25:e=l.getUint16(k),k+=2;break;case 26:e=l.getUint32(k),k+=4}return e}function es(){if(U.getShared){let e=ea(()=>(t=null,U.getShared()))||{},n=e.structures||[];U.sharedVersion=e.version,a=U.sharedValues=e.packedValues,!0===r?U.structures=r=n:r.splice.apply(r,[0,n.length].concat(n))}}function ea(e){let a=n,c=k,u=I,f=M,d=x,h=i,p=O,y=s,g=o,b=new Uint8Array(t.slice(0,n)),m=r,w=U,v=j,_=e();return n=a,k=c,I=u,M=f,x=d,i=h,O=p,s=y,o=g,t=b,j=v,r=m,U=w,l=new DataView(t.buffer,t.byteOffset,t.byteLength),_}function el(){t=null,s=null,r=null}let ec=Array(147);for(let e=0;e<256;e++)ec[e]=+("1e"+Math.floor(45.15-.30103*e));let eu=new F({useRecords:!1});eu.decode,eu.decodeMultiple;try{u=new TextEncoder}catch(e){}let ef="object"==typeof globalThis&&globalThis.Buffer,ed=void 0!==ef,eh=ed?ef.allocUnsafeSlow:Uint8Array,ep=ed?ef:Uint8Array,ey=ed?4294967296:2144337920,eg=0,eb=null,em=/[\u0080-\uFFFF]/,ew=Symbol("record-id");class ev extends F{constructor(e){let t,n,r,i,o,s;super(e),this.offset=0,e=e||{};let a=ep.prototype.utf8Write?function(e,t,n){return p.utf8Write(e,t,n)}:!!u&&!!u.encodeInto&&function(e,t){return u.encodeInto(e,p.subarray(t)).written},l=this,c=e.structures||e.saveStructures,b=e.maxSharedStructures;if(null==b&&(b=c?128:0),b>8190)throw Error("Maximum maxSharedStructure is 8190");let m=e.sequential;m&&(b=0),this.structures||(this.structures=[]),this.saveStructures&&(this.saveShared=this.saveStructures);let w,v,_=e.sharedValues;if(_){s=Object.create(null);for(let e=0,t=_.length;e<t;e++)s[_[e]]=e}let C=[],E=0,A=0;this.mapEncode=function(e,t){return this._keyMap&&!this._mapped&&"Array"===e.constructor.name&&(e=e.map(e=>this.encodeKeys(e))),this.encode(e,t)},this.encode=function(a,c){if(p||(p=new eh(8192),y=new DataView(p.buffer,0,8192),eg=0),(g=p.length-10)-eg<2048?(p=new eh(p.length),y=new DataView(p.buffer,0,p.length),g=p.length-10,eg=0):c===eB&&(eg=eg+7&2147483640),t=eg,l.useSelfDescribedHeader&&(y.setUint32(eg,3654940416),eg+=3),o=l.structuredClone?new Map:null,l.bundleStrings&&"string"!=typeof a?(eb=[]).size=1/0:eb=null,n=l.structures){if(n.uninitialized){let e=l.getShared()||{};l.structures=n=e.structures||[],l.sharedVersion=e.version;let t=l.sharedValues=e.packedValues;if(t){s={};for(let e=0,n=t.length;e<n;e++)s[t[e]]=e}}let e=n.length;if(e>b&&!m&&(e=b),!n.transitions){n.transitions=Object.create(null);for(let t=0;t<e;t++){let e=n[t];if(!e)continue;let r,i=n.transitions;for(let n=0,o=e.length;n<o;n++){void 0===i[ew]&&(i[ew]=t);let o=e[n];(r=i[o])||(r=i[o]=Object.create(null)),i=r}i[ew]=1048576|t}}m||(n.nextId=e)}if(r&&(r=!1),i=n||[],v=s,e.pack){let t=new Map;if(t.values=[],t.encoder=l,t.maxValues=e.maxPrivatePackedValues||(s?16:1/0),t.objectMap=s||!1,t.samplingPackedValues=w,function e(t,n){switch(typeof t){case"string":if(t.length>3){if(n.objectMap[t]>-1||n.values.length>=n.maxValues)return;let e=n.get(t);if(e)2==++e.count&&n.values.push(t);else if(n.set(t,{count:1}),n.samplingPackedValues){let e=n.samplingPackedValues.get(t);e?e.count++:n.samplingPackedValues.set(t,{count:1})}}break;case"object":if(t){if(t instanceof Array)for(let r=0,i=t.length;r<i;r++)e(t[r],n);else{let i=!n.encoder.useRecords;for(var r in t)t.hasOwnProperty(r)&&(i&&e(r,n),e(t[r],n))}}break;case"function":console.log(t)}}(a,t),t.values.length>0){p[eg++]=216,p[eg++]=51,eE(4);let e=t.values;k(e),eE(0),eE(0),v=Object.create(s||null);for(let t=0,n=e.length;t<n;t++)v[e[t]]=t}}h=c&eP;try{if(h)return;if(k(a),eb&&eI(t,k),l.offset=eg,o&&o.idsToInsert){(eg+=2*o.idsToInsert.length)>g&&T(eg),l.offset=eg;let e=function(e,t){let n;let r=2*t.length,i=e.length-r;t.sort((e,t)=>e.offset>t.offset?1:-1);for(let n=0;n<t.length;n++){let r=t[n];for(let t of(r.id=n,r.references))e[t++]=n>>8,e[t]=255&n}for(;n=t.pop();){let t=n.offset;e.copyWithin(t+r,t,i);let o=t+(r-=2);e[o++]=216,e[o++]=28,i=t}return e}(p.subarray(t,eg),o.idsToInsert);return o=null,e}if(c&eB)return p.start=t,p.end=eg,p;return p.subarray(t,eg)}finally{if(n){if(A<10&&A++,n.length>b&&(n.length=b),E>1e4)n.transitions=null,A=0,E=0,C.length>0&&(C=[]);else if(C.length>0&&!m){for(let e=0,t=C.length;e<t;e++)C[e][ew]=void 0;C=[]}}if(r&&l.saveShared){l.structures.length>b&&(l.structures=l.structures.slice(0,b));let e=p.subarray(t,eg);if(!1===l.updateSharedData())return l.encode(a);return e}c&ej&&(eg=t)}},this.findCommonStringsToPack=()=>(w=new Map,s||(s=Object.create(null)),e=>{let t=e&&e.threshold||4,n=this.pack?e.maxPrivatePackedValues||16:0;for(let[e,i]of(_||(_=this.sharedValues=[]),w))i.count>t&&(s[e]=n++,_.push(e),r=!0);for(;this.saveShared&&!1===this.updateSharedData(););w=null});let k=n=>{eg>g&&(p=T(eg));var r,i=typeof n;if("string"===i){let i;if(v){let t=v[n];if(t>=0){t<16?p[eg++]=t+224:(p[eg++]=198,1&t?k(15-t>>1):k(t-16>>1));return}if(w&&!e.pack){let e=w.get(n);e?e.count++:w.set(n,{count:1})}}let o=n.length;if(eb&&o>=4&&o<1024){if((eb.size+=o)>61440){let e;let n=(eb[0]?3*eb[0].length+eb[1].length:0)+10;eg+n>g&&(p=T(eg+n)),p[eg++]=217,p[eg++]=223,p[eg++]=249,p[eg++]=eb.position?132:130,p[eg++]=26,e=eg-t,eg+=4,eb.position&&eI(t,k),(eb=["",""]).size=0,eb.position=e}let e=em.test(n);eb[e?0:1]+=n,p[eg++]=e?206:207,k(o);return}i=o<32?1:o<256?2:o<65536?3:5;let s=3*o;if(eg+s>g&&(p=T(eg+s)),o<64||!a){let e,t,s,a=eg+i;for(e=0;e<o;e++)(t=n.charCodeAt(e))<128?p[a++]=t:(t<2048?p[a++]=t>>6|192:((64512&t)==55296&&(64512&(s=n.charCodeAt(e+1)))==56320?(t=65536+((1023&t)<<10)+(1023&s),e++,p[a++]=t>>18|240,p[a++]=t>>12&63|128):p[a++]=t>>12|224,p[a++]=t>>6&63|128),p[a++]=63&t|128);r=a-eg-i}else r=a(n,eg+i,s);r<24?p[eg++]=96|r:r<256?(i<2&&p.copyWithin(eg+2,eg+1,eg+1+r),p[eg++]=120,p[eg++]=r):r<65536?(i<3&&p.copyWithin(eg+3,eg+2,eg+2+r),p[eg++]=121,p[eg++]=r>>8,p[eg++]=255&r):(i<5&&p.copyWithin(eg+5,eg+3,eg+3+r),p[eg++]=122,y.setUint32(eg,r),eg+=4),eg+=r}else if("number"===i){if(this.alwaysUseFloat||n>>>0!==n){if(this.alwaysUseFloat||n>>0!==n){let e;if((e=this.useFloat32)>0&&n<4294967296&&n>=-2147483648){let t;if(p[eg++]=250,y.setFloat32(eg,n),e<4||(t=n*ec[(127&p[eg])<<1|p[eg+1]>>7])>>0===t){eg+=4;return}eg--}p[eg++]=251,y.setFloat64(eg,n),eg+=8}else n>=-24?p[eg++]=31-n:n>=-256?(p[eg++]=56,p[eg++]=~n):n>=-65536?(p[eg++]=57,y.setUint16(eg,~n),eg+=2):(p[eg++]=58,y.setUint32(eg,~n),eg+=4)}else n<24?p[eg++]=n:n<256?(p[eg++]=24,p[eg++]=n):n<65536?(p[eg++]=25,p[eg++]=n>>8,p[eg++]=255&n):(p[eg++]=26,y.setUint32(eg,n),eg+=4)}else if("object"===i){if(n){if(o){let e=o.get(n);if(e){if(p[eg++]=216,p[eg++]=29,p[eg++]=25,!e.references){let t=o.idsToInsert||(o.idsToInsert=[]);e.references=[],t.push(e)}e.references.push(eg-t),eg+=2;return}o.set(n,{offset:eg-t})}let e=n.constructor;if(e===Object)S(n,!0);else if(e===Array){(r=n.length)<24?p[eg++]=128|r:eE(r);for(let e=0;e<r;e++)k(n[e])}else if(e===Map){if((this.mapsAsObjects?!1!==this.useTag259ForMaps:this.useTag259ForMaps)&&(p[eg++]=217,p[eg++]=1,p[eg++]=3),(r=n.size)<24?p[eg++]=160|r:r<256?(p[eg++]=184,p[eg++]=r):r<65536?(p[eg++]=185,p[eg++]=r>>8,p[eg++]=255&r):(p[eg++]=186,y.setUint32(eg,r),eg+=4),l.keyMap)for(let[e,t]of n)k(l.encodeKey(e)),k(t);else for(let[e,t]of n)k(e),k(t)}else{for(let e=0,t=f.length;e<t;e++)if(n instanceof d[e]){let t=f[e],r=t.tag;void 0==r&&(r=t.getTag&&t.getTag.call(this,n)),r<24?p[eg++]=192|r:r<256?(p[eg++]=216,p[eg++]=r):r<65536?(p[eg++]=217,p[eg++]=r>>8,p[eg++]=255&r):r>-1&&(p[eg++]=218,y.setUint32(eg,r),eg+=4),t.encode.call(this,n,k,T);return}if(n[Symbol.iterator]){if(h){let e=Error("Iterable should be serialized as iterator");throw e.iteratorNotHandled=!0,e}for(let e of(p[eg++]=159,n))k(e);p[eg++]=255;return}if(n[Symbol.asyncIterator]||ek(n)){let e=Error("Iterable/blob should be serialized as iterator");throw e.iteratorNotHandled=!0,e}if(this.useToJSON&&n.toJSON){let e=n.toJSON();if(e!==n)return k(e)}S(n,!n.hasOwnProperty)}}else p[eg++]=246}else if("boolean"===i)p[eg++]=n?245:244;else if("bigint"===i){if(n<BigInt(1)<<BigInt(64)&&n>=0)p[eg++]=27,y.setBigUint64(eg,n);else if(n>-(BigInt(1)<<BigInt(64))&&n<0)p[eg++]=59,y.setBigUint64(eg,-n-BigInt(1));else if(this.largeBigIntToFloat)p[eg++]=251,y.setFloat64(eg,Number(n));else throw RangeError(n+" was too large to fit in CBOR 64-bit integer format, set largeBigIntToFloat to convert to float-64");eg+=8}else if("undefined"===i)p[eg++]=247;else throw Error("Unknown type: "+i)},S=!1===this.useRecords?this.variableMapSize?e=>{let t=Object.keys(e),n=Object.values(e),r=t.length;if(r<24?p[eg++]=160|r:r<256?(p[eg++]=184,p[eg++]=r):r<65536?(p[eg++]=185,p[eg++]=r>>8,p[eg++]=255&r):(p[eg++]=186,y.setUint32(eg,r),eg+=4),l.keyMap)for(let e=0;e<r;e++)k(l.encodeKey(t[e])),k(n[e]);else for(let e=0;e<r;e++)k(t[e]),k(n[e])}:(e,n)=>{p[eg++]=185;let r=eg-t;eg+=2;let i=0;if(l.keyMap)for(let t in e)(n||e.hasOwnProperty(t))&&(k(l.encodeKey(t)),k(e[t]),i++);else for(let t in e)(n||e.hasOwnProperty(t))&&(k(t),k(e[t]),i++);p[r+++t]=i>>8,p[r+t]=255&i}:(e,t)=>{let n,o,s,a=i.transitions||(i.transitions=Object.create(null)),l=0,c=0;if(this.keyMap){c=(o=Object.keys(e).map(e=>this.encodeKey(e))).length;for(let e=0;e<c;e++){let t=o[e];!(s=a[t])&&(s=a[t]=Object.create(null),l++),a=s}}else for(let r in e)(t||e.hasOwnProperty(r))&&(!(s=a[r])&&(1048576&a[ew]&&(n=65535&a[ew]),s=a[r]=Object.create(null),l++),a=s,c++);let u=a[ew];if(void 0!==u)u&=65535,p[eg++]=217,p[eg++]=u>>8|224,p[eg++]=255&u;else if(o||(o=a.__keys__||(a.__keys__=Object.keys(e))),void 0===n?((u=i.nextId++)||(u=0,i.nextId=1),u>=256&&(i.nextId=(u=b)+1)):u=n,i[u]=o,u<b){p[eg++]=217,p[eg++]=u>>8|224,p[eg++]=255&u,a=i.transitions;for(let e=0;e<c;e++)(void 0===a[ew]||1048576&a[ew])&&(a[ew]=u),a=a[o[e]];a[ew]=1048576|u,r=!0}else{if(a[ew]=u,y.setUint32(eg,3655335680),eg+=3,l&&(E+=A*l),C.length>=256-b&&(C.shift()[ew]=void 0),C.push(a),eE(c+2),k(57344+u),k(o),null===t)return;for(let n in e)(t||e.hasOwnProperty(n))&&k(e[n]);return}if(c<24?p[eg++]=128|c:eE(c),null!==t)for(let n in e)(t||e.hasOwnProperty(n))&&k(e[n])},T=e=>{let n;if(e>16777216){if(e-t>ey)throw Error("Encoded buffer would be larger than maximum buffer size");n=Math.min(ey,4096*Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096))}else n=(Math.max(e-t<<2,p.length-1)>>12)+1<<12;let r=new eh(n);return y=new DataView(r.buffer,0,n),p.copy?p.copy(r,0,t,e):r.set(p.slice(t,e)),eg-=t,t=0,g=r.length-10,p=r},O=100,I=1e3;function*U(e,n,r){let i=e.constructor;if(i===Object){let t=!1!==l.useRecords;for(let r in t?S(e,null):e_(Object.keys(e).length,160),e){let i=e[r];t||k(r),i&&"object"==typeof i?n[r]?yield*U(i,n[r]):yield*M(i,n,r):k(i)}}else if(i===Array){let r=e.length;eE(r);for(let i=0;i<r;i++){let r=e[i];r&&("object"==typeof r||eg-t>O)?n.element?yield*U(r,n.element):yield*M(r,n,"element"):k(r)}}else if(e[Symbol.iterator]){for(let r of(p[eg++]=159,e))r&&("object"==typeof r||eg-t>O)?n.element?yield*U(r,n.element):yield*M(r,n,"element"):k(r);p[eg++]=255}else ek(e)?(e_(e.size,64),yield p.subarray(t,eg),yield e,x()):e[Symbol.asyncIterator]?(p[eg++]=159,yield p.subarray(t,eg),yield e,x(),p[eg++]=255):k(e);r&&eg>t?yield p.subarray(t,eg):eg-t>O&&(yield p.subarray(t,eg),x())}function*M(e,n,r){let i=eg-t;try{k(e),eg-t>O&&(yield p.subarray(t,eg),x())}catch(o){if(o.iteratorNotHandled)n[r]={},eg=t+i,yield*U.call(this,e,n[r]);else throw o}}function x(){O=I,l.encode(null,eP)}function R(e,t,n){return(O=t&&t.chunkThreshold?I=t.chunkThreshold:100,e&&"object"==typeof e)?(l.encode(null,eP),n(e,l.iterateProperties||(l.iterateProperties={}),!0)):[l.encode(e)]}async function*D(e,t){for(let n of U(e,t,!0)){let e=n.constructor;if(e===ep||e===Uint8Array)yield n;else if(ek(n)){let e,t=n.stream().getReader();for(;!(e=await t.read()).done;)yield e.value}else if(n[Symbol.asyncIterator])for await(let e of n)x(),e?yield*D(e,t.async||(t.async={})):yield l.encode(e);else yield n}}this.encodeAsIterable=function(e,t){return R(e,t,U)},this.encodeAsAsyncIterable=function(e,t){return R(e,t,D)}}useBuffer(e){p=e,y=new DataView(p.buffer,p.byteOffset,p.byteLength),eg=0}clearSharedData(){this.structures&&(this.structures=[]),this.sharedValues&&(this.sharedValues=void 0)}updateSharedData(){let e=this.sharedVersion||0;this.sharedVersion=e+1;let t=this.structures.slice(0),n=new eC(t,this.sharedValues,this.sharedVersion),r=this.saveShared(n,t=>(t&&t.version||0)==e);return!1===r?(n=this.getShared()||{},this.structures=n.structures||[],this.sharedValues=n.packedValues,this.sharedVersion=n.version,this.structures.nextId=this.structures.length):t.forEach((e,t)=>this.structures[t]=e),r}}function e_(e,t){e<24?p[eg++]=t|e:e<256?(p[eg++]=24|t,p[eg++]=e):e<65536?(p[eg++]=25|t,p[eg++]=e>>8,p[eg++]=255&e):(p[eg++]=26|t,y.setUint32(eg,e),eg+=4)}class eC{constructor(e,t,n){this.structures=e,this.packedValues=t,this.version=n}}function eE(e){e<24?p[eg++]=128|e:e<256?(p[eg++]=152,p[eg++]=e):e<65536?(p[eg++]=153,p[eg++]=e>>8,p[eg++]=255&e):(p[eg++]=154,y.setUint32(eg,e),eg+=4)}let eA="undefined"==typeof Blob?function(){}:Blob;function ek(e){if(e instanceof eA)return!0;let t=e[Symbol.toStringTag];return"Blob"===t||"File"===t}let eS=1==new Uint8Array(new Uint16Array([1]).buffer)[0];function eT(e,t){return!eS&&t>1&&(e-=4),{tag:e,encode:function(e,t){let n=e.byteLength,r=e.byteOffset||0,i=e.buffer||e;t(ed?ef.from(i,r,n):new Uint8Array(i,r,n))}}}function eO(e,t){let n=e.byteLength;n<24?p[eg++]=64+n:n<256?(p[eg++]=88,p[eg++]=n):n<65536?(p[eg++]=89,p[eg++]=n>>8,p[eg++]=255&n):(p[eg++]=90,y.setUint32(eg,n),eg+=4),eg+n>=p.length&&t(eg+n),p.set(e.buffer?e:new Uint8Array(e),eg),eg+=n}function eI(e,t){y.setUint32(eb.position+e,eg-eb.position-e+1);let n=eb;eb=null,t(n[0]),t(n[1])}d=[Date,Set,Error,RegExp,G,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,"undefined"==typeof BigUint64Array?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,"undefined"==typeof BigInt64Array?function(){}:BigInt64Array,Float32Array,Float64Array,eC],f=[{tag:1,encode(e,t){let n=e.getTime()/1e3;(this.useTimestamp32||0===e.getMilliseconds())&&n>=0&&n<4294967296?(p[eg++]=26,y.setUint32(eg,n),eg+=4):(p[eg++]=251,y.setFloat64(eg,n),eg+=8)}},{tag:258,encode(e,t){t(Array.from(e))}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag:e=>e.tag,encode(e,t){t(e.value)}},{encode(e,t,n){eO(e,n)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||ed&&!1!==this.tagUint8Array))return 64},encode(e,t,n){eO(e,n)}},eT(68,1),eT(69,2),eT(70,4),eT(71,8),eT(72,1),eT(77,2),eT(78,4),eT(79,8),eT(85,4),eT(86,8),{encode(e,t){let n=e.packedValues||[],r=e.structures||[];if(n.values.length>0){p[eg++]=216,p[eg++]=51,eE(4);let e=n.values;t(e),eE(0),eE(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let t=0,n=e.length;t<n;t++)packedObjectMap[e[t]]=t}if(r){y.setUint32(eg,3655335424),eg+=3;let n=r.slice(0);n.unshift(57344),n.push(new G(e.version,1399353956)),t(n)}else t(new G(e.version,1399353956))}}];let eU=new ev({useRecords:!1});eU.encode,eU.encodeAsIterable,eU.encodeAsAsyncIterable;let{NEVER:eM,ALWAYS:ex,DECIMAL_ROUND:eR,DECIMAL_FIT:eD}={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4},eB=512,ej=1024,eP=2048;var E=_("5L6jO");E.Buffer;var eF=_("hBa25");let eL=Symbol.for(null),eN=async function*(e){let t=e.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}};class eV extends eF.StreamConnection{constructor(e,t,n){super(e,t,{...n,reliable:!0}),this.serialization="Cbor",this._encoder=new ev,this._decoder=new F,this._decoderStream=new TransformStream({transform:(e,t)=>{let n,r=new Uint8Array(e);this._inc&&(r=function(e,t){let n=new Uint8Array(e.byteLength+t.byteLength);return n.set(e,0),n.set(t,e.byteLength),new Uint8Array(n.buffer)}(this._inc,r),this._inc=null);try{n=this._decoder.decodeMultiple(r)}catch(e){if(e.incomplete)this._inc=r.subarray(e.lastPosition),n=e.values;else throw e}finally{for(let e of n||[])null===e&&(e=eL),t.enqueue(e)}}}),this._rawReadStream.pipeTo(this._decoderStream.writable),(async()=>{for await(let e of eN(this._decoderStream.readable)){if(e.__peerData?.type==="close"){this.close();return}this.emit("data",e)}})()}_send(e){return this.writer.write(this._encoder.encode(e))}}export{eV as Cbor};
2//# sourceMappingURL=serializer.cbor.mjs.map