@truebit/cli 1.124.6 → 1.125.0

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.
Files changed (2) hide show
  1. package/build/index.mjs +1 -1
  2. package/package.json +2 -2
package/build/index.mjs CHANGED
@@ -518,7 +518,7 @@ MQCjfy+Rocm9Xue4YnwWmNJVA44fA0P5W2OpYow9OYCVRaEevL8uO1XYru5xtMPW
518
518
  rfMCMQCi85sWBbJwKKXdS6BptQFuZbT73o/gBh1qUxl/nNr12UO8Yfwr6wPLb+6N
519
519
  IwLz3/Y=
520
520
  -----END CERTIFICATE-----
521
- `;var u1a=300*1e3;function bwe(e=process.env){let t=u1a;if(e.ENCLAVE_MAX_ATTESTATION_AGE_MS!==void 0){let r=Number(e.ENCLAVE_MAX_ATTESTATION_AGE_MS);if(!Number.isFinite(r)||r<=0)throw new Error("ENCLAVE_MAX_ATTESTATION_AGE_MS must be a positive number");t=r}return{awsNitroRootCaPem:tjt,maxAttestationAgeMs:t}}function rjt(e){return e.toString("hex").toLowerCase()}import{createPublicKey as hBt,verify as bha,X509Certificate as vha}from"crypto";import{Buffer as yBt}from"buffer";var vwe;try{vwe=new TextDecoder}catch{}var nt,_6,de=0;var Ewe=[],d1a=105,c1a=57342,p1a=57343,njt=57337;var ajt=6,K8={},jS=11281e4,qp=1681e4;var zh=Ewe,FS=0,ar={},fa,US,VS=0,Wh=0,Ga,D0,Ka=[],gwe=[],Oo,js,BS,ijt={useRecords:!1,mapsAsObjects:!0},HS=!1,fjt=2;try{new Function("")}catch{fjt=1/0}var xd=class e{constructor(t){if(t&&((t.keyMap||t._keyMap)&&!t.useRecords&&(t.useRecords=!1,t.mapsAsObjects=!0),t.useRecords===!1&&t.mapsAsObjects===void 0&&(t.mapsAsObjects=!0),t.getStructures&&(t.getShared=t.getStructures),t.getShared&&!t.structures&&((t.structures=[]).uninitialized=!0),t.keyMap)){this.mapKey=new Map;for(let[r,n]of Object.entries(t.keyMap))this.mapKey.set(n,r)}Object.assign(this,t)}decodeKey(t){return this.keyMap&&this.mapKey.get(t)||t}encodeKey(t){return this.keyMap&&this.keyMap.hasOwnProperty(t)?this.keyMap[t]:t}encodeKeys(t){if(!this._keyMap)return t;let r=new Map;for(let[n,a]of Object.entries(t))r.set(this._keyMap.hasOwnProperty(n)?this._keyMap[n]:n,a);return r}decodeKeys(t){if(!this._keyMap||t.constructor.name!="Map")return t;if(!this._mapKey){this._mapKey=new Map;for(let[n,a]of Object.entries(this._keyMap))this._mapKey.set(a,n)}let r={};return t.forEach((n,a)=>r[L0(this._mapKey.has(a)?this._mapKey.get(a):a)]=n),r}mapDecode(t,r){let n=this.decode(t);return this._keyMap&&n.constructor.name==="Array"?n.map(a=>this.decodeKeys(a)):n}decode(t,r){if(nt)return hjt(()=>(hX(),this?this.decode(t,r):e.prototype.decode.call(ijt,t,r)));_6=r>-1?r:t.length,de=0,FS=0,Wh=0,US=null,zh=Ewe,Ga=null,nt=t;try{js=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(n){throw nt=null,t instanceof Uint8Array?n:new Error("Source must be a Uint8Array or Buffer but was a "+(t&&typeof t=="object"?t.constructor.name:typeof t))}if(this instanceof e){if(ar=this,Oo=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return fa=this.structures,pX();(!fa||fa.length>0)&&(fa=[])}else ar=ijt,(!fa||fa.length>0)&&(fa=[]),Oo=null;return pX()}decodeMultiple(t,r){let n,a=0;try{let i=t.length;HS=!0;let s=this?this.decode(t,i):Swe.decode(t,i);if(r){if(r(s)===!1)return;for(;de<i;)if(a=de,r(pX())===!1)return}else{for(n=[s];de<i;)a=de,n.push(pX());return n}}catch(i){throw i.lastPosition=a,i.values=n,i}finally{HS=!1,hX()}}};function pX(){try{let e=or();if(Ga){if(de>=Ga.postBundlePosition){let t=new Error("Unexpected bundle position");throw t.incomplete=!0,t}de=Ga.postBundlePosition,Ga=null}if(de==_6)fa=null,nt=null,D0&&(D0=null);else if(de>_6){let t=new Error("Unexpected end of CBOR data");throw t.incomplete=!0,t}else if(!HS)throw new Error("Data read, but end of buffer not reached");return e}catch(e){throw hX(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer"))&&(e.incomplete=!0),e}}function or(){let e=nt[de++],t=e>>5;if(e=e&31,e>23)switch(e){case 24:e=nt[de++];break;case 25:if(t==7)return g1a();e=js.getUint16(de),de+=2;break;case 26:if(t==7){let r=js.getFloat32(de);if(ar.useFloat32>2){let n=yX[(nt[de]&127)<<1|nt[de+1]>>7];return de+=4,(n*r+(r>0?.5:-.5)>>0)/n}return de+=4,r}if(e=js.getUint32(de),de+=4,t===1)return-1-e;break;case 27:if(t==7){let r=js.getFloat64(de);return de+=8,r}if(t>1){if(js.getUint32(de)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");e=js.getUint32(de+4)}else ar.int64AsNumber?(e=js.getUint32(de)*4294967296,e+=js.getUint32(de+4)):e=js.getBigUint64(de);de+=8;break;case 31:switch(t){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let r=[],n,a=0;for(;(n=or())!=K8;){if(a>=jS)throw new Error(`Array length exceeds ${jS}`);r[a++]=n}return t==4?r:t==3?r.join(""):Buffer.concat(r);case 5:let i;if(ar.mapsAsObjects){let s={},o=0;if(ar.keyMap)for(;(i=or())!=K8;){if(o++>=qp)throw new Error(`Property count exceeds ${qp}`);s[L0(ar.decodeKey(i))]=or()}else for(;(i=or())!=K8;){if(o++>=qp)throw new Error(`Property count exceeds ${qp}`);s[L0(i)]=or()}return s}else{BS&&(ar.mapsAsObjects=!0,BS=!1);let s=new Map;if(ar.keyMap){let o=0;for(;(i=or())!=K8;){if(o++>=qp)throw new Error(`Map size exceeds ${qp}`);s.set(ar.decodeKey(i),or())}}else{let o=0;for(;(i=or())!=K8;){if(o++>=qp)throw new Error(`Map size exceeds ${qp}`);s.set(i,or())}}return s}case 7:return K8;default:throw new Error("Invalid major type for indefinite length "+t)}default:throw new Error("Unknown token "+e)}switch(t){case 0:return e;case 1:return~e;case 2:return v1a(e);case 3:if(Wh>=de)return US.slice(de-VS,(de+=e)-VS);if(Wh==0&&_6<140&&e<32){let a=e<16?cjt(e):b1a(e);if(a!=null)return a}return ljt(e);case 4:if(e>=jS)throw new Error(`Array length exceeds ${jS}`);let r=new Array(e);for(let a=0;a<e;a++)r[a]=or();return r;case 5:if(e>=qp)throw new Error(`Map size exceeds ${jS}`);if(ar.mapsAsObjects){let a={};if(ar.keyMap)for(let i=0;i<e;i++)a[L0(ar.decodeKey(or()))]=or();else for(let i=0;i<e;i++)a[L0(or())]=or();return a}else{BS&&(ar.mapsAsObjects=!0,BS=!1);let a=new Map;if(ar.keyMap)for(let i=0;i<e;i++)a.set(ar.decodeKey(or()),or());else for(let i=0;i<e;i++)a.set(or(),or());return a}case 6:if(e>=njt){let a=fa[e&8191];if(a)return a.read||(a.read=_we(a)),a.read();if(e<65536){if(e==p1a){let i=J8(),s=or(),o=or();xwe(s,o);let l={};if(ar.keyMap)for(let u=2;u<i;u++){let d=ar.decodeKey(o[u-2]);l[L0(d)]=or()}else for(let u=2;u<i;u++){let d=o[u-2];l[L0(d)]=or()}return l}else if(e==c1a){let i=J8(),s=or();for(let o=2;o<i;o++)xwe(s++,or());return or()}else if(e==njt)return T1a();if(ar.getShared&&(wwe(),a=fa[e&8191],a))return a.read||(a.read=_we(a)),a.read()}}let n=Ka[e];if(n)return n.handlesRead?n(or):n(or());{let a=or();for(let i=0;i<gwe.length;i++){let s=gwe[i](e,a);if(s!==void 0)return s}return new qo(a,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let a=(Oo||Hh())[e];if(a!==void 0)return a;throw new Error("Unknown token "+e)}default:if(isNaN(e)){let a=new Error("Unexpected end of CBOR data");throw a.incomplete=!0,a}throw new Error("Unknown CBOR token "+e)}}var sjt=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function _we(e){if(!e)throw new Error("Structure is required in record definition");function t(){let r=nt[de++];if(r=r&31,r>23)switch(r){case 24:r=nt[de++];break;case 25:r=js.getUint16(de),de+=2;break;case 26:r=js.getUint32(de),de+=4;break;default:throw new Error("Expected array header, but got "+nt[de-1])}let n=this.compiledReader;for(;n;){if(n.propertyCount===r)return n(or);n=n.next}if(this.slowReads++>=fjt){let i=this.length==r?this:this.slice(0,r);return n=ar.keyMap?new Function("r","return {"+i.map(s=>ar.decodeKey(s)).map(s=>sjt.test(s)?L0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"):new Function("r","return {"+i.map(s=>sjt.test(s)?L0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"),this.compiledReader&&(n.next=this.compiledReader),n.propertyCount=r,this.compiledReader=n,n(or)}let a={};if(ar.keyMap)for(let i=0;i<r;i++)a[L0(ar.decodeKey(this[i]))]=or();else for(let i=0;i<r;i++)a[L0(this[i])]=or();return a}return e.slowReads=0,t}function L0(e){if(typeof e=="string")return e==="__proto__"?"__proto_":e;if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")return e.toString();if(e==null)return e+"";throw new Error("Invalid property name type "+typeof e)}var ljt=Gh,m1a=Gh,h1a=Gh,y1a=Gh,ujt=!1;function djt(e){ujt=!0,ljt=t(1),m1a=t(2),h1a=t(3),y1a=t(5);function t(r){return function(a){let i=zh[FS++];if(i==null){if(Ga)return Gh(a);let o=e(de,_6,a,nt);if(typeof o=="string")i=o,zh=Ewe;else if(zh=o,FS=1,Wh=1,i=zh[0],i===void 0)throw new Error("Unexpected end of buffer")}let s=i.length;return s<=a?(de+=a,i):(US=i,VS=de,Wh=de+s,de+=a,i.slice(0,a))}}}function Gh(e){let t;if(e<16&&(t=cjt(e)))return t;if(e>64&&vwe)return vwe.decode(nt.subarray(de,de+=e));let r=de+e,n=[];for(t="";de<r;){let a=nt[de++];if((a&128)===0)n.push(a);else if((a&224)===192){let i=nt[de++]&63,s=(a&31)<<6|i;s<128?n.push(65533):n.push(s)}else if((a&240)===224){let i=nt[de++]&63,s=nt[de++]&63,o=(a&31)<<12|i<<6|s;o<2048||o>=55296&&o<=57343?n.push(65533):n.push(o)}else if((a&248)===240){let i=nt[de++]&63,s=nt[de++]&63,o=nt[de++]&63,l=(a&7)<<18|i<<12|s<<6|o;l<65536||l>1114111?n.push(65533):(l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|l&1023),n.push(l))}else n.push(65533);n.length>=4096&&(t+=xi.apply(String,n),n.length=0)}return n.length>0&&(t+=xi.apply(String,n)),t}var xi=String.fromCharCode;function b1a(e){let t=de,r=new Array(e);for(let n=0;n<e;n++){let a=nt[de++];if((a&128)>0){de=t;return}r[n]=a}return xi.apply(String,r)}function cjt(e){if(e<4)if(e<2){if(e===0)return"";{let t=nt[de++];if((t&128)>1){de-=1;return}return xi(t)}}else{let t=nt[de++],r=nt[de++];if((t&128)>0||(r&128)>0){de-=2;return}if(e<3)return xi(t,r);let n=nt[de++];if((n&128)>0){de-=3;return}return xi(t,r,n)}else{let t=nt[de++],r=nt[de++],n=nt[de++],a=nt[de++];if((t&128)>0||(r&128)>0||(n&128)>0||(a&128)>0){de-=4;return}if(e<6){if(e===4)return xi(t,r,n,a);{let i=nt[de++];if((i&128)>0){de-=5;return}return xi(t,r,n,a,i)}}else if(e<8){let i=nt[de++],s=nt[de++];if((i&128)>0||(s&128)>0){de-=6;return}if(e<7)return xi(t,r,n,a,i,s);let o=nt[de++];if((o&128)>0){de-=7;return}return xi(t,r,n,a,i,s,o)}else{let i=nt[de++],s=nt[de++],o=nt[de++],l=nt[de++];if((i&128)>0||(s&128)>0||(o&128)>0||(l&128)>0){de-=8;return}if(e<10){if(e===8)return xi(t,r,n,a,i,s,o,l);{let u=nt[de++];if((u&128)>0){de-=9;return}return xi(t,r,n,a,i,s,o,l,u)}}else if(e<12){let u=nt[de++],d=nt[de++];if((u&128)>0||(d&128)>0){de-=10;return}if(e<11)return xi(t,r,n,a,i,s,o,l,u,d);let c=nt[de++];if((c&128)>0){de-=11;return}return xi(t,r,n,a,i,s,o,l,u,d,c)}else{let u=nt[de++],d=nt[de++],c=nt[de++],v=nt[de++];if((u&128)>0||(d&128)>0||(c&128)>0||(v&128)>0){de-=12;return}if(e<14){if(e===12)return xi(t,r,n,a,i,s,o,l,u,d,c,v);{let m=nt[de++];if((m&128)>0){de-=13;return}return xi(t,r,n,a,i,s,o,l,u,d,c,v,m)}}else{let m=nt[de++],p=nt[de++];if((m&128)>0||(p&128)>0){de-=14;return}if(e<15)return xi(t,r,n,a,i,s,o,l,u,d,c,v,m,p);let y=nt[de++];if((y&128)>0){de-=15;return}return xi(t,r,n,a,i,s,o,l,u,d,c,v,m,p,y)}}}}}function v1a(e){return ar.copyBuffers?Uint8Array.prototype.slice.call(nt,de,de+=e):nt.subarray(de,de+=e)}var pjt=new Float32Array(1),mX=new Uint8Array(pjt.buffer,0,4);function g1a(){let e=nt[de++],t=nt[de++],r=(e&127)>>2;if(r===31)return t||e&3?NaN:e&128?-1/0:1/0;if(r===0){let n=((e&3)<<8|t)/16777216;return e&128?-n:n}return mX[3]=e&128|(r>>1)+56,mX[2]=(e&7)<<5|t>>3,mX[1]=t<<5,mX[0]=0,pjt[0]}var QEi=new Array(4096);var qo=class{constructor(t,r){this.value=t,this.tag=r}};Ka[0]=e=>new Date(e);Ka[1]=e=>new Date(Math.round(e*1e3));Ka[2]=e=>{let t=BigInt(0);for(let r=0,n=e.byteLength;r<n;r++)t=BigInt(e[r])+(t<<BigInt(8));return t};Ka[3]=e=>BigInt(-1)-Ka[2](e);Ka[4]=e=>+(e[1]+"e"+e[0]);Ka[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));var xwe=(e,t)=>{e=e-57344;let r=fa[e];r&&r.isShared&&((fa.restoreStructures||(fa.restoreStructures=[]))[e]=r),fa[e]=t,t.read=_we(t)};Ka[d1a]=e=>{let t=e.length,r=e[1];xwe(e[0],r);let n={};for(let a=2;a<t;a++){let i=r[a-2];n[L0(i)]=e[a]}return n};Ka[14]=e=>Ga?Ga[0].slice(Ga.position0,Ga.position0+=e):new qo(e,14);Ka[15]=e=>Ga?Ga[1].slice(Ga.position1,Ga.position1+=e):new qo(e,15);var _1a={Error,RegExp};Ka[27]=e=>(_1a[e[0]]||Error)(e[1],e[2]);var mjt=e=>{if(nt[de++]!=132){let r=new Error("Packed values structure must be followed by a 4 element array");throw nt.length<de&&(r.incomplete=!0),r}let t=e();if(!t||!t.length){let r=new Error("Packed values structure must be followed by a 4 element array");throw r.incomplete=!0,r}return Oo=Oo?t.concat(Oo.slice(t.length)):t,Oo.prefixes=e(),Oo.suffixes=e(),e()};mjt.handlesRead=!0;Ka[51]=mjt;Ka[ajt]=e=>{if(!Oo)if(ar.getShared)wwe();else return new qo(e,ajt);if(typeof e=="number")return Oo[16+(e>=0?2*e:-2*e-1)];let t=new Error("No support for non-integer packed references yet");throw e===void 0&&(t.incomplete=!0),t};Ka[28]=e=>{D0||(D0=new Map,D0.id=0);let t=D0.id++,r=de,n=nt[de],a;n>>5==4?a=[]:a={};let i={target:a};D0.set(t,i);let s=e();return i.used?(Object.getPrototypeOf(a)!==Object.getPrototypeOf(s)&&(de=r,a=s,D0.set(t,{target:a}),s=e()),Object.assign(a,s)):(i.target=s,s)};Ka[28].handlesRead=!0;Ka[29]=e=>{let t=D0.get(e);return t.used=!0,t.target};Ka[258]=e=>new Set(e);(Ka[259]=e=>(ar.mapsAsObjects&&(ar.mapsAsObjects=!1,BS=!0),e())).handlesRead=!0;function Y8(e,t){return typeof e=="string"?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function Hh(){if(!Oo)if(ar.getShared)wwe();else throw new Error("No packed values available");return Oo}var x1a=1399353956;gwe.push((e,t)=>{if(e>=225&&e<=255)return Y8(Hh().prefixes[e-224],t);if(e>=28704&&e<=32767)return Y8(Hh().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return Y8(Hh().prefixes[e-1879048192],t);if(e>=216&&e<=223)return Y8(t,Hh().suffixes[e-216]);if(e>=27647&&e<=28671)return Y8(t,Hh().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return Y8(t,Hh().suffixes[e-1811939328]);if(e==x1a)return{packedValues:Oo,structures:fa.slice(0),version:t};if(e==55799)return t});var E1a=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,ojt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array],w1a=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<ojt.length;e++)S1a(ojt[e],w1a[e]);function S1a(e,t){let r="get"+e.name.slice(0,-5),n;typeof e=="function"?n=e.BYTES_PER_ELEMENT:e=null;for(let a=0;a<2;a++){if(!a&&n==1)continue;let i=n==2?1:n==4?2:n==8?3:0;Ka[a?t:t-4]=n==1||a==E1a?s=>{if(!e)throw new Error("Could not find typed array for code "+t);return!ar.copyBuffers&&(n===1||n===2&&!(s.byteOffset&1)||n===4&&!(s.byteOffset&3)||n===8&&!(s.byteOffset&7))?new e(s.buffer,s.byteOffset,s.byteLength>>i):new e(Uint8Array.prototype.slice.call(s,0).buffer)}:s=>{if(!e)throw new Error("Could not find typed array for code "+t);let o=new DataView(s.buffer,s.byteOffset,s.byteLength),l=s.length>>i,u=new e(l),d=o[r];for(let c=0;c<l;c++)u[c]=d.call(o,c<<i,a);return u}}}function T1a(){let e=J8(),t=de+or();for(let n=2;n<e;n++){let a=J8();de+=a}let r=de;return de=t,Ga=[Gh(J8()),Gh(J8())],Ga.position0=0,Ga.position1=0,Ga.postBundlePosition=de,de=r,or()}function J8(){let e=nt[de++]&31;if(e>23)switch(e){case 24:e=nt[de++];break;case 25:e=js.getUint16(de),de+=2;break;case 26:e=js.getUint32(de),de+=4;break}return e}function wwe(){if(ar.getShared){let e=hjt(()=>(nt=null,ar.getShared()))||{},t=e.structures||[];ar.sharedVersion=e.version,Oo=ar.sharedValues=e.packedValues,fa===!0?ar.structures=fa=t:fa.splice.apply(fa,[0,t.length].concat(t))}}function hjt(e){let t=_6,r=de,n=FS,a=VS,i=Wh,s=US,o=zh,l=D0,u=Ga,d=new Uint8Array(nt.slice(0,_6)),c=fa,v=ar,m=HS,p=e();return _6=t,de=r,FS=n,VS=a,Wh=i,US=s,zh=o,D0=l,Ga=u,nt=d,HS=m,fa=c,ar=v,js=new DataView(nt.buffer,nt.byteOffset,nt.byteLength),p}function hX(){nt=null,D0=null,fa=null}var yX=new Array(147);for(let e=0;e<256;e++)yX[e]=+("1e"+Math.floor(45.15-e*.30103));var Swe=new xd({useRecords:!1}),A1a=Swe.decode,I1a=Swe.decodeMultiple,bX={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};var vX;try{vX=new TextEncoder}catch{}var qwe,xjt,xX=typeof globalThis=="object"&&globalThis.Buffer,zS=typeof xX<"u",Twe=zS?xX.allocUnsafeSlow:Uint8Array,yjt=zS?xX:Uint8Array,bjt=256,vjt=zS?4294967296:2144337920;var Awe,ie,En,te=0,x6,ui=null,O1a=61440,q1a=/[\u0080-\uFFFF]/,r0=Symbol("record-id"),E6=class extends xd{constructor(t){super(t),this.offset=0;let r,n,a,i,s,o;t=t||{};let l=yjt.prototype.utf8Write?function(P,U){return ie.utf8Write(P,U,ie.byteLength-U)}:vX&&vX.encodeInto?function(P,U){return vX.encodeInto(P,ie.subarray(U)).written}:!1,u=this,d=t.structures||t.saveStructures,c=t.maxSharedStructures;if(c==null&&(c=d?128:0),c>8190)throw new Error("Maximum maxSharedStructure is 8190");let v=t.sequential;v&&(c=0),this.structures||(this.structures=[]),this.saveStructures&&(this.saveShared=this.saveStructures);let m,p,y=t.sharedValues,b;if(y){b=Object.create(null);for(let P=0,U=y.length;P<U;P++)b[y[P]]=P}let g=[],x=0,E=0;this.mapEncode=function(P,U){return this._keyMap&&!this._mapped&&P.constructor.name==="Array"&&(P=P.map(R=>this.encodeKeys(R))),this.encode(P,U)},this.encode=function(P,U){if(ie||(ie=new Twe(8192),En=new DataView(ie.buffer,0,8192),te=0),x6=ie.length-10,x6-te<2048?(ie=new Twe(ie.length),En=new DataView(ie.buffer,0,ie.length),x6=ie.length-10,te=0):U===Cwe&&(te=te+7&2147483640),n=te,u.useSelfDescribedHeader&&(En.setUint32(te,3654940416),te+=3),o=u.structuredClone?new Map:null,u.bundleStrings&&typeof P!="string"?(ui=[],ui.size=1/0):ui=null,a=u.structures,a){if(a.uninitialized){let $=u.getShared()||{};u.structures=a=$.structures||[],u.sharedVersion=$.version;let I=u.sharedValues=$.packedValues;if(I){b={};for(let T=0,C=I.length;T<C;T++)b[I[T]]=T}}let R=a.length;if(R>c&&!v&&(R=c),!a.transitions){a.transitions=Object.create(null);for(let $=0;$<R;$++){let I=a[$];if(!I)continue;let T,C=a.transitions;for(let L=0,D=I.length;L<D;L++){C[r0]===void 0&&(C[r0]=$);let H=I[L];T=C[H],T||(T=C[H]=Object.create(null)),C=T}C[r0]=$|1048576}}v||(a.nextId=R)}if(i&&(i=!1),s=a||[],p=b,t.pack){let R=new Map;if(R.values=[],R.encoder=u,R.maxValues=t.maxPrivatePackedValues||(b?16:1/0),R.objectMap=b||!1,R.samplingPackedValues=m,gX(P,R),R.values.length>0){ie[te++]=216,ie[te++]=51,wd(4);let $=R.values;w($),wd(0),wd(0),p=Object.create(b||null);for(let I=0,T=$.length;I<T;I++)p[$[I]]=I}}Awe=U&Owe;try{if(Awe)return;if(w(P),ui&&_jt(n,w),u.offset=te,o&&o.idsToInsert){te+=o.idsToInsert.length*2,te>x6&&z(te),u.offset=te;let R=P1a(ie.subarray(n,te),o.idsToInsert);return o=null,R}return U&Cwe?(ie.start=n,ie.end=te,ie):ie.subarray(n,te)}finally{if(a){if(E<10&&E++,a.length>c&&(a.length=c),x>1e4)a.transitions=null,E=0,x=0,g.length>0&&(g=[]);else if(g.length>0&&!v){for(let R=0,$=g.length;R<$;R++)g[R][r0]=void 0;g=[]}}if(i&&u.saveShared){u.structures.length>c&&(u.structures=u.structures.slice(0,c));let R=ie.subarray(n,te);return u.updateSharedData()===!1?u.encode(P):R}U&B1a&&(te=n)}},this.findCommonStringsToPack=()=>(m=new Map,b||(b=Object.create(null)),P=>{let U=P&&P.threshold||4,R=this.pack?P.maxPrivatePackedValues||16:0;y||(y=this.sharedValues=[]);for(let[$,I]of m)I.count>U&&(b[$]=R++,y.push($),i=!0);for(;this.saveShared&&this.updateSharedData()===!1;);m=null});let w=P=>{te>x6&&(ie=z(te));var U=typeof P,R;if(U==="string"){if(p){let C=p[P];if(C>=0){C<16?ie[te++]=C+224:(ie[te++]=198,C&1?w(15-C>>1):w(C-16>>1));return}else if(m&&!t.pack){let L=m.get(P);L?L.count++:m.set(P,{count:1})}}let $=P.length;if(ui&&$>=4&&$<1024){if((ui.size+=$)>O1a){let L,D=(ui[0]?ui[0].length*3+ui[1].length:0)+10;te+D>x6&&(ie=z(te+D)),ie[te++]=217,ie[te++]=223,ie[te++]=249,ie[te++]=ui.position?132:130,ie[te++]=26,L=te-n,te+=4,ui.position&&_jt(n,w),ui=["",""],ui.size=0,ui.position=L}let C=q1a.test(P);ui[C?0:1]+=P,ie[te++]=C?206:207,w($);return}let I;$<32?I=1:$<256?I=2:$<65536?I=3:I=5;let T=$*3;if(te+T>x6&&(ie=z(te+T)),$<64||!l){let C,L,D,H=te+I;for(C=0;C<$;C++)L=P.charCodeAt(C),L<128?ie[H++]=L:L<2048?(ie[H++]=L>>6|192,ie[H++]=L&63|128):(L&64512)===55296&&((D=P.charCodeAt(C+1))&64512)===56320?(L=65536+((L&1023)<<10)+(D&1023),C++,ie[H++]=L>>18|240,ie[H++]=L>>12&63|128,ie[H++]=L>>6&63|128,ie[H++]=L&63|128):(ie[H++]=L>>12|224,ie[H++]=L>>6&63|128,ie[H++]=L&63|128);R=H-te-I}else R=l(P,te+I,T);R<24?ie[te++]=96|R:R<256?(I<2&&ie.copyWithin(te+2,te+1,te+1+R),ie[te++]=120,ie[te++]=R):R<65536?(I<3&&ie.copyWithin(te+3,te+2,te+2+R),ie[te++]=121,ie[te++]=R>>8,ie[te++]=R&255):(I<5&&ie.copyWithin(te+5,te+3,te+3+R),ie[te++]=122,En.setUint32(te,R),te+=4),te+=R}else if(U==="number")if(!this.alwaysUseFloat&&P>>>0===P)P<24?ie[te++]=P:P<256?(ie[te++]=24,ie[te++]=P):P<65536?(ie[te++]=25,ie[te++]=P>>8,ie[te++]=P&255):(ie[te++]=26,En.setUint32(te,P),te+=4);else if(!this.alwaysUseFloat&&P>>0===P)P>=-24?ie[te++]=31-P:P>=-256?(ie[te++]=56,ie[te++]=~P):P>=-65536?(ie[te++]=57,En.setUint16(te,~P),te+=2):(ie[te++]=58,En.setUint32(te,~P),te+=4);else if(!this.alwaysUseFloat&&P<0&&P>=-4294967296&&Math.floor(P)===P)ie[te++]=58,En.setUint32(te,-1-P),te+=4;else{let $;if(($=this.useFloat32)>0&&P<4294967296&&P>=-2147483648){ie[te++]=250,En.setFloat32(te,P);let I;if($<4||(I=P*yX[(ie[te]&127)<<1|ie[te+1]>>7])>>0===I){te+=4;return}else te--}ie[te++]=251,En.setFloat64(te,P),te+=8}else if(U==="object")if(!P)ie[te++]=246;else{if(o){let I=o.get(P);if(I){if(ie[te++]=216,ie[te++]=29,ie[te++]=25,!I.references){let T=o.idsToInsert||(o.idsToInsert=[]);I.references=[],T.push(I)}I.references.push(te-n),te+=2;return}else o.set(P,{offset:te-n})}let $=P.constructor;if($===Object)this.skipFunction===!0&&(P=Object.fromEntries([...Object.keys(P).filter(I=>typeof P[I]!="function").map(I=>[I,P[I]])])),B(P);else if($===Array){R=P.length,R<24?ie[te++]=128|R:wd(R);for(let I=0;I<R;I++)w(P[I])}else if($===Map)if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(ie[te++]=217,ie[te++]=1,ie[te++]=3),R=P.size,R<24?ie[te++]=160|R:R<256?(ie[te++]=184,ie[te++]=R):R<65536?(ie[te++]=185,ie[te++]=R>>8,ie[te++]=R&255):(ie[te++]=186,En.setUint32(te,R),te+=4),u.keyMap)for(let[I,T]of P)w(u.encodeKey(I)),w(T);else for(let[I,T]of P)w(I),w(T);else{for(let I=0,T=qwe.length;I<T;I++){let C=xjt[I];if(P instanceof C){let L=qwe[I],D=L.tag;D==null&&(D=L.getTag&&L.getTag.call(this,P)),D<24?ie[te++]=192|D:D<256?(ie[te++]=216,ie[te++]=D):D<65536?(ie[te++]=217,ie[te++]=D>>8,ie[te++]=D&255):D>-1&&(ie[te++]=218,En.setUint32(te,D),te+=4),L.encode.call(this,P,w,z);return}}if(P[Symbol.iterator]){if(Awe){let I=new Error("Iterable should be serialized as iterator");throw I.iteratorNotHandled=!0,I}ie[te++]=159;for(let I of P)w(I);ie[te++]=255;return}if(P[Symbol.asyncIterator]||Iwe(P)){let I=new Error("Iterable/blob should be serialized as iterator");throw I.iteratorNotHandled=!0,I}if(this.useToJSON&&P.toJSON){let I=P.toJSON();if(I!==P)return w(I)}B(P)}}else if(U==="boolean")ie[te++]=P?245:244;else if(U==="bigint"){if(P<BigInt(1)<<BigInt(64)&&P>=0)ie[te++]=27,En.setBigUint64(te,P);else if(P>-(BigInt(1)<<BigInt(64))&&P<0)ie[te++]=59,En.setBigUint64(te,-P-BigInt(1));else if(this.largeBigIntToFloat)ie[te++]=251,En.setFloat64(te,Number(P));else{P>=BigInt(0)?ie[te++]=194:(ie[te++]=195,P=BigInt(-1)-P);let $=[];for(;P;)$.push(Number(P&BigInt(255))),P>>=BigInt(8);Rwe(new Uint8Array($.reverse()),z);return}te+=8}else if(U==="undefined")ie[te++]=247;else throw new Error("Unknown type: "+U)},B=this.useRecords===!1?this.variableMapSize?P=>{let U=Object.keys(P),R=Object.values(P),$=U.length;$<24?ie[te++]=160|$:$<256?(ie[te++]=184,ie[te++]=$):$<65536?(ie[te++]=185,ie[te++]=$>>8,ie[te++]=$&255):(ie[te++]=186,En.setUint32(te,$),te+=4);let I;if(u.keyMap)for(let T=0;T<$;T++)w(u.encodeKey(U[T])),w(R[T]);else for(let T=0;T<$;T++)w(U[T]),w(R[T])}:P=>{ie[te++]=185;let U=te-n;te+=2;let R=0;if(u.keyMap)for(let $ in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty($))&&(w(u.encodeKey($)),w(P[$]),R++);else for(let $ in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty($))&&(w($),w(P[$]),R++);ie[U+++n]=R>>8,ie[U+n]=R&255}:(P,U)=>{let R,$=s.transitions||(s.transitions=Object.create(null)),I=0,T=0,C,L;if(this.keyMap){L=Object.keys(P).map(H=>this.encodeKey(H)),T=L.length;for(let H=0;H<T;H++){let ae=L[H];R=$[ae],R||(R=$[ae]=Object.create(null),I++),$=R}}else for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&(R=$[H],R||($[r0]&1048576&&(C=$[r0]&65535),R=$[H]=Object.create(null),I++),$=R,T++);let D=$[r0];if(D!==void 0)D&=65535,ie[te++]=217,ie[te++]=D>>8|224,ie[te++]=D&255;else if(L||(L=$.__keys__||($.__keys__=Object.keys(P))),C===void 0?(D=s.nextId++,D||(D=0,s.nextId=1),D>=bjt&&(s.nextId=(D=c)+1)):D=C,s[D]=L,D<c){ie[te++]=217,ie[te++]=D>>8|224,ie[te++]=D&255,$=s.transitions;for(let H=0;H<T;H++)($[r0]===void 0||$[r0]&1048576)&&($[r0]=D),$=$[L[H]];$[r0]=D|1048576,i=!0}else{if($[r0]=D,En.setUint32(te,3655335680),te+=3,I&&(x+=E*I),g.length>=bjt-c&&(g.shift()[r0]=void 0),g.push($),wd(T+2),w(57344+D),w(L),U)return;for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H]);return}if(T<24?ie[te++]=128|T:wd(T),!U)for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H])},z=P=>{let U;if(P>16777216){if(P-n>vjt)throw new Error("Encoded buffer would be larger than maximum buffer size");U=Math.min(vjt,Math.round(Math.max((P-n)*(P>67108864?1.25:2),4194304)/4096)*4096)}else U=(Math.max(P-n<<2,ie.length-1)>>12)+1<<12;let R=new Twe(U);return En=new DataView(R.buffer,0,U),ie.copy?ie.copy(R,0,n,P):R.set(ie.slice(n,P)),te-=n,n=0,x6=R.length-10,ie=R},j=100,V=1e3;this.encodeAsIterable=function(P,U){return M(P,U,F)},this.encodeAsAsyncIterable=function(P,U){return M(P,U,Z)};function*F(P,U,R){let $=P.constructor;if($===Object){let I=u.useRecords!==!1;I?B(P,!0):gjt(Object.keys(P).length,160);for(let T in P){let C=P[T];I||w(T),C&&typeof C=="object"?U[T]?yield*F(C,U[T]):yield*re(C,U,T):w(C)}}else if($===Array){let I=P.length;wd(I);for(let T=0;T<I;T++){let C=P[T];C&&(typeof C=="object"||te-n>j)?U.element?yield*F(C,U.element):yield*re(C,U,"element"):w(C)}}else if(P[Symbol.iterator]&&!P.buffer){ie[te++]=159;for(let I of P)I&&(typeof I=="object"||te-n>j)?U.element?yield*F(I,U.element):yield*re(I,U,"element"):w(I);ie[te++]=255}else Iwe(P)?(gjt(P.size,64),yield ie.subarray(n,te),yield P,Y()):P[Symbol.asyncIterator]?(ie[te++]=159,yield ie.subarray(n,te),yield P,Y(),ie[te++]=255):w(P);R&&te>n?yield ie.subarray(n,te):te-n>j&&(yield ie.subarray(n,te),Y())}function*re(P,U,R){let $=te-n;try{w(P),te-n>j&&(yield ie.subarray(n,te),Y())}catch(I){if(I.iteratorNotHandled)U[R]={},te=n+$,yield*F.call(this,P,U[R]);else throw I}}function Y(){j=V,u.encode(null,Owe)}function M(P,U,R){return U&&U.chunkThreshold?j=V=U.chunkThreshold:j=100,P&&typeof P=="object"?(u.encode(null,Owe),R(P,u.iterateProperties||(u.iterateProperties={}),!0)):[u.encode(P)]}async function*Z(P,U){for(let R of F(P,U,!0)){let $=R.constructor;if($===yjt||$===Uint8Array)yield R;else if(Iwe(R)){let I=R.stream().getReader(),T;for(;!(T=await I.read()).done;)yield T.value}else if(R[Symbol.asyncIterator])for await(let I of R)Y(),I?yield*Z(I,U.async||(U.async={})):yield u.encode(I);else yield R}}}useBuffer(t){ie=t,En=new DataView(ie.buffer,ie.byteOffset,ie.byteLength),te=0}clearSharedData(){this.structures&&(this.structures=[]),this.sharedValues&&(this.sharedValues=void 0)}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let r=this.structures.slice(0),n=new _X(r,this.sharedValues,this.sharedVersion),a=this.saveShared(n,i=>(i&&i.version||0)==t);return a===!1?(n=this.getShared()||{},this.structures=n.structures||[],this.sharedValues=n.packedValues,this.sharedVersion=n.version,this.structures.nextId=this.structures.length):r.forEach((i,s)=>this.structures[s]=i),a}};function gjt(e,t){e<24?ie[te++]=t|e:e<256?(ie[te++]=t|24,ie[te++]=e):e<65536?(ie[te++]=t|25,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=t|26,En.setUint32(te,e),te+=4)}var _X=class{constructor(t,r,n){this.structures=t,this.packedValues=r,this.version=n}};function wd(e){e<24?ie[te++]=128|e:e<256?(ie[te++]=152,ie[te++]=e):e<65536?(ie[te++]=153,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=154,En.setUint32(te,e),te+=4)}var R1a=typeof Blob>"u"?function(){}:Blob;function Iwe(e){if(e instanceof R1a)return!0;let t=e[Symbol.toStringTag];return t==="Blob"||t==="File"}function gX(e,t){switch(typeof e){case"string":if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let n=t.get(e);if(n)++n.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let a=t.samplingPackedValues.get(e);a?a.count++:t.samplingPackedValues.set(e,{count:1})}}break;case"object":if(e)if(e instanceof Array)for(let n=0,a=e.length;n<a;n++)gX(e[n],t);else{let n=!t.encoder.useRecords;for(var r in e)e.hasOwnProperty(r)&&(n&&gX(r,t),gX(e[r],t))}break;case"function":console.log(e)}}var C1a=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;xjt=[Date,Set,Error,RegExp,qo,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?function(){}:BigInt64Array,Float32Array,Float64Array,_X];qwe=[{tag:1,encode(e,t){let r=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&r>=0&&r<4294967296?(ie[te++]=26,En.setUint32(te,r),te+=4):(ie[te++]=251,En.setFloat64(te,r),te+=8)}},{tag:258,encode(e,t){let r=Array.from(e);t(r)}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,r){Rwe(e,r)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||zS&&this.tagUint8Array!==!1))return 64},encode(e,t,r){Rwe(e,r)}},Ed(68,1),Ed(69,2),Ed(70,4),Ed(71,8),Ed(72,1),Ed(77,2),Ed(78,4),Ed(79,8),Ed(85,4),Ed(86,8),{encode(e,t){let r=e.packedValues||[],n=e.structures||[];if(r.values.length>0){ie[te++]=216,ie[te++]=51,wd(4);let a=r.values;t(a),wd(0),wd(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let i=0,s=a.length;i<s;i++)packedObjectMap[a[i]]=i}if(n){En.setUint32(te,3655335424),te+=3;let a=n.slice(0);a.unshift(57344),a.push(new qo(e.version,1399353956)),t(a)}else t(new qo(e.version,1399353956))}}];function Ed(e,t){return!C1a&&t>1&&(e-=4),{tag:e,encode:function(n,a){let i=n.byteLength,s=n.byteOffset||0,o=n.buffer||n;a(zS?xX.from(o,s,i):new Uint8Array(o,s,i))}}}function Rwe(e,t){let r=e.byteLength;r<24?ie[te++]=64+r:r<256?(ie[te++]=88,ie[te++]=r):r<65536?(ie[te++]=89,ie[te++]=r>>8,ie[te++]=r&255):(ie[te++]=90,En.setUint32(te,r),te+=4),te+r>=ie.length&&t(te+r),ie.set(e.buffer?e:new Uint8Array(e),te),te+=r}function P1a(e,t){let r,n=t.length*2,a=e.length-n;t.sort((i,s)=>i.offset>s.offset?1:-1);for(let i=0;i<t.length;i++){let s=t[i];s.id=i;for(let o of s.references)e[o++]=i>>8,e[o]=i&255}for(;r=t.pop();){let i=r.offset;e.copyWithin(i+n,i,a),n-=2;let s=i+n;e[s++]=216,e[s++]=28,a=i}return e}function _jt(e,t){En.setUint32(ui.position+e,te-ui.position-e+1);let r=ui;ui=null,t(r[0]),t(r[1])}var Pwe=new E6({useRecords:!1}),M1a=Pwe.encode,k1a=Pwe.encodeAsIterable,N1a=Pwe.encodeAsAsyncIterable,{NEVER:$1a,ALWAYS:D1a,DECIMAL_ROUND:L1a,DECIMAL_FIT:j1a}=bX,Cwe=512,B1a=1024,Owe=2048;import{createRequire as dha}from"module";var cha=process.env.CBOR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!cha){let e;try{typeof Se=="function"?e=oBt():e=dha(import.meta.url)("cbor-extract"),e&&djt(e.extractStrings)}catch{}}import{Buffer as WS}from"buffer";var fBt=18,lBt=new xd({mapsAsObjects:!1,useRecords:!1}),pha=new E6({mapsAsObjects:!1,useRecords:!1});function Yh(e,t){if(e instanceof Uint8Array)return WS.from(e.buffer,e.byteOffset,e.byteLength);if(WS.isBuffer(e))return e;throw new Wa(`Expected byte string for ${t}`)}function Bwe(e,t){return e==null?null:Yh(e,t)}function Cp(e,t){return e instanceof Map?e.get(t):e[t]}function uBt(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="bigint"){if(e>BigInt(Number.MAX_SAFE_INTEGER)||e<BigInt(Number.MIN_SAFE_INTEGER))throw new Wa(`Timestamp bigint outside JS safe integer range: ${e.toString()}`);return Number(e)}if(e instanceof qo&&e.tag===1)return uBt(e.value);let t=e==null?String(e):`${typeof e}:${String(e).slice(0,60)}`;throw new Wa(`Missing or invalid timestamp (${t})`)}function mha(e){let t;try{t=lBt.decode(e)}catch(c){throw new Wa(`Attestation payload is not valid CBOR: ${c.message}`)}if(!(t instanceof Map)&&(typeof t!="object"||t===null))throw new Wa("Attestation payload is not a map");let r=t,n=Cp(r,"module_id"),a=Cp(r,"digest"),i=uBt(Cp(r,"timestamp")),s=Cp(r,"pcrs"),o=Cp(r,"certificate"),l=Cp(r,"cabundle");if(typeof n!="string")throw new Wa("Missing or invalid module_id");if(typeof a!="string")throw new Wa("Missing or invalid digest");if(!(s instanceof Map))throw new Wa("Missing or invalid pcrs (expected CBOR map)");if(!Array.isArray(l))throw new Wa("Missing or invalid cabundle (expected array)");let u=new Map;for(let[c,v]of s.entries()){if(typeof c!="number")throw new Wa("Non-integer PCR index");u.set(c,Yh(v,`pcrs[${c}]`))}let d=l.map((c,v)=>Yh(c,`cabundle[${v}]`));return{moduleId:n,digest:a,timestamp:i,pcrs:u,certificateDer:Yh(o,"certificate"),cabundleDer:d,publicKey:Bwe(Cp(r,"public_key"),"public_key"),userData:Bwe(Cp(r,"user_data"),"user_data"),nonce:Bwe(Cp(r,"nonce"),"nonce")}}function dBt(e){let t;try{t=WS.from(e,"base64")}catch(o){throw new Wa(`attestation_document is not valid base64: ${o.message}`)}let r;try{r=lBt.decode(t)}catch(o){throw new Wa(`COSE document is not valid CBOR: ${o.message}`)}let n;if(r instanceof qo){if(r.tag!==fBt)throw new Wa(`Unexpected COSE tag ${r.tag}, expected ${fBt}`);n=r.value}else n=r;if(!Array.isArray(n)||n.length!==4)throw new Wa("COSE_Sign1 envelope must be a 4-element array");let a=Yh(n[0],"protected header"),i=Yh(n[2],"payload"),s=Yh(n[3],"signature");return{protectedHeaderBytes:a,payloadBytes:i,signature:s,payload:mha(i)}}function cBt(e,t){let r=pha.encode(["Signature1",e,WS.alloc(0),t]);return WS.from(r.buffer,r.byteOffset,r.byteLength)}import{X509Certificate as hha}from"crypto";function pBt(e,t){try{return new hha(e)}catch(r){throw new _d(`Failed to parse ${t}: ${r.message}`)}}function yha(e,t,r){let n=Date.parse(e.validFrom),a=Date.parse(e.validTo);if(Number.isNaN(n)||Number.isNaN(a))throw new _d(`Cannot parse validity window of ${r}`);if(t<n)throw new _d(`${r} not yet valid at attestation time`);if(t>a)throw new _d(`${r} expired before attestation time`)}function mBt(e){let t=pBt(e.leafDer,"leaf certificate"),r=e.cabundleDer.map((l,u)=>pBt(l,`cabundle[${u}]`)),n=[t],a=new Set([t.fingerprint256]),i=t,s=16;for(let l=0;l<s&&i.subject!==i.issuer;l++){let u=[...r,e.trustedRoot].filter(c=>!a.has(c.fingerprint256)&&i.checkIssued(c)),d=null;for(let c of u)if(i.verify(c.publicKey)){d=c;break}if(!d)throw new _d(`No issuer found for certificate with subject ${i.subject}`);n.push(d),a.add(d.fingerprint256),i=d}if(n[n.length-1].fingerprint256!==e.trustedRoot.fingerprint256)throw new _d("Certificate chain does not terminate at the trusted AWS Nitro Root CA");for(let l=0;l<n.length;l++)yha(n[l],e.refTimeMs,l===0?"leaf":`chain[${l}]`);return{leaf:t,chain:n}}function gha(e){try{return new vha(e)}catch(t){throw new $0(`Failed to parse bundled AWS Nitro Root CA: ${t.message}`)}}function _ha(e,t){if(!t||t.length===0)throw new g6("Attestation payload does not include a public key");let r;try{r=hBt({key:e,format:"pem"})}catch(a){throw new g6(`Response public_key is not a valid PEM key: ${a.message}`)}let n;try{let a=r.export({type:"spki",format:"der"});n=yBt.isBuffer(a)?a:yBt.from(a)}catch(a){throw new g6(`Failed to encode response public key as SPKI DER: ${a.message}`)}if(!n.equals(t))throw new g6("Response public_key does not match the public key endorsed by the attestation");return hBt({key:t,format:"der",type:"spki"})}function Fwe(e,t,r=Date.now()){if(!e||typeof e.attestation_document!="string"||typeof e.public_key!="string")throw new Wa("Response missing attestation_document or public_key");let n=dBt(e.attestation_document),a=gha(t.awsNitroRootCaPem),{leaf:i}=mBt({leafDer:n.payload.certificateDer,cabundleDer:n.payload.cabundleDer,trustedRoot:a,refTimeMs:n.payload.timestamp}),s=cBt(n.protectedHeaderBytes,n.payloadBytes),o=!1;try{o=bha("sha384",s,{key:i.publicKey,dsaEncoding:"ieee-p1363"},n.signature)}catch(c){throw new G8(`COSE signature verification failed: ${c.message}`)}if(!o)throw new G8("COSE signature did not verify against the leaf certificate");let l=_ha(e.public_key,n.payload.publicKey),u=Math.abs(r-n.payload.timestamp);if(u>t.maxAttestationAgeMs)throw new LS(`Attestation timestamp is ${u}ms from local clock, exceeds maxAttestationAgeMs ${t.maxAttestationAgeMs}`);let d={};for(let[c,v]of n.payload.pcrs.entries())d[c]=rjt(v);return{publicKey:l,pcrs:d,timestamp:n.payload.timestamp,moduleId:n.payload.moduleId}}function bBt(e){if(xha.isAxiosError(e)&&e.response?.data){let t=e.response.data;return console.log(GS.red(t.message)),typeof t=="string"?t:t.message||JSON.stringify(t)}return e instanceof Error?e.message:String(e)}async function Eha(e,t){try{let r=v0({namespace:t});return(await e.post("getkey",r)).data}catch(r){return bBt(r),console.error(GS.red("Failed to retrieve encryption key from Hub-TEE-KMS. Please try again")),null}}function wha(e){let t=typeof e.publicKey=="string"?tu.createPublicKey({key:e.publicKey,format:"pem"}):e.publicKey,r=tu.randomBytes(32),n=tu.randomBytes(12),a=tu.createCipheriv("aes-256-gcm",r,n),i=Buffer.concat([a.update(e.authString,"utf8"),a.final()]),s=a.getAuthTag(),o=Buffer.concat([i,s]),l=tu.publicEncrypt({key:t,padding:tu.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:"sha256"},r);return r.fill(0),{encrypted_authString:o.toString("base64"),encrypted_key:l.toString("base64"),iv:n.toString("base64")}}async function vBt(e,t,r,n=bwe()){try{let a=await Eha(e,r);if(!a)return null;let i;try{i=Fwe(a,n).publicKey}catch(o){if(o instanceof $0)return console.error(GS.red(`Enclave attestation verification failed (${o.name}): ${o.message}`)),console.error(GS.red("Refusing to encrypt credentials to an unverified public key.")),null;throw o}return{...wha({publicKey:i,authString:t}),public_key:a.public_key}}catch(a){return bBt(a),console.error(GS.red("Failed to encrypt credentials. Please try again.")),null}}async function gBt(e,t,r){let n=await vBt(e,r,t.namespace);if(!n)return null;let a=v0({...t,public_key:n.public_key,encrypted_authString:n.encrypted_authString,encrypted_key:n.encrypted_key,iv:n.iv});try{return await e.post("credentials",a),{ok:!0}}catch(i){return Sha.isAxiosError(i)&&i.response?{ok:!1,status:i.response.status}:(b0(i),null)}}async function _Bt(e,t,r,n,a,i,s){console.log("Deploying the API Authentication Credentials");try{if(!NLt(i))throw"Invalid private key provided";if(!Tha.isAddress(s))throw"Invalid address provided";if(Sre(n,a),!W8(e))throw"Invalid taskId";let o=await BKe(),l={taskId:e,namespace:t,taskName:r,method:n};console.log("Encrypting credentials...");let u=await gBt(o,l,a);if(!u)return;if(!u.ok)if(u.status===403){console.log(Uwe.yellow("TEE rejected the session (403). Fetching a fresh session key and retrying once..."));let d=await gBt(o,l,a);if(!d)return;if(!d.ok)throw`TEE rejected credentials twice with status ${d.status}. Aborting to avoid a hot loop.`}else throw`TEE rejected credentials with status ${u.status}`;console.log("The encrypted credentials were deployed "+Uwe.green("Successfully"))}catch(o){let l=o instanceof Error?o.message:String(o);console.error(Uwe.red(l));return}}import Pp from"colors";Os();var Aha=3e4,IX=null;async function xBt(){if(IX&&IX.expiresAt>Date.now())return IX.chains;let r=(await(await Fb()).get("chains")).data??[];return IX={chains:r,expiresAt:Date.now()+Aha},r}async function EBt(){let e;try{e=await xBt()}catch(a){console.error(Pp.red(`Failed to fetch supported chains: ${a instanceof Error?a.message:String(a)}`)),process.exit(1)}if(e.length===0){console.log(Pp.yellow("No chains configured on this deployment."));return}let t=e.map(a=>({chainId:String(a.chainId),name:a.displayName,symbol:a.symbol,network:a.isTestnet?"testnet":"mainnet"})).sort((a,i)=>a.name.localeCompare(i.name)),r={chainId:Math.max(8,...t.map(a=>a.chainId.length)),name:Math.max(4,...t.map(a=>a.name.length)),symbol:Math.max(6,...t.map(a=>a.symbol.length)),network:Math.max(7,...t.map(a=>a.network.length))},n=(a,i)=>a+" ".repeat(Math.max(0,i-a.length));console.log(Pp.cyan(n("chainId",r.chainId)+" "+n("name",r.name)+" "+n("symbol",r.symbol)+" network")),console.log(Pp.gray("-".repeat(r.chainId)+" "+"-".repeat(r.name)+" "+"-".repeat(r.symbol)+" "+"-".repeat(r.network)));for(let a of t)console.log(Pp.yellow(n(a.chainId,r.chainId))+" "+Pp.white(n(a.name,r.name))+" "+Pp.gray(n(a.symbol,r.symbol))+" "+(a.network==="mainnet"?Pp.green(a.network):Pp.gray(a.network)))}import{inspect as hba}from"util";import ms from"ora";import{v4 as yba}from"uuid";import{ethers as FX}from"ethers";var wBt={name:"@truebit/cli",version:"1.124.6",private:!1,description:"truebit-cli is a basic command line that allows interaction between users and truebit nextgen node.",author:{name:"Truebit Co.",url:"https://truebit.io/"},license:"https://truebit.io/terms/",repository:{type:"git",url:"https://github.com/TruebitProtocol"},homepage:"https://truebit.io/",main:"build/index.mjs",module:"build/index.mjs",types:"build/types/index.d.ts",type:"module",scripts:{prebuild:"rimraf build logs","prebuild:dev":"rimraf build logs","build:dev":"tsc && chmod +x build/index.mjs",build:"NODE_ENV=production node esbuild.config.mjs && chmod +x build/index.mjs",dev:"export NODE_ENV=development && npx nodemon",test:"vitest run --passWithNoTests tests/"},dependencies:{axios:"1.16.1","cbor-x":"1.6.4",chalk:"5.6.2",colors:"1.4.0",commander:"14.0.3",ethers:"6.16.0",figlet:"1.11.0","form-data":"4.0.5","openapi-enforcer":"1.23.0",ora:"9.4.0","public-ip":"8.0.0","ts-retry":"6.0.0",uuid:"14.0.0"},bin:{truebit:"build/index.mjs"},files:["build"],devDependencies:{"@types/figlet":"1.7.0","@vitest/coverage-v8":"4.1.6",esbuild:"0.28.0",typescript:"5.9.3",vitest:"4.1.6"},engines:{node:">=22.13.0"}};Ci();Os();f0();Ci();import{createInterface as Mha}from"node:readline/promises";import Mp from"chalk";Os();import KS from"axios";import{ethers as Q8}from"ethers";import{randomBytes as Oha}from"crypto";import{v4 as qha}from"uuid";Ci();import{ethers as OX}from"ethers";async function SBt(e){Uh(e);let t=Yi(),r=on(t,Ot.AVAX),n=OX.keccak256(OX.toUtf8Bytes(e));return await r.authorization.registerAuthorization(n),n}async function Vwe(e,t,r=er("address")){Uh(e);let n=Yi(),a=on(n,Ot.AVAX),i=await a.authorization.getEIP712Domain(),s=await a.authorization.nonces(r),o=Math.floor(Date.now()/1e3)+3600,l={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},u=OX.keccak256(OX.toUtf8Bytes(e)),d={user:r,apiKeyHash:u,nonce:Number(s),deadline:o};if(!a.utils)throw new Error("Private key is required for signing operations");let c=await a.utils.signMeta(i,l,d);return(await DLt(r,u,o,c,t)).status==201?u:null}Ci();f0();import{isTooManyTries as TBt,retryAsync as ABt}from"ts-retry";var IBt="0x0000000000000000000000000000000000000000";async function OBt(e){let t=!0;return e===""?(t=!1,console.log("An email address is required. Please provide your email address to proceed.")):new RegExp(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(e)?await Rha(e)&&(t=!1,console.log("The provided email address is already in use. Please enter a different email address.")):(t=!1,console.log("The email address provided is not valid. Please try again.")),t}function Jh(e){return e==="Y"||e==="N"}function qBt(e){return!Q8.isAddress(e)||e.length!==42||!e.startsWith("0x")}async function RBt(){let e=Yi(),t=on(e,Ot.AVAX),r=er("address"),n=await Pha(),a=await Cha();Uh(a);let i=Q8.keccak256(Q8.toUtf8Bytes(a)),s=Math.floor(Date.now()/1e3)+3600,o=await t.taskRegistry.getEIP712Domain(),l=await t.authorization.getEIP712Domain(),u={RegisterTaskNamespaceMeta:[{name:"user",type:"address"},{name:"namespace",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},d={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},c=BigInt(await t.taskRegistry.nonces(r)),v=await t.authorization.nonces(r),m={user:Q8.getAddress(r),namespace:n,nonce:c,deadline:s},p={user:r,apiKeyHash:i,nonce:Number(v),deadline:s};if(!t.utils)throw new Error("Private key is required for signing operations");let y=await t.utils.signMeta(o,u,m),b=await t.utils.signMeta(l,d,p),g={user:r,namespace:n,apiKeyHash:i,namespaceSignature:y,apiKeySignature:b,namespaceDeadline:s,apiKeyDeadline:s};try{let x=await LLt(g);if(x.status!==201)throw new Error("Registration failed with unexpected status");if(!x.data.namespaceRegistration.success)throw new Error("Namespace registration failed");if(!x.data.apiKeyRegistration.success)throw new Error("API key registration failed");return{namespace:n,apiKey:a,hashedApiKey:i}}catch(x){let E=x.message;throw new Error(`Combined registration failed: ${E}`)}}async function Rha(e){let t=await Is();try{return(await t.get(`userexistence/${e}`)).data===!0}catch(r){if(KS.isAxiosError(r)&&r.response?.status===404&&typeof r.response?.data?.message=="string"&&r.response.data.message.includes("User not found"))return!1;throw r}}async function qX(e,t){try{let r={message:"I am a Truebit User"};if(!t)throw Error("Secret.json does not exists");let n=t.privateKey,a=t.address,i=Pa.createSignedBody(r,n,a);return(await(await Is()).get(`user/${e}`,{headers:{"truebit-auth":JSON.stringify(i)}})).data}catch(r){if(KS.isAxiosError(r)&&r.response?.status===401&&r.response?.data.message.includes("Entitlement Validation Error")||KS.isAxiosError(r)&&r.response?.status==404&&r.response?.data.message&&r.response?.data.message.includes("User not found"))return null;throw KS.isAxiosError(r)?r.response?Error(`The server responding with an error -> ${r.response.data.message||r.response.status+" - "+r.response.statusText}`):r.request?Error(`The server is not responding -> ${r.message}`):Error(`There was an error in the communication with the server -> ${r.message}`):Error(typeof r=="string"?`There was an error in the communication with the server -> ${r}`:"There was an error in the communication with the server.")}}async function CBt(e){try{return await(await Is()).post("user/register",e)}catch(t){throw KS.isAxiosError(t)?t.response?Error(`The server responding with an error -> ${t.response.data.message||t.response.status+" - "+t.response.statusText}`):t.request?Error(`The server is not responding -> ${t.message}`):Error(`There was an error in the communication with the server -> ${t.message}`):Error(typeof t=="string"?`There was an error in the communication with the server -> ${t}`:"There was an error in the communication with the server.")}}async function Cha(){let e=Yi(),t=on(e,Ot.AVAX),r="";try{await ABt(async()=>{r=qha();let n=Q8.keccak256(Q8.toUtf8Bytes(r));return await t.authorization.getPayerAddress(n)===IBt},{delay:500,maxTry:5,until:n=>n===!0})}catch(n){throw TBt(n)?Error("Attempts to generate unique Api Key for the user exhausted."):n}return r}async function Pha(){let e=Yi(),t=on(e,Ot.AVAX),r="";try{await ABt(async()=>(r=Oha(4).toString("hex"),await t.taskRegistry.getNamespaceOwner(r)===IBt),{delay:500,maxTry:5,until:n=>n===!0})}catch(n){throw TBt(n)?Error("Attempts to generate unique namespace for the user exhausted."):n}return r}function PBt(e){e.fullNameAnswer="",e.emailAddressAnswer="",e.companyNameAnswer="",e.jobPositionAnswer="",e.eulaAnswer="",e.confirmRegistration=""}f0();pm();import kha from"ora";import*as RX from"os";async function MBt(e,t,r){let n=qs(),a=n!==null,i=0,s,o=Mha({input:process.stdin,output:process.stdout,terminal:!0});switch(a&&(qBt(n.address)?i=1:(s=await qX(n.address,n),s?i=2:i=3)),i){case 1:console.log("The wallet set in the configuration must be a valid ethereum address. (ENS not supported yet)");break;case 2:console.log(bn.SETUP_STEP1_SCENARIO1_P2(s));break;case 3:{console.log(bn.SETUP_STEP2_SCENARIO3_P1),console.log();let l={user_ip:e,date_time:ba(),os_version:RX.type+"_"+RX.release,node_version:process.version,cli_version:t};await r.sendEventToMixpanel("user_registration_begin",l);let u={confirmRegistration:"",fullNameAnswer:"",emailAddressAnswer:"",companyNameAnswer:"",jobPositionAnswer:"",eulaAnswer:""};try{for(;u.confirmRegistration!="Y";){for(u.fullNameAnswer=(await o.question(Mp.bold(" 1. Full Name: "))).trim();u.fullNameAnswer==="";)console.log("Your full name is required. Please provide your first and last name to proceed."),u.fullNameAnswer=(await o.question(Mp.bold(" 1. Full Name: "))).trim();for(u.emailAddressAnswer=(await o.question(Mp.bold(" 2. Email Address: "))).trim();!await OBt(u.emailAddressAnswer);)u.emailAddressAnswer=(await o.question(Mp.bold(" 2. Email Address: "))).trim();for(u.companyNameAnswer=(await o.question(Mp.bold(" 3. Company Name: "))).trim(),u.jobPositionAnswer=(await o.question(Mp.bold(" 4. Job Position: "))).trim();!Jh(u.eulaAnswer);)u.eulaAnswer=(await o.question(Mp.bold(` 5. Accept EULA? [Y|N] (${bn.EULA_TERMS_LINK}): `))).toUpperCase();if(u.eulaAnswer=="N"){console.log(bn.EULA_REGISTRATION_NO_ACCEPTED);break}for(;!Jh(u.confirmRegistration);)console.log(`
521
+ `;var u1a=300*1e3;function bwe(e=process.env){let t=u1a;if(e.ENCLAVE_MAX_ATTESTATION_AGE_MS!==void 0){let r=Number(e.ENCLAVE_MAX_ATTESTATION_AGE_MS);if(!Number.isFinite(r)||r<=0)throw new Error("ENCLAVE_MAX_ATTESTATION_AGE_MS must be a positive number");t=r}return{awsNitroRootCaPem:tjt,maxAttestationAgeMs:t}}function rjt(e){return e.toString("hex").toLowerCase()}import{createPublicKey as hBt,verify as bha,X509Certificate as vha}from"crypto";import{Buffer as yBt}from"buffer";var vwe;try{vwe=new TextDecoder}catch{}var nt,_6,de=0;var Ewe=[],d1a=105,c1a=57342,p1a=57343,njt=57337;var ajt=6,K8={},jS=11281e4,qp=1681e4;var zh=Ewe,FS=0,ar={},fa,US,VS=0,Wh=0,Ga,D0,Ka=[],gwe=[],Oo,js,BS,ijt={useRecords:!1,mapsAsObjects:!0},HS=!1,fjt=2;try{new Function("")}catch{fjt=1/0}var xd=class e{constructor(t){if(t&&((t.keyMap||t._keyMap)&&!t.useRecords&&(t.useRecords=!1,t.mapsAsObjects=!0),t.useRecords===!1&&t.mapsAsObjects===void 0&&(t.mapsAsObjects=!0),t.getStructures&&(t.getShared=t.getStructures),t.getShared&&!t.structures&&((t.structures=[]).uninitialized=!0),t.keyMap)){this.mapKey=new Map;for(let[r,n]of Object.entries(t.keyMap))this.mapKey.set(n,r)}Object.assign(this,t)}decodeKey(t){return this.keyMap&&this.mapKey.get(t)||t}encodeKey(t){return this.keyMap&&this.keyMap.hasOwnProperty(t)?this.keyMap[t]:t}encodeKeys(t){if(!this._keyMap)return t;let r=new Map;for(let[n,a]of Object.entries(t))r.set(this._keyMap.hasOwnProperty(n)?this._keyMap[n]:n,a);return r}decodeKeys(t){if(!this._keyMap||t.constructor.name!="Map")return t;if(!this._mapKey){this._mapKey=new Map;for(let[n,a]of Object.entries(this._keyMap))this._mapKey.set(a,n)}let r={};return t.forEach((n,a)=>r[L0(this._mapKey.has(a)?this._mapKey.get(a):a)]=n),r}mapDecode(t,r){let n=this.decode(t);return this._keyMap&&n.constructor.name==="Array"?n.map(a=>this.decodeKeys(a)):n}decode(t,r){if(nt)return hjt(()=>(hX(),this?this.decode(t,r):e.prototype.decode.call(ijt,t,r)));_6=r>-1?r:t.length,de=0,FS=0,Wh=0,US=null,zh=Ewe,Ga=null,nt=t;try{js=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(n){throw nt=null,t instanceof Uint8Array?n:new Error("Source must be a Uint8Array or Buffer but was a "+(t&&typeof t=="object"?t.constructor.name:typeof t))}if(this instanceof e){if(ar=this,Oo=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return fa=this.structures,pX();(!fa||fa.length>0)&&(fa=[])}else ar=ijt,(!fa||fa.length>0)&&(fa=[]),Oo=null;return pX()}decodeMultiple(t,r){let n,a=0;try{let i=t.length;HS=!0;let s=this?this.decode(t,i):Swe.decode(t,i);if(r){if(r(s)===!1)return;for(;de<i;)if(a=de,r(pX())===!1)return}else{for(n=[s];de<i;)a=de,n.push(pX());return n}}catch(i){throw i.lastPosition=a,i.values=n,i}finally{HS=!1,hX()}}};function pX(){try{let e=or();if(Ga){if(de>=Ga.postBundlePosition){let t=new Error("Unexpected bundle position");throw t.incomplete=!0,t}de=Ga.postBundlePosition,Ga=null}if(de==_6)fa=null,nt=null,D0&&(D0=null);else if(de>_6){let t=new Error("Unexpected end of CBOR data");throw t.incomplete=!0,t}else if(!HS)throw new Error("Data read, but end of buffer not reached");return e}catch(e){throw hX(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer"))&&(e.incomplete=!0),e}}function or(){let e=nt[de++],t=e>>5;if(e=e&31,e>23)switch(e){case 24:e=nt[de++];break;case 25:if(t==7)return g1a();e=js.getUint16(de),de+=2;break;case 26:if(t==7){let r=js.getFloat32(de);if(ar.useFloat32>2){let n=yX[(nt[de]&127)<<1|nt[de+1]>>7];return de+=4,(n*r+(r>0?.5:-.5)>>0)/n}return de+=4,r}if(e=js.getUint32(de),de+=4,t===1)return-1-e;break;case 27:if(t==7){let r=js.getFloat64(de);return de+=8,r}if(t>1){if(js.getUint32(de)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");e=js.getUint32(de+4)}else ar.int64AsNumber?(e=js.getUint32(de)*4294967296,e+=js.getUint32(de+4)):e=js.getBigUint64(de);de+=8;break;case 31:switch(t){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let r=[],n,a=0;for(;(n=or())!=K8;){if(a>=jS)throw new Error(`Array length exceeds ${jS}`);r[a++]=n}return t==4?r:t==3?r.join(""):Buffer.concat(r);case 5:let i;if(ar.mapsAsObjects){let s={},o=0;if(ar.keyMap)for(;(i=or())!=K8;){if(o++>=qp)throw new Error(`Property count exceeds ${qp}`);s[L0(ar.decodeKey(i))]=or()}else for(;(i=or())!=K8;){if(o++>=qp)throw new Error(`Property count exceeds ${qp}`);s[L0(i)]=or()}return s}else{BS&&(ar.mapsAsObjects=!0,BS=!1);let s=new Map;if(ar.keyMap){let o=0;for(;(i=or())!=K8;){if(o++>=qp)throw new Error(`Map size exceeds ${qp}`);s.set(ar.decodeKey(i),or())}}else{let o=0;for(;(i=or())!=K8;){if(o++>=qp)throw new Error(`Map size exceeds ${qp}`);s.set(i,or())}}return s}case 7:return K8;default:throw new Error("Invalid major type for indefinite length "+t)}default:throw new Error("Unknown token "+e)}switch(t){case 0:return e;case 1:return~e;case 2:return v1a(e);case 3:if(Wh>=de)return US.slice(de-VS,(de+=e)-VS);if(Wh==0&&_6<140&&e<32){let a=e<16?cjt(e):b1a(e);if(a!=null)return a}return ljt(e);case 4:if(e>=jS)throw new Error(`Array length exceeds ${jS}`);let r=new Array(e);for(let a=0;a<e;a++)r[a]=or();return r;case 5:if(e>=qp)throw new Error(`Map size exceeds ${jS}`);if(ar.mapsAsObjects){let a={};if(ar.keyMap)for(let i=0;i<e;i++)a[L0(ar.decodeKey(or()))]=or();else for(let i=0;i<e;i++)a[L0(or())]=or();return a}else{BS&&(ar.mapsAsObjects=!0,BS=!1);let a=new Map;if(ar.keyMap)for(let i=0;i<e;i++)a.set(ar.decodeKey(or()),or());else for(let i=0;i<e;i++)a.set(or(),or());return a}case 6:if(e>=njt){let a=fa[e&8191];if(a)return a.read||(a.read=_we(a)),a.read();if(e<65536){if(e==p1a){let i=J8(),s=or(),o=or();xwe(s,o);let l={};if(ar.keyMap)for(let u=2;u<i;u++){let d=ar.decodeKey(o[u-2]);l[L0(d)]=or()}else for(let u=2;u<i;u++){let d=o[u-2];l[L0(d)]=or()}return l}else if(e==c1a){let i=J8(),s=or();for(let o=2;o<i;o++)xwe(s++,or());return or()}else if(e==njt)return T1a();if(ar.getShared&&(wwe(),a=fa[e&8191],a))return a.read||(a.read=_we(a)),a.read()}}let n=Ka[e];if(n)return n.handlesRead?n(or):n(or());{let a=or();for(let i=0;i<gwe.length;i++){let s=gwe[i](e,a);if(s!==void 0)return s}return new qo(a,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let a=(Oo||Hh())[e];if(a!==void 0)return a;throw new Error("Unknown token "+e)}default:if(isNaN(e)){let a=new Error("Unexpected end of CBOR data");throw a.incomplete=!0,a}throw new Error("Unknown CBOR token "+e)}}var sjt=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function _we(e){if(!e)throw new Error("Structure is required in record definition");function t(){let r=nt[de++];if(r=r&31,r>23)switch(r){case 24:r=nt[de++];break;case 25:r=js.getUint16(de),de+=2;break;case 26:r=js.getUint32(de),de+=4;break;default:throw new Error("Expected array header, but got "+nt[de-1])}let n=this.compiledReader;for(;n;){if(n.propertyCount===r)return n(or);n=n.next}if(this.slowReads++>=fjt){let i=this.length==r?this:this.slice(0,r);return n=ar.keyMap?new Function("r","return {"+i.map(s=>ar.decodeKey(s)).map(s=>sjt.test(s)?L0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"):new Function("r","return {"+i.map(s=>sjt.test(s)?L0(s)+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"}"),this.compiledReader&&(n.next=this.compiledReader),n.propertyCount=r,this.compiledReader=n,n(or)}let a={};if(ar.keyMap)for(let i=0;i<r;i++)a[L0(ar.decodeKey(this[i]))]=or();else for(let i=0;i<r;i++)a[L0(this[i])]=or();return a}return e.slowReads=0,t}function L0(e){if(typeof e=="string")return e==="__proto__"?"__proto_":e;if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")return e.toString();if(e==null)return e+"";throw new Error("Invalid property name type "+typeof e)}var ljt=Gh,m1a=Gh,h1a=Gh,y1a=Gh,ujt=!1;function djt(e){ujt=!0,ljt=t(1),m1a=t(2),h1a=t(3),y1a=t(5);function t(r){return function(a){let i=zh[FS++];if(i==null){if(Ga)return Gh(a);let o=e(de,_6,a,nt);if(typeof o=="string")i=o,zh=Ewe;else if(zh=o,FS=1,Wh=1,i=zh[0],i===void 0)throw new Error("Unexpected end of buffer")}let s=i.length;return s<=a?(de+=a,i):(US=i,VS=de,Wh=de+s,de+=a,i.slice(0,a))}}}function Gh(e){let t;if(e<16&&(t=cjt(e)))return t;if(e>64&&vwe)return vwe.decode(nt.subarray(de,de+=e));let r=de+e,n=[];for(t="";de<r;){let a=nt[de++];if((a&128)===0)n.push(a);else if((a&224)===192){let i=nt[de++]&63,s=(a&31)<<6|i;s<128?n.push(65533):n.push(s)}else if((a&240)===224){let i=nt[de++]&63,s=nt[de++]&63,o=(a&31)<<12|i<<6|s;o<2048||o>=55296&&o<=57343?n.push(65533):n.push(o)}else if((a&248)===240){let i=nt[de++]&63,s=nt[de++]&63,o=nt[de++]&63,l=(a&7)<<18|i<<12|s<<6|o;l<65536||l>1114111?n.push(65533):(l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|l&1023),n.push(l))}else n.push(65533);n.length>=4096&&(t+=xi.apply(String,n),n.length=0)}return n.length>0&&(t+=xi.apply(String,n)),t}var xi=String.fromCharCode;function b1a(e){let t=de,r=new Array(e);for(let n=0;n<e;n++){let a=nt[de++];if((a&128)>0){de=t;return}r[n]=a}return xi.apply(String,r)}function cjt(e){if(e<4)if(e<2){if(e===0)return"";{let t=nt[de++];if((t&128)>1){de-=1;return}return xi(t)}}else{let t=nt[de++],r=nt[de++];if((t&128)>0||(r&128)>0){de-=2;return}if(e<3)return xi(t,r);let n=nt[de++];if((n&128)>0){de-=3;return}return xi(t,r,n)}else{let t=nt[de++],r=nt[de++],n=nt[de++],a=nt[de++];if((t&128)>0||(r&128)>0||(n&128)>0||(a&128)>0){de-=4;return}if(e<6){if(e===4)return xi(t,r,n,a);{let i=nt[de++];if((i&128)>0){de-=5;return}return xi(t,r,n,a,i)}}else if(e<8){let i=nt[de++],s=nt[de++];if((i&128)>0||(s&128)>0){de-=6;return}if(e<7)return xi(t,r,n,a,i,s);let o=nt[de++];if((o&128)>0){de-=7;return}return xi(t,r,n,a,i,s,o)}else{let i=nt[de++],s=nt[de++],o=nt[de++],l=nt[de++];if((i&128)>0||(s&128)>0||(o&128)>0||(l&128)>0){de-=8;return}if(e<10){if(e===8)return xi(t,r,n,a,i,s,o,l);{let u=nt[de++];if((u&128)>0){de-=9;return}return xi(t,r,n,a,i,s,o,l,u)}}else if(e<12){let u=nt[de++],d=nt[de++];if((u&128)>0||(d&128)>0){de-=10;return}if(e<11)return xi(t,r,n,a,i,s,o,l,u,d);let c=nt[de++];if((c&128)>0){de-=11;return}return xi(t,r,n,a,i,s,o,l,u,d,c)}else{let u=nt[de++],d=nt[de++],c=nt[de++],v=nt[de++];if((u&128)>0||(d&128)>0||(c&128)>0||(v&128)>0){de-=12;return}if(e<14){if(e===12)return xi(t,r,n,a,i,s,o,l,u,d,c,v);{let m=nt[de++];if((m&128)>0){de-=13;return}return xi(t,r,n,a,i,s,o,l,u,d,c,v,m)}}else{let m=nt[de++],p=nt[de++];if((m&128)>0||(p&128)>0){de-=14;return}if(e<15)return xi(t,r,n,a,i,s,o,l,u,d,c,v,m,p);let y=nt[de++];if((y&128)>0){de-=15;return}return xi(t,r,n,a,i,s,o,l,u,d,c,v,m,p,y)}}}}}function v1a(e){return ar.copyBuffers?Uint8Array.prototype.slice.call(nt,de,de+=e):nt.subarray(de,de+=e)}var pjt=new Float32Array(1),mX=new Uint8Array(pjt.buffer,0,4);function g1a(){let e=nt[de++],t=nt[de++],r=(e&127)>>2;if(r===31)return t||e&3?NaN:e&128?-1/0:1/0;if(r===0){let n=((e&3)<<8|t)/16777216;return e&128?-n:n}return mX[3]=e&128|(r>>1)+56,mX[2]=(e&7)<<5|t>>3,mX[1]=t<<5,mX[0]=0,pjt[0]}var QEi=new Array(4096);var qo=class{constructor(t,r){this.value=t,this.tag=r}};Ka[0]=e=>new Date(e);Ka[1]=e=>new Date(Math.round(e*1e3));Ka[2]=e=>{let t=BigInt(0);for(let r=0,n=e.byteLength;r<n;r++)t=BigInt(e[r])+(t<<BigInt(8));return t};Ka[3]=e=>BigInt(-1)-Ka[2](e);Ka[4]=e=>+(e[1]+"e"+e[0]);Ka[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));var xwe=(e,t)=>{e=e-57344;let r=fa[e];r&&r.isShared&&((fa.restoreStructures||(fa.restoreStructures=[]))[e]=r),fa[e]=t,t.read=_we(t)};Ka[d1a]=e=>{let t=e.length,r=e[1];xwe(e[0],r);let n={};for(let a=2;a<t;a++){let i=r[a-2];n[L0(i)]=e[a]}return n};Ka[14]=e=>Ga?Ga[0].slice(Ga.position0,Ga.position0+=e):new qo(e,14);Ka[15]=e=>Ga?Ga[1].slice(Ga.position1,Ga.position1+=e):new qo(e,15);var _1a={Error,RegExp};Ka[27]=e=>(_1a[e[0]]||Error)(e[1],e[2]);var mjt=e=>{if(nt[de++]!=132){let r=new Error("Packed values structure must be followed by a 4 element array");throw nt.length<de&&(r.incomplete=!0),r}let t=e();if(!t||!t.length){let r=new Error("Packed values structure must be followed by a 4 element array");throw r.incomplete=!0,r}return Oo=Oo?t.concat(Oo.slice(t.length)):t,Oo.prefixes=e(),Oo.suffixes=e(),e()};mjt.handlesRead=!0;Ka[51]=mjt;Ka[ajt]=e=>{if(!Oo)if(ar.getShared)wwe();else return new qo(e,ajt);if(typeof e=="number")return Oo[16+(e>=0?2*e:-2*e-1)];let t=new Error("No support for non-integer packed references yet");throw e===void 0&&(t.incomplete=!0),t};Ka[28]=e=>{D0||(D0=new Map,D0.id=0);let t=D0.id++,r=de,n=nt[de],a;n>>5==4?a=[]:a={};let i={target:a};D0.set(t,i);let s=e();return i.used?(Object.getPrototypeOf(a)!==Object.getPrototypeOf(s)&&(de=r,a=s,D0.set(t,{target:a}),s=e()),Object.assign(a,s)):(i.target=s,s)};Ka[28].handlesRead=!0;Ka[29]=e=>{let t=D0.get(e);return t.used=!0,t.target};Ka[258]=e=>new Set(e);(Ka[259]=e=>(ar.mapsAsObjects&&(ar.mapsAsObjects=!1,BS=!0),e())).handlesRead=!0;function Y8(e,t){return typeof e=="string"?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function Hh(){if(!Oo)if(ar.getShared)wwe();else throw new Error("No packed values available");return Oo}var x1a=1399353956;gwe.push((e,t)=>{if(e>=225&&e<=255)return Y8(Hh().prefixes[e-224],t);if(e>=28704&&e<=32767)return Y8(Hh().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return Y8(Hh().prefixes[e-1879048192],t);if(e>=216&&e<=223)return Y8(t,Hh().suffixes[e-216]);if(e>=27647&&e<=28671)return Y8(t,Hh().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return Y8(t,Hh().suffixes[e-1811939328]);if(e==x1a)return{packedValues:Oo,structures:fa.slice(0),version:t};if(e==55799)return t});var E1a=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,ojt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array],w1a=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<ojt.length;e++)S1a(ojt[e],w1a[e]);function S1a(e,t){let r="get"+e.name.slice(0,-5),n;typeof e=="function"?n=e.BYTES_PER_ELEMENT:e=null;for(let a=0;a<2;a++){if(!a&&n==1)continue;let i=n==2?1:n==4?2:n==8?3:0;Ka[a?t:t-4]=n==1||a==E1a?s=>{if(!e)throw new Error("Could not find typed array for code "+t);return!ar.copyBuffers&&(n===1||n===2&&!(s.byteOffset&1)||n===4&&!(s.byteOffset&3)||n===8&&!(s.byteOffset&7))?new e(s.buffer,s.byteOffset,s.byteLength>>i):new e(Uint8Array.prototype.slice.call(s,0).buffer)}:s=>{if(!e)throw new Error("Could not find typed array for code "+t);let o=new DataView(s.buffer,s.byteOffset,s.byteLength),l=s.length>>i,u=new e(l),d=o[r];for(let c=0;c<l;c++)u[c]=d.call(o,c<<i,a);return u}}}function T1a(){let e=J8(),t=de+or();for(let n=2;n<e;n++){let a=J8();de+=a}let r=de;return de=t,Ga=[Gh(J8()),Gh(J8())],Ga.position0=0,Ga.position1=0,Ga.postBundlePosition=de,de=r,or()}function J8(){let e=nt[de++]&31;if(e>23)switch(e){case 24:e=nt[de++];break;case 25:e=js.getUint16(de),de+=2;break;case 26:e=js.getUint32(de),de+=4;break}return e}function wwe(){if(ar.getShared){let e=hjt(()=>(nt=null,ar.getShared()))||{},t=e.structures||[];ar.sharedVersion=e.version,Oo=ar.sharedValues=e.packedValues,fa===!0?ar.structures=fa=t:fa.splice.apply(fa,[0,t.length].concat(t))}}function hjt(e){let t=_6,r=de,n=FS,a=VS,i=Wh,s=US,o=zh,l=D0,u=Ga,d=new Uint8Array(nt.slice(0,_6)),c=fa,v=ar,m=HS,p=e();return _6=t,de=r,FS=n,VS=a,Wh=i,US=s,zh=o,D0=l,Ga=u,nt=d,HS=m,fa=c,ar=v,js=new DataView(nt.buffer,nt.byteOffset,nt.byteLength),p}function hX(){nt=null,D0=null,fa=null}var yX=new Array(147);for(let e=0;e<256;e++)yX[e]=+("1e"+Math.floor(45.15-e*.30103));var Swe=new xd({useRecords:!1}),A1a=Swe.decode,I1a=Swe.decodeMultiple,bX={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};var vX;try{vX=new TextEncoder}catch{}var qwe,xjt,xX=typeof globalThis=="object"&&globalThis.Buffer,zS=typeof xX<"u",Twe=zS?xX.allocUnsafeSlow:Uint8Array,yjt=zS?xX:Uint8Array,bjt=256,vjt=zS?4294967296:2144337920;var Awe,ie,En,te=0,x6,ui=null,O1a=61440,q1a=/[\u0080-\uFFFF]/,r0=Symbol("record-id"),E6=class extends xd{constructor(t){super(t),this.offset=0;let r,n,a,i,s,o;t=t||{};let l=yjt.prototype.utf8Write?function(P,U){return ie.utf8Write(P,U,ie.byteLength-U)}:vX&&vX.encodeInto?function(P,U){return vX.encodeInto(P,ie.subarray(U)).written}:!1,u=this,d=t.structures||t.saveStructures,c=t.maxSharedStructures;if(c==null&&(c=d?128:0),c>8190)throw new Error("Maximum maxSharedStructure is 8190");let v=t.sequential;v&&(c=0),this.structures||(this.structures=[]),this.saveStructures&&(this.saveShared=this.saveStructures);let m,p,y=t.sharedValues,b;if(y){b=Object.create(null);for(let P=0,U=y.length;P<U;P++)b[y[P]]=P}let g=[],x=0,E=0;this.mapEncode=function(P,U){return this._keyMap&&!this._mapped&&P.constructor.name==="Array"&&(P=P.map(R=>this.encodeKeys(R))),this.encode(P,U)},this.encode=function(P,U){if(ie||(ie=new Twe(8192),En=new DataView(ie.buffer,0,8192),te=0),x6=ie.length-10,x6-te<2048?(ie=new Twe(ie.length),En=new DataView(ie.buffer,0,ie.length),x6=ie.length-10,te=0):U===Cwe&&(te=te+7&2147483640),n=te,u.useSelfDescribedHeader&&(En.setUint32(te,3654940416),te+=3),o=u.structuredClone?new Map:null,u.bundleStrings&&typeof P!="string"?(ui=[],ui.size=1/0):ui=null,a=u.structures,a){if(a.uninitialized){let $=u.getShared()||{};u.structures=a=$.structures||[],u.sharedVersion=$.version;let I=u.sharedValues=$.packedValues;if(I){b={};for(let T=0,C=I.length;T<C;T++)b[I[T]]=T}}let R=a.length;if(R>c&&!v&&(R=c),!a.transitions){a.transitions=Object.create(null);for(let $=0;$<R;$++){let I=a[$];if(!I)continue;let T,C=a.transitions;for(let L=0,D=I.length;L<D;L++){C[r0]===void 0&&(C[r0]=$);let H=I[L];T=C[H],T||(T=C[H]=Object.create(null)),C=T}C[r0]=$|1048576}}v||(a.nextId=R)}if(i&&(i=!1),s=a||[],p=b,t.pack){let R=new Map;if(R.values=[],R.encoder=u,R.maxValues=t.maxPrivatePackedValues||(b?16:1/0),R.objectMap=b||!1,R.samplingPackedValues=m,gX(P,R),R.values.length>0){ie[te++]=216,ie[te++]=51,wd(4);let $=R.values;w($),wd(0),wd(0),p=Object.create(b||null);for(let I=0,T=$.length;I<T;I++)p[$[I]]=I}}Awe=U&Owe;try{if(Awe)return;if(w(P),ui&&_jt(n,w),u.offset=te,o&&o.idsToInsert){te+=o.idsToInsert.length*2,te>x6&&z(te),u.offset=te;let R=P1a(ie.subarray(n,te),o.idsToInsert);return o=null,R}return U&Cwe?(ie.start=n,ie.end=te,ie):ie.subarray(n,te)}finally{if(a){if(E<10&&E++,a.length>c&&(a.length=c),x>1e4)a.transitions=null,E=0,x=0,g.length>0&&(g=[]);else if(g.length>0&&!v){for(let R=0,$=g.length;R<$;R++)g[R][r0]=void 0;g=[]}}if(i&&u.saveShared){u.structures.length>c&&(u.structures=u.structures.slice(0,c));let R=ie.subarray(n,te);return u.updateSharedData()===!1?u.encode(P):R}U&B1a&&(te=n)}},this.findCommonStringsToPack=()=>(m=new Map,b||(b=Object.create(null)),P=>{let U=P&&P.threshold||4,R=this.pack?P.maxPrivatePackedValues||16:0;y||(y=this.sharedValues=[]);for(let[$,I]of m)I.count>U&&(b[$]=R++,y.push($),i=!0);for(;this.saveShared&&this.updateSharedData()===!1;);m=null});let w=P=>{te>x6&&(ie=z(te));var U=typeof P,R;if(U==="string"){if(p){let C=p[P];if(C>=0){C<16?ie[te++]=C+224:(ie[te++]=198,C&1?w(15-C>>1):w(C-16>>1));return}else if(m&&!t.pack){let L=m.get(P);L?L.count++:m.set(P,{count:1})}}let $=P.length;if(ui&&$>=4&&$<1024){if((ui.size+=$)>O1a){let L,D=(ui[0]?ui[0].length*3+ui[1].length:0)+10;te+D>x6&&(ie=z(te+D)),ie[te++]=217,ie[te++]=223,ie[te++]=249,ie[te++]=ui.position?132:130,ie[te++]=26,L=te-n,te+=4,ui.position&&_jt(n,w),ui=["",""],ui.size=0,ui.position=L}let C=q1a.test(P);ui[C?0:1]+=P,ie[te++]=C?206:207,w($);return}let I;$<32?I=1:$<256?I=2:$<65536?I=3:I=5;let T=$*3;if(te+T>x6&&(ie=z(te+T)),$<64||!l){let C,L,D,H=te+I;for(C=0;C<$;C++)L=P.charCodeAt(C),L<128?ie[H++]=L:L<2048?(ie[H++]=L>>6|192,ie[H++]=L&63|128):(L&64512)===55296&&((D=P.charCodeAt(C+1))&64512)===56320?(L=65536+((L&1023)<<10)+(D&1023),C++,ie[H++]=L>>18|240,ie[H++]=L>>12&63|128,ie[H++]=L>>6&63|128,ie[H++]=L&63|128):(ie[H++]=L>>12|224,ie[H++]=L>>6&63|128,ie[H++]=L&63|128);R=H-te-I}else R=l(P,te+I,T);R<24?ie[te++]=96|R:R<256?(I<2&&ie.copyWithin(te+2,te+1,te+1+R),ie[te++]=120,ie[te++]=R):R<65536?(I<3&&ie.copyWithin(te+3,te+2,te+2+R),ie[te++]=121,ie[te++]=R>>8,ie[te++]=R&255):(I<5&&ie.copyWithin(te+5,te+3,te+3+R),ie[te++]=122,En.setUint32(te,R),te+=4),te+=R}else if(U==="number")if(!this.alwaysUseFloat&&P>>>0===P)P<24?ie[te++]=P:P<256?(ie[te++]=24,ie[te++]=P):P<65536?(ie[te++]=25,ie[te++]=P>>8,ie[te++]=P&255):(ie[te++]=26,En.setUint32(te,P),te+=4);else if(!this.alwaysUseFloat&&P>>0===P)P>=-24?ie[te++]=31-P:P>=-256?(ie[te++]=56,ie[te++]=~P):P>=-65536?(ie[te++]=57,En.setUint16(te,~P),te+=2):(ie[te++]=58,En.setUint32(te,~P),te+=4);else if(!this.alwaysUseFloat&&P<0&&P>=-4294967296&&Math.floor(P)===P)ie[te++]=58,En.setUint32(te,-1-P),te+=4;else{let $;if(($=this.useFloat32)>0&&P<4294967296&&P>=-2147483648){ie[te++]=250,En.setFloat32(te,P);let I;if($<4||(I=P*yX[(ie[te]&127)<<1|ie[te+1]>>7])>>0===I){te+=4;return}else te--}ie[te++]=251,En.setFloat64(te,P),te+=8}else if(U==="object")if(!P)ie[te++]=246;else{if(o){let I=o.get(P);if(I){if(ie[te++]=216,ie[te++]=29,ie[te++]=25,!I.references){let T=o.idsToInsert||(o.idsToInsert=[]);I.references=[],T.push(I)}I.references.push(te-n),te+=2;return}else o.set(P,{offset:te-n})}let $=P.constructor;if($===Object)this.skipFunction===!0&&(P=Object.fromEntries([...Object.keys(P).filter(I=>typeof P[I]!="function").map(I=>[I,P[I]])])),B(P);else if($===Array){R=P.length,R<24?ie[te++]=128|R:wd(R);for(let I=0;I<R;I++)w(P[I])}else if($===Map)if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(ie[te++]=217,ie[te++]=1,ie[te++]=3),R=P.size,R<24?ie[te++]=160|R:R<256?(ie[te++]=184,ie[te++]=R):R<65536?(ie[te++]=185,ie[te++]=R>>8,ie[te++]=R&255):(ie[te++]=186,En.setUint32(te,R),te+=4),u.keyMap)for(let[I,T]of P)w(u.encodeKey(I)),w(T);else for(let[I,T]of P)w(I),w(T);else{for(let I=0,T=qwe.length;I<T;I++){let C=xjt[I];if(P instanceof C){let L=qwe[I],D=L.tag;D==null&&(D=L.getTag&&L.getTag.call(this,P)),D<24?ie[te++]=192|D:D<256?(ie[te++]=216,ie[te++]=D):D<65536?(ie[te++]=217,ie[te++]=D>>8,ie[te++]=D&255):D>-1&&(ie[te++]=218,En.setUint32(te,D),te+=4),L.encode.call(this,P,w,z);return}}if(P[Symbol.iterator]){if(Awe){let I=new Error("Iterable should be serialized as iterator");throw I.iteratorNotHandled=!0,I}ie[te++]=159;for(let I of P)w(I);ie[te++]=255;return}if(P[Symbol.asyncIterator]||Iwe(P)){let I=new Error("Iterable/blob should be serialized as iterator");throw I.iteratorNotHandled=!0,I}if(this.useToJSON&&P.toJSON){let I=P.toJSON();if(I!==P)return w(I)}B(P)}}else if(U==="boolean")ie[te++]=P?245:244;else if(U==="bigint"){if(P<BigInt(1)<<BigInt(64)&&P>=0)ie[te++]=27,En.setBigUint64(te,P);else if(P>-(BigInt(1)<<BigInt(64))&&P<0)ie[te++]=59,En.setBigUint64(te,-P-BigInt(1));else if(this.largeBigIntToFloat)ie[te++]=251,En.setFloat64(te,Number(P));else{P>=BigInt(0)?ie[te++]=194:(ie[te++]=195,P=BigInt(-1)-P);let $=[];for(;P;)$.push(Number(P&BigInt(255))),P>>=BigInt(8);Rwe(new Uint8Array($.reverse()),z);return}te+=8}else if(U==="undefined")ie[te++]=247;else throw new Error("Unknown type: "+U)},B=this.useRecords===!1?this.variableMapSize?P=>{let U=Object.keys(P),R=Object.values(P),$=U.length;$<24?ie[te++]=160|$:$<256?(ie[te++]=184,ie[te++]=$):$<65536?(ie[te++]=185,ie[te++]=$>>8,ie[te++]=$&255):(ie[te++]=186,En.setUint32(te,$),te+=4);let I;if(u.keyMap)for(let T=0;T<$;T++)w(u.encodeKey(U[T])),w(R[T]);else for(let T=0;T<$;T++)w(U[T]),w(R[T])}:P=>{ie[te++]=185;let U=te-n;te+=2;let R=0;if(u.keyMap)for(let $ in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty($))&&(w(u.encodeKey($)),w(P[$]),R++);else for(let $ in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty($))&&(w($),w(P[$]),R++);ie[U+++n]=R>>8,ie[U+n]=R&255}:(P,U)=>{let R,$=s.transitions||(s.transitions=Object.create(null)),I=0,T=0,C,L;if(this.keyMap){L=Object.keys(P).map(H=>this.encodeKey(H)),T=L.length;for(let H=0;H<T;H++){let ae=L[H];R=$[ae],R||(R=$[ae]=Object.create(null),I++),$=R}}else for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&(R=$[H],R||($[r0]&1048576&&(C=$[r0]&65535),R=$[H]=Object.create(null),I++),$=R,T++);let D=$[r0];if(D!==void 0)D&=65535,ie[te++]=217,ie[te++]=D>>8|224,ie[te++]=D&255;else if(L||(L=$.__keys__||($.__keys__=Object.keys(P))),C===void 0?(D=s.nextId++,D||(D=0,s.nextId=1),D>=bjt&&(s.nextId=(D=c)+1)):D=C,s[D]=L,D<c){ie[te++]=217,ie[te++]=D>>8|224,ie[te++]=D&255,$=s.transitions;for(let H=0;H<T;H++)($[r0]===void 0||$[r0]&1048576)&&($[r0]=D),$=$[L[H]];$[r0]=D|1048576,i=!0}else{if($[r0]=D,En.setUint32(te,3655335680),te+=3,I&&(x+=E*I),g.length>=bjt-c&&(g.shift()[r0]=void 0),g.push($),wd(T+2),w(57344+D),w(L),U)return;for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H]);return}if(T<24?ie[te++]=128|T:wd(T),!U)for(let H in P)(typeof P.hasOwnProperty!="function"||P.hasOwnProperty(H))&&w(P[H])},z=P=>{let U;if(P>16777216){if(P-n>vjt)throw new Error("Encoded buffer would be larger than maximum buffer size");U=Math.min(vjt,Math.round(Math.max((P-n)*(P>67108864?1.25:2),4194304)/4096)*4096)}else U=(Math.max(P-n<<2,ie.length-1)>>12)+1<<12;let R=new Twe(U);return En=new DataView(R.buffer,0,U),ie.copy?ie.copy(R,0,n,P):R.set(ie.slice(n,P)),te-=n,n=0,x6=R.length-10,ie=R},j=100,V=1e3;this.encodeAsIterable=function(P,U){return M(P,U,F)},this.encodeAsAsyncIterable=function(P,U){return M(P,U,Z)};function*F(P,U,R){let $=P.constructor;if($===Object){let I=u.useRecords!==!1;I?B(P,!0):gjt(Object.keys(P).length,160);for(let T in P){let C=P[T];I||w(T),C&&typeof C=="object"?U[T]?yield*F(C,U[T]):yield*re(C,U,T):w(C)}}else if($===Array){let I=P.length;wd(I);for(let T=0;T<I;T++){let C=P[T];C&&(typeof C=="object"||te-n>j)?U.element?yield*F(C,U.element):yield*re(C,U,"element"):w(C)}}else if(P[Symbol.iterator]&&!P.buffer){ie[te++]=159;for(let I of P)I&&(typeof I=="object"||te-n>j)?U.element?yield*F(I,U.element):yield*re(I,U,"element"):w(I);ie[te++]=255}else Iwe(P)?(gjt(P.size,64),yield ie.subarray(n,te),yield P,Y()):P[Symbol.asyncIterator]?(ie[te++]=159,yield ie.subarray(n,te),yield P,Y(),ie[te++]=255):w(P);R&&te>n?yield ie.subarray(n,te):te-n>j&&(yield ie.subarray(n,te),Y())}function*re(P,U,R){let $=te-n;try{w(P),te-n>j&&(yield ie.subarray(n,te),Y())}catch(I){if(I.iteratorNotHandled)U[R]={},te=n+$,yield*F.call(this,P,U[R]);else throw I}}function Y(){j=V,u.encode(null,Owe)}function M(P,U,R){return U&&U.chunkThreshold?j=V=U.chunkThreshold:j=100,P&&typeof P=="object"?(u.encode(null,Owe),R(P,u.iterateProperties||(u.iterateProperties={}),!0)):[u.encode(P)]}async function*Z(P,U){for(let R of F(P,U,!0)){let $=R.constructor;if($===yjt||$===Uint8Array)yield R;else if(Iwe(R)){let I=R.stream().getReader(),T;for(;!(T=await I.read()).done;)yield T.value}else if(R[Symbol.asyncIterator])for await(let I of R)Y(),I?yield*Z(I,U.async||(U.async={})):yield u.encode(I);else yield R}}}useBuffer(t){ie=t,En=new DataView(ie.buffer,ie.byteOffset,ie.byteLength),te=0}clearSharedData(){this.structures&&(this.structures=[]),this.sharedValues&&(this.sharedValues=void 0)}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let r=this.structures.slice(0),n=new _X(r,this.sharedValues,this.sharedVersion),a=this.saveShared(n,i=>(i&&i.version||0)==t);return a===!1?(n=this.getShared()||{},this.structures=n.structures||[],this.sharedValues=n.packedValues,this.sharedVersion=n.version,this.structures.nextId=this.structures.length):r.forEach((i,s)=>this.structures[s]=i),a}};function gjt(e,t){e<24?ie[te++]=t|e:e<256?(ie[te++]=t|24,ie[te++]=e):e<65536?(ie[te++]=t|25,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=t|26,En.setUint32(te,e),te+=4)}var _X=class{constructor(t,r,n){this.structures=t,this.packedValues=r,this.version=n}};function wd(e){e<24?ie[te++]=128|e:e<256?(ie[te++]=152,ie[te++]=e):e<65536?(ie[te++]=153,ie[te++]=e>>8,ie[te++]=e&255):(ie[te++]=154,En.setUint32(te,e),te+=4)}var R1a=typeof Blob>"u"?function(){}:Blob;function Iwe(e){if(e instanceof R1a)return!0;let t=e[Symbol.toStringTag];return t==="Blob"||t==="File"}function gX(e,t){switch(typeof e){case"string":if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let n=t.get(e);if(n)++n.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let a=t.samplingPackedValues.get(e);a?a.count++:t.samplingPackedValues.set(e,{count:1})}}break;case"object":if(e)if(e instanceof Array)for(let n=0,a=e.length;n<a;n++)gX(e[n],t);else{let n=!t.encoder.useRecords;for(var r in e)e.hasOwnProperty(r)&&(n&&gX(r,t),gX(e[r],t))}break;case"function":console.log(e)}}var C1a=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;xjt=[Date,Set,Error,RegExp,qo,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>"u"?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>"u"?function(){}:BigInt64Array,Float32Array,Float64Array,_X];qwe=[{tag:1,encode(e,t){let r=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&r>=0&&r<4294967296?(ie[te++]=26,En.setUint32(te,r),te+=4):(ie[te++]=251,En.setFloat64(te,r),te+=8)}},{tag:258,encode(e,t){let r=Array.from(e);t(r)}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,r){Rwe(e,r)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||zS&&this.tagUint8Array!==!1))return 64},encode(e,t,r){Rwe(e,r)}},Ed(68,1),Ed(69,2),Ed(70,4),Ed(71,8),Ed(72,1),Ed(77,2),Ed(78,4),Ed(79,8),Ed(85,4),Ed(86,8),{encode(e,t){let r=e.packedValues||[],n=e.structures||[];if(r.values.length>0){ie[te++]=216,ie[te++]=51,wd(4);let a=r.values;t(a),wd(0),wd(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let i=0,s=a.length;i<s;i++)packedObjectMap[a[i]]=i}if(n){En.setUint32(te,3655335424),te+=3;let a=n.slice(0);a.unshift(57344),a.push(new qo(e.version,1399353956)),t(a)}else t(new qo(e.version,1399353956))}}];function Ed(e,t){return!C1a&&t>1&&(e-=4),{tag:e,encode:function(n,a){let i=n.byteLength,s=n.byteOffset||0,o=n.buffer||n;a(zS?xX.from(o,s,i):new Uint8Array(o,s,i))}}}function Rwe(e,t){let r=e.byteLength;r<24?ie[te++]=64+r:r<256?(ie[te++]=88,ie[te++]=r):r<65536?(ie[te++]=89,ie[te++]=r>>8,ie[te++]=r&255):(ie[te++]=90,En.setUint32(te,r),te+=4),te+r>=ie.length&&t(te+r),ie.set(e.buffer?e:new Uint8Array(e),te),te+=r}function P1a(e,t){let r,n=t.length*2,a=e.length-n;t.sort((i,s)=>i.offset>s.offset?1:-1);for(let i=0;i<t.length;i++){let s=t[i];s.id=i;for(let o of s.references)e[o++]=i>>8,e[o]=i&255}for(;r=t.pop();){let i=r.offset;e.copyWithin(i+n,i,a),n-=2;let s=i+n;e[s++]=216,e[s++]=28,a=i}return e}function _jt(e,t){En.setUint32(ui.position+e,te-ui.position-e+1);let r=ui;ui=null,t(r[0]),t(r[1])}var Pwe=new E6({useRecords:!1}),M1a=Pwe.encode,k1a=Pwe.encodeAsIterable,N1a=Pwe.encodeAsAsyncIterable,{NEVER:$1a,ALWAYS:D1a,DECIMAL_ROUND:L1a,DECIMAL_FIT:j1a}=bX,Cwe=512,B1a=1024,Owe=2048;import{createRequire as dha}from"module";var cha=process.env.CBOR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!cha){let e;try{typeof Se=="function"?e=oBt():e=dha(import.meta.url)("cbor-extract"),e&&djt(e.extractStrings)}catch{}}import{Buffer as WS}from"buffer";var fBt=18,lBt=new xd({mapsAsObjects:!1,useRecords:!1}),pha=new E6({mapsAsObjects:!1,useRecords:!1});function Yh(e,t){if(e instanceof Uint8Array)return WS.from(e.buffer,e.byteOffset,e.byteLength);if(WS.isBuffer(e))return e;throw new Wa(`Expected byte string for ${t}`)}function Bwe(e,t){return e==null?null:Yh(e,t)}function Cp(e,t){return e instanceof Map?e.get(t):e[t]}function uBt(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="bigint"){if(e>BigInt(Number.MAX_SAFE_INTEGER)||e<BigInt(Number.MIN_SAFE_INTEGER))throw new Wa(`Timestamp bigint outside JS safe integer range: ${e.toString()}`);return Number(e)}if(e instanceof qo&&e.tag===1)return uBt(e.value);let t=e==null?String(e):`${typeof e}:${String(e).slice(0,60)}`;throw new Wa(`Missing or invalid timestamp (${t})`)}function mha(e){let t;try{t=lBt.decode(e)}catch(c){throw new Wa(`Attestation payload is not valid CBOR: ${c.message}`)}if(!(t instanceof Map)&&(typeof t!="object"||t===null))throw new Wa("Attestation payload is not a map");let r=t,n=Cp(r,"module_id"),a=Cp(r,"digest"),i=uBt(Cp(r,"timestamp")),s=Cp(r,"pcrs"),o=Cp(r,"certificate"),l=Cp(r,"cabundle");if(typeof n!="string")throw new Wa("Missing or invalid module_id");if(typeof a!="string")throw new Wa("Missing or invalid digest");if(!(s instanceof Map))throw new Wa("Missing or invalid pcrs (expected CBOR map)");if(!Array.isArray(l))throw new Wa("Missing or invalid cabundle (expected array)");let u=new Map;for(let[c,v]of s.entries()){if(typeof c!="number")throw new Wa("Non-integer PCR index");u.set(c,Yh(v,`pcrs[${c}]`))}let d=l.map((c,v)=>Yh(c,`cabundle[${v}]`));return{moduleId:n,digest:a,timestamp:i,pcrs:u,certificateDer:Yh(o,"certificate"),cabundleDer:d,publicKey:Bwe(Cp(r,"public_key"),"public_key"),userData:Bwe(Cp(r,"user_data"),"user_data"),nonce:Bwe(Cp(r,"nonce"),"nonce")}}function dBt(e){let t;try{t=WS.from(e,"base64")}catch(o){throw new Wa(`attestation_document is not valid base64: ${o.message}`)}let r;try{r=lBt.decode(t)}catch(o){throw new Wa(`COSE document is not valid CBOR: ${o.message}`)}let n;if(r instanceof qo){if(r.tag!==fBt)throw new Wa(`Unexpected COSE tag ${r.tag}, expected ${fBt}`);n=r.value}else n=r;if(!Array.isArray(n)||n.length!==4)throw new Wa("COSE_Sign1 envelope must be a 4-element array");let a=Yh(n[0],"protected header"),i=Yh(n[2],"payload"),s=Yh(n[3],"signature");return{protectedHeaderBytes:a,payloadBytes:i,signature:s,payload:mha(i)}}function cBt(e,t){let r=pha.encode(["Signature1",e,WS.alloc(0),t]);return WS.from(r.buffer,r.byteOffset,r.byteLength)}import{X509Certificate as hha}from"crypto";function pBt(e,t){try{return new hha(e)}catch(r){throw new _d(`Failed to parse ${t}: ${r.message}`)}}function yha(e,t,r){let n=Date.parse(e.validFrom),a=Date.parse(e.validTo);if(Number.isNaN(n)||Number.isNaN(a))throw new _d(`Cannot parse validity window of ${r}`);if(t<n)throw new _d(`${r} not yet valid at attestation time`);if(t>a)throw new _d(`${r} expired before attestation time`)}function mBt(e){let t=pBt(e.leafDer,"leaf certificate"),r=e.cabundleDer.map((l,u)=>pBt(l,`cabundle[${u}]`)),n=[t],a=new Set([t.fingerprint256]),i=t,s=16;for(let l=0;l<s&&i.subject!==i.issuer;l++){let u=[...r,e.trustedRoot].filter(c=>!a.has(c.fingerprint256)&&i.checkIssued(c)),d=null;for(let c of u)if(i.verify(c.publicKey)){d=c;break}if(!d)throw new _d(`No issuer found for certificate with subject ${i.subject}`);n.push(d),a.add(d.fingerprint256),i=d}if(n[n.length-1].fingerprint256!==e.trustedRoot.fingerprint256)throw new _d("Certificate chain does not terminate at the trusted AWS Nitro Root CA");for(let l=0;l<n.length;l++)yha(n[l],e.refTimeMs,l===0?"leaf":`chain[${l}]`);return{leaf:t,chain:n}}function gha(e){try{return new vha(e)}catch(t){throw new $0(`Failed to parse bundled AWS Nitro Root CA: ${t.message}`)}}function _ha(e,t){if(!t||t.length===0)throw new g6("Attestation payload does not include a public key");let r;try{r=hBt({key:e,format:"pem"})}catch(a){throw new g6(`Response public_key is not a valid PEM key: ${a.message}`)}let n;try{let a=r.export({type:"spki",format:"der"});n=yBt.isBuffer(a)?a:yBt.from(a)}catch(a){throw new g6(`Failed to encode response public key as SPKI DER: ${a.message}`)}if(!n.equals(t))throw new g6("Response public_key does not match the public key endorsed by the attestation");return hBt({key:t,format:"der",type:"spki"})}function Fwe(e,t,r=Date.now()){if(!e||typeof e.attestation_document!="string"||typeof e.public_key!="string")throw new Wa("Response missing attestation_document or public_key");let n=dBt(e.attestation_document),a=gha(t.awsNitroRootCaPem),{leaf:i}=mBt({leafDer:n.payload.certificateDer,cabundleDer:n.payload.cabundleDer,trustedRoot:a,refTimeMs:n.payload.timestamp}),s=cBt(n.protectedHeaderBytes,n.payloadBytes),o=!1;try{o=bha("sha384",s,{key:i.publicKey,dsaEncoding:"ieee-p1363"},n.signature)}catch(c){throw new G8(`COSE signature verification failed: ${c.message}`)}if(!o)throw new G8("COSE signature did not verify against the leaf certificate");let l=_ha(e.public_key,n.payload.publicKey),u=Math.abs(r-n.payload.timestamp);if(u>t.maxAttestationAgeMs)throw new LS(`Attestation timestamp is ${u}ms from local clock, exceeds maxAttestationAgeMs ${t.maxAttestationAgeMs}`);let d={};for(let[c,v]of n.payload.pcrs.entries())d[c]=rjt(v);return{publicKey:l,pcrs:d,timestamp:n.payload.timestamp,moduleId:n.payload.moduleId}}function bBt(e){if(xha.isAxiosError(e)&&e.response?.data){let t=e.response.data;return console.log(GS.red(t.message)),typeof t=="string"?t:t.message||JSON.stringify(t)}return e instanceof Error?e.message:String(e)}async function Eha(e,t){try{let r=v0({namespace:t});return(await e.post("getkey",r)).data}catch(r){return bBt(r),console.error(GS.red("Failed to retrieve encryption key from Hub-TEE-KMS. Please try again")),null}}function wha(e){let t=typeof e.publicKey=="string"?tu.createPublicKey({key:e.publicKey,format:"pem"}):e.publicKey,r=tu.randomBytes(32),n=tu.randomBytes(12),a=tu.createCipheriv("aes-256-gcm",r,n),i=Buffer.concat([a.update(e.authString,"utf8"),a.final()]),s=a.getAuthTag(),o=Buffer.concat([i,s]),l=tu.publicEncrypt({key:t,padding:tu.constants.RSA_PKCS1_OAEP_PADDING,oaepHash:"sha256"},r);return r.fill(0),{encrypted_authString:o.toString("base64"),encrypted_key:l.toString("base64"),iv:n.toString("base64")}}async function vBt(e,t,r,n=bwe()){try{let a=await Eha(e,r);if(!a)return null;let i;try{i=Fwe(a,n).publicKey}catch(o){if(o instanceof $0)return console.error(GS.red(`Enclave attestation verification failed (${o.name}): ${o.message}`)),console.error(GS.red("Refusing to encrypt credentials to an unverified public key.")),null;throw o}return{...wha({publicKey:i,authString:t}),public_key:a.public_key}}catch(a){return bBt(a),console.error(GS.red("Failed to encrypt credentials. Please try again.")),null}}async function gBt(e,t,r){let n=await vBt(e,r,t.namespace);if(!n)return null;let a=v0({...t,public_key:n.public_key,encrypted_authString:n.encrypted_authString,encrypted_key:n.encrypted_key,iv:n.iv});try{return await e.post("credentials",a),{ok:!0}}catch(i){return Sha.isAxiosError(i)&&i.response?{ok:!1,status:i.response.status}:(b0(i),null)}}async function _Bt(e,t,r,n,a,i,s){console.log("Deploying the API Authentication Credentials");try{if(!NLt(i))throw"Invalid private key provided";if(!Tha.isAddress(s))throw"Invalid address provided";if(Sre(n,a),!W8(e))throw"Invalid taskId";let o=await BKe(),l={taskId:e,namespace:t,taskName:r,method:n};console.log("Encrypting credentials...");let u=await gBt(o,l,a);if(!u)return;if(!u.ok)if(u.status===403){console.log(Uwe.yellow("TEE rejected the session (403). Fetching a fresh session key and retrying once..."));let d=await gBt(o,l,a);if(!d)return;if(!d.ok)throw`TEE rejected credentials twice with status ${d.status}. Aborting to avoid a hot loop.`}else throw`TEE rejected credentials with status ${u.status}`;console.log("The encrypted credentials were deployed "+Uwe.green("Successfully"))}catch(o){let l=o instanceof Error?o.message:String(o);console.error(Uwe.red(l));return}}import Pp from"colors";Os();var Aha=3e4,IX=null;async function xBt(){if(IX&&IX.expiresAt>Date.now())return IX.chains;let r=(await(await Fb()).get("chains")).data??[];return IX={chains:r,expiresAt:Date.now()+Aha},r}async function EBt(){let e;try{e=await xBt()}catch(a){console.error(Pp.red(`Failed to fetch supported chains: ${a instanceof Error?a.message:String(a)}`)),process.exit(1)}if(e.length===0){console.log(Pp.yellow("No chains configured on this deployment."));return}let t=e.map(a=>({chainId:String(a.chainId),name:a.displayName,symbol:a.symbol,network:a.isTestnet?"testnet":"mainnet"})).sort((a,i)=>a.name.localeCompare(i.name)),r={chainId:Math.max(8,...t.map(a=>a.chainId.length)),name:Math.max(4,...t.map(a=>a.name.length)),symbol:Math.max(6,...t.map(a=>a.symbol.length)),network:Math.max(7,...t.map(a=>a.network.length))},n=(a,i)=>a+" ".repeat(Math.max(0,i-a.length));console.log(Pp.cyan(n("chainId",r.chainId)+" "+n("name",r.name)+" "+n("symbol",r.symbol)+" network")),console.log(Pp.gray("-".repeat(r.chainId)+" "+"-".repeat(r.name)+" "+"-".repeat(r.symbol)+" "+"-".repeat(r.network)));for(let a of t)console.log(Pp.yellow(n(a.chainId,r.chainId))+" "+Pp.white(n(a.name,r.name))+" "+Pp.gray(n(a.symbol,r.symbol))+" "+(a.network==="mainnet"?Pp.green(a.network):Pp.gray(a.network)))}import{inspect as hba}from"util";import ms from"ora";import{v4 as yba}from"uuid";import{ethers as FX}from"ethers";var wBt={name:"@truebit/cli",version:"1.125.0",private:!1,description:"truebit-cli is a basic command line that allows interaction between users and truebit nextgen node.",author:{name:"Truebit Co.",url:"https://truebit.io/"},license:"https://truebit.io/terms/",repository:{type:"git",url:"https://github.com/TruebitProtocol"},homepage:"https://truebit.io/",main:"build/index.mjs",module:"build/index.mjs",types:"build/types/index.d.ts",type:"module",scripts:{prebuild:"rimraf build logs","prebuild:dev":"rimraf build logs","build:dev":"tsc && chmod +x build/index.mjs",build:"NODE_ENV=production node esbuild.config.mjs && chmod +x build/index.mjs",dev:"export NODE_ENV=development && npx nodemon",test:"vitest run --passWithNoTests tests/"},dependencies:{axios:"1.16.1","cbor-x":"1.6.4",chalk:"5.6.2",colors:"1.4.0",commander:"14.0.3",ethers:"6.16.0",figlet:"1.11.0","form-data":"4.0.5","openapi-enforcer":"1.23.0",ora:"9.4.0","public-ip":"8.0.0","ts-retry":"6.0.0",uuid:"14.0.0"},bin:{truebit:"build/index.mjs"},files:["build"],devDependencies:{"@types/figlet":"1.7.0","@vitest/coverage-v8":"4.1.6",esbuild:"0.28.0",typescript:"5.9.3",vitest:"4.1.6"},engines:{node:">=22.13.0"}};Ci();Os();f0();Ci();import{createInterface as Mha}from"node:readline/promises";import Mp from"chalk";Os();import KS from"axios";import{ethers as Q8}from"ethers";import{randomBytes as Oha}from"crypto";import{v4 as qha}from"uuid";Ci();import{ethers as OX}from"ethers";async function SBt(e){Uh(e);let t=Yi(),r=on(t,Ot.AVAX),n=OX.keccak256(OX.toUtf8Bytes(e));return await r.authorization.registerAuthorization(n),n}async function Vwe(e,t,r=er("address")){Uh(e);let n=Yi(),a=on(n,Ot.AVAX),i=await a.authorization.getEIP712Domain(),s=await a.authorization.nonces(r),o=Math.floor(Date.now()/1e3)+3600,l={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},u=OX.keccak256(OX.toUtf8Bytes(e)),d={user:r,apiKeyHash:u,nonce:Number(s),deadline:o};if(!a.utils)throw new Error("Private key is required for signing operations");let c=await a.utils.signMeta(i,l,d);return(await DLt(r,u,o,c,t)).status==201?u:null}Ci();f0();import{isTooManyTries as TBt,retryAsync as ABt}from"ts-retry";var IBt="0x0000000000000000000000000000000000000000";async function OBt(e){let t=!0;return e===""?(t=!1,console.log("An email address is required. Please provide your email address to proceed.")):new RegExp(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(e)?await Rha(e)&&(t=!1,console.log("The provided email address is already in use. Please enter a different email address.")):(t=!1,console.log("The email address provided is not valid. Please try again.")),t}function Jh(e){return e==="Y"||e==="N"}function qBt(e){return!Q8.isAddress(e)||e.length!==42||!e.startsWith("0x")}async function RBt(){let e=Yi(),t=on(e,Ot.AVAX),r=er("address"),n=await Pha(),a=await Cha();Uh(a);let i=Q8.keccak256(Q8.toUtf8Bytes(a)),s=Math.floor(Date.now()/1e3)+3600,o=await t.taskRegistry.getEIP712Domain(),l=await t.authorization.getEIP712Domain(),u={RegisterTaskNamespaceMeta:[{name:"user",type:"address"},{name:"namespace",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},d={RegisterMeta:[{name:"user",type:"address"},{name:"apiKeyHash",type:"string"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},c=BigInt(await t.taskRegistry.nonces(r)),v=await t.authorization.nonces(r),m={user:Q8.getAddress(r),namespace:n,nonce:c,deadline:s},p={user:r,apiKeyHash:i,nonce:Number(v),deadline:s};if(!t.utils)throw new Error("Private key is required for signing operations");let y=await t.utils.signMeta(o,u,m),b=await t.utils.signMeta(l,d,p),g={user:r,namespace:n,apiKeyHash:i,namespaceSignature:y,apiKeySignature:b,namespaceDeadline:s,apiKeyDeadline:s};try{let x=await LLt(g);if(x.status!==201)throw new Error("Registration failed with unexpected status");if(!x.data.namespaceRegistration.success)throw new Error("Namespace registration failed");if(!x.data.apiKeyRegistration.success)throw new Error("API key registration failed");return{namespace:n,apiKey:a,hashedApiKey:i}}catch(x){let E=x.message;throw new Error(`Combined registration failed: ${E}`)}}async function Rha(e){let t=await Is();try{return(await t.get(`userexistence/${e}`)).data===!0}catch(r){if(KS.isAxiosError(r)&&r.response?.status===404&&typeof r.response?.data?.message=="string"&&r.response.data.message.includes("User not found"))return!1;throw r}}async function qX(e,t){try{let r={message:"I am a Truebit User"};if(!t)throw Error("Secret.json does not exists");let n=t.privateKey,a=t.address,i=Pa.createSignedBody(r,n,a);return(await(await Is()).get(`user/${e}`,{headers:{"truebit-auth":JSON.stringify(i)}})).data}catch(r){if(KS.isAxiosError(r)&&r.response?.status===401&&r.response?.data.message.includes("Entitlement Validation Error")||KS.isAxiosError(r)&&r.response?.status==404&&r.response?.data.message&&r.response?.data.message.includes("User not found"))return null;throw KS.isAxiosError(r)?r.response?Error(`The server responding with an error -> ${r.response.data.message||r.response.status+" - "+r.response.statusText}`):r.request?Error(`The server is not responding -> ${r.message}`):Error(`There was an error in the communication with the server -> ${r.message}`):Error(typeof r=="string"?`There was an error in the communication with the server -> ${r}`:"There was an error in the communication with the server.")}}async function CBt(e){try{return await(await Is()).post("user/register",e)}catch(t){throw KS.isAxiosError(t)?t.response?Error(`The server responding with an error -> ${t.response.data.message||t.response.status+" - "+t.response.statusText}`):t.request?Error(`The server is not responding -> ${t.message}`):Error(`There was an error in the communication with the server -> ${t.message}`):Error(typeof t=="string"?`There was an error in the communication with the server -> ${t}`:"There was an error in the communication with the server.")}}async function Cha(){let e=Yi(),t=on(e,Ot.AVAX),r="";try{await ABt(async()=>{r=qha();let n=Q8.keccak256(Q8.toUtf8Bytes(r));return await t.authorization.getPayerAddress(n)===IBt},{delay:500,maxTry:5,until:n=>n===!0})}catch(n){throw TBt(n)?Error("Attempts to generate unique Api Key for the user exhausted."):n}return r}async function Pha(){let e=Yi(),t=on(e,Ot.AVAX),r="";try{await ABt(async()=>(r=Oha(4).toString("hex"),await t.taskRegistry.getNamespaceOwner(r)===IBt),{delay:500,maxTry:5,until:n=>n===!0})}catch(n){throw TBt(n)?Error("Attempts to generate unique namespace for the user exhausted."):n}return r}function PBt(e){e.fullNameAnswer="",e.emailAddressAnswer="",e.companyNameAnswer="",e.jobPositionAnswer="",e.eulaAnswer="",e.confirmRegistration=""}f0();pm();import kha from"ora";import*as RX from"os";async function MBt(e,t,r){let n=qs(),a=n!==null,i=0,s,o=Mha({input:process.stdin,output:process.stdout,terminal:!0});switch(a&&(qBt(n.address)?i=1:(s=await qX(n.address,n),s?i=2:i=3)),i){case 1:console.log("The wallet set in the configuration must be a valid ethereum address. (ENS not supported yet)");break;case 2:console.log(bn.SETUP_STEP1_SCENARIO1_P2(s));break;case 3:{console.log(bn.SETUP_STEP2_SCENARIO3_P1),console.log();let l={user_ip:e,date_time:ba(),os_version:RX.type+"_"+RX.release,node_version:process.version,cli_version:t};await r.sendEventToMixpanel("user_registration_begin",l);let u={confirmRegistration:"",fullNameAnswer:"",emailAddressAnswer:"",companyNameAnswer:"",jobPositionAnswer:"",eulaAnswer:""};try{for(;u.confirmRegistration!="Y";){for(u.fullNameAnswer=(await o.question(Mp.bold(" 1. Full Name: "))).trim();u.fullNameAnswer==="";)console.log("Your full name is required. Please provide your first and last name to proceed."),u.fullNameAnswer=(await o.question(Mp.bold(" 1. Full Name: "))).trim();for(u.emailAddressAnswer=(await o.question(Mp.bold(" 2. Email Address: "))).trim();!await OBt(u.emailAddressAnswer);)u.emailAddressAnswer=(await o.question(Mp.bold(" 2. Email Address: "))).trim();for(u.companyNameAnswer=(await o.question(Mp.bold(" 3. Company Name: "))).trim(),u.jobPositionAnswer=(await o.question(Mp.bold(" 4. Job Position: "))).trim();!Jh(u.eulaAnswer);)u.eulaAnswer=(await o.question(Mp.bold(` 5. Accept EULA? [Y|N] (${bn.EULA_TERMS_LINK}): `))).toUpperCase();if(u.eulaAnswer=="N"){console.log(bn.EULA_REGISTRATION_NO_ACCEPTED);break}for(;!Jh(u.confirmRegistration);)console.log(`
522
522
  Is the information provided above correct?`),u.confirmRegistration=(await o.question(Mp.bold("Press [Y] to confirm or [N] to edit: "))).toUpperCase();u.confirmRegistration=="N"&&(console.log(`
523
523
  Please provide the following information:`),PBt(u))}}catch(v){if(v.name==="AbortError"||v.message.includes("Ctrl+C")){let m=v.message,p=l;p.error_details=m,p.date_time=ba();let y={fullname:u.fullNameAnswer,email:u.emailAddressAnswer,company:u.companyNameAnswer,role:u.jobPositionAnswer};p.user_info=JSON.stringify(y),await r.sendEventToMixpanel("user_registration_failed",p),process.exit(0)}}if(u.eulaAnswer=="N")break;let d=l;console.log(),console.log("By completing registration, you'll be automatically subscribed to our newsletter."),console.log("To opt-out, please follow the steps described in our documentation portal."),console.log();let c=kha({text:Mp.bold("... registering your account."),stream:process.stdout}).start();try{let{namespace:v,apiKey:m}=await RBt(),p={name:u.fullNameAnswer,email:u.emailAddressAnswer,walletAddress:n?.address,company:u.companyNameAnswer,jobDescription:u.jobPositionAnswer,EULA:Pa.createSignedBody({ip:await kq(),date:new Date().toISOString()},n.privateKey),defaultNamespace:v,defaultApiKey:m};await CBt(p),c.stop(),console.log(bn.SETUP_STEP2_SCENARIO3_P2(u,n.address,v,m)),d.distinct_id=p.walletAddress,d.date_time=ba(),d.fullname=p.name,d.email=p.email,d.company=p.company,d.role=p.jobDescription,d.namespace=p.defaultNamespace,d.api_key=m,d.wallet_address=p.walletAddress,await r.sendEventToMixpanel("user_registration_success",d),await r.registerUserMixpanel(d.wallet_address,Nha(d))}catch(v){c.stop();let m=v.message,p=l;p.error_details=m,p.date_time=ba();let y={fullname:u.fullNameAnswer,email:u.emailAddressAnswer,company:u.companyNameAnswer,role:u.jobPositionAnswer};p.user_info=JSON.stringify(y),await r.sendEventToMixpanel("user_registration_failed",p);let b=m?m.match(/CreateUserValidation - (.*?.*)/)?.[1]:null;if(b)throw Error(b);if(m.includes("Sender doesn't have enough funds to send tx"))throw Error("We are currently experiencing technical difficulties. Please try again later.");console.error(bn.SETUP_STEP2_UNHANDLED_ERROR),process.exit(1)}finally{c.clear()}break}default:throw Error("An unexpected error occurred.")}o.close()}function Nha(e){return{apiKey:e.api_key,name:e.fullname,email:e.email,ip:e.user_ip,company:e.company,role:e.role,namespace:e.namespace,walletAddress:e.wallet_address}}import{setDefaultAutoSelectFamily as bba}from"node:net";import $ha from"chalk";Ci();pm();import{createInterface as Dha}from"node:readline/promises";import*as CX from"os";async function kBt(e,t,r){let n=qs(),a=n!==null,i;switch(a?a&&!n.eula?i=2:i=3:i=1,i){case 1:case 2:{let s=Dha({input:process.stdin,output:process.stdout,terminal:!0}),o="",l={user_ip:e,date_time:ba(),os_version:CX.type+"_"+CX.release,node_version:process.version,cli_version:t};for(console.log(bn.EULA_INSTALLATION);!Jh(o);)o=(await s.question($ha.bold(`
524
524
  Have you read, and do you accept the Terms of Use? [Y|N]: `))).toUpperCase(),await r.sendEventToMixpanel("TOS_shown",l);if(o=="N")throw l.date_time=ba(),await r.sendEventToMixpanel("TOS_rejected",l),bn.EULA_INSTALLATION_NO_ACCEPTED;l.date_time=ba(),await r.sendEventToMixpanel("TOS_accepted",l);let u=Math.round(new Date().getTime()).toString();if(i===1){let d={...J0e(),eula:u};HKe(d)}else i===2&&dx({eula:u});s.close()}break;default:break}}Ci();pm();async function ps(e=!1){let t=qs(),r=t!==null,n=null,a;switch(r?r&&(!t.privateKey||!t.address)?a=2:(n=await qX(t.address,t),n?a=4:a=3):a=1,a){case 1:case 2:case 3:console.log(bn.USER_NO_REGISTERED),process.exit(1);break;case 4:e&&console.log(`You are logged in as: ${n?.name} - ${n?.email}`);break}}import{createInterface as Lha}from"node:readline/promises";pm();Ci();import jha from"chalk";async function NBt(){console.log(jha.bold(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truebit/cli",
3
- "version": "1.124.6",
3
+ "version": "1.125.0",
4
4
  "private": false,
5
5
  "description": "truebit-cli is a basic command line that allows interaction between users and truebit nextgen node.",
6
6
  "author": {
@@ -56,5 +56,5 @@
56
56
  "engines": {
57
57
  "node": ">=22.13.0"
58
58
  },
59
- "gitHead": "16343f7d6db39a0451d6809a46757f769f012aba"
59
+ "gitHead": "36de9e5738e8cc6f37757ed070d17960ae1a82f8"
60
60
  }