@fireproof/core 0.13.1 → 0.13.3-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/fireproof.cjs +4 -28
- package/dist/browser/fireproof.cjs.map +4 -4
- package/dist/browser/fireproof.esm.js +4 -28
- package/dist/browser/fireproof.esm.js.map +4 -4
- package/dist/browser/fireproof.iife.js +4 -28
- package/dist/browser/fireproof.iife.js.map +4 -4
- package/dist/node/fireproof.cjs +4 -49
- package/dist/node/fireproof.cjs.map +4 -4
- package/dist/node/fireproof.esm.js +4 -49
- package/dist/node/fireproof.esm.js.map +4 -4
- package/dist/types/crdt-clock.d.ts +1 -1
- package/dist/types/database.d.ts +0 -1
- package/dist/types/fireproof.d.ts +3 -2
- package/dist/types/loader.d.ts +10 -12
- package/dist/types/loaders.d.ts +3 -6
- package/dist/types/remote-wal.d.ts +25 -0
- package/dist/types/store-browser.d.ts +2 -1
- package/dist/types/store-fs.d.ts +2 -1
- package/dist/types/store.d.ts +1 -23
- package/dist/types/types.d.ts +6 -26
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -2
- package/dist/types/connect-s3.d.ts +0 -11
- package/dist/types/connect-web3.d.ts +0 -75
- package/dist/types/connect.d.ts +0 -38
- package/dist/types/connection.d.ts +0 -15
- package/dist/types/store-remote.d.ts +0 -27
@@ -1,33 +1,9 @@
|
|
1
|
-
var XB=Object.create;var ll=Object.defineProperty;var YB=Object.getOwnPropertyDescriptor;var e8=Object.getOwnPropertyNames;var t8=Object.getPrototypeOf,r8=Object.prototype.hasOwnProperty;var n8=(t,e,r)=>e in t?ll(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var oe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),M=(t,e)=>{for(var r in e)ll(t,r,{get:e[r],enumerable:!0})},o8=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of e8(e))!r8.call(t,o)&&o!==r&&ll(t,o,{get:()=>e[o],enumerable:!(n=YB(e,o))||n.enumerable});return t};var _e=(t,e,r)=>(r=t!=null?XB(t8(t)):{},o8(e||!t||!t.__esModule?ll(r,"default",{value:t,enumerable:!0}):r,t));var w=(t,e,r)=>(n8(t,typeof e!="symbol"?e+"":e,r),r),nm=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)};var j=(t,e,r)=>(nm(t,e,"read from private field"),r?r.call(t):e.get(t)),De=(t,e,r)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,r)},Ce=(t,e,r,n)=>(nm(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);var po=(t,e,r)=>(nm(t,e,"access private method"),r);var Dk=oe((gn,Ak)=>{var dl=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof global<"u"&&global,fl=function(){function t(){this.fetch=!1,this.DOMException=dl.DOMException}return t.prototype=dl,new t}();(function(t){var e=function(r){var n=typeof t<"u"&&t||typeof self<"u"&&self||typeof n<"u"&&n,o={searchParams:"URLSearchParams"in n,iterable:"Symbol"in n&&"iterator"in Symbol,blob:"FileReader"in n&&"Blob"in n&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in n,arrayBuffer:"ArrayBuffer"in n};function s(v){return v&&DataView.prototype.isPrototypeOf(v)}if(o.arrayBuffer)var i=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(v){return v&&i.indexOf(Object.prototype.toString.call(v))>-1};function c(v){if(typeof v!="string"&&(v=String(v)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(v)||v==="")throw new TypeError('Invalid character in header field name: "'+v+'"');return v.toLowerCase()}function u(v){return typeof v!="string"&&(v=String(v)),v}function l(v){var I={next:function(){var O=v.shift();return{done:O===void 0,value:O}}};return o.iterable&&(I[Symbol.iterator]=function(){return I}),I}function d(v){this.map={},v instanceof d?v.forEach(function(I,O){this.append(O,I)},this):Array.isArray(v)?v.forEach(function(I){this.append(I[0],I[1])},this):v&&Object.getOwnPropertyNames(v).forEach(function(I){this.append(I,v[I])},this)}d.prototype.append=function(v,I){v=c(v),I=u(I);var O=this.map[v];this.map[v]=O?O+", "+I:I},d.prototype.delete=function(v){delete this.map[c(v)]},d.prototype.get=function(v){return v=c(v),this.has(v)?this.map[v]:null},d.prototype.has=function(v){return this.map.hasOwnProperty(c(v))},d.prototype.set=function(v,I){this.map[c(v)]=u(I)},d.prototype.forEach=function(v,I){for(var O in this.map)this.map.hasOwnProperty(O)&&v.call(I,this.map[O],O,this)},d.prototype.keys=function(){var v=[];return this.forEach(function(I,O){v.push(O)}),l(v)},d.prototype.values=function(){var v=[];return this.forEach(function(I){v.push(I)}),l(v)},d.prototype.entries=function(){var v=[];return this.forEach(function(I,O){v.push([O,I])}),l(v)},o.iterable&&(d.prototype[Symbol.iterator]=d.prototype.entries);function p(v){if(v.bodyUsed)return Promise.reject(new TypeError("Already read"));v.bodyUsed=!0}function f(v){return new Promise(function(I,O){v.onload=function(){I(v.result)},v.onerror=function(){O(v.error)}})}function h(v){var I=new FileReader,O=f(I);return I.readAsArrayBuffer(v),O}function m(v){var I=new FileReader,O=f(I);return I.readAsText(v),O}function b(v){for(var I=new Uint8Array(v),O=new Array(I.length),Pe=0;Pe<I.length;Pe++)O[Pe]=String.fromCharCode(I[Pe]);return O.join("")}function g(v){if(v.slice)return v.slice(0);var I=new Uint8Array(v.byteLength);return I.set(new Uint8Array(v)),I.buffer}function k(){return this.bodyUsed=!1,this._initBody=function(v){this.bodyUsed=this.bodyUsed,this._bodyInit=v,v?typeof v=="string"?this._bodyText=v:o.blob&&Blob.prototype.isPrototypeOf(v)?this._bodyBlob=v:o.formData&&FormData.prototype.isPrototypeOf(v)?this._bodyFormData=v:o.searchParams&&URLSearchParams.prototype.isPrototypeOf(v)?this._bodyText=v.toString():o.arrayBuffer&&o.blob&&s(v)?(this._bodyArrayBuffer=g(v.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):o.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(v)||a(v))?this._bodyArrayBuffer=g(v):this._bodyText=v=Object.prototype.toString.call(v):this._bodyText="",this.headers.get("content-type")||(typeof v=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):o.searchParams&&URLSearchParams.prototype.isPrototypeOf(v)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o.blob&&(this.blob=function(){var v=p(this);if(v)return v;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){if(this._bodyArrayBuffer){var v=p(this);return v||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else return this.blob().then(h)}),this.text=function(){var v=p(this);if(v)return v;if(this._bodyBlob)return m(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(b(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o.formData&&(this.formData=function(){return this.text().then(J)}),this.json=function(){return this.text().then(JSON.parse)},this}var E=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function _(v){var I=v.toUpperCase();return E.indexOf(I)>-1?I:v}function P(v,I){if(!(this instanceof P))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');I=I||{};var O=I.body;if(v instanceof P){if(v.bodyUsed)throw new TypeError("Already read");this.url=v.url,this.credentials=v.credentials,I.headers||(this.headers=new d(v.headers)),this.method=v.method,this.mode=v.mode,this.signal=v.signal,!O&&v._bodyInit!=null&&(O=v._bodyInit,v.bodyUsed=!0)}else this.url=String(v);if(this.credentials=I.credentials||this.credentials||"same-origin",(I.headers||!this.headers)&&(this.headers=new d(I.headers)),this.method=_(I.method||this.method||"GET"),this.mode=I.mode||this.mode||null,this.signal=I.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&O)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(O),(this.method==="GET"||this.method==="HEAD")&&(I.cache==="no-store"||I.cache==="no-cache")){var Pe=/([?&])_=[^&]*/;if(Pe.test(this.url))this.url=this.url.replace(Pe,"$1_="+new Date().getTime());else{var ze=/\?/;this.url+=(ze.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}P.prototype.clone=function(){return new P(this,{body:this._bodyInit})};function J(v){var I=new FormData;return v.trim().split("&").forEach(function(O){if(O){var Pe=O.split("="),ze=Pe.shift().replace(/\+/g," "),ve=Pe.join("=").replace(/\+/g," ");I.append(decodeURIComponent(ze),decodeURIComponent(ve))}}),I}function L(v){var I=new d,O=v.replace(/\r?\n[\t ]+/g," ");return O.split("\r").map(function(Pe){return Pe.indexOf(`
|
2
|
-
`)===0?Pe.substr(1,Pe.length):Pe}).forEach(function(Pe){var ze=Pe.split(":"),ve=ze.shift().trim();if(ve){var cl=ze.join(":").trim();I.append(ve,cl)}}),I}k.call(P.prototype);function G(v,I){if(!(this instanceof G))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');I||(I={}),this.type="default",this.status=I.status===void 0?200:I.status,this.ok=this.status>=200&&this.status<300,this.statusText=I.statusText===void 0?"":""+I.statusText,this.headers=new d(I.headers),this.url=I.url||"",this._initBody(v)}k.call(G.prototype),G.prototype.clone=function(){return new G(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},G.error=function(){var v=new G(null,{status:0,statusText:""});return v.type="error",v};var ot=[301,302,303,307,308];G.redirect=function(v,I){if(ot.indexOf(I)===-1)throw new RangeError("Invalid status code");return new G(null,{status:I,headers:{location:v}})},r.DOMException=n.DOMException;try{new r.DOMException}catch{r.DOMException=function(I,O){this.message=I,this.name=O;var Pe=Error(I);this.stack=Pe.stack},r.DOMException.prototype=Object.create(Error.prototype),r.DOMException.prototype.constructor=r.DOMException}function mn(v,I){return new Promise(function(O,Pe){var ze=new P(v,I);if(ze.signal&&ze.signal.aborted)return Pe(new r.DOMException("Aborted","AbortError"));var ve=new XMLHttpRequest;function cl(){ve.abort()}ve.onload=function(){var Mt={status:ve.status,statusText:ve.statusText,headers:L(ve.getAllResponseHeaders()||"")};Mt.url="responseURL"in ve?ve.responseURL:Mt.headers.get("X-Request-URL");var ul="response"in ve?ve.response:ve.responseText;setTimeout(function(){O(new G(ul,Mt))},0)},ve.onerror=function(){setTimeout(function(){Pe(new TypeError("Network request failed"))},0)},ve.ontimeout=function(){setTimeout(function(){Pe(new TypeError("Network request failed"))},0)},ve.onabort=function(){setTimeout(function(){Pe(new r.DOMException("Aborted","AbortError"))},0)};function QB(Mt){try{return Mt===""&&n.location.href?n.location.href:Mt}catch{return Mt}}ve.open(ze.method,QB(ze.url),!0),ze.credentials==="include"?ve.withCredentials=!0:ze.credentials==="omit"&&(ve.withCredentials=!1),"responseType"in ve&&(o.blob?ve.responseType="blob":o.arrayBuffer&&ze.headers.get("Content-Type")&&ze.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(ve.responseType="arraybuffer")),I&&typeof I.headers=="object"&&!(I.headers instanceof d)?Object.getOwnPropertyNames(I.headers).forEach(function(Mt){ve.setRequestHeader(Mt,u(I.headers[Mt]))}):ze.headers.forEach(function(Mt,ul){ve.setRequestHeader(ul,Mt)}),ze.signal&&(ze.signal.addEventListener("abort",cl),ve.onreadystatechange=function(){ve.readyState===4&&ze.signal.removeEventListener("abort",cl)}),ve.send(typeof ze._bodyInit>"u"?null:ze._bodyInit)})}return mn.polyfill=!0,n.fetch||(n.fetch=mn,n.Headers=d,n.Request=P,n.Response=G),r.Headers=d,r.Request=P,r.Response=G,r.fetch=mn,r}({})})(fl);fl.fetch.ponyfill=!0;delete fl.fetch.polyfill;var qs=dl.fetch?dl:fl;gn=qs.fetch;gn.default=qs.fetch;gn.fetch=qs.fetch;gn.Headers=qs.Headers;gn.Request=qs.Request;gn.Response=qs.Response;Ak.exports=gn});var M1=oe((_W,$1)=>{$1.exports=dy;var O1=128,c6=127,u6=~c6,l6=Math.pow(2,31);function dy(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw dy.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=l6;)e[r++]=t&255|O1,t/=128;for(;t&u6;)e[r++]=t&255|O1,t>>>=7;return e[r]=t|0,dy.bytes=r-n+1,e}});var j1=oe((AW,z1)=>{z1.exports=fy;var d6=128,F1=127;function fy(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a||o>49)throw fy.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&F1)<<o:(i&F1)*Math.pow(2,o),o+=7}while(i>=d6);return fy.bytes=s-n,r}});var H1=oe((DW,W1)=>{var f6=Math.pow(2,7),h6=Math.pow(2,14),p6=Math.pow(2,21),m6=Math.pow(2,28),y6=Math.pow(2,35),g6=Math.pow(2,42),w6=Math.pow(2,49),b6=Math.pow(2,56),x6=Math.pow(2,63);W1.exports=function(t){return t<f6?1:t<h6?2:t<p6?3:t<m6?4:t<y6?5:t<g6?6:t<w6?7:t<b6?8:t<x6?9:10}});var jl=oe((TW,q1)=>{q1.exports={encode:M1(),decode:j1(),encodingLength:H1()}});var _E=oe(()=>{});var k2=oe((iZ,x2)=>{function Jt(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}x2.exports=Jt;Jt.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Jt.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Jt.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};Jt.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Jt.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Jt.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Jt.prototype.start=Jt.prototype.try;Jt.prototype.errors=function(){return this._errors};Jt.prototype.attempts=function(){return this._attempts};Jt.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,r=0,n=0;n<this._errors.length;n++){var o=this._errors[n],s=o.message,i=(t[s]||0)+1;t[s]=i,i>=r&&(e=o,r=i)}return e}});var v2=oe(ss=>{var eN=k2();ss.operation=function(t){var e=ss.timeouts(t);return new eN(e,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};ss.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],o=0;o<e.retries;o++)n.push(this.createTimeout(o,e));return t&&t.forever&&!n.length&&n.push(this.createTimeout(o,e)),n.sort(function(s,i){return s-i}),n};ss.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,n=Math.round(r*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return n=Math.min(n,e.maxTimeout),n};ss.wrap=function(t,e,r){if(e instanceof Array&&(r=e,e=null),!r){r=[];for(var n in t)typeof t[n]=="function"&&r.push(n)}for(var o=0;o<r.length;o++){var s=r[o],i=t[s];t[s]=function(c){var u=ss.operation(e),l=Array.prototype.slice.call(arguments,1),d=l.pop();l.push(function(p){u.retry(p)||(p&&(arguments[0]=u.mainError()),d.apply(this,arguments))}),u.attempt(function(){c.apply(t,l)})}.bind(t,i),t[s].options=e}}});var E2=oe((cZ,S2)=>{S2.exports=v2()});var D2=oe(Df=>{"use strict";var Fw=class extends Error{constructor(e="Request timed out"){super(e),this.name="TimeoutError"}};Df.TimeoutError=Fw;var zw=class extends Error{constructor(e="The operation was aborted."){super(e),this.name="AbortError"}};Df.AbortError=zw;var jw=class extends Error{constructor(e){super(e.statusText),this.name="HTTPError",this.response=e}};Df.HTTPError=jw});var Wc=oe((zi,T2)=>{"use strict";var sN=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},is=sN();T2.exports=zi=is.fetch;is.fetch&&(zi.default=is.fetch.bind(is));zi.Headers=is.Headers;zi.Request=is.Request;zi.Response=is.Response});var C2=oe((mZ,Ww)=>{"use strict";globalThis.fetch&&globalThis.Headers&&globalThis.Request&&globalThis.Response?Ww.exports={default:globalThis.fetch,Headers:globalThis.Headers,Request:globalThis.Request,Response:globalThis.Response}:Ww.exports={default:Wc().default,Headers:Wc().Headers,Request:Wc().Request,Response:Wc().Response}});var B2=oe((yZ,I2)=>{"use strict";I2.exports=C2()});var U2=oe((gZ,L2)=>{"use strict";var{TimeoutError:iN,AbortError:aN}=D2(),{Response:P2,Request:cN,Headers:qw,default:uN}=B2(),lN=(t,e={})=>{let r=new XMLHttpRequest;r.open(e.method||"GET",t.toString(),!0);let{timeout:n,headers:o}=e;if(n&&n>0&&n<1/0&&(r.timeout=n),e.overrideMimeType!=null&&r.overrideMimeType(e.overrideMimeType),o)for(let[s,i]of new qw(o))r.setRequestHeader(s,i);return e.signal&&(e.signal.onabort=()=>r.abort()),e.onUploadProgress&&(r.upload.onprogress=e.onUploadProgress),r.responseType="arraybuffer",new Promise((s,i)=>{let a=c=>{switch(c.type){case"error":{s(P2.error());break}case"load":{s(new Hw(r.responseURL,r.response,{status:r.status,statusText:r.statusText,headers:hN(r.getAllResponseHeaders())}));break}case"timeout":{i(new iN);break}case"abort":{i(new aN);break}default:break}};r.onerror=a,r.onload=a,r.ontimeout=a,r.onabort=a,r.send(e.body)})},dN=uN,fN=(t,e={})=>e.onUploadProgress!=null?lN(t,e):dN(t,e),hN=t=>{let e=new qw;for(let r of t.trim().split(/[\r\n]+/)){let n=r.indexOf(": ");n>0&&e.set(r.slice(0,n),r.slice(n+1))}return e},Hw=class extends P2{constructor(e,r,n){super(r,n),Object.defineProperty(this,"url",{value:e})}};L2.exports={fetch:fN,Request:cN,Headers:qw}});var V2=oe((FZ,q2)=>{"use strict";q2.exports=LN;function LN(t,e){for(var r=new Array(arguments.length-1),n=0,o=2,s=!0;o<arguments.length;)r[n++]=arguments[o++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var d=new Array(arguments.length-1),p=0;p<d.length;)d[p++]=arguments[p];a.apply(null,d)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var J2=oe(Z2=>{"use strict";var Uf=Z2;Uf.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var qi=new Array(64),K2=new Array(123);for(lr=0;lr<64;)K2[qi[lr]=lr<26?lr+65:lr<52?lr+71:lr<62?lr-4:lr-59|43]=lr++;var lr;Uf.encode=function(e,r,n){for(var o=null,s=[],i=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[i++]=qi[u>>2],c=(u&3)<<4,a=1;break;case 1:s[i++]=qi[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[i++]=qi[c|u>>6],s[i++]=qi[u&63],a=0;break}i>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),i=0)}return a&&(s[i++]=qi[c],s[i++]=61,a===1&&(s[i++]=61)),o?(i&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))};var G2="invalid encoding";Uf.decode=function(e,r,n){for(var o=n,s=0,i,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=K2[c])===void 0)throw Error(G2);switch(s){case 0:i=c,s=1;break;case 1:r[n++]=i<<2|(c&48)>>4,i=c,s=2;break;case 2:r[n++]=(i&15)<<4|(c&60)>>2,i=c,s=3;break;case 3:r[n++]=(i&3)<<6|c,s=0;break}}if(s===1)throw Error(G2);return n-o};Uf.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var X2=oe((jZ,Q2)=>{"use strict";Q2.exports=Rf;function Rf(){this._listeners={}}Rf.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Rf.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],o=0;o<n.length;)n[o].fn===r?n.splice(o,1):++o;return this};Rf.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],o=1;o<arguments.length;)n.push(arguments[o++]);for(o=0;o<r.length;)r[o].fn.apply(r[o++].ctx,n)}return this}});var sA=oe((WZ,oA)=>{"use strict";oA.exports=Y2(Y2);function Y2(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function o(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?o:s,t.writeFloatBE=n?s:o;function i(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?i:a,t.readFloatBE=n?a:i}():function(){function e(n,o,s,i){var a=o<0?1:0;if(a&&(o=-o),o===0)n(1/o>0?0:2147483648,s,i);else if(isNaN(o))n(2143289344,s,i);else if(o>34028234663852886e22)n((a<<31|2139095040)>>>0,s,i);else if(o<11754943508222875e-54)n((a<<31|Math.round(o/1401298464324817e-60))>>>0,s,i);else{var c=Math.floor(Math.log(o)/Math.LN2),u=Math.round(o*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,i)}}t.writeFloatLE=e.bind(null,eA),t.writeFloatBE=e.bind(null,tA);function r(n,o,s){var i=n(o,s),a=(i>>31)*2+1,c=i>>>23&255,u=i&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,rA),t.readFloatBE=r.bind(null,nA)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function o(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?o:s,t.writeDoubleBE=n?s:o;function i(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?i:a,t.readDoubleBE=n?a:i}():function(){function e(n,o,s,i,a,c){var u=i<0?1:0;if(u&&(i=-i),i===0)n(0,a,c+o),n(1/i>0?0:2147483648,a,c+s);else if(isNaN(i))n(0,a,c+o),n(2146959360,a,c+s);else if(i>17976931348623157e292)n(0,a,c+o),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(i<22250738585072014e-324)l=i/5e-324,n(l>>>0,a,c+o),n((u<<31|l/4294967296)>>>0,a,c+s);else{var d=Math.floor(Math.log(i)/Math.LN2);d===1024&&(d=1023),l=i*Math.pow(2,-d),n(l*4503599627370496>>>0,a,c+o),n((u<<31|d+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,eA,0,4),t.writeDoubleBE=e.bind(null,tA,4,0);function r(n,o,s,i,a){var c=n(i,a+o),u=n(i,a+s),l=(u>>31)*2+1,d=u>>>20&2047,p=4294967296*(u&1048575)+c;return d===2047?p?NaN:l*(1/0):d===0?l*5e-324*p:l*Math.pow(2,d-1075)*(p+4503599627370496)}t.readDoubleLE=r.bind(null,rA,0,4),t.readDoubleBE=r.bind(null,nA,4,0)}(),t}function eA(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function tA(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function rA(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function nA(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var iA=oe((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var cA=oe(aA=>{"use strict";var Qw=aA;Qw.length=function(e){for(var r=0,n=0,o=0;o<e.length;++o)n=e.charCodeAt(o),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(o+1)&64512)===56320?(++o,r+=4):r+=3;return r};Qw.read=function(e,r,n){var o=n-r;if(o<1)return"";for(var s=null,i=[],a=0,c;r<n;)c=e[r++],c<128?i[a++]=c:c>191&&c<224?i[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,i[a++]=55296+(c>>10),i[a++]=56320+(c&1023)):i[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,i)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,i.slice(0,a))),s.join("")):String.fromCharCode.apply(String,i.slice(0,a))};Qw.write=function(e,r,n){for(var o=n,s,i,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((i=e.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(i&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-o}});var lA=oe((qZ,uA)=>{"use strict";uA.exports=UN;function UN(t,e,r){var n=r||8192,o=n>>>1,s=null,i=n;return function(c){if(c<1||c>o)return t(c);i+c>n&&(s=t(n),i=0);var u=e.call(s,i,i+=c);return i&7&&(i=(i|7)+1),u}}});var fA=oe((VZ,dA)=>{"use strict";dA.exports=Ye;var qc=on();function Ye(t,e){this.lo=t>>>0,this.hi=e>>>0}var as=Ye.zero=new Ye(0,0);as.toNumber=function(){return 0};as.zzEncode=as.zzDecode=function(){return this};as.length=function(){return 1};var RN=Ye.zeroHash="\0\0\0\0\0\0\0\0";Ye.fromNumber=function(e){if(e===0)return as;var r=e<0;r&&(e=-e);var n=e>>>0,o=(e-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new Ye(n,o)};Ye.from=function(e){if(typeof e=="number")return Ye.fromNumber(e);if(qc.isString(e))if(qc.Long)e=qc.Long.fromString(e);else return Ye.fromNumber(parseInt(e,10));return e.low||e.high?new Ye(e.low>>>0,e.high>>>0):as};Ye.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ye.prototype.toLong=function(e){return qc.Long?new qc.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Qn=String.prototype.charCodeAt;Ye.fromHash=function(e){return e===RN?as:new Ye((Qn.call(e,0)|Qn.call(e,1)<<8|Qn.call(e,2)<<16|Qn.call(e,3)<<24)>>>0,(Qn.call(e,4)|Qn.call(e,5)<<8|Qn.call(e,6)<<16|Qn.call(e,7)<<24)>>>0)};Ye.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Ye.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Ye.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Ye.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var on=oe(Xw=>{"use strict";var H=Xw;H.asPromise=V2();H.base64=J2();H.EventEmitter=X2();H.float=sA();H.inquire=iA();H.utf8=cA();H.pool=lA();H.LongBits=fA();H.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node);H.global=H.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||Xw;H.emptyArray=Object.freeze?Object.freeze([]):[];H.emptyObject=Object.freeze?Object.freeze({}):{};H.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};H.isString=function(e){return typeof e=="string"||e instanceof String};H.isObject=function(e){return e&&typeof e=="object"};H.isset=H.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};H.Buffer=function(){try{var t=H.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();H._Buffer_from=null;H._Buffer_allocUnsafe=null;H.newBuffer=function(e){return typeof e=="number"?H.Buffer?H._Buffer_allocUnsafe(e):new H.Array(e):H.Buffer?H._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};H.Array=typeof Uint8Array<"u"?Uint8Array:Array;H.Long=H.global.dcodeIO&&H.global.dcodeIO.Long||H.global.Long||H.inquire("long");H.key2Re=/^true|false|0|1$/;H.key32Re=/^-?(?:0|[1-9][0-9]*)$/;H.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;H.longToHash=function(e){return e?H.LongBits.from(e).toHash():H.LongBits.zeroHash};H.longFromHash=function(e,r){var n=H.LongBits.fromHash(e);return H.Long?H.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function hA(t,e,r){for(var n=Object.keys(e),o=0;o<n.length;++o)(t[n[o]]===void 0||!r)&&(t[n[o]]=e[n[o]]);return t}H.merge=hA;H.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function pA(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&hA(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}H.newError=pA;H.ProtocolError=pA("ProtocolError");H.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var o=Object.keys(this),s=o.length-1;s>-1;--s)if(r[o[s]]===1&&this[o[s]]!==void 0&&this[o[s]]!==null)return o[s]}};H.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};H.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};H._configure=function(){var t=H.Buffer;if(!t){H._Buffer_from=H._Buffer_allocUnsafe=null;return}H._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},H._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Of=oe((KZ,wA)=>{"use strict";wA.exports=pe;var Qt=on(),Yw,Nf=Qt.LongBits,mA=Qt.base64,yA=Qt.utf8;function Vc(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function tb(){}function NN(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function pe(){this.len=0,this.head=new Vc(tb,0,0),this.tail=this.head,this.states=null}var gA=function(){return Qt.Buffer?function(){return(pe.create=function(){return new Yw})()}:function(){return new pe}};pe.create=gA();pe.alloc=function(e){return new Qt.Array(e)};Qt.Array!==Array&&(pe.alloc=Qt.pool(pe.alloc,Qt.Array.prototype.subarray));pe.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Vc(e,r,n),this.len+=r,this};function rb(t,e,r){e[r]=t&255}function ON(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function nb(t,e){this.len=t,this.next=void 0,this.val=e}nb.prototype=Object.create(Vc.prototype);nb.prototype.fn=ON;pe.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new nb((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};pe.prototype.int32=function(e){return e<0?this._push(ob,10,Nf.fromNumber(e)):this.uint32(e)};pe.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function ob(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}pe.prototype.uint64=function(e){var r=Nf.from(e);return this._push(ob,r.length(),r)};pe.prototype.int64=pe.prototype.uint64;pe.prototype.sint64=function(e){var r=Nf.from(e).zzEncode();return this._push(ob,r.length(),r)};pe.prototype.bool=function(e){return this._push(rb,1,e?1:0)};function eb(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}pe.prototype.fixed32=function(e){return this._push(eb,4,e>>>0)};pe.prototype.sfixed32=pe.prototype.fixed32;pe.prototype.fixed64=function(e){var r=Nf.from(e);return this._push(eb,4,r.lo)._push(eb,4,r.hi)};pe.prototype.sfixed64=pe.prototype.fixed64;pe.prototype.float=function(e){return this._push(Qt.float.writeFloatLE,4,e)};pe.prototype.double=function(e){return this._push(Qt.float.writeDoubleLE,8,e)};var $N=Qt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var o=0;o<e.length;++o)r[n+o]=e[o]};pe.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(rb,1,0);if(Qt.isString(e)){var n=pe.alloc(r=mA.length(e));mA.decode(e,n,0),e=n}return this.uint32(r)._push($N,r,e)};pe.prototype.string=function(e){var r=yA.length(e);return r?this.uint32(r)._push(yA.write,r,e):this._push(rb,1,0)};pe.prototype.fork=function(){return this.states=new NN(this),this.head=this.tail=new Vc(tb,0,0),this.len=0,this};pe.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Vc(tb,0,0),this.len=0),this};pe.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};pe.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};pe._configure=function(t){Yw=t,pe.create=gA(),Yw._configure()}});var sb=oe((ZZ,xA)=>{"use strict";xA.exports=Ir;var bA=Of();(Ir.prototype=Object.create(bA.prototype)).constructor=Ir;var Xn=on();function Ir(){bA.call(this)}Ir._configure=function(){Ir.alloc=Xn._Buffer_allocUnsafe,Ir.writeBytesBuffer=Xn.Buffer&&Xn.Buffer.prototype instanceof Uint8Array&&Xn.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var o=0;o<e.length;)r[n++]=e[o++]}};Ir.prototype.bytes=function(e){Xn.isString(e)&&(e=Xn._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Ir.writeBytesBuffer,r,e),this};function MN(t,e,r){t.length<40?Xn.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Ir.prototype.string=function(e){var r=Xn.Buffer.byteLength(e);return this.uint32(r),r&&this._push(MN,r,e),this};Ir._configure()});var Mf=oe((JZ,_A)=>{"use strict";_A.exports=We;var Br=on(),ab,SA=Br.LongBits,FN=Br.utf8;function dr(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function We(t){this.buf=t,this.pos=0,this.len=t.length}var kA=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new We(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new We(e);throw Error("illegal buffer")},EA=function(){return Br.Buffer?function(r){return(We.create=function(o){return Br.Buffer.isBuffer(o)?new ab(o):kA(o)})(r)}:kA};We.create=EA();We.prototype._slice=Br.Array.prototype.subarray||Br.Array.prototype.slice;We.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,dr(this,10);return e}}();We.prototype.int32=function(){return this.uint32()|0};We.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function ib(){var t=new SA(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw dr(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw dr(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}We.prototype.bool=function(){return this.uint32()!==0};function $f(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}We.prototype.fixed32=function(){if(this.pos+4>this.len)throw dr(this,4);return $f(this.buf,this.pos+=4)};We.prototype.sfixed32=function(){if(this.pos+4>this.len)throw dr(this,4);return $f(this.buf,this.pos+=4)|0};function vA(){if(this.pos+8>this.len)throw dr(this,8);return new SA($f(this.buf,this.pos+=4),$f(this.buf,this.pos+=4))}We.prototype.float=function(){if(this.pos+4>this.len)throw dr(this,4);var e=Br.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};We.prototype.double=function(){if(this.pos+8>this.len)throw dr(this,4);var e=Br.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};We.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw dr(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};We.prototype.string=function(){var e=this.bytes();return FN.read(e,0,e.length)};We.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw dr(this,e);this.pos+=e}else do if(this.pos>=this.len)throw dr(this);while(this.buf[this.pos++]&128);return this};We.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};We._configure=function(t){ab=t,We.create=EA(),ab._configure();var e=Br.Long?"toLong":"toNumber";Br.merge(We.prototype,{int64:function(){return ib.call(this)[e](!1)},uint64:function(){return ib.call(this)[e](!0)},sint64:function(){return ib.call(this).zzDecode()[e](!1)},fixed64:function(){return vA.call(this)[e](!0)},sfixed64:function(){return vA.call(this)[e](!1)}})}});var cb=oe((QZ,TA)=>{"use strict";TA.exports=cs;var DA=Mf();(cs.prototype=Object.create(DA.prototype)).constructor=cs;var AA=on();function cs(t){DA.call(this,t)}cs._configure=function(){AA.Buffer&&(cs.prototype._slice=AA.Buffer.prototype.slice)};cs.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};cs._configure()});var IA=oe((XZ,CA)=>{"use strict";CA.exports=Gc;var ub=on();(Gc.prototype=Object.create(ub.EventEmitter.prototype)).constructor=Gc;function Gc(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");ub.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=!!e,this.responseDelimited=!!r}Gc.prototype.rpcCall=function t(e,r,n,o,s){if(!o)throw TypeError("request must be specified");var i=this;if(!s)return ub.asPromise(t,i,e,r,n,o);if(!i.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return i.rpcImpl(e,r[i.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(c,u){if(c)return i.emit("error",c,e),s(c);if(u===null){i.end(!0);return}if(!(u instanceof n))try{u=n[i.responseDelimited?"decodeDelimited":"decode"](u)}catch(l){return i.emit("error",l,e),s(l)}return i.emit("data",u,e),s(null,u)})}catch(a){i.emit("error",a,e),setTimeout(function(){s(a)},0);return}};Gc.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var PA=oe(BA=>{"use strict";var zN=BA;zN.Service=IA()});var UA=oe((eJ,LA)=>{"use strict";LA.exports={}});var OA=oe(NA=>{"use strict";var xt=NA;xt.build="minimal";xt.Writer=Of();xt.BufferWriter=sb();xt.Reader=Mf();xt.BufferReader=cb();xt.util=on();xt.rpc=PA();xt.roots=UA();xt.configure=RA;function RA(){xt.util._configure(),xt.Writer._configure(xt.BufferWriter),xt.Reader._configure(xt.BufferReader)}RA()});var MA=oe((rJ,$A)=>{"use strict";$A.exports=OA()});var RD=oe((au,oh)=>{(function(t,e){"use strict";var r={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(f){if(!Array.isArray(f)&&!ArrayBuffer.isView(f))return!1;for(var h=0;h<f.length;h++)if(!Number.isInteger(f[h])||f[h]<0||f[h]>255)return!1;return!0}function o(f,h){return(f&65535)*h+(((f>>>16)*h&65535)<<16)}function s(f,h){return f<<h|f>>>32-h}function i(f){return f^=f>>>16,f=o(f,2246822507),f^=f>>>13,f=o(f,3266489909),f^=f>>>16,f}function a(f,h){f=[f[0]>>>16,f[0]&65535,f[1]>>>16,f[1]&65535],h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535];var m=[0,0,0,0];return m[3]+=f[3]+h[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=f[2]+h[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=f[1]+h[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=f[0]+h[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function c(f,h){f=[f[0]>>>16,f[0]&65535,f[1]>>>16,f[1]&65535],h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535];var m=[0,0,0,0];return m[3]+=f[3]*h[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=f[2]*h[3],m[1]+=m[2]>>>16,m[2]&=65535,m[2]+=f[3]*h[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=f[1]*h[3],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=f[2]*h[2],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=f[3]*h[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=f[0]*h[3]+f[1]*h[2]+f[2]*h[1]+f[3]*h[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function u(f,h){return h%=64,h===32?[f[1],f[0]]:h<32?[f[0]<<h|f[1]>>>32-h,f[1]<<h|f[0]>>>32-h]:(h-=32,[f[1]<<h|f[0]>>>32-h,f[0]<<h|f[1]>>>32-h])}function l(f,h){return h%=64,h===0?f:h<32?[f[0]<<h|f[1]>>>32-h,f[1]<<h]:[f[1]<<h-32,0]}function d(f,h){return[f[0]^h[0],f[1]^h[1]]}function p(f){return f=d(f,[0,f[0]>>>1]),f=c(f,[4283543511,3981806797]),f=d(f,[0,f[0]>>>1]),f=c(f,[3301882366,444984403]),f=d(f,[0,f[0]>>>1]),f}r.x86.hash32=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var m=f.length%4,b=f.length-m,g=h,k=0,E=3432918353,_=461845907,P=0;P<b;P=P+4)k=f[P]|f[P+1]<<8|f[P+2]<<16|f[P+3]<<24,k=o(k,E),k=s(k,15),k=o(k,_),g^=k,g=s(g,13),g=o(g,5)+3864292196;switch(k=0,m){case 3:k^=f[P+2]<<16;case 2:k^=f[P+1]<<8;case 1:k^=f[P],k=o(k,E),k=s(k,15),k=o(k,_),g^=k}return g^=f.length,g=i(g),g>>>0},r.x86.hash128=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var m=f.length%16,b=f.length-m,g=h,k=h,E=h,_=h,P=0,J=0,L=0,G=0,ot=597399067,mn=2869860233,v=951274213,I=2716044179,O=0;O<b;O=O+16)P=f[O]|f[O+1]<<8|f[O+2]<<16|f[O+3]<<24,J=f[O+4]|f[O+5]<<8|f[O+6]<<16|f[O+7]<<24,L=f[O+8]|f[O+9]<<8|f[O+10]<<16|f[O+11]<<24,G=f[O+12]|f[O+13]<<8|f[O+14]<<16|f[O+15]<<24,P=o(P,ot),P=s(P,15),P=o(P,mn),g^=P,g=s(g,19),g+=k,g=o(g,5)+1444728091,J=o(J,mn),J=s(J,16),J=o(J,v),k^=J,k=s(k,17),k+=E,k=o(k,5)+197830471,L=o(L,v),L=s(L,17),L=o(L,I),E^=L,E=s(E,15),E+=_,E=o(E,5)+2530024501,G=o(G,I),G=s(G,18),G=o(G,ot),_^=G,_=s(_,13),_+=g,_=o(_,5)+850148119;switch(P=0,J=0,L=0,G=0,m){case 15:G^=f[O+14]<<16;case 14:G^=f[O+13]<<8;case 13:G^=f[O+12],G=o(G,I),G=s(G,18),G=o(G,ot),_^=G;case 12:L^=f[O+11]<<24;case 11:L^=f[O+10]<<16;case 10:L^=f[O+9]<<8;case 9:L^=f[O+8],L=o(L,v),L=s(L,17),L=o(L,I),E^=L;case 8:J^=f[O+7]<<24;case 7:J^=f[O+6]<<16;case 6:J^=f[O+5]<<8;case 5:J^=f[O+4],J=o(J,mn),J=s(J,16),J=o(J,v),k^=J;case 4:P^=f[O+3]<<24;case 3:P^=f[O+2]<<16;case 2:P^=f[O+1]<<8;case 1:P^=f[O],P=o(P,ot),P=s(P,15),P=o(P,mn),g^=P}return g^=f.length,k^=f.length,E^=f.length,_^=f.length,g+=k,g+=E,g+=_,k+=g,E+=g,_+=g,g=i(g),k=i(k),E=i(E),_=i(_),g+=k,g+=E,g+=_,k+=g,E+=g,_+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(k>>>0).toString(16)).slice(-8)+("00000000"+(E>>>0).toString(16)).slice(-8)+("00000000"+(_>>>0).toString(16)).slice(-8)},r.x64.hash128=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var m=f.length%16,b=f.length-m,g=[0,h],k=[0,h],E=[0,0],_=[0,0],P=[2277735313,289559509],J=[1291169091,658871167],L=0;L<b;L=L+16)E=[f[L+4]|f[L+5]<<8|f[L+6]<<16|f[L+7]<<24,f[L]|f[L+1]<<8|f[L+2]<<16|f[L+3]<<24],_=[f[L+12]|f[L+13]<<8|f[L+14]<<16|f[L+15]<<24,f[L+8]|f[L+9]<<8|f[L+10]<<16|f[L+11]<<24],E=c(E,P),E=u(E,31),E=c(E,J),g=d(g,E),g=u(g,27),g=a(g,k),g=a(c(g,[0,5]),[0,1390208809]),_=c(_,J),_=u(_,33),_=c(_,P),k=d(k,_),k=u(k,31),k=a(k,g),k=a(c(k,[0,5]),[0,944331445]);switch(E=[0,0],_=[0,0],m){case 15:_=d(_,l([0,f[L+14]],48));case 14:_=d(_,l([0,f[L+13]],40));case 13:_=d(_,l([0,f[L+12]],32));case 12:_=d(_,l([0,f[L+11]],24));case 11:_=d(_,l([0,f[L+10]],16));case 10:_=d(_,l([0,f[L+9]],8));case 9:_=d(_,[0,f[L+8]]),_=c(_,J),_=u(_,33),_=c(_,P),k=d(k,_);case 8:E=d(E,l([0,f[L+7]],56));case 7:E=d(E,l([0,f[L+6]],48));case 6:E=d(E,l([0,f[L+5]],40));case 5:E=d(E,l([0,f[L+4]],32));case 4:E=d(E,l([0,f[L+3]],24));case 3:E=d(E,l([0,f[L+2]],16));case 2:E=d(E,l([0,f[L+1]],8));case 1:E=d(E,[0,f[L]]),E=c(E,P),E=u(E,31),E=c(E,J),g=d(g,E)}return g=d(g,[0,f.length]),k=d(k,[0,f.length]),g=a(g,k),k=a(k,g),g=p(g),k=p(k),g=a(g,k),k=a(k,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(k[0]>>>0).toString(16)).slice(-8)+("00000000"+(k[1]>>>0).toString(16)).slice(-8)},typeof au<"u"?(typeof oh<"u"&&oh.exports&&(au=oh.exports=r),au.murmurHash3=r):typeof define=="function"&&define.amd?define([],function(){return r}):(r._murmurHash3=t.murmurHash3,r.noConflict=function(){return t.murmurHash3=r._murmurHash3,r._murmurHash3=e,r.noConflict=e,r},t.murmurHash3=r)})(au)});var jb=oe((TJ,ND)=>{ND.exports=RD()});var CT=oe((jQ,ix)=>{"use strict";var HO=Object.prototype.hasOwnProperty,ht="~";function vu(){}Object.create&&(vu.prototype=Object.create(null),new vu().__proto__||(ht=!1));function qO(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function TT(t,e,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new qO(r,n||t,o),i=ht?ht+e:e;return t._events[i]?t._events[i].fn?t._events[i]=[t._events[i],s]:t._events[i].push(s):(t._events[i]=s,t._eventsCount++),t}function vh(t,e){--t._eventsCount===0?t._events=new vu:delete t._events[e]}function at(){this._events=new vu,this._eventsCount=0}at.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)HO.call(r,n)&&e.push(ht?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};at.prototype.listeners=function(e){var r=ht?ht+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};at.prototype.listenerCount=function(e){var r=ht?ht+e:e,n=this._events[r];return n?n.fn?1:n.length:0};at.prototype.emit=function(e,r,n,o,s,i){var a=ht?ht+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,o),!0;case 5:return c.fn.call(c.context,r,n,o,s),!0;case 6:return c.fn.call(c.context,r,n,o,s,i),!0}for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c.fn.apply(c.context,l)}else{var p=c.length,f;for(d=0;d<p;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),u){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,r);break;case 3:c[d].fn.call(c[d].context,r,n);break;case 4:c[d].fn.call(c[d].context,r,n,o);break;default:if(!l)for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c[d].fn.apply(c[d].context,l)}}return!0};at.prototype.on=function(e,r,n){return TT(this,e,r,n,!1)};at.prototype.once=function(e,r,n){return TT(this,e,r,n,!0)};at.prototype.removeListener=function(e,r,n,o){var s=ht?ht+e:e;if(!this._events[s])return this;if(!r)return vh(this,s),this;var i=this._events[s];if(i.fn)i.fn===r&&(!o||i.once)&&(!n||i.context===n)&&vh(this,s);else{for(var a=0,c=[],u=i.length;a<u;a++)(i[a].fn!==r||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:vh(this,s)}return this};at.prototype.removeAllListeners=function(e){var r;return e?(r=ht?ht+e:e,this._events[r]&&vh(this,r)):(this._events=new vu,this._eventsCount=0),this};at.prototype.off=at.prototype.removeListener;at.prototype.addListener=at.prototype.on;at.prefixed=ht;at.EventEmitter=at;typeof ix<"u"&&(ix.exports=at)});var CI=oe(W0=>{W0.encode=function(t){if(isNaN(t))return"DaN";if(t===0)return"FE 0M0";if(t===1/0)return"FF";if(t===-1/0)return"DD";var e=t.toExponential().split("e"),r=Number(e[1])+500,n=e[0]+(e[0].indexOf(".")===-1?".":"")+"0".repeat(20),o="E"+GF(String(r),3)+"M"+String(n);return t>0?"F"+o:"D"+TI(o)};W0.decode=function(t){if(t==="DaN")return NaN;if(t==="FF")return 1/0;if(t==="DD")return-1/0;var e=t[0]==="D",r=(e?TI(t):t).slice(2).split("M");return+((e?"-":"")+r[1]+"e"+String(Number(r[0])-500))};function TI(t){for(var e="",r=0;r<t.length;r++){var n=t[r];isNaN(Number(n))||n===" "?n!=="-"&&(e+=n):e+=String(9-Number(n))}return e}function GF(t,e){return" ".repeat(e-t.length).substr(0,e)+t}});var BI=oe(II=>{var KF={"?":"?@","!":"??",'"':"?%"};function ZF(t){return/[!"]/.test(t)?t.replace(/[\?!"]/g,function(e){return KF[e]}):t}var JF={"?@":"?","??":"!","?%":'"'};function QF(t){return/\?[%\?@]/.test(t)?t.replace(/\?[%\?@]/g,function(e){return JF[e]}):t}II.factory=function(t){return{encode:e,decode:n};function e(o){if(o===null)return"A";if(!Array.isArray(o))throw new Error("can only encode arrays");var s=o.length;if(s==0)return"K!";for(var i=r(o[0]),a=1;a<s;a++)i+='"'+r(o[a]);return"K"+i+"!"}function r(o){return typeof o=="object"?e(o):ZF(t.encode(o))}function n(o){if(o==="A")return null;if(o==="K!")return[];for(var s=o.split('"'),i=[[]],a,c=0,u=s.length,l=0;l<u;l++){for(var d=s[l],p=d.length,f=0;d[f]=="K";)f++;for(var h=0;d[p-h-1]=="!";)h++;for(var m=d.slice(f,p-h),g=c+f,b=c;b<g;b++)i[b+1]=[],i[b].push(i[b+1]),c=g,a=i[c];m.length!==0&&a.push(t.decode(QF(m)));for(var g=c-h,b=g;b<c;b++)i[b+1]=[],c=g,a=i[c]}return i[0][0]}}});var LI=oe(qe=>{var XF=CI(),YF=BI(),Sre=qe.flip=function(t){var e=t.toString(),r="";for(var n in e)r+=e[n]=="."?".":9-+e[n];return r};qe.number=XF;qe.string={encode:function(t){return/\x00|\x01/.test(t)?"J"+t.replace(/\x01/g,"").replace(/\x00/g,""):"J"+t},decode:function(t){if(t[0]==="J")return t.substring(1)}};qe.encode=function(t){return qe[typeof t].encode(t)};qe.decode=function(t){if(t==="")return t;if(!PI[t[0]])throw new Error("no decoder for:"+JSON.stringify(t));return PI[t[0]](t)};qe.object=YF.factory(qe);qe.boolean={encode:function(t){return t?"C":"B"},decode:function(t){return t==="C"}};qe.undefined={encode:function(t){return"L"},decode:function(){}};var PI={A:qe.object.decode,B:qe.boolean.decode,C:qe.boolean.decode,D:qe.number.decode,F:qe.number.decode,J:qe.string.decode,K:qe.object.decode,L:qe.undefined.decode};qe.buffer=!1;qe.type="charwise"});var Fr=oe((nne,eB)=>{"use strict";function YI(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function hz(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return YI(t,r)}catch{r.message=t.message,r.stack=t.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(t)),YI(new o,r)}}eB.exports=hz});var kB=oe((jne,xB)=>{"use strict";xB.exports=class{constructor(){this._bitArrays=[],this._data=[],this._length=0,this._changedLength=!1,this._changedData=!1}set(e,r){let n=this._internalPositionFor(e,!1);if(r===void 0)n!==-1&&(this._unsetInternalPos(n),this._unsetBit(e),this._changedLength=!0,this._changedData=!0);else{let o=!1;n===-1?(n=this._data.length,this._setBit(e),this._changedData=!0):o=!0,this._setInternalPos(n,e,r,o),this._changedLength=!0}}unset(e){this.set(e,void 0)}get(e){this._sortData();let r=this._internalPositionFor(e,!0);if(r!==-1)return this._data[r][1]}push(e){return this.set(this.length,e),this.length}get length(){if(this._sortData(),this._changedLength){let e=this._data[this._data.length-1];this._length=e?e[0]+1:0,this._changedLength=!1}return this._length}forEach(e){let r=0;for(;r<this.length;)e(this.get(r),r,this),r++}map(e){let r=0,n=new Array(this.length);for(;r<this.length;)n[r]=e(this.get(r),r,this),r++;return n}reduce(e,r){let n=0,o=r;for(;n<this.length;){let s=this.get(n);o=e(o,s,n),n++}return o}find(e){let r=0,n,o;for(;r<this.length&&!n;)o=this.get(r),n=e(o),r++;return n?o:void 0}_internalPositionFor(e,r){let n=this._bytePosFor(e,r);if(n>=this._bitArrays.length)return-1;let o=this._bitArrays[n],s=e-n*7;if(!((o&1<<s)>0))return-1;let a=this._bitArrays.slice(0,n).reduce(Cz,0),c=~(4294967295<<s+1),u=bB(o&c);return a+u-1}_bytePosFor(e,r){let n=Math.floor(e/7),o=n+1;for(;!r&&this._bitArrays.length<o;)this._bitArrays.push(0);return n}_setBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]|=1<<e-r*7}_unsetBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]&=~(1<<e-r*7)}_setInternalPos(e,r,n,o){let s=this._data,i=[r,n];if(o)this._sortData(),s[e]=i;else{if(s.length)if(s[s.length-1][0]>=r)s.push(i);else if(s[0][0]<=r)s.unshift(i);else{let a=Math.round(s.length/2);this._data=s.slice(0,a).concat(i).concat(s.slice(a))}else this._data.push(i);this._changedData=!0,this._changedLength=!0}}_unsetInternalPos(e){this._data.splice(e,1)}_sortData(){this._changedData&&this._data.sort(Iz),this._changedData=!1}bitField(){let e=[],r=8,n=0,o=0,s,i=this._bitArrays.slice();for(;i.length||n;){n===0&&(s=i.shift(),n=7);let c=Math.min(n,r),u=~(255<<c),l=s&u;o|=l<<8-r,s=s>>>c,n-=c,r-=c,(!r||!n&&!i.length)&&(e.push(o),o=0,r=8)}for(var a=e.length-1;a>0&&e[a]===0;a--)e.pop();return e}compactArray(){return this._sortData(),this._data.map(Bz)}};function Cz(t,e){return t+bB(e)}function bB(t){let e=t;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function Iz(t,e){return t[0]-e[0]}function Bz(t){return t[1]}});var yn=class{constructor(){w(this,"ready");w(this,"loaded");w(this,"loader");this.ready=Promise.resolve(),this.loaded=Promise.resolve()}async refresh(){await this.loader.remoteMetaStore.load("main"),await this.loader.remoteWAL?._process()}};var mo=_e(Dk(),1);var hl=class extends yn{constructor(r,n){super();w(this,"uploadUrl");w(this,"downloadUrl");this.uploadUrl=new URL(r),this.downloadUrl=new URL(n)}async dataUpload(r,n){Vs(n);let o=new URL(`${this.uploadUrl.toString()}?${new URLSearchParams(n).toString()}`),s=await(0,mo.default)(o),{uploadURL:i}=await s.json();await(0,mo.default)(i,{method:"PUT",body:r})}async metaUpload(r,n){om(n);let o=new URL(`${this.uploadUrl.toString()}?${new URLSearchParams({type:"meta",...n}).toString()}`),s=await(0,mo.default)(o);if(!s.ok)throw console.log("failed to get upload url for meta",n,s),new Error("failed to get upload url for meta");let{uploadURL:i}=await s.json();if(!i)throw new Error("missing uploadURL");return await(0,mo.default)(i,{method:"PUT",body:r}),null}async dataDownload(r){Vs(r);let{type:n,name:o,car:s}=r,i=new URL(`${n}/${o}/${s}.car`,this.downloadUrl),a=await(0,mo.default)(i);return new Uint8Array(await a.arrayBuffer())}async metaDownload(r){om(r);let{name:n,branch:o}=r,s=new URL(`meta/${n}/${o+".json?cache="+Math.floor(Math.random()*1e6)}`,this.downloadUrl),i=await(0,mo.default)(s);return i.ok?[new Uint8Array(await i.arrayBuffer())]:null}};var Kt={};M(Kt,{ArchiveSchema:()=>wE,Delegation:()=>Gt,View:()=>Gt,allows:()=>N3,archive:()=>gE,create:()=>lg,delegate:()=>wt,exportDAG:()=>cg,extract:()=>$3,importDAG:()=>ug,isDelegation:()=>Lo,isLink:()=>R3,view:()=>xd});var Ae={};M(Ae,{code:()=>Ct,decode:()=>Ge,encode:()=>rr,name:()=>Ka});var s8=["string","number","bigint","symbol"],i8=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Tk(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(s8.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(a8(t))return"Buffer";let r=c8(t);return r||"Object"}function a8(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function c8(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(i8.includes(e))return e}var y=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};y.uint=new y(0,"uint",!0);y.negint=new y(1,"negint",!0);y.bytes=new y(2,"bytes",!0);y.string=new y(3,"string",!0);y.array=new y(4,"array",!1);y.map=new y(5,"map",!1);y.tag=new y(6,"tag",!1);y.float=new y(7,"float",!0);y.false=new y(7,"false",!0);y.true=new y(7,"true",!0);y.null=new y(7,"null",!0);y.undefined=new y(7,"undefined",!0);y.break=new y(7,"break",!0);var D=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Gs=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",u8=new TextDecoder,l8=new TextEncoder;function pl(t){return Gs&&globalThis.Buffer.isBuffer(t)}function Ra(t){return t instanceof Uint8Array?pl(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Pk=Gs?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):Ik(t,e,r):(t,e,r)=>r-e>64?u8.decode(t.subarray(e,r)):Ik(t,e,r),ml=Gs?t=>t.length>64?globalThis.Buffer.from(t):Ck(t):t=>t.length>64?l8.encode(t):Ck(t),gr=t=>Uint8Array.from(t),Ks=Gs?(t,e,r)=>pl(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Lk=Gs?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Ra(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Uk=Gs?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Rk(t,e){if(pl(t)&&pl(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function Ck(t,e=1/0){let r,n=t.length,o=null,s=[];for(let i=0;i<n;++i){if(r=t.charCodeAt(i),r>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(i+1===n){(e-=3)>-1&&s.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&s.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function Ik(t,e,r){let n=[];for(;e<r;){let o=t[e],s=null,i=o>239?4:o>223?3:o>191?2:1;if(e+i<=r){let a,c,u,l;switch(i){case 1:o<128&&(s=o);break;case 2:a=t[e+1],(a&192)===128&&(l=(o&31)<<6|a&63,l>127&&(s=l));break;case 3:a=t[e+1],c=t[e+2],(a&192)===128&&(c&192)===128&&(l=(o&15)<<12|(a&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:a=t[e+1],c=t[e+2],u=t[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(l=(o&15)<<18|(a&63)<<12|(c&63)<<6|u&63,l>65535&&l<1114112&&(s=l))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),e+=i}return sm(n)}var Bk=4096;function sm(t){let e=t.length;if(e<=Bk)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Bk));return r}var d8=256,Na=class{constructor(e=d8){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Uk(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=Ks(n,0,this.cursor)}else r=Lk(this.chunks,this.cursor);return e&&this.reset(),r}};var z="CBOR decode error:",zr="CBOR encode error:",Oa=[];Oa[23]=1;Oa[24]=2;Oa[25]=3;Oa[26]=5;Oa[27]=9;function jr(t,e,r){if(t.length-e<r)throw new Error(`${z} not enough data for type`)}var Ze=[24,256,65536,4294967296,BigInt("18446744073709551616")];function _t(t,e,r){jr(t,e,1);let n=t[e];if(r.strict===!0&&n<Ze[0])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function At(t,e,r){jr(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<Ze[1])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function Dt(t,e,r){jr(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<Ze[2])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function Tt(t,e,r){jr(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&s<Ze[3])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(r.allowBigInt===!0)return s;throw new Error(`${z} integers outside of the safe integer range are not supported`)}function Nk(t,e,r,n){return new D(y.uint,_t(t,e+1,n),2)}function Ok(t,e,r,n){return new D(y.uint,At(t,e+1,n),3)}function $k(t,e,r,n){return new D(y.uint,Dt(t,e+1,n),5)}function Mk(t,e,r,n){return new D(y.uint,Tt(t,e+1,n),9)}function Ft(t,e){return et(t,0,e.value)}function et(t,e,r){if(r<Ze[0]){let n=Number(r);t.push([e|n])}else if(r<Ze[1]){let n=Number(r);t.push([e|24,n])}else if(r<Ze[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<Ze[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<Ze[4]){let o=[e|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,t.push(o)}else throw new Error(`${z} encountered BigInt larger than allowable range`)}}Ft.encodedSize=function(e){return et.encodedSize(e.value)};et.encodedSize=function(e){return e<Ze[0]?1:e<Ze[1]?2:e<Ze[2]?3:e<Ze[3]?5:9};Ft.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Fk(t,e,r,n){return new D(y.negint,-1-_t(t,e+1,n),2)}function zk(t,e,r,n){return new D(y.negint,-1-At(t,e+1,n),3)}function jk(t,e,r,n){return new D(y.negint,-1-Dt(t,e+1,n),5)}var im=BigInt(-1),Wk=BigInt(1);function Hk(t,e,r,n){let o=Tt(t,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new D(y.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${z} integers outside of the safe integer range are not supported`);return new D(y.negint,im-BigInt(o),9)}function yl(t,e){let r=e.value,n=typeof r=="bigint"?r*im-Wk:r*-1-1;et(t,e.type.majorEncoded,n)}yl.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*im-Wk:r*-1-1;return n<Ze[0]?1:n<Ze[1]?2:n<Ze[2]?3:n<Ze[3]?5:9};yl.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function $a(t,e,r,n){jr(t,e,r+n);let o=Ks(t,e+r,e+r+n);return new D(y.bytes,o,r+n)}function qk(t,e,r,n){return $a(t,e,1,r)}function Vk(t,e,r,n){return $a(t,e,2,_t(t,e+1,n))}function Gk(t,e,r,n){return $a(t,e,3,At(t,e+1,n))}function Kk(t,e,r,n){return $a(t,e,5,Dt(t,e+1,n))}function Zk(t,e,r,n){let o=Tt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer bytes lengths not supported`);return $a(t,e,9,o)}function gl(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===y.string?ml(t.value):t.value),t.encodedBytes}function Zs(t,e){let r=gl(e);et(t,e.type.majorEncoded,r.length),t.push(r)}Zs.encodedSize=function(e){let r=gl(e);return et.encodedSize(r.length)+r.length};Zs.compareTokens=function(e,r){return h8(gl(e),gl(r))};function h8(t,e){return t.length<e.length?-1:t.length>e.length?1:Rk(t,e)}function Ma(t,e,r,n,o){let s=r+n;jr(t,e,s);let i=new D(y.string,Pk(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=Ks(t,e+r,e+s)),i}function Jk(t,e,r,n){return Ma(t,e,1,r,n)}function Qk(t,e,r,n){return Ma(t,e,2,_t(t,e+1,n),n)}function Xk(t,e,r,n){return Ma(t,e,3,At(t,e+1,n),n)}function Yk(t,e,r,n){return Ma(t,e,5,Dt(t,e+1,n),n)}function ev(t,e,r,n){let o=Tt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer string lengths not supported`);return Ma(t,e,9,o,n)}var tv=Zs;function Js(t,e,r,n){return new D(y.array,n,r)}function rv(t,e,r,n){return Js(t,e,1,r)}function nv(t,e,r,n){return Js(t,e,2,_t(t,e+1,n))}function ov(t,e,r,n){return Js(t,e,3,At(t,e+1,n))}function sv(t,e,r,n){return Js(t,e,5,Dt(t,e+1,n))}function iv(t,e,r,n){let o=Tt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer array lengths not supported`);return Js(t,e,9,o)}function av(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Js(t,e,1,1/0)}function wl(t,e){et(t,y.array.majorEncoded,e.value)}wl.compareTokens=Ft.compareTokens;wl.encodedSize=function(e){return et.encodedSize(e.value)};function Qs(t,e,r,n){return new D(y.map,n,r)}function cv(t,e,r,n){return Qs(t,e,1,r)}function uv(t,e,r,n){return Qs(t,e,2,_t(t,e+1,n))}function lv(t,e,r,n){return Qs(t,e,3,At(t,e+1,n))}function dv(t,e,r,n){return Qs(t,e,5,Dt(t,e+1,n))}function fv(t,e,r,n){let o=Tt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer map lengths not supported`);return Qs(t,e,9,o)}function hv(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Qs(t,e,1,1/0)}function bl(t,e){et(t,y.map.majorEncoded,e.value)}bl.compareTokens=Ft.compareTokens;bl.encodedSize=function(e){return et.encodedSize(e.value)};function pv(t,e,r,n){return new D(y.tag,r,1)}function mv(t,e,r,n){return new D(y.tag,_t(t,e+1,n),2)}function yv(t,e,r,n){return new D(y.tag,At(t,e+1,n),3)}function gv(t,e,r,n){return new D(y.tag,Dt(t,e+1,n),5)}function wv(t,e,r,n){return new D(y.tag,Tt(t,e+1,n),9)}function xl(t,e){et(t,y.tag.majorEncoded,e.value)}xl.compareTokens=Ft.compareTokens;xl.encodedSize=function(e){return et.encodedSize(e.value)};var b8=20,x8=21,k8=22,v8=23;function bv(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${z} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new D(y.null,null,1):new D(y.undefined,void 0,1)}function xv(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return new D(y.break,void 0,1)}function am(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${z} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${z} Infinity values are not supported`)}return new D(y.float,t,e)}function kv(t,e,r,n){return am(cm(t,e+1),3,n)}function vv(t,e,r,n){return am(um(t,e+1),5,n)}function Sv(t,e,r,n){return am(Dv(t,e+1),9,n)}function kl(t,e,r){let n=e.value;if(n===!1)t.push([y.float.majorEncoded|b8]);else if(n===!0)t.push([y.float.majorEncoded|x8]);else if(n===null)t.push([y.float.majorEncoded|k8]);else if(n===void 0)t.push([y.float.majorEncoded|v8]);else{let o,s=!1;(!r||r.float64!==!0)&&(_v(n),o=cm(er,1),n===o||Number.isNaN(n)?(er[0]=249,t.push(er.slice(0,3)),s=!0):(Av(n),o=um(er,1),n===o&&(er[0]=250,t.push(er.slice(0,5)),s=!0))),s||(S8(n),o=Dv(er,1),er[0]=251,t.push(er.slice(0,9)))}}kl.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){_v(n);let o=cm(er,1);if(n===o||Number.isNaN(n))return 3;if(Av(n),o=um(er,1),n===o)return 5}return 9};var Ev=new ArrayBuffer(9),zt=new DataView(Ev,1),er=new Uint8Array(Ev,0);function _v(t){if(t===1/0)zt.setUint16(0,31744,!1);else if(t===-1/0)zt.setUint16(0,64512,!1);else if(Number.isNaN(t))zt.setUint16(0,32256,!1);else{zt.setFloat32(0,t);let e=zt.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)zt.setUint16(0,31744,!1);else if(r===0)zt.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?zt.setUint16(0,0):o<-14?zt.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):zt.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function cm(t,e){if(t.length-e<2)throw new Error(`${z} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,r&32768?-s:s}function Av(t){zt.setFloat32(0,t,!1)}function um(t,e){if(t.length-e<4)throw new Error(`${z} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function S8(t){zt.setFloat64(0,t,!1)}function Dv(t,e){if(t.length-e<8)throw new Error(`${z} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}kl.compareTokens=Ft.compareTokens;function ye(t,e,r){throw new Error(`${z} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function vl(t){return()=>{throw new Error(`${z} ${t}`)}}var U=[];for(let t=0;t<=23;t++)U[t]=ye;U[24]=Nk;U[25]=Ok;U[26]=$k;U[27]=Mk;U[28]=ye;U[29]=ye;U[30]=ye;U[31]=ye;for(let t=32;t<=55;t++)U[t]=ye;U[56]=Fk;U[57]=zk;U[58]=jk;U[59]=Hk;U[60]=ye;U[61]=ye;U[62]=ye;U[63]=ye;for(let t=64;t<=87;t++)U[t]=qk;U[88]=Vk;U[89]=Gk;U[90]=Kk;U[91]=Zk;U[92]=ye;U[93]=ye;U[94]=ye;U[95]=vl("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)U[t]=Jk;U[120]=Qk;U[121]=Xk;U[122]=Yk;U[123]=ev;U[124]=ye;U[125]=ye;U[126]=ye;U[127]=vl("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)U[t]=rv;U[152]=nv;U[153]=ov;U[154]=sv;U[155]=iv;U[156]=ye;U[157]=ye;U[158]=ye;U[159]=av;for(let t=160;t<=183;t++)U[t]=cv;U[184]=uv;U[185]=lv;U[186]=dv;U[187]=fv;U[188]=ye;U[189]=ye;U[190]=ye;U[191]=hv;for(let t=192;t<=215;t++)U[t]=pv;U[216]=mv;U[217]=yv;U[218]=gv;U[219]=wv;U[220]=ye;U[221]=ye;U[222]=ye;U[223]=ye;for(let t=224;t<=243;t++)U[t]=vl("simple values are not supported");U[244]=ye;U[245]=ye;U[246]=ye;U[247]=bv;U[248]=vl("simple values are not supported");U[249]=kv;U[250]=vv;U[251]=Sv;U[252]=ye;U[253]=ye;U[254]=ye;U[255]=xv;var tr=[];for(let t=0;t<24;t++)tr[t]=new D(y.uint,t,1);for(let t=-1;t>=-24;t--)tr[31-t]=new D(y.negint,t,1);tr[64]=new D(y.bytes,new Uint8Array(0),1);tr[96]=new D(y.string,"",1);tr[128]=new D(y.array,0,1);tr[160]=new D(y.map,0,1);tr[244]=new D(y.false,!1,1);tr[245]=new D(y.true,!0,1);tr[246]=new D(y.null,null,1);function Tv(t){switch(t.type){case y.false:return gr([244]);case y.true:return gr([245]);case y.null:return gr([246]);case y.bytes:return t.value.length?void 0:gr([64]);case y.string:return t.value===""?gr([96]):void 0;case y.array:return t.value===0?gr([128]):void 0;case y.map:return t.value===0?gr([160]):void 0;case y.uint:return t.value<24?gr([Number(t.value)]):void 0;case y.negint:if(t.value>=-24)return gr([31-Number(t.value)])}}var _8={float64:!1,mapSorter:T8,quickEncodeToken:Tv};function A8(){let t=[];return t[y.uint.major]=Ft,t[y.negint.major]=yl,t[y.bytes.major]=Zs,t[y.string.major]=tv,t[y.array.major]=wl,t[y.map.major]=bl,t[y.tag.major]=xl,t[y.float.major]=kl,t}var Cv=A8(),lm=new Na,El=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${zr} object contains circular references`);return new t(r,e)}},wn={null:new D(y.null,null),undefined:new D(y.undefined,void 0),true:new D(y.true,!0),false:new D(y.false,!1),emptyArray:new D(y.array,0),emptyMap:new D(y.map,0)},bn={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new D(y.float,t):t>=0?new D(y.uint,t):new D(y.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new D(y.uint,t):new D(y.negint,t)},Uint8Array(t,e,r,n){return new D(y.bytes,t)},string(t,e,r,n){return new D(y.string,t)},boolean(t,e,r,n){return t?wn.true:wn.false},null(t,e,r,n){return wn.null},undefined(t,e,r,n){return wn.undefined},ArrayBuffer(t,e,r,n){return new D(y.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new D(y.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[wn.emptyArray,new D(y.break)]:wn.emptyArray;n=El.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=Sl(i,r,n);return r.addBreakTokens?[new D(y.array,t.length),o,new D(y.break)]:[new D(y.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",s=o?t.keys():Object.keys(t),i=o?t.size:s.length;if(!i)return r.addBreakTokens===!0?[wn.emptyMap,new D(y.break)]:wn.emptyMap;n=El.createCheck(n,t);let a=[],c=0;for(let u of s)a[c++]=[Sl(u,r,n),Sl(o?t.get(u):t[u],r,n)];return D8(a,r),r.addBreakTokens?[new D(y.map,i),a,new D(y.break)]:[new D(y.map,i),a]}};bn.Map=bn.Object;bn.Buffer=bn.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))bn[`${t}Array`]=bn.DataView;function Sl(t,e={},r){let n=Tk(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||bn[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=bn[n];if(!s)throw new Error(`${zr} unsupported type: ${n}`);return s(t,n,e,r)}function D8(t,e){e.mapSorter&&t.sort(e.mapSorter)}function T8(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,s=Cv[o].compareTokens(r,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function Iv(t,e,r,n){if(Array.isArray(e))for(let o of e)Iv(t,o,r,n);else r[e.type.major](t,e,n)}function dm(t,e,r){let n=Sl(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let s=e[n.type.major];if(s.encodedSize){let i=s.encodedSize(n,r),a=new Na(i);if(s(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Ra(a.chunks[0])}}return lm.reset(),Iv(lm,n,e,r),lm.toBytes(!0)}function fm(t,e){return e=Object.assign({},_8,e),dm(t,Cv,e)}var C8={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},hm=class{constructor(e,r={}){this.pos=0,this.data=e,this.options=r}done(){return this.pos>=this.data.length}next(){let e=this.data[this.pos],r=tr[e];if(r===void 0){let n=U[e];if(!n)throw new Error(`${z} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this.pos,o,this.options)}return this.pos+=r.encodedLength,r}},Fa=Symbol.for("DONE"),_l=Symbol.for("BREAK");function I8(t,e,r){let n=[];for(let o=0;o<t.value;o++){let s=za(e,r);if(s===_l){if(t.value===1/0)break;throw new Error(`${z} got unexpected break to lengthed array`)}if(s===Fa)throw new Error(`${z} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=s}return n}function B8(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},s=n?new Map:void 0;for(let i=0;i<t.value;i++){let a=za(e,r);if(a===_l){if(t.value===1/0)break;throw new Error(`${z} got unexpected break to lengthed map`)}if(a===Fa)throw new Error(`${z} found map but not enough entries (got ${i} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${z} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&s.has(a)||!n&&a in o))throw new Error(`${z} found repeat map key "${a}"`);let c=za(e,r);if(c===Fa)throw new Error(`${z} found map but not enough entries (got ${i} [no value], expected ${t.value})`);n?s.set(a,c):o[a]=c}return n?s:o}function za(t,e){if(t.done())return Fa;let r=t.next();if(r.type===y.break)return _l;if(r.type.terminal)return r.value;if(r.type===y.array)return I8(r,t,e);if(r.type===y.map)return B8(r,t,e);if(r.type===y.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=za(t,e);return e.tags[r.value](n)}throw new Error(`${z} tag not supported (${r.value})`)}throw new Error("unsupported")}function ja(t,e){if(!(t instanceof Uint8Array))throw new Error(`${z} data to decode must be a Uint8Array`);e=Object.assign({},C8,e);let r=e.tokenizer||new hm(t,e),n=za(r,e);if(n===Fa)throw new Error(`${z} did not find any content to decode`);if(n===_l)throw new Error(`${z} got unexpected break`);if(!r.done())throw new Error(`${z} too many terminals, data makes no sense`);return n}var L8=Lv,Bv=128,U8=127,R8=~U8,N8=Math.pow(2,31);function Lv(t,e,r){e=e||[],r=r||0;for(var n=r;t>=N8;)e[r++]=t&255|Bv,t/=128;for(;t&R8;)e[r++]=t&255|Bv,t>>>=7;return e[r]=t|0,Lv.bytes=r-n+1,e}var O8=pm,$8=128,Pv=127;function pm(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw pm.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Pv)<<o:(i&Pv)*Math.pow(2,o),o+=7}while(i>=$8);return pm.bytes=s-n,r}var M8=Math.pow(2,7),F8=Math.pow(2,14),z8=Math.pow(2,21),j8=Math.pow(2,28),W8=Math.pow(2,35),H8=Math.pow(2,42),q8=Math.pow(2,49),V8=Math.pow(2,56),G8=Math.pow(2,63),K8=function(t){return t<M8?1:t<F8?2:t<z8?3:t<j8?4:t<W8?5:t<H8?6:t<q8?7:t<V8?8:t<G8?9:10},Z8={encode:L8,decode:O8,encodingLength:K8},J8=Z8,Wa=J8;var Ha=(t,e=0)=>[Wa.decode(t,e),Wa.decode.bytes],Xs=(t,e,r=0)=>(Wa.encode(t,e,r),e),Ys=t=>Wa.encodingLength(t);var go={};M(go,{coerce:()=>jt,empty:()=>Uv,equals:()=>ym,fromHex:()=>X8,fromString:()=>eP,isBinary:()=>Y8,toHex:()=>Q8,toString:()=>tP});var Uv=new Uint8Array(0),Q8=t=>t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),""),X8=t=>{let e=t.match(/../g);return e?new Uint8Array(e.map(r=>parseInt(r,16))):Uv},ym=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},jt=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},Y8=t=>t instanceof ArrayBuffer||ArrayBuffer.isView(t),eP=t=>new TextEncoder().encode(t),tP=t=>new TextDecoder().decode(t);var wo=(t,e)=>{let r=e.byteLength,n=Ys(t),o=n+Ys(r),s=new Uint8Array(o+r);return Xs(t,s,0),Xs(r,s,n),s.set(e,o),new ei(t,r,e,s)},Al=t=>{let e=jt(t),[r,n]=Ha(e),[o,s]=Ha(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ei(r,o,i,e)},Rv=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&ym(t.bytes,r.bytes)}},ei=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function rP(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function d(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,b=0,g=0,k=h.length;g!==k&&h[g]===0;)g++,m++;for(var E=(k-g)*l+1>>>0,_=new Uint8Array(E);g!==k;){for(var P=h[g],J=0,L=E-1;(P!==0||J<b)&&L!==-1;L--,J++)P+=256*_[L]>>>0,_[L]=P%a>>>0,P=P/a>>>0;if(P!==0)throw new Error("Non-zero carry");b=J,g++}for(var G=E-b;G!==E&&_[G]===0;)G++;for(var ot=c.repeat(m);G<E;++G)ot+=t.charAt(_[G]);return ot}function p(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var b=0,g=0;h[m]===c;)b++,m++;for(var k=(h.length-m)*u+1>>>0,E=new Uint8Array(k);h[m];){var _=r[h.charCodeAt(m)];if(_===255)return;for(var P=0,J=k-1;(_!==0||P<g)&&J!==-1;J--,P++)_+=a*E[J]>>>0,E[J]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");g=P,m++}if(h[m]!==" "){for(var L=k-g;L!==k&&E[L]===0;)L++;for(var G=new Uint8Array(b+(k-L)),ot=b;L!==k;)G[ot++]=E[L++];return G}}}function f(h){var m=p(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:p,decode:f}}var nP=rP,oP=nP,Nv=oP;var gm=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},wm=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ov(this,e)}},bm=class{constructor(e){this.decoders=e}or(e){return Ov(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ov=(t,e)=>new bm({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),xm=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new gm(e,r,n),this.decoder=new wm(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},$v=({name:t,prefix:e,encode:r,decode:n})=>new xm(t,e,r,n),km=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Nv(r,e);return $v({prefix:t,name:e,encode:n,decode:s=>jt(o(s))})},sP=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let d=o[t[l]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|d,a+=r,a>=8&&(a-=8,i[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i},iP=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i&&(s+=e[o&a<<r-i]),n)for(;s.length*r&7;)s+="=";return s},lt=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>$v({prefix:e,name:t,encode(o){return iP(o,n,r)},decode(o){return sP(o,n,r,t)}});var Wr=km({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),D7=km({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Va=lt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),I7=lt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),B7=lt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),P7=lt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),L7=lt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),U7=lt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),R7=lt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),N7=lt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),O7=lt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Mv=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return cP(r,vm(t),e||Wr.encoder);default:return uP(r,vm(t),e||Va.encoder)}};var Fv=new WeakMap,vm=t=>{let e=Fv.get(t);if(e==null){let r=new Map;return Fv.set(t,r),r}return e},xe=class t{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Ga)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==lP)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=wo(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Rv(e.multihash,n.multihash)}toString(e){return Mv(this,e)}toJSON(){return{"/":Mv(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new t(n,o,s,i||zv(n,o,s.bytes))}else if(r[dP]===!0){let{version:n,multihash:o,code:s}=r,i=Al(o);return t.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ga)throw new Error(`Version 0 CID must use dag-pb (code: ${Ga}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=zv(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ga,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=jt(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ei(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,p]=Ha(e.subarray(r));return r+=p,d},o=n(),s=Ga;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),c=n(),u=r+c,l=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,o]=aP(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return vm(s).set(n,e),s}},aP=(t,e)=>{switch(t[0]){case"Q":{let r=e||Wr;return[Wr.prefix,r.decode(`${Wr.prefix}${t}`)]}case Wr.prefix:{let r=e||Wr;return[Wr.prefix,r.decode(t)]}case Va.prefix:{let r=e||Va;return[Va.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},cP=(t,e,r)=>{let{prefix:n}=r;if(n!==Wr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o},uP=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o},Ga=112,lP=18,zv=(t,e,r)=>{let n=Ys(t),o=n+Ys(e),s=new Uint8Array(o+r.byteLength);return Xs(t,s,0),Xs(e,s,n),s.set(r,o),s},dP=Symbol.for("@ipld/js-cid/CID");var jv=42;function fP(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=xe.asCID(t);if(!e)return null;let r=new Uint8Array(e.bytes.byteLength+1);return r.set(e.bytes,1),[new D(y.tag,jv),new D(y.bytes,r)]}function hP(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function pP(t){if(Number.isNaN(t))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(t===1/0||t===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}var mP={float64:!0,typeEncoders:{Object:fP,undefined:hP,number:pP}};function yP(t){if(t[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return xe.decode(t.subarray(1))}var Wv={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Wv.tags[jv]=yP;var Ka="dag-cbor",Ct=113,rr=t=>fm(t,mP),Ge=t=>ja(t,Wv);var gP=new TextEncoder,wP=new TextDecoder,wr=t=>gP.encode(t),xn=t=>wP.decode(t);var Y={};M(Y,{decode:()=>ti,encodeTo:()=>bo,encodingLength:()=>xo});var bP=Vv,Hv=128,xP=127,kP=~xP,vP=Math.pow(2,31);function Vv(t,e,r){e=e||[],r=r||0;for(var n=r;t>=vP;)e[r++]=t&255|Hv,t/=128;for(;t&kP;)e[r++]=t&255|Hv,t>>>=7;return e[r]=t|0,Vv.bytes=r-n+1,e}var SP=Sm,EP=128,qv=127;function Sm(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw Sm.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&qv)<<o:(i&qv)*Math.pow(2,o),o+=7}while(i>=EP);return Sm.bytes=s-n,r}var _P=Math.pow(2,7),AP=Math.pow(2,14),DP=Math.pow(2,21),TP=Math.pow(2,28),CP=Math.pow(2,35),IP=Math.pow(2,42),BP=Math.pow(2,49),PP=Math.pow(2,56),LP=Math.pow(2,63),UP=function(t){return t<_P?1:t<AP?2:t<DP?3:t<TP?4:t<CP?5:t<IP?6:t<BP?7:t<PP?8:t<LP?9:10},RP={encode:bP,decode:SP,encodingLength:UP},NP=RP,Ja=NP;var ti=(t,e=0)=>[Ja.decode(t,e),Ja.decode.bytes],bo=(t,e,r=0)=>(Ja.encode(t,e,r),e),xo=t=>Ja.encodingLength(t);var G7=new Uint8Array(0);var Gv=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},nr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Kv=t=>new TextEncoder().encode(t),Zv=t=>new TextDecoder().decode(t);var ko=(t,e)=>{let r=e.byteLength,n=xo(t),o=n+xo(r),s=new Uint8Array(o+r);return bo(t,s,0),bo(r,s,n),s.set(e,o),new ri(t,r,e,s)},kn=t=>{let e=nr(t),[r,n]=ti(e),[o,s]=ti(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ri(r,o,i,e)},Jv=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Gv(t.bytes,r.bytes)}},ri=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var Cm={};M(Cm,{base58btc:()=>Le,base58flickr:()=>jP});function OP(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function d(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,b=0,g=0,k=h.length;g!==k&&h[g]===0;)g++,m++;for(var E=(k-g)*l+1>>>0,_=new Uint8Array(E);g!==k;){for(var P=h[g],J=0,L=E-1;(P!==0||J<b)&&L!==-1;L--,J++)P+=256*_[L]>>>0,_[L]=P%a>>>0,P=P/a>>>0;if(P!==0)throw new Error("Non-zero carry");b=J,g++}for(var G=E-b;G!==E&&_[G]===0;)G++;for(var ot=c.repeat(m);G<E;++G)ot+=t.charAt(_[G]);return ot}function p(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var b=0,g=0;h[m]===c;)b++,m++;for(var k=(h.length-m)*u+1>>>0,E=new Uint8Array(k);h[m];){var _=r[h.charCodeAt(m)];if(_===255)return;for(var P=0,J=k-1;(_!==0||P<g)&&J!==-1;J--,P++)_+=a*E[J]>>>0,E[J]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");g=P,m++}if(h[m]!==" "){for(var L=k-g;L!==k&&E[L]===0;)L++;for(var G=new Uint8Array(b+(k-L)),ot=b;L!==k;)G[ot++]=E[L++];return G}}}function f(h){var m=p(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:p,decode:f}}var $P=OP,MP=$P,Qv=MP;var _m=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Am=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Xv(this,e)}},Dm=class{constructor(e){this.decoders=e}or(e){return Xv(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Xv=(t,e)=>new Dm({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Tm=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new _m(e,r,n),this.decoder=new Am(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ni=({name:t,prefix:e,encode:r,decode:n})=>new Tm(t,e,r,n),vn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Qv(r,e);return ni({prefix:t,name:e,encode:n,decode:s=>nr(o(s))})},FP=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let i=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let d=o[t[l]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|d,a+=r,a>=8&&(a-=8,i[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i},zP=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i&&(s+=e[o&a<<r-i]),n)for(;s.length*r&7;)s+="=";return s},Me=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ni({prefix:e,name:t,encode(o){return zP(o,n,r)},decode(o){return FP(o,n,r,t)}});var Le=vn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),jP=vn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Im={};M(Im,{base32:()=>Ve,base32hex:()=>VP,base32hexpad:()=>KP,base32hexpadupper:()=>ZP,base32hexupper:()=>GP,base32pad:()=>HP,base32padupper:()=>qP,base32upper:()=>WP,base32z:()=>JP});var Ve=Me({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),WP=Me({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),HP=Me({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),qP=Me({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),VP=Me({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),GP=Me({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),KP=Me({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ZP=Me({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),JP=Me({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Bm=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return XP(r,Pm(t),e||Le.encoder);default:return YP(r,Pm(t),e||Ve.encoder)}};var Yv=new WeakMap,Pm=t=>{let e=Yv.get(t);if(e==null){let r=new Map;return Yv.set(t,r),r}return e},se=class t{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Qa)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==eL)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=ko(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Jv(e.multihash,n.multihash)}toString(e){return Bm(this,e)}toJSON(){return{"/":Bm(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new t(n,o,s,i||e1(n,o,s.bytes))}else if(r[tL]===!0){let{version:n,multihash:o,code:s}=r,i=kn(o);return t.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Qa)throw new Error(`Version 0 CID must use dag-pb (code: ${Qa}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=e1(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Qa,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=nr(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ri(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,p]=ti(e.subarray(r));return r+=p,d},o=n(),s=Qa;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),c=n(),u=r+c,l=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,o]=QP(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Pm(s).set(n,e),s}},QP=(t,e)=>{switch(t[0]){case"Q":{let r=e||Le;return[Le.prefix,r.decode(`${Le.prefix}${t}`)]}case Le.prefix:{let r=e||Le;return[Le.prefix,r.decode(t)]}case Ve.prefix:{let r=e||Ve;return[Ve.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},XP=(t,e,r)=>{let{prefix:n}=r;if(n!==Le.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o},YP=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o},Qa=112,eL=18,e1=(t,e,r)=>{let n=xo(t),o=n+xo(e),s=new Uint8Array(o+r.byteLength);return bo(t,s,0),bo(e,s,n),s.set(r,o),s},tL=Symbol.for("@ipld/js-cid/CID");var rL=112;var oi=t=>se.create(0,rL,t),Fe=(t,e)=>se.create(1,t,e),ke=t=>{if(t==null)return!1;let e=t;return e["/"]!=null&&e["/"]===e.bytes||t.asCID===t},br=(t,e)=>se.parse(t,e);var Lm={};M(Lm,{identity:()=>So});var t1=0,oL="identity",r1=nr,sL=t=>ko(t1,r1(t)),So={code:t1,name:oL,encode:r1,digest:sL};var yt={};M(yt,{BLS12381G1:()=>f1,BLS12381G2:()=>h1,DID_CORE:()=>Dl,ED25519:()=>i1,P256:()=>c1,P384:()=>u1,P521:()=>l1,RSA:()=>a1,SECP256K1:()=>d1,decode:()=>Xa,encode:()=>$m,format:()=>Eo,from:()=>Tl,parse:()=>Ue});var Rm=({name:t,code:e,encode:r})=>new Um(t,e,r),Um=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ko(this.code,r):r.then(n=>ko(this.code,n))}else throw Error("Unknown type, must be binary type")}};var o1="did:",iL=o1.length,s1="did:key:",aL=s1.length,i1=237,a1=4613,c1=4608,u1=4609,l1=4610,d1=231,f1=234,h1=235,Dl=3357,Nm=Y.encodingLength(Dl),Ue=t=>{if(t.startsWith(o1))if(t.startsWith(s1)){let e=Le.decode(t.slice(aL));return Xa(e)}else{let e=wr(t.slice(iL)),r=new Uint8Array(e.byteLength+Nm);return Y.encodeTo(Dl,r),r.set(e,Nm),new si(r)}else throw new RangeError(`Invalid DID "${t}", must start with 'did:'`)},Eo=t=>t.did(),Tl=t=>t instanceof si?t:t instanceof Uint8Array?Xa(t):Ue(typeof t=="string"?t:t.did()),Xa=t=>{let[e]=Y.decode(t),{buffer:r,byteOffset:n,byteLength:o}=t;switch(e){case c1:if(t.length>35)throw new RangeError("Only p256-pub compressed is supported.");case i1:case a1:case u1:case l1:case f1:case h1:case d1:return new Om(r,n,o);case Dl:return new si(r,n,o);default:throw new RangeError(`Unsupported DID encoding, unknown multicode 0x${e.toString(16)}.`)}},$m=t=>Ue(t.did()),si=class extends Uint8Array{did(){let e=new Uint8Array(this.buffer,this.byteOffset+Nm);return`did:${xn(e)}`}toJSON(){return this.did()}},Om=class extends si{did(){return`did:key:${Le.encode(this)}`}};var ii={};M(ii,{code:()=>_o,decode:()=>lL,encode:()=>uL,name:()=>cL});var cL="raw",_o=85,uL=t=>nr(t),lL=t=>nr(t);var st={};M(st,{BLS12381G1:()=>zm,BLS12381G2:()=>jm,EIP191:()=>Vm,ES256:()=>Wm,ES256K:()=>Fm,ES384:()=>Hm,ES512:()=>qm,EdDSA:()=>Ao,NON_STANDARD:()=>ci,RS256:()=>Ya,Signature:()=>ai,create:()=>ui,createNamed:()=>Gm,createNonStandard:()=>Km,decode:()=>Sn,encode:()=>Zm,format:()=>pL,fromJSON:()=>yL,nameCode:()=>m1,parse:()=>mL,toJSON:()=>y1,view:()=>li});var Mm={};M(Mm,{base64:()=>Cl,base64pad:()=>Il,base64url:()=>gt,base64urlpad:()=>dL});var Cl=Me({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Il=Me({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gt=Me({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),dL=Me({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ci=53248,Fm=53479,zm=53482,jm=53483,Ao=53485,Wm=13636096,Hm=13636097,qm=13636098,Ya=13636101,Vm=53649,p1=t=>{switch(t){case Fm:return"ES256K";case zm:return"BLS12381G1";case jm:return"BLS12381G2";case Ao:return"EdDSA";case Wm:return"ES256";case Hm:return"ES384";case qm:return"ES512";case Ya:return"RS256";case Vm:return"EIP191";default:throw new RangeError(`Unknown signature algorithm code 0x${t.toString(16)}`)}},m1=t=>{switch(t){case"ES256K":return Fm;case"BLS12381G1":return zm;case"BLS12381G2":return jm;case"EdDSA":return Ao;case"ES256":return Wm;case"ES384":return Hm;case"ES512":return qm;case"RS256":return Ya;case"EIP191":return Vm;default:return ci}},ai=class extends Uint8Array{get code(){let[e]=Y.decode(this);return Object.defineProperties(this,{code:{value:e}}),e}get size(){let e=hL(this);return Object.defineProperties(this,{size:{value:e}}),e}get algorithm(){let e=fL(this);return Object.defineProperties(this,{algorithm:{value:e}}),e}get raw(){let{buffer:e,byteOffset:r,size:n,code:o}=this,s=Y.encodingLength(o),i=Y.encodingLength(n),a=new Uint8Array(e,r+s+i,n);return Object.defineProperties(this,{raw:{value:a}}),a}async verify(e,r){try{if(await e.verify(r,this)===!0)return{ok:{}};throw new Error("Invalid signature")}catch(n){return{error:n}}}toJSON(){return y1(this)}},fL=t=>{let{code:e,raw:r,buffer:n,byteOffset:o}=t;if(e===ci){let s=r.byteLength+Y.encodingLength(e)+Y.encodingLength(r.byteLength),i=new Uint8Array(n,o+s);return xn(i)}else return p1(e)},hL=t=>{let e=Y.encodingLength(t.code),[r]=Y.decode(new Uint8Array(t.buffer,t.byteOffset+e));return r},ui=(t,e)=>{let r=p1(t),n=Y.encodingLength(t),o=Y.encodingLength(e.byteLength),s=new ai(n+o+e.byteLength);return Y.encodeTo(t,s),Y.encodeTo(e.byteLength,s,n),s.set(e,n+o),Object.defineProperties(s,{code:{value:t},size:{value:e.byteLength}}),s},Gm=(t,e)=>{let r=m1(t);return r===ci?Km(t,e):ui(r,e)},Km=(t,e)=>{let r=ci,n=Y.encodingLength(r),o=Y.encodingLength(e.byteLength),s=wr(t),i=new ai(n+o+e.byteLength+s.byteLength);return Y.encodeTo(r,i),Y.encodeTo(e.byteLength,i,n),i.set(e,n+o),i.set(s,n+o+e.byteLength),i},li=t=>new ai(t.buffer,t.byteOffset,t.byteLength),Sn=t=>{if(!(t instanceof Uint8Array))throw new TypeError(`Can only decode Uint8Array into a Signature, instead got ${JSON.stringify(t)}`);let e=li(t),{code:r,algorithm:n,raw:o}=e;return e},Zm=t=>Sn(t),pL=(t,e)=>(e||gt).encode(t),mL=(t,e)=>Sn((e||gt).decode(t)),y1=t=>({"/":{bytes:Cl.baseEncode(t)}}),yL=t=>Sn(Cl.baseDecode(t["/"].bytes));var ec=t=>k1(t,{readPrincipal:DL,readProof:EL}),x1=t=>k1(t,{readPrincipal:TL,readProof:_L}),k1=(t,{readPrincipal:e,readProof:r})=>({iss:e(t.iss,"iss"),aud:e(t.aud,"aud"),att:wL(t.att,"att"),prf:w1(t.prf,r,"prf")||[],exp:CL(t.exp===1/0?null:t.exp,g1,"exp"),nbf:b1(t.nbf,g1,"nbf"),fct:w1(t.fct,SL,"fct")||[],nnc:b1(t.nnc,tc,"nnc")}),v1=t=>{if(t instanceof Uint8Array)return Sn(t);throw new TypeError(`Can only decode Uint8Array into a Signature, instead got ${JSON.stringify(t)}`)},g1=(t,e)=>Number.isInteger(t)?t:Wt.throw(`Expected ${e} to be integer, instead got ${JSON.stringify(t)}`),gL=(t,e)=>E1(t,bL,e),wL=(t,e)=>S1(t,gL,e),bL=t=>({...t,can:xL(t.can),with:kL(t.with)}),xL=t=>typeof t!="string"?Wt.throw(`Capability has invalid 'can: ${JSON.stringify(t)}', value must be a string`):t.slice(1,-1).includes("/")?t.toLocaleLowerCase():t==="*"?t:Wt.throw(`Capability has invalid 'can: "${t}"', value must have at least one path segment`),kL=t=>typeof t!="string"?Wt.throw(`Capability has invalid 'with: ${JSON.stringify(t)}', value must be a string`):vL(t)||Wt.throw(`Capability has invalid 'with: "${t}"', value must be a valid URI string`),vL=t=>{try{return new URL(t),t}catch{return null}},S1=(t,e,r)=>Array.isArray(t)?t.map((n,o)=>e(n,`${r}[${o}]`)):Wt.throw(`${r} must be an array`),w1=(t,e,r)=>t===void 0?t:S1(t,e,r),E1=(t,e,r)=>t!=null&&typeof t=="object"?e(t):Wt.throw(`${r} must be of type object, instead got ${t}`),SL=(t,e)=>E1(t,Object,e),EL=(t,e)=>ke(t)?t:nc(`Expected ${e} to be IPLD link, instead got ${JSON.stringify(t)}`),_L=(t,e)=>AL(tc(t,e)),AL=t=>{try{return br(t)}catch{return Fe(_o,So.digest(wr(t)))}},DL=(t,e)=>Xa(IL(t,e)),TL=(t,e)=>Ue(tc(t,e)),b1=(t,e,r="Field")=>t!==void 0?e(t,r):void 0,CL=(t,e,r)=>t===null?null:e(t,r),tc=(t,e="Field")=>typeof t=="string"?t:nc(`${e} has invalid value ${t}`),IL=(t,e)=>t instanceof Uint8Array?t:nc(`Expected ${e} to be Uint8Array, instead got ${JSON.stringify(t)}`),rc=(t,e)=>/\d+\.\d+\.\d+/.test(t)?t:Wt.throw(`Invalid version '${e}: ${JSON.stringify(t)}'`),_1=(t,e,r)=>t===e?e:Wt.throw(`Expected ${r} to be a ${JSON.stringify(e)} instead got ${JSON.stringify(t)}`),Wt=class extends TypeError{get name(){return"ParseError"}static throw(e){throw new this(e)}},nc=t=>Wt.throw(t);var Jm=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let r=this.inRecursive[this.inRecursive.length-1];r&&(r.type===y.array&&(r.elements++,r.elements!==1&&e.push([44])),r.type===y.map&&(r.elements++,r.elements!==1&&(r.elements%2===1?e.push([44]):e.push([58]))))}[y.uint.major](e,r){this.prefix(e);let n=String(r.value),o=[];for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s);e.push(o)}[y.negint.major](e,r){this[y.uint.major](e,r)}[y.bytes.major](e,r){throw new Error(`${zr} unsupported type: Uint8Array`)}[y.string.major](e,r){this.prefix(e);let n=ml(JSON.stringify(r.value));e.push(n.length>32?Ra(n):n)}[y.array.major](e,r){this.prefix(e),this.inRecursive.push({type:y.array,elements:0}),e.push([91])}[y.map.major](e,r){this.prefix(e),this.inRecursive.push({type:y.map,elements:0}),e.push([123])}[y.tag.major](e,r){}[y.float.major](e,r){if(r.type.name==="break"){let i=this.inRecursive.pop();if(i){if(i.type===y.array)e.push([93]);else if(i.type===y.map)e.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(r.value===void 0)throw new Error(`${zr} unsupported type: undefined`);if(this.prefix(e),r.type.name==="true"){e.push([116,114,117,101]);return}else if(r.type.name==="false"){e.push([102,97,108,115,101]);return}else if(r.type.name==="null"){e.push([110,117,108,108]);return}let n=String(r.value),o=[],s=!1;for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i),!s&&(o[i]===46||o[i]===101||o[i]===69)&&(s=!0);s||(o.push(46),o.push(48)),e.push(o)}};function PL(t,e){if(Array.isArray(t[0])||Array.isArray(e[0]))throw new Error(`${zr} complex map keys are not supported`);let r=t[0],n=e[0];if(r.type!==y.string||n.type!==y.string)throw new Error(`${zr} non-string map keys are not supported`);if(r<n)return-1;if(r>n)return 1;throw new Error(`${zr} unexpected duplicate map keys, this is not supported`)}var LL={addBreakTokens:!0,mapSorter:PL};function Qm(t,e){return e=Object.assign({},LL,e),dm(t,new Jm,e)}var di=class{constructor(e,r={}){this.pos=0,this.data=e,this.options=r,this.modeStack=["value"],this.lastToken=""}done(){return this.pos>=this.data.length}ch(){return this.data[this.pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let e=this.ch();for(;e===32||e===9||e===13||e===10;)e=this.data[++this.pos]}expect(e){if(this.data.length-this.pos<e.length)throw new Error(`${z} unexpected end of input at position ${this.pos}`);for(let r=0;r<e.length;r++)if(this.data[this.pos++]!==e[r])throw new Error(`${z} unexpected token at position ${this.pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this.pos,r=!1,n=!1,o=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this.pos++;else break}};if(this.ch()===45&&(r=!0,this.pos++),this.ch()===48)if(this.pos++,this.ch()===46)this.pos++,n=!0;else return new D(y.uint,0,this.pos-e);if(o([48,49,50,51,52,53,54,55,56,57]),r&&this.pos===e+1)throw new Error(`${z} unexpected token at position ${this.pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${z} unexpected token at position ${this.pos}`);n=!0,this.pos++,o([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this.pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this.pos++,o([48,49,50,51,52,53,54,55,56,57]));let s=String.fromCharCode.apply(null,this.data.subarray(e,this.pos)),i=parseFloat(s);return n?new D(y.float,i,this.pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(i)?new D(i>=0?y.uint:y.negint,i,this.pos-e):new D(i>=0?y.uint:y.negint,BigInt(s),this.pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${z} unexpected character at position ${this.pos}; this shouldn't happen`);this.pos++;for(let s=this.pos,i=0;s<this.data.length&&i<65536;s++,i++){let a=this.data[s];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this.pos,s));return this.pos=s+1,new D(y.string,c,i)}}let e=this.pos,r=[],n=()=>{if(this.pos+4>=this.data.length)throw new Error(`${z} unexpected end of unicode escape sequence at position ${this.pos}`);let s=0;for(let i=0;i<4;i++){let a=this.ch();if(a>=48&&a<=57)a-=48;else if(a>=97&&a<=102)a=a-97+10;else if(a>=65&&a<=70)a=a-65+10;else throw new Error(`${z} unexpected unicode escape character at position ${this.pos}`);s=s*16+a,this.pos++}return s},o=()=>{let s=this.ch(),i=null,a=s>239?4:s>223?3:s>191?2:1;if(this.pos+a>this.data.length)throw new Error(`${z} unexpected unicode sequence at position ${this.pos}`);let c,u,l,d;switch(a){case 1:s<128&&(i=s);break;case 2:c=this.data[this.pos+1],(c&192)===128&&(d=(s&31)<<6|c&63,d>127&&(i=d));break;case 3:c=this.data[this.pos+1],u=this.data[this.pos+2],(c&192)===128&&(u&192)===128&&(d=(s&15)<<12|(c&63)<<6|u&63,d>2047&&(d<55296||d>57343)&&(i=d));break;case 4:c=this.data[this.pos+1],u=this.data[this.pos+2],l=this.data[this.pos+3],(c&192)===128&&(u&192)===128&&(l&192)===128&&(d=(s&15)<<18|(c&63)<<12|(u&63)<<6|l&63,d>65535&&d<1114112&&(i=d))}i===null?(i=65533,a=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|i&1023),r.push(i),this.pos+=a};for(;!this.done();){let s=this.ch(),i;switch(s){case 92:if(this.pos++,this.done())throw new Error(`${z} unexpected string termination at position ${this.pos}`);switch(i=this.ch(),this.pos++,i){case 34:case 39:case 92:case 47:r.push(i);break;case 98:r.push(8);break;case 116:r.push(9);break;case 110:r.push(10);break;case 102:r.push(12);break;case 114:r.push(13);break;case 117:r.push(n());break;default:throw new Error(`${z} unexpected string escape character at position ${this.pos}`)}break;case 34:return this.pos++,new D(y.string,sm(r),this.pos-e);default:if(s<32)throw new Error(`${z} invalid control character at position ${this.pos}`);s<128?(r.push(s),this.pos++):o()}}throw new Error(`${z} unexpected end of string at position ${this.pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this.pos++,new D(y.map,1/0,1);case 91:return this.modeStack.push("array-start"),this.pos++,new D(y.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new D(y.null,null,4);case 102:return this.expect([102,97,108,115,101]),new D(y.false,!1,5);case 116:return this.expect([116,114,117,101]),new D(y.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${z} unexpected character at position ${this.pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this.pos++,this.skipWhitespace(),new D(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${z} unexpected character at position ${this.pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this.pos++,this.skipWhitespace(),new D(y.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this.pos++,this.skipWhitespace(),new D(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${z} unexpected character at position ${this.pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this.pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this.pos++,this.skipWhitespace(),new D(y.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${z} unexpected character at position ${this.pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("obj-value"),e}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${z} unexpected parse state at position ${this.pos}; this shouldn't happen`)}}};function Xm(t,e){return e=Object.assign({tokenizer:new di(t,e)},e),ja(t,e)}var Do=({name:t,code:e,encode:r})=>new Ym(t,e,r),Ym=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?wo(this.code,r):r.then(n=>wo(this.code,n))}else throw Error("Unknown type, must be binary type")}};var ey=lt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),O9=lt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),$9=lt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),M9=lt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function NL(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=xe.asCID(t);if(!e)return null;let r=e.toString();return[new D(y.map,1/0,1),new D(y.string,"/",1),new D(y.string,r,r.length),new D(y.break,void 0,1)]}function Bl(t){let e=ey.encode(t).slice(1);return[new D(y.map,1/0,1),new D(y.string,"/",1),new D(y.map,1/0,1),new D(y.string,"bytes",5),new D(y.string,e,e.length),new D(y.break,void 0,1),new D(y.break,void 0,1)]}function or(t){return Bl(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function OL(t){return Bl(new Uint8Array(t))}function $L(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function ML(t){if(Number.isNaN(t))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(t===1/0||t===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}var FL={typeEncoders:{Object:NL,Buffer:Bl,Uint8Array:Bl,Int8Array:or,Uint16Array:or,Int16Array:or,Uint32Array:or,Int32Array:or,Float32Array:or,Float64Array:or,Uint8ClampedArray:or,BigInt64Array:or,BigUint64Array:or,DataView:or,ArrayBuffer:OL,undefined:$L,number:ML}},ty=class extends di{constructor(e,r){super(e,r),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let e=this._next();if(e.type===y.map){let r=this._next();if(r.type===y.string&&r.value==="/"){let n=this._next();if(n.type===y.string){if(this._next().type!==y.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new D(y.tag,42,0)}if(n.type===y.map){let o=this._next();if(o.type===y.string&&o.value==="bytes"){let s=this._next();if(s.type===y.string){for(let a=0;a<2;a++)if(this._next().type!==y.break)throw new Error("Invalid encoded Bytes form");let i=ey.decode(`m${s.value}`);return new D(y.bytes,i,s.value.length)}this.tokenBuffer.push(s)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(r)}return e}},ry={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};ry.tags[42]=xe.parse;var fi=t=>Qm(t,FL),Pl=t=>{let e=Object.assign(ry,{tokenizer:new ty(t,ry)});return Xm(t,e)},Ll=t=>zL.decode(fi(t));var zL=new TextDecoder,Ul=t=>Pl(jL.encode(t)),jL=new TextEncoder;var ny=t=>{let e=T1(t.v,t.s.algorithm),r=C1(t),n=WL(t.s);return`${e}.${r}.${n}`},D1=(t,e,r)=>`${T1(e,r)}.${C1(t)}`,T1=(t,e)=>gt.baseEncode(HL(t,e)),C1=t=>gt.baseEncode(qL(t)),WL=t=>gt.baseEncode(t.raw),HL=(t,e)=>fi({alg:e,ucv:t,typ:"JWT"}),qL=t=>fi({iss:Eo(t.iss),aud:Eo(t.aud),att:t.att,exp:t.exp,prf:t.prf.map(VL),...t.fct.length>0&&{fct:t.fct},...t.nnc&&{nnc:t.nnc},...t.nbf&&{nbf:t.nbf}}),VL=t=>t.toString();var GL=t=>JSON.parse(xn(fi(t))),hi=class{constructor(e){this.model=e}get version(){return this.model.v}get issuer(){return Tl(this.model.iss)}get audience(){return Tl(this.model.aud)}get capabilities(){return this.model.att}get expiration(){let{exp:e}=this.model;return e===null?1/0:e}get notBefore(){return this.model.nbf}get nonce(){return this.model.nnc}get facts(){return this.model.fct}get proofs(){return this.model.prf}get signature(){return this.model.s}get jwt(){return this.model.jwt}get s(){return this.model.s}get v(){return this.model.v}get iss(){return this.model.iss}get aud(){return this.model.aud}get att(){return this.model.att}get exp(){return this.model.exp}get nbf(){return this.model.nbf}get nnc(){return this.model.nnc}get fct(){return this.model.fct}get prf(){return this.model.prf}toJSON(){let{v:e,iss:r,aud:n,s:o,att:s,prf:i,exp:a,fct:c,nnc:u,nbf:l}=this.model;return{iss:r,aud:n,v:e,s:o,exp:a,...GL({att:s,prf:i,...c.length>0&&{fct:c}}),...u!=null&&{nnc:u},...l&&{nbf:l}}}};var oy=Ct,I1=t=>new Rl(t),sy=t=>{let{fct:e,nnc:r,nbf:n,...o}=ec(t);return rr({...e.length>0&&{fct:e},...r!=null&&{nnc:r},...n&&{nbf:n},...o,v:rc(t.v,"v"),s:KL(t.s,"s")})},KL=(t,e)=>{try{return Zm(t)}catch(r){throw new Error(`Expected signature ${e}, instead got ${JSON.stringify(t)}`,{cause:r})}},B1=t=>{let e=Ge(t);return new Rl({...ec(e),v:rc(e.v,"v"),s:v1(e.s)})};var Rl=class extends hi{get code(){return oy}format(){return ny(this.model)}encode(){return sy(this.model)}};var iy=t=>{let e=t.split("."),[r,n,o]=e.length===3?e:nc(`Can't parse UCAN: ${t}: Expected JWT format: 3 dot-separated base64url-encoded values.`),{ucv:s,alg:i}=JL(r);return{...QL(n),v:s,s:Gm(i,gt.baseDecode(o))}},JL=t=>{let{ucv:e,alg:r,typ:n}=Pl(gt.baseDecode(t));return{typ:_1(n,"JWT","typ"),ucv:rc(e,"ucv"),alg:tc(r,"alg")}},QL=t=>{let e=Pl(gt.baseDecode(t));return x1(e)};var P1=t=>{let e=xn(t);return new ay({...iy(e),jwt:e})},cy=({jwt:t})=>wr(t),L1=({jwt:t})=>t,ay=class extends hi{constructor(e){super(e),this.model=e}get code(){return _o}format(){return L1(this.model)}encode(){return cy(this.model)}};var uy={};M(uy,{sha256:()=>ue,sha512:()=>YL});var U1=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ue=Rm({name:"sha2-256",code:18,encode:U1("SHA-256")}),YL=Rm({name:"sha2-512",code:19,encode:U1("SHA-512")});var e6="0.9.1";var t6=ue;var Nl=t=>{try{return B1(t)}catch{return P1(t)}};var Ol=async(t,{hasher:e=t6}={})=>{let[r,n]=t.jwt?[_o,cy(t)]:[oy,sy(t)],o=await e.digest(n);return{bytes:n,cid:Fe(r,o),data:t}};var pi=async({issuer:t,audience:e,capabilities:r,lifetimeInSeconds:n=30,expiration:o=n6()+n,notBefore:s,facts:i=[],proofs:a=[],nonce:c})=>{let u=e6,l=ec({iss:Ue(t.did()),aud:Ue(e.did()),att:r,fct:i,exp:o,nbf:s,prf:a,nnc:c}),d=r6(l,u,t.signatureAlgorithm);return I1({...l,v:u,s:await t.sign(d)})},r6=(t,e,r)=>wr(D1(t,e,r));var n6=()=>Math.floor(Date.now()/1e3);var xr={};M(xr,{code:()=>Ct,contentType:()=>s6,decode:()=>Ge,encode:()=>Co,link:()=>R1,name:()=>Ka,write:()=>ly});var s6="application/vnd.ipld.dag-cbor",$l=(t,e)=>{if(e.has(t))throw new TypeError("Can not encode circular structure");if(t===void 0&&e.size===0||t===null||typeof t=="symbol"&&e.size===0)return null;if(ke(t)||ArrayBuffer.isView(t))return t;if(Array.isArray(t)){e.add(t);let r=[];for(let n of t)r.push(n===void 0||typeof n=="symbol"?null:$l(n,e));return r}if(typeof t.toJSON=="function"){e.add(t);let r=t.toJSON();return $l(r,e)}if(typeof t=="object"){e.add(t);let r={};for(let[n,o]of Object.entries(t))o!==void 0&&typeof o!="symbol"&&(r[n]=$l(o,e));return r}return t},Co=t=>rr($l(t,new Set)),R1=async(t,{hasher:e=ue}={})=>Fe(Ct,await e.digest(t)),ly=async(t,e)=>{let r=Co(t);return{cid:await R1(r,e),bytes:r}};var Io=function*(t){t&&typeof t=="object"&&"iterateIPLDBlocks"in t&&typeof t.iterateIPLDBlocks=="function"&&(yield*t.iterateIPLDBlocks())},N1=(t=[])=>{let e=new Map;return Fl(t,e),e},i6=So.code,En=(t,e,r)=>{if(t.multihash.code===i6)return{cid:t,bytes:t.multihash.digest};let n=e.get(`${t}`);return n||(r===void 0?Hr(t):r)};var Hr=t=>{throw new Error(`Block for the ${t} is not found`)},Ml=async(t,e,r={})=>{let n=r.codec||xr,o=r.hasher||ue,s=n.encode(t),i=await o.digest(s),a=Fe(n.code,i);return e.set(a.toString(),{bytes:s,cid:a}),{bytes:s,cid:a,data:t}},a6=({cid:t,bytes:e},r)=>(r.set(t.toString(),{bytes:e,cid:t}),{bytes:e,cid:t}),Fl=(t,e)=>{for(let r of t)a6(r,e)};var Re={};M(Re,{code:()=>eE,contentType:()=>t3,createWriter:()=>n3,decode:()=>uc,encode:()=>od,link:()=>tE,name:()=>r3,write:()=>o3});var _n={Null:t=>t===null,Int:t=>Number.isInteger(t),Float:t=>typeof t=="number"&&Number.isFinite(t),String:t=>typeof t=="string",Bool:t=>typeof t=="boolean",Bytes:t=>t instanceof Uint8Array,Link:t=>!_n.Null(t)&&typeof t=="object"&&t.asCID===t,List:t=>Array.isArray(t),Map:t=>!_n.Null(t)&&typeof t=="object"&&t.asCID!==t&&!_n.List(t)&&!_n.Bytes(t)},yi={Int:_n.Int,"CarHeader > version":t=>yi.Int(t),"CarHeader > roots (anon) > valueType (anon)":_n.Link,"CarHeader > roots (anon)":t=>_n.List(t)&&Array.prototype.every.call(t,yi["CarHeader > roots (anon) > valueType (anon)"]),"CarHeader > roots":t=>yi["CarHeader > roots (anon)"](t),CarHeader:t=>{let e=t&&Object.keys(t);return _n.Map(t)&&["version"].every(r=>e.includes(r))&&Object.entries(t).every(([r,n])=>yi["CarHeader > "+r]&&yi["CarHeader > "+r](n))}},zl=yi.CarHeader;var An=_e(jl(),1),Dn={SHA2_256:18,LENGTH:32,DAG_PB:112},Wl=16+8+8+8;function kr(t,e){if(!t.length)throw new Error("Unexpected end of data");let r=An.default.decode(t);return e.seek(An.default.decode.bytes),r}function Hl(t){let e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=0;return{version:2,characteristics:[e.getBigUint64(r,!0),e.getBigUint64(r+=8,!0)],dataOffset:Number(e.getBigUint64(r+=8,!0)),dataSize:Number(e.getBigUint64(r+=8,!0)),indexOffset:Number(e.getBigUint64(r+=8,!0))}}function ql(t){An.default.decode(t);let e=An.default.decode.bytes,r=An.default.decode(t.subarray(An.default.decode.bytes)),n=An.default.decode.bytes;return e+n+r}function V1(t,e){let r=kr(t.upTo(8),t);if(r===0)throw new Error("Invalid CAR header (zero length)");let n=t.exactly(r,!0),o=Ge(n);if(!zl(o))throw new Error("Invalid CAR header format");if(o.version!==1&&o.version!==2||e!==void 0&&o.version!==e)throw new Error(`Invalid CAR version: ${o.version}${e!==void 0?` (expected ${e})`:""}`);let s=Array.isArray(o.roots);if(o.version===1&&!s||o.version===2&&s)throw new Error("Invalid CAR header format");if(o.version===1)return o;let i=Hl(t.exactly(Wl,!0));t.seek(i.dataOffset-t.pos);let a=V1(t,1);return Object.assign(a,i)}function k6(t){let e=t.exactly(2,!1);if(e[0]===Dn.SHA2_256&&e[1]===Dn.LENGTH){let i=t.exactly(34,!0),a=kn(i);return se.create(0,Dn.DAG_PB,a)}let r=kr(t.upTo(8),t);if(r!==1)throw new Error(`Unexpected CID version (${r})`);let n=kr(t.upTo(8),t),o=t.exactly(ql(t.upTo(8)),!0),s=kn(o);return se.create(r,n,s)}function v6(t){let e=t.pos,r=kr(t.upTo(8),t);if(r===0)throw new Error("Invalid CAR section (zero length)");r+=t.pos-e;let n=k6(t),o=r-Number(t.pos-e);return{cid:n,length:r,blockLength:o}}function G1(t){let e=S6(t),r=V1(e);if(r.version===2){let o=e.pos-r.dataOffset;e=E6(e,r.dataSize-o)}let n=[];for(;e.upTo(8).length>0;){let{cid:o,blockLength:s}=v6(e);n.push({cid:o,bytes:e.exactly(s,!0)})}return{header:r,blocks:n}}function S6(t){let e=0;return{upTo(r){return t.subarray(e,e+Math.min(r,t.length-e))},exactly(r,n=!1){if(r>t.length-e)throw new Error("Unexpected end of data");let o=t.subarray(e,e+r);return n&&(e+=r),o},seek(r){e+=r},get pos(){return e}}}function E6(t,e){let r=0;return{upTo(n){let o=t.upTo(n);return o.length+r>e&&(o=o.subarray(0,e-r)),o},exactly(n,o=!1){let s=t.exactly(n,o);if(s.length+r>e)throw new Error("Unexpected end of data");return o&&(r+=n),s},seek(n){r+=n,t.seek(n)},get pos(){return t.pos}}}var qr=class t{constructor(e,r){this._header=e,this._blocks=r,this._cids=void 0}get version(){return this._header.version}getRoots(){return this._header.roots}has(e){return this._blocks.some(r=>r.cid.equals(e))}get(e){return this._blocks.find(r=>r.cid.equals(e))}blocks(){return this._blocks}cids(){return this._cids||(this._cids=this._blocks.map(e=>e.cid)),this._cids}static fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");let{header:r,blocks:n}=G1(e);return new t(r,n)}};var ac=_e(jl(),1);var A6=["string","number","bigint","symbol"],D6=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function K1(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(A6.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(T6(t))return"Buffer";let r=C6(t);return r||"Object"}function T6(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function C6(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(D6.includes(e))return e}var S=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};S.uint=new S(0,"uint",!0);S.negint=new S(1,"negint",!0);S.bytes=new S(2,"bytes",!0);S.string=new S(3,"string",!0);S.array=new S(4,"array",!1);S.map=new S(5,"map",!1);S.tag=new S(6,"tag",!1);S.float=new S(7,"float",!0);S.false=new S(7,"false",!0);S.true=new S(7,"true",!0);S.null=new S(7,"null",!0);S.undefined=new S(7,"undefined",!0);S.break=new S(7,"break",!0);var N=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var gi=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",I6=new TextDecoder,B6=new TextEncoder;function Vl(t){return gi&&globalThis.Buffer.isBuffer(t)}function X1(t){return t instanceof Uint8Array?Vl(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Y1=gi?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):J1(t,e,r):(t,e,r)=>r-e>64?I6.decode(t.subarray(e,r)):J1(t,e,r),eS=gi?t=>t.length>64?globalThis.Buffer.from(t):Z1(t):t=>t.length>64?B6.encode(t):Z1(t),vr=t=>Uint8Array.from(t),wi=gi?(t,e,r)=>Vl(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),tS=gi?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),X1(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},rS=gi?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function nS(t,e){if(Vl(t)&&Vl(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function Z1(t,e=1/0){let r,n=t.length,o=null,s=[];for(let i=0;i<n;++i){if(r=t.charCodeAt(i),r>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(i+1===n){(e-=3)>-1&&s.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&s.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function J1(t,e,r){let n=[];for(;e<r;){let o=t[e],s=null,i=o>239?4:o>223?3:o>191?2:1;if(e+i<=r){let a,c,u,l;switch(i){case 1:o<128&&(s=o);break;case 2:a=t[e+1],(a&192)===128&&(l=(o&31)<<6|a&63,l>127&&(s=l));break;case 3:a=t[e+1],c=t[e+2],(a&192)===128&&(c&192)===128&&(l=(o&15)<<12|(a&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:a=t[e+1],c=t[e+2],u=t[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(l=(o&15)<<18|(a&63)<<12|(c&63)<<6|u&63,l>65535&&l<1114112&&(s=l))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),e+=i}return P6(n)}var Q1=4096;function P6(t){let e=t.length;if(e<=Q1)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Q1));return r}var L6=256,Gl=class{constructor(e=L6){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=rS(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=wi(n,0,this.cursor)}else r=tS(this.chunks,this.cursor);return e&&this.reset(),r}};var ge="CBOR decode error:",hy="CBOR encode error:",oc=[];oc[23]=1;oc[24]=2;oc[25]=3;oc[26]=5;oc[27]=9;function Vr(t,e,r){if(t.length-e<r)throw new Error(`${ge} not enough data for type`)}var Je=[24,256,65536,4294967296,BigInt("18446744073709551616")];function It(t,e,r){Vr(t,e,1);let n=t[e];if(r.strict===!0&&n<Je[0])throw new Error(`${ge} integer encoded in more bytes than necessary (strict decode)`);return n}function Bt(t,e,r){Vr(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<Je[1])throw new Error(`${ge} integer encoded in more bytes than necessary (strict decode)`);return n}function Pt(t,e,r){Vr(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<Je[2])throw new Error(`${ge} integer encoded in more bytes than necessary (strict decode)`);return n}function Lt(t,e,r){Vr(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&s<Je[3])throw new Error(`${ge} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(r.allowBigInt===!0)return s;throw new Error(`${ge} integers outside of the safe integer range are not supported`)}function oS(t,e,r,n){return new N(S.uint,It(t,e+1,n),2)}function sS(t,e,r,n){return new N(S.uint,Bt(t,e+1,n),3)}function iS(t,e,r,n){return new N(S.uint,Pt(t,e+1,n),5)}function aS(t,e,r,n){return new N(S.uint,Lt(t,e+1,n),9)}function Ht(t,e){return tt(t,0,e.value)}function tt(t,e,r){if(r<Je[0]){let n=Number(r);t.push([e|n])}else if(r<Je[1]){let n=Number(r);t.push([e|24,n])}else if(r<Je[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<Je[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<Je[4]){let o=[e|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,t.push(o)}else throw new Error(`${ge} encountered BigInt larger than allowable range`)}}Ht.encodedSize=function(e){return tt.encodedSize(e.value)};tt.encodedSize=function(e){return e<Je[0]?1:e<Je[1]?2:e<Je[2]?3:e<Je[3]?5:9};Ht.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function cS(t,e,r,n){return new N(S.negint,-1-It(t,e+1,n),2)}function uS(t,e,r,n){return new N(S.negint,-1-Bt(t,e+1,n),3)}function lS(t,e,r,n){return new N(S.negint,-1-Pt(t,e+1,n),5)}var py=BigInt(-1),dS=BigInt(1);function fS(t,e,r,n){let o=Lt(t,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new N(S.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${ge} integers outside of the safe integer range are not supported`);return new N(S.negint,py-BigInt(o),9)}function Kl(t,e){let r=e.value,n=typeof r=="bigint"?r*py-dS:r*-1-1;tt(t,e.type.majorEncoded,n)}Kl.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*py-dS:r*-1-1;return n<Je[0]?1:n<Je[1]?2:n<Je[2]?3:n<Je[3]?5:9};Kl.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function sc(t,e,r,n){Vr(t,e,r+n);let o=wi(t,e+r,e+r+n);return new N(S.bytes,o,r+n)}function hS(t,e,r,n){return sc(t,e,1,r)}function pS(t,e,r,n){return sc(t,e,2,It(t,e+1,n))}function mS(t,e,r,n){return sc(t,e,3,Bt(t,e+1,n))}function yS(t,e,r,n){return sc(t,e,5,Pt(t,e+1,n))}function gS(t,e,r,n){let o=Lt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${ge} 64-bit integer bytes lengths not supported`);return sc(t,e,9,o)}function Zl(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===S.string?eS(t.value):t.value),t.encodedBytes}function bi(t,e){let r=Zl(e);tt(t,e.type.majorEncoded,r.length),t.push(r)}bi.encodedSize=function(e){let r=Zl(e);return tt.encodedSize(r.length)+r.length};bi.compareTokens=function(e,r){return R6(Zl(e),Zl(r))};function R6(t,e){return t.length<e.length?-1:t.length>e.length?1:nS(t,e)}function ic(t,e,r,n,o){let s=r+n;Vr(t,e,s);let i=new N(S.string,Y1(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=wi(t,e+r,e+s)),i}function wS(t,e,r,n){return ic(t,e,1,r,n)}function bS(t,e,r,n){return ic(t,e,2,It(t,e+1,n),n)}function xS(t,e,r,n){return ic(t,e,3,Bt(t,e+1,n),n)}function kS(t,e,r,n){return ic(t,e,5,Pt(t,e+1,n),n)}function vS(t,e,r,n){let o=Lt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${ge} 64-bit integer string lengths not supported`);return ic(t,e,9,o,n)}var SS=bi;function xi(t,e,r,n){return new N(S.array,n,r)}function ES(t,e,r,n){return xi(t,e,1,r)}function _S(t,e,r,n){return xi(t,e,2,It(t,e+1,n))}function AS(t,e,r,n){return xi(t,e,3,Bt(t,e+1,n))}function DS(t,e,r,n){return xi(t,e,5,Pt(t,e+1,n))}function TS(t,e,r,n){let o=Lt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${ge} 64-bit integer array lengths not supported`);return xi(t,e,9,o)}function CS(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${ge} indefinite length items not allowed`);return xi(t,e,1,1/0)}function Jl(t,e){tt(t,S.array.majorEncoded,e.value)}Jl.compareTokens=Ht.compareTokens;Jl.encodedSize=function(e){return tt.encodedSize(e.value)};function ki(t,e,r,n){return new N(S.map,n,r)}function IS(t,e,r,n){return ki(t,e,1,r)}function BS(t,e,r,n){return ki(t,e,2,It(t,e+1,n))}function PS(t,e,r,n){return ki(t,e,3,Bt(t,e+1,n))}function LS(t,e,r,n){return ki(t,e,5,Pt(t,e+1,n))}function US(t,e,r,n){let o=Lt(t,e+1,n);if(typeof o=="bigint")throw new Error(`${ge} 64-bit integer map lengths not supported`);return ki(t,e,9,o)}function RS(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${ge} indefinite length items not allowed`);return ki(t,e,1,1/0)}function Ql(t,e){tt(t,S.map.majorEncoded,e.value)}Ql.compareTokens=Ht.compareTokens;Ql.encodedSize=function(e){return tt.encodedSize(e.value)};function NS(t,e,r,n){return new N(S.tag,r,1)}function OS(t,e,r,n){return new N(S.tag,It(t,e+1,n),2)}function $S(t,e,r,n){return new N(S.tag,Bt(t,e+1,n),3)}function MS(t,e,r,n){return new N(S.tag,Pt(t,e+1,n),5)}function FS(t,e,r,n){return new N(S.tag,Lt(t,e+1,n),9)}function Xl(t,e){tt(t,S.tag.majorEncoded,e.value)}Xl.compareTokens=Ht.compareTokens;Xl.encodedSize=function(e){return tt.encodedSize(e.value)};var z6=20,j6=21,W6=22,H6=23;function zS(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${ge} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new N(S.null,null,1):new N(S.undefined,void 0,1)}function jS(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${ge} indefinite length items not allowed`);return new N(S.break,void 0,1)}function my(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${ge} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${ge} Infinity values are not supported`)}return new N(S.float,t,e)}function WS(t,e,r,n){return my(yy(t,e+1),3,n)}function HS(t,e,r,n){return my(gy(t,e+1),5,n)}function qS(t,e,r,n){return my(ZS(t,e+1),9,n)}function Yl(t,e,r){let n=e.value;if(n===!1)t.push([S.float.majorEncoded|z6]);else if(n===!0)t.push([S.float.majorEncoded|j6]);else if(n===null)t.push([S.float.majorEncoded|W6]);else if(n===void 0)t.push([S.float.majorEncoded|H6]);else{let o,s=!1;(!r||r.float64!==!0)&&(GS(n),o=yy(sr,1),n===o||Number.isNaN(n)?(sr[0]=249,t.push(sr.slice(0,3)),s=!0):(KS(n),o=gy(sr,1),n===o&&(sr[0]=250,t.push(sr.slice(0,5)),s=!0))),s||(q6(n),o=ZS(sr,1),sr[0]=251,t.push(sr.slice(0,9)))}}Yl.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){GS(n);let o=yy(sr,1);if(n===o||Number.isNaN(n))return 3;if(KS(n),o=gy(sr,1),n===o)return 5}return 9};var VS=new ArrayBuffer(9),qt=new DataView(VS,1),sr=new Uint8Array(VS,0);function GS(t){if(t===1/0)qt.setUint16(0,31744,!1);else if(t===-1/0)qt.setUint16(0,64512,!1);else if(Number.isNaN(t))qt.setUint16(0,32256,!1);else{qt.setFloat32(0,t);let e=qt.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)qt.setUint16(0,31744,!1);else if(r===0)qt.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?qt.setUint16(0,0):o<-14?qt.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):qt.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function yy(t,e){if(t.length-e<2)throw new Error(`${ge} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,r&32768?-s:s}function KS(t){qt.setFloat32(0,t,!1)}function gy(t,e){if(t.length-e<4)throw new Error(`${ge} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function q6(t){qt.setFloat64(0,t,!1)}function ZS(t,e){if(t.length-e<8)throw new Error(`${ge} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}Yl.compareTokens=Ht.compareTokens;function we(t,e,r){throw new Error(`${ge} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function ed(t){return()=>{throw new Error(`${ge} ${t}`)}}var R=[];for(let t=0;t<=23;t++)R[t]=we;R[24]=oS;R[25]=sS;R[26]=iS;R[27]=aS;R[28]=we;R[29]=we;R[30]=we;R[31]=we;for(let t=32;t<=55;t++)R[t]=we;R[56]=cS;R[57]=uS;R[58]=lS;R[59]=fS;R[60]=we;R[61]=we;R[62]=we;R[63]=we;for(let t=64;t<=87;t++)R[t]=hS;R[88]=pS;R[89]=mS;R[90]=yS;R[91]=gS;R[92]=we;R[93]=we;R[94]=we;R[95]=ed("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)R[t]=wS;R[120]=bS;R[121]=xS;R[122]=kS;R[123]=vS;R[124]=we;R[125]=we;R[126]=we;R[127]=ed("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)R[t]=ES;R[152]=_S;R[153]=AS;R[154]=DS;R[155]=TS;R[156]=we;R[157]=we;R[158]=we;R[159]=CS;for(let t=160;t<=183;t++)R[t]=IS;R[184]=BS;R[185]=PS;R[186]=LS;R[187]=US;R[188]=we;R[189]=we;R[190]=we;R[191]=RS;for(let t=192;t<=215;t++)R[t]=NS;R[216]=OS;R[217]=$S;R[218]=MS;R[219]=FS;R[220]=we;R[221]=we;R[222]=we;R[223]=we;for(let t=224;t<=243;t++)R[t]=ed("simple values are not supported");R[244]=we;R[245]=we;R[246]=we;R[247]=zS;R[248]=ed("simple values are not supported");R[249]=WS;R[250]=HS;R[251]=qS;R[252]=we;R[253]=we;R[254]=we;R[255]=jS;var Sr=[];for(let t=0;t<24;t++)Sr[t]=new N(S.uint,t,1);for(let t=-1;t>=-24;t--)Sr[31-t]=new N(S.negint,t,1);Sr[64]=new N(S.bytes,new Uint8Array(0),1);Sr[96]=new N(S.string,"",1);Sr[128]=new N(S.array,0,1);Sr[160]=new N(S.map,0,1);Sr[244]=new N(S.false,!1,1);Sr[245]=new N(S.true,!0,1);Sr[246]=new N(S.null,null,1);function wy(t){switch(t.type){case S.false:return vr([244]);case S.true:return vr([245]);case S.null:return vr([246]);case S.bytes:return t.value.length?void 0:vr([64]);case S.string:return t.value===""?vr([96]):void 0;case S.array:return t.value===0?vr([128]):void 0;case S.map:return t.value===0?vr([160]):void 0;case S.uint:return t.value<24?vr([Number(t.value)]):void 0;case S.negint:if(t.value>=-24)return vr([31-Number(t.value)])}}function by(){let t=[];return t[S.uint.major]=Ht,t[S.negint.major]=Kl,t[S.bytes.major]=bi,t[S.string.major]=SS,t[S.array.major]=Jl,t[S.map.major]=Ql,t[S.tag.major]=Xl,t[S.float.major]=Yl,t}var EH=by(),_H=new Gl,rd=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${hy} object contains circular references`);return new t(r,e)}},Tn={null:new N(S.null,null),undefined:new N(S.undefined,void 0),true:new N(S.true,!0),false:new N(S.false,!1),emptyArray:new N(S.array,0),emptyMap:new N(S.map,0)},Cn={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new N(S.float,t):t>=0?new N(S.uint,t):new N(S.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new N(S.uint,t):new N(S.negint,t)},Uint8Array(t,e,r,n){return new N(S.bytes,t)},string(t,e,r,n){return new N(S.string,t)},boolean(t,e,r,n){return t?Tn.true:Tn.false},null(t,e,r,n){return Tn.null},undefined(t,e,r,n){return Tn.undefined},ArrayBuffer(t,e,r,n){return new N(S.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new N(S.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[Tn.emptyArray,new N(S.break)]:Tn.emptyArray;n=rd.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=td(i,r,n);return r.addBreakTokens?[new N(S.array,t.length),o,new N(S.break)]:[new N(S.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",s=o?t.keys():Object.keys(t),i=o?t.size:s.length;if(!i)return r.addBreakTokens===!0?[Tn.emptyMap,new N(S.break)]:Tn.emptyMap;n=rd.createCheck(n,t);let a=[],c=0;for(let u of s)a[c++]=[td(u,r,n),td(o?t.get(u):t[u],r,n)];return G6(a,r),r.addBreakTokens?[new N(S.map,i),a,new N(S.break)]:[new N(S.map,i),a]}};Cn.Map=Cn.Object;Cn.Buffer=Cn.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Cn[`${t}Array`]=Cn.DataView;function td(t,e={},r){let n=K1(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||Cn[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=Cn[n];if(!s)throw new Error(`${hy} unsupported type: ${n}`);return s(t,n,e,r)}function G6(t,e){e.mapSorter&&t.sort(e.mapSorter)}var IH=Symbol.for("DONE"),BH=Symbol.for("BREAK");var K6=by(),Z6={float64:!1,quickEncodeToken:wy};function xy(t,e=K6,r=Z6){if(Array.isArray(t)){let n=0;for(let o of t)n+=xy(o,e,r);return n}else{let n=e[t.type.major];if(n.encodedSize===void 0||typeof n.encodedSize!="function")throw new Error(`Encoder for ${t.type.name} does not have an encodedSize()`);return n.encodedSize(t,r)}}var vy=class{constructor(e,r){this.bytes=e,this.byteOffset=r,this.roots=[],this.headerSize=r}addRoot(e,r){return J6(this,e,r),this}write(e){return Q6(this,e),this}close(e){return X6(this,e)}},J6=(t,e,r={})=>{let{resize:n=!1}=r,{bytes:o,headerSize:s,byteOffset:i,roots:a}=t;t.roots.push(e);let c=In(t);if(c>s)if(c-s+i<o.byteLength)if(n)QS(t,c);else throw a.pop(),new RangeError(`Header of size ${s} has no capacity for new root ${e}.
|
3
|
-
However there is a space in the buffer and you could call addRoot(root, { resize: root }) to resize header to make a space for this root.`);else throw a.pop(),new RangeError(`Buffer has no capacity for a new root ${e}`)},Er=({cid:t,bytes:e})=>{let r=t.bytes.byteLength+e.byteLength;return ac.default.encodingLength(r)+r},Q6=(t,{cid:e,bytes:r})=>{let n=e.bytes.byteLength+r.byteLength,o=ac.default.encode(n);if(t.byteOffset+o.length+n>t.bytes.byteLength)throw new RangeError("Buffer has no capacity for this block");ky(t,o),ky(t,e.bytes),ky(t,r)},X6=(t,e={})=>{let{resize:r=!1}=e,{roots:n,bytes:o,byteOffset:s,headerSize:i}=t,a=rr({version:1,roots:n}),c=ac.default.encode(a.length),u=c.length+a.byteLength;if(i-u===0)return JS(t,c,a),o.subarray(0,s);if(r)return QS(t,u),JS(t,c,a),o.subarray(0,t.byteOffset);throw new RangeError(`Header size was overestimated.
|
4
|
-
You can use close({ resize: true }) to resize header`)},QS=(t,e)=>{let{bytes:r,headerSize:n}=t;r.set(r.subarray(n,t.byteOffset),e),t.byteOffset+=e-n,t.headerSize=e},ky=(t,e)=>{t.bytes.set(e,t.byteOffset),t.byteOffset+=e.length},JS=({bytes:t},e,r)=>{t.set(e),t.set(r,e.length)},Y6=[new N(S.map,2),new N(S.string,"version"),new N(S.uint,1),new N(S.string,"roots")],e3=new N(S.tag,42),XS=t=>{let e=[...Y6];e.push(new N(S.array,t.length));for(let n of t)e.push(e3),e.push(new N(S.bytes,{length:n+1}));let r=xy(e);return ac.default.encodingLength(r)+r},In=({roots:t})=>XS(t.map(e=>e.bytes.byteLength)),YS=(t,e=36)=>XS(new Array(t).fill(e)),Bn=(t,e={})=>{let{roots:r=[],byteOffset:n=0,byteLength:o=t.byteLength,headerSize:s=In({roots:r})}=e,i=new Uint8Array(t,n,o),a=new vy(i,s);for(let c of r)a.addRoot(c);return a};var t3="application/vnd.ipld.car",r3="CAR",eE=514,nd=class{constructor(e=[],r=0){this.written=new Set,this.blocks=e,this.byteLength=r}write(...e){for(let r of e){let n=r.cid.toString(Ve);this.written.has(n)||(this.blocks.push(r),this.byteLength+=Er(r),this.written.add(n))}return this}flush(...e){let r=[];for(let s of e.reverse()){let i=s.cid.toString(Ve);this.written.has(i)||(this.blocks.unshift(s),this.byteLength+=Er({cid:s.cid,bytes:s.bytes}),this.written.add(i)),r.unshift(s.cid)}this.byteLength+=In({roots:r});let n=new ArrayBuffer(this.byteLength),o=Bn(n,{roots:r});for(let s of this.blocks)o.write(s);return o.close()}},n3=()=>new nd,od=({roots:t=[],blocks:e})=>{let r=new nd;return e&&r.write(...e.values()),r.flush(...t)},uc=t=>{let e=qr.fromBytes(t),r=[],n=new Map;for(let o of e.getRoots()){let s=e.get(o);s&&r.push(s)}for(let o of e.blocks())n.set(o.cid.toString(),o);return{roots:r,blocks:n}},tE=async(t,{hasher:e=ue}={})=>Fe(eE,await e.digest(t)),o3=async(t,e)=>{let r=od(t),n=await tE(r,e);return{bytes:r,cid:n}};var x={};M(x,{API:()=>le,Bytes:()=>dE,DID:()=>ee,Link:()=>he,Text:()=>ig,URI:()=>V,and:()=>cE,array:()=>sE,boolean:()=>d3,bytes:()=>v3,dictionary:()=>eg,did:()=>gd,endsWith:()=>hE,enum:()=>c3,error:()=>Ee,float:()=>x3,greaterThan:()=>lE,integer:()=>m3,intersection:()=>aE,lessThan:()=>uE,link:()=>Zr,literal:()=>cd,memberError:()=>Po,never:()=>s3,nullable:()=>oE,number:()=>f3,ok:()=>C,optional:()=>ld,or:()=>iE,refine:()=>pE,startsWith:()=>fE,string:()=>Kr,struct:()=>Ne,text:()=>wd,toString:()=>lc,tuple:()=>a3,typeError:()=>rt,uint64:()=>g3,unknown:()=>i3,uri:()=>ng,variant:()=>dc});var V={};M(V,{from:()=>A3,match:()=>ng,read:()=>_3,uri:()=>E3});var C=t=>{if(t==null)throw new TypeError(`ok(${t}) is not allowed, consider ok({}) instead`);return{ok:t}},sd=t=>{if(t==null)throw new TypeError(`error(${t}) is not allowed, consider passing an error instead`);return{error:t}},rE=t=>{throw new Vt(t)},ie=t=>({error:new Vt(t)}),Vt=class extends Error{describe(){return this.toString()}get message(){return this.describe()}toJSON(){let{name:e,message:r,stack:n}=this;return{name:e,message:r,stack:n}}};var le=class{constructor(e){this.settings=e}toString(){return`new ${this.constructor.name}()`}readWith(e,r){throw new Error("Abstract method readWith must be implemented by subclass")}read(e){return this.readWith(e,this.settings)}is(e){return!this.read(e)?.error}from(e){let r=this.read(e);if(r.error)throw r.error;return r.ok}optional(){return ld(this)}nullable(){return oE(this)}array(){return sE(this)}or(e){return iE(this,e)}and(e){return cE(this,e)}refine(e){return pE(this,e)}brand(e){return this}default(e){let r=this.from(e);if(r===void 0)throw new Error("Value of type undefined is not a valid default");return new Dy({reader:this,value:r})}},Sy=class extends le{toString(){return"never()"}read(e){return rt({expect:"never",actual:e})}},s3=()=>new Sy,Ey=class extends le{read(e){return{ok:e}}toString(){return"unknown()"}},i3=()=>new Ey,_y=class extends le{readWith(e,r){let n=r.read(e);return n.error?e===null?{ok:null}:{error:new ud({causes:[n.error,rt({expect:"null",actual:e}).error]})}:n}toString(){return`${this.settings}.nullable()`}},oE=t=>new _y(t),Ay=class extends le{optional(){return this}readWith(e,r){let n=r.read(e);return n.error&&e===void 0?{ok:void 0}:n}toString(){return`${this.settings}.optional()`}},Dy=class extends le{optional(){return this}readWith(e,{reader:r,value:n}){if(e===void 0)return{ok:n};{let o=r.read(e);return o.error||o.ok!==void 0?o:{ok:n}}}toString(){return`${this.settings.reader}.default(${JSON.stringify(this.settings.value)})`}get value(){return this.settings.value}},ld=t=>new Ay(t),Ty=class extends le{readWith(e,r){if(!Array.isArray(e))return rt({expect:"array",actual:e});let n=[];for(let[o,s]of e.entries()){let i=r.read(s);if(i.error)return Po({at:o,cause:i.error});n.push(i.ok)}return{ok:n}}get element(){return this.settings}toString(){return`array(${this.element})`}},sE=t=>new Ty(t),Cy=class extends le{readWith(e,r){if(!Array.isArray(e))return rt({expect:"array",actual:e});if(e.length!==this.shape.length)return Ee(`Array must contain exactly ${this.shape.length} elements`);let n=[];for(let[o,s]of r.entries()){let i=s.read(e[o]);if(i.error)return Po({at:o,cause:i.error});n[o]=i.ok}return{ok:n}}get shape(){return this.settings}toString(){return`tuple([${this.shape.map(e=>e.toString()).join(", ")}])`}},a3=t=>new Cy(t),Iy=class t extends le{readWith(e,{key:r,value:n}){if(typeof e!="object"||e===null||Array.isArray(e))return rt({expect:"dictionary",actual:e});let o={};for(let[s,i]of Object.entries(e)){let a=r.read(s);if(a.error)return Po({at:s,cause:a.error});let c=n.read(i);if(c.error)return Po({at:s,cause:c.error});c.ok!==void 0&&(o[a.ok]=c.ok)}return{ok:o}}get key(){return this.settings.key}get value(){return this.settings.value}partial(){let{key:e,value:r}=this.settings;return new t({key:e,value:ld(r)})}toString(){return`dictionary(${this.settings})`}},eg=({value:t,key:e})=>new Iy({value:t,key:e||Kr()}),By=class extends le{readWith(e,{variants:r,type:n}){return r.has(e)?{ok:e}:rt({expect:n,actual:e})}toString(){return this.settings.type}},c3=t=>new By({type:t.join("|"),variants:new Set(t)});var Py=class extends le{readWith(e,r){let n=[];for(let o of r){let s=o.read(e);if(s.error)n.push(s.error);else return s}return{error:new ud({causes:n})}}get variants(){return this.settings}toString(){return`union([${this.variants.map(e=>e.toString()).join(", ")}])`}},u3=t=>new Py(t),iE=(t,e)=>u3([t,e]),Ly=class extends le{readWith(e,r){let n=[];for(let o of r){let s=o.read(e);s.error&&n.push(s.error)}return n.length>0?{error:new Yy({causes:n})}:{ok:e}}toString(){return`intersection([${this.settings.map(e=>e.toString()).join(",")}])`}},aE=t=>new Ly(t),cE=(t,e)=>aE([t,e]),Uy=class extends le{readWith(e){switch(e){case!0:case!1:return{ok:e};default:return rt({expect:"boolean",actual:e})}}toString(){return"boolean()"}},l3=new Uy,d3=()=>l3,id=class extends le{greaterThan(e){return this.refine(lE(e))}lessThan(e){return this.refine(uE(e))}refine(e){return new Ny({base:this,schema:e})}},Ry=class extends id{readWith(e){return typeof e=="number"?{ok:e}:rt({expect:"number",actual:e})}toString(){return"number()"}},tg=new Ry,f3=()=>tg,Ny=class extends id{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},Oy=class extends le{readWith(e,r){return e<r?{ok:e}:Ee(`Expected ${e} < ${r}`)}toString(){return`lessThan(${this.settings})`}},uE=t=>new Oy(t),$y=class extends le{readWith(e,r){return e>r?{ok:e}:Ee(`Expected ${e} > ${r}`)}toString(){return`greaterThan(${this.settings})`}},lE=t=>new $y(t),h3={read(t){return Number.isInteger(t)?{ok:t}:rt({expect:"integer",actual:t})},toString(){return"Integer"}},p3=tg.refine(h3),m3=()=>p3,nE=2n**64n-1n,My=class extends le{read(e){switch(typeof e){case"bigint":return e>nE?Ee(`Integer is too big for uint64, ${e} > ${nE}`):e<0?Ee(`Negative integer can not be represented as uint64, ${e} < 0`):{ok:e};case"number":return Number.isInteger(e)?e<0?Ee(`Negative integer can not be represented as uint64, ${e} < 0`):{ok:BigInt(e)}:rt({expect:"uint64",actual:e});default:return rt({expect:"uint64",actual:e})}}toString(){return"uint64"}},y3=new My,g3=()=>y3,w3={read(t){return Number.isFinite(t)?{ok:t}:rt({expect:"Float",actual:t})},toString(){return"Float"}},b3=tg.refine(w3),x3=()=>b3,ad=class extends le{refine(e){let r=e;return new Fy({base:this,schema:r})}startsWith(e){return this.refine(fE(e))}endsWith(e){return this.refine(hE(e))}toString(){return"string()"}},Fy=class extends ad{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},zy=class extends ad{readWith(e){return typeof e=="string"?{ok:e}:rt({expect:"string",actual:e})}},k3=new zy,Kr=()=>k3,jy=class extends le{readWith(e){return e instanceof Uint8Array?{ok:e}:rt({expect:"Uint8Array",actual:e})}},dE=new jy,v3=()=>dE,Wy=class extends le{readWith(e,r){return e.startsWith(r)?{ok:e}:Ee(`Expect string to start with "${r}" instead got "${e}"`)}get prefix(){return this.settings}toString(){return`startsWith("${this.prefix}")`}},fE=t=>new Wy(t),Hy=class extends le{readWith(e,r){return e.endsWith(r)?{ok:e}:Ee(`Expect string to end with "${r}" instead got "${e}"`)}get suffix(){return this.settings}toString(){return`endsWith("${this.suffix}")`}},hE=t=>new Hy(t),qy=class extends le{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},pE=(t,e)=>new qy({base:t,schema:e}),Vy=class extends le{readWith(e,r){return e!==r?{error:new Jy({expect:r,actual:e})}:{ok:r}}get value(){return this.settings}default(e=this.value){return super.default(e)}toString(){return`literal(${lc(this.value)})`}},cd=t=>new Vy(t),Gy=class t extends le{readWith(e,r){if(typeof e!="object"||e===null||Array.isArray(e))return rt({expect:"object",actual:e});let n=e,o={},s=Object.entries(r);for(let[i,a]of s){let c=a.read(n[i]);if(c.error)return Po({at:i,cause:c.error});c.ok!==void 0&&(o[i]=c.ok)}return{ok:o}}partial(){return new t(Object.fromEntries(Object.entries(this.shape).map(([e,r])=>[e,ld(r)])))}get shape(){return this.settings}toString(){return["struct({ ",...Object.entries(this.shape).map(([e,r])=>`${e}: ${r}`).join(", ")," })"].join("")}create(e){return this.from(e||{})}extend(e){return new t({...this.shape,...e})}},Ne=t=>{let e={},r=Object.entries(t);for(let[n,o]of r)switch(typeof o){case"number":case"string":case"boolean":e[n]=cd(o);break;case"object":e[n]=o===null?cd(null):o;break;default:throw new Error(`Invalid struct field "${n}", expected schema or literal, instead got ${typeof o}`)}return new Gy(e)},Ky=class extends le{readWith(e,r){if(typeof e!="object"||e===null||Array.isArray(e))return rt({expect:"object",actual:e});let n=Object.keys(e),[o]=n.length===1?n:[],s=o?r[o]:void 0;if(s){let i=s.read(e[o]);return i.error?Po({at:o,cause:i.error}):{ok:{[o]:i.ok}}}else if(r._){let i=r._.read(e);return i.error?i:{ok:{_:i.ok}}}else return Ee(o?`Expected an object with one of the these keys: ${Object.keys(r).sort().join(", ")} instead got object with key ${o}`:"Expected an object with a single key instead got object with keys "+n.sort().join(", "))}match(e,r){let n=this.read(e);if(n.error){if(r!==void 0)return[null,r];throw n.error}else{let[o]=Object.keys(n.ok),s=n.ok[o];return[o,s]}}create(e){return this.from(e)}},dc=t=>new Ky(t),Ee=t=>({error:new Gr(t)}),Gr=class extends Vt{get name(){return"SchemaError"}describe(){return this.name}},Zy=class extends Gr{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"TypeError"}describe(){return`Expected value of type ${this.expect} instead got ${lc(this.actual)}`}},rt=t=>({error:new Zy(t)}),lc=t=>{let e=typeof t;switch(e){case"boolean":case"string":return JSON.stringify(t);case"bigint":return`${t}n`;case"number":case"symbol":case"undefined":return String(t);case"object":return t===null?"null":Array.isArray(t)?"array":Symbol.toStringTag in t?t[Symbol.toStringTag]:"object";default:return e}},Jy=class extends Gr{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"LiteralError"}describe(){return`Expected literal ${lc(this.expect)} instead got ${lc(this.actual)}`}},Qy=class extends Gr{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"ElementError"}describe(){return[`Array contains invalid element at ${this.at}:`,dd(this.cause.message)].join(`
|
5
|
-
`)}},Xy=class extends Gr{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"FieldError"}describe(){return[`Object contains invalid field "${this.at}":`,dd(this.cause.message)].join(`
|
6
|
-
`)}},Po=({at:t,cause:e})=>typeof t=="string"?{error:new Xy({at:t,cause:e})}:{error:new Qy({at:t,cause:e})},ud=class extends Gr{constructor({causes:e}){super(),this.causes=e}get name(){return"UnionError"}describe(){let{causes:e}=this;return["Value does not match any type of the union:",...e.map(r=>dd(r.message))].join(`
|
7
|
-
`)}},Yy=class extends Gr{constructor({causes:e}){super(),this.causes=e}get name(){return"IntersectionError"}describe(){let{causes:e}=this;return["Value does not match following types of the intersection:",...e.map(r=>dd(r.message))].join(`
|
8
|
-
`)}},S3=(t,e=" ")=>`${e}${t.split(`
|
9
|
-
`).join(`
|
10
|
-
${e}`)}`,dd=t=>S3(`- ${t}`);var hd=class extends le{readWith(e,{protocol:r}={}){if(typeof e!="string"&&!(e instanceof URL))return Ee(`Expected URI but got ${e===null?"null":typeof e}`);try{let n=new URL(String(e));return r!=null&&n.protocol!==r?Ee(`Expected ${r} URI instead got ${n.href}`):{ok:n.href}}catch{return Ee("Invalid URI")}}},rg=new hd({}),E3=()=>rg,_3=t=>rg.read(t),ng=t=>new hd(t),A3=t=>rg.from(t);var he={};M(he,{create:()=>Fe,createLegacy:()=>oi,isLink:()=>ke,link:()=>D3,match:()=>Zr,optional:()=>C3,parse:()=>br,read:()=>T3,schema:()=>md});var pd=class extends le{readWith(e,{code:r,multihash:n={},version:o}){if(e==null)return Ee(`Expected link but got ${e} instead`);if(ke(e)){if(r!=null&&e.code!==r)return Ee(`Expected link to be CID with 0x${r.toString(16)} codec`);if(n.code!=null&&e.multihash.code!==n.code)return Ee(`Expected link to be CID with 0x${n.code.toString(16)} hashing algorithm`);if(o!=null&&e.version!==o)return Ee(`Expected link to be CID version ${o} instead of ${e.version}`);let[s,i]=n.digest!=null?[Ve.baseEncode(n.digest),Ve.baseEncode(e.multihash.digest)]:["",""];return s!==i?Ee(`Expected link with "${s}" hash digest instead of "${i}"`):{ok:e}}else return Ee(`Expected link to be a CID instead of ${e}`)}},md=new pd({}),D3=()=>md,Zr=(t={})=>new pd(t),T3=t=>md.read(t),C3=()=>md.optional();var ee={};M(ee,{did:()=>I3,from:()=>P3,match:()=>gd,read:()=>B3});var yd=class extends le{readWith(e,r){let n=r?`did:${r}:`:"did:";return e.startsWith(n)?{ok:e}:Ee(`Expected a ${n} but got "${e}" instead`)}},mE=Kr().refine(new yd),I3=()=>mE,B3=t=>mE.read(t),gd=(t={})=>Kr().refine(new yd(t.method)),P3=t=>gd({}).from(t);var ig={};M(ig,{match:()=>wd,read:()=>U3,text:()=>L3});var og=Kr(),wd=t=>t?og.refine(new sg(t.pattern)):og,L3=wd,U3=t=>og.read(t),sg=class extends le{readWith(e,r){return r.test(e)?{ok:e}:Ee(`Expected to match ${r} but got "${e}" instead`)}};var R3=ke,Lo=t=>!ke(t),N3=(...t)=>{let e={};for(let r of t)for(let{with:n,can:o,nb:s}of yE(r)){let i=e[n]||(e[n]={});(i[o]||(i[o]=[])).push({...s})}return e},yE=function*({issuer:t,capabilities:e,proofs:r}){for(let n of e)if(n.with==="ucan:*"){yield{...n,with:t.did()};for(let o of r)if(Lo(o))for(let s of yE(o)){let i=O3(s.can,n.can);i&&(yield{...s,can:i,nb:{...s.nb,...Object(n.nb)}})}}else yield n},O3=(t,e)=>t==="*"?e:e==="*"||e.endsWith("/*")&&t.startsWith(e.slice(0,-1))?t:t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:t===e?t:null,Gt=class{constructor(e,r=new Map){this.root=e,this.blocks=r,Object.defineProperties(this,{blocks:{enumerable:!1}})}get attachedLinks(){let e=new Set,r=this.data;for(let n of r.capabilities){let o=F3(n);for(let s of o)e.add(`${s}`)}for(let n of r.facts)if(ke(n))e.add(`${n}`);else{let o=Object.values(n).filter(s=>ke(s));for(let s of o)e.add(`${s}`)}return e}get version(){return this.data.version}get signature(){return this.data.signature}get cid(){return this.root.cid}link(){return this.root.cid}get asCID(){return this.cid}get bytes(){return this.root.bytes}get data(){let e=bd(this.root);return Object.defineProperties(this,{data:{value:e,enumerable:!1}}),e}attach(e){if(!this.attachedLinks.has(`${e.cid.link()}`))throw new Error(`given block with ${e.cid} is not an attached link`);this.blocks.set(`${e.cid}`,e)}export(){return cg(this.root,this.blocks,this.attachedLinks)}archive(){return gE(this)}iterateIPLDBlocks(){return cg(this.root,this.blocks,this.attachedLinks)}get proofs(){return M3(this)}get issuer(){return this.data.issuer}get audience(){return this.data.audience}get capabilities(){return this.data.capabilities}get expiration(){return this.data.expiration}get notBefore(){return this.data.notBefore}get nonce(){return this.data.nonce}get facts(){return this.data.facts}iterate(){return bE(this)}delegate(){return this}buildIPLDView(){return this}toJSON(){return{...this.data.toJSON(),"/":this.cid.toString(),prf:this.proofs.map(e=>Lo(e)?e:{"/":e.toString()})}}},gE=async t=>{try{let e=new Map;for(let o of t.iterateIPLDBlocks())e.set(`${o.cid}`,o);let r=await ly({[`ucan@${t.version}`]:t.root.cid});e.set(`${r.cid}`,r);let n=od({roots:[r],blocks:e});return C(n)}catch(e){return sd(e)}},wE=dc({"ucan@0.9.1":Zr({version:1})}),$3=async t=>{try{let{roots:e,blocks:r}=uc(t),[n]=e;if(n==null)return Ee("CAR archive does not contain a root block");let{bytes:o}=n,s=Ge(o),[,i]=wE.match(s);return C(xd({root:i,blocks:r}))}catch(e){return sd(e)}},bE=function*(t){for(let e of t.proofs)Lo(e)&&(yield*bE(e),yield e)},ag=new WeakMap,bd=({bytes:t})=>{let e=ag.get(t);if(!e){let r=Nl(t);return ag.set(t,r),r}return e},wt=async({issuer:t,audience:e,proofs:r=[],attachedBlocks:n=new Map,...o},s)=>{let i=[],a=new Map;for(let p of r)if(!Lo(p))i.push(p);else{i.push(p.cid);for(let f of p.export())a.set(f.cid.toString(),f)}let c=await pi({...o,issuer:t,audience:e,proofs:i}),{cid:u,bytes:l}=await Ol(c,s);ag.set(u,c);let d=new Gt({cid:u,bytes:l},a);Object.defineProperties(d,{proofs:{value:r}});for(let p of n.values())d.attach(p);return d},cg=function*(t,e,r){for(let n of bd(t).proofs){let o=e.get(`${n}`);o&&(yield*xE(o,e))}for(let n of r.values()){let o=e.get(n);o&&(yield o)}yield t},xE=function*(t,e){for(let r of bd(t).proofs){let n=e.get(`${r}`);n&&(yield*xE(n,e))}yield t},ug=t=>{let e=[];for(let n of t)e.push([n.cid.toString(),n]);let r=e.pop();if(r){let[,n]=r;return new Gt(n,new Map(e))}else throw new RangeError("Empty DAG can not be turned into a delegation")},lg=({root:t,blocks:e})=>new Gt(t,e),xd=({root:t,blocks:e},r)=>{let n=En(t,e,null);return n==null?r!==void 0?r:Hr(t):lg({root:n,blocks:e})},M3=t=>{let e=[],{root:r,blocks:n}=t;for(let o of bd(r).proofs){let s=n.get(o.toString());e.push(s?lg({root:s,blocks:n}):o)}return Object.defineProperty(t,"proofs",{value:e}),e};function F3(t){let e=[];function r(n){for(let o in n){let s=n[o];ke(s)?e.push(s):s&&typeof s=="object"&&r(s)}}return r(t),e}var Ro={};M(Ro,{Invocation:()=>kd,create:()=>kE,invoke:()=>Uo,view:()=>fg});var Uo=t=>new dg(t),kE=({root:t,blocks:e})=>new kd(t,e),fg=({root:t,blocks:e},r)=>{let n=En(t,e,null);return n==null?r!==void 0?r:Hr(t):kE({root:n,blocks:e})},dg=class{constructor({issuer:e,audience:r,capability:n,proofs:o=[],expiration:s,lifetimeInSeconds:i,notBefore:a,nonce:c,facts:u=[]}){this.issuer=e,this.audience=r,this.proofs=o,this.capabilities=[n],this.expiration=s,this.lifetimeInSeconds=i,this.notBefore=a,this.nonce=c,this.facts=u,this.attachedBlocks=new Map}attach(e){this.attachedBlocks.set(`${e.cid}`,e)}delegate(){return wt(this)}buildIPLDView(){return wt(this)}async execute(e){let r=this,[n]=await e.execute(r);return n}},kd=class extends Gt{};var _r={};M(_r,{MessageSchema:()=>vE,build:()=>W3,view:()=>H3});var fc={};M(fc,{issue:()=>j3,view:()=>Sd});var Sd=({root:t,blocks:e},r)=>{let n=En(t,e,null);if(n==null)return r!==void 0?r:Hr(t);let o=Ge(n.bytes);return new vd({root:{...n,data:o},store:e})},vd=class{constructor({root:e,store:r,ran:n,issuer:o,signature:s,proofs:i}){this.store=r,this.root=e,this._ran=n,this._signature=s,this._proofs=i,this._issuer=o}get ran(){let e=this._ran;if(e)return e;{let r=fg({root:this.root.data.ocm.ran,blocks:this.store},this.root.data.ocm.ran);return this._ran=r,r}}get proofs(){let e=this._proofs;if(e)return e;{let{store:r,root:n}=this,{prf:o}=n.data.ocm,s=[];if(o)for(let i of o){let a=xd({root:i,blocks:r},i);s.push(a)}return this._proofs=s,s}}get meta(){return this.root.data.ocm.meta}get issuer(){let e=this._issuer;if(e)return e;{let{iss:r}=this.root.data.ocm;if(r){let n=Ue(r);return this._issuer=n,n}}}get out(){return this.root.data.ocm.out}get fx(){return this.root.data.ocm.fx}get signature(){let e=this._signature;if(e)return e;{let r=li(this.root.data.sig);return this._signature=r,r}}verifySignature(e){return this.signature.verify(e,Co(this.root.data.ocm))}buildIPLDView(){return this}*iterateIPLDBlocks(){let{ran:e,fx:r,proofs:n,root:o}=this;yield*Io(e);for(let s of r.fork)yield*Io(s);r.join&&(yield*Io(r.join));for(let s of n)yield*Io(s);yield o}},hg=class{constructor({issuer:e,result:r,ran:n,fx:o=z3,proofs:s=[],meta:i={}}){this.issuer=e,this.result=r,this.ran=n,this.fx=o,this.proofs=s,this.meta=i}async buildIPLDView({hasher:e=ue,codec:r=xr}={}){let n=N1();Fl(Io(this.ran),n);for(let c of this.proofs)Fl(Io(c),n);let o={ran:this.ran.link(),out:this.result,fx:this.fx,meta:this.meta,iss:this.issuer.did(),prf:this.proofs.map(c=>c.link())},s=await this.issuer.sign(Co(o)),a=await Ml({ocm:o,sig:s},n,{hasher:e,codec:r});return new vd({root:a,store:n,signature:s,proofs:this.proofs,ran:this.ran})}},z3=Object.freeze({fork:Object.freeze([])}),j3=t=>new hg(t).buildIPLDView();var vE=dc({"ucanto/message@7.0.0":Ne({execute:Zr().array().optional(),delegate:eg({key:Kr(),value:Zr()}).array().optional()})}),W3=({invocations:t,receipts:e})=>new pg({invocations:t,receipts:e}).buildIPLDView(),H3=({root:t,store:e},r)=>{let n=En(t,e,null);if(n===null)return r!==void 0?r:Hr(t);let o=xr.decode(n.bytes),[s,i]=vE.match(o,r);switch(s){case"ucanto/message@7.0.0":return new Ed({root:{...n,data:o},store:e});default:return i}},pg=class{constructor({invocations:e,receipts:r}){this.invocations=e,this.receipts=r}async buildIPLDView(e){let r=new Map,{invocations:n,...o}=await q3(this.invocations||[],r),{receipts:s,...i}=await V3(this.receipts||[],r),a=await Ml({"ucanto/message@7.0.0":{...o,...i}},r,e);return new Ed({root:a,store:r},{receipts:s,invocations:n})}},q3=async(t,e)=>{let r=[],n=[];for(let o of t){let s=await o.buildIPLDView();n.push(s.link()),r.push(s);for(let i of s.iterateIPLDBlocks())e.set(`${i.cid}`,i)}return{invocations:r,...n.length>0?{execute:n}:{}}},V3=async(t,e)=>{if(t.length===0)return{};let r=new Map,n={};for(let[o,s]of t.entries()){let i=await s.buildIPLDView();for(let c of i.iterateIPLDBlocks())e.set(`${c.cid}`,c);let a=`${i.ran.link()}`;a in n?r.set(`${a}@${o}`,i):(n[a]=i.root.cid,r.set(a,i))}return{receipts:r,report:n}},Ed=class{constructor({root:e,store:r},{invocations:n,receipts:o}={}){this.root=e,this.store=r,this._invocations=n,this._receipts=o}*iterateIPLDBlocks(){for(let e of this.invocations)yield*e.iterateIPLDBlocks();for(let e of this.receipts.values())yield*e.iterateIPLDBlocks();yield this.root}get(e,r){let o=(this.root.data["ucanto/message@7.0.0"].report||{})[`${e}`];return o?Sd({root:o,blocks:this.store}):r!==void 0?r:rE(`Message does not include receipt for ${e}`)}get invocationLinks(){return this.root.data["ucanto/message@7.0.0"].execute||[]}get invocations(){let e=this._invocations;return e||(e=this.invocationLinks.map(r=>Ro.view({root:r,blocks:this.store}))),e}get receipts(){let e=this._receipts;if(!e){e=new Map;let r=this.root.data["ucanto/message@7.0.0"].report||{};for(let[n,o]of Object.entries(r)){let s=Sd({root:o,blocks:this.store});e.set(`${s.ran.link()}`,s)}}return e}};var No=t=>new yg(t),yg=class{constructor(e){this.id=e.id,this.options=e,this.codec=e.codec,this.channel=e.channel,this.hasher=e.hasher||ue}async execute(...e){return K3(e,this)}},K3=async(t,e)=>{let r=await _r.build({invocations:t}),n=await e.codec.encode(r,e),o=await e.channel.request(n);try{let s=await e.codec.decode(o);return r.invocationLinks.map(a=>s.get(a))}catch(s){let{message:i,...a}=s,c=[];for await(let u of r.invocationLinks){let l=await fc.issue({ran:u,result:{error:{...a,message:i}},issuer:{did(){return e.id.did()},sign(){return st.createNonStandard("",new Uint8Array)}}});c.push(l)}return c}};var gq=Kt.delegate;var ir={};M(ir,{codec:()=>Re,contentType:()=>Ad,inbound:()=>oU,outbound:()=>kg,request:()=>Oo,response:()=>$o});var Oo={};M(Oo,{codec:()=>Re,contentType:()=>vi,decode:()=>X3,encode:()=>Q3});var vi=Re.contentType,J3=Object.freeze({"content-type":vi,accept:vi}),Q3=(t,e)=>{let r=new Map;for(let o of t.iterateIPLDBlocks())r.set(`${o.cid}`,o);let n=Re.encode({roots:[t.root],blocks:r});return{headers:e?.headers||J3,body:n}},X3=async({headers:t,body:e})=>{let{roots:r,blocks:n}=Re.decode(e);return _r.view({root:r[0].cid,store:n})};var $o={};M($o,{codec:()=>Re,contentType:()=>hc,decode:()=>tU,encode:()=>eU});var hc=Re.contentType,Y3=Object.freeze({"content-type":hc}),eU=(t,e)=>{let r=new Map;for(let o of t.iterateIPLDBlocks())r.set(`${o.cid}`,o);let n=Re.encode({roots:[t.root],blocks:r});return{headers:Y3,body:n}},tU=async({headers:t,body:e})=>{let{roots:r,blocks:n}=Re.decode(e);return _r.view({root:r[0].cid,store:n})};var _d=t=>new gg(t),gg=class{accept({headers:e}){let r=e["content-type"]||e["Content-Type"],n=this.decoders[r];if(!n)return{error:{status:415,message:"The server cannot process the request because the payload format is not supported. Please check the content-type header and try again with a supported media type.",headers:{accept:Object.keys(this.decoders).join(", ")}}};let o=nU(e.accept||e.Accept||"*/*");for(let{category:s,type:i}of o)for(let a of this.encoders)if((s==="*"||s===a.category)&&(i==="*"||i===a.type))return{ok:{...a,decoder:n}};return{error:{status:406,message:"The requested resource cannot be served in the requested content type. Please specify a supported content type using the Accept header.",headers:{accept:EE(Object.values(this.encoders))}}}}constructor({decoders:e={},encoders:r={}}){if(this.decoders=e,Object.keys(e).length===0)throw new Error("At least one decoder MUST be provided");if(this.encoders=Object.entries(r).map(([n,o])=>({...bg(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.encoders.length===0)throw new Error("At least one encoder MUST be provided")}},SE=t=>new wg(t),wg=class{constructor({decoders:e={},encoders:r={}}){if(this.decoders=e,Object.keys(e).length===0)throw new Error("At least one decoder MUST be provided");if(this.encoders=Object.entries(r).map(([n,o])=>({...bg(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.acceptType=EE(this.encoders),this.encoders.length===0)throw new Error("At least one encoder MUST be provided");this.encoder=this.encoders[0].encoder}encode(e){return this.encoder.encode(e,{accept:this.acceptType})}decode(e){let{headers:r}=e,n=r["content-type"]||r["Content-Type"],o=this.decoders[n]||this.decoders["*/*"];switch(e.status){case 415:case 406:throw Object.assign(new RangeError(new TextDecoder().decode(e.body)),{status:e.status,headers:e.headers})}if(!o)throw Object.assign(TypeError(`Can not decode response with content-type '${n}' because no matching transport decoder is configured.`),{error:!0});return o.decode(e)}},bg=t=>{let[e="*/*",r=""]=t.trim().split(";"),[n="*",o="*"]=e.split("/"),s=new URLSearchParams(r),i=parseFloat(s.get("q")||"0");return{category:n,type:o,preference:isNaN(i)?0:i}},rU=({category:t,type:e,preference:r})=>`${t}/${e}${r?`;q=${r}`:""}`,nU=t=>t.split(",").map(bg).sort((e,r)=>r.preference-e.preference),EE=t=>t.map(rU).join(", ");var Ad=Re.contentType,oU=_d({decoders:{[vi]:Oo},encoders:{[hc]:$o}}),kg=SE({encoders:{[vi]:Oo},decoders:{[hc]:$o}});var Pn={};M(Pn,{open:()=>Eg});var Eg=({url:t,method:e="POST",fetch:r})=>{if(!r)if(typeof globalThis.fetch<"u")r=globalThis.fetch.bind(globalThis);else throw new TypeError("ucanto HTTP transport got undefined `fetch`. Try passing in a `fetch` implementation explicitly.");return new vg({url:t,method:e,fetch:r})},vg=class{constructor({url:e,fetch:r,method:n}){this.fetch=r,this.method=n,this.url=e}async request({headers:e,body:r}){let n=await this.fetch(this.url.href,{headers:e,body:r,method:this.method}),o=n.ok?await n.arrayBuffer():Sg.throw("HTTP Request failed",n);return{headers:n.headers.entries?Object.fromEntries(n.headers.entries()):{},body:new Uint8Array(o)}}},Sg=class extends Error{static throw(e,r){throw new this(e,r)}constructor(e,{url:r,status:n=500,statusText:o="Server error"}){super(e),this.name="HTTPError",this.url=r,this.status=n,this.statusText=o}};var _i={};M(_i,{PUB_KEY_OFFSET:()=>qE,code:()=>Ei,decode:()=>Fg,derive:()=>VE,encode:()=>KE,format:()=>CU,from:()=>GE,generate:()=>TU,name:()=>AU,or:()=>Mg,parse:()=>IU,signatureAlgorithm:()=>WE,signatureCode:()=>DU});var sU=_e(_E(),1);var Qe=BigInt(0),fe=BigInt(1),Rn=BigInt(2),iU=BigInt(8),AE=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),Ie=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:AE,n:AE,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var BE=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),pc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),_q=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),aU=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),cU=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),uU=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),lU=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Ke=class t{constructor(e,r,n,o){this.x=e,this.y=r,this.z=n,this.t=o}static fromAffine(e){if(!(e instanceof je))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(je.ZERO)?t.ZERO:new t(e.x,e.y,fe,A(e.x*e.y))}static toAffineBatch(e){let r=hU(e.map(n=>n.z));return e.map((n,o)=>n.toAffine(r[o]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){TE(e);let{x:r,y:n,z:o}=this,{x:s,y:i,z:a}=e,c=A(r*a),u=A(s*o),l=A(n*a),d=A(i*o);return c===u&&l===d}negate(){return new t(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:o}=Ie,s=A(e*e),i=A(r*r),a=A(Rn*A(n*n)),c=A(o*s),u=e+r,l=A(A(u*u)-s-i),d=c+i,p=d-a,f=c-i,h=A(l*p),m=A(d*f),b=A(l*f),g=A(p*d);return new t(h,m,g,b)}add(e){TE(e);let{x:r,y:n,z:o,t:s}=this,{x:i,y:a,z:c,t:u}=e,l=A((n-r)*(a+i)),d=A((n+r)*(a-i)),p=A(d-l);if(p===Qe)return this.double();let f=A(o*Rn*u),h=A(s*Rn*c),m=h+f,b=d+l,g=h-f,k=A(m*p),E=A(b*g),_=A(m*g),P=A(p*b);return new t(k,E,P,_)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],o=this,s=o;for(let i=0;i<r;i++){s=o,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,r){!r&&this.equals(t.BASE)&&(r=je.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let o=r&&Cg.get(r);o||(o=this.precomputeWindow(n),r&&n!==1&&(o=t.normalizeZ(o),Cg.set(r,o)));let s=t.ZERO,i=t.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,d=BigInt(n);for(let p=0;p<a;p++){let f=p*c,h=Number(e&u);e>>=d,h>c&&(h-=l,e+=fe);let m=f,b=f+Math.abs(h)-1,g=p%2!==0,k=h<0;h===0?i=i.add(DE(g,o[m])):s=s.add(DE(k,o[b]))}return t.normalizeZ([s,i])[0]}multiply(e,r){return this.wNAF(Td(e,Ie.l),r)}multiplyUnsafe(e){let r=Td(e,Ie.l,!1),n=t.BASE,o=t.ZERO;if(r===Qe)return o;if(this.equals(o)||r===fe)return this;if(this.equals(n))return this.wNAF(r);let s=o,i=this;for(;r>Qe;)r&fe&&(s=s.add(i)),i=i.double(),r>>=fe;return s}isSmallOrder(){return this.multiplyUnsafe(Ie.h).equals(t.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(Ie.l/Rn).double();return Ie.l%Rn&&(e=e.add(this)),e.equals(t.ZERO)}toAffine(e){let{x:r,y:n,z:o}=this,s=this.equals(t.ZERO);e==null&&(e=s?iU:Cd(o));let i=A(r*e),a=A(n*e),c=A(o*e);if(s)return je.ZERO;if(c!==fe)throw new Error("invZ was invalid");return new je(i,a)}fromRistrettoBytes(){Ag()}toRistrettoBytes(){Ag()}fromRistrettoHash(){Ag()}};Ke.BASE=new Ke(Ie.Gx,Ie.Gy,fe,A(Ie.Gx*Ie.Gy));Ke.ZERO=new Ke(Qe,fe,fe,Qe);function DE(t,e){let r=e.negate();return t?r:e}function TE(t){if(!(t instanceof Ke))throw new TypeError("ExtendedPoint expected")}function _g(t){if(!(t instanceof Mo))throw new TypeError("RistrettoPoint expected")}function Ag(){throw new Error("Legacy method: switch to RistrettoPoint")}var Mo=class t{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=Ie,n=A(pc*e*e),o=A((n+fe)*uU),s=BigInt(-1),i=A((s-r*n)*A(n+r)),{isValid:a,value:c}=Bg(o,i),u=A(c*e);Un(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-fe)*lU-i),d=c*c,p=A((c+c)*i),f=A(l*aU),h=A(fe-d),m=A(fe+d);return new Ke(A(p*m),A(h*f),A(f*m),A(p*h))}static hashToCurve(e){e=Nn(e,64);let r=Dg(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),o=Dg(e.slice(32,64)),s=this.calcElligatorRistrettoMap(o);return new t(n.add(s))}static fromHex(e){e=Nn(e,32);let{a:r,d:n}=Ie,o="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Dg(e);if(!mU(yc(s),e)||Un(s))throw new Error(o);let i=A(s*s),a=A(fe+r*i),c=A(fe-r*i),u=A(a*a),l=A(c*c),d=A(r*n*u-l),{isValid:p,value:f}=IE(A(d*l)),h=A(f*c),m=A(f*h*d),b=A((s+s)*h);Un(b)&&(b=A(-b));let g=A(a*m),k=A(b*g);if(!p||Un(k)||g===Qe)throw new Error(o);return new t(new Ke(b,g,fe,k))}toRawBytes(){let{x:e,y:r,z:n,t:o}=this.ep,s=A(A(n+r)*A(n-r)),i=A(e*r),a=A(i*i),{value:c}=IE(A(s*a)),u=A(c*s),l=A(c*i),d=A(u*l*o),p;if(Un(o*d)){let h=A(r*pc),m=A(e*pc);e=h,r=m,p=A(u*cU)}else p=l;Un(e*d)&&(r=A(-r));let f=A((n-r)*p);return Un(f)&&(f=A(-f)),yc(f)}toHex(){return gc(this.toRawBytes())}toString(){return this.toHex()}equals(e){_g(e);let r=this.ep,n=e.ep,o=A(r.x*n.y)===A(r.y*n.x),s=A(r.y*n.y)===A(r.x*n.x);return o||s}add(e){return _g(e),new t(this.ep.add(e.ep))}subtract(e){return _g(e),new t(this.ep.subtract(e.ep))}multiply(e){return new t(this.ep.multiply(e))}multiplyUnsafe(e){return new t(this.ep.multiplyUnsafe(e))}};Mo.BASE=new Mo(Ke.BASE);Mo.ZERO=new Mo(Ke.ZERO);var Cg=new WeakMap,je=class t{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,Cg.delete(this)}static fromHex(e,r=!0){let{d:n,P:o}=Ie;e=Nn(e,32);let s=e.slice();s[31]=e[31]&-129;let i=wc(s);if(r&&i>=o)throw new Error("Expected 0 < hex < P");if(!r&&i>=BE)throw new Error("Expected 0 < hex < 2**256");let a=A(i*i),c=A(a-fe),u=A(n*a+fe),{isValid:l,value:d}=Bg(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let p=(d&fe)===fe;return(e[31]&128)!==0!==p&&(d=A(-d)),new t(d,i)}static async fromPrivateKey(e){return(await Id(e)).point}toRawBytes(){let e=yc(this.y);return e[31]|=this.x&fe?128:0,e}toHex(){return gc(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((fe+e)*Cd(fe-e));return yc(r)}isTorsionFree(){return Ke.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new t(A(-this.x),this.y)}add(e){return Ke.fromAffine(this).add(Ke.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ke.fromAffine(this).multiply(e,this).toAffine()}};je.BASE=new je(Ie.Gx,Ie.Gy);je.ZERO=new je(Qe,fe);var mc=class t{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=Nn(e,64),n=je.fromHex(r.slice(0,32),!1),o=wc(r.slice(32,64));return new t(n,o)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof je))throw new Error("Expected Point instance");return Td(r,Ie.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(yc(this.s),32),e}toHex(){return gc(this.toRawBytes())}};function CE(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,o)=>n+o.length,0),r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){let s=t[n];r.set(s,o),o+=s.length}return r}var dU=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function gc(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=dU[t[r]];return e}function Ig(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,o=t.slice(n,n+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function PE(t){let r=t.toString(16).padStart(64,"0");return Ig(r)}function yc(t){return PE(t).reverse()}function Un(t){return(A(t)&fe)===fe}function wc(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+gc(Uint8Array.from(t).reverse()))}var fU=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Dg(t){return A(wc(t)&fU)}function A(t,e=Ie.P){let r=t%e;return r>=Qe?r:e+r}function Cd(t,e=Ie.P){if(t===Qe||e<=Qe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,o=Qe,s=fe,i=fe,a=Qe;for(;r!==Qe;){let u=n/r,l=n%r,d=o-i*u,p=s-a*u;n=r,r=l,o=i,s=a,i=d,a=p}if(n!==fe)throw new Error("invert: does not exist");return A(o,e)}function hU(t,e=Ie.P){let r=new Array(t.length),n=t.reduce((s,i,a)=>i===Qe?s:(r[a]=s,A(s*i,e)),fe),o=Cd(n,e);return t.reduceRight((s,i,a)=>i===Qe?s:(r[a]=A(s*r[a],e),A(s*i,e)),o),r}function Ar(t,e){let{P:r}=Ie,n=t;for(;e-- >Qe;)n*=n,n%=r;return n}function pU(t){let{P:e}=Ie,r=BigInt(5),n=BigInt(10),o=BigInt(20),s=BigInt(40),i=BigInt(80),c=t*t%e*t%e,u=Ar(c,Rn)*c%e,l=Ar(u,fe)*t%e,d=Ar(l,r)*l%e,p=Ar(d,n)*d%e,f=Ar(p,o)*p%e,h=Ar(f,s)*f%e,m=Ar(h,i)*h%e,b=Ar(m,i)*h%e,g=Ar(b,n)*d%e;return{pow_p_5_8:Ar(g,Rn)*t%e,b2:c}}function Bg(t,e){let r=A(e*e*e),n=A(r*r*e),o=pU(t*n).pow_p_5_8,s=A(t*r*o),i=A(e*s*s),a=s,c=A(s*pc),u=i===t,l=i===A(-t),d=i===A(-t*pc);return u&&(s=a),(l||d)&&(s=c),Un(s)&&(s=A(-s)),{isValid:u||l,value:s}}function IE(t){return Bg(fe,t)}function Dd(t){return A(wc(t),Ie.l)}function mU(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Nn(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):Ig(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function Td(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(Qe<t)return t}else if(Qe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function yU(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function gU(t){if(t=typeof t=="bigint"||typeof t=="number"?PE(Td(t,BE)):Nn(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function wU(t){let e=yU(t.slice(0,32)),r=t.slice(32,64),n=Dd(e),o=je.BASE.multiply(n),s=o.toRawBytes();return{head:e,prefix:r,scalar:n,point:o,pointBytes:s}}var Tg;async function Id(t){return wU(await On.sha512(gU(t)))}async function LE(t){return(await Id(t)).pointBytes}async function UE(t,e){t=Nn(t);let{prefix:r,scalar:n,pointBytes:o}=await Id(e),s=Dd(await On.sha512(r,t)),i=je.BASE.multiply(s),a=Dd(await On.sha512(i.toRawBytes(),o,t)),c=A(s+a*n,Ie.l);return new mc(i,c).toRawBytes()}function bU(t,e,r){e=Nn(e),r instanceof je||(r=je.fromHex(r,!1));let{r:n,s:o}=t instanceof mc?t.assertValidity():mc.fromHex(t),s=Ke.BASE.multiplyUnsafe(o);return{r:n,s:o,SB:s,pub:r,msg:e}}function xU(t,e,r,n){let o=Dd(n),s=Ke.fromAffine(t).multiplyUnsafe(o);return Ke.fromAffine(e).add(s).subtract(r).multiplyUnsafe(Ie.h).equals(Ke.ZERO)}async function RE(t,e,r){let{r:n,SB:o,msg:s,pub:i}=bU(t,e,r),a=await On.sha512(n.toRawBytes(),i.toRawBytes(),s);return xU(i,n,o,a)}je.BASE._setWindowSize(8);var Ln={node:sU,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},On={bytesToHex:gc,hexToBytes:Ig,concatBytes:CE,getExtendedPublicKey:Id,mod:A,invert:Cd,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=Nn(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(wc(t),Ie.l-fe)+fe},randomBytes:(t=32)=>{if(Ln.web)return Ln.web.getRandomValues(new Uint8Array(t));if(Ln.node){let{randomBytes:e}=Ln.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>On.randomBytes(32),sha512:async(...t)=>{let e=CE(...t);if(Ln.web){let r=await Ln.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(Ln.node)return Uint8Array.from(Ln.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=je.BASE){let r=e.equals(je.BASE)?e:new je(e.x,e.y);return r._setWindowSize(t),r.multiply(Rn),r},sha512Sync:void 0};Object.defineProperties(On,{sha512Sync:{configurable:!1,get(){return Tg},set(t){Tg||(Tg=t)}}});var Fo={};M(Fo,{code:()=>Dr,decode:()=>Ld,encode:()=>SU,format:()=>vU,name:()=>Rg,or:()=>EU,parse:()=>FE,signatureAlgorithm:()=>Pd,signatureCode:()=>xc});var kU=(t,e)=>{if(t.startsWith("did:")){for(let r of e)try{return r.parse(t)}catch{}throw new Error(`Unsupported did ${t}`)}else throw new Error(`Expected did instead got ${t}`)},Bd=(t,e)=>new Pg([t,e]),Pg=class t{constructor(e){this.variants=e}parse(e){return kU(e,this.variants)}or(e){return new t([...this.variants,e])}},bc=(t,e)=>new Lg(e,t),Lg=class{constructor(e,r){this.id=e,this.key=r}did(){return this.id}toDIDKey(){return this.key.toDIDKey()}verify(e,r){return this.key.verify(e,r)}withDID(e){return bc(this.key,e)}};var Dr=237,Rg="Ed25519",xc=Ao,Pd="EdDSA",ME=Y.encodingLength(Dr),$E=32+ME,FE=t=>Ld(Ue(t)),Ld=t=>{let[e]=Y.decode(t);if(e!==Dr)throw new RangeError(`Unsupported key algorithm with multicode 0x${Dr.toString(16)}`);if(t.byteLength!==$E)throw new RangeError(`Expected Uint8Array with byteLength ${$E}, instead got Uint8Array with byteLength ${t.byteLength}`);return new Ug(t.buffer,t.byteOffset,t.byteLength)},vU=t=>Eo(t),SU=t=>$m(t),Ug=class extends Uint8Array{get code(){return Dr}get signatureCode(){return xc}get signatureAlgorithm(){return Pd}get publicKey(){let e=new Uint8Array(this.buffer,this.byteOffset+ME);return Object.defineProperties(this,{publicKey:{value:e}}),e}did(){return`did:key:${Le.encode(this)}`}verify(e,r){return r.code===xc&&RE(r.raw,e,this.publicKey)}withDID(e){return bc(this,e)}toDIDKey(){return this.did()}},EU=t=>Bd({parse:FE},t);var Ud=(t,e)=>new Ng([t,e]),Ng=class t{constructor(e){this.variants=e,this.from=_U(e)}or(e){return new t([e,...this.variants])}},_U=t=>r=>{if(r.id.startsWith("did:key:"))return zE(r,t);for(let[n,o]of Object.entries(r.keys)){let s=n;return zE({id:s,keys:{[s]:o}},t).withDID(r.id)}throw new Error(`Archive ${r.id} contains no keys`)},zE=(t,e)=>{for(let r of e)try{return r.from(t)}catch{}throw new Error("Unsupported signer")},Si=({signer:t,verifier:e},r)=>new Og(t,e.withDID(r)),Og=class{constructor(e,r){this.key=e,this.verifier=r}get signer(){return this}get signatureAlgorithm(){return this.key.signatureAlgorithm}get signatureCode(){return this.key.signatureCode}did(){return this.verifier.did()}toDIDKey(){return this.verifier.toDIDKey()}withDID(e){return Si(this.key,e)}sign(e){return this.key.sign(e)}verify(e,r){return this.verifier.verify(e,r)}toArchive(){let{keys:e}=this.key.toArchive();return{id:this.did(),keys:e}}};var Ei=4864,AU=Rg,WE=Pd,DU=xc,zo=Y.encodingLength(Ei),HE=Y.encodingLength(Dr),Jr=32,$g=zo+Jr+HE+Jr,qE=zo+Jr,TU=()=>VE(On.randomPrivateKey()),VE=async t=>{if(t.byteLength!==Jr)throw new Error(`Expected Uint8Array with byteLength of ${Jr} instead not ${t.byteLength}`);let e=await LE(t),r=new Rd($g);return Y.encodeTo(Ei,r,0),r.set(t,zo),Y.encodeTo(Dr,r,zo+Jr),r.set(e,zo+Jr+HE),r},GE=({id:t,keys:e})=>{if(t.startsWith("did:key:")){let r=e[t];if(r instanceof Uint8Array)return Fg(r)}throw new TypeError("Unsupported archive format")},Mg=t=>Ud({from:GE},t),Fg=t=>{if(t.byteLength!==$g)throw new Error(`Expected Uint8Array with byteLength of ${$g} instead not ${t.byteLength}`);{let[e]=Y.decode(t);if(e!==Ei)throw new Error(`Given bytes must be a multiformat with ${Ei} tag`)}{let[e]=Y.decode(t.subarray(qE));if(e!==Dr)throw new Error(`Given bytes must contain public key in multiformats with ${Dr} tag`)}return new Rd(t)},KE=t=>t.encode(),CU=(t,e)=>(e||Il).encode(KE(t)),IU=(t,e)=>Fg((e||Il).decode(t)),Rd=class extends Uint8Array{get code(){return Ei}get signer(){return this}get verifier(){let e=new Uint8Array(this.buffer,zo+Jr),r=Ld(e);return Object.defineProperties(this,{verifier:{value:r}}),r}get secret(){let e=new Uint8Array(this.buffer,zo,Jr);return Object.defineProperties(this,{secret:{value:e}}),e}did(){return this.verifier.did()}toDIDKey(){return this.verifier.toDIDKey()}withDID(e){return Si(this,e)}async sign(e){let r=await UE(e,this.secret);return ui(this.signatureCode,r)}verify(e,r){return this.verifier.verify(e,r)}get signatureAlgorithm(){return WE}get signatureCode(){return Ao}encode(){return this}toArchive(){let e=this.did();return{id:e,keys:{[e]:this.encode()}}}};function jo(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function kc(t=0){return globalThis.Buffer?.allocUnsafe!=null?jo(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function zg(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=kc(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return jo(r)}var jg={};M(jg,{identity:()=>PU});var PU=ni({prefix:"\0",name:"identity",encode:t=>Zv(t),decode:t=>Kv(t)});var Wg={};M(Wg,{base2:()=>LU});var LU=Me({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Hg={};M(Hg,{base8:()=>UU});var UU=Me({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var qg={};M(qg,{base10:()=>RU});var RU=vn({prefix:"9",name:"base10",alphabet:"0123456789"});var Vg={};M(Vg,{base16:()=>NU,base16upper:()=>OU});var NU=Me({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),OU=Me({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Gg={};M(Gg,{base36:()=>$U,base36upper:()=>MU});var $U=vn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),MU=vn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Kg={};M(Kg,{base256emoji:()=>HU});var ZE=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),FU=ZE.reduce((t,e,r)=>(t[r]=e,t),[]),zU=ZE.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function jU(t){return t.reduce((e,r)=>(e+=FU[r],e),"")}function WU(t){let e=[];for(let r of t){let n=zU[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var HU=ni({prefix:"\u{1F680}",name:"base256emoji",encode:jU,decode:WU});var Kq=new TextEncoder,Zq=new TextDecoder;var Zg={...jg,...Wg,...Hg,...qg,...Vg,...Im,...Gg,...Cm,...Mm,...Kg},Qq={...uy,...Lm};function QE(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var JE=QE("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Jg=QE("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=kc(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),VU={utf8:JE,"utf-8":JE,hex:Zg.base16,latin1:Jg,ascii:Jg,binary:Jg,...Zg},Nd=VU;function Qr(t,e="utf8"){let r=Nd[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?jo(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function vc(t,e="utf8"){let r=Nd[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function GU(t){if(!Array.isArray(t)||t.length===0)throw new Error("Delegations required to be an non empty array.");let e=t.map(a=>a.root.cid),r=new Set,n=[],o=0;for(let a of t)for(let c of a.export()){let u=c.cid.toV1().toString();r.has(u)||(o+=Er(c),n.push(c),r.add(u))}let s=YS(e.length),i=Bn(new ArrayBuffer(s+o),{roots:e});for(let a of n)i.write(a);return i.close()}function Od(t){if(!(t instanceof Uint8Array)||t.length===0)throw new TypeError("Input should be a non-empty Uint8Array.");let e=qr.fromBytes(t),r=e.getRoots(),n=[];for(let o of r){let s=e.get(o);if(s){let i=new Map;for(let a of e.blocks())a.cid.toString()!==o.toString()&&i.set(a.cid.toString(),a);n.push(new Gt(s,i))}else throw new Error("Failed to find root from raw delegation.")}return n}function YE(t,e="base64url"){let r=GU(t);return vc(r,e)}function e_(t,e="base64url"){let r=Qr(t,e);return Od(r)}var be;(function(t){t.assertEqual=o=>o;function e(o){}t.assertIs=e;function r(o){throw new Error}t.assertNever=r,t.arrayToEnum=o=>{let s={};for(let i of o)s[i]=i;return s},t.getValidEnumValues=o=>{let s=t.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(let a of s)i[a]=o[a];return t.objectValues(i)},t.objectValues=o=>t.objectKeys(o).map(function(s){return o[s]}),t.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{let s=[];for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},t.find=(o,s)=>{for(let i of o)if(s(i))return i},t.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}t.joinValues=n,t.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(be||(be={}));var $=be.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$n=t=>{switch(typeof t){case"undefined":return $.undefined;case"string":return $.string;case"number":return isNaN(t)?$.nan:$.number;case"boolean":return $.boolean;case"function":return $.function;case"bigint":return $.bigint;case"symbol":return $.symbol;case"object":return Array.isArray(t)?$.array:t===null?$.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?$.promise:typeof Map<"u"&&t instanceof Map?$.map:typeof Set<"u"&&t instanceof Set?$.set:typeof Date<"u"&&t instanceof Date?$.date:$.object;default:return $.unknown}},B=be.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),KU=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),Ut=class extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){let r=e||function(s){return s.message},n={_errors:[]},o=s=>{for(let i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let a=n,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(i))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return o(this),n}toString(){return this.message}get message(){return JSON.stringify(this.issues,be.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let o of this.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};Ut.create=t=>new Ut(t);var Sc=(t,e)=>{let r;switch(t.code){case B.invalid_type:t.received===$.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case B.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,be.jsonStringifyReplacer)}`;break;case B.unrecognized_keys:r=`Unrecognized key(s) in object: ${be.joinValues(t.keys,", ")}`;break;case B.invalid_union:r="Invalid input";break;case B.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${be.joinValues(t.options)}`;break;case B.invalid_enum_value:r=`Invalid enum value. Expected ${be.joinValues(t.options)}, received '${t.received}'`;break;case B.invalid_arguments:r="Invalid function arguments";break;case B.invalid_return_type:r="Invalid function return type";break;case B.invalid_date:r="Invalid date";break;case B.invalid_string:typeof t.validation=="object"?"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:be.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case B.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case B.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case B.custom:r="Invalid input";break;case B.invalid_intersection_types:r="Intersection results could not be merged";break;case B.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case B.not_finite:r="Number must be finite";break;default:r=e.defaultError,be.assertNever(t)}return{message:r}},n_=Sc;function ZU(t){n_=t}function Md(){return n_}var Fd=t=>{let{data:e,path:r,errorMaps:n,issueData:o}=t,s=[...r,...o.path||[]],i={...o,path:s},a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(i,{data:e,defaultError:a}).message;return{...o,path:s,message:o.message||a}},JU=[];function F(t,e){let r=Fd({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Md(),Sc].filter(n=>!!n)});t.common.issues.push(r)}var it=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let o of r){if(o.status==="aborted")return te;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let o of r)n.push({key:await o.key,value:await o.value});return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let o of r){let{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return te;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}},te=Object.freeze({status:"aborted"}),o_=t=>({status:"dirty",value:t}),dt=t=>({status:"valid",value:t}),Qg=t=>t.status==="aborted",Xg=t=>t.status==="dirty",zd=t=>t.status==="valid",jd=t=>typeof Promise<"u"&&t instanceof Promise,K;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(K||(K={}));var Zt=class{constructor(e,r,n,o){this.parent=e,this.data=r,this._path=n,this._key=o}get path(){return this._path.concat(this._key)}},t_=(t,e)=>{if(zd(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,error:new Ut(t.common.issues)}};function re(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:o}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>i.code!=="invalid_type"?{message:a.defaultError}:typeof a.data>"u"?{message:n??a.defaultError}:{message:r??a.defaultError},description:o}}var ne=class{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return $n(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:$n(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new it,ctx:{common:e.parent.common,data:e.data,parsedType:$n(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(jd(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){var n;let o={common:{issues:[],async:(n=r?.async)!==null&&n!==void 0?n:!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:$n(e)},s=this._parseSync({data:e,path:o.path,parent:o});return t_(o,s)}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:$n(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(jd(o)?o:Promise.resolve(o));return t_(n,s)}refine(e,r){let n=o=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(o):r;return this._refinement((o,s)=>{let i=e(o),a=()=>s.addIssue({code:B.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof r=="function"?r(n,o):r),!1))}_refinement(e){return new Rt({schema:this,typeName:Q.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ar.create(this,this._def)}nullable(){return en.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Yr.create(this,this._def)}promise(){return zn.create(this,this._def)}or(e){return Zo.create([this,e],this._def)}and(e){return Jo.create(this,e,this._def)}transform(e){return new Rt({...re(this._def),schema:this,typeName:Q.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new ts({...re(this._def),innerType:this,defaultValue:r,typeName:Q.ZodDefault})}brand(){return new Gd({typeName:Q.ZodBranded,type:this,...re(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Bi({...re(this._def),innerType:this,catchValue:r,typeName:Q.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Ec.create(this,e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},QU=/^c[^\s-]{8,}$/i,XU=/^[a-z][a-z0-9]*$/,YU=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,eR=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,tR=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,rR=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,nR=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,oR=t=>t.precision?t.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${t.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${t.precision}}Z$`):t.precision===0?t.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):t.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function sR(t,e){return!!((e==="v4"||!e)&&rR.test(t)||(e==="v6"||!e)&&nR.test(t))}var Mn=class t extends ne{constructor(){super(...arguments),this._regex=(e,r,n)=>this.refinement(o=>e.test(o),{validation:r,code:B.invalid_string,...K.errToObj(n)}),this.nonempty=e=>this.min(1,K.errToObj(e)),this.trim=()=>new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==$.string){let s=this._getOrReturnCtx(e);return F(s,{code:B.invalid_type,expected:$.string,received:s.parsedType}),te}let n=new it,o;for(let s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),F(o,{code:B.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),F(o,{code:B.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let i=e.data.length>s.value,a=e.data.length<s.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?F(o,{code:B.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&F(o,{code:B.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")eR.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"email",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")tR.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"emoji",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")YU.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"uuid",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")QU.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"cuid",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")XU.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"cuid2",code:B.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),F(o,{validation:"url",code:B.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"regex",code:B.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),F(o,{code:B.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),F(o,{code:B.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?oR(s).test(e.data)||(o=this._getOrReturnCtx(e,o),F(o,{code:B.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="ip"?sR(e.data,s.version)||(o=this._getOrReturnCtx(e,o),F(o,{validation:"ip",code:B.invalid_string,message:s.message}),n.dirty()):be.assertNever(s);return{status:n.value,value:e.data}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...K.errToObj(e)})}url(e){return this._addCheck({kind:"url",...K.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...K.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...K.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...K.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...K.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...K.errToObj(e)})}datetime(e){var r;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:(r=e?.offset)!==null&&r!==void 0?r:!1,...K.errToObj(e?.message)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...K.errToObj(r)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...K.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...K.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...K.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...K.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...K.errToObj(r)})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Mn.create=t=>{var e;return new Mn({checks:[],typeName:Q.ZodString,coerce:(e=t?.coerce)!==null&&e!==void 0?e:!1,...re(t)})};function iR(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=r>n?r:n,s=parseInt(t.toFixed(o).replace(".","")),i=parseInt(e.toFixed(o).replace(".",""));return s%i/Math.pow(10,o)}var Wo=class t extends ne{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==$.number){let s=this._getOrReturnCtx(e);return F(s,{code:B.invalid_type,expected:$.number,received:s.parsedType}),te}let n,o=new it;for(let s of this._def.checks)s.kind==="int"?be.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),F(n,{code:B.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:B.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:B.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?iR(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),F(n,{code:B.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),F(n,{code:B.not_finite,message:s.message}),o.dirty()):be.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,K.toString(r))}gt(e,r){return this.setLimit("min",e,!1,K.toString(r))}lte(e,r){return this.setLimit("max",e,!0,K.toString(r))}lt(e,r){return this.setLimit("max",e,!1,K.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:K.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:K.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:K.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:K.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:K.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:K.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:K.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:K.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:K.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:K.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&be.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};Wo.create=t=>new Wo({checks:[],typeName:Q.ZodNumber,coerce:t?.coerce||!1,...re(t)});var Ho=class t extends ne{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==$.bigint){let s=this._getOrReturnCtx(e);return F(s,{code:B.invalid_type,expected:$.bigint,received:s.parsedType}),te}let n,o=new it;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:B.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),F(n,{code:B.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),F(n,{code:B.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):be.assertNever(s);return{status:o.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,K.toString(r))}gt(e,r){return this.setLimit("min",e,!1,K.toString(r))}lte(e,r){return this.setLimit("max",e,!0,K.toString(r))}lt(e,r){return this.setLimit("max",e,!1,K.toString(r))}setLimit(e,r,n,o){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:K.toString(o)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:K.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:K.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:K.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:K.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:K.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};Ho.create=t=>{var e;return new Ho({checks:[],typeName:Q.ZodBigInt,coerce:(e=t?.coerce)!==null&&e!==void 0?e:!1,...re(t)})};var qo=class extends ne{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==$.boolean){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.boolean,received:n.parsedType}),te}return dt(e.data)}};qo.create=t=>new qo({typeName:Q.ZodBoolean,coerce:t?.coerce||!1,...re(t)});var Vo=class t extends ne{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==$.date){let s=this._getOrReturnCtx(e);return F(s,{code:B.invalid_type,expected:$.date,received:s.parsedType}),te}if(isNaN(e.data.getTime())){let s=this._getOrReturnCtx(e);return F(s,{code:B.invalid_date}),te}let n=new it,o;for(let s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),F(o,{code:B.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),F(o,{code:B.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):be.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:K.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:K.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};Vo.create=t=>new Vo({checks:[],coerce:t?.coerce||!1,typeName:Q.ZodDate,...re(t)});var Di=class extends ne{_parse(e){if(this._getType(e)!==$.symbol){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.symbol,received:n.parsedType}),te}return dt(e.data)}};Di.create=t=>new Di({typeName:Q.ZodSymbol,...re(t)});var Go=class extends ne{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.undefined,received:n.parsedType}),te}return dt(e.data)}};Go.create=t=>new Go({typeName:Q.ZodUndefined,...re(t)});var Ko=class extends ne{_parse(e){if(this._getType(e)!==$.null){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.null,received:n.parsedType}),te}return dt(e.data)}};Ko.create=t=>new Ko({typeName:Q.ZodNull,...re(t)});var Fn=class extends ne{constructor(){super(...arguments),this._any=!0}_parse(e){return dt(e.data)}};Fn.create=t=>new Fn({typeName:Q.ZodAny,...re(t)});var Xr=class extends ne{constructor(){super(...arguments),this._unknown=!0}_parse(e){return dt(e.data)}};Xr.create=t=>new Xr({typeName:Q.ZodUnknown,...re(t)});var cr=class extends ne{_parse(e){let r=this._getOrReturnCtx(e);return F(r,{code:B.invalid_type,expected:$.never,received:r.parsedType}),te}};cr.create=t=>new cr({typeName:Q.ZodNever,...re(t)});var Ti=class extends ne{_parse(e){if(this._getType(e)!==$.undefined){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.void,received:n.parsedType}),te}return dt(e.data)}};Ti.create=t=>new Ti({typeName:Q.ZodVoid,...re(t)});var Yr=class t extends ne{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),o=this._def;if(r.parsedType!==$.array)return F(r,{code:B.invalid_type,expected:$.array,received:r.parsedType}),te;if(o.exactLength!==null){let i=r.data.length>o.exactLength.value,a=r.data.length<o.exactLength.value;(i||a)&&(F(r,{code:i?B.too_big:B.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&r.data.length<o.minLength.value&&(F(r,{code:B.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&r.data.length>o.maxLength.value&&(F(r,{code:B.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,a)=>o.type._parseAsync(new Zt(r,i,r.path,a)))).then(i=>it.mergeArray(n,i));let s=[...r.data].map((i,a)=>o.type._parseSync(new Zt(r,i,r.path,a)));return it.mergeArray(n,s)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:K.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:K.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:K.toString(r)}})}nonempty(e){return this.min(1,e)}};Yr.create=(t,e)=>new Yr({type:t,minLength:null,maxLength:null,exactLength:null,typeName:Q.ZodArray,...re(e)});var Wd;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Wd||(Wd={}));function Ai(t){if(t instanceof bt){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=ar.create(Ai(n))}return new bt({...t._def,shape:()=>e})}else return t instanceof Yr?Yr.create(Ai(t.element)):t instanceof ar?ar.create(Ai(t.unwrap())):t instanceof en?en.create(Ai(t.unwrap())):t instanceof Tr?Tr.create(t.items.map(e=>Ai(e))):t}var bt=class t extends ne{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=be.objectKeys(e);return this._cached={shape:e,keys:r}}_parse(e){if(this._getType(e)!==$.object){let u=this._getOrReturnCtx(e);return F(u,{code:B.invalid_type,expected:$.object,received:u.parsedType}),te}let{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof cr&&this._def.unknownKeys==="strip"))for(let u in o.data)i.includes(u)||a.push(u);let c=[];for(let u of i){let l=s[u],d=o.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Zt(o,d,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof cr){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:o.data[l]}});else if(u==="strict")a.length>0&&(F(o,{code:B.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let d=o.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Zt(o,d,o.path,l)),alwaysSet:l in o.data})}}return o.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let d=await l.key;u.push({key:d,value:await l.value,alwaysSet:l.alwaysSet})}return u}).then(u=>it.mergeObjectSync(n,u)):it.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return K.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{var o,s,i,a;let c=(i=(s=(o=this._def).errorMap)===null||s===void 0?void 0:s.call(o,r,n).message)!==null&&i!==void 0?i:n.defaultError;return r.code==="unrecognized_keys"?{message:(a=K.errToObj(e).message)!==null&&a!==void 0?a:c}:{message:c}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>Wd.mergeShapes(this._def.shape(),e._def.shape()),typeName:Q.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};return be.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(r[n]=this.shape[n])}),new t({...this._def,shape:()=>r})}omit(e){let r={};return be.objectKeys(this.shape).forEach(n=>{e[n]||(r[n]=this.shape[n])}),new t({...this._def,shape:()=>r})}deepPartial(){return Ai(this)}partial(e){let r={};return be.objectKeys(this.shape).forEach(n=>{let o=this.shape[n];e&&!e[n]?r[n]=o:r[n]=o.optional()}),new t({...this._def,shape:()=>r})}required(e){let r={};return be.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])r[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof ar;)s=s._def.innerType;r[n]=s}}),new t({...this._def,shape:()=>r})}keyof(){return s_(be.objectKeys(this.shape))}};bt.create=(t,e)=>new bt({shape:()=>t,unknownKeys:"strip",catchall:cr.create(),typeName:Q.ZodObject,...re(e)});bt.strictCreate=(t,e)=>new bt({shape:()=>t,unknownKeys:"strict",catchall:cr.create(),typeName:Q.ZodObject,...re(e)});bt.lazycreate=(t,e)=>new bt({shape:t,unknownKeys:"strip",catchall:cr.create(),typeName:Q.ZodObject,...re(e)});var Zo=class extends ne{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function o(s){for(let a of s)if(a.result.status==="valid")return a.result;for(let a of s)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let i=s.map(a=>new Ut(a.ctx.common.issues));return F(r,{code:B.invalid_union,unionErrors:i}),te}if(r.common.async)return Promise.all(n.map(async s=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await s._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(o);{let s,i=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!s&&(s={result:l,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return r.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map(c=>new Ut(c));return F(r,{code:B.invalid_union,unionErrors:a}),te}}get options(){return this._def.options}};Zo.create=(t,e)=>new Zo({options:t,typeName:Q.ZodUnion,...re(e)});var $d=t=>t instanceof Qo?$d(t.schema):t instanceof Rt?$d(t.innerType()):t instanceof Xo?[t.value]:t instanceof Yo?t.options:t instanceof es?Object.keys(t.enum):t instanceof ts?$d(t._def.innerType):t instanceof Go?[void 0]:t instanceof Ko?[null]:null,Hd=class t extends ne{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.object)return F(r,{code:B.invalid_type,expected:$.object,received:r.parsedType}),te;let n=this.discriminator,o=r.data[n],s=this.optionsMap.get(o);return s?r.common.async?s._parseAsync({data:r.data,path:r.path,parent:r}):s._parseSync({data:r.data,path:r.path,parent:r}):(F(r,{code:B.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),te)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let o=new Map;for(let s of r){let i=$d(s.shape[e]);if(!i)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,s)}}return new t({typeName:Q.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:o,...re(n)})}};function Yg(t,e){let r=$n(t),n=$n(e);if(t===e)return{valid:!0,data:t};if(r===$.object&&n===$.object){let o=be.objectKeys(e),s=be.objectKeys(t).filter(a=>o.indexOf(a)!==-1),i={...t,...e};for(let a of s){let c=Yg(t[a],e[a]);if(!c.valid)return{valid:!1};i[a]=c.data}return{valid:!0,data:i}}else if(r===$.array&&n===$.array){if(t.length!==e.length)return{valid:!1};let o=[];for(let s=0;s<t.length;s++){let i=t[s],a=e[s],c=Yg(i,a);if(!c.valid)return{valid:!1};o.push(c.data)}return{valid:!0,data:o}}else return r===$.date&&n===$.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var Jo=class extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(Qg(s)||Qg(i))return te;let a=Yg(s.value,i.value);return a.valid?((Xg(s)||Xg(i))&&r.dirty(),{status:r.value,value:a.data}):(F(n,{code:B.invalid_intersection_types}),te)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Jo.create=(t,e,r)=>new Jo({left:t,right:e,typeName:Q.ZodIntersection,...re(r)});var Tr=class t extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.array)return F(n,{code:B.invalid_type,expected:$.array,received:n.parsedType}),te;if(n.data.length<this._def.items.length)return F(n,{code:B.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),te;!this._def.rest&&n.data.length>this._def.items.length&&(F(n,{code:B.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let s=[...n.data].map((i,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Zt(n,i,n.path,a)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>it.mergeArray(r,i)):it.mergeArray(r,s)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Tr.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Tr({items:t,typeName:Q.ZodTuple,rest:null,...re(e)})};var qd=class t extends ne{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.object)return F(n,{code:B.invalid_type,expected:$.object,received:n.parsedType}),te;let o=[],s=this._def.keyType,i=this._def.valueType;for(let a in n.data)o.push({key:s._parse(new Zt(n,a,n.path,a)),value:i._parse(new Zt(n,n.data[a],n.path,a))});return n.common.async?it.mergeObjectAsync(r,o):it.mergeObjectSync(r,o)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof ne?new t({keyType:e,valueType:r,typeName:Q.ZodRecord,...re(n)}):new t({keyType:Mn.create(),valueType:e,typeName:Q.ZodRecord,...re(r)})}},Ci=class extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.map)return F(n,{code:B.invalid_type,expected:$.map,received:n.parsedType}),te;let o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([a,c],u)=>({key:o._parse(new Zt(n,a,n.path,[u,"key"])),value:s._parse(new Zt(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return te;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return te;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};Ci.create=(t,e,r)=>new Ci({valueType:e,keyType:t,typeName:Q.ZodMap,...re(r)});var Ii=class t extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==$.set)return F(n,{code:B.invalid_type,expected:$.set,received:n.parsedType}),te;let o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(F(n,{code:B.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),r.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(F(n,{code:B.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),r.dirty());let s=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return te;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>s._parse(new Zt(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>i(c)):i(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:K.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:K.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Ii.create=(t,e)=>new Ii({valueType:t,minSize:null,maxSize:null,typeName:Q.ZodSet,...re(e)});var Vd=class t extends ne{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.function)return F(r,{code:B.invalid_type,expected:$.function,received:r.parsedType}),te;function n(a,c){return Fd({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Md(),Sc].filter(u=>!!u),issueData:{code:B.invalid_arguments,argumentsError:c}})}function o(a,c){return Fd({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Md(),Sc].filter(u=>!!u),issueData:{code:B.invalid_return_type,returnTypeError:c}})}let s={errorMap:r.common.contextualErrorMap},i=r.data;return this._def.returns instanceof zn?dt(async(...a)=>{let c=new Ut([]),u=await this._def.args.parseAsync(a,s).catch(p=>{throw c.addIssue(n(a,p)),c}),l=await i(...u);return await this._def.returns._def.type.parseAsync(l,s).catch(p=>{throw c.addIssue(o(l,p)),c})}):dt((...a)=>{let c=this._def.args.safeParse(a,s);if(!c.success)throw new Ut([n(a,c.error)]);let u=i(...c.data),l=this._def.returns.safeParse(u,s);if(!l.success)throw new Ut([o(u,l.error)]);return l.data})}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Tr.create(e).rest(Xr.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||Tr.create([]).rest(Xr.create()),returns:r||Xr.create(),typeName:Q.ZodFunction,...re(n)})}},Qo=class extends ne{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Qo.create=(t,e)=>new Qo({getter:t,typeName:Q.ZodLazy,...re(e)});var Xo=class extends ne{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return F(r,{received:r.data,code:B.invalid_literal,expected:this._def.value}),te}return{status:"valid",value:e.data}}get value(){return this._def.value}};Xo.create=(t,e)=>new Xo({value:t,typeName:Q.ZodLiteral,...re(e)});function s_(t,e){return new Yo({values:t,typeName:Q.ZodEnum,...re(e)})}var Yo=class t extends ne{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return F(r,{expected:be.joinValues(n),received:r.parsedType,code:B.invalid_type}),te}if(this._def.values.indexOf(e.data)===-1){let r=this._getOrReturnCtx(e),n=this._def.values;return F(r,{received:r.data,code:B.invalid_enum_value,options:n}),te}return dt(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e){return t.create(e)}exclude(e){return t.create(this.options.filter(r=>!e.includes(r)))}};Yo.create=s_;var es=class extends ne{_parse(e){let r=be.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==$.string&&n.parsedType!==$.number){let o=be.objectValues(r);return F(n,{expected:be.joinValues(o),received:n.parsedType,code:B.invalid_type}),te}if(r.indexOf(e.data)===-1){let o=be.objectValues(r);return F(n,{received:n.data,code:B.invalid_enum_value,options:o}),te}return dt(e.data)}get enum(){return this._def.values}};es.create=(t,e)=>new es({values:t,typeName:Q.ZodNativeEnum,...re(e)});var zn=class extends ne{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==$.promise&&r.common.async===!1)return F(r,{code:B.invalid_type,expected:$.promise,received:r.parsedType}),te;let n=r.parsedType===$.promise?r.data:Promise.resolve(r.data);return dt(n.then(o=>this._def.type.parseAsync(o,{path:r.path,errorMap:r.common.contextualErrorMap})))}};zn.create=(t,e)=>new zn({type:t,typeName:Q.ZodPromise,...re(e)});var Rt=class extends ne{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Q.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),o=this._def.effect||null;if(o.type==="preprocess"){let i=o.transform(n.data);return n.common.async?Promise.resolve(i).then(a=>this._def.schema._parseAsync({data:a,path:n.path,parent:n})):this._def.schema._parseSync({data:i,path:n.path,parent:n})}let s={addIssue:i=>{F(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="refinement"){let i=a=>{let c=o.refinement(a,s);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?te:(a.status==="dirty"&&r.dirty(),i(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?te:(a.status==="dirty"&&r.dirty(),i(a.value).then(()=>({status:r.value,value:a.value}))))}if(o.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!zd(i))return i;let a=o.transform(i.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>zd(i)?Promise.resolve(o.transform(i.value,s)).then(a=>({status:r.value,value:a})):i);be.assertNever(o)}};Rt.create=(t,e,r)=>new Rt({schema:t,typeName:Q.ZodEffects,effect:e,...re(r)});Rt.createWithPreprocess=(t,e,r)=>new Rt({schema:e,effect:{type:"preprocess",transform:t},typeName:Q.ZodEffects,...re(r)});var ar=class extends ne{_parse(e){return this._getType(e)===$.undefined?dt(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ar.create=(t,e)=>new ar({innerType:t,typeName:Q.ZodOptional,...re(e)});var en=class extends ne{_parse(e){return this._getType(e)===$.null?dt(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};en.create=(t,e)=>new en({innerType:t,typeName:Q.ZodNullable,...re(e)});var ts=class extends ne{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===$.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};ts.create=(t,e)=>new ts({innerType:t,typeName:Q.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...re(e)});var Bi=class extends ne{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return jd(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Ut(n.common.issues)}})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Ut(n.common.issues)}})}}removeCatch(){return this._def.innerType}};Bi.create=(t,e)=>new Bi({innerType:t,typeName:Q.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...re(e)});var Pi=class extends ne{_parse(e){if(this._getType(e)!==$.nan){let n=this._getOrReturnCtx(e);return F(n,{code:B.invalid_type,expected:$.nan,received:n.parsedType}),te}return{status:"valid",value:e.data}}};Pi.create=t=>new Pi({typeName:Q.ZodNaN,...re(t)});var aR=Symbol("zod_brand"),Gd=class extends ne{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Ec=class t extends ne{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?te:s.status==="dirty"?(r.dirty(),o_(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{let o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?te:o.status==="dirty"?(r.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:Q.ZodPipeline})}},i_=(t,e={},r)=>t?Fn.create().superRefine((n,o)=>{var s,i;if(!t(n)){let a=typeof e=="function"?e(n):e,c=(i=(s=a.fatal)!==null&&s!==void 0?s:r)!==null&&i!==void 0?i:!0,u=typeof a=="string"?{message:a}:a;o.addIssue({code:"custom",...u,fatal:c})}}):Fn.create(),cR={object:bt.lazycreate},Q;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline"})(Q||(Q={}));var uR=(t,e={message:`Input not instance of ${t.name}`})=>i_(r=>r instanceof t,e),a_=Mn.create,c_=Wo.create,lR=Pi.create,dR=Ho.create,u_=qo.create,fR=Vo.create,hR=Di.create,pR=Go.create,mR=Ko.create,yR=Fn.create,gR=Xr.create,wR=cr.create,bR=Ti.create,xR=Yr.create,kR=bt.create,vR=bt.strictCreate,SR=Zo.create,ER=Hd.create,_R=Jo.create,AR=Tr.create,DR=qd.create,TR=Ci.create,CR=Ii.create,IR=Vd.create,BR=Qo.create,PR=Xo.create,LR=Yo.create,UR=es.create,RR=zn.create,r_=Rt.create,NR=ar.create,OR=en.create,$R=Rt.createWithPreprocess,MR=Ec.create,FR=()=>a_().optional(),zR=()=>c_().optional(),jR=()=>u_().optional(),WR={string:t=>Mn.create({...t,coerce:!0}),number:t=>Wo.create({...t,coerce:!0}),boolean:t=>qo.create({...t,coerce:!0}),bigint:t=>Ho.create({...t,coerce:!0}),date:t=>Vo.create({...t,coerce:!0})},HR=te,Xe=Object.freeze({__proto__:null,defaultErrorMap:Sc,setErrorMap:ZU,getErrorMap:Md,makeIssue:Fd,EMPTY_PATH:JU,addIssueToContext:F,ParseStatus:it,INVALID:te,DIRTY:o_,OK:dt,isAborted:Qg,isDirty:Xg,isValid:zd,isAsync:jd,get util(){return be},ZodParsedType:$,getParsedType:$n,ZodType:ne,ZodString:Mn,ZodNumber:Wo,ZodBigInt:Ho,ZodBoolean:qo,ZodDate:Vo,ZodSymbol:Di,ZodUndefined:Go,ZodNull:Ko,ZodAny:Fn,ZodUnknown:Xr,ZodNever:cr,ZodVoid:Ti,ZodArray:Yr,get objectUtil(){return Wd},ZodObject:bt,ZodUnion:Zo,ZodDiscriminatedUnion:Hd,ZodIntersection:Jo,ZodTuple:Tr,ZodRecord:qd,ZodMap:Ci,ZodSet:Ii,ZodFunction:Vd,ZodLazy:Qo,ZodLiteral:Xo,ZodEnum:Yo,ZodNativeEnum:es,ZodPromise:zn,ZodEffects:Rt,ZodTransformer:Rt,ZodOptional:ar,ZodNullable:en,ZodDefault:ts,ZodCatch:Bi,ZodNaN:Pi,BRAND:aR,ZodBranded:Gd,ZodPipeline:Ec,custom:i_,Schema:ne,ZodSchema:ne,late:cR,get ZodFirstPartyTypeKind(){return Q},coerce:WR,any:yR,array:xR,bigint:dR,boolean:u_,date:fR,discriminatedUnion:ER,effect:r_,enum:LR,function:IR,instanceof:uR,intersection:_R,lazy:BR,literal:PR,map:TR,nan:lR,nativeEnum:UR,never:wR,null:mR,nullable:OR,number:c_,object:kR,oboolean:jR,onumber:zR,optional:NR,ostring:FR,pipeline:MR,preprocess:$R,promise:RR,record:DR,set:CR,strictObject:vR,string:a_,symbol:hR,transformer:r_,tuple:AR,undefined:pR,union:SR,unknown:gR,void:bR,NEVER:HR,ZodIssueCode:B,quotelessJson:KU,ZodError:Ut});var qR=Xe.enum(["awake/init","awake/res","awake/msg"]),d_=Xe.object({awv:Xe.literal("0.1.0"),type:qR}),f_=Xe.object({did:Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"}),sig:Xe.string()}).strict(),h_=Xe.object({"awake/ack":Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"})}).strict(),EV=d_.extend({type:Xe.literal("awake/init"),did:Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"}),caps:Xe.array(Xe.object({with:Xe.string(),can:Xe.string()})).nonempty()}).strict(),l_=Xe.string().startsWith("did:",{message:"should be a DID `did:key:z...`"}),_V=d_.extend({type:Xe.literal("awake/res"),iss:l_,aud:l_,msg:Xe.string().min(1)}).strict();var Kd=class{constructor(e){this.channel=e.channel,this.agent=e.agent,this.did=e.agent.did(),this.challenge=void 0,this.nextdid=void 0,this.audience=void 0,this.pin=Math.floor(Math.random()*1e6)}async bootstrap(e){this.channel.sendInit(e);let{ucan:r}=await this.channel.awaitRes(),n=p_(r.facts,"awake/challenge");if(this.nextdid=Ue(p_(r.facts,"awake/nextdid")),n==="oob-pin")return await this.sendPinSignature(),this.pin.toString()}async awaitBootstrap(){let e=await this.channel.awaitInit();this.nextdid=e.did;let r=await pi({issuer:this.agent.issuer,audience:this.nextdid,capabilities:[{with:"awake:",can:"*"}],facts:[{"awake/challenge":"oob-pin"},{"awake/nextdid":this.channel.keypair.did}]});await this.channel.sendRes(this.nextdid,r);let n=await this.channel.awaitMsg(this.nextdid),{did:o,sig:s}=f_.parse(n.msg);this.audience=Ue(o),this.challenge=s}async ack(e){if(!this.challenge||!this.nextdid||!this.audience)throw new Error("No challenge active.");let r=Qr(this.challenge,"base64"),n=Fo.parse(this.audience.did()),o=Qr(this.channel.keypair.did+e),s=await ue.encode(o);if(!await n.verify(s,Sn(r)))throw new Error(`Challenge failed: ${e} is not valid for the current challenge.`);await this.channel.sendMsg(this.nextdid,{"awake/ack":this.did})}async awaitAck(){if(!this.nextdid)throw new Error("No session is active. await ack");let e=await this.channel.awaitMsg(this.nextdid),r=h_.parse(e.msg);this.audience=Ue(r["awake/ack"])}async link(e){if(!this.nextdid||!this.audience)throw new Error("No session is active. request link");let r={type:"link",meta:e.meta,caps:e.caps};this.channel.sendMsg(this.nextdid,r);let n=await this.channel.awaitMsg(this.nextdid),o=e_(n.msg.delegation);return await this.channel.sendFin(this.nextdid),await this.agent.addProof(o[0]),{delegation:o[0],meta:n.msg.meta}}async awaitLink(){if(!this.nextdid||!this.audience)throw new Error("No challenge active.");let e=await this.channel.awaitMsg(this.nextdid),r=await this.agent.delegate({abilities:["*"],audience:this.audience,expiration:1/0,audienceMeta:e.msg.meta});this.channel.subscribe("awake/msg",n=>{this.channel.close()}),this.channel.sendMsg(this.nextdid,{meta:{name:this.agent.did(),type:"device"},delegation:YE([r])})}async sendPinSignature(){if(!this.nextdid)throw new Error("No session is active.");let e=Qr(this.nextdid.did()+this.pin.toString()),r=await this.agent.issuer.sign(await ue.encode(e));this.channel.sendMsg(this.nextdid,{did:this.did,sig:vc(r,"base64")})}};function p_(t,e){for(let r of t)if(r[e])return r[e]}var _c=t=>t,m_=t=>Object.entries(t),y_=([t,...e])=>{let r=t.map(n=>[n]);for(let n of e){let o=r.splice(0);for(let s of n)for(let i of o)r.push([...i,s])}return r},ew=(t,e)=>{let[r,n]=t.length<e.length?[new Set(t),new Set(e)]:[new Set(e),new Set(t)];for(let o of r)n.has(o)||r.delete(o);return[...r]};var Ac=class extends Vt{constructor(e,r,n){super(),this.claimed=e,this.delegated=r,this.cause=n,this.name=_c("EscalatedCapability")}describe(){return`Constraint violation: ${this.cause.message}`}},tn=class extends Vt{constructor(e,r){super(),this.name=_c("InvalidClaim"),this.causes=e,this.context=r}describe(){return[`Can not derive ${this.context} from delegated capabilities:`,...this.causes.map(e=>tw(e.message))].join(`
|
11
|
-
`)}get cause(){if(this.causes.length!==1)return this;{let[e]=this.causes,r=e.name==="InvalidClaim"?e.cause:e;return Object.defineProperties(this,{cause:{value:r}}),r}}};var jn=class extends Vt{constructor(e,r){super(),this.name=_c("MalformedCapability"),this.capability=e,this.cause=r}describe(){return[`Encountered malformed '${this.capability.can}' capability: ${g_(this.capability)}`,tw(this.cause.message)].join(`
|
12
|
-
`)}},Li=class extends Vt{constructor(e){super(),this.name=_c("UnknownCapability"),this.capability=e}describe(){return`Encountered unknown capability: ${g_(this.capability)}`}};var g_=(t,e)=>JSON.stringify(t,(r,n)=>ke(n)?n.toString():n,e),GR=(t,e=" ")=>`${e}${t.split(`
|
13
|
-
`).join(`
|
14
|
-
${e}`)}`,tw=t=>GR(`- ${t}`);var T=({derives:t=o4,nb:e=KR,...r})=>new rw({derives:t,nb:e,...r}),KR=x.struct({}),ZR=(t,e)=>new nw(t,e),JR=(...t)=>new ow(t),QR=({from:t,to:e,derives:r})=>new sw(t,e,r),Zd=class{match(e){return{error:new Li(e.capability)}}select(e){return n4(this,e)}derive({derives:e,to:r}){return QR({derives:e,to:r,from:this})}},Dc=class extends Zd{or(e){return ZR(this,e)}and(e){return JR(this,e)}},rw=class extends Dc{constructor(e){super(),this.descriptor=e,this.schema=x.struct({can:x.literal(e.can),with:e.with,nb:e.nb})}create(e){let{descriptor:r,can:n}=this,o=r.nb,s=e.nb||{},i=r.with.read(e.with);if(i.error)throw Object.assign(new Error(`Invalid 'with' - ${i.error.message}`),{cause:i});let a=r.nb.read(s);if(a.error)throw Object.assign(new Error(`Invalid 'nb' - ${a.error.message}`),{cause:a});return w_({can:n,with:i.ok,nb:a.ok})}invoke({with:e,nb:r,...n}){return Uo({...n,capability:this.create({with:e,nb:r})})}async delegate({nb:e={},with:r,...n}){let{descriptor:o,can:s}=this,i=o.nb,a=o.with.read(r);if(a.error)throw Object.assign(new Error(`Invalid 'with' - ${a.error.message}`),{cause:a});let c=o.nb.partial().read(e);if(c.error)throw Object.assign(new Error(`Invalid 'nb' - ${c.error.message}`),{cause:c});return wt({capabilities:[w_({can:s,with:a.ok,nb:c.ok})],...n})}get can(){return this.descriptor.can}match(e){let r=t4(this.descriptor,e);return r.error?r:{ok:new iw(e,r.ok,this.descriptor)}}toString(){return JSON.stringify({can:this.descriptor.can})}},w_=({can:t,with:e,nb:r})=>({can:t,with:e,...XR(r)?{}:{nb:r}}),XR=t=>{for(let e in t)return!1;return!0},nw=class extends Dc{constructor(e,r){super(),this.left=e,this.right=r}match(e){let r=this.left.match(e);if(r.error){let n=this.right.match(e);return n.error?n.error.name==="MalformedCapability"?n:r:n}else return r}toString(){return`${this.left.toString()}|${this.right.toString()}`}},ow=class t extends Zd{constructor(e){super(),this.selectors=e}match(e){let r=[];for(let n of this.selectors){let o=n.match(e);if(o.error)return o;r.push(o.ok)}return{ok:new Jd(r)}}select(e){return b_(this,e)}and(e){return new t([...this.selectors,e])}toString(){return`[${this.selectors.map(String).join(", ")}]`}},sw=class extends Dc{constructor(e,r,n){super(),this.from=e,this.to=r,this.derives=n}create(e){return this.to.create(e)}invoke(e){return this.to.invoke(e)}delegate(e){return this.to.delegate(e)}get can(){return this.to.can}match(e){let r=this.to.match(e);return r.error?r:{ok:new aw(r.ok,this.from,this.derives)}}toString(){return this.to.toString()}},iw=class t{constructor(e,r,n){this.source=[e],this.value=r,this.descriptor=n}get can(){return this.value.can}get proofs(){let e=[this.source[0].delegation];return Object.defineProperties(this,{proofs:{value:e}}),e}prune(e){return e.canIssue(this.value,this.source[0].delegation.issuer.did())?null:this}select(e){let r=[],n=[],o=[];for(let s of e){let i=r4(this.descriptor,this.value,s);if(i.ok){let a=this.descriptor.derives(this.value,i.ok);a.error?n.push(new tn([new Ac(this.value,i.ok,a.error)],this)):o.push(new t(s,i.ok,this.descriptor))}else switch(i.error.name){case"UnknownCapability":r.push(i.error.capability);break;case"MalformedCapability":default:n.push(new tn([i.error],this))}}return{matches:o,unknown:r,errors:n}}toString(){let{nb:e}=this.value;return JSON.stringify({can:this.descriptor.can,with:this.value.with,nb:e&&Object.keys(e).length>0?e:void 0})}},aw=class t{constructor(e,r,n){this.selected=e,this.from=r,this.derives=n}get can(){return this.value.can}get source(){return this.selected.source}get proofs(){let e=[];for(let{delegation:r}of this.selected.source)e.push(r);return Object.defineProperties(this,{proofs:{value:e}}),e}get value(){return this.selected.value}prune(e){let r=this.selected.prune(e);return r?new t(r,this.from,this.derives):null}select(e){let{derives:r,selected:n,from:o}=this,{value:s}=n,i=n.select(e),a=o.select(e),c=[],u=[];for(let l of a.matches){let d=r(s,l.value);d.error?u.push(new tn([new Ac(s,l.value,d.error)],this)):c.push(l)}return{unknown:ew(i.unknown,a.unknown),errors:[...u,...i.errors,...a.errors.map(l=>new tn([l],this))],matches:[...i.matches.map(l=>new t(l,o,r)),...c]}}toString(){return this.selected.toString()}},Jd=class t{constructor(e){this.matches=e}get selectors(){return this.matches}get source(){let e=[];for(let r of this.matches)e.push(...r.source);return Object.defineProperties(this,{source:{value:e}}),e}prune(e){let r=[];for(let n of this.matches){let o=n.prune(e);o&&r.push(o)}return r.length===0?null:new t(r)}get proofs(){let e=[];for(let{delegation:r}of this.source)e.push(r);return Object.defineProperties(this,{proofs:{value:e}}),e}get value(){let e=[];for(let r of this.matches)e.push(r.value);return Object.defineProperties(this,{value:{value:e}}),e}select(e){return b_(this,e)}toString(){return`[${this.matches.map(e=>e.toString()).join(", ")}]`}},YR=(t,e,r)=>{switch(t){case e:case"*":return e;default:return t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:r}},e4=(t,e,r)=>{switch(t){case e:case"ucan:*":return e;default:return r}},t4=(t,e)=>{let{delegation:r}=e,n=e.capability;if(t.can!==n.can)return{error:new Li(n)};let o=t.with.read(n.with);if(o.error)return{error:new jn(n,o.error)};let s=t.nb.read(n.nb||{});return s.error?{error:new jn(n,s.error)}:{ok:new Qd(t.can,o.ok,s.ok,r)}},r4=(t,e,{capability:r,delegation:n})=>{let o=YR(r.can,e.can,null);if(o==null)return{error:new Li(r)};let s=e4(r.with,e.with,r.with),i=t.with.read(s);if(i.error)return{error:new jn(r,i.error)};let a=t.nb.read({...e.nb,...r.nb});return a.error?{error:new jn(r,a.error)}:{ok:new Qd(o,i.ok,a.ok,n)}},Qd=class{constructor(e,r,n,o){this.can=e,this.with=r,this.delegation=o,this.nb=n}},n4=(t,e)=>{let r=[],n=[],o=[];for(let s of e){let i=t.match(s);if(i.error)switch(i.error.name){case"UnknownCapability":r.push(i.error.capability);break;case"MalformedCapability":default:o.push(new tn([i.error],i.error.capability))}else n.push(i.ok)}return{matches:n,errors:o,unknown:r}},b_=(t,e)=>{let r,n=[],o=[];for(let i of t.selectors){let a=i.select(e);r=r?ew(r,a.unknown):a.unknown;for(let c of a.errors)o.push(new tn([c],t));n.push(a.matches)}let s=y_(n).map(i=>new Jd(i));return{unknown:r||[],errors:o,matches:s}},o4=(t,e)=>{if(e.with.endsWith("*")){if(!t.with.startsWith(e.with.slice(0,-1)))return x.error(`Resource ${t.with} does not match delegated ${e.with} `)}else if(e.with!==t.with)return x.error(`Resource ${t.with} is not contained by ${e.with}`);let r=e.nb||{},n=t.nb||{},o=m_(r);for(let[s,i]of o)if(n[s]!=i)return x.error(`${String(s)}: ${n[s]} violates ${i}`);return{ok:!0}};function ce(t,e){return t.with===e.with?C({}):ie(`Can not derive ${t.can} with ${t.with} from ${e.with}`)}function Se(t,e,r){return e===void 0||e==="*"?C({}):String(t)===String(e)?C({}):ie(`Constrain violation: ${t} violates imposed ${r} constraint ${e}`)}var cw=(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):e.nb.link&&`${e.nb.link}`!=`${t.nb.link}`?ie(`Link ${t.nb.link?`${t.nb.link}`:""} violates imposed ${e.nb.link} constraint.`):C({}),rs=(t,e,r)=>Se(String(t),e===void 0?void 0:String(e),r),q=t=>t.error?t:void 0;function x_(t){let[e,...r]=t.split("/");return{namespace:e,segments:r}}function k_(t,e){let r=x_(t),n=x_(e);return r.namespace==="*"&&r.segments.length===0?!0:n.namespace==="*"&&n.segments.length===0||r.namespace!==n.namespace?!1:r.segments[0]==="*"?!0:r.segments.length!==n.segments.length?!1:r.segments.reduce((o,s,i)=>o&&n.segments[i]===s,!0)}var v_=T({can:"store/*",with:V.match({protocol:"did:"}),derives:ce}),Tc=T({can:"store/add",with:V.match({protocol:"did:"}),nb:x.struct({link:he,size:x.integer(),origin:he.optional()}),derives:(t,e)=>{let r=cw(t,e);return r.error?r:t.nb.size!==void 0&&e.nb.size!==void 0?t.nb.size>e.nb.size?ie(`Size constraint violation: ${t.nb.size} > ${e.nb.size}`):C({}):C({})}}),Cc=T({can:"store/remove",with:V.match({protocol:"did:"}),nb:x.struct({link:he}),derives:cw}),Ic=T({can:"store/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()}),derives:(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):C({})}),rG=Tc.or(Cc).or(Ic);var E_=T({can:"upload/*",with:V.match({protocol:"did:"}),derives:ce}),i4=he.match({code:Re.code,version:1}),Bc=T({can:"upload/add",with:V.match({protocol:"did:"}),nb:x.struct({root:he,shards:i4.array().optional()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.root,e.nb.root,"root"))||q(Se(t.nb.shards,e.nb.shards,"shards"))||C({})}),Pc=T({can:"upload/remove",with:V.match({protocol:"did:"}),nb:x.struct({root:he}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.root,e.nb.root,"root"))||C({})}),Lc=T({can:"upload/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()})}),iG=Bc.or(Pc).or(Lc);var ns=T({can:"*",with:V.match({protocol:"did:"}),derives:ce});var uw=x.did({method:"key"}),A_=T({can:"space/*",with:uw,derives:ce}),Xd=Tc.or(Ic).or(Cc).or(Bc).or(Lc).or(Pc).derive({to:T({can:"space/info",with:uw}),derives:ce}),dG=T({can:"space/allocate",with:uw,nb:x.struct({size:x.integer()}),derives:(t,e)=>{let r=ce(t,e);return r.ok?t.nb.size<=e.nb.size?C({}):ie(`Claimed size ${t.nb.size} escalates delegated size ${e.nb.size}`):r}});var Wn={};M(Wn,{Account:()=>lw,AuthorizationRequest:()=>C_,CapabilityRequest:()=>dw,access:()=>fw,authorize:()=>Uc,claim:()=>hw,confirm:()=>c4,delegate:()=>pw,session:()=>Rc,top:()=>ns});var lw=ee.match({method:"mailto"}),dw=x.struct({can:x.string()}),C_=x.struct({iss:lw,att:dw.array()}),fw=T({can:"access/*",with:V.match({protocol:"did:"})}),Uc=T({can:"access/authorize",with:ee.match({method:"key"}),nb:C_,derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.iss,e.nb.iss,"iss"))||q(I_(t.nb.att,e.nb.att))||C({})}),c4=T({can:"access/confirm",with:ee,nb:x.struct({iss:lw,aud:x.did(),att:dw.array()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.iss,e.nb.iss,"iss"))||q(Se(t.nb.aud,e.nb.aud,"aud"))||q(I_(t.nb.att,e.nb.att))||C({})}),Rc=T({can:"ucan/attest",with:V.match({protocol:"did:"}),nb:x.struct({proof:he})}),hw=T({can:"access/claim",with:ee.match({method:"key"}).or(ee.match({method:"mailto"}))}),pw=T({can:"access/delegate",with:ee.match({method:"key"}),nb:x.struct({delegations:x.dictionary({value:x.Link.match()})}),derives:(t,e)=>q(ce(t,e))||q(u4(t,e))||C({})});function u4(t,e){let r=B_(T_(t),new Set(T_(e)));return r.size>0?ie(`unauthorized nb.delegations ${[...r].join(", ")}`):C({})}var I_=(t,e)=>{let r=new Set(e.map(o=>o.can));if(r.has("*"))return C({});let n=B_(t.map(o=>o.can),r);return n.size>0?ie(`unauthorized nb.att.can ${[...n].join(", ")}`):C({})};function*T_(t){for(let e of Object.values(t.nb.delegations||{}))yield e.toString()}function B_(t,e){let r=new Set;for(let n of t)e.has(n)||r.add(n);return r}var Ew={};M(Ew,{Verifier:()=>qn,code:()=>Nc,decode:()=>W_,from:()=>j_,generate:()=>Sw,name:()=>y4,or:()=>b4,signatureAlgorithm:()=>kw,signatureCode:()=>Oc});var l4=globalThis||window||self,Hn=l4.crypto;var Yd=(t,e)=>{let r=Y.encodingLength(t),n=new Uint8Array(e.byteLength+r);return Y.encodeTo(t,n,0),n.set(e,r),n},ef=(t,e,r=0)=>{let n=r!==0?e.subarray(r):e,[o,s]=Y.decode(n);if(o!==t)throw new Error(`Expected multiformat with 0x${t.toString(16)} tag instead got 0x${o.toString(16)}`);return new Uint8Array(n.buffer,n.byteOffset+s)},wG=Y.encodingLength,bG=Y.encodeTo,xG=Y.decode;var tf=t=>{if(t<=127)return new Uint8Array([t]);let e=[];for(;t!==0;)e.push(t&255),t=t>>>8;return e.reverse(),new Uint8Array([128|e.length&255,...e])},d4=(t,e=0)=>{if(!(t[e]&128))return{number:t[e],consumed:1};let r=t[e]&127;if(t.length<r+1)throw new Error(`ASN parsing error: Too few bytes. Expected encoded length's length to be at least ${r}`);let n=0;for(let o=0;o<r;o++)n=n<<8,n=n|t[e+o+1];return{number:n,consumed:r+1}},P_=(t,e,r)=>{let n=Ui(t,e,r);return n.position+n.length},Ui=(t,e,r)=>{let n=t[r];if(n!==e)throw new Error(`ASN parsing error: Expected tag 0x${e.toString(16)} at position ${r}, but got 0x${n.toString(16)}.`);let o=d4(t,r+1);return{position:r+1+o.consumed,length:o.number}},L_=t=>{let e=tf(t.byteLength+1),r=new Uint8Array(1+e.byteLength+1+t.byteLength),n=0;return r[n]=3,n+=1,r.set(e,n),n+=e.byteLength,r[n]=0,n+=1,r.set(t,n),r},U_=t=>{let e=tf(t.byteLength),r=new Uint8Array(1+e.byteLength+t.byteLength),n=0;return r[n]=4,n+=1,r.set(e,n),n+=e.byteLength,r.set(t,n),r},os=t=>{let e=0;for(let s of t)e+=s.byteLength;let r=tf(e),n=new Uint8Array(1+r.byteLength+e),o=0;n[o]=48,o+=1,n.set(r,o),o+=r.byteLength;for(let s of t)n.set(s,o),o+=s.byteLength;return n},f4=(t,e=0)=>{let{position:r,length:n}=Ui(t,48,e);return new Uint8Array(t.buffer,t.byteOffset+r,n)},rf=t=>{let e=t.byteLength===0||t[0]&128?1:0,r=tf(t.byteLength+e),n=new Uint8Array(1+r.byteLength+t.byteLength+e),o=0;return n[o]=2,o+=1,n.set(r,o),o+=r.byteLength,e>0&&(n[o]=0,o+=e),n.set(t,o),n},nf=(t,e=0)=>Ui(t,48,e).position,of=(t,e=0)=>P_(t,48,e),R_=(t,e=0)=>P_(t,2,e),N_=(t,e=0)=>{let{position:r,length:n}=Ui(t,3,e),o=t[r];if(o!==0)throw new Error(`Can not read bitstring, expected length to be multiple of 8, but got ${o} unused bits in last byte.`);return new Uint8Array(t.buffer,t.byteOffset+r+1,n-1)},ur=(t,e=0)=>{let{position:r,length:n}=Ui(t,2,e),o=0;for(;t[r+o]===0;)o++;return new Uint8Array(t.buffer,t.byteOffset+r+o,n-o)},O_=(t,e=0)=>{let{position:r,length:n}=Ui(t,4,e);return new Uint8Array(t.buffer,t.byteOffset+r,n)},mw=(t,e,r=0)=>{let n=[],o=f4(e,r),s=0;for(let i of t){let a=i(o,s);n.push(a),s=a.byteOffset+a.byteLength-o.byteOffset}return n};var h4=new Uint8Array([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]),sf=t=>os([h4,L_(t)]),yw=t=>{let e=nf(t,0),r=of(t,e);return N_(t,r)};var p4=new Uint8Array([2,1,0,48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]),ww=t=>{let e=0;return e=nf(t,e),e=R_(t,e),e=of(t,e),O_(t,e)},bw=t=>os([p4,U_(t)]);var xw=({n:t,e})=>os([rf(t),rf(e)]);var BG=new Uint8Array,F_=(t,e=0)=>{let[r,n,o,s,i,a,c,u,l]=mw([ur,ur,ur,ur,ur,ur,ur,ur,ur],t,e);return{v:r,n,e:o,d:s,p:i,q:a,dp:c,dq:u,qi:l}};var y4="RSA",Nc=4869,af=4613,Oc=Ya,kw="RS256",df="RSASSA-PKCS1-v1_5",vw="SHA-256",g4=2048,w4=128,z_={name:df,hash:{name:vw}},Sw=async({size:t=g4,extractable:e=!1}={})=>{let{publicKey:r,privateKey:n}=await Hn.subtle.generateKey({name:df,modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:vw}},e,["sign","verify"]),o=await Hn.subtle.exportKey("spki",r),s=Yd(af,yw(new Uint8Array(o))),i=new qn({bytes:s,publicKey:r});if(e){let a=await Hn.subtle.exportKey("pkcs8",n),c=Yd(Nc,ww(new Uint8Array(a)));return new uf({privateKey:n,bytes:c,verifier:i})}else return new lf({privateKey:n,verifier:i})},j_=({id:t,keys:e})=>{if(t.startsWith("did:key:")){let r=t,n=e[r];return n instanceof Uint8Array?W_(n):new lf({privateKey:n,verifier:qn.parse(r)})}else throw new TypeError(`RSA can not import from ${t} archive, try generic Signer instead`)},b4=t=>Ud({from:j_},t),W_=t=>{let e=F_(ef(Nc,t)),r=Yd(af,xw(e));return new uf({bytes:t,privateKey:Hn.subtle.importKey("pkcs8",bw(ef(Nc,t)),z_,!0,["sign"]),verifier:qn.decode(r)})},qn=class t{constructor({publicKey:e,bytes:r}){this.publicKey=e,this.bytes=r}withDID(e){return bc(this,e)}toDIDKey(){return this.did()}static decode(e){return new this({bytes:e,publicKey:Hn.subtle.importKey("spki",sf(ef(af,e)),z_,!0,["verify"])})}static parse(e){return t.decode(Ue(e))}static or(e){return Bd(this,e)}get code(){return af}get signatureCode(){return Oc}get signatureAlgorithm(){return kw}did(){return`did:key:${Le.encode(this.bytes)}`}async verify(e,r){return r.code!==Oc?!1:Hn.subtle.verify({name:df,hash:{name:vw}},await this.publicKey,r.raw,e)}};var cf=class{constructor({privateKey:e,verifier:r}){this.verifier=r,this.privateKey=e}get signer(){return this}get code(){return Nc}get signatureCode(){return Oc}get signatureAlgorithm(){return kw}did(){return this.verifier.did()}toDIDKey(){return this.verifier.toDIDKey()}verify(e,r){return this.verifier.verify(e,r)}async sign(e){let r=await Hn.subtle.sign({name:df,saltLength:w4},await this.privateKey,e);return ui(Oc,new Uint8Array(r))}},uf=class extends cf{constructor(e){super(e),this.bytes=e.bytes}withDID(e){return Si(this,e)}toArchive(){let e=this.did();return{id:e,keys:{[e]:this.bytes}}}},lf=class extends cf{constructor(e){super(e),this.privateKey=e.privateKey}withDID(e){return Si(this,e)}toArchive(){let e=this.did();return{id:e,keys:{[e]:this.privateKey}}}};var H_=Fo.or(qn),q_=Mg(Ew);function Ri(t){return t.expiration===void 0||t.expiration<=Math.floor(Date.now()/1e3)}function _w(t){return t.notBefore?t.notBefore>Math.floor(Date.now()/1e3):!1}function V_(t,e){let{checkAudience:r,checkIsExpired:n=!0,checkIsTooEarly:o=!0}=e??{};if(r&&t.audience.did()!==r.did())throw new Error(`Delegation audience ${t.audience.did()} does not match required DID ${r.did()}`);if(n&&Ri(t))throw new Error("Delegation expired.");if(o&&_w(t))throw new Error("Delegation is not active yet (too early).")}function G_(t,e){let r=Kt.allows(t);if(r[e.with]){let n=Object.keys(r[e.with]);for(let o of n)if(k_(o,e.can))return!0}return!1}var ff={};M(ff,{AccountDID:()=>Z_,Provider:()=>K_,add:()=>Aw});var K_=ee.match({method:"web"}),Z_=ee.match({method:"mailto"}),Aw=T({can:"provider/add",with:Z_,nb:Ne({provider:K_,consumer:ee.match({method:"key"})}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.provider,e.nb.provider,"provider"))||q(Se(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var J_=ee.match({method:"web"}),Q_=ee.match({method:"key"}),X_=T({can:"consumer/has",with:J_,nb:Ne({consumer:Q_}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.consumer,e.nb.consumer,"consumer"))||C({})}),Y_=T({can:"consumer/get",with:J_,nb:Ne({consumer:Q_}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var v4=ee.match({method:"web"}),S4=ee.match({method:"mailto"}),e2=T({can:"customer/get",with:v4,nb:Ne({customer:S4}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.customer,e.nb.customer,"customer"))||C({})});var KG=T({can:"console/log",with:x.did(),nb:x.struct({value:x.unknown()}),derives:ce}),ZG=T({can:"console/error",with:x.did(),nb:x.struct({error:x.unknown()}),derives:ce});var Dw=ee,t2=T({can:"rate-limit/add",with:Dw,nb:Ne({subject:x.string(),rate:x.number()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.subject,e.nb.subject,"subject"))||q(Se(t.nb.rate,e.nb.rate,"rate"))||C({})}),r2=T({can:"rate-limit/remove",with:Dw,nb:Ne({id:x.string()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.id,e.nb.id,"id"))||C({})}),n2=T({can:"rate-limit/list",with:Dw,nb:Ne({subject:x.string()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.subject,e.nb.subject,"subject"))||C({})});var D4=ee.match({method:"web"}),o2=T({can:"subscription/get",with:D4,nb:Ne({subscription:x.string()}),derives:(t,e)=>q(ce(t,e))||q(Se(t.nb.subscription,e.nb.subscription,"consumer"))||C({})});var C4=4113,I4=85,hf=x.link({code:I4,version:1,multihash:{code:C4}}),s2=T({can:"filecoin/add",with:x.did(),nb:x.struct({content:x.link(),piece:hf}),derives:(t,e)=>q(ce(t,e))||q(rs(t.nb.content,e.nb.content,"nb.content"))||q(rs(t.nb.piece,e.nb.piece,"nb.piece"))||C({})}),i2=T({can:"aggregate/add",with:x.did(),nb:x.struct({piece:hf,storefront:x.text(),group:x.text()}),derives:(t,e)=>q(ce(t,e))||q(rs(t.nb.piece,e.nb.piece,"nb.piece"))||q(Se(t.nb.storefront,e.nb.storefront,"nb.storefront"))||q(Se(t.nb.group,e.nb.group,"nb.group"))||C({})}),a2=T({can:"deal/add",with:x.did(),nb:x.struct({pieces:x.link(),aggregate:hf,storefront:x.text(),label:x.text().optional()}),derives:(t,e)=>q(ce(t,e))||q(rs(t.nb.aggregate,e.nb.aggregate,"nb.aggregate"))||q(rs(t.nb.pieces,e.nb.pieces,"nb.pieces"))||q(Se(t.nb.storefront,e.nb.storefront,"nb.storefront"))||q(Se(t.nb.label,e.nb.label,"nb.label"))||C({})}),c2=T({can:"chain-tracker/info",with:x.did(),nb:x.struct({piece:hf}),derives:(t,e)=>q(ce(t,e))||q(rs(t.nb.piece,e.nb.piece,"nb.piece"))||C({})});var rK=[ns.can,Aw.can,A_.can,Xd.can,E_.can,Bc.can,Pc.can,Lc.can,v_.can,Tc.can,Cc.can,Ic.can,fw.can,Uc.can,Rc.can,e2.can,X_.can,Y_.can,o2.can,t2.can,r2.can,n2.can,s2.can,i2.can,a2.can,c2.can];var Vn,pf=class pf{constructor(e,r={}){De(this,Vn,void 0);this.meta=e.meta,this.principal=e.principal,this.spaces=e.spaces,this.delegations=e.delegations,this.currentSpace=e.currentSpace,Ce(this,Vn,n=>r.store?r.store.save(n):void 0)}static async create(e={},r={}){let n=new pf({meta:{name:"agent",type:"device",...e.meta},principal:e.principal??await _i.generate(),spaces:e.spaces??new Map,delegations:e.delegations??new Map,currentSpace:e.currentSpace},r);return r.store&&await r.store.save(n.export()),n}static fromExport(e,r){let n=new Map;for(let[o,s]of e.delegations)n.set(o,{delegation:ug(s.delegation.map(i=>({cid:se.parse(i.cid),bytes:i.bytes}))),meta:s.meta});return new pf({meta:e.meta,principal:q_.from(e.principal),currentSpace:e.currentSpace,spaces:e.spaces,delegations:n},r)}export(){let e={meta:this.meta,principal:this.principal.toArchive(),currentSpace:this.currentSpace,spaces:this.spaces,delegations:new Map};for(let[r,n]of this.delegations)e.delegations.set(r,{meta:n.meta,delegation:[...n.delegation.export()].map(o=>({cid:o.cid.toString(),bytes:o.bytes}))});return e}async addSpace(e,r,n){this.spaces.set(e,r),await(n?this.addDelegation(n):j(this,Vn).call(this,this.export()))}async setCurrentSpace(e){this.currentSpace=e,await j(this,Vn).call(this,this.export())}async addDelegation(e,r){this.delegations.set(e.cid.toString(),{delegation:e,meta:r??{}}),await j(this,Vn).call(this,this.export())}async removeDelegation(e){this.delegations.delete(e.toString()),await j(this,Vn).call(this,this.export())}};Vn=new WeakMap;var Gn=pf,L4=t=>t.can===Wn.session.can,Tw=t=>t.capabilities.some(e=>L4(e));function u2(t){let e={};for(let{delegation:r}of t.delegations.values())if(Tw(r)){let n=r.capabilities[0];if(n&&!Ri(r)){let o=n.nb.proof;o&&(e[o.toString()]=r)}}return e}var $c=null;typeof WebSocket<"u"?$c=WebSocket:typeof MozWebSocket<"u"?$c=MozWebSocket:typeof global<"u"?$c=global.WebSocket||global.MozWebSocket:typeof window<"u"?$c=window.WebSocket||window.MozWebSocket:typeof self<"u"&&($c=self.WebSocket||self.MozWebSocket);var mf=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Cw=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},l2=t=>globalThis.DOMException===void 0?new Cw(t):new DOMException(t),d2=t=>{let e=t.reason===void 0?l2("This operation was aborted."):t.reason;return e instanceof Error?e:l2(e)};function Iw(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=e,i,a=new Promise((c,u)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(r===Number.POSITIVE_INFINITY){c(t);return}if(e.signal){let{signal:d}=e;d.aborted&&u(d2(d)),d.addEventListener("abort",()=>{u(d2(d))})}let l=new mf;i=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(d){u(d)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?c():o instanceof Error?u(o):(l.message=o??`Promise timed out after ${r} milliseconds`,u(l))},r),(async()=>{try{c(await t)}catch(d){u(d)}finally{s.clearTimeout.call(void 0,i)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},a}var Bw=Symbol("resolveValue");async function Pw(t,e={}){let{interval:r=20,timeout:n=Number.POSITIVE_INFINITY,before:o=!0}=e,s,i=new Promise((a,c)=>{let u=async()=>{try{let l=await t();if(typeof l=="object"&&l[Bw])a(l[Bw]);else{if(typeof l!="boolean")throw new TypeError("Expected condition to return a boolean");l===!0?a():s=setTimeout(u,r)}}catch(l){c(l)}};o?u():s=setTimeout(u,r)});if(n===Number.POSITIVE_INFINITY)return i;try{return await Iw(i,typeof n=="number"?{milliseconds:n}:n)}finally{clearTimeout(s)}}Pw.resolveWith=t=>({[Bw]:t});var yf=class t extends Error{constructor(e,r){super(e,r),this.name="AbortError",this.message=e,this.code=t.code}};yf.code="ERR_AWAIT_MSG_CANCEL";function Lw(t){let{domain:e,local:r}=h2(t);return`did:mailto:${encodeURIComponent(e)}:${encodeURIComponent(r)}`}function f2(t){let{domain:e,local:r}=h2(t);return`${r}@${e}`}function h2(t){let e=t.split("@");if(e.length<2)throw new TypeError(`expected at least 2 @-delimtied segments, but got ${e.length}`);let r=e.at(-1)??"",n=e.slice(0,-1).join("@");return{domain:r,local:n}}async function R4(t,e,r){let n=await t.invokeAndExecute(Uc,{audience:t.connection.id,with:t.issuer.did(),nb:{iss:e.did(),att:[...r]}});if(n?.out.error)throw n.out.error}async function Uw(t,e=t.connection.id.did(),{addProofs:r=!1}={}){let n=await t.invokeAndExecute(hw,{audience:t.connection.id,with:e});if(n.out.error)throw n.out.error;let o=Object.values(n.out.ok.delegations).flatMap(s=>Od(s));if(r){for(let s of o)await t.addProof(s);await y2(t,o)}return o}async function N4({access:t,space:e,account:r,provider:n}){let o=await t.invokeAndExecute(ff.add,{audience:t.connection.id,with:r.did(),nb:{provider:n,consumer:e}});if(o.out.error)throw o.out.error}function O4(t){return t.some(e=>Tw(e))}async function $4(t,e,r,n){let o=n?.interval||250;for(;;){if(n?.signal?.aborted)throw n.signal.reason??new Error("operation aborted");let s=await e.invokeAndExecute(Wn.claim,{with:r});if(s.out.error)throw s.out.error;let i=Object.values(s.out.ok.delegations).flatMap(a=>Od(a));if(t(i))return i;await new Promise(a=>setTimeout(a,o))}}async function M4(t,e={}){return[...await $4(O4,t,t.issuer.did(),{signal:e?.signal,interval:e?.interval})]}async function F4(t,e,r={}){let n=r.expectAuthorization||M4;await R4(t,{did:()=>Lw(e)},r?.capabilities||[{can:"space/*"},{can:"store/*"},{can:"provider/add"},{can:"upload/*"}]);let s=[...await n(t,r)];r?.dontAddProofs||await Promise.all(s.map(async i=>t.addProof(i)))}async function p2(t,e,r){await F4(t,e,r),await Uw(t,t.issuer.did(),{addProofs:r?.addProofs??!0})}async function m2(t,e,r,n){let o=n?.space||t.currentSpace(),s=o?e.spaces.get(o):void 0,i=n?.provider||(()=>{let u=t.connection.id.did();if(ee.match({method:"web"}).is(u))return u;throw new Error(`unable to determine provider to use to addProviderAndDelegateToAccount using access.connection.id did ${u}. expected a did:web:`)})();if(!o||!s)throw new Error("No space selected");if(s&&s.isRegistered)throw new Error("Space already registered with web3.storage.");let a={did:()=>Lw(f2(r))};await N4({access:t,space:o,account:a,provider:i});let c=await z4(t,o,a);if(c.out.error)throw c.out.error;s.isRegistered=!0,await e.addSpace(o,s)}async function z4(t,e,r){let n=await j4(t.issuer,e,r,void 0,t.proofs([{with:e,can:"*"}]),1/0);return t.invokeAndExecute(pw,{audience:t.connection.id,with:e,expiration:1/0,nb:{delegations:{[n.cid.toString()]:n.cid}},proofs:[n]})}async function j4(t,e,r,n=[{can:"*",with:e}],o=[],s){return wt({issuer:t,audience:r,capabilities:n,proofs:o,expiration:s})}var g2="https://up.web3.storage",W4=yt.parse("did:web:web3.storage"),w2=new WeakMap;function H4(t={}){return No({id:t.principal??W4,codec:kg,channel:t.channel??Eg({url:t.url??new URL(g2),method:"POST",fetch:t.fetch??globalThis.fetch.bind(globalThis)})})}var Te,Mc,Rw,wf=class wf{constructor(e,r={}){De(this,Mc);De(this,Te,void 0);let n=r.connection?.channel;this.url=r.url??n?.url??new URL(g2),this.connection=r.connection??H4({principal:r.servicePrincipal,url:this.url}),Ce(this,Te,e),w2.set(this,j(this,Te))}static async create(e,r={}){let n=await Gn.create(e,r);return new wf(n,r)}static from(e,r={}){let n=Gn.fromExport(e,r);return new wf(n,r)}get issuer(){return j(this,Te).principal}get meta(){return j(this,Te).meta}get spaces(){return j(this,Te).spaces}did(){return j(this,Te).principal.did()}async addProof(e){V_(e,{checkAudience:this.issuer,checkIsExpired:!0}),await j(this,Te).addDelegation(e,{audience:this.meta}),await this.removeExpiredDelegations()}async removeExpiredDelegations(){for(let[,e]of j(this,Te).delegations)Ri(e.delegation)&&await j(this,Te).removeDelegation(e.delegation.cid)}proofs(e){let r=[];for(let{delegation:o}of po(this,Mc,Rw).call(this,e))o.audience.did()===this.issuer.did()&&r.push(o);let n=u2(j(this,Te));for(let o of r){let s=n[o.asCID.toString()];s&&r.push(s)}return r}delegations(e){let r=[];for(let{delegation:n}of this.delegationsWithMeta(e))r.push(n);return r}delegationsWithMeta(e){let r=[];for(let n of po(this,Mc,Rw).call(this,e)){let{delegation:o}=n;!o.capabilities.some(i=>i.can===Rc.can)&&o.audience.did()!==this.issuer.did()&&r.push(n)}return r}async createSpace(e){let r=await _i.generate(),n=await ns.delegate({issuer:r,audience:this.issuer,with:r.did(),expiration:1/0}),o={isRegistered:!1};if(e!=null){if(typeof e!="string")throw new TypeError("invalid name");o.name=e}return await j(this,Te).addSpace(r.did(),o,n),{did:r.did(),meta:o,proof:n}}async importSpaceFromDelegation(e){let r=e.facts[0]?.space??{isRegistered:!1},n=H_.parse(e.capabilities[0].with).did();return j(this,Te).spaces.set(n,r),await this.addProof(e),{did:n,meta:r,proof:e}}async setCurrentSpace(e){if(!j(this,Te).spaces.has(e))throw new Error(`Agent has no proofs for ${e}.`);return await j(this,Te).setCurrentSpace(e),e}currentSpace(){return j(this,Te).currentSpace}currentSpaceWithMeta(){if(!j(this,Te).currentSpace)return;let e=this.proofs([{can:"space/info",with:j(this,Te).currentSpace}]),r=new Set;for(let n of e)for(let o of n.capabilities)r.add(o.can);return{did:j(this,Te).currentSpace,proofs:e,capabilities:[...r],meta:j(this,Te).spaces.get(j(this,Te).currentSpace)}}async registerSpace(e,r={}){return await m2(this,j(this,Te),e,r)}async delegate(e){let r=this.currentSpaceWithMeta();if(!r)throw new Error("no space selected.");let n=e.abilities.map(s=>({with:r.did,can:s}));for(let s of n)if(!this.proofs([s]).length)throw new Error(`cannot delegate capability ${s.can} with ${s.with}`);let o=await wt({issuer:this.issuer,capabilities:n,proofs:this.proofs(n),facts:[{space:r.meta??{}}],...e});return await j(this,Te).addDelegation(o,{audience:e.audienceMeta}),await this.removeExpiredDelegations(),o}async invokeAndExecute(e,r){return(await this.invoke(e,r)).execute(this.connection)}execute(...e){return this.connection.execute(...e)}async invoke(e,r){let n=r.with||this.currentSpace();if(!n)throw new Error("No space or resource selected, you need pass a resource.");let o=[...r.proofs||[],...this.proofs([{with:n,can:e.can}])];if(o.length===0&&r.with!==this.did())throw new Error(`no proofs available for resource ${n} and ability ${e.can}`);return Uo({...r,audience:r.audience||this.connection.id,capability:e.create({with:n,nb:r.nb}),issuer:this.issuer,proofs:[...o]})}peer(e){return new Kd({agent:this,channel:e})}async getSpaceInfo(e){let r=e||this.currentSpace();if(!r)throw new Error("No space selected, you need pass a resource.");let n=await this.invokeAndExecute(Xd,{with:r});if(n.out.error)throw n.out.error;return n.out.ok}};Te=new WeakMap,Mc=new WeakSet,Rw=function(e){let r=new Set(e),n=[];for(let[,o]of j(this,Te).delegations)if(!Ri(o.delegation)&&!_w(o.delegation))if(Array.isArray(e)&&e.length>0)for(let s of r)G_(o.delegation,s)&&(r.delete(s),n.push(o));else n.push(o);return n};var gf=wf;async function y2(t,e){let r=w2.get(t);if(!r)throw Object.assign(new Error("cannot determine AgentData for Agent"),{agent:t});if(e.length>0){let n=Kt.allows(e[0],...e.slice(1));for(let[o,s]of Object.entries(n))o.startsWith("did:key")&&s["space/*"]&&r.addSpace(o,{isRegistered:!0})}}function ft(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var q4="AccessStore",Nw=1,Fc,zc,Kn,rn,jc,Ni,bf,xf=class{constructor(e,r={}){De(this,Ni);De(this,Fc,void 0);De(this,zc,void 0);De(this,Kn,void 0);De(this,rn,void 0);De(this,jc,void 0);Ce(this,Fc,e),Ce(this,zc,r.dbVersion),Ce(this,Kn,r.dbStoreName??q4),Ce(this,jc,r.autoOpen??!0)}async open(){if(j(this,rn))return;let{resolve:r,reject:n,promise:o}=ft(),s=indexedDB.open(j(this,Fc),j(this,zc));return s.addEventListener("upgradeneeded",()=>{s.result.createObjectStore(j(this,Kn))}),s.addEventListener("success",()=>{Ce(this,rn,s.result),r()}),s.addEventListener("error",()=>n(s.error)),o}async close(){let e=j(this,rn);if(!e)throw new Error("Store is not open");e.close(),Ce(this,rn,void 0)}async save(e){let r=await po(this,Ni,bf).call(this);return await Ow(r,"readwrite",j(this,Kn),async s=>{let{resolve:i,reject:a,promise:c}=ft();try{let u=s.put({id:Nw,...e},Nw);u.addEventListener("success",()=>i()),u.addEventListener("error",()=>{a(new Error("failed to query DB",{cause:u.error}))})}catch(u){console.log("error",u)}return c})()}async load(){let e=await po(this,Ni,bf).call(this);return await Ow(e,"readonly",j(this,Kn),async n=>{let{resolve:o,reject:s,promise:i}=ft(),a=n.get(Nw);return a.addEventListener("success",()=>{o(a.result)}),a.addEventListener("error",()=>s(new Error("failed to query DB",{cause:a.error}))),i})()}async reset(){let e=await po(this,Ni,bf).call(this);Ow(e,"readwrite",j(this,Kn),r=>{let{resolve:n,reject:o,promise:s}=ft(),i=r.clear();return i.addEventListener("success",()=>{n()}),i.addEventListener("error",()=>o(new Error("failed to query DB",{cause:i.error}))),s})}};Fc=new WeakMap,zc=new WeakMap,Kn=new WeakMap,rn=new WeakMap,jc=new WeakMap,Ni=new WeakSet,bf=async function(){if(!j(this,rn)){if(!j(this,jc))throw new Error("Store is not open");await this.open()}return j(this,rn)};function Ow(t,e,r,n){return async()=>{let o=t.transaction(r,e),{resolve:s,reject:i,promise:a}=ft(),c;o.addEventListener("complete",()=>s(c)),o.addEventListener("abort",()=>i(o.error||new Error("transaction aborted"))),o.addEventListener("error",()=>i(new Error("transaction error",{cause:o.error})));try{c=await n(o.objectStore(r)),o.commit()}catch(u){i(u),o.abort()}return a}}var kf=class extends xf{};var ji={};M(ji,{add:()=>Vw,list:()=>yN,remove:()=>gN});var KK=new TextEncoder,ZK=new TextDecoder;var $w={};M($w,{contentType:()=>b2,encode:()=>K4});var b2="application/cbor",G4=Object.freeze({"content-type":b2}),K4=(t,e)=>{let r=[];for(let o of t.receipts.values()){let s=o.out;s.ok?r.push(s.ok):r.push({...s.error,error:!0})}let n=Co(r);return{headers:G4,body:n}};var vf={};M(vf,{contentType:()=>Z4,decode:()=>J4});var Z4="application/car",J4=async({body:t})=>{let{roots:e,blocks:r}=uc(t),n=[];for(let{cid:s}of e){let i=Ro.view({root:s,blocks:r});n.push(i)}return await _r.build({invocations:n})};var{contentType:Q4}=vf;var QK=_d({decoders:{[Q4]:vf,[Ad]:Oo},encoders:{"*/*;q=0.1":$w,[Ad]:$o}});function Oi(t,e){return t.with===e.with?C({}):ie(`Can not derive ${t.can} with ${t.with} from ${e.with}`)}function Sf(t,e,r){return e===void 0||e==="*"?C({}):String(t)===String(e)?C({}):ie(`Constrain violation: ${t} violates imposed ${r} constraint ${e}`)}var Mw=(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):e.nb.link&&`${e.nb.link}`!=`${t.nb.link}`?ie(`Link ${t.nb.link?`${t.nb.link}`:""} violates imposed ${e.nb.link} constraint.`):C({});var $i=t=>t.error?t:void 0;var oZ=T({can:"store/*",with:V.match({protocol:"did:"}),derives:Oi}),Ef=T({can:"store/add",with:V.match({protocol:"did:"}),nb:x.struct({link:he,size:x.integer(),origin:he.optional()}),derives:(t,e)=>{let r=Mw(t,e);return r.error?r:t.nb.size!==void 0&&e.nb.size!==void 0?t.nb.size>e.nb.size?ie(`Size constraint violation: ${t.nb.size} > ${e.nb.size}`):C({}):C({})}}),_f=T({can:"store/remove",with:V.match({protocol:"did:"}),nb:x.struct({link:he}),derives:Mw}),Af=T({can:"store/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()}),derives:(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):C({})}),sZ=Ef.or(_f).or(Af);var A2=_e(E2(),1),tN=new Set(["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed"]),Mi=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}},rN=(t,e,r)=>{let n=r.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=n,t},nN=t=>tN.has(t),_2=t=>globalThis.DOMException===void 0?new Error(t):new DOMException(t);async function Fi(t,e){return new Promise((r,n)=>{e={onFailedAttempt(){},retries:10,...e};let o=A2.default.operation(e);o.attempt(async s=>{try{r(await t(s))}catch(i){if(!(i instanceof Error)){n(new TypeError(`Non-error was thrown: "${i}". You should only throw errors.`));return}if(i instanceof Mi)o.stop(),n(i.originalError);else if(i instanceof TypeError&&!nN(i.message))o.stop(),n(i);else{rN(i,s,e);try{await e.onFailedAttempt(i)}catch(a){n(a);return}o.retry(i)||n(o.mainError())}}}),e.signal&&!e.signal.aborted&&e.signal.addEventListener("abort",()=>{o.stop();let s=e.signal.reason===void 0?_2("The operation was aborted."):e.signal.reason;n(s instanceof Error?s:_2(s))},{once:!0})})}var oN=new URL("https://up.web3.storage"),nn=Ue("did:web:web3.storage"),Zn=No({id:nn,codec:ir.outbound,channel:Pn.open({url:oN,method:"POST"})});var R2=_e(U2(),1),{fetch:pN}=R2.default;function mN(t,e){function r({total:n,loaded:o,lengthComputable:s}){return e({total:n,loaded:o,lengthComputable:s,url:t})}return r}async function Vw({issuer:t,with:e,proofs:r,audience:n},o,s={}){let i=new Uint8Array(await o.arrayBuffer()),a=await ir.codec.link(i),c=s.connection??Zn,u=await Fi(async()=>await Ef.invoke({issuer:t,audience:n??nn,with:e,nb:{link:a,size:o.size},proofs:r}).execute(c),{onFailedAttempt:console.warn,retries:s.retries??3});if(!u.out.ok)throw new Error(`failed ${Ef.can} invocation`,{cause:u.out.error});if(u.out.ok.status==="done")return a;let l=u.out.ok,d=pN,p=await Fi(async()=>{try{let f=await d(l.url,{method:"PUT",mode:"cors",body:o,headers:l.headers,signal:s.signal,onUploadProgress:s.onUploadProgress?mN(l.url,s.onUploadProgress):void 0,duplex:"half"});if(f.status>=400&&f.status<500)throw new Mi(`upload failed: ${f.status}`);return f}catch(f){throw s.signal?.aborted===!0?new Mi("upload aborted"):f}},{onFailedAttempt:console.warn,retries:s.retries??3});if(!p.ok)throw new Error(`upload failed: ${p.status}`);return a}async function yN({issuer:t,with:e,proofs:r,audience:n},o={}){let s=o.connection??Zn,i=await Af.invoke({issuer:t,audience:n??nn,with:e,proofs:r,nb:{cursor:o.cursor,size:o.size,pre:o.pre}}).execute(s);if(!i.out.ok)throw new Error(`failed ${Af.can} invocation`,{cause:i.out.error});return i.out.ok}async function gN({issuer:t,with:e,proofs:r,audience:n},o,s={}){let i=s.connection??Zn,a=await _f.invoke({issuer:t,audience:n??nn,with:e,nb:{link:o},proofs:r}).execute(i);if(!a.out.ok)throw new Error(`failed ${_f.can} invocation`,{cause:a.out.error})}var Wi={};M(Wi,{add:()=>Gw,list:()=>xN,remove:()=>kN});var _Z=T({can:"upload/*",with:V.match({protocol:"did:"}),derives:Oi}),wN=he.match({code:Re.code,version:1}),Cf=T({can:"upload/add",with:V.match({protocol:"did:"}),nb:x.struct({root:he,shards:wN.array().optional()}),derives:(t,e)=>$i(Oi(t,e))||$i(Sf(t.nb.root,e.nb.root,"root"))||$i(Sf(t.nb.shards,e.nb.shards,"shards"))||C({})}),If=T({can:"upload/remove",with:V.match({protocol:"did:"}),nb:x.struct({root:he}),derives:(t,e)=>$i(Oi(t,e))||$i(Sf(t.nb.root,e.nb.root,"root"))||C({})}),Bf=T({can:"upload/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()})}),AZ=Cf.or(If).or(Bf);async function Gw({issuer:t,with:e,proofs:r,audience:n},o,s,i={}){let a=i.connection??Zn,c=await Fi(async()=>await Cf.invoke({issuer:t,audience:n??nn,with:e,nb:{root:o,shards:s},proofs:r}).execute(a),{onFailedAttempt:console.warn,retries:i.retries??3});if(!c.out.ok)throw new Error(`failed ${Cf.can} invocation`,{cause:c.out.error});return c.out.ok}async function xN({issuer:t,with:e,proofs:r,audience:n},o={}){let s=o.connection??Zn,i=await Bf.invoke({issuer:t,audience:n??nn,with:e,proofs:r,nb:{cursor:o.cursor,size:o.size,pre:o.pre}}).execute(s);if(!i.out.ok)throw new Error(`failed ${Bf.can} invocation`,{cause:i.out.error});return i.out.ok}async function kN({issuer:t,with:e,proofs:r,audience:n},o,s={}){let i=s.connection??Zn,a=await If.invoke({issuer:t,audience:n??nn,with:e,nb:{root:o},proofs:r}).execute(i);if(!a.out.ok)throw new Error(`failed ${If.can} invocation`,{cause:a.out.error});return a.out.ok}var Zi={};M(Zi,{DEFAULT_DIRECTORY_MODE:()=>HA,DEFAULT_FILE_MODE:()=>WA,NodeType:()=>ae,code:()=>Ki,createAdvancedFile:()=>HN,createComplexFile:()=>VN,createDirectoryShard:()=>hb,createEmptyFile:()=>jN,createFileChunk:()=>WN,createFileShard:()=>qN,createFlatDirectory:()=>Wf,createRaw:()=>qA,createShardedDirectory:()=>GA,createSimpleFile:()=>VA,createSymlink:()=>ZA,cumulativeContentByteLength:()=>Pr,cumulativeDagByteLength:()=>eo,decode:()=>XA,decodeMetadata:()=>us,encode:()=>QA,encodeAdvancedFile:()=>yb,encodeComplexFile:()=>gb,encodeDirectory:()=>Vf,encodeDirectoryMetadata:()=>xb,encodeFile:()=>KA,encodeFileChunk:()=>mb,encodeFileShard:()=>GN,encodeHAMTShard:()=>Gf,encodeLink:()=>Hf,encodeMetadata:()=>Zc,encodeMode:()=>eD,encodeRaw:()=>pb,encodeSimpleFile:()=>qf,encodeSymlink:()=>JA,filesize:()=>QN,matchFile:()=>JN,name:()=>fb});var vN=new TextDecoder;function Kw(t,e){let r=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=t.length)throw new Error("protobuf: unexpected end of data");let o=t[e++];if(r+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[r,e]}function Pf(t,e){let r;[r,e]=Kw(t,e);let n=e+r;if(r<0||n<0)throw new Error("protobuf: invalid length");if(n>t.length)throw new Error("protobuf: unexpected end of data");return[t.subarray(e,n),n]}function N2(t,e){let r;return[r,e]=Kw(t,e),[r&7,r>>3,e]}function SN(t){let e={},r=t.length,n=0;for(;n<r;){let o,s;if([o,s,n]=N2(t,n),s===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=Pf(t,n)}else if(s===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let i;[i,n]=Pf(t,n),e.Name=vN.decode(i)}else if(s===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[e.Tsize,n]=Kw(t,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${s}`)}if(n>r)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function O2(t){let e=t.length,r=0,n,o=!1,s;for(;r<e;){let a,c;if([a,c,r]=N2(t,r),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(s)throw new Error("protobuf: (PBNode) duplicate Data section");[s,r]=Pf(t,r),n&&(o=!0)}else if(c===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,r]=Pf(t,r),n.push(SN(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(r>e)throw new Error("protobuf: (PBNode) unexpected end of data");let i={};return s&&(i.Data=s),i.Links=n||[],i}var M2=new TextEncoder,$2=2**32,EN=2**31;function _N(t,e){let r=e.length;if(typeof t.Tsize=="number"){if(t.Tsize<0)throw new Error("Tsize cannot be negative");if(!Number.isSafeInteger(t.Tsize))throw new Error("Tsize too large for encoding");r=Hc(e,r,t.Tsize)-1,e[r]=24}if(typeof t.Name=="string"){let n=M2.encode(t.Name);r-=n.length,e.set(n,r),r=Hc(e,r,n.length)-1,e[r]=18}return t.Hash&&(r-=t.Hash.length,e.set(t.Hash,r),r=Hc(e,r,t.Hash.length)-1,e[r]=10),e.length-r}function F2(t){let e=DN(t),r=new Uint8Array(e),n=e;if(t.Data&&(n-=t.Data.length,r.set(t.Data,n),n=Hc(r,n,t.Data.length)-1,r[n]=10),t.Links)for(let o=t.Links.length-1;o>=0;o--){let s=_N(t.Links[o],r.subarray(0,n));n-=s,n=Hc(r,n,s)-1,r[n]=18}return r}function AN(t){let e=0;if(t.Hash){let r=t.Hash.length;e+=1+r+Hi(r)}if(typeof t.Name=="string"){let r=M2.encode(t.Name).length;e+=1+r+Hi(r)}return typeof t.Tsize=="number"&&(e+=1+Hi(t.Tsize)),e}function DN(t){let e=0;if(t.Data){let r=t.Data.length;e+=1+r+Hi(r)}if(t.Links)for(let r of t.Links){let n=AN(r);e+=1+n+Hi(n)}return e}function Hc(t,e,r){e-=Hi(r);let n=e;for(;r>=EN;)t[e++]=r&127|128,r/=128;for(;r>=128;)t[e++]=r&127|128,r>>>=7;return t[e]=r,n}function Hi(t){return t%2===0&&t++,Math.floor((TN(t)+6)/7)}function TN(t){let e=0;return t>=$2&&(t=Math.floor(t/$2),e=32),t>=65536&&(t>>>=16,e+=16),t>=256&&(t>>>=8,e+=8),e+CN[t]}var CN=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8];var IN=["Data","Links"],BN=["Hash","Name","Tsize"],Zw=new TextEncoder;function j2(t,e){if(t===e)return 0;let r=t.Name?Zw.encode(t.Name):[],n=e.Name?Zw.encode(e.Name):[],o=r.length,s=n.length;for(let i=0,a=Math.min(o,s);i<a;++i)if(r[i]!==n[i]){o=r[i],s=n[i];break}return o<s?-1:s<o?1:0}function z2(t,e){return!Object.keys(t).some(r=>!e.includes(r))}function PN(t){if(typeof t.asCID=="object"){let r=se.asCID(t);if(!r)throw new TypeError("Invalid DAG-PB form");return{Hash:r}}if(typeof t!="object"||Array.isArray(t))throw new TypeError("Invalid DAG-PB form");let e={};if(t.Hash){let r=se.asCID(t.Hash);try{r||(typeof t.Hash=="string"?r=se.parse(t.Hash):t.Hash instanceof Uint8Array&&(r=se.decode(t.Hash)))}catch(n){throw new TypeError(`Invalid DAG-PB form: ${n.message}`)}r&&(e.Hash=r)}if(!e.Hash)throw new TypeError("Invalid DAG-PB form");return typeof t.Name=="string"&&(e.Name=t.Name),typeof t.Tsize=="number"&&(e.Tsize=t.Tsize),e}function Jw(t){if((t instanceof Uint8Array||typeof t=="string")&&(t={Data:t}),typeof t!="object"||Array.isArray(t))throw new TypeError("Invalid DAG-PB form");let e={};if(t.Data!==void 0)if(typeof t.Data=="string")e.Data=Zw.encode(t.Data);else if(t.Data instanceof Uint8Array)e.Data=t.Data;else throw new TypeError("Invalid DAG-PB form");if(t.Links!==void 0)if(Array.isArray(t.Links))e.Links=t.Links.map(PN),e.Links.sort(j2);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function W2(t){if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form");if(!z2(t,IN))throw new TypeError("Invalid DAG-PB form (extraneous properties)");if(t.Data!==void 0&&!(t.Data instanceof Uint8Array))throw new TypeError("Invalid DAG-PB form (Data must be bytes)");if(!Array.isArray(t.Links))throw new TypeError("Invalid DAG-PB form (Links must be a list)");for(let e=0;e<t.Links.length;e++){let r=t.Links[e];if(!r||typeof r!="object"||Array.isArray(r)||r instanceof Uint8Array||r["/"]&&r["/"]===r.bytes)throw new TypeError("Invalid DAG-PB form (bad link)");if(!z2(r,BN))throw new TypeError("Invalid DAG-PB form (extraneous properties on link)");if(r.Hash===void 0)throw new TypeError("Invalid DAG-PB form (link must have a Hash)");if(r.Hash==null||!r.Hash["/"]||r.Hash["/"]!==r.Hash.bytes)throw new TypeError("Invalid DAG-PB form (link Hash must be a CID)");if(r.Name!==void 0&&typeof r.Name!="string")throw new TypeError("Invalid DAG-PB form (link Name must be a string)");if(r.Tsize!==void 0){if(typeof r.Tsize!="number"||r.Tsize%1!==0)throw new TypeError("Invalid DAG-PB form (link Tsize must be an integer)");if(r.Tsize<0)throw new TypeError("Invalid DAG-PB form (link Tsize cannot be negative)")}if(e>0&&j2(r,t.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}var Jn=112;function H2(t){W2(t);let e={};return t.Links&&(e.Links=t.Links.map(r=>{let n={};return r.Hash&&(n.Hash=r.Hash.bytes),r.Name!==void 0&&(n.Name=r.Name),r.Tsize!==void 0&&(n.Tsize=r.Tsize),n})),t.Data&&(e.Data=t.Data),F2(e)}function Cr(t){let e=O2(t),r={};return e.Data&&(r.Data=e.Data),e.Links&&(r.Links=e.Links.map(n=>{let o={};try{o.Hash=se.decode(n.Hash)}catch{}if(!o.Hash)throw new Error("Invalid Hash field found in link, expected CID");return n.Name!==void 0&&(o.Name=n.Name),n.Tsize!==void 0&&(o.Tsize=n.Tsize),o})),r}var sn=_e(MA(),1),Vi=sn.default.Reader,lb=sn.default.Writer,Z=sn.default.util,nt=sn.default.roots.unixfs||(sn.default.roots.unixfs={}),Gi=nt.Data=(()=>{function t(e){if(this.blocksizes=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Z.newBuffer([]),t.prototype.filesize=Z.Long?Z.Long.fromBits(0,0,!0):0,t.prototype.blocksizes=Z.emptyArray,t.prototype.hashType=Z.Long?Z.Long.fromBits(0,0,!0):0,t.prototype.fanout=Z.Long?Z.Long.fromBits(0,0,!0):0,t.prototype.mode=0,t.prototype.mtime=null,t.encode=function(r,n){if(n||(n=lb.create()),n.uint32(8).int32(r.Type),r.Data!=null&&Object.hasOwnProperty.call(r,"Data")&&n.uint32(18).bytes(r.Data),r.filesize!=null&&Object.hasOwnProperty.call(r,"filesize")&&n.uint32(24).uint64(r.filesize),r.blocksizes!=null&&r.blocksizes.length)for(var o=0;o<r.blocksizes.length;++o)n.uint32(32).uint64(r.blocksizes[o]);return r.hashType!=null&&Object.hasOwnProperty.call(r,"hashType")&&n.uint32(40).uint64(r.hashType),r.fanout!=null&&Object.hasOwnProperty.call(r,"fanout")&&n.uint32(48).uint64(r.fanout),r.mode!=null&&Object.hasOwnProperty.call(r,"mode")&&n.uint32(56).uint32(r.mode),r.mtime!=null&&Object.hasOwnProperty.call(r,"mtime")&&nt.UnixTime.encode(r.mtime,n.uint32(66).fork()).ldelim(),n},t.decode=function(r,n){r instanceof Vi||(r=Vi.create(r));for(var o=n===void 0?r.len:r.pos+n,s=new nt.Data;r.pos<o;){var i=r.uint32();switch(i>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;case 3:s.filesize=r.uint64();break;case 4:if(s.blocksizes&&s.blocksizes.length||(s.blocksizes=[]),(i&7)===2)for(var a=r.uint32()+r.pos;r.pos<a;)s.blocksizes.push(r.uint64());else s.blocksizes.push(r.uint64());break;case 5:s.hashType=r.uint64();break;case 6:s.fanout=r.uint64();break;case 7:s.mode=r.uint32();break;case 8:s.mtime=nt.UnixTime.decode(r,r.uint32());break;default:r.skipType(i&7);break}}if(!s.hasOwnProperty("Type"))throw Z.ProtocolError("missing required 'Type'",{instance:s});return s},t.fromObject=function(r){if(r instanceof nt.Data)return r;var n=new nt.Data;switch(r.Type){case"Raw":case 0:n.Type=0;break;case"Directory":case 1:n.Type=1;break;case"File":case 2:n.Type=2;break;case"Metadata":case 3:n.Type=3;break;case"Symlink":case 4:n.Type=4;break;case"HAMTShard":case 5:n.Type=5;break}if(r.Data!=null&&(typeof r.Data=="string"?Z.base64.decode(r.Data,n.Data=Z.newBuffer(Z.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),r.filesize!=null&&(Z.Long?(n.filesize=Z.Long.fromValue(r.filesize)).unsigned=!0:typeof r.filesize=="string"?n.filesize=parseInt(r.filesize,10):typeof r.filesize=="number"?n.filesize=r.filesize:typeof r.filesize=="object"&&(n.filesize=new Z.LongBits(r.filesize.low>>>0,r.filesize.high>>>0).toNumber(!0))),r.blocksizes){if(!Array.isArray(r.blocksizes))throw TypeError(".Data.blocksizes: array expected");n.blocksizes=[];for(var o=0;o<r.blocksizes.length;++o)Z.Long?(n.blocksizes[o]=Z.Long.fromValue(r.blocksizes[o])).unsigned=!0:typeof r.blocksizes[o]=="string"?n.blocksizes[o]=parseInt(r.blocksizes[o],10):typeof r.blocksizes[o]=="number"?n.blocksizes[o]=r.blocksizes[o]:typeof r.blocksizes[o]=="object"&&(n.blocksizes[o]=new Z.LongBits(r.blocksizes[o].low>>>0,r.blocksizes[o].high>>>0).toNumber(!0))}if(r.hashType!=null&&(Z.Long?(n.hashType=Z.Long.fromValue(r.hashType)).unsigned=!0:typeof r.hashType=="string"?n.hashType=parseInt(r.hashType,10):typeof r.hashType=="number"?n.hashType=r.hashType:typeof r.hashType=="object"&&(n.hashType=new Z.LongBits(r.hashType.low>>>0,r.hashType.high>>>0).toNumber(!0))),r.fanout!=null&&(Z.Long?(n.fanout=Z.Long.fromValue(r.fanout)).unsigned=!0:typeof r.fanout=="string"?n.fanout=parseInt(r.fanout,10):typeof r.fanout=="number"?n.fanout=r.fanout:typeof r.fanout=="object"&&(n.fanout=new Z.LongBits(r.fanout.low>>>0,r.fanout.high>>>0).toNumber(!0))),r.mode!=null&&(n.mode=r.mode>>>0),r.mtime!=null){if(typeof r.mtime!="object")throw TypeError(".Data.mtime: object expected");n.mtime=nt.UnixTime.fromObject(r.mtime)}return n},t.toObject=function(r,n){n||(n={});var o={};if((n.arrays||n.defaults)&&(o.blocksizes=[]),n.defaults){if(o.Type=n.enums===String?"Raw":0,n.bytes===String?o.Data="":(o.Data=[],n.bytes!==Array&&(o.Data=Z.newBuffer(o.Data))),Z.Long){var s=new Z.Long(0,0,!0);o.filesize=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else o.filesize=n.longs===String?"0":0;if(Z.Long){var s=new Z.Long(0,0,!0);o.hashType=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else o.hashType=n.longs===String?"0":0;if(Z.Long){var s=new Z.Long(0,0,!0);o.fanout=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else o.fanout=n.longs===String?"0":0;o.mode=0,o.mtime=null}if(r.Type!=null&&r.hasOwnProperty("Type")&&(o.Type=n.enums===String?nt.Data.DataType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(o.Data=n.bytes===String?Z.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),r.filesize!=null&&r.hasOwnProperty("filesize")&&(typeof r.filesize=="number"?o.filesize=n.longs===String?String(r.filesize):r.filesize:o.filesize=n.longs===String?Z.Long.prototype.toString.call(r.filesize):n.longs===Number?new Z.LongBits(r.filesize.low>>>0,r.filesize.high>>>0).toNumber(!0):r.filesize),r.blocksizes&&r.blocksizes.length){o.blocksizes=[];for(var i=0;i<r.blocksizes.length;++i)typeof r.blocksizes[i]=="number"?o.blocksizes[i]=n.longs===String?String(r.blocksizes[i]):r.blocksizes[i]:o.blocksizes[i]=n.longs===String?Z.Long.prototype.toString.call(r.blocksizes[i]):n.longs===Number?new Z.LongBits(r.blocksizes[i].low>>>0,r.blocksizes[i].high>>>0).toNumber(!0):r.blocksizes[i]}return r.hashType!=null&&r.hasOwnProperty("hashType")&&(typeof r.hashType=="number"?o.hashType=n.longs===String?String(r.hashType):r.hashType:o.hashType=n.longs===String?Z.Long.prototype.toString.call(r.hashType):n.longs===Number?new Z.LongBits(r.hashType.low>>>0,r.hashType.high>>>0).toNumber(!0):r.hashType),r.fanout!=null&&r.hasOwnProperty("fanout")&&(typeof r.fanout=="number"?o.fanout=n.longs===String?String(r.fanout):r.fanout:o.fanout=n.longs===String?Z.Long.prototype.toString.call(r.fanout):n.longs===Number?new Z.LongBits(r.fanout.low>>>0,r.fanout.high>>>0).toNumber(!0):r.fanout),r.mode!=null&&r.hasOwnProperty("mode")&&(o.mode=r.mode),r.mtime!=null&&r.hasOwnProperty("mtime")&&(o.mtime=nt.UnixTime.toObject(r.mtime,n)),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,sn.default.util.toJSONOptions)},t.DataType=function(){let e={},r=Object.create(e);return r[e[0]="Raw"]=0,r[e[1]="Directory"]=1,r[e[2]="File"]=2,r[e[3]="Metadata"]=3,r[e[4]="Symlink"]=4,r[e[5]="HAMTShard"]=5,r}(),t})(),nJ=nt.UnixTime=(()=>{function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Seconds=Z.Long?Z.Long.fromBits(0,0,!1):0,t.prototype.FractionalNanoseconds=0,t.encode=function(r,n){return n||(n=lb.create()),n.uint32(8).int64(r.Seconds),r.FractionalNanoseconds!=null&&Object.hasOwnProperty.call(r,"FractionalNanoseconds")&&n.uint32(21).fixed32(r.FractionalNanoseconds),n},t.decode=function(r,n){r instanceof Vi||(r=Vi.create(r));for(var o=n===void 0?r.len:r.pos+n,s=new nt.UnixTime;r.pos<o;){var i=r.uint32();switch(i>>>3){case 1:s.Seconds=r.int64();break;case 2:s.FractionalNanoseconds=r.fixed32();break;default:r.skipType(i&7);break}}if(!s.hasOwnProperty("Seconds"))throw Z.ProtocolError("missing required 'Seconds'",{instance:s});return s},t.fromObject=function(r){if(r instanceof nt.UnixTime)return r;var n=new nt.UnixTime;return r.Seconds!=null&&(Z.Long?(n.Seconds=Z.Long.fromValue(r.Seconds)).unsigned=!1:typeof r.Seconds=="string"?n.Seconds=parseInt(r.Seconds,10):typeof r.Seconds=="number"?n.Seconds=r.Seconds:typeof r.Seconds=="object"&&(n.Seconds=new Z.LongBits(r.Seconds.low>>>0,r.Seconds.high>>>0).toNumber())),r.FractionalNanoseconds!=null&&(n.FractionalNanoseconds=r.FractionalNanoseconds>>>0),n},t.toObject=function(r,n){n||(n={});var o={};if(n.defaults){if(Z.Long){var s=new Z.Long(0,0,!1);o.Seconds=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else o.Seconds=n.longs===String?"0":0;o.FractionalNanoseconds=0}return r.Seconds!=null&&r.hasOwnProperty("Seconds")&&(typeof r.Seconds=="number"?o.Seconds=n.longs===String?String(r.Seconds):r.Seconds:o.Seconds=n.longs===String?Z.Long.prototype.toString.call(r.Seconds):n.longs===Number?new Z.LongBits(r.Seconds.low>>>0,r.Seconds.high>>>0).toNumber():r.Seconds),r.FractionalNanoseconds!=null&&r.hasOwnProperty("FractionalNanoseconds")&&(o.FractionalNanoseconds=r.FractionalNanoseconds),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,sn.default.util.toJSONOptions)},t})(),oJ=nt.Metadata=(()=>{function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.MimeType="",t.encode=function(r,n){return n||(n=lb.create()),r.MimeType!=null&&Object.hasOwnProperty.call(r,"MimeType")&&n.uint32(10).string(r.MimeType),n},t.decode=function(r,n){r instanceof Vi||(r=Vi.create(r));for(var o=n===void 0?r.len:r.pos+n,s=new nt.Metadata;r.pos<o;){var i=r.uint32();switch(i>>>3){case 1:s.MimeType=r.string();break;default:r.skipType(i&7);break}}return s},t.fromObject=function(r){if(r instanceof nt.Metadata)return r;var n=new nt.Metadata;return r.MimeType!=null&&(n.MimeType=String(r.MimeType)),n},t.toObject=function(r,n){n||(n={});var o={};return n.defaults&&(o.MimeType=""),r.MimeType!=null&&r.hasOwnProperty("MimeType")&&(o.MimeType=r.MimeType),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,sn.default.util.toJSONOptions)},t})();var ae=Gi.DataType;var jA=Object.freeze([]),db=new Uint8Array(0),Nt=Object.freeze({}),WA=parseInt("0644",8),HA=parseInt("0755",8),Ki=Jn,fb="UnixFS",Yn=(t,e)=>(Object(globalThis).debug&&console.log({data:t,links:e}),H2(Jw({Data:Gi.encode(t).finish(),Links:e}))),qA=t=>({type:ae.Raw,content:t}),jN=t=>VA(db,t),VA=(t,e)=>({type:ae.File,layout:"simple",content:t,metadata:us(e)}),WN=t=>({type:ae.File,layout:"simple",content:t}),HN=(t,e)=>({type:ae.File,layout:"advanced",parts:t,metadata:us(e)}),qN=t=>({type:ae.File,layout:"advanced",parts:t}),VN=(t,e,r)=>({type:ae.File,layout:"complex",content:t,parts:e,metadata:us(r)}),Wf=(t,e)=>({type:ae.Directory,metadata:us(e),entries:t}),GA=(t,e,r,n,o=Nt)=>({type:ae.HAMTShard,bitfield:e,fanout:wb(r),hashType:bb(n),entries:t,metadata:us(o)}),hb=(t,e,r,n)=>({type:ae.HAMTShard,bitfield:e,fanout:wb(r),hashType:bb(n),entries:t}),pb=t=>Yn({Type:ae.Raw,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:jA},[]),KA=(t,e=!1)=>{let r=e?Nt:Object(t).metadata;switch(t.layout){case"simple":return qf(t.content,r);case"advanced":return yb(t.parts,r);case"complex":return gb(t.content,t.parts,r);default:throw new TypeError(`File with unknown layout "${Object(t).layout}" was passed`)}},mb=t=>qf(t,Nt),GN=t=>Yn({Type:ae.File,blocksizes:t.map(Kc),filesize:Pr(t)},t.map(Hf)),yb=(t,e=Nt)=>Yn({Type:ae.File,blocksizes:t.map(Kc),filesize:Pr(t),...Zc(e)},t.map(Hf)),Hf=t=>({Name:"",Tsize:t.dagByteLength,Hash:t.cid}),qf=(t,e=Nt)=>Yn({Type:ae.File,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:[],...Zc(e)},[]),gb=(t,e,r=Nt)=>Yn({Type:ae.File,Data:t,filesize:t.byteLength+Pr(e),blocksizes:e.map(Kc)},e.map(Hf)),Vf=t=>Yn({Type:t.type,...xb(t.metadata||Nt)},t.entries.map(YA)),Gf=({bitfield:t,fanout:e,hashType:r,entries:n,metadata:o=Nt})=>Yn({Type:ae.HAMTShard,Data:t.byteLength>0?t:void 0,fanout:wb(e),hashType:bb(r),...xb(o)},n.map(YA)),wb=t=>{if(Math.log2(t)%1===0)return t;throw new TypeError(`Expected hamt size to be a power of two instead got ${t}`)},bb=t=>{if(Number.isInteger(t))return t;throw new TypeError(`Expected an integer value instead got ${t}`)};var ZA=(t,e=Nt)=>({type:ae.Symlink,content:t,metadata:us(e)}),JA=(t,e=!1)=>{let r=e?Nt:Object(t).metadata;return Yn({Type:ae.Symlink,Data:t.content,...Zc(r||Nt)},[])},QA=(t,e=!0)=>{switch(t.type){case ae.Raw:return pb(t.content);case ae.File:return KA(t);case ae.Directory:return Vf(t);case ae.HAMTShard:return Gf(t);case ae.Symlink:return JA(t);default:throw new Error(`Unknown node type ${Object(t).type}`)}},XA=t=>{let e=Cr(t),r=Gi.decode(e.Data),{Type:n,Data:o,mtime:s,mode:i,blocksizes:a,...c}=Gi.toObject(r,{defaults:!1,arrays:!0,longs:Number,objects:!1}),u={...i&&{mode:i},...KN(s)},l=e.Links;switch(r.Type){case ae.Raw:return qA(o);case ae.File:return l.length===0?new Ff(o,u):o.byteLength===0?new zf(FA(c.blocksizes,l),u):new jf(o,FA(c.blocksizes,l),u);case ae.Directory:return Wf(zA(l),u);case ae.HAMTShard:return GA(zA(l),o||db,c.fanout,c.hashType,u);case ae.Symlink:return ZA(o,u);default:throw new TypeError(`Unsupported node type ${r.Type}`)}},KN=t=>t==null?void 0:{mtime:{secs:t.Seconds,nsecs:t.FractionalNanoseconds||0}};var FA=(t,e)=>{let r=[],n=t.length,o=0;for(;o<n;)r.push({cid:e[o].Hash,dagByteLength:e[o].Tsize||0,contentByteLength:t[o]});return r},zA=t=>t.map(e=>({cid:e.Hash,name:e.Name||"",dagByteLength:e.Tsize||0})),Pr=t=>t.reduce((e,r)=>e+r.contentByteLength,0),eo=(t,e)=>e.reduce((r,n)=>r+n.dagByteLength,t.byteLength),Kc=t=>t.contentByteLength,YA=({name:t,dagByteLength:e,cid:r})=>({Name:t,Tsize:e,Hash:r}),xb=t=>Zc(t,HA),Zc=({mode:t,mtime:e},r=WA)=>({mode:t!=null?eD(t,r):void 0,mtime:e!=null?ZN(e):void 0}),us=t=>t==null?Nt:{...t.mode==null?void 0:{mode:tD(t.mode)},...t.mtime==null?void 0:{mtime:t.mtime}},ZN=t=>t==null?void 0:t.nsecs!==0?{Seconds:t.secs,FractionalNanoseconds:t.nsecs}:{Seconds:t.secs},eD=(t,e)=>{let r=t==null?void 0:tD(t);return r===e||r==null?void 0:r},tD=t=>t&4095|t&4294963200,JN=({content:t=db,parts:e=jA,metadata:r=Nt,...n})=>e.length===0?new Ff(t,r):t.byteLength===0?new zf(e,r):new jf(t,e,r),Ff=class{constructor(e,r){this.content=e,this.metadata=r,this.layout="simple",this.type=ae.File}get filesize(){return this.content.byteLength}encode(){return qf(this.content,this.metadata)}},zf=class{constructor(e,r){this.parts=e,this.metadata=r}get layout(){return"advanced"}get type(){return ae.File}get fileSize(){return Pr(this.parts)}get blockSizes(){return this.parts.map(Kc)}encode(){return yb(this.parts,this.metadata)}},jf=class{constructor(e,r,n){this.content=e,this.parts=r,this.metadata=n}get layout(){return"complex"}get type(){return ae.File}get fileSize(){return this.content.byteLength+Pr(this.parts)}get blockSizes(){return this.parts.map(Kc)}encode(){return gb(this.content,this.parts,this.metadata)}},QN=t=>{switch(t.type){case ae.Raw:case ae.Symlink:return t.content.byteLength;case ae.File:switch(t.layout){case"simple":return t.content.byteLength;case"advanced":return Pr(t.parts);case"complex":return t.content.byteLength+Pr(t.parts)}default:return 0}};var XN=function*(t){let e=yield*t;yield*Zf(e)};function*_b(){return yield Xf}var Qi=function*(){yield Yf};var Kf=function*(t){let e=yield*_b();if(e5(t)){let r=!1,n;if(t.then(o=>{r=!1,n=o,to(e)},o=>{r=!0,n=o,to(e)}),yield*Qi(),r)throw n;return n}else return o5(YN(e)),yield*Qi(),t};function*YN(t){to(t)}var e5=t=>t!=null&&typeof t.then=="function",Zf=function*(t){yield t},Jf=function*(t){let e=[];for(let r of Object.entries(t)){let[n,o]=r;o!==Xc&&e.push(yield*Yi(r5(o,n)))}yield*Db(e)},Qf=t=>t.length>0?t5(t.map(XN)):Xc;function*t5(t){let e=[];for(let r of t)e.push(yield*Yi(r));yield*Db(e)}var r5=(t,e)=>t===Xc?Xc:t instanceof Jc?new Jc([...t.tags,e],t.source):new Jc([e],t),Jc=class{constructor(e,r){this.tags=e,this.source=r,this.controller}[Symbol.iterator](){return this.controller||(this.controller=this.source[Symbol.iterator]()),this}box(e){if(e.done)return e;switch(e.value){case Yf:case Xf:return e;default:{let r=e,{value:n}=r;for(let o of this.tags)n=n5(o,n);return r.value=n,r}}}next(e){return this.box(this.controller.next(e))}throw(e){return this.box(this.controller.throw(e))}return(e){return this.box(this.controller.return(e))}get[Symbol.toStringTag](){return"TaggedEffect"}},Yc=()=>Xc;var n5=(t,e)=>({type:t,[t]:e});var Xf=Symbol("current"),Yf=Symbol("suspend");var an=class t{static of(e){return e.group||Ji}static enqueue(e,r){e.group=r,r.stack.active.push(e)}constructor(e,r=[],n=new Set,o=new Xi(r,n)){this.driver=e,this.parent=t.of(e),this.stack=o,this.id=++sD}},kb=class{constructor(){this.status=Qc,this.stack=new Xi,this.id=0}},Xi=class{constructor(e=[],r=new Set){this.active=e,this.idle=r}static size({active:e,idle:r}){return e.length+r.size}},o5=t=>to(t[Symbol.iterator]()),to=t=>{let e=an.of(t);for(e.stack.active.push(t),e.stack.idle.delete(t);e.parent;){let{idle:r,active:n}=e.parent.stack;if(r.has(e.driver))r.delete(e.driver),n.push(e.driver);else break;e=e.parent}if(Ji.status===Qc)for(Ji.status=iD;;)try{for(let r of Ab(Ji));Ji.status=Qc;break}catch{Ji.stack.active.shift()}},s5=t=>to(t),Ab=function*(t){let{active:e}=t.stack,r=e[0];for(t.stack.idle.delete(r);r;){let n=aD;e:for(;!n.done&&r===e[0];){let o=n.value;switch(o){case Yf:t.stack.idle.add(r);break e;case Xf:n=r.next(r);break;default:n=r.next(yield o);break}}e.shift(),r=e[0],t.stack.idle.delete(r)}};var Yi=(t,e)=>new Eb(t,e),i5=(t,e)=>nD(t,{ok:!0,value:e});var vb=(t,e)=>nD(t,{ok:!1,error:e});function*nD(t,e){try{let r=t,n=e.ok?r.return(e.value):r.throw(e.error);if(!n.done)if(n.value===Yf){let{idle:o}=an.of(r).stack;o.add(r)}else to(r)}catch{}}function*Db(t){if(t.length===0)return;let e=yield*_b(),r=new an(e),n=null;for(let o of t){let{result:s}=o;if(s){!s.ok&&!n&&(n=s);continue}a5(o,r)}try{if(n)throw n.error;for(;yield*Ab(r),Xi.size(r.stack)>0;)yield*Qi()}catch(o){for(let s of r.stack.active)yield*vb(s,o);for(let s of r.stack.idle)yield*vb(s,o),to(s);throw o}}var a5=(t,e)=>{let r=an.of(t);if(r!==e){let{active:n,idle:o}=r.stack,s=e.stack;if(t.group=e,o.has(t))o.delete(t),s.idle.add(t);else{let i=n.indexOf(t);i>=0&&(n.splice(i,1),s.active.push(t))}}};function*Tb(t){t.status===Qc&&(yield*t),t.result||(yield*Db([t]));let e=t.result;if(e.ok)return e.value;throw e.error}var Sb=class{constructor(e){this.handler=e,this.result}get promise(){let{result:e}=this,r=e==null?new Promise((n,o)=>{this.handler.onsuccess=n,this.handler.onfailure=o}):e.ok?Promise.resolve(e.value):Promise.reject(e.error);return Object.defineProperty(this,"promise",{value:r}),r}then(e,r){return this.activate().promise.then(e,r)}catch(e){return this.activate().promise.catch(e)}finally(e){return this.activate().promise.finally(e)}activate(){return this}},Eb=class extends Sb{constructor(e,r=c5,n={},o=aD){super(n),this.id=++sD,this.name=r.name||"",this.task=e,this.state=o,this.status=Qc,this.result,this.handler=n,this.controller}*resume(){s5(this)}join(){return Tb(this)}abort(e){return vb(this,e)}exit(e){return i5(this,e)}get[Symbol.toStringTag](){return"Fork"}*[Symbol.iterator](){return this.activate()}activate(){return this.controller=this.task[Symbol.iterator](),this.status=iD,to(this),this}panic(e){this.result={ok:!1,error:e},this.status=rD;let{handler:r}=this;throw r.onfailure&&r.onfailure(e),e}step(e){if(this.state=e,e.done){this.result={ok:!0,value:e.value},this.status=rD;let{handler:r}=this;r.onsuccess&&r.onsuccess(e.value)}return e}next(e){try{return this.step(this.controller.next(e))}catch(r){return this.panic(r)}}return(e){try{return this.step(this.controller.return(e))}catch(r){return this.panic(r)}}throw(e){try{return this.step(this.controller.throw(e))}catch(r){return this.panic(r)}}},oD=function*(t,e){let r=yield*_b(),n=new an(r);for(an.enqueue(t[Symbol.iterator](),n);;){for(let o of Ab(n))an.enqueue(e(o)[Symbol.iterator](),n);if(Xi.size(n.stack)>0)yield*Qi();else break}},sD=0,Qc="idle",iD="active",rD="finished",aD={done:!1,value:Xf},c5={},Xc=function*(){}(),Ji=new kb;function Cb(){}Object.defineProperties(Cb,{prototype:{value:new Proxy(Object.prototype,{get(t,e,r){return typeof e=="symbol"?Reflect.get(t,e,r):r.get(e)}})}});var Ib=()=>new eu;var uD=(t,e=0,r=t.byteLength)=>{let n=[],o=e<0?t.byteLength-e:e,s=r<0?t.byteLength-r:r;if(o===0&&s>=t.byteLength)return t;if(o>s||o>t.byteLength||s<=0)return Ib();let i=0,a=0;for(let c of t.segments){let u=a+c.byteLength;if(i===0){if(s<=u){let l=c.subarray(o-a,s-a);n.push(l),i=l.byteLength;break}else if(o<u){let l=o===a?c:c.subarray(o-a);n.push(l),i=l.byteLength}}else if(s<=u){let l=s===u?c:c.subarray(0,s-a);n.push(l),i+=l.byteLength;break}else n.push(c),i+=c.byteLength;a=u}return new eu(n,t.byteOffset+o,i)},u5=(t,e)=>e.byteLength>0?(t.segments.push(e),new eu(t.segments,t.byteOffset,t.byteLength+e.byteLength)):t,l5=(t,e)=>{if(e<t.byteLength){let r=0;for(let n of t.segments){if(e<r+n.byteLength)return n[e-r];r+=n.byteLength}}},d5=(t,e,r)=>{let n=r;for(let o of t.segments)e.set(o,n),n+=o.byteLength;return e};function*f5(t){for(let e of t.segments)yield*e}var eu=class extends Cb{constructor(e=[],r=0,n=0){super(),this.segments=e,this.byteLength=n,this.length=n,this.byteOffset=r}[Symbol.iterator](){return f5(this)}slice(e,r){return uD(this,e,r)}subarray(e,r){return uD(this,e,r)}push(e){return u5(this,e)}get(e){return l5(this,e)}copyTo(e,r){return d5(this,e,r)}};var tu=t=>{throw new Error(t)},lD=(t,e,...r)=>tu(String.raw(t,JSON.stringify(e),...r)),dD=new Uint8Array(0),fD=[];var hD=t=>({config:t,buffer:Ib()}),pD=(t,e)=>e.byteLength>0?yD(t.config,t.buffer.push(e),!1):{...t,chunks:fD},mD=t=>yD(t.config,t.buffer,!0),yD=(t,e,r)=>{let n=t.chunker,o=[],s=0;for(let i of n.cut(n.context,e,r))if(i>0){let a=e.subarray(s,s+i);o.push(a),s+=i}return{config:t,chunks:o,buffer:e.subarray(s)}};var gD=()=>({mutable:!0,needs:{},nodes:{},links:{},linked:Lb});var Ub=(t,e)=>{let r=ea(e,{});for(let n of t){let{ready:o,has:s,wants:i}=bD(n.children,r.links);i.length===0?r=ea(r,{links:Pb(void 0,s),linked:[{id:n.id,links:o}]}):r=ea(r,{needs:Pb(n.id,i),nodes:{[n.id]:{children:n.children,count:i.length}}})}return r},wD=(t,e,r)=>{let n=r.needs[t],o=r.nodes[n];if(o!=null)if(o.count===1){let{ready:s,has:i}=bD(o.children,{...r.links,[t]:e});return ea(r,{needs:{[t]:void 0},links:Pb(void 0,i),nodes:{[n]:void 0},linked:[{id:n,links:s}]})}else return ea(r,{needs:{[t]:void 0},links:{[t]:e},nodes:{[n]:{...o,count:o.count-1}}});else return ea(r,{links:{[t]:e}})},ea=(t,{needs:e,nodes:r,links:n,linked:o})=>{let s=t.mutable?t:{...t},i=t.mutable?y5:void 0;return e&&(s.needs=Bb(t.needs,e,i)),r&&(s.nodes=Bb(t.nodes,r,i)),n&&(s.links=Bb(t.links,n,i)),s.linked=o?m5(t.linked||Lb,o,Lb):t.linked||[],s},Pb=(t,e)=>{let r={};for(let n of e)r[n]=t;return r},Bb=(t,e,r=t)=>{let n=t===r?{...t}:t;for(let o of Object.entries(e)){let[s,i]=o;i==null?delete n[s]:n[s]=i}return n};var m5=(t,e,r=t)=>{if(t===r)return[...t,...e];for(let n of e)t.push(n);return t},bD=(t,e)=>{let r=[],n=[],o=[];for(let s of t){let i=e[s];i?(r.push(s),o.push(i)):n.push(s)}return{has:r,wants:n,ready:o}},Lb=Object.freeze([]),y5=Object.freeze({});var xD=(t,e)=>{switch(t.type){case"write":return w5(e,t.bytes);case"link":return b5(e,t.link);case"block":return{state:e,effect:Yc()};case"close":return x5(e);case"end":return{state:e,effect:Yc()};default:return lD`File Writer got unknown message ${t}`}},kD=(t,e,r)=>({status:"open",metadata:e,config:r,writer:t,chunker:hD({chunker:r.chunker}),layout:r.fileLayout.open(),nodeQueue:gD()}),w5=(t,e)=>{if(t.status==="open"){let{chunks:r,...n}=pD(t.chunker,e),{nodes:o,leaves:s,layout:i}=t.config.fileLayout.write(t.layout,r),{linked:a,...c}=Ub(o,t.nodeQueue),u=[...vD(s,t.config),...Rb(a,t.config)];return{state:{...t,chunker:n,layout:i,nodeQueue:c},effect:Jf({link:Qf(u)})}}else return tu("Unable to perform write on closed file")},b5=(t,{id:e,link:r,block:n})=>{let{linked:o,...s}=wD(e,r,t.nodeQueue),i=Rb(o,t.config),a=t.status==="closed"&&e===t.rootID?{...t,status:"linked",link:r,nodeQueue:s}:{...t,nodeQueue:s},c=t.status==="closed"&&e===t.rootID&&t.end?t.end.resume():Yc();return{state:a,effect:Jf({link:Qf(i),block:S5(t.writer,n),end:c})}},x5=t=>{if(t.status==="open"){let{chunks:e}=mD(t.chunker),{layout:r,...n}=t.config.fileLayout.write(t.layout,e),{root:o,...s}=t.config.fileLayout.close(r,t.metadata),[i,a]=_5(o)?[[...n.nodes,...s.nodes],[...n.leaves,...s.leaves,o]]:[[...n.nodes,...s.nodes,o],[...n.leaves,...s.leaves]],{linked:c,...u}=Ub(i,t.nodeQueue),l=[...vD(a,t.config),...Rb(c,t.config)],d=Yi(Qi());return{state:{...t,chunker:null,layout:null,rootID:o.id,status:"closed",end:d,nodeQueue:u},effect:Jf({link:Qf(l),end:Tb(d)})}}else return{state:t,effect:Yc()}},vD=(t,e)=>t.map(r=>k5(e,r,e.fileChunkEncoder)),k5=function*({hasher:t,linker:e},{id:r,content:n},o){let s=o.encode(n?E5(n):dD),i=yield*Kf(t.digest(s)),a=e.createLink(o.code,i),c={cid:a,bytes:s},u={cid:a,contentByteLength:n?n.byteLength:0,dagByteLength:s.byteLength};return{id:r,block:c,link:u}},Rb=(t,e)=>t.map(r=>v5(e,r)),v5=function*(t,{id:e,links:r},n){let o=t.fileEncoder.encode({type:ae.File,layout:"advanced",parts:r,metadata:n}),s=yield*Kf(Promise.resolve(t.hasher.digest(o))),i=t.linker.createLink(t.fileEncoder.code,s),a={bytes:o,cid:i},c={cid:i,contentByteLength:Pr(r),dagByteLength:eo(o,r)};return{id:e,block:a,link:c}},S5=function*(t,e){(t.desiredSize||0)<=0&&(yield*Kf(t.ready)),t.write(e)},E5=t=>t instanceof Uint8Array?t:t.copyTo(new Uint8Array(t.byteLength),0),_5=t=>t.children==null;var Nb={};M(Nb,{context:()=>D5,cut:()=>ED,name:()=>SD,type:()=>T5,withMaxChunkSize:()=>ru});var SD="fixed",D5={maxChunkSize:262144},T5="Stateless",ru=t=>({type:"Stateless",context:{maxChunkSize:t},name:SD,cut:ED}),ED=({maxChunkSize:t},{byteLength:e},r)=>{let n=e/t|0,o=new Array(n).fill(t),s=r?e-n*t:0;return s>0&&o.push(s),o};var nu=class{constructor(e,r,n){this.id=e,this.children=r,this.metadata=n}},ta=t=>({open:()=>I5({width:t}),write:B5,close:P5}),C5={width:174},I5=({width:t}=C5)=>({width:t,head:null,leafIndex:[],nodeIndex:[],lastID:0}),B5=(t,e)=>{if(e.length===0)return{layout:t,nodes:kt,leaves:kt};{let{lastID:r}=t,[n,o]=t.head?[null,(e.unshift(t.head),e)]:e.length===1&&t.leafIndex.length===0?[e[0],kt]:[null,e];if(o.length===0)return{layout:{...t,head:n},nodes:kt,leaves:kt};{let s=[...t.leafIndex],i=[];for(let a of o){let c={id:++r,content:a};i.push(c),s.push(c.id)}return s.length>=t.width?AD({...t,leafIndex:s,head:n,lastID:r},i):{layout:{...t,head:n,leafIndex:s,lastID:r},leaves:i,nodes:kt}}}},AD=(t,e=kt,r=[],n=!1)=>{let{lastID:o}=t,s=t.nodeIndex.map(u=>[...u]),i=[...t.leafIndex],{width:a}=t;for(;i.length>=a||i.length>0&&n;){_D(s,1);let u=new nu(++o,i.splice(0,a));s[0].push(u.id),r.push(u)}let c=0;for(;c<s.length;){let u=s[c];for(c++;u.length>=a||u.length>0&&n&&c<s.length;){let l=new nu(++o,u.splice(0,a));_D(s,c+1),s[c].push(l.id),r.push(l)}}return{layout:{...t,lastID:o,leafIndex:i,nodeIndex:s},leaves:e,nodes:r}},P5=(t,e)=>{let r=t;if(t.head)return{root:{id:1,content:t.head,metadata:e},leaves:kt,nodes:kt};if(t.leafIndex.length===0)return{root:{id:1,metadata:e},leaves:kt,nodes:kt};{let{nodes:n,layout:o}=AD(r,kt,[],!0),{nodeIndex:s}=o,i=s.length-1,a=s[i];if(a.length===1){let c=n[n.length-1];return n.length=n.length-1,{root:c,nodes:n,leaves:kt}}else return{root:new nu(o.lastID+1,a,e),nodes:n,leaves:kt}}},_D=(t,e)=>{for(;t.length<e;)t.push([]);return t},kt=[];var cn=()=>({chunker:Nb,fileChunkEncoder:Ob,smallFileEncoder:Ob,fileEncoder:Zi,fileLayout:ta(174),hasher:ue,linker:{createLink:se.createV1}}),Lr=t=>({...cn(),...t}),Ob={code:Ki,name:fb,encode:mb};var ls=({writer:t,metadata:e={},settings:r=cn()})=>new $b(kD(t,e,Lr(r))),DD=async(t,e)=>(await CD(t,Zf({type:"write",bytes:e})),t),TD=async(t,{releaseLock:e=!1,closeWriter:r=!1}={})=>{await CD(t,Zf({type:"close"}));let{state:n}=t;if(n.status==="linked")return r?await t.state.writer.close():e&&t.state.writer.releaseLock(),n.link;tu(`Expected writer to be in 'linked' state after close, but it is in "${n.status}" instead`)},CD=(t,e)=>Yi(oD(e,r=>{let{state:n,effect:o}=xD(r,t.state);return t.state=n,o})),$b=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.config}write(e){return DD(this,e)}close(e){return TD(this,e)}};var U5=cn,ou=({writer:t,settings:e=U5(),metadata:r={}})=>new eh({writer:t,metadata:r,settings:e,entries:new Map,closed:!1}),su=(t,e,r,{overwrite:n=!1}={})=>{let o=Fb(t.state);if(e.includes("/"))throw new Error(`Directory entry name "${e}" contains forbidden "/" character`);if(!n&&o.entries.has(e))throw new Error(`Directory already contains entry with name "${e}"`);return o.entries.set(e,r),t},iu=(t,e)=>(Fb(t.state).entries.delete(e),t),Fb=t=>{if(t.closed)throw new Error("Can not change written directory, but you can .fork() and make changes to it");return t},ID=async(t,{closeWriter:e=!1,releaseLock:r=!1}={})=>{let{writer:n,settings:o,metadata:s}=Fb(t.state);t.state.closed=!0;let i=[...BD(t)],a=Wf(i,s),c=Vf(a),u=await o.hasher.digest(c),l=o.linker.createLink(Ki,u);return(n.desiredSize||0)<=0&&await n.ready,n.write({cid:l,bytes:c}),e?await n.close():r&&n.releaseLock(),{cid:l,dagByteLength:eo(c,i)}},BD=function*({state:t}){for(let[e,{dagByteLength:r,cid:n}]of t.entries)yield{name:e,dagByteLength:r,cid:n}},PD=({state:t},{writer:e=t.writer,metadata:r=t.metadata,settings:n=t.settings}={})=>new eh({writer:e,metadata:r,settings:n,entries:new Map(t.entries.entries()),closed:!1}),eh=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.settings}links(){return BD(this)}set(e,r,n){return su(this,e,r,n)}remove(e){return iu(this,e)}fork(e){return PD(this,e)}close(e){return ID(this,e)}entries(){return this.state.entries.entries()}has(e){return this.state.entries.has(e)}get size(){return this.state.entries.size}};var nh={};M(nh,{API:()=>th,and:()=>j5,bitCount:()=>rh,empty:()=>LD,from:()=>N5,fromBytes:()=>q5,get:()=>z5,or:()=>W5,popcount:()=>zb,set:()=>UD,size:()=>O5,toBytes:()=>H5,unset:()=>F5});var th={};var LD=(t=32)=>{if(t!==32)throw new Error(`Uint32 BitField does not support size: ${t}`);return 0},N5=(t,e)=>{let r=LD(e);for(let n of t)r=UD(r,n);return r},O5=t=>32,$5=(t,e)=>t>>>e&31,M5=(t,e)=>1<<$5(t,e),zb=(t,e=31)=>rh(t&M5(e,0)-1),UD=(t,e)=>t|1<<e,F5=(t,e)=>t&(255^1<<e),z5=(t,e)=>(t>>e&1)!==0,rh=t=>{let e=t-(t>>1&1431655765),r=(e&858993459)+(e>>2&858993459);return(r+(r>>4)&252645135)*16843009>>24},j5=(t,e)=>t&e,W5=(t,e)=>t|e,H5=t=>Uint8Array.of(t>>24&255,t>>16&255,t>>8&255,t&255),q5=t=>{if(t.length!==4)throw new Error(`Expected 4 bytes instead got ${t.length}`);return(t[0]<<24)+(t[1]<<16)+(t[2]<<8)+t[3]};var OD=_e(jb(),1),V5=new TextEncoder,G5=OD.default.x64.hash126,$D=({bitWidth:t=5,hash:e=G5})=>{if(t>4*8)throw new RangeError(`Can not use bitWidth ${t} which exceeds the hashSize 4`);if(4*8>32)throw new RangeError("Can not use hashSize 4 as it can not be encoded in Uint32");let n=4294967295>>>32-t;return{at:(i,a)=>i>>>a*t&n,from:i=>e(V5.encode(i)),size:Math.ceil(4*8/t)}};var ra=class{constructor(e,r,n,o,s){this.edit=e,this.config=s,this.datamap=r,this.nodemap=n,this.children=o}get nodeArity(){return this.config.BitField.popcount(this.nodemap)}get dataArity(){return this.config.BitField.popcount(this.datamap)}empty(){return uu(this.config)}lookup(e,r,n,o){return FD(this,e,r,n,o)}associate(e,r,n,o,s,i){return qb(this,e,r,n,o,s,i)}dissociate(e,r,n,o,s){return zD(this,e,r,n,o,s)}fork(e=null){return lu(this,e)}entries(){return jD(this)}keys(){return WD(this)}values(){return HD(this)}},sh=class{constructor(e,r,n,o){this.edit=e,this.count=r,this.children=n,this.config=o}get nodeArity(){return 0}get dataArity(){return this.count}lookup(e,r,n,o){return K5(this,n,o)}associate(e,r,n,o,s,i){return Z5(this,e,n,o,s,i)}dissociate(e,r,n,o,s){return J5(this,e,n,o,s)}fork(e=null){return Q5(this,e)}entries(){return jD(this)}keys(){return WD(this)}values(){return HD(this)}},K5=(t,e,r)=>{let{children:n,count:o}=t,s=Wb(n,o,e);return n[s]===e?n[s+1]:r},Z5=(t,e,r,n,o,s)=>{let{children:i,count:a}=t,c=Wb(i,a,n);if(i[c]!==n){let u=t.fork(e);return s.value=!0,u.count+=1,u.children.splice(c,r,o),u}else if(i[c+1]!==o){let u=t.fork(e);return u.children[c+1]=o,u}else return t},J5=(t,e,r,n,o)=>{let{children:s,count:i,config:a}=t,c=Wb(s,i,n);if(s[c]!==n)return t;if(o.value=!0,i===2){let u=c===0?2:0;return qb(uu(a),e,0,r,s[u],s[u+1],o)}else{let u=t.fork(e);return u.children.splice(c,2),u.count-=1,u}},Q5=(t,e=null)=>KD(t.edit,e)?t:new sh(e,t.count,t.children.slice(),t.config),Wb=(t,e,r)=>{let n=0;for(;n<e&&t[n]>r;)n+=2;return n};var uu=(t,e=null)=>new ra(e,t.BitField.empty(Math.pow(2,t.bitWidth)),t.BitField.empty(Math.pow(2,t.bitWidth)),[],t),ih=(t,e,r)=>FD(t,0,t.config.Path.from(e),e,r),FD=(t,e,r,n,o)=>{let{datamap:s,nodemap:i,config:a}=t,{Path:c,BitField:u}=a,l=c.at(r,e);if(u.get(s,l)){let d=u.popcount(s,l);return du(t,d)===n?cu(t,d):o}else return u.get(i,l)?hu(t,l).lookup(e+1,r,n,o):o},Hb=(t,e,r,n,o)=>qb(t,e,0,t.config.Path.from(r),r,n,o),qb=(t,e,r,n,o,s,i)=>{let{datamap:a,nodemap:c,config:u}=t,{Path:l,BitField:d}=u,p=l.at(n,r);if(d.get(a,p)){let f=d.popcount(a,p),h=du(t,f);if(o===h)return cu(t,f)===s?t:X5(t,e,f,s);{let m=VD(u,e,r+1,l.from(h),h,cu(t,f),n,o,s);return i.value=!0,eO(t,e,p,m)}}else if(d.get(c,p)){let f=hu(t,p),h=f.associate(e,r+1,n,o,s,i);return f===h?t:qD(t,e,p,h)}else{let f=d.popcount(a,p);i.value=!0;let h=t.fork(e);return h.datamap=d.set(a,p),h.children.splice(fu(f),0,o,s),h}},Vb=(t,e,r,n)=>zD(t,e,0,t.config.Path.from(r),r,n);var zD=(t,e,r,n,o,s)=>{let{datamap:i,nodemap:a,config:c}=t,{BitField:u,Path:l}=c,d=l.at(n,r);if(u.get(i,d)){let p=u.popcount(i,d);if(o===du(t,p)){s.value=!0;let f=lu(t,e);return f.datamap=u.unset(t.datamap,d),f.children.splice(fu(p),2),f}else return t}else if(u.get(a,d)){let p=hu(t,d),f=p.dissociate(e,r+1,n,o,s);return tO(f)?rO(t)?f:Y5(t,e,d,f):p===f?t:qD(t,e,d,f)}else return t},jD=function*({children:t}){let e=0,r=t.length;for(;e<r;){let n=t[e];if(typeof n=="string"){e+=1;let o=t[e];yield[n,o],e+=1}else break}for(;e<r;)yield*t[e].entries(),e+=1},lu=(t,e)=>KD(t.edit,e)?t:new ra(e,t.datamap,t.nodemap,t.children.slice(),t.config),WD=function*({children:t}){let e=0,r=t.length;for(;e<r;){let n=t[e];if(typeof n=="string")yield n,e+=2;else break}for(;e<r;)yield*t[e].keys(),e+=1},HD=function*({children:t}){let e=0,r=t.length;for(;e<r&&typeof t[e]=="string";)e+=1,yield t[e],e+=1;for(;e<r;)yield*t[e].values(),e+=1},X5=(t,e,r,n)=>{let o=t.fork(e);return o.children[GD(r)]=n,o},Y5=(t,e,r,n)=>{let{datamap:o,nodemap:s,config:i}=t,{BitField:a}=i,c=lu(t,e);return c.children.splice(ah(t,r),1),c.children.splice(fu(a.popcount(o,r)),0,n.children[0],n.children[1]),c.datamap=a.set(o,r),c.nodemap=a.unset(s,r),c},qD=(t,e,r,n)=>{let o=lu(t,e);return o.children[ah(t,r)]=n,o},eO=(t,e,r,n)=>{let{nodemap:o,datamap:s,config:i}=t,{BitField:a}=i,c=a.popcount(s,r),u=fu(c),l=ah(t,r),d=lu(t,e);return d.datamap=a.unset(s,r),d.children.splice(u,2),d.nodemap=a.set(o,r),d.children.splice(l-1,0,n),d},VD=(t,e,r,n,o,s,i,a,c)=>{let{BitField:u,Path:l}=t;if(l.size<r)return new sh(e,2,[o,s,a,c],t);{let d=l.at(n,r),p=l.at(i,r);return d===p?new ra(e,u.empty(Math.pow(2,t.bitWidth)),u.from([d],Math.pow(2,t.bitWidth)),[VD(t,e,r+1,n,o,s,i,a,c)],t):new ra(e,u.from([d,p],Math.pow(2,t.bitWidth)),u.empty(Math.pow(2,t.bitWidth)),d<p?[o,s,a,c]:[a,c,o,s],t)}},du=({children:t},e)=>t[fu(e)],fu=t=>t*2,cu=({children:t},e)=>t[GD(e)],GD=t=>t*2+1,hu=(t,e)=>t.children[ah(t,e)],ah=({children:t,nodemap:e,config:r},n)=>t.length-1-r.BitField.popcount(e,n),KD=(t,e)=>t!=null&&t===e,tO=t=>t.nodeArity===0&&t.dataArity===1,rO=({config:{BitField:t},datamap:e,nodemap:r})=>t.popcount(e)===0&&t.popcount(r)===1;var ch=_e(jb(),1);function nO(t){let e=new Array(4);for(let r=0;r<4;r++)e[r]=t&255,t=t>>8;return new Uint8Array(e)}var UJ=Do({name:"murmur3-32",code:35,encode:t=>nO(ch.default.x86.hash32(t))}),JD=Do({name:"murmur3-128",code:34,encode:t=>go.fromHex(ch.default.x64.hash128(t))}),na=Do({name:"murmur3-x64-64",code:34,encode:t=>go.fromHex(ch.default.x64.hash128(t)).subarray(0,8)});var oO=new TextEncoder,sO=t=>na.encode(t),QD=({bitWidth:t=8,hash:e=sO}={})=>{let r=e(new Uint8Array).byteLength;return{from:s=>e(oO.encode(s)),at:(s,i)=>{let a=i*t;if(a>r)throw new RangeError("Out of bounds");return Gb(s,a,t)},size:Math.ceil(r*8/t)}},Gb=(t,e,r)=>{let n=e/8|0,o=e%8,s=r,i=0;for(;s>0&&n<t.byteLength;){let a=t[n],c=8-o,u=c<s?c:s,l=8-o-u,p=(255>>o&a)>>l;i=(i<<u)+p,s-=u,n++,o=0}return i};var Kb={};M(Kb,{API:()=>th,and:()=>yO,empty:()=>XD,from:()=>aO,fromBytes:()=>hO,get:()=>dO,or:()=>mO,popcount:()=>pO,set:()=>uO,size:()=>cO,toBytes:()=>fO,unset:()=>lO});var XD=(t=256)=>{if(t%8!==0)throw new Error("Must be multiple of 8");return new Uint8Array(t/8)},aO=(t,e)=>{let r=XD(e);for(let n of t){let{byte:o,byteOffset:s,bitOffset:i}=pu(r,n);r[s]=o|1<<i}return r},cO=t=>t.byteLength*8,pu=(t,e)=>{let r=t.byteLength-1-(e/8|0),n=e%8;return{byte:t[r],byteOffset:r,bitOffset:n}},YD=(t,e,r)=>{if(t[e]!==r){let n=t.slice(0);return n[e]=r,n}return t},uO=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=pu(t,e);return YD(t,n,r|1<<o)},lO=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=pu(t,e);return YD(t,n,r&(255^1<<o))},dO=(t,e)=>{var{byte:r,bitOffset:n}=pu(t,e);return(r>>n&1)!==0},fO=t=>t,hO=t=>t,pO=(t,e=t.byteLength*8)=>{let{byteOffset:r,bitOffset:n,byte:o}=pu(t,e),s=zb(o,n),i=t.byteLength-1;for(;i>r;){let a=t[i];s+=rh(a),i--}return s},mO=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]|=e[n],n++;return r},yO=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]&=e[n],n++;return r};var eT=new RangeError("Not Found");var gO=({bitWidth:t=5,BitField:e=t===5?nh:Kb,Path:r=t===5?$D({bitWidth:t}):QD({bitWidth:t})}={})=>({bitWidth:t,BitField:e,Path:r}),tT=(t,e)=>{let r=Qb(e);for(let[n,o]of t)r.set(n,o);return r.build()},Jb=(t,e)=>ih(t.root,e,eT)!==eT,rT=(t,e,r=void 0)=>ih(t.root,e,r),Qb=t=>{let e={},r=gO(t);return new uh(e,0,uu(r,e),r)},Zb=class t{constructor(e=0,r,n){this.count=e,this.root=r,this.config=n}get size(){return this.count}clone(){return new t(this.count,this.root,this.config)}empty(){return new t(0,uu(this.config,null),this.config)}has(e){return Jb(this,e)}get(e){return ih(this.root,e,void 0)}set(e,r){let n={value:!1},o=Hb(this.root,null,e,r,n);return o===this.root?this:new t(n.value?this.count+1:this.count,o,this.config)}delete(e){let r=Vb(this.root,null,e,{value:!1});return r===this.root?this:new t(this.count-1,r,this.config)}get bitField(){return this.config.BitField.or(this.root.datamap,this.root.nodemap)}[Symbol.iterator](){return this.entries()}entries(){return this.root.entries()}keys(){return this.root.keys()}values(){return this.root.values()}createBuilder(){return new uh({},this.count,this.root,this.config)}},uh=class{constructor(e,r,n,o){this.edit=e,this.count=r,this.root=n,this.config=o}get size(){if(this.edit)return this.count;throw new Error(".size was accessed on the finalized builder")}set(e,r){if(this.edit){let n={value:!1},o=Hb(this.root,this.edit,e,r,n);return this.root!==o&&(this.root=o),n.value&&(this.count+=1),this}else throw new Error(".set was called on the finalized builder")}delete(e){if(this.edit){if(this.count===0)return this;let r={value:!1},n=Vb(this.root,this.edit,e,r);return n!==this.root&&(this.root=n),r.value&&(this.count-=1),this}else throw new Error(".delete was called on the finalized builder")}build(){if(this.edit)return this.edit=null,new Zb(this.count,this.root,this.config);throw new Error(".build was called on the finalized builder")}};var wO=new TextEncoder,bO=t=>na.encode(t),oT=({bitWidth:t=8,hash:e=bO})=>{let r=e(new Uint8Array).byteLength,n={bitWidth:t,hash:e,hashSize:r};return{at:(i,a)=>xO(i,a,n),from:i=>wO.encode(i),size:1/0}},xO=(t,e=0,{bitWidth:r=8,hash:n,hashSize:o})=>{let s=o*8,i=0,a=r,c=r*e;for(;a>0;){let u=c/s>>0,l=n(u===0?t:kO(t,u)),d=s<=c?c%s:c,p=s-d,f=p<a?p:a;i=(i<<f)+Gb(l,d,f),a-=f,c+=f}return i},kO=(t,e)=>{let r=new Uint8Array(t.byteLength+1).fill(e,t.byteLength);return r.set(t),r};var sT=8,iT={bitWidth:sT,Path:oT({bitWidth:sT})},aT=t=>Math.pow(2,t.config.bitWidth);var Xb=(t=iT)=>Qb(t),cT=(t,e=iT)=>tT(t,e),uT=({datamap:t,nodemap:e,config:{BitField:r}})=>SO(r.toBytes(r.or(t,e))),SO=t=>{let e=0;for(;e<t.byteLength;){if(t[e]!==0)return t.subarray(e);e+=1}return t.subarray(e)},lT=function*(t){let{config:e,datamap:r,nodemap:n}=t,{BitField:o}=e,s=o.size(r),i=0,a=0;for(;i<s;){let c=i.toString(16).toUpperCase().padStart(2,"0");if(o.get(r,i)){let u=du(t,a);yield{prefix:c,key:u,value:cu(t,a)},a++}else o.get(n,i)&&(yield{prefix:c,node:hu(t,i)});i++}};function lh({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*_O(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],s=se.asCID(n);s?yield[o.join("/"),s]:typeof n=="object"&&(yield*Yb(n,o))}else{let r=se.asCID(e);r?yield[t.join("/"),r]:yield*Yb(e,t)}}function*Yb(t,e){if(t==null||t instanceof Uint8Array)return;let r=se.asCID(t);r&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let s=[...e,n];yield*_O(s,o)}}function*AO(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&!se.asCID(n)&&(yield*ex(n,o))}else yield*ex(e,t)}function*ex(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&!se.asCID(n)&&(yield*AO(o,n))}}function DO(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(i=>`[${JSON.stringify(i)}]`).join("")}`);let s=se.asCID(r);if(s)return{value:s,remaining:e.slice(n+1).join("/")}}return{value:r}}var Xt=class{constructor({cid:e,bytes:r,value:n}){if(!e||!r||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:lh(),bytes:lh(),value:lh(),asBlock:lh()})}links(){return Yb(this.value,[])}tree(){return ex(this.value,[])}get(e="/"){return DO(this.value,e.split("/").filter(Boolean))}};async function dh({value:t,codec:e,hasher:r}){if(typeof t>"u")throw new Error('Missing required argument "value"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.encode(t),o=await r.digest(n),s=se.create(1,e.code,o);return new Xt({value:t,bytes:n,cid:s})}async function fh({bytes:t,codec:e,hasher:r}){if(!t)throw new Error('Missing required argument "bytes"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.decode(t),o=await r.digest(t),s=se.create(1,e.code,o);return new Xt({value:n,bytes:t,cid:s})}var TO=cn,tx=({writer:t,settings:e=TO(),metadata:r={}})=>new hh({writer:t,metadata:r,settings:e,entries:new mu,closed:!1}),CO=t=>{if(t.closed)throw new Error("Can not change written HAMT directory, but you can .fork() and make changes to it");return t},dT=async(t,{closeWriter:e=!1,releaseLock:r=!1}={})=>{let{writer:n,settings:o,metadata:s}=CO(t.state);t.state.closed=!0;let{entries:i}=t.state;if(!(i instanceof mu))throw new Error(`not a HAMT: ${i}`);let a=i.builder.build(),c=fT(a,a.root,o),u=null;for await(let l of c)u=l,(n.desiredSize||0)<=0&&await n.ready,n.write(l);if(u==null)throw new Error("no root block yielded");return e?await n.close():r&&n.releaseLock(),{cid:u.cid,dagByteLength:eo(u.bytes,u.value.entries)}},fT=async function*(t,e,r){let n=[];for(let s of lT(e))if("key"in s)n.push({name:`${s.prefix??""}${s.key??""}`,dagByteLength:s.value.dagByteLength,cid:s.value.cid});else{let i=null;for await(let a of fT(t,s.node,r))yield a,i=a;if(i==null)throw new Error("no root block yielded");n.push({name:s.prefix,dagByteLength:eo(i.bytes,i.value.entries),cid:i.cid})}let o=hb(n,uT(e),aT(t),na.code);yield await IO(o,r)};async function IO(t,e){let r=Gf(t),n=await e.hasher.digest(r),o=e.linker.createLink(Jn,n);return new Xt({cid:o,bytes:r,value:t})}var hT=({state:t},{writer:e=t.writer,metadata:r=t.metadata,settings:n=t.settings}={})=>new hh({writer:e,metadata:r,settings:n,entries:new mu(cT(t.entries.entries()).createBuilder()),closed:!1}),hh=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.settings}set(e,r,n){return su(this,e,r,n)}remove(e){return iu(this,e)}fork(e){return hT(this,e)}close(e){return dT(this,e)}entries(){return this.state.entries.entries()}has(e){return this.state.entries.has(e)}get size(){return this.state.entries.size}},mu=class extends Map{constructor(e=Xb()){super(),this.builder=e}clear(){this.builder=Xb()}delete(e){let{root:r}=this.builder;return this.builder.delete(e),this.builder.root!==r}forEach(e,r=this){for(let[n,o]of this.builder.root.entries())e.call(r,o,n,this)}get(e){return rT(this.builder,e)}has(e){return Jb(this.builder,e)}set(e,r){return this.builder.set(e,r),this}get size(){return this.builder.size}[Symbol.iterator](){return this.builder.root.entries()}entries(){return this.builder.root.entries()}keys(){return this.builder.root.keys()}values(){return this.builder.root.values()}};var yu=({writable:t,settings:e=cn()})=>new rx({writer:t.getWriter(),settings:e}),BO=async(t,{releaseLock:e=!0,closeWriter:r=!0}={})=>(r?await t.writer.close():e&&t.writer.releaseLock(),t),rx=class{constructor({writer:e,settings:r}){this.writer=e,this.settings=Lr(r)}createFileWriter({settings:e=this.settings,metadata:r}={}){return ls({writer:this.writer,settings:e,metadata:r})}createDirectoryWriter({settings:e=this.settings,metadata:r}={}){return ou({writer:this.writer,settings:e,metadata:r})}close(e){return BO(this,e)}},PO=1048576,LO=PO*100,ph=(t=LO)=>({highWaterMark:t,size:e=>e.bytes.length});var UO=1e3,mT=ph(),yT=Lr({fileChunkEncoder:ii,smallFileEncoder:ii,chunker:ru(1024*1024),fileLayout:ta(1024)});function gT(t){let{readable:e,writable:r}=new TransformStream({},mT),n=yu({writable:r,settings:yT}),o=new mh("",t);return(async()=>(await o.finalize(n),await n.close()))(),e}var wu,mh=class{constructor(e,r){De(this,wu,void 0);this.name=e,Ce(this,wu,r)}async finalize(e){let r=ls(e);return await j(this,wu).stream().pipeTo(new WritableStream({async write(n){await r.write(n)}})),await r.close()}};wu=new WeakMap;var oa,gu=class{constructor(e,r){De(this,oa,void 0);w(this,"entries",new Map);this.name=e,Ce(this,oa,r)}async finalize(e){let r=this.entries.size<=UO?ou(e):tx(e);for(let[n,o]of this.entries){let s=await o.finalize(e);j(this,oa)?.onDirectoryEntryLink&&j(this,oa).onDirectoryEntryLink({name:o.name,...s}),r.set(n,s)}return await r.close()}};oa=new WeakMap;function wT(t,e){let r=new gu("",e);for(let i of t){let a=i.name.split("/");(a[0]===""||a[0]===".")&&a.shift();let c=r;for(let[u,l]of a.entries()){if(u===a.length-1){c.entries.set(l,new mh(a.join("/"),i));break}let d=c.entries.get(l);if(d==null){let p=c===r?l:`${c.name}/${l}`;d=new gu(p,e),c.entries.set(l,d)}if(!(d instanceof gu))throw new Error(`"${i.name}" cannot be a file and a directory`);c=d}}let{readable:n,writable:o}=new TransformStream({},mT),s=yu({writable:o,settings:yT});return(async()=>{let i=await r.finalize(s);e?.onDirectoryEntryLink&&e.onDirectoryEntryLink({name:"",...i}),await s.close()})(),n}async function yh(t,e){let r=kr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR header (zero length)");let n=await t.exactly(r,!0),o=Ge(n);if(!zl(o))throw new Error("Invalid CAR header format");if(o.version!==1&&o.version!==2||e!==void 0&&o.version!==e)throw new Error(`Invalid CAR version: ${o.version}${e!==void 0?` (expected ${e})`:""}`);let s=Array.isArray(o.roots);if(o.version===1&&!s||o.version===2&&s)throw new Error("Invalid CAR header format");if(o.version===1)return o;let i=Hl(await t.exactly(Wl,!0));t.seek(i.dataOffset-t.pos);let a=await yh(t,1);return Object.assign(a,i)}async function NO(t){let e=await t.exactly(2,!1);if(e[0]===Dn.SHA2_256&&e[1]===Dn.LENGTH){let i=await t.exactly(34,!0),a=kn(i);return se.create(0,Dn.DAG_PB,a)}let r=kr(await t.upTo(8),t);if(r!==1)throw new Error(`Unexpected CID version (${r})`);let n=kr(await t.upTo(8),t),o=await t.exactly(ql(await t.upTo(8)),!0),s=kn(o);return se.create(r,n,s)}async function bT(t){let e=t.pos,r=kr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR section (zero length)");r+=t.pos-e;let n=await NO(t),o=r-Number(t.pos-e);return{cid:n,length:r,blockLength:o}}async function OO(t){let{cid:e,blockLength:r}=await bT(t);return{bytes:await t.exactly(r,!0),cid:e}}async function $O(t){let e=t.pos,{cid:r,length:n,blockLength:o}=await bT(t),s={cid:r,length:n,blockLength:o,offset:e,blockOffset:t.pos};return t.seek(s.blockLength),s}function sa(t){let e=(async()=>{let r=await yh(t);if(r.version===2){let n=t.pos-r.dataOffset;t=FO(t,r.dataSize-n)}return r})();return{header:()=>e,async*blocks(){for(await e;(await t.upTo(8)).length>0;)yield await OO(t)},async*blocksIndex(){for(await e;(await t.upTo(8)).length>0;)yield await $O(t)}}}function ro(t){let e=0;return{async upTo(r){return t.subarray(e,e+Math.min(r,t.length-e))},async exactly(r,n=!1){if(r>t.length-e)throw new Error("Unexpected end of data");let o=t.subarray(e,e+r);return n&&(e+=r),o},seek(r){e+=r},get pos(){return e}}}function MO(t){let e=0,r=0,n=0,o=new Uint8Array(0),s=async i=>{r=o.length-n;let a=[o.subarray(n)];for(;r<i;){let u=await t();if(u==null)break;r<0?u.length>r&&a.push(u.subarray(-r)):a.push(u),r+=u.length}o=new Uint8Array(a.reduce((u,l)=>u+l.length,0));let c=0;for(let u of a)o.set(u,c),c+=u.length;n=0};return{async upTo(i){return o.length-n<i&&await s(i),o.subarray(n,n+Math.min(o.length-n,i))},async exactly(i,a=!1){if(o.length-n<i&&await s(i),o.length-n<i)throw new Error("Unexpected end of data");let c=o.subarray(n,n+i);return a&&(e+=i,n+=i),c},seek(i){e+=i,n+=i},get pos(){return e}}}function ia(t){let e=t[Symbol.asyncIterator]();async function r(){let n=await e.next();return n.done?null:n.value}return MO(r)}function FO(t,e){let r=0;return{async upTo(n){let o=await t.upTo(n);return o.length+r>e&&(o=o.subarray(0,e-r)),o},async exactly(n,o=!1){let s=await t.exactly(n,o);if(s.length+r>e)throw new Error("Unexpected end of data");return o&&(r+=n),s},seek(n){r+=n,t.seek(n)},get pos(){return t.pos}}}var ds=class{constructor(e,r){this._header=e,this._blocks=r,this._keys=r.map(n=>n.cid.toString())}get version(){return this._header.version}async getRoots(){return this._header.roots}async has(e){return this._keys.indexOf(e.toString())>-1}async get(e){let r=this._keys.indexOf(e.toString());return r>-1?this._blocks[r]:void 0}async*blocks(){for(let e of this._blocks)yield e}async*cids(){for(let e of this._blocks)yield e.cid}static async fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return xT(ro(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return xT(ia(e))}};async function xT(t){let e=sa(t),r=await e.header(),n=[];for await(let o of e.blocks())n.push(o);return new ds(r,n)}var bu=class{constructor(e,r,n){this._version=e,this._roots=r,this._iterator=n}get version(){return this._version}async getRoots(){return this._roots}[Symbol.asyncIterator](){return this._iterator}static async fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return kT(ro(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return kT(ia(e))}};async function kT(t){let e=sa(t),{version:r,roots:n}=await e.header();return new bu(r,n,e.blocksIndex())}var gh=class{constructor(e,r,n){this._version=e,this._roots=r,this._iterable=n,this._decoded=!1}get version(){return this._version}async getRoots(){return this._roots}},xu=class t extends gh{[Symbol.asyncIterator](){if(this._decoded)throw new Error("Cannot decode more than once");if(!this._iterable)throw new Error("Block iterable not found");return this._decoded=!0,this._iterable[Symbol.asyncIterator]()}static async fromBytes(e){let{version:r,roots:n,iterator:o}=await vT(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await ST(e);return new t(r,n,o)}},nx=class t extends gh{[Symbol.asyncIterator](){if(this._decoded)throw new Error("Cannot decode more than once");if(!this._iterable)throw new Error("Block iterable not found");this._decoded=!0;let e=this._iterable[Symbol.asyncIterator]();return{async next(){let r=await e.next();return r.done?r:{done:!1,value:r.value.cid}}}}static async fromBytes(e){let{version:r,roots:n,iterator:o}=await vT(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await ST(e);return new t(r,n,o)}};async function vT(t){if(!(t instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return ET(ro(t))}async function ST(t){if(!t||typeof t[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return ET(ia(t))}async function ET(t){let e=sa(t),{version:r,roots:n}=await e.header();return{version:r,roots:n,iterator:e.blocks()}}var ox=_e(jl(),1);function sx(t){let e=rr({version:1,roots:t}),r=ox.default.encode(e.length),n=new Uint8Array(r.length+e.length);return n.set(r,0),n.set(e,r.length),n}function _T(t){return{async setRoots(e){let r=sx(e);await t.write(r)},async writeBlock(e){let{cid:r,bytes:n}=e;await t.write(new Uint8Array(ox.default.encode(r.bytes.length+n.length))),await t.write(r.bytes),n.length&&await t.write(n)},async close(){await t.end()}}}function wh(){}function AT(){let t=[],e=null,r=wh,n=!1,o=null,s=wh,i=()=>(e||(e=new Promise(u=>{r=()=>{e=null,r=wh,u()}})),e),a={write(u){t.push(u);let l=i();return s(),l},async end(){n=!0;let u=i();s(),await u}},c={async next(){let u=t.shift();return u?(t.length===0&&r(),{done:!1,value:u}):n?(r(),{done:!0,value:void 0}):(o||(o=new Promise(l=>{s=()=>(o=null,s=wh,l(c.next()))})),o)}};return{writer:a,iterator:c}}var ku=class t{constructor(e,r){this._encoder=r,this._mutex=r.setRoots(e),this._ended=!1}async put(e){if(!(e.bytes instanceof Uint8Array)||!e.cid)throw new TypeError("Can only write {cid, bytes} objects");if(this._ended)throw new Error("Already closed");let r=se.asCID(e.cid);if(!r)throw new TypeError("Can only write {cid, bytes} objects");return this._mutex=this._mutex.then(()=>this._encoder.writeBlock({cid:r,bytes:e.bytes})),this._mutex}async close(){if(this._ended)throw new Error("Already closed");return await this._mutex,this._ended=!0,this._encoder.close()}static create(e){e=zO(e);let{encoder:r,iterator:n}=DT(),o=new t(e,r),s=new bh(n);return{writer:o,out:s}}static createAppender(){let{encoder:e,iterator:r}=DT();e.setRoots=()=>Promise.resolve();let n=new t([],e),o=new bh(r);return{writer:n,out:o}}static async updateRootsInBytes(e,r){let n=ro(e);await yh(n);let o=sx(r);if(Number(n.pos)!==o.length)throw new Error(`updateRoots() can only overwrite a header of the same length (old header is ${n.pos} bytes, new header is ${o.length} bytes)`);return e.set(o,0),e}},bh=class{constructor(e){this._iterator=e}[Symbol.asyncIterator](){if(this._iterating)throw new Error("Multiple iterator not supported");return this._iterating=!0,this._iterator}};function DT(){let t=AT(),{writer:e,iterator:r}=t;return{encoder:_T(e),iterator:r}}function zO(t){if(t===void 0)return[];if(!Array.isArray(t)){let r=se.asCID(t);if(!r)throw new TypeError("roots must be a single CID or an array of CIDs");return[r]}let e=[];for(let r of t){let n=se.asCID(r);if(!n)throw new TypeError("roots must be a single CID or an array of CIDs");e.push(n)}return e}async function kh(t,e){let{writer:r,out:n}=ku.create(e),o;(async()=>{try{for await(let a of t)await r.put(a)}catch(a){o=a}finally{await r.close()}})();let s=[];for await(let a of n)s.push(a);if(o!=null)throw o;let i=e!=null?[e]:[];return Object.assign(new Blob(s),{version:1,roots:i})}var xh=class extends ReadableStream{constructor(e){let r=null,n=()=>r||(r=xu.fromIterable(jO(e.stream())),r),o=null;super({async start(){o=(await n())[Symbol.asyncIterator]()},async pull(s){if(!o)throw new Error("missing blocks iterator");let{value:i,done:a}=await o.next();if(a)return s.close();s.enqueue(i)}}),this.getRoots=async()=>await(await n()).getRoots()}};function jO(t){return Symbol.asyncIterator in t?t:async function*(){let e=t.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)return;yield n}}finally{e.releaseLock()}}()}var $T=_e(CT(),1);var Su=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ax=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},IT=t=>globalThis.DOMException===void 0?new ax(t):new DOMException(t),BT=t=>{let e=t.reason===void 0?IT("This operation was aborted."):t.reason;return e instanceof Error?e:IT(e)};function cx(t,e,r,n){let o,s=new Promise((i,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){i(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(BT(c)),c.addEventListener("abort",()=>{a(BT(c))})}o=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{i(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new Su(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{i(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,o)}})()});return s.clear=()=>{clearTimeout(o),o=void 0},s}function ux(t,e,r){let n=0,o=t.length;for(;o>0;){let s=Math.trunc(o/2),i=n+s;r(t[i],e)<=0?(n=++i,o-=s+1):o=s}return n}var fs=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},un,Eu=class{constructor(){un.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&fs(this,un,"f")[this.size-1].priority>=r.priority){fs(this,un,"f").push(n);return}let o=ux(fs(this,un,"f"),n,(s,i)=>i.priority-s.priority);fs(this,un,"f").splice(o,0,n)}dequeue(){let e=fs(this,un,"f").shift();return e?.run}filter(e){return fs(this,un,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return fs(this,un,"f").length}};un=new WeakMap;var Oe=function(t,e,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(t,r):o?o.value=r:e.set(t,r),r},W=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},He,Au,Du,oo,Th,Tu,Sh,fr,_u,Ot,Eh,$t,Cu,no,_h,PT,LT,NT,UT,RT,Ah,lx,dx,Ch,OT,Dh,Ih=class extends Error{},hs=class extends $T.default{constructor(e){var r,n,o,s;if(super(),He.add(this),Au.set(this,void 0),Du.set(this,void 0),oo.set(this,0),Th.set(this,void 0),Tu.set(this,void 0),Sh.set(this,0),fr.set(this,void 0),_u.set(this,void 0),Ot.set(this,void 0),Eh.set(this,void 0),$t.set(this,0),Cu.set(this,void 0),no.set(this,void 0),_h.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Eu,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(o=e.interval)===null||o===void 0?void 0:o.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);Oe(this,Au,e.carryoverConcurrencyCount,"f"),Oe(this,Du,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Oe(this,Th,e.intervalCap,"f"),Oe(this,Tu,e.interval,"f"),Oe(this,Ot,new e.queueClass,"f"),Oe(this,Eh,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Oe(this,_h,e.throwOnTimeout===!0,"f"),Oe(this,no,e.autoStart===!1,"f")}get concurrency(){return W(this,Cu,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);Oe(this,Cu,e,"f"),W(this,He,"m",Ch).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:W(this,_h,"f"),...r},new Promise((n,o)=>{W(this,Ot,"f").enqueue(async()=>{var s,i,a;Oe(this,$t,(i=W(this,$t,"f"),i++,i),"f"),Oe(this,oo,(a=W(this,oo,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new Ih("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=cx(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,W(this,He,"m",OT).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Su&&!r.throwOnTimeout){n();return}o(c),this.emit("error",c)}finally{W(this,He,"m",NT).call(this)}},r),this.emit("add"),W(this,He,"m",Ah).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return W(this,no,"f")?(Oe(this,no,!1,"f"),W(this,He,"m",Ch).call(this),this):this}pause(){Oe(this,no,!0,"f")}clear(){Oe(this,Ot,new(W(this,Eh,"f")),"f")}async onEmpty(){W(this,Ot,"f").size!==0&&await W(this,He,"m",Dh).call(this,"empty")}async onSizeLessThan(e){W(this,Ot,"f").size<e||await W(this,He,"m",Dh).call(this,"next",()=>W(this,Ot,"f").size<e)}async onIdle(){W(this,$t,"f")===0&&W(this,Ot,"f").size===0||await W(this,He,"m",Dh).call(this,"idle")}get size(){return W(this,Ot,"f").size}sizeBy(e){return W(this,Ot,"f").filter(e).length}get pending(){return W(this,$t,"f")}get isPaused(){return W(this,no,"f")}};Au=new WeakMap,Du=new WeakMap,oo=new WeakMap,Th=new WeakMap,Tu=new WeakMap,Sh=new WeakMap,fr=new WeakMap,_u=new WeakMap,Ot=new WeakMap,Eh=new WeakMap,$t=new WeakMap,Cu=new WeakMap,no=new WeakMap,_h=new WeakMap,He=new WeakSet,PT=function(){return W(this,Du,"f")||W(this,oo,"f")<W(this,Th,"f")},LT=function(){return W(this,$t,"f")<W(this,Cu,"f")},NT=function(){var e;Oe(this,$t,(e=W(this,$t,"f"),e--,e),"f"),W(this,He,"m",Ah).call(this),this.emit("next")},UT=function(){W(this,He,"m",dx).call(this),W(this,He,"m",lx).call(this),Oe(this,_u,void 0,"f")},RT=function(){let e=Date.now();if(W(this,fr,"f")===void 0){let r=W(this,Sh,"f")-e;if(r<0)Oe(this,oo,W(this,Au,"f")?W(this,$t,"f"):0,"f");else return W(this,_u,"f")===void 0&&Oe(this,_u,setTimeout(()=>{W(this,He,"m",UT).call(this)},r),"f"),!0}return!1},Ah=function(){if(W(this,Ot,"f").size===0)return W(this,fr,"f")&&clearInterval(W(this,fr,"f")),Oe(this,fr,void 0,"f"),this.emit("empty"),W(this,$t,"f")===0&&this.emit("idle"),!1;if(!W(this,no,"f")){let e=!W(this,He,"a",RT);if(W(this,He,"a",PT)&&W(this,He,"a",LT)){let r=W(this,Ot,"f").dequeue();return r?(this.emit("active"),r(),e&&W(this,He,"m",lx).call(this),!0):!1}}return!1},lx=function(){W(this,Du,"f")||W(this,fr,"f")!==void 0||(Oe(this,fr,setInterval(()=>{W(this,He,"m",dx).call(this)},W(this,Tu,"f")),"f"),Oe(this,Sh,Date.now()+W(this,Tu,"f"),"f"))},dx=function(){W(this,oo,"f")===0&&W(this,$t,"f")===0&&W(this,fr,"f")&&(clearInterval(W(this,fr,"f")),Oe(this,fr,void 0,"f")),Oe(this,oo,W(this,Au,"f")?W(this,$t,"f"):0,"f"),W(this,He,"m",Ch).call(this)},Ch=function(){for(;W(this,He,"m",Ah).call(this););},OT=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Ih("The task was aborted."))},{once:!0})})},Dh=async function(e,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(e,o),n())};this.on(e,o)})};var VO=1024*1024*100,GO=3,Bh=class extends TransformStream{constructor(e={}){let r=e.shardSize??VO,n=[],o=null,s=0;super({async transform(i,a){o!=null&&(a.enqueue(await kh(o)),o=null),n.length&&s+i.bytes.length>r&&(o=n,n=[],s=0),n.push(i),s+=i.bytes.length},async flush(i){o!=null&&i.enqueue(await kh(o));let a=n.at(-1);a!=null&&i.enqueue(await kh(n,e.rootCID??a.cid))}})}},Ph=class extends TransformStream{constructor(e,r={}){let n=new hs({concurrency:r.concurrentRequests??GO}),o=new AbortController;super({async transform(s,i){n.add(async()=>{try{let a={...r,signal:o.signal},c=await Vw(e,s,a),{version:u,roots:l,size:d}=s;i.enqueue({version:u,roots:l,cid:c,size:d})}catch(a){i.error(a),o.abort(a)}},{signal:o.signal}).catch(a=>console.error(a)),await n.onSizeLessThan(1)},async flush(){await n.onIdle()}})}};async function MT(t,e,r={}){return await fx(t,gT(e),r)}async function FT(t,e,r={}){return await fx(t,wT(e,r),r)}async function zT(t,e,r={}){let n=new xh(e);return r.rootCID=r.rootCID??(await n.getRoots())[0],await fx(t,n,r)}async function fx(t,e,r={}){let n=[],o=null;if(await e.pipeThrough(new Bh(r)).pipeThrough(new Ph(t,r)).pipeTo(new WritableStream({write(s){o=o||s.roots[0],n.push(s.cid),r.onShardStored&&r.onShardStored(s)}})),!o)throw new Error("missing root CID");return await Gw(t,o,n,r),o}function jT(t,e){return e===void 0?C({}):t!==void 0&&e.endsWith("*")?t.startsWith(e.slice(0,-1))?C({}):ie(`${t} does not match ${e}`):t===e?C({}):ie(`${t} is different from ${e}`)}function de(t,e){return t.with===e.with?C({}):ie(`Can not derive ${t.can} with ${t.with} from ${e.with}`)}function Be(t,e,r){return e===void 0||e==="*"?C({}):String(t)===String(e)?C({}):ie(`Constrain violation: ${t} violates imposed ${r} constraint ${e}`)}var hx=(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):e.nb.link&&`${e.nb.link}`!=`${t.nb.link}`?ie(`Link ${t.nb.link?`${t.nb.link}`:""} violates imposed ${e.nb.link} constraint.`):C({}),aa=(t,e,r)=>Be(String(t),e===void 0?void 0:String(e),r),X=t=>t.error?t:void 0;var ZO=ee.match({method:"web"}),JO=ee.match({method:"mailto"}),WT=T({can:"provider/add",with:JO,nb:Ne({provider:ZO,consumer:ee.match({method:"key"})}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.provider,e.nb.provider,"provider"))||X(Be(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var hr={};M(hr,{Link:()=>he,Schema:()=>x,add:()=>ca,all:()=>XO,list:()=>la,remove:()=>ua,store:()=>px});var px=T({can:"store/*",with:V.match({protocol:"did:"}),derives:de}),ca=T({can:"store/add",with:V.match({protocol:"did:"}),nb:x.struct({link:he,size:x.integer(),origin:he.optional()}),derives:(t,e)=>{let r=hx(t,e);return r.error?r:t.nb.size!==void 0&&e.nb.size!==void 0?t.nb.size>e.nb.size?ie(`Size constraint violation: ${t.nb.size} > ${e.nb.size}`):C({}):C({})}}),ua=T({can:"store/remove",with:V.match({protocol:"did:"}),nb:x.struct({link:he}),derives:hx}),la=T({can:"store/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()}),derives:(t,e)=>t.with!==e.with?ie(`Expected 'with: "${e.with}"' instead got '${t.with}'`):C({})}),XO=ca.or(ua).or(la);var pr={};M(pr,{Link:()=>he,Schema:()=>x,add:()=>da,all:()=>e$,list:()=>ha,remove:()=>fa,upload:()=>mx});var mx=T({can:"upload/*",with:V.match({protocol:"did:"}),derives:de}),YO=he.match({code:Re.code,version:1}),da=T({can:"upload/add",with:V.match({protocol:"did:"}),nb:x.struct({root:he,shards:YO.array().optional()}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.root,e.nb.root,"root"))||X(Be(t.nb.shards,e.nb.shards,"shards"))||C({})}),fa=T({can:"upload/remove",with:V.match({protocol:"did:"}),nb:x.struct({root:he}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.root,e.nb.root,"root"))||C({})}),ha=T({can:"upload/list",with:V.match({protocol:"did:"}),nb:x.struct({cursor:x.string().optional(),size:x.integer().optional(),pre:x.boolean().optional()})}),e$=da.or(fa).or(ha);var Iu=T({can:"*",with:V.match({protocol:"did:"}),derives:de});var Lh=x.did({method:"key"}),HT=T({can:"space/*",with:Lh,derives:de}),qT=ca.or(la).or(ua).or(da).or(ha).or(fa).derive({to:T({can:"space/info",with:Lh}),derives:de}),VT=T({can:"space/recover-validation",with:Lh,nb:x.struct({identity:V.match({protocol:"mailto:"})})}),GT=T({can:"space/recover",with:x.did(),nb:x.struct({identity:V.match({protocol:"mailto:"})}),derives:(t,e)=>X(de(t,e))||X(jT(t.nb.identity,e.nb.identity))||C({})}),mX=T({can:"space/allocate",with:Lh,nb:x.struct({size:x.integer()}),derives:(t,e)=>{let r=de(t,e);return r.ok?t.nb.size<=e.nb.size?C({}):ie(`Claimed size ${t.nb.size} escalates delegated size ${e.nb.size}`):r}});var bX=ee.match({method:"key"}),KT=V.uri(),ZT=V.match({protocol:"mailto:"}),n$=ee.match({}),xX=T({can:"voucher/*",with:V.match({protocol:"did:"}),derives:de}),JT=T({can:"voucher/claim",with:V.match({protocol:"did:"}),nb:x.struct({product:KT,identity:ZT,service:n$.optional()}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.product,e.nb.product,"product"))||X(Be(t.nb.identity,e.nb.identity,"identity"))||X(Be(t.nb.service,e.nb.service,"service"))||C({})}),QT=T({can:"voucher/redeem",with:V.match({protocol:"did:"}),nb:x.struct({product:KT,identity:ZT,space:V.match({protocol:"did:"})}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.product,e.nb.product,"product"))||X(Be(t.nb.identity,e.nb.identity,"identity"))||X(Be(t.nb.space,e.nb.space,"account"))||C({})});var YT=ee.match({method:"mailto"}),eC=x.struct({can:x.string()}),s$=x.struct({iss:YT,att:eC.array()}),tC=T({can:"access/*",with:V.match({protocol:"did:"})}),rC=T({can:"access/authorize",with:ee.match({method:"key"}),nb:s$,derives:(t,e)=>X(de(t,e))||X(Be(t.nb.iss,e.nb.iss,"iss"))||X(oC(t.nb.att,e.nb.att))||C({})}),EX=T({can:"access/confirm",with:ee,nb:x.struct({iss:YT,aud:x.did(),att:eC.array()}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.iss,e.nb.iss,"iss"))||X(Be(t.nb.aud,e.nb.aud,"aud"))||X(oC(t.nb.att,e.nb.att))||C({})}),nC=T({can:"ucan/attest",with:V.match({protocol:"did:"}),nb:x.struct({proof:he})}),_X=T({can:"access/claim",with:ee.match({method:"key"}).or(ee.match({method:"mailto"}))}),AX=T({can:"access/delegate",with:ee.match({method:"key"}),nb:x.struct({delegations:x.dictionary({value:x.Link.match()})}),derives:(t,e)=>X(de(t,e))||X(i$(t,e))||C({})});function i$(t,e){let r=sC(XT(t),new Set(XT(e)));return r.size>0?ie(`unauthorized nb.delegations ${[...r].join(", ")}`):C({})}var oC=(t,e)=>{let r=new Set(e.map(o=>o.can));if(r.has("*"))return C({});let n=sC(t.map(o=>o.can),r);return n.size>0?ie(`unauthorized nb.att.can ${[...n].join(", ")}`):C({})};function*XT(t){for(let e of Object.values(t.nb.delegations||{}))yield e.toString()}function sC(t,e){let r=new Set;for(let n of t)e.has(n)||r.add(n);return r}var c$=ee.match({method:"web"}),u$=ee.match({method:"key"}),IX=T({can:"consumer/has",with:c$,nb:Ne({consumer:u$}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.consumer,e.nb.consumer,"consumer"))||C({})});var d$=ee.match({method:"web"}),f$=ee.match({method:"mailto"}),LX=T({can:"customer/get",with:d$,nb:Ne({customer:f$}),derives:(t,e)=>X(de(t,e))||X(Be(t.nb.customer,e.nb.customer,"customer"))||C({})});var NX=T({can:"console/log",with:x.did(),nb:x.struct({value:x.unknown()}),derives:de}),OX=T({can:"console/error",with:x.did(),nb:x.struct({error:x.unknown()}),derives:de});var iC=T({can:"offer/arrange",with:x.did(),nb:x.struct({pieceLink:x.link()}),derives:(t,e)=>X(de(t,e))||X(aa(t.nb.pieceLink,e.nb.pieceLink,"nb.pieceLink"))||C({})});var y$=4114,g$=61697,aC=T({can:"aggregate/offer",with:x.did(),nb:x.struct({offer:x.link(),piece:x.struct({link:x.link({code:g$,version:1,multihash:{code:y$}}),size:x.integer()})}),derives:(t,e)=>X(de(t,e))||X(aa(t.nb.offer,e.nb.offer,"nb.offer"))||X(aa(t.nb.piece.link,e.nb.piece.link,"nb.piece.link"))||X(Be(t.nb.piece.size,e.nb.piece.size,"nb.piece.size"))||C({})}),cC=T({can:"aggregate/get",with:x.did(),nb:x.struct({subject:x.link()}),derives:(t,e)=>X(de(t,e))||X(aa(t.nb.subject,e.nb.subject,"nb.subject"))||C({})});var jX=[Iu.can,WT.can,HT.can,qT.can,GT.can,VT.can,mx.can,da.can,fa.can,ha.can,px.can,ca.can,ua.can,la.can,JT.can,QT.can,tC.can,rC.can,nC.can,aC.can,cC.can,iC.can];var b$=new TextEncoder,x$=new TextDecoder,uC=t=>b$.encode(t),lC=t=>x$.decode(t);var dC="did:",v$=dC.length,fC="did:key:",S$=fC.length,E$=237,_$=4613,A$=4608,D$=4609,T$=4610;var wx=3357,yx=Y.encodingLength(wx),Pu=t=>{if(t.startsWith(dC))if(t.startsWith(fC)){let e=Le.decode(t.slice(S$));return C$(e)}else{let e=uC(t.slice(v$)),r=new Uint8Array(e.byteLength+yx);return Y.encodeTo(wx,r),r.set(e,yx),new Bu(r)}else throw new RangeError(`Invalid DID "${t}", must start with 'did:'`)};var C$=t=>{let[e]=Y.decode(t),{buffer:r,byteOffset:n,byteLength:o}=t;switch(e){case A$:if(t.length>35)throw new RangeError("Only p256-pub compressed is supported.");case E$:case _$:case D$:case T$:return new gx(r,n,o);case wx:return new Bu(r,n,o);default:throw new RangeError(`Unsupported DID encoding, unknown multicode 0x${e.toString(16)}.`)}};var Bu=class extends Uint8Array{did(){let e=new Uint8Array(this.buffer,this.byteOffset+yx);return`did:${lC(e)}`}toJSON(){return this.did()}},gx=class extends Bu{did(){return`did:key:${Le.encode(this)}`}};var I$=new URL("https://up.web3.storage"),B$=Pu("did:web:web3.storage"),P$=No({id:B$,codec:ir.outbound,channel:Pn.open({url:I$,method:"POST"})}),L$=new URL("https://up.web3.storage"),U$=Pu("did:web:web3.storage"),R$=No({id:U$,codec:ir.outbound,channel:Pn.open({url:L$,method:"POST"})}),pC={access:P$,upload:R$};var Yt=class{constructor(e,r={}){w(this,"_agent");w(this,"_serviceConf");this._serviceConf=r.serviceConf??pC,this._agent=new gf(e,{servicePrincipal:this._serviceConf.access.id,url:this._serviceConf.access.channel.url,connection:this._serviceConf.access})}async _invocationConfig(e){let r=this._agent.currentSpace();if(!r)throw new Error("missing current space: use createSpace() or setCurrentSpace()");let n=this._agent.issuer,o=await this._agent.proofs(e.map(i=>({can:i,with:r}))),s=this._serviceConf.upload.id;return{issuer:n,with:r,proofs:o,audience:s}}};var Lu,ps,ms=class{constructor(e,r={}){De(this,Lu,void 0);De(this,ps,void 0);Ce(this,Lu,e),Ce(this,ps,r)}name(){return j(this,ps).name}did(){return j(this,Lu)}registered(){return!!j(this,ps).isRegistered}meta(){return j(this,ps)}};Lu=new WeakMap,ps=new WeakMap;var Ru,Uu=class extends Gt{constructor(r,n,o={}){super(r,n);De(this,Ru,void 0);Ce(this,Ru,o)}meta(){return j(this,Ru)}};Ru=new WeakMap;var Uh=class extends Yt{async add(e,r={}){let n=await this._invocationConfig([hr.add.can]);return r.connection=this._serviceConf.upload,ji.add(n,e,r)}async list(e={}){let r=await this._invocationConfig([hr.add.can]);return e.connection=this._serviceConf.upload,ji.list(r,e)}async remove(e,r={}){let n=await this._invocationConfig([hr.remove.can]);return r.connection=this._serviceConf.upload,ji.remove(n,e,r)}};var Rh=class extends Yt{async add(e,r,n={}){let o=await this._invocationConfig([pr.add.can]);return n.connection=this._serviceConf.upload,Wi.add(o,e,r,n)}async list(e={}){let r=await this._invocationConfig([pr.list.can]);return e.connection=this._serviceConf.upload,Wi.list(r,e)}async remove(e,r={}){let n=await this._invocationConfig([pr.remove.can]);return r.connection=this._serviceConf.upload,Wi.remove(n,e,r)}};var Nh=class extends Yt{async info(e){return await this._agent.getSpaceInfo(e)}};var Oh=class extends Yt{async authorize(e,r){return p2(this._agent,e,r)}async claim(){return Uw(this._agent,this._agent.issuer.did(),{addProofs:!0})}};var Nu=class extends Yt{constructor(e,r){super(e,r),this.capability={access:new Oh(e,r),store:new Uh(e,r),upload:new Rh(e,r),space:new Nh(e,r)}}async authorize(e,r){await this.capability.access.authorize(e,r)}async uploadFile(e,r={}){let n=await this._invocationConfig([hr.add.can,pr.add.can]);return r.connection=this._serviceConf.upload,MT(n,e,r)}async uploadDirectory(e,r={}){let n=await this._invocationConfig([hr.add.can,pr.add.can]);return r.connection=this._serviceConf.upload,FT(n,e,r)}async uploadCAR(e,r={}){let n=await this._invocationConfig([hr.add.can,pr.add.can]);return r.connection=this._serviceConf.upload,zT(n,e,r)}defaultProvider(){return this._agent.connection.id.did()}agent(){return this._agent.issuer}currentSpace(){let e=this._agent.currentSpace();return e?new ms(e,this._agent.spaces.get(e)):void 0}async setCurrentSpace(e){await this._agent.setCurrentSpace(e)}spaces(){return[...this._agent.spaces].map(([e,r])=>new ms(e,r))}async createSpace(e){let{did:r,meta:n}=await this._agent.createSpace(e);return new ms(r,n)}async registerSpace(e,r={}){r.provider=r.provider??this.defaultProvider(),await this._agent.registerSpace(e,r)}async addSpace(e){let{did:r,meta:n}=await this._agent.importSpaceFromDelegation(e);return new ms(r,n)}proofs(e){return this._agent.proofs(e)}async addProof(e){await this._agent.addProof(e)}delegations(e){let r=[];for(let{delegation:n,meta:o}of this._agent.delegationsWithMeta(e))r.push(new Uu(n.root,n.blocks,o));return r}async createDelegation(e,r,n={}){let o=n.audienceMeta??{name:"agent",type:"device"},{root:s,blocks:i}=await this._agent.delegate({...n,abilities:r,audience:e,audienceMeta:o});return new Uu(s,i,{audience:o})}};async function mC(t={}){let e=t.store??new kf("w3up-client"),r=await e.load();if(r){let s=Gn.fromExport(r,{store:e});if(t.principal&&s.principal.did()!==t.principal.did())throw new Error(`store cannot be used with ${t.principal.did()}, stored principal and passed principal must match`);return new Nu(s,t)}let n=t.principal??await Sw(),o=await Gn.create({principal:n},{store:e});return new Nu(o,t)}var Ou={};M(Ou,{Delegation:()=>io,View:()=>io,allows:()=>j$,create:()=>kx,delegate:()=>xs,exportDAG:()=>xx,importDAG:()=>H$,isDelegation:()=>bs,isLink:()=>z$,view:()=>vx});var ln={};M(ln,{code:()=>Ct,contentType:()=>O$,decode:()=>Ge,encode:()=>ys,link:()=>yC,name:()=>Ka,write:()=>$$});var O$="application/vnd.ipld.dag-cbor",$h=(t,e)=>{if(e.has(t))throw new TypeError("Can not encode circular structure");if(t===void 0&&e.size===0||t===null||typeof t=="symbol"&&e.size===0)return null;if(ke(t)||ArrayBuffer.isView(t))return t;if(Array.isArray(t)){e.add(t);let r=[];for(let n of t)r.push(n===void 0||typeof n=="symbol"?null:$h(n,e));return r}if(typeof t.toJSON=="function"){e.add(t);let r=t.toJSON();return $h(r,e)}if(typeof t=="object"){e.add(t);let r={};for(let[n,o]of Object.entries(t))o!==void 0&&typeof o!="symbol"&&(r[n]=$h(o,e));return r}return t},ys=t=>rr($h(t,new Set)),yC=async(t,{hasher:e=ue}={})=>Fe(Ct,await e.digest(t)),$$=async(t,e)=>{let r=ys(t);return{cid:await yC(r,e),bytes:r}};var gs=function*(t){t&&typeof t=="object"&&"iterateIPLDBlocks"in t&&typeof t.iterateIPLDBlocks=="function"&&(yield*t.iterateIPLDBlocks())},gC=(t=[])=>{let e=new Map;return Fh(t,e),e},M$=So.code,so=(t,e,r)=>{if(t.multihash.code===M$)return{cid:t,bytes:t.multihash.digest};let n=e.get(`${t}`);return n||(r===void 0?ws(t):r)};var ws=t=>{throw new Error(`Block for the ${t} is not found`)},Mh=async(t,e,r={})=>{let n=r.codec||ln,o=r.hasher||ue,s=n.encode(t),i=await o.digest(s),a=Fe(n.code,i);return e.set(a.toString(),{bytes:s,cid:a}),{bytes:s,cid:a,data:t}},F$=({cid:t,bytes:e},r)=>(r.set(t.toString(),{bytes:e,cid:t}),{bytes:e,cid:t}),Fh=(t,e)=>{for(let r of t)F$(r,e)};var z$=ke,bs=t=>!ke(t),j$=(...t)=>{let e={};for(let r of t)for(let{with:n,can:o,nb:s}of wC(r)){let i=e[n]||(e[n]={});(i[o]||(i[o]=[])).push({...s})}return e},wC=function*({issuer:t,capabilities:e,proofs:r}){for(let n of e)if(n.with==="ucan:*"){yield{...n,with:t.did()};for(let o of r)if(bs(o))for(let s of wC(o)){let i=W$(s.can,n.can);i&&(yield{...s,can:i,nb:{...s.nb,...Object(n.nb)}})}}else yield n},W$=(t,e)=>t==="*"?e:e==="*"||e.endsWith("/*")&&t.startsWith(e.slice(0,-1))?t:t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:t===e?t:null,io=class{constructor(e,r=new Map){this.root=e,this.blocks=r,Object.defineProperties(this,{blocks:{enumerable:!1}})}get attachedLinks(){let e=new Set,r=this.data;for(let n of r.capabilities){let o=V$(n);for(let s of o)e.add(`${s}`)}for(let n of r.facts)if(ke(n))e.add(`${n}`);else{let o=Object.values(n).filter(s=>ke(s));for(let s of o)e.add(`${s}`)}return e}get version(){return this.data.version}get signature(){return this.data.signature}get cid(){return this.root.cid}link(){return this.root.cid}get asCID(){return this.cid}get bytes(){return this.root.bytes}get data(){let e=zh(this.root);return Object.defineProperties(this,{data:{value:e,enumerable:!1}}),e}attach(e){if(!this.attachedLinks.has(`${e.cid.link()}`))throw new Error(`given block with ${e.cid} is not an attached link`);this.blocks.set(`${e.cid}`,e)}export(){return xx(this.root,this.blocks,this.attachedLinks)}iterateIPLDBlocks(){return xx(this.root,this.blocks,this.attachedLinks)}get proofs(){return q$(this)}get issuer(){return this.data.issuer}get audience(){return this.data.audience}get capabilities(){return this.data.capabilities}get expiration(){return this.data.expiration}get notBefore(){return this.data.notBefore}get nonce(){return this.data.nonce}get facts(){return this.data.facts}iterate(){return bC(this)}delegate(){return this}buildIPLDView(){return this}toJSON(){return{...this.data.toJSON(),"/":this.cid.toString(),prf:this.proofs.map(e=>bs(e)?e:{"/":e.toString()})}}},bC=function*(t){for(let e of t.proofs)bs(e)&&(yield*bC(e),yield e)},bx=new WeakMap,zh=({bytes:t})=>{let e=bx.get(t);if(!e){let r=Nl(t);return bx.set(t,r),r}return e},xs=async({issuer:t,audience:e,proofs:r=[],attachedBlocks:n=new Map,...o},s)=>{let i=[],a=new Map;for(let p of r)if(!bs(p))i.push(p);else{i.push(p.cid);for(let f of p.export())a.set(f.cid.toString(),f)}let c=await pi({...o,issuer:t,audience:e,proofs:i}),{cid:u,bytes:l}=await Ol(c,s);bx.set(u,c);let d=new io({cid:u,bytes:l},a);Object.defineProperties(d,{proofs:{value:r}});for(let p of n.values())d.attach(p);return d},xx=function*(t,e,r){for(let n of zh(t).proofs){let o=e.get(`${n}`);o&&(yield*xC(o,e))}for(let n of r.values()){let o=e.get(n);o&&(yield o)}yield t},xC=function*(t,e){for(let r of zh(t).proofs){let n=e.get(`${r}`);n&&(yield*xC(n,e))}yield t},H$=t=>{let e=[];for(let n of t)e.push([n.cid.toString(),n]);let r=e.pop();if(r){let[,n]=r;return new io(n,new Map(e))}else throw new RangeError("Empty DAG can not be turned into a delegation")},kx=({root:t,blocks:e})=>new io(t,e),vx=({root:t,blocks:e},r)=>{let n=so(t,e,null);return n?kx({root:n,blocks:e}):r},q$=t=>{let e=[],{root:r,blocks:n}=t;for(let o of zh(r).proofs){let s=n.get(o.toString());e.push(s?kx({root:s,blocks:n}):o)}return Object.defineProperty(t,"proofs",{value:e}),e};function V$(t){let e=[];function r(n){for(let o in n){let s=n[o];ke(s)?e.push(s):s&&typeof s=="object"&&r(s)}}return r(t),e}var ks={};M(ks,{Invocation:()=>jh,create:()=>kC,invoke:()=>$u,view:()=>Ex});var $u=t=>new Sx(t),kC=({root:t,blocks:e})=>new jh(t,e),Ex=({root:t,blocks:e},r)=>{let n=so(t,e,null);return n==null?r!==void 0?r:ws(t):kC({root:n,blocks:e})},Sx=class{constructor({issuer:e,audience:r,capability:n,proofs:o=[],expiration:s,lifetimeInSeconds:i,notBefore:a,nonce:c,facts:u=[]}){this.issuer=e,this.audience=r,this.proofs=o,this.capabilities=[n],this.expiration=s,this.lifetimeInSeconds=i,this.notBefore=a,this.nonce=c,this.facts=u,this.attachedBlocks=new Map}attach(e){this.attachedBlocks.set(`${e.cid}`,e)}delegate(){return xs(this)}buildIPLDView(){return xs(this)}async execute(e){let r=this,[n]=await e.execute(r);return n}},jh=class extends io{};var Ur={};M(Ur,{MessageSchema:()=>UC,build:()=>vM,view:()=>SM});var Mu={};M(Mu,{issue:()=>K$,view:()=>Hh});var Hh=({root:t,blocks:e},r)=>{let n=so(t,e,null);if(n==null)return r!==void 0?r:ws(t);let o=Ge(n.bytes);return new Wh({root:{...n,data:o},store:e})},Wh=class{constructor({root:e,store:r,ran:n,issuer:o,signature:s,proofs:i}){this.store=r,this.root=e,this._ran=n,this._signature=s,this._proofs=i,this._issuer=o}get ran(){let e=this._ran;if(e)return e;{let r=Ex({root:this.root.data.ocm.ran,blocks:this.store},this.root.data.ocm.ran);return this._ran=r,r}}get proofs(){let e=this._proofs;if(e)return e;{let{store:r,root:n}=this,{prf:o}=n.data.ocm,s=[];if(o)for(let i of o){let a=vx({root:i,blocks:r},i);s.push(a)}return this._proofs=s,s}}get meta(){return this.root.data.ocm.meta}get issuer(){let e=this._issuer;if(e)return e;{let{iss:r}=this.root.data.ocm;if(r){let n=Ue(r);return this._issuer=n,n}}}get out(){return this.root.data.ocm.out}get fx(){return this.root.data.ocm.fx}get signature(){let e=this._signature;if(e)return e;{let r=li(this.root.data.sig);return this._signature=r,r}}verifySignature(e){return this.signature.verify(e,ys(this.root.data.ocm))}buildIPLDView(){return this}*iterateIPLDBlocks(){let{ran:e,fx:r,proofs:n,root:o}=this;yield*gs(e);for(let s of r.fork)yield*gs(s);r.join&&(yield*gs(r.join));for(let s of n)yield*gs(s);yield o}},_x=class{constructor({issuer:e,result:r,ran:n,fx:o=G$,proofs:s=[],meta:i={}}){this.issuer=e,this.result=r,this.ran=n,this.fx=o,this.proofs=s,this.meta=i}async buildIPLDView({hasher:e=ue,codec:r=ln}={}){let n=gC();Fh(gs(this.ran),n);for(let c of this.proofs)Fh(gs(c),n);let o={ran:this.ran.link(),out:this.result,fx:this.fx,meta:this.meta,iss:this.issuer.did(),prf:this.proofs.map(c=>c.link())},s=await this.issuer.sign(ys(o)),a=await Mh({ocm:o,sig:s},n,{hasher:e,codec:r});return new Wh({root:a,store:n,signature:s,proofs:this.proofs,ran:this.ran})}},G$=Object.freeze({fork:Object.freeze([])}),K$=t=>new _x(t).buildIPLDView();var ct={};M(ct,{API:()=>me,DID:()=>i0,Link:()=>Fu,Text:()=>u0,URI:()=>St,and:()=>DC,array:()=>EC,boolean:()=>tM,dictionary:()=>t0,did:()=>sp,endsWith:()=>BC,enum:()=>X$,error:()=>$e,float:()=>cM,greaterThan:()=>CC,integer:()=>sM,intersection:()=>AC,lessThan:()=>TC,link:()=>Ss,literal:()=>Kh,memberError:()=>vs,never:()=>Z$,nullable:()=>SC,number:()=>rM,ok:()=>qh,optional:()=>Qh,or:()=>_C,refine:()=>PC,startsWith:()=>IC,string:()=>fn,struct:()=>Xh,text:()=>ip,tuple:()=>Q$,typeError:()=>vt,unknown:()=>J$,uri:()=>s0,variant:()=>n0});var St={};M(St,{from:()=>hM,match:()=>s0,read:()=>fM,uri:()=>dM});var qh=t=>{if(t==null)throw new TypeError(`ok(${t}) is not allowed, consider ok({}) instead`);return{ok:t}};var vC=t=>{throw new mr(t)};var mr=class extends Error{describe(){return this.toString()}get message(){return this.describe()}toJSON(){let{name:e,message:r,stack:n}=this;return{name:e,message:r,stack:n}}};var me=class{constructor(e){this.settings=e}toString(){return`new ${this.constructor.name}()`}readWith(e,r){throw new Error("Abstract method readWith must be implemented by subclass")}read(e){return this.readWith(e,this.settings)}is(e){return!this.read(e)?.error}from(e){let r=this.read(e);if(r.error)throw r.error;return r.ok}optional(){return Qh(this)}nullable(){return SC(this)}array(){return EC(this)}or(e){return _C(this,e)}and(e){return DC(this,e)}refine(e){return PC(this,e)}brand(e){return this}default(e){let r=this.from(e);if(r===void 0)throw new Error("Value of type undefined is not a valid default");return new Ix({reader:this,value:r})}},Ax=class extends me{toString(){return"never()"}read(e){return vt({expect:"never",actual:e})}},Z$=()=>new Ax,Dx=class extends me{read(e){return{ok:e}}toString(){return"unknown()"}},J$=()=>new Dx,Tx=class extends me{readWith(e,r){let n=r.read(e);return n.error?e===null?{ok:null}:{error:new Jh({causes:[n.error,vt({expect:"null",actual:e}).error]})}:n}toString(){return`${this.settings}.nullable()`}},SC=t=>new Tx(t),Cx=class extends me{optional(){return this}readWith(e,r){let n=r.read(e);return n.error&&e===void 0?{ok:void 0}:n}toString(){return`${this.settings}.optional()`}},Ix=class extends me{optional(){return this}readWith(e,{reader:r,value:n}){if(e===void 0)return{ok:n};{let o=r.read(e);return o.error||o.ok!==void 0?o:{ok:n}}}toString(){return`${this.settings.reader}.default(${JSON.stringify(this.settings.value)})`}get value(){return this.settings.value}},Qh=t=>new Cx(t),Bx=class extends me{readWith(e,r){if(!Array.isArray(e))return vt({expect:"array",actual:e});let n=[];for(let[o,s]of e.entries()){let i=r.read(s);if(i.error)return vs({at:o,cause:i.error});n.push(i.ok)}return{ok:n}}get element(){return this.settings}toString(){return`array(${this.element})`}},EC=t=>new Bx(t),Px=class extends me{readWith(e,r){if(!Array.isArray(e))return vt({expect:"array",actual:e});if(e.length!==this.shape.length)return $e(`Array must contain exactly ${this.shape.length} elements`);let n=[];for(let[o,s]of r.entries()){let i=s.read(e[o]);if(i.error)return vs({at:o,cause:i.error});n[o]=i.ok}return{ok:n}}get shape(){return this.settings}toString(){return`tuple([${this.shape.map(e=>e.toString()).join(", ")}])`}},Q$=t=>new Px(t),Lx=class t extends me{readWith(e,{key:r,value:n}){if(typeof e!="object"||e===null||Array.isArray(e))return vt({expect:"dictionary",actual:e});let o={};for(let[s,i]of Object.entries(e)){let a=r.read(s);if(a.error)return vs({at:s,cause:a.error});let c=n.read(i);if(c.error)return vs({at:s,cause:c.error});c.ok!==void 0&&(o[a.ok]=c.ok)}return{ok:o}}get key(){return this.settings.key}get value(){return this.settings.value}partial(){let{key:e,value:r}=this.settings;return new t({key:e,value:Qh(r)})}toString(){return`dictionary(${this.settings})`}},t0=({value:t,key:e})=>new Lx({value:t,key:e||fn()}),Ux=class extends me{readWith(e,{variants:r,type:n}){return r.has(e)?{ok:e}:vt({expect:n,actual:e})}toString(){return this.settings.type}},X$=t=>new Ux({type:t.join("|"),variants:new Set(t)});var Rx=class extends me{readWith(e,r){let n=[];for(let o of r){let s=o.read(e);if(s.error)n.push(s.error);else return s}return{error:new Jh({causes:n})}}get variants(){return this.settings}toString(){return`union([${this.variants.map(e=>e.toString()).join(", ")}])`}},Y$=t=>new Rx(t),_C=(t,e)=>Y$([t,e]),Nx=class extends me{readWith(e,r){let n=[];for(let o of r){let s=o.read(e);s.error&&n.push(s.error)}return n.length>0?{error:new e0({causes:n})}:{ok:e}}toString(){return`intersection([${this.settings.map(e=>e.toString()).join(",")}])`}},AC=t=>new Nx(t),DC=(t,e)=>AC([t,e]),Ox=class extends me{readWith(e){switch(e){case!0:case!1:return{ok:e};default:return vt({expect:"boolean",actual:e})}}toString(){return"boolean()"}},eM=new Ox,tM=()=>eM,Vh=class extends me{greaterThan(e){return this.refine(CC(e))}lessThan(e){return this.refine(TC(e))}refine(e){return new Mx({base:this,schema:e})}},$x=class extends Vh{readWith(e){return typeof e=="number"?{ok:e}:vt({expect:"number",actual:e})}toString(){return"number()"}},r0=new $x,rM=()=>r0,Mx=class extends Vh{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},Fx=class extends me{readWith(e,r){return e<r?{ok:e}:$e(`Expected ${e} < ${r}`)}toString(){return`lessThan(${this.settings})`}},TC=t=>new Fx(t),zx=class extends me{readWith(e,r){return e>r?{ok:e}:$e(`Expected ${e} > ${r}`)}toString(){return`greaterThan(${this.settings})`}},CC=t=>new zx(t),nM={read(t){return Number.isInteger(t)?{ok:t}:vt({expect:"integer",actual:t})},toString(){return"Integer"}},oM=r0.refine(nM),sM=()=>oM,iM={read(t){return Number.isFinite(t)?{ok:t}:vt({expect:"Float",actual:t})},toString(){return"Float"}},aM=r0.refine(iM),cM=()=>aM,Gh=class extends me{refine(e){let r=e;return new jx({base:this,schema:r})}startsWith(e){return this.refine(IC(e))}endsWith(e){return this.refine(BC(e))}toString(){return"string()"}},jx=class extends Gh{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},Wx=class extends Gh{readWith(e){return typeof e=="string"?{ok:e}:vt({expect:"string",actual:e})}},uM=new Wx,fn=()=>uM,Hx=class extends me{readWith(e,r){return e.startsWith(r)?{ok:e}:$e(`Expect string to start with "${r}" instead got "${e}"`)}get prefix(){return this.settings}toString(){return`startsWith("${this.prefix}")`}},IC=t=>new Hx(t),qx=class extends me{readWith(e,r){return e.endsWith(r)?{ok:e}:$e(`Expect string to end with "${r}" instead got "${e}"`)}get suffix(){return this.settings}toString(){return`endsWith("${this.suffix}")`}},BC=t=>new qx(t),Vx=class extends me{readWith(e,{base:r,schema:n}){let o=r.read(e);return o.error?o:n.read(o.ok)}toString(){return`${this.settings.base}.refine(${this.settings.schema})`}},PC=(t,e)=>new Vx({base:t,schema:e}),Gx=class extends me{readWith(e,r){return e!==r?{error:new Qx({expect:r,actual:e})}:{ok:r}}get value(){return this.settings}default(e=this.value){return super.default(e)}toString(){return`literal(${Zh(this.value)})`}},Kh=t=>new Gx(t),Kx=class t extends me{readWith(e,r){if(typeof e!="object"||e===null||Array.isArray(e))return vt({expect:"object",actual:e});let n=e,o={},s=Object.entries(r);for(let[i,a]of s){let c=a.read(n[i]);if(c.error)return vs({at:i,cause:c.error});c.ok!==void 0&&(o[i]=c.ok)}return{ok:o}}partial(){return new t(Object.fromEntries(Object.entries(this.shape).map(([e,r])=>[e,Qh(r)])))}get shape(){return this.settings}toString(){return["struct({ ",...Object.entries(this.shape).map(([e,r])=>`${e}: ${r}, `),"})"].join("")}create(e){return this.from(e||{})}extend(e){return new t({...this.shape,...e})}},Xh=t=>{let e={},r=Object.entries(t);for(let[n,o]of r)switch(typeof o){case"number":case"string":case"boolean":e[n]=Kh(o);break;case"object":e[n]=o===null?Kh(null):o;break;default:throw new Error(`Invalid struct field "${n}", expected schema or literal, instead got ${typeof o}`)}return new Kx(e)},Zx=class extends me{readWith(e,r){if(typeof e!="object"||e===null||Array.isArray(e))return vt({expect:"object",actual:e});let n=Object.keys(e),[o]=n.length===1?n:[],s=o?r[o]:void 0;if(s){let i=s.read(e[o]);return i.error?vs({at:o,cause:i.error}):{ok:{[o]:i.ok}}}else if(r._){let i=r._.read(e);return i.error?i:{ok:{_:i.ok}}}else return $e(o?`Expected an object with one of the these keys: ${Object.keys(r).sort().join(", ")} instead got object with key ${o}`:"Expected an object with a single key instead got object with keys "+n.sort().join(", "))}match(e,r){let n=this.read(e);if(n.error){if(r!==void 0)return[null,r];throw n.error}else{let[o]=Object.keys(n.ok),s=n.ok[o];return[o,s]}}create(e){return this.from(e)}},n0=t=>new Zx(t),$e=t=>({error:new dn(t)}),dn=class extends mr{get name(){return"SchemaError"}describe(){return this.name}},Jx=class extends dn{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"TypeError"}describe(){return`Expected value of type ${this.expect} instead got ${Zh(this.actual)}`}},vt=t=>({error:new Jx(t)}),Zh=t=>{let e=typeof t;switch(e){case"boolean":case"string":return JSON.stringify(t);case"bigint":return`${t}n`;case"number":case"symbol":case"undefined":return String(t);case"object":return t===null?"null":Array.isArray(t)?"array":"object";default:return e}},Qx=class extends dn{constructor({expect:e,actual:r}){super(),this.expect=e,this.actual=r}get name(){return"LiteralError"}describe(){return`Expected literal ${Zh(this.expect)} instead got ${Zh(this.actual)}`}},Xx=class extends dn{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"ElementError"}describe(){return[`Array contains invalid element at ${this.at}:`,Yh(this.cause.message)].join(`
|
15
|
-
`)}},Yx=class extends dn{constructor({at:e,cause:r}){super(),this.at=e,this.cause=r}get name(){return"FieldError"}describe(){return[`Object contains invalid field "${this.at}":`,Yh(this.cause.message)].join(`
|
16
|
-
`)}},vs=({at:t,cause:e})=>typeof t=="string"?{error:new Yx({at:t,cause:e})}:{error:new Xx({at:t,cause:e})},Jh=class extends dn{constructor({causes:e}){super(),this.causes=e}get name(){return"UnionError"}describe(){let{causes:e}=this;return["Value does not match any type of the union:",...e.map(r=>Yh(r.message))].join(`
|
17
|
-
`)}},e0=class extends dn{constructor({causes:e}){super(),this.causes=e}get name(){return"IntersectionError"}describe(){let{causes:e}=this;return["Value does not match following types of the intersection:",...e.map(r=>Yh(r.message))].join(`
|
18
|
-
`)}},lM=(t,e=" ")=>`${e}${t.split(`
|
19
|
-
`).join(`
|
20
|
-
${e}`)}`,Yh=t=>lM(`- ${t}`);var tp=class extends me{readWith(e,{protocol:r}={}){if(typeof e!="string"&&!(e instanceof URL))return $e(`Expected URI but got ${e===null?"null":typeof e}`);try{let n=new URL(String(e));return r!=null&&n.protocol!==r?$e(`Expected ${r} URI instead got ${n.href}`):{ok:n.href}}catch{return $e("Invalid URI")}}},o0=new tp({}),dM=()=>o0,fM=t=>o0.read(t),s0=t=>new tp(t),hM=t=>o0.from(t);var Fu={};M(Fu,{create:()=>Fe,createLegacy:()=>oi,isLink:()=>ke,link:()=>pM,match:()=>Ss,optional:()=>yM,parse:()=>br,read:()=>mM,schema:()=>np});var rp=class extends me{readWith(e,{code:r,multihash:n={},version:o}){if(e==null)return $e(`Expected link but got ${e} instead`);if(ke(e)){if(r!=null&&e.code!==r)return $e(`Expected link to be CID with 0x${r.toString(16)} codec`);if(n.code!=null&&e.multihash.code!==n.code)return $e(`Expected link to be CID with 0x${n.code.toString(16)} hashing algorithm`);if(o!=null&&e.version!==o)return $e(`Expected link to be CID version ${o} instead of ${e.version}`);let[s,i]=n.digest!=null?[Ve.baseEncode(n.digest),Ve.baseEncode(e.multihash.digest)]:["",""];return s!==i?$e(`Expected link with "${s}" hash digest instead of "${i}"`):{ok:e}}else return $e(`Expected link to be a CID instead of ${e}`)}},np=new rp({}),pM=()=>np,Ss=(t={})=>new rp(t),mM=t=>np.read(t),yM=()=>np.optional();var i0={};M(i0,{did:()=>gM,from:()=>bM,match:()=>sp,read:()=>wM});var op=class extends me{readWith(e,r){let n=r?`did:${r}:`:"did:";return e.startsWith(n)?{ok:e}:$e(`Expected a ${n} but got "${e}" instead`)}},LC=fn().refine(new op),gM=()=>LC,wM=t=>LC.read(t),sp=(t={})=>fn().refine(new op(t.method)),bM=t=>sp({}).from(t);var u0={};M(u0,{match:()=>ip,read:()=>kM,text:()=>xM});var a0=fn(),ip=t=>t?a0.refine(new c0(t.pattern)):a0,xM=ip,kM=t=>a0.read(t),c0=class extends me{readWith(e,r){return r.test(e)?{ok:e}:$e(`Expected to match ${r} but got "${e}" instead`)}};var UC=n0({"ucanto/message@7.0.0":Xh({execute:Ss().array().optional(),delegate:t0({key:fn(),value:Ss()}).array().optional()})}),vM=({invocations:t,receipts:e})=>new l0({invocations:t,receipts:e}).buildIPLDView(),SM=({root:t,store:e},r)=>{let n=so(t,e,null);if(n===null)return r!==void 0?r:ws(t);let o=ln.decode(n.bytes),[s,i]=UC.match(o,r);switch(s){case"ucanto/message@7.0.0":return new ap({root:{...n,data:o},store:e});default:return i}},l0=class{constructor({invocations:e,receipts:r}){this.invocations=e,this.receipts=r}async buildIPLDView(e){let r=new Map,{invocations:n,...o}=await EM(this.invocations||[],r),{receipts:s,...i}=await _M(this.receipts||[],r),a=await Mh({"ucanto/message@7.0.0":{...o,...i}},r,e);return new ap({root:a,store:r},{receipts:s,invocations:n})}},EM=async(t,e)=>{let r=[],n=[];for(let o of t){let s=await o.buildIPLDView();n.push(s.link()),r.push(s);for(let i of s.iterateIPLDBlocks())e.set(`${i.cid}`,i)}return{invocations:r,...n.length>0?{execute:n}:{}}},_M=async(t,e)=>{if(t.length===0)return{};let r=new Map,n={};for(let[o,s]of t.entries()){let i=await s.buildIPLDView();for(let c of i.iterateIPLDBlocks())e.set(`${c.cid}`,c);let a=`${i.ran.link()}`;a in n?r.set(`${a}@${o}`,i):(n[a]=i.root.cid,r.set(a,i))}return{receipts:r,report:n}},ap=class{constructor({root:e,store:r},{invocations:n,receipts:o}={}){this.root=e,this.store=r,this._invocations=n,this._receipts=o}*iterateIPLDBlocks(){for(let e of this.invocations)yield*e.iterateIPLDBlocks();for(let e of this.receipts.values())yield*e.iterateIPLDBlocks();yield this.root}get(e,r){let o=(this.root.data["ucanto/message@7.0.0"].report||{})[`${e}`];return o?Hh({root:o,blocks:this.store}):r!==void 0?r:vC(`Message does not include receipt for ${e}`)}get invocationLinks(){return this.root.data["ucanto/message@7.0.0"].execute||[]}get invocations(){let e=this._invocations;return e||(e=this.invocationLinks.map(r=>ks.view({root:r,blocks:this.store}))),e}get receipts(){let e=this._receipts;if(!e){e=new Map;let r=this.root.data["ucanto/message@7.0.0"].report||{};for(let[n,o]of Object.entries(r)){let s=Hh({root:o,blocks:this.store});e.set(`${s.ran.link()}`,s)}}return e}};var ut={};M(ut,{code:()=>RC,contentType:()=>AM,createWriter:()=>TM,decode:()=>d0,encode:()=>NC,link:()=>OC,name:()=>DM,write:()=>CM});var AM="application/vnd.ipld.car",DM="CAR",RC=514,cp=class{constructor(e=[],r=0){this.written=new Set,this.blocks=e,this.byteLength=r}write(...e){for(let r of e){let n=r.cid.toString(Ve);this.written.has(n)||(this.blocks.push(r),this.byteLength+=Er(r),this.written.add(n))}return this}flush(...e){let r=[];for(let s of e.reverse()){let i=s.cid.toString(Ve);this.written.has(i)||(this.blocks.unshift(s),this.byteLength+=Er({cid:s.cid,bytes:s.bytes}),this.written.add(i)),r.unshift(s.cid)}this.byteLength+=In({roots:r});let n=new ArrayBuffer(this.byteLength),o=Bn(n,{roots:r});for(let s of this.blocks)o.write(s);return o.close()}},TM=()=>new cp,NC=({roots:t=[],blocks:e})=>{let r=new cp;return e&&r.write(...e.values()),r.flush(...t)},d0=t=>{let e=qr.fromBytes(t),r=[],n=new Map;for(let o of e.getRoots()){let s=e.get(o);s&&r.push(s)}for(let o of e.blocks())n.set(o.cid.toString(),o);return{roots:r,blocks:n}},OC=async(t,{hasher:e=ue}={})=>Fe(RC,await e.digest(t)),CM=async(t,e)=>{let r=NC(t),n=await OC(r,e);return{bytes:r,cid:n}};var $C=t=>new f0(t),f0=class{constructor(e){this.id=e.id,this.options=e,this.codec=e.codec,this.channel=e.channel,this.hasher=e.hasher||ue}async execute(...e){return IM(e,this)}},IM=async(t,e)=>{let r=await Ur.build({invocations:t}),n=await e.codec.encode(r,e),o=await e.channel.request(n);try{let s=await e.codec.decode(o);return r.invocationLinks.map(a=>s.get(a))}catch(s){let{message:i,...a}=s,c=[];for await(let u of r.invocationLinks){let l=await Mu.issue({ran:u,result:{error:{...a,message:i}},issuer:{did(){return e.id.did()},sign(){return st.createNonStandard("",new Uint8Array)}}});c.push(l)}return c}};var pee=Ou.delegate;var ju={};M(ju,{codec:()=>ut,contentType:()=>lp,inbound:()=>MM,outbound:()=>FM,request:()=>Es,response:()=>_s});var Es={};M(Es,{codec:()=>ut,contentType:()=>ma,decode:()=>LM,encode:()=>PM});var ma=ut.contentType,BM=Object.freeze({"content-type":ma,accept:ma}),PM=(t,e)=>{let r=new Map;for(let o of t.iterateIPLDBlocks())r.set(`${o.cid}`,o);let n=ut.encode({roots:[t.root],blocks:r});return{headers:e?.headers||BM,body:n}},LM=async({headers:t,body:e})=>{let{roots:r,blocks:n}=ut.decode(e);return Ur.view({root:r[0].cid,store:n})};var _s={};M(_s,{codec:()=>ut,contentType:()=>zu,decode:()=>NM,encode:()=>RM});var zu=ut.contentType,UM=Object.freeze({"content-type":zu}),RM=(t,e)=>{let r=new Map;for(let o of t.iterateIPLDBlocks())r.set(`${o.cid}`,o);let n=ut.encode({roots:[t.root],blocks:r});return{headers:UM,body:n}},NM=async({headers:t,body:e})=>{let{roots:r,blocks:n}=ut.decode(e);return Ur.view({root:r[0].cid,store:n})};var up=t=>new h0(t),h0=class{accept({headers:e}){let r=e["content-type"]||e["Content-Type"],n=this.decoders[r];if(!n)return{error:{status:415,message:"The server cannot process the request because the payload format is not supported. Please check the content-type header and try again with a supported media type.",headers:{accept:Object.keys(this.decoders).join(", ")}}};let o=$M(e.accept||e.Accept||"*/*");for(let{category:s,type:i}of o)for(let a of this.encoders)if((s==="*"||s===a.category)&&(i==="*"||i===a.type))return{ok:{...a,decoder:n}};return{error:{status:406,message:"The requested resource cannot be served in the requested content type. Please specify a supported content type using the Accept header.",headers:{accept:FC(Object.values(this.encoders))}}}}constructor({decoders:e={},encoders:r={}}){if(this.decoders=e,Object.keys(e).length===0)throw new Error("At least one decoder MUST be provided");if(this.encoders=Object.entries(r).map(([n,o])=>({...m0(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.encoders.length===0)throw new Error("At least one encoder MUST be provided")}},MC=t=>new p0(t),p0=class{constructor({decoders:e={},encoders:r={}}){if(this.decoders=e,Object.keys(e).length===0)throw new Error("At least one decoder MUST be provided");if(this.encoders=Object.entries(r).map(([n,o])=>({...m0(n),encoder:o})).sort((n,o)=>o.preference-n.preference),this.acceptType=FC(this.encoders),this.encoders.length===0)throw new Error("At least one encoder MUST be provided");this.encoder=this.encoders[0].encoder}encode(e){return this.encoder.encode(e,{accept:this.acceptType})}decode(e){let{headers:r}=e,n=r["content-type"]||r["Content-Type"],o=this.decoders[n]||this.decoders["*/*"];switch(e.status){case 415:case 406:throw Object.assign(new RangeError(new TextDecoder().decode(e.body)),{status:e.status,headers:e.headers})}if(!o)throw Object.assign(TypeError(`Can not decode response with content-type '${n}' because no matching transport decoder is configured.`),{error:!0});return o.decode(e)}},m0=t=>{let[e="*/*",r=""]=t.trim().split(";"),[n="*",o="*"]=e.split("/"),s=new URLSearchParams(r),i=parseFloat(s.get("q")||"0");return{category:n,type:o,preference:isNaN(i)?0:i}},OM=({category:t,type:e,preference:r})=>`${t}/${e}${r?`;q=${r}`:""}`,$M=t=>t.split(",").map(m0).sort((e,r)=>r.preference-e.preference),FC=t=>t.map(OM).join(", ");var lp=ut.contentType,MM=up({decoders:{[ma]:Es},encoders:{[zu]:_s}}),FM=MC({encoders:{[ma]:Es},decoders:{[zu]:_s}});var dp={};M(dp,{open:()=>zM});var zM=({url:t,method:e="POST",fetch:r})=>{if(!r)if(typeof globalThis.fetch<"u")r=globalThis.fetch.bind(globalThis);else throw new TypeError("ucanto HTTP transport got undefined `fetch`. Try passing in a `fetch` implementation explicitly.");return new g0({url:t,method:e,fetch:r})},g0=class{constructor({url:e,fetch:r,method:n}){this.fetch=r,this.method=n,this.url=e}async request({headers:e,body:r}){let n=await this.fetch(this.url.href,{headers:e,body:r,method:this.method}),o=n.ok?await n.arrayBuffer():w0.throw("HTTP Request failed",n);return{headers:n.headers.entries?Object.fromEntries(n.headers.entries()):{},body:new Uint8Array(o)}}},w0=class extends Error{static throw(e,r){throw new this(e,r)}constructor(e,{url:r,status:n=500,statusText:o="Server error"}){super(e),this.name="HTTPError",this.url=r,this.status=n,this.statusText=o}};var kee=new TextEncoder,vee=new TextDecoder;var b0={};M(b0,{contentType:()=>zC,encode:()=>HM});var zC="application/cbor",WM=Object.freeze({"content-type":zC}),HM=(t,e)=>{let r=[];for(let o of t.receipts.values()){let s=o.out;s.ok?r.push(s.ok):r.push({...s.error,error:!0})}let n=ys(r);return{headers:WM,body:n}};var fp={};M(fp,{contentType:()=>qM,decode:()=>VM});var qM="application/car",VM=async({body:t})=>{let{roots:e,blocks:r}=d0(t),n=[];for(let{cid:s}of e){let i=ks.view({root:s,blocks:r});n.push(i)}return await Ur.build({invocations:n})};var{contentType:GM}=fp;var Eee=up({decoders:{[GM]:fp,[lp]:Es},encoders:{"*/*;q=0.1":b0,[lp]:_s}});var Wu=t=>t,jC=t=>Object.entries(t),WC=([t,...e])=>{let r=t.map(n=>[n]);for(let n of e){let o=r.splice(0);for(let s of n)for(let i of o)r.push([...i,s])}return r},x0=(t,e)=>{let[r,n]=t.length<e.length?[new Set(t),new Set(e)]:[new Set(e),new Set(t)];for(let o of r)n.has(o)||r.delete(o);return[...r]};var Hu=class extends mr{constructor(e,r,n){super(),this.claimed=e,this.delegated=r,this.cause=n,this.name=Wu("EscalatedCapability")}describe(){return`Constraint violation: ${this.cause.message}`}},hn=class extends mr{constructor(e,r){super(),this.name=Wu("InvalidClaim"),this.causes=e,this.context=r}describe(){return[`Can not derive ${this.context} from delegated capabilities:`,...this.causes.map(e=>k0(e.message))].join(`
|
21
|
-
`)}get cause(){if(this.causes.length!==1)return this;{let[e]=this.causes,r=e.name==="InvalidClaim"?e.cause:e;return Object.defineProperties(this,{cause:{value:r}}),r}}};var ao=class extends mr{constructor(e,r){super(),this.name=Wu("MalformedCapability"),this.capability=e,this.cause=r}describe(){return[`Encountered malformed '${this.capability.can}' capability: ${HC(this.capability)}`,k0(this.cause.message)].join(`
|
22
|
-
`)}},ya=class extends mr{constructor(e){super(),this.name=Wu("UnknownCapability"),this.capability=e}describe(){return`Encountered unknown capability: ${HC(this.capability)}`}};var HC=(t,e)=>JSON.stringify(t,(r,n)=>ke(n)?n.toString():n,e),JM=(t,e=" ")=>`${e}${t.split(`
|
23
|
-
`).join(`
|
24
|
-
${e}`)}`,k0=t=>JM(`- ${t}`);var pn=({derives:t=aF,nb:e=QM,...r})=>new v0({derives:t,nb:e,...r}),QM=ct.struct({}),XM=(t,e)=>new S0(t,e),YM=(...t)=>new E0(t),eF=({from:t,to:e,derives:r})=>new _0(t,e,r),hp=class{match(e){return{error:new ya(e.capability)}}select(e){return iF(this,e)}derive({derives:e,to:r}){return eF({derives:e,to:r,from:this})}},qu=class extends hp{or(e){return XM(this,e)}and(e){return YM(this,e)}},v0=class extends qu{constructor(e){super(),this.descriptor=e,this.schema=ct.struct({can:ct.literal(e.can),with:e.with,nb:e.nb})}create(e){let{descriptor:r,can:n}=this,o=r.nb,s=e.nb||{},i=r.with.read(e.with);if(i.error)throw Object.assign(new Error(`Invalid 'with' - ${i.error.message}`),{cause:i});let a=r.nb.read(s);if(a.error)throw Object.assign(new Error(`Invalid 'nb' - ${a.error.message}`),{cause:a});return qC({can:n,with:i.ok,nb:a.ok})}invoke({with:e,nb:r,...n}){return $u({...n,capability:this.create({with:e,nb:r})})}async delegate({nb:e={},with:r,...n}){let{descriptor:o,can:s}=this,i=o.nb,a=o.with.read(r);if(a.error)throw Object.assign(new Error(`Invalid 'with' - ${a.error.message}`),{cause:a});let c=o.nb.partial().read(e);if(c.error)throw Object.assign(new Error(`Invalid 'nb' - ${c.error.message}`),{cause:c});return xs({capabilities:[qC({can:s,with:a.ok,nb:c.ok})],...n})}get can(){return this.descriptor.can}match(e){let r=oF(this.descriptor,e);return r.error?r:{ok:new A0(e,r.ok,this.descriptor)}}toString(){return JSON.stringify({can:this.descriptor.can})}},qC=({can:t,with:e,nb:r})=>({can:t,with:e,...tF(r)?{}:{nb:r}}),tF=t=>{for(let e in t)return!1;return!0},S0=class extends qu{constructor(e,r){super(),this.left=e,this.right=r}match(e){let r=this.left.match(e);if(r.error){let n=this.right.match(e);return n.error?n.error.name==="MalformedCapability"?n:r:n}else return r}toString(){return`${this.left.toString()}|${this.right.toString()}`}},E0=class t extends hp{constructor(e){super(),this.selectors=e}match(e){let r=[];for(let n of this.selectors){let o=n.match(e);if(o.error)return o;r.push(o.ok)}return{ok:new pp(r)}}select(e){return VC(this,e)}and(e){return new t([...this.selectors,e])}toString(){return`[${this.selectors.map(String).join(", ")}]`}},_0=class extends qu{constructor(e,r,n){super(),this.from=e,this.to=r,this.derives=n}create(e){return this.to.create(e)}invoke(e){return this.to.invoke(e)}delegate(e){return this.to.delegate(e)}get can(){return this.to.can}match(e){let r=this.to.match(e);return r.error?r:{ok:new D0(r.ok,this.from,this.derives)}}toString(){return this.to.toString()}},A0=class t{constructor(e,r,n){this.source=[e],this.value=r,this.descriptor=n}get can(){return this.value.can}get proofs(){let e=[this.source[0].delegation];return Object.defineProperties(this,{proofs:{value:e}}),e}prune(e){return e.canIssue(this.value,this.source[0].delegation.issuer.did())?null:this}select(e){let r=[],n=[],o=[];for(let s of e){let i=sF(this.descriptor,this.value,s);if(i.ok){let a=this.descriptor.derives(this.value,i.ok);a.error?n.push(new hn([new Hu(this.value,i.ok,a.error)],this)):o.push(new t(s,i.ok,this.descriptor))}else switch(i.error.name){case"UnknownCapability":r.push(i.error.capability);break;case"MalformedCapability":default:n.push(new hn([i.error],this))}}return{matches:o,unknown:r,errors:n}}toString(){let{nb:e}=this.value;return JSON.stringify({can:this.descriptor.can,with:this.value.with,nb:e&&Object.keys(e).length>0?e:void 0})}},D0=class t{constructor(e,r,n){this.selected=e,this.from=r,this.derives=n}get can(){return this.value.can}get source(){return this.selected.source}get proofs(){let e=[];for(let{delegation:r}of this.selected.source)e.push(r);return Object.defineProperties(this,{proofs:{value:e}}),e}get value(){return this.selected.value}prune(e){let r=this.selected.prune(e);return r?new t(r,this.from,this.derives):null}select(e){let{derives:r,selected:n,from:o}=this,{value:s}=n,i=n.select(e),a=o.select(e),c=[],u=[];for(let l of a.matches){let d=r(s,l.value);d.error?u.push(new hn([new Hu(s,l.value,d.error)],this)):c.push(l)}return{unknown:x0(i.unknown,a.unknown),errors:[...u,...i.errors,...a.errors.map(l=>new hn([l],this))],matches:[...i.matches.map(l=>new t(l,o,r)),...c]}}toString(){return this.selected.toString()}},pp=class t{constructor(e){this.matches=e}get selectors(){return this.matches}get source(){let e=[];for(let r of this.matches)e.push(...r.source);return Object.defineProperties(this,{source:{value:e}}),e}prune(e){let r=[];for(let n of this.matches){let o=n.prune(e);o&&r.push(o)}return r.length===0?null:new t(r)}get proofs(){let e=[];for(let{delegation:r}of this.source)e.push(r);return Object.defineProperties(this,{proofs:{value:e}}),e}get value(){let e=[];for(let r of this.matches)e.push(r.value);return Object.defineProperties(this,{value:{value:e}}),e}select(e){return VC(this,e)}toString(){return`[${this.matches.map(e=>e.toString()).join(", ")}]`}},rF=(t,e,r)=>{switch(t){case e:case"*":return e;default:return t.endsWith("/*")&&e.startsWith(t.slice(0,-1))?e:r}},nF=(t,e,r)=>{switch(t){case e:case"ucan:*":return e;default:return r}},oF=(t,e)=>{let{delegation:r}=e,n=e.capability;if(t.can!==n.can)return{error:new ya(n)};let o=t.with.read(n.with);if(o.error)return{error:new ao(n,o.error)};let s=t.nb.read(n.nb||{});return s.error?{error:new ao(n,s.error)}:{ok:new mp(t.can,o.ok,s.ok,r)}},sF=(t,e,{capability:r,delegation:n})=>{let o=rF(r.can,e.can,null);if(o==null)return{error:new ya(r)};let s=nF(r.with,e.with,r.with),i=t.with.read(s);if(i.error)return{error:new ao(r,i.error)};let a=t.nb.read({...e.nb,...r.nb});return a.error?{error:new ao(r,a.error)}:{ok:new mp(o,i.ok,a.ok,n)}},mp=class{constructor(e,r,n,o){this.can=e,this.with=r,this.delegation=o,this.nb=n}},iF=(t,e)=>{let r=[],n=[],o=[];for(let s of e){let i=t.match(s);if(i.error)switch(i.error.name){case"UnknownCapability":r.push(i.error.capability);break;case"MalformedCapability":default:o.push(new hn([i.error],i.error.capability))}else n.push(i.ok)}return{matches:n,errors:o,unknown:r}},VC=(t,e)=>{let r,n=[],o=[];for(let i of t.selectors){let a=i.select(e);r=r?x0(r,a.unknown):a.unknown;for(let c of a.errors)o.push(new hn([c],t));n.push(a.matches)}let s=WC(n).map(i=>new pp(i));return{unknown:r||[],errors:o,matches:s}},aF=(t,e)=>{if(e.with.endsWith("*")){if(!t.with.startsWith(e.with.slice(0,-1)))return ct.error(`Resource ${t.with} does not match delegated ${e.with} `)}else if(e.with!==t.with)return ct.error(`Resource ${t.with} is not contained by ${e.with}`);let r=e.nb||{},n=t.nb||{},o=jC(r);for(let[s,i]of o)if(n[s]!=i)return ct.error(`${String(s)}: ${n[s]} violates ${i}`);return{ok:!0}};var Qee=pn({can:"clock/*",with:St.match({protocol:"did:"})}),Xee=pn({can:"clock/follow",with:St.match({protocol:"did:"}),nb:ct.struct({iss:St.match({protocol:"did:"}).optional(),with:St.match({protocol:"did:"}).optional()})}),Yee=pn({can:"clock/unfollow",with:St.match({protocol:"did:"}),nb:ct.struct({iss:St.match({protocol:"did:"}).optional(),with:St.match({protocol:"did:"}).optional()})}),ete=pn({can:"clock/following",with:St.match({protocol:"did:"})}),GC=pn({can:"clock/head",with:St.match({protocol:"did:"})}),KC=pn({can:"clock/advance",with:St.match({protocol:"did:"}),nb:ct.struct({event:Fu.match({version:1})})});var uF="https://clock.web3.storage",lF="did:web:clock.web3.storage";async function ZC({issuer:t,with:e,proofs:r,audience:n},o,s){let i=s?.connection??QC(),a=s?.blocks?[Object.fromEntries(s.blocks.map(u=>[u.cid.toString(),u.cid]))]:[],c=KC.invoke({issuer:t,audience:n??i.id,with:e,nb:{event:o},proofs:r,facts:a});for(let u of s?.blocks??[])c.attach(u);return c.execute(i)}async function JC({issuer:t,with:e,proofs:r,audience:n},o){let s=o?.connection??QC();return await GC.invoke({issuer:t,audience:n??s.id,with:e,proofs:r}).execute(s)}function QC(t){let e=t?.serviceURL??new URL(uF);return $C({id:t?.servicePrincipal??Pu(lF),codec:ju.outbound,channel:dp.open({url:e,method:"POST"})})}async function Vu(t,e,r){let n=new Rr(t),o=new Map(e.map(i=>[i.toString(),i]));if(o.has(r.toString()))return e;let s=!1;for(let i of e)await XC(n,r,i)&&(o.delete(i.toString()),o.set(r.toString(),r),s=!0);if(s)return[...o.values()];for(let i of e)if(await XC(n,i,r))return e;return e.concat(r)}var As=class extends Xt{constructor({cid:e,value:r,bytes:n,prefix:o}){super({cid:e,value:r,bytes:n}),this.prefix=o}static create(e,r){return fF({data:e,parents:r??[]})}},Rr=class{constructor(e){this._blocks=e}async get(e){let r=await this._blocks.get(e);if(!r)throw new Error(`missing block: ${e}`);return Gu(r.bytes)}};async function fF(t){let{cid:e,bytes:r}=await dh({value:t,codec:Ae,hasher:ue});return new Xt({cid:e,value:t,bytes:r})}async function Gu(t){let{cid:e,value:r}=await fh({bytes:t,codec:Ae,hasher:ue});return new Xt({cid:e,value:r,bytes:t})}async function XC(t,e,r){if(e.toString()===r.toString())return!0;let[{value:n},{value:o}]=await Promise.all([t.get(e),t.get(r)]),s=[...n.parents];for(;s.length;){let i=s.shift();if(!i)break;if(i.toString()===r.toString())return!0;if(o.parents.some(c=>i.toString()===c.toString()))continue;let{value:a}=await t.get(i);s.push(...a.parents)}return!1}async function*T0(t,e,r={}){let n=r.renderNodeLabel??(c=>hF(c.cid)),o=new Rr(t);yield"digraph clock {",yield' node [shape=point fontname="Courier"]; head;';let s=await Promise.all(e.map(c=>o.get(c))),i=[],a=new Set;for(let c of s){a.add(c.cid.toString()),yield` node [shape=oval fontname="Courier"]; ${c.cid} [label="${n(c)}"];`,yield` head -> ${c.cid};`;for(let u of c.value.parents)yield` ${c.cid} -> ${u};`;i.push(...c.value.parents)}for(;i.length;){let c=i.shift();if(!c)break;if(a.has(c.toString()))continue;a.add(c.toString());let u=await o.get(c);yield` node [shape=oval]; ${c} [label="${n(u)}" fontname="Courier"];`;for(let l of u.value.parents)yield` ${c} -> ${l};`;i.push(...u.value.parents)}yield"}"}var hF=t=>`${String(t).slice(0,4)}..${String(t).slice(-4)}`;function yp({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*mF(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],s=xe.asCID(n);s?yield[o.join("/"),s]:typeof n=="object"&&(yield*C0(n,o))}else{let r=xe.asCID(e);r?yield[t.join("/"),r]:yield*C0(e,t)}}function*C0(t,e){if(t==null||t instanceof Uint8Array)return;let r=xe.asCID(t);r&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let s=[...e,n];yield*mF(s,o)}}function*yF(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&!xe.asCID(n)&&(yield*I0(n,o))}else yield*I0(e,t)}function*I0(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&!xe.asCID(n)&&(yield*yF(o,n))}}function gF(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(i=>`[${JSON.stringify(i)}]`).join("")}`);let s=xe.asCID(r);if(s)return{value:s,remaining:e.slice(n+1).join("/")}}return{value:r}}var Ku=class{constructor({cid:e,bytes:r,value:n}){if(!e||!r||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:yp(),bytes:yp(),value:yp(),asBlock:yp()})}links(){return C0(this.value,[])}tree(){return I0(this.value,[])}get(e="/"){return gF(this.value,e.split("/").filter(Boolean))}};async function Nr({value:t,codec:e,hasher:r}){if(typeof t>"u")throw new Error('Missing required argument "value"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.encode(t),o=await r.digest(n),s=xe.create(1,e.code,o);return new Ku({value:t,bytes:n,cid:s})}async function co({bytes:t,codec:e,hasher:r}){if(!t)throw new Error('Missing required argument "bytes"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.decode(t),o=await r.digest(t),s=xe.create(1,e.code,o);return new Ku({value:n,bytes:t,cid:s})}function wF({bytes:t,cid:e,value:r,codec:n}){let o=r!==void 0?r:n&&n.decode(t);if(o===void 0)throw new Error('Missing required argument, must either provide "value" or "codec"');return new Ku({cid:e,bytes:t,value:o})}async function gp({bytes:t,cid:e,hasher:r,codec:n}){if(!t)throw new Error('Missing required argument "bytes"');if(!r)throw new Error('Missing required argument "hasher"');let o=n.decode(t),s=await r.digest(t);if(!go.equals(e.multihash.bytes,s.bytes))throw new Error("CID hash does not match bytes");return wF({bytes:t,cid:e,value:o,codec:n})}var YC=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Et=Do({name:"sha2-256",code:18,encode:YC("SHA-256")}),lte=Do({name:"sha2-512",code:19,encode:YC("SHA-512")});var uo={};M(uo,{code:()=>Zu,decode:()=>kF,encode:()=>xF,name:()=>bF});var bF="raw",Zu=85,xF=t=>jt(t),kF=t=>jt(t);async function ga(t,e){let r=0,n=In({roots:t});r+=n;for(let{cid:i,bytes:a}of e.entries())r+=Er({cid:i,bytes:a});let o=new Uint8Array(r),s=Bn(o,{headerSize:n});for(let i of t)s.addRoot(i);for(let{cid:i,bytes:a}of e.entries())s.write({cid:i,bytes:a});return s.close(),await Nr({value:s.bytes,hasher:Et,codec:uo})}async function eI(t){return await Nr({value:{fp:t},hasher:Et,codec:Ae})}async function tI(t){let e=await t.getRoots(),r=await t.get(e[0]);if(!r)throw new Error("missing header block");let{value:n}=await co({bytes:r.bytes,hasher:Et,codec:Ae});if(n&&n.fp===void 0)throw new Error("missing fp");let{fp:o}=n;return o}var Or,pt=class{constructor(e){De(this,Or,new Map);e&&Ce(this,Or,new Map(e.map(r=>[r.cid.toString(),r.bytes])))}async get(e){let r=j(this,Or).get(e.toString());if(r)return{cid:e,bytes:r}}async put(e,r){j(this,Or).set(e.toString(),r)}putSync(e,r){j(this,Or).set(e.toString(),r)}async delete(e){j(this,Or).delete(e.toString())}deleteSync(e){j(this,Or).delete(e.toString())}*entries(){for(let[e,r]of j(this,Or))yield{cid:br(e),bytes:r}}};Or=new WeakMap;var Ju,Ds=class{constructor(...e){De(this,Ju,void 0);Ce(this,Ju,e)}async get(e){for(let r of j(this,Ju)){let n=await r.get(e);if(n)return n}}};Ju=new WeakMap;var wp="0123456789abcdef",bp=class t{constructor(e){this.bytes=e}static ofInner(e){if(e.length!==16)throw new TypeError("not 128-bit length");return new t(e)}static fromFieldsV7(e,r,n,o){if(!Number.isInteger(e)||!Number.isInteger(r)||!Number.isInteger(n)||!Number.isInteger(o)||e<0||r<0||n<0||o<0||e>0xffffffffffff||r>4095||n>1073741823||o>4294967295)throw new RangeError("invalid field value");let s=new Uint8Array(16);return s[0]=e/2**40,s[1]=e/2**32,s[2]=e/2**24,s[3]=e/2**16,s[4]=e/2**8,s[5]=e,s[6]=112|r>>>8,s[7]=r,s[8]=128|n>>>24,s[9]=n>>>16,s[10]=n>>>8,s[11]=n,s[12]=o>>>24,s[13]=o>>>16,s[14]=o>>>8,s[15]=o,new t(s)}static parse(e){var r,n,o,s;let i;switch(e.length){case 32:i=(r=/^[0-9a-f]{32}$/i.exec(e))===null||r===void 0?void 0:r[0];break;case 36:i=(n=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||n===void 0?void 0:n.slice(1,6).join("");break;case 38:i=(o=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(e))===null||o===void 0?void 0:o.slice(1,6).join("");break;case 45:i=(s=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||s===void 0?void 0:s.slice(1,6).join("");break;default:break}if(i){let a=new Uint8Array(16);for(let c=0;c<16;c+=4){let u=parseInt(i.substring(2*c,2*c+8),16);a[c+0]=u>>>24,a[c+1]=u>>>16,a[c+2]=u>>>8,a[c+3]=u}return new t(a)}else throw new SyntaxError("could not parse UUID string")}toString(){let e="";for(let r=0;r<this.bytes.length;r++)e+=wp.charAt(this.bytes[r]>>>4),e+=wp.charAt(this.bytes[r]&15),(r===3||r===5||r===7||r===9)&&(e+="-");return e}toHex(){let e="";for(let r=0;r<this.bytes.length;r++)e+=wp.charAt(this.bytes[r]>>>4),e+=wp.charAt(this.bytes[r]&15);return e}toJSON(){return this.toString()}getVariant(){let e=this.bytes[8]>>>4;if(e<0)throw new Error("unreachable");if(e<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(e<=11)return"VAR_10";if(e<=13)return"VAR_110";if(e<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new t(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(let r=0;r<16;r++){let n=this.bytes[r]-e.bytes[r];if(n!==0)return Math.sign(n)}return 0}},B0=class{constructor(e){this.timestamp=0,this.counter=0,this.random=e??vF()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(e,r){let n=this.generateOrAbortCore(e,r);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(e,r)),n}generateOrAbortCore(e,r){if(!Number.isInteger(e)||e<1||e>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(e>this.timestamp)this.timestamp=e,this.resetCounter();else if(e+r>=this.timestamp)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return bp.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}generateV4(){let e=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return e[6]=64|e[6]>>>4,e[8]=128|e[8]>>>2,bp.ofInner(e)}},vF=()=>{if(typeof crypto<"u"&&typeof crypto.getRandomValues<"u")return new P0;if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");return{nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}},P0=class{constructor(){this.buffer=new Uint32Array(8),this.cursor=65535}nextUint32(){return this.cursor>=this.buffer.length&&(crypto.getRandomValues(this.buffer),this.cursor=0),this.buffer[this.cursor++]}},rI,nI=()=>SF().toString(),SF=()=>(rI||(rI=new B0)).generate();function oI(t,e=1/0,r=!1){let n=[],o=!1;async function s(){if(o||n.length===0)return;o=!0;let i=n.splice(0,e),a=i.map(c=>c.task);if(r){let c=a.map(async(u,l)=>{try{let d=await t([u]);i[l].resolve(d)}catch(d){i[l].reject(d)}});await Promise.all(c)}else try{let c=await t(a);i.forEach(u=>u.resolve(c))}catch(c){i.forEach(u=>u.reject(c))}o=!1,s()}return{push(i){return new Promise((a,c)=>{n.push({task:i,resolve:a,reject:c}),s()})}}}var Ts={};M(Ts,{code:()=>TF,crypto:()=>CF,decode:()=>DF,decrypt:()=>vp,encode:()=>AF,encrypt:()=>Sp,name:()=>IF});function xp(){try{return window.crypto&&window.crypto.subtle?window.crypto:new Crypto}catch{return null}}var Qu=xp();function kp(t){let e=new Uint8Array(t);return t>0&&Qu.getRandomValues(e),e}var EF=t=>{t=+t;let e=new Uint8Array(4);return e[3]=t>>>24,e[2]=t>>>16,e[1]=t>>>8,e[0]=t&255,e},_F=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216},sI=t=>{let e=t.map(s=>s instanceof ArrayBuffer?new Uint8Array(s):s),r=e.reduce((s,i)=>s+i.length,0),n=new Uint8Array(r),o=0;for(let s of e)n.set(s,o),o+=s.length;return n},AF=({iv:t,bytes:e})=>sI([t,e]),DF=t=>{let e=t.subarray(0,12);return t=t.slice(12),{iv:e,bytes:t}},TF=3145728+1337;async function iI(t){return await Qu.subtle.importKey("raw",t,"AES-GCM",!1,["encrypt","decrypt"])}var vp=async({key:t,value:e})=>{let{bytes:r,iv:n}=e,o=await iI(t),s=await Qu.subtle.decrypt({name:"AES-GCM",iv:n,tagLength:128},o,r);r=new Uint8Array(s);let i=_F(r.subarray(0,4)),a=xe.decode(r.subarray(4,4+i));return r=r.subarray(4+i),{cid:a,bytes:r}},Sp=async({key:t,cid:e,bytes:r})=>{let n=EF(e.bytes.byteLength),o=kp(12),s=sI([n,e.bytes,r]);try{let i=await iI(t),a=await Qu.subtle.encrypt({name:"AES-GCM",iv:o,tagLength:128},i,s);r=new Uint8Array(a)}catch(i){throw console.log("ee",i),i}return{value:{bytes:r,iv:o}}},CF=t=>({encrypt:e=>Sp({key:t,...e}),decrypt:e=>vp({key:t,...e})}),IF="jchris@encrypted-block:aes-gcm";var Xu=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216};var Yu=t=>{let e=Math.floor(4294967295/t);return async r=>{let n=await r.identity();if(typeof n!="number")throw new Error("Identity must be a number");return n<=e}};var Is=(t,e)=>t===e?0:t>e?1:-1,aI=(t,e)=>{for(let r=0;r<t.byteLength;r++){if(e.byteLength===r)return 1;let n=t[r],o=e[r];if(n!==o)return n>o?1:-1}return e.byteLength>t.byteLength?-1:0},Cs=class{constructor(){this._cids=new Set}add(e){if(!e.address)throw new Error("Cannot add node without address");if(e.address.then){let r=e.address.then(n=>this._cids.add(n.toString()));this._cids.add(r),r.then(()=>this._cids.delete(r))}else this._cids.add(e.address.toString())}async all(){return await Promise.all([...this._cids]),this._cids}};var Bs=class{constructor({key:e,address:r},n={}){this.key=e,this.address=r,this.codec=n.codec,this.hasher=n.hasher}get isEntry(){return!0}},lo=class{constructor({entries:e,closed:r}){if(typeof r!="boolean")throw new Error('Missing required argument "closed"');this.entries=e,this.closed=r,this.startKey=e[0].key}find(e,r){let{entries:n}=this;for(let o=n.length-1;o>-1;o--){let s=n[o];if(r(e,s.key)>-1)return[o,s]}return null}findMany(e,r,n=!1,o=!1){let{entries:s}=this,i=new Map;n?e=[...e]:e=e.sort(r);for(let a=s.length-1;a>-1&&e.length;a--){let c=s[a],u=[];for(;e.length;){let l=e[e.length-1];l=l.key?l.key:l;let d=r(l,c.key);if(o)if(d===0)u.push(e.pop());else if(d>0)e.pop();else break;else if(d>-1)u.push(e.pop());else break}u.length&&i.set(a,[c,u])}return i}findRange(e,r,n){let{entries:o}=this,s,i=0;for(let a=o.length-1;a>-1;a--){let c=o[a];if(n(r,c.key)>0){s=a;break}}for(let a=0;a<o.length;a++){let c=o[a],u=n(e,c.key);if(u===0){i=a;break}else if(u<0)break;i=a}return{first:i,last:s,entries:o.slice(i,s+1)}}},cI=t=>typeof t=="string"?t:JSON.stringify(t);function BF(t,e){return t.sort(({key:r},{key:n})=>e.compare(r,n))}async function PF(t,e,r){let n=[];for(let o of e){let{key:s,del:i}=o;if(r(s,t)<0)i||n.push(o);else break}return n}async function LF(t,e,{chunker:r,compare:n}){return await fo.from({entries:t.map(o=>new e.LeafEntryClass(o,e)).sort((o,s)=>n(o.key,s.key)),chunker:r,NodeClass:e.LeafClass,distance:0,opts:e})}async function UF(t,e,r,n){return await Promise.all(e.map(async o=>{let s=await o.encode();return r.blocks.push({block:s,node:o}),t.cache.set(o),new n.BranchEntryClass({key:o.key,address:await o.address},n)}))}async function RF(t,e,r,n){let o=e.root;e.blocks.push({block:await o.encode(),node:o}),t.cache.set(o);let s=n.opts,i=o.distance,a=o.entryList.startKey,c=await PF(a,r,t.compare);if(c.length){let u=await LF(c,s,t),l=await UF(t,u,e,s),p=[new s.BranchEntryClass({key:o.entryList.startKey,address:await o.address},s),...l].sort(({key:m},{key:b})=>s.compare(m,b)),f=await fo.from({...n,entries:p,chunker:t.chunker,NodeClass:s.BranchClass,distance:i+1}),h=[...f];for(;f.length>1;){let m=await Promise.all(f.map(async b=>new s.BranchEntryClass({key:b.key,address:await b.address},s)));f=await fo.from({...n,entries:m.sort(({key:b},{key:g})=>s.compare(b,g)),chunker:t.chunker,NodeClass:s.BranchClass,distance:i+1}),h=[...h,...f]}await Promise.all(h.map(async m=>{let b=await m.encode();t.cache.set(m),e.blocks.push({block:b,node:m})})),e.root=f[0],e.nodes=[...e.nodes,...h]}}var fo=class t{constructor({entryList:e,chunker:r,distance:n,getNode:o,compare:s,cache:i}){this.entryList=e,this.chunker=r,this.distance=n,this.getNode=o,this.compare=s,this.cache=i}get closed(){return this.entryList.closed}get key(){return this.entryList.startKey}async getEntry(e,r=new Cs){return{result:await this._getEntry(e,r),cids:r}}async _getEntry(e,r){r.add(this);let n=this;for(;!n.isLeaf;){let i=n.entryList.find(e,this.compare);if(i===null)throw new Error("Not found");let[,a]=i;n=await this.getNode(await a.address),r.add(n)}let o=n.entryList.find(e,this.compare);if(o===null||o[1].key.toString()!==e.toString())throw new Error("Not found");let[,s]=o;return s}async getAllEntries(e=new Cs){return{result:await this._getAllEntries(e),cids:e}}_getAllEntries(e){if(e.add(this),this.isLeaf)return this.entryList.entries;{let{entries:r}=this.entryList,n=async o=>this.getNode(await o.address).then(s=>s._getAllEntries(e)).catch(async s=>{throw s});return Promise.all(r.map(n)).then(o=>o.flat())}}async*vis(e=new Set){let r=async s=>s.isLeaf?`Leaf [${s.entryList.entries.map(a=>`[${a.key},${JSON.stringify(a.value).replace(/"/g,"'")}]`).join(", ")}]`:`Branch [${s.entryList.entries.map(a=>`[${a.key}]`).join(", ")}]`,n=s=>s.toString().slice(0,4)+s.toString().slice(-4),o=async function*(s,i,a){let c=await s.address;if(!a.has(c)){a.add(c);let u=await r(s);yield` node [shape=ellipse fontname="Courier"]; ${n(c)} [label="${u}"];`,yield` ${n(i)} -> ${n(c)};`;for(let l of s.entryList.entries)if(l.address){let d=await l.address;try{let p=await s.getNode(d);yield*await o(p,c,a)}catch(p){yield` ${n(c)} -> ${n(d)};`,yield` node [shape=ellipse fontname="Courier"]; ${n(d)} [label="Error: ${p.message}"];`}}}};yield"digraph tree {",yield' node [shape=ellipse fontname="Courier"]; rootnode;';for await(let s of o(this,"rootnode",e))yield s;yield"}"}async getEntries(e,r=!1,n=new Cs){return{result:await this._getEntries(e,r,n),cids:n}}async _getEntries(e,r,n){n.add(this),r||(e=e.sort(this.compare));let o=this.entryList.findMany(e,this.compare,!0,this.isLeaf);if(this.isLeaf)return[...o.values()].map(([i])=>i);let s=[];for(let[i,a]of[...o.values()].reverse()){let c=this.getNode(await i.address);s.push(c.then(u=>u._getEntries(a.reverse(),!0,n)))}return s=await Promise.all(s),s.flat()}async getRangeEntries(e,r,n=new Cs){return{result:await this._getRangeEntries(e,r,n),cids:n}}_getRangeEntries(e,r,n){n.add(this);let{entries:o}=this.entryList.findRange(e,r,this.compare);if(this.isLeaf)return o.filter(c=>{let u=this.compare(e,c.key),l=this.compare(r,c.key);return u<=0&&l>=0});if(!o.length)return[];let s=async c=>this.getNode(await c.address).then(u=>u._getRangeEntries(e,r,n)),i=[s(o.shift())];if(!o.length)return i[0];let a=s(o.pop());for(;o.length;){let c=async u=>this.getNode(await u.address).then(async l=>l._getAllEntries(n));i.push(c(o.shift()))}return i.push(a),Promise.all(i).then(c=>c.flat())}async transaction(e,r={}){r={codec:this.codec,hasher:this.hasher,getNode:this.getNode,compare:this.compare,cache:this.cache,...r};let n={chunker:this.chunker,opts:r},o=this.entryList.findMany(e,r.compare,!0,this.isLeaf);return this.isLeaf?await this.transactionLeaf(e,r,n,o):await this.transactionBranch(e,r,n,o)}async transactionLeaf(e,r,n,o){let{LeafClass:s,LeafEntryClass:i}=r,{entries:a,previous:c}=this.processLeafEntries(e,o,i,r),u={...n,entries:a,NodeClass:s,distance:0},l=await t.from(u);return{nodes:l,previous:c,blocks:await Promise.all(l.map(async d=>{let p=await d.encode();return this.cache.set(d),{block:p,node:d}})),distance:0}}processLeafEntries(e,r,n,o){let s=[],i=[],a={},c=new Map;for(let{key:d,del:p,value:f}of e){let h=cI(d);p?typeof a[h]>"u"&&c.set(h,null):(a[h]={key:d,value:f},c.delete(h))}i=[...this.entryList.entries];for(let[d,[p]]of r){s.push(p);let f=cI(p.key);c.has(f)?c.set(f,d):(i[d]=new n(a[f],o),delete a[f])}let u=0;for(let[,d]of c)d!==null&&i.splice(d-u++,1);let l=Object.values(a).map(d=>new n(d,o));return i=i.concat(l).sort(({key:d},{key:p})=>o.compare(d,p)),{entries:i,previous:s}}async transactionBranch(e,r,n,o){let{BranchClass:s,BranchEntryClass:i}=r,a=0;for(let[h,[m,b]]of o){let g=this.getNode(await m.address).then(k=>k.transaction(b.reverse(),{...r,sorted:!0})).then(k=>({entry:m,keys:b,distance:a,...k}));o.set(h,g)}let c=[...this.entryList.entries],u={previous:[],blocks:[],nodes:[]};for(let[h,m]of o){let{nodes:b,previous:g,blocks:k,distance:E}=await m;a=E,c[h]=b,g.length&&(u.previous=u.previous.concat(g)),k.length&&(u.blocks=u.blocks.concat(k)),b.length&&(u.nodes=u.nodes.concat(b))}c=c.flat();let l=await this.handlePrepend(c,r,n,u,a);a++;let d=async h=>{if(h.isEntry)return h;let m=await h.encode();return u.blocks.push({block:m,node:h}),this.cache.set(h),new i(h,r)};c=await Promise.all(l.map(d));let p={...n,entries:c,NodeClass:s,distance:a},f=await t.from(p);return await Promise.all(f.map(async h=>{let m=await h.encode();u.blocks.push({block:m,node:h}),this.cache.set(h)})),u.nodes=f,{...u,distance:a}}async handlePrepend(e,r,n,o,s){let{BranchClass:i,LeafClass:a}=r,c=[],u=null;for(let l of e)if(u){let d=await this.mergeFirstLeftEntries(l,u,n,o,s);u=null;let p=d[0].address?i:a,f={...n,entries:d.sort(({key:m},{key:b})=>r.compare(m,b)),NodeClass:p,distance:s},h=await t.from(f);h[h.length-1].closed||(u=h.pop()),h.length&&(c=c.concat(h))}else!l.isEntry&&!l.closed?u=l:c.push(l);return u&&c.push(u),c}async getNodeFirstFromBlocks(e,r){for(let{block:n,node:o}of e)if(await n.cid===r)return o;return await this.getNode(r)}async mergeFirstLeftEntries(e,r,n,o,s){let i=n.opts,{LeafClass:a,BranchClass:c,BranchEntryClass:u}=i;if(e.isEntry){let f=await e.address;e=await this.getNodeFirstFromBlocks(o.blocks,f)}let l=e.entryList.entries;if(!l.length)throw new Error("unreachable no entries");let d=(f,h)=>f.concat(h),p=async(f,h,m)=>await Promise.all(f.map(async b=>(h.blocks.push({block:await b.encode(),node:b}),this.cache.set(b),new u({key:b.key,address:await b.address},m))));if(l[0].constructor.name===r.entryList.entries[0].constructor.name)return await d(r.entryList.entries,l);{let f=l.shift();if(!f)throw new Error("unreachable no left entry");if(!f.address)throw new Error("unreachable existing leaf, no leftEntry.address");let h=await this.mergeFirstLeftEntries(f,r,n,o,s-1),m=l.shift();if(!m)return h;if(!m.address)throw new Error("unreachable existing leaf, no esf.address");let b=await this.getNodeFirstFromBlocks(o.blocks,await m.address);if(b.entryList.entries[0].address){if(h[0].address)return h.concat(b.entryList.entries);{let g=await t.from({...n,entries:h.sort(({key:P},{key:J})=>i.compare(P,J)),NodeClass:a,distance:s}),k=await p(g,o,i),E=await t.from({...n,entries:[...b.entryList.entries,...k,...l].sort(({key:P},{key:J})=>i.compare(P,J)),NodeClass:c,distance:s});return await p(E,o,i)}}else{let g=await d(h,b.entryList.entries),k=await t.from({...n,entries:g.sort(({key:_},{key:P})=>i.compare(_,P)),NodeClass:a,distance:s}),E=await p(k,o,i);return await d(E,l)}}}async bulk(e,r={},n=!0){let{BranchClass:o}=r;r={codec:this.codec,hasher:this.hasher,getNode:this.getNode,compare:this.compare,cache:this.cache,...r},r.sorted||(e=BF(e,r),r.sorted=!0);let s={chunker:this.chunker,opts:r},i=await this.transaction(e,r);for(;i.nodes.length>1;){let a=i.nodes[0].distance+1,c=await Promise.all(i.nodes.map(async l=>{let d=await l.encode();return i.blocks.push({block:d,node:l}),this.cache.set(l),new r.BranchEntryClass(l,r)})),u=await t.from({...s,entries:c,NodeClass:o,distance:a});await Promise.all(u.map(async l=>{let d=await l.encode();this.cache.set(l),i.blocks.push({block:d,node:l})})),i.nodes=u}return i.root=i.nodes[0],n&&i.root&&await RF(this,i,e,s),i.blocks=i.blocks.map(({block:a})=>a),i}static async from({entries:e,chunker:r,NodeClass:n,distance:o,opts:s}){if(!e.every(c=>c.constructor.name===e[0].constructor.name))throw new Error("all entries must be of the same type");let i=[],a=[];for(let c of e)a.push(c),await r(c,o)&&(i.push(new lo({entries:a,closed:!0})),a=[]);return a.length&&i.push(new lo({entries:a,closed:!1})),i.map(c=>new n({entryList:c,chunker:r,distance:o,...s}))}},Ep=class extends fo{constructor({codec:e,hasher:r,block:n,...o}){super(o),this.codec=e,this.hasher=r,n?(this.block=n,this.address=n.cid):(this.block=this.encode(),this.address=this.block.then(s=>s.cid))}async get(e){let{result:r,cids:n}=await this.getEntry(e);return{result:r.key,cids:n}}async encode(){if(this.block)return this.block;let e=await this.encodeNode(),r={codec:this.codec,hasher:this.hasher,value:e};return this.block=await Nr(r),this.block}},wa=class extends Ep{async encodeNode(){let{entries:e}=this.entryList,r=async o=>{if(!o.address)throw new Error("entry.address required");return[o.key,await o.address]},n=await Promise.all(e.map(r));return{branch:[this.distance,n],closed:this.closed}}get isBranch(){return!0}},ba=class extends Ep{async encodeNode(){return{leaf:await Promise.all(this.entryList.entries.map(async r=>await r.encodeNode())),closed:this.closed}}get isLeaf(){return!0}},_p=async function*(t){let{LeafClass:e,LeafEntryClass:r,BranchClass:n,BranchEntryClass:o,list:s,chunker:i,compare:a,...c}=t;s=s.map(d=>new r(d,c)),c.compare=a;let u=await fo.from({entries:s,chunker:i,NodeClass:e,distance:0,opts:c});yield*u;let l=1;for(;u.length>1;){let d=async f=>new o({key:f.key,address:await f.address},c),p=await Promise.all(u.map(d));u=await fo.from({entries:p,chunker:i,NodeClass:n,distance:l,opts:c}),yield*u,l++}};var L0=({bytes:t},{bytes:e})=>aI(t,e),Ap=class extends Bs{constructor(e){super({address:e,key:e}),this.cid=e}encodeNode(){return this.cid}identity(){let e=this.cid.multihash.bytes;return Xu(e)}},Dp=class extends Bs{async identity(){let{multihash:{bytes:e}}=await this.address;return Xu(e)}},Tp=class extends wa{},Cp=class extends ba{},uI=(t,e,r,n,o)=>{let s=a=>{let{value:c}=a,u={chunker:r,cache:e,block:a,getNode:i,codec:n,hasher:o,compare:L0},l,d;if(c.leaf)l=c.leaf.map(h=>new Ap(h)),d=Cp;else if(c.branch){let[h,m]=c.branch;u.distance=h,l=m.map(([b,g])=>new Dp({key:b,address:g})),d=Tp}else throw new Error("Unknown block data, does not match schema");let p=new lo({entries:l,closed:c.closed}),f=new d({entryList:p,...u});return e.set(f),f},i=a=>e.has(a)?e.get(a):t(a).then(c=>s(c));return i},lI=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:s,sorted:i})=>{i||(n=n.sort(L0));let a=uI(t,e,r,o,s);return _p({list:n,codec:o,hasher:s,chunker:r,getNode:a,sorted:i,compare:L0,cache:e,LeafClass:Cp,LeafEntryClass:Ap,BranchClass:Tp,BranchEntryClass:Dp})},dI=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:s,...i})=>uI(e,r,n,o,s,i)(t);var fI=async function*({get:t,cids:e,hasher:r,key:n,cache:o,chunker:s,root:i}){let a=new Set,c;for(let f of e){let h=await t(f);if(!h)throw new Error("missing cid: "+f.toString());let m=await Sp({...h,key:n}),b=await Nr({...m,codec:Ts,hasher:r});yield b,a.add(b.cid.toString()),h.cid.equals(i)&&(c=b.cid)}if(!c)throw new Error("cids does not include root");let u=[...a].map(f=>xe.parse(f)),l;for await(let f of lI({list:u,get:t,cache:o,chunker:s,hasher:r,codec:Ae})){let h=await f.block;yield h,l=h}if(!l)throw new Error("missing last block");let d=[c,l.cid];yield await Nr({value:d,codec:Ae,hasher:r})},hI=async function*({root:t,get:e,key:r,cache:n,chunker:o,hasher:s}){let i=async b=>e(b).then(async g=>g?await co({...g,codec:Ae,hasher:s}):void 0),a=async b=>e(b).then(async g=>g?await co({...g,codec:Ts,hasher:s}):void 0),c=await i(t);if(!c)throw new Error("missing root");if(!c.bytes)throw new Error("missing bytes");let{value:[u,l]}=c,d=await e(u);if(!d)throw new Error("missing root block");let p=await dI({cid:l,get:i,cache:n,chunker:o,codec:Ts,hasher:s}),{result:f}=await p.getAllEntries(),h=async b=>{if(!b)throw new Error("missing block");b.value||(b=await co({...b,codec:Ts,hasher:s}));let{bytes:g,cid:k}=await vp({...b,key:r}).catch(_=>{throw _});return await gp({cid:k,bytes:g,hasher:s,codec:Ts})},m=[];for(let{cid:b}of f)d.cid.equals(b)||m.push(a(b).then(h));yield*m,yield h(d)};var xa={has:()=>!1,get:()=>{throw new Error("Cannot ask for entries from nocache")},set:()=>{}};var pI=Yu(30);function mI(t){let e=t.length,r=new Uint8Array(e/2);for(let n=0;n<e;n+=2)r[n/2]=parseInt(t.substring(n,n+2),16);return r}async function yI(t,e,r){let n=mI(t),o=n.buffer.slice(0,n.byteLength),s=new pt,i=[];for(let{cid:u}of r.entries())i.push(u);let a=null;for await(let u of fI({cids:i,get:r.get.bind(r),key:o,hasher:Et,chunker:pI,cache:xa,root:e}))await s.put(u.cid,u.bytes),a=u;if(!a)throw new Error("no blocks encrypted");return await ga([a.cid],s)}async function gI(t,e){let n=(await e.getRoots())[0];return await NF(n,e.get.bind(e),t)}async function NF(t,e,r){let n=mI(r),o=n.buffer.slice(0,n.byteLength),s=new pt,i=null;for await(let a of hI({root:t,get:e,key:o,hasher:Et,chunker:pI,cache:xa}))await s.put(a.cid,a.bytes),i=a;if(!i)throw new Error("no blocks decrypted");return{blocks:s,root:i.cid}}var U0="0.13.1";var wI=U0.match(/^([^.]*\.[^.]*)/);if(!wI)throw new Error("invalid version: "+U0);var N0=wI[0],R0=class{constructor(e){w(this,"STORAGE_VERSION",N0);w(this,"name");this.name=e}},ka=class extends R0{constructor(){super(...arguments);w(this,"tag","header-base")}makeHeader({car:r,key:n}){return Ll({car:r,key:n})}parseHeader(r){return Ul(r)}},Ip=class{constructor(e){w(this,"tag","rwal-base");w(this,"STORAGE_VERSION",N0);w(this,"loader");w(this,"ready");w(this,"walState",{operations:[],fileOperations:[]});w(this,"processing");this.loader=e,this.ready=(async()=>{let r=await this.load().catch(n=>(console.error("error loading wal",n),null));this.walState.operations=r?.operations||[],this.walState.fileOperations=r?.fileOperations||[]})()}async enqueue(e,r){await this.ready,this.walState.operations.push(e),await this.save(this.walState),r.noLoader||this._process()}async enqueueFile(e,r=!1){await this.ready,this.walState.fileOperations.push({cid:e,public:r})}async _process(){if(await this.ready,!this.loader.remoteCarStore)return;if(this.processing)return this.processing;let e=(async()=>{await this._int_process()})();this.processing=e,await e,this.processing=void 0,(this.walState.operations.length||this.walState.fileOperations.length)&&setTimeout(()=>void this._process(),0)}async _int_process(){if(!this.loader.remoteCarStore)return;let e=(async()=>{let r=[...this.walState.operations],n=[...this.walState.fileOperations],o=[];if(r.length)for(let s of r){let i=(async()=>{let a=await this.loader.carStore.load(s.car);if(!a)throw new Error(`missing car ${s.car.toString()}`);return await this.loader.remoteCarStore.save(a)})();o.push(i)}if(n.length){let s=this.loader;for(let{cid:i,public:a}of n){let c=(async()=>{let u=await s.fileStore.load(i);await s.remoteFileStore?.save(u,{public:a})})();o.push(c)}}await Promise.all(o),r.length&&await this.loader.remoteMetaStore?.save(r[r.length-1]),this.walState.operations.splice(0,r.length),this.walState.fileOperations.splice(0,n.length),await this.save(this.walState)})();this.loader.remoteMetaLoading=e,await e}},va=class{constructor(e){w(this,"tag","car-base");w(this,"STORAGE_VERSION",N0);w(this,"loader");this.loader=e}};var Sa=class extends va{constructor(r,n,o="data"){super(r);w(this,"tag","car-browser-s3");w(this,"connection");w(this,"type");this.connection=n,this.type=o}prefix(){return`fp.${this.loader.name}.${this.STORAGE_VERSION}.${this.loader.keyId}`}async load(r){let n=await this.connection.dataDownload({type:this.type,name:this.prefix(),car:r.toString()});if(!n)throw new Error(`missing remote car ${r.toString()}`);return{cid:r,bytes:n}}async save(r,n){let o={type:this.type,name:this.prefix(),car:r.cid.toString(),size:r.bytes.length.toString()};return await this.connection.dataUpload(r.bytes,o,n)}async remove(r){throw new Error("not implemented")}},Bp=class extends ka{constructor(r,n){super(r);w(this,"tag","header-browser-ls");w(this,"connection");w(this,"subscribers",new Map);this.connection=n}onLoad(r,n){let o=this.subscribers.get(r)||[];return o.push(n),this.subscribers.set(r,o),()=>{let s=this.subscribers.get(r)||[],i=s.indexOf(n);i>-1&&s.splice(i,1)}}prefix(){return`fp.${this.name}.${this.STORAGE_VERSION}`}async load(r="main"){let n=await this.connection.metaDownload({name:this.prefix(),branch:r});if(!n)return null;let o=this.dbMetasForByteHeads(n),s=this.subscribers.get(r)||[];for(let i of s)await i(o);return o}async save(r,n="main"){let o=new TextEncoder().encode(this.makeHeader(r)),s=await this.connection.metaUpload(o,{name:this.prefix(),branch:n});if(!s)return null;let i=this.dbMetasForByteHeads(s),a=this.subscribers.get(n)||[];for(let c of a)await c(i);return i}dbMetasForByteHeads(r){return r.map(n=>{let o=new TextDecoder().decode(n);return this.parseHeader(o)})}};var OF=(t,e)=>e.some(r=>t instanceof r),bI,xI;function $F(){return bI||(bI=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function MF(){return xI||(xI=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var kI=new WeakMap,$0=new WeakMap,vI=new WeakMap,O0=new WeakMap,F0=new WeakMap;function FF(t){let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("success",s),t.removeEventListener("error",i)},s=()=>{r($r(t.result)),o()},i=()=>{n(t.error),o()};t.addEventListener("success",s),t.addEventListener("error",i)});return e.then(r=>{r instanceof IDBCursor&&kI.set(r,t)}).catch(()=>{}),F0.set(e,t),e}function zF(t){if($0.has(t))return;let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("complete",s),t.removeEventListener("error",i),t.removeEventListener("abort",i)},s=()=>{r(),o()},i=()=>{n(t.error||new DOMException("AbortError","AbortError")),o()};t.addEventListener("complete",s),t.addEventListener("error",i),t.addEventListener("abort",i)});$0.set(t,e)}var M0={get(t,e,r){if(t instanceof IDBTransaction){if(e==="done")return $0.get(t);if(e==="objectStoreNames")return t.objectStoreNames||vI.get(t);if(e==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return $r(t[e])},set(t,e,r){return t[e]=r,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function SI(t){M0=t(M0)}function jF(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...r){let n=t.call(Pp(this),e,...r);return vI.set(n,e.sort?e.sort():[e]),$r(n)}:MF().includes(t)?function(...e){return t.apply(Pp(this),e),$r(kI.get(this))}:function(...e){return $r(t.apply(Pp(this),e))}}function WF(t){return typeof t=="function"?jF(t):(t instanceof IDBTransaction&&zF(t),OF(t,$F())?new Proxy(t,M0):t)}function $r(t){if(t instanceof IDBRequest)return FF(t);if(O0.has(t))return O0.get(t);let e=WF(t);return e!==t&&(O0.set(t,e),F0.set(e,t)),e}var Pp=t=>F0.get(t);function _I(t,e,{blocked:r,upgrade:n,blocking:o,terminated:s}={}){let i=indexedDB.open(t,e),a=$r(i);return n&&i.addEventListener("upgradeneeded",c=>{n($r(i.result),c.oldVersion,c.newVersion,$r(i.transaction),c)}),r&&i.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{s&&c.addEventListener("close",()=>s()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var HF=["get","getKey","getAll","getAllKeys","count"],qF=["put","add","delete","clear"],z0=new Map;function EI(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(z0.get(e))return z0.get(e);let r=e.replace(/FromIndex$/,""),n=e!==r,o=qF.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||HF.includes(r)))return;let s=async function(i,...a){let c=this.transaction(i,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return z0.set(e,s),s}SI(t=>({...t,get:(e,r,n)=>EI(e,r)||t.get(e,r,n),has:(e,r)=>!!EI(e,r)||t.has(e,r)}));var Ea=class extends va{constructor(){super(...arguments);w(this,"tag","car-browser-idb");w(this,"idb",null)}async _withDB(r){if(!this.idb){let n=`fp.${this.STORAGE_VERSION}.${this.loader.keyId}.${this.loader.name}`;this.idb=await _I(n,1,{upgrade(o){o.createObjectStore("cars")}})}return await r(this.idb)}async load(r){return await this._withDB(async n=>{let s=await n.transaction(["cars"],"readonly").objectStore("cars").get(r.toString());if(!s)throw new Error(`missing idb block ${r.toString()}`);return{cid:r,bytes:s}})}async save(r){return await this._withDB(async n=>{let o=n.transaction(["cars"],"readwrite");return await o.objectStore("cars").put(r.bytes,r.cid.toString()),await o.done})}async remove(r){return await this._withDB(async n=>{let o=n.transaction(["cars"],"readwrite");return await o.objectStore("cars").delete(r.toString()),await o.done})}},Lp=class extends Ip{constructor(){super(...arguments);w(this,"tag","wal-browser-ls")}headerKey(r){return`fp.${this.STORAGE_VERSION}.wal.${this.loader.name}.${r}`}async load(r="main"){try{let n=localStorage.getItem(this.headerKey(r));return n?Ul(n):null}catch{return null}}async save(r,n="main"){try{let o=Ll(r);localStorage.setItem(this.headerKey(n),o)}catch{}}},Up=class extends ka{constructor(){super(...arguments);w(this,"tag","header-browser-ls")}headerKey(r){return`fp.${this.STORAGE_VERSION}.meta.${this.name}.${r}`}async load(r="main"){try{let n=localStorage.getItem(this.headerKey(r));return n?[this.parseHeader(n)]:null}catch{return null}}async save(r,n="main"){try{let o=this.headerKey(n),s=this.makeHeader(r);return localStorage.setItem(o,s),null}catch{return null}}};function DI(t,e){return t.some(r=>r.equals(e))}function AI(t,e=[]){let r=new Map;for(let n of t)DI(e,n)||r.set(n.toString(),n);return[...r.values()]}function VF(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var _a=class{constructor(e,r){w(this,"name");w(this,"opts",{});w(this,"remoteMetaLoading");w(this,"remoteMetaStore");w(this,"remoteCarStore");w(this,"remoteWAL");w(this,"metaStore");w(this,"carStore");w(this,"carLog",[]);w(this,"carReaders",new Map);w(this,"ready");w(this,"key");w(this,"keyId");w(this,"getBlockCache",new Map);w(this,"committing");this.name=e,this.opts=r||this.opts,this.ready=this.initializeStores().then(async()=>{if(!this.metaStore||!this.carStore||!this.remoteWAL)throw new Error("stores not initialized");let n=this.opts.meta?[this.opts.meta]:await this.metaStore.load("main");n&&await this.handleDbMetasFromStore(n)})}_connectRemoteMeta(e){let r=new Bp(this.name,e);return r.onLoad("main",async n=>{n&&await this.handleDbMetasFromStore(n)}),this.remoteMetaStore=r,e}_connectRemoteStorage(e){return this.remoteCarStore=new Sa(this,e),e}connectRemote(e){return e.loader=this,this._connectRemoteMeta(e),this._connectRemoteStorage(e),this.remoteMetaLoading=this.remoteMetaStore.load("main").then(()=>{}),e.loaded=Promise.all([this.ready,this.remoteMetaLoading]).then(()=>{this.remoteWAL?._process()}),e}async snapToCar(e){await this.ready,typeof e=="string"&&(e=xe.parse(e));let r=await this.loadCarHeaderFromMeta({car:e,key:this.key||null});this.carLog=[e,...r.cars],await this.getMoreReaders(r.cars),await this._applyCarHeader(r,!0)}async handleDbMetasFromStore(e){for(let r of e)await this.mergeDbMetaIntoClock(r)}async mergeDbMetaIntoClock(e){if(e.key&&await this.setKey(e.key),DI(this.carLog,e.car))return;let r=await this.loadCarHeaderFromMeta(e);this.carLog=[...AI([e.car,...this.carLog,...r.cars],r.compact)],await this.getMoreReaders(r.cars),await this._applyCarHeader(r)}async ingestKeyFromMeta(e){let{key:r}=e;r&&await this.setKey(r)}async loadCarHeaderFromMeta({car:e}){let r=await this.loadCar(e);return await tI(r)}async _getKey(){return this.key?this.key:(this.opts.public||(xp()?await this.setKey(VF(kp(32))):console.warn("missing crypto module, using public mode")),this.key)}async commit(e,r,n={noLoader:!1,compact:!1}){this.committing&&await this.committing,this.committing=this._commitInternal(e,r,n);let o=await this.committing;return this.committing=void 0,o}async _commitInternal(e,r,n={noLoader:!1,compact:!1}){await this.ready;let o=this.makeCarHeader(r,this.carLog,!!n.compact),s=[];if(o.files)s=o.files;else{let l=await eI(o);await e.put(l.cid,l.bytes),s=[l.cid]}let i=n.public?null:await this._getKey(),{cid:a,bytes:c}=i?await yI(i,s[0],e):await ga(s,e);if(j0(r))return await this.fileStore.save({cid:a,bytes:c}),await this.remoteWAL.enqueueFile(a,n.public),a;await this.carStore.save({cid:a,bytes:c});let u={car:a,key:i||null};if(await this.remoteWAL.enqueue(u,n),await this.metaStore.save(u),n.compact){let l=o;for(let d of l.compact)await this.carStore.remove(d);this.carLog=[...AI([a,...this.carLog],l.compact)]}else this.carLog.unshift(a);return a}async getBlock(e){await this.ready;let r=e.toString();if(this.getBlockCache.has(r))return this.getBlockCache.get(r);let n=await Promise.any(this.carLog.map(async o=>{let s=await this.loadCar(o);if(!s)throw new Error(`missing car reader ${o.toString()}`);let i=await s.get(e);if(i)return i;throw new Error(`block not in reader: ${e.toString()}`)})).catch(()=>{});return n&&this.getBlockCache.set(r,n),n}async initializeStores(){this.metaStore=new Up(this.name),this.carStore=new Ea(this),this.remoteWAL=new Lp(this)}async loadCar(e){if(!this.carStore)throw new Error("car store not initialized");return await this.storesLoadCar(e,this.carStore,this.remoteCarStore)}async storesLoadCar(e,r,n,o){let s=e.toString();return this.carReaders.has(s)||this.carReaders.set(s,(async()=>{let i=null;try{i=await r.load(e)}catch{if(n){let l=await n.load(e);l&&(await r.save(l),i=l)}}if(!i)throw new Error(`missing car file ${s}`);let a=await ds.fromBytes(i.bytes),c=o?Promise.resolve(a):this.ensureDecryptedReader(a);return this.carReaders.set(s,c),c})().catch(i=>{throw this.carReaders.delete(s),i})),this.carReaders.get(s)}async ensureDecryptedReader(e){let r=await this._getKey();if(!r)return e;let{blocks:n,root:o}=await gI(r,e);return{getRoots:()=>[o],get:n.get.bind(n)}}async setKey(e){if(this.key&&this.key!==e)throw new Error("key mismatch");this.key=e;let r=xp();if(!r)throw new Error("missing crypto module");let n=r.subtle,s=new TextEncoder().encode(e),i=await n.digest("SHA-256",s),a=Array.from(new Uint8Array(i));this.keyId=a.map(c=>c.toString(16).padStart(2,"0")).join("")}async getMoreReaders(e){await Promise.all(e.map(r=>this.loadCar(r)))}};w(_a,"defaultHeader");var Aa=_e(LI(),1);var Rp=class extends Bs{async identity(){let e=await this.codec.encode(await this.encodeNode()),r=await this.hasher.encode(e);return Xu(r)}},Ps=class extends Rp{constructor(e,r){super(e,r),this.value=e.value}encodeNode(){return[this.key,this.value]}},Ls=class extends Rp{constructor(e,r){if(!e.address)throw new Error("Cannot create MapBranchEntry without address");super(e,r)}async encodeNode(){return[this.key,await this.address]}},UI=async(t,e)=>{let{result:r,cids:n}=await t.getEntry(e);return{result:r.value,cids:n}},RI=async(t,e)=>{let{result:r,cids:n}=await t.getEntries(e);return{result:r.map(o=>o.value),cids:n}},Us=class extends ba{get(e){return UI(this,e)}getMany(e){return RI(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...NI,...r},n)}},Rs=class extends wa{get(e){return UI(this,e)}getMany(e){return RI(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...NI,...r},n)}},NI={LeafClass:Us,LeafEntryClass:Ps,BranchClass:Rs,BranchEntryClass:Ls},OI=(t,e,r,n,o,s,i)=>{let a=i.LeafClass||Us,c=i.LeafEntryClass||Ps,u=i.BranchClass||Rs,l=i.BranchEntryClass||Ls,d=async f=>e.has(f)?e.get(f):t(f).then(h=>p(h)),p=ez({chunker:r,cache:e,getNode:d,codec:n,hasher:o,compare:s,LeafEntryClass:c,LeafClass:a,BranchEntryClass:l,BranchClass:u});return d},$I=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:s,sorted:i,compare:a,...c})=>{i||(n=n.sort(({key:d},{key:p})=>a(d,p)));let u=OI(t,e,r,o,s,a,c),l={list:n,codec:o,hasher:s,chunker:r,getNode:u,sorted:i,compare:a,cache:e,LeafClass:c.LeafClass||Us,LeafEntryClass:c.LeafEntryClass||Ps,BranchClass:c.BranchClass||Rs,BranchEntryClass:c.BranchEntryClass||Ls};return _p(l)},MI=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:s,compare:i,...a})=>OI(e,r,n,o,s,i,a)(t);function ez({chunker:t,cache:e,getNode:r,codec:n,hasher:o,compare:s,LeafEntryClass:i,LeafClass:a,BranchEntryClass:c,BranchClass:u}){let l={codec:n,hasher:o};return d=>{let{value:p}=d,f={chunker:t,cache:e,block:d,getNode:r,codec:n,hasher:o,compare:s},h,m;if(p.leaf)h=p.leaf.map(([k,E])=>new i({key:k,value:E},l)),m=a;else if(p.branch){let[k,E]=p.branch;f.distance=k,h=E.map(([_,P])=>new c({key:_,address:P},l)),m=u}else throw new Error("Unknown block data, does not match schema");let b=new lo({entries:h,closed:p.closed}),g=new m({entryList:b,...f});return e.set(g),g}}var tz=(t,e)=>{let[r,n]=t,[o,s]=e,i=Is(r,o);return i!==0?i:rz(n,s)},rz=(t,e)=>{if(Number.isNaN(t))return-1;if(Number.isNaN(e))throw new Error("ref may not be Infinity or NaN");return Number.isFinite(t)?Is(t,e):1},FI=async(t,e)=>{let r=[e,NaN],n=[e,1/0],{result:o,cids:s}=await t.getRangeEntries(r,n);return{result:o.map(i=>{let[a,c]=i.key;return{id:c,key:a,row:i.value}}),cids:s}},zI=async(t,e,r)=>{e=[e,NaN],r=[r,1/0];let{result:n,cids:o}=await t.getRangeEntries(e,r);return{result:n.map(i=>{let[a,c]=i.key;return{id:c,key:a,row:i.value}}),cids:o}},H0=class extends Us{get(e){return FI(this,e)}range(e,r){return zI(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...V0,...r},n)}},q0=class extends Rs{get(e){return FI(this,e)}range(e,r){return zI(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...V0,...r},n)}},nz=H0,oz=q0,V0={LeafClass:nz,BranchClass:oz,LeafEntryClass:Ps,BranchEntryClass:Ls},jI={...V0,compare:tz},WI=t=>(t={...jI,...t},$I(t)),G0=t=>(t={...jI,...t},MI(t));var Ns=class{constructor(){w(this,"cid",null);w(this,"root",null)}},iz=(t,e)=>{if(Number.isNaN(t))return-1;if(Number.isNaN(e))throw new Error("ref may not be Infinity or NaN");return t===1/0?1:Is(t,e)},az=(t,e)=>{let[r,n]=t,[o,s]=e,i=Is(r,o);return i!==0?i:iz(n,s)},Z0={cache:xa,chunker:Yu(30),codec:Ae,hasher:Et,compare:az},J0={cache:xa,chunker:Yu(30),codec:Ae,hasher:Et,compare:Is};function HI(t,e){let r=[];return t.forEach(({key:n,value:o,del:s})=>{if(s||!o)return;let i=!1,a=e({_id:n,...o},(c,u)=>{i=!0,!(typeof c>"u")&&r.push({key:[Aa.default.encode(c),n],value:u||null})});!i&&a&&r.push({key:[Aa.default.encode(a),n],value:null})}),r}function K0(t){return async e=>{let r=await t.get(e);if(!r)throw new Error(`Missing block ${e.toString()}`);let{cid:n,bytes:o}=r;return gp({cid:n,bytes:o,hasher:Et,codec:Ae})}}async function Q0(t,e,r,n){if(!r.length)return e;if(!e.root)if(e.cid)e.root=await G0({cid:e.cid,get:K0(t),...n});else{let i=null,a=null;for await(let c of await WI({get:K0(t),list:r,...n})){let u=await c.block;await t.put(u.cid,u.bytes),i=u,a=c}if(!a||!i)throw new Error("failed to create index");return{root:a,cid:i.cid}}let{root:o,blocks:s}=await e.root.bulk(r);if(o){for await(let i of s)await t.put(i.cid,i.bytes);return{root:o,cid:(await o.block).cid}}else return{root:null,cid:null}}async function X0(t,e,r){return await G0({cid:e,get:K0(t),...r})}async function Os(t,e,r){return r.descending&&(e.result=e.result.reverse()),r.limit&&(e.result=e.result.slice(0,r.limit)),r.includeDocs&&(e.result=await Promise.all(e.result.map(async n=>{let o=await t.get(n.id),s=o?{_id:n.id,...o.doc}:null;return{...n,doc:s}}))),{rows:e.result.map(n=>(n.key=Aa.default.decode(n.key),n))}}function Y0(t){return t.map(e=>Aa.default.encode(e))}function ek(t){return Aa.default.encode(t)}function el({_crdt:t},e,r,n){if(r&&n)throw new Error("cannot provide both mapFn and meta");if(r&&r.constructor.name!=="Function")throw new Error("mapFn must be a function");if(t.indexers.has(e))t.indexers.get(e).applyMapFn(e,r,n);else{let o=new tk(t,e,r,n);t.indexers.set(e,o)}return t.indexers.get(e)}var tk=class{constructor(e,r,n,o){w(this,"blocks");w(this,"crdt");w(this,"name",null);w(this,"mapFn",null);w(this,"mapFnString","");w(this,"byKey",new Ns);w(this,"byId",new Ns);w(this,"indexHead");w(this,"includeDocsDefault",!1);w(this,"initError",null);w(this,"ready");if(this.blocks=e.indexBlocks,this.crdt=e,this.applyMapFn(r,n,o),!(this.mapFnString||this.initError))throw new Error("missing mapFnString");this.ready=this.blocks.ready.then(()=>{})}applyMapFn(e,r,n){if(r&&n)throw new Error("cannot provide both mapFn and meta");if(this.name&&this.name!==e)throw new Error("cannot change name");this.name=e;try{if(n){if(this.indexHead&&this.indexHead.map(s=>s.toString()).join()!==n.head.map(s=>s.toString()).join())throw new Error("cannot apply meta to existing index");this.mapFnString?this.mapFnString!==n.map?console.log("cannot apply different mapFn meta: old mapFnString",this.mapFnString,"new mapFnString",n.map):(this.byId.cid=n.byId,this.byKey.cid=n.byKey,this.indexHead=n.head):(this.mapFnString=n.map,this.byId.cid=n.byId,this.byKey.cid=n.byKey,this.indexHead=n.head)}else if(this.mapFn){if(r&&this.mapFn.toString()!==r.toString())throw new Error("cannot apply different mapFn app2")}else{if(r||(r=cz(e)),this.mapFnString){if(this.mapFnString!==r.toString())throw new Error("cannot apply different mapFn app")}else this.mapFnString=r.toString();this.mapFn=r}let o=/=>\s*(.*)/.test(this.mapFnString);this.includeDocsDefault=o}catch(o){this.initError=o}}async query(e={}){if(await this._updateIndex(),await this._hydrateIndex(),!this.byKey.root)return await Os(this.crdt,{result:[]},e);if(this.includeDocsDefault&&e.includeDocs===void 0&&(e.includeDocs=!0),e.range){let{result:o,...s}=await this.byKey.root.range(...Y0(e.range));return await Os(this.crdt,{result:o,...s},e)}if(e.key){let o=ek(e.key);return await Os(this.crdt,await this.byKey.root.get(o),e)}if(Array.isArray(e.keys))return{rows:(await Promise.all(e.keys.map(async s=>{let i=ek(s);return(await Os(this.crdt,await this.byKey.root.get(i),e)).rows}))).flat()};if(e.prefix){Array.isArray(e.prefix)||(e.prefix=[e.prefix]);let o=[...e.prefix,NaN],s=[...e.prefix,1/0],i=Y0([o,s]);return await Os(this.crdt,await this.byKey.root.range(...i),e)}let{result:r,...n}=await this.byKey.root.getAllEntries();return await Os(this.crdt,{result:r.map(({key:[o,s],value:i})=>({key:o,id:s,value:i})),...n},e)}_resetIndex(){this.byId=new Ns,this.byKey=new Ns,this.indexHead=void 0}async _hydrateIndex(){this.byId.root&&this.byKey.root||!this.byId.cid||!this.byKey.cid||(this.byId.root=await X0(this.blocks,this.byId.cid,J0),this.byKey.root=await X0(this.blocks,this.byKey.cid,Z0))}async _updateIndex(){if(await this.ready,this.initError)throw this.initError;if(!this.mapFn)throw new Error("No map function defined");let e,r;if(!this.indexHead||this.indexHead.length===0?{result:e,head:r}=await this.crdt.allDocs():{result:e,head:r}=await this.crdt.changes(this.indexHead),e.length===0)return this.indexHead=r,{byId:this.byId,byKey:this.byKey};let n=[],o=[];if(this.byId.root){let c=e.map(({key:l})=>l),{result:u}=await this.byId.root.getMany(c);n=u.map(l=>({key:l,del:!0})),o=u.map(l=>({key:l[1],del:!0}))}let s=HI(e,this.mapFn),i=s.map(({key:c})=>({key:c[1],value:c})),a=new Map;for(let[c,u]of this.crdt.indexers)u.indexHead&&a.set(c,{byId:u.byId.cid,byKey:u.byKey.cid,head:u.indexHead,map:u.mapFnString,name:u.name});return await this.blocks.transaction(async c=>(this.byId=await Q0(c,this.byId,o.concat(i),J0),this.byKey=await Q0(c,this.byKey,n.concat(s),Z0),this.indexHead=r,{byId:this.byId.cid,byKey:this.byKey.cid,head:r,map:this.mapFnString,name:this.name}),a)}};function cz(t){return e=>{if(e[t])return e[t]}}var $p=class $p extends _a{constructor(r,n,o){super(r,o);w(this,"crdt");w(this,"defaultHeader",$p.defaultHeader);this.crdt=n}async _applyCarHeader(r){for(let[n,o]of Object.entries(r.indexes))el({_crdt:this.crdt},n,void 0,o)}makeCarHeader({indexes:r},n,o=!1){return o?{indexes:r,cars:[],compact:n}:{indexes:r,cars:n,compact:[]}}};w($p,"defaultHeader",{cars:[],compact:[],indexes:new Map});var Np=$p,Mp=class Mp extends _a{constructor(r,n,o){super(r,o);w(this,"defaultHeader",Mp.defaultHeader);w(this,"clock");w(this,"remoteFileStore");w(this,"fileStore");this.clock=n}async initializeStores(){await super.initializeStores(),this.fileStore=new Ea(this)}_connectRemoteStorage(r){return super._connectRemoteStorage(r),this.remoteFileStore=new Sa(this,r,"file"),r}async loadFileCar(r,n=!1){if(!this.fileStore)throw new Error("missing fileStore");return await this.storesLoadCar(r,this.fileStore,this.remoteFileStore,n)}async _applyCarHeader(r,n=!1){n?await this.clock.applyHead(null,r.head,this.clock.head):await this.clock.applyHead(null,r.head,[])}makeCarHeader(r,n,o=!1){if(j0(r)){let s=[];for(let[,i]of Object.entries(r.files))s.push(i.cid);return{files:s}}else{let{head:s}=r;return o?{head:s,cars:[],compact:n}:{head:s,cars:n,compact:[]}}}};w(Mp,"defaultHeader",{cars:[],compact:[],head:[]});var Op=Mp;function j0(t){return t&&t.files!==void 0}var ho=class extends pt{constructor(r){super();w(this,"parent");this.parent=r}async get(r){return this.parent.get(r)}async superGet(r){return super.get(r)}},Fp=class{constructor(e,r,n){w(this,"ready");w(this,"name",null);w(this,"loader",null);w(this,"opts",{});w(this,"transactions",new Set);if(this.opts=n||this.opts,e){if(this.name=e,!r)throw new Error("missing loader");this.loader=r,this.ready=this.loader.ready}else this.ready=Promise.resolve()}async put(){throw new Error("use a transaction to put")}async get(e){if(!e)throw new Error("required cid");for(let r of this.transactions){let n=await r.superGet(e);if(n)return n}if(this.loader)return await this.loader.getBlock(e)}async commitCompaction(e,r){return this.transactions.clear(),this.transactions.add(e),await this.loader?.commit(e,{head:r},{compact:!0})}async*entries(){let e=new Set;for(let r of this.transactions)for await(let n of r.entries())e.has(n.cid.toString())||(e.add(n.cid.toString()),yield n)}async executeTransaction(e,r){let n=new ho(this);this.transactions.add(n);let o=await e(n),{car:s,done:i}=await r(n,o);return s?{...i,car:s}:i}},zp=class extends Fp{constructor(e,r,n){e?super(e,new Np(e,r,n),n):super(null)}async transaction(e,r){return this.executeTransaction(e,async(n,o)=>(r.set(o.name,o),{car:await this.loader?.commit(n,{indexes:r}),done:o}))}},jp=class extends Fp{constructor(e,r,n){e?super(e,new Op(e,r,n),n):super(null)}async transaction(e,r,n={noLoader:!1}){return this.executeTransaction(e,async(o,s)=>({car:await this.loader?.commit(o,s,n),done:s}))}},Wp=class{constructor(e){w(this,"blocks");w(this,"loader",null);w(this,"cids",new Set);this.blocks=e,this.loader=e.loader}async get(e){return this.cids.add(e),await this.blocks.get(e)}};var $s=class extends Xt{constructor({cid:e,value:r,bytes:n,prefix:o}){super({cid:e,value:r,bytes:n}),this.prefix=o}static create(){return Mr([])}};async function Mr(t,e){let{cid:r,bytes:n}=await dh({value:t,codec:Ae,hasher:ue});return new $s({cid:r,value:t,bytes:n,prefix:e??""})}async function qI(t,e){let{cid:r,value:n}=await fh({bytes:t,codec:Ae,hasher:ue});if(!Array.isArray(n))throw new Error(`invalid shard: ${r}`);return new $s({cid:r,value:n,bytes:t,prefix:e??""})}var Ms=class{constructor(e){this._blocks=e}async get(e,r=""){let n=await this._blocks.get(e);if(!n)throw new Error(`missing block: ${e}`);return qI(n.bytes,r)}};function rk(t,e){if(!t.length)return[e];let r=[];for(let[n,[o,s]]of t.entries()){if(e[0]===o){if(Array.isArray(e[1]))Array.isArray(s)&&s[1]!=null&&e[1][1]==null?r.push([o,[e[1][0],s[1]]]):r.push(e);else{let i=Array.isArray(s)?[o,[s[0],e[1]]]:e;r.push(i)}for(let i=n+1;i<t.length;i++)r.push(t[i]);return r}if(n===0&&e[0]<o){r.push(e);for(let i=n;i<t.length;i++)r.push(t[i]);return r}if(n>0&&e[0]>t[n-1][0]&&e[0]<o){r.push(e);for(let i=n;i<t.length;i++)r.push(t[i]);return r}r.push([o,s])}return r.push(e),r}function VI(t,e){let r=t.findIndex(([s])=>e===s);if(r===-1)throw new Error(`key not found in shard: ${e}`);let n=r,o;for(;;){if(o=t[n][0].slice(0,-1),o.length)for(;;){let s=t.filter(i=>i[0].startsWith(o));if(s.length>1)return{prefix:o,matches:s};if(o=o.slice(0,-1),!o.length)break}if(n++,n>=t.length&&(n=0),n===r)return}}var Hp=64,uz=512*1024;async function tl(t,e,r,n,o={}){let s=new Ms(t),i=await s.get(e),a=await qp(s,i,r),c=a[a.length-1],u=r.slice(c.prefix.length),l=[u,n],d=[];if(u.length>Hp){let h=Array.from(Array(Math.ceil(u.length/Hp)),(b,g)=>{let k=g*Hp;return{prefix:c.prefix+u.slice(0,k),skey:u.slice(k,k+Hp)}}),m=await Mr([[h[h.length-1].skey,n]],h[h.length-1].prefix);d.push(m);for(let b=h.length-2;b>0;b--)m=await Mr([[h[b].skey,[m.cid]]],h[b].prefix),d.push(m);l=[h[0].skey,[m.cid]]}let p=rk(c.value,l),f=await Mr(p,c.prefix);if(f.bytes.length>(o.maxShardSize??uz)){let h=VI(p,l[0]);if(!h)throw new Error("shard limit reached");let{prefix:m,matches:b}=h,g=await Mr(b.filter(([_])=>_!==m).map(([_,P])=>[_.slice(m.length),P]),c.prefix+m);d.push(g);let k,E=b.find(([_])=>_===m);if(E){if(Array.isArray(E[1]))throw new Error(`expected "${m}" to be a shard value but found a shard link`);k=[g.cid,E[1]]}else k=[g.cid];p=p.filter(_=>b.every(P=>_[0]!==P[0])),p=rk(p,[m,k]),f=await Mr(p,c.prefix)}d.push(f);for(let h=a.length-2;h>=0;h--){let m=a[h],b=f.prefix.slice(m.prefix.length),g=m.value.map(k=>{let[E,_]=k;if(E!==b)return k;if(!Array.isArray(_))throw new Error(`"${b}" is not a shard link in: ${m.cid}`);return _[1]==null?[E,[f.cid]]:[E,[f.cid,_[1]]]});f=await Mr(g,m.prefix),d.push(f)}return{root:d[d.length-1].cid,additions:d,removals:a}}async function GI(t,e,r){let n=new Ms(t),o=await n.get(e),s=await qp(n,o,r),i=s[s.length-1],a=r.slice(i.prefix.length),c=i.value.find(([u])=>u===a);if(c)return Array.isArray(c[1])?c[1][1]:c[1]}async function nk(t,e,r){let n=new Ms(t),o=await n.get(e),s=await qp(n,o,r),i=s[s.length-1],a=r.slice(i.prefix.length),c=i.value.findIndex(([h])=>h===a);if(c===-1)return{root:e,additions:[],removals:[]};let u=i.value[c];if(Array.isArray(u[1])&&u[1][1]==null)return{root:e,additions:[],removals:[]};let l=[],d=[...s],p=[...i.value];if(Array.isArray(u[1]))p[c]=[u[0],[u[1][0]]];else for(p.splice(c,1);!p.length;){let h=s[s.length-1],m=s[s.length-2];if(!m)break;s.pop(),p=m.value.filter(b=>Array.isArray(b[1])?b[1][0].toString()!==h.cid.toString():!0)}let f=await Mr(p,s[s.length-1].prefix);l.push(f);for(let h=s.length-2;h>=0;h--){let m=s[h],b=f.prefix.slice(m.prefix.length),g=m.value.map(k=>{let[E,_]=k;if(E!==b)return k;if(!Array.isArray(_))throw new Error(`"${b}" is not a shard link in: ${m.cid}`);return _[1]==null?[E,[f.cid]]:[E,[f.cid,_[1]]]});f=await Mr(g,m.prefix),l.push(f)}return{root:l[l.length-1].cid,additions:l,removals:d}}async function*KI(t,e,r={}){let{prefix:n}=r,o=new Ms(t),s=await o.get(e);yield*async function*i(a){for(let c of a.value){let u=a.prefix+c[0];if(Array.isArray(c[1])){if(c[1][1]&&(!n||n&&u.startsWith(n))&&(yield[u,c[1][1]]),n&&(n.length<=u.length&&!u.startsWith(n)||n.length>u.length&&!n.startsWith(u)))continue;yield*i(await o.get(c[1][0],u))}else{if(n&&!u.startsWith(n))continue;yield[u,c[1]]}}}(s)}async function qp(t,e,r){for(let[n,o]of e.value){if(r===n)return[e];if(r.startsWith(n)&&Array.isArray(o)){let s=await qp(t,await t.get(o[0],e.prefix+n),r.slice(n.length));return[e,...s]}}return[e]}async function ZI(t,e,r,n,o){let s=new pt;if(t=new Ds(s,t),!e.length){let g=await $s.create();s.putSync(g.cid,g.bytes);let k=await tl(t,g.cid,r,n,o),E={type:"put",root:k.root,key:r,value:n},_=await As.create(E,e);return e=await Vu(t,e,_.cid),{root:k.root,additions:[g,...k.additions],removals:k.removals,head:e,event:_}}let i=new Rr(t),a=await sk(i,e);if(!a)throw new Error("failed to find common ancestor event");let c=await i.get(a),{root:u}=c.value.data,l=await QI(i,e,a),d=new Map,p=new Map;for(let{value:g}of l){if(!["put","del"].includes(g.data.type))throw new Error(`unknown event type: ${g.data.type}`);let k=g.data.type==="put"?await tl(t,u,g.data.key,g.data.value):await nk(t,u,g.data.key);u=k.root;for(let E of k.additions)s.putSync(E.cid,E.bytes),d.set(E.cid.toString(),E);for(let E of k.removals)p.set(E.cid.toString(),E)}let f=await tl(t,u,r,n,o);for(let g of f.additions)s.putSync(g.cid,g.bytes),d.set(g.cid.toString(),g);for(let g of f.removals)p.set(g.cid.toString(),g);let h={type:"put",root:f.root,key:r,value:n},m=await As.create(h,e);s.putSync(m.cid,m.bytes),e=await Vu(t,e,m.cid);let b=f.root.toString();for(let g of p.keys())d.has(g)&&g!==b&&(d.delete(g),p.delete(g));return{root:f.root,additions:[...d.values()],removals:[...p.values()],head:e,event:m}}async function Da(t,e){if(!e.length)throw new Error("cannot determine root of headless clock");let r=new pt;t=new Ds(r,t);let n=new Rr(t);if(e.length===1){let d=await n.get(e[0]),{root:p}=d.value.data;return{root:p,additions:[],removals:[]}}let o=await sk(n,e);if(!o)throw new Error("failed to find common ancestor event");let s=await n.get(o),{root:i}=s.value.data,a=await QI(n,e,o),c=new Map,u=new Map;for(let{value:d}of a){if(!["put","del"].includes(d.data.type))throw new Error(`unknown event type: ${d.data.type}`);let p=d.data.type==="put"?await tl(t,i,d.data.key,d.data.value):await nk(t,i,d.data.key);i=p.root;for(let f of p.additions)r.putSync(f.cid,f.bytes),c.set(f.cid.toString(),f);for(let f of p.removals)u.set(f.cid.toString(),f)}let l=i.toString();for(let d of u.keys())c.has(d)&&d!==l&&(c.delete(d),u.delete(d));return{root:i,additions:[...c.values()],removals:[...u.values()]}}async function JI(t,e,r){if(!e.length)return;let n=await Da(t,e);return n.additions.length&&(t=new Ds(new pt(n.additions),t)),GI(t,n.root,r)}async function*ok(t,e,r){if(!e.length)return;let n=await Da(t,e);n.additions.length&&(t=new Ds(new pt(n.additions),t)),yield*KI(t,n.root,r)}async function sk(t,e){if(!e.length)return;let r=e.map(n=>[n]);for(;;){let n=!1;for(let o of r){let s=await dz(t,o[o.length-1]);if(!s)continue;n=!0,o.push(s);let i=fz(r);if(i)return i}if(!n)return}}async function dz(t,e){let{value:r}=await t.get(e);return r.parents.length?r.parents.length===1?r.parents[0]:sk(t,r.parents):e}function fz(t){t=t.map(e=>[...e]);for(let e of t)for(let r of e){let n=!0;for(let o of t)if(e!==o&&(n=o.some(s=>String(s)===String(r)),!n))break;if(n)return r}}async function QI(t,e,r){if(e.length===1&&String(e[0])===String(r))return[];let n=new Map,o=await Promise.all(e.map(i=>XI(t,i,r)));for(let i of o)for(let{event:a,depth:c}of i){let u=n.get(a.cid.toString());u?u.weight+=c:n.set(a.cid.toString(),{event:a,weight:c})}let s=new Map;for(let{event:i,weight:a}of n.values()){let c=s.get(a);c?c.push(i):s.set(a,[i])}return Array.from(s).sort((i,a)=>a[0]-i[0]).flatMap(([,i])=>i.sort((a,c)=>String(a.cid)<String(c.cid)?-1:1))}async function XI(t,e,r,n=0){let o=await t.get(e),s=[{event:o,depth:n}],{parents:i}=o.value;if(i.length===1&&String(i[0])===String(r))return s;let a=await Promise.all(i.map(c=>XI(t,c,r,n+1)));return s.concat(...a)}var Yp=_e(Fr(),1);function pz(t){return t[Symbol.asyncIterator]!=null}function mz(t){if(pz(t))return(async()=>{let r;for await(let n of t)r=n;return r})();let e;for(let r of t)e=r;return e}var tB=mz;var $B=_e(Fr(),1);var rB=0,yz="identity",nB=jt,gz=t=>wo(rB,nB(t)),oB={code:rB,name:yz,encode:nB,digest:gz};var sB=_e(Fr(),1);var wz=async(t,e,r,n,o,s,i,a)=>{let c=await i.get(t,a),u=Ge(c),l=u,d=r;for(;n.length>0;){let p=n[0];if(p in l){n.shift(),d=`${d}/${p}`;let f=xe.asCID(l[p]);if(f!=null)return{entry:{type:"object",name:e,path:r,cid:t,node:c,depth:s,size:BigInt(c.length),content:async function*(){yield u}},next:{cid:f,name:p,path:d,toResolve:n}};l=l[p]}else throw(0,sB.default)(new Error(`No property named ${p} found in cbor node ${t}`),"ERR_NO_PROP")}return{entry:{type:"object",name:e,path:r,cid:t,node:c,depth:s,size:BigInt(c.length),content:async function*(){yield u}}}},iB=wz;var aB=_e(Fr(),1);var mt=class extends Event{constructor(e,r){super(e),this.detail=r}};function bz(t,e,r,n){let o=BigInt(t.length),s=BigInt(e+o);return r>=s||n<e?new Uint8Array(0):(n>=e&&n<s&&(t=t.subarray(0,Number(n-e))),r>=e&&r<s&&(t=t.subarray(Number(r-e))),t)}var Fs=bz;var rl=_e(Fr(),1),xz=(t,e=0,r=t)=>{let n=BigInt(t),o=BigInt(e??0),s=BigInt(r);if(s!==n&&(s=o+s),s>n&&(s=n),o<0n)throw(0,rl.default)(new Error("Offset must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(o>n)throw(0,rl.default)(new Error("Offset must be less than the file size"),"ERR_INVALID_PARAMS");if(s<0n)throw(0,rl.default)(new Error("Length must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(s>n)throw(0,rl.default)(new Error("Length must be less than the file size"),"ERR_INVALID_PARAMS");return{start:o,end:s}},Ta=xz;var kz=t=>{async function*e(r={}){let{start:n,end:o}=Ta(t.length,r.offset,r.length),s=Fs(t,0n,n,o);r.onProgress?.(new mt("unixfs:exporter:progress:identity",{bytesRead:BigInt(s.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield s}return e},vz=async(t,e,r,n,o,s,i,a)=>{if(n.length>0)throw(0,aB.default)(new Error(`No link named ${r} found in raw node ${t}`),"ERR_NOT_FOUND");let c=Al(t.multihash.bytes);return{entry:{type:"identity",name:e,path:r,cid:t,content:kz(c.digest),depth:s,size:BigInt(c.digest.length),node:c.digest}}},cB=vz;var uB=_e(Fr(),1);var Sz=t=>{async function*e(r={}){let{start:n,end:o}=Ta(t.length,r.offset,r.length),s=Fs(t,0n,n,o);r.onProgress?.(new mt("unixfs:exporter:progress:raw",{bytesRead:BigInt(s.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield s}return e},Ez=async(t,e,r,n,o,s,i,a)=>{if(n.length>0)throw(0,uB.default)(new Error(`No link named ${r} found in raw node ${t}`),"ERR_NOT_FOUND");let c=await i.get(t,a);return{entry:{type:"raw",name:e,path:r,cid:t,content:Sz(c),depth:s,size:BigInt(c.length),node:c}}},lB=Ez;var il=_e(Fr(),1);var dk=_e(Fr(),1);var ik=_e(Mf(),1),dB=_e(cb(),1),fB=_e(on(),1),ak=_e(Of(),1),hB=_e(sb(),1);function _z(){fB.default._configure(),ik.default._configure(dB.default),ak.default._configure(hB.default)}_z();var pB=["uint64","int64","sint64","fixed64","sfixed64"];function Az(t){for(let e of pB){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function ck(t){return Az(new ik.default(t))}function Dz(t){for(let e of pB){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function uk(){return Dz(ak.default.create())}function nl(t,e){let r=ck(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function ol(t,e){let r=uk();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Ca;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Ca||(Ca={}));function Vp(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function lk(t){function e(o){if(t[o.toString()]==null)throw new Error("Invalid enum value");return t[o]}let r=function(s,i){let a=e(s);i.int32(a)},n=function(s){let i=s.int32();return e(i)};return Vp("enum",Ca.VARINT,r,n)}function sl(t,e){return Vp("message",Ca.LENGTH_DELIMITED,t,e)}var yr;(function(t){let e;(function(o){o.Raw="Raw",o.Directory="Directory",o.File="File",o.Metadata="Metadata",o.Symlink="Symlink",o.HAMTShard="HAMTShard"})(e=t.DataType||(t.DataType={}));let r;(function(o){o[o.Raw=0]="Raw",o[o.Directory=1]="Directory",o[o.File=2]="File",o[o.Metadata=3]="Metadata",o[o.Symlink=4]="Symlink",o[o.HAMTShard=5]="HAMTShard"})(r||(r={})),function(o){o.codec=()=>lk(r)}(e=t.DataType||(t.DataType={}));let n;t.codec=()=>(n==null&&(n=sl((o,s,i={})=>{if(i.lengthDelimited!==!1&&s.fork(),o.Type!=null&&(s.uint32(8),t.DataType.codec().encode(o.Type,s)),o.Data!=null&&(s.uint32(18),s.bytes(o.Data)),o.filesize!=null&&(s.uint32(24),s.uint64(o.filesize)),o.blocksizes!=null)for(let a of o.blocksizes)s.uint32(32),s.uint64(a);o.hashType!=null&&(s.uint32(40),s.uint64(o.hashType)),o.fanout!=null&&(s.uint32(48),s.uint64(o.fanout)),o.mode!=null&&(s.uint32(56),s.uint32(o.mode)),o.mtime!=null&&(s.uint32(66),Gp.codec().encode(o.mtime,s)),i.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let i={blocksizes:[]},a=s==null?o.len:o.pos+s;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:i.Type=t.DataType.codec().decode(o);break;case 2:i.Data=o.bytes();break;case 3:i.filesize=o.uint64();break;case 4:i.blocksizes.push(o.uint64());break;case 5:i.hashType=o.uint64();break;case 6:i.fanout=o.uint64();break;case 7:i.mode=o.uint32();break;case 8:i.mtime=Gp.codec().decode(o,o.uint32());break;default:o.skipType(c&7);break}}return i})),n),t.encode=o=>ol(o,t.codec()),t.decode=o=>nl(o,t.codec())})(yr||(yr={}));var Gp;(function(t){let e;t.codec=()=>(e==null&&(e=sl((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Seconds!=null&&(n.uint32(8),n.int64(r.Seconds)),r.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(r.FractionalNanoseconds)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let i=r.uint32();switch(i>>>3){case 1:o.Seconds=r.int64();break;case 2:o.FractionalNanoseconds=r.fixed32();break;default:r.skipType(i&7);break}}return o})),e),t.encode=r=>ol(r,t.codec()),t.decode=r=>nl(r,t.codec())})(Gp||(Gp={}));var mB;(function(t){let e;t.codec=()=>(e==null&&(e=sl((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.MimeType!=null&&(n.uint32(10),n.string(r.MimeType)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let i=r.uint32();switch(i>>>3){case 1:o.MimeType=r.string();break;default:r.skipType(i&7);break}}return o})),e),t.encode=r=>ol(r,t.codec()),t.decode=r=>nl(r,t.codec())})(mB||(mB={}));var yB={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},Tz=["directory","hamt-sharded-directory"],gB=parseInt("0644",8),wB=parseInt("0755",8),Ia=class t{constructor(e={type:"file"}){w(this,"type");w(this,"data");w(this,"blockSizes");w(this,"hashType");w(this,"fanout");w(this,"mtime");w(this,"_mode");w(this,"_originalMode");let{type:r,data:n,blockSizes:o,hashType:s,fanout:i,mtime:a,mode:c}=e;if(r!=null&&!Object.values(yB).includes(r))throw(0,dk.default)(new Error("Type: "+r+" is not valid"),"ERR_INVALID_TYPE");this.type=r??"file",this.data=n,this.hashType=s,this.fanout=i,this.blockSizes=o??[],this._originalMode=0,this.mode=c,this.mtime=a}static unmarshal(e){let r=yr.decode(e),n=new t({type:yB[r.Type!=null?r.Type.toString():"File"],data:r.Data,blockSizes:r.blocksizes,mode:r.mode,mtime:r.mtime!=null?{secs:r.mtime.Seconds??0n,nsecs:r.mtime.FractionalNanoseconds}:void 0});return n._originalMode=r.mode??0,n}set mode(e){e==null?this._mode=this.isDirectory()?wB:gB:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return Tz.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(r=>{e+=r}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=yr.DataType.Raw;break;case"directory":e=yr.DataType.Directory;break;case"file":e=yr.DataType.File;break;case"metadata":e=yr.DataType.Metadata;break;case"symlink":e=yr.DataType.Symlink;break;case"hamt-sharded-directory":e=yr.DataType.HAMTShard;break;default:throw(0,dk.default)(new Error(`Type: ${e} is not valid`),"ERR_INVALID_TYPE")}let r=this.data;(this.data==null||this.data.length===0)&&(r=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===gB&&!this.isDirectory()&&(n=void 0),n===wB&&this.isDirectory()&&(n=void 0));let o;return this.mtime!=null&&(o={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),yr.encode({Type:e,Data:r,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:o})}};var vB=_e(kB(),1);var zs=class t{constructor(e,r,n=0){this._options=e,this._popCount=0,this._parent=r,this._posAtParent=n,this._children=new vB.default,this.key=null}async put(e,r){let n=await this._findNewBucketAndPos(e);await n.bucket._putAt(n,e,r)}async get(e){let r=await this._findChild(e);if(r!=null)return r.value}async del(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);n!=null&&n.key===e&&r.bucket._delAt(r.pos)}leafCount(){return this._children.compactArray().reduce((r,n)=>n instanceof t?r+n.leafCount():r+1,0)}childrenCount(){return this._children.length}onlyChild(){return this._children.get(0)}*eachLeafSeries(){let e=this._children.compactArray();for(let r of e)r instanceof t?yield*r.eachLeafSeries():yield r}serialize(e,r){let n=[];return r(this._children.reduce((o,s,i)=>(s!=null&&(s instanceof t?o.push(s.serialize(e,r)):o.push(e(s,i))),o),n))}async asyncTransform(e,r){return await SB(this,e,r)}toJSON(){return this.serialize(Lz,Uz)}prettyPrint(){return JSON.stringify(this.toJSON(),null," ")}tableSize(){return Math.pow(2,this._options.bits)}async _findChild(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);if(!(n instanceof t)&&n!=null&&n.key===e)return n}async _findPlace(e){let r=this._options.hash(typeof e=="string"?Qr(e):e),n=await r.take(this._options.bits),o=this._children.get(n);return o instanceof t?await o._findPlace(r):{bucket:this,pos:n,hash:r,existingChild:o}}async _findNewBucketAndPos(e){let r=await this._findPlace(e);if(r.existingChild!=null&&r.existingChild.key!==e){let n=new t(this._options,r.bucket,r.pos);r.bucket._putObjectAt(r.pos,n);let o=await n._findPlace(r.existingChild.hash);return o.bucket._putAt(o,r.existingChild.key,r.existingChild.value),await n._findNewBucketAndPos(r.hash)}return r}_putAt(e,r,n){this._putObjectAt(e.pos,{key:r,value:n,hash:e.hash})}_putObjectAt(e,r){this._children.get(e)==null&&this._popCount++,this._children.set(e,r)}_delAt(e){if(e===-1)throw new Error("Invalid position");this._children.get(e)!=null&&this._popCount--,this._children.unset(e),this._level()}_level(){if(this._parent!=null&&this._popCount<=1)if(this._popCount===1){let e=this._children.find(Pz);if(e!=null&&!(e instanceof t)){let r=e.hash;r.untake(this._options.bits);let n={pos:this._posAtParent,hash:r,bucket:this._parent};this._parent._putAt(n,e.key,e.value)}}else this._parent._delAt(this._posAtParent)}_at(e){return this._children.get(e)}};function Pz(t){return!!t}function Lz(t,e){return t.key}function Uz(t){return t}async function SB(t,e,r){let n=[];for(let o of t._children.compactArray())if(o instanceof zs)await SB(o,e,r);else{let s=await e(o);n.push({bitField:t._children.bitField(),children:s})}return await r(n)}var Rz=[255,254,252,248,240,224,192,128],Nz=[1,3,7,15,31,63,127,255],Kp=class{constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let r=e,n=0;for(;r>0&&this._haveBits();){let o=this._value[this._currentBytePos],s=this._currentBitPos+1,i=Math.min(s,r),a=Oz(o,s-i,i);n=(n<<i)+a,r-=i,this._currentBitPos-=i,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Oz(t,e,r){let n=$z(e,r);return(t&n)>>>e}function $z(t,e){return Rz[t]&Nz[Math.min(e+t-1,7)]}function EB(t){function e(r){return r instanceof Zp?r:new Zp(r,t)}return e}var Zp=class{constructor(e,r){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=r,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let r=e;for(;this._availableBits<r;)await this._produceMoreBits();let n=0;for(;r>0;){let o=this._buffers[this._currentBufferIndex],s=Math.min(o.availableBits(),r),i=o.take(s);n=(n<<s)+i,r-=s,this._availableBits-=s,o.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let r=e;for(;r>0;){let n=this._buffers[this._currentBufferIndex],o=Math.min(n.totalBits()-n.availableBits(),r);n.untake(o),r-=o,this._availableBits+=o,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?zg([this._value,Uint8Array.from([this._depth])]):this._value,r=await this._hashFn(e),n=new Kp(r);this._buffers.push(n),this._availableBits+=n.availableBits()}};function _B(t){if(t==null||t.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:t.bits??8,hash:EB(t.hashFn)};return new zs(e)}var Mz=async function(t){return(await JD.encode(t)).slice(0,8).reverse()},Fz=async(t,e,r)=>{await Promise.all(t.map(async n=>{if(n.Name==null)throw new Error("Unexpected Link without a Name");if(n.Name.length===2){let o=parseInt(n.Name,16);e._putObjectAt(o,new zs({hash:r._options.hash,bits:r._options.bits},e,o));return}await r.put(n.Name.substring(2),!0)}))},AB=t=>t.toString(16).toUpperCase().padStart(2,"0").substring(0,2),zz=t=>{let e=t.bucket,r=[];for(;e._parent!=null;)r.push(e),e=e._parent;return r.push(e),r.reverse()},DB=async(t,e,r,n,o)=>{if(n==null){let l=_B({hashFn:Mz});n={rootBucket:l,hamtDepth:1,lastBucket:l}}await Fz(t.Links,n.lastBucket,n.rootBucket);let s=await n.rootBucket._findNewBucketAndPos(e),i=AB(s.pos),a=zz(s);a.length>n.hamtDepth&&(n.lastBucket=a[n.hamtDepth],i=AB(n.lastBucket._posAtParent));let c=t.Links.find(l=>{if(l.Name==null)return!1;let d=l.Name.substring(0,2),p=l.Name.substring(2);return!(d!==i||p!==""&&p!==e)});if(c==null)return;if(c.Name!=null&&c.Name.substring(2)===e)return c.Hash;n.hamtDepth++;let u=await r.get(c.Hash,o);return t=Cr(u),DB(t,e,r,n,o)},TB=DB;function jz(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Jp=jz;function Wz(t){return t[Symbol.asyncIterator]!=null}function Hz(t,e){if(Wz(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Jp(t),{value:n,done:o}=r.next();if(o===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let i=e;return function*(){s===!0&&(yield n);for(let a of r)i(a)&&(yield a)}()}var CB=Hz;function qz(t){return t[Symbol.asyncIterator]!=null}function Vz(t,e){if(qz(t))return async function*(){for await(let a of t)yield e(a)}();let r=Jp(t),{value:n,done:o}=r.next();if(o===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield e(a)}();let i=e;return function*(){yield s;for(let a of r)yield i(a)}()}var Ba=Vz;var Qp=globalThis.CustomEvent??Event;async function*js(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,o=new EventTarget,s=[],i=ft(),a=ft(),c=!1,u,l=!1;o.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(s.length===r&&(i=ft(),await i.promise),l)break;let m={done:!1};s.push(m),h().then(b=>{m.done=!0,m.ok=!0,m.value=b,o.dispatchEvent(new Qp("task-complete"))},b=>{m.done=!0,m.err=b,o.dispatchEvent(new Qp("task-complete"))})}c=!0,o.dispatchEvent(new Qp("task-complete"))}catch(h){u=h,o.dispatchEvent(new Qp("task-complete"))}});function d(){return n?s[0]?.done:!!s.find(h=>h.done)}function*p(){for(;s.length>0&&s[0].done;){let h=s[0];if(s.shift(),h.ok)yield h.value;else throw l=!0,i.resolve(),h.err;i.resolve()}}function*f(){for(;d();)for(let h=0;h<s.length;h++)if(s[h].done){let m=s[h];if(s.splice(h,1),h--,m.ok)yield m.value;else throw l=!0,i.resolve(),m.err;i.resolve()}}for(;;){if(d()||(a=ft(),await a.promise),u!=null)throw u;if(n?yield*p():yield*f(),c&&s.length===0)break}}var Xp=class{constructor(e){w(this,"buffer");w(this,"mask");w(this,"top");w(this,"btm");w(this,"next");if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Pa=class{constructor(e={}){w(this,"size");w(this,"hwm");w(this,"head");w(this,"tail");this.hwm=e.splitLimit??16,this.head=new Xp(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Xp(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var fk=class extends Error{constructor(r,n){super(r??"The operation was aborted");w(this,"type");w(this,"code");this.type="aborted",this.code=n??"ABORT_ERR"}};function La(t={}){return Gz(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Gz(t,e){e=e??{};let r=e.onEnd,n=new Pa,o,s,i,a=ft(),c=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((b,g)=>{s=k=>{s=null,n.push(k);try{b(t(n))}catch(E){g(E)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=ft()})}},u=b=>s!=null?s(b):(n.push(b),o),l=b=>(n=new Pa,s!=null?s({error:b}):(n.push({error:b}),o)),d=b=>{if(i)return o;if(e?.objectMode!==!0&&b?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:b})},p=b=>i?o:(i=!0,b!=null?l(b):u({done:!0})),f=()=>(n=new Pa,p(),{done:!0}),h=b=>(p(b),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:f,throw:h,push:d,end:p,get readableLength(){return n.size},onEmpty:async b=>{let g=b?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let k,E;g!=null&&(k=new Promise((_,P)=>{E=()=>{P(new fk)},g.addEventListener("abort",E)}));try{await Promise.race([a.promise,k])}finally{E!=null&&g!=null&&g?.removeEventListener("abort",E)}}},r==null)return o;let m=o;return o={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(b){return m.throw(b),r!=null&&(r(b),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:d,end(b){return m.end(b),r!=null&&(r(b),r=void 0),o},get readableLength(){return m.readableLength}},o}function Kz(t){return t[Symbol.asyncIterator]!=null}function Zz(...t){let e=[];for(let r of t)Kz(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=La({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let o of n)r.push(o)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var IB=Zz;function Ua(t,...e){if(t==null)throw new Error("Empty pipeline");if(hk(t)){let n=t;t=()=>n.source}else if(PB(t)||BB(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&hk(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)hk(r[n])&&(r[n]=Qz(r[n]));return Jz(...r)}var Jz=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},BB=t=>t?.[Symbol.asyncIterator]!=null,PB=t=>t?.[Symbol.iterator]!=null,hk=t=>t==null?!1:t.sink!=null&&t.source!=null,Qz=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=La({objectMode:!0});r.then(()=>{n.end()},i=>{n.end(i)});let o,s=t.source;if(BB(s))o=async function*(){yield*s,n.end()};else if(PB(s))o=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return IB(n,o())}return t.source};var Xz=(t,e,r,n,o,s,i)=>{async function*a(c={}){let u=c.offset??0,l=c.length??e.Links.length,d=e.Links.slice(u,l);c.onProgress?.(new mt("unixfs:exporter:walk:directory",{cid:t})),yield*Ua(d,p=>Ba(p,f=>async()=>{let h=f.Name??"",m=`${n}/${h}`;return(await o(f.Hash,h,m,[],s+1,i,c)).entry}),p=>js(p,{ordered:!0}),p=>CB(p,f=>f!=null))}return a},LB=Xz;var Ws=_e(Fr(),1);async function UB(t,e,r,n,o,s,i){if(e instanceof Uint8Array){let u=Fs(e,n,o,s);r.push(u);return}if(e.Data==null)throw(0,Ws.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");let a;try{a=Ia.unmarshal(e.Data)}catch(u){throw(0,Ws.default)(u,"ERR_NOT_UNIXFS")}if(a.data!=null){let u=a.data,l=Fs(u,n,o,s);r.push(l),n+=BigInt(l.byteLength)}let c=[];if(e.Links.length!==a.blockSizes.length)throw(0,Ws.default)(new Error("Inconsistent block sizes and dag links"),"ERR_NOT_UNIXFS");for(let u=0;u<e.Links.length;u++){let l=e.Links[u],d=n,p=d+a.blockSizes[u];if((o>=d&&o<p||s>=d&&s<=p||o<d&&s>p)&&c.push({link:l,blockStart:n}),n=p,n>s)break}await Ua(c,u=>Ba(u,l=>async()=>{let d=await t.get(l.link.Hash,i);return{...l,block:d}}),u=>js(u,{ordered:!0}),async u=>{for await(let{link:l,block:d,blockStart:p}of u){let f;switch(l.Hash.code){case Jn:f=Cr(d);break;case Zu:f=d;break;default:r.end((0,Ws.default)(new Error(`Unsupported codec: ${l.Hash.code}`),"ERR_NOT_UNIXFS"));return}let h=new hs({concurrency:1});h.on("error",m=>{r.end(m)}),h.add(async()=>{i.onProgress?.(new mt("unixfs:exporter:walk:file",{cid:l.Hash})),await UB(t,f,r,p,o,s,i)}),await h.onIdle()}}),n>=s&&r.end()}var Yz=(t,e,r,n,o,s,i)=>{async function*a(c={}){let u=r.fileSize();if(u===void 0)throw new Error("File was a directory");let{start:l,end:d}=Ta(u,c.offset,c.length);if(d===0n)return;let p=0n,f=d-l,h=La();c.onProgress?.(new mt("unixfs:exporter:walk:file",{cid:t})),UB(i,e,h,0n,l,d,c).catch(m=>{h.end(m)});for await(let m of h)if(m!=null){if(p+=BigInt(m.byteLength),p>f)throw h.end(),(0,Ws.default)(new Error("Read too many bytes - the file size reported by the UnixFS data in the root node may be incorrect"),"ERR_OVER_READ");p===f&&h.end(),c.onProgress?.(new mt("unixfs:exporter:progress:unixfs:file",{bytesRead:p,totalBytes:f,fileSize:u})),yield m}if(p<f)throw(0,Ws.default)(new Error("Traversed entire DAG but did not read enough bytes"),"ERR_UNDER_READ")}return a},pk=Yz;var ej=(t,e,r,n,o,s,i)=>{function a(c={}){return c.onProgress?.(new mt("unixfs:exporter:walk:hamt-sharded-directory",{cid:t})),RB(e,n,o,s,i,c)}return a};async function*RB(t,e,r,n,o,s){let i=t.Links,a=Ua(i,c=>Ba(c,u=>async()=>{let l=u.Name!=null?u.Name.substring(2):null;if(l!=null&&l!==""){let d=await r(u.Hash,l,`${e}/${l}`,[],n+1,o,s);return{entries:d.entry==null?[]:[d.entry]}}else{let d=await o.get(u.Hash,s);return t=Cr(d),s.onProgress?.(new mt("unixfs:exporter:walk:hamt-sharded-directory",{cid:u.Hash})),{entries:RB(t,e,r,n,o,s)}}}),c=>js(c,{ordered:!0}));for await(let{entries:c}of a)yield*c}var NB=ej;var tj=(t,e)=>t.Links.find(n=>n.Name===e)?.Hash,rj={raw:pk,file:pk,directory:LB,"hamt-sharded-directory":NB,metadata:(t,e,r,n,o,s,i)=>()=>[],symlink:(t,e,r,n,o,s,i)=>()=>[]},nj=async(t,e,r,n,o,s,i,a)=>{let c=await i.get(t,a),u=Cr(c),l,d;if(e==null&&(e=t.toString()),u.Data==null)throw(0,il.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");try{l=Ia.unmarshal(u.Data)}catch(f){throw(0,il.default)(f,"ERR_NOT_UNIXFS")}if(r==null&&(r=e),n.length>0){let f;if(l?.type==="hamt-sharded-directory"?f=await TB(u,n[0],i):f=tj(u,n[0]),f==null)throw(0,il.default)(new Error("file does not exist"),"ERR_NOT_FOUND");let h=n.shift(),m=`${r}/${h}`;d={cid:f,toResolve:n,name:h??"",path:m}}let p=rj[l.type](t,u,l,r,o,s,i);if(p==null)throw(0,il.default)(new Error("could not find content exporter"),"ERR_NOT_FOUND");return l.isDirectory()?{entry:{type:"directory",name:e,path:r,cid:t,content:p,unixfs:l,depth:s,node:u,size:l.fileSize()},next:d}:{entry:{type:"file",name:e,path:r,cid:t,content:p,unixfs:l,depth:s,node:u,size:l.fileSize()},next:d}},OB=nj;var oj={[Jn]:OB,[Zu]:lB,[Ct]:iB,[oB.code]:cB},MB=async(t,e,r,n,o,s,i)=>{let a=oj[t.code];if(a==null)throw(0,$B.default)(new Error(`No resolver for code ${t.code}`),"ERR_NO_RESOLVER");return a(t,e,r,n,MB,o,s,i)},FB=MB;var sj=(t="")=>(t.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),ij=t=>{if(t instanceof Uint8Array)return{cid:xe.decode(t),toResolve:[]};let e=xe.asCID(t);if(e!=null)return{cid:e,toResolve:[]};if(typeof t=="string"){t.indexOf("/ipfs/")===0&&(t=t.substring(6));let r=sj(t);return{cid:xe.parse(r[0]),toResolve:r.slice(1)}}throw(0,Yp.default)(new Error(`Unknown path type ${t}`),"ERR_BAD_PATH")};async function*aj(t,e,r={}){let{cid:n,toResolve:o}=ij(t),s=n.toString(),i=s,a=o.length;for(;;){let c=await FB(n,s,i,o,a,e,r);if(c.entry==null&&c.next==null)throw(0,Yp.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");if(c.entry!=null&&(yield c.entry),c.next==null)return;o=c.next.toResolve,n=c.next.cid,s=c.next.name,i=c.next.path}}async function zB(t,e,r={}){let n=await tB(aj(t,e,r));if(n==null)throw(0,Yp.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");return n}var cj=ph(),uj=Lr({fileChunkEncoder:uo,smallFileEncoder:uo,chunker:ru(1024*1024),fileLayout:ta(1024)});async function jB(t){let e=lj(t),r=await dj(e);return{cid:r.at(-1).cid,blocks:r}}async function WB(t,e,r){let n=await zB(e.toString(),t,{length:r.size}),o=[];for await(let s of n.content())o.push(s);return new File(o,n.name,{type:r.type,lastModified:0})}function lj(t){let{readable:e,writable:r}=new TransformStream({},cj),n=yu({writable:r,settings:uj}),o=new mk("",t);return(async()=>(await o.finalize(n),await n.close()))(),e}async function dj(t){let e=[];return await t.pipeTo(new WritableStream({write(r){e.push(r)}})),e}var al,mk=class{constructor(e,r){De(this,al,void 0);w(this,"name");this.name=e,Ce(this,al,r)}async finalize(e){let r=ls(e);return await j(this,al).stream().pipeTo(new WritableStream({async write(n){await r.write(n)}})),await r.close()}};al=new WeakMap;async function VB(t,e,r,n){let o;for(let s of r){let i=await fj(t,s);o=await ZI(t,e,s.key,i,n);let a=o.root.toString();o.additions.some(u=>u.cid.toString()===a)||await t.get(o.root)||(console.error(`missing root in additions: ${o.additions.length} ${a} keys: ${r.map(l=>l.key).toString()}`),o.head=e);for(let{cid:u,bytes:l}of[...o.additions,...o.removals,o.event])t.putSync(u,l);e=o.head}return{head:e}}async function fj(t,e){let r;e.del?r={del:!0}:(await hj(t,e.value),r={doc:e.value});let n=await Nr({value:r,hasher:Et,codec:Ae});return t.putSync(n.cid,n.bytes),n.cid}async function hj(t,e){e._files&&await HB(t,e._files),e._publicFiles&&await HB(t,e._publicFiles,!0)}async function HB(t,e,r=!1){let n=t.parent,o=new ho(n);n.transactions.add(o);let s=[],i=0;for(let a in e)if(File===e[a].constructor){let c=e[a];i+=c.size;let{cid:u,blocks:l}=await jB(c);s.push(a);for(let d of l)o.putSync(d.cid,d.bytes);e[a]={cid:u,type:c.type,size:c.size}}if(i>1024*1024*1)throw new Error("Sync limit for files in a single update is 1MB");if(s.length){let a=await n.loader?.commit(o,{files:e},{public:r});if(a)for(let c of s)e[c]={car:a,...e[c]}}}async function GB(t,e,r){if(!e.length)throw new Error("Getting from an empty database");let n=await JI(t,e,r);if(!n)throw new Error(`Missing key ${r}`);return await bk(t,n)}function wk(t,{doc:e}){e&&(e._files&&qB(t,e._files),e._publicFiles&&qB(t,e._publicFiles,!0))}function qB(t,e,r=!1){for(let n in e){let o=e[n];if(o.cid&&(r&&(o.url=`https://${o.cid.toString()}.ipfs.w3s.link/`),o.car&&t.loader)){let s=t.loader;o.file=async()=>await WB({get:async i=>{let c=await(await s.loadFileCar(o.car,r)).get(i);if(!c)throw new Error(`Missing block ${i.toString()}`);return c.bytes}},o.cid,o)}e[n]=o}}async function bk(t,e){let r=await t.get(e);if(!r)throw new Error(`Missing linked block ${e.toString()}`);let{value:n}=await co({bytes:r.bytes,hasher:Et,codec:Ae});return wk(t,n),n}var yk=class extends Rr{async get(e){try{return await super.get(e)}catch(r){return console.error("missing event",e.toString(),r),{value:null}}}};async function xk(t,e,r,n){let o=n.dirty?new yk(t):new Rr(t);return{result:(await gk(t,o,e,r,[],new Set,new Set,n.limit||1/0)).reverse(),head:e}}async function gk(t,e,r,n,o=[],s,i,a){if(a<=0)return o;let c=r.map(u=>u.toString());for(let u of n)if(c.includes(u.toString()))return o;for(let u of r){if(i.has(u.toString()))continue;i.add(u.toString());let{value:l}=await e.get(u);if(!l)continue;let{key:d,value:p}=l.data;if(s.has(d))l.parents&&(o=await gk(t,e,l.parents,n,o,s,i,a));else{s.add(d);let f=await bk(t,p);o.push({key:d,value:f.doc,del:f.del}),a--,l.parents&&(o=await gk(t,e,l.parents,n,o,s,i,a))}}return o}async function*KB(t,e){for await(let[r,n]of ok(t,e)){let o=await bk(t,n);yield{key:r,value:o.doc,del:o.del}}}async function*ZB(t,e){for await(let r of T0(t,e))yield r}async function JB(t,e){let r=new Wp(t),n=new ho(t);for await(let[,s]of ok(r,e))if(!await r.get(s))throw new Error("Missing block: "+s.toString());for await(let s of T0(r,e));let o=await Da(r,e);for(let{cid:s,bytes:i}of[...o.additions,...o.removals])n.putSync(s,i);await xk(r,e,[],{});for(let s of r.cids){let i=await t.get(s);if(!i)throw new Error("Missing block: "+s.toString());await n.put(s,i.bytes)}await t.commitCompaction(n,e)}var em=class{constructor(){w(this,"head",[]);w(this,"zoomers",new Set);w(this,"watchers",new Set);w(this,"blocks",null)}setHead(e){this.head=e}async applyHead(e,r,n,o=[]){let s=this.head.sort((u,l)=>u.toString().localeCompare(l.toString()));if(r=r.sort((u,l)=>u.toString().localeCompare(l.toString())),s.toString()===r.toString()){this.watchers.forEach(u=>u(o));return}let i=n.sort((u,l)=>u.toString().localeCompare(l.toString()));if(s.toString()===i.toString()){this.setHead(r),this.watchers.forEach(u=>u(o));return}let a=async(u,l)=>{if(u instanceof ho)return await l(u);if(!this.blocks)throw new Error("missing blocks");return await this.blocks.transaction(l,void 0,{noLoader:!0})},{head:c}=await a(e,async u=>{let l=this.head;for(let p of r)l=await Vu(u,l,p);let d=await Da(u,l);for(let{cid:p,bytes:f}of[...d.additions,...d.removals])u.putSync(p,f);return{head:l}});this.setHead(c),this.zoomers.forEach(u=>u()),this.watchers.forEach(u=>u(o))}onTick(e){this.watchers.add(e)}onZoom(e){this.zoomers.add(e)}};var tm=class{constructor(e,r){w(this,"name");w(this,"opts",{});w(this,"ready");w(this,"blocks");w(this,"indexBlocks");w(this,"indexers",new Map);w(this,"clock",new em);this.name=e||null,this.opts=r||this.opts,this.blocks=new jp(this.name,this.clock,this.opts),this.clock.blocks=this.blocks,this.indexBlocks=new zp(this.opts.persistIndexes&&this.name?this.name+".idx":null,this,this.opts),this.ready=Promise.all([this.blocks.ready,this.indexBlocks.ready]).then(()=>{}),this.clock.onZoom(()=>{for(let n of this.indexers.values())n._resetIndex()})}async bulk(e,r){return await this.ready,await this.blocks.transaction(async n=>{let o=[...this.clock.head],{head:s}=await VB(n,this.clock.head,e,r);return e=e.map(({key:i,value:a,del:c})=>(wk(this.blocks,{doc:a}),{key:i,value:a,del:c})),await this.clock.applyHead(n,s,o,e),{head:s}})}async allDocs(){await this.ready;let e=[];for await(let r of KB(this.blocks,this.clock.head))e.push(r);return{result:e,head:this.clock.head}}async vis(){await this.ready;let e=[];for await(let r of ZB(this.blocks,this.clock.head))e.push(r);return e.join(`
|
25
|
-
`)}async get(e){await this.ready;let r=await GB(this.blocks,this.clock.head,e);return r.del?null:r}async changes(e=[],r={}){return await this.ready,await xk(this.blocks,this.clock.head,e,r)}async compact(){if(await this.ready,!(this.blocks.loader&&this.blocks.loader.carLog.length<2))return await JB(this.blocks,this.clock.head)}};var Hs=class{constructor(e,r){w(this,"name");w(this,"opts",{});w(this,"_listeners",new Set);w(this,"_crdt");w(this,"_writeQueue");this.name=e||null,this.opts=r||this.opts,this._crdt=new tm(e,this.opts),this._crdt.clock.onTick(n=>{this._notify(n)}),this._writeQueue=oI(async n=>await this._crdt.bulk(n))}async get(e){let r=await this._crdt.get(e).catch(o=>{throw o.message=`Not found: ${e} - `+o.message,o});if(!r)throw new Error(`Not found: ${e}`);let{doc:n}=r;return{_id:e,...n}}async put(e){let{_id:r,...n}=e,o=r||nI(),s=await this._writeQueue.push({key:o,value:n});return{id:o,clock:s?.head}}async del(e){let r=await this._writeQueue.push({key:e,del:!0});return{id:e,clock:r?.head}}async changes(e=[],r={}){let{result:n,head:o}=await this._crdt.changes(e,r);return{rows:n.map(({key:i,value:a,del:c})=>({key:i,value:c?{_id:i,_deleted:!0}:{_id:i,...a}})),clock:o}}subscribe(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}async query(e,r={}){return await(typeof e=="string"?el({_crdt:this._crdt},e):el({_crdt:this._crdt},pj(e.toString()),e)).query(r)}async compact(){await this._crdt.compact()}connect(e){return vk.web3(this,e)}async getDashboardURL(e=!0){let r="https://dashboard.fireproof.storage/";if(!this._crdt.blocks.loader?.remoteCarStore)return new URL("/howto",r);e&&await this.compact();let n=await this._crdt.blocks.loader?.metaStore?.load();if(!n)throw new Error("Can't sync empty database: save data first");if(n.length>1)throw new Error("Can't sync database with split heads: make an update first");let o=n[0],s={car:o.car.toString()};o.key&&(s.key=o.key.toString()),this.name&&(s.name=this.name);let i=new URL("/import#"+new URLSearchParams(s).toString(),r);return console.log("Import to dashboard: "+i.toString()),i}openDashboard(){this.getDashboardURL().then(e=>{e&&window.open(e.toString(),"_blank")})}async _notify(e){if(this._listeners.size){let r=e.map(({key:n,value:o})=>({_id:n,...o}));for(let n of this._listeners)await(async()=>await n(r))().catch(o=>{console.error("subscriber error",o)})}}};w(Hs,"databases",new Map);function kk(t,e){if(!Hs.databases.has(t)){let r=new Hs(t,e);["get","put","del","changes","subscribe","query","compact","connect","getDashboardURL","openDashboard"].forEach(n=>{r[n]=r[n].bind(r)}),Hs.databases.set(t,r)}return Hs.databases.get(t)}function pj(t){let e=/\(([^,()]+,\s*[^,()]+|\[[^\]]+\],\s*[^,()]+)\)/g,r=null;return Array.from(t.matchAll(e),o=>o[1].trim()).length===0&&(r=/=>\s*(.*)/.exec(t)),r?r[1]:t}var Sk=t=>new Promise(e=>setTimeout(e,t)),rm=class t extends yn{constructor(r,n,o){super();w(this,"params");w(this,"ready");w(this,"connected");w(this,"client",null);w(this,"clockSpaceDID",null);w(this,"clockProofs",[]);w(this,"parents",[]);w(this,"eventBlocks",new pt);w(this,"accountDb",null);w(this,"accountConnection",null);w(this,"inner",!1);w(this,"loader",null);w(this,"accessIndexFn",(r,n)=>{let o=r;r.type==="access-request"&&n(o.with+o.grantee)});w(this,"pendingWithIdxFn",(r,n)=>{let o=r;r.type==="access-request"&&r.state==="pending"&&n(o.with)});w(this,"ownerIdxFn",(r,n)=>{let o=r;o.type==="clock-space"?n(o.issuer):o.type==="access-request"&&o.state==="granted"&&n(o.grantee)});w(this,"authorized",null);w(this,"authDone");w(this,"authReady");o&&(this.clockSpaceDID=o.did),this.params=r,n&&(this.inner=!0,this.accountDb=n),this.ready=this.initializeClient(),this.connected=this.ready.then(async()=>{if(this.authorized)this.authDone=()=>{};else return new Promise(s=>{this.authDone=s})}),this.authReady=this.connected.then(async()=>{this.authorized&&(await this._onAuthorized(),this.startBackgroundSync())})}async authorize(r){console.log("emailing",r),await this.accountConnection.ready;let n=this.accountConnection.client;await n.authorize(r,{capabilities:[{can:"clock/*"},{can:"space/*"},{can:"provider/add"},{can:"store/*"},{can:"upload/*"}]});let o=this.bestSpace(n);o||(o=await n.createSpace("_account")),await n.setCurrentSpace(o.did()),o.registered()||await n.registerSpace(r);let{rows:s}=await this.accountDb.query("accountSpace",{key:o.did()});for(let i of s){let a=i.doc;a.email||(a.email=r,await this.accountDb.put(a))}await this.accountConnection._onAuthorized(),this.clockSpaceDID=this.accountConnection.clockSpaceDID,await this._onAuthorized()}async shareToken(){await this.ready,await this.accountConnection.ready;let r=this.accountConnection.client,{issuer:n}=r._agent;return n.did()}async shareWith(r){let n=this.accountConnection.client,{issuer:o}=n._agent,s={issuer:o,lifetimeInSeconds:60*60*24*365,audience:{did:()=>r},capabilities:[{can:"clock/*",with:this.clockSpaceDIDForDb()}],proofs:n.proofs()},a=await(await wt(s)).archive();if(!a.ok)throw new Error("missing delegationCarBytes");let c=await n.uploadFile(new Blob([a.ok]));return console.log("delegated",c),c}async joinShared(r,n,o){let s=await this.dataDownload({car:r,type:"data",name:this.loader.name}),i=await Kt.extract(s);if(!i.ok)throw new Error("missing delegation");await(await this.connectedClientForDb()).addProof(i.ok);let c=i.ok.capabilities[0].with;n=n||"shared:"+c;let u=kk(n);!o&&location&&(o=location.origin);let l={name:n,schema:o},d=new t(l,void 0,{did:c,connection:this}),{_crdt:{blocks:{loader:p}}}=u;return p?.connectRemote(d),await d.ready,{database:u,connection:d}}async initializeClient(){if(this.inner)this.client=await this.connectClient();else{this.accountDb=kk("_connect-web3"),this.accountConnection=new t(this.params,this.accountDb),this.clockSpaceDID&&(this.accountConnection.clockSpaceDID=this.clockSpaceDID);let{_crdt:{blocks:{loader:r}}}=this.accountDb;r?.connectRemote(this.accountConnection),await this.accountConnection.ready,this.authorized=this.accountConnection.authorized}}async _onAuthorized(){if(this.authDone?.(),this.inner){let{_crdt:{blocks:{loader:r}}}=this.accountDb;await r?.remoteMetaStore?.load("main"),await this.provisionClockSpace(),this.serviceAccessRequests()}}async connectedClientForDb(){return await this.connected,this.inner?this.client:(await this.accountConnection.connected,this.accountConnection.client)}async clockProofsForDb(){if(await this.connected,this.inner){let s=this.clockSpaceDIDForDb(),a=this.client.proofs([{can:"clock/*",with:s}]);if(!a.length)throw new Error("missing clock/* capability on account space");return a}await this.accountConnection.authReady;let r=this.clockSpaceDIDForDb();if(this.clockProofs.length)return this.clockProofs;let o=this.accountConnection.client.proofs([{can:"clock/*",with:r}]);if(o.length&&(this.clockProofs=o),!o.length)throw new Error("need clock/* capability for "+r);return this.clockProofs}clockSpaceDIDForDb(){return this.inner?this.client.currentSpace().did():this.accountConnection.clockSpaceDID}async startBackgroundSync(){this.inner||(await Sk(5e3),await this.refresh(),await this.startBackgroundSync())}async serviceAccessRequests(){let r=this.client,{issuer:n}=r._agent,o=n.did(),{rows:s}=await this.accountDb.query(this.ownerIdxFn,{key:o}),i=s.map(({doc:c})=>c.with),{rows:a}=await this.accountDb.query(this.pendingWithIdxFn,{keys:i});for(let{doc:c}of a){if(!c)throw new Error("missing access request doc");let u=c;if(u.state==="pending"){let l=u.with;if(r.proofs([{can:"clock/*",with:l}]).length){let p={issuer:n,lifetimeInSeconds:31536e3,audience:{did:()=>u.grantee},capabilities:[{can:"clock/*",with:l}],proofs:r.proofs()},h=await(await wt(p)).archive();if(!h.ok)throw new Error("missing delegationCarBytes");u.delegation=h.ok,u._files={delegation:new File([h.ok],"delegation",{type:"application/ucanto"})},u.state="granted",console.log("granting delegation",u),await this.accountDb.put(u)}}}await Sk(5e3),await this.refresh(),await this.serviceAccessRequests()}async waitForAccess(r,n){let o=r+n,{rows:s}=await this.accountDb.query(this.accessIndexFn,{key:o});if(s.length){let i=s[0].doc;if(i.state==="granted"){let a=await Kt.extract(i.delegation);if(!a.ok)throw new Error("missing loadedDelegation");let c=this.client;await c.addProof(a.ok);let u=c.proofs([{can:"clock/*",with:r}]);if(!u.length)throw new Error("failed granting clock/* capability");console.log("accepting delegation",i),this.clockProofs=u;return}else console.log("waiting for access, please ensure another logged-in tab is open",r)}await Sk(3e3),await this.refresh(),await this.waitForAccess(r,n)}async provisionClockSpace(){let r=this.client,n=r._agent.issuer.did();if(this.clockSpaceDID)await this.joinExistingSpace(r,this.clockSpaceDID,n);else{let{rows:o}=await this.accountDb.query("clockName",{key:this.encodeSpaceName()});o.length?await this.handleExistingSpace(o,r,n):await this.handleCreateNewSpace(r)}}async handleExistingSpace(r,n,o){let i=r[0].doc.with;await this.joinExistingSpace(n,i,o)}async joinExistingSpace(r,n,o){let s=r.proofs([{can:"clock/*",with:n}]);this.clockSpaceDID=n,s.length||await this.handleRequestAccess(n,o)}async handleRequestAccess(r,n){let o=r+n,{rows:s}=await this.accountDb.query(this.accessIndexFn,{key:o});if(!s.length){let i={type:"access-request",state:"pending",with:r,capabilities:["clock/*"],grantee:n,ua:navigator.userAgent};await this.accountDb.put(i)}await this.waitForAccess(r,n)}async handleCreateNewSpace(r){let n=await r.createSpace(this.encodeSpaceName());this.clockSpaceDID=n.did();let o={type:"clock-space",...this.params,clockName:this.encodeSpaceName(),with:this.clockSpaceDID,accountSpace:r.currentSpace().did(),issuer:r._agent.issuer.did(),ua:navigator.userAgent,created:Date.now()};await this.accountDb.put(o)}encodeSpaceName(){let r=encodeURIComponent(this.params.schema),n=encodeURIComponent(this.params.name);return`_clock/${r}/${n}`}decodeSpaceName(r){let[,n,o]=r.split("/"),s=decodeURIComponent(n),i=decodeURIComponent(o);return{schema:s,name:i}}async dataDownload(r){Vs(r);let n=`https://${r.car}.ipfs.w3s.link/`,o=await fetch(n);if(o.ok)return new Uint8Array(await o.arrayBuffer());throw new Error(`Failed to download ${n}`)}async dataUpload(r,n,o){let s=await this.connectedClientForDb();if(!s)throw new Error("client not initialized");return Vs(n),n.type==="file"&&o.public&&await s.uploadCAR(new Blob([r])),await s.uploadFile(new Blob([r]))}async metaDownload(r){let n=await this.connectedClientForDb(),{issuer:o}=n._agent;if(!o.signatureAlgorithm)throw new Error("issuer not valid");if(r.branch!=="main")throw new Error("todo, implement space per branch");let s=await this.clockProofsForDb(),i=await JC({issuer:o,with:this.clockSpaceDIDForDb(),proofs:s});if(i.out.ok){let a=i.out.ok.head;return this.fetchAndUpdateHead(a)}else throw console.log("w3clock error",i.out.error),new Error(`Failed to download ${r.name}`)}async metaUpload(r,n){let o=await this.connectedClientForDb(),{issuer:s}=o._agent;if(!s.signatureAlgorithm)throw new Error("issuer not valid");if(n.branch!=="main")throw new Error("todo, implement space per branch");let i=await this.clockProofsForDb(),a={dbMeta:r},c=await As.create(a,this.parents),u=new pt;await this.eventBlocks.put(c.cid,c.bytes),await u.put(c.cid,c.bytes);let{bytes:l}=await ga([c.cid],u);await o.uploadCAR(new Blob([l]));let d=[];for(let{bytes:b}of this.eventBlocks.entries())d.push(await Gu(b));let p=await ZC({issuer:s,with:this.clockSpaceDIDForDb(),proofs:i},c.cid,{blocks:d});this.parents=[c.cid];let{ok:f,error:h}=p.root.data?.ocm.out;if(h)throw new Error(JSON.stringify(h));let m=f.head;return this.fetchAndUpdateHead(m)}async fetchAndUpdateHead(r){let n=[],o=this.eventBlocks;for(let s of r){let i=await o.get(s);if(i){let a=await Gu(i.bytes);n.push(a.value.data.dbMeta)}else{let a=`https://${s.toString()}.ipfs.w3s.link/`,c=await fetch(a,{redirect:"follow"});if(c.ok){let u=new Uint8Array(await c.arrayBuffer());await o.put(s,u);let l=await Gu(u);n.push(l.value.data.dbMeta)}else throw new Error(`Failed to download ${a}`)}}return this.parents=r,n}async connectClient(){let r=await mC(),n=this.bestSpace(r);return n&&n.registered()?(this.authorized=!0,await r.setCurrentSpace(n.did())):this.authorized=!1,r}bestSpace(r){let n=r.spaces(),o;for(let s of n)if(o=s,s.registered())break;return o}};var _k=class extends yn{constructor({metaUpload:e,metaDownload:r,dataUpload:n,dataDownload:o}){super(),this.metaUpload=e,this.metaDownload=r,this.dataUpload=n,this.dataDownload=o}},Ek=new Map,vk={s3:({_crdt:{blocks:{loader:t}}},{upload:e,download:r})=>{let n=new hl(e,r);return t.connectRemote(n),n},raw:({_crdt:{blocks:{loader:t}}},e)=>{let r=new _k(e);return t.connectRemote(r),r},web3:(t,e)=>{let{name:r,_crdt:{blocks:{loader:n}}}=t;if(!r)throw new Error("database name is required");if(Ek.has(r))return Ek.get(r);!e&&location&&(e=location.origin);let o=new rm({name:r,schema:e});return n.connectRemote(o),Ek.set(r,o),o}};function Vs(t){let{type:e,name:r,car:n}=t;if(!r)throw new Error("name is required");if(!n)throw new Error("car is required");if(e!=="file"&&e!=="data")throw new Error("type must be file or data")}function om(t){let{name:e,branch:r}=t;if(!e)throw new Error("name is required");if(!r)throw new Error("branch is required")}export{Hs as Database,tk as Index,vk as connect,kk as fireproof,el as index};
|
1
|
+
var yw=Object.create;var Po=Object.defineProperty;var mw=Object.getOwnPropertyDescriptor;var gw=Object.getOwnPropertyNames;var ww=Object.getPrototypeOf,bw=Object.prototype.hasOwnProperty;var xw=(t,e,r)=>e in t?Po(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var H=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Y=(t,e)=>{for(var r in e)Po(t,r,{get:e[r],enumerable:!0})},kw=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of gw(e))!bw.call(t,o)&&o!==r&&Po(t,o,{get:()=>e[o],enumerable:!(n=mw(e,o))||n.enumerable});return t};var W=(t,e,r)=>(r=t!=null?yw(ww(t)):{},kw(e||!t||!t.__esModule?Po(r,"default",{value:t,enumerable:!0}):r,t));var k=(t,e,r)=>(xw(t,typeof e!="symbol"?e+"":e,r),r),vl=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)};var Z=(t,e,r)=>(vl(t,e,"read from private field"),r?r.call(t):e.get(t)),nt=(t,e,r)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,r)},fe=(t,e,r,n)=>(vl(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r);var Zs=(t,e,r,n)=>({set _(o){fe(t,e,o,r)},get _(){return Z(t,e,n)}});var nd=H((hA,rd)=>{rd.exports=Na;var td=128,x0=127,k0=~x0,v0=Math.pow(2,31);function Na(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Na.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=v0;)e[r++]=t&255|td,t/=128;for(;t&k0;)e[r++]=t&255|td,t>>>=7;return e[r]=t|0,Na.bytes=r-n+1,e}});var sd=H((pA,id)=>{id.exports=Ua;var E0=128,od=127;function Ua(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c||o>49)throw Ua.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&od)<<o:(s&od)*Math.pow(2,o),o+=7}while(s>=E0);return Ua.bytes=i-n,r}});var cd=H((yA,ad)=>{var S0=Math.pow(2,7),A0=Math.pow(2,14),_0=Math.pow(2,21),B0=Math.pow(2,28),C0=Math.pow(2,35),T0=Math.pow(2,42),I0=Math.pow(2,49),L0=Math.pow(2,56),D0=Math.pow(2,63);ad.exports=function(t){return t<S0?1:t<A0?2:t<_0?3:t<B0?4:t<C0?5:t<T0?6:t<I0?7:t<L0?8:t<D0?9:10}});var Zo=H((mA,ud)=>{ud.exports={encode:nd(),decode:sd(),encodingLength:cd()}});var Xh=H(yc=>{yc.encode=function(t){if(isNaN(t))return"DaN";if(t===0)return"FE 0M0";if(t===1/0)return"FF";if(t===-1/0)return"DD";var e=t.toExponential().split("e"),r=Number(e[1])+500,n=e[0]+(e[0].indexOf(".")===-1?".":"")+"0".repeat(20),o="E"+ix(String(r),3)+"M"+String(n);return t>0?"F"+o:"D"+Jh(o)};yc.decode=function(t){if(t==="DaN")return NaN;if(t==="FF")return 1/0;if(t==="DD")return-1/0;var e=t[0]==="D",r=(e?Jh(t):t).slice(2).split("M");return+((e?"-":"")+r[1]+"e"+String(Number(r[0])-500))};function Jh(t){for(var e="",r=0;r<t.length;r++){var n=t[r];isNaN(Number(n))||n===" "?n!=="-"&&(e+=n):e+=String(9-Number(n))}return e}function ix(t,e){return" ".repeat(e-t.length).substr(0,e)+t}});var Zh=H(Yh=>{var sx={"?":"?@","!":"??",'"':"?%"};function ax(t){return/[!"]/.test(t)?t.replace(/[\?!"]/g,function(e){return sx[e]}):t}var cx={"?@":"?","??":"!","?%":'"'};function ux(t){return/\?[%\?@]/.test(t)?t.replace(/\?[%\?@]/g,function(e){return cx[e]}):t}Yh.factory=function(t){return{encode:e,decode:n};function e(o){if(o===null)return"A";if(!Array.isArray(o))throw new Error("can only encode arrays");var i=o.length;if(i==0)return"K!";for(var s=r(o[0]),c=1;c<i;c++)s+='"'+r(o[c]);return"K"+s+"!"}function r(o){return typeof o=="object"?e(o):ax(t.encode(o))}function n(o){if(o==="A")return null;if(o==="K!")return[];for(var i=o.split('"'),s=[[]],c,a=0,u=i.length,l=0;l<u;l++){for(var d=i[l],m=d.length,f=0;d[f]=="K";)f++;for(var h=0;d[m-h-1]=="!";)h++;for(var p=d.slice(f,m-h),g=a+f,w=a;w<g;w++)s[w+1]=[],s[w].push(s[w+1]),a=g,c=s[a];p.length!==0&&c.push(t.decode(ux(p)));for(var g=a-h,w=g;w<a;w++)s[w+1]=[],a=g,c=s[a]}return s[0][0]}}});var tp=H(Q=>{var lx=Xh(),fx=Zh(),Y6=Q.flip=function(t){var e=t.toString(),r="";for(var n in e)r+=e[n]=="."?".":9-+e[n];return r};Q.number=lx;Q.string={encode:function(t){return/\x00|\x01/.test(t)?"J"+t.replace(/\x01/g,"").replace(/\x00/g,""):"J"+t},decode:function(t){if(t[0]==="J")return t.substring(1)}};Q.encode=function(t){return Q[typeof t].encode(t)};Q.decode=function(t){if(t==="")return t;if(!ep[t[0]])throw new Error("no decoder for:"+JSON.stringify(t));return ep[t[0]](t)};Q.object=fx.factory(Q);Q.boolean={encode:function(t){return t?"C":"B"},decode:function(t){return t==="C"}};Q.undefined={encode:function(t){return"L"},decode:function(){}};var ep={A:Q.object.decode,B:Q.boolean.decode,C:Q.boolean.decode,D:Q.number.decode,F:Q.number.decode,J:Q.string.decode,K:Q.object.decode,L:Q.undefined.decode};Q.buffer=!1;Q.type="charwise"});var Up=H((JB,Np)=>{"use strict";Np.exports=Vx;function Vx(t,e){for(var r=new Array(arguments.length-1),n=0,o=2,i=!0;o<arguments.length;)r[n++]=arguments[o++];return new Promise(function(c,a){r[n]=function(l){if(i)if(i=!1,l)a(l);else{for(var d=new Array(arguments.length-1),m=0;m<d.length;)d[m++]=arguments[m];c.apply(null,d)}};try{t.apply(e||null,r)}catch(u){i&&(i=!1,a(u))}})}});var Op=H(Mp=>{"use strict";var Yi=Mp;Yi.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var Gr=new Array(64),Fp=new Array(123);for(Oe=0;Oe<64;)Fp[Gr[Oe]=Oe<26?Oe+65:Oe<52?Oe+71:Oe<62?Oe-4:Oe-59|43]=Oe++;var Oe;Yi.encode=function(e,r,n){for(var o=null,i=[],s=0,c=0,a;r<n;){var u=e[r++];switch(c){case 0:i[s++]=Gr[u>>2],a=(u&3)<<4,c=1;break;case 1:i[s++]=Gr[a|u>>4],a=(u&15)<<2,c=2;break;case 2:i[s++]=Gr[a|u>>6],i[s++]=Gr[u&63],c=0;break}s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),s=0)}return c&&(i[s++]=Gr[a],i[s++]=61,c===1&&(i[s++]=61)),o?(s&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))};var Pp="invalid encoding";Yi.decode=function(e,r,n){for(var o=n,i=0,s,c=0;c<e.length;){var a=e.charCodeAt(c++);if(a===61&&i>1)break;if((a=Fp[a])===void 0)throw Error(Pp);switch(i){case 0:s=a,i=1;break;case 1:r[n++]=s<<2|(a&48)>>4,s=a,i=2;break;case 2:r[n++]=(s&15)<<4|(a&60)>>2,s=a,i=3;break;case 3:r[n++]=(s&3)<<6|a,i=0;break}}if(i===1)throw Error(Pp);return n-o};Yi.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var zp=H((YB,Rp)=>{"use strict";Rp.exports=Zi;function Zi(){this._listeners={}}Zi.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Zi.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],o=0;o<n.length;)n[o].fn===r?n.splice(o,1):++o;return this};Zi.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],o=1;o<arguments.length;)n.push(arguments[o++]);for(o=0;o<r.length;)r[o].fn.apply(r[o++].ctx,n)}return this}});var Kp=H((ZB,Wp)=>{"use strict";Wp.exports=$p($p);function $p(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function o(a,u,l){e[0]=a,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function i(a,u,l){e[0]=a,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?o:i,t.writeFloatBE=n?i:o;function s(a,u){return r[0]=a[u],r[1]=a[u+1],r[2]=a[u+2],r[3]=a[u+3],e[0]}function c(a,u){return r[3]=a[u],r[2]=a[u+1],r[1]=a[u+2],r[0]=a[u+3],e[0]}t.readFloatLE=n?s:c,t.readFloatBE=n?c:s}():function(){function e(n,o,i,s){var c=o<0?1:0;if(c&&(o=-o),o===0)n(1/o>0?0:2147483648,i,s);else if(isNaN(o))n(2143289344,i,s);else if(o>34028234663852886e22)n((c<<31|2139095040)>>>0,i,s);else if(o<11754943508222875e-54)n((c<<31|Math.round(o/1401298464324817e-60))>>>0,i,s);else{var a=Math.floor(Math.log(o)/Math.LN2),u=Math.round(o*Math.pow(2,-a)*8388608)&8388607;n((c<<31|a+127<<23|u)>>>0,i,s)}}t.writeFloatLE=e.bind(null,Hp),t.writeFloatBE=e.bind(null,jp);function r(n,o,i){var s=n(o,i),c=(s>>31)*2+1,a=s>>>23&255,u=s&8388607;return a===255?u?NaN:c*(1/0):a===0?c*1401298464324817e-60*u:c*Math.pow(2,a-150)*(u+8388608)}t.readFloatLE=r.bind(null,Vp),t.readFloatBE=r.bind(null,qp)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function o(a,u,l){e[0]=a,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function i(a,u,l){e[0]=a,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?o:i,t.writeDoubleBE=n?i:o;function s(a,u){return r[0]=a[u],r[1]=a[u+1],r[2]=a[u+2],r[3]=a[u+3],r[4]=a[u+4],r[5]=a[u+5],r[6]=a[u+6],r[7]=a[u+7],e[0]}function c(a,u){return r[7]=a[u],r[6]=a[u+1],r[5]=a[u+2],r[4]=a[u+3],r[3]=a[u+4],r[2]=a[u+5],r[1]=a[u+6],r[0]=a[u+7],e[0]}t.readDoubleLE=n?s:c,t.readDoubleBE=n?c:s}():function(){function e(n,o,i,s,c,a){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,c,a+o),n(1/s>0?0:2147483648,c,a+i);else if(isNaN(s))n(0,c,a+o),n(2146959360,c,a+i);else if(s>17976931348623157e292)n(0,c,a+o),n((u<<31|2146435072)>>>0,c,a+i);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,c,a+o),n((u<<31|l/4294967296)>>>0,c,a+i);else{var d=Math.floor(Math.log(s)/Math.LN2);d===1024&&(d=1023),l=s*Math.pow(2,-d),n(l*4503599627370496>>>0,c,a+o),n((u<<31|d+1023<<20|l*1048576&1048575)>>>0,c,a+i)}}}t.writeDoubleLE=e.bind(null,Hp,0,4),t.writeDoubleBE=e.bind(null,jp,4,0);function r(n,o,i,s,c){var a=n(s,c+o),u=n(s,c+i),l=(u>>31)*2+1,d=u>>>20&2047,m=4294967296*(u&1048575)+a;return d===2047?m?NaN:l*(1/0):d===0?l*5e-324*m:l*Math.pow(2,d-1075)*(m+4503599627370496)}t.readDoubleLE=r.bind(null,Vp,0,4),t.readDoubleBE=r.bind(null,qp,4,0)}(),t}function Hp(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function jp(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function Vp(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function qp(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Gp=H((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var Jp=H(Qp=>{"use strict";var $c=Qp;$c.length=function(e){for(var r=0,n=0,o=0;o<e.length;++o)n=e.charCodeAt(o),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(o+1)&64512)===56320?(++o,r+=4):r+=3;return r};$c.read=function(e,r,n){var o=n-r;if(o<1)return"";for(var i=null,s=[],c=0,a;r<n;)a=e[r++],a<128?s[c++]=a:a>191&&a<224?s[c++]=(a&31)<<6|e[r++]&63:a>239&&a<365?(a=((a&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,s[c++]=55296+(a>>10),s[c++]=56320+(a&1023)):s[c++]=(a&15)<<12|(e[r++]&63)<<6|e[r++]&63,c>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),c=0);return i?(c&&i.push(String.fromCharCode.apply(String,s.slice(0,c))),i.join("")):String.fromCharCode.apply(String,s.slice(0,c))};$c.write=function(e,r,n){for(var o=n,i,s,c=0;c<e.length;++c)i=e.charCodeAt(c),i<128?r[n++]=i:i<2048?(r[n++]=i>>6|192,r[n++]=i&63|128):(i&64512)===55296&&((s=e.charCodeAt(c+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++c,r[n++]=i>>18|240,r[n++]=i>>12&63|128,r[n++]=i>>6&63|128,r[n++]=i&63|128):(r[n++]=i>>12|224,r[n++]=i>>6&63|128,r[n++]=i&63|128);return n-o}});var Yp=H((t3,Xp)=>{"use strict";Xp.exports=qx;function qx(t,e,r){var n=r||8192,o=n>>>1,i=null,s=n;return function(a){if(a<1||a>o)return t(a);s+a>n&&(i=t(n),s=0);var u=e.call(i,s,s+=a);return s&7&&(s=(s|7)+1),u}}});var ey=H((r3,Zp)=>{"use strict";Zp.exports=re;var Jn=lt();function re(t,e){this.lo=t>>>0,this.hi=e>>>0}var sr=re.zero=new re(0,0);sr.toNumber=function(){return 0};sr.zzEncode=sr.zzDecode=function(){return this};sr.length=function(){return 1};var Wx=re.zeroHash="\0\0\0\0\0\0\0\0";re.fromNumber=function(e){if(e===0)return sr;var r=e<0;r&&(e=-e);var n=e>>>0,o=(e-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new re(n,o)};re.from=function(e){if(typeof e=="number")return re.fromNumber(e);if(Jn.isString(e))if(Jn.Long)e=Jn.Long.fromString(e);else return re.fromNumber(parseInt(e,10));return e.low||e.high?new re(e.low>>>0,e.high>>>0):sr};re.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};re.prototype.toLong=function(e){return Jn.Long?new Jn.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Bt=String.prototype.charCodeAt;re.fromHash=function(e){return e===Wx?sr:new re((Bt.call(e,0)|Bt.call(e,1)<<8|Bt.call(e,2)<<16|Bt.call(e,3)<<24)>>>0,(Bt.call(e,4)|Bt.call(e,5)<<8|Bt.call(e,6)<<16|Bt.call(e,7)<<24)>>>0)};re.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};re.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};re.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};re.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var lt=H(Hc=>{"use strict";var D=Hc;D.asPromise=Up();D.base64=Op();D.EventEmitter=zp();D.float=Kp();D.inquire=Gp();D.utf8=Jp();D.pool=Yp();D.LongBits=ey();D.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node);D.global=D.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||Hc;D.emptyArray=Object.freeze?Object.freeze([]):[];D.emptyObject=Object.freeze?Object.freeze({}):{};D.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};D.isString=function(e){return typeof e=="string"||e instanceof String};D.isObject=function(e){return e&&typeof e=="object"};D.isset=D.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};D.Buffer=function(){try{var t=D.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();D._Buffer_from=null;D._Buffer_allocUnsafe=null;D.newBuffer=function(e){return typeof e=="number"?D.Buffer?D._Buffer_allocUnsafe(e):new D.Array(e):D.Buffer?D._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};D.Array=typeof Uint8Array<"u"?Uint8Array:Array;D.Long=D.global.dcodeIO&&D.global.dcodeIO.Long||D.global.Long||D.inquire("long");D.key2Re=/^true|false|0|1$/;D.key32Re=/^-?(?:0|[1-9][0-9]*)$/;D.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;D.longToHash=function(e){return e?D.LongBits.from(e).toHash():D.LongBits.zeroHash};D.longFromHash=function(e,r){var n=D.LongBits.fromHash(e);return D.Long?D.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function ty(t,e,r){for(var n=Object.keys(e),o=0;o<n.length;++o)(t[n[o]]===void 0||!r)&&(t[n[o]]=e[n[o]]);return t}D.merge=ty;D.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function ry(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&ty(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}D.newError=ry;D.ProtocolError=ry("ProtocolError");D.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var o=Object.keys(this),i=o.length-1;i>-1;--i)if(r[o[i]]===1&&this[o[i]]!==void 0&&this[o[i]]!==null)return o[i]}};D.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};D.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};D._configure=function(){var t=D.Buffer;if(!t){D._Buffer_from=D._Buffer_allocUnsafe=null;return}D._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},D._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var ts=H((o3,sy)=>{"use strict";sy.exports=O;var De=lt(),jc,es=De.LongBits,ny=De.base64,oy=De.utf8;function Xn(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function qc(){}function Kx(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function O(){this.len=0,this.head=new Xn(qc,0,0),this.tail=this.head,this.states=null}var iy=function(){return De.Buffer?function(){return(O.create=function(){return new jc})()}:function(){return new O}};O.create=iy();O.alloc=function(e){return new De.Array(e)};De.Array!==Array&&(O.alloc=De.pool(O.alloc,De.Array.prototype.subarray));O.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Xn(e,r,n),this.len+=r,this};function Wc(t,e,r){e[r]=t&255}function Gx(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Kc(t,e){this.len=t,this.next=void 0,this.val=e}Kc.prototype=Object.create(Xn.prototype);Kc.prototype.fn=Gx;O.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Kc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};O.prototype.int32=function(e){return e<0?this._push(Gc,10,es.fromNumber(e)):this.uint32(e)};O.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Gc(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}O.prototype.uint64=function(e){var r=es.from(e);return this._push(Gc,r.length(),r)};O.prototype.int64=O.prototype.uint64;O.prototype.sint64=function(e){var r=es.from(e).zzEncode();return this._push(Gc,r.length(),r)};O.prototype.bool=function(e){return this._push(Wc,1,e?1:0)};function Vc(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}O.prototype.fixed32=function(e){return this._push(Vc,4,e>>>0)};O.prototype.sfixed32=O.prototype.fixed32;O.prototype.fixed64=function(e){var r=es.from(e);return this._push(Vc,4,r.lo)._push(Vc,4,r.hi)};O.prototype.sfixed64=O.prototype.fixed64;O.prototype.float=function(e){return this._push(De.float.writeFloatLE,4,e)};O.prototype.double=function(e){return this._push(De.float.writeDoubleLE,8,e)};var Qx=De.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var o=0;o<e.length;++o)r[n+o]=e[o]};O.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Wc,1,0);if(De.isString(e)){var n=O.alloc(r=ny.length(e));ny.decode(e,n,0),e=n}return this.uint32(r)._push(Qx,r,e)};O.prototype.string=function(e){var r=oy.length(e);return r?this.uint32(r)._push(oy.write,r,e):this._push(Wc,1,0)};O.prototype.fork=function(){return this.states=new Kx(this),this.head=this.tail=new Xn(qc,0,0),this.len=0,this};O.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Xn(qc,0,0),this.len=0),this};O.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};O.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};O._configure=function(t){jc=t,O.create=iy(),jc._configure()}});var Qc=H((i3,cy)=>{"use strict";cy.exports=Ze;var ay=ts();(Ze.prototype=Object.create(ay.prototype)).constructor=Ze;var Ct=lt();function Ze(){ay.call(this)}Ze._configure=function(){Ze.alloc=Ct._Buffer_allocUnsafe,Ze.writeBytesBuffer=Ct.Buffer&&Ct.Buffer.prototype instanceof Uint8Array&&Ct.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var o=0;o<e.length;)r[n++]=e[o++]}};Ze.prototype.bytes=function(e){Ct.isString(e)&&(e=Ct._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Ze.writeBytesBuffer,r,e),this};function Jx(t,e,r){t.length<40?Ct.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Ze.prototype.string=function(e){var r=Ct.Buffer.byteLength(e);return this.uint32(r),r&&this._push(Jx,r,e),this};Ze._configure()});var ns=H((s3,hy)=>{"use strict";hy.exports=J;var et=lt(),Xc,fy=et.LongBits,Xx=et.utf8;function Re(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function J(t){this.buf=t,this.pos=0,this.len=t.length}var uy=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new J(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new J(e);throw Error("illegal buffer")},dy=function(){return et.Buffer?function(r){return(J.create=function(o){return et.Buffer.isBuffer(o)?new Xc(o):uy(o)})(r)}:uy};J.create=dy();J.prototype._slice=et.Array.prototype.subarray||et.Array.prototype.slice;J.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Re(this,10);return e}}();J.prototype.int32=function(){return this.uint32()|0};J.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Jc(){var t=new fy(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Re(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Re(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}J.prototype.bool=function(){return this.uint32()!==0};function rs(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}J.prototype.fixed32=function(){if(this.pos+4>this.len)throw Re(this,4);return rs(this.buf,this.pos+=4)};J.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Re(this,4);return rs(this.buf,this.pos+=4)|0};function ly(){if(this.pos+8>this.len)throw Re(this,8);return new fy(rs(this.buf,this.pos+=4),rs(this.buf,this.pos+=4))}J.prototype.float=function(){if(this.pos+4>this.len)throw Re(this,4);var e=et.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};J.prototype.double=function(){if(this.pos+8>this.len)throw Re(this,4);var e=et.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};J.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Re(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};J.prototype.string=function(){var e=this.bytes();return Xx.read(e,0,e.length)};J.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Re(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Re(this);while(this.buf[this.pos++]&128);return this};J.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};J._configure=function(t){Xc=t,J.create=dy(),Xc._configure();var e=et.Long?"toLong":"toNumber";et.merge(J.prototype,{int64:function(){return Jc.call(this)[e](!1)},uint64:function(){return Jc.call(this)[e](!0)},sint64:function(){return Jc.call(this).zzDecode()[e](!1)},fixed64:function(){return ly.call(this)[e](!0)},sfixed64:function(){return ly.call(this)[e](!1)}})}});var Yc=H((a3,my)=>{"use strict";my.exports=ar;var yy=ns();(ar.prototype=Object.create(yy.prototype)).constructor=ar;var py=lt();function ar(t){yy.call(this,t)}ar._configure=function(){py.Buffer&&(ar.prototype._slice=py.Buffer.prototype.slice)};ar.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};ar._configure()});var wy=H((c3,gy)=>{"use strict";gy.exports=Yn;var Zc=lt();(Yn.prototype=Object.create(Zc.EventEmitter.prototype)).constructor=Yn;function Yn(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");Zc.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=!!e,this.responseDelimited=!!r}Yn.prototype.rpcCall=function t(e,r,n,o,i){if(!o)throw TypeError("request must be specified");var s=this;if(!i)return Zc.asPromise(t,s,e,r,n,o);if(!s.rpcImpl){setTimeout(function(){i(Error("already ended"))},0);return}try{return s.rpcImpl(e,r[s.requestDelimited?"encodeDelimited":"encode"](o).finish(),function(a,u){if(a)return s.emit("error",a,e),i(a);if(u===null){s.end(!0);return}if(!(u instanceof n))try{u=n[s.responseDelimited?"decodeDelimited":"decode"](u)}catch(l){return s.emit("error",l,e),i(l)}return s.emit("data",u,e),i(null,u)})}catch(c){s.emit("error",c,e),setTimeout(function(){i(c)},0);return}};Yn.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var xy=H(by=>{"use strict";var Yx=by;Yx.Service=wy()});var vy=H((l3,ky)=>{"use strict";ky.exports={}});var Ay=H(Sy=>{"use strict";var he=Sy;he.build="minimal";he.Writer=ts();he.BufferWriter=Qc();he.Reader=ns();he.BufferReader=Yc();he.util=lt();he.rpc=xy();he.roots=vy();he.configure=Ey;function Ey(){he.util._configure(),he.Writer._configure(he.BufferWriter),he.Reader._configure(he.BufferReader)}Ey()});var By=H((d3,_y)=>{"use strict";_y.exports=Ay()});var Sm=H((uo,Ss)=>{(function(t,e){"use strict";var r={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(f){if(!Array.isArray(f)&&!ArrayBuffer.isView(f))return!1;for(var h=0;h<f.length;h++)if(!Number.isInteger(f[h])||f[h]<0||f[h]>255)return!1;return!0}function o(f,h){return(f&65535)*h+(((f>>>16)*h&65535)<<16)}function i(f,h){return f<<h|f>>>32-h}function s(f){return f^=f>>>16,f=o(f,2246822507),f^=f>>>13,f=o(f,3266489909),f^=f>>>16,f}function c(f,h){f=[f[0]>>>16,f[0]&65535,f[1]>>>16,f[1]&65535],h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535];var p=[0,0,0,0];return p[3]+=f[3]+h[3],p[2]+=p[3]>>>16,p[3]&=65535,p[2]+=f[2]+h[2],p[1]+=p[2]>>>16,p[2]&=65535,p[1]+=f[1]+h[1],p[0]+=p[1]>>>16,p[1]&=65535,p[0]+=f[0]+h[0],p[0]&=65535,[p[0]<<16|p[1],p[2]<<16|p[3]]}function a(f,h){f=[f[0]>>>16,f[0]&65535,f[1]>>>16,f[1]&65535],h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535];var p=[0,0,0,0];return p[3]+=f[3]*h[3],p[2]+=p[3]>>>16,p[3]&=65535,p[2]+=f[2]*h[3],p[1]+=p[2]>>>16,p[2]&=65535,p[2]+=f[3]*h[2],p[1]+=p[2]>>>16,p[2]&=65535,p[1]+=f[1]*h[3],p[0]+=p[1]>>>16,p[1]&=65535,p[1]+=f[2]*h[2],p[0]+=p[1]>>>16,p[1]&=65535,p[1]+=f[3]*h[1],p[0]+=p[1]>>>16,p[1]&=65535,p[0]+=f[0]*h[3]+f[1]*h[2]+f[2]*h[1]+f[3]*h[0],p[0]&=65535,[p[0]<<16|p[1],p[2]<<16|p[3]]}function u(f,h){return h%=64,h===32?[f[1],f[0]]:h<32?[f[0]<<h|f[1]>>>32-h,f[1]<<h|f[0]>>>32-h]:(h-=32,[f[1]<<h|f[0]>>>32-h,f[0]<<h|f[1]>>>32-h])}function l(f,h){return h%=64,h===0?f:h<32?[f[0]<<h|f[1]>>>32-h,f[1]<<h]:[f[1]<<h-32,0]}function d(f,h){return[f[0]^h[0],f[1]^h[1]]}function m(f){return f=d(f,[0,f[0]>>>1]),f=a(f,[4283543511,3981806797]),f=d(f,[0,f[0]>>>1]),f=a(f,[3301882366,444984403]),f=d(f,[0,f[0]>>>1]),f}r.x86.hash32=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var p=f.length%4,w=f.length-p,g=h,b=0,v=3432918353,E=461845907,T=0;T<w;T=T+4)b=f[T]|f[T+1]<<8|f[T+2]<<16|f[T+3]<<24,b=o(b,v),b=i(b,15),b=o(b,E),g^=b,g=i(g,13),g=o(g,5)+3864292196;switch(b=0,p){case 3:b^=f[T+2]<<16;case 2:b^=f[T+1]<<8;case 1:b^=f[T],b=o(b,v),b=i(b,15),b=o(b,E),g^=b}return g^=f.length,g=s(g),g>>>0},r.x86.hash128=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var p=f.length%16,w=f.length-p,g=h,b=h,v=h,E=h,T=0,U=0,A=0,P=0,le=597399067,Do=2869860233,No=951274213,Uo=2716044179,M=0;M<w;M=M+16)T=f[M]|f[M+1]<<8|f[M+2]<<16|f[M+3]<<24,U=f[M+4]|f[M+5]<<8|f[M+6]<<16|f[M+7]<<24,A=f[M+8]|f[M+9]<<8|f[M+10]<<16|f[M+11]<<24,P=f[M+12]|f[M+13]<<8|f[M+14]<<16|f[M+15]<<24,T=o(T,le),T=i(T,15),T=o(T,Do),g^=T,g=i(g,19),g+=b,g=o(g,5)+1444728091,U=o(U,Do),U=i(U,16),U=o(U,No),b^=U,b=i(b,17),b+=v,b=o(b,5)+197830471,A=o(A,No),A=i(A,17),A=o(A,Uo),v^=A,v=i(v,15),v+=E,v=o(v,5)+2530024501,P=o(P,Uo),P=i(P,18),P=o(P,le),E^=P,E=i(E,13),E+=g,E=o(E,5)+850148119;switch(T=0,U=0,A=0,P=0,p){case 15:P^=f[M+14]<<16;case 14:P^=f[M+13]<<8;case 13:P^=f[M+12],P=o(P,Uo),P=i(P,18),P=o(P,le),E^=P;case 12:A^=f[M+11]<<24;case 11:A^=f[M+10]<<16;case 10:A^=f[M+9]<<8;case 9:A^=f[M+8],A=o(A,No),A=i(A,17),A=o(A,Uo),v^=A;case 8:U^=f[M+7]<<24;case 7:U^=f[M+6]<<16;case 6:U^=f[M+5]<<8;case 5:U^=f[M+4],U=o(U,Do),U=i(U,16),U=o(U,No),b^=U;case 4:T^=f[M+3]<<24;case 3:T^=f[M+2]<<16;case 2:T^=f[M+1]<<8;case 1:T^=f[M],T=o(T,le),T=i(T,15),T=o(T,Do),g^=T}return g^=f.length,b^=f.length,v^=f.length,E^=f.length,g+=b,g+=v,g+=E,b+=g,v+=g,E+=g,g=s(g),b=s(b),v=s(v),E=s(E),g+=b,g+=v,g+=E,b+=g,v+=g,E+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(b>>>0).toString(16)).slice(-8)+("00000000"+(v>>>0).toString(16)).slice(-8)+("00000000"+(E>>>0).toString(16)).slice(-8)},r.x64.hash128=function(f,h){if(r.inputValidation&&!n(f))return e;h=h||0;for(var p=f.length%16,w=f.length-p,g=[0,h],b=[0,h],v=[0,0],E=[0,0],T=[2277735313,289559509],U=[1291169091,658871167],A=0;A<w;A=A+16)v=[f[A+4]|f[A+5]<<8|f[A+6]<<16|f[A+7]<<24,f[A]|f[A+1]<<8|f[A+2]<<16|f[A+3]<<24],E=[f[A+12]|f[A+13]<<8|f[A+14]<<16|f[A+15]<<24,f[A+8]|f[A+9]<<8|f[A+10]<<16|f[A+11]<<24],v=a(v,T),v=u(v,31),v=a(v,U),g=d(g,v),g=u(g,27),g=c(g,b),g=c(a(g,[0,5]),[0,1390208809]),E=a(E,U),E=u(E,33),E=a(E,T),b=d(b,E),b=u(b,31),b=c(b,g),b=c(a(b,[0,5]),[0,944331445]);switch(v=[0,0],E=[0,0],p){case 15:E=d(E,l([0,f[A+14]],48));case 14:E=d(E,l([0,f[A+13]],40));case 13:E=d(E,l([0,f[A+12]],32));case 12:E=d(E,l([0,f[A+11]],24));case 11:E=d(E,l([0,f[A+10]],16));case 10:E=d(E,l([0,f[A+9]],8));case 9:E=d(E,[0,f[A+8]]),E=a(E,U),E=u(E,33),E=a(E,T),b=d(b,E);case 8:v=d(v,l([0,f[A+7]],56));case 7:v=d(v,l([0,f[A+6]],48));case 6:v=d(v,l([0,f[A+5]],40));case 5:v=d(v,l([0,f[A+4]],32));case 4:v=d(v,l([0,f[A+3]],24));case 3:v=d(v,l([0,f[A+2]],16));case 2:v=d(v,l([0,f[A+1]],8));case 1:v=d(v,[0,f[A]]),v=a(v,T),v=u(v,31),v=a(v,U),g=d(g,v)}return g=d(g,[0,f.length]),b=d(b,[0,f.length]),g=c(g,b),b=c(b,g),g=m(g),b=m(b),g=c(g,b),b=c(b,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(b[0]>>>0).toString(16)).slice(-8)+("00000000"+(b[1]>>>0).toString(16)).slice(-8)},typeof uo<"u"?(typeof Ss<"u"&&Ss.exports&&(uo=Ss.exports=r),uo.murmurHash3=r):typeof define=="function"&&define.amd?define([],function(){return r}):(r._murmurHash3=t.murmurHash3,r.noConflict=function(){return t.murmurHash3=r._murmurHash3,r._murmurHash3=e,r.noConflict=e,r},t.murmurHash3=r)})(uo)});var Uu=H((O3,Am)=>{Am.exports=Sm()});var rt=H((EC,Zm)=>{"use strict";function Ym(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function z2(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return Ym(t,r)}catch{r.message=t.message,r.stack=t.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(t)),Ym(new o,r)}}Zm.exports=z2});var xg=H((cT,bg)=>{"use strict";bg.exports=class{constructor(){this._bitArrays=[],this._data=[],this._length=0,this._changedLength=!1,this._changedData=!1}set(e,r){let n=this._internalPositionFor(e,!1);if(r===void 0)n!==-1&&(this._unsetInternalPos(n),this._unsetBit(e),this._changedLength=!0,this._changedData=!0);else{let o=!1;n===-1?(n=this._data.length,this._setBit(e),this._changedData=!0):o=!0,this._setInternalPos(n,e,r,o),this._changedLength=!0}}unset(e){this.set(e,void 0)}get(e){this._sortData();let r=this._internalPositionFor(e,!0);if(r!==-1)return this._data[r][1]}push(e){return this.set(this.length,e),this.length}get length(){if(this._sortData(),this._changedLength){let e=this._data[this._data.length-1];this._length=e?e[0]+1:0,this._changedLength=!1}return this._length}forEach(e){let r=0;for(;r<this.length;)e(this.get(r),r,this),r++}map(e){let r=0,n=new Array(this.length);for(;r<this.length;)n[r]=e(this.get(r),r,this),r++;return n}reduce(e,r){let n=0,o=r;for(;n<this.length;){let i=this.get(n);o=e(o,i,n),n++}return o}find(e){let r=0,n,o;for(;r<this.length&&!n;)o=this.get(r),n=e(o),r++;return n?o:void 0}_internalPositionFor(e,r){let n=this._bytePosFor(e,r);if(n>=this._bitArrays.length)return-1;let o=this._bitArrays[n],i=e-n*7;if(!((o&1<<i)>0))return-1;let c=this._bitArrays.slice(0,n).reduce(rv,0),a=~(4294967295<<i+1),u=wg(o&a);return c+u-1}_bytePosFor(e,r){let n=Math.floor(e/7),o=n+1;for(;!r&&this._bitArrays.length<o;)this._bitArrays.push(0);return n}_setBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]|=1<<e-r*7}_unsetBit(e){let r=this._bytePosFor(e,!1);this._bitArrays[r]&=~(1<<e-r*7)}_setInternalPos(e,r,n,o){let i=this._data,s=[r,n];if(o)this._sortData(),i[e]=s;else{if(i.length)if(i[i.length-1][0]>=r)i.push(s);else if(i[0][0]<=r)i.unshift(s);else{let c=Math.round(i.length/2);this._data=i.slice(0,c).concat(s).concat(i.slice(c))}else this._data.push(s);this._changedData=!0,this._changedLength=!0}}_unsetInternalPos(e){this._data.splice(e,1)}_sortData(){this._changedData&&this._data.sort(nv),this._changedData=!1}bitField(){let e=[],r=8,n=0,o=0,i,s=this._bitArrays.slice();for(;s.length||n;){n===0&&(i=s.shift(),n=7);let a=Math.min(n,r),u=~(255<<a),l=i&u;o|=l<<8-r,i=i>>>a,n-=a,r-=a,(!r||!n&&!s.length)&&(e.push(o),o=0,r=8)}for(var c=e.length-1;c>0&&e[c]===0;c--)e.pop();return e}compactArray(){return this._sortData(),this._data.map(ov)}};function rv(t,e){return t+wg(e)}function wg(t){let e=t;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function nv(t,e){return t[0]-e[0]}function ov(t){return t[1]}});var Hg=H((k4,ll)=>{"use strict";var Qv=Object.prototype.hasOwnProperty,ue="~";function xo(){}Object.create&&(xo.prototype=Object.create(null),new xo().__proto__||(ue=!1));function Jv(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function $g(t,e,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new Jv(r,n||t,o),s=ue?ue+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],i]:t._events[s].push(i):(t._events[s]=i,t._eventsCount++),t}function $s(t,e){--t._eventsCount===0?t._events=new xo:delete t._events[e]}function se(){this._events=new xo,this._eventsCount=0}se.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Qv.call(r,n)&&e.push(ue?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};se.prototype.listeners=function(e){var r=ue?ue+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};se.prototype.listenerCount=function(e){var r=ue?ue+e:e,n=this._events[r];return n?n.fn?1:n.length:0};se.prototype.emit=function(e,r,n,o,i,s){var c=ue?ue+e:e;if(!this._events[c])return!1;var a=this._events[c],u=arguments.length,l,d;if(a.fn){switch(a.once&&this.removeListener(e,a.fn,void 0,!0),u){case 1:return a.fn.call(a.context),!0;case 2:return a.fn.call(a.context,r),!0;case 3:return a.fn.call(a.context,r,n),!0;case 4:return a.fn.call(a.context,r,n,o),!0;case 5:return a.fn.call(a.context,r,n,o,i),!0;case 6:return a.fn.call(a.context,r,n,o,i,s),!0}for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];a.fn.apply(a.context,l)}else{var m=a.length,f;for(d=0;d<m;d++)switch(a[d].once&&this.removeListener(e,a[d].fn,void 0,!0),u){case 1:a[d].fn.call(a[d].context);break;case 2:a[d].fn.call(a[d].context,r);break;case 3:a[d].fn.call(a[d].context,r,n);break;case 4:a[d].fn.call(a[d].context,r,n,o);break;default:if(!l)for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];a[d].fn.apply(a[d].context,l)}}return!0};se.prototype.on=function(e,r,n){return $g(this,e,r,n,!1)};se.prototype.once=function(e,r,n){return $g(this,e,r,n,!0)};se.prototype.removeListener=function(e,r,n,o){var i=ue?ue+e:e;if(!this._events[i])return this;if(!r)return $s(this,i),this;var s=this._events[i];if(s.fn)s.fn===r&&(!o||s.once)&&(!n||s.context===n)&&$s(this,i);else{for(var c=0,a=[],u=s.length;c<u;c++)(s[c].fn!==r||o&&!s[c].once||n&&s[c].context!==n)&&a.push(s[c]);a.length?this._events[i]=a.length===1?a[0]:a:$s(this,i)}return this};se.prototype.removeAllListeners=function(e){var r;return e?(r=ue?ue+e:e,this._events[r]&&$s(this,r)):(this._events=new xo,this._eventsCount=0),this};se.prototype.off=se.prototype.removeListener;se.prototype.addListener=se.prototype.on;se.prefixed=ue;se.EventEmitter=se;typeof ll<"u"&&(ll.exports=se)});var Fo="0123456789abcdef",Mo=class t{constructor(e){this.bytes=e}static ofInner(e){if(e.length!==16)throw new TypeError("not 128-bit length");return new t(e)}static fromFieldsV7(e,r,n,o){if(!Number.isInteger(e)||!Number.isInteger(r)||!Number.isInteger(n)||!Number.isInteger(o)||e<0||r<0||n<0||o<0||e>0xffffffffffff||r>4095||n>1073741823||o>4294967295)throw new RangeError("invalid field value");let i=new Uint8Array(16);return i[0]=e/2**40,i[1]=e/2**32,i[2]=e/2**24,i[3]=e/2**16,i[4]=e/2**8,i[5]=e,i[6]=112|r>>>8,i[7]=r,i[8]=128|n>>>24,i[9]=n>>>16,i[10]=n>>>8,i[11]=n,i[12]=o>>>24,i[13]=o>>>16,i[14]=o>>>8,i[15]=o,new t(i)}static parse(e){var r,n,o,i;let s;switch(e.length){case 32:s=(r=/^[0-9a-f]{32}$/i.exec(e))===null||r===void 0?void 0:r[0];break;case 36:s=(n=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||n===void 0?void 0:n.slice(1,6).join("");break;case 38:s=(o=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(e))===null||o===void 0?void 0:o.slice(1,6).join("");break;case 45:s=(i=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||i===void 0?void 0:i.slice(1,6).join("");break;default:break}if(s){let c=new Uint8Array(16);for(let a=0;a<16;a+=4){let u=parseInt(s.substring(2*a,2*a+8),16);c[a+0]=u>>>24,c[a+1]=u>>>16,c[a+2]=u>>>8,c[a+3]=u}return new t(c)}else throw new SyntaxError("could not parse UUID string")}toString(){let e="";for(let r=0;r<this.bytes.length;r++)e+=Fo.charAt(this.bytes[r]>>>4),e+=Fo.charAt(this.bytes[r]&15),(r===3||r===5||r===7||r===9)&&(e+="-");return e}toHex(){let e="";for(let r=0;r<this.bytes.length;r++)e+=Fo.charAt(this.bytes[r]>>>4),e+=Fo.charAt(this.bytes[r]&15);return e}toJSON(){return this.toString()}getVariant(){let e=this.bytes[8]>>>4;if(e<0)throw new Error("unreachable");if(e<=7)return this.bytes.every(r=>r===0)?"NIL":"VAR_0";if(e<=11)return"VAR_10";if(e<=13)return"VAR_110";if(e<=15)return this.bytes.every(r=>r===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new t(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(let r=0;r<16;r++){let n=this.bytes[r]-e.bytes[r];if(n!==0)return Math.sign(n)}return 0}},ea=class{constructor(e){this.timestamp=0,this.counter=0,this.random=e??vw()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(e,r){let n=this.generateOrAbortCore(e,r);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(e,r)),n}generateOrAbortCore(e,r){if(!Number.isInteger(e)||e<1||e>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(r<0||r>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(e>this.timestamp)this.timestamp=e,this.resetCounter();else if(e+r>=this.timestamp)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return Mo.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}generateV4(){let e=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return e[6]=64|e[6]>>>4,e[8]=128|e[8]>>>2,Mo.ofInner(e)}},vw=()=>{if(typeof crypto<"u"&&typeof crypto.getRandomValues<"u")return new ta;if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");return{nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}},ta=class{constructor(){this.buffer=new Uint32Array(8),this.cursor=65535}nextUint32(){return this.cursor>=this.buffer.length&&(crypto.getRandomValues(this.buffer),this.cursor=0),this.buffer[this.cursor++]}},El,Sl=()=>Ew().toString(),Ew=()=>(El||(El=new ea)).generate();function Al(t,e=1/0,r=!1){let n=[],o=!1;async function i(){if(o||n.length===0)return;o=!0;let s=n.splice(0,e),c=s.map(a=>a.task);if(r){let a=c.map(async(u,l)=>{try{let d=await t([u]);s[l].resolve(d)}catch(d){s[l].reject(d)}});await Promise.all(a)}else try{let a=await t(c);s.forEach(u=>u.resolve(a))}catch(a){s.forEach(u=>u.reject(a))}o=!1,i()}return{push(s){return new Promise((c,a)=>{n.push({task:s,resolve:c,reject:a}),i()})}}}var Sw=Cl,_l=128,Aw=127,_w=~Aw,Bw=Math.pow(2,31);function Cl(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Bw;)e[r++]=t&255|_l,t/=128;for(;t&_w;)e[r++]=t&255|_l,t>>>=7;return e[r]=t|0,Cl.bytes=r-n+1,e}var Cw=ra,Tw=128,Bl=127;function ra(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c)throw ra.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&Bl)<<o:(s&Bl)*Math.pow(2,o),o+=7}while(s>=Tw);return ra.bytes=i-n,r}var Iw=Math.pow(2,7),Lw=Math.pow(2,14),Dw=Math.pow(2,21),Nw=Math.pow(2,28),Uw=Math.pow(2,35),Pw=Math.pow(2,42),Fw=Math.pow(2,49),Mw=Math.pow(2,56),Ow=Math.pow(2,63),Rw=function(t){return t<Iw?1:t<Lw?2:t<Dw?3:t<Nw?4:t<Uw?5:t<Pw?6:t<Fw?7:t<Mw?8:t<Ow?9:10},zw={encode:Sw,decode:Cw,encodingLength:Rw},$w=zw,yn=$w;var mn=(t,e=0)=>[yn.decode(t,e),yn.decode.bytes],yr=(t,e,r=0)=>(yn.encode(t,e,r),e),mr=t=>yn.encodingLength(t);var wE=new Uint8Array(0);var Tl=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},ot=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Il=t=>new TextEncoder().encode(t),Ll=t=>new TextDecoder().decode(t);var Pt=(t,e)=>{let r=e.byteLength,n=mr(t),o=n+mr(r),i=new Uint8Array(o+r);return yr(t,i,0),yr(r,i,n),i.set(e,o),new gr(t,r,e,i)},wr=t=>{let e=ot(t),[r,n]=mn(e),[o,i]=mn(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new gr(r,o,s,e)},Dl=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Tl(t.bytes,r.bytes)}},gr=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};var ca={};Y(ca,{base58btc:()=>He,base58flickr:()=>Kw});function Hw(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var c=t.length,a=t.charAt(0),u=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function d(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,w=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var v=(b-g)*l+1>>>0,E=new Uint8Array(v);g!==b;){for(var T=h[g],U=0,A=v-1;(T!==0||U<w)&&A!==-1;A--,U++)T+=256*E[A]>>>0,E[A]=T%c>>>0,T=T/c>>>0;if(T!==0)throw new Error("Non-zero carry");w=U,g++}for(var P=v-w;P!==v&&E[P]===0;)P++;for(var le=a.repeat(p);P<v;++P)le+=t.charAt(E[P]);return le}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var w=0,g=0;h[p]===a;)w++,p++;for(var b=(h.length-p)*u+1>>>0,v=new Uint8Array(b);h[p];){var E=r[h.charCodeAt(p)];if(E===255)return;for(var T=0,U=b-1;(E!==0||T<g)&&U!==-1;U--,T++)E+=c*v[U]>>>0,v[U]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");g=T,p++}if(h[p]!==" "){for(var A=b-g;A!==b&&v[A]===0;)A++;for(var P=new Uint8Array(w+(b-A)),le=w;A!==b;)P[le++]=v[A++];return P}}}function f(h){var p=m(h);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:m,decode:f}}var jw=Hw,Vw=jw,Nl=Vw;var oa=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ia=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ul(this,e)}},sa=class{constructor(e){this.decoders=e}or(e){return Ul(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ul=(t,e)=>new sa({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),aa=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new oa(e,r,n),this.decoder=new ia(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},br=({name:t,prefix:e,encode:r,decode:n})=>new aa(t,e,r,n),yt=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Nl(r,e);return br({prefix:t,name:e,encode:n,decode:i=>ot(o(i))})},qw=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let i=t.length;for(;t[i-1]==="=";)--i;let s=new Uint8Array(i*r/8|0),c=0,a=0,u=0;for(let l=0;l<i;++l){let d=o[t[l]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|d,c+=r,c>=8&&(c-=8,s[u++]=255&a>>c)}if(c>=r||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s},Ww=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,c=0;for(let a=0;a<t.length;++a)for(c=c<<8|t[a],s+=8;s>r;)s-=r,i+=e[o&c>>s];if(s&&(i+=e[o&c<<r-s]),n)for(;i.length*r&7;)i+="=";return i},G=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>br({prefix:e,name:t,encode(o){return Ww(o,n,r)},decode(o){return qw(o,n,r,t)}});var He=yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Kw=yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ua={};Y(ua,{base32:()=>xr,base32hex:()=>Xw,base32hexpad:()=>Zw,base32hexpadupper:()=>eb,base32hexupper:()=>Yw,base32pad:()=>Qw,base32padupper:()=>Jw,base32upper:()=>Gw,base32z:()=>tb});var xr=G({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Gw=G({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qw=G({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jw=G({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Xw=G({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Yw=G({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zw=G({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),eb=G({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),tb=G({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var la=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return nb(r,fa(t),e||He.encoder);default:return ob(r,fa(t),e||xr.encoder)}};var Pl=new WeakMap,fa=t=>{let e=Pl.get(t);if(e==null){let r=new Map;return Pl.set(t,r),r}return e},j=class t{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==gn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ib)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Pt(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Dl(e.multihash,n.multihash)}toString(e){return la(this,e)}toJSON(){return{"/":la(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new t(n,o,i,s||Fl(n,o,i.bytes))}else if(r[sb]===!0){let{version:n,multihash:o,code:i}=r,s=wr(o);return t.create(n,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==gn)throw new Error(`Version 0 CID must use dag-pb (code: ${gn}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Fl(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,gn,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=ot(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new gr(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,m]=mn(e.subarray(r));return r+=m,d},o=n(),i=gn;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),a=n(),u=r+a,l=u-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:u}}static parse(e,r){let[n,o]=rb(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return fa(i).set(n,e),i}},rb=(t,e)=>{switch(t[0]){case"Q":{let r=e||He;return[He.prefix,r.decode(`${He.prefix}${t}`)]}case He.prefix:{let r=e||He;return[He.prefix,r.decode(t)]}case xr.prefix:{let r=e||xr;return[xr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},nb=(t,e,r)=>{let{prefix:n}=r;if(n!==He.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o},ob=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o},gn=112,ib=18,Fl=(t,e,r)=>{let n=mr(t),o=n+mr(e),i=new Uint8Array(o+r.byteLength);return yr(t,i,0),yr(e,i,n),i.set(r,o),i},sb=Symbol.for("@ipld/js-cid/CID");var Ml=(t,e)=>j.parse(t,e);var je,_e=class{constructor(e){nt(this,je,new Map);e&&fe(this,je,new Map(e.map(r=>[r.cid.toString(),r.bytes])))}async get(e){let r=Z(this,je).get(e.toString());if(r)return{cid:e,bytes:r}}async put(e,r){Z(this,je).set(e.toString(),r)}putSync(e,r){Z(this,je).set(e.toString(),r)}async delete(e){Z(this,je).delete(e.toString())}deleteSync(e){Z(this,je).delete(e.toString())}*entries(){for(let[e,r]of Z(this,je))yield{cid:Ml(e),bytes:r}}};je=new WeakMap;var wn,Mt=class{constructor(...e){nt(this,wn,void 0);fe(this,wn,e)}async get(e){for(let r of Z(this,wn)){let n=await r.get(e);if(n)return n}}};wn=new WeakMap;var da=class{constructor(e){k(this,"value");k(this,"next");this.value=e}},Ve,Ot,Rt,bn=class{constructor(){nt(this,Ve,void 0);nt(this,Ot,void 0);nt(this,Rt,void 0);this.clear()}enqueue(e){let r=new da(e);Z(this,Ve)?(Z(this,Ot).next=r,fe(this,Ot,r)):(fe(this,Ve,r),fe(this,Ot,r)),Zs(this,Rt)._++}dequeue(){let e=Z(this,Ve);if(e)return fe(this,Ve,Z(this,Ve).next),Zs(this,Rt)._--,e.value}clear(){fe(this,Ve,void 0),fe(this,Ot,void 0),fe(this,Rt,0)}get size(){return Z(this,Rt)}*[Symbol.iterator](){let e=Z(this,Ve);for(;e;)yield e.value,e=e.next}};Ve=new WeakMap,Ot=new WeakMap,Rt=new WeakMap;function xn(t){if(!((Number.isInteger(t)||t===Number.POSITIVE_INFINITY)&&t>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=new bn,r=0,n=()=>{r--,e.size>0&&e.dequeue()()},o=async(c,a,u)=>{r++;let l=(async()=>c(...u))();a(l);try{await l}catch{}n()},i=(c,a,u)=>{e.enqueue(o.bind(void 0,c,a,u)),(async()=>(await Promise.resolve(),r<t&&e.size>0&&e.dequeue()()))()},s=(c,...a)=>new Promise(u=>{i(c,u,a)});return Object.defineProperties(s,{activeCount:{get:()=>r},pendingCount:{get:()=>e.size},clearQueue:{value:()=>{e.clear()}}}),s}var q={};Y(q,{code:()=>La,decode:()=>Tr,encode:()=>Yo,name:()=>b0});var ab=["string","number","bigint","symbol"],cb=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Ol(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(ab.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(ub(t))return"Buffer";let r=lb(t);return r||"Object"}function ub(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function lb(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(cb.includes(e))return e}var y=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};y.uint=new y(0,"uint",!0);y.negint=new y(1,"negint",!0);y.bytes=new y(2,"bytes",!0);y.string=new y(3,"string",!0);y.array=new y(4,"array",!1);y.map=new y(5,"map",!1);y.tag=new y(6,"tag",!1);y.float=new y(7,"float",!0);y.false=new y(7,"false",!0);y.true=new y(7,"true",!0);y.null=new y(7,"null",!0);y.undefined=new y(7,"undefined",!0);y.break=new y(7,"break",!0);var S=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var kr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",fb=new TextDecoder,db=new TextEncoder;function Ro(t){return kr&&globalThis.Buffer.isBuffer(t)}function kn(t){return t instanceof Uint8Array?Ro(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Hl=kr?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):zl(t,e,r):(t,e,r)=>r-e>64?fb.decode(t.subarray(e,r)):zl(t,e,r),zo=kr?t=>t.length>64?globalThis.Buffer.from(t):Rl(t):t=>t.length>64?db.encode(t):Rl(t),qe=t=>Uint8Array.from(t),vr=kr?(t,e,r)=>Ro(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),jl=kr?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),kn(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Vl=kr?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function ql(t,e){if(Ro(t)&&Ro(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function Rl(t,e=1/0){let r,n=t.length,o=null,i=[];for(let s=0;s<n;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}else if(s+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return i}function zl(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let c,a,u,l;switch(s){case 1:o<128&&(i=o);break;case 2:c=t[e+1],(c&192)===128&&(l=(o&31)<<6|c&63,l>127&&(i=l));break;case 3:c=t[e+1],a=t[e+2],(c&192)===128&&(a&192)===128&&(l=(o&15)<<12|(c&63)<<6|a&63,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:c=t[e+1],a=t[e+2],u=t[e+3],(c&192)===128&&(a&192)===128&&(u&192)===128&&(l=(o&15)<<18|(c&63)<<12|(a&63)<<6|u&63,l>65535&&l<1114112&&(i=l))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return ha(n)}var $l=4096;function ha(t){let e=t.length;if(e<=$l)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=$l));return r}var hb=256,vn=class{constructor(e=hb){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Vl(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=vr(n,0,this.cursor)}else r=jl(this.chunks,this.cursor);return e&&this.reset(),r}};var I="CBOR decode error:",it="CBOR encode error:",En=[];En[23]=1;En[24]=2;En[25]=3;En[26]=5;En[27]=9;function st(t,e,r){if(t.length-e<r)throw new Error(`${I} not enough data for type`)}var ee=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ye(t,e,r){st(t,e,1);let n=t[e];if(r.strict===!0&&n<ee[0])throw new Error(`${I} integer encoded in more bytes than necessary (strict decode)`);return n}function me(t,e,r){st(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<ee[1])throw new Error(`${I} integer encoded in more bytes than necessary (strict decode)`);return n}function ge(t,e,r){st(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<ee[2])throw new Error(`${I} integer encoded in more bytes than necessary (strict decode)`);return n}function we(t,e,r){st(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<ee[3])throw new Error(`${I} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${I} integers outside of the safe integer range are not supported`)}function Wl(t,e,r,n){return new S(y.uint,ye(t,e+1,n),2)}function Kl(t,e,r,n){return new S(y.uint,me(t,e+1,n),3)}function Gl(t,e,r,n){return new S(y.uint,ge(t,e+1,n),5)}function Ql(t,e,r,n){return new S(y.uint,we(t,e+1,n),9)}function Be(t,e){return ne(t,0,e.value)}function ne(t,e,r){if(r<ee[0]){let n=Number(r);t.push([e|n])}else if(r<ee[1]){let n=Number(r);t.push([e|24,n])}else if(r<ee[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<ee[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<ee[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${I} encountered BigInt larger than allowable range`)}}Be.encodedSize=function(e){return ne.encodedSize(e.value)};ne.encodedSize=function(e){return e<ee[0]?1:e<ee[1]?2:e<ee[2]?3:e<ee[3]?5:9};Be.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Jl(t,e,r,n){return new S(y.negint,-1-ye(t,e+1,n),2)}function Xl(t,e,r,n){return new S(y.negint,-1-me(t,e+1,n),3)}function Yl(t,e,r,n){return new S(y.negint,-1-ge(t,e+1,n),5)}var pa=BigInt(-1),Zl=BigInt(1);function ef(t,e,r,n){let o=we(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new S(y.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${I} integers outside of the safe integer range are not supported`);return new S(y.negint,pa-BigInt(o),9)}function $o(t,e){let r=e.value,n=typeof r=="bigint"?r*pa-Zl:r*-1-1;ne(t,e.type.majorEncoded,n)}$o.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*pa-Zl:r*-1-1;return n<ee[0]?1:n<ee[1]?2:n<ee[2]?3:n<ee[3]?5:9};$o.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Sn(t,e,r,n){st(t,e,r+n);let o=vr(t,e+r,e+r+n);return new S(y.bytes,o,r+n)}function tf(t,e,r,n){return Sn(t,e,1,r)}function rf(t,e,r,n){return Sn(t,e,2,ye(t,e+1,n))}function nf(t,e,r,n){return Sn(t,e,3,me(t,e+1,n))}function of(t,e,r,n){return Sn(t,e,5,ge(t,e+1,n))}function sf(t,e,r,n){let o=we(t,e+1,n);if(typeof o=="bigint")throw new Error(`${I} 64-bit integer bytes lengths not supported`);return Sn(t,e,9,o)}function Ho(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===y.string?zo(t.value):t.value),t.encodedBytes}function Er(t,e){let r=Ho(e);ne(t,e.type.majorEncoded,r.length),t.push(r)}Er.encodedSize=function(e){let r=Ho(e);return ne.encodedSize(r.length)+r.length};Er.compareTokens=function(e,r){return yb(Ho(e),Ho(r))};function yb(t,e){return t.length<e.length?-1:t.length>e.length?1:ql(t,e)}function An(t,e,r,n,o){let i=r+n;st(t,e,i);let s=new S(y.string,Hl(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=vr(t,e+r,e+i)),s}function af(t,e,r,n){return An(t,e,1,r,n)}function cf(t,e,r,n){return An(t,e,2,ye(t,e+1,n),n)}function uf(t,e,r,n){return An(t,e,3,me(t,e+1,n),n)}function lf(t,e,r,n){return An(t,e,5,ge(t,e+1,n),n)}function ff(t,e,r,n){let o=we(t,e+1,n);if(typeof o=="bigint")throw new Error(`${I} 64-bit integer string lengths not supported`);return An(t,e,9,o,n)}var df=Er;function Sr(t,e,r,n){return new S(y.array,n,r)}function hf(t,e,r,n){return Sr(t,e,1,r)}function pf(t,e,r,n){return Sr(t,e,2,ye(t,e+1,n))}function yf(t,e,r,n){return Sr(t,e,3,me(t,e+1,n))}function mf(t,e,r,n){return Sr(t,e,5,ge(t,e+1,n))}function gf(t,e,r,n){let o=we(t,e+1,n);if(typeof o=="bigint")throw new Error(`${I} 64-bit integer array lengths not supported`);return Sr(t,e,9,o)}function wf(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${I} indefinite length items not allowed`);return Sr(t,e,1,1/0)}function jo(t,e){ne(t,y.array.majorEncoded,e.value)}jo.compareTokens=Be.compareTokens;jo.encodedSize=function(e){return ne.encodedSize(e.value)};function Ar(t,e,r,n){return new S(y.map,n,r)}function bf(t,e,r,n){return Ar(t,e,1,r)}function xf(t,e,r,n){return Ar(t,e,2,ye(t,e+1,n))}function kf(t,e,r,n){return Ar(t,e,3,me(t,e+1,n))}function vf(t,e,r,n){return Ar(t,e,5,ge(t,e+1,n))}function Ef(t,e,r,n){let o=we(t,e+1,n);if(typeof o=="bigint")throw new Error(`${I} 64-bit integer map lengths not supported`);return Ar(t,e,9,o)}function Sf(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${I} indefinite length items not allowed`);return Ar(t,e,1,1/0)}function Vo(t,e){ne(t,y.map.majorEncoded,e.value)}Vo.compareTokens=Be.compareTokens;Vo.encodedSize=function(e){return ne.encodedSize(e.value)};function Af(t,e,r,n){return new S(y.tag,r,1)}function _f(t,e,r,n){return new S(y.tag,ye(t,e+1,n),2)}function Bf(t,e,r,n){return new S(y.tag,me(t,e+1,n),3)}function Cf(t,e,r,n){return new S(y.tag,ge(t,e+1,n),5)}function Tf(t,e,r,n){return new S(y.tag,we(t,e+1,n),9)}function qo(t,e){ne(t,y.tag.majorEncoded,e.value)}qo.compareTokens=Be.compareTokens;qo.encodedSize=function(e){return ne.encodedSize(e.value)};var kb=20,vb=21,Eb=22,Sb=23;function If(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${I} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new S(y.null,null,1):new S(y.undefined,void 0,1)}function Lf(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${I} indefinite length items not allowed`);return new S(y.break,void 0,1)}function ya(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${I} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${I} Infinity values are not supported`)}return new S(y.float,t,e)}function Df(t,e,r,n){return ya(ma(t,e+1),3,n)}function Nf(t,e,r,n){return ya(ga(t,e+1),5,n)}function Uf(t,e,r,n){return ya(Of(t,e+1),9,n)}function Wo(t,e,r){let n=e.value;if(n===!1)t.push([y.float.majorEncoded|kb]);else if(n===!0)t.push([y.float.majorEncoded|vb]);else if(n===null)t.push([y.float.majorEncoded|Eb]);else if(n===void 0)t.push([y.float.majorEncoded|Sb]);else{let o,i=!1;(!r||r.float64!==!0)&&(Ff(n),o=ma(Ne,1),n===o||Number.isNaN(n)?(Ne[0]=249,t.push(Ne.slice(0,3)),i=!0):(Mf(n),o=ga(Ne,1),n===o&&(Ne[0]=250,t.push(Ne.slice(0,5)),i=!0))),i||(Ab(n),o=Of(Ne,1),Ne[0]=251,t.push(Ne.slice(0,9)))}}Wo.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){Ff(n);let o=ma(Ne,1);if(n===o||Number.isNaN(n))return 3;if(Mf(n),o=ga(Ne,1),n===o)return 5}return 9};var Pf=new ArrayBuffer(9),Ce=new DataView(Pf,1),Ne=new Uint8Array(Pf,0);function Ff(t){if(t===1/0)Ce.setUint16(0,31744,!1);else if(t===-1/0)Ce.setUint16(0,64512,!1);else if(Number.isNaN(t))Ce.setUint16(0,32256,!1);else{Ce.setFloat32(0,t);let e=Ce.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)Ce.setUint16(0,31744,!1);else if(r===0)Ce.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Ce.setUint16(0,0):o<-14?Ce.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):Ce.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function ma(t,e){if(t.length-e<2)throw new Error(`${I} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function Mf(t){Ce.setFloat32(0,t,!1)}function ga(t,e){if(t.length-e<4)throw new Error(`${I} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function Ab(t){Ce.setFloat64(0,t,!1)}function Of(t,e){if(t.length-e<8)throw new Error(`${I} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}Wo.compareTokens=Be.compareTokens;function R(t,e,r){throw new Error(`${I} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function Ko(t){return()=>{throw new Error(`${I} ${t}`)}}var _=[];for(let t=0;t<=23;t++)_[t]=R;_[24]=Wl;_[25]=Kl;_[26]=Gl;_[27]=Ql;_[28]=R;_[29]=R;_[30]=R;_[31]=R;for(let t=32;t<=55;t++)_[t]=R;_[56]=Jl;_[57]=Xl;_[58]=Yl;_[59]=ef;_[60]=R;_[61]=R;_[62]=R;_[63]=R;for(let t=64;t<=87;t++)_[t]=tf;_[88]=rf;_[89]=nf;_[90]=of;_[91]=sf;_[92]=R;_[93]=R;_[94]=R;_[95]=Ko("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)_[t]=af;_[120]=cf;_[121]=uf;_[122]=lf;_[123]=ff;_[124]=R;_[125]=R;_[126]=R;_[127]=Ko("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)_[t]=hf;_[152]=pf;_[153]=yf;_[154]=mf;_[155]=gf;_[156]=R;_[157]=R;_[158]=R;_[159]=wf;for(let t=160;t<=183;t++)_[t]=bf;_[184]=xf;_[185]=kf;_[186]=vf;_[187]=Ef;_[188]=R;_[189]=R;_[190]=R;_[191]=Sf;for(let t=192;t<=215;t++)_[t]=Af;_[216]=_f;_[217]=Bf;_[218]=Cf;_[219]=Tf;_[220]=R;_[221]=R;_[222]=R;_[223]=R;for(let t=224;t<=243;t++)_[t]=Ko("simple values are not supported");_[244]=R;_[245]=R;_[246]=R;_[247]=If;_[248]=Ko("simple values are not supported");_[249]=Df;_[250]=Nf;_[251]=Uf;_[252]=R;_[253]=R;_[254]=R;_[255]=Lf;var Ue=[];for(let t=0;t<24;t++)Ue[t]=new S(y.uint,t,1);for(let t=-1;t>=-24;t--)Ue[31-t]=new S(y.negint,t,1);Ue[64]=new S(y.bytes,new Uint8Array(0),1);Ue[96]=new S(y.string,"",1);Ue[128]=new S(y.array,0,1);Ue[160]=new S(y.map,0,1);Ue[244]=new S(y.false,!1,1);Ue[245]=new S(y.true,!0,1);Ue[246]=new S(y.null,null,1);function Rf(t){switch(t.type){case y.false:return qe([244]);case y.true:return qe([245]);case y.null:return qe([246]);case y.bytes:return t.value.length?void 0:qe([64]);case y.string:return t.value===""?qe([96]):void 0;case y.array:return t.value===0?qe([128]):void 0;case y.map:return t.value===0?qe([160]):void 0;case y.uint:return t.value<24?qe([Number(t.value)]):void 0;case y.negint:if(t.value>=-24)return qe([31-Number(t.value)])}}var Bb={float64:!1,mapSorter:Ib,quickEncodeToken:Rf};function Cb(){let t=[];return t[y.uint.major]=Be,t[y.negint.major]=$o,t[y.bytes.major]=Er,t[y.string.major]=df,t[y.array.major]=jo,t[y.map.major]=Vo,t[y.tag.major]=qo,t[y.float.major]=Wo,t}var zf=Cb(),wa=new vn,Qo=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${it} object contains circular references`);return new t(r,e)}},mt={null:new S(y.null,null),undefined:new S(y.undefined,void 0),true:new S(y.true,!0),false:new S(y.false,!1),emptyArray:new S(y.array,0),emptyMap:new S(y.map,0)},gt={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new S(y.float,t):t>=0?new S(y.uint,t):new S(y.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new S(y.uint,t):new S(y.negint,t)},Uint8Array(t,e,r,n){return new S(y.bytes,t)},string(t,e,r,n){return new S(y.string,t)},boolean(t,e,r,n){return t?mt.true:mt.false},null(t,e,r,n){return mt.null},undefined(t,e,r,n){return mt.undefined},ArrayBuffer(t,e,r,n){return new S(y.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new S(y.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[mt.emptyArray,new S(y.break)]:mt.emptyArray;n=Qo.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=Go(s,r,n);return r.addBreakTokens?[new S(y.array,t.length),o,new S(y.break)]:[new S(y.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[mt.emptyMap,new S(y.break)]:mt.emptyMap;n=Qo.createCheck(n,t);let c=[],a=0;for(let u of i)c[a++]=[Go(u,r,n),Go(o?t.get(u):t[u],r,n)];return Tb(c,r),r.addBreakTokens?[new S(y.map,s),c,new S(y.break)]:[new S(y.map,s),c]}};gt.Map=gt.Object;gt.Buffer=gt.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))gt[`${t}Array`]=gt.DataView;function Go(t,e={},r){let n=Ol(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||gt[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=gt[n];if(!i)throw new Error(`${it} unsupported type: ${n}`);return i(t,n,e,r)}function Tb(t,e){e.mapSorter&&t.sort(e.mapSorter)}function Ib(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=zf[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function $f(t,e,r,n){if(Array.isArray(e))for(let o of e)$f(t,o,r,n);else r[e.type.major](t,e,n)}function ba(t,e,r){let n=Go(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=e[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),c=new vn(s);if(i(c,n,r),c.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return kn(c.chunks[0])}}return wa.reset(),$f(wa,n,e,r),wa.toBytes(!0)}function xa(t,e){return e=Object.assign({},Bb,e),ba(t,zf,e)}var Lb={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},ka=class{constructor(e,r={}){this.pos=0,this.data=e,this.options=r}done(){return this.pos>=this.data.length}next(){let e=this.data[this.pos],r=Ue[e];if(r===void 0){let n=_[e];if(!n)throw new Error(`${I} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this.pos,o,this.options)}return this.pos+=r.encodedLength,r}},_n=Symbol.for("DONE"),Jo=Symbol.for("BREAK");function Db(t,e,r){let n=[];for(let o=0;o<t.value;o++){let i=Bn(e,r);if(i===Jo){if(t.value===1/0)break;throw new Error(`${I} got unexpected break to lengthed array`)}if(i===_n)throw new Error(`${I} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=i}return n}function Nb(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<t.value;s++){let c=Bn(e,r);if(c===Jo){if(t.value===1/0)break;throw new Error(`${I} got unexpected break to lengthed map`)}if(c===_n)throw new Error(`${I} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof c!="string")throw new Error(`${I} non-string keys not supported (got ${typeof c})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(c)||!n&&c in o))throw new Error(`${I} found repeat map key "${c}"`);let a=Bn(e,r);if(a===_n)throw new Error(`${I} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?i.set(c,a):o[c]=a}return n?i:o}function Bn(t,e){if(t.done())return _n;let r=t.next();if(r.type===y.break)return Jo;if(r.type.terminal)return r.value;if(r.type===y.array)return Db(r,t,e);if(r.type===y.map)return Nb(r,t,e);if(r.type===y.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Bn(t,e);return e.tags[r.value](n)}throw new Error(`${I} tag not supported (${r.value})`)}throw new Error("unsupported")}function Cn(t,e){if(!(t instanceof Uint8Array))throw new Error(`${I} data to decode must be a Uint8Array`);e=Object.assign({},Lb,e);let r=e.tokenizer||new ka(t,e),n=Bn(r,e);if(n===_n)throw new Error(`${I} did not find any content to decode`);if(n===Jo)throw new Error(`${I} got unexpected break`);if(!r.done())throw new Error(`${I} too many terminals, data makes no sense`);return n}var Pb=Vf,Hf=128,Fb=127,Mb=~Fb,Ob=Math.pow(2,31);function Vf(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Ob;)e[r++]=t&255|Hf,t/=128;for(;t&Mb;)e[r++]=t&255|Hf,t>>>=7;return e[r]=t|0,Vf.bytes=r-n+1,e}var Rb=va,zb=128,jf=127;function va(t,n){var r=0,n=n||0,o=0,i=n,s,c=t.length;do{if(i>=c)throw va.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&jf)<<o:(s&jf)*Math.pow(2,o),o+=7}while(s>=zb);return va.bytes=i-n,r}var $b=Math.pow(2,7),Hb=Math.pow(2,14),jb=Math.pow(2,21),Vb=Math.pow(2,28),qb=Math.pow(2,35),Wb=Math.pow(2,42),Kb=Math.pow(2,49),Gb=Math.pow(2,56),Qb=Math.pow(2,63),Jb=function(t){return t<$b?1:t<Hb?2:t<jb?3:t<Vb?4:t<qb?5:t<Wb?6:t<Kb?7:t<Gb?8:t<Qb?9:10},Xb={encode:Pb,decode:Rb,encodingLength:Jb},Yb=Xb,Tn=Yb;var In=(t,e=0)=>[Tn.decode(t,e),Tn.decode.bytes],_r=(t,e,r=0)=>(Tn.encode(t,e,r),e),Br=t=>Tn.encodingLength(t);var $t={};Y($t,{coerce:()=>Te,empty:()=>qf,equals:()=>Sa,fromHex:()=>e0,fromString:()=>r0,isBinary:()=>t0,toHex:()=>Zb,toString:()=>n0});var qf=new Uint8Array(0),Zb=t=>t.reduce((e,r)=>e+r.toString(16).padStart(2,"0"),""),e0=t=>{let e=t.match(/../g);return e?new Uint8Array(e.map(r=>parseInt(r,16))):qf},Sa=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Te=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},t0=t=>t instanceof ArrayBuffer||ArrayBuffer.isView(t),r0=t=>new TextEncoder().encode(t),n0=t=>new TextDecoder().decode(t);var Ht=(t,e)=>{let r=e.byteLength,n=Br(t),o=n+Br(r),i=new Uint8Array(o+r);return _r(t,i,0),_r(r,i,n),i.set(e,o),new Cr(t,r,e,i)},Xo=t=>{let e=Te(t),[r,n]=In(e),[o,i]=In(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Cr(r,o,s,e)},Wf=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Sa(t.bytes,r.bytes)}},Cr=class{constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function o0(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var c=t.length,a=t.charAt(0),u=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function d(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,w=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var v=(b-g)*l+1>>>0,E=new Uint8Array(v);g!==b;){for(var T=h[g],U=0,A=v-1;(T!==0||U<w)&&A!==-1;A--,U++)T+=256*E[A]>>>0,E[A]=T%c>>>0,T=T/c>>>0;if(T!==0)throw new Error("Non-zero carry");w=U,g++}for(var P=v-w;P!==v&&E[P]===0;)P++;for(var le=a.repeat(p);P<v;++P)le+=t.charAt(E[P]);return le}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var w=0,g=0;h[p]===a;)w++,p++;for(var b=(h.length-p)*u+1>>>0,v=new Uint8Array(b);h[p];){var E=r[h.charCodeAt(p)];if(E===255)return;for(var T=0,U=b-1;(E!==0||T<g)&&U!==-1;U--,T++)E+=c*v[U]>>>0,v[U]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");g=T,p++}if(h[p]!==" "){for(var A=b-g;A!==b&&v[A]===0;)A++;for(var P=new Uint8Array(w+(b-A)),le=w;A!==b;)P[le++]=v[A++];return P}}}function f(h){var p=m(h);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:m,decode:f}}var i0=o0,s0=i0,Kf=s0;var Aa=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},_a=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Gf(this,e)}},Ba=class{constructor(e){this.decoders=e}or(e){return Gf(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Gf=(t,e)=>new Ba({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Ca=class{constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Aa(e,r,n),this.decoder=new _a(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Qf=({name:t,prefix:e,encode:r,decode:n})=>new Ca(t,e,r,n),Ta=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:o}=Kf(r,e);return Qf({prefix:t,name:e,encode:n,decode:i=>Te(o(i))})},a0=(t,e,r,n)=>{let o={};for(let l=0;l<e.length;++l)o[e[l]]=l;let i=t.length;for(;t[i-1]==="=";)--i;let s=new Uint8Array(i*r/8|0),c=0,a=0,u=0;for(let l=0;l<i;++l){let d=o[t[l]];if(d===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|d,c+=r,c>=8&&(c-=8,s[u++]=255&a>>c)}if(c>=r||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s},c0=(t,e,r)=>{let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,c=0;for(let a=0;a<t.length;++a)for(c=c<<8|t[a],s+=8;s>r;)s-=r,i+=e[o&c>>s];if(s&&(i+=e[o&c<<r-s]),n)for(;i.length*r&7;)i+="=";return i},ae=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Qf({prefix:e,name:t,encode(o){return c0(o,n,r)},decode(o){return a0(o,n,r,t)}});var at=Ta({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),GS=Ta({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Dn=ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),XS=ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),YS=ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ZS=ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eA=ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),tA=ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rA=ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nA=ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),oA=ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Jf=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return l0(r,Ia(t),e||at.encoder);default:return f0(r,Ia(t),e||Dn.encoder)}};var Xf=new WeakMap,Ia=t=>{let e=Xf.get(t);if(e==null){let r=new Map;return Xf.set(t,r),r}return e},V=class t{constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Nn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==d0)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Ht(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Wf(e.multihash,n.multihash)}toString(e){return Jf(this,e)}toJSON(){return{"/":Jf(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new t(n,o,i,s||Yf(n,o,i.bytes))}else if(r[h0]===!0){let{version:n,multihash:o,code:i}=r,s=Xo(o);return t.create(n,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Nn)throw new Error(`Version 0 CID must use dag-pb (code: ${Nn}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Yf(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Nn,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=Te(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new Cr(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,m]=In(e.subarray(r));return r+=m,d},o=n(),i=Nn;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),a=n(),u=r+a,l=u-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:u}}static parse(e,r){let[n,o]=u0(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ia(i).set(n,e),i}},u0=(t,e)=>{switch(t[0]){case"Q":{let r=e||at;return[at.prefix,r.decode(`${at.prefix}${t}`)]}case at.prefix:{let r=e||at;return[at.prefix,r.decode(t)]}case Dn.prefix:{let r=e||Dn;return[Dn.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},l0=(t,e,r)=>{let{prefix:n}=r;if(n!==at.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o},f0=(t,e,r)=>{let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o},Nn=112,d0=18,Yf=(t,e,r)=>{let n=Br(t),o=n+Br(e),i=new Uint8Array(o+r.byteLength);return _r(t,i,0),_r(e,i,n),i.set(r,o),i},h0=Symbol.for("@ipld/js-cid/CID");var Zf=42;function p0(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=V.asCID(t);if(!e)return null;let r=new Uint8Array(e.bytes.byteLength+1);return r.set(e.bytes,1),[new S(y.tag,Zf),new S(y.bytes,r)]}function y0(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function m0(t){if(Number.isNaN(t))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(t===1/0||t===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}var g0={float64:!0,typeEncoders:{Object:p0,undefined:y0,number:m0}};function w0(t){if(t[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return V.decode(t.subarray(1))}var ed={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};ed.tags[Zf]=w0;var b0="dag-cbor",La=113,Yo=t=>xa(t,g0),Tr=t=>Cn(t,ed);var wt={Null:t=>t===null,Int:t=>Number.isInteger(t),Float:t=>typeof t=="number"&&Number.isFinite(t),String:t=>typeof t=="string",Bool:t=>typeof t=="boolean",Bytes:t=>t instanceof Uint8Array,Link:t=>!wt.Null(t)&&typeof t=="object"&&t.asCID===t,List:t=>Array.isArray(t),Map:t=>!wt.Null(t)&&typeof t=="object"&&t.asCID!==t&&!wt.List(t)&&!wt.Bytes(t)},Ir={Int:wt.Int,"CarHeader > version":t=>Ir.Int(t),"CarHeader > roots (anon) > valueType (anon)":wt.Link,"CarHeader > roots (anon)":t=>wt.List(t)&&Array.prototype.every.call(t,Ir["CarHeader > roots (anon) > valueType (anon)"]),"CarHeader > roots":t=>Ir["CarHeader > roots (anon)"](t),CarHeader:t=>{let e=t&&Object.keys(t);return wt.Map(t)&&["version"].every(r=>e.includes(r))&&Object.entries(t).every(([r,n])=>Ir["CarHeader > "+r]&&Ir["CarHeader > "+r](n))}},Da=Ir.CarHeader;var bt=W(Zo(),1),Un={SHA2_256:18,LENGTH:32,DAG_PB:112},Pa=16+8+8+8;function Lr(t,e){if(!t.length)throw new Error("Unexpected end of data");let r=bt.default.decode(t);return e.seek(bt.default.decode.bytes),r}function Fa(t){let e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=0;return{version:2,characteristics:[e.getBigUint64(r,!0),e.getBigUint64(r+=8,!0)],dataOffset:Number(e.getBigUint64(r+=8,!0)),dataSize:Number(e.getBigUint64(r+=8,!0)),indexOffset:Number(e.getBigUint64(r+=8,!0))}}function Ma(t){bt.default.decode(t);let e=bt.default.decode.bytes,r=bt.default.decode(t.subarray(bt.default.decode.bytes)),n=bt.default.decode.bytes;return e+n+r}async function Oa(t,e){let r=Lr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR header (zero length)");let n=await t.exactly(r,!0),o=Tr(n);if(!Da(o))throw new Error("Invalid CAR header format");if(o.version!==1&&o.version!==2||e!==void 0&&o.version!==e)throw new Error(`Invalid CAR version: ${o.version}${e!==void 0?` (expected ${e})`:""}`);let i=Array.isArray(o.roots);if(o.version===1&&!i||o.version===2&&i)throw new Error("Invalid CAR header format");if(o.version===1)return o;let s=Fa(await t.exactly(Pa,!0));t.seek(s.dataOffset-t.pos);let c=await Oa(t,1);return Object.assign(c,s)}async function N0(t){let e=await t.exactly(2,!1);if(e[0]===Un.SHA2_256&&e[1]===Un.LENGTH){let s=await t.exactly(34,!0),c=wr(s);return j.create(0,Un.DAG_PB,c)}let r=Lr(await t.upTo(8),t);if(r!==1)throw new Error(`Unexpected CID version (${r})`);let n=Lr(await t.upTo(8),t),o=await t.exactly(Ma(await t.upTo(8)),!0),i=wr(o);return j.create(r,n,i)}async function ld(t){let e=t.pos,r=Lr(await t.upTo(8),t);if(r===0)throw new Error("Invalid CAR section (zero length)");r+=t.pos-e;let n=await N0(t),o=r-Number(t.pos-e);return{cid:n,length:r,blockLength:o}}async function U0(t){let{cid:e,blockLength:r}=await ld(t);return{bytes:await t.exactly(r,!0),cid:e}}async function P0(t){let e=t.pos,{cid:r,length:n,blockLength:o}=await ld(t),i={cid:r,length:n,blockLength:o,offset:e,blockOffset:t.pos};return t.seek(i.blockLength),i}function Dr(t){let e=(async()=>{let r=await Oa(t);if(r.version===2){let n=t.pos-r.dataOffset;t=M0(t,r.dataSize-n)}return r})();return{header:()=>e,async*blocks(){for(await e;(await t.upTo(8)).length>0;)yield await U0(t)},async*blocksIndex(){for(await e;(await t.upTo(8)).length>0;)yield await P0(t)}}}function jt(t){let e=0;return{async upTo(r){return t.subarray(e,e+Math.min(r,t.length-e))},async exactly(r,n=!1){if(r>t.length-e)throw new Error("Unexpected end of data");let o=t.subarray(e,e+r);return n&&(e+=r),o},seek(r){e+=r},get pos(){return e}}}function F0(t){let e=0,r=0,n=0,o=new Uint8Array(0),i=async s=>{r=o.length-n;let c=[o.subarray(n)];for(;r<s;){let u=await t();if(u==null)break;r<0?u.length>r&&c.push(u.subarray(-r)):c.push(u),r+=u.length}o=new Uint8Array(c.reduce((u,l)=>u+l.length,0));let a=0;for(let u of c)o.set(u,a),a+=u.length;n=0};return{async upTo(s){return o.length-n<s&&await i(s),o.subarray(n,n+Math.min(o.length-n,s))},async exactly(s,c=!1){if(o.length-n<s&&await i(s),o.length-n<s)throw new Error("Unexpected end of data");let a=o.subarray(n,n+s);return c&&(e+=s,n+=s),a},seek(s){e+=s,n+=s},get pos(){return e}}}function Nr(t){let e=t[Symbol.asyncIterator]();async function r(){let n=await e.next();return n.done?null:n.value}return F0(r)}function M0(t,e){let r=0;return{async upTo(n){let o=await t.upTo(n);return o.length+r>e&&(o=o.subarray(0,e-r)),o},async exactly(n,o=!1){let i=await t.exactly(n,o);if(i.length+r>e)throw new Error("Unexpected end of data");return o&&(r+=n),i},seek(n){r+=n,t.seek(n)},get pos(){return t.pos}}}var Vt=class{constructor(e,r){this._header=e,this._blocks=r,this._keys=r.map(n=>n.cid.toString())}get version(){return this._header.version}async getRoots(){return this._header.roots}async has(e){return this._keys.indexOf(e.toString())>-1}async get(e){let r=this._keys.indexOf(e.toString());return r>-1?this._blocks[r]:void 0}async*blocks(){for(let e of this._blocks)yield e}async*cids(){for(let e of this._blocks)yield e.cid}static async fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return fd(jt(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return fd(Nr(e))}};async function fd(t){let e=Dr(t),r=await e.header(),n=[];for await(let o of e.blocks())n.push(o);return new Vt(r,n)}var Pn=class{constructor(e,r,n){this._version=e,this._roots=r,this._iterator=n}get version(){return this._version}async getRoots(){return this._roots}[Symbol.asyncIterator](){return this._iterator}static async fromBytes(e){if(!(e instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return dd(jt(e))}static async fromIterable(e){if(!e||typeof e[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return dd(Nr(e))}};async function dd(t){let e=Dr(t),{version:r,roots:n}=await e.header();return new Pn(r,n,e.blocksIndex())}var ei=class{constructor(e,r,n){this._version=e,this._roots=r,this._iterable=n,this._decoded=!1}get version(){return this._version}async getRoots(){return this._roots}},Ra=class t extends ei{[Symbol.asyncIterator](){if(this._decoded)throw new Error("Cannot decode more than once");if(!this._iterable)throw new Error("Block iterable not found");return this._decoded=!0,this._iterable[Symbol.asyncIterator]()}static async fromBytes(e){let{version:r,roots:n,iterator:o}=await hd(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await pd(e);return new t(r,n,o)}},za=class t extends ei{[Symbol.asyncIterator](){if(this._decoded)throw new Error("Cannot decode more than once");if(!this._iterable)throw new Error("Block iterable not found");this._decoded=!0;let e=this._iterable[Symbol.asyncIterator]();return{async next(){let r=await e.next();return r.done?r:{done:!1,value:r.value.cid}}}}static async fromBytes(e){let{version:r,roots:n,iterator:o}=await hd(e);return new t(r,n,o)}static async fromIterable(e){let{version:r,roots:n,iterator:o}=await pd(e);return new t(r,n,o)}};async function hd(t){if(!(t instanceof Uint8Array))throw new TypeError("fromBytes() requires a Uint8Array");return yd(jt(t))}async function pd(t){if(!t||typeof t[Symbol.asyncIterator]!="function")throw new TypeError("fromIterable() requires an async iterable");return yd(Nr(t))}async function yd(t){let e=Dr(t),{version:r,roots:n}=await e.header();return{version:r,roots:n,iterator:e.blocks()}}var R0=W(Zo(),1);var md=class{constructor(e){this._iterator=e}[Symbol.asyncIterator](){if(this._iterating)throw new Error("Multiple iterator not supported");return this._iterating=!0,this._iterator}};var Rn=W(Zo(),1);var z0=["string","number","bigint","symbol"],$0=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function gd(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(z0.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(H0(t))return"Buffer";let r=j0(t);return r||"Object"}function H0(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function j0(t){let e=Object.prototype.toString.call(t).slice(8,-1);if($0.includes(e))return e}var x=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};x.uint=new x(0,"uint",!0);x.negint=new x(1,"negint",!0);x.bytes=new x(2,"bytes",!0);x.string=new x(3,"string",!0);x.array=new x(4,"array",!1);x.map=new x(5,"map",!1);x.tag=new x(6,"tag",!1);x.float=new x(7,"float",!0);x.false=new x(7,"false",!0);x.true=new x(7,"true",!0);x.null=new x(7,"null",!0);x.undefined=new x(7,"undefined",!0);x.break=new x(7,"break",!0);var C=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Ur=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",V0=new TextDecoder,q0=new TextEncoder;function ti(t){return Ur&&globalThis.Buffer.isBuffer(t)}function kd(t){return t instanceof Uint8Array?ti(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var vd=Ur?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):bd(t,e,r):(t,e,r)=>r-e>64?V0.decode(t.subarray(e,r)):bd(t,e,r),Ed=Ur?t=>t.length>64?globalThis.Buffer.from(t):wd(t):t=>t.length>64?q0.encode(t):wd(t),We=t=>Uint8Array.from(t),Pr=Ur?(t,e,r)=>ti(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Sd=Ur?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),kd(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Ad=Ur?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function _d(t,e){if(ti(t)&&ti(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function wd(t,e=1/0){let r,n=t.length,o=null,i=[];for(let s=0;s<n;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}else if(s+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return i}function bd(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let c,a,u,l;switch(s){case 1:o<128&&(i=o);break;case 2:c=t[e+1],(c&192)===128&&(l=(o&31)<<6|c&63,l>127&&(i=l));break;case 3:c=t[e+1],a=t[e+2],(c&192)===128&&(a&192)===128&&(l=(o&15)<<12|(c&63)<<6|a&63,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:c=t[e+1],a=t[e+2],u=t[e+3],(c&192)===128&&(a&192)===128&&(u&192)===128&&(l=(o&15)<<18|(c&63)<<12|(a&63)<<6|u&63,l>65535&&l<1114112&&(i=l))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return W0(n)}var xd=4096;function W0(t){let e=t.length;if(e<=xd)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=xd));return r}var K0=256,ri=class{constructor(e=K0){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Ad(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=Pr(n,0,this.cursor)}else r=Sd(this.chunks,this.cursor);return e&&this.reset(),r}};var z="CBOR decode error:",$a="CBOR encode error:",Fn=[];Fn[23]=1;Fn[24]=2;Fn[25]=3;Fn[26]=5;Fn[27]=9;function ct(t,e,r){if(t.length-e<r)throw new Error(`${z} not enough data for type`)}var te=[24,256,65536,4294967296,BigInt("18446744073709551616")];function be(t,e,r){ct(t,e,1);let n=t[e];if(r.strict===!0&&n<te[0])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function xe(t,e,r){ct(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<te[1])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function ke(t,e,r){ct(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<te[2])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);return n}function ve(t,e,r){ct(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<te[3])throw new Error(`${z} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${z} integers outside of the safe integer range are not supported`)}function Bd(t,e,r,n){return new C(x.uint,be(t,e+1,n),2)}function Cd(t,e,r,n){return new C(x.uint,xe(t,e+1,n),3)}function Td(t,e,r,n){return new C(x.uint,ke(t,e+1,n),5)}function Id(t,e,r,n){return new C(x.uint,ve(t,e+1,n),9)}function Ie(t,e){return oe(t,0,e.value)}function oe(t,e,r){if(r<te[0]){let n=Number(r);t.push([e|n])}else if(r<te[1]){let n=Number(r);t.push([e|24,n])}else if(r<te[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<te[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<te[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${z} encountered BigInt larger than allowable range`)}}Ie.encodedSize=function(e){return oe.encodedSize(e.value)};oe.encodedSize=function(e){return e<te[0]?1:e<te[1]?2:e<te[2]?3:e<te[3]?5:9};Ie.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Ld(t,e,r,n){return new C(x.negint,-1-be(t,e+1,n),2)}function Dd(t,e,r,n){return new C(x.negint,-1-xe(t,e+1,n),3)}function Nd(t,e,r,n){return new C(x.negint,-1-ke(t,e+1,n),5)}var Ha=BigInt(-1),Ud=BigInt(1);function Pd(t,e,r,n){let o=ve(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new C(x.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${z} integers outside of the safe integer range are not supported`);return new C(x.negint,Ha-BigInt(o),9)}function ni(t,e){let r=e.value,n=typeof r=="bigint"?r*Ha-Ud:r*-1-1;oe(t,e.type.majorEncoded,n)}ni.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*Ha-Ud:r*-1-1;return n<te[0]?1:n<te[1]?2:n<te[2]?3:n<te[3]?5:9};ni.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Mn(t,e,r,n){ct(t,e,r+n);let o=Pr(t,e+r,e+r+n);return new C(x.bytes,o,r+n)}function Fd(t,e,r,n){return Mn(t,e,1,r)}function Md(t,e,r,n){return Mn(t,e,2,be(t,e+1,n))}function Od(t,e,r,n){return Mn(t,e,3,xe(t,e+1,n))}function Rd(t,e,r,n){return Mn(t,e,5,ke(t,e+1,n))}function zd(t,e,r,n){let o=ve(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer bytes lengths not supported`);return Mn(t,e,9,o)}function oi(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===x.string?Ed(t.value):t.value),t.encodedBytes}function Fr(t,e){let r=oi(e);oe(t,e.type.majorEncoded,r.length),t.push(r)}Fr.encodedSize=function(e){let r=oi(e);return oe.encodedSize(r.length)+r.length};Fr.compareTokens=function(e,r){return Q0(oi(e),oi(r))};function Q0(t,e){return t.length<e.length?-1:t.length>e.length?1:_d(t,e)}function On(t,e,r,n,o){let i=r+n;ct(t,e,i);let s=new C(x.string,vd(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=Pr(t,e+r,e+i)),s}function $d(t,e,r,n){return On(t,e,1,r,n)}function Hd(t,e,r,n){return On(t,e,2,be(t,e+1,n),n)}function jd(t,e,r,n){return On(t,e,3,xe(t,e+1,n),n)}function Vd(t,e,r,n){return On(t,e,5,ke(t,e+1,n),n)}function qd(t,e,r,n){let o=ve(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer string lengths not supported`);return On(t,e,9,o,n)}var Wd=Fr;function Mr(t,e,r,n){return new C(x.array,n,r)}function Kd(t,e,r,n){return Mr(t,e,1,r)}function Gd(t,e,r,n){return Mr(t,e,2,be(t,e+1,n))}function Qd(t,e,r,n){return Mr(t,e,3,xe(t,e+1,n))}function Jd(t,e,r,n){return Mr(t,e,5,ke(t,e+1,n))}function Xd(t,e,r,n){let o=ve(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer array lengths not supported`);return Mr(t,e,9,o)}function Yd(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Mr(t,e,1,1/0)}function ii(t,e){oe(t,x.array.majorEncoded,e.value)}ii.compareTokens=Ie.compareTokens;ii.encodedSize=function(e){return oe.encodedSize(e.value)};function Or(t,e,r,n){return new C(x.map,n,r)}function Zd(t,e,r,n){return Or(t,e,1,r)}function eh(t,e,r,n){return Or(t,e,2,be(t,e+1,n))}function th(t,e,r,n){return Or(t,e,3,xe(t,e+1,n))}function rh(t,e,r,n){return Or(t,e,5,ke(t,e+1,n))}function nh(t,e,r,n){let o=ve(t,e+1,n);if(typeof o=="bigint")throw new Error(`${z} 64-bit integer map lengths not supported`);return Or(t,e,9,o)}function oh(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return Or(t,e,1,1/0)}function si(t,e){oe(t,x.map.majorEncoded,e.value)}si.compareTokens=Ie.compareTokens;si.encodedSize=function(e){return oe.encodedSize(e.value)};function ih(t,e,r,n){return new C(x.tag,r,1)}function sh(t,e,r,n){return new C(x.tag,be(t,e+1,n),2)}function ah(t,e,r,n){return new C(x.tag,xe(t,e+1,n),3)}function ch(t,e,r,n){return new C(x.tag,ke(t,e+1,n),5)}function uh(t,e,r,n){return new C(x.tag,ve(t,e+1,n),9)}function ai(t,e){oe(t,x.tag.majorEncoded,e.value)}ai.compareTokens=Ie.compareTokens;ai.encodedSize=function(e){return oe.encodedSize(e.value)};var t1=20,r1=21,n1=22,o1=23;function lh(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${z} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new C(x.null,null,1):new C(x.undefined,void 0,1)}function fh(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${z} indefinite length items not allowed`);return new C(x.break,void 0,1)}function ja(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${z} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${z} Infinity values are not supported`)}return new C(x.float,t,e)}function dh(t,e,r,n){return ja(Va(t,e+1),3,n)}function hh(t,e,r,n){return ja(qa(t,e+1),5,n)}function ph(t,e,r,n){return ja(wh(t,e+1),9,n)}function ci(t,e,r){let n=e.value;if(n===!1)t.push([x.float.majorEncoded|t1]);else if(n===!0)t.push([x.float.majorEncoded|r1]);else if(n===null)t.push([x.float.majorEncoded|n1]);else if(n===void 0)t.push([x.float.majorEncoded|o1]);else{let o,i=!1;(!r||r.float64!==!0)&&(mh(n),o=Va(Pe,1),n===o||Number.isNaN(n)?(Pe[0]=249,t.push(Pe.slice(0,3)),i=!0):(gh(n),o=qa(Pe,1),n===o&&(Pe[0]=250,t.push(Pe.slice(0,5)),i=!0))),i||(i1(n),o=wh(Pe,1),Pe[0]=251,t.push(Pe.slice(0,9)))}}ci.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){mh(n);let o=Va(Pe,1);if(n===o||Number.isNaN(n))return 3;if(gh(n),o=qa(Pe,1),n===o)return 5}return 9};var yh=new ArrayBuffer(9),Le=new DataView(yh,1),Pe=new Uint8Array(yh,0);function mh(t){if(t===1/0)Le.setUint16(0,31744,!1);else if(t===-1/0)Le.setUint16(0,64512,!1);else if(Number.isNaN(t))Le.setUint16(0,32256,!1);else{Le.setFloat32(0,t);let e=Le.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)Le.setUint16(0,31744,!1);else if(r===0)Le.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Le.setUint16(0,0):o<-14?Le.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):Le.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Va(t,e){if(t.length-e<2)throw new Error(`${z} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function gh(t){Le.setFloat32(0,t,!1)}function qa(t,e){if(t.length-e<4)throw new Error(`${z} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function i1(t){Le.setFloat64(0,t,!1)}function wh(t,e){if(t.length-e<8)throw new Error(`${z} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}ci.compareTokens=Ie.compareTokens;function $(t,e,r){throw new Error(`${z} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function ui(t){return()=>{throw new Error(`${z} ${t}`)}}var B=[];for(let t=0;t<=23;t++)B[t]=$;B[24]=Bd;B[25]=Cd;B[26]=Td;B[27]=Id;B[28]=$;B[29]=$;B[30]=$;B[31]=$;for(let t=32;t<=55;t++)B[t]=$;B[56]=Ld;B[57]=Dd;B[58]=Nd;B[59]=Pd;B[60]=$;B[61]=$;B[62]=$;B[63]=$;for(let t=64;t<=87;t++)B[t]=Fd;B[88]=Md;B[89]=Od;B[90]=Rd;B[91]=zd;B[92]=$;B[93]=$;B[94]=$;B[95]=ui("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)B[t]=$d;B[120]=Hd;B[121]=jd;B[122]=Vd;B[123]=qd;B[124]=$;B[125]=$;B[126]=$;B[127]=ui("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)B[t]=Kd;B[152]=Gd;B[153]=Qd;B[154]=Jd;B[155]=Xd;B[156]=$;B[157]=$;B[158]=$;B[159]=Yd;for(let t=160;t<=183;t++)B[t]=Zd;B[184]=eh;B[185]=th;B[186]=rh;B[187]=nh;B[188]=$;B[189]=$;B[190]=$;B[191]=oh;for(let t=192;t<=215;t++)B[t]=ih;B[216]=sh;B[217]=ah;B[218]=ch;B[219]=uh;B[220]=$;B[221]=$;B[222]=$;B[223]=$;for(let t=224;t<=243;t++)B[t]=ui("simple values are not supported");B[244]=$;B[245]=$;B[246]=$;B[247]=lh;B[248]=ui("simple values are not supported");B[249]=dh;B[250]=hh;B[251]=ph;B[252]=$;B[253]=$;B[254]=$;B[255]=fh;var Ke=[];for(let t=0;t<24;t++)Ke[t]=new C(x.uint,t,1);for(let t=-1;t>=-24;t--)Ke[31-t]=new C(x.negint,t,1);Ke[64]=new C(x.bytes,new Uint8Array(0),1);Ke[96]=new C(x.string,"",1);Ke[128]=new C(x.array,0,1);Ke[160]=new C(x.map,0,1);Ke[244]=new C(x.false,!1,1);Ke[245]=new C(x.true,!0,1);Ke[246]=new C(x.null,null,1);function Wa(t){switch(t.type){case x.false:return We([244]);case x.true:return We([245]);case x.null:return We([246]);case x.bytes:return t.value.length?void 0:We([64]);case x.string:return t.value===""?We([96]):void 0;case x.array:return t.value===0?We([128]):void 0;case x.map:return t.value===0?We([160]):void 0;case x.uint:return t.value<24?We([Number(t.value)]):void 0;case x.negint:if(t.value>=-24)return We([31-Number(t.value)])}}function Ka(){let t=[];return t[x.uint.major]=Ie,t[x.negint.major]=ni,t[x.bytes.major]=Fr,t[x.string.major]=Wd,t[x.array.major]=ii,t[x.map.major]=si,t[x.tag.major]=ai,t[x.float.major]=ci,t}var R8=Ka(),z8=new ri,fi=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${$a} object contains circular references`);return new t(r,e)}},xt={null:new C(x.null,null),undefined:new C(x.undefined,void 0),true:new C(x.true,!0),false:new C(x.false,!1),emptyArray:new C(x.array,0),emptyMap:new C(x.map,0)},kt={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new C(x.float,t):t>=0?new C(x.uint,t):new C(x.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new C(x.uint,t):new C(x.negint,t)},Uint8Array(t,e,r,n){return new C(x.bytes,t)},string(t,e,r,n){return new C(x.string,t)},boolean(t,e,r,n){return t?xt.true:xt.false},null(t,e,r,n){return xt.null},undefined(t,e,r,n){return xt.undefined},ArrayBuffer(t,e,r,n){return new C(x.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new C(x.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[xt.emptyArray,new C(x.break)]:xt.emptyArray;n=fi.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=li(s,r,n);return r.addBreakTokens?[new C(x.array,t.length),o,new C(x.break)]:[new C(x.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[xt.emptyMap,new C(x.break)]:xt.emptyMap;n=fi.createCheck(n,t);let c=[],a=0;for(let u of i)c[a++]=[li(u,r,n),li(o?t.get(u):t[u],r,n)];return a1(c,r),r.addBreakTokens?[new C(x.map,s),c,new C(x.break)]:[new C(x.map,s),c]}};kt.Map=kt.Object;kt.Buffer=kt.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))kt[`${t}Array`]=kt.DataView;function li(t,e={},r){let n=gd(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||kt[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=kt[n];if(!i)throw new Error(`${$a} unsupported type: ${n}`);return i(t,n,e,r)}function a1(t,e){e.mapSorter&&t.sort(e.mapSorter)}var q8=Symbol.for("DONE"),W8=Symbol.for("BREAK");var c1=Ka(),u1={float64:!1,quickEncodeToken:Wa};function Ga(t,e=c1,r=u1){if(Array.isArray(t)){let n=0;for(let o of t)n+=Ga(o,e,r);return n}else{let n=e[t.type.major];if(n.encodedSize===void 0||typeof n.encodedSize!="function")throw new Error(`Encoder for ${t.type.name} does not have an encodedSize()`);return n.encodedSize(t,r)}}var Ja=class{constructor(e,r){this.bytes=e,this.byteOffset=r,this.roots=[],this.headerSize=r}addRoot(e,r){return l1(this,e,r),this}write(e){return f1(this,e),this}close(e){return d1(this,e)}},l1=(t,e,r={})=>{let{resize:n=!1}=r,{bytes:o,headerSize:i,byteOffset:s,roots:c}=t;t.roots.push(e);let a=di(t);if(a>i)if(a-i+s<o.byteLength)if(n)kh(t,a);else throw c.pop(),new RangeError(`Header of size ${i} has no capacity for new root ${e}.
|
2
|
+
However there is a space in the buffer and you could call addRoot(root, { resize: root }) to resize header to make a space for this root.`);else throw c.pop(),new RangeError(`Buffer has no capacity for a new root ${e}`)},xh=({cid:t,bytes:e})=>{let r=t.bytes.byteLength+e.byteLength;return Rn.default.encodingLength(r)+r},f1=(t,{cid:e,bytes:r})=>{let n=e.bytes.byteLength+r.byteLength,o=Rn.default.encode(n);if(t.byteOffset+o.length+n>t.bytes.byteLength)throw new RangeError("Buffer has no capacity for this block");Qa(t,o),Qa(t,e.bytes),Qa(t,r)},d1=(t,e={})=>{let{resize:r=!1}=e,{roots:n,bytes:o,byteOffset:i,headerSize:s}=t,c=Yo({version:1,roots:n}),a=Rn.default.encode(c.length),u=a.length+c.byteLength;if(s-u===0)return bh(t,a,c),o.subarray(0,i);if(r)return kh(t,u),bh(t,a,c),o.subarray(0,t.byteOffset);throw new RangeError(`Header size was overestimated.
|
3
|
+
You can use close({ resize: true }) to resize header`)},kh=(t,e)=>{let{bytes:r,headerSize:n}=t;r.set(r.subarray(n,t.byteOffset),e),t.byteOffset+=e-n,t.headerSize=e},Qa=(t,e)=>{t.bytes.set(e,t.byteOffset),t.byteOffset+=e.length},bh=({bytes:t},e,r)=>{t.set(e),t.set(r,e.length)},h1=[new C(x.map,2),new C(x.string,"version"),new C(x.uint,1),new C(x.string,"roots")],p1=new C(x.tag,42),y1=t=>{let e=[...h1];e.push(new C(x.array,t.length));for(let n of t)e.push(p1),e.push(new C(x.bytes,{length:n+1}));let r=Ga(e);return Rn.default.encodingLength(r)+r},di=({roots:t})=>y1(t.map(e=>e.bytes.byteLength));var vh=(t,e={})=>{let{roots:r=[],byteOffset:n=0,byteLength:o=t.byteLength,headerSize:i=di({roots:r})}=e,s=new Uint8Array(t,n,o),c=new Ja(s,i);for(let a of r)c.addRoot(a);return c};var Wt=({name:t,code:e,encode:r})=>new Xa(t,e,r),Xa=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Ht(this.code,r):r.then(n=>Ht(this.code,n))}else throw Error("Unknown type, must be binary type")}};function hi({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*g1(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],i=V.asCID(n);i?yield[o.join("/"),i]:typeof n=="object"&&(yield*Ya(n,o))}else{let r=V.asCID(e);r?yield[t.join("/"),r]:yield*Ya(e,t)}}function*Ya(t,e){if(t==null||t instanceof Uint8Array)return;let r=V.asCID(t);r&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let i=[...e,n];yield*g1(i,o)}}function*w1(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&!V.asCID(n)&&(yield*Za(n,o))}else yield*Za(e,t)}function*Za(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&!V.asCID(n)&&(yield*w1(o,n))}}function b1(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(s=>`[${JSON.stringify(s)}]`).join("")}`);let i=V.asCID(r);if(i)return{value:i,remaining:e.slice(n+1).join("/")}}return{value:r}}var zn=class{constructor({cid:e,bytes:r,value:n}){if(!e||!r||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:hi(),bytes:hi(),value:hi(),asBlock:hi()})}links(){return Ya(this.value,[])}tree(){return Za(this.value,[])}get(e="/"){return b1(this.value,e.split("/").filter(Boolean))}};async function Ge({value:t,codec:e,hasher:r}){if(typeof t>"u")throw new Error('Missing required argument "value"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.encode(t),o=await r.digest(n),i=V.create(1,e.code,o);return new zn({value:t,bytes:n,cid:i})}async function vt({bytes:t,codec:e,hasher:r}){if(!t)throw new Error('Missing required argument "bytes"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.decode(t),o=await r.digest(t),i=V.create(1,e.code,o);return new zn({value:n,bytes:t,cid:i})}function x1({bytes:t,cid:e,value:r,codec:n}){let o=r!==void 0?r:n&&n.decode(t);if(o===void 0)throw new Error('Missing required argument, must either provide "value" or "codec"');return new zn({cid:e,bytes:t,value:o})}async function pi({bytes:t,cid:e,hasher:r,codec:n}){if(!t)throw new Error('Missing required argument "bytes"');if(!r)throw new Error('Missing required argument "hasher"');let o=n.decode(t),i=await r.digest(t);if(!$t.equals(e.multihash.bytes,i.bytes))throw new Error("CID hash does not match bytes");return x1({bytes:t,cid:e,value:o,codec:n})}var Sh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),de=Wt({name:"sha2-256",code:18,encode:Sh("SHA-256")}),k_=Wt({name:"sha2-512",code:19,encode:Sh("SHA-512")});var Et={};Y(Et,{code:()=>$n,decode:()=>E1,encode:()=>v1,name:()=>k1});var k1="raw",$n=85,v1=t=>Te(t),E1=t=>Te(t);async function yi(t,e){let r=0,n=di({roots:t});r+=n;for(let{cid:s,bytes:c}of e.entries())r+=xh({cid:s,bytes:c});let o=new Uint8Array(r),i=vh(o,{headerSize:n});for(let s of t)i.addRoot(s);for(let{cid:s,bytes:c}of e.entries())i.write({cid:s,bytes:c});return i.close(),await Ge({value:i.bytes,hasher:de,codec:Et})}async function Ah(t){return await Ge({value:{fp:t},hasher:de,codec:q})}async function _h(t){let e=await t.getRoots(),r=await t.get(e[0]);if(!r)throw new Error("missing header block");let{value:n}=await vt({bytes:r.bytes,hasher:de,codec:q});if(n&&n.fp===void 0)throw new Error("missing fp");let{fp:o}=n;return o}var Kt={};Y(Kt,{code:()=>C1,crypto:()=>T1,decode:()=>B1,decrypt:()=>wi,encode:()=>_1,encrypt:()=>bi,name:()=>I1});function mi(){try{return window.crypto&&window.crypto.subtle?window.crypto:new Crypto}catch{return null}}var Hn=mi();function gi(t){let e=new Uint8Array(t);return t>0&&Hn.getRandomValues(e),e}var S1=t=>{t=+t;let e=new Uint8Array(4);return e[3]=t>>>24,e[2]=t>>>16,e[1]=t>>>8,e[0]=t&255,e},A1=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216},Bh=t=>{let e=t.map(i=>i instanceof ArrayBuffer?new Uint8Array(i):i),r=e.reduce((i,s)=>i+s.length,0),n=new Uint8Array(r),o=0;for(let i of e)n.set(i,o),o+=i.length;return n},_1=({iv:t,bytes:e})=>Bh([t,e]),B1=t=>{let e=t.subarray(0,12);return t=t.slice(12),{iv:e,bytes:t}},C1=3145728+1337;async function Ch(t){return await Hn.subtle.importKey("raw",t,"AES-GCM",!1,["encrypt","decrypt"])}var wi=async({key:t,value:e})=>{let{bytes:r,iv:n}=e,o=await Ch(t),i=await Hn.subtle.decrypt({name:"AES-GCM",iv:n,tagLength:128},o,r);r=new Uint8Array(i);let s=A1(r.subarray(0,4)),c=V.decode(r.subarray(4,4+s));return r=r.subarray(4+s),{cid:c,bytes:r}},bi=async({key:t,cid:e,bytes:r})=>{let n=S1(e.bytes.byteLength),o=gi(12),i=Bh([n,e.bytes,r]);try{let s=await Ch(t),c=await Hn.subtle.encrypt({name:"AES-GCM",iv:o,tagLength:128},s,i);r=new Uint8Array(c)}catch(s){throw console.log("ee",s),s}return{value:{bytes:r,iv:o}}},T1=t=>({encrypt:e=>bi({key:t,...e}),decrypt:e=>wi({key:t,...e})}),I1="jchris@encrypted-block:aes-gcm";var jn=t=>{let e=t.byteLength-4;return(t[e]|t[e+1]<<8|t[e+2]<<16)+t[e+3]*16777216};var Vn=t=>{let e=Math.floor(4294967295/t);return async r=>{let n=await r.identity();if(typeof n!="number")throw new Error("Identity must be a number");return n<=e}};var Qt=(t,e)=>t===e?0:t>e?1:-1,Th=(t,e)=>{for(let r=0;r<t.byteLength;r++){if(e.byteLength===r)return 1;let n=t[r],o=e[r];if(n!==o)return n>o?1:-1}return e.byteLength>t.byteLength?-1:0},Gt=class{constructor(){this._cids=new Set}add(e){if(!e.address)throw new Error("Cannot add node without address");if(e.address.then){let r=e.address.then(n=>this._cids.add(n.toString()));this._cids.add(r),r.then(()=>this._cids.delete(r))}else this._cids.add(e.address.toString())}async all(){return await Promise.all([...this._cids]),this._cids}};var Jt=class{constructor({key:e,address:r},n={}){this.key=e,this.address=r,this.codec=n.codec,this.hasher=n.hasher}get isEntry(){return!0}},St=class{constructor({entries:e,closed:r}){if(typeof r!="boolean")throw new Error('Missing required argument "closed"');this.entries=e,this.closed=r,this.startKey=e[0].key}find(e,r){let{entries:n}=this;for(let o=n.length-1;o>-1;o--){let i=n[o];if(r(e,i.key)>-1)return[o,i]}return null}findMany(e,r,n=!1,o=!1){let{entries:i}=this,s=new Map;n?e=[...e]:e=e.sort(r);for(let c=i.length-1;c>-1&&e.length;c--){let a=i[c],u=[];for(;e.length;){let l=e[e.length-1];l=l.key?l.key:l;let d=r(l,a.key);if(o)if(d===0)u.push(e.pop());else if(d>0)e.pop();else break;else if(d>-1)u.push(e.pop());else break}u.length&&s.set(c,[a,u])}return s}findRange(e,r,n){let{entries:o}=this,i,s=0;for(let c=o.length-1;c>-1;c--){let a=o[c];if(n(r,a.key)>0){i=c;break}}for(let c=0;c<o.length;c++){let a=o[c],u=n(e,a.key);if(u===0){s=c;break}else if(u<0)break;s=c}return{first:s,last:i,entries:o.slice(s,i+1)}}},Ih=t=>typeof t=="string"?t:JSON.stringify(t);function L1(t,e){return t.sort(({key:r},{key:n})=>e.compare(r,n))}async function D1(t,e,r){let n=[];for(let o of e){let{key:i,del:s}=o;if(r(i,t)<0)s||n.push(o);else break}return n}async function N1(t,e,{chunker:r,compare:n}){return await At.from({entries:t.map(o=>new e.LeafEntryClass(o,e)).sort((o,i)=>n(o.key,i.key)),chunker:r,NodeClass:e.LeafClass,distance:0,opts:e})}async function U1(t,e,r,n){return await Promise.all(e.map(async o=>{let i=await o.encode();return r.blocks.push({block:i,node:o}),t.cache.set(o),new n.BranchEntryClass({key:o.key,address:await o.address},n)}))}async function P1(t,e,r,n){let o=e.root;e.blocks.push({block:await o.encode(),node:o}),t.cache.set(o);let i=n.opts,s=o.distance,c=o.entryList.startKey,a=await D1(c,r,t.compare);if(a.length){let u=await N1(a,i,t),l=await U1(t,u,e,i),m=[new i.BranchEntryClass({key:o.entryList.startKey,address:await o.address},i),...l].sort(({key:p},{key:w})=>i.compare(p,w)),f=await At.from({...n,entries:m,chunker:t.chunker,NodeClass:i.BranchClass,distance:s+1}),h=[...f];for(;f.length>1;){let p=await Promise.all(f.map(async w=>new i.BranchEntryClass({key:w.key,address:await w.address},i)));f=await At.from({...n,entries:p.sort(({key:w},{key:g})=>i.compare(w,g)),chunker:t.chunker,NodeClass:i.BranchClass,distance:s+1}),h=[...h,...f]}await Promise.all(h.map(async p=>{let w=await p.encode();t.cache.set(p),e.blocks.push({block:w,node:p})})),e.root=f[0],e.nodes=[...e.nodes,...h]}}var At=class t{constructor({entryList:e,chunker:r,distance:n,getNode:o,compare:i,cache:s}){this.entryList=e,this.chunker=r,this.distance=n,this.getNode=o,this.compare=i,this.cache=s}get closed(){return this.entryList.closed}get key(){return this.entryList.startKey}async getEntry(e,r=new Gt){return{result:await this._getEntry(e,r),cids:r}}async _getEntry(e,r){r.add(this);let n=this;for(;!n.isLeaf;){let s=n.entryList.find(e,this.compare);if(s===null)throw new Error("Not found");let[,c]=s;n=await this.getNode(await c.address),r.add(n)}let o=n.entryList.find(e,this.compare);if(o===null||o[1].key.toString()!==e.toString())throw new Error("Not found");let[,i]=o;return i}async getAllEntries(e=new Gt){return{result:await this._getAllEntries(e),cids:e}}_getAllEntries(e){if(e.add(this),this.isLeaf)return this.entryList.entries;{let{entries:r}=this.entryList,n=async o=>this.getNode(await o.address).then(i=>i._getAllEntries(e)).catch(async i=>{throw i});return Promise.all(r.map(n)).then(o=>o.flat())}}async*vis(e=new Set){let r=async i=>i.isLeaf?`Leaf [${i.entryList.entries.map(c=>`[${c.key},${JSON.stringify(c.value).replace(/"/g,"'")}]`).join(", ")}]`:`Branch [${i.entryList.entries.map(c=>`[${c.key}]`).join(", ")}]`,n=i=>i.toString().slice(0,4)+i.toString().slice(-4),o=async function*(i,s,c){let a=await i.address;if(!c.has(a)){c.add(a);let u=await r(i);yield` node [shape=ellipse fontname="Courier"]; ${n(a)} [label="${u}"];`,yield` ${n(s)} -> ${n(a)};`;for(let l of i.entryList.entries)if(l.address){let d=await l.address;try{let m=await i.getNode(d);yield*await o(m,a,c)}catch(m){yield` ${n(a)} -> ${n(d)};`,yield` node [shape=ellipse fontname="Courier"]; ${n(d)} [label="Error: ${m.message}"];`}}}};yield"digraph tree {",yield' node [shape=ellipse fontname="Courier"]; rootnode;';for await(let i of o(this,"rootnode",e))yield i;yield"}"}async getEntries(e,r=!1,n=new Gt){return{result:await this._getEntries(e,r,n),cids:n}}async _getEntries(e,r,n){n.add(this),r||(e=e.sort(this.compare));let o=this.entryList.findMany(e,this.compare,!0,this.isLeaf);if(this.isLeaf)return[...o.values()].map(([s])=>s);let i=[];for(let[s,c]of[...o.values()].reverse()){let a=this.getNode(await s.address);i.push(a.then(u=>u._getEntries(c.reverse(),!0,n)))}return i=await Promise.all(i),i.flat()}async getRangeEntries(e,r,n=new Gt){return{result:await this._getRangeEntries(e,r,n),cids:n}}_getRangeEntries(e,r,n){n.add(this);let{entries:o}=this.entryList.findRange(e,r,this.compare);if(this.isLeaf)return o.filter(a=>{let u=this.compare(e,a.key),l=this.compare(r,a.key);return u<=0&&l>=0});if(!o.length)return[];let i=async a=>this.getNode(await a.address).then(u=>u._getRangeEntries(e,r,n)),s=[i(o.shift())];if(!o.length)return s[0];let c=i(o.pop());for(;o.length;){let a=async u=>this.getNode(await u.address).then(async l=>l._getAllEntries(n));s.push(a(o.shift()))}return s.push(c),Promise.all(s).then(a=>a.flat())}async transaction(e,r={}){r={codec:this.codec,hasher:this.hasher,getNode:this.getNode,compare:this.compare,cache:this.cache,...r};let n={chunker:this.chunker,opts:r},o=this.entryList.findMany(e,r.compare,!0,this.isLeaf);return this.isLeaf?await this.transactionLeaf(e,r,n,o):await this.transactionBranch(e,r,n,o)}async transactionLeaf(e,r,n,o){let{LeafClass:i,LeafEntryClass:s}=r,{entries:c,previous:a}=this.processLeafEntries(e,o,s,r),u={...n,entries:c,NodeClass:i,distance:0},l=await t.from(u);return{nodes:l,previous:a,blocks:await Promise.all(l.map(async d=>{let m=await d.encode();return this.cache.set(d),{block:m,node:d}})),distance:0}}processLeafEntries(e,r,n,o){let i=[],s=[],c={},a=new Map;for(let{key:d,del:m,value:f}of e){let h=Ih(d);m?typeof c[h]>"u"&&a.set(h,null):(c[h]={key:d,value:f},a.delete(h))}s=[...this.entryList.entries];for(let[d,[m]]of r){i.push(m);let f=Ih(m.key);a.has(f)?a.set(f,d):(s[d]=new n(c[f],o),delete c[f])}let u=0;for(let[,d]of a)d!==null&&s.splice(d-u++,1);let l=Object.values(c).map(d=>new n(d,o));return s=s.concat(l).sort(({key:d},{key:m})=>o.compare(d,m)),{entries:s,previous:i}}async transactionBranch(e,r,n,o){let{BranchClass:i,BranchEntryClass:s}=r,c=0;for(let[h,[p,w]]of o){let g=this.getNode(await p.address).then(b=>b.transaction(w.reverse(),{...r,sorted:!0})).then(b=>({entry:p,keys:w,distance:c,...b}));o.set(h,g)}let a=[...this.entryList.entries],u={previous:[],blocks:[],nodes:[]};for(let[h,p]of o){let{nodes:w,previous:g,blocks:b,distance:v}=await p;c=v,a[h]=w,g.length&&(u.previous=u.previous.concat(g)),b.length&&(u.blocks=u.blocks.concat(b)),w.length&&(u.nodes=u.nodes.concat(w))}a=a.flat();let l=await this.handlePrepend(a,r,n,u,c);c++;let d=async h=>{if(h.isEntry)return h;let p=await h.encode();return u.blocks.push({block:p,node:h}),this.cache.set(h),new s(h,r)};a=await Promise.all(l.map(d));let m={...n,entries:a,NodeClass:i,distance:c},f=await t.from(m);return await Promise.all(f.map(async h=>{let p=await h.encode();u.blocks.push({block:p,node:h}),this.cache.set(h)})),u.nodes=f,{...u,distance:c}}async handlePrepend(e,r,n,o,i){let{BranchClass:s,LeafClass:c}=r,a=[],u=null;for(let l of e)if(u){let d=await this.mergeFirstLeftEntries(l,u,n,o,i);u=null;let m=d[0].address?s:c,f={...n,entries:d.sort(({key:p},{key:w})=>r.compare(p,w)),NodeClass:m,distance:i},h=await t.from(f);h[h.length-1].closed||(u=h.pop()),h.length&&(a=a.concat(h))}else!l.isEntry&&!l.closed?u=l:a.push(l);return u&&a.push(u),a}async getNodeFirstFromBlocks(e,r){for(let{block:n,node:o}of e)if(await n.cid===r)return o;return await this.getNode(r)}async mergeFirstLeftEntries(e,r,n,o,i){let s=n.opts,{LeafClass:c,BranchClass:a,BranchEntryClass:u}=s;if(e.isEntry){let f=await e.address;e=await this.getNodeFirstFromBlocks(o.blocks,f)}let l=e.entryList.entries;if(!l.length)throw new Error("unreachable no entries");let d=(f,h)=>f.concat(h),m=async(f,h,p)=>await Promise.all(f.map(async w=>(h.blocks.push({block:await w.encode(),node:w}),this.cache.set(w),new u({key:w.key,address:await w.address},p))));if(l[0].constructor.name===r.entryList.entries[0].constructor.name)return await d(r.entryList.entries,l);{let f=l.shift();if(!f)throw new Error("unreachable no left entry");if(!f.address)throw new Error("unreachable existing leaf, no leftEntry.address");let h=await this.mergeFirstLeftEntries(f,r,n,o,i-1),p=l.shift();if(!p)return h;if(!p.address)throw new Error("unreachable existing leaf, no esf.address");let w=await this.getNodeFirstFromBlocks(o.blocks,await p.address);if(w.entryList.entries[0].address){if(h[0].address)return h.concat(w.entryList.entries);{let g=await t.from({...n,entries:h.sort(({key:T},{key:U})=>s.compare(T,U)),NodeClass:c,distance:i}),b=await m(g,o,s),v=await t.from({...n,entries:[...w.entryList.entries,...b,...l].sort(({key:T},{key:U})=>s.compare(T,U)),NodeClass:a,distance:i});return await m(v,o,s)}}else{let g=await d(h,w.entryList.entries),b=await t.from({...n,entries:g.sort(({key:E},{key:T})=>s.compare(E,T)),NodeClass:c,distance:i}),v=await m(b,o,s);return await d(v,l)}}}async bulk(e,r={},n=!0){let{BranchClass:o}=r;r={codec:this.codec,hasher:this.hasher,getNode:this.getNode,compare:this.compare,cache:this.cache,...r},r.sorted||(e=L1(e,r),r.sorted=!0);let i={chunker:this.chunker,opts:r},s=await this.transaction(e,r);for(;s.nodes.length>1;){let c=s.nodes[0].distance+1,a=await Promise.all(s.nodes.map(async l=>{let d=await l.encode();return s.blocks.push({block:d,node:l}),this.cache.set(l),new r.BranchEntryClass(l,r)})),u=await t.from({...i,entries:a,NodeClass:o,distance:c});await Promise.all(u.map(async l=>{let d=await l.encode();this.cache.set(l),s.blocks.push({block:d,node:l})})),s.nodes=u}return s.root=s.nodes[0],n&&s.root&&await P1(this,s,e,i),s.blocks=s.blocks.map(({block:c})=>c),s}static async from({entries:e,chunker:r,NodeClass:n,distance:o,opts:i}){if(!e.every(a=>a.constructor.name===e[0].constructor.name))throw new Error("all entries must be of the same type");let s=[],c=[];for(let a of e)c.push(a),await r(a,o)&&(s.push(new St({entries:c,closed:!0})),c=[]);return c.length&&s.push(new St({entries:c,closed:!1})),s.map(a=>new n({entryList:a,chunker:r,distance:o,...i}))}},xi=class extends At{constructor({codec:e,hasher:r,block:n,...o}){super(o),this.codec=e,this.hasher=r,n?(this.block=n,this.address=n.cid):(this.block=this.encode(),this.address=this.block.then(i=>i.cid))}async get(e){let{result:r,cids:n}=await this.getEntry(e);return{result:r.key,cids:n}}async encode(){if(this.block)return this.block;let e=await this.encodeNode(),r={codec:this.codec,hasher:this.hasher,value:e};return this.block=await Ge(r),this.block}},Rr=class extends xi{async encodeNode(){let{entries:e}=this.entryList,r=async o=>{if(!o.address)throw new Error("entry.address required");return[o.key,await o.address]},n=await Promise.all(e.map(r));return{branch:[this.distance,n],closed:this.closed}}get isBranch(){return!0}},zr=class extends xi{async encodeNode(){return{leaf:await Promise.all(this.entryList.entries.map(async r=>await r.encodeNode())),closed:this.closed}}get isLeaf(){return!0}},ki=async function*(t){let{LeafClass:e,LeafEntryClass:r,BranchClass:n,BranchEntryClass:o,list:i,chunker:s,compare:c,...a}=t;i=i.map(d=>new r(d,a)),a.compare=c;let u=await At.from({entries:i,chunker:s,NodeClass:e,distance:0,opts:a});yield*u;let l=1;for(;u.length>1;){let d=async f=>new o({key:f.key,address:await f.address},a),m=await Promise.all(u.map(d));u=await At.from({entries:m,chunker:s,NodeClass:n,distance:l,opts:a}),yield*u,l++}};var ec=({bytes:t},{bytes:e})=>Th(t,e),vi=class extends Jt{constructor(e){super({address:e,key:e}),this.cid=e}encodeNode(){return this.cid}identity(){let e=this.cid.multihash.bytes;return jn(e)}},Ei=class extends Jt{async identity(){let{multihash:{bytes:e}}=await this.address;return jn(e)}},Si=class extends Rr{},Ai=class extends zr{},Lh=(t,e,r,n,o)=>{let i=c=>{let{value:a}=c,u={chunker:r,cache:e,block:c,getNode:s,codec:n,hasher:o,compare:ec},l,d;if(a.leaf)l=a.leaf.map(h=>new vi(h)),d=Ai;else if(a.branch){let[h,p]=a.branch;u.distance=h,l=p.map(([w,g])=>new Ei({key:w,address:g})),d=Si}else throw new Error("Unknown block data, does not match schema");let m=new St({entries:l,closed:a.closed}),f=new d({entryList:m,...u});return e.set(f),f},s=c=>e.has(c)?e.get(c):t(c).then(a=>i(a));return s},Dh=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:i,sorted:s})=>{s||(n=n.sort(ec));let c=Lh(t,e,r,o,i);return ki({list:n,codec:o,hasher:i,chunker:r,getNode:c,sorted:s,compare:ec,cache:e,LeafClass:Ai,LeafEntryClass:vi,BranchClass:Si,BranchEntryClass:Ei})},Nh=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:i,...s})=>Lh(e,r,n,o,i,s)(t);var Uh=async function*({get:t,cids:e,hasher:r,key:n,cache:o,chunker:i,root:s}){let c=new Set,a;for(let f of e){let h=await t(f);if(!h)throw new Error("missing cid: "+f.toString());let p=await bi({...h,key:n}),w=await Ge({...p,codec:Kt,hasher:r});yield w,c.add(w.cid.toString()),h.cid.equals(s)&&(a=w.cid)}if(!a)throw new Error("cids does not include root");let u=[...c].map(f=>V.parse(f)),l;for await(let f of Dh({list:u,get:t,cache:o,chunker:i,hasher:r,codec:q})){let h=await f.block;yield h,l=h}if(!l)throw new Error("missing last block");let d=[a,l.cid];yield await Ge({value:d,codec:q,hasher:r})},Ph=async function*({root:t,get:e,key:r,cache:n,chunker:o,hasher:i}){let s=async w=>e(w).then(async g=>g?await vt({...g,codec:q,hasher:i}):void 0),c=async w=>e(w).then(async g=>g?await vt({...g,codec:Kt,hasher:i}):void 0),a=await s(t);if(!a)throw new Error("missing root");if(!a.bytes)throw new Error("missing bytes");let{value:[u,l]}=a,d=await e(u);if(!d)throw new Error("missing root block");let m=await Nh({cid:l,get:s,cache:n,chunker:o,codec:Kt,hasher:i}),{result:f}=await m.getAllEntries(),h=async w=>{if(!w)throw new Error("missing block");w.value||(w=await vt({...w,codec:Kt,hasher:i}));let{bytes:g,cid:b}=await wi({...w,key:r}).catch(E=>{throw E});return await pi({cid:b,bytes:g,hasher:i,codec:Kt})},p=[];for(let{cid:w}of f)d.cid.equals(w)||p.push(c(w).then(h));yield*p,yield h(d)};var $r={has:()=>!1,get:()=>{throw new Error("Cannot ask for entries from nocache")},set:()=>{}};var Fh=Vn(30);function Mh(t){let e=t.length,r=new Uint8Array(e/2);for(let n=0;n<e;n+=2)r[n/2]=parseInt(t.substring(n,n+2),16);return r}async function Oh(t,e,r){let n=Mh(t),o=n.buffer.slice(0,n.byteLength),i=new _e,s=[];for(let{cid:u}of r.entries())s.push(u);let c=null;for await(let u of Uh({cids:s,get:r.get.bind(r),key:o,hasher:de,chunker:Fh,cache:$r,root:e}))await i.put(u.cid,u.bytes),c=u;if(!c)throw new Error("no blocks encrypted");return await yi([c.cid],i)}async function Rh(t,e){let n=(await e.getRoots())[0];return await F1(n,e.get.bind(e),t)}async function F1(t,e,r){let n=Mh(r),o=n.buffer.slice(0,n.byteLength),i=new _e,s=null;for await(let c of Ph({root:t,get:e,key:o,hasher:de,chunker:Fh,cache:$r}))await i.put(c.cid,c.bytes),s=c;if(!s)throw new Error("no blocks decrypted");return{blocks:i,root:s.cid}}var tc=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let r=this.inRecursive[this.inRecursive.length-1];r&&(r.type===y.array&&(r.elements++,r.elements!==1&&e.push([44])),r.type===y.map&&(r.elements++,r.elements!==1&&(r.elements%2===1?e.push([44]):e.push([58]))))}[y.uint.major](e,r){this.prefix(e);let n=String(r.value),o=[];for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i);e.push(o)}[y.negint.major](e,r){this[y.uint.major](e,r)}[y.bytes.major](e,r){throw new Error(`${it} unsupported type: Uint8Array`)}[y.string.major](e,r){this.prefix(e);let n=zo(JSON.stringify(r.value));e.push(n.length>32?kn(n):n)}[y.array.major](e,r){this.prefix(e),this.inRecursive.push({type:y.array,elements:0}),e.push([91])}[y.map.major](e,r){this.prefix(e),this.inRecursive.push({type:y.map,elements:0}),e.push([123])}[y.tag.major](e,r){}[y.float.major](e,r){if(r.type.name==="break"){let s=this.inRecursive.pop();if(s){if(s.type===y.array)e.push([93]);else if(s.type===y.map)e.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(r.value===void 0)throw new Error(`${it} unsupported type: undefined`);if(this.prefix(e),r.type.name==="true"){e.push([116,114,117,101]);return}else if(r.type.name==="false"){e.push([102,97,108,115,101]);return}else if(r.type.name==="null"){e.push([110,117,108,108]);return}let n=String(r.value),o=[],i=!1;for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s),!i&&(o[s]===46||o[s]===101||o[s]===69)&&(i=!0);i||(o.push(46),o.push(48)),e.push(o)}};function M1(t,e){if(Array.isArray(t[0])||Array.isArray(e[0]))throw new Error(`${it} complex map keys are not supported`);let r=t[0],n=e[0];if(r.type!==y.string||n.type!==y.string)throw new Error(`${it} non-string map keys are not supported`);if(r<n)return-1;if(r>n)return 1;throw new Error(`${it} unexpected duplicate map keys, this is not supported`)}var O1={addBreakTokens:!0,mapSorter:M1};function rc(t,e){return e=Object.assign({},O1,e),ba(t,new tc,e)}var Hr=class{constructor(e,r={}){this.pos=0,this.data=e,this.options=r,this.modeStack=["value"],this.lastToken=""}done(){return this.pos>=this.data.length}ch(){return this.data[this.pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let e=this.ch();for(;e===32||e===9||e===13||e===10;)e=this.data[++this.pos]}expect(e){if(this.data.length-this.pos<e.length)throw new Error(`${I} unexpected end of input at position ${this.pos}`);for(let r=0;r<e.length;r++)if(this.data[this.pos++]!==e[r])throw new Error(`${I} unexpected token at position ${this.pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this.pos,r=!1,n=!1,o=c=>{for(;!this.done();){let a=this.ch();if(c.includes(a))this.pos++;else break}};if(this.ch()===45&&(r=!0,this.pos++),this.ch()===48)if(this.pos++,this.ch()===46)this.pos++,n=!0;else return new S(y.uint,0,this.pos-e);if(o([48,49,50,51,52,53,54,55,56,57]),r&&this.pos===e+1)throw new Error(`${I} unexpected token at position ${this.pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${I} unexpected token at position ${this.pos}`);n=!0,this.pos++,o([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this.pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this.pos++,o([48,49,50,51,52,53,54,55,56,57]));let i=String.fromCharCode.apply(null,this.data.subarray(e,this.pos)),s=parseFloat(i);return n?new S(y.float,s,this.pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new S(s>=0?y.uint:y.negint,s,this.pos-e):new S(s>=0?y.uint:y.negint,BigInt(i),this.pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${I} unexpected character at position ${this.pos}; this shouldn't happen`);this.pos++;for(let i=this.pos,s=0;i<this.data.length&&s<65536;i++,s++){let c=this.data[i];if(c===92||c<32||c>=128)break;if(c===34){let a=String.fromCharCode.apply(null,this.data.subarray(this.pos,i));return this.pos=i+1,new S(y.string,a,s)}}let e=this.pos,r=[],n=()=>{if(this.pos+4>=this.data.length)throw new Error(`${I} unexpected end of unicode escape sequence at position ${this.pos}`);let i=0;for(let s=0;s<4;s++){let c=this.ch();if(c>=48&&c<=57)c-=48;else if(c>=97&&c<=102)c=c-97+10;else if(c>=65&&c<=70)c=c-65+10;else throw new Error(`${I} unexpected unicode escape character at position ${this.pos}`);i=i*16+c,this.pos++}return i},o=()=>{let i=this.ch(),s=null,c=i>239?4:i>223?3:i>191?2:1;if(this.pos+c>this.data.length)throw new Error(`${I} unexpected unicode sequence at position ${this.pos}`);let a,u,l,d;switch(c){case 1:i<128&&(s=i);break;case 2:a=this.data[this.pos+1],(a&192)===128&&(d=(i&31)<<6|a&63,d>127&&(s=d));break;case 3:a=this.data[this.pos+1],u=this.data[this.pos+2],(a&192)===128&&(u&192)===128&&(d=(i&15)<<12|(a&63)<<6|u&63,d>2047&&(d<55296||d>57343)&&(s=d));break;case 4:a=this.data[this.pos+1],u=this.data[this.pos+2],l=this.data[this.pos+3],(a&192)===128&&(u&192)===128&&(l&192)===128&&(d=(i&15)<<18|(a&63)<<12|(u&63)<<6|l&63,d>65535&&d<1114112&&(s=d))}s===null?(s=65533,c=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|s&1023),r.push(s),this.pos+=c};for(;!this.done();){let i=this.ch(),s;switch(i){case 92:if(this.pos++,this.done())throw new Error(`${I} unexpected string termination at position ${this.pos}`);switch(s=this.ch(),this.pos++,s){case 34:case 39:case 92:case 47:r.push(s);break;case 98:r.push(8);break;case 116:r.push(9);break;case 110:r.push(10);break;case 102:r.push(12);break;case 114:r.push(13);break;case 117:r.push(n());break;default:throw new Error(`${I} unexpected string escape character at position ${this.pos}`)}break;case 34:return this.pos++,new S(y.string,ha(r),this.pos-e);default:if(i<32)throw new Error(`${I} invalid control character at position ${this.pos}`);i<128?(r.push(i),this.pos++):o()}}throw new Error(`${I} unexpected end of string at position ${this.pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this.pos++,new S(y.map,1/0,1);case 91:return this.modeStack.push("array-start"),this.pos++,new S(y.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new S(y.null,null,4);case 102:return this.expect([102,97,108,115,101]),new S(y.false,!1,5);case 116:return this.expect([116,114,117,101]),new S(y.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${I} unexpected character at position ${this.pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this.pos++,this.skipWhitespace(),new S(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${I} unexpected character at position ${this.pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this.pos++,this.skipWhitespace(),new S(y.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this.pos++,this.skipWhitespace(),new S(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${I} unexpected character at position ${this.pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this.pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this.pos++,this.skipWhitespace(),new S(y.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${I} unexpected character at position ${this.pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this.pos++,this.modeStack.push("obj-value"),e}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${I} unexpected parse state at position ${this.pos}; this shouldn't happen`)}}};function nc(t,e){return e=Object.assign({tokenizer:new Hr(t,e)},e),Cn(t,e)}var oc=ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),u6=ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),l6=ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),f6=ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function z1(t){if(t.asCID!==t&&t["/"]!==t.bytes)return null;let e=V.asCID(t);if(!e)return null;let r=e.toString();return[new S(y.map,1/0,1),new S(y.string,"/",1),new S(y.string,r,r.length),new S(y.break,void 0,1)]}function _i(t){let e=oc.encode(t).slice(1);return[new S(y.map,1/0,1),new S(y.string,"/",1),new S(y.map,1/0,1),new S(y.string,"bytes",5),new S(y.string,e,e.length),new S(y.break,void 0,1),new S(y.break,void 0,1)]}function Fe(t){return _i(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function $1(t){return _i(new Uint8Array(t))}function H1(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function j1(t){if(Number.isNaN(t))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(t===1/0||t===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}var V1={typeEncoders:{Object:z1,Buffer:_i,Uint8Array:_i,Int8Array:Fe,Uint16Array:Fe,Int16Array:Fe,Uint32Array:Fe,Int32Array:Fe,Float32Array:Fe,Float64Array:Fe,Uint8ClampedArray:Fe,BigInt64Array:Fe,BigUint64Array:Fe,DataView:Fe,ArrayBuffer:$1,undefined:H1,number:j1}},ic=class extends Hr{constructor(e,r){super(e,r),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let e=this._next();if(e.type===y.map){let r=this._next();if(r.type===y.string&&r.value==="/"){let n=this._next();if(n.type===y.string){if(this._next().type!==y.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new S(y.tag,42,0)}if(n.type===y.map){let o=this._next();if(o.type===y.string&&o.value==="bytes"){let i=this._next();if(i.type===y.string){for(let c=0;c<2;c++)if(this._next().type!==y.break)throw new Error("Invalid encoded Bytes form");let s=oc.decode(`m${i.value}`);return new S(y.bytes,s,i.value.length)}this.tokenBuffer.push(i)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(r)}return e}},sc={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};sc.tags[42]=V.parse;var q1=t=>rc(t,V1),W1=t=>{let e=Object.assign(sc,{tokenizer:new ic(t,sc)});return nc(t,e)},Bi=t=>K1.decode(q1(t));var K1=new TextDecoder,Ci=t=>W1(G1.encode(t)),G1=new TextEncoder;var Q1=(t,e)=>e.some(r=>t instanceof r),zh,$h;function J1(){return zh||(zh=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function X1(){return $h||($h=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Hh=new WeakMap,cc=new WeakMap,jh=new WeakMap,ac=new WeakMap,lc=new WeakMap;function Y1(t){let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("success",i),t.removeEventListener("error",s)},i=()=>{r(Qe(t.result)),o()},s=()=>{n(t.error),o()};t.addEventListener("success",i),t.addEventListener("error",s)});return e.then(r=>{r instanceof IDBCursor&&Hh.set(r,t)}).catch(()=>{}),lc.set(e,t),e}function Z1(t){if(cc.has(t))return;let e=new Promise((r,n)=>{let o=()=>{t.removeEventListener("complete",i),t.removeEventListener("error",s),t.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(t.error||new DOMException("AbortError","AbortError")),o()};t.addEventListener("complete",i),t.addEventListener("error",s),t.addEventListener("abort",s)});cc.set(t,e)}var uc={get(t,e,r){if(t instanceof IDBTransaction){if(e==="done")return cc.get(t);if(e==="objectStoreNames")return t.objectStoreNames||jh.get(t);if(e==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Qe(t[e])},set(t,e,r){return t[e]=r,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function Vh(t){uc=t(uc)}function ex(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(e,...r){let n=t.call(Ti(this),e,...r);return jh.set(n,e.sort?e.sort():[e]),Qe(n)}:X1().includes(t)?function(...e){return t.apply(Ti(this),e),Qe(Hh.get(this))}:function(...e){return Qe(t.apply(Ti(this),e))}}function tx(t){return typeof t=="function"?ex(t):(t instanceof IDBTransaction&&Z1(t),Q1(t,J1())?new Proxy(t,uc):t)}function Qe(t){if(t instanceof IDBRequest)return Y1(t);if(ac.has(t))return ac.get(t);let e=tx(t);return e!==t&&(ac.set(t,e),lc.set(e,t)),e}var Ti=t=>lc.get(t);function Wh(t,e,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(t,e),c=Qe(s);return n&&s.addEventListener("upgradeneeded",a=>{n(Qe(s.result),a.oldVersion,a.newVersion,Qe(s.transaction),a)}),r&&s.addEventListener("blocked",a=>r(a.oldVersion,a.newVersion,a)),c.then(a=>{i&&a.addEventListener("close",()=>i()),o&&a.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),c}var rx=["get","getKey","getAll","getAllKeys","count"],nx=["put","add","delete","clear"],fc=new Map;function qh(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(fc.get(e))return fc.get(e);let r=e.replace(/FromIndex$/,""),n=e!==r,o=nx.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||rx.includes(r)))return;let i=async function(s,...c){let a=this.transaction(s,o?"readwrite":"readonly"),u=a.store;return n&&(u=u.index(c.shift())),(await Promise.all([u[r](...c),o&&a.done]))[0]};return fc.set(e,i),i}Vh(t=>({...t,get:(e,r,n)=>qh(e,r)||t.get(e,r,n),has:(e,r)=>!!qh(e,r)||t.has(e,r)}));var dc="0.13.3-dev";var Kh=dc.match(/^([^.]*\.[^.]*)/);if(!Kh)throw new Error("invalid version: "+dc);var Di=Kh[0],hc=class{constructor(e){k(this,"STORAGE_VERSION",Di);k(this,"name");this.name=e}},Ii=class extends hc{constructor(){super(...arguments);k(this,"tag","header-base")}makeHeader({car:r,key:n}){return Bi({car:r,key:n})}parseHeader(r){return Ci(r)}},Li=class{constructor(e){k(this,"tag","car-base");k(this,"STORAGE_VERSION",Di);k(this,"loader");this.loader=e}};var Ni=class{constructor(e){k(this,"tag","rwal-base");k(this,"STORAGE_VERSION",Di);k(this,"loader");k(this,"ready");k(this,"walState",{operations:[],noLoaderOps:[],fileOperations:[]});k(this,"processing");this.loader=e,this.ready=(async()=>{let r=await this.load().catch(n=>(console.error("error loading wal",n),null));this.walState.operations=r?.operations||[],this.walState.fileOperations=r?.fileOperations||[]})()}async enqueue(e,r){await this.ready,r.noLoader?this.walState.noLoaderOps.push(e):this.walState.operations.push(e),await this.save(this.walState),r.noLoader||this._process()}async enqueueFile(e,r=!1){await this.ready,this.walState.fileOperations.push({cid:e,public:r})}async _process(){if(await this.ready,!this.loader.remoteCarStore)return;if(this.processing)return this.processing;let e=(async()=>{await this._int_process()})();this.processing=e;try{await e}finally{this.processing=void 0}(this.walState.operations.length||this.walState.fileOperations.length||this.walState.noLoaderOps.length)&&setTimeout(()=>void this._process(),0)}async _int_process(){if(!this.loader.remoteCarStore)return;let e=(async()=>{let r=[...this.walState.operations],n=[...this.walState.fileOperations],o=[],i=[...this.walState.noLoaderOps],s=xn(5);if(r.length+n.length+i.length!==0){for(let c of i){let a=s(async()=>{let u=await this.loader.carStore.load(c.car).catch(()=>null);if(!u)throw new Error(`missing car ${c.car.toString()}`);await this.loader.remoteCarStore.save(u),this.walState.noLoaderOps=this.walState.noLoaderOps.filter(l=>l!==c)});o.push(a)}for(let c of r){let a=s(async()=>{let u=await this.loader.carStore.load(c.car).catch(()=>null);if(!u)throw new Error(`missing car ${c.car.toString()}`);await this.loader.remoteCarStore.save(u),this.walState.operations=this.walState.operations.filter(l=>l!==c)});o.push(a)}if(n.length){let c=this.loader;for(let{cid:a,public:u}of n){let l=s(async()=>{let d=await c.fileStore.load(a);await c.remoteFileStore?.save(d,{public:u}),this.walState.fileOperations=this.walState.fileOperations.filter(m=>m.cid!==a)});o.push(l)}}try{let a=(await Promise.allSettled(o)).filter(u=>u.status==="rejected");if(a.length)throw console.error("error uploading",a),a[0].reason;if(r.length){let u=r[r.length-1];await this.loader.remoteMetaStore?.save(u).catch(l=>{throw console.error("error saving remote meta",l),this.walState.operations.push(u),l})}}finally{await this.save(this.walState)}}})();this.loader.remoteMetaLoading=e,await e}};var jr=class extends Li{constructor(){super(...arguments);k(this,"tag","car-browser-idb");k(this,"idb",null)}async _withDB(r){if(!this.idb){let n=`fp.${this.STORAGE_VERSION}.${this.loader.keyId}.${this.loader.name}`;this.idb=await Wh(n,1,{upgrade(o){o.createObjectStore("cars")}})}return await r(this.idb)}async load(r){return await this._withDB(async n=>{let i=await n.transaction(["cars"],"readonly").objectStore("cars").get(r.toString());if(!i)throw new Error(`missing idb block ${r.toString()}`);return{cid:r,bytes:i}})}async save(r){return await this._withDB(async n=>{let o=n.transaction(["cars"],"readwrite");return await o.objectStore("cars").put(r.bytes,r.cid.toString()),await o.done})}async remove(r){return await this._withDB(async n=>{let o=n.transaction(["cars"],"readwrite");return await o.objectStore("cars").delete(r.toString()),await o.done})}},Ui=class extends Ni{constructor(){super(...arguments);k(this,"tag","wal-browser-ls")}headerKey(r){return`fp.${this.STORAGE_VERSION}.wal.${this.loader.name}.${r}`}async load(r="main"){try{let n=localStorage.getItem(this.headerKey(r));return n?Ci(n):null}catch{return null}}async save(r,n="main"){try{let o=Bi(r);localStorage.setItem(this.headerKey(n),o)}catch{}}},Pi=class extends Ii{constructor(){super(...arguments);k(this,"tag","header-browser-ls")}headerKey(r){return`fp.${this.STORAGE_VERSION}.meta.${this.name}.${r}`}async load(r="main"){try{let n=localStorage.getItem(this.headerKey(r));return n?[this.parseHeader(n)]:null}catch{return null}}async save(r,n="main"){try{let o=this.headerKey(n),i=this.makeHeader(r);return localStorage.setItem(o,i),null}catch{return null}}};function Qh(t,e){return t.some(r=>r.equals(e))}function Gh(t,e=[]){let r=new Map;for(let n of t)Qh(e,n)||r.set(n.toString(),n);return[...r.values()]}function ox(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var Vr=class{constructor(e,r){k(this,"name");k(this,"opts",{});k(this,"remoteMetaLoading");k(this,"remoteMetaStore");k(this,"remoteCarStore");k(this,"remoteWAL");k(this,"metaStore");k(this,"carStore");k(this,"carLog",[]);k(this,"carReaders",new Map);k(this,"ready");k(this,"key");k(this,"keyId");k(this,"getBlockCache",new Map);k(this,"committing");this.name=e,this.opts=r||this.opts,this.metaStore=new Pi(this.name),this.carStore=new jr(this),this.remoteWAL=new Ui(this),this.ready=Promise.resolve().then(async()=>{if(!this.metaStore||!this.carStore||!this.remoteWAL)throw new Error("stores not initialized");let n=this.opts.meta?[this.opts.meta]:await this.metaStore.load("main");n&&await this.handleDbMetasFromStore(n)})}async snapToCar(e){await this.ready,typeof e=="string"&&(e=V.parse(e));let r=await this.loadCarHeaderFromMeta({car:e,key:this.key||null});this.carLog=[e,...r.cars],await this.getMoreReaders(r.cars),await this._applyCarHeader(r,!0)}async handleDbMetasFromStore(e){for(let r of e)await this.mergeDbMetaIntoClock(r)}async mergeDbMetaIntoClock(e){if(e.key&&await this.setKey(e.key),Qh(this.carLog,e.car))return;let r=await this.loadCarHeaderFromMeta(e);await this.getMoreReaders(r.cars),this.carLog=[...Gh([e.car,...this.carLog,...r.cars],r.compact)],await this._applyCarHeader(r)}async ingestKeyFromMeta(e){let{key:r}=e;r&&await this.setKey(r)}async loadCarHeaderFromMeta({car:e}){let r=await this.loadCar(e);return await _h(r)}async _getKey(){return this.key?this.key:(this.opts.public||(mi()?await this.setKey(ox(gi(32))):console.warn("missing crypto module, using public mode")),this.key)}async commit(e,r,n={noLoader:!1,compact:!1}){this.committing&&await this.committing,this.committing=this._commitInternal(e,r,n);let o=await this.committing;return this.committing=void 0,o}async _commitInternal(e,r,n={noLoader:!1,compact:!1}){await this.ready;let o=this.makeCarHeader(r,this.carLog,!!n.compact),i=[];if(o.files)i=o.files;else{let l=await Ah(o);await e.put(l.cid,l.bytes),i=[l.cid]}let s=n.public?null:await this._getKey(),{cid:c,bytes:a}=s?await Oh(s,i[0],e):await yi(i,e);if(pc(r))return await this.fileStore.save({cid:c,bytes:a}),await this.remoteWAL.enqueueFile(c,n.public),c;await this.carStore.save({cid:c,bytes:a});let u={car:c,key:s||null};if(await this.remoteWAL.enqueue(u,n),await this.metaStore.save(u),n.compact){let l=o;this.carLog=[...Gh([c,...this.carLog],l.compact)],(async()=>{this.remoteMetaLoading&&await this.remoteMetaLoading;for(let d of l.compact)await this.carStore.remove(d)})()}else this.carLog.unshift(c);return c}async getBlock(e){await this.ready;let r=e.toString();if(this.getBlockCache.has(r))return this.getBlockCache.get(r);let n=await Promise.any(this.carLog.map(async o=>{let i=await this.loadCar(o);if(!i)throw new Error(`missing car reader ${o.toString()}`);let s=await i.get(e);if(s)return s;throw new Error(`block not in reader: ${e.toString()}`)})).catch(()=>{});return n&&this.getBlockCache.set(r,n),n}async loadCar(e){if(!this.carStore)throw new Error("car store not initialized");return await this.storesLoadCar(e,this.carStore,this.remoteCarStore)}async storesLoadCar(e,r,n,o){let i=e.toString();return this.carReaders.has(i)||this.carReaders.set(i,(async()=>{let s=null;try{s=await r.load(e)}catch{if(n){let l=await n.load(e);l&&(await r.save(l),s=l)}}if(!s)throw new Error(`missing car file ${i}`);let c=await Vt.fromBytes(s.bytes),a=o?Promise.resolve(c):this.ensureDecryptedReader(c);return this.carReaders.set(i,a),a})().catch(s=>{throw this.carReaders.delete(i),s})),this.carReaders.get(i)}async ensureDecryptedReader(e){let r=await this._getKey();if(!r)return e;let{blocks:n,root:o}=await Rh(r,e);return{getRoots:()=>[o],get:n.get.bind(n)}}async setKey(e){if(this.key&&this.key!==e)throw new Error("key mismatch");this.key=e;let r=mi();if(!r)throw new Error("missing crypto module");let n=r.subtle,i=new TextEncoder().encode(e),s=await n.digest("SHA-256",i),c=Array.from(new Uint8Array(s));this.keyId=c.map(a=>a.toString(16).padStart(2,"0")).join("")}async getMoreReaders(e){let r=xn(5),n=e.filter(o=>!this.carReaders.has(o.toString()));await Promise.all(n.map(o=>r(()=>this.loadCar(o))))}};k(Vr,"defaultHeader");var qr=W(tp(),1);var Fi=class extends Jt{async identity(){let e=await this.codec.encode(await this.encodeNode()),r=await this.hasher.encode(e);return jn(r)}},Xt=class extends Fi{constructor(e,r){super(e,r),this.value=e.value}encodeNode(){return[this.key,this.value]}},Yt=class extends Fi{constructor(e,r){if(!e.address)throw new Error("Cannot create MapBranchEntry without address");super(e,r)}async encodeNode(){return[this.key,await this.address]}},rp=async(t,e)=>{let{result:r,cids:n}=await t.getEntry(e);return{result:r.value,cids:n}},np=async(t,e)=>{let{result:r,cids:n}=await t.getEntries(e);return{result:r.map(o=>o.value),cids:n}},Zt=class extends zr{get(e){return rp(this,e)}getMany(e){return np(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...op,...r},n)}},er=class extends Rr{get(e){return rp(this,e)}getMany(e){return np(this,e)}bulk(e,r={},n=!0){return super.bulk(e,{...op,...r},n)}},op={LeafClass:Zt,LeafEntryClass:Xt,BranchClass:er,BranchEntryClass:Yt},ip=(t,e,r,n,o,i,s)=>{let c=s.LeafClass||Zt,a=s.LeafEntryClass||Xt,u=s.BranchClass||er,l=s.BranchEntryClass||Yt,d=async f=>e.has(f)?e.get(f):t(f).then(h=>m(h)),m=dx({chunker:r,cache:e,getNode:d,codec:n,hasher:o,compare:i,LeafEntryClass:a,LeafClass:c,BranchEntryClass:l,BranchClass:u});return d},sp=({get:t,cache:e,chunker:r,list:n,codec:o,hasher:i,sorted:s,compare:c,...a})=>{s||(n=n.sort(({key:d},{key:m})=>c(d,m)));let u=ip(t,e,r,o,i,c,a),l={list:n,codec:o,hasher:i,chunker:r,getNode:u,sorted:s,compare:c,cache:e,LeafClass:a.LeafClass||Zt,LeafEntryClass:a.LeafEntryClass||Xt,BranchClass:a.BranchClass||er,BranchEntryClass:a.BranchEntryClass||Yt};return ki(l)},ap=({cid:t,get:e,cache:r,chunker:n,codec:o,hasher:i,compare:s,...c})=>ip(e,r,n,o,i,s,c)(t);function dx({chunker:t,cache:e,getNode:r,codec:n,hasher:o,compare:i,LeafEntryClass:s,LeafClass:c,BranchEntryClass:a,BranchClass:u}){let l={codec:n,hasher:o};return d=>{let{value:m}=d,f={chunker:t,cache:e,block:d,getNode:r,codec:n,hasher:o,compare:i},h,p;if(m.leaf)h=m.leaf.map(([b,v])=>new s({key:b,value:v},l)),p=c;else if(m.branch){let[b,v]=m.branch;f.distance=b,h=v.map(([E,T])=>new a({key:E,address:T},l)),p=u}else throw new Error("Unknown block data, does not match schema");let w=new St({entries:h,closed:m.closed}),g=new p({entryList:w,...f});return e.set(g),g}}var hx=(t,e)=>{let[r,n]=t,[o,i]=e,s=Qt(r,o);return s!==0?s:px(n,i)},px=(t,e)=>{if(Number.isNaN(t))return-1;if(Number.isNaN(e))throw new Error("ref may not be Infinity or NaN");return Number.isFinite(t)?Qt(t,e):1},cp=async(t,e)=>{let r=[e,NaN],n=[e,1/0],{result:o,cids:i}=await t.getRangeEntries(r,n);return{result:o.map(s=>{let[c,a]=s.key;return{id:a,key:c,row:s.value}}),cids:i}},up=async(t,e,r)=>{e=[e,NaN],r=[r,1/0];let{result:n,cids:o}=await t.getRangeEntries(e,r);return{result:n.map(s=>{let[c,a]=s.key;return{id:a,key:c,row:s.value}}),cids:o}},mc=class extends Zt{get(e){return cp(this,e)}range(e,r){return up(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...wc,...r},n)}},gc=class extends er{get(e){return cp(this,e)}range(e,r){return up(this,e,r)}bulk(e,r={},n=!0){return super.bulk(e,{...wc,...r},n)}},yx=mc,mx=gc,wc={LeafClass:yx,BranchClass:mx,LeafEntryClass:Xt,BranchEntryClass:Yt},lp={...wc,compare:hx},fp=t=>(t={...lp,...t},sp(t)),bc=t=>(t={...lp,...t},ap(t));var tr=class{constructor(){k(this,"cid",null);k(this,"root",null)}},wx=(t,e)=>{if(Number.isNaN(t))return-1;if(Number.isNaN(e))throw new Error("ref may not be Infinity or NaN");return t===1/0?1:Qt(t,e)},bx=(t,e)=>{let[r,n]=t,[o,i]=e,s=Qt(r,o);return s!==0?s:wx(n,i)},kc={cache:$r,chunker:Vn(30),codec:q,hasher:de,compare:bx},vc={cache:$r,chunker:Vn(30),codec:q,hasher:de,compare:Qt};function dp(t,e){let r=[];return t.forEach(({key:n,value:o,del:i})=>{if(i||!o)return;let s=!1,c=e({_id:n,...o},(a,u)=>{s=!0,!(typeof a>"u")&&r.push({key:[qr.default.encode(a),n],value:u||null})});!s&&c&&r.push({key:[qr.default.encode(c),n],value:null})}),r}function xc(t){return async e=>{let r=await t.get(e);if(!r)throw new Error(`Missing block ${e.toString()}`);let{cid:n,bytes:o}=r;return pi({cid:n,bytes:o,hasher:de,codec:q})}}async function Ec(t,e,r,n){if(!r.length)return e;if(!e.root)if(e.cid)e.root=await bc({cid:e.cid,get:xc(t),...n});else{let s=null,c=null;for await(let a of await fp({get:xc(t),list:r,...n})){let u=await a.block;await t.put(u.cid,u.bytes),s=u,c=a}if(!c||!s)throw new Error("failed to create index");return{root:c,cid:s.cid}}let{root:o,blocks:i}=await e.root.bulk(r);if(o){for await(let s of i)await t.put(s.cid,s.bytes);return{root:o,cid:(await o.block).cid}}else return{root:null,cid:null}}async function Sc(t,e,r){return await bc({cid:e,get:xc(t),...r})}async function rr(t,e,r){return r.descending&&(e.result=e.result.reverse()),r.limit&&(e.result=e.result.slice(0,r.limit)),r.includeDocs&&(e.result=await Promise.all(e.result.map(async n=>{let o=await t.get(n.id),i=o?{_id:n.id,...o.doc}:null;return{...n,doc:i}}))),{rows:e.result.map(n=>(n.key=qr.default.decode(n.key),n.row&&!n.value&&(n.value=n.row,delete n.row),n))}}function Ac(t){return t.map(e=>qr.default.encode(e))}function _c(t){return qr.default.encode(t)}function qn({_crdt:t},e,r,n){if(r&&n)throw new Error("cannot provide both mapFn and meta");if(r&&r.constructor.name!=="Function")throw new Error("mapFn must be a function");if(t.indexers.has(e))t.indexers.get(e).applyMapFn(e,r,n);else{let o=new Bc(t,e,r,n);t.indexers.set(e,o)}return t.indexers.get(e)}var Bc=class{constructor(e,r,n,o){k(this,"blocks");k(this,"crdt");k(this,"name",null);k(this,"mapFn",null);k(this,"mapFnString","");k(this,"byKey",new tr);k(this,"byId",new tr);k(this,"indexHead");k(this,"includeDocsDefault",!1);k(this,"initError",null);k(this,"ready");if(this.blocks=e.indexBlocks,this.crdt=e,this.applyMapFn(r,n,o),!(this.mapFnString||this.initError))throw new Error("missing mapFnString");this.ready=this.blocks.ready.then(()=>{})}applyMapFn(e,r,n){if(r&&n)throw new Error("cannot provide both mapFn and meta");if(this.name&&this.name!==e)throw new Error("cannot change name");this.name=e;try{if(n){if(this.indexHead&&this.indexHead.map(i=>i.toString()).join()!==n.head.map(i=>i.toString()).join())throw new Error("cannot apply meta to existing index");this.mapFnString?this.mapFnString!==n.map?console.log("cannot apply different mapFn meta: old mapFnString",this.mapFnString,"new mapFnString",n.map):(this.byId.cid=n.byId,this.byKey.cid=n.byKey,this.indexHead=n.head):(this.mapFnString=n.map,this.byId.cid=n.byId,this.byKey.cid=n.byKey,this.indexHead=n.head)}else if(this.mapFn){if(r&&this.mapFn.toString()!==r.toString())throw new Error("cannot apply different mapFn app2")}else{if(r||(r=xx(e)),this.mapFnString){if(this.mapFnString!==r.toString())throw new Error("cannot apply different mapFn app")}else this.mapFnString=r.toString();this.mapFn=r}let o=/=>\s*(.*)/.test(this.mapFnString);this.includeDocsDefault=o}catch(o){this.initError=o}}async query(e={}){if(await this._updateIndex(),await this._hydrateIndex(),!this.byKey.root)return await rr(this.crdt,{result:[]},e);if(this.includeDocsDefault&&e.includeDocs===void 0&&(e.includeDocs=!0),e.range){let{result:o,...i}=await this.byKey.root.range(...Ac(e.range));return await rr(this.crdt,{result:o,...i},e)}if(e.key){let o=_c(e.key);return await rr(this.crdt,await this.byKey.root.get(o),e)}if(Array.isArray(e.keys))return{rows:(await Promise.all(e.keys.map(async i=>{let s=_c(i);return(await rr(this.crdt,await this.byKey.root.get(s),e)).rows}))).flat()};if(e.prefix){Array.isArray(e.prefix)||(e.prefix=[e.prefix]);let o=[...e.prefix,NaN],i=[...e.prefix,1/0],s=Ac([o,i]);return await rr(this.crdt,await this.byKey.root.range(...s),e)}let{result:r,...n}=await this.byKey.root.getAllEntries();return await rr(this.crdt,{result:r.map(({key:[o,i],value:s})=>({key:o,id:i,value:s})),...n},e)}_resetIndex(){this.byId=new tr,this.byKey=new tr,this.indexHead=void 0}async _hydrateIndex(){this.byId.root&&this.byKey.root||!this.byId.cid||!this.byKey.cid||(this.byId.root=await Sc(this.blocks,this.byId.cid,vc),this.byKey.root=await Sc(this.blocks,this.byKey.cid,kc))}async _updateIndex(){if(await this.ready,this.initError)throw this.initError;if(!this.mapFn)throw new Error("No map function defined");let e,r;if(!this.indexHead||this.indexHead.length===0?{result:e,head:r}=await this.crdt.allDocs():{result:e,head:r}=await this.crdt.changes(this.indexHead),e.length===0)return this.indexHead=r,{byId:this.byId,byKey:this.byKey};let n=[],o=[];if(this.byId.root){let a=e.map(({key:l})=>l),{result:u}=await this.byId.root.getMany(a);n=u.map(l=>({key:l,del:!0})),o=u.map(l=>({key:l[1],del:!0}))}let i=dp(e,this.mapFn),s=i.map(({key:a})=>({key:a[1],value:a})),c=new Map;for(let[a,u]of this.crdt.indexers)u.indexHead&&c.set(a,{byId:u.byId.cid,byKey:u.byKey.cid,head:u.indexHead,map:u.mapFnString,name:u.name});return await this.blocks.transaction(async a=>(this.byId=await Ec(a,this.byId,o.concat(s),vc),this.byKey=await Ec(a,this.byKey,n.concat(i),kc),this.indexHead=r,{byId:this.byId.cid,byKey:this.byKey.cid,head:r,map:this.mapFnString,name:this.name}),c)}};function xx(t){return e=>{if(e[t])return e[t]}}var Ri=class Ri extends Vr{constructor(r,n,o){super(r,o);k(this,"crdt");k(this,"defaultHeader",Ri.defaultHeader);this.crdt=n}async _applyCarHeader(r){for(let[n,o]of Object.entries(r.indexes))qn({_crdt:this.crdt},n,void 0,o)}makeCarHeader({indexes:r},n,o=!1){return o?{indexes:r,cars:[],compact:n}:{indexes:r,cars:n,compact:[]}}};k(Ri,"defaultHeader",{cars:[],compact:[],indexes:new Map});var Mi=Ri,zi=class zi extends Vr{constructor(r,n,o){super(r,o);k(this,"defaultHeader",zi.defaultHeader);k(this,"clock");k(this,"remoteFileStore");k(this,"fileStore");this.fileStore=new jr(this),this.clock=n}async loadFileCar(r,n=!1){return await this.storesLoadCar(r,this.fileStore,this.remoteFileStore,n)}async _applyCarHeader(r,n=!1){n?await this.clock.applyHead(null,r.head,this.clock.head):await this.clock.applyHead(null,r.head,[])}makeCarHeader(r,n,o=!1){if(pc(r)){let i=[];for(let[,s]of Object.entries(r.files))i.push(s.cid);return{files:i}}else{let{head:i}=r;return o?{head:i,cars:[],compact:n}:{head:i,cars:n,compact:[]}}}};k(zi,"defaultHeader",{cars:[],compact:[],head:[]});var Oi=zi;function pc(t){return t&&t.files!==void 0}var _t=class extends _e{constructor(r){super();k(this,"parent");this.parent=r}async get(r){return this.parent.get(r)}async superGet(r){return super.get(r)}},$i=class{constructor(e,r,n){k(this,"ready");k(this,"name",null);k(this,"loader",null);k(this,"opts",{});k(this,"transactions",new Set);if(this.opts=n||this.opts,e){if(this.name=e,!r)throw new Error("missing loader");this.loader=r,this.ready=this.loader.ready}else this.ready=Promise.resolve()}async put(){throw new Error("use a transaction to put")}async get(e){if(!e)throw new Error("required cid");for(let r of this.transactions){let n=await r.superGet(e);if(n)return n}if(this.loader)return await this.loader.getBlock(e)}async commitCompaction(e,r){return this.transactions.clear(),this.transactions.add(e),await this.loader?.commit(e,{head:r},{compact:!0})}async*entries(){let e=new Set;for(let r of this.transactions)for await(let n of r.entries())e.has(n.cid.toString())||(e.add(n.cid.toString()),yield n)}async executeTransaction(e,r){let n=new _t(this);this.transactions.add(n);let o=await e(n),{car:i,done:s}=await r(n,o);return i?{...s,car:i}:s}},Hi=class extends $i{constructor(e,r,n){e?super(e,new Mi(e,r,n),n):super(null)}async transaction(e,r){return this.executeTransaction(e,async(n,o)=>(r.set(o.name,o),{car:await this.loader?.commit(n,{indexes:r}),done:o}))}},ji=class extends $i{constructor(e,r,n){e?super(e,new Oi(e,r,n),n):super(null)}async transaction(e,r,n={noLoader:!1}){return this.executeTransaction(e,async(o,i)=>({car:await this.loader?.commit(o,i,n),done:i}))}},Vi=class{constructor(e){k(this,"blocks");k(this,"loader",null);k(this,"cids",new Set);this.blocks=e,this.loader=e.loader}async get(e){return this.cids.add(e),await this.blocks.get(e)}};var Tc=({name:t,code:e,encode:r})=>new Cc(t,e,r),Cc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Pt(this.code,r):r.then(n=>Pt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function qi({enumerable:t=!0,configurable:e=!1}={}){return{enumerable:t,configurable:e,writable:!1}}function*kx(t,e){if(e!=null&&typeof e=="object")if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r],i=j.asCID(n);i?yield[o.join("/"),i]:typeof n=="object"&&(yield*Ic(n,o))}else{let r=j.asCID(e);r?yield[t.join("/"),r]:yield*Ic(e,t)}}function*Ic(t,e){if(t==null||t instanceof Uint8Array)return;let r=j.asCID(t);r&&(yield[e.join("/"),r]);for(let[n,o]of Object.entries(t)){let i=[...e,n];yield*kx(i,o)}}function*vx(t,e){if(Array.isArray(e))for(let[r,n]of e.entries()){let o=[...t,r];yield o.join("/"),typeof n=="object"&&!j.asCID(n)&&(yield*Lc(n,o))}else yield*Lc(e,t)}function*Lc(t,e){if(!(t==null||typeof t!="object"))for(let[r,n]of Object.entries(t)){let o=[...e,r];yield o.join("/"),n!=null&&!(n instanceof Uint8Array)&&typeof n=="object"&&!j.asCID(n)&&(yield*vx(o,n))}}function Ex(t,e){let r=t;for(let[n,o]of e.entries()){if(r=r[o],r==null)throw new Error(`Object has no property at ${e.slice(0,n+1).map(s=>`[${JSON.stringify(s)}]`).join("")}`);let i=j.asCID(r);if(i)return{value:i,remaining:e.slice(n+1).join("/")}}return{value:r}}var Me=class{constructor({cid:e,bytes:r,value:n}){if(!e||!r||typeof n>"u")throw new Error("Missing required argument");this.cid=e,this.bytes=r,this.value=n,this.asBlock=this,Object.defineProperties(this,{cid:qi(),bytes:qi(),value:qi(),asBlock:qi()})}links(){return Ic(this.value,[])}tree(){return Lc(this.value,[])}get(e="/"){return Ex(this.value,e.split("/").filter(Boolean))}};async function Wi({value:t,codec:e,hasher:r}){if(typeof t>"u")throw new Error('Missing required argument "value"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.encode(t),o=await r.digest(n),i=j.create(1,e.code,o);return new Me({value:t,bytes:n,cid:i})}async function Ki({bytes:t,codec:e,hasher:r}){if(!t)throw new Error('Missing required argument "bytes"');if(!e||!r)throw new Error("Missing required argument: codec or hasher");let n=e.decode(t),o=await r.digest(t),i=j.create(1,e.code,o);return new Me({value:n,bytes:t,cid:i})}var Dc={};Y(Dc,{sha256:()=>ut,sha512:()=>Sx});var pp=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ut=Tc({name:"sha2-256",code:18,encode:pp("SHA-256")}),Sx=Tc({name:"sha2-512",code:19,encode:pp("SHA-512")});async function Kn(t,e,r){let n=new Je(t),o=new Map(e.map(s=>[s.toString(),s]));if(o.has(r.toString()))return e;let i=!1;for(let s of e)await yp(n,r,s)&&(o.delete(s.toString()),o.set(r.toString(),r),i=!0);if(i)return[...o.values()];for(let s of e)if(await yp(n,s,r))return e;return e.concat(r)}var Wn=class extends Me{constructor({cid:e,value:r,bytes:n,prefix:o}){super({cid:e,value:r,bytes:n}),this.prefix=o}static create(e,r){return Ax({data:e,parents:r??[]})}},Je=class{constructor(e){this._blocks=e}async get(e){let r=await this._blocks.get(e);if(!r)throw new Error(`missing block: ${e}`);return _x(r.bytes)}};async function Ax(t){let{cid:e,bytes:r}=await Wi({value:t,codec:q,hasher:ut});return new Me({cid:e,value:t,bytes:r})}async function _x(t){let{cid:e,value:r}=await Ki({bytes:t,codec:q,hasher:ut});return new Me({cid:e,value:r,bytes:t})}async function yp(t,e,r){if(e.toString()===r.toString())return!0;let[{value:n},{value:o}]=await Promise.all([t.get(e),t.get(r)]),i=[...n.parents],s=new Set;for(;i.length;){let c=i.shift();if(!c)break;if(c.toString()===r.toString())return!0;if(o.parents.some(u=>c.toString()===u.toString())||s.has(c.toString()))continue;s.add(c.toString());let{value:a}=await t.get(c);i.push(...a.parents)}return!1}async function*Nc(t,e,r={}){let n=r.renderNodeLabel??(a=>Bx(a.cid)),o=new Je(t);yield"digraph clock {",yield' node [shape=point fontname="Courier"]; head;';let i=await Promise.all(e.map(a=>o.get(a))),s=[],c=new Set;for(let a of i){c.add(a.cid.toString()),yield` node [shape=oval fontname="Courier"]; ${a.cid} [label="${n(a)}"];`,yield` head -> ${a.cid};`;for(let u of a.value.parents)yield` ${a.cid} -> ${u};`;s.push(...a.value.parents)}for(;s.length;){let a=s.shift();if(!a)break;if(c.has(a.toString()))continue;c.add(a.toString());let u=await o.get(a);yield` node [shape=oval]; ${a} [label="${n(u)}" fontname="Courier"];`;for(let l of u.value.parents)yield` ${a} -> ${l};`;s.push(...u.value.parents)}yield"}"}var Bx=t=>`${String(t).slice(0,4)}..${String(t).slice(-4)}`;var nr=class extends Me{constructor({cid:e,value:r,bytes:n,prefix:o}){super({cid:e,value:r,bytes:n}),this.prefix=o}static create(){return Xe([])}};async function Xe(t,e){let{cid:r,bytes:n}=await Wi({value:t,codec:q,hasher:ut});return new nr({cid:r,value:t,bytes:n,prefix:e??""})}async function mp(t,e){let{cid:r,value:n}=await Ki({bytes:t,codec:q,hasher:ut});if(!Array.isArray(n))throw new Error(`invalid shard: ${r}`);return new nr({cid:r,value:n,bytes:t,prefix:e??""})}var or=class{constructor(e){this._blocks=e}async get(e,r=""){let n=await this._blocks.get(e);if(!n)throw new Error(`missing block: ${e}`);return mp(n.bytes,r)}};function Uc(t,e){if(!t.length)return[e];let r=[];for(let[n,[o,i]]of t.entries()){if(e[0]===o){if(Array.isArray(e[1]))Array.isArray(i)&&i[1]!=null&&e[1][1]==null?r.push([o,[e[1][0],i[1]]]):r.push(e);else{let s=Array.isArray(i)?[o,[i[0],e[1]]]:e;r.push(s)}for(let s=n+1;s<t.length;s++)r.push(t[s]);return r}if(n===0&&e[0]<o){r.push(e);for(let s=n;s<t.length;s++)r.push(t[s]);return r}if(n>0&&e[0]>t[n-1][0]&&e[0]<o){r.push(e);for(let s=n;s<t.length;s++)r.push(t[s]);return r}r.push([o,i])}return r.push(e),r}function gp(t,e){let r=t.findIndex(([i])=>e===i);if(r===-1)throw new Error(`key not found in shard: ${e}`);let n=r,o;for(;;){if(o=t[n][0].slice(0,-1),o.length)for(;;){let i=t.filter(s=>s[0].startsWith(o));if(i.length>1)return{prefix:o,matches:i};if(o=o.slice(0,-1),!o.length)break}if(n++,n>=t.length&&(n=0),n===r)return}}var Gi=64,Tx=512*1024;async function Gn(t,e,r,n,o={}){let i=new or(t),s=await i.get(e),c=await Qi(i,s,r),a=c[c.length-1],u=r.slice(a.prefix.length),l=[u,n],d=[];if(u.length>Gi){let h=Array.from(Array(Math.ceil(u.length/Gi)),(w,g)=>{let b=g*Gi;return{prefix:a.prefix+u.slice(0,b),skey:u.slice(b,b+Gi)}}),p=await Xe([[h[h.length-1].skey,n]],h[h.length-1].prefix);d.push(p);for(let w=h.length-2;w>0;w--)p=await Xe([[h[w].skey,[p.cid]]],h[w].prefix),d.push(p);l=[h[0].skey,[p.cid]]}let m=Uc(a.value,l),f=await Xe(m,a.prefix);if(f.bytes.length>(o.maxShardSize??Tx)){let h=gp(m,l[0]);if(!h)throw new Error("shard limit reached");let{prefix:p,matches:w}=h,g=await Xe(w.filter(([E])=>E!==p).map(([E,T])=>[E.slice(p.length),T]),a.prefix+p);d.push(g);let b,v=w.find(([E])=>E===p);if(v){if(Array.isArray(v[1]))throw new Error(`expected "${p}" to be a shard value but found a shard link`);b=[g.cid,v[1]]}else b=[g.cid];m=m.filter(E=>w.every(T=>E[0]!==T[0])),m=Uc(m,[p,b]),f=await Xe(m,a.prefix)}d.push(f);for(let h=c.length-2;h>=0;h--){let p=c[h],w=f.prefix.slice(p.prefix.length),g=p.value.map(b=>{let[v,E]=b;if(v!==w)return b;if(!Array.isArray(E))throw new Error(`"${w}" is not a shard link in: ${p.cid}`);return E[1]==null?[v,[f.cid]]:[v,[f.cid,E[1]]]});f=await Xe(g,p.prefix),d.push(f)}return{root:d[d.length-1].cid,additions:d,removals:c}}async function wp(t,e,r){let n=new or(t),o=await n.get(e),i=await Qi(n,o,r),s=i[i.length-1],c=r.slice(s.prefix.length),a=s.value.find(([u])=>u===c);if(a)return Array.isArray(a[1])?a[1][1]:a[1]}async function Pc(t,e,r){let n=new or(t),o=await n.get(e),i=await Qi(n,o,r),s=i[i.length-1],c=r.slice(s.prefix.length),a=s.value.findIndex(([h])=>h===c);if(a===-1)return{root:e,additions:[],removals:[]};let u=s.value[a];if(Array.isArray(u[1])&&u[1][1]==null)return{root:e,additions:[],removals:[]};let l=[],d=[...i],m=[...s.value];if(Array.isArray(u[1]))m[a]=[u[0],[u[1][0]]];else for(m.splice(a,1);!m.length;){let h=i[i.length-1],p=i[i.length-2];if(!p)break;i.pop(),m=p.value.filter(w=>Array.isArray(w[1])?w[1][0].toString()!==h.cid.toString():!0)}let f=await Xe(m,i[i.length-1].prefix);l.push(f);for(let h=i.length-2;h>=0;h--){let p=i[h],w=f.prefix.slice(p.prefix.length),g=p.value.map(b=>{let[v,E]=b;if(v!==w)return b;if(!Array.isArray(E))throw new Error(`"${w}" is not a shard link in: ${p.cid}`);return E[1]==null?[v,[f.cid]]:[v,[f.cid,E[1]]]});f=await Xe(g,p.prefix),l.push(f)}return{root:l[l.length-1].cid,additions:l,removals:d}}async function*bp(t,e,r={}){let{prefix:n}=r,o=new or(t),i=await o.get(e);yield*async function*s(c){for(let a of c.value){let u=c.prefix+a[0];if(Array.isArray(a[1])){if(a[1][1]&&(!n||n&&u.startsWith(n))&&(yield[u,a[1][1]]),n&&(n.length<=u.length&&!u.startsWith(n)||n.length>u.length&&!n.startsWith(u)))continue;yield*s(await o.get(a[1][0],u))}else{if(n&&!u.startsWith(n))continue;yield[u,a[1]]}}}(i)}async function Qi(t,e,r){for(let[n,o]of e.value){if(r===n)return[e];if(r.startsWith(n)&&Array.isArray(o)){let i=await Qi(t,await t.get(o[0],e.prefix+n),r.slice(n.length));return[e,...i]}}return[e]}async function xp(t,e,r,n,o){let i=new _e;if(t=new Mt(i,t),!e.length){let g=await nr.create();i.putSync(g.cid,g.bytes);let b=await Gn(t,g.cid,r,n,o),v={type:"put",root:b.root,key:r,value:n},E=await Wn.create(v,e);return e=await Kn(t,e,E.cid),{root:b.root,additions:[g,...b.additions],removals:b.removals,head:e,event:E}}let s=new Je(t),c=await Mc(s,e);if(!c)throw new Error("failed to find common ancestor event");let a=await s.get(c),{root:u}=a.value.data,l=await vp(s,e,c),d=new Map,m=new Map;for(let{value:g}of l){if(!["put","del"].includes(g.data.type))throw new Error(`unknown event type: ${g.data.type}`);let b=g.data.type==="put"?await Gn(t,u,g.data.key,g.data.value):await Pc(t,u,g.data.key);u=b.root;for(let v of b.additions)i.putSync(v.cid,v.bytes),d.set(v.cid.toString(),v);for(let v of b.removals)m.set(v.cid.toString(),v)}let f=await Gn(t,u,r,n,o);for(let g of f.additions)i.putSync(g.cid,g.bytes),d.set(g.cid.toString(),g);for(let g of f.removals)m.set(g.cid.toString(),g);let h={type:"put",root:f.root,key:r,value:n},p=await Wn.create(h,e);i.putSync(p.cid,p.bytes),e=await Kn(t,e,p.cid);let w=f.root.toString();for(let g of m.keys())d.has(g)&&g!==w&&(d.delete(g),m.delete(g));return{root:f.root,additions:[...d.values()],removals:[...m.values()],head:e,event:p}}async function Wr(t,e){if(!e.length)throw new Error("cannot determine root of headless clock");let r=new _e;t=new Mt(r,t);let n=new Je(t);if(e.length===1){let d=await n.get(e[0]),{root:m}=d.value.data;return{root:m,additions:[],removals:[]}}let o=await Mc(n,e);if(!o)throw new Error("failed to find common ancestor event");let i=await n.get(o),{root:s}=i.value.data,c=await vp(n,e,o),a=new Map,u=new Map;for(let{value:d}of c){if(!["put","del"].includes(d.data.type))throw new Error(`unknown event type: ${d.data.type}`);let m=d.data.type==="put"?await Gn(t,s,d.data.key,d.data.value):await Pc(t,s,d.data.key);s=m.root;for(let f of m.additions)r.putSync(f.cid,f.bytes),a.set(f.cid.toString(),f);for(let f of m.removals)u.set(f.cid.toString(),f)}let l=s.toString();for(let d of u.keys())a.has(d)&&d!==l&&(a.delete(d),u.delete(d));return{root:s,additions:[...a.values()],removals:[...u.values()]}}async function kp(t,e,r){if(!e.length)return;let n=await Wr(t,e);return n.additions.length&&(t=new Mt(new _e(n.additions),t)),wp(t,n.root,r)}async function*Fc(t,e,r){if(!e.length)return;let n=await Wr(t,e);n.additions.length&&(t=new Mt(new _e(n.additions),t)),yield*bp(t,n.root,r)}async function Mc(t,e){if(!e.length)return;let r=e.map(n=>[n]);for(;;){let n=!1;for(let o of r){let i=await Lx(t,o[o.length-1]);if(!i)continue;n=!0,o.push(i);let s=Dx(r);if(s)return s}if(!n)return}}async function Lx(t,e){let{value:r}=await t.get(e);return r.parents.length?r.parents.length===1?r.parents[0]:Mc(t,r.parents):e}function Dx(t){t=t.map(e=>[...e]);for(let e of t)for(let r of e){let n=!0;for(let o of t)if(e!==o&&(n=o.some(i=>String(i)===String(r)),!n))break;if(n)return r}}async function vp(t,e,r){if(e.length===1&&String(e[0])===String(r))return[];let n=new Map,o=await Promise.all(e.map(s=>Ep(t,s,r)));for(let s of o)for(let{event:c,depth:a}of s){let u=n.get(c.cid.toString());u?u.weight+=a:n.set(c.cid.toString(),{event:c,weight:a})}let i=new Map;for(let{event:s,weight:c}of n.values()){let a=i.get(c);a?a.push(s):i.set(c,[s])}return Array.from(i).sort((s,c)=>c[0]-s[0]).flatMap(([,s])=>s.sort((c,a)=>String(c.cid)<String(a.cid)?-1:1))}async function Ep(t,e,r,n=0){let o=await t.get(e),i=[{event:o,depth:n}],{parents:s}=o.value;if(s.length===1&&String(s[0])===String(r))return i;let c=await Promise.all(s.map(a=>Ep(t,a,r,n+1)));return i.concat(...c)}var Zr={};Y(Zr,{DEFAULT_DIRECTORY_MODE:()=>Dy,DEFAULT_FILE_MODE:()=>Ly,NodeType:()=>F,code:()=>Xr,createAdvancedFile:()=>tk,createComplexFile:()=>nk,createDirectoryShard:()=>Fy,createEmptyFile:()=>Zx,createFileChunk:()=>ek,createFileShard:()=>rk,createFlatDirectory:()=>as,createRaw:()=>Ny,createShardedDirectory:()=>Py,createSimpleFile:()=>Uy,createSymlink:()=>Oy,cumulativeContentByteLength:()=>tt,cumulativeDagByteLength:()=>Yr,decode:()=>$y,decodeMetadata:()=>cr,encode:()=>zy,encodeAdvancedFile:()=>iu,encodeComplexFile:()=>su,encodeDirectory:()=>ls,encodeDirectoryMetadata:()=>lu,encodeFile:()=>My,encodeFileChunk:()=>ou,encodeFileShard:()=>ok,encodeHAMTShard:()=>au,encodeLink:()=>cs,encodeMetadata:()=>eo,encodeMode:()=>jy,encodeRaw:()=>nu,encodeSimpleFile:()=>us,encodeSymlink:()=>Ry,filesize:()=>ck,matchFile:()=>ak,name:()=>ru});var Nx=new TextDecoder;function Oc(t,e){let r=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=t.length)throw new Error("protobuf: unexpected end of data");let o=t[e++];if(r+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[r,e]}function Ji(t,e){let r;[r,e]=Oc(t,e);let n=e+r;if(r<0||n<0)throw new Error("protobuf: invalid length");if(n>t.length)throw new Error("protobuf: unexpected end of data");return[t.subarray(e,n),n]}function Sp(t,e){let r;return[r,e]=Oc(t,e),[r&7,r>>3,e]}function Ux(t){let e={},r=t.length,n=0;for(;n<r;){let o,i;if([o,i,n]=Sp(t,n),i===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=Ji(t,n)}else if(i===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let s;[s,n]=Ji(t,n),e.Name=Nx.decode(s)}else if(i===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[e.Tsize,n]=Oc(t,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${i}`)}if(n>r)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function Ap(t){let e=t.length,r=0,n,o=!1,i;for(;r<e;){let c,a;if([c,a,r]=Sp(t,r),c!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${c}`);if(a===1){if(i)throw new Error("protobuf: (PBNode) duplicate Data section");[i,r]=Ji(t,r),n&&(o=!0)}else if(a===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,r]=Ji(t,r),n.push(Ux(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${a}`)}if(r>e)throw new Error("protobuf: (PBNode) unexpected end of data");let s={};return i&&(s.Data=i),s.Links=n||[],s}var Bp=new TextEncoder,_p=2**32,Px=2**31;function Fx(t,e){let r=e.length;if(typeof t.Tsize=="number"){if(t.Tsize<0)throw new Error("Tsize cannot be negative");if(!Number.isSafeInteger(t.Tsize))throw new Error("Tsize too large for encoding");r=Qn(e,r,t.Tsize)-1,e[r]=24}if(typeof t.Name=="string"){let n=Bp.encode(t.Name);r-=n.length,e.set(n,r),r=Qn(e,r,n.length)-1,e[r]=18}return t.Hash&&(r-=t.Hash.length,e.set(t.Hash,r),r=Qn(e,r,t.Hash.length)-1,e[r]=10),e.length-r}function Cp(t){let e=Ox(t),r=new Uint8Array(e),n=e;if(t.Data&&(n-=t.Data.length,r.set(t.Data,n),n=Qn(r,n,t.Data.length)-1,r[n]=10),t.Links)for(let o=t.Links.length-1;o>=0;o--){let i=Fx(t.Links[o],r.subarray(0,n));n-=i,n=Qn(r,n,i)-1,r[n]=18}return r}function Mx(t){let e=0;if(t.Hash){let r=t.Hash.length;e+=1+r+Kr(r)}if(typeof t.Name=="string"){let r=Bp.encode(t.Name).length;e+=1+r+Kr(r)}return typeof t.Tsize=="number"&&(e+=1+Kr(t.Tsize)),e}function Ox(t){let e=0;if(t.Data){let r=t.Data.length;e+=1+r+Kr(r)}if(t.Links)for(let r of t.Links){let n=Mx(r);e+=1+n+Kr(n)}return e}function Qn(t,e,r){e-=Kr(r);let n=e;for(;r>=Px;)t[e++]=r&127|128,r/=128;for(;r>=128;)t[e++]=r&127|128,r>>>=7;return t[e]=r,n}function Kr(t){return t%2===0&&t++,Math.floor((Rx(t)+6)/7)}function Rx(t){let e=0;return t>=_p&&(t=Math.floor(t/_p),e=32),t>=65536&&(t>>>=16,e+=16),t>=256&&(t>>>=8,e+=8),e+zx[t]}var zx=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8];var $x=["Data","Links"],Hx=["Hash","Name","Tsize"],Rc=new TextEncoder;function Ip(t,e){if(t===e)return 0;let r=t.Name?Rc.encode(t.Name):[],n=e.Name?Rc.encode(e.Name):[],o=r.length,i=n.length;for(let s=0,c=Math.min(o,i);s<c;++s)if(r[s]!==n[s]){o=r[s],i=n[s];break}return o<i?-1:i<o?1:0}function Tp(t,e){return!Object.keys(t).some(r=>!e.includes(r))}function jx(t){if(typeof t.asCID=="object"){let r=j.asCID(t);if(!r)throw new TypeError("Invalid DAG-PB form");return{Hash:r}}if(typeof t!="object"||Array.isArray(t))throw new TypeError("Invalid DAG-PB form");let e={};if(t.Hash){let r=j.asCID(t.Hash);try{r||(typeof t.Hash=="string"?r=j.parse(t.Hash):t.Hash instanceof Uint8Array&&(r=j.decode(t.Hash)))}catch(n){throw new TypeError(`Invalid DAG-PB form: ${n.message}`)}r&&(e.Hash=r)}if(!e.Hash)throw new TypeError("Invalid DAG-PB form");return typeof t.Name=="string"&&(e.Name=t.Name),typeof t.Tsize=="number"&&(e.Tsize=t.Tsize),e}function zc(t){if((t instanceof Uint8Array||typeof t=="string")&&(t={Data:t}),typeof t!="object"||Array.isArray(t))throw new TypeError("Invalid DAG-PB form");let e={};if(t.Data!==void 0)if(typeof t.Data=="string")e.Data=Rc.encode(t.Data);else if(t.Data instanceof Uint8Array)e.Data=t.Data;else throw new TypeError("Invalid DAG-PB form");if(t.Links!==void 0)if(Array.isArray(t.Links))e.Links=t.Links.map(jx),e.Links.sort(Ip);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function Lp(t){if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form");if(!Tp(t,$x))throw new TypeError("Invalid DAG-PB form (extraneous properties)");if(t.Data!==void 0&&!(t.Data instanceof Uint8Array))throw new TypeError("Invalid DAG-PB form (Data must be bytes)");if(!Array.isArray(t.Links))throw new TypeError("Invalid DAG-PB form (Links must be a list)");for(let e=0;e<t.Links.length;e++){let r=t.Links[e];if(!r||typeof r!="object"||Array.isArray(r)||r instanceof Uint8Array||r["/"]&&r["/"]===r.bytes)throw new TypeError("Invalid DAG-PB form (bad link)");if(!Tp(r,Hx))throw new TypeError("Invalid DAG-PB form (extraneous properties on link)");if(r.Hash===void 0)throw new TypeError("Invalid DAG-PB form (link must have a Hash)");if(r.Hash==null||!r.Hash["/"]||r.Hash["/"]!==r.Hash.bytes)throw new TypeError("Invalid DAG-PB form (link Hash must be a CID)");if(r.Name!==void 0&&typeof r.Name!="string")throw new TypeError("Invalid DAG-PB form (link Name must be a string)");if(r.Tsize!==void 0){if(typeof r.Tsize!="number"||r.Tsize%1!==0)throw new TypeError("Invalid DAG-PB form (link Tsize must be an integer)");if(r.Tsize<0)throw new TypeError("Invalid DAG-PB form (link Tsize cannot be negative)")}if(e>0&&Ip(r,t.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}var ir=112;function Dp(t){Lp(t);let e={};return t.Links&&(e.Links=t.Links.map(r=>{let n={};return r.Hash&&(n.Hash=r.Hash.bytes),r.Name!==void 0&&(n.Name=r.Name),r.Tsize!==void 0&&(n.Tsize=r.Tsize),n})),t.Data&&(e.Data=t.Data),Cp(e)}function Ye(t){let e=Ap(t),r={};return e.Data&&(r.Data=e.Data),e.Links&&(r.Links=e.Links.map(n=>{let o={};try{o.Hash=j.decode(n.Hash)}catch{}if(!o.Hash)throw new Error("Invalid Hash field found in link, expected CID");return n.Name!==void 0&&(o.Name=n.Name),n.Tsize!==void 0&&(o.Tsize=n.Tsize),o})),r}var ft=W(By(),1),Qr=ft.default.Reader,eu=ft.default.Writer,N=ft.default.util,ie=ft.default.roots.unixfs||(ft.default.roots.unixfs={}),Jr=ie.Data=(()=>{function t(e){if(this.blocksizes=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=N.newBuffer([]),t.prototype.filesize=N.Long?N.Long.fromBits(0,0,!0):0,t.prototype.blocksizes=N.emptyArray,t.prototype.hashType=N.Long?N.Long.fromBits(0,0,!0):0,t.prototype.fanout=N.Long?N.Long.fromBits(0,0,!0):0,t.prototype.mode=0,t.prototype.mtime=null,t.encode=function(r,n){if(n||(n=eu.create()),n.uint32(8).int32(r.Type),r.Data!=null&&Object.hasOwnProperty.call(r,"Data")&&n.uint32(18).bytes(r.Data),r.filesize!=null&&Object.hasOwnProperty.call(r,"filesize")&&n.uint32(24).uint64(r.filesize),r.blocksizes!=null&&r.blocksizes.length)for(var o=0;o<r.blocksizes.length;++o)n.uint32(32).uint64(r.blocksizes[o]);return r.hashType!=null&&Object.hasOwnProperty.call(r,"hashType")&&n.uint32(40).uint64(r.hashType),r.fanout!=null&&Object.hasOwnProperty.call(r,"fanout")&&n.uint32(48).uint64(r.fanout),r.mode!=null&&Object.hasOwnProperty.call(r,"mode")&&n.uint32(56).uint32(r.mode),r.mtime!=null&&Object.hasOwnProperty.call(r,"mtime")&&ie.UnixTime.encode(r.mtime,n.uint32(66).fork()).ldelim(),n},t.decode=function(r,n){r instanceof Qr||(r=Qr.create(r));for(var o=n===void 0?r.len:r.pos+n,i=new ie.Data;r.pos<o;){var s=r.uint32();switch(s>>>3){case 1:i.Type=r.int32();break;case 2:i.Data=r.bytes();break;case 3:i.filesize=r.uint64();break;case 4:if(i.blocksizes&&i.blocksizes.length||(i.blocksizes=[]),(s&7)===2)for(var c=r.uint32()+r.pos;r.pos<c;)i.blocksizes.push(r.uint64());else i.blocksizes.push(r.uint64());break;case 5:i.hashType=r.uint64();break;case 6:i.fanout=r.uint64();break;case 7:i.mode=r.uint32();break;case 8:i.mtime=ie.UnixTime.decode(r,r.uint32());break;default:r.skipType(s&7);break}}if(!i.hasOwnProperty("Type"))throw N.ProtocolError("missing required 'Type'",{instance:i});return i},t.fromObject=function(r){if(r instanceof ie.Data)return r;var n=new ie.Data;switch(r.Type){case"Raw":case 0:n.Type=0;break;case"Directory":case 1:n.Type=1;break;case"File":case 2:n.Type=2;break;case"Metadata":case 3:n.Type=3;break;case"Symlink":case 4:n.Type=4;break;case"HAMTShard":case 5:n.Type=5;break}if(r.Data!=null&&(typeof r.Data=="string"?N.base64.decode(r.Data,n.Data=N.newBuffer(N.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),r.filesize!=null&&(N.Long?(n.filesize=N.Long.fromValue(r.filesize)).unsigned=!0:typeof r.filesize=="string"?n.filesize=parseInt(r.filesize,10):typeof r.filesize=="number"?n.filesize=r.filesize:typeof r.filesize=="object"&&(n.filesize=new N.LongBits(r.filesize.low>>>0,r.filesize.high>>>0).toNumber(!0))),r.blocksizes){if(!Array.isArray(r.blocksizes))throw TypeError(".Data.blocksizes: array expected");n.blocksizes=[];for(var o=0;o<r.blocksizes.length;++o)N.Long?(n.blocksizes[o]=N.Long.fromValue(r.blocksizes[o])).unsigned=!0:typeof r.blocksizes[o]=="string"?n.blocksizes[o]=parseInt(r.blocksizes[o],10):typeof r.blocksizes[o]=="number"?n.blocksizes[o]=r.blocksizes[o]:typeof r.blocksizes[o]=="object"&&(n.blocksizes[o]=new N.LongBits(r.blocksizes[o].low>>>0,r.blocksizes[o].high>>>0).toNumber(!0))}if(r.hashType!=null&&(N.Long?(n.hashType=N.Long.fromValue(r.hashType)).unsigned=!0:typeof r.hashType=="string"?n.hashType=parseInt(r.hashType,10):typeof r.hashType=="number"?n.hashType=r.hashType:typeof r.hashType=="object"&&(n.hashType=new N.LongBits(r.hashType.low>>>0,r.hashType.high>>>0).toNumber(!0))),r.fanout!=null&&(N.Long?(n.fanout=N.Long.fromValue(r.fanout)).unsigned=!0:typeof r.fanout=="string"?n.fanout=parseInt(r.fanout,10):typeof r.fanout=="number"?n.fanout=r.fanout:typeof r.fanout=="object"&&(n.fanout=new N.LongBits(r.fanout.low>>>0,r.fanout.high>>>0).toNumber(!0))),r.mode!=null&&(n.mode=r.mode>>>0),r.mtime!=null){if(typeof r.mtime!="object")throw TypeError(".Data.mtime: object expected");n.mtime=ie.UnixTime.fromObject(r.mtime)}return n},t.toObject=function(r,n){n||(n={});var o={};if((n.arrays||n.defaults)&&(o.blocksizes=[]),n.defaults){if(o.Type=n.enums===String?"Raw":0,n.bytes===String?o.Data="":(o.Data=[],n.bytes!==Array&&(o.Data=N.newBuffer(o.Data))),N.Long){var i=new N.Long(0,0,!0);o.filesize=n.longs===String?i.toString():n.longs===Number?i.toNumber():i}else o.filesize=n.longs===String?"0":0;if(N.Long){var i=new N.Long(0,0,!0);o.hashType=n.longs===String?i.toString():n.longs===Number?i.toNumber():i}else o.hashType=n.longs===String?"0":0;if(N.Long){var i=new N.Long(0,0,!0);o.fanout=n.longs===String?i.toString():n.longs===Number?i.toNumber():i}else o.fanout=n.longs===String?"0":0;o.mode=0,o.mtime=null}if(r.Type!=null&&r.hasOwnProperty("Type")&&(o.Type=n.enums===String?ie.Data.DataType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(o.Data=n.bytes===String?N.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),r.filesize!=null&&r.hasOwnProperty("filesize")&&(typeof r.filesize=="number"?o.filesize=n.longs===String?String(r.filesize):r.filesize:o.filesize=n.longs===String?N.Long.prototype.toString.call(r.filesize):n.longs===Number?new N.LongBits(r.filesize.low>>>0,r.filesize.high>>>0).toNumber(!0):r.filesize),r.blocksizes&&r.blocksizes.length){o.blocksizes=[];for(var s=0;s<r.blocksizes.length;++s)typeof r.blocksizes[s]=="number"?o.blocksizes[s]=n.longs===String?String(r.blocksizes[s]):r.blocksizes[s]:o.blocksizes[s]=n.longs===String?N.Long.prototype.toString.call(r.blocksizes[s]):n.longs===Number?new N.LongBits(r.blocksizes[s].low>>>0,r.blocksizes[s].high>>>0).toNumber(!0):r.blocksizes[s]}return r.hashType!=null&&r.hasOwnProperty("hashType")&&(typeof r.hashType=="number"?o.hashType=n.longs===String?String(r.hashType):r.hashType:o.hashType=n.longs===String?N.Long.prototype.toString.call(r.hashType):n.longs===Number?new N.LongBits(r.hashType.low>>>0,r.hashType.high>>>0).toNumber(!0):r.hashType),r.fanout!=null&&r.hasOwnProperty("fanout")&&(typeof r.fanout=="number"?o.fanout=n.longs===String?String(r.fanout):r.fanout:o.fanout=n.longs===String?N.Long.prototype.toString.call(r.fanout):n.longs===Number?new N.LongBits(r.fanout.low>>>0,r.fanout.high>>>0).toNumber(!0):r.fanout),r.mode!=null&&r.hasOwnProperty("mode")&&(o.mode=r.mode),r.mtime!=null&&r.hasOwnProperty("mtime")&&(o.mtime=ie.UnixTime.toObject(r.mtime,n)),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,ft.default.util.toJSONOptions)},t.DataType=function(){let e={},r=Object.create(e);return r[e[0]="Raw"]=0,r[e[1]="Directory"]=1,r[e[2]="File"]=2,r[e[3]="Metadata"]=3,r[e[4]="Symlink"]=4,r[e[5]="HAMTShard"]=5,r}(),t})(),h3=ie.UnixTime=(()=>{function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Seconds=N.Long?N.Long.fromBits(0,0,!1):0,t.prototype.FractionalNanoseconds=0,t.encode=function(r,n){return n||(n=eu.create()),n.uint32(8).int64(r.Seconds),r.FractionalNanoseconds!=null&&Object.hasOwnProperty.call(r,"FractionalNanoseconds")&&n.uint32(21).fixed32(r.FractionalNanoseconds),n},t.decode=function(r,n){r instanceof Qr||(r=Qr.create(r));for(var o=n===void 0?r.len:r.pos+n,i=new ie.UnixTime;r.pos<o;){var s=r.uint32();switch(s>>>3){case 1:i.Seconds=r.int64();break;case 2:i.FractionalNanoseconds=r.fixed32();break;default:r.skipType(s&7);break}}if(!i.hasOwnProperty("Seconds"))throw N.ProtocolError("missing required 'Seconds'",{instance:i});return i},t.fromObject=function(r){if(r instanceof ie.UnixTime)return r;var n=new ie.UnixTime;return r.Seconds!=null&&(N.Long?(n.Seconds=N.Long.fromValue(r.Seconds)).unsigned=!1:typeof r.Seconds=="string"?n.Seconds=parseInt(r.Seconds,10):typeof r.Seconds=="number"?n.Seconds=r.Seconds:typeof r.Seconds=="object"&&(n.Seconds=new N.LongBits(r.Seconds.low>>>0,r.Seconds.high>>>0).toNumber())),r.FractionalNanoseconds!=null&&(n.FractionalNanoseconds=r.FractionalNanoseconds>>>0),n},t.toObject=function(r,n){n||(n={});var o={};if(n.defaults){if(N.Long){var i=new N.Long(0,0,!1);o.Seconds=n.longs===String?i.toString():n.longs===Number?i.toNumber():i}else o.Seconds=n.longs===String?"0":0;o.FractionalNanoseconds=0}return r.Seconds!=null&&r.hasOwnProperty("Seconds")&&(typeof r.Seconds=="number"?o.Seconds=n.longs===String?String(r.Seconds):r.Seconds:o.Seconds=n.longs===String?N.Long.prototype.toString.call(r.Seconds):n.longs===Number?new N.LongBits(r.Seconds.low>>>0,r.Seconds.high>>>0).toNumber():r.Seconds),r.FractionalNanoseconds!=null&&r.hasOwnProperty("FractionalNanoseconds")&&(o.FractionalNanoseconds=r.FractionalNanoseconds),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,ft.default.util.toJSONOptions)},t})(),p3=ie.Metadata=(()=>{function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.MimeType="",t.encode=function(r,n){return n||(n=eu.create()),r.MimeType!=null&&Object.hasOwnProperty.call(r,"MimeType")&&n.uint32(10).string(r.MimeType),n},t.decode=function(r,n){r instanceof Qr||(r=Qr.create(r));for(var o=n===void 0?r.len:r.pos+n,i=new ie.Metadata;r.pos<o;){var s=r.uint32();switch(s>>>3){case 1:i.MimeType=r.string();break;default:r.skipType(s&7);break}}return i},t.fromObject=function(r){if(r instanceof ie.Metadata)return r;var n=new ie.Metadata;return r.MimeType!=null&&(n.MimeType=String(r.MimeType)),n},t.toObject=function(r,n){n||(n={});var o={};return n.defaults&&(o.MimeType=""),r.MimeType!=null&&r.hasOwnProperty("MimeType")&&(o.MimeType=r.MimeType),o},t.prototype.toJSON=function(){return this.constructor.toObject(this,ft.default.util.toJSONOptions)},t})();var F=Jr.DataType;var Iy=Object.freeze([]),tu=new Uint8Array(0),Ee=Object.freeze({}),Ly=parseInt("0644",8),Dy=parseInt("0755",8),Xr=ir,ru="UnixFS",Tt=(t,e)=>(Object(globalThis).debug&&console.log({data:t,links:e}),Dp(zc({Data:Jr.encode(t).finish(),Links:e}))),Ny=t=>({type:F.Raw,content:t}),Zx=t=>Uy(tu,t),Uy=(t,e)=>({type:F.File,layout:"simple",content:t,metadata:cr(e)}),ek=t=>({type:F.File,layout:"simple",content:t}),tk=(t,e)=>({type:F.File,layout:"advanced",parts:t,metadata:cr(e)}),rk=t=>({type:F.File,layout:"advanced",parts:t}),nk=(t,e,r)=>({type:F.File,layout:"complex",content:t,parts:e,metadata:cr(r)}),as=(t,e)=>({type:F.Directory,metadata:cr(e),entries:t}),Py=(t,e,r,n,o=Ee)=>({type:F.HAMTShard,bitfield:e,fanout:cu(r),hashType:uu(n),entries:t,metadata:cr(o)}),Fy=(t,e,r,n)=>({type:F.HAMTShard,bitfield:e,fanout:cu(r),hashType:uu(n),entries:t}),nu=t=>Tt({Type:F.Raw,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:Iy},[]),My=(t,e=!1)=>{let r=e?Ee:Object(t).metadata;switch(t.layout){case"simple":return us(t.content,r);case"advanced":return iu(t.parts,r);case"complex":return su(t.content,t.parts,r);default:throw new TypeError(`File with unknown layout "${Object(t).layout}" was passed`)}},ou=t=>us(t,Ee),ok=t=>Tt({Type:F.File,blocksizes:t.map(Zn),filesize:tt(t)},t.map(cs)),iu=(t,e=Ee)=>Tt({Type:F.File,blocksizes:t.map(Zn),filesize:tt(t),...eo(e)},t.map(cs)),cs=t=>({Name:"",Tsize:t.dagByteLength,Hash:t.cid}),us=(t,e=Ee)=>Tt({Type:F.File,Data:t.byteLength>0?t:void 0,filesize:t.byteLength,blocksizes:[],...eo(e)},[]),su=(t,e,r=Ee)=>Tt({Type:F.File,Data:t,filesize:t.byteLength+tt(e),blocksizes:e.map(Zn)},e.map(cs)),ls=t=>Tt({Type:t.type,...lu(t.metadata||Ee)},t.entries.map(Hy)),au=({bitfield:t,fanout:e,hashType:r,entries:n,metadata:o=Ee})=>Tt({Type:F.HAMTShard,Data:t.byteLength>0?t:void 0,fanout:cu(e),hashType:uu(r),...lu(o)},n.map(Hy)),cu=t=>{if(Math.log2(t)%1===0)return t;throw new TypeError(`Expected hamt size to be a power of two instead got ${t}`)},uu=t=>{if(Number.isInteger(t))return t;throw new TypeError(`Expected an integer value instead got ${t}`)};var Oy=(t,e=Ee)=>({type:F.Symlink,content:t,metadata:cr(e)}),Ry=(t,e=!1)=>{let r=e?Ee:Object(t).metadata;return Tt({Type:F.Symlink,Data:t.content,...eo(r||Ee)},[])},zy=(t,e=!0)=>{switch(t.type){case F.Raw:return nu(t.content);case F.File:return My(t);case F.Directory:return ls(t);case F.HAMTShard:return au(t);case F.Symlink:return Ry(t);default:throw new Error(`Unknown node type ${Object(t).type}`)}},$y=t=>{let e=Ye(t),r=Jr.decode(e.Data),{Type:n,Data:o,mtime:i,mode:s,blocksizes:c,...a}=Jr.toObject(r,{defaults:!1,arrays:!0,longs:Number,objects:!1}),u={...s&&{mode:s},...ik(i)},l=e.Links;switch(r.Type){case F.Raw:return Ny(o);case F.File:return l.length===0?new os(o,u):o.byteLength===0?new is(Cy(a.blocksizes,l),u):new ss(o,Cy(a.blocksizes,l),u);case F.Directory:return as(Ty(l),u);case F.HAMTShard:return Py(Ty(l),o||tu,a.fanout,a.hashType,u);case F.Symlink:return Oy(o,u);default:throw new TypeError(`Unsupported node type ${r.Type}`)}},ik=t=>t==null?void 0:{mtime:{secs:t.Seconds,nsecs:t.FractionalNanoseconds||0}};var Cy=(t,e)=>{let r=[],n=t.length,o=0;for(;o<n;)r.push({cid:e[o].Hash,dagByteLength:e[o].Tsize||0,contentByteLength:t[o]});return r},Ty=t=>t.map(e=>({cid:e.Hash,name:e.Name||"",dagByteLength:e.Tsize||0})),tt=t=>t.reduce((e,r)=>e+r.contentByteLength,0),Yr=(t,e)=>e.reduce((r,n)=>r+n.dagByteLength,t.byteLength),Zn=t=>t.contentByteLength,Hy=({name:t,dagByteLength:e,cid:r})=>({Name:t,Tsize:e,Hash:r}),lu=t=>eo(t,Dy),eo=({mode:t,mtime:e},r=Ly)=>({mode:t!=null?jy(t,r):void 0,mtime:e!=null?sk(e):void 0}),cr=t=>t==null?Ee:{...t.mode==null?void 0:{mode:Vy(t.mode)},...t.mtime==null?void 0:{mtime:t.mtime}},sk=t=>t==null?void 0:t.nsecs!==0?{Seconds:t.secs,FractionalNanoseconds:t.nsecs}:{Seconds:t.secs},jy=(t,e)=>{let r=t==null?void 0:Vy(t);return r===e||r==null?void 0:r},Vy=t=>t&4095|t&4294963200,ak=({content:t=tu,parts:e=Iy,metadata:r=Ee,...n})=>e.length===0?new os(t,r):t.byteLength===0?new is(e,r):new ss(t,e,r),os=class{constructor(e,r){this.content=e,this.metadata=r,this.layout="simple",this.type=F.File}get filesize(){return this.content.byteLength}encode(){return us(this.content,this.metadata)}},is=class{constructor(e,r){this.parts=e,this.metadata=r}get layout(){return"advanced"}get type(){return F.File}get fileSize(){return tt(this.parts)}get blockSizes(){return this.parts.map(Zn)}encode(){return iu(this.parts,this.metadata)}},ss=class{constructor(e,r,n){this.content=e,this.parts=r,this.metadata=n}get layout(){return"complex"}get type(){return F.File}get fileSize(){return this.content.byteLength+tt(this.parts)}get blockSizes(){return this.parts.map(Zn)}encode(){return su(this.content,this.parts,this.metadata)}},ck=t=>{switch(t.type){case F.Raw:case F.Symlink:return t.content.byteLength;case F.File:switch(t.layout){case"simple":return t.content.byteLength;case"advanced":return tt(t.parts);case"complex":return t.content.byteLength+tt(t.parts)}default:return 0}};var uk=function*(t){let e=yield*t;yield*ds(e)};function*yu(){return yield ys}var tn=function*(){yield ms};var fs=function*(t){let e=yield*yu();if(fk(t)){let r=!1,n;if(t.then(o=>{r=!1,n=o,It(e)},o=>{r=!0,n=o,It(e)}),yield*tn(),r)throw n;return n}else return yk(lk(e)),yield*tn(),t};function*lk(t){It(t)}var fk=t=>t!=null&&typeof t.then=="function",ds=function*(t){yield t},hs=function*(t){let e=[];for(let r of Object.entries(t)){let[n,o]=r;o!==no&&e.push(yield*nn(hk(o,n)))}yield*gu(e)},ps=t=>t.length>0?dk(t.map(uk)):no;function*dk(t){let e=[];for(let r of t)e.push(yield*nn(r));yield*gu(e)}var hk=(t,e)=>t===no?no:t instanceof to?new to([...t.tags,e],t.source):new to([e],t),to=class{constructor(e,r){this.tags=e,this.source=r,this.controller}[Symbol.iterator](){return this.controller||(this.controller=this.source[Symbol.iterator]()),this}box(e){if(e.done)return e;switch(e.value){case ms:case ys:return e;default:{let r=e,{value:n}=r;for(let o of this.tags)n=pk(o,n);return r.value=n,r}}}next(e){return this.box(this.controller.next(e))}throw(e){return this.box(this.controller.throw(e))}return(e){return this.box(this.controller.return(e))}get[Symbol.toStringTag](){return"TaggedEffect"}},oo=()=>no;var pk=(t,e)=>({type:t,[t]:e});var ys=Symbol("current"),ms=Symbol("suspend");var dt=class t{static of(e){return e.group||en}static enqueue(e,r){e.group=r,r.stack.active.push(e)}constructor(e,r=[],n=new Set,o=new rn(r,n)){this.driver=e,this.parent=t.of(e),this.stack=o,this.id=++Gy}},fu=class{constructor(){this.status=ro,this.stack=new rn,this.id=0}},rn=class{constructor(e=[],r=new Set){this.active=e,this.idle=r}static size({active:e,idle:r}){return e.length+r.size}},yk=t=>It(t[Symbol.iterator]()),It=t=>{let e=dt.of(t);for(e.stack.active.push(t),e.stack.idle.delete(t);e.parent;){let{idle:r,active:n}=e.parent.stack;if(r.has(e.driver))r.delete(e.driver),n.push(e.driver);else break;e=e.parent}if(en.status===ro)for(en.status=Qy;;)try{for(let r of mu(en));en.status=ro;break}catch{en.stack.active.shift()}},mk=t=>It(t),mu=function*(t){let{active:e}=t.stack,r=e[0];for(t.stack.idle.delete(r);r;){let n=Jy;e:for(;!n.done&&r===e[0];){let o=n.value;switch(o){case ms:t.stack.idle.add(r);break e;case ys:n=r.next(r);break;default:n=r.next(yield o);break}}e.shift(),r=e[0],t.stack.idle.delete(r)}};var nn=(t,e)=>new pu(t,e),gk=(t,e)=>Wy(t,{ok:!0,value:e});var du=(t,e)=>Wy(t,{ok:!1,error:e});function*Wy(t,e){try{let r=t,n=e.ok?r.return(e.value):r.throw(e.error);if(!n.done)if(n.value===ms){let{idle:o}=dt.of(r).stack;o.add(r)}else It(r)}catch{}}function*gu(t){if(t.length===0)return;let e=yield*yu(),r=new dt(e),n=null;for(let o of t){let{result:i}=o;if(i){!i.ok&&!n&&(n=i);continue}wk(o,r)}try{if(n)throw n.error;for(;yield*mu(r),rn.size(r.stack)>0;)yield*tn()}catch(o){for(let i of r.stack.active)yield*du(i,o);for(let i of r.stack.idle)yield*du(i,o),It(i);throw o}}var wk=(t,e)=>{let r=dt.of(t);if(r!==e){let{active:n,idle:o}=r.stack,i=e.stack;if(t.group=e,o.has(t))o.delete(t),i.idle.add(t);else{let s=n.indexOf(t);s>=0&&(n.splice(s,1),i.active.push(t))}}};function*wu(t){t.status===ro&&(yield*t),t.result||(yield*gu([t]));let e=t.result;if(e.ok)return e.value;throw e.error}var hu=class{constructor(e){this.handler=e,this.result}get promise(){let{result:e}=this,r=e==null?new Promise((n,o)=>{this.handler.onsuccess=n,this.handler.onfailure=o}):e.ok?Promise.resolve(e.value):Promise.reject(e.error);return Object.defineProperty(this,"promise",{value:r}),r}then(e,r){return this.activate().promise.then(e,r)}catch(e){return this.activate().promise.catch(e)}finally(e){return this.activate().promise.finally(e)}activate(){return this}},pu=class extends hu{constructor(e,r=bk,n={},o=Jy){super(n),this.id=++Gy,this.name=r.name||"",this.task=e,this.state=o,this.status=ro,this.result,this.handler=n,this.controller}*resume(){mk(this)}join(){return wu(this)}abort(e){return du(this,e)}exit(e){return gk(this,e)}get[Symbol.toStringTag](){return"Fork"}*[Symbol.iterator](){return this.activate()}activate(){return this.controller=this.task[Symbol.iterator](),this.status=Qy,It(this),this}panic(e){this.result={ok:!1,error:e},this.status=qy;let{handler:r}=this;throw r.onfailure&&r.onfailure(e),e}step(e){if(this.state=e,e.done){this.result={ok:!0,value:e.value},this.status=qy;let{handler:r}=this;r.onsuccess&&r.onsuccess(e.value)}return e}next(e){try{return this.step(this.controller.next(e))}catch(r){return this.panic(r)}}return(e){try{return this.step(this.controller.return(e))}catch(r){return this.panic(r)}}throw(e){try{return this.step(this.controller.throw(e))}catch(r){return this.panic(r)}}},Ky=function*(t,e){let r=yield*yu(),n=new dt(r);for(dt.enqueue(t[Symbol.iterator](),n);;){for(let o of mu(n))dt.enqueue(e(o)[Symbol.iterator](),n);if(rn.size(n.stack)>0)yield*tn();else break}},Gy=0,ro="idle",Qy="active",qy="finished",Jy={done:!1,value:ys},bk={},no=function*(){}(),en=new fu;function bu(){}Object.defineProperties(bu,{prototype:{value:new Proxy(Object.prototype,{get(t,e,r){return typeof e=="symbol"?Reflect.get(t,e,r):r.get(e)}})}});var xu=()=>new io;var Yy=(t,e=0,r=t.byteLength)=>{let n=[],o=e<0?t.byteLength-e:e,i=r<0?t.byteLength-r:r;if(o===0&&i>=t.byteLength)return t;if(o>i||o>t.byteLength||i<=0)return xu();let s=0,c=0;for(let a of t.segments){let u=c+a.byteLength;if(s===0){if(i<=u){let l=a.subarray(o-c,i-c);n.push(l),s=l.byteLength;break}else if(o<u){let l=o===c?a:a.subarray(o-c);n.push(l),s=l.byteLength}}else if(i<=u){let l=i===u?a:a.subarray(0,i-c);n.push(l),s+=l.byteLength;break}else n.push(a),s+=a.byteLength;c=u}return new io(n,t.byteOffset+o,s)},xk=(t,e)=>e.byteLength>0?(t.segments.push(e),new io(t.segments,t.byteOffset,t.byteLength+e.byteLength)):t,kk=(t,e)=>{if(e<t.byteLength){let r=0;for(let n of t.segments){if(e<r+n.byteLength)return n[e-r];r+=n.byteLength}}},vk=(t,e,r)=>{let n=r;for(let o of t.segments)e.set(o,n),n+=o.byteLength;return e};function*Ek(t){for(let e of t.segments)yield*e}var io=class extends bu{constructor(e=[],r=0,n=0){super(),this.segments=e,this.byteLength=n,this.length=n,this.byteOffset=r}[Symbol.iterator](){return Ek(this)}slice(e,r){return Yy(this,e,r)}subarray(e,r){return Yy(this,e,r)}push(e){return xk(this,e)}get(e){return kk(this,e)}copyTo(e,r){return vk(this,e,r)}};var so=t=>{throw new Error(t)},Zy=(t,e,...r)=>so(String.raw(t,JSON.stringify(e),...r)),em=new Uint8Array(0),tm=[];var rm=t=>({config:t,buffer:xu()}),nm=(t,e)=>e.byteLength>0?im(t.config,t.buffer.push(e),!1):{...t,chunks:tm},om=t=>im(t.config,t.buffer,!0),im=(t,e,r)=>{let n=t.chunker,o=[],i=0;for(let s of n.cut(n.context,e,r))if(s>0){let c=e.subarray(i,i+s);o.push(c),i+=s}return{config:t,chunks:o,buffer:e.subarray(i)}};var sm=()=>({mutable:!0,needs:{},nodes:{},links:{},linked:Eu});var Su=(t,e)=>{let r=on(e,{});for(let n of t){let{ready:o,has:i,wants:s}=cm(n.children,r.links);s.length===0?r=on(r,{links:vu(void 0,i),linked:[{id:n.id,links:o}]}):r=on(r,{needs:vu(n.id,s),nodes:{[n.id]:{children:n.children,count:s.length}}})}return r},am=(t,e,r)=>{let n=r.needs[t],o=r.nodes[n];if(o!=null)if(o.count===1){let{ready:i,has:s}=cm(o.children,{...r.links,[t]:e});return on(r,{needs:{[t]:void 0},links:vu(void 0,s),nodes:{[n]:void 0},linked:[{id:n,links:i}]})}else return on(r,{needs:{[t]:void 0},links:{[t]:e},nodes:{[n]:{...o,count:o.count-1}}});else return on(r,{links:{[t]:e}})},on=(t,{needs:e,nodes:r,links:n,linked:o})=>{let i=t.mutable?t:{...t},s=t.mutable?Bk:void 0;return e&&(i.needs=ku(t.needs,e,s)),r&&(i.nodes=ku(t.nodes,r,s)),n&&(i.links=ku(t.links,n,s)),i.linked=o?_k(t.linked||Eu,o,Eu):t.linked||[],i},vu=(t,e)=>{let r={};for(let n of e)r[n]=t;return r},ku=(t,e,r=t)=>{let n=t===r?{...t}:t;for(let o of Object.entries(e)){let[i,s]=o;s==null?delete n[i]:n[i]=s}return n};var _k=(t,e,r=t)=>{if(t===r)return[...t,...e];for(let n of e)t.push(n);return t},cm=(t,e)=>{let r=[],n=[],o=[];for(let i of t){let s=e[i];s?(r.push(i),o.push(s)):n.push(i)}return{has:r,wants:n,ready:o}},Eu=Object.freeze([]),Bk=Object.freeze({});var um=(t,e)=>{switch(t.type){case"write":return Tk(e,t.bytes);case"link":return Ik(e,t.link);case"block":return{state:e,effect:oo()};case"close":return Lk(e);case"end":return{state:e,effect:oo()};default:return Zy`File Writer got unknown message ${t}`}},lm=(t,e,r)=>({status:"open",metadata:e,config:r,writer:t,chunker:rm({chunker:r.chunker}),layout:r.fileLayout.open(),nodeQueue:sm()}),Tk=(t,e)=>{if(t.status==="open"){let{chunks:r,...n}=nm(t.chunker,e),{nodes:o,leaves:i,layout:s}=t.config.fileLayout.write(t.layout,r),{linked:c,...a}=Su(o,t.nodeQueue),u=[...fm(i,t.config),...Au(c,t.config)];return{state:{...t,chunker:n,layout:s,nodeQueue:a},effect:hs({link:ps(u)})}}else return so("Unable to perform write on closed file")},Ik=(t,{id:e,link:r,block:n})=>{let{linked:o,...i}=am(e,r,t.nodeQueue),s=Au(o,t.config),c=t.status==="closed"&&e===t.rootID?{...t,status:"linked",link:r,nodeQueue:i}:{...t,nodeQueue:i},a=t.status==="closed"&&e===t.rootID&&t.end?t.end.resume():oo();return{state:c,effect:hs({link:ps(s),block:Uk(t.writer,n),end:a})}},Lk=t=>{if(t.status==="open"){let{chunks:e}=om(t.chunker),{layout:r,...n}=t.config.fileLayout.write(t.layout,e),{root:o,...i}=t.config.fileLayout.close(r,t.metadata),[s,c]=Fk(o)?[[...n.nodes,...i.nodes],[...n.leaves,...i.leaves,o]]:[[...n.nodes,...i.nodes,o],[...n.leaves,...i.leaves]],{linked:a,...u}=Su(s,t.nodeQueue),l=[...fm(c,t.config),...Au(a,t.config)],d=nn(tn());return{state:{...t,chunker:null,layout:null,rootID:o.id,status:"closed",end:d,nodeQueue:u},effect:hs({link:ps(l),end:wu(d)})}}else return{state:t,effect:oo()}},fm=(t,e)=>t.map(r=>Dk(e,r,e.fileChunkEncoder)),Dk=function*({hasher:t,linker:e},{id:r,content:n},o){let i=o.encode(n?Pk(n):em),s=yield*fs(t.digest(i)),c=e.createLink(o.code,s),a={cid:c,bytes:i},u={cid:c,contentByteLength:n?n.byteLength:0,dagByteLength:i.byteLength};return{id:r,block:a,link:u}},Au=(t,e)=>t.map(r=>Nk(e,r)),Nk=function*(t,{id:e,links:r},n){let o=t.fileEncoder.encode({type:F.File,layout:"advanced",parts:r,metadata:n}),i=yield*fs(Promise.resolve(t.hasher.digest(o))),s=t.linker.createLink(t.fileEncoder.code,i),c={bytes:o,cid:s},a={cid:s,contentByteLength:tt(r),dagByteLength:Yr(o,r)};return{id:e,block:c,link:a}},Uk=function*(t,e){(t.desiredSize||0)<=0&&(yield*fs(t.ready)),t.write(e)},Pk=t=>t instanceof Uint8Array?t:t.copyTo(new Uint8Array(t.byteLength),0),Fk=t=>t.children==null;var Bu={};Y(Bu,{context:()=>Ok,cut:()=>hm,name:()=>dm,type:()=>Rk,withMaxChunkSize:()=>_u});var dm="fixed",Ok={maxChunkSize:262144},Rk="Stateless",_u=t=>({type:"Stateless",context:{maxChunkSize:t},name:dm,cut:hm}),hm=({maxChunkSize:t},{byteLength:e},r)=>{let n=e/t|0,o=new Array(n).fill(t),i=r?e-n*t:0;return i>0&&o.push(i),o};var ao=class{constructor(e,r,n){this.id=e,this.children=r,this.metadata=n}},gs=t=>({open:()=>$k({width:t}),write:Hk,close:jk}),zk={width:174},$k=({width:t}=zk)=>({width:t,head:null,leafIndex:[],nodeIndex:[],lastID:0}),Hk=(t,e)=>{if(e.length===0)return{layout:t,nodes:pe,leaves:pe};{let{lastID:r}=t,[n,o]=t.head?[null,(e.unshift(t.head),e)]:e.length===1&&t.leafIndex.length===0?[e[0],pe]:[null,e];if(o.length===0)return{layout:{...t,head:n},nodes:pe,leaves:pe};{let i=[...t.leafIndex],s=[];for(let c of o){let a={id:++r,content:c};s.push(a),i.push(a.id)}return i.length>=t.width?ym({...t,leafIndex:i,head:n,lastID:r},s):{layout:{...t,head:n,leafIndex:i,lastID:r},leaves:s,nodes:pe}}}},ym=(t,e=pe,r=[],n=!1)=>{let{lastID:o}=t,i=t.nodeIndex.map(u=>[...u]),s=[...t.leafIndex],{width:c}=t;for(;s.length>=c||s.length>0&&n;){pm(i,1);let u=new ao(++o,s.splice(0,c));i[0].push(u.id),r.push(u)}let a=0;for(;a<i.length;){let u=i[a];for(a++;u.length>=c||u.length>0&&n&&a<i.length;){let l=new ao(++o,u.splice(0,c));pm(i,a+1),i[a].push(l.id),r.push(l)}}return{layout:{...t,lastID:o,leafIndex:s,nodeIndex:i},leaves:e,nodes:r}},jk=(t,e)=>{let r=t;if(t.head)return{root:{id:1,content:t.head,metadata:e},leaves:pe,nodes:pe};if(t.leafIndex.length===0)return{root:{id:1,metadata:e},leaves:pe,nodes:pe};{let{nodes:n,layout:o}=ym(r,pe,[],!0),{nodeIndex:i}=o,s=i.length-1,c=i[s];if(c.length===1){let a=n[n.length-1];return n.length=n.length-1,{root:a,nodes:n,leaves:pe}}else return{root:new ao(o.lastID+1,c,e),nodes:n,leaves:pe}}},pm=(t,e)=>{for(;t.length<e;)t.push([]);return t},pe=[];var Lt=()=>({chunker:Bu,fileChunkEncoder:Cu,smallFileEncoder:Cu,fileEncoder:Zr,fileLayout:gs(174),hasher:ut,linker:{createLink:j.createV1}}),Dt=t=>({...Lt(),...t}),Cu={code:Xr,name:ru,encode:ou};var co=({writer:t,metadata:e={},settings:r=Lt()})=>new Tu(lm(t,e,Dt(r))),mm=async(t,e)=>(await wm(t,ds({type:"write",bytes:e})),t),gm=async(t,{releaseLock:e=!1,closeWriter:r=!1}={})=>{await wm(t,ds({type:"close"}));let{state:n}=t;if(n.status==="linked")return r?await t.state.writer.close():e&&t.state.writer.releaseLock(),n.link;so(`Expected writer to be in 'linked' state after close, but it is in "${n.status}" instead`)},wm=(t,e)=>nn(Ky(e,r=>{let{state:n,effect:o}=um(r,t.state);return t.state=n,o})),Tu=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.config}write(e){return mm(this,e)}close(e){return gm(this,e)}};var qk=Lt,Lu=({writer:t,settings:e=qk(),metadata:r={}})=>new ws({writer:t,metadata:r,settings:e,entries:new Map,closed:!1}),bs=(t,e,r,{overwrite:n=!1}={})=>{let o=Du(t.state);if(e.includes("/"))throw new Error(`Directory entry name "${e}" contains forbidden "/" character`);if(!n&&o.entries.has(e))throw new Error(`Directory already contains entry with name "${e}"`);return o.entries.set(e,r),t},xs=(t,e)=>(Du(t.state).entries.delete(e),t),Du=t=>{if(t.closed)throw new Error("Can not change written directory, but you can .fork() and make changes to it");return t},bm=async(t,{closeWriter:e=!1,releaseLock:r=!1}={})=>{let{writer:n,settings:o,metadata:i}=Du(t.state);t.state.closed=!0;let s=[...xm(t)],c=as(s,i),a=ls(c),u=await o.hasher.digest(a),l=o.linker.createLink(Xr,u);return(n.desiredSize||0)<=0&&await n.ready,n.write({cid:l,bytes:a}),e?await n.close():r&&n.releaseLock(),{cid:l,dagByteLength:Yr(a,s)}},xm=function*({state:t}){for(let[e,{dagByteLength:r,cid:n}]of t.entries)yield{name:e,dagByteLength:r,cid:n}},km=({state:t},{writer:e=t.writer,metadata:r=t.metadata,settings:n=t.settings}={})=>new ws({writer:e,metadata:r,settings:n,entries:new Map(t.entries.entries()),closed:!1}),ws=class{constructor(e){this.state=e}get writer(){return this.state.writer}get settings(){return this.state.settings}links(){return xm(this)}set(e,r,n){return bs(this,e,r,n)}remove(e){return xs(this,e)}fork(e){return km(this,e)}close(e){return bm(this,e)}entries(){return this.state.entries.entries()}has(e){return this.state.entries.has(e)}get size(){return this.state.entries.size}};var Es={};Y(Es,{API:()=>ks,and:()=>Zk,bitCount:()=>vs,empty:()=>vm,from:()=>Kk,fromBytes:()=>r2,get:()=>Yk,or:()=>e2,popcount:()=>Nu,set:()=>Em,size:()=>Gk,toBytes:()=>t2,unset:()=>Xk});var ks={};var vm=(t=32)=>{if(t!==32)throw new Error(`Uint32 BitField does not support size: ${t}`);return 0},Kk=(t,e)=>{let r=vm(e);for(let n of t)r=Em(r,n);return r},Gk=t=>32,Qk=(t,e)=>t>>>e&31,Jk=(t,e)=>1<<Qk(t,e),Nu=(t,e=31)=>vs(t&Jk(e,0)-1),Em=(t,e)=>t|1<<e,Xk=(t,e)=>t&(255^1<<e),Yk=(t,e)=>(t>>e&1)!==0,vs=t=>{let e=t-(t>>1&1431655765),r=(e&858993459)+(e>>2&858993459);return(r+(r>>4)&252645135)*16843009>>24},Zk=(t,e)=>t&e,e2=(t,e)=>t|e,t2=t=>Uint8Array.of(t>>24&255,t>>16&255,t>>8&255,t&255),r2=t=>{if(t.length!==4)throw new Error(`Expected 4 bytes instead got ${t.length}`);return(t[0]<<24)+(t[1]<<16)+(t[2]<<8)+t[3]};var _m=W(Uu(),1),n2=new TextEncoder,o2=_m.default.x64.hash126,Bm=({bitWidth:t=5,hash:e=o2})=>{if(t>4*8)throw new RangeError(`Can not use bitWidth ${t} which exceeds the hashSize 4`);if(4*8>32)throw new RangeError("Can not use hashSize 4 as it can not be encoded in Uint32");let n=4294967295>>>32-t;return{at:(s,c)=>s>>>c*t&n,from:s=>e(n2.encode(s)),size:Math.ceil(4*8/t)}};var sn=class{constructor(e,r,n,o,i){this.edit=e,this.config=i,this.datamap=r,this.nodemap=n,this.children=o}get nodeArity(){return this.config.BitField.popcount(this.nodemap)}get dataArity(){return this.config.BitField.popcount(this.datamap)}empty(){return lo(this.config)}lookup(e,r,n,o){return Tm(this,e,r,n,o)}associate(e,r,n,o,i,s){return Mu(this,e,r,n,o,i,s)}dissociate(e,r,n,o,i){return Im(this,e,r,n,o,i)}fork(e=null){return fo(this,e)}entries(){return Lm(this)}keys(){return Dm(this)}values(){return Nm(this)}},As=class{constructor(e,r,n,o){this.edit=e,this.count=r,this.children=n,this.config=o}get nodeArity(){return 0}get dataArity(){return this.count}lookup(e,r,n,o){return i2(this,n,o)}associate(e,r,n,o,i,s){return s2(this,e,n,o,i,s)}dissociate(e,r,n,o,i){return a2(this,e,n,o,i)}fork(e=null){return c2(this,e)}entries(){return Lm(this)}keys(){return Dm(this)}values(){return Nm(this)}},i2=(t,e,r)=>{let{children:n,count:o}=t,i=Pu(n,o,e);return n[i]===e?n[i+1]:r},s2=(t,e,r,n,o,i)=>{let{children:s,count:c}=t,a=Pu(s,c,n);if(s[a]!==n){let u=t.fork(e);return i.value=!0,u.count+=1,u.children.splice(a,r,o),u}else if(s[a+1]!==o){let u=t.fork(e);return u.children[a+1]=o,u}else return t},a2=(t,e,r,n,o)=>{let{children:i,count:s,config:c}=t,a=Pu(i,s,n);if(i[a]!==n)return t;if(o.value=!0,s===2){let u=a===0?2:0;return Mu(lo(c),e,0,r,i[u],i[u+1],o)}else{let u=t.fork(e);return u.children.splice(a,2),u.count-=1,u}},c2=(t,e=null)=>Mm(t.edit,e)?t:new As(e,t.count,t.children.slice(),t.config),Pu=(t,e,r)=>{let n=0;for(;n<e&&t[n]>r;)n+=2;return n};var lo=(t,e=null)=>new sn(e,t.BitField.empty(Math.pow(2,t.bitWidth)),t.BitField.empty(Math.pow(2,t.bitWidth)),[],t),Bs=(t,e,r)=>Tm(t,0,t.config.Path.from(e),e,r),Tm=(t,e,r,n,o)=>{let{datamap:i,nodemap:s,config:c}=t,{Path:a,BitField:u}=c,l=a.at(r,e);if(u.get(i,l)){let d=u.popcount(i,l);return Cs(t,d)===n?_s(t,d):o}else return u.get(s,l)?Ts(t,l).lookup(e+1,r,n,o):o},Fu=(t,e,r,n,o)=>Mu(t,e,0,t.config.Path.from(r),r,n,o),Mu=(t,e,r,n,o,i,s)=>{let{datamap:c,nodemap:a,config:u}=t,{Path:l,BitField:d}=u,m=l.at(n,r);if(d.get(c,m)){let f=d.popcount(c,m),h=Cs(t,f);if(o===h)return _s(t,f)===i?t:u2(t,e,f,i);{let p=Pm(u,e,r+1,l.from(h),h,_s(t,f),n,o,i);return s.value=!0,f2(t,e,m,p)}}else if(d.get(a,m)){let f=Ts(t,m),h=f.associate(e,r+1,n,o,i,s);return f===h?t:Um(t,e,m,h)}else{let f=d.popcount(c,m);s.value=!0;let h=t.fork(e);return h.datamap=d.set(c,m),h.children.splice(ho(f),0,o,i),h}},Ou=(t,e,r,n)=>Im(t,e,0,t.config.Path.from(r),r,n);var Im=(t,e,r,n,o,i)=>{let{datamap:s,nodemap:c,config:a}=t,{BitField:u,Path:l}=a,d=l.at(n,r);if(u.get(s,d)){let m=u.popcount(s,d);if(o===Cs(t,m)){i.value=!0;let f=fo(t,e);return f.datamap=u.unset(t.datamap,d),f.children.splice(ho(m),2),f}else return t}else if(u.get(c,d)){let m=Ts(t,d),f=m.dissociate(e,r+1,n,o,i);return d2(f)?h2(t)?f:l2(t,e,d,f):m===f?t:Um(t,e,d,f)}else return t},Lm=function*({children:t}){let e=0,r=t.length;for(;e<r;){let n=t[e];if(typeof n=="string"){e+=1;let o=t[e];yield[n,o],e+=1}else break}for(;e<r;)yield*t[e].entries(),e+=1},fo=(t,e)=>Mm(t.edit,e)?t:new sn(e,t.datamap,t.nodemap,t.children.slice(),t.config),Dm=function*({children:t}){let e=0,r=t.length;for(;e<r;){let n=t[e];if(typeof n=="string")yield n,e+=2;else break}for(;e<r;)yield*t[e].keys(),e+=1},Nm=function*({children:t}){let e=0,r=t.length;for(;e<r&&typeof t[e]=="string";)e+=1,yield t[e],e+=1;for(;e<r;)yield*t[e].values(),e+=1},u2=(t,e,r,n)=>{let o=t.fork(e);return o.children[Fm(r)]=n,o},l2=(t,e,r,n)=>{let{datamap:o,nodemap:i,config:s}=t,{BitField:c}=s,a=fo(t,e);return a.children.splice(Is(t,r),1),a.children.splice(ho(c.popcount(o,r)),0,n.children[0],n.children[1]),a.datamap=c.set(o,r),a.nodemap=c.unset(i,r),a},Um=(t,e,r,n)=>{let o=fo(t,e);return o.children[Is(t,r)]=n,o},f2=(t,e,r,n)=>{let{nodemap:o,datamap:i,config:s}=t,{BitField:c}=s,a=c.popcount(i,r),u=ho(a),l=Is(t,r),d=fo(t,e);return d.datamap=c.unset(i,r),d.children.splice(u,2),d.nodemap=c.set(o,r),d.children.splice(l-1,0,n),d},Pm=(t,e,r,n,o,i,s,c,a)=>{let{BitField:u,Path:l}=t;if(l.size<r)return new As(e,2,[o,i,c,a],t);{let d=l.at(n,r),m=l.at(s,r);return d===m?new sn(e,u.empty(Math.pow(2,t.bitWidth)),u.from([d],Math.pow(2,t.bitWidth)),[Pm(t,e,r+1,n,o,i,s,c,a)],t):new sn(e,u.from([d,m],Math.pow(2,t.bitWidth)),u.empty(Math.pow(2,t.bitWidth)),d<m?[o,i,c,a]:[c,a,o,i],t)}},Cs=({children:t},e)=>t[ho(e)],ho=t=>t*2,_s=({children:t},e)=>t[Fm(e)],Fm=t=>t*2+1,Ts=(t,e)=>t.children[Is(t,e)],Is=({children:t,nodemap:e,config:r},n)=>t.length-1-r.BitField.popcount(e,n),Mm=(t,e)=>t!=null&&t===e,d2=t=>t.nodeArity===0&&t.dataArity===1,h2=({config:{BitField:t},datamap:e,nodemap:r})=>t.popcount(e)===0&&t.popcount(r)===1;var Ls=W(Uu(),1);function p2(t){let e=new Array(4);for(let r=0;r<4;r++)e[r]=t&255,t=t>>8;return new Uint8Array(e)}var V3=Wt({name:"murmur3-32",code:35,encode:t=>p2(Ls.default.x86.hash32(t))}),Rm=Wt({name:"murmur3-128",code:34,encode:t=>$t.fromHex(Ls.default.x64.hash128(t))}),po=Wt({name:"murmur3-x64-64",code:34,encode:t=>$t.fromHex(Ls.default.x64.hash128(t)).subarray(0,8)});var y2=new TextEncoder,m2=t=>po.encode(t),zm=({bitWidth:t=8,hash:e=m2}={})=>{let r=e(new Uint8Array).byteLength;return{from:i=>e(y2.encode(i)),at:(i,s)=>{let c=s*t;if(c>r)throw new RangeError("Out of bounds");return Ru(i,c,t)},size:Math.ceil(r*8/t)}},Ru=(t,e,r)=>{let n=e/8|0,o=e%8,i=r,s=0;for(;i>0&&n<t.byteLength;){let c=t[n],a=8-o,u=a<i?a:i,l=8-o-u,m=(255>>o&c)>>l;s=(s<<u)+m,i-=u,n++,o=0}return s};var zu={};Y(zu,{API:()=>ks,and:()=>B2,empty:()=>$m,from:()=>w2,fromBytes:()=>S2,get:()=>v2,or:()=>_2,popcount:()=>A2,set:()=>x2,size:()=>b2,toBytes:()=>E2,unset:()=>k2});var $m=(t=256)=>{if(t%8!==0)throw new Error("Must be multiple of 8");return new Uint8Array(t/8)},w2=(t,e)=>{let r=$m(e);for(let n of t){let{byte:o,byteOffset:i,bitOffset:s}=yo(r,n);r[i]=o|1<<s}return r},b2=t=>t.byteLength*8,yo=(t,e)=>{let r=t.byteLength-1-(e/8|0),n=e%8;return{byte:t[r],byteOffset:r,bitOffset:n}},Hm=(t,e,r)=>{if(t[e]!==r){let n=t.slice(0);return n[e]=r,n}return t},x2=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=yo(t,e);return Hm(t,n,r|1<<o)},k2=(t,e)=>{let{byte:r,byteOffset:n,bitOffset:o}=yo(t,e);return Hm(t,n,r&(255^1<<o))},v2=(t,e)=>{var{byte:r,bitOffset:n}=yo(t,e);return(r>>n&1)!==0},E2=t=>t,S2=t=>t,A2=(t,e=t.byteLength*8)=>{let{byteOffset:r,bitOffset:n,byte:o}=yo(t,e),i=Nu(o,n),s=t.byteLength-1;for(;s>r;){let c=t[s];i+=vs(c),s--}return i},_2=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]|=e[n],n++;return r},B2=(t,e)=>{let r=t.slice(),n=0;for(;n<t.length;)r[n]&=e[n],n++;return r};var jm=new RangeError("Not Found");var C2=({bitWidth:t=5,BitField:e=t===5?Es:zu,Path:r=t===5?Bm({bitWidth:t}):zm({bitWidth:t})}={})=>({bitWidth:t,BitField:e,Path:r});var Hu=(t,e)=>Bs(t.root,e,jm)!==jm,Vm=(t,e,r=void 0)=>Bs(t.root,e,r),qm=t=>{let e={},r=C2(t);return new Ds(e,0,lo(r,e),r)},$u=class t{constructor(e=0,r,n){this.count=e,this.root=r,this.config=n}get size(){return this.count}clone(){return new t(this.count,this.root,this.config)}empty(){return new t(0,lo(this.config,null),this.config)}has(e){return Hu(this,e)}get(e){return Bs(this.root,e,void 0)}set(e,r){let n={value:!1},o=Fu(this.root,null,e,r,n);return o===this.root?this:new t(n.value?this.count+1:this.count,o,this.config)}delete(e){let r=Ou(this.root,null,e,{value:!1});return r===this.root?this:new t(this.count-1,r,this.config)}get bitField(){return this.config.BitField.or(this.root.datamap,this.root.nodemap)}[Symbol.iterator](){return this.entries()}entries(){return this.root.entries()}keys(){return this.root.keys()}values(){return this.root.values()}createBuilder(){return new Ds({},this.count,this.root,this.config)}},Ds=class{constructor(e,r,n,o){this.edit=e,this.count=r,this.root=n,this.config=o}get size(){if(this.edit)return this.count;throw new Error(".size was accessed on the finalized builder")}set(e,r){if(this.edit){let n={value:!1},o=Fu(this.root,this.edit,e,r,n);return this.root!==o&&(this.root=o),n.value&&(this.count+=1),this}else throw new Error(".set was called on the finalized builder")}delete(e){if(this.edit){if(this.count===0)return this;let r={value:!1},n=Ou(this.root,this.edit,e,r);return n!==this.root&&(this.root=n),r.value&&(this.count-=1),this}else throw new Error(".delete was called on the finalized builder")}build(){if(this.edit)return this.edit=null,new $u(this.count,this.root,this.config);throw new Error(".build was called on the finalized builder")}};var T2=new TextEncoder,I2=t=>po.encode(t),Km=({bitWidth:t=8,hash:e=I2})=>{let r=e(new Uint8Array).byteLength,n={bitWidth:t,hash:e,hashSize:r};return{at:(s,c)=>L2(s,c,n),from:s=>T2.encode(s),size:1/0}},L2=(t,e=0,{bitWidth:r=8,hash:n,hashSize:o})=>{let i=o*8,s=0,c=r,a=r*e;for(;c>0;){let u=a/i>>0,l=n(u===0?t:D2(t,u)),d=i<=a?a%i:a,m=i-d,f=m<c?m:c;s=(s<<f)+Ru(l,d,f),c-=f,a+=f}return s},D2=(t,e)=>{let r=new Uint8Array(t.byteLength+1).fill(e,t.byteLength);return r.set(t),r};var Gm=8,U2={bitWidth:Gm,Path:Km({bitWidth:Gm})};var ju=(t=U2)=>qm(t);var Qm=class extends Map{constructor(e=ju()){super(),this.builder=e}clear(){this.builder=ju()}delete(e){let{root:r}=this.builder;return this.builder.delete(e),this.builder.root!==r}forEach(e,r=this){for(let[n,o]of this.builder.root.entries())e.call(r,o,n,this)}get(e){return Vm(this.builder,e)}has(e){return Hu(this.builder,e)}set(e,r){return this.builder.set(e,r),this}get size(){return this.builder.size}[Symbol.iterator](){return this.builder.root.entries()}entries(){return this.builder.root.entries()}keys(){return this.builder.root.keys()}values(){return this.builder.root.values()}};var Jm=({writable:t,settings:e=Lt()})=>new Vu({writer:t.getWriter(),settings:e}),F2=async(t,{releaseLock:e=!0,closeWriter:r=!0}={})=>(r?await t.writer.close():e&&t.writer.releaseLock(),t),Vu=class{constructor({writer:e,settings:r}){this.writer=e,this.settings=Dt(r)}createFileWriter({settings:e=this.settings,metadata:r}={}){return co({writer:this.writer,settings:e,metadata:r})}createDirectoryWriter({settings:e=this.settings,metadata:r}={}){return Lu({writer:this.writer,settings:e,metadata:r})}close(e){return F2(this,e)}},M2=1048576,O2=M2*100,Xm=(t=O2)=>({highWaterMark:t,size:e=>e.bytes.length});var Js=W(rt(),1);function $2(t){return t[Symbol.asyncIterator]!=null}function H2(t){if($2(t))return(async()=>{let r;for await(let n of t)r=n;return r})();let e;for(let r of t)e=r;return e}var eg=H2;var rw=W(rt(),1);var tg=0,j2="identity",rg=Te,V2=t=>Ht(tg,rg(t)),ng={code:tg,name:j2,encode:rg,digest:V2};var og=W(rt(),1);var q2=async(t,e,r,n,o,i,s,c)=>{let a=await s.get(t,c),u=Tr(a),l=u,d=r;for(;n.length>0;){let m=n[0];if(m in l){n.shift(),d=`${d}/${m}`;let f=V.asCID(l[m]);if(f!=null)return{entry:{type:"object",name:e,path:r,cid:t,node:a,depth:i,size:BigInt(a.length),content:async function*(){yield u}},next:{cid:f,name:m,path:d,toResolve:n}};l=l[m]}else throw(0,og.default)(new Error(`No property named ${m} found in cbor node ${t}`),"ERR_NO_PROP")}return{entry:{type:"object",name:e,path:r,cid:t,node:a,depth:i,size:BigInt(a.length),content:async function*(){yield u}}}},ig=q2;var sg=W(rt(),1);var ce=class extends Event{constructor(e,r){super(e),this.detail=r}};function W2(t,e,r,n){let o=BigInt(t.length),i=BigInt(e+o);return r>=i||n<e?new Uint8Array(0):(n>=e&&n<i&&(t=t.subarray(0,Number(n-e))),r>=e&&r<i&&(t=t.subarray(Number(r-e))),t)}var ur=W2;var mo=W(rt(),1),K2=(t,e=0,r=t)=>{let n=BigInt(t),o=BigInt(e??0),i=BigInt(r);if(i!==n&&(i=o+i),i>n&&(i=n),o<0n)throw(0,mo.default)(new Error("Offset must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(o>n)throw(0,mo.default)(new Error("Offset must be less than the file size"),"ERR_INVALID_PARAMS");if(i<0n)throw(0,mo.default)(new Error("Length must be greater than or equal to 0"),"ERR_INVALID_PARAMS");if(i>n)throw(0,mo.default)(new Error("Length must be less than the file size"),"ERR_INVALID_PARAMS");return{start:o,end:i}},an=K2;var G2=t=>{async function*e(r={}){let{start:n,end:o}=an(t.length,r.offset,r.length),i=ur(t,0n,n,o);r.onProgress?.(new ce("unixfs:exporter:progress:identity",{bytesRead:BigInt(i.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield i}return e},Q2=async(t,e,r,n,o,i,s,c)=>{if(n.length>0)throw(0,sg.default)(new Error(`No link named ${r} found in raw node ${t}`),"ERR_NOT_FOUND");let a=Xo(t.multihash.bytes);return{entry:{type:"identity",name:e,path:r,cid:t,content:G2(a.digest),depth:i,size:BigInt(a.digest.length),node:a.digest}}},ag=Q2;var cg=W(rt(),1);var J2=t=>{async function*e(r={}){let{start:n,end:o}=an(t.length,r.offset,r.length),i=ur(t,0n,n,o);r.onProgress?.(new ce("unixfs:exporter:progress:raw",{bytesRead:BigInt(i.byteLength),totalBytes:o-n,fileSize:BigInt(t.byteLength)})),yield i}return e},X2=async(t,e,r,n,o,i,s,c)=>{if(n.length>0)throw(0,cg.default)(new Error(`No link named ${r} found in raw node ${t}`),"ERR_NOT_FOUND");let a=await s.get(t,c);return{entry:{type:"raw",name:e,path:r,cid:t,content:J2(a),depth:i,size:BigInt(a.length),node:a}}},ug=X2;var To=W(rt(),1);var Ju=W(rt(),1);var qu=W(ns(),1),lg=W(Yc(),1),fg=W(lt(),1),Wu=W(ts(),1),dg=W(Qc(),1);function Y2(){fg.default._configure(),qu.default._configure(lg.default),Wu.default._configure(dg.default)}Y2();var hg=["uint64","int64","sint64","fixed64","sfixed64"];function Z2(t){for(let e of hg){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function Ku(t){return Z2(new qu.default(t))}function ev(t){for(let e of hg){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Gu(){return ev(Wu.default.create())}function go(t,e){let r=Ku(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function wo(t,e){let r=Gu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var cn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(cn||(cn={}));function Ns(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Qu(t){function e(o){if(t[o.toString()]==null)throw new Error("Invalid enum value");return t[o]}let r=function(i,s){let c=e(i);s.int32(c)},n=function(i){let s=i.int32();return e(s)};return Ns("enum",cn.VARINT,r,n)}function bo(t,e){return Ns("message",cn.LENGTH_DELIMITED,t,e)}var ze;(function(t){let e;(function(o){o.Raw="Raw",o.Directory="Directory",o.File="File",o.Metadata="Metadata",o.Symlink="Symlink",o.HAMTShard="HAMTShard"})(e=t.DataType||(t.DataType={}));let r;(function(o){o[o.Raw=0]="Raw",o[o.Directory=1]="Directory",o[o.File=2]="File",o[o.Metadata=3]="Metadata",o[o.Symlink=4]="Symlink",o[o.HAMTShard=5]="HAMTShard"})(r||(r={})),function(o){o.codec=()=>Qu(r)}(e=t.DataType||(t.DataType={}));let n;t.codec=()=>(n==null&&(n=bo((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.Type!=null&&(i.uint32(8),t.DataType.codec().encode(o.Type,i)),o.Data!=null&&(i.uint32(18),i.bytes(o.Data)),o.filesize!=null&&(i.uint32(24),i.uint64(o.filesize)),o.blocksizes!=null)for(let c of o.blocksizes)i.uint32(32),i.uint64(c);o.hashType!=null&&(i.uint32(40),i.uint64(o.hashType)),o.fanout!=null&&(i.uint32(48),i.uint64(o.fanout)),o.mode!=null&&(i.uint32(56),i.uint32(o.mode)),o.mtime!=null&&(i.uint32(66),Us.codec().encode(o.mtime,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={blocksizes:[]},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.Type=t.DataType.codec().decode(o);break;case 2:s.Data=o.bytes();break;case 3:s.filesize=o.uint64();break;case 4:s.blocksizes.push(o.uint64());break;case 5:s.hashType=o.uint64();break;case 6:s.fanout=o.uint64();break;case 7:s.mode=o.uint32();break;case 8:s.mtime=Us.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),t.encode=o=>wo(o,t.codec()),t.decode=o=>go(o,t.codec())})(ze||(ze={}));var Us;(function(t){let e;t.codec=()=>(e==null&&(e=bo((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Seconds!=null&&(n.uint32(8),n.int64(r.Seconds)),r.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(r.FractionalNanoseconds)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.Seconds=r.int64();break;case 2:o.FractionalNanoseconds=r.fixed32();break;default:r.skipType(s&7);break}}return o})),e),t.encode=r=>wo(r,t.codec()),t.decode=r=>go(r,t.codec())})(Us||(Us={}));var pg;(function(t){let e;t.codec=()=>(e==null&&(e=bo((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.MimeType!=null&&(n.uint32(10),n.string(r.MimeType)),o.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let o={},i=n==null?r.len:r.pos+n;for(;r.pos<i;){let s=r.uint32();switch(s>>>3){case 1:o.MimeType=r.string();break;default:r.skipType(s&7);break}}return o})),e),t.encode=r=>wo(r,t.codec()),t.decode=r=>go(r,t.codec())})(pg||(pg={}));var yg={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},tv=["directory","hamt-sharded-directory"],mg=parseInt("0644",8),gg=parseInt("0755",8),un=class t{constructor(e={type:"file"}){k(this,"type");k(this,"data");k(this,"blockSizes");k(this,"hashType");k(this,"fanout");k(this,"mtime");k(this,"_mode");k(this,"_originalMode");let{type:r,data:n,blockSizes:o,hashType:i,fanout:s,mtime:c,mode:a}=e;if(r!=null&&!Object.values(yg).includes(r))throw(0,Ju.default)(new Error("Type: "+r+" is not valid"),"ERR_INVALID_TYPE");this.type=r??"file",this.data=n,this.hashType=i,this.fanout=s,this.blockSizes=o??[],this._originalMode=0,this.mode=a,this.mtime=c}static unmarshal(e){let r=ze.decode(e),n=new t({type:yg[r.Type!=null?r.Type.toString():"File"],data:r.Data,blockSizes:r.blocksizes,mode:r.mode,mtime:r.mtime!=null?{secs:r.mtime.Seconds??0n,nsecs:r.mtime.FractionalNanoseconds}:void 0});return n._originalMode=r.mode??0,n}set mode(e){e==null?this._mode=this.isDirectory()?gg:mg:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return tv.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(r=>{e+=r}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=ze.DataType.Raw;break;case"directory":e=ze.DataType.Directory;break;case"file":e=ze.DataType.File;break;case"metadata":e=ze.DataType.Metadata;break;case"symlink":e=ze.DataType.Symlink;break;case"hamt-sharded-directory":e=ze.DataType.HAMTShard;break;default:throw(0,Ju.default)(new Error(`Type: ${e} is not valid`),"ERR_INVALID_TYPE")}let r=this.data;(this.data==null||this.data.length===0)&&(r=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===mg&&!this.isDirectory()&&(n=void 0),n===gg&&this.isDirectory()&&(n=void 0));let o;return this.mtime!=null&&(o={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),ze.encode({Type:e,Data:r,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:o})}};var Cg=W(xg(),1);var Xu={};Y(Xu,{identity:()=>iv});var iv=br({prefix:"\0",name:"identity",encode:t=>Ll(t),decode:t=>Il(t)});var Yu={};Y(Yu,{base2:()=>sv});var sv=G({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Zu={};Y(Zu,{base8:()=>av});var av=G({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var el={};Y(el,{base10:()=>cv});var cv=yt({prefix:"9",name:"base10",alphabet:"0123456789"});var tl={};Y(tl,{base16:()=>uv,base16upper:()=>lv});var uv=G({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),lv=G({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var rl={};Y(rl,{base36:()=>fv,base36upper:()=>dv});var fv=yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),dv=yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var nl={};Y(nl,{base64:()=>hv,base64pad:()=>pv,base64url:()=>yv,base64urlpad:()=>mv});var hv=G({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),pv=G({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),yv=G({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),mv=G({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ol={};Y(ol,{base256emoji:()=>kv});var kg=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),gv=kg.reduce((t,e,r)=>(t[r]=e,t),[]),wv=kg.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function bv(t){return t.reduce((e,r)=>(e+=gv[r],e),"")}function xv(t){let e=[];for(let r of t){let n=wv[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var kv=br({prefix:"\u{1F680}",name:"base256emoji",encode:bv,decode:xv});var il={};Y(il,{identity:()=>Sv});var vg=0,vv="identity",Eg=ot,Ev=t=>Pt(vg,Eg(t)),Sv={code:vg,name:vv,encode:Eg,digest:Ev};var xT=new TextEncoder,kT=new TextDecoder;var sl={...Xu,...Yu,...Zu,...el,...tl,...ua,...rl,...ca,...nl,...ol},ET={...Dc,...il};function ln(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Ps(t=0){return globalThis.Buffer?.allocUnsafe!=null?ln(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Ag(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Sg=Ag("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),al=Ag("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ps(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Bv={utf8:Sg,"utf-8":Sg,hex:sl.base16,latin1:al,ascii:al,binary:al,...sl},_g=Bv;function Bg(t,e="utf8"){let r=_g[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ln(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var lr=class t{constructor(e,r,n=0){this._options=e,this._popCount=0,this._parent=r,this._posAtParent=n,this._children=new Cg.default,this.key=null}async put(e,r){let n=await this._findNewBucketAndPos(e);await n.bucket._putAt(n,e,r)}async get(e){let r=await this._findChild(e);if(r!=null)return r.value}async del(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);n!=null&&n.key===e&&r.bucket._delAt(r.pos)}leafCount(){return this._children.compactArray().reduce((r,n)=>n instanceof t?r+n.leafCount():r+1,0)}childrenCount(){return this._children.length}onlyChild(){return this._children.get(0)}*eachLeafSeries(){let e=this._children.compactArray();for(let r of e)r instanceof t?yield*r.eachLeafSeries():yield r}serialize(e,r){let n=[];return r(this._children.reduce((o,i,s)=>(i!=null&&(i instanceof t?o.push(i.serialize(e,r)):o.push(e(i,s))),o),n))}async asyncTransform(e,r){return await Tg(this,e,r)}toJSON(){return this.serialize(Tv,Iv)}prettyPrint(){return JSON.stringify(this.toJSON(),null," ")}tableSize(){return Math.pow(2,this._options.bits)}async _findChild(e){let r=await this._findPlace(e),n=r.bucket._at(r.pos);if(!(n instanceof t)&&n!=null&&n.key===e)return n}async _findPlace(e){let r=this._options.hash(typeof e=="string"?Bg(e):e),n=await r.take(this._options.bits),o=this._children.get(n);return o instanceof t?await o._findPlace(r):{bucket:this,pos:n,hash:r,existingChild:o}}async _findNewBucketAndPos(e){let r=await this._findPlace(e);if(r.existingChild!=null&&r.existingChild.key!==e){let n=new t(this._options,r.bucket,r.pos);r.bucket._putObjectAt(r.pos,n);let o=await n._findPlace(r.existingChild.hash);return o.bucket._putAt(o,r.existingChild.key,r.existingChild.value),await n._findNewBucketAndPos(r.hash)}return r}_putAt(e,r,n){this._putObjectAt(e.pos,{key:r,value:n,hash:e.hash})}_putObjectAt(e,r){this._children.get(e)==null&&this._popCount++,this._children.set(e,r)}_delAt(e){if(e===-1)throw new Error("Invalid position");this._children.get(e)!=null&&this._popCount--,this._children.unset(e),this._level()}_level(){if(this._parent!=null&&this._popCount<=1)if(this._popCount===1){let e=this._children.find(Cv);if(e!=null&&!(e instanceof t)){let r=e.hash;r.untake(this._options.bits);let n={pos:this._posAtParent,hash:r,bucket:this._parent};this._parent._putAt(n,e.key,e.value)}}else this._parent._delAt(this._posAtParent)}_at(e){return this._children.get(e)}};function Cv(t){return!!t}function Tv(t,e){return t.key}function Iv(t){return t}async function Tg(t,e,r){let n=[];for(let o of t._children.compactArray())if(o instanceof lr)await Tg(o,e,r);else{let i=await e(o);n.push({bitField:t._children.bitField(),children:i})}return await r(n)}var Lv=[255,254,252,248,240,224,192,128],Dv=[1,3,7,15,31,63,127,255],Fs=class{constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let r=e,n=0;for(;r>0&&this._haveBits();){let o=this._value[this._currentBytePos],i=this._currentBitPos+1,s=Math.min(i,r),c=Nv(o,i-s,s);n=(n<<s)+c,r-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Nv(t,e,r){let n=Uv(e,r);return(t&n)>>>e}function Uv(t,e){return Lv[t]&Dv[Math.min(e+t-1,7)]}function Ig(t,e){e==null&&(e=t.reduce((o,i)=>o+i.length,0));let r=Ps(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return ln(r)}function Lg(t){function e(r){return r instanceof Ms?r:new Ms(r,t)}return e}var Ms=class{constructor(e,r){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=r,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let r=e;for(;this._availableBits<r;)await this._produceMoreBits();let n=0;for(;r>0;){let o=this._buffers[this._currentBufferIndex],i=Math.min(o.availableBits(),r),s=o.take(i);n=(n<<i)+s,r-=i,this._availableBits-=i,o.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let r=e;for(;r>0;){let n=this._buffers[this._currentBufferIndex],o=Math.min(n.totalBits()-n.availableBits(),r);n.untake(o),r-=o,this._availableBits+=o,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?Ig([this._value,Uint8Array.from([this._depth])]):this._value,r=await this._hashFn(e),n=new Fs(r);this._buffers.push(n),this._availableBits+=n.availableBits()}};function Dg(t){if(t==null||t.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:t.bits??8,hash:Lg(t.hashFn)};return new lr(e)}var Pv=async function(t){return(await Rm.encode(t)).slice(0,8).reverse()},Fv=async(t,e,r)=>{await Promise.all(t.map(async n=>{if(n.Name==null)throw new Error("Unexpected Link without a Name");if(n.Name.length===2){let o=parseInt(n.Name,16);e._putObjectAt(o,new lr({hash:r._options.hash,bits:r._options.bits},e,o));return}await r.put(n.Name.substring(2),!0)}))},Ng=t=>t.toString(16).toUpperCase().padStart(2,"0").substring(0,2),Mv=t=>{let e=t.bucket,r=[];for(;e._parent!=null;)r.push(e),e=e._parent;return r.push(e),r.reverse()},Ug=async(t,e,r,n,o)=>{if(n==null){let l=Dg({hashFn:Pv});n={rootBucket:l,hamtDepth:1,lastBucket:l}}await Fv(t.Links,n.lastBucket,n.rootBucket);let i=await n.rootBucket._findNewBucketAndPos(e),s=Ng(i.pos),c=Mv(i);c.length>n.hamtDepth&&(n.lastBucket=c[n.hamtDepth],s=Ng(n.lastBucket._posAtParent));let a=t.Links.find(l=>{if(l.Name==null)return!1;let d=l.Name.substring(0,2),m=l.Name.substring(2);return!(d!==s||m!==""&&m!==e)});if(a==null)return;if(a.Name!=null&&a.Name.substring(2)===e)return a.Hash;n.hamtDepth++;let u=await r.get(a.Hash,o);return t=Ye(u),Ug(t,e,r,n,o)},Pg=Ug;function Ov(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Os=Ov;function Rv(t){return t[Symbol.asyncIterator]!=null}function zv(t,e){if(Rv(t))return async function*(){for await(let c of t)await e(c)&&(yield c)}();let r=Os(t),{value:n,done:o}=r.next();if(o===!0)return function*(){}();let i=e(n);if(typeof i.then=="function")return async function*(){await i&&(yield n);for await(let c of r)await e(c)&&(yield c)}();let s=e;return function*(){i===!0&&(yield n);for(let c of r)s(c)&&(yield c)}()}var Fg=zv;function $v(t){return t[Symbol.asyncIterator]!=null}function Hv(t,e){if($v(t))return async function*(){for await(let c of t)yield e(c)}();let r=Os(t),{value:n,done:o}=r.next();if(o===!0)return function*(){}();let i=e(n);if(typeof i.then=="function")return async function*(){yield await i;for await(let c of r)yield e(c)}();let s=e;return function*(){yield i;for(let c of r)yield s(c)}()}var fn=Hv;function ht(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Rs=globalThis.CustomEvent??Event;async function*fr(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,o=new EventTarget,i=[],s=ht(),c=ht(),a=!1,u,l=!1;o.addEventListener("task-complete",()=>{c.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(i.length===r&&(s=ht(),await s.promise),l)break;let p={done:!1};i.push(p),h().then(w=>{p.done=!0,p.ok=!0,p.value=w,o.dispatchEvent(new Rs("task-complete"))},w=>{p.done=!0,p.err=w,o.dispatchEvent(new Rs("task-complete"))})}a=!0,o.dispatchEvent(new Rs("task-complete"))}catch(h){u=h,o.dispatchEvent(new Rs("task-complete"))}});function d(){return n?i[0]?.done:!!i.find(h=>h.done)}function*m(){for(;i.length>0&&i[0].done;){let h=i[0];if(i.shift(),h.ok)yield h.value;else throw l=!0,s.resolve(),h.err;s.resolve()}}function*f(){for(;d();)for(let h=0;h<i.length;h++)if(i[h].done){let p=i[h];if(i.splice(h,1),h--,p.ok)yield p.value;else throw l=!0,s.resolve(),p.err;s.resolve()}}for(;;){if(d()||(c=ht(),await c.promise),u!=null)throw u;if(n?yield*m():yield*f(),a&&i.length===0)break}}var zs=class{constructor(e){k(this,"buffer");k(this,"mask");k(this,"top");k(this,"btm");k(this,"next");if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},dn=class{constructor(e={}){k(this,"size");k(this,"hwm");k(this,"head");k(this,"tail");this.hwm=e.splitLimit??16,this.head=new zs(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new zs(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var cl=class extends Error{constructor(r,n){super(r??"The operation was aborted");k(this,"type");k(this,"code");this.type="aborted",this.code=n??"ABORT_ERR"}};function hn(t={}){return jv(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function jv(t,e){e=e??{};let r=e.onEnd,n=new dn,o,i,s,c=ht(),a=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((w,g)=>{i=b=>{i=null,n.push(b);try{w(t(n))}catch(v){g(v)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=ht()})}},u=w=>i!=null?i(w):(n.push(w),o),l=w=>(n=new dn,i!=null?i({error:w}):(n.push({error:w}),o)),d=w=>{if(s)return o;if(e?.objectMode!==!0&&w?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:w})},m=w=>s?o:(s=!0,w!=null?l(w):u({done:!0})),f=()=>(n=new dn,m(),{done:!0}),h=w=>(m(w),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:a,return:f,throw:h,push:d,end:m,get readableLength(){return n.size},onEmpty:async w=>{let g=w?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let b,v;g!=null&&(b=new Promise((E,T)=>{v=()=>{T(new cl)},g.addEventListener("abort",v)}));try{await Promise.race([c.promise,b])}finally{v!=null&&g!=null&&g?.removeEventListener("abort",v)}}},r==null)return o;let p=o;return o={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(w){return p.throw(w),r!=null&&(r(w),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:d,end(w){return p.end(w),r!=null&&(r(w),r=void 0),o},get readableLength(){return p.readableLength}},o}function Vv(t){return t[Symbol.asyncIterator]!=null}function qv(...t){let e=[];for(let r of t)Vv(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=hn({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let o of n)r.push(o)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Mg=qv;function pn(t,...e){if(t==null)throw new Error("Empty pipeline");if(ul(t)){let n=t;t=()=>n.source}else if(Rg(t)||Og(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&ul(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)ul(r[n])&&(r[n]=Kv(r[n]));return Wv(...r)}var Wv=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Og=t=>t?.[Symbol.asyncIterator]!=null,Rg=t=>t?.[Symbol.iterator]!=null,ul=t=>t==null?!1:t.sink!=null&&t.source!=null,Kv=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=hn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let o,i=t.source;if(Og(i))o=async function*(){yield*i,n.end()};else if(Rg(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Mg(n,o())}return t.source};var Gv=(t,e,r,n,o,i,s)=>{async function*c(a={}){let u=a.offset??0,l=a.length??e.Links.length,d=e.Links.slice(u,l);a.onProgress?.(new ce("unixfs:exporter:walk:directory",{cid:t})),yield*pn(d,m=>fn(m,f=>async()=>{let h=f.Name??"",p=`${n}/${h}`;return(await o(f.Hash,h,p,[],i+1,s,a)).entry}),m=>fr(m,{ordered:!0}),m=>Fg(m,f=>f!=null))}return c},zg=Gv;var hr=W(rt(),1);var Xg=W(Hg(),1);var ko=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},fl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},jg=t=>globalThis.DOMException===void 0?new fl(t):new DOMException(t),Vg=t=>{let e=t.reason===void 0?jg("This operation was aborted."):t.reason;return e instanceof Error?e:jg(e)};function dl(t,e,r,n){let o,i=new Promise((s,c)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:a}=n;a.aborted&&c(Vg(a)),a.addEventListener("abort",()=>{c(Vg(a))})}o=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){c(l)}return}let a=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new ko(a);typeof t.cancel=="function"&&t.cancel(),c(u)},e),(async()=>{try{s(await t)}catch(a){c(a)}finally{n.customTimers.clearTimeout.call(void 0,o)}})()});return i.clear=()=>{clearTimeout(o),o=void 0},i}function hl(t,e,r){let n=0,o=t.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;r(t[s],e)<=0?(n=++s,o-=i+1):o=i}return n}var dr=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},pt,vo=class{constructor(){pt.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&dr(this,pt,"f")[this.size-1].priority>=r.priority){dr(this,pt,"f").push(n);return}let o=hl(dr(this,pt,"f"),n,(i,s)=>s.priority-i.priority);dr(this,pt,"f").splice(o,0,n)}dequeue(){let e=dr(this,pt,"f").shift();return e?.run}filter(e){return dr(this,pt,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return dr(this,pt,"f").length}};pt=new WeakMap;var K=function(t,e,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(t,r):o?o.value=r:e.set(t,r),r},L=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},X,So,Ao,Ut,Ks,_o,Hs,$e,Eo,Se,js,Ae,Bo,Nt,Vs,qg,Wg,Qg,Kg,Gg,qs,pl,yl,Gs,Jg,Ws,Qs=class extends Error{},Co=class extends Xg.default{constructor(e){var r,n,o,i;if(super(),X.add(this),So.set(this,void 0),Ao.set(this,void 0),Ut.set(this,0),Ks.set(this,void 0),_o.set(this,void 0),Hs.set(this,0),$e.set(this,void 0),Eo.set(this,void 0),Se.set(this,void 0),js.set(this,void 0),Ae.set(this,0),Bo.set(this,void 0),Nt.set(this,void 0),Vs.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:vo,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(i=(o=e.interval)===null||o===void 0?void 0:o.toString())!==null&&i!==void 0?i:""}\` (${typeof e.interval})`);K(this,So,e.carryoverConcurrencyCount,"f"),K(this,Ao,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),K(this,Ks,e.intervalCap,"f"),K(this,_o,e.interval,"f"),K(this,Se,new e.queueClass,"f"),K(this,js,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,K(this,Vs,e.throwOnTimeout===!0,"f"),K(this,Nt,e.autoStart===!1,"f")}get concurrency(){return L(this,Bo,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);K(this,Bo,e,"f"),L(this,X,"m",Gs).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:L(this,Vs,"f"),...r},new Promise((n,o)=>{L(this,Se,"f").enqueue(async()=>{var i,s,c;K(this,Ae,(s=L(this,Ae,"f"),s++,s),"f"),K(this,Ut,(c=L(this,Ut,"f"),c++,c),"f");try{if(!((i=r.signal)===null||i===void 0)&&i.aborted)throw new Qs("The task was aborted.");let a=e({signal:r.signal});r.timeout&&(a=dl(Promise.resolve(a),r.timeout)),r.signal&&(a=Promise.race([a,L(this,X,"m",Jg).call(this,r.signal)]));let u=await a;n(u),this.emit("completed",u)}catch(a){if(a instanceof ko&&!r.throwOnTimeout){n();return}o(a),this.emit("error",a)}finally{L(this,X,"m",Qg).call(this)}},r),this.emit("add"),L(this,X,"m",qs).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return L(this,Nt,"f")?(K(this,Nt,!1,"f"),L(this,X,"m",Gs).call(this),this):this}pause(){K(this,Nt,!0,"f")}clear(){K(this,Se,new(L(this,js,"f")),"f")}async onEmpty(){L(this,Se,"f").size!==0&&await L(this,X,"m",Ws).call(this,"empty")}async onSizeLessThan(e){L(this,Se,"f").size<e||await L(this,X,"m",Ws).call(this,"next",()=>L(this,Se,"f").size<e)}async onIdle(){L(this,Ae,"f")===0&&L(this,Se,"f").size===0||await L(this,X,"m",Ws).call(this,"idle")}get size(){return L(this,Se,"f").size}sizeBy(e){return L(this,Se,"f").filter(e).length}get pending(){return L(this,Ae,"f")}get isPaused(){return L(this,Nt,"f")}};So=new WeakMap,Ao=new WeakMap,Ut=new WeakMap,Ks=new WeakMap,_o=new WeakMap,Hs=new WeakMap,$e=new WeakMap,Eo=new WeakMap,Se=new WeakMap,js=new WeakMap,Ae=new WeakMap,Bo=new WeakMap,Nt=new WeakMap,Vs=new WeakMap,X=new WeakSet,qg=function(){return L(this,Ao,"f")||L(this,Ut,"f")<L(this,Ks,"f")},Wg=function(){return L(this,Ae,"f")<L(this,Bo,"f")},Qg=function(){var e;K(this,Ae,(e=L(this,Ae,"f"),e--,e),"f"),L(this,X,"m",qs).call(this),this.emit("next")},Kg=function(){L(this,X,"m",yl).call(this),L(this,X,"m",pl).call(this),K(this,Eo,void 0,"f")},Gg=function(){let e=Date.now();if(L(this,$e,"f")===void 0){let r=L(this,Hs,"f")-e;if(r<0)K(this,Ut,L(this,So,"f")?L(this,Ae,"f"):0,"f");else return L(this,Eo,"f")===void 0&&K(this,Eo,setTimeout(()=>{L(this,X,"m",Kg).call(this)},r),"f"),!0}return!1},qs=function(){if(L(this,Se,"f").size===0)return L(this,$e,"f")&&clearInterval(L(this,$e,"f")),K(this,$e,void 0,"f"),this.emit("empty"),L(this,Ae,"f")===0&&this.emit("idle"),!1;if(!L(this,Nt,"f")){let e=!L(this,X,"a",Gg);if(L(this,X,"a",qg)&&L(this,X,"a",Wg)){let r=L(this,Se,"f").dequeue();return r?(this.emit("active"),r(),e&&L(this,X,"m",pl).call(this),!0):!1}}return!1},pl=function(){L(this,Ao,"f")||L(this,$e,"f")!==void 0||(K(this,$e,setInterval(()=>{L(this,X,"m",yl).call(this)},L(this,_o,"f")),"f"),K(this,Hs,Date.now()+L(this,_o,"f"),"f"))},yl=function(){L(this,Ut,"f")===0&&L(this,Ae,"f")===0&&L(this,$e,"f")&&(clearInterval(L(this,$e,"f")),K(this,$e,void 0,"f")),K(this,Ut,L(this,So,"f")?L(this,Ae,"f"):0,"f"),L(this,X,"m",Gs).call(this)},Gs=function(){for(;L(this,X,"m",qs).call(this););},Jg=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Qs("The task was aborted."))},{once:!0})})},Ws=async function(e,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(e,o),n())};this.on(e,o)})};async function Yg(t,e,r,n,o,i,s){if(e instanceof Uint8Array){let u=ur(e,n,o,i);r.push(u);return}if(e.Data==null)throw(0,hr.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");let c;try{c=un.unmarshal(e.Data)}catch(u){throw(0,hr.default)(u,"ERR_NOT_UNIXFS")}if(c.data!=null){let u=c.data,l=ur(u,n,o,i);r.push(l),n+=BigInt(l.byteLength)}let a=[];if(e.Links.length!==c.blockSizes.length)throw(0,hr.default)(new Error("Inconsistent block sizes and dag links"),"ERR_NOT_UNIXFS");for(let u=0;u<e.Links.length;u++){let l=e.Links[u],d=n,m=d+c.blockSizes[u];if((o>=d&&o<m||i>=d&&i<=m||o<d&&i>m)&&a.push({link:l,blockStart:n}),n=m,n>i)break}await pn(a,u=>fn(u,l=>async()=>{let d=await t.get(l.link.Hash,s);return{...l,block:d}}),u=>fr(u,{ordered:!0}),async u=>{for await(let{link:l,block:d,blockStart:m}of u){let f;switch(l.Hash.code){case ir:f=Ye(d);break;case $n:f=d;break;default:r.end((0,hr.default)(new Error(`Unsupported codec: ${l.Hash.code}`),"ERR_NOT_UNIXFS"));return}let h=new Co({concurrency:1});h.on("error",p=>{r.end(p)}),h.add(async()=>{s.onProgress?.(new ce("unixfs:exporter:walk:file",{cid:l.Hash})),await Yg(t,f,r,m,o,i,s)}),await h.onIdle()}}),n>=i&&r.end()}var Xv=(t,e,r,n,o,i,s)=>{async function*c(a={}){let u=r.fileSize();if(u===void 0)throw new Error("File was a directory");let{start:l,end:d}=an(u,a.offset,a.length);if(d===0n)return;let m=0n,f=d-l,h=hn();a.onProgress?.(new ce("unixfs:exporter:walk:file",{cid:t})),Yg(s,e,h,0n,l,d,a).catch(p=>{h.end(p)});for await(let p of h)if(p!=null){if(m+=BigInt(p.byteLength),m>f)throw h.end(),(0,hr.default)(new Error("Read too many bytes - the file size reported by the UnixFS data in the root node may be incorrect"),"ERR_OVER_READ");m===f&&h.end(),a.onProgress?.(new ce("unixfs:exporter:progress:unixfs:file",{bytesRead:m,totalBytes:f,fileSize:u})),yield p}if(m<f)throw(0,hr.default)(new Error("Traversed entire DAG but did not read enough bytes"),"ERR_UNDER_READ")}return c},ml=Xv;var Yv=(t,e,r,n,o,i,s)=>{function c(a={}){return a.onProgress?.(new ce("unixfs:exporter:walk:hamt-sharded-directory",{cid:t})),Zg(e,n,o,i,s,a)}return c};async function*Zg(t,e,r,n,o,i){let s=t.Links,c=pn(s,a=>fn(a,u=>async()=>{let l=u.Name!=null?u.Name.substring(2):null;if(l!=null&&l!==""){let d=await r(u.Hash,l,`${e}/${l}`,[],n+1,o,i);return{entries:d.entry==null?[]:[d.entry]}}else{let d=await o.get(u.Hash,i);return t=Ye(d),i.onProgress?.(new ce("unixfs:exporter:walk:hamt-sharded-directory",{cid:u.Hash})),{entries:Zg(t,e,r,n,o,i)}}}),a=>fr(a,{ordered:!0}));for await(let{entries:a}of c)yield*a}var ew=Yv;var Zv=(t,e)=>t.Links.find(n=>n.Name===e)?.Hash,eE={raw:ml,file:ml,directory:zg,"hamt-sharded-directory":ew,metadata:(t,e,r,n,o,i,s)=>()=>[],symlink:(t,e,r,n,o,i,s)=>()=>[]},tE=async(t,e,r,n,o,i,s,c)=>{let a=await s.get(t,c),u=Ye(a),l,d;if(e==null&&(e=t.toString()),u.Data==null)throw(0,To.default)(new Error("no data in PBNode"),"ERR_NOT_UNIXFS");try{l=un.unmarshal(u.Data)}catch(f){throw(0,To.default)(f,"ERR_NOT_UNIXFS")}if(r==null&&(r=e),n.length>0){let f;if(l?.type==="hamt-sharded-directory"?f=await Pg(u,n[0],s):f=Zv(u,n[0]),f==null)throw(0,To.default)(new Error("file does not exist"),"ERR_NOT_FOUND");let h=n.shift(),p=`${r}/${h}`;d={cid:f,toResolve:n,name:h??"",path:p}}let m=eE[l.type](t,u,l,r,o,i,s);if(m==null)throw(0,To.default)(new Error("could not find content exporter"),"ERR_NOT_FOUND");return l.isDirectory()?{entry:{type:"directory",name:e,path:r,cid:t,content:m,unixfs:l,depth:i,node:u,size:l.fileSize()},next:d}:{entry:{type:"file",name:e,path:r,cid:t,content:m,unixfs:l,depth:i,node:u,size:l.fileSize()},next:d}},tw=tE;var rE={[ir]:tw,[$n]:ug,[La]:ig,[ng.code]:ag},nw=async(t,e,r,n,o,i,s)=>{let c=rE[t.code];if(c==null)throw(0,rw.default)(new Error(`No resolver for code ${t.code}`),"ERR_NO_RESOLVER");return c(t,e,r,n,nw,o,i,s)},ow=nw;var nE=(t="")=>(t.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),oE=t=>{if(t instanceof Uint8Array)return{cid:V.decode(t),toResolve:[]};let e=V.asCID(t);if(e!=null)return{cid:e,toResolve:[]};if(typeof t=="string"){t.indexOf("/ipfs/")===0&&(t=t.substring(6));let r=nE(t);return{cid:V.parse(r[0]),toResolve:r.slice(1)}}throw(0,Js.default)(new Error(`Unknown path type ${t}`),"ERR_BAD_PATH")};async function*iE(t,e,r={}){let{cid:n,toResolve:o}=oE(t),i=n.toString(),s=i,c=o.length;for(;;){let a=await ow(n,i,s,o,c,e,r);if(a.entry==null&&a.next==null)throw(0,Js.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");if(a.entry!=null&&(yield a.entry),a.next==null)return;o=a.next.toResolve,n=a.next.cid,i=a.next.name,s=a.next.path}}async function iw(t,e,r={}){let n=await eg(iE(t,e,r));if(n==null)throw(0,Js.default)(new Error(`Could not resolve ${t}`),"ERR_NOT_FOUND");return n}var sE=Xm(),aE=Dt({fileChunkEncoder:Et,smallFileEncoder:Et,chunker:_u(1024*1024),fileLayout:gs(1024)});async function sw(t){let e=cE(t),r=await uE(e);return{cid:r.at(-1).cid,blocks:r}}async function aw(t,e,r){let n=await iw(e.toString(),t,{length:r.size}),o=[];for await(let i of n.content())o.push(i);return new File(o,n.name,{type:r.type,lastModified:0})}function cE(t){let{readable:e,writable:r}=new TransformStream({},sE),n=Jm({writable:r,settings:aE}),o=new gl("",t);return(async()=>(await o.finalize(n),await n.close()))(),e}async function uE(t){let e=[];return await t.pipeTo(new WritableStream({write(r){e.push(r)}})),e}var Io,gl=class{constructor(e,r){nt(this,Io,void 0);k(this,"name");this.name=e,fe(this,Io,r)}async finalize(e){let r=co(e);return await Z(this,Io).stream().pipeTo(new WritableStream({async write(n){await r.write(n)}})),await r.close()}};Io=new WeakMap;async function lw(t,e,r,n){let o;for(let i of r){let s=await lE(t,i);o=await xp(t,e,i.key,s,n);let c=o.root.toString();o.additions.some(u=>u.cid.toString()===c)||await t.get(o.root)||(console.error(`missing root in additions: ${o.additions.length} ${c} keys: ${r.map(l=>l.key).toString()}`),o.head=e);for(let{cid:u,bytes:l}of[...o.additions,...o.removals,o.event])t.putSync(u,l);e=o.head}return{head:e}}async function lE(t,e){let r;e.del?r={del:!0}:(await fE(t,e.value),r={doc:e.value});let n=await Ge({value:r,hasher:de,codec:q});return t.putSync(n.cid,n.bytes),n.cid}async function fE(t,e){e._files&&await cw(t,e._files),e._publicFiles&&await cw(t,e._publicFiles,!0)}async function cw(t,e,r=!1){let n=t.parent,o=new _t(n);n.transactions.add(o);let i=[],s=0;for(let c in e)if(File===e[c].constructor){let a=e[c];s+=a.size;let{cid:u,blocks:l}=await sw(a);i.push(c);for(let d of l)o.putSync(d.cid,d.bytes);e[c]={cid:u,type:a.type,size:a.size}}if(s>1024*1024*1)throw new Error("Sync limit for files in a single update is 1MB");if(i.length){let c=await n.loader?.commit(o,{files:e},{public:r});if(c)for(let a of i)e[a]={car:c,...e[a]}}}async function fw(t,e,r){if(!e.length)throw new Error("Getting from an empty database");let n=await kp(t,e,r);if(!n)throw new Error(`Missing key ${r}`);return await kl(t,n)}function xl(t,{doc:e}){e&&(e._files&&uw(t,e._files),e._publicFiles&&uw(t,e._publicFiles,!0))}function uw(t,e,r=!1){for(let n in e){let o=e[n];if(o.cid&&(r&&(o.url=`https://${o.cid.toString()}.ipfs.w3s.link/`),o.car&&t.loader)){let i=t.loader;o.file=async()=>await aw({get:async s=>{let a=await(await i.loadFileCar(o.car,r)).get(s);if(!a)throw new Error(`Missing block ${s.toString()}`);return a.bytes}},o.cid,o)}e[n]=o}}async function kl(t,e){let r=await t.get(e);if(!r)throw new Error(`Missing linked block ${e.toString()}`);let{value:n}=await vt({bytes:r.bytes,hasher:de,codec:q});return xl(t,n),n}var wl=class extends Je{async get(e){try{return await super.get(e)}catch(r){return console.error("missing event",e.toString(),r),{value:null}}}};async function Lo(t,e,r,n){let o=n.dirty?new wl(t):new Je(t);return{result:(await bl(t,o,e,r,[],new Set,new Set,n.limit||1/0)).reverse(),head:e}}async function bl(t,e,r,n,o=[],i,s,c){if(c<=0)return o;let a=r.map(u=>u.toString());for(let u of n)if(a.includes(u.toString()))return o;for(let u of r){if(s.has(u.toString()))continue;s.add(u.toString());let{value:l}=await e.get(u);if(!l)continue;let{key:d,value:m}=l.data;if(i.has(d))l.parents&&(o=await bl(t,e,l.parents,n,o,i,s,c));else{i.add(d);let f=await kl(t,m);o.push({key:d,value:f.doc,del:f.del}),c--,l.parents&&(o=await bl(t,e,l.parents,n,o,i,s,c))}}return o}async function*dw(t,e){for await(let[r,n]of Fc(t,e)){let o=await kl(t,n);yield{key:r,value:o.doc,del:o.del}}}async function*hw(t,e){for await(let r of Nc(t,e))yield r}async function pw(t,e){let r=new Vi(t),n=new _t(t);for await(let[,i]of Fc(r,e))if(!await r.get(i))throw new Error("Missing block: "+i.toString());for await(let i of Nc(r,e));let o=await Wr(r,e);for(let{cid:i,bytes:s}of[...o.additions,...o.removals])n.putSync(i,s);await Lo(r,e,[],{});for(let i of r.cids){let s=await t.get(i);if(!s)throw new Error("Missing block: "+i.toString());await n.put(i,s.bytes)}await t.commitCompaction(n,e)}var Xs=class{constructor(){k(this,"head",[]);k(this,"zoomers",new Set);k(this,"watchers",new Set);k(this,"blocks",null)}setHead(e){this.head=e}async applyHead(e,r,n,o=null){let i=this.head.sort((u,l)=>u.toString().localeCompare(l.toString()));if(r=r.sort((u,l)=>u.toString().localeCompare(l.toString())),i.toString()===r.toString()){this.watchers.forEach(u=>u(o||[]));return}let s=n.sort((u,l)=>u.toString().localeCompare(l.toString()));if(i.toString()===s.toString()){this.setHead(r),this.watchers.forEach(u=>u(o||[]));return}let c=async(u,l)=>{if(u instanceof _t)return await l(u);if(!this.blocks)throw new Error("missing blocks");return await this.blocks.transaction(l,void 0,{noLoader:!0})},{head:a}=await c(e,async u=>{let l=this.head;for(let m of r)l=await Kn(u,l,m);let d=await Wr(u,l);for(let{cid:m,bytes:f}of[...d.additions,...d.removals])u.putSync(m,f);return{head:l}});this.watchers.size&&!o&&(o=(await Lo(this.blocks,a,n,{})).result),this.setHead(a),this.zoomers.forEach(u=>u()),this.watchers.forEach(u=>u(o||[]))}onTick(e){this.watchers.add(e)}onZoom(e){this.zoomers.add(e)}};var Ys=class{constructor(e,r){k(this,"name");k(this,"opts",{});k(this,"ready");k(this,"blocks");k(this,"indexBlocks");k(this,"indexers",new Map);k(this,"clock",new Xs);this.name=e||null,this.opts=r||this.opts,this.blocks=new ji(this.name,this.clock,this.opts),this.clock.blocks=this.blocks,this.indexBlocks=new Hi(this.opts.persistIndexes&&this.name?this.name+".idx":null,this,this.opts),this.ready=Promise.all([this.blocks.ready,this.indexBlocks.ready]).then(()=>{}),this.clock.onZoom(()=>{for(let n of this.indexers.values())n._resetIndex()})}async bulk(e,r){return await this.ready,await this.blocks.transaction(async n=>{let o=[...this.clock.head],{head:i}=await lw(n,this.clock.head,e,r);return e=e.map(({key:s,value:c,del:a})=>(xl(this.blocks,{doc:c}),{key:s,value:c,del:a})),await this.clock.applyHead(n,i,o,e),{head:i}})}async allDocs(){await this.ready;let e=[];for await(let r of dw(this.blocks,this.clock.head))e.push(r);return{result:e,head:this.clock.head}}async vis(){await this.ready;let e=[];for await(let r of hw(this.blocks,this.clock.head))e.push(r);return e.join(`
|
4
|
+
`)}async get(e){await this.ready;let r=await fw(this.blocks,this.clock.head,e);return r.del?null:r}async changes(e=[],r={}){return await this.ready,await Lo(this.blocks,this.clock.head,e,r)}async compact(){if(await this.ready,!(this.blocks.loader&&this.blocks.loader.carLog.length<2))return await pw(this.blocks,this.clock.head)}};var pr=class{constructor(e,r){k(this,"name");k(this,"opts",{});k(this,"_listeners",new Set);k(this,"_crdt");k(this,"_writeQueue");this.name=e||null,this.opts=r||this.opts,this._crdt=new Ys(e,this.opts),this._crdt.clock.onTick(n=>{this._notify(n)}),this._writeQueue=Al(async n=>await this._crdt.bulk(n))}async get(e){let r=await this._crdt.get(e).catch(o=>{throw o.message=`Not found: ${e} - `+o.message,o});if(!r)throw new Error(`Not found: ${e}`);let{doc:n}=r;return{_id:e,...n}}async put(e){let{_id:r,...n}=e,o=r||Sl(),i=await this._writeQueue.push({key:o,value:n});return{id:o,clock:i?.head}}async del(e){let r=await this._writeQueue.push({key:e,del:!0});return{id:e,clock:r?.head}}async changes(e=[],r={}){let{result:n,head:o}=await this._crdt.changes(e,r);return{rows:n.map(({key:s,value:c,del:a})=>({key:s,value:a?{_id:s,_deleted:!0}:{_id:s,...c}})),clock:o}}subscribe(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}async query(e,r={}){return await(typeof e=="string"?qn({_crdt:this._crdt},e):qn({_crdt:this._crdt},dE(e.toString()),e)).query(r)}async compact(){await this._crdt.compact()}async getDashboardURL(e=!0){let r="https://dashboard.fireproof.storage/";if(!this._crdt.blocks.loader?.remoteCarStore)return new URL("/howto",r);e&&await this.compact();let n=await this._crdt.blocks.loader?.metaStore?.load();if(!n)throw new Error("Can't sync empty database: save data first");if(n.length>1)throw new Error("Can't sync database with split heads: make an update first");let o=n[0],i={car:o.car.toString()};o.key&&(i.key=o.key.toString()),this.name&&(i.name=this.name);let s=new URL("/import#"+new URLSearchParams(i).toString(),r);return console.log("Import to dashboard: "+s.toString()),s}openDashboard(){this.getDashboardURL().then(e=>{e&&window.open(e.toString(),"_blank")})}async _notify(e){if(this._listeners.size){let r=e.map(({key:n,value:o})=>({_id:n,...o}));for(let n of this._listeners)await(async()=>await n(r))().catch(o=>{console.error("subscriber error",o)})}}};k(pr,"databases",new Map);function RI(t,e){return pr.databases.has(t)||pr.databases.set(t,new pr(t,e)),pr.databases.get(t)}function dE(t){let e=/\(([^,()]+,\s*[^,()]+|\[[^\]]+\],\s*[^,()]+)\)/g,r=null;return Array.from(t.matchAll(e),o=>o[1].trim()).length===0&&(r=/=>\s*(.*)/.exec(t)),r?r[1]:t}export{Li as DataStore,pr as Database,Bc as Index,Vr as Loader,Ii as MetaStore,Di as STORAGE_VERSION,Qh as cidListIncludes,yi as encodeCarFile,Ah as encodeCarHeader,RI as fireproof,qn as index,_h as parseCarFile,ox as toHexString};
|
26
5
|
/*! Bundled license information:
|
27
6
|
|
28
|
-
@noble/ed25519/lib/esm/index.js:
|
29
|
-
(*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
30
|
-
|
31
7
|
uuidv7/dist/index.js:
|
32
8
|
(**
|
33
9
|
* uuidv7: An experimental implementation of the proposed UUID Version 7
|