@snapshot-labs/snapshot.js 0.12.8 → 0.12.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/snapshot.min.js
CHANGED
|
@@ -29,4 +29,4 @@ function iv(t){const{Fp:e,mds:r,reversePartialPowIdx:i,roundConstants:n}=t,{roun
|
|
|
29
29
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const{bytesToNumberBE:uv,hexToBytes:lv}=ry,cv={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(t){const{Err:e}=cv;if(t.length<2||2!==t[0])throw new e("Invalid signature integer tag");const r=t[1],i=t.subarray(2,r+2);if(!r||i.length!==r)throw new e("Invalid signature integer: wrong length");if(128&i[0])throw new e("Invalid signature integer: negative");if(0===i[0]&&!(128&i[1]))throw new e("Invalid signature integer: unnecessary leading zero");return{d:uv(i),l:t.subarray(r+2)}},toSig(t){const{Err:e}=cv,r="string"==typeof t?lv(t):t;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let i=r.length;if(i<2||48!=r[0])throw new e("Invalid signature tag");if(r[1]!==i-2)throw new e("Invalid signature: incorrect length");const{d:n,l:o}=cv._parseInt(r.subarray(2)),{d:s,l:a}=cv._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:n,s:s}},hexFromSig(t){const e=t=>8&Number.parseInt(t[0],16)?"00"+t:t,r=t=>{const e=t.toString(16);return 1&e.length?`0${e}`:e},i=e(r(t.s)),n=e(r(t.r)),o=i.length/2,s=n.length/2,a=r(o),h=r(s);return`30${r(s+o+4)}02${h}${n}02${a}${i}`}},fv=BigInt(0),dv=BigInt(1),mv=BigInt(2),pv=BigInt(3),gv=BigInt(4);function yv(t){const e=function(t){const e=hv(t);ey(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:r,Fp:i,a:n}=e;if(r){if(!i.eql(n,i.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}(t),{Fp:r}=e,i=e.toBytes||((t,e,i)=>{const n=e.toAffine();return Jg(Uint8Array.from([4]),r.toBytes(n.x),r.toBytes(n.y))}),n=e.fromBytes||(t=>{const e=t.subarray(1);return{x:r.fromBytes(e.subarray(0,r.BYTES)),y:r.fromBytes(e.subarray(r.BYTES,2*r.BYTES))}});function o(t){const{a:i,b:n}=e,o=r.sqr(t),s=r.mul(o,t);return r.add(r.add(s,r.mul(t,i)),n)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(t){return"bigint"==typeof t&&fv<t&&t<e.n}function a(t){if(!s(t))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function h(t){const{allowedPrivateKeyLengths:r,nByteLength:i,wrapPrivateKey:n,n:o}=e;if(r&&"bigint"!=typeof t){if(t instanceof Uint8Array&&(t=Lg(t)),"string"!=typeof t||!r.includes(t.length))throw new Error("Invalid key");t=t.padStart(2*i,"0")}let s;try{s="bigint"==typeof t?t:qg(Kg("private key",t,i))}catch(e){throw new Error(`private key must be ${i} bytes, hex or bigint, not ${typeof t}`)}return n&&(s=Zy(s,o)),a(s),s}const u=new Map;function l(t){if(!(t instanceof c))throw new Error("ProjectivePoint expected")}class c{constructor(t,e,i){if(this.px=t,this.py=e,this.pz=i,null==t||!r.isValid(t))throw new Error("x required");if(null==e||!r.isValid(e))throw new Error("y required");if(null==i||!r.isValid(i))throw new Error("z required")}static fromAffine(t){const{x:e,y:i}=t||{};if(!t||!r.isValid(e)||!r.isValid(i))throw new Error("invalid affine point");if(t instanceof c)throw new Error("projective point not allowed");const n=t=>r.eql(t,r.ZERO);return n(e)&&n(i)?c.ZERO:new c(e,i,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(t){const e=r.invertBatch(t.map((t=>t.pz)));return t.map(((t,r)=>t.toAffine(e[r]))).map(c.fromAffine)}static fromHex(t){const e=c.fromAffine(n(Kg("pointHex",t)));return e.assertValidity(),e}static fromPrivateKey(t){return c.BASE.multiply(h(t))}_setWindowSize(t){this._WINDOW_SIZE=t,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:t,y:i}=this.toAffine();if(!r.isValid(t)||!r.isValid(i))throw new Error("bad point: x or y not FE");const n=r.sqr(i),s=o(t);if(!r.eql(n,s))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:t}=this.toAffine();if(r.isOdd)return!r.isOdd(t);throw new Error("Field doesn't support isOdd")}equals(t){l(t);const{px:e,py:i,pz:n}=this,{px:o,py:s,pz:a}=t,h=r.eql(r.mul(e,a),r.mul(o,n)),u=r.eql(r.mul(i,a),r.mul(s,n));return h&&u}negate(){return new c(this.px,r.neg(this.py),this.pz)}double(){const{a:t,b:i}=e,n=r.mul(i,pv),{px:o,py:s,pz:a}=this;let h=r.ZERO,u=r.ZERO,l=r.ZERO,f=r.mul(o,o),d=r.mul(s,s),m=r.mul(a,a),p=r.mul(o,s);return p=r.add(p,p),l=r.mul(o,a),l=r.add(l,l),h=r.mul(t,l),u=r.mul(n,m),u=r.add(h,u),h=r.sub(d,u),u=r.add(d,u),u=r.mul(h,u),h=r.mul(p,h),l=r.mul(n,l),m=r.mul(t,m),p=r.sub(f,m),p=r.mul(t,p),p=r.add(p,l),l=r.add(f,f),f=r.add(l,f),f=r.add(f,m),f=r.mul(f,p),u=r.add(u,f),m=r.mul(s,a),m=r.add(m,m),f=r.mul(m,p),h=r.sub(h,f),l=r.mul(m,d),l=r.add(l,l),l=r.add(l,l),new c(h,u,l)}add(t){l(t);const{px:i,py:n,pz:o}=this,{px:s,py:a,pz:h}=t;let u=r.ZERO,f=r.ZERO,d=r.ZERO;const m=e.a,p=r.mul(e.b,pv);let g=r.mul(i,s),y=r.mul(n,a),v=r.mul(o,h),w=r.add(i,n),b=r.add(s,a);w=r.mul(w,b),b=r.add(g,y),w=r.sub(w,b),b=r.add(i,o);let M=r.add(s,h);return b=r.mul(b,M),M=r.add(g,v),b=r.sub(b,M),M=r.add(n,o),u=r.add(a,h),M=r.mul(M,u),u=r.add(y,v),M=r.sub(M,u),d=r.mul(m,b),u=r.mul(p,v),d=r.add(u,d),u=r.sub(y,d),d=r.add(y,d),f=r.mul(u,d),y=r.add(g,g),y=r.add(y,g),v=r.mul(m,v),b=r.mul(p,b),y=r.add(y,v),v=r.sub(g,v),v=r.mul(m,v),b=r.add(b,v),g=r.mul(y,b),f=r.add(f,g),g=r.mul(M,b),u=r.mul(w,u),u=r.sub(u,g),g=r.mul(w,y),d=r.mul(M,d),d=r.add(d,g),new c(u,f,d)}subtract(t){return this.add(t.negate())}is0(){return this.equals(c.ZERO)}wNAF(t){return d.wNAFCached(this,u,t,(t=>{const e=r.invertBatch(t.map((t=>t.pz)));return t.map(((t,r)=>t.toAffine(e[r]))).map(c.fromAffine)}))}multiplyUnsafe(t){const i=c.ZERO;if(t===fv)return i;if(a(t),t===dv)return this;const{endo:n}=e;if(!n)return d.unsafeLadder(this,t);let{k1neg:o,k1:s,k2neg:h,k2:u}=n.splitScalar(t),l=i,f=i,m=this;for(;s>fv||u>fv;)s&dv&&(l=l.add(m)),u&dv&&(f=f.add(m)),m=m.double(),s>>=dv,u>>=dv;return o&&(l=l.negate()),h&&(f=f.negate()),f=new c(r.mul(f.px,n.beta),f.py,f.pz),l.add(f)}multiply(t){a(t);let i,n,o=t;const{endo:s}=e;if(s){const{k1neg:t,k1:e,k2neg:a,k2:h}=s.splitScalar(o);let{p:u,f:l}=this.wNAF(e),{p:f,f:m}=this.wNAF(h);u=d.constTimeNegate(t,u),f=d.constTimeNegate(a,f),f=new c(r.mul(f.px,s.beta),f.py,f.pz),i=u.add(f),n=l.add(m)}else{const{p:t,f:e}=this.wNAF(o);i=t,n=e}return c.normalizeZ([i,n])[0]}multiplyAndAddUnsafe(t,e,r){const i=c.BASE,n=(t,e)=>e!==fv&&e!==dv&&t.equals(i)?t.multiply(e):t.multiplyUnsafe(e),o=n(this,e).add(n(t,r));return o.is0()?void 0:o}toAffine(t){const{px:e,py:i,pz:n}=this,o=this.is0();null==t&&(t=o?r.ONE:r.inv(n));const s=r.mul(e,t),a=r.mul(i,t),h=r.mul(n,t);if(o)return{x:r.ZERO,y:r.ZERO};if(!r.eql(h,r.ONE))throw new Error("invZ was invalid");return{x:s,y:a}}isTorsionFree(){const{h:t,isTorsionFree:r}=e;if(t===dv)return!0;if(r)return r(c,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:t,clearCofactor:r}=e;return t===dv?this:r?r(c,this):this.multiplyUnsafe(e.h)}toRawBytes(t=!0){return this.assertValidity(),i(c,this,t)}toHex(t=!0){return Lg(this.toRawBytes(t))}}c.BASE=new c(e.Gx,e.Gy,r.ONE),c.ZERO=new c(r.ZERO,r.ONE,r.ZERO);const f=e.nBitLength,d=function(t,e){const r=(t,e)=>{const r=e.negate();return t?r:e},i=t=>({windows:Math.ceil(e/t)+1,windowSize:2**(t-1)});return{constTimeNegate:r,unsafeLadder(e,r){let i=t.ZERO,n=e;for(;r>sv;)r&av&&(i=i.add(n)),n=n.double(),r>>=av;return i},precomputeWindow(t,e){const{windows:r,windowSize:n}=i(e),o=[];let s=t,a=s;for(let t=0;t<r;t++){a=s,o.push(a);for(let t=1;t<n;t++)a=a.add(s),o.push(a);s=a.double()}return o},wNAF(e,n,o){const{windows:s,windowSize:a}=i(e);let h=t.ZERO,u=t.BASE;const l=BigInt(2**e-1),c=2**e,f=BigInt(e);for(let t=0;t<s;t++){const e=t*a;let i=Number(o&l);o>>=f,i>a&&(i-=c,o+=av);const s=e,d=e+Math.abs(i)-1,m=t%2!=0,p=i<0;0===i?u=u.add(r(m,n[s])):h=h.add(r(p,n[d]))}return{p:h,f:u}},wNAFCached(t,e,r,i){const n=t._WINDOW_SIZE||1;let o=e.get(t);return o||(o=this.precomputeWindow(t,n),1!==n&&e.set(t,i(o))),this.wNAF(n,o,r)}}}(c,e.endo?Math.ceil(f/2):f);return{CURVE:e,ProjectivePoint:c,normPrivateKeyToScalar:h,weierstrassEquation:o,isWithinCurveOrder:s}}function vv(t){const e=function(t){const e=hv(t);return ey(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}(t),{Fp:r,n:i}=e,n=r.BYTES+1,o=2*r.BYTES+1;function s(t){return Zy(t,i)}function a(t){return Ky(t,i)}const{ProjectivePoint:h,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:c}=yv({...e,toBytes(t,e,i){const n=e.toAffine(),o=r.toBytes(n.x),s=Jg;return i?s(Uint8Array.from([e.hasEvenY()?2:3]),o):s(Uint8Array.from([4]),o,r.toBytes(n.y))},fromBytes(t){const e=t.length,i=t[0],s=t.subarray(1);if(e!==n||2!==i&&3!==i){if(e===o&&4===i){return{x:r.fromBytes(s.subarray(0,r.BYTES)),y:r.fromBytes(s.subarray(r.BYTES,2*r.BYTES))}}throw new Error(`Point of length ${e} was invalid. Expected ${n} compressed bytes or ${o} uncompressed bytes`)}{const t=qg(s);if(!(fv<(a=t)&&a<r.ORDER))throw new Error("Point is not on curve");const e=l(t);let n=r.sqrt(e);return 1==(1&i)!==((n&dv)===dv)&&(n=r.neg(n)),{x:t,y:n}}var a}}),f=t=>Lg(Vg(t,e.nByteLength));function d(t){return t>i>>dv}const m=(t,e,r)=>qg(t.slice(e,r));class p{constructor(t,e,r){this.r=t,this.s=e,this.recovery=r,this.assertValidity()}static fromCompact(t){const r=e.nByteLength;return t=Kg("compactSignature",t,2*r),new p(m(t,0,r),m(t,r,2*r))}static fromDER(t){const{r:e,s:r}=cv.toSig(Kg("DER",t));return new p(e,r)}assertValidity(){if(!c(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!c(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(t){return new p(this.r,this.s,t)}recoverPublicKey(t){const{r:i,s:n,recovery:o}=this,u=w(Kg("msgHash",t));if(null==o||![0,1,2,3].includes(o))throw new Error("recovery id invalid");const l=2===o||3===o?i+e.n:i;if(l>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");const c=0==(1&o)?"02":"03",d=h.fromHex(c+f(l)),m=a(l),p=s(-u*m),g=s(n*m),y=h.BASE.multiplyAndAddUnsafe(d,p,g);if(!y)throw new Error("point at infinify");return y.assertValidity(),y}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return zg(this.toDERHex())}toDERHex(){return cv.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return zg(this.toCompactHex())}toCompactHex(){return f(this.r)+f(this.s)}}const g={isValidPrivateKey(t){try{return u(t),!0}catch(t){return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const t=rv(e.n);return function(t,e,r=!1){const i=t.length,n=ev(e),o=rv(e);if(i<16||i<o||i>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${i}`);const s=Zy(r?qg(t):Hg(t),e-Fy)+Fy;return r?Zg(s,n):Vg(s,n)}(e.randomBytes(t),e.n)},precompute:(t=8,e=h.BASE)=>(e._setWindowSize(t),e.multiply(BigInt(3)),e)};function y(t){const e=t instanceof Uint8Array,r="string"==typeof t,i=(e||r)&&t.length;return e?i===n||i===o:r?i===2*n||i===2*o:t instanceof h}const v=e.bits2int||function(t){const r=qg(t),i=8*t.length-e.nBitLength;return i>0?r>>BigInt(i):r},w=e.bits2int_modN||function(t){return s(v(t))},b=Qg(e.nBitLength);function M(t){if("bigint"!=typeof t)throw new Error("bigint expected");if(!(fv<=t&&t<b))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Vg(t,e.nByteLength)}function _(t,i,n=E){if(["recovered","canonical"].some((t=>t in n)))throw new Error("sign() legacy options not supported");const{hash:o,randomBytes:l}=e;let{lowS:f,prehash:m,extraEntropy:g}=n;null==f&&(f=!0),t=Kg("msgHash",t),m&&(t=Kg("prehashed msgHash",o(t)));const y=w(t),b=u(i),_=[M(b),M(y)];if(null!=g){const t=!0===g?l(r.BYTES):g;_.push(Kg("extraEntropy",t))}const A=Jg(..._),k=y;return{seed:A,k2sig:function(t){const e=v(t);if(!c(e))return;const r=a(e),i=h.BASE.multiply(e).toAffine(),n=s(i.x);if(n===fv)return;const o=s(r*s(k+n*b));if(o===fv)return;let u=(i.x===n?0:2)|Number(i.y&dv),l=o;return f&&d(o)&&(l=function(t){return d(t)?s(-t):t}(o),u^=1),new p(n,l,u)}}}const E={lowS:e.lowS,prehash:!1},A={lowS:e.lowS,prehash:!1};return h.BASE._setWindowSize(8),{CURVE:e,getPublicKey:function(t,e=!0){return h.fromPrivateKey(t).toRawBytes(e)},getSharedSecret:function(t,e,r=!0){if(y(t))throw new Error("first arg must be private key");if(!y(e))throw new Error("second arg must be public key");return h.fromHex(e).multiply(u(t)).toRawBytes(r)},sign:function(t,r,i=E){const{seed:n,k2sig:o}=_(t,r,i),s=e;return Xg(s.hash.outputLen,s.nByteLength,s.hmac)(n,o)},verify:function(t,r,i,n=A){const o=t;if(r=Kg("msgHash",r),i=Kg("publicKey",i),"strict"in n)throw new Error("options.strict was renamed to lowS");const{lowS:u,prehash:l}=n;let c,f;try{if("string"==typeof o||o instanceof Uint8Array)try{c=p.fromDER(o)}catch(t){if(!(t instanceof cv.Err))throw t;c=p.fromCompact(o)}else{if("object"!=typeof o||"bigint"!=typeof o.r||"bigint"!=typeof o.s)throw new Error("PARSE");{const{r:t,s:e}=o;c=new p(t,e)}}f=h.fromHex(i)}catch(t){if("PARSE"===t.message)throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(u&&c.hasHighS())return!1;l&&(r=e.hash(r));const{r:d,s:m}=c,g=w(r),y=a(m),v=s(g*y),b=s(d*y),M=h.BASE.multiplyAndAddUnsafe(f,v,b)?.toAffine();return!!M&&s(M.x)===d},ProjectivePoint:h,Signature:p,utils:g}}function wv(t,e){const r=t.ORDER;let i=fv;for(let t=r-dv;t%mv===fv;t/=mv)i+=dv;const n=i,o=mv<<n-dv-dv,s=o*mv,a=(r-dv)/s,h=(a-dv)/mv,u=s-dv,l=o,c=t.pow(e,a),f=t.pow(e,(a+dv)/mv);let d=(e,r)=>{let i=c,o=t.pow(r,u),s=t.sqr(o);s=t.mul(s,r);let a=t.mul(e,s);a=t.pow(a,h),a=t.mul(a,o),o=t.mul(a,r),s=t.mul(a,e);let d=t.mul(s,o);a=t.pow(d,l);let m=t.eql(a,t.ONE);o=t.mul(s,f),a=t.mul(d,i),s=t.cmov(o,s,m),d=t.cmov(a,d,m);for(let e=n;e>dv;e--){let r=e-mv;r=mv<<r-dv;let n=t.pow(d,r);const a=t.eql(n,t.ONE);o=t.mul(s,i),i=t.mul(i,i),n=t.mul(d,i),s=t.cmov(o,s,a),d=t.cmov(n,d,a)}return{isValid:m,value:s}};if(t.ORDER%gv===pv){const r=(t.ORDER-pv)/gv,i=t.sqrt(t.neg(e));d=(e,n)=>{let o=t.sqr(n);const s=t.mul(e,n);o=t.mul(o,s);let a=t.pow(o,r);a=t.mul(a,s);const h=t.mul(a,i),u=t.mul(t.sqr(a),n),l=t.eql(u,e);return{isValid:l,value:t.cmov(h,a,l)}}}return d}var bv=Object.freeze({__proto__:null,DER:cv,weierstrassPoints:yv,weierstrass:vv,SWUFpSqrtRatio:wv,mapToCurveSimpleSWU:function(t,e){if(Wy(t),!t.isValid(e.A)||!t.isValid(e.B)||!t.isValid(e.Z))throw new Error("mapToCurveSimpleSWU: invalid opts");const r=wv(t,e.Z);if(!t.isOdd)throw new Error("Fp.isOdd is not implemented!");return i=>{let n,o,s,a,h,u,l,c;n=t.sqr(i),n=t.mul(n,e.Z),o=t.sqr(n),o=t.add(o,n),s=t.add(o,t.ONE),s=t.mul(s,e.B),a=t.cmov(e.Z,t.neg(o),!t.eql(o,t.ZERO)),a=t.mul(a,e.A),o=t.sqr(s),u=t.sqr(a),h=t.mul(u,e.A),o=t.add(o,h),o=t.mul(o,s),u=t.mul(u,a),h=t.mul(u,e.B),o=t.add(o,h),l=t.mul(n,s);const{isValid:f,value:d}=r(o,u);c=t.mul(n,i),c=t.mul(c,d),l=t.cmov(l,s,f),c=t.cmov(c,d,f);const m=t.isOdd(i)===t.isOdd(c);return c=t.cmov(t.neg(c),c,m),l=t.div(l,a),{x:l,y:c}}}});function Mv(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function _v(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}const Ev="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,Av=t=>t instanceof Uint8Array;
|
|
30
30
|
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");function kv(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array((new TextEncoder).encode(t))}(t)),!Av(t))throw new Error("expected Uint8Array, got "+typeof t);return t}function xv(t=32){if(Ev&&"function"==typeof Ev.getRandomValues)return Ev.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}class Nv extends class{clone(){return this._cloneInto()}}{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");Mv(t.outputLen),Mv(t.blockLen)}(t);const r=kv(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,n=new Uint8Array(i);n.set(r.length>i?t.create().update(r).digest():r);for(let t=0;t<n.length;t++)n[t]^=54;this.iHash.update(n),this.oHash=t.create();for(let t=0;t<n.length;t++)n[t]^=106;this.oHash.update(n),n.fill(0)}update(t){return _v(this),this.iHash.update(t),this}digestInto(t){_v(this),function(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:r,finished:i,destroyed:n,blockLen:o,outputLen:s}=this;return t.finished=i,t.destroyed=n,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Sv=(t,e,r)=>new Nv(t,e).update(r).digest();Sv.create=(t,e)=>new Nv(t,e)
|
|
31
31
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */;const Iv=BigInt("3618502788666131213697322783095070105526743751716087489154079457884512865583"),Rv=BigInt("0x800000000000000000000000000000000000000000000000000000000000000");function Tv(t){for(;0===t[0];)t=t.subarray(1);const e=8*t.length-252,r=qg(t);return e>0?r>>BigInt(e):r}function Cv(t){return"string"==typeof t&&1&(t=Vv(t)).length&&(t="0"+t),zg(t)}const Pv=vv({a:BigInt(1),b:BigInt("3141592653589793238462643383279502884197169399375105820974944592307816406665"),Fp:tv(BigInt("0x800000000000011000000000000000000000000000000000000000000000001")),n:Iv,nBitLength:252,Gx:BigInt("874739451078007766457464989774322083649278607533249481151382481072868806602"),Gy:BigInt("152666792071518830868575557812948353041420400780739481342941381225525861407"),h:BigInt(1),lowS:!1,...function(t){return{hash:t,hmac:(e,...r)=>Sv(t,e,function(...t){const e=new Uint8Array(t.reduce(((t,e)=>t+e.length),0));let r=0;return t.forEach((t=>{if(!Av(t))throw new Error("Uint8Array expected");e.set(t,r),r+=t.length})),e}(...r)),randomBytes:xv}}(Dy),bits2int:Tv,bits2int_modN:t=>{const e=qg(t).toString(16);return 63===e.length&&(t=Cv(e+"0")),Zy(Tv(t),Iv)}}),Ov=Pv;function Bv(t){return Kg("","string"==typeof t?Cv(t):t)}function $v(t){return Lg(Bv(t)).padStart(64,"0")}function Uv(t,e=!1){return Pv.getPublicKey($v(t),e)}function Dv(t){const{r:e,s:r}=t;if(e<0n||e>=Rv)throw new Error(`Signature.r should be [1, ${Rv})`);const i=Ky(r,Iv);if(i<0n||i>=Rv)throw new Error(`inv(Signature.s) should be [1, ${Rv})`)}function Lv(t){const e=Bv(t);if(qg(e)>=Rv)throw new Error(`msgHash should be [0, ${Rv})`);return e}const{CURVE:Fv,ProjectivePoint:jv,Signature:zv,utils:qv}=Pv;function Hv(t){return`0x${Lg(t.subarray(1)).replace(/^0+/gm,"")}`}function Vv(t){return t.replace(/^0x/i,"")}function Zv(t){const e=Bv(t),r=2n**256n,i=r-Zy(r,Iv);for(let t=0;;t++){const r=nw(Jg(e,Gg(BigInt(t))));if(r<i)return Zy(r,Iv).toString(16);if(1e5===t)throw new Error("grindKey is broken: tried 100k vals")}}function Gv(t){return Hv(Uv(t,!0))}const Kv=2n**31n-1n,Jv=t=>Number(t&Kv);const Qv=[new jv(2089986280348253421170679821480865132823066470938446095505822317253594081284n,1713931329540660377023406109199410414810705867260802078187082345529207694986n,1n),new jv(996781205833008774514500082376783249102396023663454813447423147977397232763n,1668503676786377725805489344771023921079126552019160156920634619255970485781n,1n),new jv(2251563274489750535117886426533222435294046428347329203627021249169616184184n,1798716007562728905295480679789526322175868328062420237419143593021674992973n,1n),new jv(2138414695194151160943305727036575959195309218611738193261179310511854807447n,113410276730064486255102093846540133784865286929052426931474106396135072156n,1n),new jv(2379962749567351885752724891227938183011949129833673362440656643086021394946n,776496453633298175483985398648758586525933812536653089401905292063708816422n,1n)];function Wv(t,e){const r=[];let i=t;for(let t=0;t<248;t++)r.push(i),i=i.double();i=e;for(let t=0;t<4;t++)r.push(i),i=i.double();return r}const Yv=Wv(Qv[1],Qv[2]),Xv=Wv(Qv[3],Qv[4]);function tw(t,e,r){let i=function(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t){if(!Number.isSafeInteger(t))throw new Error(`Invalid pedersenArg: ${t}`);e=BigInt(t)}else e=qg(Bv(t));if(!(0n<=e&&e<Pv.CURVE.Fp.ORDER))throw new Error(`PedersenArg should be 0 <= value < CURVE.P: ${e}`);return e}(e);for(let e=0;e<252;e++){const n=r[e];if(n.equals(t))throw new Error("Same point");0n!==(1n&i)&&(t=t.add(n)),i>>=1n}return t}function ew(t,e){let r=Qv[0];return r=tw(r,t,Yv),r=tw(r,e,Xv),Hv(r.toRawBytes(!0))}const rw=Qg(250),iw=t=>qg(Ty(t))&rw,nw=t=>qg(Dy(t)),ow=tv(BigInt("3618502788666131213697322783095070105623107215331596699973092056135872020481"));function sw(t,e,r){const i=t.fromBytes(Dy(dy(`${e}${r}`)));return t.create(i)}function aw(t,e,r,i=0){const n=[],o=[];for(let s=0;s<r;s++)n.push(sw(t,`${e}x`,i*r+s)),o.push(sw(t,`${e}y`,i*r+s));if(new Set([...n,...o]).size!==2*r)throw new Error("X and Y values are not distinct");return n.map((e=>o.map((r=>t.inv(t.sub(e,r))))))}function hw(t,e){if(Wy(t.Fp),!Number.isSafeInteger(t.rate)||!Number.isSafeInteger(t.capacity))throw new Error(`Wrong poseidon opts: ${t}`);const r=t.rate+t.capacity,i=t.roundsFull+t.roundsPartial,n=[];for(let e=0;e<i;e++){const i=[];for(let n=0;n<r;n++)i.push(sw(t.Fp,"Hades",r*e+n));n.push(i)}const o=nv({...t,t:r,sboxPower:3,reversePartialPowIdx:!0,mds:e,roundConstants:n});return o.m=r,o.rate=t.rate,o.capacity=t.capacity,o}const uw=hw({Fp:ow,rate:2,capacity:1,roundsFull:8,roundsPartial:83},[[3,1,1],[1,-1,1],[1,1,-2]].map((t=>t.map(BigInt))));function lw(t,e,r=uw){return r([t,e,2n])[0]}function cw(t,e=uw){const{m:r,rate:i}=e;if(!Array.isArray(t))throw new Error("bigint array expected in values");const n=Array.from(t);for(n.push(1n);n.length%i!=0;)n.push(0n);let o=new Array(r).fill(0n);for(let t=0;t<n.length;t+=i){for(let e=0;e<i;e++)o[e]+=n[t+e];o=e(o)}return o[0]}var fw=Object.freeze({__proto__:null,MAX_VALUE:Rv,_starkCurve:Ov,getPublicKey:Uv,getSharedSecret:function(t,e){return Pv.getSharedSecret($v(t),e)},sign:function(t,e,r){const i=Pv.sign(Lv(t),$v(e),r);return Dv(i),i},verify:function(t,e,r){if(!(t instanceof zv)){const e=Bv(t);try{t=zv.fromDER(e)}catch(r){if(!(r instanceof cv.Err))throw r;t=zv.fromCompact(e)}}return Dv(t),Pv.verify(t,Lv(e),Bv(r))},CURVE:Fv,ProjectivePoint:jv,Signature:zv,utils:qv,grindKey:Zv,getStarkKey:Gv,ethSigToPrivate:function(t){if(130!==(t=Vv(t)).length)throw new Error("Wrong ethereum signature");return Zv(t.substring(0,64))},getAccountPath:function(t,e,r,i){const n=Jv(nw(t)),o=Jv(nw(e)),s=jg(Vv(r));return`m/2645'/${n}'/${o}'/${Jv(s)}'/${Jv(s>>31n)}'/${i}`},pedersen:ew,computeHashOnElements:(t,e=ew)=>[0,...t,t.length].reduce(((t,r)=>e(t,r))),keccak:iw,Fp251:ow,_poseidonMDS:aw,poseidonBasic:hw,poseidonCreate:function(t,e=0){const r=t.rate+t.capacity;if(!Number.isSafeInteger(e))throw new Error(`Wrong mdsAttempt=${e}`);return hw(t,aw(t.Fp,"HadesMDS",r,e))},poseidonSmall:uw,poseidonHash:lw,poseidonHashFunc:function(t,e,r=uw){return Gg(lw(qg(t),qg(e),r))},poseidonHashSingle:function(t,e=uw){return e([t,0n,1n])[0]},poseidonHashMany:cw});function dw(t){return mw.test(t)}var mw=/^-?[0-9]+$/;function pw(t){return gw.test(t)}var gw=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?$/;var yw=function(t){return t.underflow="underflow",t.overflow="overflow",t.truncate_integer="truncate_integer",t.truncate_float="truncate_float",t}({});function vw(t){if(!function(t,e){var r=parseFloat(t),i=String(r),n=ww(t),o=ww(i);if(n===o)return!0;if(!0===(null==e?void 0:e.approx)&&!dw(t)&&o.length>=14&&n.startsWith(o.substring(0,14)))return!0;return!1}(t,{approx:!1})){if(dw(t))return yw.truncate_integer;var e=parseFloat(t);return isFinite(e)?0===e?yw.underflow:yw.truncate_float:yw.overflow}}function ww(t){return t.replace(bw,"").replace(_w,"").replace(Ew,"").replace(Mw,"")}var bw=/[eE][+-]?\d+$/,Mw=/^-?(0*)?/,_w=/\./,Ew=/0+$/;function Aw(t){return Aw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Aw(t)}function kw(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,xw(i.key),i)}}function xw(t){var e=function(t,e){if("object"!==Aw(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!==Aw(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===Aw(e)?e:String(e)}var Nw=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),function(t,e,r){(e=xw(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}(this,"isLosslessNumber",!0),!pw(e))throw new Error('Invalid number (value: "'+e+'")');this.value=e}var e,r,i;return e=t,(r=[{key:"valueOf",value:function(){var t=vw(this.value);if(void 0===t||t===yw.truncate_float)return parseFloat(this.value);if(dw(this.value))return BigInt(this.value);throw new Error("Cannot safely convert to number: "+"the value '".concat(this.value,"' would ").concat(t," and become ").concat(parseFloat(this.value)))}},{key:"toString",value:function(){return this.value}}])&&kw(e.prototype,r),i&&kw(e,i),Object.defineProperty(e,"prototype",{writable:!1}),t}();function Sw(t){return new Nw(t)}function Iw(t){return dw(t)?BigInt(t):parseFloat(t)}function Rw(t){return Rw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rw(t)}function Tw(t,e){return Cw({"":t},"",t,e)}function Cw(t,e,r,i){return Array.isArray(r)?i.call(t,e,function(t,e){for(var r=0;r<t.length;r++)t[r]=Cw(t,r+"",t[r],e);return t}(r,i)):r&&"object"===Rw(r)&&!function(t){return t&&"object"===Aw(t)&&!0===t.isLosslessNumber||!1}(r)?i.call(t,e,function(t,e){return Object.keys(t).forEach((function(r){var i=Cw(t,r,t[r],e);void 0!==i?t[r]=i:delete t[r]})),t}(r,i)):i.call(t,e,r)}function Pw(t){return Pw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pw(t)}function Ow(t){return function(t){if(Array.isArray(t))return Bw(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Bw(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Bw(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bw(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function $w(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Sw,i=0,n=a();return m(n),g(),e?Tw(n,e):n;function o(){if(t.charCodeAt(i)===Zw){i++,u();for(var e={},r=!0;i<t.length&&t.charCodeAt(i)!==Gw;){r?r=!1:(f(),u());var n=i,o=l();void 0===o&&w(),u(),d();var s=a();void 0===s&&k(),Object.prototype.hasOwnProperty.call(e,o)&&!zw(s,e[o])&&b(o,n+1),e[o]=s}return t.charCodeAt(i)!==Gw&&M(),i++,e}}function s(){if(t.charCodeAt(i)===Kw){i++,u();for(var e=[],r=!0;i<t.length&&t.charCodeAt(i)!==Jw;){r?r=!1:f();var n=a();p(n),e.push(n)}return t.charCodeAt(i)!==Jw&&_(),i++,e}}function a(){var t,e,r,i,n,a;u();var f=null!==(t=null!==(e=null!==(r=null!==(i=null!==(n=null!==(a=l())&&void 0!==a?a:c())&&void 0!==n?n:o())&&void 0!==i?i:s())&&void 0!==r?r:h("true",!0))&&void 0!==e?e:h("false",!1))&&void 0!==t?t:h("null",null);return u(),f}function h(e,r){if(t.slice(i,i+e.length)===e)return i+=e.length,r}function u(){for(;Uw(t.charCodeAt(i));)i++}function l(){if(t.charCodeAt(i)===tb){i++;for(var e="";i<t.length&&t.charCodeAt(i)!==tb;){if(t.charCodeAt(i)===Vw){var r=t[i+1],n=Hw[r];void 0!==n?(e+=n,i++):"u"===r?Dw(t.charCodeAt(i+2))&&Dw(t.charCodeAt(i+3))&&Dw(t.charCodeAt(i+4))&&Dw(t.charCodeAt(i+5))?(e+=String.fromCharCode(parseInt(t.slice(i+2,i+6),16)),i+=5):x(i):A(i)}else jw(t.charCodeAt(i))?e+=t[i]:E(t[i]);i++}return v(),i++,e}}function c(){var e=i;if(t.charCodeAt(i)===rb&&(i++,y(e)),t.charCodeAt(i)===ib)i++;else if(Fw(t.charCodeAt(i)))for(i++;Lw(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===ab)for(i++,y(e);Lw(t.charCodeAt(i));)i++;if(t.charCodeAt(i)===fb||t.charCodeAt(i)===cb)for(i++,t.charCodeAt(i)!==rb&&t.charCodeAt(i)!==eb||i++,y(e);Lw(t.charCodeAt(i));)i++;if(i>e)return r(t.slice(e,i))}function f(){if(t.charCodeAt(i)!==sb)throw new SyntaxError("Comma ',' expected after value ".concat(I()));i++}function d(){if(t.charCodeAt(i)!==hb)throw new SyntaxError("Colon ':' expected after property name ".concat(I()));i++}function m(t){if(void 0===t)throw new SyntaxError("JSON value expected ".concat(I()))}function p(t){if(void 0===t)throw new SyntaxError("Array item expected ".concat(I()))}function g(){if(i<t.length)throw new SyntaxError("Expected end of input ".concat(I()))}function y(e){if(!Lw(t.charCodeAt(i))){var r=t.slice(e,i);throw new SyntaxError("Invalid number '".concat(r,"', expecting a digit ").concat(I()))}}function v(){if(t.charCodeAt(i)!==tb)throw new SyntaxError("End of string '\"' expected ".concat(I()))}function w(){throw new SyntaxError("Quoted object key expected ".concat(I()))}function b(t,e){throw new SyntaxError("Duplicate key '".concat(t,"' encountered at position ").concat(e))}function M(){throw new SyntaxError("Quoted object key or end of object '}' expected ".concat(I()))}function _(){throw new SyntaxError("Array item or end of array ']' expected ".concat(I()))}function E(t){throw new SyntaxError("Invalid character '".concat(t,"' ").concat(N()))}function A(e){var r=t.slice(e,e+2);throw new SyntaxError("Invalid escape character '".concat(r,"' ").concat(N()))}function k(){throw new SyntaxError("Object value expected after ':' ".concat(N()))}function x(e){for(var r=e+2;/\w/.test(t[r]);)r++;var i=t.slice(e,r);throw new SyntaxError("Invalid unicode character '".concat(i,"' ").concat(N()))}function N(){return"at position ".concat(i)}function S(){return i<t.length?"but got '".concat(t[i],"'"):"but reached end of input"}function I(){return S()+" "+N()}}function Uw(t){return t===Qw||t===Ww||t===Yw||t===Xw}function Dw(t){return t>=ib&&t<=ob||t>=ub&&t<=db||t>=lb&&t<=mb}function Lw(t){return t>=ib&&t<=ob}function Fw(t){return t>=nb&&t<=ob}function jw(t){return t>=32&&t<=1114111}function zw(t,e){return t===e||(Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((function(t,r){return zw(t,e[r])})):!(!qw(t)||!qw(e))&&Ow(new Set([].concat(Ow(Object.keys(t)),Ow(Object.keys(e))))).every((function(r){return zw(t[r],e[r])})))}function qw(t){return"object"===Pw(t)&&null!==t}var Hw={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},Vw=92,Zw=123,Gw=125,Kw=91,Jw=93,Qw=32,Ww=10,Yw=9,Xw=13,tb=34,eb=43,rb=45,ib=48,nb=49,ob=57,sb=44,ab=46,hb=58,ub=65,lb=97,cb=69,fb=101,db=70,mb=102;function pb(t){return pb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pb(t)}function gb(t,e,r,i){var n=function(t){if("number"==typeof t)return" ".repeat(t);if("string"==typeof t&&""!==t)return t;return}
|
|
32
|
-
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */(r);return o("function"==typeof e?e.call({"":t},"",t):t,"");function o(t,s){if(Array.isArray(i)){var a=i.find((function(e){return e.test(t)}));if(a){var h=a.stringify(t);if("string"!=typeof h||!pw(h))throw new Error("Invalid JSON number: output of a number stringifier must be a string containing a JSON number "+"(output: ".concat(h,")"));return h}}return"boolean"==typeof t||"number"==typeof t||"string"==typeof t||null===t||t instanceof Date||t instanceof Boolean||t instanceof Number||t instanceof String?JSON.stringify(t):t&&t.isLosslessNumber||"bigint"==typeof t?t.toString():Array.isArray(t)?function(t,r){if(0===t.length)return"[]";for(var i=n?r+n:void 0,s=n?"[\n":"[",a=0;a<t.length;a++){var h="function"==typeof e?e.call(t,String(a),t[a]):t[a];n&&(s+=i),s+=void 0!==h&&"function"!=typeof h?o(h,i):"null",a<t.length-1&&(s+=n?",\n":",")}return s+=n?"\n"+r+"]":"]"}(t,s):t&&"object"===pb(t)?function(t,i){if("function"==typeof t.toJSON)return gb(t.toJSON(),e,r,void 0);var s=Array.isArray(e)?e.map(String):Object.keys(t);if(0===s.length)return"{}";var a=n?i+n:void 0,h=!0,u=n?"{\n":"{";return s.forEach((function(r){var i="function"==typeof e?e.call(t,r,t[r]):t[r];if(function(t,e){return void 0!==e&&"function"!=typeof e&&"symbol"!==pb(e)}(0,i)){h?h=!1:u+=n?",\n":",";var s=JSON.stringify(r);u+=n?a+s+": ":s+":",u+=o(i,a)}})),u+=n?"\n"+i+"}":"}"}(t,s):void 0}}function yb(t){let e=t.length;for(;--e>=0;)t[e]=0}const vb=256,wb=286,bb=30,Mb=15,_b=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Eb=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Ab=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),kb=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),xb=new Array(576);yb(xb);const Nb=new Array(60);yb(Nb);const Sb=new Array(512);yb(Sb);const Ib=new Array(256);yb(Ib);const Rb=new Array(29);yb(Rb);const Tb=new Array(bb);function Cb(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let Pb,Ob,Bb;function $b(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}yb(Tb);const Ub=t=>t<256?Sb[t]:Sb[256+(t>>>7)],Db=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},Lb=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,Db(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)},Fb=(t,e,r)=>{Lb(t,r[2*e],r[2*e+1])},jb=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},zb=(t,e,r)=>{const i=new Array(16);let n,o,s=0;for(n=1;n<=Mb;n++)s=s+r[n-1]<<1,i[n]=s;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=jb(i[e]++,e))}},qb=t=>{let e;for(e=0;e<wb;e++)t.dyn_ltree[2*e]=0;for(e=0;e<bb;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Hb=t=>{t.bi_valid>8?Db(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Vb=(t,e,r,i)=>{const n=2*e,o=2*r;return t[n]<t[o]||t[n]===t[o]&&i[e]<=i[r]},Zb=(t,e,r)=>{const i=t.heap[r];let n=r<<1;for(;n<=t.heap_len&&(n<t.heap_len&&Vb(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!Vb(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i},Gb=(t,e,r)=>{let i,n,o,s,a=0;if(0!==t.sym_next)do{i=255&t.pending_buf[t.sym_buf+a++],i+=(255&t.pending_buf[t.sym_buf+a++])<<8,n=t.pending_buf[t.sym_buf+a++],0===i?Fb(t,n,e):(o=Ib[n],Fb(t,o+vb+1,e),s=_b[o],0!==s&&(n-=Rb[o],Lb(t,n,s)),i--,o=Ub(i),Fb(t,o,r),s=Eb[o],0!==s&&(i-=Tb[o],Lb(t,i,s)))}while(a<t.sym_next);Fb(t,256,e)},Kb=(t,e)=>{const r=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,h,u=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<o;s++)0!==r[2*s]?(t.heap[++t.heap_len]=u=s,t.depth[s]=0):r[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=u<2?++u:0,r[2*h]=1,t.depth[h]=0,t.opt_len--,n&&(t.static_len-=i[2*h+1]);for(e.max_code=u,s=t.heap_len>>1;s>=1;s--)Zb(t,r,s);h=o;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Zb(t,r,1),a=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=a,r[2*h]=r[2*s]+r[2*a],t.depth[h]=(t.depth[s]>=t.depth[a]?t.depth[s]:t.depth[a])+1,r[2*s+1]=r[2*a+1]=h,t.heap[1]=h++,Zb(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,h=e.stat_desc.max_length;let u,l,c,f,d,m,p=0;for(f=0;f<=Mb;f++)t.bl_count[f]=0;for(r[2*t.heap[t.heap_max]+1]=0,u=t.heap_max+1;u<573;u++)l=t.heap[u],f=r[2*r[2*l+1]+1]+1,f>h&&(f=h,p++),r[2*l+1]=f,l>i||(t.bl_count[f]++,d=0,l>=a&&(d=s[l-a]),m=r[2*l],t.opt_len+=m*(f+d),o&&(t.static_len+=m*(n[2*l+1]+d)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(l=t.bl_count[f];0!==l;)c=t.heap[--u],c>i||(r[2*c+1]!==f&&(t.opt_len+=(f-r[2*c+1])*r[2*c],r[2*c+1]=f),l--)}})(t,e),zb(r,u,t.bl_count)},Jb=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=e[2*(i+1)+1],++a<h&&n===s||(a<u?t.bl_tree[2*n]+=a:0!==n?(n!==o&&t.bl_tree[2*n]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4))},Qb=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),i=0;i<=r;i++)if(n=s,s=e[2*(i+1)+1],!(++a<h&&n===s)){if(a<u)do{Fb(t,n,t.bl_tree)}while(0!=--a);else 0!==n?(n!==o&&(Fb(t,n,t.bl_tree),a--),Fb(t,16,t.bl_tree),Lb(t,a-3,2)):a<=10?(Fb(t,17,t.bl_tree),Lb(t,a-3,3)):(Fb(t,18,t.bl_tree),Lb(t,a-11,7));a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4)}};let Wb=!1;const Yb=(t,e,r,i)=>{Lb(t,0+(i?1:0),3),Hb(t),Db(t,r),Db(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var Xb=t=>{Wb||((()=>{let t,e,r,i,n;const o=new Array(16);for(r=0,i=0;i<28;i++)for(Rb[i]=r,t=0;t<1<<_b[i];t++)Ib[r++]=i;for(Ib[r-1]=i,n=0,i=0;i<16;i++)for(Tb[i]=n,t=0;t<1<<Eb[i];t++)Sb[n++]=i;for(n>>=7;i<bb;i++)for(Tb[i]=n<<7,t=0;t<1<<Eb[i]-7;t++)Sb[256+n++]=i;for(e=0;e<=Mb;e++)o[e]=0;for(t=0;t<=143;)xb[2*t+1]=8,t++,o[8]++;for(;t<=255;)xb[2*t+1]=9,t++,o[9]++;for(;t<=279;)xb[2*t+1]=7,t++,o[7]++;for(;t<=287;)xb[2*t+1]=8,t++,o[8]++;for(zb(xb,287,o),t=0;t<bb;t++)Nb[2*t+1]=5,Nb[2*t]=jb(t,5);Pb=new Cb(xb,_b,257,wb,Mb),Ob=new Cb(Nb,Eb,0,bb,Mb),Bb=new Cb(new Array(0),Ab,0,19,7)})(),Wb=!0),t.l_desc=new $b(t.dyn_ltree,Pb),t.d_desc=new $b(t.dyn_dtree,Ob),t.bl_desc=new $b(t.bl_tree,Bb),t.bi_buf=0,t.bi_valid=0,qb(t)},tM=(t,e,r,i)=>{let n,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<vb;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),Kb(t,t.l_desc),Kb(t,t.d_desc),s=(t=>{let e;for(Jb(t,t.dyn_ltree,t.l_desc.max_code),Jb(t,t.dyn_dtree,t.d_desc.max_code),Kb(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*kb[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),n=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=n&&(n=o)):n=o=r+5,r+4<=n&&-1!==e?Yb(t,e,r,i):4===t.strategy||o===n?(Lb(t,2+(i?1:0),3),Gb(t,xb,Nb)):(Lb(t,4+(i?1:0),3),((t,e,r,i)=>{let n;for(Lb(t,e-257,5),Lb(t,r-1,5),Lb(t,i-4,4),n=0;n<i;n++)Lb(t,t.bl_tree[2*kb[n]+1],3);Qb(t,t.dyn_ltree,e-1),Qb(t,t.dyn_dtree,r-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),Gb(t,t.dyn_ltree,t.dyn_dtree)),qb(t),i&&Hb(t)},eM=(t,e,r)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(Ib[r]+vb+1)]++,t.dyn_dtree[2*Ub(e)]++),t.sym_next===t.sym_end),rM=t=>{Lb(t,2,3),Fb(t,256,xb),(t=>{16===t.bi_valid?(Db(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)},iM={_tr_init:Xb,_tr_stored_block:Yb,_tr_flush_block:tM,_tr_tally:eM,_tr_align:rM};var nM=(t,e,r,i)=>{let n=65535&t|0,o=t>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+e[i++]|0,o=o+n|0}while(--s);n%=65521,o%=65521}return n|o<<16|0};const oM=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var sM=(t,e,r,i)=>{const n=oM,o=i+r;t^=-1;for(let r=i;r<o;r++)t=t>>>8^n[255&(t^e[r])];return-1^t},aM={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},hM={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:uM,_tr_stored_block:lM,_tr_flush_block:cM,_tr_tally:fM,_tr_align:dM}=iM,{Z_NO_FLUSH:mM,Z_PARTIAL_FLUSH:pM,Z_FULL_FLUSH:gM,Z_FINISH:yM,Z_BLOCK:vM,Z_OK:wM,Z_STREAM_END:bM,Z_STREAM_ERROR:MM,Z_DATA_ERROR:_M,Z_BUF_ERROR:EM,Z_DEFAULT_COMPRESSION:AM,Z_FILTERED:kM,Z_HUFFMAN_ONLY:xM,Z_RLE:NM,Z_FIXED:SM,Z_DEFAULT_STRATEGY:IM,Z_UNKNOWN:RM,Z_DEFLATED:TM}=hM,CM=258,PM=262,OM=42,BM=113,$M=666,UM=(t,e)=>(t.msg=aM[e],e),DM=t=>2*t-(t>4?9:0),LM=t=>{let e=t.length;for(;--e>=0;)t[e]=0},FM=t=>{let e,r,i,n=t.w_size;e=t.hash_size,i=e;do{r=t.head[--i],t.head[i]=r>=n?r-n:0}while(--e);e=n,i=e;do{r=t.prev[--i],t.prev[i]=r>=n?r-n:0}while(--e)};let jM=(t,e,r)=>(e<<t.hash_shift^r)&t.hash_mask;const zM=t=>{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},qM=(t,e)=>{cM(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,zM(t.strm)},HM=(t,e)=>{t.pending_buf[t.pending++]=e},VM=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},ZM=(t,e,r,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),r),1===t.state.wrap?t.adler=nM(t.adler,e,n,r):2===t.state.wrap&&(t.adler=sM(t.adler,e,n,r)),t.next_in+=n,t.total_in+=n,n)},GM=(t,e)=>{let r,i,n=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match;const h=t.strstart>t.w_size-PM?t.strstart-(t.w_size-PM):0,u=t.window,l=t.w_mask,c=t.prev,f=t.strstart+CM;let d=u[o+s-1],m=u[o+s];t.prev_length>=t.good_match&&(n>>=2),a>t.lookahead&&(a=t.lookahead);do{if(r=e,u[r+s]===m&&u[r+s-1]===d&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<f);if(i=CM-(f-o),o=f-CM,i>s){if(t.match_start=e,s=i,i>=a)break;d=u[o+s-1],m=u[o+s]}}}while((e=c[e&l])>h&&0!=--n);return s<=t.lookahead?s:t.lookahead},KM=t=>{const e=t.w_size;let r,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-PM)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),FM(t),i+=e),0===t.strm.avail_in)break;if(r=ZM(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=r,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=jM(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=jM(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<PM&&0!==t.strm.avail_in)},JM=(t,e)=>{let r,i,n,o=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,s=0,a=t.strm.avail_in;do{if(r=65535,n=t.bi_valid+42>>3,t.strm.avail_out<n)break;if(n=t.strm.avail_out-n,i=t.strstart-t.block_start,r>i+t.strm.avail_in&&(r=i+t.strm.avail_in),r>n&&(r=n),r<o&&(0===r&&e!==yM||e===mM||r!==i+t.strm.avail_in))break;s=e===yM&&r===i+t.strm.avail_in?1:0,lM(t,0,0,s),t.pending_buf[t.pending-4]=r,t.pending_buf[t.pending-3]=r>>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,zM(t.strm),i&&(i>r&&(i=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,r-=i),r&&(ZM(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===s);return a-=t.strm.avail_in,a&&(a>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=a&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-a,t.strm.next_in),t.strstart),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),s?4:e!==mM&&e!==yM&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(n=t.window_size-t.strstart,t.strm.avail_in>n&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(ZM(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water<t.strstart&&(t.high_water=t.strstart),n=t.bi_valid+42>>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,o=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=o||(i||e===yM)&&e!==mM&&0===t.strm.avail_in&&i<=n)&&(r=i>n?n:i,s=e===yM&&0===t.strm.avail_in&&r===i?1:0,lM(t,t.block_start,r,s),t.block_start+=r,zM(t.strm)),s?3:1)},QM=(t,e)=>{let r,i;for(;;){if(t.lookahead<PM){if(KM(t),t.lookahead<PM&&e===mM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=jM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-PM&&(t.match_length=GM(t,r)),t.match_length>=3)if(i=fM(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=jM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=jM(t,t.ins_h,t.window[t.strstart+1]);else i=fM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(qM(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===yM?(qM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qM(t,!1),0===t.strm.avail_out)?1:2},WM=(t,e)=>{let r,i,n;for(;;){if(t.lookahead<PM){if(KM(t),t.lookahead<PM&&e===mM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=jM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-PM&&(t.match_length=GM(t,r),t.match_length<=5&&(t.strategy===kM||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=fM(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=jM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(qM(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=fM(t,0,t.window[t.strstart-1]),i&&qM(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=fM(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===yM?(qM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qM(t,!1),0===t.strm.avail_out)?1:2};function YM(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}const XM=[new YM(0,0,0,0,JM),new YM(4,4,8,4,QM),new YM(4,5,16,8,QM),new YM(4,6,32,32,QM),new YM(4,4,16,16,WM),new YM(8,16,32,32,WM),new YM(8,16,128,128,WM),new YM(8,32,128,256,WM),new YM(32,128,258,1024,WM),new YM(32,258,258,4096,WM)];function t_(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=TM,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),LM(this.dyn_ltree),LM(this.dyn_dtree),LM(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),LM(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),LM(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const e_=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==OM&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==BM&&e.status!==$M?1:0},r_=t=>{if(e_(t))return UM(t,MM);t.total_in=t.total_out=0,t.data_type=RM;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?OM:BM,t.adler=2===e.wrap?0:1,e.last_flush=-2,uM(e),wM},i_=t=>{const e=r_(t);return e===wM&&(t=>{t.window_size=2*t.w_size,LM(t.head),t.max_lazy_match=XM[t.level].max_lazy,t.good_match=XM[t.level].good_length,t.nice_match=XM[t.level].nice_length,t.max_chain_length=XM[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0})(t.state),e},n_=(t,e,r,i,n,o)=>{if(!t)return MM;let s=1;if(e===AM&&(e=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>9||r!==TM||i<8||i>15||e<0||e>9||o<0||o>SM||8===i&&1!==s)return UM(t,MM);8===i&&(i=9);const a=new t_;return t.state=a,a.strm=t,a.status=OM,a.wrap=s,a.gzhead=null,a.w_bits=i,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=n+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<n+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=3*(a.lit_bufsize-1),a.level=e,a.strategy=o,a.method=r,i_(t)};var o_=(t,e)=>{if(e_(t)||e>vM||e<0)return t?UM(t,MM):MM;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===$M&&e!==yM)return UM(t,0===t.avail_out?EM:MM);const i=r.last_flush;if(r.last_flush=e,0!==r.pending){if(zM(t),0===t.avail_out)return r.last_flush=-1,wM}else if(0===t.avail_in&&DM(e)<=DM(i)&&e!==yM)return UM(t,EM);if(r.status===$M&&0!==t.avail_in)return UM(t,EM);if(r.status===OM&&0===r.wrap&&(r.status=BM),r.status===OM){let e=TM+(r.w_bits-8<<4)<<8,i=-1;if(i=r.strategy>=xM||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=i<<6,0!==r.strstart&&(e|=32),e+=31-e%31,VM(r,e),0!==r.strstart&&(VM(r,t.adler>>>16),VM(r,65535&t.adler)),t.adler=1,r.status=BM,zM(t),0!==r.pending)return r.last_flush=-1,wM}if(57===r.status)if(t.adler=0,HM(r,31),HM(r,139),HM(r,8),r.gzhead)HM(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),HM(r,255&r.gzhead.time),HM(r,r.gzhead.time>>8&255),HM(r,r.gzhead.time>>16&255),HM(r,r.gzhead.time>>24&255),HM(r,9===r.level?2:r.strategy>=xM||r.level<2?4:0),HM(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(HM(r,255&r.gzhead.extra.length),HM(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=sM(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(HM(r,0),HM(r,0),HM(r,0),HM(r,0),HM(r,0),HM(r,9===r.level?2:r.strategy>=xM||r.level<2?4:0),HM(r,3),r.status=BM,zM(t),0!==r.pending)return r.last_flush=-1,wM;if(69===r.status){if(r.gzhead.extra){let e=r.pending,i=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+i>r.pending_buf_size;){let n=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=sM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=n,zM(t),0!==r.pending)return r.last_flush=-1,wM;e=0,i-=n}let n=new Uint8Array(r.gzhead.extra);r.pending_buf.set(n.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending+=i,r.gzhead.hcrc&&r.pending>e&&(t.adler=sM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=sM(t.adler,r.pending_buf,r.pending-i,i)),zM(t),0!==r.pending)return r.last_flush=-1,wM;i=0}e=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,HM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=sM(t.adler,r.pending_buf,r.pending-i,i)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=sM(t.adler,r.pending_buf,r.pending-i,i)),zM(t),0!==r.pending)return r.last_flush=-1,wM;i=0}e=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,HM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=sM(t.adler,r.pending_buf,r.pending-i,i))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(zM(t),0!==r.pending))return r.last_flush=-1,wM;HM(r,255&t.adler),HM(r,t.adler>>8&255),t.adler=0}if(r.status=BM,zM(t),0!==r.pending)return r.last_flush=-1,wM}if(0!==t.avail_in||0!==r.lookahead||e!==mM&&r.status!==$M){let i=0===r.level?JM(r,e):r.strategy===xM?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(KM(t),0===t.lookahead)){if(e===mM)return 1;break}if(t.match_length=0,r=fM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(qM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===yM?(qM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qM(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===NM?((t,e)=>{let r,i,n,o;const s=t.window;for(;;){if(t.lookahead<=CM){if(KM(t),t.lookahead<=CM&&e===mM)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){o=t.strstart+CM;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<o);t.match_length=CM-(o-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=fM(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=fM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(qM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===yM?(qM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qM(t,!1),0===t.strm.avail_out)?1:2})(r,e):XM[r.level].func(r,e);if(3!==i&&4!==i||(r.status=$M),1===i||3===i)return 0===t.avail_out&&(r.last_flush=-1),wM;if(2===i&&(e===pM?dM(r):e!==vM&&(lM(r,0,0,!1),e===gM&&(LM(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),zM(t),0===t.avail_out))return r.last_flush=-1,wM}return e!==yM?wM:r.wrap<=0?bM:(2===r.wrap?(HM(r,255&t.adler),HM(r,t.adler>>8&255),HM(r,t.adler>>16&255),HM(r,t.adler>>24&255),HM(r,255&t.total_in),HM(r,t.total_in>>8&255),HM(r,t.total_in>>16&255),HM(r,t.total_in>>24&255)):(VM(r,t.adler>>>16),VM(r,65535&t.adler)),zM(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?wM:bM)},s_=(t,e)=>{let r=e.length;if(e_(t))return MM;const i=t.state,n=i.wrap;if(2===n||1===n&&i.status!==OM||i.lookahead)return MM;if(1===n&&(t.adler=nM(t.adler,e,r,0)),i.wrap=0,r>=i.w_size){0===n&&(LM(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(r-i.w_size,r),0),e=t,r=i.w_size}const o=t.avail_in,s=t.next_in,a=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,KM(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=jM(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,KM(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=s,t.input=a,t.avail_in=o,i.wrap=n,wM},a_={deflateInit:(t,e)=>n_(t,e,TM,15,8,IM),deflateInit2:n_,deflateReset:i_,deflateResetKeep:r_,deflateSetHeader:(t,e)=>e_(t)||2!==t.state.wrap?MM:(t.state.gzhead=e,wM),deflate:o_,deflateEnd:t=>{if(e_(t))return MM;const e=t.state.status;return t.state=null,e===BM?UM(t,_M):wM},deflateSetDictionary:s_,deflateInfo:"pako deflate (from Nodeca project)"};const h_=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var u_=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)h_(r,e)&&(t[e]=r[e])}}return t},l_=t=>{let e=0;for(let r=0,i=t.length;r<i;r++)e+=t[r].length;const r=new Uint8Array(e);for(let e=0,i=0,n=t.length;e<n;e++){let n=t[e];r.set(n,i),i+=n.length}return r};let c_=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){c_=!1}const f_=new Uint8Array(256);for(let t=0;t<256;t++)f_[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;f_[254]=f_[254]=1;var d_=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,i,n,o,s=t.length,a=0;for(n=0;n<s;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(e=new Uint8Array(a),o=0,n=0;o<a;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),r<128?e[o++]=r:r<2048?(e[o++]=192|r>>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},m_=(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const o=new Array(2*r);for(n=0,i=0;i<r;){let e=t[i++];if(e<128){o[n++]=e;continue}let s=f_[e];if(s>4)o[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<r;)e=e<<6|63&t[i++],s--;s>1?o[n++]=65533:e<65536?o[n++]=e:(e-=65536,o[n++]=55296|e>>10&1023,o[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&c_)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r})(o,n)},p_=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+f_[t[r]]>e?r:e};var g_=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const y_=Object.prototype.toString,{Z_NO_FLUSH:v_,Z_SYNC_FLUSH:w_,Z_FULL_FLUSH:b_,Z_FINISH:M_,Z_OK:__,Z_STREAM_END:E_,Z_DEFAULT_COMPRESSION:A_,Z_DEFAULT_STRATEGY:k_,Z_DEFLATED:x_}=hM;function N_(t){this.options=u_({level:A_,method:x_,chunkSize:16384,windowBits:15,memLevel:8,strategy:k_},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new g_,this.strm.avail_out=0;let r=a_.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==__)throw new Error(aM[r]);if(e.header&&a_.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?d_(e.dictionary):"[object ArrayBuffer]"===y_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=a_.deflateSetDictionary(this.strm,t),r!==__)throw new Error(aM[r]);this._dict_set=!0}}function S_(t,e){const r=new N_(e);if(r.push(t,!0),r.err)throw r.msg||aM[r.err];return r.result}N_.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize;let n,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?M_:v_,"string"==typeof t?r.input=d_(t):"[object ArrayBuffer]"===y_.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),(o===w_||o===b_)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(n=a_.deflate(r,o),n===E_)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),n=a_.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===__;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},N_.prototype.onData=function(t){this.chunks.push(t)},N_.prototype.onEnd=function(t){t===__&&(this.result=l_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var I_={Deflate:N_,deflate:S_,deflateRaw:function(t,e){return(e=e||{}).raw=!0,S_(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,S_(t,e)},constants:hM};const R_=16209;var T_=function(t,e){let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A,k;const x=t.state;r=t.next_in,A=t.input,i=r+(t.avail_in-5),n=t.next_out,k=t.output,o=n-(e-t.avail_out),s=n+(t.avail_out-257),a=x.dmax,h=x.wsize,u=x.whave,l=x.wnext,c=x.window,f=x.hold,d=x.bits,m=x.lencode,p=x.distcode,g=(1<<x.lenbits)-1,y=(1<<x.distbits)-1;t:do{d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=m[f&g];e:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,0===w)k[n++]=65535&v;else{if(!(16&w)){if(0==(64&w)){v=m[(65535&v)+(f&(1<<w)-1)];continue e}if(32&w){x.mode=16191;break t}t.msg="invalid literal/length code",x.mode=R_;break t}b=65535&v,w&=15,w&&(d<w&&(f+=A[r++]<<d,d+=8),b+=f&(1<<w)-1,f>>>=w,d-=w),d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=p[f&y];r:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,!(16&w)){if(0==(64&w)){v=p[(65535&v)+(f&(1<<w)-1)];continue r}t.msg="invalid distance code",x.mode=R_;break t}if(M=65535&v,w&=15,d<w&&(f+=A[r++]<<d,d+=8,d<w&&(f+=A[r++]<<d,d+=8)),M+=f&(1<<w)-1,M>a){t.msg="invalid distance too far back",x.mode=R_;break t}if(f>>>=w,d-=w,w=n-o,M>w){if(w=M-w,w>u&&x.sane){t.msg="invalid distance too far back",x.mode=R_;break t}if(_=0,E=c,0===l){if(_+=h-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}else if(l<w){if(_+=h+l-w,w-=l,w<b){b-=w;do{k[n++]=c[_++]}while(--w);if(_=0,l<b){w=l,b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}}else if(_+=l-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}for(;b>2;)k[n++]=E[_++],k[n++]=E[_++],k[n++]=E[_++],b-=3;b&&(k[n++]=E[_++],b>1&&(k[n++]=E[_++]))}else{_=n-M;do{k[n++]=k[_++],k[n++]=k[_++],k[n++]=k[_++],b-=3}while(b>2);b&&(k[n++]=k[_++],b>1&&(k[n++]=k[_++]))}break}}break}}while(r<i&&n<s);b=d>>3,r-=b,d-=b<<3,f&=(1<<d)-1,t.next_in=r,t.next_out=n,t.avail_in=r<i?i-r+5:5-(r-i),t.avail_out=n<s?s-n+257:257-(n-s),x.hold=f,x.bits=d};const C_=15,P_=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),O_=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),B_=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),$_=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var U_=(t,e,r,i,n,o,s,a)=>{const h=a.bits;let u,l,c,f,d,m,p=0,g=0,y=0,v=0,w=0,b=0,M=0,_=0,E=0,A=0,k=null;const x=new Uint16Array(16),N=new Uint16Array(16);let S,I,R,T=null;for(p=0;p<=C_;p++)x[p]=0;for(g=0;g<i;g++)x[e[r+g]]++;for(w=h,v=C_;v>=1&&0===x[v];v--);if(w>v&&(w=v),0===v)return n[o++]=20971520,n[o++]=20971520,a.bits=1,0;for(y=1;y<v&&0===x[y];y++);for(w<y&&(w=y),_=1,p=1;p<=C_;p++)if(_<<=1,_-=x[p],_<0)return-1;if(_>0&&(0===t||1!==v))return-1;for(N[1]=0,p=1;p<C_;p++)N[p+1]=N[p]+x[p];for(g=0;g<i;g++)0!==e[r+g]&&(s[N[e[r+g]]++]=g);if(0===t?(k=T=s,m=20):1===t?(k=P_,T=O_,m=257):(k=B_,T=$_,m=0),A=0,g=0,p=y,d=o,b=w,M=0,c=-1,E=1<<w,f=E-1,1===t&&E>852||2===t&&E>592)return 1;for(;;){S=p-M,s[g]+1<m?(I=0,R=s[g]):s[g]>=m?(I=T[s[g]-m],R=k[s[g]-m]):(I=96,R=0),u=1<<p-M,l=1<<b,y=l;do{l-=u,n[d+(A>>M)+l]=S<<24|I<<16|R|0}while(0!==l);for(u=1<<p-1;A&u;)u>>=1;if(0!==u?(A&=u-1,A+=u):A=0,g++,0==--x[p]){if(p===v)break;p=e[r+s[g]]}if(p>w&&(A&f)!==c){for(0===M&&(M=w),d+=y,b=p-M,_=1<<b;b+M<v&&(_-=x[b+M],!(_<=0));)b++,_<<=1;if(E+=1<<b,1===t&&E>852||2===t&&E>592)return 1;c=A&f,n[c]=w<<24|b<<16|d-o|0}}return 0!==A&&(n[d+A]=p-M<<24|64<<16|0),a.bits=w,0};const{Z_FINISH:D_,Z_BLOCK:L_,Z_TREES:F_,Z_OK:j_,Z_STREAM_END:z_,Z_NEED_DICT:q_,Z_STREAM_ERROR:H_,Z_DATA_ERROR:V_,Z_MEM_ERROR:Z_,Z_BUF_ERROR:G_,Z_DEFLATED:K_}=hM,J_=16180,Q_=16190,W_=16191,Y_=16192,X_=16194,tE=16199,eE=16200,rE=16206,iE=16209,nE=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function oE(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const sE=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<J_||e.mode>16211?1:0},aE=t=>{if(sE(t))return H_;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=J_,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,j_},hE=t=>{if(sE(t))return H_;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,aE(t)},uE=(t,e)=>{let r;if(sE(t))return H_;const i=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?H_:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,hE(t))},lE=(t,e)=>{if(!t)return H_;const r=new oE;t.state=r,r.strm=t,r.window=null,r.mode=J_;const i=uE(t,e);return i!==j_&&(t.state=null),i};let cE,fE,dE=!0;const mE=t=>{if(dE){cE=new Int32Array(512),fE=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(U_(1,t.lens,0,288,cE,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;U_(2,t.lens,0,32,fE,0,t.work,{bits:5}),dE=!1}t.lencode=cE,t.lenbits=9,t.distcode=fE,t.distbits=5},pE=(t,e,r,i)=>{let n;const o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),i>=o.wsize?(o.window.set(e.subarray(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(n=o.wsize-o.wnext,n>i&&(n=i),o.window.set(e.subarray(r-i,r-i+n),o.wnext),(i-=n)?(o.window.set(e.subarray(r-i,r),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=n,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=n))),0};var gE=(t,e)=>{let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A=0;const k=new Uint8Array(4);let x,N;const S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(sE(t)||!t.output||!t.input&&0!==t.avail_in)return H_;r=t.state,r.mode===W_&&(r.mode=Y_),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,c=a,f=h,E=j_;t:for(;;)switch(r.mode){case J_:if(0===r.wrap){r.mode=Y_;break}for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(2&r.wrap&&35615===u){0===r.wbits&&(r.wbits=15),r.check=0,k[0]=255&u,k[1]=u>>>8&255,r.check=sM(r.check,k,2,0),u=0,l=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=iE;break}if((15&u)!==K_){t.msg="unknown compression method",r.mode=iE;break}if(u>>>=4,l-=4,_=8+(15&u),0===r.wbits&&(r.wbits=_),_>15||_>r.wbits){t.msg="invalid window size",r.mode=iE;break}r.dmax=1<<r.wbits,r.flags=0,t.adler=r.check=1,r.mode=512&u?16189:W_,u=0,l=0;break;case 16181:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.flags=u,(255&r.flags)!==K_){t.msg="unknown compression method",r.mode=iE;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=iE;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=sM(r.check,k,2,0)),u=0,l=0,r.mode=16182;case 16182:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,k[2]=u>>>16&255,k[3]=u>>>24&255,r.check=sM(r.check,k,4,0)),u=0,l=0,r.mode=16183;case 16183:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=sM(r.check,k,2,0)),u=0,l=0,r.mode=16184;case 16184:if(1024&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=sM(r.check,k,2,0)),u=0,l=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(d=r.length,d>a&&(d=a),d&&(r.head&&(_=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(i.subarray(o,o+d),_)),512&r.flags&&4&r.wrap&&(r.check=sM(r.check,i,d,o)),a-=d,o+=d,r.length-=d),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.name+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=sM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.comment+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=sM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=iE;break}u=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=W_;break;case 16189:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}t.adler=r.check=nE(u),u=0,l=0,r.mode=Q_;case Q_:if(0===r.havedict)return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,q_;t.adler=r.check=1,r.mode=W_;case W_:if(e===L_||e===F_)break t;case Y_:if(r.last){u>>>=7&l,l-=7&l,r.mode=rE;break}for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}switch(r.last=1&u,u>>>=1,l-=1,3&u){case 0:r.mode=16193;break;case 1:if(mE(r),r.mode=tE,e===F_){u>>>=2,l-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=iE}u>>>=2,l-=2;break;case 16193:for(u>>>=7&l,l-=7&l;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=iE;break}if(r.length=65535&u,u=0,l=0,r.mode=X_,e===F_)break t;case X_:r.mode=16195;case 16195:if(d=r.length,d){if(d>a&&(d=a),d>h&&(d=h),0===d)break t;n.set(i.subarray(o,o+d),s),a-=d,o+=d,h-=d,s+=d,r.length-=d;break}r.mode=W_;break;case 16196:for(;l<14;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=iE;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.lens[S[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[S[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},E=U_(0,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid code lengths set",r.mode=iE;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(v<16)u>>>=g,l-=g,r.lens[r.have++]=v;else{if(16===v){for(N=g+2;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(u>>>=g,l-=g,0===r.have){t.msg="invalid bit length repeat",r.mode=iE;break}_=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===v){for(N=g+3;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=3+(7&u),u>>>=3,l-=3}else{for(N=g+7;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=11+(127&u),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=iE;break}for(;d--;)r.lens[r.have++]=_}}if(r.mode===iE)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=iE;break}if(r.lenbits=9,x={bits:r.lenbits},E=U_(1,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid literal/lengths set",r.mode=iE;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},E=U_(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,E){t.msg="invalid distances set",r.mode=iE;break}if(r.mode=tE,e===F_)break t;case tE:r.mode=eE;case eE:if(a>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,T_(t,f),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,r.mode===W_&&(r.back=-1);break}for(r.back=0;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(y&&0==(240&y)){for(w=g,b=y,M=v;A=r.lencode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,r.length=v,0===y){r.mode=16205;break}if(32&y){r.back=-1,r.mode=W_;break}if(64&y){t.msg="invalid literal/length code",r.mode=iE;break}r.extra=15&y,r.mode=16201;case 16201:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;A=r.distcode[u&(1<<r.distbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(0==(240&y)){for(w=g,b=y,M=v;A=r.distcode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,64&y){t.msg="invalid distance code",r.mode=iE;break}r.offset=v,r.extra=15&y,r.mode=16203;case 16203:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=iE;break}r.mode=16204;case 16204:if(0===h)break t;if(d=f-h,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=iE;break}d>r.wnext?(d-=r.wnext,m=r.wsize-d):m=r.wnext-d,d>r.length&&(d=r.length),p=r.window}else p=n,m=s-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{n[s++]=p[m++]}while(--d);0===r.length&&(r.mode=eE);break;case 16205:if(0===h)break t;n[s++]=r.length,h--,r.mode=eE;break;case rE:if(r.wrap){for(;l<32;){if(0===a)break t;a--,u|=i[o++]<<l,l+=8}if(f-=h,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?sM(r.check,n,f,s-f):nM(r.check,n,f,s-f)),f=h,4&r.wrap&&(r.flags?u:nE(u))!==r.check){t.msg="incorrect data check",r.mode=iE;break}u=0,l=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=iE;break}u=0,l=0}r.mode=16208;case 16208:E=z_;break t;case iE:E=V_;break t;case 16210:return Z_;default:return H_}return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,(r.wsize||f!==t.avail_out&&r.mode<iE&&(r.mode<rE||e!==D_))&&pE(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?sM(r.check,n,f,t.next_out-f):nM(r.check,n,f,t.next_out-f)),t.data_type=r.bits+(r.last?64:0)+(r.mode===W_?128:0)+(r.mode===tE||r.mode===X_?256:0),(0===c&&0===f||e===D_)&&E===j_&&(E=G_),E},yE={inflateReset:hE,inflateReset2:uE,inflateResetKeep:aE,inflateInit:t=>lE(t,15),inflateInit2:lE,inflate:gE,inflateEnd:t=>{if(sE(t))return H_;let e=t.state;return e.window&&(e.window=null),t.state=null,j_},inflateGetHeader:(t,e)=>{if(sE(t))return H_;const r=t.state;return 0==(2&r.wrap)?H_:(r.head=e,e.done=!1,j_)},inflateSetDictionary:(t,e)=>{const r=e.length;let i,n,o;return sE(t)?H_:(i=t.state,0!==i.wrap&&i.mode!==Q_?H_:i.mode===Q_&&(n=1,n=nM(n,e,r,0),n!==i.check)?V_:(o=pE(t,e,r,r),o?(i.mode=16210,Z_):(i.havedict=1,j_)))},inflateInfo:"pako inflate (from Nodeca project)"};var vE=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const wE=Object.prototype.toString,{Z_NO_FLUSH:bE,Z_FINISH:ME,Z_OK:_E,Z_STREAM_END:EE,Z_NEED_DICT:AE,Z_STREAM_ERROR:kE,Z_DATA_ERROR:xE,Z_MEM_ERROR:NE}=hM;function SE(t){this.options=u_({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new g_,this.strm.avail_out=0;let r=yE.inflateInit2(this.strm,e.windowBits);if(r!==_E)throw new Error(aM[r]);if(this.header=new vE,yE.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=d_(e.dictionary):"[object ArrayBuffer]"===wE.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=yE.inflateSetDictionary(this.strm,e.dictionary),r!==_E)))throw new Error(aM[r])}function IE(t,e){const r=new SE(e);if(r.push(t),r.err)throw r.msg||aM[r.err];return r.result}SE.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=e===~~e?e:!0===e?ME:bE,"[object ArrayBuffer]"===wE.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),o=yE.inflate(r,s),o===AE&&n&&(o=yE.inflateSetDictionary(r,n),o===_E?o=yE.inflate(r,s):o===xE&&(o=AE));r.avail_in>0&&o===EE&&r.state.wrap>0&&0!==t[r.next_in];)yE.inflateReset(r),o=yE.inflate(r,s);switch(o){case kE:case xE:case AE:case NE:return this.onEnd(o),this.ended=!0,!1}if(a=r.avail_out,r.next_out&&(0===r.avail_out||o===EE))if("string"===this.options.to){let t=p_(r.output,r.next_out),e=r.next_out-t,n=m_(r.output,t);r.next_out=e,r.avail_out=i-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(n)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==_E||0!==a){if(o===EE)return o=yE.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},SE.prototype.onData=function(t){this.chunks.push(t)},SE.prototype.onEnd=function(t){t===_E&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=l_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var RE={Inflate:SE,inflate:IE,inflateRaw:function(t,e){return(e=e||{}).raw=!0,IE(t,e)},ungzip:IE,constants:hM};const{Deflate:TE,deflate:CE,deflateRaw:PE,gzip:OE}=I_,{Inflate:BE,inflate:$E,inflateRaw:UE,ungzip:DE}=RE;var LE=OE,FE=DE,jE="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==$&&$||{},zE="URLSearchParams"in jE,qE="Symbol"in jE&&"iterator"in Symbol,HE="FileReader"in jE&&"Blob"in jE&&function(){try{return new Blob,!0}catch(t){return!1}}(),VE="FormData"in jE,ZE="ArrayBuffer"in jE;if(ZE)var GE=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],KE=ArrayBuffer.isView||function(t){return t&&GE.indexOf(Object.prototype.toString.call(t))>-1};function JE(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function QE(t){return"string"!=typeof t&&(t=String(t)),t}function WE(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return qE&&(e[Symbol.iterator]=function(){return e}),e}function YE(t){this.map={},t instanceof YE?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function XE(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function tA(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function eA(t){var e=new FileReader,r=tA(e);return e.readAsArrayBuffer(t),r}function rA(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function iA(){return this.bodyUsed=!1,this._initBody=function(t){var e;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:HE&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:VE&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:zE&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():ZE&&HE&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=rA(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):ZE&&(ArrayBuffer.prototype.isPrototypeOf(t)||KE(t))?this._bodyArrayBuffer=rA(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):zE&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},HE&&(this.blob=function(){var t=XE(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=XE(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(HE)return this.blob().then(eA);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,i,n,o=XE(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=tA(e),i=/charset=([A-Za-z0-9_-]+)/.exec(t.type),n=i?i[1]:"utf-8",e.readAsText(t,n),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),i=0;i<e.length;i++)r[i]=String.fromCharCode(e[i]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},VE&&(this.formData=function(){return this.text().then(sA)}),this.json=function(){return this.text().then(JSON.parse)},this}YE.prototype.append=function(t,e){t=JE(t),e=QE(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},YE.prototype.delete=function(t){delete this.map[JE(t)]},YE.prototype.get=function(t){return t=JE(t),this.has(t)?this.map[t]:null},YE.prototype.has=function(t){return this.map.hasOwnProperty(JE(t))},YE.prototype.set=function(t,e){this.map[JE(t)]=QE(e)},YE.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},YE.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),WE(t)},YE.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),WE(t)},YE.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),WE(t)},qE&&(YE.prototype[Symbol.iterator]=YE.prototype.entries);var nA=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function oA(t,e){if(!(this instanceof oA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,i,n=(e=e||{}).body;if(t instanceof oA){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new YE(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new YE(e.headers)),this.method=(r=e.method||this.method||"GET",i=r.toUpperCase(),nA.indexOf(i)>-1?i:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal||function(){if("AbortController"in jE)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==e.cache&&"no-cache"!==e.cache)){var o=/([?&])_=[^&]*/;if(o.test(this.url))this.url=this.url.replace(o,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function sA(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),i=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(n))}})),e}function aA(t,e){if(!(this instanceof aA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new YE(e.headers),this.url=e.url||"",this._initBody(t)}oA.prototype.clone=function(){return new oA(this,{body:this._bodyInit})},iA.call(oA.prototype),iA.call(aA.prototype),aA.prototype.clone=function(){return new aA(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new YE(this.headers),url:this.url})},aA.error=function(){var t=new aA(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var hA=[301,302,303,307,308];aA.redirect=function(t,e){if(-1===hA.indexOf(e))throw new RangeError("Invalid status code");return new aA(null,{status:e,headers:{location:t}})};var uA=jE.DOMException;try{new uA}catch(UM){uA=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},uA.prototype=Object.create(Error.prototype),uA.prototype.constructor=uA}function lA(t,e){return new Promise((function(r,i){var n=new oA(t,e);if(n.signal&&n.signal.aborted)return i(new uA("Aborted","AbortError"));var o=new XMLHttpRequest;function s(){o.abort()}if(o.onload=function(){var t,e,i={statusText:o.statusText,headers:(t=o.getAllResponseHeaders()||"",e=new YE,t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var r=t.split(":"),i=r.shift().trim();if(i){var n=r.join(":").trim();try{e.append(i,n)}catch(t){console.warn("Response "+t.message)}}})),e)};0===n.url.indexOf("file://")&&(o.status<200||o.status>599)?i.status=200:i.status=o.status,i.url="responseURL"in o?o.responseURL:i.headers.get("X-Request-URL");var s="response"in o?o.response:o.responseText;setTimeout((function(){r(new aA(s,i))}),0)},o.onerror=function(){setTimeout((function(){i(new TypeError("Network request failed"))}),0)},o.ontimeout=function(){setTimeout((function(){i(new TypeError("Network request timed out"))}),0)},o.onabort=function(){setTimeout((function(){i(new uA("Aborted","AbortError"))}),0)},o.open(n.method,function(t){try{return""===t&&jE.location.href?jE.location.href:t}catch(e){return t}}(n.url),!0),"include"===n.credentials?o.withCredentials=!0:"omit"===n.credentials&&(o.withCredentials=!1),"responseType"in o&&(HE?o.responseType="blob":ZE&&(o.responseType="arraybuffer")),e&&"object"==typeof e.headers&&!(e.headers instanceof YE||jE.Headers&&e.headers instanceof jE.Headers)){var a=[];Object.getOwnPropertyNames(e.headers).forEach((function(t){a.push(JE(t)),o.setRequestHeader(t,QE(e.headers[t]))})),n.headers.forEach((function(t,e){-1===a.indexOf(e)&&o.setRequestHeader(e,t)}))}else n.headers.forEach((function(t,e){o.setRequestHeader(e,t)}));n.signal&&(n.signal.addEventListener("abort",s),o.onreadystatechange=function(){4===o.readyState&&n.signal.removeEventListener("abort",s)}),o.send(void 0===n._bodyInit?null:n._bodyInit)}))}lA.polyfill=!0,jE.fetch||(jE.fetch=lA,jE.Headers=YE,jE.Request=oA,jE.Response=aA);var cA=self.fetch.bind(self),fA=o((function(t){var e,i;e=r,i=function(){function t(t){var e=[];if(0===t.length)return"";if("string"!=typeof t[0])throw new TypeError("Url must be a string. Received "+t[0]);if(t[0].match(/^[^/:]+:\/*$/)&&t.length>1){var r=t.shift();t[0]=r+t[0]}t[0].match(/^file:\/\/\//)?t[0]=t[0].replace(/^([^/:]+):\/*/,"$1:///"):t[0]=t[0].replace(/^([^/:]+):\/*/,"$1://");for(var i=0;i<t.length;i++){var n=t[i];if("string"!=typeof n)throw new TypeError("Url must be a string. Received "+n);""!==n&&(i>0&&(n=n.replace(/^[\/]+/,"")),n=i<t.length-1?n.replace(/[\/]+$/,""):n.replace(/[\/]+$/,"/"),e.push(n))}var o=e.join("/"),s=(o=o.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o=s.shift()+(s.length>0?"?":"")+s.join("&")}return function(){return t("object"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},t.exports?t.exports=i():e.urljoin=i()})),dA=Object.defineProperty,mA=(t,e)=>{for(var r in e)dA(t,r,{get:e[r],enumerable:!0})};mA({},{API_VERSION:()=>LA,BN_FEE_TRANSACTION_VERSION_1:()=>OA,BN_FEE_TRANSACTION_VERSION_2:()=>BA,BN_TRANSACTION_VERSION_1:()=>CA,BN_TRANSACTION_VERSION_2:()=>PA,BaseUrl:()=>FA,HEX_STR_TRANSACTION_VERSION_1:()=>RA,HEX_STR_TRANSACTION_VERSION_2:()=>TA,IS_BROWSER:()=>pA,MASK_250:()=>UA,MASK_251:()=>DA,NetworkName:()=>jA,RPC_GOERLI_NODES:()=>VA,RPC_MAINNET_NODES:()=>ZA,StarknetChainId:()=>zA,TEXT_TO_FELT_MAX_LEN:()=>IA,TransactionHashPrefix:()=>qA,UDC:()=>HA,ZERO:()=>$A});mA({},{IS_BROWSER:()=>pA,addHexPrefix:()=>EA,arrayBufferToString:()=>gA,atobUniversal:()=>wA,btoaUniversal:()=>bA,buf2hex:()=>MA,calcByteLength:()=>kA,padLeft:()=>AA,pascalToSnake:()=>SA,removeHexPrefix:()=>_A,sanitizeBytes:()=>xA,sanitizeHex:()=>NA,stringToArrayBuffer:()=>vA,utf8ToArray:()=>yA});var pA="undefined"!=typeof window;function gA(t){return new Uint8Array(t).reduce(((t,e)=>t+String.fromCharCode(e)),"")}function yA(t){return(new TextEncoder).encode(t)}function vA(t){return yA(t)}function wA(t){return Pg.decode(t)}function bA(t){return Pg.encode(new Uint8Array(t))}function MA(t){return t.reduce(((t,e)=>t+e.toString(16).padStart(2,"0")),"")}function _A(t){return t.replace(/^0x/i,"")}function EA(t){return`0x${_A(t)}`}function AA(t,e,r="0"){return function(t,e,r,i="0"){const n=e-t.length;let o=t;if(n>0){const e=i.repeat(n);o=r?e+t:t+e}return o}(t,e,!0,r)}function kA(t,e=8){const{length:r}=t,i=r%e;return i?(r-i)/e*e+e:r}function xA(t,e=8,r="0"){return AA(t,kA(t,e),r)}function NA(t){return(t=xA(t=_A(t),2))&&(t=EA(t)),t}var SA=t=>/[a-z]/.test(t)?t.split(/(?=[A-Z])/).join("_").toUpperCase():t,IA=31,RA="0x1",TA="0x2",CA=1n,PA=2n,OA=2n**128n+CA,BA=2n**128n+PA,$A=0n,UA=2n**250n-1n,DA=2n**251n,LA=$A,FA=(t=>(t.SN_MAIN="https://alpha-mainnet.starknet.io",t.SN_GOERLI="https://alpha4.starknet.io",t))(FA||{}),jA=(t=>(t.SN_MAIN="SN_MAIN",t.SN_GOERLI="SN_GOERLI",t))(jA||{}),zA=(t=>(t.SN_MAIN="0x534e5f4d41494e",t.SN_GOERLI="0x534e5f474f45524c49",t))(zA||{}),qA=(t=>(t.DECLARE="0x6465636c617265",t.DEPLOY="0x6465706c6f79",t.DEPLOY_ACCOUNT="0x6465706c6f795f6163636f756e74",t.INVOKE="0x696e766f6b65",t.L1_HANDLER="0x6c315f68616e646c6572",t))(qA||{}),HA={ADDRESS:"0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf",ENTRYPOINT:"deployContract"},VA=["https://starknet-testnet.public.blastapi.io/rpc/v0.5","https://limited-rpc.nethermind.io/goerli-juno/v0_5"],ZA=["https://starknet-mainnet.public.blastapi.io/rpc/v0.5","https://limited-rpc.nethermind.io/mainnet-juno/v0_5"];mA({},{BlockStatus:()=>rk,BlockTag:()=>ik,EntryPointType:()=>WA,Litteral:()=>QA,RPC:()=>nk,SIMULATION_FLAG:()=>GA,Sequencer:()=>pk,TransactionExecutionStatus:()=>ek,TransactionFinalityStatus:()=>tk,TransactionStatus:()=>XA,TransactionType:()=>YA,Uint:()=>JA,ValidateType:()=>KA});var GA=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_EXECUTE="SKIP_EXECUTE",t))(GA||{}),KA=(t=>(t.DEPLOY="DEPLOY",t.CALL="CALL",t.INVOKE="INVOKE",t))(KA||{}),JA=(t=>(t.u8="core::integer::u8",t.u16="core::integer::u16",t.u32="core::integer::u32",t.u64="core::integer::u64",t.u128="core::integer::u128",t.u256="core::integer::u256",t))(JA||{}),QA=(t=>(t.ClassHash="core::starknet::class_hash::ClassHash",t.ContractAddress="core::starknet::contract_address::ContractAddress",t))(QA||{}),WA=(t=>(t.EXTERNAL="EXTERNAL",t.L1_HANDLER="L1_HANDLER",t.CONSTRUCTOR="CONSTRUCTOR",t))(WA||{}),YA=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE_FUNCTION",t))(YA||{}),XA=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.REJECTED="REJECTED",t.REVERTED="REVERTED",t))(XA||{}),tk=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(tk||{}),ek=(t=>(t.REJECTED="REJECTED",t.REVERTED="REVERTED",t.SUCCEEDED="SUCCEEDED",t))(ek||{}),rk=(t=>(t.PENDING="PENDING",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.REJECTED="REJECTED",t))(rk||{}),ik=(t=>(t.pending="pending",t.latest="latest",t))(ik||{}),nk={};mA(nk,{EBlockTag:()=>dk,EDataAvailabilityMode:()=>mk,ESimulationFlag:()=>uk,ETransactionExecutionStatus:()=>fk,ETransactionFinalityStatus:()=>ck,ETransactionStatus:()=>lk,ETransactionType:()=>hk,Errors:()=>sk,JRPC:()=>ok,SPEC:()=>ak});var ok={},sk={},ak={},hk=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE",t.L1_HANDLER="L1_HANDLER",t))(hk||{}),uk=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_FEE_CHARGE="SKIP_FEE_CHARGE",t))(uk||{}),lk=(t=>(t.RECEIVED="RECEIVED",t.REJECTED="REJECTED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(lk||{}),ck=(t=>(t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(ck||{}),fk=(t=>(t.SUCCEEDED="SUCCEEDED",t.REVERTED="REVERTED",t))(fk||{}),dk=(t=>(t.LATEST="latest",t.PENDING="pending",t))(dk||{}),mk=(t=>(t.L1="L1",t.L2="L2",t))(mk||{}),pk={};function gk(t,e){if(!t)throw new Error(e||"Assertion failure")}function yk(t){return/^0x[0-9a-f]*$/i.test(t)}function vk(t){return BigInt(t)}function wk(t){return"bigint"==typeof t}function bk(t){return EA(vk(t).toString(16))}mA({},{assertInRange:()=>kk,bigNumberishArrayToDecimalStringArray:()=>xk,bigNumberishArrayToHexadecimalStringArray:()=>Nk,cleanHex:()=>Ak,getDecimalString:()=>Ik,getHexString:()=>Rk,getHexStringArray:()=>Tk,hexToBytes:()=>Pk,hexToDecimalString:()=>Ek,isBigInt:()=>wk,isHex:()=>yk,isStringWholeNumber:()=>Sk,toBigInt:()=>vk,toCairoBool:()=>Ck,toHex:()=>bk,toHexString:()=>Mk,toStorageKey:()=>_k});var Mk=bk;function _k(t){return EA(vk(t).toString(16).padStart(64,"0"))}function Ek(t){return BigInt(EA(t)).toString(10)}var Ak=t=>t.toLowerCase().replace(/^(0x)0+/,"$1");function kk(t,e,r,i=""){const n=""===i?"invalid length":`invalid ${i} length`,o=BigInt(t),s=BigInt(e),a=BigInt(r);gk(o>=s&&o<=a,`Message not signable, ${n}.`)}function xk(t){return t.map((t=>vk(t).toString(10)))}function Nk(t){return t.map((t=>bk(t)))}var Sk=t=>/^\d+$/.test(t);function Ik(t){if(yk(t))return Ek(t);if(Sk(t))return t;throw new Error(`${t} need to be hex-string or whole-number-string`)}function Rk(t){if(yk(t))return t;if(Sk(t))return Mk(t);throw new Error(`${t} need to be hex-string or whole-number-string`)}function Tk(t){return t.map((t=>Rk(t)))}var Ck=t=>(+t).toString();function Pk(t){if(!yk(t))throw new Error(`${t} need to be a hex-string`);let e=_A(t);return e.length%2!=0&&(e=`0${e}`),zg(e)}function Ok(t){const e=_A(bk(BigInt(t))),r=e.length%2==0?e:`0${e}`;return EA(iw(Pk(EA(r))).toString(16))}function Bk(t){const e=BigInt(function(t){return EA(iw(yA(t)).toString(16))}(t));return e&UA}function $k(t){return bk(Bk(t))}function Uk(t){return yk(t)?t:Sk(t)?Mk(t):$k(t)}mA({},{getSelector:()=>Uk,getSelectorFromName:()=>$k,keccakBn:()=>Ok,starknetKeccak:()=>Bk});function Dk(t){return/^[\x00-\x7F]*$/.test(t)}function Lk(t){return t.length<=IA}function Fk(t){return/^[0-9]*$/i.test(t)}function jk(t){return"string"==typeof t&&!yk(t)&&!Sk(t)}mA({},{decodeShortString:()=>Zk,encodeShortString:()=>Vk,isASCII:()=>Dk,isDecimalString:()=>Fk,isLongText:()=>qk,isShortString:()=>Lk,isShortText:()=>zk,isText:()=>jk,splitLongString:()=>Hk});var zk=t=>jk(t)&&Lk(t),qk=t=>jk(t)&&!Lk(t);function Hk(t){const e=RegExp(`[^]{1,${IA}}`,"g");return t.match(e)||[]}function Vk(t){if(!Dk(t))throw new Error(`${t} is not an ASCII string`);if(!Lk(t))throw new Error(`${t} is too long`);return EA(t.replace(/./g,(t=>t.charCodeAt(0).toString(16))))}function Zk(t){if(!Dk(t))throw new Error(`${t} is not an ASCII string`);if(yk(t))return _A(t).replace(/.{2}/g,(t=>String.fromCharCode(parseInt(t,16))));if(Fk(t))return Zk("0X".concat(BigInt(t).toString(16)));throw new Error(`${t} is not Hex or decimal`)}var Gk={};mA(Gk,{felt:()=>bx,getAbiContractVersion:()=>yx,getArrayType:()=>px,isCairo1Abi:()=>gx,isCairo1Type:()=>mx,isLen:()=>Xk,isTypeArray:()=>ex,isTypeBool:()=>cx,isTypeContractAddress:()=>fx,isTypeEnum:()=>ox,isTypeEthAddress:()=>dx,isTypeFelt:()=>tx,isTypeLitteral:()=>ux,isTypeNamedTuple:()=>ix,isTypeOption:()=>sx,isTypeResult:()=>ax,isTypeStruct:()=>nx,isTypeTuple:()=>rx,isTypeUint:()=>hx,isTypeUint256:()=>lx,tuple:()=>wx,uint256:()=>vx});mA({},{UINT_128_MAX:()=>Kk,UINT_256_MAX:()=>Jk,bnToUint256:()=>Yk,isUint256:()=>Wk,uint256ToBN:()=>Qk});var Kk=(1n<<128n)-1n,Jk=(1n<<256n)-1n;function Qk(t){return(vk(t.high)<<128n)+vk(t.low)}function Wk(t){return vk(t)<=Jk}function Yk(t){const e=vk(t);if(!Wk(e))throw new Error("Number is too large");return{low:EA((e&Kk).toString(16)),high:EA((e>>128n).toString(16))}}var Xk=t=>/_len$/.test(t),tx=t=>"felt"===t||"core::felt252"===t,ex=t=>/\*/.test(t)||t.startsWith("core::array::Array::")||t.startsWith("core::array::Span::"),rx=t=>/^\(.*\)$/i.test(t),ix=t=>/\(.*\)/i.test(t)&&t.includes(":"),nx=(t,e)=>t in e,ox=(t,e)=>t in e,sx=t=>t.startsWith("core::option::Option::"),ax=t=>t.startsWith("core::result::Result::"),hx=t=>Object.values(JA).includes(t),ux=t=>Object.values(QA).includes(t),lx=t=>"core::integer::u256"===t,cx=t=>"core::bool"===t,fx=t=>"core::starknet::contract_address::ContractAddress"===t,dx=t=>"core::starknet::eth_address::EthAddress"===t,mx=t=>t.includes("::"),px=t=>mx(t)?t.substring(t.indexOf("<")+1,t.lastIndexOf(">")):t.replace("*","");function gx(t){const{cairo:e}=yx(t);if(void 0===e)throw Error("Unable to determine Cairo version");return"1"===e}function yx(t){if(t.find((t=>"interface"===t.type)))return{cairo:"1",compiler:"2"};const e=t.find((t=>"function"===t.type&&(t.inputs.length||t.outputs.length)));if(!e)return{cairo:void 0,compiler:void 0};const r=e.inputs.length?e.inputs:e.outputs;return mx(r[0].type)?{cairo:"1",compiler:"1"}:{cairo:"0",compiler:"0"}}var vx=t=>{const e=BigInt(t);if(!Wk(e))throw new Error("Number is too large");return{low:(e&Kk).toString(10),high:(e>>128n).toString(10)}},wx=(...t)=>({...t});function bx(t){if(wk(t)||"number"==typeof t&&Number.isInteger(t))return t.toString();if(jk(t)){if(!Lk(t))throw new Error(`${t} is a long string > 31 chars, felt can store short strings, split it to array of short strings`);const e=Vk(t);return BigInt(e).toString()}if("string"==typeof t&&yk(t))return BigInt(t).toString();if("string"==typeof t&&Sk(t))return t;if("boolean"==typeof t)return""+ +t;throw new Error(`${t} can't be computed by felt()`)}var Mx=class{constructor(t){const e=Object.values(t);if(0===e.length)throw new Error("This Enum must have a least 1 variant");if(1!==e.filter((t=>void 0!==t)).length)throw new Error("This Enum must have exactly one active variant");this.variant=t}unwrap(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));if(void 0!==t)return t[1]}activeVariant(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));return void 0===t?"":t[0]}},_x=(t=>(t[t.Some=0]="Some",t[t.None=1]="None",t))(_x||{}),Ex=class{constructor(t,e){if(!(t in _x))throw new Error("Wrong variant : should be CairoOptionVariant.Some or .None.");if(0===t){if(void 0===e)throw new Error('The creation of a Cairo Option with "Some" variant needs a content as input.');this.Some=e,this.None=void 0}else this.Some=void 0,this.None=!0}unwrap(){if(!this.None)return this.Some}isSome(){return!(void 0===this.Some)}isNone(){return!0===this.None}},Ax=(t=>(t[t.Ok=0]="Ok",t[t.Err=1]="Err",t))(Ax||{}),kx=class{constructor(t,e){if(!(t in Ax))throw new Error("Wrong variant : should be CairoResultVariant.Ok or .Err.");0===t?(this.Ok=e,this.Err=void 0):(this.Ok=void 0,this.Err=e)}unwrap(){if(void 0!==this.Ok)return this.Ok;if(void 0!==this.Err)return this.Err;throw new Error("Both Result.Ok and .Err are undefined. Not authorized.")}isOk(){return!(void 0===this.Ok)}isErr(){return!(void 0===this.Err)}},xx=(t,e,r)=>{if(!wk(t[r]))throw new Error(`Data and formatter mismatch on ${r}:${e[r]}, expected response data ${r}:${t[r]} to be BN instead it is ${typeof t[r]}`)},Nx=(t,e,r)=>{throw new Error(`Unhandled formatter type on ${r}:${e[r]} for data ${r}:${t[r]}`)};function Sx(t,e,r){return Object.entries(t).reduce(((i,[n,o])=>{const s=r??e[n];if(!(n in e)&&!r)return i[n]=o,i;if("string"===s){if(Array.isArray(t[n])){const e=Sx(t[n],t[n].map((t=>s)));return i[n]=Object.values(e).join(""),i}return xx(t,e,n),i[n]=Zk(o),i}if("number"===s)return xx(t,e,n),i[n]=Number(o),i;if("function"==typeof s)return i[n]=s(o),i;if(Array.isArray(s)){const e=Sx(t[n],s,s[0]);return i[n]=Object.values(e),i}return"object"==typeof s?(i[n]=Sx(t[n],s),i):(Nx(t,e,n),i)}),{})}function Ix(t){const e=function(t){return t.find((t=>"interface"===t.type))?2:gx(t)?1:0}(t);if(0===e||1===e)return new class{constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.reduce(((t,e)=>Xk(e.name)?t:t+1),0)}getMethod(t){return this.abi.find((e=>e.name===t))}getLegacyFormat(){return this.abi}}(t);if(2===e)return new class{constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.length}getMethod(t){return this.abi.find((t=>"interface"===t.type)).items.find((e=>e.name===t))}getLegacyFormat(){return this.abi.flatMap((t=>"interface"===t.type?t.items:t))}}(t);throw Error(`Unsupported ABI version ${e}`)}function Rx(t,e,r){return"constructor"===t&&!r&&!e.length}function Tx(t){if(!t.includes("("))return{subTuple:[],result:t};const e=[];let r="",i=0;for(;i<t.length;){if("("===t[i]){let n=1;const o=i;for(i++;n;)")"===t[i]&&n--,"("===t[i]&&n++,i++;e.push(t.substring(o,i)),r+=" ",i--}else r+=t[i];i++}return{subTuple:e,result:r}}function Cx(t){return mx(t)?function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Tx(e);return i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t))}(t):function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Tx(e);let n=i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t));return ix(t)&&(n=n.reduce(((t,e)=>t.concat(function(t){const e=t.substring(0,t.indexOf(":"));return{name:e,type:t.substring(e.length+":".length)}}(e))),[])),n}(t)}function Px(t,e,r,i){const n=(t,e)=>{if(ex(e))return function(t,e){const r=px(e);if("string"==typeof t)return t;return t.map((t=>n(t,r)))}(t,e);if(ox(e,i)){const r=i[e];return s(t,r)}if(rx(e))return function(t,e){const r=Cx(e).reduce(((e,r,i)=>{const o=Object.keys(t),s=r=>Object.defineProperty(e,i.toString(),{enumerable:!0,value:r??t[o[i]]}),a=r?.type?r.type:r;return s(n(t[o[i]],a)),e}),{});return r}(t,e);if(dx(e))return t;if(lx(e)){const r=t;if("object"!=typeof r)return r;if(!("low"in r)||!("high"in r))throw function(t){return Error(`Your object includes the property : ${t}, containing an Uint256 object without the 'low' and 'high' keys.`)}(e);return{low:r.low,high:r.high}}if(nx(e,r)){const i=r[e].members;return o(t,i)}return t},o=(t,e)=>e.reduce(((e,r)=>{if("undefined"===t[r.name]&&(mx(r.type)||!Xk(r.name)))throw Error(`Your object needs a property with key : ${r.name} .`);var i;return i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i??t[r.name]}),e}),{});const s=(t,e)=>{if(ax(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(",")),o=e.name.substring(e.name.indexOf(",")+1,e.name.lastIndexOf(">"));return r.isOk()?new kx(0,n(t.unwrap(),i)):new kx(1,n(t.unwrap(),o))}if(sx(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(">"));return r.isSome()?new Ex(0,n(r.unwrap(),i)):new Ex(1,{})}const r=t,i=Object.entries(r.variant).map((t=>{if(void 0===t[1])return t;const i=e.type.substring(e.type.lastIndexOf("<")+1,e.type.lastIndexOf(">"));return"()"===i?t:[t[0],n(r.unwrap(),i)]}));return new Mx(Object.fromEntries(i))};return e.reduce(((e,r)=>{return Xk(r.name)&&!mx(r.type)||(i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i})),e;var i}),{})}function Ox(t,e){if(!0===lx(t)){const t=vx(e);return[bx(t.low),bx(t.high)]}return bx(e)}function Bx(t){if("object"==typeof t){const{low:e,high:r}=t;return[bx(e),bx(r)]}const e=vx(t);return[bx(e.low),bx(e.high)]}function $x(t,e,r,i){if(void 0===t)throw Error(`Missing parameter for type ${e}`);if(Array.isArray(t)){const n=[];n.push(bx(t.length));const o=px(e);return t.reduce(((t,e)=>t.concat($x(e,o,r,i))),n)}if(r[e]&&r[e].members.length){if(lx(e))return Bx(t);if("core::starknet::eth_address::EthAddress"===e)return Ox(e,t);const{members:n}=r[e],o=t;return n.reduce(((t,e)=>t.concat($x(o[e.name],e.type,r,i))),[])}if(rx(e)){const n=function(t,e){const r=Cx(e),i=Object.values(t);if(i.length!==r.length)throw Error(`ParseTuple: provided and expected abi tuple size do not match.\n provided: ${i} \n expected: ${r}`);return r.map(((t,e)=>({element:i[e],type:t.type??t})))}(t,e);return n.reduce(((t,e)=>{const n=$x(e.element,e.type,r,i);return t.concat(n)}),[])}if(lx(e))return Bx(t);if(ox(e,i)){const{variants:n}=i[e];if(sx(e)){const e=t;if(e.isSome()){const t=n.find((t=>"Some"===t.name));if(void 0===t)throw Error("Error in abi : Option has no 'Some' variant.");const o=t.type;if("()"===o)return(0).toString();const s=$x(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}return 1..toString()}if(ax(e)){const e=t;if(e.isOk()){const t=n.find((t=>"Ok"===t.name));if(void 0===t)throw Error("Error in abi : Result has no 'Ok' variant.");const o=t.type;if("()"===o)return(0).toString();const s=$x(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}const o=n.find((t=>"Err"===t.name));if(void 0===o)throw Error("Error in abi : Result has no 'Err' variant.");const s=o.type;if("()"===s)return 1..toString();const a=$x(e.unwrap(),s,r,i);return Array.isArray(a)?[1..toString(),...a]:[1..toString(),a]}const o=t,s=o.activeVariant(),a=n.find((t=>t.name===s));if(void 0===a)throw Error(`Not find in abi : Enum has no '${s}' variant.`);const h=a.type,u=n.findIndex((t=>t.name===s));if("()"===h)return u.toString();const l=$x(o.unwrap(),h,r,i);return Array.isArray(l)?[u.toString(),...l]:[u.toString(),l]}if("object"==typeof t)throw Error(`Parameter ${t} do not align with abi parameter ${e}`);return Ox(e,t)}function Ux(t,e){let r;switch(!0){case cx(t):return r=e.next().value,Boolean(BigInt(r));case lx(t):return Qk({low:e.next().value,high:e.next().value});default:return r=e.next().value,BigInt(r)}}function Dx(t,e,r,i){if("()"===e.type)return{};if(lx(e.type)){return Qk({low:t.next().value,high:t.next().value})}if(ex(e.type)){const n=[],o={name:"",type:px(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Dx(t,o,r,i));return n}if(r&&e.type in r&&r[e.type])return"core::starknet::eth_address::EthAddress"===e.type?Ux(e.type,t):r[e.type].members.reduce(((e,n)=>(e[n.name]=Dx(t,n,r,i),e)),{});if(i&&e.type in i&&i[e.type]){const n=Number(t.next().value),o=i[e.type].variants.reduce(((e,o,s)=>s===n?(e[o.name]=Dx(t,{name:"",type:o.type},r,i),e):(e[o.name]=void 0,e)),{});if(e.type.startsWith("core::option::Option")){const t=0===n?o.Some:void 0;return new Ex(n,t)}if(e.type.startsWith("core::result::Result")){let t;return t=0===n?o.Ok:o.Err,new kx(n,t)}return new Mx(o)}if(rx(e.type)){return Cx(e.type).reduce(((e,n,o)=>{const s=n?.name?n.name:o,a={name:s,type:n?.type?n.type:n};return e[s]=Dx(t,a,r,i),e}),{})}if(ex(e.type)){const n=[],o={name:"",type:px(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Dx(t,o,r,i));return n}return Ux(e.type,t)}function Lx(t,e,r,i,n){const{name:o,type:s}=e;let a;switch(!0){case Xk(o):return a=t.next().value,BigInt(a);case r&&s in r||rx(s):case i&&ox(s,i):return Dx(t,e,r,i);case ex(s):if(mx(s))return Dx(t,e,r,i);const h=[];if(n&&n[`${o}_len`]){const s=n[`${o}_len`];for(;h.length<s;)h.push(Dx(t,{name:o,type:e.type.replace("*","")},r,i))}return h;default:return Ux(s,t)}}var Fx=(t,e)=>{if(gk("string"==typeof t||"number"==typeof t||"bigint"==typeof t,`Validate: arg ${e.name} should be a felt typed as (String, Number or BigInt)`),"string"==typeof t&&!yk(t))return;const r=BigInt(t.toString(10));gk(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)},jx=(t,e)=>{"number"==typeof t&&gk(t<=Number.MAX_SAFE_INTEGER,"Validation: Parameter is to large to be typed as Number use (BigInt or String)"),gk("string"==typeof t||"number"==typeof t||"bigint"==typeof t||"object"==typeof t&&"low"in t&&"high"in t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (String, Number or BigInt), but is ${typeof t} ${t}.`);const r="object"==typeof t?Qk(t):vk(t);switch(e.type){case"core::integer::u8":gk(r>=0n&&r<=255n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0 - 255]`);break;case"core::integer::u16":gk(r>=0n&&r<=65535n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 65535]`);break;case"core::integer::u32":gk(r>=0n&&r<=4294967295n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 4294967295]`);break;case"core::integer::u64":gk(r>=0n&&r<=2n**64n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^64-1]`);break;case"core::integer::u128":gk(r>=0n&&r<=2n**128n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^128-1]`);break;case"core::integer::u256":gk(r>=0n&&r<=2n**256n-1n,`Validate: arg ${e.name} is ${e.type} 0 - 2^256-1`);break;case"core::starknet::class_hash::ClassHash":case"core::starknet::contract_address::ContractAddress":gk(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)}},zx=(t,e)=>{gk("boolean"==typeof t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (Boolean)`)},qx=(t,e,r)=>{if("core::integer::u256"!==e.type)if("core::starknet::eth_address::EthAddress"!==e.type)gk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type struct (${e.type}), and should be defined as js object (not array)`),r[e.type].members.forEach((({name:r})=>{gk(Object.keys(t).includes(r),`Validate: arg ${e.name} should have a property ${r}`)}));else{gk("object"!=typeof t,`EthAdress type is waiting a BigNumberish. Got ${t}`);const r=BigInt(t.toString(10));gk(r>=0n&&r<=2n**160n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^160-1]`)}else jx(t,e)},Hx=(t,e)=>{gk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type Enum (${e.type}), and should be defined as js object (not array)`);const r=Object.getOwnPropertyNames(Object.getPrototypeOf(t)),i=[...Object.getOwnPropertyNames(t),...r];if(!(sx(e.type)&&i.includes("isSome")&&i.includes("isNone")||ax(e.type)&&i.includes("isOk")&&i.includes("isErr")||i.includes("variant")&&i.includes("activeVariant")))throw new Error(`Validate Enum: argument ${e.name}, type ${e.type}, value received ${t}, is not an Enum.`)},Vx=(t,e)=>{gk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} should be a tuple (defined as object)`)},Zx=(t,e,r,i)=>{const n=px(e.type);if(!tx(n)||!qk(t))switch(gk(Array.isArray(t),`Validate: arg ${e.name} should be an Array`),!0){case tx(n):t.forEach((t=>Fx(t,e)));break;case rx(n):t.forEach((t=>Vx(t,{name:e.name,type:n})));break;case ex(n):t.forEach((t=>Zx(t,{name:"",type:n},r,i)));break;case nx(n,r):t.forEach((t=>qx(t,{name:e.name,type:n},r)));break;case ox(n,i):t.forEach((t=>Hx(t,{name:e.name,type:n})));break;case hx(n)||ux(n):t.forEach((t=>jx(t,e)));break;case cx(n):t.forEach((t=>zx(t,e)));break;default:throw new Error(`Validate Unhandled: argument ${e.name}, type ${e.type}, value ${t}`)}};function Gx(t,e,r,i){t.inputs.reduce(((t,n)=>{const o=e[t];switch(!0){case Xk(n.name):return t;case tx(n.type):Fx(o,n);break;case hx(n.type)||ux(n.type):jx(o,n);break;case cx(n.type):zx(o,n);break;case ex(n.type):Zx(o,n,r,i);break;case nx(n.type,r):qx(o,n,r);break;case ox(n.type,i):Hx(o,n);break;case rx(n.type):Vx(o,n);break;default:throw new Error(`Validate Unhandled: argument ${n.name}, type ${n.type}, value ${o}`)}return t+1}),0)}var Kx=class{constructor(t){this.structs=Kx.getAbiStruct(t),this.enums=Kx.getAbiEnum(t),this.parser=Ix(t),this.abi=this.parser.getLegacyFormat()}validate(t,e,r=[]){if("DEPLOY"!==t){gk(this.abi.filter((e=>{if("function"!==e.type)return!1;const r="view"===e.stateMutability||"view"===e.state_mutability;return"INVOKE"===t?!r:r})).map((t=>t.name)).includes(e),("INVOKE"===t?"invocable":"viewable")+" method not found in abi")}const i=this.abi.find((r=>"DEPLOY"===t?r.name===e&&"constructor"===r.type:r.name===e&&"function"===r.type));if(Rx(e,r,i))return;const n=this.parser.methodInputsLength(i);if(r.length!==n)throw Error(`Invalid number of arguments, expected ${n} arguments, but got ${r.length}`);Gx(i,r,this.structs,this.enums)}compile(t,e){const r=this.abi.find((e=>e.name===t));if(Rx(t,e,r))return[];let i;if(Array.isArray(e))i=e;else{const t=Px(e,r.inputs,this.structs,this.enums);i=Object.values(t),Gx(r,i,this.structs,this.enums)}const n=i[Symbol.iterator](),o=r.inputs.reduce(((t,e)=>Xk(e.name)&&!mx(e.type)?t:t.concat(function(t,e,r,i){const{name:n,type:o}=e;let{value:s}=t.next();switch(!0){case ex(o):if(!Array.isArray(s)&&!jk(s))throw Error(`ABI expected parameter ${n} to be array or long string, got ${s}`);return"string"==typeof s&&(s=Hk(s)),$x(s,e.type,r,i);case"core::starknet::eth_address::EthAddress"===o:return Ox(o,s);case nx(o,r)||rx(o)||lx(o):case ox(o,i):return $x(s,o,r,i);default:return Ox(o,s)}}(n,e,this.structs,this.enums))),[]);return Object.defineProperty(o,"__compiled__",{enumerable:!1,writable:!1,value:!0}),o}static compile(t){const e=t=>{const e=(t,r=".")=>{const i=Array.isArray(t)?[t.length.toString(),...t]:t;return Object.entries(i).flatMap((([t,n])=>{let o=n;qk(o)&&(o=Hk(o)),"entrypoint"===t&&(o=$k(o));const s=Array.isArray(i)&&"0"===t?"$$len":t;if(wk(o))return[[`${r}${s}`,bx(o)]];if(Object(o)===o){const t=Object.getOwnPropertyNames(Object.getPrototypeOf(o)),i=[...Object.getOwnPropertyNames(o),...t];if(i.includes("isSome")&&i.includes("isNone")){const t=o,i=t.isSome()?0:1;return t.isSome()?e({0:i,1:t.unwrap()},`${r}${s}.`):[[`${r}${s}`,bx(i)]]}if(i.includes("isOk")&&i.includes("isErr")){const t=o,i=t.isOk()?0:1;return e({0:i,1:t.unwrap()},`${r}${s}.`)}if(i.includes("variant")&&i.includes("activeVariant")){const t=o,i=t.activeVariant(),n=Object.keys(t.variant).findIndex((t=>t===i));return"object"==typeof t.unwrap()&&0===Object.keys(t.unwrap()).length?[[`${r}${s}`,bx(n)]]:e({0:n,1:t.unwrap()},`${r}${s}.`)}return e(o,`${r}${s}.`)}return[[`${r}${s}`,bx(o)]]}))};return Object.fromEntries(e(t))};let r;if(Array.isArray(t)){const i=e({...t});r=Object.values(i)}else{const i=e(t);r=Object.values(i)}return Object.defineProperty(r,"__compiled__",{enumerable:!1,writable:!1,value:!0}),r}parse(t,e){const{outputs:r}=this.abi.find((e=>e.name===t)),i=e.flat()[Symbol.iterator](),n=r.flat().reduce(((t,e,r)=>{const n=e.name??r;return t[n]=Lx(i,e,this.structs,this.enums,t),t[n]&&t[`${n}_len`]&&delete t[`${n}_len`],t}),{});return 1===Object.keys(n).length&&0 in n?n[0]:n}format(t,e,r){return Sx(this.parse(t,e),r)}static getAbiStruct(t){return t.filter((t=>"struct"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{})}static getAbiEnum(t){const e=t.filter((t=>"enum"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{});return delete e["core::bool"],e}static toCalldata(t=[]){return Kx.compile(t)}static toHex(t=[]){return Kx.compile(t).map((t=>bk(t)))}};mA({},{calculateContractAddressFromHash:()=>cN,calculateDeclareTransactionHash:()=>hN,calculateDeployAccountTransactionHash:()=>uN,calculateDeployTransactionHash:()=>aN,calculateTransactionHash:()=>lN,calculateTransactionHashCommon:()=>sN,computeCompiledClassHash:()=>yN,computeContractClassHash:()=>bN,computeHashOnElements:()=>oN,computeLegacyContractClassHash:()=>pN,computeSierraContractClassHash:()=>wN,default:()=>mN,feeTransactionVersion:()=>rN,feeTransactionVersion_2:()=>iN,formatSpaces:()=>dN,getSelector:()=>Uk,getSelectorFromName:()=>$k,getVersionsByType:()=>nN,keccakBn:()=>Ok,poseidon:()=>ov,starknetKeccak:()=>Bk,transactionVersion:()=>tN,transactionVersion_2:()=>eN});mA({},{starkCurve:()=>fw,weierstrass:()=>bv});mA({},{parse:()=>Qx,parseAlwaysAsBig:()=>Wx,stringify:()=>Yx,stringifyAlwaysAsBig:()=>Xx});var Jx=t=>{if(!dw(t))return parseFloat(t);const e=parseInt(t,10);return Number.isSafeInteger(e)?e:BigInt(t)},Qx=t=>$w(String(t),void 0,Jx),Wx=t=>$w(String(t),void 0,Iw),Yx=(t,e,r,i)=>gb(t,e,r,i),Xx=Yx,tN=CA,eN=PA,rN=OA,iN=BA;function nN(t){return"fee"===t?{v1:rN,v2:iN}:{v1:tN,v2:eN}}function oN(t){return[...t,t.length].reduce(((t,e)=>ew(vk(t),vk(e))),0).toString()}function sN(t,e,r,i,n,o,s,a=[]){const h=oN(n);return oN([t,e,r,i,h,o,s,...a])}function aN(t,e,r,i,n="constructor"){return sN("0x6465706c6f79",r,t,$k(n),e,0,i)}function hN(t,e,r,i,n,o,s){return sN("0x6465636c617265",r,e,0,[t],i,n,[o,...s?[s]:[]])}function uN(t,e,r,i,n,o,s,a){return sN("0x6465706c6f795f6163636f756e74",n,t,0,[e,i,...r],o,s,[a])}function lN(t,e,r,i,n,o){return sN("0x696e766f6b65",e,t,0,r,i,n,[o])}function cN(t,e,r,i){const n=oN(Kx.compile(r));return oN([bx("0x535441524b4e45545f434f4e54524143545f41444452455353"),i,t,e,n])}function fN(t,e){return"attributes"===t||"accessible_scopes"===t?Array.isArray(e)&&0===e.length?void 0:e:"debug_info"===t?null:null===e?void 0:e}function dN(t){let e=!1;const r=[];for(const i of t)'"'===i&&!1==(r.length>0&&"\\"===r.slice(-1)[0])&&(e=!e),e?r.push(i):r.push(":"===i?": ":","===i?", ":i);return r.join("")}function mN(t){const{abi:e,program:r}=t,i=dN(Yx({abi:e,program:r},fN));return EA(iw(yA(i)).toString(16))}function pN(t){const e="string"==typeof t?Qx(t):t,r=bk(LA),i=oN(e.entry_points_by_type.EXTERNAL.flatMap((t=>[t.selector,t.offset]))),n=oN(e.entry_points_by_type.L1_HANDLER.flatMap((t=>[t.selector,t.offset]))),o=oN(e.entry_points_by_type.CONSTRUCTOR.flatMap((t=>[t.selector,t.offset]))),s=oN(e.program.builtins.map((t=>Vk(t)))),a=mN(e),h=oN(e.program.data);return oN([r,i,n,o,s,a,h])}function gN(t){const e=t.flatMap((t=>{return[BigInt(t.selector),BigInt(t.offset),(e=t.builtins,cw(e.flatMap((t=>BigInt(Vk(t))))))];var e}));return cw(e)}function yN(t){const e=BigInt(Vk("COMPILED_CLASS_V1")),r=gN(t.entry_points_by_type.EXTERNAL),i=gN(t.entry_points_by_type.L1_HANDLER),n=gN(t.entry_points_by_type.CONSTRUCTOR),o=cw(t.bytecode.map((t=>BigInt(t))));return bk(cw([e,r,i,n,o]))}function vN(t){return cw(t.flatMap((t=>[BigInt(t.selector),BigInt(t.function_idx)])))}function wN(t){const e=BigInt(Vk("CONTRACT_CLASS_V0.1.0")),r=vN(t.entry_points_by_type.EXTERNAL),i=vN(t.entry_points_by_type.L1_HANDLER),n=vN(t.entry_points_by_type.CONSTRUCTOR),o=function(t){const e=dN(Yx(t.abi,null));return BigInt(EA(iw(yA(e)).toString(16)))}(t),s=cw(t.sierra_program.map((t=>BigInt(t))));return bk(cw([e,r,i,n,o,s]))}function bN(t){const e="string"==typeof t?Qx(t):t;return"sierra_program"in e?wN(e):pN(e)}function MN(t){const e="string"==typeof t?t:Yx(t);return bA(LE(e))}function _N(t){if(Array.isArray(t))return t;const e=gA(FE(wA(t)));return Qx(e)}function EN(){return Gv(qv.randomPrivateKey())}function AN(t){return EA(t).toLowerCase()}function kN(t){if(!t)throw Error("formatSignature: provided signature is undefined");if(Array.isArray(t))return t.map((t=>bk(t)));try{const{r:e,s:r}=t;return[bk(e),bk(r)]}catch(t){throw new Error("Signature need to be weierstrass.SignatureType or an array for custom")}}function xN(t){return xk(kN(t))}function NN(t){return Nk(kN(t))}function SN(t,e=.5){const r=Math.round(100*(1+e));return vk(t)*vk(r)/100n}function IN(t){return"sierra_program"in("string"==typeof t?Qx(t):t)}mA({},{compressProgram:()=>MN,decompressProgram:()=>_N,estimatedFeeToMaxFee:()=>SN,formatSignature:()=>kN,makeAddress:()=>AN,randomAddress:()=>EN,signatureToDecimalArray:()=>xN,signatureToHexArray:()=>NN});var RN="undefined"!=typeof window&&window.fetch||"undefined"!=typeof global&&global.fetch||cA;function TN(t){return new Promise((e=>{setTimeout(e,t)}))}function CN(t){const e={...t};return delete e.sierra_program_debug_info,e.abi=dN(Yx(t.abi)),e.sierra_program=dN(Yx(t.sierra_program)),e.sierra_program=MN(e.sierra_program),e}function PN(t){const e="string"==typeof t?Qx(t):t;return IN(t)?CN(e):{...e,..."program"in e&&{program:MN(e.program)}}}mA({},{createSierraContractClass:()=>CN,parseContract:()=>PN,wait:()=>TN});var ON=class extends Error{constructor(t){super(t),Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0}),function(t,e){const{setPrototypeOf:r}=Object;r?r(t,e):t.__proto__=e}(this,new.target.prototype),function(t,e=t.constructor){const{captureStackTrace:r}=Error;r&&r(t,e)}(this)}},BN=class extends ON{},$N=class extends BN{constructor(t,e){super(t),this.errorCode=e}},UN=class extends BN{constructor(t,e){super(t),this.errorCode=e}};mA({},{StarknetIdContract:()=>GN,getStarknetIdContract:()=>KN,useDecoded:()=>VN,useEncoded:()=>ZN});var DN="abcdefghijklmnopqrstuvwxyz0123456789-",LN=BigInt(DN.length+1),FN="这来",jN=BigInt(DN.length),zN=BigInt(FN.length),qN=BigInt(FN.length+1);function HN(t){let e=0;for(;t.endsWith(FN[FN.length-1]);)t=t.substring(0,t.length-1),e+=1;return[t,e]}function VN(t){let e="";return t.forEach((t=>{for(;t!==$A;){const r=t%LN;if(t/=LN,r===BigInt(DN.length)){const r=t/qN;if(r===$A){const i=t%qN;t=r,e+=i===$A?DN[0]:FN[Number(i)-1]}else{e+=FN[Number(t%zN)],t/=zN}}else e+=DN[Number(r)]}const[r,i]=HN(e);i&&(e=r+(i%2==0?FN[FN.length-1].repeat(i/2-1)+FN[0]+DN[1]:FN[FN.length-1].repeat((i-1)/2+1))),e+="."})),e?e.concat("stark"):e}function ZN(t){let e=BigInt(0),r=BigInt(1);if(t.endsWith(FN[0]+DN[1])){const[e,r]=HN(t.substring(0,t.length-2));t=e+FN[FN.length-1].repeat(2*(r+1))}else{const[e,r]=HN(t);r&&(t=e+FN[FN.length-1].repeat(1+2*(r-1)))}for(let i=0;i<t.length;i+=1){const n=t[i],o=DN.indexOf(n),s=BigInt(DN.indexOf(n));if(-1!==o)i===t.length-1&&t[i]===DN[0]?(e+=r*jN,r*=LN,r*=LN):(e+=r*s,r*=LN);else if(-1!==FN.indexOf(n)){e+=r*jN,r*=LN;const o=(i===t.length-1?1:0)+FN.indexOf(n);e+=r*BigInt(o),r*=zN}}return e}var GN=(t=>(t.MAINNET="0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",t.TESTNET="0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce",t))(GN||{});function KN(t){switch(t){case"0x534e5f4d41494e":return"0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678";case"0x534e5f474f45524c49":return"0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce";default:throw new Error("Starknet.id is not yet deployed on this network")}}async function JN(t,e,r){const i=await t.getChainId(),n=r??KN(i);try{const r=await t.callContract({contractAddress:n,entrypoint:"address_to_domain",calldata:Kx.compile({address:e})}),i=VN(r.result.map((t=>BigInt(t))).slice(1));if(!i)throw Error("Starkname not found");return i}catch(t){if(t instanceof Error&&"Starkname not found"===t.message)throw t;throw Error("Could not get stark name")}}async function QN(t,e,r){const i=await t.getChainId(),n=r??KN(i);try{return(await t.callContract({contractAddress:n,entrypoint:"domain_to_address",calldata:Kx.compile({domain:[ZN(e.replace(".stark","")).toString(10)]})})).result[0]}catch{throw Error("Could not get address from stark name")}}var WN=Object.values(ik),YN=class{constructor(t){this.hash=null,this.number=null,this.tag=null,this.valueOf=()=>this.number,this.toString=()=>this.hash,this.setIdentifier(t)}setIdentifier(t){"string"==typeof t&&yk(t)?this.hash=t:"bigint"==typeof t?this.hash=bk(t):"number"==typeof t?this.number=t:"string"==typeof t&&WN.includes(t)?this.tag=t:this.tag="pending"}get queryIdentifier(){return null!==this.number?`blockNumber=${this.number}`:null!==this.hash?`blockHash=${this.hash}`:`blockNumber=${this.tag}`}get identifier(){return null!==this.number?{block_number:this.number}:null!==this.hash?{block_hash:this.hash}:this.tag}set identifier(t){this.setIdentifier(t)}get sequencerIdentifier(){return null!==this.hash?{blockHash:this.hash}:{blockNumber:this.number??this.tag}}},XN=(t,e=!1)=>{e||console.warn("Using default public node url, please provide nodeUrl in provider options!");const r="SN_MAIN"===t?ZA:VA;return r[Math.floor(Math.random()*r.length)]},tS={"Content-Type":"application/json"},eS="pending",rS=200,iS=class{constructor(t){this.responseParser=new class{parseGetBlockResponse(t){return{timestamp:t.timestamp,block_hash:"block_hash"in t?t.block_hash:"",block_number:"block_number"in t?t.block_number:-1,new_root:"new_root"in t?t.new_root:"",parent_hash:t.parent_hash,status:"status"in t?t.status:"PENDING",transactions:t.transactions}}parseGetTransactionResponse(t){return{calldata:"calldata"in t?t.calldata:[],contract_address:"contract_address"in t?t.contract_address:"",sender_address:"sender_address"in t?t.sender_address:"",max_fee:"max_fee"in t?t.max_fee:"",nonce:"nonce"in t?t.nonce:"",signature:"signature"in t?t.signature:[],transaction_hash:t.transaction_hash,version:t.version}}parseFeeEstimateResponse(t){return{overall_fee:vk(t[0].overall_fee),gas_consumed:vk(t[0].gas_consumed),gas_price:vk(t[0].gas_price)}}parseFeeEstimateBulkResponse(t){return t.map((t=>({overall_fee:vk(t.overall_fee),gas_consumed:vk(t.gas_consumed),gas_price:vk(t.gas_price)})))}parseCallContractResponse(t){return{result:t}}parseSimulateTransactionResponse(t){return t.map((t=>({...t,suggestedMaxFee:SN(BigInt(t.fee_estimation.overall_fee))})))}parseContractClassResponse(t){return{...t,abi:"string"==typeof t.abi?JSON.parse(t.abi):t.abi}}},this.getBlockHashAndNumber=this.getBlockLatestAccepted,this.getStateUpdate=this.getBlockStateUpdate,this.traceBlockTransactions=this.getBlockTransactionsTraces,this.getTransactionCount=this.getBlockTransactionCount,this.traceTransaction=this.getTransactionTrace,this.getSimulateTransaction=this.simulateTransaction;const{nodeUrl:e,retries:r,headers:i,blockIdentifier:n,chainId:o}=t||{};Object.values(jA).includes(e)?this.nodeUrl=XN(e,t?.default):this.nodeUrl=e||XN(void 0,t?.default),this.retries=r||rS,this.headers={...tS,...i},this.blockIdentifier=n||eS,this.chainId=o}fetch(t,e,r=0){const i={id:r,jsonrpc:"2.0",method:t,...e&&{params:e}};return RN(this.nodeUrl,{method:"POST",body:Yx(i),headers:this.headers})}errorHandler(t,e,r,i){if(r){const{code:i,message:n,data:o}=r;throw new BN(`RPC: ${t} with params ${Yx(e)}\n ${i}: ${n}: ${Yx(o)}`)}if(i instanceof BN)throw i;if(i)throw Error(i.message)}async fetchEndpoint(t,e){try{const r=await this.fetch(t,e),{error:i,result:n}=await r.json();return this.errorHandler(t,e,i),n}catch(r){throw this.errorHandler(t,e,r?.response?.data,r),r}}async getChainId(){return this.chainId??(this.chainId=await this.fetchEndpoint("starknet_chainId")),this.chainId}async getSpecVersion(){return this.fetchEndpoint("starknet_specVersion")}async getNonceForAddress(t,e=this.blockIdentifier){const r=bk(t),i=new YN(e).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:r,block_id:i})}async getBlock(t=this.blockIdentifier){return this.getBlockWithTxHashes(t).then(this.responseParser.parseGetBlockResponse)}async getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}async getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}async getBlockWithTxHashes(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:e})}async getBlockWithTxs(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:e})}async getBlockStateUpdate(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:e})}async getBlockTransactionsTraces(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:e})}async getBlockTransactionCount(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:e})}async getPendingTransactions(){const{transactions:t}=await this.getBlock("pending");return Promise.all(t.map((t=>this.getTransactionByHash(t))))}async getTransaction(t){return this.getTransactionByHash(t).then(this.responseParser.parseGetTransactionResponse)}async getTransactionByHash(t){const e=bk(t);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:e})}async getTransactionByBlockIdAndIndex(t,e){const r=new YN(t).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:r,index:e})}async getTransactionReceipt(t){const e=bk(t);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:e})}async getTransactionTrace(t){const e=bk(t);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:e})}async getTransactionStatus(t){const e=bk(t);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:e})}async simulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipFeeCharge:i=!0}){const n=new YN(e).identifier,o=[];return r&&o.push(nk.ESimulationFlag.SKIP_VALIDATE),i&&o.push(nk.ESimulationFlag.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:n,transactions:t.map((t=>this.buildTransaction(t))),simulation_flags:o}).then(this.responseParser.parseSimulateTransactionResponse)}async waitForTransaction(t,e){const r=bk(t);let{retries:i}=this,n=!1,o=!1;const s=e?.retryInterval??5e3,a=e?.errorStates??[nk.ETransactionStatus.REJECTED,nk.ETransactionExecutionStatus.REVERTED],h=e?.successStates??[nk.ETransactionExecutionStatus.SUCCEEDED,nk.ETransactionStatus.ACCEPTED_ON_L2,nk.ETransactionStatus.ACCEPTED_ON_L1];let u;for(;!n;){await TN(s);try{u=await this.getTransactionStatus(r);const t=u.execution_status,e=u.finality_status;if(!e){throw new Error("waiting for transaction status")}if(h.includes(t)||h.includes(e))n=!0;else if(a.includes(t)||a.includes(e)){const r=`${t}: ${e}`,i=new Error(r);throw i.response=u,o=!0,i}}catch(t){if(t instanceof Error&&o)throw t;if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1}let l=null;for(;null===l;){try{l=await this.getTransactionReceipt(r)}catch(t){if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1,await TN(s)}return l}async getStorageAt(t,e,r=this.blockIdentifier){const i=bk(t),n=_k(e),o=new YN(r).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:i,key:n,block_id:o})}async getClassHashAt(t,e=this.blockIdentifier){const r=bk(t),i=new YN(e).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:i,contract_address:r})}async getClassByHash(t){return this.getClass(t)}async getClass(t,e=this.blockIdentifier){const r=bk(t),i=new YN(e).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:r,block_id:i}).then(this.responseParser.parseContractClassResponse)}async getClassAt(t,e=this.blockIdentifier){const r=bk(t),i=new YN(e).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:i,contract_address:r}).then(this.responseParser.parseContractClassResponse)}async getCode(t,e){throw new Error("RPC does not implement getCode function")}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClass(e,r)}if(IN(n)){if(i){return{cairo:"1",compiler:yx(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async getEstimateFee(t,e,r=this.blockIdentifier){return this.getInvokeEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier){const i=new YN(r).identifier,n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier){const i=new YN(r).identifier,n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier){const i=new YN(r).identifier,n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){r&&console.warn("getEstimateFeeBulk RPC does not support skipValidate");const i=new YN(e).identifier;return this.fetchEndpoint("starknet_estimateFee",{request:t.map((t=>this.buildTransaction(t,"fee"))),block_id:i}).then(this.responseParser.parseFeeEstimateBulkResponse)}async invokeFunction(t,e){return this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:t.contractAddress,calldata:Kx.toHex(t.calldata),type:nk.ETransactionType.INVOKE,max_fee:bk(e.maxFee||0),version:"0x1",signature:NN(t.signature),nonce:bk(e.nonce)}})}async declareContract({contract:t,signature:e,senderAddress:r,compiledClassHash:i},n){return IN(t)?this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:nk.ETransactionType.DECLARE,contract_class:{sierra_program:_N(t.sierra_program),contract_class_version:t.contract_class_version,entry_points_by_type:t.entry_points_by_type,abi:t.abi},compiled_class_hash:i||"",version:TA,max_fee:bk(n.maxFee||0),signature:NN(e),sender_address:r,nonce:bk(n.nonce)}}):this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:nk.ETransactionType.DECLARE,contract_class:{program:t.program,entry_points_by_type:t.entry_points_by_type,abi:t.abi},version:RA,max_fee:bk(n.maxFee||0),signature:NN(e),sender_address:r,nonce:bk(n.nonce)}})}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:Kx.toHex(e||[]),class_hash:bk(t),contract_address_salt:bk(r||0),type:nk.ETransactionType.DEPLOY_ACCOUNT,max_fee:bk(n.maxFee||0),version:bk(n.version||0),signature:NN(i),nonce:bk(n.nonce)}})}async callContract(t,e=this.blockIdentifier){const r=new YN(e).identifier,i=await this.fetchEndpoint("starknet_call",{request:{contract_address:t.contractAddress,entry_point_selector:$k(t.entrypoint),calldata:Kx.toHex(t.calldata)},block_id:r});return this.responseParser.parseCallContractResponse(i)}async estimateMessageFee(t,e=this.blockIdentifier){const{from_address:r,to_address:i,entry_point_selector:n,payload:o}=t,s={from_address:bk(r),to_address:bk(i),entry_point_selector:Uk(n),payload:Tk(o)},a=new YN(e).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:s,block_id:a})}async getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}async getEvents(t){return this.fetchEndpoint("starknet_getEvents",{filter:t})}async getStarkName(t,e){return JN(this,t,e)}async getAddressFromStarkName(t,e){return QN(this,t,e)}buildTransaction(t,e){const r=nN(e),i={signature:NN(t.signature),nonce:bk(t.nonce),max_fee:bk(t.maxFee||0)};if("INVOKE_FUNCTION"===t.type)return{type:nk.ETransactionType.INVOKE,sender_address:t.contractAddress,calldata:Kx.toHex(t.calldata),version:bk(t.version||r.v1),...i};if("DECLARE"===t.type)return IN(t.contract)?{type:t.type,contract_class:{...t.contract,sierra_program:_N(t.contract.sierra_program)},compiled_class_hash:t.compiledClassHash||"",sender_address:t.senderAddress,version:bk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:bk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:Kx.toHex(t.constructorCalldata||[]),class_hash:bk(t.classHash),contract_address_salt:bk(t.addressSalt||0),version:bk(t.version||r.v1),...i};throw Error("RPC buildTransaction received unknown TransactionType")}},nS=/^(?:\w+:)?\/\/(\S+)$/,oS=/^localhost[:?\d]*(?:[^:?\d]\S*)?$/,sS=/^[^\s.]+\.\S{2,}$/;function aS(t,e,r){return function(t){if(!t)return!1;if("string"!=typeof t)return!1;const e=t.match(nS);if(!e)return!1;const r=e[1];return!(!r||!oS.test(r)&&!sS.test(r))}(r)?r:fA(t,r??e)}var hS={network:"SN_GOERLI",blockIdentifier:"pending"},uS=class{constructor(t=hS){this.responseParser=new class extends class{}{parseGetBlockResponse(t){return{...t,new_root:t.state_root,parent_hash:t.parent_block_hash,transactions:Object.values(t.transactions).map((t=>"transaction_hash"in t&&t.transaction_hash)).filter(Boolean)}}parseGetTransactionResponse(t){if("NOT_RECEIVED"===t.status&&"NOT_RECEIVED"===t.finality_status)throw new BN;return{...t,calldata:"calldata"in t.transaction?t.transaction.calldata:[],contract_class:"contract_class"in t.transaction?t.transaction.contract_class:void 0,entry_point_selector:"entry_point_selector"in t.transaction?t.transaction.entry_point_selector:void 0,max_fee:"max_fee"in t.transaction?t.transaction.max_fee:void 0,nonce:t.transaction.nonce,sender_address:"sender_address"in t.transaction?t.transaction.sender_address:void 0,signature:"signature"in t.transaction?t.transaction.signature:void 0,transaction_hash:"transaction_hash"in t.transaction?t.transaction.transaction_hash:void 0,version:"version"in t.transaction?t.transaction.version:void 0}}parseGetTransactionReceiptResponse(t){return{...t,messages_sent:t.l2_to_l1_messages,..."revert_error"in t&&{revert_reason:t.revert_error}}}parseFeeEstimateResponse(t){if("overall_fee"in t){let e={};try{e={gas_consumed:vk(t.gas_usage),gas_price:vk(t.gas_price)}}catch{}return{overall_fee:vk(t.overall_fee),...e}}return{overall_fee:vk(t.amount)}}parseFeeEstimateBulkResponse(t){return[].concat(t).map((t=>{if("overall_fee"in t){let e={};try{e={gas_consumed:vk(t.gas_usage),gas_price:vk(t.gas_price)}}catch{}return{overall_fee:vk(t.overall_fee),...e}}return{overall_fee:vk(t.amount)}}))}parseSimulateTransactionResponse(t){const e="overall_fee"in t.fee_estimation?t.fee_estimation.overall_fee:t.fee_estimation.amount;return[{transaction_trace:t.trace,fee_estimation:t.fee_estimation,suggestedMaxFee:SN(BigInt(e))}]}parseCallContractResponse(t){return{result:t.result}}parseInvokeFunctionResponse(t){return{transaction_hash:t.transaction_hash}}parseDeployContractResponse(t){return{transaction_hash:t.transaction_hash,contract_address:t.address}}parseDeclareContractResponse(t){return{transaction_hash:t.transaction_hash,class_hash:t.class_hash}}parseGetStateUpdateResponse(t){const e=Object.entries(t.state_diff.nonces).map((([t,e])=>({contract_address:t,nonce:e}))),r=Object.entries(t.state_diff.storage_diffs).map((([t,e])=>({address:t,storage_entries:e})));return{...t,state_diff:{...t.state_diff,storage_diffs:r,nonces:e}}}parseContractClassResponse(t){const e=IN(t)?t:PN(t);return{...e,abi:"string"==typeof e.abi?JSON.parse(e.abi):e.abi}}},"network"in t?(this.baseUrl=uS.getNetworkFromName(t.network),this.feederGatewayUrl=aS(this.baseUrl,"feeder_gateway"),this.gatewayUrl=aS(this.baseUrl,"gateway")):(this.baseUrl=t.baseUrl,this.feederGatewayUrl=aS(this.baseUrl,"feeder_gateway",t.feederGatewayUrl),this.gatewayUrl=aS(this.baseUrl,"gateway",t.gatewayUrl)),this.chainId=t?.chainId??uS.getChainIdFromBaseUrl(this.baseUrl),this.headers=t.headers,this.blockIdentifier=t?.blockIdentifier||hS.blockIdentifier}static getNetworkFromName(t){switch(t){case"SN_MAIN":case"0x534e5f4d41494e":return"https://alpha-mainnet.starknet.io";case"SN_GOERLI":case"0x534e5f474f45524c49":return"https://alpha4.starknet.io";default:throw new Error("Could not detect base url from NetworkName")}}static getChainIdFromBaseUrl(t){try{return new URL(t).host.includes("mainnet.starknet.io")?"0x534e5f4d41494e":"0x534e5f474f45524c49"}catch{return console.error(`Could not parse baseUrl: ${t}`),"0x534e5f474f45524c49"}}getFetchUrl(t){return["add_transaction"].includes(t)?this.gatewayUrl:this.feederGatewayUrl}getFetchMethod(t){return["add_transaction","call_contract","estimate_fee","estimate_message_fee","estimate_fee_bulk","simulate_transaction"].includes(t)?"POST":"GET"}getQueryString(t){if(void 0===(e=t)||0===Object.keys(e).length||1===Object.keys(e).length&&Object.entries(e).every((([t,e])=>"blockIdentifier"===t&&null===e)))return"";var e;const r=Object.entries(t).map((([t,e])=>{if("blockIdentifier"===t){return`${new YN(e).queryIdentifier}`}return`${t}=${e}`})).join("&");return`?${r}`}getHeaders(t){return"POST"===t?{"Content-Type":"application/json",...this.headers}:this.headers}async fetchEndpoint(t,...[e,r]){const i=this.getFetchUrl(t),n=this.getFetchMethod(t),o=this.getQueryString(e),s=fA(i,t,o);return this.fetch(s,{method:n,body:r})}async fetch(t,e){const r=aS(this.baseUrl,"",t),i=e?.method??"GET",n=this.getHeaders(i),o=Yx(e?.body);try{const t=await RN(r,{method:i,body:o,headers:n}),s=await t.text();if(!t.ok){let e;try{e=Qx(s)}catch{throw new UN(t.statusText,t.status)}throw new $N(e.message,e.code)}return(e?.parseAlwaysAsBigInt?Wx:Qx)(s)}catch(t){if(t instanceof Error&&!(t instanceof BN))throw Error(`Could not ${i} from endpoint \`${r}\`: ${t.message}`);throw t}}async getChainId(){return Promise.resolve(this.chainId)}async callContract({contractAddress:t,entrypoint:e,calldata:r=[]},i=this.blockIdentifier){return this.fetchEndpoint("call_contract",{blockIdentifier:i},{contract_address:t,entry_point_selector:$k(e),calldata:Kx.compile(r)}).then(this.responseParser.parseCallContractResponse)}async getBlock(t=this.blockIdentifier){return this.fetchEndpoint("get_block",{blockIdentifier:t}).then(this.responseParser.parseGetBlockResponse)}async getNonceForAddress(t,e=this.blockIdentifier){return this.fetchEndpoint("get_nonce",{contractAddress:t,blockIdentifier:e})}async getStorageAt(t,e,r=this.blockIdentifier){const i=vk(e).toString(10);return this.fetchEndpoint("get_storage_at",{blockIdentifier:r,contractAddress:t,key:i})}async getTransaction(t){const e=bk(t);return this.fetchEndpoint("get_transaction",{transactionHash:e}).then((t=>{if(1===Object.values(t).length)throw new BN(t.status);return this.responseParser.parseGetTransactionResponse(t)}))}async getTransactionReceipt(t){const e=bk(t);return this.fetchEndpoint("get_transaction_receipt",{transactionHash:e}).then(this.responseParser.parseGetTransactionReceiptResponse)}async getClassAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_full_contract",{blockIdentifier:e,contractAddress:t}).then(this.responseParser.parseContractClassResponse)}async getClassHashAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_hash_at",{blockIdentifier:e,contractAddress:t})}async getClassByHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_by_hash",{classHash:t,blockIdentifier:e}).then(this.responseParser.parseContractClassResponse)}async getCompiledClassByClassHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_compiled_class_by_class_hash",{classHash:t,blockIdentifier:e})}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClassByHash(e,r)}if(IN(n)){if(i){return{cairo:"1",compiler:yx(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async invokeFunction(t,e){return this.fetchEndpoint("add_transaction",void 0,{type:"INVOKE_FUNCTION",sender_address:t.contractAddress,calldata:Kx.compile(t.calldata??[]),signature:xN(t.signature),nonce:bk(e.nonce),max_fee:bk(e.maxFee||0),version:"0x1"}).then(this.responseParser.parseInvokeFunctionResponse)}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("add_transaction",void 0,{type:"DEPLOY_ACCOUNT",contract_address_salt:r??EN(),constructor_calldata:Kx.compile(e??[]),class_hash:bk(t),max_fee:bk(n.maxFee||0),version:bk(n.version||0),nonce:bk(n.nonce),signature:xN(i)}).then(this.responseParser.parseDeployContractResponse)}async declareContract({senderAddress:t,contract:e,signature:r,compiledClassHash:i},n){return IN(e)?this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",sender_address:t,compiled_class_hash:i,contract_class:e,nonce:bk(n.nonce),signature:xN(r),max_fee:bk(n.maxFee||0),version:bk(eN)}).then(this.responseParser.parseDeclareContractResponse):this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",contract_class:e,nonce:bk(n.nonce),signature:xN(r),sender_address:t,max_fee:bk(n.maxFee||0),version:bk(tN)}).then(this.responseParser.parseDeclareContractResponse)}async getEstimateFee(t,e,r=this.blockIdentifier,i=!1){return this.getInvokeEstimateFee(t,e,r,i)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){const i=t.map((t=>this.buildTransaction(t,"fee")));return this.fetchEndpoint("estimate_fee_bulk",{blockIdentifier:e,skipValidate:r},i).then(this.responseParser.parseFeeEstimateBulkResponse)}async getCode(t,e=this.blockIdentifier){return this.fetchEndpoint("get_code",{contractAddress:t,blockIdentifier:e})}async waitForTransaction(t,e){let r,i=!1,n=0;const o=e?.retryInterval??5e3,s=e?.errorStates??["REJECTED","NOT_RECEIVED","REVERTED"],a=e?.successStates??["SUCCEEDED","ACCEPTED_ON_L1","ACCEPTED_ON_L2"];for(;!i;)if(await TN(o),r=await this.getTransactionStatus(t),"NOT_RECEIVED"===r.finality_status&&n<3)n+=1;else if(a.includes(r.finality_status)||a.includes(r.execution_status))i=!0;else if(s.includes(r.finality_status)||s.includes(r.execution_status)){let t;t=r.tx_failure_reason?`${r.tx_status}: ${r.tx_failure_reason.code}\n${r.tx_failure_reason.error_message}`:r.tx_revert_reason?`${r.tx_status}: ${r.tx_revert_reason}`:r.tx_status;const e=new Error(t);throw e.response=r,e}return await this.getTransactionReceipt(t)}async getTransactionStatus(t){const e=bk(t);return this.fetchEndpoint("get_transaction_status",{transactionHash:e})}async getContractAddresses(){return this.fetchEndpoint("get_contract_addresses")}async getTransactionTrace(t){const e=bk(t);return this.fetchEndpoint("get_transaction_trace",{transactionHash:e})}async estimateMessageFee({from_address:t,to_address:e,entry_point_selector:r,payload:i},n=this.blockIdentifier){const o={from_address:Ik(t),to_address:Rk(e),entry_point_selector:Uk(r),payload:Tk(i)};return this.fetchEndpoint("estimate_message_fee",{blockIdentifier:n},o)}async getSimulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipExecute:i=!1}){t.length>1&&console.warn("Sequencer simulate process only first element from invocations list"),i&&console.warn("Sequencer can't skip account __execute__");const n=this.buildTransaction(t[0]);return this.fetchEndpoint("simulate_transaction",{blockIdentifier:e,skipValidate:r??!1},n).then(this.responseParser.parseSimulateTransactionResponse)}async getStateUpdate(t=this.blockIdentifier){const e=new YN(t).sequencerIdentifier;return this.fetchEndpoint("get_state_update",{...e}).then(this.responseParser.parseGetStateUpdateResponse)}async getBlockTraces(t=this.blockIdentifier){const e=new YN(t).sequencerIdentifier;return this.fetchEndpoint("get_block_traces",{...e})}async getStarkName(t,e){return JN(this,t,e)}async getAddressFromStarkName(t,e){return QN(this,t,e)}buildTransaction(t,e){const r=nN(e),i={signature:xN(t.signature),nonce:bk(t.nonce)};if("INVOKE_FUNCTION"===t.type)return{type:t.type,sender_address:t.contractAddress,calldata:Kx.compile(t.calldata??[]),version:bk(t.version||r.v1),...i};if("DECLARE"===t.type)return IN(t.contract)?{type:t.type,contract_class:t.contract,compiled_class_hash:t.compiledClassHash,sender_address:t.senderAddress,version:bk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:bk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:Kx.compile(t.constructorCalldata||[]),class_hash:bk(t.classHash),contract_address_salt:bk(t.addressSalt||0),version:bk(t.version||r.v1),...i};throw Error("Sequencer buildTransaction received unknown TransactionType")}},lS=class{constructor(t){this.provider=t instanceof lS?t.provider:t instanceof iS||t instanceof uS?t:t&&"rpc"in t?new iS(t.rpc):t&&"sequencer"in t?new uS(t.sequencer):new iS}async getChainId(){return this.provider.getChainId()}async getBlock(t){return this.provider.getBlock(t)}async getClassAt(t,e){return this.provider.getClassAt(t,e)}async getClassHashAt(t,e){return this.provider.getClassHashAt(t,e)}getClassByHash(t){return this.provider.getClassByHash(t)}async getEstimateFee(t,e,r){return this.provider.getEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r,i){return this.provider.getInvokeEstimateFee(t,e,r,i)}async getEstimateFeeBulk(t,e){return this.provider.getEstimateFeeBulk(t,e)}async getNonceForAddress(t,e){return this.provider.getNonceForAddress(t,e)}async getStorageAt(t,e,r){return this.provider.getStorageAt(t,e,r)}async getTransaction(t){return this.provider.getTransaction(t)}async getTransactionReceipt(t){return this.provider.getTransactionReceipt(t)}async callContract(t,e){return this.provider.callContract(t,e)}async invokeFunction(t,e){return this.provider.invokeFunction(t,e)}async deployAccountContract(t,e){return this.provider.deployAccountContract(t,e)}async declareContract(t,e){return this.provider.declareContract(t,e)}async getDeclareEstimateFee(t,e,r,i){return this.provider.getDeclareEstimateFee(t,e,r,i)}getDeployAccountEstimateFee(t,e,r,i){return this.provider.getDeployAccountEstimateFee(t,e,r,i)}async getCode(t,e){return this.provider.getCode(t,e)}async waitForTransaction(t,e){return this.provider.waitForTransaction(t,e)}async getSimulateTransaction(t,e){return this.provider.getSimulateTransaction(t,e)}async getStateUpdate(t){return this.provider.getStateUpdate(t)}async getStarkName(t,e){return JN(this,t,e)}async getAddressFromStarkName(t,e){return QN(this,t,e)}async getContractVersion(t,e,r){return this.provider.getContractVersion(t,e,r)}};mA({},{fromCallsToExecuteCalldata:()=>fS,fromCallsToExecuteCalldataWithNonce:()=>dS,fromCallsToExecuteCalldata_cairo1:()=>pS,getExecuteCalldata:()=>gS,transformCallsToMulticallArrays:()=>cS,transformCallsToMulticallArrays_cairo1:()=>mS});var cS=t=>{const e=[],r=[];return t.forEach((t=>{const i=Kx.compile(t.calldata||[]);e.push({to:vk(t.contractAddress).toString(10),selector:vk($k(t.entrypoint)).toString(10),data_offset:r.length.toString(),data_len:i.length.toString()}),r.push(...i)})),{callArray:e,calldata:Kx.compile({calldata:r})}},fS=t=>{const{callArray:e,calldata:r}=cS(t);return[...Kx.compile({callArray:e}),...r]},dS=(t,e)=>[...fS(t),vk(e).toString()],mS=t=>{const e=t.map((t=>({to:vk(t.contractAddress).toString(10),selector:vk($k(t.entrypoint)).toString(10),calldata:Kx.compile(t.calldata||[])})));return e},pS=t=>{const e=t.map((t=>({contractAddress:t.contractAddress,entrypoint:t.entrypoint,calldata:Array.isArray(t.calldata)&&"__compiled__"in t.calldata?t.calldata:Kx.compile(t.calldata)})));return Kx.compile({orderCalls:e})},gS=(t,e="0")=>"1"===e?pS(t):fS(t),yS={};mA(yS,{encodeData:()=>NS,encodeType:()=>AS,encodeValue:()=>xS,getDependencies:()=>ES,getMessageHash:()=>IS,getStructHash:()=>SS,getTypeHash:()=>kS,isMerkleTreeType:()=>_S,prepareSelector:()=>MS});mA({},{MerkleTree:()=>vS,proofMerklePath:()=>wS});var vS=class{constructor(t){this.branches=[],this.leaves=t,this.root=this.build(t)}build(t){if(1===t.length)return t[0];t.length!==this.leaves.length&&this.branches.push(t);const e=[];for(let r=0;r<t.length;r+=2)r+1===t.length?e.push(vS.hash(t[r],"0x0")):e.push(vS.hash(t[r],t[r+1]));return this.build(e)}static hash(t,e){const[r,i]=[vk(t),vk(e)].sort(((t,e)=>t>=e?1:-1));return ew(r,i)}getProof(t,e=this.leaves,r=[]){const i=e.indexOf(t);if(-1===i)throw new Error("leaf not found");if(1===e.length)return r;const n=i%2==0,o=(n?e[i+1]:e[i-1])??"0x0",s=[...r,o],a=this.leaves.length===e.length?-1:this.branches.findIndex((t=>t.length===e.length)),h=this.branches[a+1]??[this.root];return this.getProof(vS.hash(n?t:o,n?o:t),h,s)}};function wS(t,e,r){if(0===r.length)return t===e;const[i,...n]=r;return wS(t,vS.hash(e,i),n)}function bS(t){try{return bk(t)}catch(e){if("string"==typeof t)return bk(Vk(t));throw new Error(`Invalid BigNumberish: ${t}`)}}function MS(t){return yk(t)?t:$k(t)}function _S(t){return"merkletree"===t.type}var ES=(t,e,r=[])=>("*"===e[e.length-1]&&(e=e.slice(0,-1)),r.includes(e)?r:t[e]?[e,...t[e].reduce(((e,r)=>[...e,...ES(t,r.type,e).filter((t=>!e.includes(t)))]),[])]:r);var AS=(t,e)=>{const[r,...i]=ES(t,e);return(r?[r,...i.sort()]:[]).map((e=>`${e}(${t[e].map((t=>`${t.name}:${t.type}`))})`)).join("")},kS=(t,e)=>$k(AS(t,e)),xS=(t,e,r,i={})=>{if(t[e])return[e,SS(t,e,r)];if(Object.keys(t).map((t=>`${t}*`)).includes(e)){const i=r.map((r=>SS(t,e.slice(0,-1),r)));return[e,oN(i)]}if("merkletree"===e){const e=function(t,e){if(e.parent&&e.key){const r=t[e.parent].find((t=>t.name===e.key));if(!_S(r))throw new Error(`${e.key} is not a merkle tree`);if(r.contains.endsWith("*"))throw new Error(`Merkle tree contain property must not be an array but was given ${e.key}`);return r.contains}return"raw"}(t,i),n=r.map((r=>xS(t,e,r)[1])),{root:o}=new vS(n);return["felt",o]}return"felt*"===e?["felt*",oN(r)]:"selector"===e?["felt",MS(r)]:[e,bS(r)]},NS=(t,e,r)=>{const[i,n]=t[e].reduce((([i,n],o)=>{if(void 0===r[o.name]||null===r[o.name])throw new Error(`Cannot encode data: missing data for '${o.name}'`);const s=r[o.name],[a,h]=xS(t,o.type,s,{parent:e,key:o.name});return[[...i,a],[...n,h]]}),[["felt"],[kS(t,e)]]);return[i,n]},SS=(t,e,r)=>oN(NS(t,e,r)[1]),IS=(t,e)=>{if(!(t=>{const e=t;return Boolean(e.types&&e.primaryType&&e.message)})(t))throw new Error("Typed data does not match JSON schema");return oN([Vk("StarkNet Message"),SS(t.types,"StarkNetDomain",t.domain),e,SS(t.types,t.primaryType,t.message)])},RS=new lS({rpc:{default:!0}});function TS(t){return t.filter((t=>"event"===t.type&&(t.size||"enum"!==t.kind))).reduce(((t,e)=>{const r=e.name.slice(e.name.lastIndexOf(":")+1),i={...e};return i.name=r,{...t,[EA(iw(yA(r)).toString(16))]:i}}),{})}function CS(t,e,r,i){const n=t.flat().reduce(((t,n)=>{const o=e[n.keys[0]];if(!o)return t;const s={};s[o.name]={},n.keys.shift();const a=n.keys[Symbol.iterator](),h=n.data[Symbol.iterator](),u=o.members?.filter((t=>"key"===t.kind))||o.keys,l=o.members?.filter((t=>"data"===t.kind))||o.data;return u.forEach((t=>{s[o.name][t.name]=Lx(a,t,r,i,s[o.name])})),l.forEach((t=>{s[o.name][t.name]=Lx(h,t,r,i,s[o.name])})),t.push(s),t}),[]);return n}mA({},{getAbiEvents:()=>TS,parseEvents:()=>CS});var PS=t=>{const e=t[t.length-1];return"object"==typeof e&&["blockIdentifier","parseRequest","parseResponse","formatResponse","maxFee","nonce","signature","addressSalt"].some((t=>t in e))?{args:t,options:t.pop()}:{args:t}};function OS(t,e){return async function(...r){const i=PS(r);return t.call(e.name,i.args,{parseRequest:!0,parseResponse:!0,...i.options})}}function BS(t,e){return"view"===e.stateMutability||"view"===e.state_mutability?OS(t,e):function(t,e){return async function(...r){const i=PS(r);return t.invoke(e.name,i.args,{parseRequest:!0,...i.options})}}(t,e)}function $S(t,e){return function(...r){return t.estimate(e.name,r)}}function US(t,e){return Array.isArray(t)&&"__compiled__"in t?t:Array.isArray(t)&&Array.isArray(t[0])&&"__compiled__"in t[0]?t[0]:e()}var DS=class{constructor(t,e,r=RS){this.address=e&&e.toLowerCase(),this.providerOrAccount=r,this.callData=new Kx(t),this.structs=Kx.getAbiStruct(t),this.events=TS(t);const i=Ix(t);this.abi=i.getLegacyFormat();const n={enumerable:!0,value:{},writable:!1};Object.defineProperties(this,{functions:{enumerable:!0,value:{},writable:!1},callStatic:{enumerable:!0,value:{},writable:!1},populateTransaction:{enumerable:!0,value:{},writable:!1},estimateFee:{enumerable:!0,value:{},writable:!1}}),this.abi.forEach((t=>{if("function"!==t.type)return;const e=t.name;var r,i;this[e]||Object.defineProperty(this,e,{...n,value:BS(this,t)}),this.functions[e]||Object.defineProperty(this.functions,e,{...n,value:BS(this,t)}),this.callStatic[e]||Object.defineProperty(this.callStatic,e,{...n,value:OS(this,t)}),this.populateTransaction[e]||Object.defineProperty(this.populateTransaction,e,{...n,value:(r=this,i=t,function(...t){return r.populate(i.name,t)})}),this.estimateFee[e]||Object.defineProperty(this.estimateFee,e,{...n,value:$S(this,t)})}))}attach(t){this.address=t}connect(t){this.providerOrAccount=t}async deployed(){return this.deployTransactionHash&&(await this.providerOrAccount.waitForTransaction(this.deployTransactionHash),this.deployTransactionHash=void 0),this}async call(t,e=[],{parseRequest:r=!0,parseResponse:i=!0,formatResponse:n,blockIdentifier:o}={}){gk(null!==this.address,"contract is not connected to an address");const s=US(e,(()=>r?(this.callData.validate("CALL",t,e),this.callData.compile(t,e)):(console.warn("Call skipped parsing but provided rawArgs, possible malfunction request"),e)));return this.providerOrAccount.callContract({contractAddress:this.address,calldata:s,entrypoint:t},o).then((e=>i?n?this.callData.format(t,e.result,n):this.callData.parse(t,e.result):e.result))}invoke(t,e=[],{parseRequest:r=!0,maxFee:i,nonce:n,signature:o}={}){gk(null!==this.address,"contract is not connected to an address");const s=US(e,(()=>r?(this.callData.validate("INVOKE",t,e),this.callData.compile(t,e)):(console.warn("Invoke skipped parsing but provided rawArgs, possible malfunction request"),e))),a={contractAddress:this.address,calldata:s,entrypoint:t};if("execute"in this.providerOrAccount)return this.providerOrAccount.execute(a,void 0,{maxFee:i,nonce:n});if(!n)throw new Error("Nonce is required when invoking a function without an account");return console.warn(`Invoking ${t} without an account. This will not work on a public node.`),this.providerOrAccount.invokeFunction({...a,signature:o},{nonce:n})}async estimate(t,e=[]){gk(null!==this.address,"contract is not connected to an address"),US(e,(()=>!1))||this.callData.validate("INVOKE",t,e);const r=this.populate(t,e);if("estimateInvokeFee"in this.providerOrAccount)return this.providerOrAccount.estimateInvokeFee(r);throw Error("Contract must be connected to the account contract to estimate")}populate(t,e=[]){const r=US(e,(()=>this.callData.compile(t,e)));return{contractAddress:this.address,entrypoint:t,calldata:r}}parseEvents(t){return CS(t.events?.filter((t=>Ak(t.from_address)===Ak(this.address)),[])||[],this.events,this.structs,Kx.getAbiEnum(this.abi))}isCairo1(){return Gk.isCairo1Abi(this.abi)}async getVersion(){return this.providerOrAccount.getContractVersion(this.address)}typed(t){return this}};function LS(t){kk(t,$A,DA,"Starknet Address");const e=function(t){return EA(_A(bk(t)).padStart(64,"0"))}(t);if(!e.match(/^(0x)?[0-9a-fA-F]{64}$/))throw new Error("Invalid Address Format");return e}const FS={SN_MAIN:"https://starknet-mainnet.public.blastapi.io",SN_SEPOLIA:"https://starknet-sepolia.public.blastapi.io"},jS=[{name:"argent::common::account::IAccount",type:"interface",items:[{name:"is_valid_signature",type:"function",inputs:[{name:"hash",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]}];function zS(t,e){var r;if(!FS[t])throw new Error("Invalid network");return new iS({nodeUrl:null!==(r=null==e?void 0:e.broviderUrl)&&void 0!==r?r:FS[t]})}function qS(t){return!!t.primaryType&&!!t.types.StarkNetDomain}function HS(t,e){const{domain:r,types:i,primaryType:n,message:o}=t;return yS.getMessageHash({types:i,primaryType:n,domain:r,message:o},e)}var VS=Object.freeze({__proto__:null,isStarknetMessage:qS,getHash:HS,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="SN_MAIN",n={}){try{const o=new DS(jS,t,zS(i,n));if(e.length<2)throw new Error("Invalid signature format");const s=yield o.is_valid_signature(HS(r,t),e.slice(-2));return Oh.from(s).eq(Oh.from("370462705988"))}catch(t){if(t.message.includes("Contract not found"))throw new Error("Contract not deployed");throw t}}))}});function ZS(t){return we(qi(t))}var GS=o((function(t){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:$t.Buffer}catch(t){}function s(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,i,n){for(var o=0,s=0,a=Math.min(t.length,i),h=e;h<a;h++){var u=t.charCodeAt(h)-48;o*=n,s=u>=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s<n,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,a=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,l=r;l<a;l+=i)u=h(t,l,l+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var c=1;for(u=h(t,l,t.length,e),l=0;l<s;l++)c*=e;this.imuln(c),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype._move=function(t){u(t,this)},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){n.prototype.inspect=l}else n.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var a=this.words[s],h=(16777215&(a<<n|o)).toString(16);o=a>>>24-n&16777215,(n+=2)>=26&&(n-=26,s--),i=0!==o||s!==this.length-1?c[6-h.length]+h+i:h+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],l=d[t];i="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modrn(l).toString(t);i=(m=m.idivn(l)).isZero()?p+i:c[u-p.length]+p+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function m(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u<i;u++){for(var l=h>>>26,c=67108863&h,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var m=u-d|0;l+=(s=(n=0|t.words[m])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[u]=0|c,h=0|l}return 0!==h?r.words[u]=0|h:r.length--,r._strip()}n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r<t.length)for(t[r++]=i;r<t.length;)t[r++]=0},n.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this._strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this._strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var i,n,o,s=t.words,a=e.words,h=r.words,u=0,l=0|s[0],c=8191&l,f=l>>>13,d=0|s[1],m=8191&d,p=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,w=0|s[3],b=8191&w,M=w>>>13,_=0|s[4],E=8191&_,A=_>>>13,k=0|s[5],x=8191&k,N=k>>>13,S=0|s[6],I=8191&S,R=S>>>13,T=0|s[7],C=8191&T,P=T>>>13,O=0|s[8],B=8191&O,$=O>>>13,U=0|s[9],D=8191&U,L=U>>>13,F=0|a[0],j=8191&F,z=F>>>13,q=0|a[1],H=8191&q,V=q>>>13,Z=0|a[2],G=8191&Z,K=Z>>>13,J=0|a[3],Q=8191&J,W=J>>>13,Y=0|a[4],X=8191&Y,tt=Y>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,lt=0|a[8],ct=8191<,ft=lt>>>13,dt=0|a[9],mt=8191&dt,pt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(c,j))|0)+((8191&(n=(n=Math.imul(c,z))+Math.imul(f,j)|0))<<13)|0;u=((o=Math.imul(f,z))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(m,j),n=(n=Math.imul(m,z))+Math.imul(p,j)|0,o=Math.imul(p,z);var yt=(u+(i=i+Math.imul(c,H)|0)|0)+((8191&(n=(n=n+Math.imul(c,V)|0)+Math.imul(f,H)|0))<<13)|0;u=((o=o+Math.imul(f,V)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,j),n=(n=Math.imul(y,z))+Math.imul(v,j)|0,o=Math.imul(v,z),i=i+Math.imul(m,H)|0,n=(n=n+Math.imul(m,V)|0)+Math.imul(p,H)|0,o=o+Math.imul(p,V)|0;var vt=(u+(i=i+Math.imul(c,G)|0)|0)+((8191&(n=(n=n+Math.imul(c,K)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(b,j),n=(n=Math.imul(b,z))+Math.imul(M,j)|0,o=Math.imul(M,z),i=i+Math.imul(y,H)|0,n=(n=n+Math.imul(y,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0,i=i+Math.imul(m,G)|0,n=(n=n+Math.imul(m,K)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,K)|0;var wt=(u+(i=i+Math.imul(c,Q)|0)|0)+((8191&(n=(n=n+Math.imul(c,W)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(E,j),n=(n=Math.imul(E,z))+Math.imul(A,j)|0,o=Math.imul(A,z),i=i+Math.imul(b,H)|0,n=(n=n+Math.imul(b,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,i=i+Math.imul(y,G)|0,n=(n=n+Math.imul(y,K)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,K)|0,i=i+Math.imul(m,Q)|0,n=(n=n+Math.imul(m,W)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,W)|0;var bt=(u+(i=i+Math.imul(c,X)|0)|0)+((8191&(n=(n=n+Math.imul(c,tt)|0)+Math.imul(f,X)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(x,j),n=(n=Math.imul(x,z))+Math.imul(N,j)|0,o=Math.imul(N,z),i=i+Math.imul(E,H)|0,n=(n=n+Math.imul(E,V)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,V)|0,i=i+Math.imul(b,G)|0,n=(n=n+Math.imul(b,K)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(m,X)|0,n=(n=n+Math.imul(m,tt)|0)+Math.imul(p,X)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(i=i+Math.imul(c,rt)|0)|0)+((8191&(n=(n=n+Math.imul(c,it)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(I,j),n=(n=Math.imul(I,z))+Math.imul(R,j)|0,o=Math.imul(R,z),i=i+Math.imul(x,H)|0,n=(n=n+Math.imul(x,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,i=i+Math.imul(E,G)|0,n=(n=n+Math.imul(E,K)|0)+Math.imul(A,G)|0,o=o+Math.imul(A,K)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,W)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(m,rt)|0,n=(n=n+Math.imul(m,it)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,it)|0;var _t=(u+(i=i+Math.imul(c,ot)|0)|0)+((8191&(n=(n=n+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,j),n=(n=Math.imul(C,z))+Math.imul(P,j)|0,o=Math.imul(P,z),i=i+Math.imul(I,H)|0,n=(n=n+Math.imul(I,V)|0)+Math.imul(R,H)|0,o=o+Math.imul(R,V)|0,i=i+Math.imul(x,G)|0,n=(n=n+Math.imul(x,K)|0)+Math.imul(N,G)|0,o=o+Math.imul(N,K)|0,i=i+Math.imul(E,Q)|0,n=(n=n+Math.imul(E,W)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,W)|0,i=i+Math.imul(b,X)|0,n=(n=n+Math.imul(b,tt)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(m,ot)|0,n=(n=n+Math.imul(m,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var Et=(u+(i=i+Math.imul(c,ht)|0)|0)+((8191&(n=(n=n+Math.imul(c,ut)|0)+Math.imul(f,ht)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(B,j),n=(n=Math.imul(B,z))+Math.imul($,j)|0,o=Math.imul($,z),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,V)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,V)|0,i=i+Math.imul(I,G)|0,n=(n=n+Math.imul(I,K)|0)+Math.imul(R,G)|0,o=o+Math.imul(R,K)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,W)|0,i=i+Math.imul(E,X)|0,n=(n=n+Math.imul(E,tt)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,tt)|0,i=i+Math.imul(b,rt)|0,n=(n=n+Math.imul(b,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(m,ht)|0,n=(n=n+Math.imul(m,ut)|0)+Math.imul(p,ht)|0,o=o+Math.imul(p,ut)|0;var At=(u+(i=i+Math.imul(c,ct)|0)|0)+((8191&(n=(n=n+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,j),n=(n=Math.imul(D,z))+Math.imul(L,j)|0,o=Math.imul(L,z),i=i+Math.imul(B,H)|0,n=(n=n+Math.imul(B,V)|0)+Math.imul($,H)|0,o=o+Math.imul($,V)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(I,Q)|0,n=(n=n+Math.imul(I,W)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(x,X)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,tt)|0,i=i+Math.imul(E,rt)|0,n=(n=n+Math.imul(E,it)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,it)|0,i=i+Math.imul(b,ot)|0,n=(n=n+Math.imul(b,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,ht)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(m,ct)|0,n=(n=n+Math.imul(m,ft)|0)+Math.imul(p,ct)|0,o=o+Math.imul(p,ft)|0;var kt=(u+(i=i+Math.imul(c,mt)|0)|0)+((8191&(n=(n=n+Math.imul(c,pt)|0)+Math.imul(f,mt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,H),n=(n=Math.imul(D,V))+Math.imul(L,H)|0,o=Math.imul(L,V),i=i+Math.imul(B,G)|0,n=(n=n+Math.imul(B,K)|0)+Math.imul($,G)|0,o=o+Math.imul($,K)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,W)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(I,X)|0,n=(n=n+Math.imul(I,tt)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,it)|0,i=i+Math.imul(E,ot)|0,n=(n=n+Math.imul(E,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,i=i+Math.imul(b,ht)|0,n=(n=n+Math.imul(b,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,ct)|0,n=(n=n+Math.imul(y,ft)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,ft)|0;var xt=(u+(i=i+Math.imul(m,mt)|0)|0)+((8191&(n=(n=n+Math.imul(m,pt)|0)+Math.imul(p,mt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,G),n=(n=Math.imul(D,K))+Math.imul(L,G)|0,o=Math.imul(L,K),i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul($,Q)|0,o=o+Math.imul($,W)|0,i=i+Math.imul(C,X)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(I,rt)|0,n=(n=n+Math.imul(I,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(x,ot)|0,n=(n=n+Math.imul(x,st)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,st)|0,i=i+Math.imul(E,ht)|0,n=(n=n+Math.imul(E,ut)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,ut)|0,i=i+Math.imul(b,ct)|0,n=(n=n+Math.imul(b,ft)|0)+Math.imul(M,ct)|0,o=o+Math.imul(M,ft)|0;var Nt=(u+(i=i+Math.imul(y,mt)|0)|0)+((8191&(n=(n=n+Math.imul(y,pt)|0)+Math.imul(v,mt)|0))<<13)|0;u=((o=o+Math.imul(v,pt)|0)+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,W))+Math.imul(L,Q)|0,o=Math.imul(L,W),i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul($,X)|0,o=o+Math.imul($,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(I,ot)|0,n=(n=n+Math.imul(I,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,ut)|0,i=i+Math.imul(E,ct)|0,n=(n=n+Math.imul(E,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var St=(u+(i=i+Math.imul(b,mt)|0)|0)+((8191&(n=(n=n+Math.imul(b,pt)|0)+Math.imul(M,mt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,tt))+Math.imul(L,X)|0,o=Math.imul(L,tt),i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul($,rt)|0,o=o+Math.imul($,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(I,ht)|0,n=(n=n+Math.imul(I,ut)|0)+Math.imul(R,ht)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(x,ct)|0,n=(n=n+Math.imul(x,ft)|0)+Math.imul(N,ct)|0,o=o+Math.imul(N,ft)|0;var It=(u+(i=i+Math.imul(E,mt)|0)|0)+((8191&(n=(n=n+Math.imul(E,pt)|0)+Math.imul(A,mt)|0))<<13)|0;u=((o=o+Math.imul(A,pt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(L,rt)|0,o=Math.imul(L,it),i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul($,ot)|0,o=o+Math.imul($,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(I,ct)|0,n=(n=n+Math.imul(I,ft)|0)+Math.imul(R,ct)|0,o=o+Math.imul(R,ft)|0;var Rt=(u+(i=i+Math.imul(x,mt)|0)|0)+((8191&(n=(n=n+Math.imul(x,pt)|0)+Math.imul(N,mt)|0))<<13)|0;u=((o=o+Math.imul(N,pt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(L,ot)|0,o=Math.imul(L,st),i=i+Math.imul(B,ht)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul($,ht)|0,o=o+Math.imul($,ut)|0,i=i+Math.imul(C,ct)|0,n=(n=n+Math.imul(C,ft)|0)+Math.imul(P,ct)|0,o=o+Math.imul(P,ft)|0;var Tt=(u+(i=i+Math.imul(I,mt)|0)|0)+((8191&(n=(n=n+Math.imul(I,pt)|0)+Math.imul(R,mt)|0))<<13)|0;u=((o=o+Math.imul(R,pt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,ht),n=(n=Math.imul(D,ut))+Math.imul(L,ht)|0,o=Math.imul(L,ut),i=i+Math.imul(B,ct)|0,n=(n=n+Math.imul(B,ft)|0)+Math.imul($,ct)|0,o=o+Math.imul($,ft)|0;var Ct=(u+(i=i+Math.imul(C,mt)|0)|0)+((8191&(n=(n=n+Math.imul(C,pt)|0)+Math.imul(P,mt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(D,ct),n=(n=Math.imul(D,ft))+Math.imul(L,ct)|0,o=Math.imul(L,ft);var Pt=(u+(i=i+Math.imul(B,mt)|0)|0)+((8191&(n=(n=n+Math.imul(B,pt)|0)+Math.imul($,mt)|0))<<13)|0;u=((o=o+Math.imul($,pt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Ot=(u+(i=Math.imul(D,mt))|0)+((8191&(n=(n=Math.imul(D,pt))+Math.imul(L,mt)|0))<<13)|0;return u=((o=Math.imul(L,pt))+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,h[0]=gt,h[1]=yt,h[2]=vt,h[3]=wt,h[4]=bt,h[5]=Mt,h[6]=_t,h[7]=Et,h[8]=At,h[9]=kt,h[10]=xt,h[11]=Nt,h[12]=St,h[13]=It,h[14]=Rt,h[15]=Tt,h[16]=Ct,h[17]=Pt,h[18]=Ot,0!==u&&(h[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var a=67108863&i,h=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=h;u++){var l=o-u,c=(0|t.words[l])*(0|e.words[u]),f=67108863&c;a=67108863&(f=f+a|0),n+=(s=(s=s+(c/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}Math.imul||(p=m),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?m(this,t,e):r<1024?g(this,t,e):y(this,t,e)},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),y(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var o=(0|this.words[n])*t,s=(67108863&o)+(67108863&i);i>>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=t.words[i]>>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,h=(0|this.words[e])-a<<i;this.words[e]=h|s,s=a>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this._strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,h=i;if(n-=s,n=Math.max(0,n),h){for(var u=0;u<s;u++)h.words[u]=this.words[u];h.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var l=0;for(u=this.length-1;u>=0&&(0!==l||u>=n);u--){var c=0|this.words[u];this.words[u]=l<<26-o|c>>>o,l=c&a}return h&&0!==l&&(h.words[h.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i)&&!!(this.words[i]&n)},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this._strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var a=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+a;var h=(0|t.words[n])*e;a=((o-=67108863&h)>>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)a=(o=(0|this.words[n+i])+a)>>26,this.words[n+i]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,n=0;n<this.length;n++)a=(o=-(0|this.words[n])+a)>>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var l=i.clone()._ishlnsubmul(o,1,h);0===l.negative&&(i=l,a&&(a.words[h]=1));for(var c=h-1;c>=0;c--){var f=67108864*(0|i.words[o.length+c])+(0|i.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),i._ishlnsubmul(o,f,c);0!==i.negative;)f--,i.negative=0,i._ishlnsubmul(o,1,c),i.isZero()||(i.negative^=1);a&&(a.words[c]=f)}return a&&a._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var l=i.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(l),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var m=0,p=1;0==(i.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(i.iushrn(m);m-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(l),h.isub(c)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,l=1;0==(e.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var c=0,f=1;0==(i.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(i.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new A(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},i(b,w),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,w),i(_,w),i(E,w),E.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return v[t]=e,e},A.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new n(2*l*l).toRed(this);0!==this.pow(l,u).cmp(h);)l.redIAdd(h);for(var c=this.pow(l,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),m=s;0!==d.cmp(a);){for(var p=d,g=0;0!==p.cmp(a);g++)p=p.redSqr();r(g<m);var y=this.pow(c,new n(1).iushln(m-g-1));f=f.redMul(y),c=y.redSqr(),d=d.redMul(c),m=g}return f},A.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,a=0,h=e.bitLength()%26;for(0===h&&(h=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],l=h-1;l>=0;l--){var c=u>>l&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===i&&0===l)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,A),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,r)}));var KS=GS.BN;const JS=new y("bignumber/5.6.2"),QS={},WS=9007199254740991;let YS=!1;class XS{constructor(t,e){t!==QS&&JS.throwError("cannot call constructor directly; use BigNumber.from",y.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return eI(rI(this).fromTwos(t))}toTwos(t){return eI(rI(this).toTwos(t))}abs(){return"-"===this._hex[0]?XS.from(this._hex.substring(1)):this}add(t){return eI(rI(this).add(rI(t)))}sub(t){return eI(rI(this).sub(rI(t)))}div(t){return XS.from(t).isZero()&&iI("division-by-zero","div"),eI(rI(this).div(rI(t)))}mul(t){return eI(rI(this).mul(rI(t)))}mod(t){const e=rI(t);return e.isNeg()&&iI("division-by-zero","mod"),eI(rI(this).umod(e))}pow(t){const e=rI(t);return e.isNeg()&&iI("negative-power","pow"),eI(rI(this).pow(e))}and(t){const e=rI(t);return(this.isNegative()||e.isNeg())&&iI("unbound-bitwise-result","and"),eI(rI(this).and(e))}or(t){const e=rI(t);return(this.isNegative()||e.isNeg())&&iI("unbound-bitwise-result","or"),eI(rI(this).or(e))}xor(t){const e=rI(t);return(this.isNegative()||e.isNeg())&&iI("unbound-bitwise-result","xor"),eI(rI(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&iI("negative-width","mask"),eI(rI(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&iI("negative-width","shl"),eI(rI(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&iI("negative-width","shr"),eI(rI(this).shrn(t))}eq(t){return rI(this).eq(rI(t))}lt(t){return rI(this).lt(rI(t))}lte(t){return rI(this).lte(rI(t))}gt(t){return rI(this).gt(rI(t))}gte(t){return rI(this).gte(rI(t))}isNegative(){return"-"===this._hex[0]}isZero(){return rI(this).isZero()}toNumber(){try{return rI(this).toNumber()}catch(t){iI("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(t){}return JS.throwError("this platform does not support BigInt",y.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?YS||(YS=!0,JS.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?JS.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",y.errors.UNEXPECTED_ARGUMENT,{}):JS.throwError("BigNumber.toString does not accept parameters",y.errors.UNEXPECTED_ARGUMENT,{})),rI(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof XS)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new XS(QS,tI(t)):t.match(/^-?[0-9]+$/)?new XS(QS,tI(new KS(t))):JS.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&iI("underflow","BigNumber.from",t),(t>=WS||t<=-WS)&&iI("overflow","BigNumber.from",t),XS.from(String(t));const e=t;if("bigint"==typeof e)return XS.from(e.toString());if(E(e))return XS.from(I(e));if(e)if(e.toHexString){const t=e.toHexString();if("string"==typeof t)return XS.from(t)}else{let t=e._hex;if(null==t&&"BigNumber"===e.type&&(t=e.hex),"string"==typeof t&&(N(t)||"-"===t[0]&&N(t.substring(1))))return XS.from(t)}return JS.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function tI(t){if("string"!=typeof t)return tI(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&JS.throwArgumentError("invalid hex","value",t),"0x00"===(t=tI(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function eI(t){return XS.from(tI(t))}function rI(t){const e=XS.from(t).toHexString();return"-"===e[0]?new KS("-"+e.substring(3),16):new KS(e.substring(2),16)}function iI(t,e,r){const i={fault:t,operation:e};return null!=r&&(i.value=r),JS.throwError(t,y.errors.NUMERIC_FAULT,i)}var nI=window&&window.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{h(i.next(t))}catch(t){o(t)}}function a(t){try{h(i.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((i=i.apply(t,e||[])).next())}))};const oI=new y("hash/5.6.1"),sI=new Uint8Array(32);sI.fill(0);const aI=XS.from(-1),hI=XS.from(0),uI=XS.from(1),lI=XS.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const cI=O(uI.toHexString(),32),fI=O(hI.toHexString(),32),dI={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},mI=["name","version","chainId","verifyingContract","salt"];function pI(t){return function(e){return"string"!=typeof e&&oI.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const gI={name:pI("name"),version:pI("version"),chainId:function(t){try{return XS.from(t).toString()}catch(t){}return oI.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return Ce(t).toLowerCase()}catch(t){}return oI.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=A(t);if(32!==e.length)throw new Error("bad length");return I(e)}catch(t){}return oI.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function yI(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const r=""===e[1],i=parseInt(e[2]||"256");(i%8!=0||i>256||e[2]&&e[2]!==String(i))&&oI.throwArgumentError("invalid numeric width","type",t);const n=lI.mask(r?i-1:i),o=r?n.add(uI).mul(aI):hI;return function(e){const r=XS.from(e);return(r.lt(o)||r.gt(n))&&oI.throwArgumentError(`value out-of-bounds for ${t}`,"value",e),O(r.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const r=parseInt(e[1]);return(0===r||r>32||e[1]!==String(r))&&oI.throwArgumentError("invalid bytes width","type",t),function(e){return A(e).length!==r&&oI.throwArgumentError(`invalid length for ${t}`,"value",e),function(t){const e=A(t),r=e.length%32;return r?C([e,sI.slice(r)]):I(e)}(e)}}}switch(t){case"address":return function(t){return O(Ce(t),32)};case"bool":return function(t){return t?cI:fI};case"bytes":return function(t){return we(t)};case"string":return function(t){return ZS(t)}}return null}function vI(t,e){return`${t}(${e.map((({name:t,type:e})=>e+" "+t)).join(",")})`}class wI{constructor(t){Nr(this,"types",Object.freeze(Or(t))),Nr(this,"_encoderCache",{}),Nr(this,"_types",{});const e={},r={},i={};Object.keys(t).forEach((t=>{e[t]={},r[t]=[],i[t]={}}));for(const i in t){const n={};t[i].forEach((o=>{n[o.name]&&oI.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(i)}`,"types",t),n[o.name]=!0;const s=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===i&&oI.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",t);yI(s)||(r[s]||oI.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",t),r[s].push(i),e[i][s]=!0)}))}const n=Object.keys(r).filter((t=>0===r[t].length));0===n.length?oI.throwArgumentError("missing primary type","types",t):n.length>1&&oI.throwArgumentError(`ambiguous primary types or unused types: ${n.map((t=>JSON.stringify(t))).join(", ")}`,"types",t),Nr(this,"primaryType",n[0]),function n(o,s){s[o]&&oI.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",t),s[o]=!0,Object.keys(e[o]).forEach((t=>{r[t]&&(n(t,s),Object.keys(s).forEach((e=>{i[e][t]=!0})))})),delete s[o]}(this.primaryType,{});for(const e in i){const r=Object.keys(i[e]);r.sort(),this._types[e]=vI(e,t[e])+r.map((e=>vI(e,t[e]))).join("")}}getEncoder(t){let e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}_getEncoder(t){{const e=yI(t);if(e)return e}const e=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){const t=e[1],r=this.getEncoder(t),i=parseInt(e[3]);return e=>{i>=0&&e.length!==i&&oI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);let n=e.map(r);return this._types[t]&&(n=n.map(we)),we(C(n))}}const r=this.types[t];if(r){const e=ZS(this._types[t]);return t=>{const i=r.map((({name:e,type:r})=>{const i=this.getEncoder(r)(t[e]);return this._types[r]?we(i):i}));return i.unshift(e),C(i)}}return oI.throwArgumentError(`unknown type: ${t}`,"type",t)}encodeType(t){const e=this._types[t];return e||oI.throwArgumentError(`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return we(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,r){if(yI(t))return r(t,e);const i=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){const t=i[1],n=parseInt(i[3]);return n>=0&&e.length!==n&&oI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((e=>this._visit(t,e,r)))}const n=this.types[t];return n?n.reduce(((t,{name:i,type:n})=>(t[i]=this._visit(n,e[i],r),t)),{}):oI.throwArgumentError(`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new wI(t)}static getPrimaryType(t){return wI.from(t).primaryType}static hashStruct(t,e,r){return wI.from(e).hashStruct(t,r)}static hashDomain(t){const e=[];for(const r in t){const i=dI[r];i||oI.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:i})}return e.sort(((t,e)=>mI.indexOf(t.name)-mI.indexOf(e.name))),wI.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return C(["0x1901",wI.hashDomain(t),wI.from(e).hash(r)])}static hash(t,e,r){return we(wI.encode(t,e,r))}static resolveNames(t,e,r,i){return nI(this,void 0,void 0,(function*(){t=Rr(t);const n={};t.verifyingContract&&!N(t.verifyingContract,20)&&(n[t.verifyingContract]="0x");const o=wI.from(e);o.visit(r,((t,e)=>("address"!==t||N(e,20)||(n[e]="0x"),e)));for(const t in n)n[t]=yield i(t);return t.verifyingContract&&n[t.verifyingContract]&&(t.verifyingContract=n[t.verifyingContract]),r=o.visit(r,((t,e)=>"address"===t&&n[e]?n[e]:e)),{domain:t,value:r}}))}static getPayload(t,e,r){wI.hashDomain(t);const i={},n=[];mI.forEach((e=>{const r=t[e];null!=r&&(i[e]=gI[e](r),n.push({name:e,type:dI[e]}))}));const o=wI.from(e),s=Rr(e);return s.EIP712Domain?oI.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",e):s.EIP712Domain=n,o.encode(r),{types:s,domain:i,primaryType:o.primaryType,message:o.visit(r,((t,e)=>{if(t.match(/^bytes(\d*)/))return I(A(e));if(t.match(/^u?int/))return XS.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&oI.throwArgumentError("invalid string","value",e),e}return oI.throwArgumentError("unsupported type","type",t)}))}}}window&&window.__awaiter;new y("wallet/5.6.2");function bI(t,e,r,i){return La(wI.hash(t,e,r),i)}function MI(t,e){return t.toLowerCase()===e.toLowerCase()}function _I(t){const{domain:e,types:r,message:i}=t;return jl.hash(e,r,i)}function EI(t,r,i,n){return e(this,void 0,void 0,(function*(){let e;try{e=yield iR(n,["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]])}catch(t){if(t.message.startsWith("missing revert data in call exception"))return!1;throw t}return MI(e,"0x1626ba7e")}))}function AI(t,r,i,n){return e(this,void 0,void 0,(function*(){return MI(yield iR(n,["function isValidSignature(bytes _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]]),"0x20c13b0b")}))}var kI=Object.freeze({__proto__:null,getHash:_I,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){const{domain:o,types:s,message:a}=r;try{if(MI(t,bI(o,s,a,e)))return!0}catch(t){}const h=_g(i,n),u=_I(r);return!!(yield EI(t,e,u,h))||(yield AI(t,e,u,h))}))}});var xI=["snapshot.4everland.link","ipfs.io","ipfs.fleek.co","gateway.pinata.cloud","dweb.link","ipfs.infura.io"],NI={1:{key:"1",name:"Ethereum",chainId:1,network:"homestead",multicall:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",ensResolvers:["0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63","0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41"],ensNameWrapper:"0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/5XqPmWe6gjyrJtFn9cLy237i4cWw2j9HcUJEXsP5qGtH",rpc:["https://rpc.ankr.com/eth",{url:"https://api-geth-archive.ankr.com",user:"balancer_user",password:"balancerAnkr20201015"},"https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/eth/mainnet/archive","https://apis.ankr.com/e62bc219f9c9462b8749defe472d2dc5/6106d4a3ec1d1bcc87ec72158f8fd089/eth/archive/main","https://eth-archival.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://eth-mainnet.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],light:["https://cloudflare-eth.com"],ws:["wss://eth-mainnet.ws.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],explorer:{url:"https://etherscan.io",apiUrl:"https://api.etherscan.io"},start:7929876,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},8:{key:"8",name:"Ubiq",chainId:8,network:"Ubiq",multicall:"0x6668750957e4083725926B71C41bDF1434C73262",rpc:["https://rpc.octano.dev"],ws:["wss://ws.octano.dev"],explorer:{url:"https://ubiqscan.io"},start:1,logo:"ipfs://Qmec3HLoN4QhwZAhw4XTi2aN8Wwmcko5hHN22sHARzb9tw"},10:{key:"10",name:"Optimism",chainId:10,network:"Optimism mainnet",multicall:"0x35A6Cdb2C9AD4a45112df4a04147EB07dFA01aB7",rpc:["https://opt-mainnet.g.alchemy.com/v2/JzmIL4Q3jBj7it2duxLFeuCa9Wobmm7D"],explorer:{url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io"},start:657806,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb"},19:{key:"19",name:"Songbird Canary-Network",shortName:"Songbird",chainId:19,network:"songbird",multicall:"0x17032Ea9c3a13Ed337665145364c0d2aD1108c91",rpc:["https://songbird-api.flare.network/ext/C/rpc"],explorer:{url:"https://songbird-explorer.flare.network"},start:21807126,logo:"ipfs://QmXyvnrZY8FUxSULfnKKA99sAEkjAHtvhRx5WeHixgaEdu"},24:{key:"24",name:"KardiaChain Mainnet",shortName:"KAI",chainId:24,network:"mainnet",multicall:"0xd9c92F2287B7802A37eC9BEce96Aa65fb5f31E1b",rpc:["https://kai-internal.kardiachain.io"],explorer:{url:"https://explorer.kardiachain.io"},start:8260245,logo:"ipfs://bafkreig73yfyqzbxydv6e3dbj5nks3f57px2iez7tywayey4rilfhhrr34"},25:{key:"25",name:"Cronos",shortName:"Cronos",chainId:25,network:"mainnet",multicall:"0x6F522a3982e8F9A50A2EDc9E46ed1A3aE2B3FD3a",rpc:["https://evm-cronos.crypto.org"],explorer:{url:"https://cronos.crypto.org/explorer"},start:4067,logo:"ipfs://QmfSJbtirJoa3Pt7o5Fdm85wbyw9V1hpzqLr5PQbdnfsAj"},30:{key:"30",name:"RSK",chainId:30,network:"rsk mainnet",multicall:"0x4eeebb5580769ba6d26bfd07be636300076d1831",rpc:["https://public-node.rsk.co"],explorer:{url:"https://explorer.rsk.co"},start:2516442,logo:"ipfs://QmXTwpE1SqoNZmyY4c3fYWy6qUgQELsyWKbgJo2Pg6K6V9"},46:{key:"46",name:"Darwinia Network",shortName:"Darwinia",chainId:46,network:"mainnet",multicall:"0x67f9ae42EaA9a8aBf065D60ec6Ab3C1A11370607",rpc:["https://rpc.darwinia.network"],explorer:{url:"https://darwinia.subscan.io"},start:141853,logo:"ipfs://bafkreicf55maidhx46pyu3mwsshlr43xbewr6tkckkonh4nesbkp7krwkm"},56:{key:"56",name:"BNB Smart Chain",shortName:"BSC",chainId:56,network:"mainnet",multicall:"0x1ee38d535d541c55c9dae27b12edf090c608e6fb",rpc:["https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/bsc/mainnet/archive","https://rpc.ankr.com/bsc","https://bsc.getblock.io/mainnet/?api_key=91f8195f-bf46-488f-846a-73d6853790e7","https://bsc-private-dataseed1.nariox.org","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed1.binance.org"],explorer:{url:"https://bscscan.com"},start:461230,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},61:{key:"61",name:"Ethereum Classic",shortName:"Ethereum Classic",chainId:61,network:"mainnet",multicall:"0x51be3a92C56ae7E207C5b5Fd87F7798Ce82C1AC2",rpc:["https://www.ethercluster.com/etc"],explorer:{url:"https://blockscout.com/etc/mainnet"},start:13307544,logo:"ipfs://QmVegc28DvA7LjKUFysab81c9BSuN4wQVDQkRXyAtuEBis"},66:{key:"66",name:"OKExChain",shortName:"OEC Mainnet",chainId:66,network:"oec mainnet",multicall:"0x6EB187d8197Ac265c945b69f3c3064A6f3831866",rpc:["https://exchainrpc.okex.org"],ws:["wss://exchainws.okex.org:8443"],explorer:{url:"https://www.oklink.com/okexchain"},start:5076543,logo:"ipfs://Qmd7dKnNwHRZ4HRCbCXUbkNV7gP28fGqPdjbHtjRtT9sQF"},75:{key:"75",name:"Decimal",shortName:"mainnet",chainId:75,network:"mainnet",multicall:"0x949d1A0757803C51F2EfFFEb5472C861A898B8E8",rpc:[],explorer:{url:"https://explorer.decimalchain.com"},start:16031065,logo:"ipfs://bafkreihkdhbce5rkogl63xegaarlirjrvbfarxbtbf5mqme3s5grvbjyxm"},81:{key:"81",name:"Shibuya Network",shortName:"Shibuya",chainId:81,network:"testnet",testnet:!0,multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shibuya.astar.network:8545"],explorer:{url:"https://blockscout.com/shibuya"},start:856303,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},82:{key:"82",name:"Meter",shortName:"Meter",chainId:82,network:"mainnet",multicall:"0x579De77CAEd0614e3b158cb738fcD5131B9719Ae",rpc:["https://rpc.meter.io"],explorer:{url:"https://scan.meter.io"},start:4992871,logo:"ipfs://QmSZvT9w9eUDvV1YVaq3BKKEbubtNVqu1Rin44FuN4wz11"},97:{key:"97",name:"BNB Smart Chain Testnet",shortName:"BSC Testnet",chainId:97,network:"testnet",testnet:!0,multicall:"0x8b54247c6BAe96A6ccAFa468ebae96c4D7445e46",rpc:["https://data-seed-prebsc-1-s1.binance.org:8545","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/bsc/testnet/archive"],explorer:{url:"https://testnet.bscscan.com"},start:3599656,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},100:{key:"100",name:"Gnosis Chain",shortName:"xDAI",chainId:100,network:"mainnet",multicall:"0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a",rpc:["https://gno.getblock.io/mainnet/6c1d1e6e-75d9-452f-a863-a694bff93d5c/","https://xdai-archive.blockscout.com","https://poa-xdai.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://rpc.gnosischain.com"],light:["https://rpc.gnosischain.com"],ws:["wss://rpc.xdaichain.com/wss"],explorer:{url:"https://gnosis.blockscout.com"},start:4108192,logo:"ipfs://QmZeiy8Ax4133wzxUQM9ky8z5XFVf6YLFjJMmTWbWVniZR"},108:{key:"108",name:"Thundercore",chainId:108,network:"mainnet",multicall:"0x3017086deef56679e267f67f66c4415109b7a97f",rpc:["https://mainnet-rpc.thundercore.com/archived/SNAPSHOTEuR82a75fLYA"],explorer:{url:"https://viewblock.io/thundercore"},start:94425385,logo:"ipfs://bafkreifc5z5vtvqx2luzgateyvoocwpd2ifv2hwufxdnyl2a767wa6icli"},122:{key:"122",name:"Fuse",shortName:"Fuse",chainId:122,network:"mainnet",multicall:"0x7a59441fb06666F6d2D766393d876945D06a169c",rpc:["https://explorer-node.fuse.io/","https://oefusefull1.liquify.info/"],explorer:{url:"https://explorer.fuse.io"},start:11923459,logo:"ipfs://QmXjWb64nako7voaVEifgdjAbDbswpTY8bghsiHpv8yWtb"},137:{key:"137",name:"Polygon PoS",shortName:"Polygon",chainId:137,network:"mainnet",multicall:"0xCBca837161be50EfA5925bB9Cc77406468e76751",rpc:["https://rpc.ankr.com/polygon","https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/polygon/mainnet/archive","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/polygon/mainnet/archive","https://rpc-mainnet.maticvigil.com/v1/1cfd7598e5ba6dcf0b4db58e8be484badc6ea08e"],ws:["wss://ws-mainnet.matic.network"],explorer:{url:"https://polygonscan.com",apiUrl:"https://api.polygonscan.com"},start:9834491,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},144:{key:"144",name:"PHI Network",shortName:"PHI",chainId:144,network:"mainnet",multicall:"0xc2f41B404a6757863AAeF49ff93039421acCd630",rpc:["https://connect.phi.network"],explorer:{url:"https://phiscan.com"},start:360030,logo:"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a"},148:{key:"148",name:"ShimmerEVM",shortName:"ShimmerEVM",chainId:148,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.evm.shimmer.network/"},start:1290,logo:"ipfs://bafkreib4xhbgbhrwkmizp4d4nz3wzbpyhdm6wpz2v2pbkk7jxsgg3hdt74"},169:{key:"169",name:"Manta Pacific",shortName:"Manta",chainId:169,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://www.oklink.com/manta"},start:332890,logo:"ipfs://bafkreibbrwgwdcfh755dqh4ndta6tja77qbaa36bfv4pstub6prhhore7a"},204:{key:"204",name:"opBNB",shortName:"mainnet",chainId:204,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"http://opbnbscan.com/"},start:512881,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},246:{key:"246",name:"Energy Web Chain",shortName:"EWC",chainId:246,network:"mainnet",multicall:"0x0767F26d0D568aB61A98b279C0b28a4164A6f05e",rpc:["https://voting-rpc.carbonswap.exchange"],explorer:{url:"https://explorer.energyweb.org"},start:12086501,logo:"ipfs://Qmai7AGHgs8NpeGeXgbMZz7pS2i4kw44qubCJYGrZW2f3a"},250:{key:"250",name:"Fantom Opera",shortName:"fantom",chainId:250,network:"Mainnet",multicall:"0x7f6A10218264a22B4309F3896745687E712962a0",rpc:["https://rpc.ankr.com/fantom","https://rpc.ftm.tools","https://rpcapi.fantom.network"],explorer:{url:"https://ftmscan.com"},start:2497732,logo:"ipfs://QmVEgNeQDKnXygeGxfY9FywZpNGQu98ktZtRJ9bToYF6g7"},252:{key:"252",name:"Fraxtal",shortName:"mainnet",chainId:252,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://fraxscan.com"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu"},269:{key:"269",name:"High Performance Blockchain",shortName:"HPB",chainId:269,network:"mainnet",multicall:"0x67D0f263aef2F6167FA77353695D75b582Ff4Bca",rpc:["https://hpbnode.com"],ws:["wss://ws.hpbnode.com"],explorer:{url:"https://hscan.org"},start:13960096,logo:"ipfs://QmU7f1MyRz8rLELFfypnWZQjGbDGYgZtC9rjw47jYMYrnu"},300:{key:"300",name:"zkSync Sepolia Testnet",shortName:"testnet",chainId:300,network:"testnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:[],explorer:{url:"https://sepolia.explorer.zksync.dev/"},start:2292,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy",testnet:!0},314:{key:"314",name:"Filecoin",shortName:"mainnet",chainId:314,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://filfox.io"},start:3328594,logo:"ipfs://bafybeibyvjfmk6aqlfdrczvth55jkmnoadtrch7ht3rdmvqmy2bfxynecm"},321:{key:"321",name:"KCC",shortName:"KCC",chainId:321,network:"mainnet",multicall:"0xa64D6AFb48225BDA3259246cfb418c0b91de6D7a",rpc:["https://rpc-mainnet.kcc.network"],ws:["wss://rpc-ws-mainnet.kcc.network"],explorer:{url:"https://explorer.kcc.io"},start:1487453,logo:"ipfs://QmRdzYGhFRG8QLzMJahHrw3vETE2YZ9sywQbEkenSjKEvb"},324:{key:"324",name:"zkSync Era",shortName:"zkSync-era",chainId:324,network:"zkSync Era Mainnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:["https://mainnet.era.zksync.io"],explorer:{url:"https://explorer.zksync.io/"},start:3908235,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy"},336:{key:"336",name:"Shiden Network",shortName:"Shiden",chainId:336,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shiden.astar.network:8545","https://shiden.api.onfinality.io/public"],explorer:{url:"https://blockscout.com/shiden"},start:1170016,logo:"ipfs://QmcqGQE4Sk73zXc3e91TUFFefKBVeaNgbxV141XkSNE4xj"},369:{key:"369",name:"Pulsechain",shortName:"Pulsechain",chainId:369,network:"mainnet",multicall:"0xdbdd0FD8B16F0092f306392b699D7fbddaA9011B",rpc:["https://rpc.pulsechain.com"],explorer:{url:"https://scan.pulsechain.com/"},start:17657774,logo:"ipfs://QmWUsiEWdejtHZ9B9981TYXn7Ds8C7fkB1S4h5rP3kCCZR"},416:{key:"416",name:"SX Network",shortName:"SX",chainId:416,network:"mainnet",multicall:"0x834a005DDCF990Ba1a79f259e840e58F2D14F49a",rpc:["https://rpc.sx.technology"],ws:["wss://rpc.sx.technology/ws"],explorer:{url:"https://explorer.sx.technology"},start:2680605,logo:"ipfs://QmSXLXqyr2H6Ja5XrmznXbWTEvF2gFaL8RXNXgyLmDHjAF"},592:{key:"592",name:"Astar Network",shortName:"Astar",chainId:592,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://astar.api.onfinality.io/public","https://rpc.astar.network:8545"],explorer:{url:"https://blockscout.com/astar"},start:366482,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},813:{key:"813",name:"Qitmeer",shortName:"MEER",chainId:813,network:"mainnet",multicall:"0x55034b2cF530ae3A8fC1e2e4523F58496796610F",rpc:["https://evm-dataseed1.meerscan.io","https://evm-dataseed.meerscan.com","https://evm-dataseed2.meerscan.io","https://evm-dataseed3.meerscan.io"],explorer:{url:"https://evm.meerscan.io"},start:43317,logo:"ipfs://QmXvum7SNVaAqAc2jNzR1NpNZN1GGvNaKWydg8a1GEDQ7y"},841:{key:"841",name:"Taraxa",shortName:"841",chainId:841,network:"mainnet",multicall:"0xFCe7a3121B42664AaD145712e1c2Bf2e38f60AA1",rpc:["https://rpc.mainnet.taraxa.io"],ws:["wss://ws.mainnet.taraxa.io"],explorer:{url:"https://mainnet.explorer.taraxa.io"},start:1515906,logo:"ipfs://Qmcc6ZCAGESMzZzoj5LsTVcCo2E35x3Ydk71uPJyov6Mwx"},888:{key:"888",name:"Wanchain",chainId:888,network:"mainnet",multicall:"0xba5934ab3056fca1fa458d30fbb3810c3eb5145f",rpc:["https://gwan-ssl.wandevs.org:56891"],ws:["wss://api.wanchain.org:8443/ws/v3/ddd16770c68f30350a21114802d5418eafe039b722de52b488e7eee1ee2cd73f"],explorer:{url:"https://www.wanscan.org"},start:11302663,logo:"ipfs://QmewFFN44rkxESFsHG8edaLt1znr62hjvZhGynfXqruzX3"},1001:{key:"1001",name:"Klaytn Baobab Testnet",shortName:"Boabab",chainId:1001,network:"testnet",testnet:!0,multicall:"0x40643B8Aeaaca0b87Ea1A1E596e64a0e14B1d244",rpc:["https://archive-en.baobab.klaytn.net"],ws:["wss://archive-en.baobab.klaytn.net/ws"],explorer:{url:"https://baobab.scope.klaytn.com"},start:87232478,logo:"ipfs://QmYACyZcidcFtMo4Uf9H6ZKUxTP2TQPjGzNjcUjqYa64dt"},1072:{key:"1072",name:"Shimmer EVM Testnet",shortName:"ShimmerEVM",chainId:1072,network:"testnet",testnet:!0,multicall:"0x751d21047C116413895c259f3f305e38C10B7cF6",rpc:["https://archive.evm.testnet.shimmer.network/v1/chains/rms1pr75wa5xuepg2hew44vnr28wz5h6n6x99zptk2g68sp2wuu2karywgrztx3/evm"],explorer:{url:"https://explorer.evm.testnet.shimmer.network/"},start:10614,logo:"ipfs://bafkreihtwfwrue7klzedwx4rqlk6agklz4lbbk7owsyw6xzn6c2m4t5tgy"},1088:{key:"1088",name:"Metis",shortName:"metis",chainId:1088,network:"mainnet",multicall:"0xc39aBB6c4451089dE48Cffb013c39d3110530e5C",rpc:["https://andromeda.metis.io/?owner=1088"],explorer:{url:"https://andromeda-explorer.metis.io"},start:451,logo:"ipfs://bafkreiaqr4atnjpdnk3c4vu4377ai7bzqpgaefefbl5j5imfsvr4puimtu"},1101:{key:"1101",name:"Polygon zkEVM",shortName:"mainnet",chainId:1101,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://zkevm.polygonscan.com"},start:57746,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm"},1116:{key:"1116",name:"Core Chain",shortName:"Core",chainId:1116,network:"mainnet",multicall:"0x024f0041b76B598c2A0a75004F8447FaF67BD004",rpc:["https://rpcar.coredao.org/"],explorer:{url:"https://scan.coredao.org"},start:853908,logo:"ipfs://bafkreigjv5yb7uhlrryzib7j2f73nnwqan2tmfnwjdu26vkk365fyesoiu"},1284:{key:"1284",name:"Moonbeam",shortName:"GLMR",chainId:1284,network:"mainnet",multicall:"0x83e3b61886770de2F64AAcaD2724ED4f08F7f36B",rpc:["https://rpc.api.moonbeam.network"],explorer:{url:"https://moonscan.io/"},start:171135,logo:"ipfs://QmWKTEK2pj5sBBbHnMHQbWgw6euVdBrk2Ligpi2chrWASk"},1285:{key:"1285",name:"Moonriver (Kusama)",shortName:"Moonriver",chainId:1285,network:"mainnet",multicall:"0x537004440ffFE1D4AE9F009031Fc2b0385FCA9F1",rpc:["https://rpc.api.moonriver.moonbeam.network"],explorer:{url:"https://blockscout.moonriver.moonbeam.network"},start:413539,logo:"ipfs://QmXtgPesL87Ejhq2Y7yxsaPYpf4RcnoTYPJWPcv6iiYhoi"},1287:{key:"1287",name:"Moonbase Alpha TestNet",shortName:"Moonbase",chainId:1287,network:"testnet",testnet:!0,multicall:"0xf09FD6B6FF3f41614b9d6be2166A0D07045A3A97",rpc:["https://rpc.testnet.moonbeam.network"],explorer:{url:"https://moonbase-blockscout.testnet.moonbeam.network"},start:859041,logo:"ipfs://QmeGbNTU2Jqwg8qLTMGW8n8HSi2VdgCncAaeGzLx6gYnD7"},1328:{key:"1328",name:"Sei atlantic testnet",shortName:"testnet",chainId:1328,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://seitrace.com"},start:96978658,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},1329:{key:"1329",name:"Sei",shortName:"mainnet",chainId:1329,network:"mainnet",multicall:"0xe033Bed7cae4114Af84Be1e9F1CA7DEa07Dfe1Cf",rpc:[],explorer:{url:"https://seitrace.com/"},start:79164574,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq"},1559:{key:"1559",name:"Tenet",shortName:"tenet",chainId:1559,network:"mainnet",multicall:"0xcCB3F00bE353950E4C08501ac8Af48765EAAa738",rpc:[],explorer:{url:"https://tenetscan.io"},start:944415,logo:"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA"},1663:{key:"1663",name:"Horizen Gobi Testnet",shortName:"Gobi",chainId:1663,network:"testnet",testnet:!0,multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:["https://gobi-testnet.horizenlabs.io/ethv1"],explorer:{url:"https://gobi-explorer.horizen.io"},start:1,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},2e3:{key:"2000",name:"Doge Chain",shortName:"dogechain",chainId:2e3,network:"mainnet",multicall:"0x6f9D3f3932B417bd4957585D236Cbc32b32C0BDc",rpc:["https://rpc.dogechain.dog"],explorer:{url:"https://explorer.dogechain.dog"},start:877115,logo:"ipfs://bafkreigovfh3pinsdih777issfgaflwu2yjzroljs2642gbvwikcd3nm4i"},2109:{key:"2109",name:"Exosama Network",shortName:"EXN",chainId:2109,network:"mainnet",multicall:"0x2feFC828e2fEfdE0C9f7740919c6A9139F886067",rpc:["https://rpc.exosama.com"],explorer:{url:"https://explorer.exosama.com"},start:94085,logo:"ipfs://QmaQxfwpXYTomUd24PMx5tKjosupXcm99z1jL1XLq9LWBS"},2152:{key:"2152",name:"Findora",shortName:"Findora",chainId:2152,network:"mainnet",multicall:"0xCF7D1e21CBe9bdEF235aef06C5d8051B3d4DF0f5",rpc:["https://archive.prod.findora.org:8545/"],explorer:{url:"https://evm.findorascan.io"},start:4219343,logo:"ipfs://QmXkneyRB6HbHTHRLCZpZqSsawiyJY7b2kZ2V8ydvKYAgv"},2221:{key:"2221",name:"Kava Testnet",shortName:"testnet",chainId:2221,network:"testnet",multicall:"0xc7193EFE367DF0C9349a1149F4E95A2A35604262",rpc:[],explorer:{url:"https://testnet.kavascan.com"},start:6193104,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4",testnet:!0},2222:{key:"2222",name:"Kava",shortName:"mainnet",chainId:2222,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://kavascan.com/"},start:3661165,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4"},2400:{key:"2400",name:"TCG Verse",shortName:"TCGV",chainId:2400,network:"mainnet",multicall:"0xceC65DEE0b5012F1b7321b2647681F997c7204FC",rpc:["https://rpc.tcgverse.xyz"],explorer:{url:"https://explorer.tcgverse.xyz"},start:57500,logo:"ipfs://bafkreidg4wpewve5mdxrofneqblydkrjl3oevtgpdf3fk3z3vjqam6ocoe"},2522:{key:"2522",name:"Fraxtal Testnet",shortName:"testnet",chainId:2522,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://holesky.fraxscan.com/"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu",testnet:!0},4200:{key:"4200",name:"Merlin",shortName:"merlin",chainId:4200,network:"mainnet",multicall:"0x830E7E548F4D80947a40A7Cf3a2a53166a0C3980",rpc:[],explorer:{url:"https://scan.merlinchain.io"},start:589494,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe"},4337:{key:"4337",name:"Beam",shortName:"Beam",chainId:4337,network:"mainnet",multicall:"0x4956F15eFdc3dC16645e90Cc356eAFA65fFC65Ec",rpc:[],explorer:{url:"https://subnets.avax.network/beam/"},start:1,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF"},4689:{key:"4689",name:"IoTeX",shortName:"IoTeX",chainId:4689,network:"mainnet",multicall:"0x9c8B105c94282CDB0F3ecF27e3cfA96A35c07be6",rpc:["https://babel-api.mainnet.iotex.io"],explorer:{url:"https://iotexscan.io"},start:11533283,logo:"ipfs://QmNkr1UPcBYbvLp7d7Pk4eF3YCsHpaNkfusKZNtykL2EQC"},5e3:{key:"5000",name:"Mantle",chainId:5e3,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.mantle.xyz"],explorer:{url:"https://explorer.mantle.xyz"},start:304717,logo:"ipfs://bafkreidkucwfn4mzo2gtydrt2wogk3je5xpugom67vhi4h4comaxxjzoz4"},5555:{key:"5555",name:"Chain Verse",shortName:"ChainVerse",chainId:5555,network:"ChainVerse",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.chainverse.info"],explorer:{url:"https://explorer.chainverse.info"},start:6334180,logo:"ipfs://QmQyJt28h4wN3QHPXUQJQYQqGiFUD77han3zibZPzHbitk"},6102:{key:"6102",name:"Cascadia Testnet",shortName:"Cascadia",chainId:6102,network:"testnet",multicall:"0x728989819bAD588F193563008E0a03E8cD6a3e4a",rpc:["https://testnet.cascadia.foundation"],explorer:{url:"https://explorer.cascadia.foundation"},testnet:!0,start:370457,logo:"ipfs://QmWkhZYhReYyaa5pQXj32hEGxoRcBqarFMcfQScELmjYQj"},7332:{key:"7332",name:"Horizen EON",shortName:"EON",chainId:7332,network:"mainnet",multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:[],explorer:{url:"https://eon-explorer.horizenlabs.io"},start:85108,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},7341:{key:"7341",name:"Shyft",shortName:"Shyft",chainId:7341,network:"mainnet",multicall:"0xceb10e9133D771cA93c8002Be527A465E85381a2",rpc:["https://rpc.shyft.network"],explorer:{url:"https://bx.shyft.network"},start:3673983,logo:"ipfs://bafkreifwxnnfk6koabzmxgcxcwlrwt6b5gijdain2gyqee77q4ajfb7fu4"},7560:{key:"7560",name:"Cyber",shortName:"mainnet",chainId:7560,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://cyberscan.co"},start:1731707,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm"},8217:{key:"8217",name:"Klaytn Cypress",shortName:"Cypress",chainId:8217,network:"mainnet",multicall:"0x5f5f0d1b9ff8b3dcace308e39b13b203354906e9",rpc:["https://archive-en.cypress.klaytn.net"],ws:["wss://archive-en.cypress.klaytn.net/ws"],explorer:{url:"https://scope.klaytn.com"},start:91582357,logo:"ipfs://QmYACyZcidcFtMo4Uf9H6ZKUxTP2TQPjGzNjcUjqYa64dt"},8453:{key:"8453",name:"Base",shortName:"mainnet",chainId:8453,network:"mainnet",multicall:"0xca11bde05977b3631167028862be2a173976ca11",rpc:[],explorer:{url:"https://basescan.org/"},start:5022,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv"},9001:{key:"9001",name:"Evmos Network",shortName:"Evmos",chainId:9001,network:"mainnet",multicall:"0x37763d16f8dBf6F185368E0f256350cAb7E24b26",rpc:["https://eth.bd.evmos.org:8545"],ws:["wss://eth.bd.evmos.org:8546"],explorer:{url:"https://escan.live"},start:13959539,logo:"ipfs://bafkreif4obrdoiretpozdd56seziywc6clha7wwkbldng3ovry2bpzly34"},1e4:{key:"10000",name:"smartBCH",shortName:"BCH",chainId:1e4,network:"mainnet",multicall:"0x1b38EBAd553f218e2962Cb1C0539Abb5d6A37774",rpc:["https://smartbch.greyh.at/"],explorer:{url:"https://smartbch-explorer.web.app"},start:268248,logo:"ipfs://QmWG1p7om4hZ4Yi4uQvDpxg4si7qVYhtppGbcDGrhVFvMd"},10243:{key:"10243",name:"Arthera Testnet",shortName:"Arthera_",chainId:10243,network:"testnet",testnet:!0,multicall:"0x27c7FC597aD2E81C4c1cA1769972f79DaF042Da7",rpc:["https://rpc-test.arthera.net"],explorer:{url:"https://explorer-test.arthera.net"},start:10523,logo:"ipfs://QmYQp3e52KjkT4bYdAvB6ACEEpXs2D8DozsDitaADRY2Ak"},13337:{key:"13337",name:"Beam Testnet",shortName:"testnet",chainId:13337,network:"testnet",multicall:"0x9BF49b704EE2A095b95c1f2D4EB9010510c41C9E",rpc:[],explorer:{url:"https://subnets-test.avax.network/beam/"},start:3,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF",testnet:!0},13371:{key:"13371",name:"Immutable zkEVM",shortName:"mainnet",chainId:13371,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.immutable.com"},start:3680945,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi"},13473:{key:"13473",name:"Immutable zkEVM Testnet",shortName:"testnet",chainId:13473,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.testnet.immutable.com"},start:5307209,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi",testnet:!0},16718:{key:"16718",name:"AirDAO",chainId:16718,network:"mainnet",multicall:"0x25e81aC81A8B03389D78CB45faB78353aB528574",rpc:["https://network-archive.ambrosus.io"],ws:["wss://network-archive.ambrosus.io/ws"],explorer:{url:"https://airdao.io/explorer"},start:22922566,logo:"ipfs://QmSxXjvWng3Diz4YwXDV2VqSPgMyzLYBNfkjJcr7rzkxom"},29548:{key:"29548",name:"MCH Verse",shortName:"mainnet",chainId:29548,network:"mainnet",multicall:"0x1d39652386488CE1fE4254E105F5A42a04d43dB2",rpc:[],explorer:{url:"https://explorer.oasys.mycryptoheroes.net"},start:27458402,logo:"ipfs://QmZZnwR1y6cU1sare2TQmwqkNDLXQxD4GdPrmHLmUoPtbU"},33111:{key:"33111",name:"Curtis",shortName:"apechain",chainId:33111,network:"mainnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://explorer.curtis.apechain.com"},start:6661339,logo:"ipfs://bafkreicljxttjq2xkgfwwpii5xegirgq2ctrnsjnzelxudjj33qzq65apu"},42161:{key:"42161",name:"Arbitrum One",chainId:42161,network:"Arbitrum mainnet",multicall:"0x7A7443F8c577d537f1d8cD4a629d40a3148Dd7ee",rpc:["https://rpc.ankr.com/arbitrum","https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/arbitrum/mainnet","https://arb-mainnet.g.alchemy.com/v2/JDvtNGwnHhTltIwfnxQocKwKkCTKA1DL"],explorer:{url:"https://arbiscan.io"},start:256508,logo:"ipfs://QmWZ5SMRfvcK8tycsDqojQaSiKedgtVkS7CkZdxPgeCVsZ"},42170:{key:"42170",name:"Arbitrum Nova",chainId:42170,network:"Arbitrum Nova",multicall:"0x4E74EBd9CABff51cE9a43EFe059bA8c5A28E4A14",rpc:["https://nova.arbitrum.io/rpc","https://arbitrum-nova.public.blastapi.io"],explorer:{url:"https://nova.arbiscan.io/"},start:6006607,logo:"ipfs://bafkreie5xsqt3mrrwu7v32qpmmctibhzhgxf4emfzzddsdhdlfsa7fmplu"},42220:{key:"42220",name:"Celo",shortName:"Celo",chainId:42220,network:"mainnet",multicall:"0xb8d0d2C1391eeB350d2Cd39EfABBaaEC297368D9",rpc:["https://celo.snapshot.org","https://forno.celo.org","https://celo-mainnet--rpc.datahub.figment.io/apikey/e892a66dc36e4d2d98a5d6406d609796/"],explorer:{url:"https://explorer.celo.org"},start:6599803,logo:"ipfs://QmS2tVJ7rdJRe1NHXAi2L86yCbUwVVrmB2mHQeNdJxvQti"},43113:{key:"43113",name:"Avalanche FUJI Testnet",chainId:43113,network:"testnet",testnet:!0,multicall:"0x984476ea55e32e785A9D8FF14329f99D74E3d2A2",rpc:["https://api.avax-test.network/ext/bc/C/rpc"],explorer:{url:"https://testnet.snowtrace.io"},start:10528153,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},43114:{key:"43114",name:"Avalanche",chainId:43114,network:"mainnet",multicall:"0x7E9985aE4C8248fdB07607648406a48C76e9e7eD",rpc:["https://nd-784-543-849.p2pify.com/aa7b29fc5fed65b34f0ee6b8de33f8c0/ext/bc/C/rpc","https://rpc.ankr.com/avalanche","https://api.avax.network/ext/bc/C/rpc"],explorer:{url:"https://snowtrace.io"},start:536483,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},47805:{key:"47805",name:"REI Mainnet",chainId:47805,network:"mainnet",multicall:"0x9eE9904815B80C39C1a27294E69a8626EAa7952d",rpc:["https://rpc.rei.network"],explorer:{url:"https://scan.rei.network/"},start:1715902,logo:"ipfs://QmTogMDLmDgJjDjUKDHDuc2KVTVDbXf8bXJLFiVe8PRxgo"},53935:{key:"53935",name:"DFK Chain",chainId:53935,network:"mainnet",multicall:"0x5b24224dC16508DAD755756639E420817DD4c99E",rpc:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"],explorer:{url:"https://subnets.avax.network/defi-kingdoms/"},start:62,logo:"ipfs://QmZNkpVgPbuVbDcsi6arwH1om3456FGnwfDqYQJWUfHDEx"},59141:{key:"59141",name:"Linea Sepolia",shortName:"testnet",chainId:59141,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.lineascan.build/"},start:227427,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce",testnet:!0},59144:{key:"59144",name:"Linea",shortName:"linea",chainId:59144,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://lineascan.build/"},start:42,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce"},80001:{key:"80001",name:"Polygon Mumbai",chainId:80001,network:"testnet",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/polygon/mumbai/archive","https://rpc-mumbai.matic.today"],ws:["wss://ws-mumbai.matic.today"],explorer:{url:"https://mumbai.polygonscan.com",apiUrl:"https://api-mumbai.polygonscan.com"},start:12011090,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},81457:{key:"81457",name:"Blast",shortName:"mainnet",chainId:81457,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://blastscan.io"},start:88189,logo:"ipfs://bafkreicqhrimt2zyp2kvhmbpvffxlmxovkg5vw6zkissyzibcfy45kbvrm"},84532:{key:"84532",name:"Base Sepolia",shortName:"testnet",chainId:84532,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://base-sepolia.blockscout.com/"},start:1059647,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv",testnet:!0},686868:{key:"686868",name:"Merlin Testnet",shortName:"merlin",chainId:686868,network:"testnet",multicall:"0x758BC6321b7c68F4986d62a4D46E83A2DCb58c80",rpc:[],explorer:{url:"https://testnet-scan.merlinchain.io"},start:3562021,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe",testnet:!0},713715:{key:"713715",name:"Sei EVM Devnet",shortName:"devnet",chainId:713715,network:"testnet",multicall:"0xEe8d287B844959ADe40d718Dc23077ba920e2f07",rpc:[],explorer:{url:"https://seitrace.com"},start:1463669,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},810180:{key:"810180",name:"zkLink Nova",shortName:"zlink",chainId:810180,network:"mainnet",multicall:"0x825267E0fA5CAe92F98540828a54198dcB3Eaeb5",rpc:[],explorer:{url:"https://explorer.zklink.io"},start:146055,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74"},810181:{key:"810181",name:"zkLink Nova Sepolia",shortName:"testnet",chainId:810181,network:"testnet",multicall:"0x97148F8fDdd9A1620f72EC1Bb2932916623d9da5",rpc:[],explorer:{url:"https://sepolia.explorer.zklink.io/"},start:43723,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74",testnet:!0},11155111:{key:"11155111",name:"Sepolia testnet",shortName:"Sepolia",chainId:11155111,network:"sepolia",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://sepolia.infura.io/v3/d26b4fd748814fe994b05899fd89e667"],ensResolvers:["0x8FADE66B79cC9f707aB26799354482EB93a5B7dD"],ensNameWrapper:"0x0635513f179D50A207757E05759CbD106d7dFcE8",ensSubgraph:"https://api.studio.thegraph.com/proxy/49574/enssepolia/version/latest",explorer:{url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io"},start:751532,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},11155420:{key:"11155420",name:"OP Sepolia",shortName:"testnet",chainId:11155420,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia-optimism.etherscan.io"},start:1620204,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb",testnet:!0},111557560:{key:"111557560",name:"Cyber Testnet",shortName:"testnet",chainId:111557560,network:"testnet",multicall:"0xffc391F0018269d4758AEA1a144772E8FB99545E",rpc:[],explorer:{url:"https://testnet.cyberscan.co/"},start:304545,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm",testnet:!0},168587773:{key:"168587773",name:"Blast Sepolia",shortName:"testnet",chainId:168587773,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.blastexplorer.io"},start:756690,logo:"ipfs://bafkreibfmkjg22cozxppzcoxswj45clvh2rqhxzax57cmmgudbtkf4dkce",testnet:!0},245022926:{key:"245022926",name:"Neon Devnet",shortName:"devnet",chainId:245022926,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://devnet.neonscan.org/"},start:205206112,logo:"ipfs://QmecRPQGa4bU7tybg1sUQY48Md9rWnmhrT6WW5ueqvhg6P",testnet:!0},1313161554:{key:"1313161554",name:"Aurora",shortName:"Aurora",chainId:1313161554,network:"mainnet",multicall:"0x32b50c286DEFd2932a0247b8bb940b78c063F16c",rpc:["https://mainnet.aurora.dev"],explorer:{url:"https://explorer.mainnet.aurora.dev"},start:57190533,logo:"ipfs://QmeRhsR1UPRTQCizdhmgr2XxphXebVKU5di97uCV2UMFpa"},16666e5:{key:"1666600000",name:"Harmony",shortName:"HarmonyMainnet",chainId:16666e5,network:"mainnet",multicall:"0x9c31392D2e0229dC4Aa250F043d46B9E82074BF8",rpc:["https://a.api.s0.t.hmny.io"],ws:["wss://ws.s0.t.hmny.io"],explorer:{url:"https://explorer.harmony.one"},start:10911984,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"},16667e5:{key:"1666700000",name:"Harmony Testnet",shortName:"HarmonyTestnet",chainId:16667e5,network:"testnet",testnet:!0,multicall:"0x9923589503Fd205feE3d367DDFF2378f0F7dD2d4",rpc:["https://api.s0.b.hmny.io"],ws:["wss://ws.s0.b.hmny.io"],explorer:{url:"https://explorer.pops.one"},start:7521509,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"}};class SI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"number"==typeof t&&void 0!==(null==e?void 0:e[t-1])}getValidVotes(){return this.votes.filter((t=>SI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>{const r=this.getValidVotes().filter((t=>t.choice===e+1));return r.reduce(((t,e)=>t+e.balance),0)}))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>{const r=this.strategies.map(((t,r)=>{const i=this.getValidVotes().filter((t=>t.choice===e+1));return i.reduce(((t,e)=>t+e.scores[r]),0)}));return r}))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices[this.selected-1]}}class II{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size}getValidVotes(){return this.votes.filter((t=>II.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.balance),0)))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.scores[r]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected?this.proposal.choices.filter(((t,e)=>this.selected.includes(e+1))).join(", "):""}}function RI(t,e){const r=t/e.reduce(((t,e)=>t+e),0);return isNaN(r)?0:r}function TI(t,e){return Math.sqrt(t*e)}function CI(t){return t*t}function PI(t,e){return t.map((t=>e*t))}class OI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>OI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>{const i=t.map((t=>TI(RI(t.choice[r+1],Object.values(t.choice)),t.balance))).reduce(((t,e)=>t+e),0);return CI(i)}));return PI(r.map(((t,e)=>RI(r[e],r))),e)}getScoresByStrategy(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.map((t=>TI(RI(t.choice[r+1],Object.values(t.choice)),t.scores[i]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[CI(t)]))));return r.map(((t,i)=>PI(this.strategies.map(((t,e)=>RI(r[i][e][0],r.flat(2)))),e)))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1]){const r=RI(this.selected[e+1],Object.values(this.selected));return`${Math.round(1e3*r)/10}% for ${t}`}})).filter((t=>null!=t)).join(", ")}}function BI(t,e){const r=[...new Set(t.map((t=>t[0])).flat())],i=Object.entries(t.reduce(((t,[e],r,i)=>{const n=i[r][1];t[e[0]][0]+=n;const o=i[r][2];return o.length>1?t[e[0]][1]=o.map(((r,i)=>r+t[e[0]][1][i]||r)):t[e[0]][1]=[t[e[0]][1].concat(o).reduce(((t,e)=>t+e),0)],t}),Object.assign({},...r.map((t=>({[t]:[0,[]]})))))),n=i.map((t=>[t[0],t[1][0]])),[o,s]=n.reduce((([t,e],[r,i])=>i>e?[r,i]:[t,e]),["?",-1/0]),[a,h]=n.reduce((([t,e],[r,i])=>i<e?[r,i]:[t,e]),["?",1/0]),u=i.sort(((t,e)=>e[1][0]-t[1][0])),l=t.map((t=>t[1])).reduce(((t,e)=>t+e),0);return e.push({round:e.length+1,sortedByHighest:u}),s>l/2||u.length<3?e:BI(t.map((t=>[t[0].filter((t=>t!=a)),t[1],t[2]])).filter((t=>t[0].length>0)),e)}function $I(t){const e=BI(t.map((t=>[t.choice,t.balance,t.scores])),[]);return e[e.length-1].sortedByHighest}class UI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size&&t.length>0&&t.length===e.length}getValidVotes(){return this.votes.filter((t=>UI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return function(t,e){const r=$I(t);return e.choices.map(((t,e)=>r.filter((t=>Number(t[0])===e+1)).reduce(((t,e)=>t+e[1][0]),0)))}(this.getValidVotes(),this.proposal)}getScoresByStrategy(){const t=$I(this.getValidVotes());return this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.filter((t=>Number(t[0])===r+1)).reduce(((t,e)=>t+e[1][1][i]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected.map((t=>{if(this.proposal.choices[t-1])return this.proposal.choices[t-1]})).map(((t,e)=>`(${lR(e+1)}) ${t}`)).join(", ")}}function DI(t,e,r){const i=r.reduce(((t,e)=>t+e),0),n=e[t]/i*100;return isNaN(n)?0:n}function LI(t,e,r){return DI(t+1,e,Object.values(e))/100*r}class FI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>FI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.proposal.choices.map(((t,e)=>this.getValidVotes().map((t=>LI(e,t.choice,t.balance))).reduce(((t,e)=>t+e),0))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((e,r)=>DI(r,t,t))).map((t=>e/100*t))}getScoresByStrategy(){const t=this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().map((t=>LI(e,t.choice,t.scores[r]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[t])))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((r,i)=>this.strategies.map(((e,r)=>DI(0,t[i][r],t.flat(2)))).map((t=>[e/100*t])).flat()))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1])return`${Math.round(10*DI(e+1,this.selected,Object.values(this.selected)))/10}% for ${t}`})).filter((t=>null!=t)).join(", ")}}var jI={"single-choice":SI,approval:II,quadratic:OI,"ranked-choice":UI,weighted:FI,basic:SI};const zI={1:"https://subgrapher.snapshot.org/delegation/1",10:"https://subgrapher.snapshot.org/delegation/10",56:"https://subgrapher.snapshot.org/delegation/56",100:"https://subgrapher.snapshot.org/delegation/100",137:"https://subgrapher.snapshot.org/delegation/137",250:"https://subgrapher.snapshot.org/delegation/250",8453:"https://subgrapher.snapshot.org/delegation/8453",42161:"https://subgrapher.snapshot.org/delegation/42161",11155111:"https://subgrapher.snapshot.org/delegation/11155111"},qI=1e3;function HI(t){return t.length===qI&&t[0].timestamp===t[t.length-1].timestamp}function VI(t,e){const r=function(t){return`${t.delegator}-${t.delegate}-${t.space}`}(e);t.has(r)||t.set(r,e)}function ZI(t){const e=["",t];return t.includes(".eth")&&e.push(t.replace(".eth","")),e}function GI(t){return e(this,arguments,void 0,(function*({url:t,spaces:e,pivot:r,snapshot:i}){const n={delegations:{__args:{where:{timestamp_gte:r},first:qI,skip:0,orderBy:"timestamp",orderDirection:"asc"},delegator:!0,space:!0,delegate:!0,timestamp:!0}};return"latest"!==i&&(n.delegations.__args.block={number:i}),null!==e&&(n.delegations.__args.where.space_in=e),(yield oR(t,n)).delegations||[]}))}const KI="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",JI=["function text(bytes32 node, string calldata key) external view returns (string memory)","function resolver(bytes32 node) view returns (address)"],QI={Accept:"application/json","Content-Type":"application/json"},WI="https://score.snapshot.org";function YI(t=WI,e={path:""}){const r=new URL(t);e.path&&(r.pathname=e.path);const i=r.searchParams.get("apiKey");let n=Object.assign({},QI);return i&&(r.searchParams.delete("apiKey"),n=Object.assign(Object.assign({},QI),{"X-API-KEY":i})),{url:r.toString(),headers:n}}function XI(t){return e(this,void 0,void 0,(function*(){let e=yield t.text();try{e=JSON.parse(e)}catch(r){return Promise.reject({code:t.status||500,message:"Failed to parse response from score API",data:e})}return e.error?Promise.reject(e.error):e}))}const tR=new _d({allErrors:!0,allowUnionTypes:!0,$data:!0,passContext:!0});xd(tR),Sd(tR),tR.addFormat("address",{validate:t=>{try{return t===Ce(t)}catch(t){return!1}}}),tR.addFormat("starknetAddress",{validate:t=>{try{return LS(t)===t}catch(t){return!1}}}),tR.addFormat("long",{validate:()=>!0}),tR.addFormat("ethValue",{validate:t=>{if(!t.match(/^([0-9]|[1-9][0-9]+)(\.[0-9]+)?$/))return!1;try{return function(t,e){if("string"!=typeof t&&hu.throwArgumentError("value must be a string","value",t),"string"==typeof e){const t=uu.indexOf(e);-1!==t&&(e=3*t)}Gh(t,null!=e?e:18)}(t,18),!0}catch(t){return!1}}});const eR=Object.keys(NI),rR=Object.keys(NI).filter((t=>!NI[t].testnet));function iR(t,r,i,n){return e(this,void 0,void 0,(function*(){const e=new ah(i[0],r,t);try{const t=i[2]||[];return yield e[i[1]](...t,n||{})}catch(t){return Promise.reject(t)}}))}function nR(t,r,i,n,o){return e(this,void 0,void 0,(function*(){const e=(null==o?void 0:o.multicallAddress)||NI[t].multicall,s=new ah(e,["function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)"],r),a=new wn(i);try{const t=(null==o?void 0:o.limit)||500;(null==o?void 0:o.limit)&&delete o.limit;const e=Math.ceil(n.length/t),r=[];Array.from(Array(e)).forEach(((e,i)=>{const h=n.slice(t*i,t*(i+1));r.push(s.aggregate(h.map((t=>[t[0].toLowerCase(),a.encodeFunctionData(t[1],t[2])])),o||{}))}));let i=yield Promise.all(r);return i=i.reduce(((t,[,e])=>t.concat(e)),[]),i.map(((t,e)=>a.decodeFunctionResult(n[e][1],t)))}catch(t){return Promise.reject(t)}}))}function oR(t,r){return e(this,arguments,void 0,(function*(t,e,r={}){const i={query:Gl.jsonToGraphQLQuery({query:e})};r.variables&&(i.variables=r.variables);const n=yield a(t,{method:"POST",headers:Object.assign({Accept:"application/json","Content-Type":"application/json"},null==r?void 0:r.headers),body:JSON.stringify(i)});let o=yield n.text();try{o=JSON.parse(o)}catch(e){throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${o.substring(0,400)}`)}if(o.errors)throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${JSON.stringify(o.errors).substring(0,400)}`);const{data:s}=o;return s||{}}))}function sR(t,e=xI[0]){const r=`https://${e}`;if(!t)return null;if(!(t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("https://")||t.startsWith("http://")))return`${r}/ipfs/${t}`;const i=t.split("://")[0];return"ipfs"===i?t.replace("ipfs://",`${r}/ipfs/`):"ipns"===i?t.replace("ipns://",`${r}/ipns/`):t}function aR(r,i){return e(this,arguments,void 0,(function*(e,r,i="1",n={}){var o,s;const{ensResolvers:a=(null===(o=NI[i])||void 0===o?void 0:o.ensResolvers)||NI[1].ensResolvers,broviderUrl:h}=n,u=t(n,["ensResolvers","broviderUrl"]);let l;try{l=dl(fl(e))}catch(t){return null}const c=_g(i,{broviderUrl:h}),f=[[KI,"resolver",[l]],...a.map((t=>[t,"text",[l,r]]))],[[d],...m]=yield nR(i,c,JI,f,u),p=a.indexOf(d);return-1!==p?null===(s=m[p])||void 0===s?void 0:s[0]:null}))}function hR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){try{return yield aR(t,"snapshot",e,r)}catch(t){return console.log(t),null}}))}function uR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=_g(e,r),n=new ah(KI,["function owner(bytes32) view returns (address)"],i);let o;try{o=dl(fl(t))}catch(t){return null}const s=r.ensNameWrapper||NI[e].ensNameWrapper;let a=yield n.owner(o);if(a===s){const t=new ah(s,["function ownerOf(uint256) view returns (address)"],i);a=yield t.ownerOf(o)}return a}))}function lR(t){const e=["th","st","nd","rd"],r=t%100;return t+(e[(r-20)%10]||e[r]||e[0])}function cR(t){return!!NI[t]}function fR(t){return Pe(t)&&"0x0000000000000000000000000000000000000000"!==t}function dR(t,e){return"latest"===t||"number"==typeof t&&t>=NI[e].start}function mR(t){if(!t)return!1;try{return LS(t),!0}catch(t){return!1}}function pR(t){return Pe(t)}function gR(t){return Promise.reject(new Error(t))}tR.addKeyword({keyword:"snapshotNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?rR.includes(e):eR.includes(e)},error:{message:"network not allowed"}}),tR.addKeyword({keyword:"maxLengthWithSpaceType",validate:function t(e,r){const i=this.spaceType||"default",n=r.length<=e[i];return n||(t.errors=[{keyword:"maxLengthWithSpaceType",message:`must not have more than ${e[i]}`,params:{limit:e[i]}}]),n},errors:!0}),tR.addKeyword({keyword:"maxItemsWithSpaceType",validate:function t(e,r){const i=this.spaceType||"default",n=r.length<=e[i];return n||(t.errors=[{keyword:"maxItemsWithSpaceType",message:`must NOT have more than ${e[i]} items`,params:{limit:e[i]}}]),n},errors:!0}),tR.addFormat("customUrl",{type:"string",validate:t=>!t.length||(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("snapshot://"))});var yR={call:iR,multicall:nR,subgraphRequest:oR,ipfsGet:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="ipfs"){return a(`https://${t}/${r}/${e}`).then((t=>t.json()))}))},getUrl:sR,getJSON:function(t){return e(this,arguments,void 0,(function*(t,e={}){const r=sR(t,e.gateways);return a(r).then((t=>t.json()))}))},sendTransaction:function(t,r,i,n,o){return e(this,arguments,void 0,(function*(t,e,r,i,n,o={}){const s=t.getSigner(),a=new ah(e,r,t).connect(s);return yield a[i](...n,o)}))},getScores:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n="latest",o=WI,s={}){if(!Array.isArray(i))return gR("addresses should be an array of addresses");if(0===i.length)return gR("addresses can not be empty");const h=i.find((t=>!fR(t)));if(h)return gR(`Invalid address: ${h}`);if(!cR(r))return gR(`Invalid network: ${r}`);const u=e.find((t=>t.network&&!cR(t.network)));if(u)return gR(`Invalid network (${u.network}) in strategy ${u.name}`);if(!dR(n,r))return gR(`Snapshot (${n}) must be 'latest' or greater than network start block (${NI[r].start})`);new URL(o).pathname="/api/scores";const{url:l,headers:c}=YI(o,{path:"/api/scores"});try{const o={space:t,network:r,snapshot:n,strategies:e,addresses:i},h=yield a(l,{method:"POST",headers:c,body:JSON.stringify({params:o})}),u=yield XI(h);return"all"===s.returnValue?u.result:u.result[s.returnValue||"scores"]}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},getVp:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){const{url:e,headers:u}=YI(null==h?void 0:h.url);if(!fR(t))return gR(`Invalid voter address: ${t}`);if(!cR(r))return gR(`Invalid network: ${r}`);const l=i.find((t=>t.network&&!cR(t.network)));if(l)return gR(`Invalid network (${l.network}) in strategy ${l.name}`);if(!dR(n,r))return gR(`Snapshot (${n}) must be 'latest' or greater than network start block (${NI[r].start})`);const c={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"get_vp",params:{address:t,network:r,strategies:i,snapshot:n,space:o,delegation:s}})};try{const t=yield a(e,c);return(yield XI(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},validateSchema:function(t,e,r={snapshotEnv:"default",spaceType:"default"}){const i=tR.compile(t),n=i.call(r,e);return n||i.errors},getEnsTextRecord:aR,getSpaceUri:hR,getEnsOwner:uR,getSpaceController:function(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=yield hR(t,e,r);if(i){let t=Pe(i);if(t)return i;const e=i.split("/"),r=e.includes("testnet")?5:4,n=e[r];if(t=Pe(n),t)return n}return yield uR(t,e,r)}))},getDelegatesBySpace:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="latest",i={}){const n=i.subgraphUrl||zI[t];if(!n)return Promise.reject(`Delegation subgraph not available for network ${t}`);let o=0;const s=new Map,a=e?ZI(e):null;for(;;){const t=yield GI({url:n,spaces:a,pivot:o,snapshot:r});if(HI(t))throw new Error("Unable to paginate delegation");if(t.forEach((t=>{VI(s,t),o=t.timestamp})),t.length<qI)break}return[...s.values()]}))},clone:function(t){return JSON.parse(JSON.stringify(t))},sleep:function(t){return e(this,void 0,void 0,(function*(){return new Promise((e=>{setTimeout(e,t)}))}))},getNumberWithOrdinal:lR,voting:jI,getProvider:_g,signMessage:function(t,r,i){return e(this,void 0,void 0,(function*(){return r=I(new Buffer(r,"utf8")),yield t.send("personal_sign",[r,i])}))},getBlockNumber:function(t){return e(this,void 0,void 0,(function*(){try{const e=yield t.getBlockNumber();return parseInt(e)}catch(t){return Promise.reject()}}))},Multicaller:class{constructor(t,e,r,i){this.options={},this.calls=[],this.paths=[],this.network=t,this.provider=e,this.abi=r,this.options=i||{}}call(t,e,r,i){return this.calls.push([e,r,i]),this.paths.push(t),this}execute(t){return e(this,void 0,void 0,(function*(){const e=t||{};return(yield nR(this.network,this.provider,this.abi,this.calls,this.options)).forEach(((t,r)=>Mm(e,this.paths[r],t.length>1?t:t[0]))),this.calls=[],this.paths=[],e}))}},getSnapshots:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n={}){const o={};if(i.forEach((t=>o[t]="latest")),"latest"===e)return o;const s=`${t}-${e}-${i.join("-")}`,a=_m[s],h=Date.now();if(a&&Em>h)return a;Em<h&&(_m={},Em=h+36e5-h%36e5),o[t]=e;const u=Object.keys(o).filter((e=>t!==e));if(0===u.length)return o;const l={blocks:{__args:{where:{ts:(yield r.getBlock(e)).timestamp,network_in:u}},network:!0,number:!0}},c=n.blockFinderUrl||"https://blockfinder.snapshot.org";return(yield oR(c,l)).blocks.forEach((t=>o[t.network]=t.number)),_m[s]=o,o}))},getHash:function(t,e){return(qS(t)?VS:kI).getHash(t,e)},verify:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){if(!mR(t)&&!pR(t))throw new Error("Invalid address");const o=qS(r)?VS:kI;return yield o.default(t,e,r,i,n)}))},validate:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){if(!fR(r))return gR(`Invalid author: ${r}`);if(!cR(n))return gR(`Invalid network: ${n}`);if(!dR(o,n))return gR(`Snapshot (${o}) must be 'latest' or greater than network start block (${NI[n].start})`);h||(h={});const{url:e,headers:u}=YI(h.url),l={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"validate",params:{validation:t,author:r,space:i,network:n,snapshot:o,params:s}})};try{const t=yield a(e,l);return(yield XI(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},isStarknetAddress:mR,isEvmAddress:pR,getFormattedAddress:function(t,e){if("evm"===e&&pR(t))return Ce(t);if("starknet"===e&&mR(t))return LS(t);throw new Error(`Invalid address: ${t}`)},SNAPSHOT_SUBGRAPH_URL:zI};return{Client:or,Client712:or,schemas:dr,utils:yR}}));
|
|
32
|
+
/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */(r);return o("function"==typeof e?e.call({"":t},"",t):t,"");function o(t,s){if(Array.isArray(i)){var a=i.find((function(e){return e.test(t)}));if(a){var h=a.stringify(t);if("string"!=typeof h||!pw(h))throw new Error("Invalid JSON number: output of a number stringifier must be a string containing a JSON number "+"(output: ".concat(h,")"));return h}}return"boolean"==typeof t||"number"==typeof t||"string"==typeof t||null===t||t instanceof Date||t instanceof Boolean||t instanceof Number||t instanceof String?JSON.stringify(t):t&&t.isLosslessNumber||"bigint"==typeof t?t.toString():Array.isArray(t)?function(t,r){if(0===t.length)return"[]";for(var i=n?r+n:void 0,s=n?"[\n":"[",a=0;a<t.length;a++){var h="function"==typeof e?e.call(t,String(a),t[a]):t[a];n&&(s+=i),s+=void 0!==h&&"function"!=typeof h?o(h,i):"null",a<t.length-1&&(s+=n?",\n":",")}return s+=n?"\n"+r+"]":"]"}(t,s):t&&"object"===pb(t)?function(t,i){if("function"==typeof t.toJSON)return gb(t.toJSON(),e,r,void 0);var s=Array.isArray(e)?e.map(String):Object.keys(t);if(0===s.length)return"{}";var a=n?i+n:void 0,h=!0,u=n?"{\n":"{";return s.forEach((function(r){var i="function"==typeof e?e.call(t,r,t[r]):t[r];if(function(t,e){return void 0!==e&&"function"!=typeof e&&"symbol"!==pb(e)}(0,i)){h?h=!1:u+=n?",\n":",";var s=JSON.stringify(r);u+=n?a+s+": ":s+":",u+=o(i,a)}})),u+=n?"\n"+i+"}":"}"}(t,s):void 0}}function yb(t){let e=t.length;for(;--e>=0;)t[e]=0}const vb=256,wb=286,bb=30,Mb=15,_b=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Eb=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Ab=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),kb=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),xb=new Array(576);yb(xb);const Nb=new Array(60);yb(Nb);const Sb=new Array(512);yb(Sb);const Ib=new Array(256);yb(Ib);const Rb=new Array(29);yb(Rb);const Tb=new Array(bb);function Cb(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let Pb,Ob,Bb;function $b(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}yb(Tb);const Ub=t=>t<256?Sb[t]:Sb[256+(t>>>7)],Db=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},Lb=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,Db(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)},Fb=(t,e,r)=>{Lb(t,r[2*e],r[2*e+1])},jb=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},zb=(t,e,r)=>{const i=new Array(16);let n,o,s=0;for(n=1;n<=Mb;n++)s=s+r[n-1]<<1,i[n]=s;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=jb(i[e]++,e))}},qb=t=>{let e;for(e=0;e<wb;e++)t.dyn_ltree[2*e]=0;for(e=0;e<bb;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},Hb=t=>{t.bi_valid>8?Db(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Vb=(t,e,r,i)=>{const n=2*e,o=2*r;return t[n]<t[o]||t[n]===t[o]&&i[e]<=i[r]},Zb=(t,e,r)=>{const i=t.heap[r];let n=r<<1;for(;n<=t.heap_len&&(n<t.heap_len&&Vb(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!Vb(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i},Gb=(t,e,r)=>{let i,n,o,s,a=0;if(0!==t.sym_next)do{i=255&t.pending_buf[t.sym_buf+a++],i+=(255&t.pending_buf[t.sym_buf+a++])<<8,n=t.pending_buf[t.sym_buf+a++],0===i?Fb(t,n,e):(o=Ib[n],Fb(t,o+vb+1,e),s=_b[o],0!==s&&(n-=Rb[o],Lb(t,n,s)),i--,o=Ub(i),Fb(t,o,r),s=Eb[o],0!==s&&(i-=Tb[o],Lb(t,i,s)))}while(a<t.sym_next);Fb(t,256,e)},Kb=(t,e)=>{const r=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,h,u=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<o;s++)0!==r[2*s]?(t.heap[++t.heap_len]=u=s,t.depth[s]=0):r[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=u<2?++u:0,r[2*h]=1,t.depth[h]=0,t.opt_len--,n&&(t.static_len-=i[2*h+1]);for(e.max_code=u,s=t.heap_len>>1;s>=1;s--)Zb(t,r,s);h=o;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Zb(t,r,1),a=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=a,r[2*h]=r[2*s]+r[2*a],t.depth[h]=(t.depth[s]>=t.depth[a]?t.depth[s]:t.depth[a])+1,r[2*s+1]=r[2*a+1]=h,t.heap[1]=h++,Zb(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,h=e.stat_desc.max_length;let u,l,c,f,d,m,p=0;for(f=0;f<=Mb;f++)t.bl_count[f]=0;for(r[2*t.heap[t.heap_max]+1]=0,u=t.heap_max+1;u<573;u++)l=t.heap[u],f=r[2*r[2*l+1]+1]+1,f>h&&(f=h,p++),r[2*l+1]=f,l>i||(t.bl_count[f]++,d=0,l>=a&&(d=s[l-a]),m=r[2*l],t.opt_len+=m*(f+d),o&&(t.static_len+=m*(n[2*l+1]+d)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(l=t.bl_count[f];0!==l;)c=t.heap[--u],c>i||(r[2*c+1]!==f&&(t.opt_len+=(f-r[2*c+1])*r[2*c],r[2*c+1]=f),l--)}})(t,e),zb(r,u,t.bl_count)},Jb=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=s,s=e[2*(i+1)+1],++a<h&&n===s||(a<u?t.bl_tree[2*n]+=a:0!==n?(n!==o&&t.bl_tree[2*n]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4))},Qb=(t,e,r)=>{let i,n,o=-1,s=e[1],a=0,h=7,u=4;for(0===s&&(h=138,u=3),i=0;i<=r;i++)if(n=s,s=e[2*(i+1)+1],!(++a<h&&n===s)){if(a<u)do{Fb(t,n,t.bl_tree)}while(0!=--a);else 0!==n?(n!==o&&(Fb(t,n,t.bl_tree),a--),Fb(t,16,t.bl_tree),Lb(t,a-3,2)):a<=10?(Fb(t,17,t.bl_tree),Lb(t,a-3,3)):(Fb(t,18,t.bl_tree),Lb(t,a-11,7));a=0,o=n,0===s?(h=138,u=3):n===s?(h=6,u=3):(h=7,u=4)}};let Wb=!1;const Yb=(t,e,r,i)=>{Lb(t,0+(i?1:0),3),Hb(t),Db(t,r),Db(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var Xb=t=>{Wb||((()=>{let t,e,r,i,n;const o=new Array(16);for(r=0,i=0;i<28;i++)for(Rb[i]=r,t=0;t<1<<_b[i];t++)Ib[r++]=i;for(Ib[r-1]=i,n=0,i=0;i<16;i++)for(Tb[i]=n,t=0;t<1<<Eb[i];t++)Sb[n++]=i;for(n>>=7;i<bb;i++)for(Tb[i]=n<<7,t=0;t<1<<Eb[i]-7;t++)Sb[256+n++]=i;for(e=0;e<=Mb;e++)o[e]=0;for(t=0;t<=143;)xb[2*t+1]=8,t++,o[8]++;for(;t<=255;)xb[2*t+1]=9,t++,o[9]++;for(;t<=279;)xb[2*t+1]=7,t++,o[7]++;for(;t<=287;)xb[2*t+1]=8,t++,o[8]++;for(zb(xb,287,o),t=0;t<bb;t++)Nb[2*t+1]=5,Nb[2*t]=jb(t,5);Pb=new Cb(xb,_b,257,wb,Mb),Ob=new Cb(Nb,Eb,0,bb,Mb),Bb=new Cb(new Array(0),Ab,0,19,7)})(),Wb=!0),t.l_desc=new $b(t.dyn_ltree,Pb),t.d_desc=new $b(t.dyn_dtree,Ob),t.bl_desc=new $b(t.bl_tree,Bb),t.bi_buf=0,t.bi_valid=0,qb(t)},tM=(t,e,r,i)=>{let n,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<vb;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),Kb(t,t.l_desc),Kb(t,t.d_desc),s=(t=>{let e;for(Jb(t,t.dyn_ltree,t.l_desc.max_code),Jb(t,t.dyn_dtree,t.d_desc.max_code),Kb(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*kb[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),n=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=n&&(n=o)):n=o=r+5,r+4<=n&&-1!==e?Yb(t,e,r,i):4===t.strategy||o===n?(Lb(t,2+(i?1:0),3),Gb(t,xb,Nb)):(Lb(t,4+(i?1:0),3),((t,e,r,i)=>{let n;for(Lb(t,e-257,5),Lb(t,r-1,5),Lb(t,i-4,4),n=0;n<i;n++)Lb(t,t.bl_tree[2*kb[n]+1],3);Qb(t,t.dyn_ltree,e-1),Qb(t,t.dyn_dtree,r-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),Gb(t,t.dyn_ltree,t.dyn_dtree)),qb(t),i&&Hb(t)},eM=(t,e,r)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(Ib[r]+vb+1)]++,t.dyn_dtree[2*Ub(e)]++),t.sym_next===t.sym_end),rM=t=>{Lb(t,2,3),Fb(t,256,xb),(t=>{16===t.bi_valid?(Db(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)},iM={_tr_init:Xb,_tr_stored_block:Yb,_tr_flush_block:tM,_tr_tally:eM,_tr_align:rM};var nM=(t,e,r,i)=>{let n=65535&t|0,o=t>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{n=n+e[i++]|0,o=o+n|0}while(--s);n%=65521,o%=65521}return n|o<<16|0};const oM=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var sM=(t,e,r,i)=>{const n=oM,o=i+r;t^=-1;for(let r=i;r<o;r++)t=t>>>8^n[255&(t^e[r])];return-1^t},aM={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},hM={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:uM,_tr_stored_block:lM,_tr_flush_block:cM,_tr_tally:fM,_tr_align:dM}=iM,{Z_NO_FLUSH:mM,Z_PARTIAL_FLUSH:pM,Z_FULL_FLUSH:gM,Z_FINISH:yM,Z_BLOCK:vM,Z_OK:wM,Z_STREAM_END:bM,Z_STREAM_ERROR:MM,Z_DATA_ERROR:_M,Z_BUF_ERROR:EM,Z_DEFAULT_COMPRESSION:AM,Z_FILTERED:kM,Z_HUFFMAN_ONLY:xM,Z_RLE:NM,Z_FIXED:SM,Z_DEFAULT_STRATEGY:IM,Z_UNKNOWN:RM,Z_DEFLATED:TM}=hM,CM=258,PM=262,OM=42,BM=113,$M=666,UM=(t,e)=>(t.msg=aM[e],e),DM=t=>2*t-(t>4?9:0),LM=t=>{let e=t.length;for(;--e>=0;)t[e]=0},FM=t=>{let e,r,i,n=t.w_size;e=t.hash_size,i=e;do{r=t.head[--i],t.head[i]=r>=n?r-n:0}while(--e);e=n,i=e;do{r=t.prev[--i],t.prev[i]=r>=n?r-n:0}while(--e)};let jM=(t,e,r)=>(e<<t.hash_shift^r)&t.hash_mask;const zM=t=>{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},qM=(t,e)=>{cM(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,zM(t.strm)},HM=(t,e)=>{t.pending_buf[t.pending++]=e},VM=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},ZM=(t,e,r,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),r),1===t.state.wrap?t.adler=nM(t.adler,e,n,r):2===t.state.wrap&&(t.adler=sM(t.adler,e,n,r)),t.next_in+=n,t.total_in+=n,n)},GM=(t,e)=>{let r,i,n=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match;const h=t.strstart>t.w_size-PM?t.strstart-(t.w_size-PM):0,u=t.window,l=t.w_mask,c=t.prev,f=t.strstart+CM;let d=u[o+s-1],m=u[o+s];t.prev_length>=t.good_match&&(n>>=2),a>t.lookahead&&(a=t.lookahead);do{if(r=e,u[r+s]===m&&u[r+s-1]===d&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<f);if(i=CM-(f-o),o=f-CM,i>s){if(t.match_start=e,s=i,i>=a)break;d=u[o+s-1],m=u[o+s]}}}while((e=c[e&l])>h&&0!=--n);return s<=t.lookahead?s:t.lookahead},KM=t=>{const e=t.w_size;let r,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-PM)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),FM(t),i+=e),0===t.strm.avail_in)break;if(r=ZM(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=r,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=jM(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=jM(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<PM&&0!==t.strm.avail_in)},JM=(t,e)=>{let r,i,n,o=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,s=0,a=t.strm.avail_in;do{if(r=65535,n=t.bi_valid+42>>3,t.strm.avail_out<n)break;if(n=t.strm.avail_out-n,i=t.strstart-t.block_start,r>i+t.strm.avail_in&&(r=i+t.strm.avail_in),r>n&&(r=n),r<o&&(0===r&&e!==yM||e===mM||r!==i+t.strm.avail_in))break;s=e===yM&&r===i+t.strm.avail_in?1:0,lM(t,0,0,s),t.pending_buf[t.pending-4]=r,t.pending_buf[t.pending-3]=r>>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,zM(t.strm),i&&(i>r&&(i=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,r-=i),r&&(ZM(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===s);return a-=t.strm.avail_in,a&&(a>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=a&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-a,t.strm.next_in),t.strstart),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),s?4:e!==mM&&e!==yM&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(n=t.window_size-t.strstart,t.strm.avail_in>n&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(ZM(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water<t.strstart&&(t.high_water=t.strstart),n=t.bi_valid+42>>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,o=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=o||(i||e===yM)&&e!==mM&&0===t.strm.avail_in&&i<=n)&&(r=i>n?n:i,s=e===yM&&0===t.strm.avail_in&&r===i?1:0,lM(t,t.block_start,r,s),t.block_start+=r,zM(t.strm)),s?3:1)},QM=(t,e)=>{let r,i;for(;;){if(t.lookahead<PM){if(KM(t),t.lookahead<PM&&e===mM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=jM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-PM&&(t.match_length=GM(t,r)),t.match_length>=3)if(i=fM(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=jM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=jM(t,t.ins_h,t.window[t.strstart+1]);else i=fM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(qM(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===yM?(qM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qM(t,!1),0===t.strm.avail_out)?1:2},WM=(t,e)=>{let r,i,n;for(;;){if(t.lookahead<PM){if(KM(t),t.lookahead<PM&&e===mM)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=jM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-PM&&(t.match_length=GM(t,r),t.match_length<=5&&(t.strategy===kM||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=fM(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=jM(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(qM(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=fM(t,0,t.window[t.strstart-1]),i&&qM(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=fM(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===yM?(qM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qM(t,!1),0===t.strm.avail_out)?1:2};function YM(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}const XM=[new YM(0,0,0,0,JM),new YM(4,4,8,4,QM),new YM(4,5,16,8,QM),new YM(4,6,32,32,QM),new YM(4,4,16,16,WM),new YM(8,16,32,32,WM),new YM(8,16,128,128,WM),new YM(8,32,128,256,WM),new YM(32,128,258,1024,WM),new YM(32,258,258,4096,WM)];function t_(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=TM,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),LM(this.dyn_ltree),LM(this.dyn_dtree),LM(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),LM(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),LM(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const e_=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==OM&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==BM&&e.status!==$M?1:0},r_=t=>{if(e_(t))return UM(t,MM);t.total_in=t.total_out=0,t.data_type=RM;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?OM:BM,t.adler=2===e.wrap?0:1,e.last_flush=-2,uM(e),wM},i_=t=>{const e=r_(t);return e===wM&&(t=>{t.window_size=2*t.w_size,LM(t.head),t.max_lazy_match=XM[t.level].max_lazy,t.good_match=XM[t.level].good_length,t.nice_match=XM[t.level].nice_length,t.max_chain_length=XM[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0})(t.state),e},n_=(t,e,r,i,n,o)=>{if(!t)return MM;let s=1;if(e===AM&&(e=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>9||r!==TM||i<8||i>15||e<0||e>9||o<0||o>SM||8===i&&1!==s)return UM(t,MM);8===i&&(i=9);const a=new t_;return t.state=a,a.strm=t,a.status=OM,a.wrap=s,a.gzhead=null,a.w_bits=i,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=n+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+3-1)/3),a.window=new Uint8Array(2*a.w_size),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<n+6,a.pending_buf_size=4*a.lit_bufsize,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=3*(a.lit_bufsize-1),a.level=e,a.strategy=o,a.method=r,i_(t)};var o_=(t,e)=>{if(e_(t)||e>vM||e<0)return t?UM(t,MM):MM;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===$M&&e!==yM)return UM(t,0===t.avail_out?EM:MM);const i=r.last_flush;if(r.last_flush=e,0!==r.pending){if(zM(t),0===t.avail_out)return r.last_flush=-1,wM}else if(0===t.avail_in&&DM(e)<=DM(i)&&e!==yM)return UM(t,EM);if(r.status===$M&&0!==t.avail_in)return UM(t,EM);if(r.status===OM&&0===r.wrap&&(r.status=BM),r.status===OM){let e=TM+(r.w_bits-8<<4)<<8,i=-1;if(i=r.strategy>=xM||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=i<<6,0!==r.strstart&&(e|=32),e+=31-e%31,VM(r,e),0!==r.strstart&&(VM(r,t.adler>>>16),VM(r,65535&t.adler)),t.adler=1,r.status=BM,zM(t),0!==r.pending)return r.last_flush=-1,wM}if(57===r.status)if(t.adler=0,HM(r,31),HM(r,139),HM(r,8),r.gzhead)HM(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),HM(r,255&r.gzhead.time),HM(r,r.gzhead.time>>8&255),HM(r,r.gzhead.time>>16&255),HM(r,r.gzhead.time>>24&255),HM(r,9===r.level?2:r.strategy>=xM||r.level<2?4:0),HM(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(HM(r,255&r.gzhead.extra.length),HM(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=sM(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(HM(r,0),HM(r,0),HM(r,0),HM(r,0),HM(r,0),HM(r,9===r.level?2:r.strategy>=xM||r.level<2?4:0),HM(r,3),r.status=BM,zM(t),0!==r.pending)return r.last_flush=-1,wM;if(69===r.status){if(r.gzhead.extra){let e=r.pending,i=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+i>r.pending_buf_size;){let n=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=sM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=n,zM(t),0!==r.pending)return r.last_flush=-1,wM;e=0,i-=n}let n=new Uint8Array(r.gzhead.extra);r.pending_buf.set(n.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending+=i,r.gzhead.hcrc&&r.pending>e&&(t.adler=sM(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=sM(t.adler,r.pending_buf,r.pending-i,i)),zM(t),0!==r.pending)return r.last_flush=-1,wM;i=0}e=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,HM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=sM(t.adler,r.pending_buf,r.pending-i,i)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,i=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>i&&(t.adler=sM(t.adler,r.pending_buf,r.pending-i,i)),zM(t),0!==r.pending)return r.last_flush=-1,wM;i=0}e=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,HM(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>i&&(t.adler=sM(t.adler,r.pending_buf,r.pending-i,i))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(zM(t),0!==r.pending))return r.last_flush=-1,wM;HM(r,255&t.adler),HM(r,t.adler>>8&255),t.adler=0}if(r.status=BM,zM(t),0!==r.pending)return r.last_flush=-1,wM}if(0!==t.avail_in||0!==r.lookahead||e!==mM&&r.status!==$M){let i=0===r.level?JM(r,e):r.strategy===xM?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(KM(t),0===t.lookahead)){if(e===mM)return 1;break}if(t.match_length=0,r=fM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(qM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===yM?(qM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qM(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===NM?((t,e)=>{let r,i,n,o;const s=t.window;for(;;){if(t.lookahead<=CM){if(KM(t),t.lookahead<=CM&&e===mM)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){o=t.strstart+CM;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<o);t.match_length=CM-(o-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=fM(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=fM(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(qM(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===yM?(qM(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(qM(t,!1),0===t.strm.avail_out)?1:2})(r,e):XM[r.level].func(r,e);if(3!==i&&4!==i||(r.status=$M),1===i||3===i)return 0===t.avail_out&&(r.last_flush=-1),wM;if(2===i&&(e===pM?dM(r):e!==vM&&(lM(r,0,0,!1),e===gM&&(LM(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),zM(t),0===t.avail_out))return r.last_flush=-1,wM}return e!==yM?wM:r.wrap<=0?bM:(2===r.wrap?(HM(r,255&t.adler),HM(r,t.adler>>8&255),HM(r,t.adler>>16&255),HM(r,t.adler>>24&255),HM(r,255&t.total_in),HM(r,t.total_in>>8&255),HM(r,t.total_in>>16&255),HM(r,t.total_in>>24&255)):(VM(r,t.adler>>>16),VM(r,65535&t.adler)),zM(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?wM:bM)},s_=(t,e)=>{let r=e.length;if(e_(t))return MM;const i=t.state,n=i.wrap;if(2===n||1===n&&i.status!==OM||i.lookahead)return MM;if(1===n&&(t.adler=nM(t.adler,e,r,0)),i.wrap=0,r>=i.w_size){0===n&&(LM(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(r-i.w_size,r),0),e=t,r=i.w_size}const o=t.avail_in,s=t.next_in,a=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,KM(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=jM(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,KM(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=s,t.input=a,t.avail_in=o,i.wrap=n,wM},a_={deflateInit:(t,e)=>n_(t,e,TM,15,8,IM),deflateInit2:n_,deflateReset:i_,deflateResetKeep:r_,deflateSetHeader:(t,e)=>e_(t)||2!==t.state.wrap?MM:(t.state.gzhead=e,wM),deflate:o_,deflateEnd:t=>{if(e_(t))return MM;const e=t.state.status;return t.state=null,e===BM?UM(t,_M):wM},deflateSetDictionary:s_,deflateInfo:"pako deflate (from Nodeca project)"};const h_=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var u_=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)h_(r,e)&&(t[e]=r[e])}}return t},l_=t=>{let e=0;for(let r=0,i=t.length;r<i;r++)e+=t[r].length;const r=new Uint8Array(e);for(let e=0,i=0,n=t.length;e<n;e++){let n=t[e];r.set(n,i),i+=n.length}return r};let c_=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){c_=!1}const f_=new Uint8Array(256);for(let t=0;t<256;t++)f_[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;f_[254]=f_[254]=1;var d_=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,i,n,o,s=t.length,a=0;for(n=0;n<s;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),a+=r<128?1:r<2048?2:r<65536?3:4;for(e=new Uint8Array(a),o=0,n=0;o<a;n++)r=t.charCodeAt(n),55296==(64512&r)&&n+1<s&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(r=65536+(r-55296<<10)+(i-56320),n++)),r<128?e[o++]=r:r<2048?(e[o++]=192|r>>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},m_=(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const o=new Array(2*r);for(n=0,i=0;i<r;){let e=t[i++];if(e<128){o[n++]=e;continue}let s=f_[e];if(s>4)o[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<r;)e=e<<6|63&t[i++],s--;s>1?o[n++]=65533:e<65536?o[n++]=e:(e-=65536,o[n++]=55296|e>>10&1023,o[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&c_)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r})(o,n)},p_=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+f_[t[r]]>e?r:e};var g_=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const y_=Object.prototype.toString,{Z_NO_FLUSH:v_,Z_SYNC_FLUSH:w_,Z_FULL_FLUSH:b_,Z_FINISH:M_,Z_OK:__,Z_STREAM_END:E_,Z_DEFAULT_COMPRESSION:A_,Z_DEFAULT_STRATEGY:k_,Z_DEFLATED:x_}=hM;function N_(t){this.options=u_({level:A_,method:x_,chunkSize:16384,windowBits:15,memLevel:8,strategy:k_},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new g_,this.strm.avail_out=0;let r=a_.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==__)throw new Error(aM[r]);if(e.header&&a_.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?d_(e.dictionary):"[object ArrayBuffer]"===y_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=a_.deflateSetDictionary(this.strm,t),r!==__)throw new Error(aM[r]);this._dict_set=!0}}function S_(t,e){const r=new N_(e);if(r.push(t,!0),r.err)throw r.msg||aM[r.err];return r.result}N_.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize;let n,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?M_:v_,"string"==typeof t?r.input=d_(t):"[object ArrayBuffer]"===y_.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),(o===w_||o===b_)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(n=a_.deflate(r,o),n===E_)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),n=a_.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===__;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},N_.prototype.onData=function(t){this.chunks.push(t)},N_.prototype.onEnd=function(t){t===__&&(this.result=l_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var I_={Deflate:N_,deflate:S_,deflateRaw:function(t,e){return(e=e||{}).raw=!0,S_(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,S_(t,e)},constants:hM};const R_=16209;var T_=function(t,e){let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A,k;const x=t.state;r=t.next_in,A=t.input,i=r+(t.avail_in-5),n=t.next_out,k=t.output,o=n-(e-t.avail_out),s=n+(t.avail_out-257),a=x.dmax,h=x.wsize,u=x.whave,l=x.wnext,c=x.window,f=x.hold,d=x.bits,m=x.lencode,p=x.distcode,g=(1<<x.lenbits)-1,y=(1<<x.distbits)-1;t:do{d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=m[f&g];e:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,0===w)k[n++]=65535&v;else{if(!(16&w)){if(0==(64&w)){v=m[(65535&v)+(f&(1<<w)-1)];continue e}if(32&w){x.mode=16191;break t}t.msg="invalid literal/length code",x.mode=R_;break t}b=65535&v,w&=15,w&&(d<w&&(f+=A[r++]<<d,d+=8),b+=f&(1<<w)-1,f>>>=w,d-=w),d<15&&(f+=A[r++]<<d,d+=8,f+=A[r++]<<d,d+=8),v=p[f&y];r:for(;;){if(w=v>>>24,f>>>=w,d-=w,w=v>>>16&255,!(16&w)){if(0==(64&w)){v=p[(65535&v)+(f&(1<<w)-1)];continue r}t.msg="invalid distance code",x.mode=R_;break t}if(M=65535&v,w&=15,d<w&&(f+=A[r++]<<d,d+=8,d<w&&(f+=A[r++]<<d,d+=8)),M+=f&(1<<w)-1,M>a){t.msg="invalid distance too far back",x.mode=R_;break t}if(f>>>=w,d-=w,w=n-o,M>w){if(w=M-w,w>u&&x.sane){t.msg="invalid distance too far back",x.mode=R_;break t}if(_=0,E=c,0===l){if(_+=h-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}else if(l<w){if(_+=h+l-w,w-=l,w<b){b-=w;do{k[n++]=c[_++]}while(--w);if(_=0,l<b){w=l,b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}}}else if(_+=l-w,w<b){b-=w;do{k[n++]=c[_++]}while(--w);_=n-M,E=k}for(;b>2;)k[n++]=E[_++],k[n++]=E[_++],k[n++]=E[_++],b-=3;b&&(k[n++]=E[_++],b>1&&(k[n++]=E[_++]))}else{_=n-M;do{k[n++]=k[_++],k[n++]=k[_++],k[n++]=k[_++],b-=3}while(b>2);b&&(k[n++]=k[_++],b>1&&(k[n++]=k[_++]))}break}}break}}while(r<i&&n<s);b=d>>3,r-=b,d-=b<<3,f&=(1<<d)-1,t.next_in=r,t.next_out=n,t.avail_in=r<i?i-r+5:5-(r-i),t.avail_out=n<s?s-n+257:257-(n-s),x.hold=f,x.bits=d};const C_=15,P_=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),O_=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),B_=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),$_=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var U_=(t,e,r,i,n,o,s,a)=>{const h=a.bits;let u,l,c,f,d,m,p=0,g=0,y=0,v=0,w=0,b=0,M=0,_=0,E=0,A=0,k=null;const x=new Uint16Array(16),N=new Uint16Array(16);let S,I,R,T=null;for(p=0;p<=C_;p++)x[p]=0;for(g=0;g<i;g++)x[e[r+g]]++;for(w=h,v=C_;v>=1&&0===x[v];v--);if(w>v&&(w=v),0===v)return n[o++]=20971520,n[o++]=20971520,a.bits=1,0;for(y=1;y<v&&0===x[y];y++);for(w<y&&(w=y),_=1,p=1;p<=C_;p++)if(_<<=1,_-=x[p],_<0)return-1;if(_>0&&(0===t||1!==v))return-1;for(N[1]=0,p=1;p<C_;p++)N[p+1]=N[p]+x[p];for(g=0;g<i;g++)0!==e[r+g]&&(s[N[e[r+g]]++]=g);if(0===t?(k=T=s,m=20):1===t?(k=P_,T=O_,m=257):(k=B_,T=$_,m=0),A=0,g=0,p=y,d=o,b=w,M=0,c=-1,E=1<<w,f=E-1,1===t&&E>852||2===t&&E>592)return 1;for(;;){S=p-M,s[g]+1<m?(I=0,R=s[g]):s[g]>=m?(I=T[s[g]-m],R=k[s[g]-m]):(I=96,R=0),u=1<<p-M,l=1<<b,y=l;do{l-=u,n[d+(A>>M)+l]=S<<24|I<<16|R|0}while(0!==l);for(u=1<<p-1;A&u;)u>>=1;if(0!==u?(A&=u-1,A+=u):A=0,g++,0==--x[p]){if(p===v)break;p=e[r+s[g]]}if(p>w&&(A&f)!==c){for(0===M&&(M=w),d+=y,b=p-M,_=1<<b;b+M<v&&(_-=x[b+M],!(_<=0));)b++,_<<=1;if(E+=1<<b,1===t&&E>852||2===t&&E>592)return 1;c=A&f,n[c]=w<<24|b<<16|d-o|0}}return 0!==A&&(n[d+A]=p-M<<24|64<<16|0),a.bits=w,0};const{Z_FINISH:D_,Z_BLOCK:L_,Z_TREES:F_,Z_OK:j_,Z_STREAM_END:z_,Z_NEED_DICT:q_,Z_STREAM_ERROR:H_,Z_DATA_ERROR:V_,Z_MEM_ERROR:Z_,Z_BUF_ERROR:G_,Z_DEFLATED:K_}=hM,J_=16180,Q_=16190,W_=16191,Y_=16192,X_=16194,tE=16199,eE=16200,rE=16206,iE=16209,nE=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function oE(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const sE=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<J_||e.mode>16211?1:0},aE=t=>{if(sE(t))return H_;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=J_,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,j_},hE=t=>{if(sE(t))return H_;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,aE(t)},uE=(t,e)=>{let r;if(sE(t))return H_;const i=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?H_:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,hE(t))},lE=(t,e)=>{if(!t)return H_;const r=new oE;t.state=r,r.strm=t,r.window=null,r.mode=J_;const i=uE(t,e);return i!==j_&&(t.state=null),i};let cE,fE,dE=!0;const mE=t=>{if(dE){cE=new Int32Array(512),fE=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(U_(1,t.lens,0,288,cE,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;U_(2,t.lens,0,32,fE,0,t.work,{bits:5}),dE=!1}t.lencode=cE,t.lenbits=9,t.distcode=fE,t.distbits=5},pE=(t,e,r,i)=>{let n;const o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),i>=o.wsize?(o.window.set(e.subarray(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(n=o.wsize-o.wnext,n>i&&(n=i),o.window.set(e.subarray(r-i,r-i+n),o.wnext),(i-=n)?(o.window.set(e.subarray(r-i,r),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=n,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=n))),0};var gE=(t,e)=>{let r,i,n,o,s,a,h,u,l,c,f,d,m,p,g,y,v,w,b,M,_,E,A=0;const k=new Uint8Array(4);let x,N;const S=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(sE(t)||!t.output||!t.input&&0!==t.avail_in)return H_;r=t.state,r.mode===W_&&(r.mode=Y_),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,c=a,f=h,E=j_;t:for(;;)switch(r.mode){case J_:if(0===r.wrap){r.mode=Y_;break}for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(2&r.wrap&&35615===u){0===r.wbits&&(r.wbits=15),r.check=0,k[0]=255&u,k[1]=u>>>8&255,r.check=sM(r.check,k,2,0),u=0,l=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=iE;break}if((15&u)!==K_){t.msg="unknown compression method",r.mode=iE;break}if(u>>>=4,l-=4,_=8+(15&u),0===r.wbits&&(r.wbits=_),_>15||_>r.wbits){t.msg="invalid window size",r.mode=iE;break}r.dmax=1<<r.wbits,r.flags=0,t.adler=r.check=1,r.mode=512&u?16189:W_,u=0,l=0;break;case 16181:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.flags=u,(255&r.flags)!==K_){t.msg="unknown compression method",r.mode=iE;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=iE;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=sM(r.check,k,2,0)),u=0,l=0,r.mode=16182;case 16182:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,k[2]=u>>>16&255,k[3]=u>>>24&255,r.check=sM(r.check,k,4,0)),u=0,l=0,r.mode=16183;case 16183:for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=sM(r.check,k,2,0)),u=0,l=0,r.mode=16184;case 16184:if(1024&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&4&r.wrap&&(k[0]=255&u,k[1]=u>>>8&255,r.check=sM(r.check,k,2,0)),u=0,l=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(d=r.length,d>a&&(d=a),d&&(r.head&&(_=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(i.subarray(o,o+d),_)),512&r.flags&&4&r.wrap&&(r.check=sM(r.check,i,d,o)),a-=d,o+=d,r.length-=d),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.name+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=sM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===a)break t;d=0;do{_=i[o+d++],r.head&&_&&r.length<65536&&(r.head.comment+=String.fromCharCode(_))}while(_&&d<a);if(512&r.flags&&4&r.wrap&&(r.check=sM(r.check,i,d,o)),a-=d,o+=d,_)break t}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;l<16;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=iE;break}u=0,l=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=W_;break;case 16189:for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}t.adler=r.check=nE(u),u=0,l=0,r.mode=Q_;case Q_:if(0===r.havedict)return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,q_;t.adler=r.check=1,r.mode=W_;case W_:if(e===L_||e===F_)break t;case Y_:if(r.last){u>>>=7&l,l-=7&l,r.mode=rE;break}for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}switch(r.last=1&u,u>>>=1,l-=1,3&u){case 0:r.mode=16193;break;case 1:if(mE(r),r.mode=tE,e===F_){u>>>=2,l-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=iE}u>>>=2,l-=2;break;case 16193:for(u>>>=7&l,l-=7&l;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=iE;break}if(r.length=65535&u,u=0,l=0,r.mode=X_,e===F_)break t;case X_:r.mode=16195;case 16195:if(d=r.length,d){if(d>a&&(d=a),d>h&&(d=h),0===d)break t;n.set(i.subarray(o,o+d),s),a-=d,o+=d,h-=d,s+=d,r.length-=d;break}r.mode=W_;break;case 16196:for(;l<14;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=iE;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;l<3;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.lens[S[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[S[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},E=U_(0,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid code lengths set",r.mode=iE;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(v<16)u>>>=g,l-=g,r.lens[r.have++]=v;else{if(16===v){for(N=g+2;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(u>>>=g,l-=g,0===r.have){t.msg="invalid bit length repeat",r.mode=iE;break}_=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===v){for(N=g+3;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=3+(7&u),u>>>=3,l-=3}else{for(N=g+7;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=g,l-=g,_=0,d=11+(127&u),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=iE;break}for(;d--;)r.lens[r.have++]=_}}if(r.mode===iE)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=iE;break}if(r.lenbits=9,x={bits:r.lenbits},E=U_(1,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,E){t.msg="invalid literal/lengths set",r.mode=iE;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},E=U_(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,E){t.msg="invalid distances set",r.mode=iE;break}if(r.mode=tE,e===F_)break t;case tE:r.mode=eE;case eE:if(a>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,T_(t,f),s=t.next_out,n=t.output,h=t.avail_out,o=t.next_in,i=t.input,a=t.avail_in,u=r.hold,l=r.bits,r.mode===W_&&(r.back=-1);break}for(r.back=0;A=r.lencode[u&(1<<r.lenbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(y&&0==(240&y)){for(w=g,b=y,M=v;A=r.lencode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,r.length=v,0===y){r.mode=16205;break}if(32&y){r.back=-1,r.mode=W_;break}if(64&y){t.msg="invalid literal/length code",r.mode=iE;break}r.extra=15&y,r.mode=16201;case 16201:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;A=r.distcode[u&(1<<r.distbits)-1],g=A>>>24,y=A>>>16&255,v=65535&A,!(g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(0==(240&y)){for(w=g,b=y,M=v;A=r.distcode[M+((u&(1<<w+b)-1)>>w)],g=A>>>24,y=A>>>16&255,v=65535&A,!(w+g<=l);){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}u>>>=w,l-=w,r.back+=w}if(u>>>=g,l-=g,r.back+=g,64&y){t.msg="invalid distance code",r.mode=iE;break}r.offset=v,r.extra=15&y,r.mode=16203;case 16203:if(r.extra){for(N=r.extra;l<N;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=iE;break}r.mode=16204;case 16204:if(0===h)break t;if(d=f-h,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=iE;break}d>r.wnext?(d-=r.wnext,m=r.wsize-d):m=r.wnext-d,d>r.length&&(d=r.length),p=r.window}else p=n,m=s-r.offset,d=r.length;d>h&&(d=h),h-=d,r.length-=d;do{n[s++]=p[m++]}while(--d);0===r.length&&(r.mode=eE);break;case 16205:if(0===h)break t;n[s++]=r.length,h--,r.mode=eE;break;case rE:if(r.wrap){for(;l<32;){if(0===a)break t;a--,u|=i[o++]<<l,l+=8}if(f-=h,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?sM(r.check,n,f,s-f):nM(r.check,n,f,s-f)),f=h,4&r.wrap&&(r.flags?u:nE(u))!==r.check){t.msg="incorrect data check",r.mode=iE;break}u=0,l=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;l<32;){if(0===a)break t;a--,u+=i[o++]<<l,l+=8}if(4&r.wrap&&u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=iE;break}u=0,l=0}r.mode=16208;case 16208:E=z_;break t;case iE:E=V_;break t;case 16210:return Z_;default:return H_}return t.next_out=s,t.avail_out=h,t.next_in=o,t.avail_in=a,r.hold=u,r.bits=l,(r.wsize||f!==t.avail_out&&r.mode<iE&&(r.mode<rE||e!==D_))&&pE(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,r.total+=f,4&r.wrap&&f&&(t.adler=r.check=r.flags?sM(r.check,n,f,t.next_out-f):nM(r.check,n,f,t.next_out-f)),t.data_type=r.bits+(r.last?64:0)+(r.mode===W_?128:0)+(r.mode===tE||r.mode===X_?256:0),(0===c&&0===f||e===D_)&&E===j_&&(E=G_),E},yE={inflateReset:hE,inflateReset2:uE,inflateResetKeep:aE,inflateInit:t=>lE(t,15),inflateInit2:lE,inflate:gE,inflateEnd:t=>{if(sE(t))return H_;let e=t.state;return e.window&&(e.window=null),t.state=null,j_},inflateGetHeader:(t,e)=>{if(sE(t))return H_;const r=t.state;return 0==(2&r.wrap)?H_:(r.head=e,e.done=!1,j_)},inflateSetDictionary:(t,e)=>{const r=e.length;let i,n,o;return sE(t)?H_:(i=t.state,0!==i.wrap&&i.mode!==Q_?H_:i.mode===Q_&&(n=1,n=nM(n,e,r,0),n!==i.check)?V_:(o=pE(t,e,r,r),o?(i.mode=16210,Z_):(i.havedict=1,j_)))},inflateInfo:"pako inflate (from Nodeca project)"};var vE=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const wE=Object.prototype.toString,{Z_NO_FLUSH:bE,Z_FINISH:ME,Z_OK:_E,Z_STREAM_END:EE,Z_NEED_DICT:AE,Z_STREAM_ERROR:kE,Z_DATA_ERROR:xE,Z_MEM_ERROR:NE}=hM;function SE(t){this.options=u_({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new g_,this.strm.avail_out=0;let r=yE.inflateInit2(this.strm,e.windowBits);if(r!==_E)throw new Error(aM[r]);if(this.header=new vE,yE.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=d_(e.dictionary):"[object ArrayBuffer]"===wE.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=yE.inflateSetDictionary(this.strm,e.dictionary),r!==_E)))throw new Error(aM[r])}function IE(t,e){const r=new SE(e);if(r.push(t),r.err)throw r.msg||aM[r.err];return r.result}SE.prototype.push=function(t,e){const r=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(s=e===~~e?e:!0===e?ME:bE,"[object ArrayBuffer]"===wE.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(i),r.next_out=0,r.avail_out=i),o=yE.inflate(r,s),o===AE&&n&&(o=yE.inflateSetDictionary(r,n),o===_E?o=yE.inflate(r,s):o===xE&&(o=AE));r.avail_in>0&&o===EE&&r.state.wrap>0&&0!==t[r.next_in];)yE.inflateReset(r),o=yE.inflate(r,s);switch(o){case kE:case xE:case AE:case NE:return this.onEnd(o),this.ended=!0,!1}if(a=r.avail_out,r.next_out&&(0===r.avail_out||o===EE))if("string"===this.options.to){let t=p_(r.output,r.next_out),e=r.next_out-t,n=m_(r.output,t);r.next_out=e,r.avail_out=i-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(n)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==_E||0!==a){if(o===EE)return o=yE.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},SE.prototype.onData=function(t){this.chunks.push(t)},SE.prototype.onEnd=function(t){t===_E&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=l_(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var RE={Inflate:SE,inflate:IE,inflateRaw:function(t,e){return(e=e||{}).raw=!0,IE(t,e)},ungzip:IE,constants:hM};const{Deflate:TE,deflate:CE,deflateRaw:PE,gzip:OE}=I_,{Inflate:BE,inflate:$E,inflateRaw:UE,ungzip:DE}=RE;var LE=OE,FE=DE,jE="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==$&&$||{},zE="URLSearchParams"in jE,qE="Symbol"in jE&&"iterator"in Symbol,HE="FileReader"in jE&&"Blob"in jE&&function(){try{return new Blob,!0}catch(t){return!1}}(),VE="FormData"in jE,ZE="ArrayBuffer"in jE;if(ZE)var GE=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],KE=ArrayBuffer.isView||function(t){return t&&GE.indexOf(Object.prototype.toString.call(t))>-1};function JE(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(t)||""===t)throw new TypeError('Invalid character in header field name: "'+t+'"');return t.toLowerCase()}function QE(t){return"string"!=typeof t&&(t=String(t)),t}function WE(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return qE&&(e[Symbol.iterator]=function(){return e}),e}function YE(t){this.map={},t instanceof YE?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){if(2!=t.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+t.length);this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function XE(t){if(!t._noBody)return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function tA(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function eA(t){var e=new FileReader,r=tA(e);return e.readAsArrayBuffer(t),r}function rA(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function iA(){return this.bodyUsed=!1,this._initBody=function(t){var e;this.bodyUsed=this.bodyUsed,this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:HE&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:VE&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:zE&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():ZE&&HE&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=rA(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):ZE&&(ArrayBuffer.prototype.isPrototypeOf(t)||KE(t))?this._bodyArrayBuffer=rA(t):this._bodyText=t=Object.prototype.toString.call(t):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):zE&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},HE&&(this.blob=function(){var t=XE(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var t=XE(this);return t||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(HE)return this.blob().then(eA);throw new Error("could not read as ArrayBuffer")},this.text=function(){var t,e,r,i,n,o=XE(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=tA(e),i=/charset=([A-Za-z0-9_-]+)/.exec(t.type),n=i?i[1]:"utf-8",e.readAsText(t,n),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),i=0;i<e.length;i++)r[i]=String.fromCharCode(e[i]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},VE&&(this.formData=function(){return this.text().then(sA)}),this.json=function(){return this.text().then(JSON.parse)},this}YE.prototype.append=function(t,e){t=JE(t),e=QE(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},YE.prototype.delete=function(t){delete this.map[JE(t)]},YE.prototype.get=function(t){return t=JE(t),this.has(t)?this.map[t]:null},YE.prototype.has=function(t){return this.map.hasOwnProperty(JE(t))},YE.prototype.set=function(t,e){this.map[JE(t)]=QE(e)},YE.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},YE.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),WE(t)},YE.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),WE(t)},YE.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),WE(t)},qE&&(YE.prototype[Symbol.iterator]=YE.prototype.entries);var nA=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function oA(t,e){if(!(this instanceof oA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,i,n=(e=e||{}).body;if(t instanceof oA){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new YE(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new YE(e.headers)),this.method=(r=e.method||this.method||"GET",i=r.toUpperCase(),nA.indexOf(i)>-1?i:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal||function(){if("AbortController"in jE)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==e.cache&&"no-cache"!==e.cache)){var o=/([?&])_=[^&]*/;if(o.test(this.url))this.url=this.url.replace(o,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function sA(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),i=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(i),decodeURIComponent(n))}})),e}function aA(t,e){if(!(this instanceof aA))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===e.statusText?"":""+e.statusText,this.headers=new YE(e.headers),this.url=e.url||"",this._initBody(t)}oA.prototype.clone=function(){return new oA(this,{body:this._bodyInit})},iA.call(oA.prototype),iA.call(aA.prototype),aA.prototype.clone=function(){return new aA(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new YE(this.headers),url:this.url})},aA.error=function(){var t=new aA(null,{status:200,statusText:""});return t.ok=!1,t.status=0,t.type="error",t};var hA=[301,302,303,307,308];aA.redirect=function(t,e){if(-1===hA.indexOf(e))throw new RangeError("Invalid status code");return new aA(null,{status:e,headers:{location:t}})};var uA=jE.DOMException;try{new uA}catch(UM){uA=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},uA.prototype=Object.create(Error.prototype),uA.prototype.constructor=uA}function lA(t,e){return new Promise((function(r,i){var n=new oA(t,e);if(n.signal&&n.signal.aborted)return i(new uA("Aborted","AbortError"));var o=new XMLHttpRequest;function s(){o.abort()}if(o.onload=function(){var t,e,i={statusText:o.statusText,headers:(t=o.getAllResponseHeaders()||"",e=new YE,t.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(t){return 0===t.indexOf("\n")?t.substr(1,t.length):t})).forEach((function(t){var r=t.split(":"),i=r.shift().trim();if(i){var n=r.join(":").trim();try{e.append(i,n)}catch(t){console.warn("Response "+t.message)}}})),e)};0===n.url.indexOf("file://")&&(o.status<200||o.status>599)?i.status=200:i.status=o.status,i.url="responseURL"in o?o.responseURL:i.headers.get("X-Request-URL");var s="response"in o?o.response:o.responseText;setTimeout((function(){r(new aA(s,i))}),0)},o.onerror=function(){setTimeout((function(){i(new TypeError("Network request failed"))}),0)},o.ontimeout=function(){setTimeout((function(){i(new TypeError("Network request timed out"))}),0)},o.onabort=function(){setTimeout((function(){i(new uA("Aborted","AbortError"))}),0)},o.open(n.method,function(t){try{return""===t&&jE.location.href?jE.location.href:t}catch(e){return t}}(n.url),!0),"include"===n.credentials?o.withCredentials=!0:"omit"===n.credentials&&(o.withCredentials=!1),"responseType"in o&&(HE?o.responseType="blob":ZE&&(o.responseType="arraybuffer")),e&&"object"==typeof e.headers&&!(e.headers instanceof YE||jE.Headers&&e.headers instanceof jE.Headers)){var a=[];Object.getOwnPropertyNames(e.headers).forEach((function(t){a.push(JE(t)),o.setRequestHeader(t,QE(e.headers[t]))})),n.headers.forEach((function(t,e){-1===a.indexOf(e)&&o.setRequestHeader(e,t)}))}else n.headers.forEach((function(t,e){o.setRequestHeader(e,t)}));n.signal&&(n.signal.addEventListener("abort",s),o.onreadystatechange=function(){4===o.readyState&&n.signal.removeEventListener("abort",s)}),o.send(void 0===n._bodyInit?null:n._bodyInit)}))}lA.polyfill=!0,jE.fetch||(jE.fetch=lA,jE.Headers=YE,jE.Request=oA,jE.Response=aA);var cA=self.fetch.bind(self),fA=o((function(t){var e,i;e=r,i=function(){function t(t){var e=[];if(0===t.length)return"";if("string"!=typeof t[0])throw new TypeError("Url must be a string. Received "+t[0]);if(t[0].match(/^[^/:]+:\/*$/)&&t.length>1){var r=t.shift();t[0]=r+t[0]}t[0].match(/^file:\/\/\//)?t[0]=t[0].replace(/^([^/:]+):\/*/,"$1:///"):t[0]=t[0].replace(/^([^/:]+):\/*/,"$1://");for(var i=0;i<t.length;i++){var n=t[i];if("string"!=typeof n)throw new TypeError("Url must be a string. Received "+n);""!==n&&(i>0&&(n=n.replace(/^[\/]+/,"")),n=i<t.length-1?n.replace(/[\/]+$/,""):n.replace(/[\/]+$/,"/"),e.push(n))}var o=e.join("/"),s=(o=o.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return o=s.shift()+(s.length>0?"?":"")+s.join("&")}return function(){return t("object"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},t.exports?t.exports=i():e.urljoin=i()})),dA=Object.defineProperty,mA=(t,e)=>{for(var r in e)dA(t,r,{get:e[r],enumerable:!0})};mA({},{API_VERSION:()=>LA,BN_FEE_TRANSACTION_VERSION_1:()=>OA,BN_FEE_TRANSACTION_VERSION_2:()=>BA,BN_TRANSACTION_VERSION_1:()=>CA,BN_TRANSACTION_VERSION_2:()=>PA,BaseUrl:()=>FA,HEX_STR_TRANSACTION_VERSION_1:()=>RA,HEX_STR_TRANSACTION_VERSION_2:()=>TA,IS_BROWSER:()=>pA,MASK_250:()=>UA,MASK_251:()=>DA,NetworkName:()=>jA,RPC_GOERLI_NODES:()=>VA,RPC_MAINNET_NODES:()=>ZA,StarknetChainId:()=>zA,TEXT_TO_FELT_MAX_LEN:()=>IA,TransactionHashPrefix:()=>qA,UDC:()=>HA,ZERO:()=>$A});mA({},{IS_BROWSER:()=>pA,addHexPrefix:()=>EA,arrayBufferToString:()=>gA,atobUniversal:()=>wA,btoaUniversal:()=>bA,buf2hex:()=>MA,calcByteLength:()=>kA,padLeft:()=>AA,pascalToSnake:()=>SA,removeHexPrefix:()=>_A,sanitizeBytes:()=>xA,sanitizeHex:()=>NA,stringToArrayBuffer:()=>vA,utf8ToArray:()=>yA});var pA="undefined"!=typeof window;function gA(t){return new Uint8Array(t).reduce(((t,e)=>t+String.fromCharCode(e)),"")}function yA(t){return(new TextEncoder).encode(t)}function vA(t){return yA(t)}function wA(t){return Pg.decode(t)}function bA(t){return Pg.encode(new Uint8Array(t))}function MA(t){return t.reduce(((t,e)=>t+e.toString(16).padStart(2,"0")),"")}function _A(t){return t.replace(/^0x/i,"")}function EA(t){return`0x${_A(t)}`}function AA(t,e,r="0"){return function(t,e,r,i="0"){const n=e-t.length;let o=t;if(n>0){const e=i.repeat(n);o=r?e+t:t+e}return o}(t,e,!0,r)}function kA(t,e=8){const{length:r}=t,i=r%e;return i?(r-i)/e*e+e:r}function xA(t,e=8,r="0"){return AA(t,kA(t,e),r)}function NA(t){return(t=xA(t=_A(t),2))&&(t=EA(t)),t}var SA=t=>/[a-z]/.test(t)?t.split(/(?=[A-Z])/).join("_").toUpperCase():t,IA=31,RA="0x1",TA="0x2",CA=1n,PA=2n,OA=2n**128n+CA,BA=2n**128n+PA,$A=0n,UA=2n**250n-1n,DA=2n**251n,LA=$A,FA=(t=>(t.SN_MAIN="https://alpha-mainnet.starknet.io",t.SN_GOERLI="https://alpha4.starknet.io",t))(FA||{}),jA=(t=>(t.SN_MAIN="SN_MAIN",t.SN_GOERLI="SN_GOERLI",t))(jA||{}),zA=(t=>(t.SN_MAIN="0x534e5f4d41494e",t.SN_GOERLI="0x534e5f474f45524c49",t))(zA||{}),qA=(t=>(t.DECLARE="0x6465636c617265",t.DEPLOY="0x6465706c6f79",t.DEPLOY_ACCOUNT="0x6465706c6f795f6163636f756e74",t.INVOKE="0x696e766f6b65",t.L1_HANDLER="0x6c315f68616e646c6572",t))(qA||{}),HA={ADDRESS:"0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf",ENTRYPOINT:"deployContract"},VA=["https://starknet-testnet.public.blastapi.io/rpc/v0.5","https://limited-rpc.nethermind.io/goerli-juno/v0_5"],ZA=["https://starknet-mainnet.public.blastapi.io/rpc/v0.5","https://limited-rpc.nethermind.io/mainnet-juno/v0_5"];mA({},{BlockStatus:()=>rk,BlockTag:()=>ik,EntryPointType:()=>WA,Litteral:()=>QA,RPC:()=>nk,SIMULATION_FLAG:()=>GA,Sequencer:()=>pk,TransactionExecutionStatus:()=>ek,TransactionFinalityStatus:()=>tk,TransactionStatus:()=>XA,TransactionType:()=>YA,Uint:()=>JA,ValidateType:()=>KA});var GA=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_EXECUTE="SKIP_EXECUTE",t))(GA||{}),KA=(t=>(t.DEPLOY="DEPLOY",t.CALL="CALL",t.INVOKE="INVOKE",t))(KA||{}),JA=(t=>(t.u8="core::integer::u8",t.u16="core::integer::u16",t.u32="core::integer::u32",t.u64="core::integer::u64",t.u128="core::integer::u128",t.u256="core::integer::u256",t))(JA||{}),QA=(t=>(t.ClassHash="core::starknet::class_hash::ClassHash",t.ContractAddress="core::starknet::contract_address::ContractAddress",t))(QA||{}),WA=(t=>(t.EXTERNAL="EXTERNAL",t.L1_HANDLER="L1_HANDLER",t.CONSTRUCTOR="CONSTRUCTOR",t))(WA||{}),YA=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE_FUNCTION",t))(YA||{}),XA=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.REJECTED="REJECTED",t.REVERTED="REVERTED",t))(XA||{}),tk=(t=>(t.NOT_RECEIVED="NOT_RECEIVED",t.RECEIVED="RECEIVED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(tk||{}),ek=(t=>(t.REJECTED="REJECTED",t.REVERTED="REVERTED",t.SUCCEEDED="SUCCEEDED",t))(ek||{}),rk=(t=>(t.PENDING="PENDING",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.REJECTED="REJECTED",t))(rk||{}),ik=(t=>(t.pending="pending",t.latest="latest",t))(ik||{}),nk={};mA(nk,{EBlockTag:()=>dk,EDataAvailabilityMode:()=>mk,ESimulationFlag:()=>uk,ETransactionExecutionStatus:()=>fk,ETransactionFinalityStatus:()=>ck,ETransactionStatus:()=>lk,ETransactionType:()=>hk,Errors:()=>sk,JRPC:()=>ok,SPEC:()=>ak});var ok={},sk={},ak={},hk=(t=>(t.DECLARE="DECLARE",t.DEPLOY="DEPLOY",t.DEPLOY_ACCOUNT="DEPLOY_ACCOUNT",t.INVOKE="INVOKE",t.L1_HANDLER="L1_HANDLER",t))(hk||{}),uk=(t=>(t.SKIP_VALIDATE="SKIP_VALIDATE",t.SKIP_FEE_CHARGE="SKIP_FEE_CHARGE",t))(uk||{}),lk=(t=>(t.RECEIVED="RECEIVED",t.REJECTED="REJECTED",t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(lk||{}),ck=(t=>(t.ACCEPTED_ON_L2="ACCEPTED_ON_L2",t.ACCEPTED_ON_L1="ACCEPTED_ON_L1",t))(ck||{}),fk=(t=>(t.SUCCEEDED="SUCCEEDED",t.REVERTED="REVERTED",t))(fk||{}),dk=(t=>(t.LATEST="latest",t.PENDING="pending",t))(dk||{}),mk=(t=>(t.L1="L1",t.L2="L2",t))(mk||{}),pk={};function gk(t,e){if(!t)throw new Error(e||"Assertion failure")}function yk(t){return/^0x[0-9a-f]*$/i.test(t)}function vk(t){return BigInt(t)}function wk(t){return"bigint"==typeof t}function bk(t){return EA(vk(t).toString(16))}mA({},{assertInRange:()=>kk,bigNumberishArrayToDecimalStringArray:()=>xk,bigNumberishArrayToHexadecimalStringArray:()=>Nk,cleanHex:()=>Ak,getDecimalString:()=>Ik,getHexString:()=>Rk,getHexStringArray:()=>Tk,hexToBytes:()=>Pk,hexToDecimalString:()=>Ek,isBigInt:()=>wk,isHex:()=>yk,isStringWholeNumber:()=>Sk,toBigInt:()=>vk,toCairoBool:()=>Ck,toHex:()=>bk,toHexString:()=>Mk,toStorageKey:()=>_k});var Mk=bk;function _k(t){return EA(vk(t).toString(16).padStart(64,"0"))}function Ek(t){return BigInt(EA(t)).toString(10)}var Ak=t=>t.toLowerCase().replace(/^(0x)0+/,"$1");function kk(t,e,r,i=""){const n=""===i?"invalid length":`invalid ${i} length`,o=BigInt(t),s=BigInt(e),a=BigInt(r);gk(o>=s&&o<=a,`Message not signable, ${n}.`)}function xk(t){return t.map((t=>vk(t).toString(10)))}function Nk(t){return t.map((t=>bk(t)))}var Sk=t=>/^\d+$/.test(t);function Ik(t){if(yk(t))return Ek(t);if(Sk(t))return t;throw new Error(`${t} need to be hex-string or whole-number-string`)}function Rk(t){if(yk(t))return t;if(Sk(t))return Mk(t);throw new Error(`${t} need to be hex-string or whole-number-string`)}function Tk(t){return t.map((t=>Rk(t)))}var Ck=t=>(+t).toString();function Pk(t){if(!yk(t))throw new Error(`${t} need to be a hex-string`);let e=_A(t);return e.length%2!=0&&(e=`0${e}`),zg(e)}function Ok(t){const e=_A(bk(BigInt(t))),r=e.length%2==0?e:`0${e}`;return EA(iw(Pk(EA(r))).toString(16))}function Bk(t){const e=BigInt(function(t){return EA(iw(yA(t)).toString(16))}(t));return e&UA}function $k(t){return bk(Bk(t))}function Uk(t){return yk(t)?t:Sk(t)?Mk(t):$k(t)}mA({},{getSelector:()=>Uk,getSelectorFromName:()=>$k,keccakBn:()=>Ok,starknetKeccak:()=>Bk});function Dk(t){return/^[\x00-\x7F]*$/.test(t)}function Lk(t){return t.length<=IA}function Fk(t){return/^[0-9]*$/i.test(t)}function jk(t){return"string"==typeof t&&!yk(t)&&!Sk(t)}mA({},{decodeShortString:()=>Zk,encodeShortString:()=>Vk,isASCII:()=>Dk,isDecimalString:()=>Fk,isLongText:()=>qk,isShortString:()=>Lk,isShortText:()=>zk,isText:()=>jk,splitLongString:()=>Hk});var zk=t=>jk(t)&&Lk(t),qk=t=>jk(t)&&!Lk(t);function Hk(t){const e=RegExp(`[^]{1,${IA}}`,"g");return t.match(e)||[]}function Vk(t){if(!Dk(t))throw new Error(`${t} is not an ASCII string`);if(!Lk(t))throw new Error(`${t} is too long`);return EA(t.replace(/./g,(t=>t.charCodeAt(0).toString(16))))}function Zk(t){if(!Dk(t))throw new Error(`${t} is not an ASCII string`);if(yk(t))return _A(t).replace(/.{2}/g,(t=>String.fromCharCode(parseInt(t,16))));if(Fk(t))return Zk("0X".concat(BigInt(t).toString(16)));throw new Error(`${t} is not Hex or decimal`)}var Gk={};mA(Gk,{felt:()=>bx,getAbiContractVersion:()=>yx,getArrayType:()=>px,isCairo1Abi:()=>gx,isCairo1Type:()=>mx,isLen:()=>Xk,isTypeArray:()=>ex,isTypeBool:()=>cx,isTypeContractAddress:()=>fx,isTypeEnum:()=>ox,isTypeEthAddress:()=>dx,isTypeFelt:()=>tx,isTypeLitteral:()=>ux,isTypeNamedTuple:()=>ix,isTypeOption:()=>sx,isTypeResult:()=>ax,isTypeStruct:()=>nx,isTypeTuple:()=>rx,isTypeUint:()=>hx,isTypeUint256:()=>lx,tuple:()=>wx,uint256:()=>vx});mA({},{UINT_128_MAX:()=>Kk,UINT_256_MAX:()=>Jk,bnToUint256:()=>Yk,isUint256:()=>Wk,uint256ToBN:()=>Qk});var Kk=(1n<<128n)-1n,Jk=(1n<<256n)-1n;function Qk(t){return(vk(t.high)<<128n)+vk(t.low)}function Wk(t){return vk(t)<=Jk}function Yk(t){const e=vk(t);if(!Wk(e))throw new Error("Number is too large");return{low:EA((e&Kk).toString(16)),high:EA((e>>128n).toString(16))}}var Xk=t=>/_len$/.test(t),tx=t=>"felt"===t||"core::felt252"===t,ex=t=>/\*/.test(t)||t.startsWith("core::array::Array::")||t.startsWith("core::array::Span::"),rx=t=>/^\(.*\)$/i.test(t),ix=t=>/\(.*\)/i.test(t)&&t.includes(":"),nx=(t,e)=>t in e,ox=(t,e)=>t in e,sx=t=>t.startsWith("core::option::Option::"),ax=t=>t.startsWith("core::result::Result::"),hx=t=>Object.values(JA).includes(t),ux=t=>Object.values(QA).includes(t),lx=t=>"core::integer::u256"===t,cx=t=>"core::bool"===t,fx=t=>"core::starknet::contract_address::ContractAddress"===t,dx=t=>"core::starknet::eth_address::EthAddress"===t,mx=t=>t.includes("::"),px=t=>mx(t)?t.substring(t.indexOf("<")+1,t.lastIndexOf(">")):t.replace("*","");function gx(t){const{cairo:e}=yx(t);if(void 0===e)throw Error("Unable to determine Cairo version");return"1"===e}function yx(t){if(t.find((t=>"interface"===t.type)))return{cairo:"1",compiler:"2"};const e=t.find((t=>"function"===t.type&&(t.inputs.length||t.outputs.length)));if(!e)return{cairo:void 0,compiler:void 0};const r=e.inputs.length?e.inputs:e.outputs;return mx(r[0].type)?{cairo:"1",compiler:"1"}:{cairo:"0",compiler:"0"}}var vx=t=>{const e=BigInt(t);if(!Wk(e))throw new Error("Number is too large");return{low:(e&Kk).toString(10),high:(e>>128n).toString(10)}},wx=(...t)=>({...t});function bx(t){if(wk(t)||"number"==typeof t&&Number.isInteger(t))return t.toString();if(jk(t)){if(!Lk(t))throw new Error(`${t} is a long string > 31 chars, felt can store short strings, split it to array of short strings`);const e=Vk(t);return BigInt(e).toString()}if("string"==typeof t&&yk(t))return BigInt(t).toString();if("string"==typeof t&&Sk(t))return t;if("boolean"==typeof t)return""+ +t;throw new Error(`${t} can't be computed by felt()`)}var Mx=class{constructor(t){const e=Object.values(t);if(0===e.length)throw new Error("This Enum must have a least 1 variant");if(1!==e.filter((t=>void 0!==t)).length)throw new Error("This Enum must have exactly one active variant");this.variant=t}unwrap(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));if(void 0!==t)return t[1]}activeVariant(){const t=Object.entries(this.variant).find((t=>void 0!==t[1]));return void 0===t?"":t[0]}},_x=(t=>(t[t.Some=0]="Some",t[t.None=1]="None",t))(_x||{}),Ex=class{constructor(t,e){if(!(t in _x))throw new Error("Wrong variant : should be CairoOptionVariant.Some or .None.");if(0===t){if(void 0===e)throw new Error('The creation of a Cairo Option with "Some" variant needs a content as input.');this.Some=e,this.None=void 0}else this.Some=void 0,this.None=!0}unwrap(){if(!this.None)return this.Some}isSome(){return!(void 0===this.Some)}isNone(){return!0===this.None}},Ax=(t=>(t[t.Ok=0]="Ok",t[t.Err=1]="Err",t))(Ax||{}),kx=class{constructor(t,e){if(!(t in Ax))throw new Error("Wrong variant : should be CairoResultVariant.Ok or .Err.");0===t?(this.Ok=e,this.Err=void 0):(this.Ok=void 0,this.Err=e)}unwrap(){if(void 0!==this.Ok)return this.Ok;if(void 0!==this.Err)return this.Err;throw new Error("Both Result.Ok and .Err are undefined. Not authorized.")}isOk(){return!(void 0===this.Ok)}isErr(){return!(void 0===this.Err)}},xx=(t,e,r)=>{if(!wk(t[r]))throw new Error(`Data and formatter mismatch on ${r}:${e[r]}, expected response data ${r}:${t[r]} to be BN instead it is ${typeof t[r]}`)},Nx=(t,e,r)=>{throw new Error(`Unhandled formatter type on ${r}:${e[r]} for data ${r}:${t[r]}`)};function Sx(t,e,r){return Object.entries(t).reduce(((i,[n,o])=>{const s=r??e[n];if(!(n in e)&&!r)return i[n]=o,i;if("string"===s){if(Array.isArray(t[n])){const e=Sx(t[n],t[n].map((t=>s)));return i[n]=Object.values(e).join(""),i}return xx(t,e,n),i[n]=Zk(o),i}if("number"===s)return xx(t,e,n),i[n]=Number(o),i;if("function"==typeof s)return i[n]=s(o),i;if(Array.isArray(s)){const e=Sx(t[n],s,s[0]);return i[n]=Object.values(e),i}return"object"==typeof s?(i[n]=Sx(t[n],s),i):(Nx(t,e,n),i)}),{})}function Ix(t){const e=function(t){return t.find((t=>"interface"===t.type))?2:gx(t)?1:0}(t);if(0===e||1===e)return new class{constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.reduce(((t,e)=>Xk(e.name)?t:t+1),0)}getMethod(t){return this.abi.find((e=>e.name===t))}getLegacyFormat(){return this.abi}}(t);if(2===e)return new class{constructor(t){this.abi=t}methodInputsLength(t){return t.inputs.length}getMethod(t){return this.abi.find((t=>"interface"===t.type)).items.find((e=>e.name===t))}getLegacyFormat(){return this.abi.flatMap((t=>"interface"===t.type?t.items:t))}}(t);throw Error(`Unsupported ABI version ${e}`)}function Rx(t,e,r){return"constructor"===t&&!r&&!e.length}function Tx(t){if(!t.includes("("))return{subTuple:[],result:t};const e=[];let r="",i=0;for(;i<t.length;){if("("===t[i]){let n=1;const o=i;for(i++;n;)")"===t[i]&&n--,"("===t[i]&&n++,i++;e.push(t.substring(o,i)),r+=" ",i--}else r+=t[i];i++}return{subTuple:e,result:r}}function Cx(t){return mx(t)?function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Tx(e);return i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t))}(t):function(t){const e=t.replace(/\s/g,"").slice(1,-1),{subTuple:r,result:i}=Tx(e);let n=i.split(",").map((t=>r.length?t.replace(" ",r.shift()):t));return ix(t)&&(n=n.reduce(((t,e)=>t.concat(function(t){const e=t.substring(0,t.indexOf(":"));return{name:e,type:t.substring(e.length+":".length)}}(e))),[])),n}(t)}function Px(t,e,r,i){const n=(t,e)=>{if(ex(e))return function(t,e){const r=px(e);if("string"==typeof t)return t;return t.map((t=>n(t,r)))}(t,e);if(ox(e,i)){const r=i[e];return s(t,r)}if(rx(e))return function(t,e){const r=Cx(e).reduce(((e,r,i)=>{const o=Object.keys(t),s=r=>Object.defineProperty(e,i.toString(),{enumerable:!0,value:r??t[o[i]]}),a=r?.type?r.type:r;return s(n(t[o[i]],a)),e}),{});return r}(t,e);if(dx(e))return t;if(lx(e)){const r=t;if("object"!=typeof r)return r;if(!("low"in r)||!("high"in r))throw function(t){return Error(`Your object includes the property : ${t}, containing an Uint256 object without the 'low' and 'high' keys.`)}(e);return{low:r.low,high:r.high}}if(nx(e,r)){const i=r[e].members;return o(t,i)}return t},o=(t,e)=>e.reduce(((e,r)=>{if("undefined"===t[r.name]&&(mx(r.type)||!Xk(r.name)))throw Error(`Your object needs a property with key : ${r.name} .`);var i;return i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i??t[r.name]}),e}),{});const s=(t,e)=>{if(ax(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(",")),o=e.name.substring(e.name.indexOf(",")+1,e.name.lastIndexOf(">"));return r.isOk()?new kx(0,n(t.unwrap(),i)):new kx(1,n(t.unwrap(),o))}if(sx(e.name)){const r=t,i=e.name.substring(e.name.indexOf("<")+1,e.name.lastIndexOf(">"));return r.isSome()?new Ex(0,n(r.unwrap(),i)):new Ex(1,{})}const r=t,i=Object.entries(r.variant).map((t=>{if(void 0===t[1])return t;const i=e.type.substring(e.type.lastIndexOf("<")+1,e.type.lastIndexOf(">"));return"()"===i?t:[t[0],n(r.unwrap(),i)]}));return new Mx(Object.fromEntries(i))};return e.reduce(((e,r)=>{return Xk(r.name)&&!mx(r.type)||(i=n(t[r.name],r.type),Object.defineProperty(e,r.name,{enumerable:!0,value:i})),e;var i}),{})}function Ox(t,e){if(!0===lx(t)){const t=vx(e);return[bx(t.low),bx(t.high)]}return bx(e)}function Bx(t){if("object"==typeof t){const{low:e,high:r}=t;return[bx(e),bx(r)]}const e=vx(t);return[bx(e.low),bx(e.high)]}function $x(t,e,r,i){if(void 0===t)throw Error(`Missing parameter for type ${e}`);if(Array.isArray(t)){const n=[];n.push(bx(t.length));const o=px(e);return t.reduce(((t,e)=>t.concat($x(e,o,r,i))),n)}if(r[e]&&r[e].members.length){if(lx(e))return Bx(t);if("core::starknet::eth_address::EthAddress"===e)return Ox(e,t);const{members:n}=r[e],o=t;return n.reduce(((t,e)=>t.concat($x(o[e.name],e.type,r,i))),[])}if(rx(e)){const n=function(t,e){const r=Cx(e),i=Object.values(t);if(i.length!==r.length)throw Error(`ParseTuple: provided and expected abi tuple size do not match.\n provided: ${i} \n expected: ${r}`);return r.map(((t,e)=>({element:i[e],type:t.type??t})))}(t,e);return n.reduce(((t,e)=>{const n=$x(e.element,e.type,r,i);return t.concat(n)}),[])}if(lx(e))return Bx(t);if(ox(e,i)){const{variants:n}=i[e];if(sx(e)){const e=t;if(e.isSome()){const t=n.find((t=>"Some"===t.name));if(void 0===t)throw Error("Error in abi : Option has no 'Some' variant.");const o=t.type;if("()"===o)return(0).toString();const s=$x(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}return 1..toString()}if(ax(e)){const e=t;if(e.isOk()){const t=n.find((t=>"Ok"===t.name));if(void 0===t)throw Error("Error in abi : Result has no 'Ok' variant.");const o=t.type;if("()"===o)return(0).toString();const s=$x(e.unwrap(),o,r,i);return Array.isArray(s)?[(0).toString(),...s]:[(0).toString(),s]}const o=n.find((t=>"Err"===t.name));if(void 0===o)throw Error("Error in abi : Result has no 'Err' variant.");const s=o.type;if("()"===s)return 1..toString();const a=$x(e.unwrap(),s,r,i);return Array.isArray(a)?[1..toString(),...a]:[1..toString(),a]}const o=t,s=o.activeVariant(),a=n.find((t=>t.name===s));if(void 0===a)throw Error(`Not find in abi : Enum has no '${s}' variant.`);const h=a.type,u=n.findIndex((t=>t.name===s));if("()"===h)return u.toString();const l=$x(o.unwrap(),h,r,i);return Array.isArray(l)?[u.toString(),...l]:[u.toString(),l]}if("object"==typeof t)throw Error(`Parameter ${t} do not align with abi parameter ${e}`);return Ox(e,t)}function Ux(t,e){let r;switch(!0){case cx(t):return r=e.next().value,Boolean(BigInt(r));case lx(t):return Qk({low:e.next().value,high:e.next().value});default:return r=e.next().value,BigInt(r)}}function Dx(t,e,r,i){if("()"===e.type)return{};if(lx(e.type)){return Qk({low:t.next().value,high:t.next().value})}if(ex(e.type)){const n=[],o={name:"",type:px(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Dx(t,o,r,i));return n}if(r&&e.type in r&&r[e.type])return"core::starknet::eth_address::EthAddress"===e.type?Ux(e.type,t):r[e.type].members.reduce(((e,n)=>(e[n.name]=Dx(t,n,r,i),e)),{});if(i&&e.type in i&&i[e.type]){const n=Number(t.next().value),o=i[e.type].variants.reduce(((e,o,s)=>s===n?(e[o.name]=Dx(t,{name:"",type:o.type},r,i),e):(e[o.name]=void 0,e)),{});if(e.type.startsWith("core::option::Option")){const t=0===n?o.Some:void 0;return new Ex(n,t)}if(e.type.startsWith("core::result::Result")){let t;return t=0===n?o.Ok:o.Err,new kx(n,t)}return new Mx(o)}if(rx(e.type)){return Cx(e.type).reduce(((e,n,o)=>{const s=n?.name?n.name:o,a={name:s,type:n?.type?n.type:n};return e[s]=Dx(t,a,r,i),e}),{})}if(ex(e.type)){const n=[],o={name:"",type:px(e.type)},s=BigInt(t.next().value);for(;n.length<s;)n.push(Dx(t,o,r,i));return n}return Ux(e.type,t)}function Lx(t,e,r,i,n){const{name:o,type:s}=e;let a;switch(!0){case Xk(o):return a=t.next().value,BigInt(a);case r&&s in r||rx(s):case i&&ox(s,i):return Dx(t,e,r,i);case ex(s):if(mx(s))return Dx(t,e,r,i);const h=[];if(n&&n[`${o}_len`]){const s=n[`${o}_len`];for(;h.length<s;)h.push(Dx(t,{name:o,type:e.type.replace("*","")},r,i))}return h;default:return Ux(s,t)}}var Fx=(t,e)=>{if(gk("string"==typeof t||"number"==typeof t||"bigint"==typeof t,`Validate: arg ${e.name} should be a felt typed as (String, Number or BigInt)`),"string"==typeof t&&!yk(t))return;const r=BigInt(t.toString(10));gk(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)},jx=(t,e)=>{"number"==typeof t&&gk(t<=Number.MAX_SAFE_INTEGER,"Validation: Parameter is to large to be typed as Number use (BigInt or String)"),gk("string"==typeof t||"number"==typeof t||"bigint"==typeof t||"object"==typeof t&&"low"in t&&"high"in t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (String, Number or BigInt), but is ${typeof t} ${t}.`);const r="object"==typeof t?Qk(t):vk(t);switch(e.type){case"core::integer::u8":gk(r>=0n&&r<=255n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0 - 255]`);break;case"core::integer::u16":gk(r>=0n&&r<=65535n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 65535]`);break;case"core::integer::u32":gk(r>=0n&&r<=4294967295n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 4294967295]`);break;case"core::integer::u64":gk(r>=0n&&r<=2n**64n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^64-1]`);break;case"core::integer::u128":gk(r>=0n&&r<=2n**128n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^128-1]`);break;case"core::integer::u256":gk(r>=0n&&r<=2n**256n-1n,`Validate: arg ${e.name} is ${e.type} 0 - 2^256-1`);break;case"core::starknet::class_hash::ClassHash":case"core::starknet::contract_address::ContractAddress":gk(r>=0n&&r<=2n**252n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^252-1]`)}},zx=(t,e)=>{gk("boolean"==typeof t,`Validate: arg ${e.name} of cairo type ${e.type} should be type (Boolean)`)},qx=(t,e,r)=>{if("core::integer::u256"!==e.type)if("core::starknet::eth_address::EthAddress"!==e.type)gk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type struct (${e.type}), and should be defined as js object (not array)`),r[e.type].members.forEach((({name:r})=>{gk(Object.keys(t).includes(r),`Validate: arg ${e.name} should have a property ${r}`)}));else{gk("object"!=typeof t,`EthAdress type is waiting a BigNumberish. Got ${t}`);const r=BigInt(t.toString(10));gk(r>=0n&&r<=2n**160n-1n,`Validate: arg ${e.name} cairo typed ${e.type} should be in range [0, 2^160-1]`)}else jx(t,e)},Hx=(t,e)=>{gk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} is cairo type Enum (${e.type}), and should be defined as js object (not array)`);const r=Object.getOwnPropertyNames(Object.getPrototypeOf(t)),i=[...Object.getOwnPropertyNames(t),...r];if(!(sx(e.type)&&i.includes("isSome")&&i.includes("isNone")||ax(e.type)&&i.includes("isOk")&&i.includes("isErr")||i.includes("variant")&&i.includes("activeVariant")))throw new Error(`Validate Enum: argument ${e.name}, type ${e.type}, value received ${t}, is not an Enum.`)},Vx=(t,e)=>{gk("object"==typeof t&&!Array.isArray(t),`Validate: arg ${e.name} should be a tuple (defined as object)`)},Zx=(t,e,r,i)=>{const n=px(e.type);if(!tx(n)||!qk(t))switch(gk(Array.isArray(t),`Validate: arg ${e.name} should be an Array`),!0){case tx(n):t.forEach((t=>Fx(t,e)));break;case rx(n):t.forEach((t=>Vx(t,{name:e.name,type:n})));break;case ex(n):t.forEach((t=>Zx(t,{name:"",type:n},r,i)));break;case nx(n,r):t.forEach((t=>qx(t,{name:e.name,type:n},r)));break;case ox(n,i):t.forEach((t=>Hx(t,{name:e.name,type:n})));break;case hx(n)||ux(n):t.forEach((t=>jx(t,e)));break;case cx(n):t.forEach((t=>zx(t,e)));break;default:throw new Error(`Validate Unhandled: argument ${e.name}, type ${e.type}, value ${t}`)}};function Gx(t,e,r,i){t.inputs.reduce(((t,n)=>{const o=e[t];switch(!0){case Xk(n.name):return t;case tx(n.type):Fx(o,n);break;case hx(n.type)||ux(n.type):jx(o,n);break;case cx(n.type):zx(o,n);break;case ex(n.type):Zx(o,n,r,i);break;case nx(n.type,r):qx(o,n,r);break;case ox(n.type,i):Hx(o,n);break;case rx(n.type):Vx(o,n);break;default:throw new Error(`Validate Unhandled: argument ${n.name}, type ${n.type}, value ${o}`)}return t+1}),0)}var Kx=class{constructor(t){this.structs=Kx.getAbiStruct(t),this.enums=Kx.getAbiEnum(t),this.parser=Ix(t),this.abi=this.parser.getLegacyFormat()}validate(t,e,r=[]){if("DEPLOY"!==t){gk(this.abi.filter((e=>{if("function"!==e.type)return!1;const r="view"===e.stateMutability||"view"===e.state_mutability;return"INVOKE"===t?!r:r})).map((t=>t.name)).includes(e),("INVOKE"===t?"invocable":"viewable")+" method not found in abi")}const i=this.abi.find((r=>"DEPLOY"===t?r.name===e&&"constructor"===r.type:r.name===e&&"function"===r.type));if(Rx(e,r,i))return;const n=this.parser.methodInputsLength(i);if(r.length!==n)throw Error(`Invalid number of arguments, expected ${n} arguments, but got ${r.length}`);Gx(i,r,this.structs,this.enums)}compile(t,e){const r=this.abi.find((e=>e.name===t));if(Rx(t,e,r))return[];let i;if(Array.isArray(e))i=e;else{const t=Px(e,r.inputs,this.structs,this.enums);i=Object.values(t),Gx(r,i,this.structs,this.enums)}const n=i[Symbol.iterator](),o=r.inputs.reduce(((t,e)=>Xk(e.name)&&!mx(e.type)?t:t.concat(function(t,e,r,i){const{name:n,type:o}=e;let{value:s}=t.next();switch(!0){case ex(o):if(!Array.isArray(s)&&!jk(s))throw Error(`ABI expected parameter ${n} to be array or long string, got ${s}`);return"string"==typeof s&&(s=Hk(s)),$x(s,e.type,r,i);case"core::starknet::eth_address::EthAddress"===o:return Ox(o,s);case nx(o,r)||rx(o)||lx(o):case ox(o,i):return $x(s,o,r,i);default:return Ox(o,s)}}(n,e,this.structs,this.enums))),[]);return Object.defineProperty(o,"__compiled__",{enumerable:!1,writable:!1,value:!0}),o}static compile(t){const e=t=>{const e=(t,r=".")=>{const i=Array.isArray(t)?[t.length.toString(),...t]:t;return Object.entries(i).flatMap((([t,n])=>{let o=n;qk(o)&&(o=Hk(o)),"entrypoint"===t&&(o=$k(o));const s=Array.isArray(i)&&"0"===t?"$$len":t;if(wk(o))return[[`${r}${s}`,bx(o)]];if(Object(o)===o){const t=Object.getOwnPropertyNames(Object.getPrototypeOf(o)),i=[...Object.getOwnPropertyNames(o),...t];if(i.includes("isSome")&&i.includes("isNone")){const t=o,i=t.isSome()?0:1;return t.isSome()?e({0:i,1:t.unwrap()},`${r}${s}.`):[[`${r}${s}`,bx(i)]]}if(i.includes("isOk")&&i.includes("isErr")){const t=o,i=t.isOk()?0:1;return e({0:i,1:t.unwrap()},`${r}${s}.`)}if(i.includes("variant")&&i.includes("activeVariant")){const t=o,i=t.activeVariant(),n=Object.keys(t.variant).findIndex((t=>t===i));return"object"==typeof t.unwrap()&&0===Object.keys(t.unwrap()).length?[[`${r}${s}`,bx(n)]]:e({0:n,1:t.unwrap()},`${r}${s}.`)}return e(o,`${r}${s}.`)}return[[`${r}${s}`,bx(o)]]}))};return Object.fromEntries(e(t))};let r;if(Array.isArray(t)){const i=e({...t});r=Object.values(i)}else{const i=e(t);r=Object.values(i)}return Object.defineProperty(r,"__compiled__",{enumerable:!1,writable:!1,value:!0}),r}parse(t,e){const{outputs:r}=this.abi.find((e=>e.name===t)),i=e.flat()[Symbol.iterator](),n=r.flat().reduce(((t,e,r)=>{const n=e.name??r;return t[n]=Lx(i,e,this.structs,this.enums,t),t[n]&&t[`${n}_len`]&&delete t[`${n}_len`],t}),{});return 1===Object.keys(n).length&&0 in n?n[0]:n}format(t,e,r){return Sx(this.parse(t,e),r)}static getAbiStruct(t){return t.filter((t=>"struct"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{})}static getAbiEnum(t){const e=t.filter((t=>"enum"===t.type)).reduce(((t,e)=>({...t,[e.name]:e})),{});return delete e["core::bool"],e}static toCalldata(t=[]){return Kx.compile(t)}static toHex(t=[]){return Kx.compile(t).map((t=>bk(t)))}};mA({},{calculateContractAddressFromHash:()=>cN,calculateDeclareTransactionHash:()=>hN,calculateDeployAccountTransactionHash:()=>uN,calculateDeployTransactionHash:()=>aN,calculateTransactionHash:()=>lN,calculateTransactionHashCommon:()=>sN,computeCompiledClassHash:()=>yN,computeContractClassHash:()=>bN,computeHashOnElements:()=>oN,computeLegacyContractClassHash:()=>pN,computeSierraContractClassHash:()=>wN,default:()=>mN,feeTransactionVersion:()=>rN,feeTransactionVersion_2:()=>iN,formatSpaces:()=>dN,getSelector:()=>Uk,getSelectorFromName:()=>$k,getVersionsByType:()=>nN,keccakBn:()=>Ok,poseidon:()=>ov,starknetKeccak:()=>Bk,transactionVersion:()=>tN,transactionVersion_2:()=>eN});mA({},{starkCurve:()=>fw,weierstrass:()=>bv});mA({},{parse:()=>Qx,parseAlwaysAsBig:()=>Wx,stringify:()=>Yx,stringifyAlwaysAsBig:()=>Xx});var Jx=t=>{if(!dw(t))return parseFloat(t);const e=parseInt(t,10);return Number.isSafeInteger(e)?e:BigInt(t)},Qx=t=>$w(String(t),void 0,Jx),Wx=t=>$w(String(t),void 0,Iw),Yx=(t,e,r,i)=>gb(t,e,r,i),Xx=Yx,tN=CA,eN=PA,rN=OA,iN=BA;function nN(t){return"fee"===t?{v1:rN,v2:iN}:{v1:tN,v2:eN}}function oN(t){return[...t,t.length].reduce(((t,e)=>ew(vk(t),vk(e))),0).toString()}function sN(t,e,r,i,n,o,s,a=[]){const h=oN(n);return oN([t,e,r,i,h,o,s,...a])}function aN(t,e,r,i,n="constructor"){return sN("0x6465706c6f79",r,t,$k(n),e,0,i)}function hN(t,e,r,i,n,o,s){return sN("0x6465636c617265",r,e,0,[t],i,n,[o,...s?[s]:[]])}function uN(t,e,r,i,n,o,s,a){return sN("0x6465706c6f795f6163636f756e74",n,t,0,[e,i,...r],o,s,[a])}function lN(t,e,r,i,n,o){return sN("0x696e766f6b65",e,t,0,r,i,n,[o])}function cN(t,e,r,i){const n=oN(Kx.compile(r));return oN([bx("0x535441524b4e45545f434f4e54524143545f41444452455353"),i,t,e,n])}function fN(t,e){return"attributes"===t||"accessible_scopes"===t?Array.isArray(e)&&0===e.length?void 0:e:"debug_info"===t?null:null===e?void 0:e}function dN(t){let e=!1;const r=[];for(const i of t)'"'===i&&!1==(r.length>0&&"\\"===r.slice(-1)[0])&&(e=!e),e?r.push(i):r.push(":"===i?": ":","===i?", ":i);return r.join("")}function mN(t){const{abi:e,program:r}=t,i=dN(Yx({abi:e,program:r},fN));return EA(iw(yA(i)).toString(16))}function pN(t){const e="string"==typeof t?Qx(t):t,r=bk(LA),i=oN(e.entry_points_by_type.EXTERNAL.flatMap((t=>[t.selector,t.offset]))),n=oN(e.entry_points_by_type.L1_HANDLER.flatMap((t=>[t.selector,t.offset]))),o=oN(e.entry_points_by_type.CONSTRUCTOR.flatMap((t=>[t.selector,t.offset]))),s=oN(e.program.builtins.map((t=>Vk(t)))),a=mN(e),h=oN(e.program.data);return oN([r,i,n,o,s,a,h])}function gN(t){const e=t.flatMap((t=>{return[BigInt(t.selector),BigInt(t.offset),(e=t.builtins,cw(e.flatMap((t=>BigInt(Vk(t))))))];var e}));return cw(e)}function yN(t){const e=BigInt(Vk("COMPILED_CLASS_V1")),r=gN(t.entry_points_by_type.EXTERNAL),i=gN(t.entry_points_by_type.L1_HANDLER),n=gN(t.entry_points_by_type.CONSTRUCTOR),o=cw(t.bytecode.map((t=>BigInt(t))));return bk(cw([e,r,i,n,o]))}function vN(t){return cw(t.flatMap((t=>[BigInt(t.selector),BigInt(t.function_idx)])))}function wN(t){const e=BigInt(Vk("CONTRACT_CLASS_V0.1.0")),r=vN(t.entry_points_by_type.EXTERNAL),i=vN(t.entry_points_by_type.L1_HANDLER),n=vN(t.entry_points_by_type.CONSTRUCTOR),o=function(t){const e=dN(Yx(t.abi,null));return BigInt(EA(iw(yA(e)).toString(16)))}(t),s=cw(t.sierra_program.map((t=>BigInt(t))));return bk(cw([e,r,i,n,o,s]))}function bN(t){const e="string"==typeof t?Qx(t):t;return"sierra_program"in e?wN(e):pN(e)}function MN(t){const e="string"==typeof t?t:Yx(t);return bA(LE(e))}function _N(t){if(Array.isArray(t))return t;const e=gA(FE(wA(t)));return Qx(e)}function EN(){return Gv(qv.randomPrivateKey())}function AN(t){return EA(t).toLowerCase()}function kN(t){if(!t)throw Error("formatSignature: provided signature is undefined");if(Array.isArray(t))return t.map((t=>bk(t)));try{const{r:e,s:r}=t;return[bk(e),bk(r)]}catch(t){throw new Error("Signature need to be weierstrass.SignatureType or an array for custom")}}function xN(t){return xk(kN(t))}function NN(t){return Nk(kN(t))}function SN(t,e=.5){const r=Math.round(100*(1+e));return vk(t)*vk(r)/100n}function IN(t){return"sierra_program"in("string"==typeof t?Qx(t):t)}mA({},{compressProgram:()=>MN,decompressProgram:()=>_N,estimatedFeeToMaxFee:()=>SN,formatSignature:()=>kN,makeAddress:()=>AN,randomAddress:()=>EN,signatureToDecimalArray:()=>xN,signatureToHexArray:()=>NN});var RN="undefined"!=typeof window&&window.fetch||"undefined"!=typeof global&&global.fetch||cA;function TN(t){return new Promise((e=>{setTimeout(e,t)}))}function CN(t){const e={...t};return delete e.sierra_program_debug_info,e.abi=dN(Yx(t.abi)),e.sierra_program=dN(Yx(t.sierra_program)),e.sierra_program=MN(e.sierra_program),e}function PN(t){const e="string"==typeof t?Qx(t):t;return IN(t)?CN(e):{...e,..."program"in e&&{program:MN(e.program)}}}mA({},{createSierraContractClass:()=>CN,parseContract:()=>PN,wait:()=>TN});var ON=class extends Error{constructor(t){super(t),Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0}),function(t,e){const{setPrototypeOf:r}=Object;r?r(t,e):t.__proto__=e}(this,new.target.prototype),function(t,e=t.constructor){const{captureStackTrace:r}=Error;r&&r(t,e)}(this)}},BN=class extends ON{},$N=class extends BN{constructor(t,e){super(t),this.errorCode=e}},UN=class extends BN{constructor(t,e){super(t),this.errorCode=e}};mA({},{StarknetIdContract:()=>GN,getStarknetIdContract:()=>KN,useDecoded:()=>VN,useEncoded:()=>ZN});var DN="abcdefghijklmnopqrstuvwxyz0123456789-",LN=BigInt(DN.length+1),FN="这来",jN=BigInt(DN.length),zN=BigInt(FN.length),qN=BigInt(FN.length+1);function HN(t){let e=0;for(;t.endsWith(FN[FN.length-1]);)t=t.substring(0,t.length-1),e+=1;return[t,e]}function VN(t){let e="";return t.forEach((t=>{for(;t!==$A;){const r=t%LN;if(t/=LN,r===BigInt(DN.length)){const r=t/qN;if(r===$A){const i=t%qN;t=r,e+=i===$A?DN[0]:FN[Number(i)-1]}else{e+=FN[Number(t%zN)],t/=zN}}else e+=DN[Number(r)]}const[r,i]=HN(e);i&&(e=r+(i%2==0?FN[FN.length-1].repeat(i/2-1)+FN[0]+DN[1]:FN[FN.length-1].repeat((i-1)/2+1))),e+="."})),e?e.concat("stark"):e}function ZN(t){let e=BigInt(0),r=BigInt(1);if(t.endsWith(FN[0]+DN[1])){const[e,r]=HN(t.substring(0,t.length-2));t=e+FN[FN.length-1].repeat(2*(r+1))}else{const[e,r]=HN(t);r&&(t=e+FN[FN.length-1].repeat(1+2*(r-1)))}for(let i=0;i<t.length;i+=1){const n=t[i],o=DN.indexOf(n),s=BigInt(DN.indexOf(n));if(-1!==o)i===t.length-1&&t[i]===DN[0]?(e+=r*jN,r*=LN,r*=LN):(e+=r*s,r*=LN);else if(-1!==FN.indexOf(n)){e+=r*jN,r*=LN;const o=(i===t.length-1?1:0)+FN.indexOf(n);e+=r*BigInt(o),r*=zN}}return e}var GN=(t=>(t.MAINNET="0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678",t.TESTNET="0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce",t))(GN||{});function KN(t){switch(t){case"0x534e5f4d41494e":return"0x6ac597f8116f886fa1c97a23fa4e08299975ecaf6b598873ca6792b9bbfb678";case"0x534e5f474f45524c49":return"0x3bab268e932d2cecd1946f100ae67ce3dff9fd234119ea2f6da57d16d29fce";default:throw new Error("Starknet.id is not yet deployed on this network")}}async function JN(t,e,r){const i=await t.getChainId(),n=r??KN(i);try{const r=await t.callContract({contractAddress:n,entrypoint:"address_to_domain",calldata:Kx.compile({address:e})}),i=VN(r.result.map((t=>BigInt(t))).slice(1));if(!i)throw Error("Starkname not found");return i}catch(t){if(t instanceof Error&&"Starkname not found"===t.message)throw t;throw Error("Could not get stark name")}}async function QN(t,e,r){const i=await t.getChainId(),n=r??KN(i);try{return(await t.callContract({contractAddress:n,entrypoint:"domain_to_address",calldata:Kx.compile({domain:[ZN(e.replace(".stark","")).toString(10)]})})).result[0]}catch{throw Error("Could not get address from stark name")}}var WN=Object.values(ik),YN=class{constructor(t){this.hash=null,this.number=null,this.tag=null,this.valueOf=()=>this.number,this.toString=()=>this.hash,this.setIdentifier(t)}setIdentifier(t){"string"==typeof t&&yk(t)?this.hash=t:"bigint"==typeof t?this.hash=bk(t):"number"==typeof t?this.number=t:"string"==typeof t&&WN.includes(t)?this.tag=t:this.tag="pending"}get queryIdentifier(){return null!==this.number?`blockNumber=${this.number}`:null!==this.hash?`blockHash=${this.hash}`:`blockNumber=${this.tag}`}get identifier(){return null!==this.number?{block_number:this.number}:null!==this.hash?{block_hash:this.hash}:this.tag}set identifier(t){this.setIdentifier(t)}get sequencerIdentifier(){return null!==this.hash?{blockHash:this.hash}:{blockNumber:this.number??this.tag}}},XN=(t,e=!1)=>{e||console.warn("Using default public node url, please provide nodeUrl in provider options!");const r="SN_MAIN"===t?ZA:VA;return r[Math.floor(Math.random()*r.length)]},tS={"Content-Type":"application/json"},eS="pending",rS=200,iS=class{constructor(t){this.responseParser=new class{parseGetBlockResponse(t){return{timestamp:t.timestamp,block_hash:"block_hash"in t?t.block_hash:"",block_number:"block_number"in t?t.block_number:-1,new_root:"new_root"in t?t.new_root:"",parent_hash:t.parent_hash,status:"status"in t?t.status:"PENDING",transactions:t.transactions}}parseGetTransactionResponse(t){return{calldata:"calldata"in t?t.calldata:[],contract_address:"contract_address"in t?t.contract_address:"",sender_address:"sender_address"in t?t.sender_address:"",max_fee:"max_fee"in t?t.max_fee:"",nonce:"nonce"in t?t.nonce:"",signature:"signature"in t?t.signature:[],transaction_hash:t.transaction_hash,version:t.version}}parseFeeEstimateResponse(t){return{overall_fee:vk(t[0].overall_fee),gas_consumed:vk(t[0].gas_consumed),gas_price:vk(t[0].gas_price)}}parseFeeEstimateBulkResponse(t){return t.map((t=>({overall_fee:vk(t.overall_fee),gas_consumed:vk(t.gas_consumed),gas_price:vk(t.gas_price)})))}parseCallContractResponse(t){return{result:t}}parseSimulateTransactionResponse(t){return t.map((t=>({...t,suggestedMaxFee:SN(BigInt(t.fee_estimation.overall_fee))})))}parseContractClassResponse(t){return{...t,abi:"string"==typeof t.abi?JSON.parse(t.abi):t.abi}}},this.getBlockHashAndNumber=this.getBlockLatestAccepted,this.getStateUpdate=this.getBlockStateUpdate,this.traceBlockTransactions=this.getBlockTransactionsTraces,this.getTransactionCount=this.getBlockTransactionCount,this.traceTransaction=this.getTransactionTrace,this.getSimulateTransaction=this.simulateTransaction;const{nodeUrl:e,retries:r,headers:i,blockIdentifier:n,chainId:o}=t||{};Object.values(jA).includes(e)?this.nodeUrl=XN(e,t?.default):this.nodeUrl=e||XN(void 0,t?.default),this.retries=r||rS,this.headers={...tS,...i},this.blockIdentifier=n||eS,this.chainId=o}fetch(t,e,r=0){const i={id:r,jsonrpc:"2.0",method:t,...e&&{params:e}};return RN(this.nodeUrl,{method:"POST",body:Yx(i),headers:this.headers})}errorHandler(t,e,r,i){if(r){const{code:i,message:n,data:o}=r;throw new BN(`RPC: ${t} with params ${Yx(e)}\n ${i}: ${n}: ${Yx(o)}`)}if(i instanceof BN)throw i;if(i)throw Error(i.message)}async fetchEndpoint(t,e){try{const r=await this.fetch(t,e),{error:i,result:n}=await r.json();return this.errorHandler(t,e,i),n}catch(r){throw this.errorHandler(t,e,r?.response?.data,r),r}}async getChainId(){return this.chainId??(this.chainId=await this.fetchEndpoint("starknet_chainId")),this.chainId}async getSpecVersion(){return this.fetchEndpoint("starknet_specVersion")}async getNonceForAddress(t,e=this.blockIdentifier){const r=bk(t),i=new YN(e).identifier;return this.fetchEndpoint("starknet_getNonce",{contract_address:r,block_id:i})}async getBlock(t=this.blockIdentifier){return this.getBlockWithTxHashes(t).then(this.responseParser.parseGetBlockResponse)}async getBlockLatestAccepted(){return this.fetchEndpoint("starknet_blockHashAndNumber")}async getBlockNumber(){return this.fetchEndpoint("starknet_blockNumber")}async getBlockWithTxHashes(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxHashes",{block_id:e})}async getBlockWithTxs(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_getBlockWithTxs",{block_id:e})}async getBlockStateUpdate(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_getStateUpdate",{block_id:e})}async getBlockTransactionsTraces(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_traceBlockTransactions",{block_id:e})}async getBlockTransactionCount(t=this.blockIdentifier){const e=new YN(t).identifier;return this.fetchEndpoint("starknet_getBlockTransactionCount",{block_id:e})}async getPendingTransactions(){const{transactions:t}=await this.getBlock("pending");return Promise.all(t.map((t=>this.getTransactionByHash(t))))}async getTransaction(t){return this.getTransactionByHash(t).then(this.responseParser.parseGetTransactionResponse)}async getTransactionByHash(t){const e=bk(t);return this.fetchEndpoint("starknet_getTransactionByHash",{transaction_hash:e})}async getTransactionByBlockIdAndIndex(t,e){const r=new YN(t).identifier;return this.fetchEndpoint("starknet_getTransactionByBlockIdAndIndex",{block_id:r,index:e})}async getTransactionReceipt(t){const e=bk(t);return this.fetchEndpoint("starknet_getTransactionReceipt",{transaction_hash:e})}async getTransactionTrace(t){const e=bk(t);return this.fetchEndpoint("starknet_traceTransaction",{transaction_hash:e})}async getTransactionStatus(t){const e=bk(t);return this.fetchEndpoint("starknet_getTransactionStatus",{transaction_hash:e})}async simulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipFeeCharge:i=!0}){const n=new YN(e).identifier,o=[];return r&&o.push(nk.ESimulationFlag.SKIP_VALIDATE),i&&o.push(nk.ESimulationFlag.SKIP_FEE_CHARGE),this.fetchEndpoint("starknet_simulateTransactions",{block_id:n,transactions:t.map((t=>this.buildTransaction(t))),simulation_flags:o}).then(this.responseParser.parseSimulateTransactionResponse)}async waitForTransaction(t,e){const r=bk(t);let{retries:i}=this,n=!1,o=!1;const s=e?.retryInterval??5e3,a=e?.errorStates??[nk.ETransactionStatus.REJECTED,nk.ETransactionExecutionStatus.REVERTED],h=e?.successStates??[nk.ETransactionExecutionStatus.SUCCEEDED,nk.ETransactionStatus.ACCEPTED_ON_L2,nk.ETransactionStatus.ACCEPTED_ON_L1];let u;for(;!n;){await TN(s);try{u=await this.getTransactionStatus(r);const t=u.execution_status,e=u.finality_status;if(!e){throw new Error("waiting for transaction status")}if(h.includes(t)||h.includes(e))n=!0;else if(a.includes(t)||a.includes(e)){const r=`${t}: ${e}`,i=new Error(r);throw i.response=u,o=!0,i}}catch(t){if(t instanceof Error&&o)throw t;if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1}let l=null;for(;null===l;){try{l=await this.getTransactionReceipt(r)}catch(t){if(i<=0)throw new Error(`waitForTransaction timed-out with retries ${this.retries}`)}i-=1,await TN(s)}return l}async getStorageAt(t,e,r=this.blockIdentifier){const i=bk(t),n=_k(e),o=new YN(r).identifier;return this.fetchEndpoint("starknet_getStorageAt",{contract_address:i,key:n,block_id:o})}async getClassHashAt(t,e=this.blockIdentifier){const r=bk(t),i=new YN(e).identifier;return this.fetchEndpoint("starknet_getClassHashAt",{block_id:i,contract_address:r})}async getClassByHash(t){return this.getClass(t)}async getClass(t,e=this.blockIdentifier){const r=bk(t),i=new YN(e).identifier;return this.fetchEndpoint("starknet_getClass",{class_hash:r,block_id:i}).then(this.responseParser.parseContractClassResponse)}async getClassAt(t,e=this.blockIdentifier){const r=bk(t),i=new YN(e).identifier;return this.fetchEndpoint("starknet_getClassAt",{block_id:i,contract_address:r}).then(this.responseParser.parseContractClassResponse)}async getCode(t,e){throw new Error("RPC does not implement getCode function")}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClass(e,r)}if(IN(n)){if(i){return{cairo:"1",compiler:yx(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async getEstimateFee(t,e,r=this.blockIdentifier){return this.getInvokeEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier){const i=new YN(r).identifier,n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier){const i=new YN(r).identifier,n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier){const i=new YN(r).identifier,n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("starknet_estimateFee",{request:[n],block_id:i}).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){r&&console.warn("getEstimateFeeBulk RPC does not support skipValidate");const i=new YN(e).identifier;return this.fetchEndpoint("starknet_estimateFee",{request:t.map((t=>this.buildTransaction(t,"fee"))),block_id:i}).then(this.responseParser.parseFeeEstimateBulkResponse)}async invokeFunction(t,e){return this.fetchEndpoint("starknet_addInvokeTransaction",{invoke_transaction:{sender_address:t.contractAddress,calldata:Kx.toHex(t.calldata),type:nk.ETransactionType.INVOKE,max_fee:bk(e.maxFee||0),version:"0x1",signature:NN(t.signature),nonce:bk(e.nonce)}})}async declareContract({contract:t,signature:e,senderAddress:r,compiledClassHash:i},n){return IN(t)?this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:nk.ETransactionType.DECLARE,contract_class:{sierra_program:_N(t.sierra_program),contract_class_version:t.contract_class_version,entry_points_by_type:t.entry_points_by_type,abi:t.abi},compiled_class_hash:i||"",version:TA,max_fee:bk(n.maxFee||0),signature:NN(e),sender_address:r,nonce:bk(n.nonce)}}):this.fetchEndpoint("starknet_addDeclareTransaction",{declare_transaction:{type:nk.ETransactionType.DECLARE,contract_class:{program:t.program,entry_points_by_type:t.entry_points_by_type,abi:t.abi},version:RA,max_fee:bk(n.maxFee||0),signature:NN(e),sender_address:r,nonce:bk(n.nonce)}})}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("starknet_addDeployAccountTransaction",{deploy_account_transaction:{constructor_calldata:Kx.toHex(e||[]),class_hash:bk(t),contract_address_salt:bk(r||0),type:nk.ETransactionType.DEPLOY_ACCOUNT,max_fee:bk(n.maxFee||0),version:bk(n.version||0),signature:NN(i),nonce:bk(n.nonce)}})}async callContract(t,e=this.blockIdentifier){const r=new YN(e).identifier,i=await this.fetchEndpoint("starknet_call",{request:{contract_address:t.contractAddress,entry_point_selector:$k(t.entrypoint),calldata:Kx.toHex(t.calldata)},block_id:r});return this.responseParser.parseCallContractResponse(i)}async estimateMessageFee(t,e=this.blockIdentifier){const{from_address:r,to_address:i,entry_point_selector:n,payload:o}=t,s={from_address:bk(r),to_address:bk(i),entry_point_selector:Uk(n),payload:Tk(o)},a=new YN(e).identifier;return this.fetchEndpoint("starknet_estimateMessageFee",{message:s,block_id:a})}async getSyncingStats(){return this.fetchEndpoint("starknet_syncing")}async getEvents(t){return this.fetchEndpoint("starknet_getEvents",{filter:t})}async getStarkName(t,e){return JN(this,t,e)}async getAddressFromStarkName(t,e){return QN(this,t,e)}buildTransaction(t,e){const r=nN(e),i={signature:NN(t.signature),nonce:bk(t.nonce),max_fee:bk(t.maxFee||0)};if("INVOKE_FUNCTION"===t.type)return{type:nk.ETransactionType.INVOKE,sender_address:t.contractAddress,calldata:Kx.toHex(t.calldata),version:bk(t.version||r.v1),...i};if("DECLARE"===t.type)return IN(t.contract)?{type:t.type,contract_class:{...t.contract,sierra_program:_N(t.contract.sierra_program)},compiled_class_hash:t.compiledClassHash||"",sender_address:t.senderAddress,version:bk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:bk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:Kx.toHex(t.constructorCalldata||[]),class_hash:bk(t.classHash),contract_address_salt:bk(t.addressSalt||0),version:bk(t.version||r.v1),...i};throw Error("RPC buildTransaction received unknown TransactionType")}},nS=/^(?:\w+:)?\/\/(\S+)$/,oS=/^localhost[:?\d]*(?:[^:?\d]\S*)?$/,sS=/^[^\s.]+\.\S{2,}$/;function aS(t,e,r){return function(t){if(!t)return!1;if("string"!=typeof t)return!1;const e=t.match(nS);if(!e)return!1;const r=e[1];return!(!r||!oS.test(r)&&!sS.test(r))}(r)?r:fA(t,r??e)}var hS={network:"SN_GOERLI",blockIdentifier:"pending"},uS=class{constructor(t=hS){this.responseParser=new class extends class{}{parseGetBlockResponse(t){return{...t,new_root:t.state_root,parent_hash:t.parent_block_hash,transactions:Object.values(t.transactions).map((t=>"transaction_hash"in t&&t.transaction_hash)).filter(Boolean)}}parseGetTransactionResponse(t){if("NOT_RECEIVED"===t.status&&"NOT_RECEIVED"===t.finality_status)throw new BN;return{...t,calldata:"calldata"in t.transaction?t.transaction.calldata:[],contract_class:"contract_class"in t.transaction?t.transaction.contract_class:void 0,entry_point_selector:"entry_point_selector"in t.transaction?t.transaction.entry_point_selector:void 0,max_fee:"max_fee"in t.transaction?t.transaction.max_fee:void 0,nonce:t.transaction.nonce,sender_address:"sender_address"in t.transaction?t.transaction.sender_address:void 0,signature:"signature"in t.transaction?t.transaction.signature:void 0,transaction_hash:"transaction_hash"in t.transaction?t.transaction.transaction_hash:void 0,version:"version"in t.transaction?t.transaction.version:void 0}}parseGetTransactionReceiptResponse(t){return{...t,messages_sent:t.l2_to_l1_messages,..."revert_error"in t&&{revert_reason:t.revert_error}}}parseFeeEstimateResponse(t){if("overall_fee"in t){let e={};try{e={gas_consumed:vk(t.gas_usage),gas_price:vk(t.gas_price)}}catch{}return{overall_fee:vk(t.overall_fee),...e}}return{overall_fee:vk(t.amount)}}parseFeeEstimateBulkResponse(t){return[].concat(t).map((t=>{if("overall_fee"in t){let e={};try{e={gas_consumed:vk(t.gas_usage),gas_price:vk(t.gas_price)}}catch{}return{overall_fee:vk(t.overall_fee),...e}}return{overall_fee:vk(t.amount)}}))}parseSimulateTransactionResponse(t){const e="overall_fee"in t.fee_estimation?t.fee_estimation.overall_fee:t.fee_estimation.amount;return[{transaction_trace:t.trace,fee_estimation:t.fee_estimation,suggestedMaxFee:SN(BigInt(e))}]}parseCallContractResponse(t){return{result:t.result}}parseInvokeFunctionResponse(t){return{transaction_hash:t.transaction_hash}}parseDeployContractResponse(t){return{transaction_hash:t.transaction_hash,contract_address:t.address}}parseDeclareContractResponse(t){return{transaction_hash:t.transaction_hash,class_hash:t.class_hash}}parseGetStateUpdateResponse(t){const e=Object.entries(t.state_diff.nonces).map((([t,e])=>({contract_address:t,nonce:e}))),r=Object.entries(t.state_diff.storage_diffs).map((([t,e])=>({address:t,storage_entries:e})));return{...t,state_diff:{...t.state_diff,storage_diffs:r,nonces:e}}}parseContractClassResponse(t){const e=IN(t)?t:PN(t);return{...e,abi:"string"==typeof e.abi?JSON.parse(e.abi):e.abi}}},"network"in t?(this.baseUrl=uS.getNetworkFromName(t.network),this.feederGatewayUrl=aS(this.baseUrl,"feeder_gateway"),this.gatewayUrl=aS(this.baseUrl,"gateway")):(this.baseUrl=t.baseUrl,this.feederGatewayUrl=aS(this.baseUrl,"feeder_gateway",t.feederGatewayUrl),this.gatewayUrl=aS(this.baseUrl,"gateway",t.gatewayUrl)),this.chainId=t?.chainId??uS.getChainIdFromBaseUrl(this.baseUrl),this.headers=t.headers,this.blockIdentifier=t?.blockIdentifier||hS.blockIdentifier}static getNetworkFromName(t){switch(t){case"SN_MAIN":case"0x534e5f4d41494e":return"https://alpha-mainnet.starknet.io";case"SN_GOERLI":case"0x534e5f474f45524c49":return"https://alpha4.starknet.io";default:throw new Error("Could not detect base url from NetworkName")}}static getChainIdFromBaseUrl(t){try{return new URL(t).host.includes("mainnet.starknet.io")?"0x534e5f4d41494e":"0x534e5f474f45524c49"}catch{return console.error(`Could not parse baseUrl: ${t}`),"0x534e5f474f45524c49"}}getFetchUrl(t){return["add_transaction"].includes(t)?this.gatewayUrl:this.feederGatewayUrl}getFetchMethod(t){return["add_transaction","call_contract","estimate_fee","estimate_message_fee","estimate_fee_bulk","simulate_transaction"].includes(t)?"POST":"GET"}getQueryString(t){if(void 0===(e=t)||0===Object.keys(e).length||1===Object.keys(e).length&&Object.entries(e).every((([t,e])=>"blockIdentifier"===t&&null===e)))return"";var e;const r=Object.entries(t).map((([t,e])=>{if("blockIdentifier"===t){return`${new YN(e).queryIdentifier}`}return`${t}=${e}`})).join("&");return`?${r}`}getHeaders(t){return"POST"===t?{"Content-Type":"application/json",...this.headers}:this.headers}async fetchEndpoint(t,...[e,r]){const i=this.getFetchUrl(t),n=this.getFetchMethod(t),o=this.getQueryString(e),s=fA(i,t,o);return this.fetch(s,{method:n,body:r})}async fetch(t,e){const r=aS(this.baseUrl,"",t),i=e?.method??"GET",n=this.getHeaders(i),o=Yx(e?.body);try{const t=await RN(r,{method:i,body:o,headers:n}),s=await t.text();if(!t.ok){let e;try{e=Qx(s)}catch{throw new UN(t.statusText,t.status)}throw new $N(e.message,e.code)}return(e?.parseAlwaysAsBigInt?Wx:Qx)(s)}catch(t){if(t instanceof Error&&!(t instanceof BN))throw Error(`Could not ${i} from endpoint \`${r}\`: ${t.message}`);throw t}}async getChainId(){return Promise.resolve(this.chainId)}async callContract({contractAddress:t,entrypoint:e,calldata:r=[]},i=this.blockIdentifier){return this.fetchEndpoint("call_contract",{blockIdentifier:i},{contract_address:t,entry_point_selector:$k(e),calldata:Kx.compile(r)}).then(this.responseParser.parseCallContractResponse)}async getBlock(t=this.blockIdentifier){return this.fetchEndpoint("get_block",{blockIdentifier:t}).then(this.responseParser.parseGetBlockResponse)}async getNonceForAddress(t,e=this.blockIdentifier){return this.fetchEndpoint("get_nonce",{contractAddress:t,blockIdentifier:e})}async getStorageAt(t,e,r=this.blockIdentifier){const i=vk(e).toString(10);return this.fetchEndpoint("get_storage_at",{blockIdentifier:r,contractAddress:t,key:i})}async getTransaction(t){const e=bk(t);return this.fetchEndpoint("get_transaction",{transactionHash:e}).then((t=>{if(1===Object.values(t).length)throw new BN(t.status);return this.responseParser.parseGetTransactionResponse(t)}))}async getTransactionReceipt(t){const e=bk(t);return this.fetchEndpoint("get_transaction_receipt",{transactionHash:e}).then(this.responseParser.parseGetTransactionReceiptResponse)}async getClassAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_full_contract",{blockIdentifier:e,contractAddress:t}).then(this.responseParser.parseContractClassResponse)}async getClassHashAt(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_hash_at",{blockIdentifier:e,contractAddress:t})}async getClassByHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_class_by_hash",{classHash:t,blockIdentifier:e}).then(this.responseParser.parseContractClassResponse)}async getCompiledClassByClassHash(t,e=this.blockIdentifier){return this.fetchEndpoint("get_compiled_class_by_class_hash",{classHash:t,blockIdentifier:e})}async getContractVersion(t,e,{blockIdentifier:r=this.blockIdentifier,compiler:i=!0}={}){let n;if(t)n=await this.getClassAt(t,r);else{if(!e)throw Error("getContractVersion require contractAddress or classHash");n=await this.getClassByHash(e,r)}if(IN(n)){if(i){return{cairo:"1",compiler:yx(n.abi).compiler}}return{cairo:"1",compiler:void 0}}return{cairo:"0",compiler:"0"}}async invokeFunction(t,e){return this.fetchEndpoint("add_transaction",void 0,{type:"INVOKE_FUNCTION",sender_address:t.contractAddress,calldata:Kx.compile(t.calldata??[]),signature:xN(t.signature),nonce:bk(e.nonce),max_fee:bk(e.maxFee||0),version:"0x1"}).then(this.responseParser.parseInvokeFunctionResponse)}async deployAccountContract({classHash:t,constructorCalldata:e,addressSalt:r,signature:i},n){return this.fetchEndpoint("add_transaction",void 0,{type:"DEPLOY_ACCOUNT",contract_address_salt:r??EN(),constructor_calldata:Kx.compile(e??[]),class_hash:bk(t),max_fee:bk(n.maxFee||0),version:bk(n.version||0),nonce:bk(n.nonce),signature:xN(i)}).then(this.responseParser.parseDeployContractResponse)}async declareContract({senderAddress:t,contract:e,signature:r,compiledClassHash:i},n){return IN(e)?this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",sender_address:t,compiled_class_hash:i,contract_class:e,nonce:bk(n.nonce),signature:xN(r),max_fee:bk(n.maxFee||0),version:bk(eN)}).then(this.responseParser.parseDeclareContractResponse):this.fetchEndpoint("add_transaction",void 0,{type:"DECLARE",contract_class:e,nonce:bk(n.nonce),signature:xN(r),sender_address:t,max_fee:bk(n.maxFee||0),version:bk(tN)}).then(this.responseParser.parseDeclareContractResponse)}async getEstimateFee(t,e,r=this.blockIdentifier,i=!1){return this.getInvokeEstimateFee(t,e,r,i)}async getInvokeEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"INVOKE_FUNCTION",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeclareEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DECLARE",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getDeployAccountEstimateFee(t,e,r=this.blockIdentifier,i=!1){const n=this.buildTransaction({type:"DEPLOY_ACCOUNT",...t,...e},"fee");return this.fetchEndpoint("estimate_fee",{blockIdentifier:r,skipValidate:i},n).then(this.responseParser.parseFeeEstimateResponse)}async getEstimateFeeBulk(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1}){const i=t.map((t=>this.buildTransaction(t,"fee")));return this.fetchEndpoint("estimate_fee_bulk",{blockIdentifier:e,skipValidate:r},i).then(this.responseParser.parseFeeEstimateBulkResponse)}async getCode(t,e=this.blockIdentifier){return this.fetchEndpoint("get_code",{contractAddress:t,blockIdentifier:e})}async waitForTransaction(t,e){let r,i=!1,n=0;const o=e?.retryInterval??5e3,s=e?.errorStates??["REJECTED","NOT_RECEIVED","REVERTED"],a=e?.successStates??["SUCCEEDED","ACCEPTED_ON_L1","ACCEPTED_ON_L2"];for(;!i;)if(await TN(o),r=await this.getTransactionStatus(t),"NOT_RECEIVED"===r.finality_status&&n<3)n+=1;else if(a.includes(r.finality_status)||a.includes(r.execution_status))i=!0;else if(s.includes(r.finality_status)||s.includes(r.execution_status)){let t;t=r.tx_failure_reason?`${r.tx_status}: ${r.tx_failure_reason.code}\n${r.tx_failure_reason.error_message}`:r.tx_revert_reason?`${r.tx_status}: ${r.tx_revert_reason}`:r.tx_status;const e=new Error(t);throw e.response=r,e}return await this.getTransactionReceipt(t)}async getTransactionStatus(t){const e=bk(t);return this.fetchEndpoint("get_transaction_status",{transactionHash:e})}async getContractAddresses(){return this.fetchEndpoint("get_contract_addresses")}async getTransactionTrace(t){const e=bk(t);return this.fetchEndpoint("get_transaction_trace",{transactionHash:e})}async estimateMessageFee({from_address:t,to_address:e,entry_point_selector:r,payload:i},n=this.blockIdentifier){const o={from_address:Ik(t),to_address:Rk(e),entry_point_selector:Uk(r),payload:Tk(i)};return this.fetchEndpoint("estimate_message_fee",{blockIdentifier:n},o)}async getSimulateTransaction(t,{blockIdentifier:e=this.blockIdentifier,skipValidate:r=!1,skipExecute:i=!1}){t.length>1&&console.warn("Sequencer simulate process only first element from invocations list"),i&&console.warn("Sequencer can't skip account __execute__");const n=this.buildTransaction(t[0]);return this.fetchEndpoint("simulate_transaction",{blockIdentifier:e,skipValidate:r??!1},n).then(this.responseParser.parseSimulateTransactionResponse)}async getStateUpdate(t=this.blockIdentifier){const e=new YN(t).sequencerIdentifier;return this.fetchEndpoint("get_state_update",{...e}).then(this.responseParser.parseGetStateUpdateResponse)}async getBlockTraces(t=this.blockIdentifier){const e=new YN(t).sequencerIdentifier;return this.fetchEndpoint("get_block_traces",{...e})}async getStarkName(t,e){return JN(this,t,e)}async getAddressFromStarkName(t,e){return QN(this,t,e)}buildTransaction(t,e){const r=nN(e),i={signature:xN(t.signature),nonce:bk(t.nonce)};if("INVOKE_FUNCTION"===t.type)return{type:t.type,sender_address:t.contractAddress,calldata:Kx.compile(t.calldata??[]),version:bk(t.version||r.v1),...i};if("DECLARE"===t.type)return IN(t.contract)?{type:t.type,contract_class:t.contract,compiled_class_hash:t.compiledClassHash,sender_address:t.senderAddress,version:bk(t.version||r.v2),...i}:{type:t.type,contract_class:t.contract,sender_address:t.senderAddress,version:bk(t.version||r.v1),...i};if("DEPLOY_ACCOUNT"===t.type)return{type:t.type,constructor_calldata:Kx.compile(t.constructorCalldata||[]),class_hash:bk(t.classHash),contract_address_salt:bk(t.addressSalt||0),version:bk(t.version||r.v1),...i};throw Error("Sequencer buildTransaction received unknown TransactionType")}},lS=class{constructor(t){this.provider=t instanceof lS?t.provider:t instanceof iS||t instanceof uS?t:t&&"rpc"in t?new iS(t.rpc):t&&"sequencer"in t?new uS(t.sequencer):new iS}async getChainId(){return this.provider.getChainId()}async getBlock(t){return this.provider.getBlock(t)}async getClassAt(t,e){return this.provider.getClassAt(t,e)}async getClassHashAt(t,e){return this.provider.getClassHashAt(t,e)}getClassByHash(t){return this.provider.getClassByHash(t)}async getEstimateFee(t,e,r){return this.provider.getEstimateFee(t,e,r)}async getInvokeEstimateFee(t,e,r,i){return this.provider.getInvokeEstimateFee(t,e,r,i)}async getEstimateFeeBulk(t,e){return this.provider.getEstimateFeeBulk(t,e)}async getNonceForAddress(t,e){return this.provider.getNonceForAddress(t,e)}async getStorageAt(t,e,r){return this.provider.getStorageAt(t,e,r)}async getTransaction(t){return this.provider.getTransaction(t)}async getTransactionReceipt(t){return this.provider.getTransactionReceipt(t)}async callContract(t,e){return this.provider.callContract(t,e)}async invokeFunction(t,e){return this.provider.invokeFunction(t,e)}async deployAccountContract(t,e){return this.provider.deployAccountContract(t,e)}async declareContract(t,e){return this.provider.declareContract(t,e)}async getDeclareEstimateFee(t,e,r,i){return this.provider.getDeclareEstimateFee(t,e,r,i)}getDeployAccountEstimateFee(t,e,r,i){return this.provider.getDeployAccountEstimateFee(t,e,r,i)}async getCode(t,e){return this.provider.getCode(t,e)}async waitForTransaction(t,e){return this.provider.waitForTransaction(t,e)}async getSimulateTransaction(t,e){return this.provider.getSimulateTransaction(t,e)}async getStateUpdate(t){return this.provider.getStateUpdate(t)}async getStarkName(t,e){return JN(this,t,e)}async getAddressFromStarkName(t,e){return QN(this,t,e)}async getContractVersion(t,e,r){return this.provider.getContractVersion(t,e,r)}};mA({},{fromCallsToExecuteCalldata:()=>fS,fromCallsToExecuteCalldataWithNonce:()=>dS,fromCallsToExecuteCalldata_cairo1:()=>pS,getExecuteCalldata:()=>gS,transformCallsToMulticallArrays:()=>cS,transformCallsToMulticallArrays_cairo1:()=>mS});var cS=t=>{const e=[],r=[];return t.forEach((t=>{const i=Kx.compile(t.calldata||[]);e.push({to:vk(t.contractAddress).toString(10),selector:vk($k(t.entrypoint)).toString(10),data_offset:r.length.toString(),data_len:i.length.toString()}),r.push(...i)})),{callArray:e,calldata:Kx.compile({calldata:r})}},fS=t=>{const{callArray:e,calldata:r}=cS(t);return[...Kx.compile({callArray:e}),...r]},dS=(t,e)=>[...fS(t),vk(e).toString()],mS=t=>{const e=t.map((t=>({to:vk(t.contractAddress).toString(10),selector:vk($k(t.entrypoint)).toString(10),calldata:Kx.compile(t.calldata||[])})));return e},pS=t=>{const e=t.map((t=>({contractAddress:t.contractAddress,entrypoint:t.entrypoint,calldata:Array.isArray(t.calldata)&&"__compiled__"in t.calldata?t.calldata:Kx.compile(t.calldata)})));return Kx.compile({orderCalls:e})},gS=(t,e="0")=>"1"===e?pS(t):fS(t),yS={};mA(yS,{encodeData:()=>NS,encodeType:()=>AS,encodeValue:()=>xS,getDependencies:()=>ES,getMessageHash:()=>IS,getStructHash:()=>SS,getTypeHash:()=>kS,isMerkleTreeType:()=>_S,prepareSelector:()=>MS});mA({},{MerkleTree:()=>vS,proofMerklePath:()=>wS});var vS=class{constructor(t){this.branches=[],this.leaves=t,this.root=this.build(t)}build(t){if(1===t.length)return t[0];t.length!==this.leaves.length&&this.branches.push(t);const e=[];for(let r=0;r<t.length;r+=2)r+1===t.length?e.push(vS.hash(t[r],"0x0")):e.push(vS.hash(t[r],t[r+1]));return this.build(e)}static hash(t,e){const[r,i]=[vk(t),vk(e)].sort(((t,e)=>t>=e?1:-1));return ew(r,i)}getProof(t,e=this.leaves,r=[]){const i=e.indexOf(t);if(-1===i)throw new Error("leaf not found");if(1===e.length)return r;const n=i%2==0,o=(n?e[i+1]:e[i-1])??"0x0",s=[...r,o],a=this.leaves.length===e.length?-1:this.branches.findIndex((t=>t.length===e.length)),h=this.branches[a+1]??[this.root];return this.getProof(vS.hash(n?t:o,n?o:t),h,s)}};function wS(t,e,r){if(0===r.length)return t===e;const[i,...n]=r;return wS(t,vS.hash(e,i),n)}function bS(t){try{return bk(t)}catch(e){if("string"==typeof t)return bk(Vk(t));throw new Error(`Invalid BigNumberish: ${t}`)}}function MS(t){return yk(t)?t:$k(t)}function _S(t){return"merkletree"===t.type}var ES=(t,e,r=[])=>("*"===e[e.length-1]&&(e=e.slice(0,-1)),r.includes(e)?r:t[e]?[e,...t[e].reduce(((e,r)=>[...e,...ES(t,r.type,e).filter((t=>!e.includes(t)))]),[])]:r);var AS=(t,e)=>{const[r,...i]=ES(t,e);return(r?[r,...i.sort()]:[]).map((e=>`${e}(${t[e].map((t=>`${t.name}:${t.type}`))})`)).join("")},kS=(t,e)=>$k(AS(t,e)),xS=(t,e,r,i={})=>{if(t[e])return[e,SS(t,e,r)];if(Object.keys(t).map((t=>`${t}*`)).includes(e)){const i=r.map((r=>SS(t,e.slice(0,-1),r)));return[e,oN(i)]}if("merkletree"===e){const e=function(t,e){if(e.parent&&e.key){const r=t[e.parent].find((t=>t.name===e.key));if(!_S(r))throw new Error(`${e.key} is not a merkle tree`);if(r.contains.endsWith("*"))throw new Error(`Merkle tree contain property must not be an array but was given ${e.key}`);return r.contains}return"raw"}(t,i),n=r.map((r=>xS(t,e,r)[1])),{root:o}=new vS(n);return["felt",o]}return"felt*"===e?["felt*",oN(r)]:"selector"===e?["felt",MS(r)]:[e,bS(r)]},NS=(t,e,r)=>{const[i,n]=t[e].reduce((([i,n],o)=>{if(void 0===r[o.name]||null===r[o.name])throw new Error(`Cannot encode data: missing data for '${o.name}'`);const s=r[o.name],[a,h]=xS(t,o.type,s,{parent:e,key:o.name});return[[...i,a],[...n,h]]}),[["felt"],[kS(t,e)]]);return[i,n]},SS=(t,e,r)=>oN(NS(t,e,r)[1]),IS=(t,e)=>{if(!(t=>{const e=t;return Boolean(e.types&&e.primaryType&&e.message)})(t))throw new Error("Typed data does not match JSON schema");return oN([Vk("StarkNet Message"),SS(t.types,"StarkNetDomain",t.domain),e,SS(t.types,t.primaryType,t.message)])},RS=new lS({rpc:{default:!0}});function TS(t){return t.filter((t=>"event"===t.type&&(t.size||"enum"!==t.kind))).reduce(((t,e)=>{const r=e.name.slice(e.name.lastIndexOf(":")+1),i={...e};return i.name=r,{...t,[EA(iw(yA(r)).toString(16))]:i}}),{})}function CS(t,e,r,i){const n=t.flat().reduce(((t,n)=>{const o=e[n.keys[0]];if(!o)return t;const s={};s[o.name]={},n.keys.shift();const a=n.keys[Symbol.iterator](),h=n.data[Symbol.iterator](),u=o.members?.filter((t=>"key"===t.kind))||o.keys,l=o.members?.filter((t=>"data"===t.kind))||o.data;return u.forEach((t=>{s[o.name][t.name]=Lx(a,t,r,i,s[o.name])})),l.forEach((t=>{s[o.name][t.name]=Lx(h,t,r,i,s[o.name])})),t.push(s),t}),[]);return n}mA({},{getAbiEvents:()=>TS,parseEvents:()=>CS});var PS=t=>{const e=t[t.length-1];return"object"==typeof e&&["blockIdentifier","parseRequest","parseResponse","formatResponse","maxFee","nonce","signature","addressSalt"].some((t=>t in e))?{args:t,options:t.pop()}:{args:t}};function OS(t,e){return async function(...r){const i=PS(r);return t.call(e.name,i.args,{parseRequest:!0,parseResponse:!0,...i.options})}}function BS(t,e){return"view"===e.stateMutability||"view"===e.state_mutability?OS(t,e):function(t,e){return async function(...r){const i=PS(r);return t.invoke(e.name,i.args,{parseRequest:!0,...i.options})}}(t,e)}function $S(t,e){return function(...r){return t.estimate(e.name,r)}}function US(t,e){return Array.isArray(t)&&"__compiled__"in t?t:Array.isArray(t)&&Array.isArray(t[0])&&"__compiled__"in t[0]?t[0]:e()}var DS=class{constructor(t,e,r=RS){this.address=e&&e.toLowerCase(),this.providerOrAccount=r,this.callData=new Kx(t),this.structs=Kx.getAbiStruct(t),this.events=TS(t);const i=Ix(t);this.abi=i.getLegacyFormat();const n={enumerable:!0,value:{},writable:!1};Object.defineProperties(this,{functions:{enumerable:!0,value:{},writable:!1},callStatic:{enumerable:!0,value:{},writable:!1},populateTransaction:{enumerable:!0,value:{},writable:!1},estimateFee:{enumerable:!0,value:{},writable:!1}}),this.abi.forEach((t=>{if("function"!==t.type)return;const e=t.name;var r,i;this[e]||Object.defineProperty(this,e,{...n,value:BS(this,t)}),this.functions[e]||Object.defineProperty(this.functions,e,{...n,value:BS(this,t)}),this.callStatic[e]||Object.defineProperty(this.callStatic,e,{...n,value:OS(this,t)}),this.populateTransaction[e]||Object.defineProperty(this.populateTransaction,e,{...n,value:(r=this,i=t,function(...t){return r.populate(i.name,t)})}),this.estimateFee[e]||Object.defineProperty(this.estimateFee,e,{...n,value:$S(this,t)})}))}attach(t){this.address=t}connect(t){this.providerOrAccount=t}async deployed(){return this.deployTransactionHash&&(await this.providerOrAccount.waitForTransaction(this.deployTransactionHash),this.deployTransactionHash=void 0),this}async call(t,e=[],{parseRequest:r=!0,parseResponse:i=!0,formatResponse:n,blockIdentifier:o}={}){gk(null!==this.address,"contract is not connected to an address");const s=US(e,(()=>r?(this.callData.validate("CALL",t,e),this.callData.compile(t,e)):(console.warn("Call skipped parsing but provided rawArgs, possible malfunction request"),e)));return this.providerOrAccount.callContract({contractAddress:this.address,calldata:s,entrypoint:t},o).then((e=>i?n?this.callData.format(t,e.result,n):this.callData.parse(t,e.result):e.result))}invoke(t,e=[],{parseRequest:r=!0,maxFee:i,nonce:n,signature:o}={}){gk(null!==this.address,"contract is not connected to an address");const s=US(e,(()=>r?(this.callData.validate("INVOKE",t,e),this.callData.compile(t,e)):(console.warn("Invoke skipped parsing but provided rawArgs, possible malfunction request"),e))),a={contractAddress:this.address,calldata:s,entrypoint:t};if("execute"in this.providerOrAccount)return this.providerOrAccount.execute(a,void 0,{maxFee:i,nonce:n});if(!n)throw new Error("Nonce is required when invoking a function without an account");return console.warn(`Invoking ${t} without an account. This will not work on a public node.`),this.providerOrAccount.invokeFunction({...a,signature:o},{nonce:n})}async estimate(t,e=[]){gk(null!==this.address,"contract is not connected to an address"),US(e,(()=>!1))||this.callData.validate("INVOKE",t,e);const r=this.populate(t,e);if("estimateInvokeFee"in this.providerOrAccount)return this.providerOrAccount.estimateInvokeFee(r);throw Error("Contract must be connected to the account contract to estimate")}populate(t,e=[]){const r=US(e,(()=>this.callData.compile(t,e)));return{contractAddress:this.address,entrypoint:t,calldata:r}}parseEvents(t){return CS(t.events?.filter((t=>Ak(t.from_address)===Ak(this.address)),[])||[],this.events,this.structs,Kx.getAbiEnum(this.abi))}isCairo1(){return Gk.isCairo1Abi(this.abi)}async getVersion(){return this.providerOrAccount.getContractVersion(this.address)}typed(t){return this}};function LS(t){kk(t,$A,DA,"Starknet Address");const e=function(t){return EA(_A(bk(t)).padStart(64,"0"))}(t);if(!e.match(/^(0x)?[0-9a-fA-F]{64}$/))throw new Error("Invalid Address Format");return e}const FS={SN_MAIN:"https://starknet-mainnet.public.blastapi.io",SN_SEPOLIA:"https://starknet-sepolia.public.blastapi.io"},jS=[{name:"argent::common::account::IAccount",type:"interface",items:[{name:"is_valid_signature",type:"function",inputs:[{name:"hash",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]}];function zS(t,e){var r;if(!FS[t])throw new Error("Invalid network");return new iS({nodeUrl:null!==(r=null==e?void 0:e.broviderUrl)&&void 0!==r?r:FS[t]})}function qS(t){return!!t.primaryType&&!!t.types.StarkNetDomain}function HS(t,e){const{domain:r,types:i,primaryType:n,message:o}=t;return yS.getMessageHash({types:i,primaryType:n,domain:r,message:o},e)}var VS=Object.freeze({__proto__:null,isStarknetMessage:qS,getHash:HS,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="SN_MAIN",n={}){try{const o=new DS(jS,t,zS(i,n));if(e.length<2)throw new Error("Invalid signature format");const s=yield o.is_valid_signature(HS(r,t),e.slice(-2));return Oh.from(s).eq(Oh.from("370462705988"))}catch(t){if(t.message.includes("Contract not found"))throw new Error("Contract not deployed");throw t}}))}});function ZS(t){return we(qi(t))}var GS=o((function(t){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:$t.Buffer}catch(t){}function s(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function a(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function h(t,e,i,n){for(var o=0,s=0,a=Math.min(t.length,i),h=e;h<a;h++){var u=t.charCodeAt(h)-48;o*=n,s=u>=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s<n,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,a=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=a(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,a=Math.min(o,o-s)+r,u=0,l=r;l<a;l+=i)u=h(t,l,l+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var c=1;for(u=h(t,l,t.length,e),l=0;l<s;l++)c*=e;this.imuln(c),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype._move=function(t){u(t,this)},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=l}catch(t){n.prototype.inspect=l}else n.prototype.inspect=l;function l(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var a=this.words[s],h=(16777215&(a<<n|o)).toString(16);o=a>>>24-n&16777215,(n+=2)>=26&&(n-=26,s--),i=0!==o||s!==this.length-1?c[6-h.length]+h+i:h+i}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],l=d[t];i="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modrn(l).toString(t);i=(m=m.idivn(l)).isZero()?p+i:c[u-p.length]+p+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function m(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u<i;u++){for(var l=h>>>26,c=67108863&h,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var m=u-d|0;l+=(s=(n=0|t.words[m])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[u]=0|c,h=0|l}return 0!==h?r.words[u]=0|h:r.length--,r._strip()}n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r<t.length)for(t[r++]=i;r<t.length;)t[r++]=0},n.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this._strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this._strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var i,n,o,s=t.words,a=e.words,h=r.words,u=0,l=0|s[0],c=8191&l,f=l>>>13,d=0|s[1],m=8191&d,p=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,w=0|s[3],b=8191&w,M=w>>>13,_=0|s[4],E=8191&_,A=_>>>13,k=0|s[5],x=8191&k,N=k>>>13,S=0|s[6],I=8191&S,R=S>>>13,T=0|s[7],C=8191&T,P=T>>>13,O=0|s[8],B=8191&O,$=O>>>13,U=0|s[9],D=8191&U,L=U>>>13,F=0|a[0],j=8191&F,z=F>>>13,q=0|a[1],H=8191&q,V=q>>>13,Z=0|a[2],G=8191&Z,K=Z>>>13,J=0|a[3],Q=8191&J,W=J>>>13,Y=0|a[4],X=8191&Y,tt=Y>>>13,et=0|a[5],rt=8191&et,it=et>>>13,nt=0|a[6],ot=8191&nt,st=nt>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,lt=0|a[8],ct=8191<,ft=lt>>>13,dt=0|a[9],mt=8191&dt,pt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(c,j))|0)+((8191&(n=(n=Math.imul(c,z))+Math.imul(f,j)|0))<<13)|0;u=((o=Math.imul(f,z))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(m,j),n=(n=Math.imul(m,z))+Math.imul(p,j)|0,o=Math.imul(p,z);var yt=(u+(i=i+Math.imul(c,H)|0)|0)+((8191&(n=(n=n+Math.imul(c,V)|0)+Math.imul(f,H)|0))<<13)|0;u=((o=o+Math.imul(f,V)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,j),n=(n=Math.imul(y,z))+Math.imul(v,j)|0,o=Math.imul(v,z),i=i+Math.imul(m,H)|0,n=(n=n+Math.imul(m,V)|0)+Math.imul(p,H)|0,o=o+Math.imul(p,V)|0;var vt=(u+(i=i+Math.imul(c,G)|0)|0)+((8191&(n=(n=n+Math.imul(c,K)|0)+Math.imul(f,G)|0))<<13)|0;u=((o=o+Math.imul(f,K)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(b,j),n=(n=Math.imul(b,z))+Math.imul(M,j)|0,o=Math.imul(M,z),i=i+Math.imul(y,H)|0,n=(n=n+Math.imul(y,V)|0)+Math.imul(v,H)|0,o=o+Math.imul(v,V)|0,i=i+Math.imul(m,G)|0,n=(n=n+Math.imul(m,K)|0)+Math.imul(p,G)|0,o=o+Math.imul(p,K)|0;var wt=(u+(i=i+Math.imul(c,Q)|0)|0)+((8191&(n=(n=n+Math.imul(c,W)|0)+Math.imul(f,Q)|0))<<13)|0;u=((o=o+Math.imul(f,W)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(E,j),n=(n=Math.imul(E,z))+Math.imul(A,j)|0,o=Math.imul(A,z),i=i+Math.imul(b,H)|0,n=(n=n+Math.imul(b,V)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,V)|0,i=i+Math.imul(y,G)|0,n=(n=n+Math.imul(y,K)|0)+Math.imul(v,G)|0,o=o+Math.imul(v,K)|0,i=i+Math.imul(m,Q)|0,n=(n=n+Math.imul(m,W)|0)+Math.imul(p,Q)|0,o=o+Math.imul(p,W)|0;var bt=(u+(i=i+Math.imul(c,X)|0)|0)+((8191&(n=(n=n+Math.imul(c,tt)|0)+Math.imul(f,X)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(x,j),n=(n=Math.imul(x,z))+Math.imul(N,j)|0,o=Math.imul(N,z),i=i+Math.imul(E,H)|0,n=(n=n+Math.imul(E,V)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,V)|0,i=i+Math.imul(b,G)|0,n=(n=n+Math.imul(b,K)|0)+Math.imul(M,G)|0,o=o+Math.imul(M,K)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(m,X)|0,n=(n=n+Math.imul(m,tt)|0)+Math.imul(p,X)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(i=i+Math.imul(c,rt)|0)|0)+((8191&(n=(n=n+Math.imul(c,it)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(I,j),n=(n=Math.imul(I,z))+Math.imul(R,j)|0,o=Math.imul(R,z),i=i+Math.imul(x,H)|0,n=(n=n+Math.imul(x,V)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,V)|0,i=i+Math.imul(E,G)|0,n=(n=n+Math.imul(E,K)|0)+Math.imul(A,G)|0,o=o+Math.imul(A,K)|0,i=i+Math.imul(b,Q)|0,n=(n=n+Math.imul(b,W)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(m,rt)|0,n=(n=n+Math.imul(m,it)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,it)|0;var _t=(u+(i=i+Math.imul(c,ot)|0)|0)+((8191&(n=(n=n+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(C,j),n=(n=Math.imul(C,z))+Math.imul(P,j)|0,o=Math.imul(P,z),i=i+Math.imul(I,H)|0,n=(n=n+Math.imul(I,V)|0)+Math.imul(R,H)|0,o=o+Math.imul(R,V)|0,i=i+Math.imul(x,G)|0,n=(n=n+Math.imul(x,K)|0)+Math.imul(N,G)|0,o=o+Math.imul(N,K)|0,i=i+Math.imul(E,Q)|0,n=(n=n+Math.imul(E,W)|0)+Math.imul(A,Q)|0,o=o+Math.imul(A,W)|0,i=i+Math.imul(b,X)|0,n=(n=n+Math.imul(b,tt)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(m,ot)|0,n=(n=n+Math.imul(m,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var Et=(u+(i=i+Math.imul(c,ht)|0)|0)+((8191&(n=(n=n+Math.imul(c,ut)|0)+Math.imul(f,ht)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(B,j),n=(n=Math.imul(B,z))+Math.imul($,j)|0,o=Math.imul($,z),i=i+Math.imul(C,H)|0,n=(n=n+Math.imul(C,V)|0)+Math.imul(P,H)|0,o=o+Math.imul(P,V)|0,i=i+Math.imul(I,G)|0,n=(n=n+Math.imul(I,K)|0)+Math.imul(R,G)|0,o=o+Math.imul(R,K)|0,i=i+Math.imul(x,Q)|0,n=(n=n+Math.imul(x,W)|0)+Math.imul(N,Q)|0,o=o+Math.imul(N,W)|0,i=i+Math.imul(E,X)|0,n=(n=n+Math.imul(E,tt)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,tt)|0,i=i+Math.imul(b,rt)|0,n=(n=n+Math.imul(b,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(m,ht)|0,n=(n=n+Math.imul(m,ut)|0)+Math.imul(p,ht)|0,o=o+Math.imul(p,ut)|0;var At=(u+(i=i+Math.imul(c,ct)|0)|0)+((8191&(n=(n=n+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,j),n=(n=Math.imul(D,z))+Math.imul(L,j)|0,o=Math.imul(L,z),i=i+Math.imul(B,H)|0,n=(n=n+Math.imul(B,V)|0)+Math.imul($,H)|0,o=o+Math.imul($,V)|0,i=i+Math.imul(C,G)|0,n=(n=n+Math.imul(C,K)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,K)|0,i=i+Math.imul(I,Q)|0,n=(n=n+Math.imul(I,W)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(x,X)|0,n=(n=n+Math.imul(x,tt)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,tt)|0,i=i+Math.imul(E,rt)|0,n=(n=n+Math.imul(E,it)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,it)|0,i=i+Math.imul(b,ot)|0,n=(n=n+Math.imul(b,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,ht)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,ht)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(m,ct)|0,n=(n=n+Math.imul(m,ft)|0)+Math.imul(p,ct)|0,o=o+Math.imul(p,ft)|0;var kt=(u+(i=i+Math.imul(c,mt)|0)|0)+((8191&(n=(n=n+Math.imul(c,pt)|0)+Math.imul(f,mt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,H),n=(n=Math.imul(D,V))+Math.imul(L,H)|0,o=Math.imul(L,V),i=i+Math.imul(B,G)|0,n=(n=n+Math.imul(B,K)|0)+Math.imul($,G)|0,o=o+Math.imul($,K)|0,i=i+Math.imul(C,Q)|0,n=(n=n+Math.imul(C,W)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(I,X)|0,n=(n=n+Math.imul(I,tt)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(x,rt)|0,n=(n=n+Math.imul(x,it)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,it)|0,i=i+Math.imul(E,ot)|0,n=(n=n+Math.imul(E,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,i=i+Math.imul(b,ht)|0,n=(n=n+Math.imul(b,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,ct)|0,n=(n=n+Math.imul(y,ft)|0)+Math.imul(v,ct)|0,o=o+Math.imul(v,ft)|0;var xt=(u+(i=i+Math.imul(m,mt)|0)|0)+((8191&(n=(n=n+Math.imul(m,pt)|0)+Math.imul(p,mt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,G),n=(n=Math.imul(D,K))+Math.imul(L,G)|0,o=Math.imul(L,K),i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul($,Q)|0,o=o+Math.imul($,W)|0,i=i+Math.imul(C,X)|0,n=(n=n+Math.imul(C,tt)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(I,rt)|0,n=(n=n+Math.imul(I,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(x,ot)|0,n=(n=n+Math.imul(x,st)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,st)|0,i=i+Math.imul(E,ht)|0,n=(n=n+Math.imul(E,ut)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,ut)|0,i=i+Math.imul(b,ct)|0,n=(n=n+Math.imul(b,ft)|0)+Math.imul(M,ct)|0,o=o+Math.imul(M,ft)|0;var Nt=(u+(i=i+Math.imul(y,mt)|0)|0)+((8191&(n=(n=n+Math.imul(y,pt)|0)+Math.imul(v,mt)|0))<<13)|0;u=((o=o+Math.imul(v,pt)|0)+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,W))+Math.imul(L,Q)|0,o=Math.imul(L,W),i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul($,X)|0,o=o+Math.imul($,tt)|0,i=i+Math.imul(C,rt)|0,n=(n=n+Math.imul(C,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(I,ot)|0,n=(n=n+Math.imul(I,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(x,ht)|0,n=(n=n+Math.imul(x,ut)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,ut)|0,i=i+Math.imul(E,ct)|0,n=(n=n+Math.imul(E,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var St=(u+(i=i+Math.imul(b,mt)|0)|0)+((8191&(n=(n=n+Math.imul(b,pt)|0)+Math.imul(M,mt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,tt))+Math.imul(L,X)|0,o=Math.imul(L,tt),i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul($,rt)|0,o=o+Math.imul($,it)|0,i=i+Math.imul(C,ot)|0,n=(n=n+Math.imul(C,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(I,ht)|0,n=(n=n+Math.imul(I,ut)|0)+Math.imul(R,ht)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(x,ct)|0,n=(n=n+Math.imul(x,ft)|0)+Math.imul(N,ct)|0,o=o+Math.imul(N,ft)|0;var It=(u+(i=i+Math.imul(E,mt)|0)|0)+((8191&(n=(n=n+Math.imul(E,pt)|0)+Math.imul(A,mt)|0))<<13)|0;u=((o=o+Math.imul(A,pt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(L,rt)|0,o=Math.imul(L,it),i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul($,ot)|0,o=o+Math.imul($,st)|0,i=i+Math.imul(C,ht)|0,n=(n=n+Math.imul(C,ut)|0)+Math.imul(P,ht)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(I,ct)|0,n=(n=n+Math.imul(I,ft)|0)+Math.imul(R,ct)|0,o=o+Math.imul(R,ft)|0;var Rt=(u+(i=i+Math.imul(x,mt)|0)|0)+((8191&(n=(n=n+Math.imul(x,pt)|0)+Math.imul(N,mt)|0))<<13)|0;u=((o=o+Math.imul(N,pt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(L,ot)|0,o=Math.imul(L,st),i=i+Math.imul(B,ht)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul($,ht)|0,o=o+Math.imul($,ut)|0,i=i+Math.imul(C,ct)|0,n=(n=n+Math.imul(C,ft)|0)+Math.imul(P,ct)|0,o=o+Math.imul(P,ft)|0;var Tt=(u+(i=i+Math.imul(I,mt)|0)|0)+((8191&(n=(n=n+Math.imul(I,pt)|0)+Math.imul(R,mt)|0))<<13)|0;u=((o=o+Math.imul(R,pt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,ht),n=(n=Math.imul(D,ut))+Math.imul(L,ht)|0,o=Math.imul(L,ut),i=i+Math.imul(B,ct)|0,n=(n=n+Math.imul(B,ft)|0)+Math.imul($,ct)|0,o=o+Math.imul($,ft)|0;var Ct=(u+(i=i+Math.imul(C,mt)|0)|0)+((8191&(n=(n=n+Math.imul(C,pt)|0)+Math.imul(P,mt)|0))<<13)|0;u=((o=o+Math.imul(P,pt)|0)+(n>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,i=Math.imul(D,ct),n=(n=Math.imul(D,ft))+Math.imul(L,ct)|0,o=Math.imul(L,ft);var Pt=(u+(i=i+Math.imul(B,mt)|0)|0)+((8191&(n=(n=n+Math.imul(B,pt)|0)+Math.imul($,mt)|0))<<13)|0;u=((o=o+Math.imul($,pt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var Ot=(u+(i=Math.imul(D,mt))|0)+((8191&(n=(n=Math.imul(D,pt))+Math.imul(L,mt)|0))<<13)|0;return u=((o=Math.imul(L,pt))+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,h[0]=gt,h[1]=yt,h[2]=vt,h[3]=wt,h[4]=bt,h[5]=Mt,h[6]=_t,h[7]=Et,h[8]=At,h[9]=kt,h[10]=xt,h[11]=Nt,h[12]=St,h[13]=It,h[14]=Rt,h[15]=Tt,h[16]=Ct,h[17]=Pt,h[18]=Ot,0!==u&&(h[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var a=67108863&i,h=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=h;u++){var l=o-u,c=(0|t.words[l])*(0|e.words[u]),f=67108863&c;a=67108863&(f=f+a|0),n+=(s=(s=s+(c/67108864|0)|0)+(f>>>26)|0)>>>26,s&=67108863}r.words[o]=a,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}Math.imul||(p=m),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?m(this,t,e):r<1024?g(this,t,e):y(this,t,e)},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),y(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var o=(0|this.words[n])*t,s=(67108863&o)+(67108863&i);i>>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=t.words[i]>>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,h=(0|this.words[e])-a<<i;this.words[e]=h|s,s=a>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this._strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,h=i;if(n-=s,n=Math.max(0,n),h){for(var u=0;u<s;u++)h.words[u]=this.words[u];h.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var l=0;for(u=this.length-1;u>=0&&(0!==l||u>=n);u--){var c=0|this.words[u];this.words[u]=l<<26-o|c>>>o,l=c&a}return h&&0!==l&&(h.words[h.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i)&&!!(this.words[i]&n)},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this._strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var a=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+a;var h=(0|t.words[n])*e;a=((o-=67108863&h)>>26)-(h/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)a=(o=(0|this.words[n+i])+a)>>26,this.words[n+i]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,n=0;n<this.length;n++)a=(o=-(0|this.words[n])+a)>>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var a,h=i.length-o.length;if("mod"!==e){(a=new n(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u<a.length;u++)a.words[u]=0}var l=i.clone()._ishlnsubmul(o,1,h);0===l.negative&&(i=l,a&&(a.words[h]=1));for(var c=h-1;c>=0;c--){var f=67108864*(0|i.words[o.length+c])+(0|i.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),i._ishlnsubmul(o,f,c);0!==i.negative;)f--,i.negative=0,i._ishlnsubmul(o,1,c),i.isZero()||(i.negative^=1);a&&(a.words[c]=f)}return a&&a._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:a||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),a=new n(0),h=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var l=i.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(l),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var m=0,p=1;0==(i.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(i.iushrn(m);m-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(l),h.isub(c)),a.iushrn(1),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(a),s.isub(h)):(i.isub(e),a.isub(o),h.isub(s))}return{a:a,b:h,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),a=new n(0),h=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,l=1;0==(e.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var c=0,f=1;0==(i.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(i.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(a)):(i.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new A(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function w(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){A.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},w.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(t,e){t.iushrn(this.n,0,e)},w.prototype.imulK=function(t){return t.imul(this.k)},i(b,w),b.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},b.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,w),i(_,w),i(E,w),E.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new b;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return v[t]=e,e},A.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},A.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},A.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},A.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},A.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},A.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},A.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},A.prototype.isqr=function(t){return this.imul(t,t.clone())},A.prototype.sqr=function(t){return this.mul(t,t)},A.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new n(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new n(2*l*l).toRed(this);0!==this.pow(l,u).cmp(h);)l.redIAdd(h);for(var c=this.pow(l,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),m=s;0!==d.cmp(a);){for(var p=d,g=0;0!==p.cmp(a);g++)p=p.redSqr();r(g<m);var y=this.pow(c,new n(1).iushln(m-g-1));f=f.redMul(y),c=y.redSqr(),d=d.redMul(c),m=g}return f},A.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},A.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,a=0,h=e.bitLength()%26;for(0===h&&(h=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],l=h-1;l>=0;l--){var c=u>>l&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===i&&0===l)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}h=26}return o},A.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},A.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,A),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,r)}));var KS=GS.BN;const JS=new y("bignumber/5.6.2"),QS={},WS=9007199254740991;let YS=!1;class XS{constructor(t,e){t!==QS&&JS.throwError("cannot call constructor directly; use BigNumber.from",y.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return eI(rI(this).fromTwos(t))}toTwos(t){return eI(rI(this).toTwos(t))}abs(){return"-"===this._hex[0]?XS.from(this._hex.substring(1)):this}add(t){return eI(rI(this).add(rI(t)))}sub(t){return eI(rI(this).sub(rI(t)))}div(t){return XS.from(t).isZero()&&iI("division-by-zero","div"),eI(rI(this).div(rI(t)))}mul(t){return eI(rI(this).mul(rI(t)))}mod(t){const e=rI(t);return e.isNeg()&&iI("division-by-zero","mod"),eI(rI(this).umod(e))}pow(t){const e=rI(t);return e.isNeg()&&iI("negative-power","pow"),eI(rI(this).pow(e))}and(t){const e=rI(t);return(this.isNegative()||e.isNeg())&&iI("unbound-bitwise-result","and"),eI(rI(this).and(e))}or(t){const e=rI(t);return(this.isNegative()||e.isNeg())&&iI("unbound-bitwise-result","or"),eI(rI(this).or(e))}xor(t){const e=rI(t);return(this.isNegative()||e.isNeg())&&iI("unbound-bitwise-result","xor"),eI(rI(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&iI("negative-width","mask"),eI(rI(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&iI("negative-width","shl"),eI(rI(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&iI("negative-width","shr"),eI(rI(this).shrn(t))}eq(t){return rI(this).eq(rI(t))}lt(t){return rI(this).lt(rI(t))}lte(t){return rI(this).lte(rI(t))}gt(t){return rI(this).gt(rI(t))}gte(t){return rI(this).gte(rI(t))}isNegative(){return"-"===this._hex[0]}isZero(){return rI(this).isZero()}toNumber(){try{return rI(this).toNumber()}catch(t){iI("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(t){}return JS.throwError("this platform does not support BigInt",y.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?YS||(YS=!0,JS.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?JS.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",y.errors.UNEXPECTED_ARGUMENT,{}):JS.throwError("BigNumber.toString does not accept parameters",y.errors.UNEXPECTED_ARGUMENT,{})),rI(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof XS)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new XS(QS,tI(t)):t.match(/^-?[0-9]+$/)?new XS(QS,tI(new KS(t))):JS.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&iI("underflow","BigNumber.from",t),(t>=WS||t<=-WS)&&iI("overflow","BigNumber.from",t),XS.from(String(t));const e=t;if("bigint"==typeof e)return XS.from(e.toString());if(E(e))return XS.from(I(e));if(e)if(e.toHexString){const t=e.toHexString();if("string"==typeof t)return XS.from(t)}else{let t=e._hex;if(null==t&&"BigNumber"===e.type&&(t=e.hex),"string"==typeof t&&(N(t)||"-"===t[0]&&N(t.substring(1))))return XS.from(t)}return JS.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function tI(t){if("string"!=typeof t)return tI(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&JS.throwArgumentError("invalid hex","value",t),"0x00"===(t=tI(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function eI(t){return XS.from(tI(t))}function rI(t){const e=XS.from(t).toHexString();return"-"===e[0]?new KS("-"+e.substring(3),16):new KS(e.substring(2),16)}function iI(t,e,r){const i={fault:t,operation:e};return null!=r&&(i.value=r),JS.throwError(t,y.errors.NUMERIC_FAULT,i)}var nI=window&&window.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{h(i.next(t))}catch(t){o(t)}}function a(t){try{h(i.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((i=i.apply(t,e||[])).next())}))};const oI=new y("hash/5.6.1"),sI=new Uint8Array(32);sI.fill(0);const aI=XS.from(-1),hI=XS.from(0),uI=XS.from(1),lI=XS.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const cI=O(uI.toHexString(),32),fI=O(hI.toHexString(),32),dI={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},mI=["name","version","chainId","verifyingContract","salt"];function pI(t){return function(e){return"string"!=typeof e&&oI.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const gI={name:pI("name"),version:pI("version"),chainId:function(t){try{return XS.from(t).toString()}catch(t){}return oI.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return Ce(t).toLowerCase()}catch(t){}return oI.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=A(t);if(32!==e.length)throw new Error("bad length");return I(e)}catch(t){}return oI.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function yI(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const r=""===e[1],i=parseInt(e[2]||"256");(i%8!=0||i>256||e[2]&&e[2]!==String(i))&&oI.throwArgumentError("invalid numeric width","type",t);const n=lI.mask(r?i-1:i),o=r?n.add(uI).mul(aI):hI;return function(e){const r=XS.from(e);return(r.lt(o)||r.gt(n))&&oI.throwArgumentError(`value out-of-bounds for ${t}`,"value",e),O(r.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const r=parseInt(e[1]);return(0===r||r>32||e[1]!==String(r))&&oI.throwArgumentError("invalid bytes width","type",t),function(e){return A(e).length!==r&&oI.throwArgumentError(`invalid length for ${t}`,"value",e),function(t){const e=A(t),r=e.length%32;return r?C([e,sI.slice(r)]):I(e)}(e)}}}switch(t){case"address":return function(t){return O(Ce(t),32)};case"bool":return function(t){return t?cI:fI};case"bytes":return function(t){return we(t)};case"string":return function(t){return ZS(t)}}return null}function vI(t,e){return`${t}(${e.map((({name:t,type:e})=>e+" "+t)).join(",")})`}class wI{constructor(t){Nr(this,"types",Object.freeze(Or(t))),Nr(this,"_encoderCache",{}),Nr(this,"_types",{});const e={},r={},i={};Object.keys(t).forEach((t=>{e[t]={},r[t]=[],i[t]={}}));for(const i in t){const n={};t[i].forEach((o=>{n[o.name]&&oI.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(i)}`,"types",t),n[o.name]=!0;const s=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===i&&oI.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",t);yI(s)||(r[s]||oI.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",t),r[s].push(i),e[i][s]=!0)}))}const n=Object.keys(r).filter((t=>0===r[t].length));0===n.length?oI.throwArgumentError("missing primary type","types",t):n.length>1&&oI.throwArgumentError(`ambiguous primary types or unused types: ${n.map((t=>JSON.stringify(t))).join(", ")}`,"types",t),Nr(this,"primaryType",n[0]),function n(o,s){s[o]&&oI.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",t),s[o]=!0,Object.keys(e[o]).forEach((t=>{r[t]&&(n(t,s),Object.keys(s).forEach((e=>{i[e][t]=!0})))})),delete s[o]}(this.primaryType,{});for(const e in i){const r=Object.keys(i[e]);r.sort(),this._types[e]=vI(e,t[e])+r.map((e=>vI(e,t[e]))).join("")}}getEncoder(t){let e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}_getEncoder(t){{const e=yI(t);if(e)return e}const e=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){const t=e[1],r=this.getEncoder(t),i=parseInt(e[3]);return e=>{i>=0&&e.length!==i&&oI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);let n=e.map(r);return this._types[t]&&(n=n.map(we)),we(C(n))}}const r=this.types[t];if(r){const e=ZS(this._types[t]);return t=>{const i=r.map((({name:e,type:r})=>{const i=this.getEncoder(r)(t[e]);return this._types[r]?we(i):i}));return i.unshift(e),C(i)}}return oI.throwArgumentError(`unknown type: ${t}`,"type",t)}encodeType(t){const e=this._types[t];return e||oI.throwArgumentError(`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return we(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,r){if(yI(t))return r(t,e);const i=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(i){const t=i[1],n=parseInt(i[3]);return n>=0&&e.length!==n&&oI.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map((e=>this._visit(t,e,r)))}const n=this.types[t];return n?n.reduce(((t,{name:i,type:n})=>(t[i]=this._visit(n,e[i],r),t)),{}):oI.throwArgumentError(`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new wI(t)}static getPrimaryType(t){return wI.from(t).primaryType}static hashStruct(t,e,r){return wI.from(e).hashStruct(t,r)}static hashDomain(t){const e=[];for(const r in t){const i=dI[r];i||oI.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:i})}return e.sort(((t,e)=>mI.indexOf(t.name)-mI.indexOf(e.name))),wI.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return C(["0x1901",wI.hashDomain(t),wI.from(e).hash(r)])}static hash(t,e,r){return we(wI.encode(t,e,r))}static resolveNames(t,e,r,i){return nI(this,void 0,void 0,(function*(){t=Rr(t);const n={};t.verifyingContract&&!N(t.verifyingContract,20)&&(n[t.verifyingContract]="0x");const o=wI.from(e);o.visit(r,((t,e)=>("address"!==t||N(e,20)||(n[e]="0x"),e)));for(const t in n)n[t]=yield i(t);return t.verifyingContract&&n[t.verifyingContract]&&(t.verifyingContract=n[t.verifyingContract]),r=o.visit(r,((t,e)=>"address"===t&&n[e]?n[e]:e)),{domain:t,value:r}}))}static getPayload(t,e,r){wI.hashDomain(t);const i={},n=[];mI.forEach((e=>{const r=t[e];null!=r&&(i[e]=gI[e](r),n.push({name:e,type:dI[e]}))}));const o=wI.from(e),s=Rr(e);return s.EIP712Domain?oI.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",e):s.EIP712Domain=n,o.encode(r),{types:s,domain:i,primaryType:o.primaryType,message:o.visit(r,((t,e)=>{if(t.match(/^bytes(\d*)/))return I(A(e));if(t.match(/^u?int/))return XS.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&oI.throwArgumentError("invalid string","value",e),e}return oI.throwArgumentError("unsupported type","type",t)}))}}}window&&window.__awaiter;new y("wallet/5.6.2");function bI(t,e,r,i){return La(wI.hash(t,e,r),i)}function MI(t,e){return t.toLowerCase()===e.toLowerCase()}function _I(t){const{domain:e,types:r,message:i}=t;return jl.hash(e,r,i)}function EI(t,r,i,n){return e(this,void 0,void 0,(function*(){let e;try{e=yield iR(n,["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]])}catch(t){if(t.message.startsWith("missing revert data in call exception"))return!1;throw t}return MI(e,"0x1626ba7e")}))}function AI(t,r,i,n){return e(this,void 0,void 0,(function*(){return MI(yield iR(n,["function isValidSignature(bytes _hash, bytes memory _signature) public view returns (bytes4 magicValue)"],[t,"isValidSignature",[A(i),r]]),"0x20c13b0b")}))}var kI=Object.freeze({__proto__:null,getHash:_I,default:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){const{domain:o,types:s,message:a}=r;try{if(MI(t,bI(o,s,a,e)))return!0}catch(t){}const h=_g(i,n),u=_I(r);return!!(yield EI(t,e,u,h))||(yield AI(t,e,u,h))}))}});var xI=["snapshot.4everland.link","ipfs.io","ipfs.fleek.co","gateway.pinata.cloud","dweb.link","ipfs.infura.io"],NI={1:{key:"1",name:"Ethereum",chainId:1,network:"homestead",multicall:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",ensResolvers:["0x231b0Ee14048e9dCcD1d247744d114a4EB5E8E63","0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41"],ensNameWrapper:"0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401",ensSubgraph:"https://subgrapher.snapshot.org/subgraph/arbitrum/5XqPmWe6gjyrJtFn9cLy237i4cWw2j9HcUJEXsP5qGtH",rpc:["https://rpc.ankr.com/eth",{url:"https://api-geth-archive.ankr.com",user:"balancer_user",password:"balancerAnkr20201015"},"https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/eth/mainnet/archive","https://apis.ankr.com/e62bc219f9c9462b8749defe472d2dc5/6106d4a3ec1d1bcc87ec72158f8fd089/eth/archive/main","https://eth-archival.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://eth-mainnet.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],light:["https://cloudflare-eth.com"],ws:["wss://eth-mainnet.ws.alchemyapi.io/v2/4bdDVB5QAaorY2UE-GBUbM2yQB3QJqzv"],explorer:{url:"https://etherscan.io",apiUrl:"https://api.etherscan.io"},start:7929876,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},8:{key:"8",name:"Ubiq",chainId:8,network:"Ubiq",multicall:"0x6668750957e4083725926B71C41bDF1434C73262",rpc:["https://rpc.octano.dev"],ws:["wss://ws.octano.dev"],explorer:{url:"https://ubiqscan.io"},start:1,logo:"ipfs://Qmec3HLoN4QhwZAhw4XTi2aN8Wwmcko5hHN22sHARzb9tw"},10:{key:"10",name:"Optimism",chainId:10,network:"Optimism mainnet",multicall:"0x35A6Cdb2C9AD4a45112df4a04147EB07dFA01aB7",rpc:["https://opt-mainnet.g.alchemy.com/v2/JzmIL4Q3jBj7it2duxLFeuCa9Wobmm7D"],explorer:{url:"https://optimistic.etherscan.io",apiUrl:"https://api-optimistic.etherscan.io"},start:657806,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb"},19:{key:"19",name:"Songbird Canary-Network",shortName:"Songbird",chainId:19,network:"songbird",multicall:"0x17032Ea9c3a13Ed337665145364c0d2aD1108c91",rpc:["https://songbird-api.flare.network/ext/C/rpc"],explorer:{url:"https://songbird-explorer.flare.network"},start:21807126,logo:"ipfs://QmXyvnrZY8FUxSULfnKKA99sAEkjAHtvhRx5WeHixgaEdu"},24:{key:"24",name:"KardiaChain Mainnet",shortName:"KAI",chainId:24,network:"mainnet",multicall:"0xd9c92F2287B7802A37eC9BEce96Aa65fb5f31E1b",rpc:["https://kai-internal.kardiachain.io"],explorer:{url:"https://explorer.kardiachain.io"},start:8260245,logo:"ipfs://bafkreig73yfyqzbxydv6e3dbj5nks3f57px2iez7tywayey4rilfhhrr34"},25:{key:"25",name:"Cronos",shortName:"Cronos",chainId:25,network:"mainnet",multicall:"0x6F522a3982e8F9A50A2EDc9E46ed1A3aE2B3FD3a",rpc:["https://evm-cronos.crypto.org"],explorer:{url:"https://cronos.crypto.org/explorer"},start:4067,logo:"ipfs://QmfSJbtirJoa3Pt7o5Fdm85wbyw9V1hpzqLr5PQbdnfsAj"},30:{key:"30",name:"RSK",chainId:30,network:"rsk mainnet",multicall:"0x4eeebb5580769ba6d26bfd07be636300076d1831",rpc:["https://public-node.rsk.co"],explorer:{url:"https://explorer.rsk.co"},start:2516442,logo:"ipfs://QmXTwpE1SqoNZmyY4c3fYWy6qUgQELsyWKbgJo2Pg6K6V9"},46:{key:"46",name:"Darwinia Network",shortName:"Darwinia",chainId:46,network:"mainnet",multicall:"0x67f9ae42EaA9a8aBf065D60ec6Ab3C1A11370607",rpc:["https://rpc.darwinia.network"],explorer:{url:"https://darwinia.subscan.io"},start:141853,logo:"ipfs://bafkreicf55maidhx46pyu3mwsshlr43xbewr6tkckkonh4nesbkp7krwkm"},56:{key:"56",name:"BNB Smart Chain",shortName:"BSC",chainId:56,network:"mainnet",multicall:"0x1ee38d535d541c55c9dae27b12edf090c608e6fb",rpc:["https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/bsc/mainnet/archive","https://rpc.ankr.com/bsc","https://bsc.getblock.io/mainnet/?api_key=91f8195f-bf46-488f-846a-73d6853790e7","https://bsc-private-dataseed1.nariox.org","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed1.binance.org"],explorer:{url:"https://bscscan.com"},start:461230,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},61:{key:"61",name:"Ethereum Classic",shortName:"Ethereum Classic",chainId:61,network:"mainnet",multicall:"0x51be3a92C56ae7E207C5b5Fd87F7798Ce82C1AC2",rpc:["https://www.ethercluster.com/etc"],explorer:{url:"https://blockscout.com/etc/mainnet"},start:13307544,logo:"ipfs://QmVegc28DvA7LjKUFysab81c9BSuN4wQVDQkRXyAtuEBis"},66:{key:"66",name:"OKExChain",shortName:"OEC Mainnet",chainId:66,network:"oec mainnet",multicall:"0x6EB187d8197Ac265c945b69f3c3064A6f3831866",rpc:["https://exchainrpc.okex.org"],ws:["wss://exchainws.okex.org:8443"],explorer:{url:"https://www.oklink.com/okexchain"},start:5076543,logo:"ipfs://Qmd7dKnNwHRZ4HRCbCXUbkNV7gP28fGqPdjbHtjRtT9sQF"},75:{key:"75",name:"Decimal",shortName:"mainnet",chainId:75,network:"mainnet",multicall:"0x949d1A0757803C51F2EfFFEb5472C861A898B8E8",rpc:[],explorer:{url:"https://explorer.decimalchain.com"},start:16031065,logo:"ipfs://bafkreihkdhbce5rkogl63xegaarlirjrvbfarxbtbf5mqme3s5grvbjyxm"},81:{key:"81",name:"Shibuya Network",shortName:"Shibuya",chainId:81,network:"testnet",testnet:!0,multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shibuya.astar.network:8545"],explorer:{url:"https://blockscout.com/shibuya"},start:856303,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},82:{key:"82",name:"Meter",shortName:"Meter",chainId:82,network:"mainnet",multicall:"0x579De77CAEd0614e3b158cb738fcD5131B9719Ae",rpc:["https://rpc.meter.io"],explorer:{url:"https://scan.meter.io"},start:4992871,logo:"ipfs://QmSZvT9w9eUDvV1YVaq3BKKEbubtNVqu1Rin44FuN4wz11"},97:{key:"97",name:"BNB Smart Chain Testnet",shortName:"BSC Testnet",chainId:97,network:"testnet",testnet:!0,multicall:"0x8b54247c6BAe96A6ccAFa468ebae96c4D7445e46",rpc:["https://data-seed-prebsc-1-s1.binance.org:8545","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/bsc/testnet/archive"],explorer:{url:"https://testnet.bscscan.com"},start:3599656,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},100:{key:"100",name:"Gnosis Chain",shortName:"xDAI",chainId:100,network:"mainnet",multicall:"0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a",rpc:["https://gno.getblock.io/mainnet/6c1d1e6e-75d9-452f-a863-a694bff93d5c/","https://xdai-archive.blockscout.com","https://poa-xdai.gateway.pokt.network/v1/5f76124fb90218002e9ce985","https://rpc.gnosischain.com"],light:["https://rpc.gnosischain.com"],ws:["wss://rpc.xdaichain.com/wss"],explorer:{url:"https://gnosis.blockscout.com"},start:4108192,logo:"ipfs://QmZeiy8Ax4133wzxUQM9ky8z5XFVf6YLFjJMmTWbWVniZR"},108:{key:"108",name:"Thundercore",chainId:108,network:"mainnet",multicall:"0x3017086deef56679e267f67f66c4415109b7a97f",rpc:["https://mainnet-rpc.thundercore.com/archived/SNAPSHOTEuR82a75fLYA"],explorer:{url:"https://viewblock.io/thundercore"},start:94425385,logo:"ipfs://bafkreifc5z5vtvqx2luzgateyvoocwpd2ifv2hwufxdnyl2a767wa6icli"},122:{key:"122",name:"Fuse",shortName:"Fuse",chainId:122,network:"mainnet",multicall:"0x7a59441fb06666F6d2D766393d876945D06a169c",rpc:["https://explorer-node.fuse.io/","https://oefusefull1.liquify.info/"],explorer:{url:"https://explorer.fuse.io"},start:11923459,logo:"ipfs://QmXjWb64nako7voaVEifgdjAbDbswpTY8bghsiHpv8yWtb"},137:{key:"137",name:"Polygon PoS",shortName:"Polygon",chainId:137,network:"mainnet",multicall:"0xCBca837161be50EfA5925bB9Cc77406468e76751",rpc:["https://rpc.ankr.com/polygon","https://speedy-nodes-nyc.moralis.io/b9aed21e7bb7bdeb35972c9a/polygon/mainnet/archive","https://speedy-nodes-nyc.moralis.io/f2963e29bec0de5787da3164/polygon/mainnet/archive","https://rpc-mainnet.maticvigil.com/v1/1cfd7598e5ba6dcf0b4db58e8be484badc6ea08e"],ws:["wss://ws-mainnet.matic.network"],explorer:{url:"https://polygonscan.com",apiUrl:"https://api.polygonscan.com"},start:9834491,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},144:{key:"144",name:"PHI Network",shortName:"PHI",chainId:144,network:"mainnet",multicall:"0xc2f41B404a6757863AAeF49ff93039421acCd630",rpc:["https://connect.phi.network"],explorer:{url:"https://phiscan.com"},start:360030,logo:"ipfs://bafkreid6pm3mic7izp3a6zlfwhhe7etd276bjfsq2xash6a4s2vmcdf65a"},148:{key:"148",name:"ShimmerEVM",shortName:"ShimmerEVM",chainId:148,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.evm.shimmer.network/"},start:1290,logo:"ipfs://bafkreib4xhbgbhrwkmizp4d4nz3wzbpyhdm6wpz2v2pbkk7jxsgg3hdt74"},169:{key:"169",name:"Manta Pacific",shortName:"Manta",chainId:169,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://www.oklink.com/manta"},start:332890,logo:"ipfs://bafkreibbrwgwdcfh755dqh4ndta6tja77qbaa36bfv4pstub6prhhore7a"},204:{key:"204",name:"opBNB",shortName:"mainnet",chainId:204,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"http://opbnbscan.com/"},start:512881,logo:"ipfs://bafkreibll4la7wqerzs7zwxjne2j7ayynbg2wlenemssoahxxj5rbt6c64"},246:{key:"246",name:"Energy Web Chain",shortName:"EWC",chainId:246,network:"mainnet",multicall:"0x0767F26d0D568aB61A98b279C0b28a4164A6f05e",rpc:["https://voting-rpc.carbonswap.exchange"],explorer:{url:"https://explorer.energyweb.org"},start:12086501,logo:"ipfs://Qmai7AGHgs8NpeGeXgbMZz7pS2i4kw44qubCJYGrZW2f3a"},250:{key:"250",name:"Fantom Opera",shortName:"fantom",chainId:250,network:"Mainnet",multicall:"0x7f6A10218264a22B4309F3896745687E712962a0",rpc:["https://rpc.ankr.com/fantom","https://rpc.ftm.tools","https://rpcapi.fantom.network"],explorer:{url:"https://ftmscan.com"},start:2497732,logo:"ipfs://QmVEgNeQDKnXygeGxfY9FywZpNGQu98ktZtRJ9bToYF6g7"},252:{key:"252",name:"Fraxtal",shortName:"mainnet",chainId:252,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://fraxscan.com"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu"},269:{key:"269",name:"High Performance Blockchain",shortName:"HPB",chainId:269,network:"mainnet",multicall:"0x67D0f263aef2F6167FA77353695D75b582Ff4Bca",rpc:["https://hpbnode.com"],ws:["wss://ws.hpbnode.com"],explorer:{url:"https://hscan.org"},start:13960096,logo:"ipfs://QmU7f1MyRz8rLELFfypnWZQjGbDGYgZtC9rjw47jYMYrnu"},300:{key:"300",name:"zkSync Sepolia Testnet",shortName:"testnet",chainId:300,network:"testnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:[],explorer:{url:"https://sepolia.explorer.zksync.dev/"},start:2292,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy",testnet:!0},314:{key:"314",name:"Filecoin",shortName:"mainnet",chainId:314,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://filfox.io"},start:3328594,logo:"ipfs://bafybeibyvjfmk6aqlfdrczvth55jkmnoadtrch7ht3rdmvqmy2bfxynecm"},321:{key:"321",name:"KCC",shortName:"KCC",chainId:321,network:"mainnet",multicall:"0xa64D6AFb48225BDA3259246cfb418c0b91de6D7a",rpc:["https://rpc-mainnet.kcc.network"],ws:["wss://rpc-ws-mainnet.kcc.network"],explorer:{url:"https://explorer.kcc.io"},start:1487453,logo:"ipfs://QmRdzYGhFRG8QLzMJahHrw3vETE2YZ9sywQbEkenSjKEvb"},324:{key:"324",name:"zkSync Era",shortName:"zkSync-era",chainId:324,network:"zkSync Era Mainnet",multicall:"0xF9cda624FBC7e059355ce98a31693d299FACd963",rpc:["https://mainnet.era.zksync.io"],explorer:{url:"https://explorer.zksync.io/"},start:3908235,logo:"ipfs://bafkreih6y7ri7h667cwxe5miisxghfheiidtbw2747y75stoxt3gp3a2yy"},336:{key:"336",name:"Shiden Network",shortName:"Shiden",chainId:336,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://rpc.shiden.astar.network:8545","https://shiden.api.onfinality.io/public"],explorer:{url:"https://blockscout.com/shiden"},start:1170016,logo:"ipfs://QmcqGQE4Sk73zXc3e91TUFFefKBVeaNgbxV141XkSNE4xj"},369:{key:"369",name:"Pulsechain",shortName:"Pulsechain",chainId:369,network:"mainnet",multicall:"0xdbdd0FD8B16F0092f306392b699D7fbddaA9011B",rpc:["https://rpc.pulsechain.com"],explorer:{url:"https://scan.pulsechain.com/"},start:17657774,logo:"ipfs://QmWUsiEWdejtHZ9B9981TYXn7Ds8C7fkB1S4h5rP3kCCZR"},416:{key:"416",name:"SX Network",shortName:"SX",chainId:416,network:"mainnet",multicall:"0x834a005DDCF990Ba1a79f259e840e58F2D14F49a",rpc:["https://rpc.sx.technology"],ws:["wss://rpc.sx.technology/ws"],explorer:{url:"https://explorer.sx.technology"},start:2680605,logo:"ipfs://QmSXLXqyr2H6Ja5XrmznXbWTEvF2gFaL8RXNXgyLmDHjAF"},592:{key:"592",name:"Astar Network",shortName:"Astar",chainId:592,network:"mainnet",multicall:"0x3E90A35839ff0Aa32992d33d861f24dC95BBf74d",rpc:["https://astar.api.onfinality.io/public","https://rpc.astar.network:8545"],explorer:{url:"https://blockscout.com/astar"},start:366482,logo:"ipfs://QmZLQVsUqHBDXutu6ywTvcYXDZG2xBstMfHkfJSzUNpZsc"},813:{key:"813",name:"Qitmeer",shortName:"MEER",chainId:813,network:"mainnet",multicall:"0x55034b2cF530ae3A8fC1e2e4523F58496796610F",rpc:["https://evm-dataseed1.meerscan.io","https://evm-dataseed.meerscan.com","https://evm-dataseed2.meerscan.io","https://evm-dataseed3.meerscan.io"],explorer:{url:"https://evm.meerscan.io"},start:43317,logo:"ipfs://QmXvum7SNVaAqAc2jNzR1NpNZN1GGvNaKWydg8a1GEDQ7y"},841:{key:"841",name:"Taraxa",shortName:"841",chainId:841,network:"mainnet",multicall:"0xFCe7a3121B42664AaD145712e1c2Bf2e38f60AA1",rpc:["https://rpc.mainnet.taraxa.io"],ws:["wss://ws.mainnet.taraxa.io"],explorer:{url:"https://mainnet.explorer.taraxa.io"},start:1515906,logo:"ipfs://Qmcc6ZCAGESMzZzoj5LsTVcCo2E35x3Ydk71uPJyov6Mwx"},888:{key:"888",name:"Wanchain",chainId:888,network:"mainnet",multicall:"0xba5934ab3056fca1fa458d30fbb3810c3eb5145f",rpc:["https://gwan-ssl.wandevs.org:56891"],ws:["wss://api.wanchain.org:8443/ws/v3/ddd16770c68f30350a21114802d5418eafe039b722de52b488e7eee1ee2cd73f"],explorer:{url:"https://www.wanscan.org"},start:11302663,logo:"ipfs://QmewFFN44rkxESFsHG8edaLt1znr62hjvZhGynfXqruzX3"},1001:{key:"1001",name:"Klaytn Baobab Testnet",shortName:"Boabab",chainId:1001,network:"testnet",testnet:!0,multicall:"0x40643B8Aeaaca0b87Ea1A1E596e64a0e14B1d244",rpc:["https://archive-en.baobab.klaytn.net"],ws:["wss://archive-en.baobab.klaytn.net/ws"],explorer:{url:"https://baobab.scope.klaytn.com"},start:87232478,logo:"ipfs://QmYACyZcidcFtMo4Uf9H6ZKUxTP2TQPjGzNjcUjqYa64dt"},1072:{key:"1072",name:"Shimmer EVM Testnet",shortName:"ShimmerEVM",chainId:1072,network:"testnet",testnet:!0,multicall:"0x751d21047C116413895c259f3f305e38C10B7cF6",rpc:["https://archive.evm.testnet.shimmer.network/v1/chains/rms1pr75wa5xuepg2hew44vnr28wz5h6n6x99zptk2g68sp2wuu2karywgrztx3/evm"],explorer:{url:"https://explorer.evm.testnet.shimmer.network/"},start:10614,logo:"ipfs://bafkreihtwfwrue7klzedwx4rqlk6agklz4lbbk7owsyw6xzn6c2m4t5tgy"},1088:{key:"1088",name:"Metis",shortName:"metis",chainId:1088,network:"mainnet",multicall:"0xc39aBB6c4451089dE48Cffb013c39d3110530e5C",rpc:["https://andromeda.metis.io/?owner=1088"],explorer:{url:"https://andromeda-explorer.metis.io"},start:451,logo:"ipfs://bafkreiaqr4atnjpdnk3c4vu4377ai7bzqpgaefefbl5j5imfsvr4puimtu"},1101:{key:"1101",name:"Polygon zkEVM",shortName:"mainnet",chainId:1101,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://zkevm.polygonscan.com"},start:57746,logo:"ipfs://bafkreibfiyvhqnme2vbxxfcku7qkxgjpkg6ywdkplxh4oxlkqsbznyorfm"},1116:{key:"1116",name:"Core Chain",shortName:"Core",chainId:1116,network:"mainnet",multicall:"0x024f0041b76B598c2A0a75004F8447FaF67BD004",rpc:["https://rpcar.coredao.org/"],explorer:{url:"https://scan.coredao.org"},start:853908,logo:"ipfs://bafkreigjv5yb7uhlrryzib7j2f73nnwqan2tmfnwjdu26vkk365fyesoiu"},1284:{key:"1284",name:"Moonbeam",shortName:"GLMR",chainId:1284,network:"mainnet",multicall:"0x83e3b61886770de2F64AAcaD2724ED4f08F7f36B",rpc:["https://rpc.api.moonbeam.network"],explorer:{url:"https://moonscan.io/"},start:171135,logo:"ipfs://QmWKTEK2pj5sBBbHnMHQbWgw6euVdBrk2Ligpi2chrWASk"},1285:{key:"1285",name:"Moonriver (Kusama)",shortName:"Moonriver",chainId:1285,network:"mainnet",multicall:"0x537004440ffFE1D4AE9F009031Fc2b0385FCA9F1",rpc:["https://rpc.api.moonriver.moonbeam.network"],explorer:{url:"https://blockscout.moonriver.moonbeam.network"},start:413539,logo:"ipfs://QmXtgPesL87Ejhq2Y7yxsaPYpf4RcnoTYPJWPcv6iiYhoi"},1287:{key:"1287",name:"Moonbase Alpha TestNet",shortName:"Moonbase",chainId:1287,network:"testnet",testnet:!0,multicall:"0xf09FD6B6FF3f41614b9d6be2166A0D07045A3A97",rpc:["https://rpc.testnet.moonbeam.network"],explorer:{url:"https://moonbase-blockscout.testnet.moonbeam.network"},start:859041,logo:"ipfs://QmeGbNTU2Jqwg8qLTMGW8n8HSi2VdgCncAaeGzLx6gYnD7"},1328:{key:"1328",name:"Sei atlantic testnet",shortName:"testnet",chainId:1328,network:"testnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://seitrace.com"},start:96978658,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},1329:{key:"1329",name:"Sei",shortName:"mainnet",chainId:1329,network:"mainnet",multicall:"0xe033Bed7cae4114Af84Be1e9F1CA7DEa07Dfe1Cf",rpc:[],explorer:{url:"https://seitrace.com/"},start:79164574,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq"},1559:{key:"1559",name:"Tenet",shortName:"tenet",chainId:1559,network:"mainnet",multicall:"0xcCB3F00bE353950E4C08501ac8Af48765EAAa738",rpc:[],explorer:{url:"https://tenetscan.io"},start:944415,logo:"ipfs://Qmc1gqjWTzNo4pyFSGtQuCu7kRSZZBUVybtTjHn2nNEEPA"},1663:{key:"1663",name:"Horizen Gobi Testnet",shortName:"Gobi",chainId:1663,network:"testnet",testnet:!0,multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:["https://gobi-testnet.horizenlabs.io/ethv1"],explorer:{url:"https://gobi-explorer.horizen.io"},start:1,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},2e3:{key:"2000",name:"Doge Chain",shortName:"dogechain",chainId:2e3,network:"mainnet",multicall:"0x6f9D3f3932B417bd4957585D236Cbc32b32C0BDc",rpc:["https://rpc.dogechain.dog"],explorer:{url:"https://explorer.dogechain.dog"},start:877115,logo:"ipfs://bafkreigovfh3pinsdih777issfgaflwu2yjzroljs2642gbvwikcd3nm4i"},2109:{key:"2109",name:"Exosama Network",shortName:"EXN",chainId:2109,network:"mainnet",multicall:"0x2feFC828e2fEfdE0C9f7740919c6A9139F886067",rpc:["https://rpc.exosama.com"],explorer:{url:"https://explorer.exosama.com"},start:94085,logo:"ipfs://QmaQxfwpXYTomUd24PMx5tKjosupXcm99z1jL1XLq9LWBS"},2152:{key:"2152",name:"Findora",shortName:"Findora",chainId:2152,network:"mainnet",multicall:"0xCF7D1e21CBe9bdEF235aef06C5d8051B3d4DF0f5",rpc:["https://archive.prod.findora.org:8545/"],explorer:{url:"https://evm.findorascan.io"},start:4219343,logo:"ipfs://QmXkneyRB6HbHTHRLCZpZqSsawiyJY7b2kZ2V8ydvKYAgv"},2221:{key:"2221",name:"Kava Testnet",shortName:"testnet",chainId:2221,network:"testnet",multicall:"0xc7193EFE367DF0C9349a1149F4E95A2A35604262",rpc:[],explorer:{url:"https://testnet.kavascan.com"},start:6193104,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4",testnet:!0},2222:{key:"2222",name:"Kava",shortName:"mainnet",chainId:2222,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://kavascan.com/"},start:3661165,logo:"ipfs://bafkreibpfubharx32fjqkqbfdhygwdjb2khxdg6meaasrcxsgvowos26f4"},2400:{key:"2400",name:"TCG Verse",shortName:"TCGV",chainId:2400,network:"mainnet",multicall:"0xceC65DEE0b5012F1b7321b2647681F997c7204FC",rpc:["https://rpc.tcgverse.xyz"],explorer:{url:"https://explorer.tcgverse.xyz"},start:57500,logo:"ipfs://bafkreidg4wpewve5mdxrofneqblydkrjl3oevtgpdf3fk3z3vjqam6ocoe"},2522:{key:"2522",name:"Fraxtal Testnet",shortName:"testnet",chainId:2522,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://holesky.fraxscan.com/"},start:1,logo:"ipfs://bafkreieflj4wq6tx7k5kq47z3xnsrdrn2xgm4bxa3uovrnndcb2vqqwlyu",testnet:!0},4200:{key:"4200",name:"Merlin",shortName:"merlin",chainId:4200,network:"mainnet",multicall:"0x830E7E548F4D80947a40A7Cf3a2a53166a0C3980",rpc:[],explorer:{url:"https://scan.merlinchain.io"},start:589494,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe"},4337:{key:"4337",name:"Beam",shortName:"Beam",chainId:4337,network:"mainnet",multicall:"0x4956F15eFdc3dC16645e90Cc356eAFA65fFC65Ec",rpc:[],explorer:{url:"https://subnets.avax.network/beam/"},start:1,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF"},4689:{key:"4689",name:"IoTeX",shortName:"IoTeX",chainId:4689,network:"mainnet",multicall:"0x9c8B105c94282CDB0F3ecF27e3cfA96A35c07be6",rpc:["https://babel-api.mainnet.iotex.io"],explorer:{url:"https://iotexscan.io"},start:11533283,logo:"ipfs://QmNkr1UPcBYbvLp7d7Pk4eF3YCsHpaNkfusKZNtykL2EQC"},5e3:{key:"5000",name:"Mantle",chainId:5e3,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.mantle.xyz"],explorer:{url:"https://explorer.mantle.xyz"},start:304717,logo:"ipfs://bafkreidkucwfn4mzo2gtydrt2wogk3je5xpugom67vhi4h4comaxxjzoz4"},5555:{key:"5555",name:"Chain Verse",shortName:"ChainVerse",chainId:5555,network:"ChainVerse",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://rpc.chainverse.info"],explorer:{url:"https://explorer.chainverse.info"},start:6334180,logo:"ipfs://QmQyJt28h4wN3QHPXUQJQYQqGiFUD77han3zibZPzHbitk"},6102:{key:"6102",name:"Cascadia Testnet",shortName:"Cascadia",chainId:6102,network:"testnet",multicall:"0x728989819bAD588F193563008E0a03E8cD6a3e4a",rpc:["https://testnet.cascadia.foundation"],explorer:{url:"https://explorer.cascadia.foundation"},testnet:!0,start:370457,logo:"ipfs://QmWkhZYhReYyaa5pQXj32hEGxoRcBqarFMcfQScELmjYQj"},7332:{key:"7332",name:"Horizen EON",shortName:"EON",chainId:7332,network:"mainnet",multicall:"0xC743e4910Bdd4e5aBacCA38F74cdA270281C5eef",rpc:[],explorer:{url:"https://eon-explorer.horizenlabs.io"},start:85108,logo:"ipfs://QmUYQdsnkUoiDiQ3WaWrtH7fsc5yQDC7kZJCHmC2qWPTPt"},7341:{key:"7341",name:"Shyft",shortName:"Shyft",chainId:7341,network:"mainnet",multicall:"0xceb10e9133D771cA93c8002Be527A465E85381a2",rpc:["https://rpc.shyft.network"],explorer:{url:"https://bx.shyft.network"},start:3673983,logo:"ipfs://bafkreifwxnnfk6koabzmxgcxcwlrwt6b5gijdain2gyqee77q4ajfb7fu4"},7560:{key:"7560",name:"Cyber",shortName:"mainnet",chainId:7560,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://cyberscan.co"},start:1731707,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm"},8217:{key:"8217",name:"Klaytn Cypress",shortName:"Cypress",chainId:8217,network:"mainnet",multicall:"0x5f5f0d1b9ff8b3dcace308e39b13b203354906e9",rpc:["https://archive-en.cypress.klaytn.net"],ws:["wss://archive-en.cypress.klaytn.net/ws"],explorer:{url:"https://scope.klaytn.com"},start:91582357,logo:"ipfs://QmYACyZcidcFtMo4Uf9H6ZKUxTP2TQPjGzNjcUjqYa64dt"},8453:{key:"8453",name:"Base",shortName:"mainnet",chainId:8453,network:"mainnet",multicall:"0xca11bde05977b3631167028862be2a173976ca11",rpc:[],explorer:{url:"https://basescan.org/"},start:5022,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv"},9001:{key:"9001",name:"Evmos Network",shortName:"Evmos",chainId:9001,network:"mainnet",multicall:"0x37763d16f8dBf6F185368E0f256350cAb7E24b26",rpc:["https://eth.bd.evmos.org:8545"],ws:["wss://eth.bd.evmos.org:8546"],explorer:{url:"https://escan.live"},start:13959539,logo:"ipfs://bafkreif4obrdoiretpozdd56seziywc6clha7wwkbldng3ovry2bpzly34"},1e4:{key:"10000",name:"smartBCH",shortName:"BCH",chainId:1e4,network:"mainnet",multicall:"0x1b38EBAd553f218e2962Cb1C0539Abb5d6A37774",rpc:["https://smartbch.greyh.at/"],explorer:{url:"https://smartbch-explorer.web.app"},start:268248,logo:"ipfs://QmWG1p7om4hZ4Yi4uQvDpxg4si7qVYhtppGbcDGrhVFvMd"},10243:{key:"10243",name:"Arthera Testnet",shortName:"Arthera_",chainId:10243,network:"testnet",testnet:!0,multicall:"0x27c7FC597aD2E81C4c1cA1769972f79DaF042Da7",rpc:["https://rpc-test.arthera.net"],explorer:{url:"https://explorer-test.arthera.net"},start:10523,logo:"ipfs://QmYQp3e52KjkT4bYdAvB6ACEEpXs2D8DozsDitaADRY2Ak"},13337:{key:"13337",name:"Beam Testnet",shortName:"testnet",chainId:13337,network:"testnet",multicall:"0x9BF49b704EE2A095b95c1f2D4EB9010510c41C9E",rpc:[],explorer:{url:"https://subnets-test.avax.network/beam/"},start:3,logo:"ipfs://QmaKRLxXPdeTsLx7MFLS3CJbhpSbResgoeL4fCgHB1mTsF",testnet:!0},13371:{key:"13371",name:"Immutable zkEVM",shortName:"mainnet",chainId:13371,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.immutable.com"},start:3680945,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi"},13473:{key:"13473",name:"Immutable zkEVM Testnet",shortName:"testnet",chainId:13473,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://explorer.testnet.immutable.com"},start:5307209,logo:"ipfs://bafkreiepnhfv3hgexddjpyaeemxo3byhtxxit6t4zsponyczee6ddjqxwi",testnet:!0},16718:{key:"16718",name:"AirDAO",chainId:16718,network:"mainnet",multicall:"0x25e81aC81A8B03389D78CB45faB78353aB528574",rpc:["https://network-archive.ambrosus.io"],ws:["wss://network-archive.ambrosus.io/ws"],explorer:{url:"https://airdao.io/explorer"},start:22922566,logo:"ipfs://QmSxXjvWng3Diz4YwXDV2VqSPgMyzLYBNfkjJcr7rzkxom"},29548:{key:"29548",name:"MCH Verse",shortName:"mainnet",chainId:29548,network:"mainnet",multicall:"0x1d39652386488CE1fE4254E105F5A42a04d43dB2",rpc:[],explorer:{url:"https://explorer.oasys.mycryptoheroes.net"},start:27458402,logo:"ipfs://QmZZnwR1y6cU1sare2TQmwqkNDLXQxD4GdPrmHLmUoPtbU"},33111:{key:"33111",name:"Curtis",shortName:"apechain",chainId:33111,network:"mainnet",multicall:"0xc454132B017b55b427f45078E335549A7124f5f7",rpc:[],explorer:{url:"https://explorer.curtis.apechain.com"},start:6661339,logo:"ipfs://bafkreicljxttjq2xkgfwwpii5xegirgq2ctrnsjnzelxudjj33qzq65apu"},42161:{key:"42161",name:"Arbitrum One",chainId:42161,network:"Arbitrum mainnet",multicall:"0x7A7443F8c577d537f1d8cD4a629d40a3148Dd7ee",rpc:["https://rpc.ankr.com/arbitrum","https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/arbitrum/mainnet","https://arb-mainnet.g.alchemy.com/v2/JDvtNGwnHhTltIwfnxQocKwKkCTKA1DL"],explorer:{url:"https://arbiscan.io"},start:256508,logo:"ipfs://QmWZ5SMRfvcK8tycsDqojQaSiKedgtVkS7CkZdxPgeCVsZ"},42170:{key:"42170",name:"Arbitrum Nova",chainId:42170,network:"Arbitrum Nova",multicall:"0x4E74EBd9CABff51cE9a43EFe059bA8c5A28E4A14",rpc:["https://nova.arbitrum.io/rpc","https://arbitrum-nova.public.blastapi.io"],explorer:{url:"https://nova.arbiscan.io/"},start:6006607,logo:"ipfs://bafkreie5xsqt3mrrwu7v32qpmmctibhzhgxf4emfzzddsdhdlfsa7fmplu"},42220:{key:"42220",name:"Celo",shortName:"Celo",chainId:42220,network:"mainnet",multicall:"0xb8d0d2C1391eeB350d2Cd39EfABBaaEC297368D9",rpc:["https://celo.snapshot.org","https://forno.celo.org","https://celo-mainnet--rpc.datahub.figment.io/apikey/e892a66dc36e4d2d98a5d6406d609796/"],explorer:{url:"https://explorer.celo.org"},start:6599803,logo:"ipfs://QmS2tVJ7rdJRe1NHXAi2L86yCbUwVVrmB2mHQeNdJxvQti"},43113:{key:"43113",name:"Avalanche FUJI Testnet",chainId:43113,network:"testnet",testnet:!0,multicall:"0x984476ea55e32e785A9D8FF14329f99D74E3d2A2",rpc:["https://api.avax-test.network/ext/bc/C/rpc"],explorer:{url:"https://testnet.snowtrace.io"},start:10528153,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},43114:{key:"43114",name:"Avalanche",chainId:43114,network:"mainnet",multicall:"0x7E9985aE4C8248fdB07607648406a48C76e9e7eD",rpc:["https://nd-784-543-849.p2pify.com/aa7b29fc5fed65b34f0ee6b8de33f8c0/ext/bc/C/rpc","https://rpc.ankr.com/avalanche","https://api.avax.network/ext/bc/C/rpc"],explorer:{url:"https://snowtrace.io"},start:536483,logo:"ipfs://QmeS75uS7XLR8o8uUzhLRVYPX9vMFf4DXgKxQeCzyy7vM2"},47805:{key:"47805",name:"REI Mainnet",chainId:47805,network:"mainnet",multicall:"0x9eE9904815B80C39C1a27294E69a8626EAa7952d",rpc:["https://rpc.rei.network"],explorer:{url:"https://scan.rei.network/"},start:1715902,logo:"ipfs://QmTogMDLmDgJjDjUKDHDuc2KVTVDbXf8bXJLFiVe8PRxgo"},53935:{key:"53935",name:"DFK Chain",chainId:53935,network:"mainnet",multicall:"0x5b24224dC16508DAD755756639E420817DD4c99E",rpc:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"],explorer:{url:"https://subnets.avax.network/defi-kingdoms/"},start:62,logo:"ipfs://QmZNkpVgPbuVbDcsi6arwH1om3456FGnwfDqYQJWUfHDEx"},59141:{key:"59141",name:"Linea Sepolia",shortName:"testnet",chainId:59141,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.lineascan.build/"},start:227427,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce",testnet:!0},59144:{key:"59144",name:"Linea",shortName:"linea",chainId:59144,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://lineascan.build/"},start:42,logo:"ipfs://bafkreihtyzolub3sejuwc32hpdpjnt7ksowaguni2yuho3kyihhcqrtqce"},80001:{key:"80001",name:"Polygon Mumbai",chainId:80001,network:"testnet",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://speedy-nodes-nyc.moralis.io/9e03baabdc27be2a35bdec4a/polygon/mumbai/archive","https://rpc-mumbai.matic.today"],ws:["wss://ws-mumbai.matic.today"],explorer:{url:"https://mumbai.polygonscan.com",apiUrl:"https://api-mumbai.polygonscan.com"},start:12011090,logo:"ipfs://bafkreihgr7zy7vi5kqddybfaezwuhvssg57qluwmyan4qq7l57nr7w7wey"},81457:{key:"81457",name:"Blast",shortName:"mainnet",chainId:81457,network:"mainnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://blastscan.io"},start:88189,logo:"ipfs://bafkreicqhrimt2zyp2kvhmbpvffxlmxovkg5vw6zkissyzibcfy45kbvrm"},84532:{key:"84532",name:"Base Sepolia",shortName:"testnet",chainId:84532,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://base-sepolia.blockscout.com/"},start:1059647,logo:"ipfs://QmaxRoHpxZd8PqccAynherrMznMufG6sdmHZLihkECXmZv",testnet:!0},686868:{key:"686868",name:"Merlin Testnet",shortName:"merlin",chainId:686868,network:"testnet",multicall:"0x758BC6321b7c68F4986d62a4D46E83A2DCb58c80",rpc:[],explorer:{url:"https://testnet-scan.merlinchain.io"},start:3562021,logo:"ipfs://bafkreicew2qv3m756m7xs2nrjezinghps7rlessrqjqetvox74w4hov2xe",testnet:!0},713715:{key:"713715",name:"Sei EVM Devnet",shortName:"devnet",chainId:713715,network:"testnet",multicall:"0xEe8d287B844959ADe40d718Dc23077ba920e2f07",rpc:[],explorer:{url:"https://seitrace.com"},start:1463669,logo:"ipfs://bafkreiammyt7uztbztqbcqv4bydnczsh2fqmnjf6jxj4xnskzzl6sjrigq",testnet:!0},810180:{key:"810180",name:"zkLink Nova",shortName:"zlink",chainId:810180,network:"mainnet",multicall:"0x825267E0fA5CAe92F98540828a54198dcB3Eaeb5",rpc:[],explorer:{url:"https://explorer.zklink.io"},start:146055,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74"},810181:{key:"810181",name:"zkLink Nova Sepolia",shortName:"testnet",chainId:810181,network:"testnet",multicall:"0x97148F8fDdd9A1620f72EC1Bb2932916623d9da5",rpc:[],explorer:{url:"https://sepolia.explorer.zklink.io/"},start:43723,logo:"ipfs://bafkreic6c3iems5235qapyhyrygha7akqrsfact2nok3y2uhljpzxrdu74",testnet:!0},11155111:{key:"11155111",name:"Sepolia testnet",shortName:"Sepolia",chainId:11155111,network:"sepolia",testnet:!0,multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:["https://sepolia.infura.io/v3/d26b4fd748814fe994b05899fd89e667"],ensResolvers:["0x8FADE66B79cC9f707aB26799354482EB93a5B7dD"],ensNameWrapper:"0x0635513f179D50A207757E05759CbD106d7dFcE8",ensSubgraph:"https://api.studio.thegraph.com/proxy/49574/enssepolia/version/latest",explorer:{url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io"},start:751532,logo:"ipfs://bafkreid7ndxh6y2ljw2jhbisodiyrhcy2udvnwqgon5wgells3kh4si5z4"},11155420:{key:"11155420",name:"OP Sepolia",shortName:"testnet",chainId:11155420,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia-optimism.etherscan.io"},start:1620204,logo:"ipfs://QmfF4kwhGL8QosUXvgq2KWCmavhKBvwD6kbhs7L4p5ZAWb",testnet:!0},111557560:{key:"111557560",name:"Cyber Testnet",shortName:"testnet",chainId:111557560,network:"testnet",multicall:"0xffc391F0018269d4758AEA1a144772E8FB99545E",rpc:[],explorer:{url:"https://testnet.cyberscan.co/"},start:304545,logo:"ipfs://bafkreifm2bbehoqpz4454o7gixnxfi6cgvqlxigqr3f6ipj7l2omtgfgnm",testnet:!0},168587773:{key:"168587773",name:"Blast Sepolia",shortName:"testnet",chainId:168587773,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://sepolia.blastexplorer.io"},start:756690,logo:"ipfs://bafkreibfmkjg22cozxppzcoxswj45clvh2rqhxzax57cmmgudbtkf4dkce",testnet:!0},245022926:{key:"245022926",name:"Neon Devnet",shortName:"devnet",chainId:245022926,network:"testnet",multicall:"0xcA11bde05977b3631167028862bE2a173976CA11",rpc:[],explorer:{url:"https://devnet.neonscan.org/"},start:205206112,logo:"ipfs://QmecRPQGa4bU7tybg1sUQY48Md9rWnmhrT6WW5ueqvhg6P",testnet:!0},1313161554:{key:"1313161554",name:"Aurora",shortName:"Aurora",chainId:1313161554,network:"mainnet",multicall:"0x32b50c286DEFd2932a0247b8bb940b78c063F16c",rpc:["https://mainnet.aurora.dev"],explorer:{url:"https://explorer.mainnet.aurora.dev"},start:57190533,logo:"ipfs://QmeRhsR1UPRTQCizdhmgr2XxphXebVKU5di97uCV2UMFpa"},16666e5:{key:"1666600000",name:"Harmony",shortName:"HarmonyMainnet",chainId:16666e5,network:"mainnet",multicall:"0x9c31392D2e0229dC4Aa250F043d46B9E82074BF8",rpc:["https://a.api.s0.t.hmny.io"],ws:["wss://ws.s0.t.hmny.io"],explorer:{url:"https://explorer.harmony.one"},start:10911984,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"},16667e5:{key:"1666700000",name:"Harmony Testnet",shortName:"HarmonyTestnet",chainId:16667e5,network:"testnet",testnet:!0,multicall:"0x9923589503Fd205feE3d367DDFF2378f0F7dD2d4",rpc:["https://api.s0.b.hmny.io"],ws:["wss://ws.s0.b.hmny.io"],explorer:{url:"https://explorer.pops.one"},start:7521509,logo:"ipfs://QmNnGPr1CNvj12SSGzKARtUHv9FyEfE5nES73U4vBWQSJL"}};class SI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"number"==typeof t&&void 0!==(null==e?void 0:e[t-1])}getValidVotes(){return this.votes.filter((t=>SI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>{const r=this.getValidVotes().filter((t=>t.choice===e+1));return r.reduce(((t,e)=>t+e.balance),0)}))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>{const r=this.strategies.map(((t,r)=>{const i=this.getValidVotes().filter((t=>t.choice===e+1));return i.reduce(((t,e)=>t+e.scores[r]),0)}));return r}))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices[this.selected-1]}}class II{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size}getValidVotes(){return this.votes.filter((t=>II.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return this.proposal.choices.map(((t,e)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.balance),0)))}getScoresByStrategy(){return this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().filter((t=>t.choice.includes(e+1))).reduce(((t,e)=>t+e.scores[r]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected?this.proposal.choices.filter(((t,e)=>this.selected.includes(e+1))).join(", "):""}}function RI(t,e){const r=t/e.reduce(((t,e)=>t+e),0);return isNaN(r)?0:r}function TI(t,e){return Math.sqrt(t*e)}function CI(t){return t*t}function PI(t,e){return t.map((t=>e*t))}class OI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>OI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>{const i=t.map((t=>TI(RI(t.choice[r+1],Object.values(t.choice)),t.balance))).reduce(((t,e)=>t+e),0);return CI(i)}));return PI(r.map(((t,e)=>RI(r[e],r))),e)}getScoresByStrategy(){const t=this.getValidVotes(),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0),r=this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.map((t=>TI(RI(t.choice[r+1],Object.values(t.choice)),t.scores[i]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[CI(t)]))));return r.map(((t,i)=>PI(this.strategies.map(((t,e)=>RI(r[i][e][0],r.flat(2)))),e)))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1]){const r=RI(this.selected[e+1],Object.values(this.selected));return`${Math.round(1e3*r)/10}% for ${t}`}})).filter((t=>null!=t)).join(", ")}}function BI(t,e){const r=[...new Set(t.map((t=>t[0])).flat())],i=Object.entries(t.reduce(((t,[e],r,i)=>{const n=i[r][1];t[e[0]][0]+=n;const o=i[r][2];return o.length>1?t[e[0]][1]=o.map(((r,i)=>r+t[e[0]][1][i]||r)):t[e[0]][1]=[t[e[0]][1].concat(o).reduce(((t,e)=>t+e),0)],t}),Object.assign({},...r.map((t=>({[t]:[0,[]]})))))),n=i.map((t=>[t[0],t[1][0]])),[o,s]=n.reduce((([t,e],[r,i])=>i>e?[r,i]:[t,e]),["?",-1/0]),[a,h]=n.reduce((([t,e],[r,i])=>i<e?[r,i]:[t,e]),["?",1/0]),u=i.sort(((t,e)=>e[1][0]-t[1][0])),l=t.map((t=>t[1])).reduce(((t,e)=>t+e),0);return e.push({round:e.length+1,sortedByHighest:u}),s>l/2||u.length<3?e:BI(t.map((t=>[t[0].filter((t=>t!=a)),t[1],t[2]])).filter((t=>t[0].length>0)),e)}function $I(t){const e=BI(t.map((t=>[t.choice,t.balance,t.scores])),[]);return e[e.length-1].sortedByHighest}class UI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return Array.isArray(t)&&t.every((t=>void 0!==(null==e?void 0:e[t-1])))&&t.length===new Set(t).size&&t.length>0&&t.length===e.length}getValidVotes(){return this.votes.filter((t=>UI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){return function(t,e){const r=$I(t);return e.choices.map(((t,e)=>r.filter((t=>Number(t[0])===e+1)).reduce(((t,e)=>t+e[1][0]),0)))}(this.getValidVotes(),this.proposal)}getScoresByStrategy(){const t=$I(this.getValidVotes());return this.proposal.choices.map(((e,r)=>this.strategies.map(((e,i)=>t.filter((t=>Number(t[0])===r+1)).reduce(((t,e)=>t+e[1][1][i]),0)))))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.selected.map((t=>{if(this.proposal.choices[t-1])return this.proposal.choices[t-1]})).map(((t,e)=>`(${lR(e+1)}) ${t}`)).join(", ")}}function DI(t,e,r){const i=r.reduce(((t,e)=>t+e),0),n=e[t]/i*100;return isNaN(n)?0:n}function LI(t,e,r){return DI(t+1,e,Object.values(e))/100*r}class FI{constructor(t,e,r,i){this.proposal=t,this.votes=e,this.strategies=r,this.selected=i}static isValidChoice(t,e){return"object"==typeof t&&!Array.isArray(t)&&null!==t&&Object.keys(t).every((t=>void 0!==(null==e?void 0:e[Number(t)-1])))&&Object.keys(t).length>0&&Object.values(t).every((t=>"number"==typeof t&&t>=0))&&Object.values(t).some((t=>"number"==typeof t&&t>0))}getValidVotes(){return this.votes.filter((t=>FI.isValidChoice(t.choice,this.proposal.choices)))}getScores(){const t=this.proposal.choices.map(((t,e)=>this.getValidVotes().map((t=>LI(e,t.choice,t.balance))).reduce(((t,e)=>t+e),0))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((e,r)=>DI(r,t,t))).map((t=>e/100*t))}getScoresByStrategy(){const t=this.proposal.choices.map(((t,e)=>this.strategies.map(((t,r)=>this.getValidVotes().map((t=>LI(e,t.choice,t.scores[r]))).reduce(((t,e)=>t+e),0))))).map((t=>t.map((t=>[t])))),e=this.getValidVotes().reduce(((t,e)=>t+e.balance),0);return t.map(((r,i)=>this.strategies.map(((e,r)=>DI(0,t[i][r],t.flat(2)))).map((t=>[e/100*t])).flat()))}getScoresTotal(){return this.votes.reduce(((t,e)=>t+e.balance),0)}getChoiceString(){return this.proposal.choices.map(((t,e)=>{if(this.selected[e+1])return`${Math.round(10*DI(e+1,this.selected,Object.values(this.selected)))/10}% for ${t}`})).filter((t=>null!=t)).join(", ")}}var jI={"single-choice":SI,approval:II,quadratic:OI,"ranked-choice":UI,weighted:FI,basic:SI};const zI={1:"https://subgrapher.snapshot.org/delegation/1",10:"https://subgrapher.snapshot.org/delegation/10",56:"https://subgrapher.snapshot.org/delegation/56",100:"https://subgrapher.snapshot.org/delegation/100",137:"https://subgrapher.snapshot.org/delegation/137",250:"https://subgrapher.snapshot.org/delegation/250",8453:"https://subgrapher.snapshot.org/delegation/8453",42161:"https://subgrapher.snapshot.org/delegation/42161",59144:"https://subgrapher.snapshot.org/delegation/59144",11155111:"https://subgrapher.snapshot.org/delegation/11155111"},qI=1e3;function HI(t){return t.length===qI&&t[0].timestamp===t[t.length-1].timestamp}function VI(t,e){const r=function(t){return`${t.delegator}-${t.delegate}-${t.space}`}(e);t.has(r)||t.set(r,e)}function ZI(t){const e=["",t];return t.includes(".eth")&&e.push(t.replace(".eth","")),e}function GI(t){return e(this,arguments,void 0,(function*({url:t,spaces:e,pivot:r,snapshot:i}){const n={delegations:{__args:{where:{timestamp_gte:r},first:qI,skip:0,orderBy:"timestamp",orderDirection:"asc"},delegator:!0,space:!0,delegate:!0,timestamp:!0}};return"latest"!==i&&(n.delegations.__args.block={number:i}),null!==e&&(n.delegations.__args.where.space_in=e),(yield oR(t,n)).delegations||[]}))}const KI="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",JI=["function text(bytes32 node, string calldata key) external view returns (string memory)","function resolver(bytes32 node) view returns (address)"],QI={Accept:"application/json","Content-Type":"application/json"},WI="https://score.snapshot.org";function YI(t=WI,e={path:""}){const r=new URL(t);e.path&&(r.pathname=e.path);const i=r.searchParams.get("apiKey");let n=Object.assign({},QI);return i&&(r.searchParams.delete("apiKey"),n=Object.assign(Object.assign({},QI),{"X-API-KEY":i})),{url:r.toString(),headers:n}}function XI(t){return e(this,void 0,void 0,(function*(){let e=yield t.text();try{e=JSON.parse(e)}catch(r){return Promise.reject({code:t.status||500,message:"Failed to parse response from score API",data:e})}return e.error?Promise.reject(e.error):e}))}const tR=new _d({allErrors:!0,allowUnionTypes:!0,$data:!0,passContext:!0});xd(tR),Sd(tR),tR.addFormat("address",{validate:t=>{try{return t===Ce(t)}catch(t){return!1}}}),tR.addFormat("starknetAddress",{validate:t=>{try{return LS(t)===t}catch(t){return!1}}}),tR.addFormat("long",{validate:()=>!0}),tR.addFormat("ethValue",{validate:t=>{if(!t.match(/^([0-9]|[1-9][0-9]+)(\.[0-9]+)?$/))return!1;try{return function(t,e){if("string"!=typeof t&&hu.throwArgumentError("value must be a string","value",t),"string"==typeof e){const t=uu.indexOf(e);-1!==t&&(e=3*t)}Gh(t,null!=e?e:18)}(t,18),!0}catch(t){return!1}}});const eR=Object.keys(NI),rR=Object.keys(NI).filter((t=>!NI[t].testnet));function iR(t,r,i,n){return e(this,void 0,void 0,(function*(){const e=new ah(i[0],r,t);try{const t=i[2]||[];return yield e[i[1]](...t,n||{})}catch(t){return Promise.reject(t)}}))}function nR(t,r,i,n,o){return e(this,void 0,void 0,(function*(){const e=(null==o?void 0:o.multicallAddress)||NI[t].multicall,s=new ah(e,["function aggregate(tuple(address target, bytes callData)[] calls) view returns (uint256 blockNumber, bytes[] returnData)"],r),a=new wn(i);try{const t=(null==o?void 0:o.limit)||500;(null==o?void 0:o.limit)&&delete o.limit;const e=Math.ceil(n.length/t),r=[];Array.from(Array(e)).forEach(((e,i)=>{const h=n.slice(t*i,t*(i+1));r.push(s.aggregate(h.map((t=>[t[0].toLowerCase(),a.encodeFunctionData(t[1],t[2])])),o||{}))}));let i=yield Promise.all(r);return i=i.reduce(((t,[,e])=>t.concat(e)),[]),i.map(((t,e)=>a.decodeFunctionResult(n[e][1],t)))}catch(t){return Promise.reject(t)}}))}function oR(t,r){return e(this,arguments,void 0,(function*(t,e,r={}){const i={query:Gl.jsonToGraphQLQuery({query:e})};r.variables&&(i.variables=r.variables);const n=yield a(t,{method:"POST",headers:Object.assign({Accept:"application/json","Content-Type":"application/json"},null==r?void 0:r.headers),body:JSON.stringify(i)});let o=yield n.text();try{o=JSON.parse(o)}catch(e){throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${o.substring(0,400)}`)}if(o.errors)throw new Error(`Errors found in subgraphRequest: URL: ${t}, Status: ${n.status}, Response: ${JSON.stringify(o.errors).substring(0,400)}`);const{data:s}=o;return s||{}}))}function sR(t,e=xI[0]){const r=`https://${e}`;if(!t)return null;if(!(t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("https://")||t.startsWith("http://")))return`${r}/ipfs/${t}`;const i=t.split("://")[0];return"ipfs"===i?t.replace("ipfs://",`${r}/ipfs/`):"ipns"===i?t.replace("ipns://",`${r}/ipns/`):t}function aR(r,i){return e(this,arguments,void 0,(function*(e,r,i="1",n={}){var o,s;const{ensResolvers:a=(null===(o=NI[i])||void 0===o?void 0:o.ensResolvers)||NI[1].ensResolvers,broviderUrl:h}=n,u=t(n,["ensResolvers","broviderUrl"]);let l;try{l=dl(fl(e))}catch(t){return null}const c=_g(i,{broviderUrl:h}),f=[[KI,"resolver",[l]],...a.map((t=>[t,"text",[l,r]]))],[[d],...m]=yield nR(i,c,JI,f,u),p=a.indexOf(d);return-1!==p?null===(s=m[p])||void 0===s?void 0:s[0]:null}))}function hR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){try{return yield aR(t,"snapshot",e,r)}catch(t){return console.log(t),null}}))}function uR(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=_g(e,r),n=new ah(KI,["function owner(bytes32) view returns (address)"],i);let o;try{o=dl(fl(t))}catch(t){return null}const s=r.ensNameWrapper||NI[e].ensNameWrapper;let a=yield n.owner(o);if(a===s){const t=new ah(s,["function ownerOf(uint256) view returns (address)"],i);a=yield t.ownerOf(o)}return a}))}function lR(t){const e=["th","st","nd","rd"],r=t%100;return t+(e[(r-20)%10]||e[r]||e[0])}function cR(t){return!!NI[t]}function fR(t){return Pe(t)&&"0x0000000000000000000000000000000000000000"!==t}function dR(t,e){return"latest"===t||"number"==typeof t&&t>=NI[e].start}function mR(t){if(!t)return!1;try{return LS(t),!0}catch(t){return!1}}function pR(t){return Pe(t)}function gR(t){return Promise.reject(new Error(t))}tR.addKeyword({keyword:"snapshotNetwork",validate:function(t,e){return"mainnet"===(this.snapshotEnv||"default")?rR.includes(e):eR.includes(e)},error:{message:"network not allowed"}}),tR.addKeyword({keyword:"maxLengthWithSpaceType",validate:function t(e,r){const i=this.spaceType||"default",n=r.length<=e[i];return n||(t.errors=[{keyword:"maxLengthWithSpaceType",message:`must not have more than ${e[i]}`,params:{limit:e[i]}}]),n},errors:!0}),tR.addKeyword({keyword:"maxItemsWithSpaceType",validate:function t(e,r){const i=this.spaceType||"default",n=r.length<=e[i];return n||(t.errors=[{keyword:"maxItemsWithSpaceType",message:`must NOT have more than ${e[i]} items`,params:{limit:e[i]}}]),n},errors:!0}),tR.addFormat("customUrl",{type:"string",validate:t=>!t.length||(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("ipfs://")||t.startsWith("ipns://")||t.startsWith("snapshot://"))});var yR={call:iR,multicall:nR,subgraphRequest:oR,ipfsGet:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="ipfs"){return a(`https://${t}/${r}/${e}`).then((t=>t.json()))}))},getUrl:sR,getJSON:function(t){return e(this,arguments,void 0,(function*(t,e={}){const r=sR(t,e.gateways);return a(r).then((t=>t.json()))}))},sendTransaction:function(t,r,i,n,o){return e(this,arguments,void 0,(function*(t,e,r,i,n,o={}){const s=t.getSigner(),a=new ah(e,r,t).connect(s);return yield a[i](...n,o)}))},getScores:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n="latest",o=WI,s={}){if(!Array.isArray(i))return gR("addresses should be an array of addresses");if(0===i.length)return gR("addresses can not be empty");const h=i.find((t=>!fR(t)));if(h)return gR(`Invalid address: ${h}`);if(!cR(r))return gR(`Invalid network: ${r}`);const u=e.find((t=>t.network&&!cR(t.network)));if(u)return gR(`Invalid network (${u.network}) in strategy ${u.name}`);if(!dR(n,r))return gR(`Snapshot (${n}) must be 'latest' or greater than network start block (${NI[r].start})`);new URL(o).pathname="/api/scores";const{url:l,headers:c}=YI(o,{path:"/api/scores"});try{const o={space:t,network:r,snapshot:n,strategies:e,addresses:i},h=yield a(l,{method:"POST",headers:c,body:JSON.stringify({params:o})}),u=yield XI(h);return"all"===s.returnValue?u.result:u.result[s.returnValue||"scores"]}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},getVp:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){const{url:e,headers:u}=YI(null==h?void 0:h.url);if(!fR(t))return gR(`Invalid voter address: ${t}`);if(!cR(r))return gR(`Invalid network: ${r}`);const l=i.find((t=>t.network&&!cR(t.network)));if(l)return gR(`Invalid network (${l.network}) in strategy ${l.name}`);if(!dR(n,r))return gR(`Snapshot (${n}) must be 'latest' or greater than network start block (${NI[r].start})`);const c={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"get_vp",params:{address:t,network:r,strategies:i,snapshot:n,space:o,delegation:s}})};try{const t=yield a(e,c);return(yield XI(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},validateSchema:function(t,e,r={snapshotEnv:"default",spaceType:"default"}){const i=tR.compile(t),n=i.call(r,e);return n||i.errors},getEnsTextRecord:aR,getSpaceUri:hR,getEnsOwner:uR,getSpaceController:function(t){return e(this,arguments,void 0,(function*(t,e="1",r={}){const i=yield hR(t,e,r);if(i){let t=Pe(i);if(t)return i;const e=i.split("/"),r=e.includes("testnet")?5:4,n=e[r];if(t=Pe(n),t)return n}return yield uR(t,e,r)}))},getDelegatesBySpace:function(t,r){return e(this,arguments,void 0,(function*(t,e,r="latest",i={}){const n=i.subgraphUrl||zI[t];if(!n)return Promise.reject(`Delegation subgraph not available for network ${t}`);let o=0;const s=new Map,a=e?ZI(e):null;for(;;){const t=yield GI({url:n,spaces:a,pivot:o,snapshot:r});if(HI(t))throw new Error("Unable to paginate delegation");if(t.forEach((t=>{VI(s,t),o=t.timestamp})),t.length<qI)break}return[...s.values()]}))},clone:function(t){return JSON.parse(JSON.stringify(t))},sleep:function(t){return e(this,void 0,void 0,(function*(){return new Promise((e=>{setTimeout(e,t)}))}))},getNumberWithOrdinal:lR,voting:jI,getProvider:_g,signMessage:function(t,r,i){return e(this,void 0,void 0,(function*(){return r=I(new Buffer(r,"utf8")),yield t.send("personal_sign",[r,i])}))},getBlockNumber:function(t){return e(this,void 0,void 0,(function*(){try{const e=yield t.getBlockNumber();return parseInt(e)}catch(t){return Promise.reject()}}))},Multicaller:class{constructor(t,e,r,i){this.options={},this.calls=[],this.paths=[],this.network=t,this.provider=e,this.abi=r,this.options=i||{}}call(t,e,r,i){return this.calls.push([e,r,i]),this.paths.push(t),this}execute(t){return e(this,void 0,void 0,(function*(){const e=t||{};return(yield nR(this.network,this.provider,this.abi,this.calls,this.options)).forEach(((t,r)=>Mm(e,this.paths[r],t.length>1?t:t[0]))),this.calls=[],this.paths=[],e}))}},getSnapshots:function(t,r,i,n){return e(this,arguments,void 0,(function*(t,e,r,i,n={}){const o={};if(i.forEach((t=>o[t]="latest")),"latest"===e)return o;const s=`${t}-${e}-${i.join("-")}`,a=_m[s],h=Date.now();if(a&&Em>h)return a;Em<h&&(_m={},Em=h+36e5-h%36e5),o[t]=e;const u=Object.keys(o).filter((e=>t!==e));if(0===u.length)return o;const l={blocks:{__args:{where:{ts:(yield r.getBlock(e)).timestamp,network_in:u}},network:!0,number:!0}},c=n.blockFinderUrl||"https://blockfinder.snapshot.org";return(yield oR(c,l)).blocks.forEach((t=>o[t.network]=t.number)),_m[s]=o,o}))},getHash:function(t,e){return(qS(t)?VS:kI).getHash(t,e)},verify:function(t,r,i){return e(this,arguments,void 0,(function*(t,e,r,i="1",n={}){if(!mR(t)&&!pR(t))throw new Error("Invalid address");const o=qS(r)?VS:kI;return yield o.default(t,e,r,i,n)}))},validate:function(t,r,i,n,o,s,h){return e(this,void 0,void 0,(function*(){if(!fR(r))return gR(`Invalid author: ${r}`);if(!cR(n))return gR(`Invalid network: ${n}`);if(!dR(o,n))return gR(`Snapshot (${o}) must be 'latest' or greater than network start block (${NI[n].start})`);h||(h={});const{url:e,headers:u}=YI(h.url),l={method:"POST",headers:u,body:JSON.stringify({jsonrpc:"2.0",method:"validate",params:{validation:t,author:r,space:i,network:n,snapshot:o,params:s}})};try{const t=yield a(e,l);return(yield XI(t)).result}catch(t){return t.errno?Promise.reject({code:t.errno,message:t.toString(),data:""}):Promise.reject(t)}}))},isStarknetAddress:mR,isEvmAddress:pR,getFormattedAddress:function(t,e){if("evm"===e&&pR(t))return Ce(t);if("starknet"===e&&mR(t))return LS(t);throw new Error(`Invalid address: ${t}`)},SNAPSHOT_SUBGRAPH_URL:zI};return{Client:or,Client712:or,schemas:dr,utils:yR}}));
|