@gardenfi/core 2.1.3-beta.2 → 2.1.3-beta.3

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/index.cjs CHANGED
@@ -1,12 +1,12 @@
1
- "use strict";var af=Object.defineProperty;var cf=(e,t,r)=>t in e?af(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var gr=(e,t,r)=>cf(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const be=require("@gardenfi/orderbook"),V=require("@gardenfi/utils"),Rr=require("@catalogfi/wallets"),Et=require("viem"),ha=require("varuint-bitcoin"),ff=require("tiny-secp256k1"),da=require("bitcoinjs-lib"),uf=require("bignumber.js"),Ge=require("starknet");function ks(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const to=ks(ha),sr=ks(ff),ie=ks(da);var pa=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},Ri=(e,t,r)=>(pa(e,t,"read from private field"),r?r.call(e):t.get(e)),Ci=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},Ui=(e,t,r,n)=>(pa(e,t,"write to private field"),t.set(e,r),r);const lf=e=>new Promise(t=>setTimeout(t,e));class hf{constructor(t,r){this.maxRetries=Math.max(t,0),this.delay=r}async retry(t){let r=0,n;for(;r<this.maxRetries+1;)try{return await t()}catch(i){r++,n=i,await lf(this.delay*r)}throw n}}const df=e=>{try{return JSON.parse(e)}catch{return e}};class xt{static async _postWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,{method:"POST",...r});if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=ro(s);continue}throw new Error(n||"All APIs failed")}static async postWithFallback(t,r){return await On(r).retry(()=>this._postWithFallback(t,r))}static async _getWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,r);if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=ro(s);continue}throw new Error(n||"All APIs failed")}static async getWithFallback(t,r){return await On(r).retry(()=>this._getWithFallback(t,r))}static async _get(t,r){return await this.parse(await fetch(t,r))}static async get(t,r){return await On(r).retry(()=>this._get(t,r))}static async _post(t,r){return await this.parse(await fetch(t,{method:"POST",...r}))}static async post(t,r){return await On(r).retry(()=>this._post(t,r))}static async parse(t){const r=await t.text();if(t.status>=200&&t.status<300)return df(r);throw new Error(r)}}function ro(e){return(e==null?void 0:e.message)||(e==null?void 0:e.toString())||"unknown error"}const On=e=>new hf((e==null?void 0:e.retryCount)??2,(e==null?void 0:e.retryDelay)??1e3),Rn=e=>e.startsWith("0x")?e:`0x${e}`,rr=e=>e.startsWith("0x")?e.slice(2):e;var jn,Gn,Vn;let us=class{constructor(t,r,n=void 0){Ci(this,jn,void 0),Ci(this,Gn,void 0),Ci(this,Vn,void 0),Ui(this,jn,t),Ui(this,Vn,n),Ui(this,Gn,r)}get ok(){return Ri(this,jn)}get error(){return Ri(this,Vn)}get val(){return Ri(this,Gn)}};jn=new WeakMap,Gn=new WeakMap,Vn=new WeakMap;const ne=e=>new us(!0,e),$=(e,...t)=>{if(typeof e=="string"&&t&&t.length>0){let r=[e,...t].map(n=>{if(n){if(n instanceof Error)return n.message;if(typeof n=="string")return n;if(n!=null&&n.toString)return n.toString()}});return new us(!1,null,r.filter(n=>n!==void 0).join(" "))}return new us(!1,null,e)};var Ae=(e=>(e.Idle="Idle",e.Initiate="Initiate",e.Redeem="Redeem",e.Refund="Refund",e))(Ae||{});function ls(e){return typeof e=="string"&&(e=Buffer.from(e,"hex")),e.length===32?e:e.subarray(1,33)}function er(e,t){if(!e)throw new Error(t)}function pf(e){return Buffer.concat([Uint8Array.from([192]),yf(e)])}function yf(e){const t=to.encodingLength(e.length),r=Buffer.allocUnsafe(t);return to.encode(e.length,r),Buffer.concat([r,e])}function mf(e,t){if(e.compare(t)>0){const r=e;e=t,t=r}return[e,t]}const Dt=e=>e.length===64?e:e.slice(2),bf=e=>{if(!e)return!1;try{const t=Buffer.from(e,"hex");return sr.isPoint(t)}catch{return!1}},ya=(e,t,r,n)=>e+":"+t.toLowerCase()+"::"+r+":"+n.toLowerCase();function wf(e,t){if(!e)return!1;const r=t===V.Environment.MAINNET?ie.networks.bitcoin:t===V.Environment.TESTNET?ie.networks.testnet:ie.networks.regtest;if(!r)return!1;ie.initEccLib(sr);try{return ie.address.toOutputScript(e,r),!0}catch{return!1}}const gf=e=>{switch(e){case V.Environment.MAINNET:return Rr.BitcoinNetwork.Mainnet;case V.Environment.TESTNET:return Rr.BitcoinNetwork.Testnet;default:throw new Error(`Invalid bitcoin network ${e}`)}},_f=e=>{if(typeof e=="object"&&"r"in e&&"s"in e)return V.Ok([e.r.toString(),e.s.toString()]);if(Array.isArray(e)){if(e.length<3)return V.Err("Invalid signature length");if(e.length===3)return V.Ok([e[1],e[2]]);const t=parseInt(e[0]);if(isNaN(t)||e.length!==t*4+1)return V.Err("Invalid signature format");const n=[];for(let i=0;i<t;i++){const s=1+i*4,o=e[s+2],a=e[s+3];o&&a&&n.push(o,a)}return V.Ok(n)}return V.Err("Invalid signature format")};var le=(e=>(e.Created="Created",e.Matched="Matched",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.CounterPartyInitiateDetected="CounterPartyInitiateDetected",e.CounterPartyInitiated="CounterPartyInitiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.CounterPartyRedeemDetected="CounterPartyRedeemDetected",e.CounterPartyRedeemed="CounterPartyRedeemed",e.Completed="Completed",e.CounterPartySwapExpired="CounterPartySwapExpired",e.Expired="Expired",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.CounterPartyRefundDetected="CounterPartyRefundDetected",e.CounterPartyRefunded="CounterPartyRefunded",e.Cancelled="Cancelled",e.DeadLineExceeded="DeadLineExceeded",e))(le||{}),me=(e=>(e.Idle="Idle",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.Expired="Expired",e))(me||{});const Ts=(e,t,r)=>{const n=hs(e.source_swap,t),i=hs(e.destination_swap,r);if(i===me.RedeemDetected)return le.RedeemDetected;if(i===me.Redeemed)return le.Redeemed;if(n===me.Refunded)return le.Refunded;if(n===me.RefundDetected)return le.RefundDetected;if(i===me.Expired)return le.CounterPartySwapExpired;if(n===me.Expired)return le.Expired;if(i===me.Refunded)return le.CounterPartyRefunded;if(i===me.RefundDetected)return le.CounterPartyRefundDetected;const s=Number(e.create_order.additional_data.deadline);return i===me.Initiated?le.CounterPartyInitiated:i===me.InitiateDetected?le.CounterPartyInitiateDetected:pn(s,12)?le.DeadLineExceeded:n===me.Initiated?le.Initiated:pn(s,1)?le.DeadLineExceeded:n===me.InitiateDetected?le.InitiateDetected:n===me.Redeemed?le.CounterPartyRedeemed:n===me.RedeemDetected?le.CounterPartyRedeemDetected:le.Matched},hs=(e,t)=>{if(e.redeem_tx_hash)return Number(e.redeem_block_number)?me.Redeemed:me.RedeemDetected;if(e.refund_tx_hash)return Number(e.refund_block_number)?me.Refunded:me.RefundDetected;if(Number(e.initiate_block_number)){const r=Number(e.initiate_block_number)+e.timelock;if(t>r)return me.Expired}return e.initiate_tx_hash?Number(e.initiate_block_number)?me.Initiated:me.InitiateDetected:me.Idle},vf=(e,t,r)=>{const n=Ts(e,t,r);return Bs(n)},Bs=e=>{switch(e){case le.Matched:return Ae.Initiate;case le.CounterPartyInitiated:case le.CounterPartyInitiateDetected:case le.RedeemDetected:return Ae.Redeem;case le.Expired:return Ae.Refund;default:return Ae.Idle}},pn=(e,t=0)=>{const r=Date.now(),n=e*1e3+t*36e5;return r>=n},Ef=e=>e.filter(t=>!ma(t)),ma=e=>{const{source_swap:t,create_order:r}=e,{initiate_tx_hash:n,initiate_block_number:i}=t,{deadline:s}=r.additional_data;return n&&Number(i)?!1:n&&!Number(i)?pn(Number(s),12):n?!1:pn(Number(s),1)},xf=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),Sf=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),Af=Buffer.concat([xf,Sf]),kf=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),no={failedToCreateInternalPubkey:"failed to create internal pubkey"};function Tf(){const e=da.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),t=sr.pointMultiply(Buffer.concat([Buffer.from("04","hex"),Af]),e);if(!t)throw new Error(no.failedToCreateInternalPubkey);const r=sr.pointAdd(kf,t);if(!r)throw new Error(no.failedToCreateInternalPubkey);return ls(Buffer.from(r))}var zt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Bf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function If(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var we={},Fe={},It={},ci={};ci.byteLength=Rf;ci.toByteArray=Uf;ci.fromByteArray=Ff;var ht=[],et=[],Pf=typeof Uint8Array<"u"?Uint8Array:Array,Li="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var _r=0,Of=Li.length;_r<Of;++_r)ht[_r]=Li[_r],et[Li.charCodeAt(_r)]=_r;et[45]=62;et[95]=63;function ba(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Rf(e){var t=ba(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Cf(e,t,r){return(t+r)*3/4-r}function Uf(e){var t,r=ba(e),n=r[0],i=r[1],s=new Pf(Cf(e,n,i)),o=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)t=et[e.charCodeAt(u)]<<18|et[e.charCodeAt(u+1)]<<12|et[e.charCodeAt(u+2)]<<6|et[e.charCodeAt(u+3)],s[o++]=t>>16&255,s[o++]=t>>8&255,s[o++]=t&255;return i===2&&(t=et[e.charCodeAt(u)]<<2|et[e.charCodeAt(u+1)]>>4,s[o++]=t&255),i===1&&(t=et[e.charCodeAt(u)]<<10|et[e.charCodeAt(u+1)]<<4|et[e.charCodeAt(u+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function Lf(e){return ht[e>>18&63]+ht[e>>12&63]+ht[e>>6&63]+ht[e&63]}function Nf(e,t,r){for(var n,i=[],s=t;s<r;s+=3)n=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(e[s+2]&255),i.push(Lf(n));return i.join("")}function Ff(e){for(var t,r=e.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(Nf(e,o,o+s>a?a:o+s));return n===1?(t=e[r-1],i.push(ht[t>>2]+ht[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(ht[t>>10]+ht[t>>4&63]+ht[t<<2&63]+"=")),i.join("")}var Is={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */Is.read=function(e,t,r,n,i){var s,o,a=i*8-n-1,u=(1<<a)-1,h=u>>1,d=-7,m=r?i-1:0,_=r?-1:1,p=e[t+m];for(m+=_,s=p&(1<<-d)-1,p>>=-d,d+=a;d>0;s=s*256+e[t+m],m+=_,d-=8);for(o=s&(1<<-d)-1,s>>=-d,d+=n;d>0;o=o*256+e[t+m],m+=_,d-=8);if(s===0)s=1-h;else{if(s===u)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-h}return(p?-1:1)*o*Math.pow(2,s-n)};Is.write=function(e,t,r,n,i,s){var o,a,u,h=s*8-i-1,d=(1<<h)-1,m=d>>1,_=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,I=n?1:-1,B=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=d):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),o+m>=1?t+=_/u:t+=_*Math.pow(2,1-m),t*u>=2&&(o++,u/=2),o+m>=d?(a=0,o=d):o+m>=1?(a=(t*u-1)*Math.pow(2,i),o=o+m):(a=t*Math.pow(2,m-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=a&255,p+=I,a/=256,i-=8);for(o=o<<i|a,h+=i;h>0;e[r+p]=o&255,p+=I,o/=256,h-=8);e[r+p-I]|=B*128};/*!
1
+ "use strict";var af=Object.defineProperty;var cf=(e,t,r)=>t in e?af(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var gr=(e,t,r)=>cf(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const be=require("@gardenfi/orderbook"),z=require("@gardenfi/utils"),Rr=require("@catalogfi/wallets"),Et=require("viem"),ha=require("varuint-bitcoin"),ff=require("tiny-secp256k1"),da=require("bitcoinjs-lib"),uf=require("bignumber.js"),Ge=require("starknet");function ks(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const to=ks(ha),sr=ks(ff),ie=ks(da);var pa=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},Ri=(e,t,r)=>(pa(e,t,"read from private field"),r?r.call(e):t.get(e)),Ci=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},Ui=(e,t,r,n)=>(pa(e,t,"write to private field"),t.set(e,r),r);const lf=e=>new Promise(t=>setTimeout(t,e));class hf{constructor(t,r){this.maxRetries=Math.max(t,0),this.delay=r}async retry(t){let r=0,n;for(;r<this.maxRetries+1;)try{return await t()}catch(i){r++,n=i,await lf(this.delay*r)}throw n}}const df=e=>{try{return JSON.parse(e)}catch{return e}};class xt{static async _postWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,{method:"POST",...r});if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=ro(s);continue}throw new Error(n||"All APIs failed")}static async postWithFallback(t,r){return await On(r).retry(()=>this._postWithFallback(t,r))}static async _getWithFallback(t,r){let n="";for(const i of t)try{const s=await fetch(i,r);if(s.status>=500){n=await(s.text()||s.json());continue}return await this.parse(s)}catch(s){n=ro(s);continue}throw new Error(n||"All APIs failed")}static async getWithFallback(t,r){return await On(r).retry(()=>this._getWithFallback(t,r))}static async _get(t,r){return await this.parse(await fetch(t,r))}static async get(t,r){return await On(r).retry(()=>this._get(t,r))}static async _post(t,r){return await this.parse(await fetch(t,{method:"POST",...r}))}static async post(t,r){return await On(r).retry(()=>this._post(t,r))}static async parse(t){const r=await t.text();if(t.status>=200&&t.status<300)return df(r);throw new Error(r)}}function ro(e){return(e==null?void 0:e.message)||(e==null?void 0:e.toString())||"unknown error"}const On=e=>new hf((e==null?void 0:e.retryCount)??2,(e==null?void 0:e.retryDelay)??1e3),Rn=e=>e.startsWith("0x")?e:`0x${e}`,rr=e=>e.startsWith("0x")?e.slice(2):e;var jn,Gn,Vn;let us=class{constructor(t,r,n=void 0){Ci(this,jn,void 0),Ci(this,Gn,void 0),Ci(this,Vn,void 0),Ui(this,jn,t),Ui(this,Vn,n),Ui(this,Gn,r)}get ok(){return Ri(this,jn)}get error(){return Ri(this,Vn)}get val(){return Ri(this,Gn)}};jn=new WeakMap,Gn=new WeakMap,Vn=new WeakMap;const ne=e=>new us(!0,e),$=(e,...t)=>{if(typeof e=="string"&&t&&t.length>0){let r=[e,...t].map(n=>{if(n){if(n instanceof Error)return n.message;if(typeof n=="string")return n;if(n!=null&&n.toString)return n.toString()}});return new us(!1,null,r.filter(n=>n!==void 0).join(" "))}return new us(!1,null,e)};var Ae=(e=>(e.Idle="Idle",e.Initiate="Initiate",e.Redeem="Redeem",e.Refund="Refund",e))(Ae||{});function ls(e){return typeof e=="string"&&(e=Buffer.from(e,"hex")),e.length===32?e:e.subarray(1,33)}function er(e,t){if(!e)throw new Error(t)}function pf(e){return Buffer.concat([Uint8Array.from([192]),yf(e)])}function yf(e){const t=to.encodingLength(e.length),r=Buffer.allocUnsafe(t);return to.encode(e.length,r),Buffer.concat([r,e])}function mf(e,t){if(e.compare(t)>0){const r=e;e=t,t=r}return[e,t]}const Dt=e=>e.length===64?e:e.slice(2),bf=e=>{if(!e)return!1;try{const t=Buffer.from(e,"hex");return sr.isPoint(t)}catch{return!1}},ya=(e,t,r,n)=>e+":"+t.toLowerCase()+"::"+r+":"+n.toLowerCase();function wf(e,t){if(!e)return!1;const r=t===z.Environment.MAINNET?ie.networks.bitcoin:t===z.Environment.TESTNET?ie.networks.testnet:ie.networks.regtest;if(!r)return!1;ie.initEccLib(sr);try{return ie.address.toOutputScript(e,r),!0}catch{return!1}}const gf=e=>{switch(e){case z.Environment.MAINNET:return Rr.BitcoinNetwork.Mainnet;case z.Environment.TESTNET:return Rr.BitcoinNetwork.Testnet;default:throw new Error(`Invalid bitcoin network ${e}`)}},_f=e=>{const t=e.toLowerCase().replace("0x","");return/^[0-9a-f]+$/.test(t)},vf=e=>{if(typeof e=="object"&&"r"in e&&"s"in e)return z.Ok([e.r.toString(),e.s.toString()]);if(Array.isArray(e)){const t=e.map(r=>typeof r=="string"&&r.startsWith("0x")&&_f(r)?BigInt(r).toString():r);return z.Ok(t)}return z.Err("Invalid signature format")};var le=(e=>(e.Created="Created",e.Matched="Matched",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.CounterPartyInitiateDetected="CounterPartyInitiateDetected",e.CounterPartyInitiated="CounterPartyInitiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.CounterPartyRedeemDetected="CounterPartyRedeemDetected",e.CounterPartyRedeemed="CounterPartyRedeemed",e.Completed="Completed",e.CounterPartySwapExpired="CounterPartySwapExpired",e.Expired="Expired",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.CounterPartyRefundDetected="CounterPartyRefundDetected",e.CounterPartyRefunded="CounterPartyRefunded",e.Cancelled="Cancelled",e.DeadLineExceeded="DeadLineExceeded",e))(le||{}),me=(e=>(e.Idle="Idle",e.InitiateDetected="InitiateDetected",e.Initiated="Initiated",e.RedeemDetected="RedeemDetected",e.Redeemed="Redeemed",e.RefundDetected="RefundDetected",e.Refunded="Refunded",e.Expired="Expired",e))(me||{});const Ts=(e,t,r)=>{const n=hs(e.source_swap,t),i=hs(e.destination_swap,r);if(i===me.RedeemDetected)return le.RedeemDetected;if(i===me.Redeemed)return le.Redeemed;if(n===me.Refunded)return le.Refunded;if(n===me.RefundDetected)return le.RefundDetected;if(i===me.Expired)return le.CounterPartySwapExpired;if(n===me.Expired)return le.Expired;if(i===me.Refunded)return le.CounterPartyRefunded;if(i===me.RefundDetected)return le.CounterPartyRefundDetected;const s=Number(e.create_order.additional_data.deadline);return i===me.Initiated?le.CounterPartyInitiated:i===me.InitiateDetected?le.CounterPartyInitiateDetected:pn(s,12)?le.DeadLineExceeded:n===me.Initiated?le.Initiated:pn(s,1)?le.DeadLineExceeded:n===me.InitiateDetected?le.InitiateDetected:n===me.Redeemed?le.CounterPartyRedeemed:n===me.RedeemDetected?le.CounterPartyRedeemDetected:le.Matched},hs=(e,t)=>{if(e.redeem_tx_hash)return Number(e.redeem_block_number)?me.Redeemed:me.RedeemDetected;if(e.refund_tx_hash)return Number(e.refund_block_number)?me.Refunded:me.RefundDetected;if(Number(e.initiate_block_number)){const r=Number(e.initiate_block_number)+e.timelock;if(t>r)return me.Expired}return e.initiate_tx_hash?Number(e.initiate_block_number)?me.Initiated:me.InitiateDetected:me.Idle},Ef=(e,t,r)=>{const n=Ts(e,t,r);return Bs(n)},Bs=e=>{switch(e){case le.Matched:return Ae.Initiate;case le.CounterPartyInitiated:case le.CounterPartyInitiateDetected:case le.RedeemDetected:return Ae.Redeem;case le.Expired:return Ae.Refund;default:return Ae.Idle}},pn=(e,t=0)=>{const r=Date.now(),n=e*1e3+t*36e5;return r>=n},xf=e=>e.filter(t=>!ma(t)),ma=e=>{const{source_swap:t,create_order:r}=e,{initiate_tx_hash:n,initiate_block_number:i}=t,{deadline:s}=r.additional_data;return n&&Number(i)?!1:n&&!Number(i)?pn(Number(s),12):n?!1:pn(Number(s),1)},Sf=Buffer.from("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","hex"),Af=Buffer.from("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8","hex"),kf=Buffer.concat([Sf,Af]),Tf=Buffer.from("0250929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0","hex"),no={failedToCreateInternalPubkey:"failed to create internal pubkey"};function Bf(){const e=da.crypto.sha256(Buffer.from("GardenHTLC","utf-8")),t=sr.pointMultiply(Buffer.concat([Buffer.from("04","hex"),kf]),e);if(!t)throw new Error(no.failedToCreateInternalPubkey);const r=sr.pointAdd(Tf,t);if(!r)throw new Error(no.failedToCreateInternalPubkey);return ls(Buffer.from(r))}var zt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function If(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Pf(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var we={},Fe={},It={},ci={};ci.byteLength=Cf;ci.toByteArray=Lf;ci.fromByteArray=Hf;var ht=[],et=[],Of=typeof Uint8Array<"u"?Uint8Array:Array,Li="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var _r=0,Rf=Li.length;_r<Rf;++_r)ht[_r]=Li[_r],et[Li.charCodeAt(_r)]=_r;et[45]=62;et[95]=63;function ba(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Cf(e){var t=ba(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Uf(e,t,r){return(t+r)*3/4-r}function Lf(e){var t,r=ba(e),n=r[0],i=r[1],s=new Of(Uf(e,n,i)),o=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)t=et[e.charCodeAt(u)]<<18|et[e.charCodeAt(u+1)]<<12|et[e.charCodeAt(u+2)]<<6|et[e.charCodeAt(u+3)],s[o++]=t>>16&255,s[o++]=t>>8&255,s[o++]=t&255;return i===2&&(t=et[e.charCodeAt(u)]<<2|et[e.charCodeAt(u+1)]>>4,s[o++]=t&255),i===1&&(t=et[e.charCodeAt(u)]<<10|et[e.charCodeAt(u+1)]<<4|et[e.charCodeAt(u+2)]>>2,s[o++]=t>>8&255,s[o++]=t&255),s}function Nf(e){return ht[e>>18&63]+ht[e>>12&63]+ht[e>>6&63]+ht[e&63]}function Ff(e,t,r){for(var n,i=[],s=t;s<r;s+=3)n=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(e[s+2]&255),i.push(Nf(n));return i.join("")}function Hf(e){for(var t,r=e.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(Ff(e,o,o+s>a?a:o+s));return n===1?(t=e[r-1],i.push(ht[t>>2]+ht[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(ht[t>>10]+ht[t>>4&63]+ht[t<<2&63]+"=")),i.join("")}var Is={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */Is.read=function(e,t,r,n,i){var s,o,a=i*8-n-1,u=(1<<a)-1,h=u>>1,d=-7,m=r?i-1:0,_=r?-1:1,p=e[t+m];for(m+=_,s=p&(1<<-d)-1,p>>=-d,d+=a;d>0;s=s*256+e[t+m],m+=_,d-=8);for(o=s&(1<<-d)-1,s>>=-d,d+=n;d>0;o=o*256+e[t+m],m+=_,d-=8);if(s===0)s=1-h;else{if(s===u)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-h}return(p?-1:1)*o*Math.pow(2,s-n)};Is.write=function(e,t,r,n,i,s){var o,a,u,h=s*8-i-1,d=(1<<h)-1,m=d>>1,_=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,I=n?1:-1,B=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=d):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),o+m>=1?t+=_/u:t+=_*Math.pow(2,1-m),t*u>=2&&(o++,u/=2),o+m>=d?(a=0,o=d):o+m>=1?(a=(t*u-1)*Math.pow(2,i),o=o+m):(a=t*Math.pow(2,m-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=a&255,p+=I,a/=256,i-=8);for(o=o<<i|a,h+=i;h>0;e[r+p]=o&255,p+=I,o/=256,h-=8);e[r+p-I]|=B*128};/*!
2
2
  * The buffer module from node.js, for the browser.
3
3
  *
4
4
  * @author Feross Aboukhadijeh <https://feross.org>
5
5
  * @license MIT
6
- */(function(e){const t=ci,r=Is,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.SlowBuffer=U,e.INSPECT_MAX_BYTES=50;const i=2147483647;e.kMaxLength=i,a.TYPED_ARRAY_SUPPORT=s(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{const l=new Uint8Array(1),c={foo:function(){return 42}};return Object.setPrototypeOf(c,Uint8Array.prototype),Object.setPrototypeOf(l,c),l.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function o(l){if(l>i)throw new RangeError('The value "'+l+'" is invalid for option "size"');const c=new Uint8Array(l);return Object.setPrototypeOf(c,a.prototype),c}function a(l,c,f){if(typeof l=="number"){if(typeof c=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return m(l)}return u(l,c,f)}a.poolSize=8192;function u(l,c,f){if(typeof l=="string")return _(l,c);if(ArrayBuffer.isView(l))return I(l);if(l==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof l);if(Ke(l,ArrayBuffer)||l&&Ke(l.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ke(l,SharedArrayBuffer)||l&&Ke(l.buffer,SharedArrayBuffer)))return B(l,c,f);if(typeof l=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const y=l.valueOf&&l.valueOf();if(y!=null&&y!==l)return a.from(y,c,f);const v=T(l);if(v)return v;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof l[Symbol.toPrimitive]=="function")return a.from(l[Symbol.toPrimitive]("string"),c,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof l)}a.from=function(l,c,f){return u(l,c,f)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function h(l){if(typeof l!="number")throw new TypeError('"size" argument must be of type number');if(l<0)throw new RangeError('The value "'+l+'" is invalid for option "size"')}function d(l,c,f){return h(l),l<=0?o(l):c!==void 0?typeof f=="string"?o(l).fill(c,f):o(l).fill(c):o(l)}a.alloc=function(l,c,f){return d(l,c,f)};function m(l){return h(l),o(l<0?0:R(l)|0)}a.allocUnsafe=function(l){return m(l)},a.allocUnsafeSlow=function(l){return m(l)};function _(l,c){if((typeof c!="string"||c==="")&&(c="utf8"),!a.isEncoding(c))throw new TypeError("Unknown encoding: "+c);const f=x(l,c)|0;let y=o(f);const v=y.write(l,c);return v!==f&&(y=y.slice(0,v)),y}function p(l){const c=l.length<0?0:R(l.length)|0,f=o(c);for(let y=0;y<c;y+=1)f[y]=l[y]&255;return f}function I(l){if(Ke(l,Uint8Array)){const c=new Uint8Array(l);return B(c.buffer,c.byteOffset,c.byteLength)}return p(l)}function B(l,c,f){if(c<0||l.byteLength<c)throw new RangeError('"offset" is outside of buffer bounds');if(l.byteLength<c+(f||0))throw new RangeError('"length" is outside of buffer bounds');let y;return c===void 0&&f===void 0?y=new Uint8Array(l):f===void 0?y=new Uint8Array(l,c):y=new Uint8Array(l,c,f),Object.setPrototypeOf(y,a.prototype),y}function T(l){if(a.isBuffer(l)){const c=R(l.length)|0,f=o(c);return f.length===0||l.copy(f,0,0,c),f}if(l.length!==void 0)return typeof l.length!="number"||Qt(l.length)?o(0):p(l);if(l.type==="Buffer"&&Array.isArray(l.data))return p(l.data)}function R(l){if(l>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return l|0}function U(l){return+l!=l&&(l=0),a.alloc(+l)}a.isBuffer=function(c){return c!=null&&c._isBuffer===!0&&c!==a.prototype},a.compare=function(c,f){if(Ke(c,Uint8Array)&&(c=a.from(c,c.offset,c.byteLength)),Ke(f,Uint8Array)&&(f=a.from(f,f.offset,f.byteLength)),!a.isBuffer(c)||!a.isBuffer(f))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(c===f)return 0;let y=c.length,v=f.length;for(let P=0,L=Math.min(y,v);P<L;++P)if(c[P]!==f[P]){y=c[P],v=f[P];break}return y<v?-1:v<y?1:0},a.isEncoding=function(c){switch(String(c).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(c,f){if(!Array.isArray(c))throw new TypeError('"list" argument must be an Array of Buffers');if(c.length===0)return a.alloc(0);let y;if(f===void 0)for(f=0,y=0;y<c.length;++y)f+=c[y].length;const v=a.allocUnsafe(f);let P=0;for(y=0;y<c.length;++y){let L=c[y];if(Ke(L,Uint8Array))P+L.length>v.length?(a.isBuffer(L)||(L=a.from(L)),L.copy(v,P)):Uint8Array.prototype.set.call(v,L,P);else if(a.isBuffer(L))L.copy(v,P);else throw new TypeError('"list" argument must be an Array of Buffers');P+=L.length}return v};function x(l,c){if(a.isBuffer(l))return l.length;if(ArrayBuffer.isView(l)||Ke(l,ArrayBuffer))return l.byteLength;if(typeof l!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof l);const f=l.length,y=arguments.length>2&&arguments[2]===!0;if(!y&&f===0)return 0;let v=!1;for(;;)switch(c){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return re(l).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return f*2;case"hex":return f>>>1;case"base64":return Gr(l).length;default:if(v)return y?-1:re(l).length;c=(""+c).toLowerCase(),v=!0}}a.byteLength=x;function g(l,c,f){let y=!1;if((c===void 0||c<0)&&(c=0),c>this.length||((f===void 0||f>this.length)&&(f=this.length),f<=0)||(f>>>=0,c>>>=0,f<=c))return"";for(l||(l="utf8");;)switch(l){case"hex":return qe(this,c,f);case"utf8":case"utf-8":return z(this,c,f);case"ascii":return ze(this,c,f);case"latin1":case"binary":return rt(this,c,f);case"base64":return G(this,c,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ot(this,c,f);default:if(y)throw new TypeError("Unknown encoding: "+l);l=(l+"").toLowerCase(),y=!0}}a.prototype._isBuffer=!0;function S(l,c,f){const y=l[c];l[c]=l[f],l[f]=y}a.prototype.swap16=function(){const c=this.length;if(c%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let f=0;f<c;f+=2)S(this,f,f+1);return this},a.prototype.swap32=function(){const c=this.length;if(c%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let f=0;f<c;f+=4)S(this,f,f+3),S(this,f+1,f+2);return this},a.prototype.swap64=function(){const c=this.length;if(c%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let f=0;f<c;f+=8)S(this,f,f+7),S(this,f+1,f+6),S(this,f+2,f+5),S(this,f+3,f+4);return this},a.prototype.toString=function(){const c=this.length;return c===0?"":arguments.length===0?z(this,0,c):g.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(c){if(!a.isBuffer(c))throw new TypeError("Argument must be a Buffer");return this===c?!0:a.compare(this,c)===0},a.prototype.inspect=function(){let c="";const f=e.INSPECT_MAX_BYTES;return c=this.toString("hex",0,f).replace(/(.{2})/g,"$1 ").trim(),this.length>f&&(c+=" ... "),"<Buffer "+c+">"},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(c,f,y,v,P){if(Ke(c,Uint8Array)&&(c=a.from(c,c.offset,c.byteLength)),!a.isBuffer(c))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof c);if(f===void 0&&(f=0),y===void 0&&(y=c?c.length:0),v===void 0&&(v=0),P===void 0&&(P=this.length),f<0||y>c.length||v<0||P>this.length)throw new RangeError("out of range index");if(v>=P&&f>=y)return 0;if(v>=P)return-1;if(f>=y)return 1;if(f>>>=0,y>>>=0,v>>>=0,P>>>=0,this===c)return 0;let L=P-v,Z=y-f;const ge=Math.min(L,Z),ye=this.slice(v,P),_e=c.slice(f,y);for(let oe=0;oe<ge;++oe)if(ye[oe]!==_e[oe]){L=ye[oe],Z=_e[oe];break}return L<Z?-1:Z<L?1:0};function E(l,c,f,y,v){if(l.length===0)return-1;if(typeof f=="string"?(y=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),f=+f,Qt(f)&&(f=v?0:l.length-1),f<0&&(f=l.length+f),f>=l.length){if(v)return-1;f=l.length-1}else if(f<0)if(v)f=0;else return-1;if(typeof c=="string"&&(c=a.from(c,y)),a.isBuffer(c))return c.length===0?-1:H(l,c,f,y,v);if(typeof c=="number")return c=c&255,typeof Uint8Array.prototype.indexOf=="function"?v?Uint8Array.prototype.indexOf.call(l,c,f):Uint8Array.prototype.lastIndexOf.call(l,c,f):H(l,[c],f,y,v);throw new TypeError("val must be string, number or Buffer")}function H(l,c,f,y,v){let P=1,L=l.length,Z=c.length;if(y!==void 0&&(y=String(y).toLowerCase(),y==="ucs2"||y==="ucs-2"||y==="utf16le"||y==="utf-16le")){if(l.length<2||c.length<2)return-1;P=2,L/=2,Z/=2,f/=2}function ge(_e,oe){return P===1?_e[oe]:_e.readUInt16BE(oe*P)}let ye;if(v){let _e=-1;for(ye=f;ye<L;ye++)if(ge(l,ye)===ge(c,_e===-1?0:ye-_e)){if(_e===-1&&(_e=ye),ye-_e+1===Z)return _e*P}else _e!==-1&&(ye-=ye-_e),_e=-1}else for(f+Z>L&&(f=L-Z),ye=f;ye>=0;ye--){let _e=!0;for(let oe=0;oe<Z;oe++)if(ge(l,ye+oe)!==ge(c,oe)){_e=!1;break}if(_e)return ye}return-1}a.prototype.includes=function(c,f,y){return this.indexOf(c,f,y)!==-1},a.prototype.indexOf=function(c,f,y){return E(this,c,f,y,!0)},a.prototype.lastIndexOf=function(c,f,y){return E(this,c,f,y,!1)};function M(l,c,f,y){f=Number(f)||0;const v=l.length-f;y?(y=Number(y),y>v&&(y=v)):y=v;const P=c.length;y>P/2&&(y=P/2);let L;for(L=0;L<y;++L){const Z=parseInt(c.substr(L*2,2),16);if(Qt(Z))return L;l[f+L]=Z}return L}function O(l,c,f,y){return wr(re(c,l.length-f),l,f,y)}function K(l,c,f,y){return wr(Ct(c),l,f,y)}function C(l,c,f,y){return wr(Gr(c),l,f,y)}function j(l,c,f,y){return wr(br(c,l.length-f),l,f,y)}a.prototype.write=function(c,f,y,v){if(f===void 0)v="utf8",y=this.length,f=0;else if(y===void 0&&typeof f=="string")v=f,y=this.length,f=0;else if(isFinite(f))f=f>>>0,isFinite(y)?(y=y>>>0,v===void 0&&(v="utf8")):(v=y,y=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const P=this.length-f;if((y===void 0||y>P)&&(y=P),c.length>0&&(y<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");v||(v="utf8");let L=!1;for(;;)switch(v){case"hex":return M(this,c,f,y);case"utf8":case"utf-8":return O(this,c,f,y);case"ascii":case"latin1":case"binary":return K(this,c,f,y);case"base64":return C(this,c,f,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,c,f,y);default:if(L)throw new TypeError("Unknown encoding: "+v);v=(""+v).toLowerCase(),L=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function G(l,c,f){return c===0&&f===l.length?t.fromByteArray(l):t.fromByteArray(l.slice(c,f))}function z(l,c,f){f=Math.min(l.length,f);const y=[];let v=c;for(;v<f;){const P=l[v];let L=null,Z=P>239?4:P>223?3:P>191?2:1;if(v+Z<=f){let ge,ye,_e,oe;switch(Z){case 1:P<128&&(L=P);break;case 2:ge=l[v+1],(ge&192)===128&&(oe=(P&31)<<6|ge&63,oe>127&&(L=oe));break;case 3:ge=l[v+1],ye=l[v+2],(ge&192)===128&&(ye&192)===128&&(oe=(P&15)<<12|(ge&63)<<6|ye&63,oe>2047&&(oe<55296||oe>57343)&&(L=oe));break;case 4:ge=l[v+1],ye=l[v+2],_e=l[v+3],(ge&192)===128&&(ye&192)===128&&(_e&192)===128&&(oe=(P&15)<<18|(ge&63)<<12|(ye&63)<<6|_e&63,oe>65535&&oe<1114112&&(L=oe))}}L===null?(L=65533,Z=1):L>65535&&(L-=65536,y.push(L>>>10&1023|55296),L=56320|L&1023),y.push(L),v+=Z}return ve(y)}const ee=4096;function ve(l){const c=l.length;if(c<=ee)return String.fromCharCode.apply(String,l);let f="",y=0;for(;y<c;)f+=String.fromCharCode.apply(String,l.slice(y,y+=ee));return f}function ze(l,c,f){let y="";f=Math.min(l.length,f);for(let v=c;v<f;++v)y+=String.fromCharCode(l[v]&127);return y}function rt(l,c,f){let y="";f=Math.min(l.length,f);for(let v=c;v<f;++v)y+=String.fromCharCode(l[v]);return y}function qe(l,c,f){const y=l.length;(!c||c<0)&&(c=0),(!f||f<0||f>y)&&(f=y);let v="";for(let P=c;P<f;++P)v+=Vr[l[P]];return v}function Ot(l,c,f){const y=l.slice(c,f);let v="";for(let P=0;P<y.length-1;P+=2)v+=String.fromCharCode(y[P]+y[P+1]*256);return v}a.prototype.slice=function(c,f){const y=this.length;c=~~c,f=f===void 0?y:~~f,c<0?(c+=y,c<0&&(c=0)):c>y&&(c=y),f<0?(f+=y,f<0&&(f=0)):f>y&&(f=y),f<c&&(f=c);const v=this.subarray(c,f);return Object.setPrototypeOf(v,a.prototype),v};function de(l,c,f){if(l%1!==0||l<0)throw new RangeError("offset is not uint");if(l+c>f)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(c,f,y){c=c>>>0,f=f>>>0,y||de(c,f,this.length);let v=this[c],P=1,L=0;for(;++L<f&&(P*=256);)v+=this[c+L]*P;return v},a.prototype.readUintBE=a.prototype.readUIntBE=function(c,f,y){c=c>>>0,f=f>>>0,y||de(c,f,this.length);let v=this[c+--f],P=1;for(;f>0&&(P*=256);)v+=this[c+--f]*P;return v},a.prototype.readUint8=a.prototype.readUInt8=function(c,f){return c=c>>>0,f||de(c,1,this.length),this[c]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(c,f){return c=c>>>0,f||de(c,2,this.length),this[c]|this[c+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(c,f){return c=c>>>0,f||de(c,2,this.length),this[c]<<8|this[c+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(c,f){return c=c>>>0,f||de(c,4,this.length),(this[c]|this[c+1]<<8|this[c+2]<<16)+this[c+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(c,f){return c=c>>>0,f||de(c,4,this.length),this[c]*16777216+(this[c+1]<<16|this[c+2]<<8|this[c+3])},a.prototype.readBigUInt64LE=Je(function(c){c=c>>>0,N(c,"offset");const f=this[c],y=this[c+7];(f===void 0||y===void 0)&&D(c,this.length-8);const v=f+this[++c]*2**8+this[++c]*2**16+this[++c]*2**24,P=this[++c]+this[++c]*2**8+this[++c]*2**16+y*2**24;return BigInt(v)+(BigInt(P)<<BigInt(32))}),a.prototype.readBigUInt64BE=Je(function(c){c=c>>>0,N(c,"offset");const f=this[c],y=this[c+7];(f===void 0||y===void 0)&&D(c,this.length-8);const v=f*2**24+this[++c]*2**16+this[++c]*2**8+this[++c],P=this[++c]*2**24+this[++c]*2**16+this[++c]*2**8+y;return(BigInt(v)<<BigInt(32))+BigInt(P)}),a.prototype.readIntLE=function(c,f,y){c=c>>>0,f=f>>>0,y||de(c,f,this.length);let v=this[c],P=1,L=0;for(;++L<f&&(P*=256);)v+=this[c+L]*P;return P*=128,v>=P&&(v-=Math.pow(2,8*f)),v},a.prototype.readIntBE=function(c,f,y){c=c>>>0,f=f>>>0,y||de(c,f,this.length);let v=f,P=1,L=this[c+--v];for(;v>0&&(P*=256);)L+=this[c+--v]*P;return P*=128,L>=P&&(L-=Math.pow(2,8*f)),L},a.prototype.readInt8=function(c,f){return c=c>>>0,f||de(c,1,this.length),this[c]&128?(255-this[c]+1)*-1:this[c]},a.prototype.readInt16LE=function(c,f){c=c>>>0,f||de(c,2,this.length);const y=this[c]|this[c+1]<<8;return y&32768?y|4294901760:y},a.prototype.readInt16BE=function(c,f){c=c>>>0,f||de(c,2,this.length);const y=this[c+1]|this[c]<<8;return y&32768?y|4294901760:y},a.prototype.readInt32LE=function(c,f){return c=c>>>0,f||de(c,4,this.length),this[c]|this[c+1]<<8|this[c+2]<<16|this[c+3]<<24},a.prototype.readInt32BE=function(c,f){return c=c>>>0,f||de(c,4,this.length),this[c]<<24|this[c+1]<<16|this[c+2]<<8|this[c+3]},a.prototype.readBigInt64LE=Je(function(c){c=c>>>0,N(c,"offset");const f=this[c],y=this[c+7];(f===void 0||y===void 0)&&D(c,this.length-8);const v=this[c+4]+this[c+5]*2**8+this[c+6]*2**16+(y<<24);return(BigInt(v)<<BigInt(32))+BigInt(f+this[++c]*2**8+this[++c]*2**16+this[++c]*2**24)}),a.prototype.readBigInt64BE=Je(function(c){c=c>>>0,N(c,"offset");const f=this[c],y=this[c+7];(f===void 0||y===void 0)&&D(c,this.length-8);const v=(f<<24)+this[++c]*2**16+this[++c]*2**8+this[++c];return(BigInt(v)<<BigInt(32))+BigInt(this[++c]*2**24+this[++c]*2**16+this[++c]*2**8+y)}),a.prototype.readFloatLE=function(c,f){return c=c>>>0,f||de(c,4,this.length),r.read(this,c,!0,23,4)},a.prototype.readFloatBE=function(c,f){return c=c>>>0,f||de(c,4,this.length),r.read(this,c,!1,23,4)},a.prototype.readDoubleLE=function(c,f){return c=c>>>0,f||de(c,8,this.length),r.read(this,c,!0,52,8)},a.prototype.readDoubleBE=function(c,f){return c=c>>>0,f||de(c,8,this.length),r.read(this,c,!1,52,8)};function Ee(l,c,f,y,v,P){if(!a.isBuffer(l))throw new TypeError('"buffer" argument must be a Buffer instance');if(c>v||c<P)throw new RangeError('"value" argument is out of bounds');if(f+y>l.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(c,f,y,v){if(c=+c,f=f>>>0,y=y>>>0,!v){const Z=Math.pow(2,8*y)-1;Ee(this,c,f,y,Z,0)}let P=1,L=0;for(this[f]=c&255;++L<y&&(P*=256);)this[f+L]=c/P&255;return f+y},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(c,f,y,v){if(c=+c,f=f>>>0,y=y>>>0,!v){const Z=Math.pow(2,8*y)-1;Ee(this,c,f,y,Z,0)}let P=y-1,L=1;for(this[f+P]=c&255;--P>=0&&(L*=256);)this[f+P]=c/L&255;return f+y},a.prototype.writeUint8=a.prototype.writeUInt8=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,1,255,0),this[f]=c&255,f+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,2,65535,0),this[f]=c&255,this[f+1]=c>>>8,f+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,2,65535,0),this[f]=c>>>8,this[f+1]=c&255,f+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,4,4294967295,0),this[f+3]=c>>>24,this[f+2]=c>>>16,this[f+1]=c>>>8,this[f]=c&255,f+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,4,4294967295,0),this[f]=c>>>24,this[f+1]=c>>>16,this[f+2]=c>>>8,this[f+3]=c&255,f+4};function We(l,c,f,y,v){w(c,y,v,l,f,7);let P=Number(c&BigInt(4294967295));l[f++]=P,P=P>>8,l[f++]=P,P=P>>8,l[f++]=P,P=P>>8,l[f++]=P;let L=Number(c>>BigInt(32)&BigInt(4294967295));return l[f++]=L,L=L>>8,l[f++]=L,L=L>>8,l[f++]=L,L=L>>8,l[f++]=L,f}function Rt(l,c,f,y,v){w(c,y,v,l,f,7);let P=Number(c&BigInt(4294967295));l[f+7]=P,P=P>>8,l[f+6]=P,P=P>>8,l[f+5]=P,P=P>>8,l[f+4]=P;let L=Number(c>>BigInt(32)&BigInt(4294967295));return l[f+3]=L,L=L>>8,l[f+2]=L,L=L>>8,l[f+1]=L,L=L>>8,l[f]=L,f+8}a.prototype.writeBigUInt64LE=Je(function(c,f=0){return We(this,c,f,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Je(function(c,f=0){return Rt(this,c,f,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(c,f,y,v){if(c=+c,f=f>>>0,!v){const ge=Math.pow(2,8*y-1);Ee(this,c,f,y,ge-1,-ge)}let P=0,L=1,Z=0;for(this[f]=c&255;++P<y&&(L*=256);)c<0&&Z===0&&this[f+P-1]!==0&&(Z=1),this[f+P]=(c/L>>0)-Z&255;return f+y},a.prototype.writeIntBE=function(c,f,y,v){if(c=+c,f=f>>>0,!v){const ge=Math.pow(2,8*y-1);Ee(this,c,f,y,ge-1,-ge)}let P=y-1,L=1,Z=0;for(this[f+P]=c&255;--P>=0&&(L*=256);)c<0&&Z===0&&this[f+P+1]!==0&&(Z=1),this[f+P]=(c/L>>0)-Z&255;return f+y},a.prototype.writeInt8=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,1,127,-128),c<0&&(c=255+c+1),this[f]=c&255,f+1},a.prototype.writeInt16LE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,2,32767,-32768),this[f]=c&255,this[f+1]=c>>>8,f+2},a.prototype.writeInt16BE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,2,32767,-32768),this[f]=c>>>8,this[f+1]=c&255,f+2},a.prototype.writeInt32LE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,4,2147483647,-2147483648),this[f]=c&255,this[f+1]=c>>>8,this[f+2]=c>>>16,this[f+3]=c>>>24,f+4},a.prototype.writeInt32BE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,4,2147483647,-2147483648),c<0&&(c=4294967295+c+1),this[f]=c>>>24,this[f+1]=c>>>16,this[f+2]=c>>>8,this[f+3]=c&255,f+4},a.prototype.writeBigInt64LE=Je(function(c,f=0){return We(this,c,f,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Je(function(c,f=0){return Rt(this,c,f,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function pt(l,c,f,y,v,P){if(f+y>l.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function k(l,c,f,y,v){return c=+c,f=f>>>0,v||pt(l,c,f,4),r.write(l,c,f,y,23,4),f+4}a.prototype.writeFloatLE=function(c,f,y){return k(this,c,f,!0,y)},a.prototype.writeFloatBE=function(c,f,y){return k(this,c,f,!1,y)};function A(l,c,f,y,v){return c=+c,f=f>>>0,v||pt(l,c,f,8),r.write(l,c,f,y,52,8),f+8}a.prototype.writeDoubleLE=function(c,f,y){return A(this,c,f,!0,y)},a.prototype.writeDoubleBE=function(c,f,y){return A(this,c,f,!1,y)},a.prototype.copy=function(c,f,y,v){if(!a.isBuffer(c))throw new TypeError("argument should be a Buffer");if(y||(y=0),!v&&v!==0&&(v=this.length),f>=c.length&&(f=c.length),f||(f=0),v>0&&v<y&&(v=y),v===y||c.length===0||this.length===0)return 0;if(f<0)throw new RangeError("targetStart out of bounds");if(y<0||y>=this.length)throw new RangeError("Index out of range");if(v<0)throw new RangeError("sourceEnd out of bounds");v>this.length&&(v=this.length),c.length-f<v-y&&(v=c.length-f+y);const P=v-y;return this===c&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(f,y,v):Uint8Array.prototype.set.call(c,this.subarray(y,v),f),P},a.prototype.fill=function(c,f,y,v){if(typeof c=="string"){if(typeof f=="string"?(v=f,f=0,y=this.length):typeof y=="string"&&(v=y,y=this.length),v!==void 0&&typeof v!="string")throw new TypeError("encoding must be a string");if(typeof v=="string"&&!a.isEncoding(v))throw new TypeError("Unknown encoding: "+v);if(c.length===1){const L=c.charCodeAt(0);(v==="utf8"&&L<128||v==="latin1")&&(c=L)}}else typeof c=="number"?c=c&255:typeof c=="boolean"&&(c=Number(c));if(f<0||this.length<f||this.length<y)throw new RangeError("Out of range index");if(y<=f)return this;f=f>>>0,y=y===void 0?this.length:y>>>0,c||(c=0);let P;if(typeof c=="number")for(P=f;P<y;++P)this[P]=c;else{const L=a.isBuffer(c)?c:a.from(c,v),Z=L.length;if(Z===0)throw new TypeError('The value "'+c+'" is invalid for argument "value"');for(P=0;P<y-f;++P)this[P+f]=L[P%Z]}return this};const F={};function q(l,c,f){F[l]=class extends f{constructor(){super(),Object.defineProperty(this,"message",{value:c.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${l}]`,this.stack,delete this.name}get code(){return l}set code(v){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:v,writable:!0})}toString(){return`${this.name} [${l}]: ${this.message}`}}}q("ERR_BUFFER_OUT_OF_BOUNDS",function(l){return l?`${l} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),q("ERR_INVALID_ARG_TYPE",function(l,c){return`The "${l}" argument must be of type number. Received type ${typeof c}`},TypeError),q("ERR_OUT_OF_RANGE",function(l,c,f){let y=`The value of "${l}" is out of range.`,v=f;return Number.isInteger(f)&&Math.abs(f)>2**32?v=Y(String(f)):typeof f=="bigint"&&(v=String(f),(f>BigInt(2)**BigInt(32)||f<-(BigInt(2)**BigInt(32)))&&(v=Y(v)),v+="n"),y+=` It must be ${c}. Received ${v}`,y},RangeError);function Y(l){let c="",f=l.length;const y=l[0]==="-"?1:0;for(;f>=y+4;f-=3)c=`_${l.slice(f-3,f)}${c}`;return`${l.slice(0,f)}${c}`}function b(l,c,f){N(c,"offset"),(l[c]===void 0||l[c+f]===void 0)&&D(c,l.length-(f+1))}function w(l,c,f,y,v,P){if(l>f||l<c){const L=typeof c=="bigint"?"n":"";let Z;throw c===0||c===BigInt(0)?Z=`>= 0${L} and < 2${L} ** ${(P+1)*8}${L}`:Z=`>= -(2${L} ** ${(P+1)*8-1}${L}) and < 2 ** ${(P+1)*8-1}${L}`,new F.ERR_OUT_OF_RANGE("value",Z,l)}b(y,v,P)}function N(l,c){if(typeof l!="number")throw new F.ERR_INVALID_ARG_TYPE(c,"number",l)}function D(l,c,f){throw Math.floor(l)!==l?(N(l,f),new F.ERR_OUT_OF_RANGE("offset","an integer",l)):c<0?new F.ERR_BUFFER_OUT_OF_BOUNDS:new F.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${c}`,l)}const pe=/[^+/0-9A-Za-z-_]/g;function X(l){if(l=l.split("=")[0],l=l.trim().replace(pe,""),l.length<2)return"";for(;l.length%4!==0;)l=l+"=";return l}function re(l,c){c=c||1/0;let f;const y=l.length;let v=null;const P=[];for(let L=0;L<y;++L){if(f=l.charCodeAt(L),f>55295&&f<57344){if(!v){if(f>56319){(c-=3)>-1&&P.push(239,191,189);continue}else if(L+1===y){(c-=3)>-1&&P.push(239,191,189);continue}v=f;continue}if(f<56320){(c-=3)>-1&&P.push(239,191,189),v=f;continue}f=(v-55296<<10|f-56320)+65536}else v&&(c-=3)>-1&&P.push(239,191,189);if(v=null,f<128){if((c-=1)<0)break;P.push(f)}else if(f<2048){if((c-=2)<0)break;P.push(f>>6|192,f&63|128)}else if(f<65536){if((c-=3)<0)break;P.push(f>>12|224,f>>6&63|128,f&63|128)}else if(f<1114112){if((c-=4)<0)break;P.push(f>>18|240,f>>12&63|128,f>>6&63|128,f&63|128)}else throw new Error("Invalid code point")}return P}function Ct(l){const c=[];for(let f=0;f<l.length;++f)c.push(l.charCodeAt(f)&255);return c}function br(l,c){let f,y,v;const P=[];for(let L=0;L<l.length&&!((c-=2)<0);++L)f=l.charCodeAt(L),y=f>>8,v=f%256,P.push(v),P.push(y);return P}function Gr(l){return t.toByteArray(X(l))}function wr(l,c,f,y){let v;for(v=0;v<y&&!(v+f>=c.length||v>=l.length);++v)c[v+f]=l[v];return v}function Ke(l,c){return l instanceof c||l!=null&&l.constructor!=null&&l.constructor.name!=null&&l.constructor.name===c.name}function Qt(l){return l!==l}const Vr=function(){const l="0123456789abcdef",c=new Array(256);for(let f=0;f<16;++f){const y=f*16;for(let v=0;v<16;++v)c[y+v]=l[f]+l[v]}return c}();function Je(l){return typeof BigInt>"u"?Zt:l}function Zt(){throw new Error("BigInt not supported")}})(It);var yn={Array:function(e){return e!=null&&e.constructor===Array},Boolean:function(e){return typeof e=="boolean"},Function:function(e){return typeof e=="function"},Nil:function(e){return e==null},Number:function(e){return typeof e=="number"},Object:function(e){return typeof e=="object"},String:function(e){return typeof e=="string"},"":function(){return!0}};yn.Null=yn.Nil;for(var io in yn)yn[io].toJSON=(function(e){return e}).bind(null,io);var Ps=yn,nr=Ps;function wa(e){return e.name||e.toString().match(/function (.*?)\s*\(/)[1]}function Os(e){return nr.Nil(e)?"":wa(e.constructor)}function Hf(e){return nr.Function(e)?"":nr.String(e)?JSON.stringify(e):e&&nr.Object(e)?"":e}function Rs(e,t){Error.captureStackTrace&&Error.captureStackTrace(e,t)}function Zn(e){return nr.Function(e)?e.toJSON?e.toJSON():wa(e):nr.Array(e)?"Array":e&&nr.Object(e)?"Object":e!==void 0?e:""}function ga(e,t,r){var n=Hf(t);return"Expected "+Zn(e)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function kt(e,t,r){r=r||Os(t),this.message=ga(e,t,r),Rs(this,kt),this.__type=e,this.__value=t,this.__valueTypeName=r}kt.prototype=Object.create(Error.prototype);kt.prototype.constructor=kt;function Mf(e,t,r,n,i){var s='" of type ';return t==="key"&&(s='" with key type '),ga('property "'+Zn(r)+s+Zn(e),n,i)}function Br(e,t,r,n,i){e?(i=i||Os(n),this.message=Mf(e,r,t,n,i)):this.message='Unexpected property "'+t+'"',Rs(this,kt),this.__label=r,this.__property=t,this.__type=e,this.__value=n,this.__valueTypeName=i}Br.prototype=Object.create(Error.prototype);Br.prototype.constructor=kt;function Df(e,t){return new kt(e,{},t)}function $f(e,t,r){return e instanceof Br?(t=t+"."+e.__property,e=new Br(e.__type,t,e.__label,e.__value,e.__valueTypeName)):e instanceof kt&&(e=new Br(e.__type,t,r,e.__value,e.__valueTypeName)),Rs(e),e}var _a={TfTypeError:kt,TfPropertyTypeError:Br,tfCustomError:Df,tfSubError:$f,tfJSON:Zn,getValueTypeName:Os},Ni,so;function jf(){if(so)return Ni;so=1;var e=Ps,t=_a;function r(E){return Buffer.isBuffer(E)}function n(E){return typeof E=="string"&&/^([0-9a-f]{2})+$/i.test(E)}function i(E,H){var M=E.toJSON();function O(K){if(!E(K))return!1;if(K.length===H)return!0;throw t.tfCustomError(M+"(Length: "+H+")",M+"(Length: "+K.length+")")}return O.toJSON=function(){return M},O}var s=i.bind(null,e.Array),o=i.bind(null,r),a=i.bind(null,n),u=i.bind(null,e.String);function h(E,H,M){M=M||e.Number;function O(K,C){return M(K,C)&&K>E&&K<H}return O.toJSON=function(){return`${M.toJSON()} between [${E}, ${H}]`},O}var d=Math.pow(2,53)-1;function m(E){return typeof E=="number"&&isFinite(E)}function _(E){return E<<24>>24===E}function p(E){return E<<16>>16===E}function I(E){return(E|0)===E}function B(E){return typeof E=="number"&&E>=-d&&E<=d&&Math.floor(E)===E}function T(E){return(E&255)===E}function R(E){return(E&65535)===E}function U(E){return E>>>0===E}function x(E){return typeof E=="number"&&E>=0&&E<=d&&Math.floor(E)===E}var g={ArrayN:s,Buffer:r,BufferN:o,Finite:m,Hex:n,HexN:a,Int8:_,Int16:p,Int32:I,Int53:B,Range:h,StringN:u,UInt8:T,UInt16:R,UInt32:U,UInt53:x};for(var S in g)g[S].toJSON=(function(E){return E}).bind(null,S);return Ni=g,Ni}var gn=_a,Ie=Ps,yt=gn.tfJSON,va=gn.TfTypeError,Ea=gn.TfPropertyTypeError,zr=gn.tfSubError,Gf=gn.getValueTypeName,vt={arrayOf:function(t,r){t=ut(t),r=r||{};function n(i,s){return!Ie.Array(i)||Ie.Nil(i)||r.minLength!==void 0&&i.length<r.minLength||r.maxLength!==void 0&&i.length>r.maxLength||r.length!==void 0&&i.length!==r.length?!1:i.every(function(o,a){try{return je(t,o,s)}catch(u){throw zr(u,a)}})}return n.toJSON=function(){var i="["+yt(t)+"]";return r.length!==void 0?i+="{"+r.length+"}":(r.minLength!==void 0||r.maxLength!==void 0)&&(i+="{"+(r.minLength===void 0?0:r.minLength)+","+(r.maxLength===void 0?1/0:r.maxLength)+"}"),i},n},maybe:function e(t){t=ut(t);function r(n,i){return Ie.Nil(n)||t(n,i,e)}return r.toJSON=function(){return"?"+yt(t)},r},map:function(t,r){t=ut(t),r&&(r=ut(r));function n(i,s){if(!Ie.Object(i)||Ie.Nil(i))return!1;for(var o in i){try{r&&je(r,o,s)}catch(u){throw zr(u,o,"key")}try{var a=i[o];je(t,a,s)}catch(u){throw zr(u,o)}}return!0}return r?n.toJSON=function(){return"{"+yt(r)+": "+yt(t)+"}"}:n.toJSON=function(){return"{"+yt(t)+"}"},n},object:function(t){var r={};for(var n in t)r[n]=ut(t[n]);function i(s,o){if(!Ie.Object(s)||Ie.Nil(s))return!1;var a;try{for(a in r){var u=r[a],h=s[a];je(u,h,o)}}catch(d){throw zr(d,a)}if(o){for(a in s)if(!r[a])throw new Ea(void 0,a)}return!0}return i.toJSON=function(){return yt(r)},i},anyOf:function(){var t=[].slice.call(arguments).map(ut);function r(n,i){return t.some(function(s){try{return je(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(yt).join("|")},r},allOf:function(){var t=[].slice.call(arguments).map(ut);function r(n,i){return t.every(function(s){try{return je(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(yt).join(" & ")},r},quacksLike:function(t){function r(n){return t===Gf(n)}return r.toJSON=function(){return t},r},tuple:function(){var t=[].slice.call(arguments).map(ut);function r(n,i){return Ie.Nil(n)||Ie.Nil(n.length)||i&&n.length!==t.length?!1:t.every(function(s,o){try{return je(s,n[o],i)}catch(a){throw zr(a,o)}})}return r.toJSON=function(){return"("+t.map(yt).join(", ")+")"},r},value:function(t){function r(n){return n===t}return r.toJSON=function(){return t},r}};vt.oneOf=vt.anyOf;function ut(e){if(Ie.String(e))return e[0]==="?"?vt.maybe(e.slice(1)):Ie[e]||vt.quacksLike(e);if(e&&Ie.Object(e)){if(Ie.Array(e)){if(e.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return vt.arrayOf(e[0])}return vt.object(e)}else if(Ie.Function(e))return e;return vt.value(e)}function je(e,t,r,n){if(Ie.Function(e)){if(e(t,r))return!0;throw new va(n||e,t)}return je(ut(e),t,r)}for(var Gt in Ie)je[Gt]=Ie[Gt];for(Gt in vt)je[Gt]=vt[Gt];var oo=jf();for(Gt in oo)je[Gt]=oo[Gt];je.compile=ut;je.TfTypeError=va;je.TfPropertyTypeError=Ea;var xa=je;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.oneOf=e.Null=e.BufferN=e.Function=e.UInt32=e.UInt8=e.tuple=e.maybe=e.Hex=e.Buffer=e.String=e.Boolean=e.Array=e.Number=e.Hash256bit=e.Hash160bit=e.Buffer256bit=e.isTaptree=e.isTapleaf=e.TAPLEAF_VERSION_MASK=e.Satoshi=e.isPoint=e.stacksEqual=e.typeforce=void 0;const t=It;e.typeforce=xa;const r=t.Buffer.alloc(32,0),n=t.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function i(d,m){return d.length!==m.length?!1:d.every((_,p)=>_.equals(m[p]))}e.stacksEqual=i;function s(d){if(!t.Buffer.isBuffer(d)||d.length<33)return!1;const m=d[0],_=d.slice(1,33);if(_.compare(r)===0||_.compare(n)>=0)return!1;if((m===2||m===3)&&d.length===33)return!0;const p=d.slice(33);return p.compare(r)===0||p.compare(n)>=0?!1:m===4&&d.length===65}e.isPoint=s;const o=21*1e14;function a(d){return e.typeforce.UInt53(d)&&d<=o}e.Satoshi=a,e.TAPLEAF_VERSION_MASK=254;function u(d){return!d||!("output"in d)||!t.Buffer.isBuffer(d.output)?!1:d.version!==void 0?(d.version&e.TAPLEAF_VERSION_MASK)===d.version:!0}e.isTapleaf=u;function h(d){return(0,e.Array)(d)?d.length!==2?!1:d.every(m=>h(m)):u(d)}e.isTaptree=h,e.Buffer256bit=e.typeforce.BufferN(32),e.Hash160bit=e.typeforce.BufferN(20),e.Hash256bit=e.typeforce.BufferN(32),e.Number=e.typeforce.Number,e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.String=e.typeforce.String,e.Buffer=e.typeforce.Buffer,e.Hex=e.typeforce.Hex,e.maybe=e.typeforce.maybe,e.tuple=e.typeforce.tuple,e.UInt8=e.typeforce.UInt8,e.UInt32=e.typeforce.UInt32,e.Function=e.typeforce.Function,e.BufferN=e.typeforce.BufferN,e.Null=e.typeforce.Null,e.oneOf=e.typeforce.oneOf})(Fe);var _n={},Pe={};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.BufferReader=Pe.BufferWriter=Pe.cloneBuffer=Pe.reverseBuffer=Pe.writeUInt64LE=Pe.readUInt64LE=Pe.varuint=void 0;const ir=Fe,{typeforce:Sa}=ir,mn=ha;Pe.varuint=mn;function Aa(e,t){if(typeof e!="number")throw new Error("cannot write a non-number as a number");if(e<0)throw new Error("specified a negative value for writing an unsigned value");if(e>t)throw new Error("RangeError: value out of range");if(Math.floor(e)!==e)throw new Error("value has a fractional component")}function ka(e,t){const r=e.readUInt32LE(t);let n=e.readUInt32LE(t+4);return n*=4294967296,Aa(n+r,9007199254740991),n+r}Pe.readUInt64LE=ka;function Ta(e,t,r){return Aa(t,9007199254740991),e.writeInt32LE(t&-1,r),e.writeUInt32LE(Math.floor(t/4294967296),r+4),r+8}Pe.writeUInt64LE=Ta;function Vf(e){if(e.length<1)return e;let t=e.length-1,r=0;for(let n=0;n<e.length/2;n++)r=e[n],e[n]=e[t],e[t]=r,t--;return e}Pe.reverseBuffer=Vf;function zf(e){const t=Buffer.allocUnsafe(e.length);return e.copy(t),t}Pe.cloneBuffer=zf;class Cs{static withCapacity(t){return new Cs(Buffer.alloc(t))}constructor(t,r=0){this.buffer=t,this.offset=r,Sa(ir.tuple(ir.Buffer,ir.UInt32),[t,r])}writeUInt8(t){this.offset=this.buffer.writeUInt8(t,this.offset)}writeInt32(t){this.offset=this.buffer.writeInt32LE(t,this.offset)}writeUInt32(t){this.offset=this.buffer.writeUInt32LE(t,this.offset)}writeUInt64(t){this.offset=Ta(this.buffer,t,this.offset)}writeVarInt(t){mn.encode(t,this.buffer,this.offset),this.offset+=mn.encode.bytes}writeSlice(t){if(this.buffer.length<this.offset+t.length)throw new Error("Cannot write slice out of bounds");this.offset+=t.copy(this.buffer,this.offset)}writeVarSlice(t){this.writeVarInt(t.length),this.writeSlice(t)}writeVector(t){this.writeVarInt(t.length),t.forEach(r=>this.writeVarSlice(r))}end(){if(this.buffer.length===this.offset)return this.buffer;throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`)}}Pe.BufferWriter=Cs;class qf{constructor(t,r=0){this.buffer=t,this.offset=r,Sa(ir.tuple(ir.Buffer,ir.UInt32),[t,r])}readUInt8(){const t=this.buffer.readUInt8(this.offset);return this.offset++,t}readInt32(){const t=this.buffer.readInt32LE(this.offset);return this.offset+=4,t}readUInt32(){const t=this.buffer.readUInt32LE(this.offset);return this.offset+=4,t}readUInt64(){const t=ka(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=mn.decode(this.buffer,this.offset);return this.offset+=mn.decode.bytes,t}readSlice(t){if(this.buffer.length<this.offset+t)throw new Error("Cannot read slice out of bounds");const r=this.buffer.slice(this.offset,this.offset+t);return this.offset+=t,r}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const t=this.readVarInt(),r=[];for(let n=0;n<t;n++)r.push(this.readVarSlice());return r}}Pe.BufferReader=qf;var Wt={},Cr={},Pt={},Kt={};Object.defineProperty(Kt,"__esModule",{value:!0});Kt.anumber=ds;Kt.abytes=Ba;Kt.ahash=Kf;Kt.aexists=Yf;Kt.aoutput=Xf;function ds(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Wf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ba(e,...t){if(!Wf(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Kf(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ds(e.outputLen),ds(e.blockLen)}function Yf(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Xf(e,t){Ba(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}var vn={},fi={};Object.defineProperty(fi,"__esModule",{value:!0});fi.crypto=void 0;fi.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;(function(e){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(e,"__esModule",{value:!0}),e.Hash=e.nextTick=e.byteSwapIfBE=e.isLE=void 0,e.isBytes=n,e.u8=i,e.u32=s,e.createView=o,e.rotr=a,e.rotl=u,e.byteSwap=h,e.byteSwap32=d,e.bytesToHex=_,e.hexToBytes=B,e.asyncLoop=R,e.utf8ToBytes=U,e.toBytes=x,e.concatBytes=g,e.checkOpts=E,e.wrapConstructor=H,e.wrapConstructorWithOpts=M,e.wrapXOFConstructorWithOpts=O,e.randomBytes=K;const t=fi,r=Kt;function n(C){return C instanceof Uint8Array||ArrayBuffer.isView(C)&&C.constructor.name==="Uint8Array"}function i(C){return new Uint8Array(C.buffer,C.byteOffset,C.byteLength)}function s(C){return new Uint32Array(C.buffer,C.byteOffset,Math.floor(C.byteLength/4))}function o(C){return new DataView(C.buffer,C.byteOffset,C.byteLength)}function a(C,j){return C<<32-j|C>>>j}function u(C,j){return C<<j|C>>>32-j>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function h(C){return C<<24&4278190080|C<<8&16711680|C>>>8&65280|C>>>24&255}e.byteSwapIfBE=e.isLE?C=>C:C=>h(C);function d(C){for(let j=0;j<C.length;j++)C[j]=h(C[j])}const m=Array.from({length:256},(C,j)=>j.toString(16).padStart(2,"0"));function _(C){(0,r.abytes)(C);let j="";for(let G=0;G<C.length;G++)j+=m[C[G]];return j}const p={_0:48,_9:57,A:65,F:70,a:97,f:102};function I(C){if(C>=p._0&&C<=p._9)return C-p._0;if(C>=p.A&&C<=p.F)return C-(p.A-10);if(C>=p.a&&C<=p.f)return C-(p.a-10)}function B(C){if(typeof C!="string")throw new Error("hex string expected, got "+typeof C);const j=C.length,G=j/2;if(j%2)throw new Error("hex string expected, got unpadded hex of length "+j);const z=new Uint8Array(G);for(let ee=0,ve=0;ee<G;ee++,ve+=2){const ze=I(C.charCodeAt(ve)),rt=I(C.charCodeAt(ve+1));if(ze===void 0||rt===void 0){const qe=C[ve]+C[ve+1];throw new Error('hex string expected, got non-hex character "'+qe+'" at index '+ve)}z[ee]=ze*16+rt}return z}const T=async()=>{};e.nextTick=T;async function R(C,j,G){let z=Date.now();for(let ee=0;ee<C;ee++){G(ee);const ve=Date.now()-z;ve>=0&&ve<j||(await(0,e.nextTick)(),z+=ve)}}function U(C){if(typeof C!="string")throw new Error("utf8ToBytes expected string, got "+typeof C);return new Uint8Array(new TextEncoder().encode(C))}function x(C){return typeof C=="string"&&(C=U(C)),(0,r.abytes)(C),C}function g(...C){let j=0;for(let z=0;z<C.length;z++){const ee=C[z];(0,r.abytes)(ee),j+=ee.length}const G=new Uint8Array(j);for(let z=0,ee=0;z<C.length;z++){const ve=C[z];G.set(ve,ee),ee+=ve.length}return G}class S{clone(){return this._cloneInto()}}e.Hash=S;function E(C,j){if(j!==void 0&&{}.toString.call(j)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(C,j)}function H(C){const j=z=>C().update(x(z)).digest(),G=C();return j.outputLen=G.outputLen,j.blockLen=G.blockLen,j.create=()=>C(),j}function M(C){const j=(z,ee)=>C(ee).update(x(z)).digest(),G=C({});return j.outputLen=G.outputLen,j.blockLen=G.blockLen,j.create=z=>C(z),j}function O(C){const j=(z,ee)=>C(ee).update(x(z)).digest(),G=C({});return j.outputLen=G.outputLen,j.blockLen=G.blockLen,j.create=z=>C(z),j}function K(C=32){if(t.crypto&&typeof t.crypto.getRandomValues=="function")return t.crypto.getRandomValues(new Uint8Array(C));if(t.crypto&&typeof t.crypto.randomBytes=="function")return t.crypto.randomBytes(C);throw new Error("crypto.getRandomValues must be defined")}})(vn);Object.defineProperty(Pt,"__esModule",{value:!0});Pt.HashMD=void 0;Pt.setBigUint64=Ia;Pt.Chi=Jf;Pt.Maj=Qf;const Fi=Kt,qr=vn;function Ia(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),u=n?4:0,h=n?0:4;e.setUint32(t+u,o,n),e.setUint32(t+h,a,n)}function Jf(e,t,r){return e&t^~e&r}function Qf(e,t,r){return e&t^e&r^t&r}class Zf extends qr.Hash{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,qr.createView)(this.buffer)}update(t){(0,Fi.aexists)(this);const{view:r,buffer:n,blockLen:i}=this;t=(0,qr.toBytes)(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const u=(0,qr.createView)(t);for(;i<=s-o;o+=i)this.process(u,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,Fi.aexists)(this),(0,Fi.aoutput)(t,this),this.finished=!0;const{buffer:r,view:n,blockLen:i,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let m=o;m<i;m++)r[m]=0;Ia(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=(0,qr.createView)(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const h=u/4,d=this.get();if(h>d.length)throw new Error("_sha2: outputLen bigger than state");for(let m=0;m<h;m++)a.setUint32(4*m,d[m],s)}digest(){const{buffer:t,outputLen:r}=this;this.digestInto(t);const n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}}Pt.HashMD=Zf;Object.defineProperty(Cr,"__esModule",{value:!0});Cr.ripemd160=Cr.RIPEMD160=void 0;const eu=Pt,an=vn,tu=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Pa=new Uint8Array(new Array(16).fill(0).map((e,t)=>t)),ru=Pa.map(e=>(9*e+5)%16);let Us=[Pa],Ls=[ru];for(let e=0;e<4;e++)for(let t of[Us,Ls])t.push(t[e].map(r=>tu[r]));const Oa=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>new Uint8Array(e)),nu=Us.map((e,t)=>e.map(r=>Oa[t][r])),iu=Ls.map((e,t)=>e.map(r=>Oa[t][r])),su=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),ou=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);function ao(e,t,r,n){return e===0?t^r^n:e===1?t&r|~t&n:e===2?(t|~r)^n:e===3?t&n|r&~n:t^(r|~n)}const Cn=new Uint32Array(16);let Ra=class extends eu.HashMD{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:t,h1:r,h2:n,h3:i,h4:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.h0=t|0,this.h1=r|0,this.h2=n|0,this.h3=i|0,this.h4=s|0}process(t,r){for(let p=0;p<16;p++,r+=4)Cn[p]=t.getUint32(r,!0);let n=this.h0|0,i=n,s=this.h1|0,o=s,a=this.h2|0,u=a,h=this.h3|0,d=h,m=this.h4|0,_=m;for(let p=0;p<5;p++){const I=4-p,B=su[p],T=ou[p],R=Us[p],U=Ls[p],x=nu[p],g=iu[p];for(let S=0;S<16;S++){const E=(0,an.rotl)(n+ao(p,s,a,h)+Cn[R[S]]+B,x[S])+m|0;n=m,m=h,h=(0,an.rotl)(a,10)|0,a=s,s=E}for(let S=0;S<16;S++){const E=(0,an.rotl)(i+ao(I,o,u,d)+Cn[U[S]]+T,g[S])+_|0;i=_,_=d,d=(0,an.rotl)(u,10)|0,u=o,o=E}}this.set(this.h1+a+d|0,this.h2+h+_|0,this.h3+m+i|0,this.h4+n+o|0,this.h0+s+u|0)}roundClean(){Cn.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}};Cr.RIPEMD160=Ra;Cr.ripemd160=(0,an.wrapConstructor)(()=>new Ra);var Ur={};Object.defineProperty(Ur,"__esModule",{value:!0});Ur.sha1=Ur.SHA1=void 0;const Hi=Pt,zn=vn,Wr=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Ut=new Uint32Array(80);class Ca extends Hi.HashMD{constructor(){super(64,20,8,!1),this.A=Wr[0]|0,this.B=Wr[1]|0,this.C=Wr[2]|0,this.D=Wr[3]|0,this.E=Wr[4]|0}get(){const{A:t,B:r,C:n,D:i,E:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0}process(t,r){for(let u=0;u<16;u++,r+=4)Ut[u]=t.getUint32(r,!1);for(let u=16;u<80;u++)Ut[u]=(0,zn.rotl)(Ut[u-3]^Ut[u-8]^Ut[u-14]^Ut[u-16],1);let{A:n,B:i,C:s,D:o,E:a}=this;for(let u=0;u<80;u++){let h,d;u<20?(h=(0,Hi.Chi)(i,s,o),d=1518500249):u<40?(h=i^s^o,d=1859775393):u<60?(h=(0,Hi.Maj)(i,s,o),d=2400959708):(h=i^s^o,d=3395469782);const m=(0,zn.rotl)(n,5)+h+a+d+Ut[u]|0;a=o,o=s,s=(0,zn.rotl)(i,30),i=n,n=m}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,this.set(n,i,s,o,a)}roundClean(){Ut.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}Ur.SHA1=Ca;Ur.sha1=(0,zn.wrapConstructor)(()=>new Ca);var St={};Object.defineProperty(St,"__esModule",{value:!0});St.sha224=Ua=St.sha256=St.SHA256=void 0;const Mi=Pt,Ze=vn,au=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Lt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Nt=new Uint32Array(64);class Ns extends Mi.HashMD{constructor(){super(64,32,8,!1),this.A=Lt[0]|0,this.B=Lt[1]|0,this.C=Lt[2]|0,this.D=Lt[3]|0,this.E=Lt[4]|0,this.F=Lt[5]|0,this.G=Lt[6]|0,this.H=Lt[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:u}=this;return[t,r,n,i,s,o,a,u]}set(t,r,n,i,s,o,a,u){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=u|0}process(t,r){for(let m=0;m<16;m++,r+=4)Nt[m]=t.getUint32(r,!1);for(let m=16;m<64;m++){const _=Nt[m-15],p=Nt[m-2],I=(0,Ze.rotr)(_,7)^(0,Ze.rotr)(_,18)^_>>>3,B=(0,Ze.rotr)(p,17)^(0,Ze.rotr)(p,19)^p>>>10;Nt[m]=B+Nt[m-7]+I+Nt[m-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:u,G:h,H:d}=this;for(let m=0;m<64;m++){const _=(0,Ze.rotr)(a,6)^(0,Ze.rotr)(a,11)^(0,Ze.rotr)(a,25),p=d+_+(0,Mi.Chi)(a,u,h)+au[m]+Nt[m]|0,B=((0,Ze.rotr)(n,2)^(0,Ze.rotr)(n,13)^(0,Ze.rotr)(n,22))+(0,Mi.Maj)(n,i,s)|0;d=h,h=u,u=a,a=o+p|0,o=s,s=i,i=n,n=p+B|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,u=u+this.F|0,h=h+this.G|0,d=d+this.H|0,this.set(n,i,s,o,a,u,h,d)}roundClean(){Nt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}St.SHA256=Ns;class cu extends Ns{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}var Ua=St.sha256=(0,Ze.wrapConstructor)(()=>new Ns);St.sha224=(0,Ze.wrapConstructor)(()=>new cu);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.taggedHash=e.TAGGED_HASH_PREFIXES=e.TAGS=e.hash256=e.hash160=e.sha256=e.sha1=e.ripemd160=void 0;const t=Cr,r=Ur,n=St;function i(d){return Buffer.from((0,t.ripemd160)(Uint8Array.from(d)))}e.ripemd160=i;function s(d){return Buffer.from((0,r.sha1)(Uint8Array.from(d)))}e.sha1=s;function o(d){return Buffer.from((0,n.sha256)(Uint8Array.from(d)))}e.sha256=o;function a(d){return Buffer.from((0,t.ripemd160)((0,n.sha256)(Uint8Array.from(d))))}e.hash160=a;function u(d){return Buffer.from((0,n.sha256)((0,n.sha256)(Uint8Array.from(d))))}e.hash256=u,e.TAGS=["BIP0340/challenge","BIP0340/aux","BIP0340/nonce","TapLeaf","TapBranch","TapSighash","TapTweak","KeyAgg list","KeyAgg coefficient"],e.TAGGED_HASH_PREFIXES={"BIP0340/challenge":Buffer.from([123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124,123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124]),"BIP0340/aux":Buffer.from([241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144,241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144]),"BIP0340/nonce":Buffer.from([7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47,7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47]),TapLeaf:Buffer.from([174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238,174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238]),TapBranch:Buffer.from([25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21,25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21]),TapSighash:Buffer.from([244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49,244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49]),TapTweak:Buffer.from([232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233,232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233]),"KeyAgg list":Buffer.from([72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240,72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240]),"KeyAgg coefficient":Buffer.from([191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129,191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129])};function h(d,m){return o(Buffer.concat([e.TAGGED_HASH_PREFIXES[d],m]))}e.taggedHash=h})(Wt);var Di={},At={};Object.defineProperty(At,"__esModule",{value:!0});At.encode=At.decode=At.check=void 0;function fu(e){if(e.length<8||e.length>72||e[0]!==48||e[1]!==e.length-2||e[2]!==2)return!1;const t=e[3];if(t===0||5+t>=e.length||e[4+t]!==2)return!1;const r=e[5+t];return!(r===0||6+t+r!==e.length||e[4]&128||t>1&&e[4]===0&&!(e[5]&128)||e[t+6]&128||r>1&&e[t+6]===0&&!(e[t+7]&128))}At.check=fu;function uu(e){if(e.length<8)throw new Error("DER sequence length is too short");if(e.length>72)throw new Error("DER sequence length is too long");if(e[0]!==48)throw new Error("Expected DER sequence");if(e[1]!==e.length-2)throw new Error("DER sequence length is invalid");if(e[2]!==2)throw new Error("Expected DER integer");const t=e[3];if(t===0)throw new Error("R length is zero");if(5+t>=e.length)throw new Error("R length is too long");if(e[4+t]!==2)throw new Error("Expected DER integer (2)");const r=e[5+t];if(r===0)throw new Error("S length is zero");if(6+t+r!==e.length)throw new Error("S length is invalid");if(e[4]&128)throw new Error("R value is negative");if(t>1&&e[4]===0&&!(e[5]&128))throw new Error("R value excessively padded");if(e[t+6]&128)throw new Error("S value is negative");if(r>1&&e[t+6]===0&&!(e[t+7]&128))throw new Error("S value excessively padded");return{r:e.slice(4,4+t),s:e.slice(6+t)}}At.decode=uu;function lu(e,t){const r=e.length,n=t.length;if(r===0)throw new Error("R length is zero");if(n===0)throw new Error("S length is zero");if(r>33)throw new Error("R length is too long");if(n>33)throw new Error("S length is too long");if(e[0]&128)throw new Error("R value is negative");if(t[0]&128)throw new Error("S value is negative");if(r>1&&e[0]===0&&!(e[1]&128))throw new Error("R value excessively padded");if(n>1&&t[0]===0&&!(t[1]&128))throw new Error("S value excessively padded");const i=Buffer.allocUnsafe(6+r+n);return i[0]=48,i[1]=i.length-2,i[2]=2,i[3]=e.length,e.copy(i,4),i[4+r]=2,i[5+r]=t.length,t.copy(i,6+r),i}At.encode=lu;var or={};Object.defineProperty(or,"__esModule",{value:!0});or.REVERSE_OPS=or.OPS=void 0;const ps={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255};or.OPS=ps;const La={};or.REVERSE_OPS=La;for(const e of Object.keys(ps)){const t=ps[e];La[t]=e}var Vt={};Object.defineProperty(Vt,"__esModule",{value:!0});Vt.decode=Vt.encode=Vt.encodingLength=void 0;const jt=or;function Na(e){return e<jt.OPS.OP_PUSHDATA1?1:e<=255?2:e<=65535?3:5}Vt.encodingLength=Na;function hu(e,t,r){const n=Na(t);return n===1?e.writeUInt8(t,r):n===2?(e.writeUInt8(jt.OPS.OP_PUSHDATA1,r),e.writeUInt8(t,r+1)):n===3?(e.writeUInt8(jt.OPS.OP_PUSHDATA2,r),e.writeUInt16LE(t,r+1)):(e.writeUInt8(jt.OPS.OP_PUSHDATA4,r),e.writeUInt32LE(t,r+1)),n}Vt.encode=hu;function du(e,t){const r=e.readUInt8(t);let n,i;if(r<jt.OPS.OP_PUSHDATA1)n=r,i=1;else if(r===jt.OPS.OP_PUSHDATA1){if(t+2>e.length)return null;n=e.readUInt8(t+1),i=2}else if(r===jt.OPS.OP_PUSHDATA2){if(t+3>e.length)return null;n=e.readUInt16LE(t+1),i=3}else{if(t+5>e.length)return null;if(r!==jt.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=e.readUInt32LE(t+1),i=5}return{opcode:r,number:n,size:i}}Vt.decode=du;var Lr={};Object.defineProperty(Lr,"__esModule",{value:!0});Lr.encode=Lr.decode=void 0;function pu(e,t,r){t=t||4,r=r===void 0?!0:r;const n=e.length;if(n===0)return 0;if(n>t)throw new TypeError("Script number overflow");if(r&&!(e[n-1]&127)&&(n<=1||!(e[n-2]&128)))throw new Error("Non-minimally encoded script number");if(n===5){const s=e.readUInt32LE(0),o=e.readUInt8(4);return o&128?-((o&-129)*4294967296+s):o*4294967296+s}let i=0;for(let s=0;s<n;++s)i|=e[s]<<8*s;return e[n-1]&128?-(i&~(128<<8*(n-1))):i}Lr.decode=pu;function yu(e){return e>2147483647?5:e>8388607?4:e>32767?3:e>127?2:e>0?1:0}function mu(e){let t=Math.abs(e);const r=yu(t),n=Buffer.allocUnsafe(r),i=e<0;for(let s=0;s<r;++s)n.writeUInt8(t&255,s),t>>=8;return n[r-1]&128?n.writeUInt8(i?128:0,r-1):i&&(n[r-1]|=128),n}Lr.encode=mu;var tr={},co;function bu(){if(co)return tr;co=1,Object.defineProperty(tr,"__esModule",{value:!0}),tr.encode=tr.decode=void 0;const e=At,t=Xe(),r=Fe,{typeforce:n}=r,i=Buffer.alloc(1,0);function s(h){let d=0;for(;h[d]===0;)++d;return d===h.length?i:(h=h.slice(d),h[0]&128?Buffer.concat([i,h],1+h.length):h)}function o(h){h[0]===0&&(h=h.slice(1));const d=Buffer.alloc(32,0),m=Math.max(0,32-h.length);return h.copy(d,m),d}function a(h){const d=h.readUInt8(h.length-1);if(!(0,t.isDefinedHashType)(d))throw new Error("Invalid hashType "+d);const m=e.decode(h.slice(0,-1)),_=o(m.r),p=o(m.s);return{signature:Buffer.concat([_,p],64),hashType:d}}tr.decode=a;function u(h,d){if(n({signature:r.BufferN(64),hashType:r.UInt8},{signature:h,hashType:d}),!(0,t.isDefinedHashType)(d))throw new Error("Invalid hashType "+d);const m=Buffer.allocUnsafe(1);m.writeUInt8(d,0);const _=s(h.slice(0,32)),p=s(h.slice(32,64));return Buffer.concat([e.encode(_,p),m])}return tr.encode=u,tr}var fo;function Xe(){return fo||(fo=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.signature=e.number=e.isCanonicalScriptSignature=e.isDefinedHashType=e.isCanonicalPubKey=e.toStack=e.fromASM=e.toASM=e.decompile=e.compile=e.countNonPushOnlyOPs=e.isPushOnly=e.OPS=void 0;const t=At,r=or;Object.defineProperty(e,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=Vt,i=Lr,s=bu(),o=Fe,{typeforce:a}=o,u=r.OPS.OP_RESERVED;function h(O){return o.Number(O)&&(O===r.OPS.OP_0||O>=r.OPS.OP_1&&O<=r.OPS.OP_16||O===r.OPS.OP_1NEGATE)}function d(O){return o.Buffer(O)||h(O)}function m(O){return o.Array(O)&&O.every(d)}e.isPushOnly=m;function _(O){return O.length-O.filter(d).length}e.countNonPushOnlyOPs=_;function p(O){if(O.length===0)return r.OPS.OP_0;if(O.length===1){if(O[0]>=1&&O[0]<=16)return u+O[0];if(O[0]===129)return r.OPS.OP_1NEGATE}}function I(O){return Buffer.isBuffer(O)}function B(O){return o.Array(O)}function T(O){return Buffer.isBuffer(O)}function R(O){if(I(O))return O;a(o.Array,O);const K=O.reduce((G,z)=>T(z)?z.length===1&&p(z)!==void 0?G+1:G+n.encodingLength(z.length)+z.length:G+1,0),C=Buffer.allocUnsafe(K);let j=0;if(O.forEach(G=>{if(T(G)){const z=p(G);if(z!==void 0){C.writeUInt8(z,j),j+=1;return}j+=n.encode(C,G.length,j),G.copy(C,j),j+=G.length}else C.writeUInt8(G,j),j+=1}),j!==C.length)throw new Error("Could not decode chunks");return C}e.compile=R;function U(O){if(B(O))return O;a(o.Buffer,O);const K=[];let C=0;for(;C<O.length;){const j=O[C];if(j>r.OPS.OP_0&&j<=r.OPS.OP_PUSHDATA4){const G=n.decode(O,C);if(G===null||(C+=G.size,C+G.number>O.length))return null;const z=O.slice(C,C+G.number);C+=G.number;const ee=p(z);ee!==void 0?K.push(ee):K.push(z)}else K.push(j),C+=1}return K}e.decompile=U;function x(O){if(I(O)&&(O=U(O)),!O)throw new Error("Could not convert invalid chunks to ASM");return O.map(K=>{if(T(K)){const C=p(K);if(C===void 0)return K.toString("hex");K=C}return r.REVERSE_OPS[K]}).join(" ")}e.toASM=x;function g(O){return a(o.String,O),R(O.split(" ").map(K=>r.OPS[K]!==void 0?r.OPS[K]:(a(o.Hex,K),Buffer.from(K,"hex"))))}e.fromASM=g;function S(O){return O=U(O),a(m,O),O.map(K=>T(K)?K:K===r.OPS.OP_0?Buffer.allocUnsafe(0):i.encode(K-u))}e.toStack=S;function E(O){return o.isPoint(O)}e.isCanonicalPubKey=E;function H(O){const K=O&-129;return K>0&&K<4}e.isDefinedHashType=H;function M(O){return!Buffer.isBuffer(O)||!H(O[O.length-1])?!1:t.check(O.slice(0,-1))}e.isCanonicalScriptSignature=M,e.number=i,e.signature=s}(Di)),Di}Object.defineProperty(_n,"__esModule",{value:!0});_n.Transaction=void 0;const Se=Pe,He=Wt,uo=Xe(),wu=Xe(),te=Fe,{typeforce:st}=te;function ct(e){const t=e.length;return Se.varuint.encodingLength(t)+t}function gu(e){const t=e.length;return Se.varuint.encodingLength(t)+e.reduce((r,n)=>r+ct(n),0)}const $t=Buffer.allocUnsafe(0),$i=[],ji=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),lo=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),_u=Buffer.from("ffffffffffffffff","hex"),vu={script:$t,valueBuffer:_u};function Eu(e){return e.value!==void 0}class J{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(t,r){const n=new Se.BufferReader(t),i=new J;i.version=n.readInt32();const s=n.readUInt8(),o=n.readUInt8();let a=!1;s===J.ADVANCED_TRANSACTION_MARKER&&o===J.ADVANCED_TRANSACTION_FLAG?a=!0:n.offset-=2;const u=n.readVarInt();for(let d=0;d<u;++d)i.ins.push({hash:n.readSlice(32),index:n.readUInt32(),script:n.readVarSlice(),sequence:n.readUInt32(),witness:$i});const h=n.readVarInt();for(let d=0;d<h;++d)i.outs.push({value:n.readUInt64(),script:n.readVarSlice()});if(a){for(let d=0;d<u;++d)i.ins[d].witness=n.readVector();if(!i.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(i.locktime=n.readUInt32(),r)return i;if(n.offset!==t.length)throw new Error("Transaction has unexpected data");return i}static fromHex(t){return J.fromBuffer(Buffer.from(t,"hex"),!1)}static isCoinbaseHash(t){st(te.Hash256bit,t);for(let r=0;r<32;++r)if(t[r]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&J.isCoinbaseHash(this.ins[0].hash)}addInput(t,r,n,i){return st(te.tuple(te.Hash256bit,te.UInt32,te.maybe(te.UInt32),te.maybe(te.Buffer)),arguments),te.Null(n)&&(n=J.DEFAULT_SEQUENCE),this.ins.push({hash:t,index:r,script:i||$t,sequence:n,witness:$i})-1}addOutput(t,r){return st(te.tuple(te.Buffer,te.Satoshi),arguments),this.outs.push({script:t,value:r})-1}hasWitnesses(){return this.ins.some(t=>t.witness.length!==0)}stripWitnesses(){this.ins.forEach(t=>{t.witness=$i})}weight(){const t=this.byteLength(!1),r=this.byteLength(!0);return t*3+r}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(t=!0){const r=t&&this.hasWitnesses();return(r?10:8)+Se.varuint.encodingLength(this.ins.length)+Se.varuint.encodingLength(this.outs.length)+this.ins.reduce((n,i)=>n+40+ct(i.script),0)+this.outs.reduce((n,i)=>n+8+ct(i.script),0)+(r?this.ins.reduce((n,i)=>n+gu(i.witness),0):0)}clone(){const t=new J;return t.version=this.version,t.locktime=this.locktime,t.ins=this.ins.map(r=>({hash:r.hash,index:r.index,script:r.script,sequence:r.sequence,witness:r.witness})),t.outs=this.outs.map(r=>({script:r.script,value:r.value})),t}hashForSignature(t,r,n){if(st(te.tuple(te.UInt32,te.Buffer,te.Number),arguments),t>=this.ins.length)return lo;const i=uo.compile(uo.decompile(r).filter(a=>a!==wu.OPS.OP_CODESEPARATOR)),s=this.clone();if((n&31)===J.SIGHASH_NONE)s.outs=[],s.ins.forEach((a,u)=>{u!==t&&(a.sequence=0)});else if((n&31)===J.SIGHASH_SINGLE){if(t>=this.outs.length)return lo;s.outs.length=t+1;for(let a=0;a<t;a++)s.outs[a]=vu;s.ins.forEach((a,u)=>{u!==t&&(a.sequence=0)})}n&J.SIGHASH_ANYONECANPAY?(s.ins=[s.ins[t]],s.ins[0].script=i):(s.ins.forEach(a=>{a.script=$t}),s.ins[t].script=i);const o=Buffer.allocUnsafe(s.byteLength(!1)+4);return o.writeInt32LE(n,o.length-4),s.__toBuffer(o,0,!1),He.hash256(o)}hashForWitnessV1(t,r,n,i,s,o){if(st(te.tuple(te.UInt32,st.arrayOf(te.Buffer),st.arrayOf(te.Satoshi),te.UInt32),arguments),n.length!==this.ins.length||r.length!==this.ins.length)throw new Error("Must supply prevout script and value for all inputs");const a=i===J.SIGHASH_DEFAULT?J.SIGHASH_ALL:i&J.SIGHASH_OUTPUT_MASK,h=(i&J.SIGHASH_INPUT_MASK)===J.SIGHASH_ANYONECANPAY,d=a===J.SIGHASH_NONE,m=a===J.SIGHASH_SINGLE;let _=$t,p=$t,I=$t,B=$t,T=$t;if(!h){let g=Se.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(S=>{g.writeSlice(S.hash),g.writeUInt32(S.index)}),_=He.sha256(g.end()),g=Se.BufferWriter.withCapacity(8*this.ins.length),n.forEach(S=>g.writeUInt64(S)),p=He.sha256(g.end()),g=Se.BufferWriter.withCapacity(r.map(ct).reduce((S,E)=>S+E)),r.forEach(S=>g.writeVarSlice(S)),I=He.sha256(g.end()),g=Se.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(S=>g.writeUInt32(S.sequence)),B=He.sha256(g.end())}if(d||m){if(m&&t<this.outs.length){const g=this.outs[t],S=Se.BufferWriter.withCapacity(8+ct(g.script));S.writeUInt64(g.value),S.writeVarSlice(g.script),T=He.sha256(S.end())}}else{const g=this.outs.map(E=>8+ct(E.script)).reduce((E,H)=>E+H),S=Se.BufferWriter.withCapacity(g);this.outs.forEach(E=>{S.writeUInt64(E.value),S.writeVarSlice(E.script)}),T=He.sha256(S.end())}const R=(s?2:0)+(o?1:0),U=174-(h?49:0)-(d?32:0)+(o?32:0)+(s?37:0),x=Se.BufferWriter.withCapacity(U);if(x.writeUInt8(i),x.writeInt32(this.version),x.writeUInt32(this.locktime),x.writeSlice(_),x.writeSlice(p),x.writeSlice(I),x.writeSlice(B),d||m||x.writeSlice(T),x.writeUInt8(R),h){const g=this.ins[t];x.writeSlice(g.hash),x.writeUInt32(g.index),x.writeUInt64(n[t]),x.writeVarSlice(r[t]),x.writeUInt32(g.sequence)}else x.writeUInt32(t);if(o){const g=Se.BufferWriter.withCapacity(ct(o));g.writeVarSlice(o),x.writeSlice(He.sha256(g.end()))}return m&&x.writeSlice(T),s&&(x.writeSlice(s),x.writeUInt8(0),x.writeUInt32(4294967295)),He.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),x.end()]))}hashForWitnessV0(t,r,n,i){st(te.tuple(te.UInt32,te.Buffer,te.Satoshi,te.UInt32),arguments);let s=Buffer.from([]),o,a=ji,u=ji,h=ji;if(i&J.SIGHASH_ANYONECANPAY||(s=Buffer.allocUnsafe(36*this.ins.length),o=new Se.BufferWriter(s,0),this.ins.forEach(m=>{o.writeSlice(m.hash),o.writeUInt32(m.index)}),u=He.hash256(s)),!(i&J.SIGHASH_ANYONECANPAY)&&(i&31)!==J.SIGHASH_SINGLE&&(i&31)!==J.SIGHASH_NONE&&(s=Buffer.allocUnsafe(4*this.ins.length),o=new Se.BufferWriter(s,0),this.ins.forEach(m=>{o.writeUInt32(m.sequence)}),h=He.hash256(s)),(i&31)!==J.SIGHASH_SINGLE&&(i&31)!==J.SIGHASH_NONE){const m=this.outs.reduce((_,p)=>_+8+ct(p.script),0);s=Buffer.allocUnsafe(m),o=new Se.BufferWriter(s,0),this.outs.forEach(_=>{o.writeUInt64(_.value),o.writeVarSlice(_.script)}),a=He.hash256(s)}else if((i&31)===J.SIGHASH_SINGLE&&t<this.outs.length){const m=this.outs[t];s=Buffer.allocUnsafe(8+ct(m.script)),o=new Se.BufferWriter(s,0),o.writeUInt64(m.value),o.writeVarSlice(m.script),a=He.hash256(s)}s=Buffer.allocUnsafe(156+ct(r)),o=new Se.BufferWriter(s,0);const d=this.ins[t];return o.writeInt32(this.version),o.writeSlice(u),o.writeSlice(h),o.writeSlice(d.hash),o.writeUInt32(d.index),o.writeVarSlice(r),o.writeUInt64(n),o.writeUInt32(d.sequence),o.writeSlice(a),o.writeUInt32(this.locktime),o.writeUInt32(i),He.hash256(s)}getHash(t){return t&&this.isCoinbase()?Buffer.alloc(32,0):He.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return(0,Se.reverseBuffer)(this.getHash(!1)).toString("hex")}toBuffer(t,r){return this.__toBuffer(t,r,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(t,r){st(te.tuple(te.Number,te.Buffer),arguments),this.ins[t].script=r}setWitness(t,r){st(te.tuple(te.Number,[te.Buffer]),arguments),this.ins[t].witness=r}__toBuffer(t,r,n=!1){t||(t=Buffer.allocUnsafe(this.byteLength(n)));const i=new Se.BufferWriter(t,r||0);i.writeInt32(this.version);const s=n&&this.hasWitnesses();return s&&(i.writeUInt8(J.ADVANCED_TRANSACTION_MARKER),i.writeUInt8(J.ADVANCED_TRANSACTION_FLAG)),i.writeVarInt(this.ins.length),this.ins.forEach(o=>{i.writeSlice(o.hash),i.writeUInt32(o.index),i.writeVarSlice(o.script),i.writeUInt32(o.sequence)}),i.writeVarInt(this.outs.length),this.outs.forEach(o=>{Eu(o)?i.writeUInt64(o.value):i.writeSlice(o.valueBuffer),i.writeVarSlice(o.script)}),s&&this.ins.forEach(o=>{i.writeVector(o.witness)}),i.writeUInt32(this.locktime),r!==void 0?t.slice(r,i.offset):t}}_n.Transaction=J;J.DEFAULT_SEQUENCE=4294967295;J.SIGHASH_DEFAULT=0;J.SIGHASH_ALL=1;J.SIGHASH_NONE=2;J.SIGHASH_SINGLE=3;J.SIGHASH_ANYONECANPAY=128;J.SIGHASH_OUTPUT_MASK=3;J.SIGHASH_INPUT_MASK=128;J.ADVANCED_TRANSACTION_MARKER=0;J.ADVANCED_TRANSACTION_FLAG=1;var ae={},En={};Object.defineProperty(En,"__esModule",{value:!0});const xu=9007199254740991;function Fs(e){if(e<0||e>xu||e%1!==0)throw new RangeError("value out of range")}function cn(e,t,r){if(Fs(e),t||(t=Buffer.allocUnsafe(Fa(e))),!Buffer.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");return r||(r=0),e<253?(t.writeUInt8(e,r),Object.assign(cn,{bytes:1})):e<=65535?(t.writeUInt8(253,r),t.writeUInt16LE(e,r+1),Object.assign(cn,{bytes:3})):e<=4294967295?(t.writeUInt8(254,r),t.writeUInt32LE(e,r+1),Object.assign(cn,{bytes:5})):(t.writeUInt8(255,r),t.writeUInt32LE(e>>>0,r+1),t.writeUInt32LE(e/4294967296|0,r+5),Object.assign(cn,{bytes:9})),t}En.encode=cn;function fn(e,t){if(!Buffer.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");t||(t=0);const r=e.readUInt8(t);if(r<253)return Object.assign(fn,{bytes:1}),r;if(r===253)return Object.assign(fn,{bytes:3}),e.readUInt16LE(t+1);if(r===254)return Object.assign(fn,{bytes:5}),e.readUInt32LE(t+1);{Object.assign(fn,{bytes:9});const n=e.readUInt32LE(t+1),s=e.readUInt32LE(t+5)*4294967296+n;return Fs(s),s}}En.decode=fn;function Fa(e){return Fs(e),e<253?1:e<=65535?3:e<=4294967295?5:9}En.encodingLength=Fa;var Gi={},ui={},Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.testnet=Ne.regtest=Ne.bitcoin=void 0;Ne.bitcoin={messagePrefix:`Bitcoin Signed Message:
6
+ */(function(e){const t=ci,r=Is,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=a,e.SlowBuffer=U,e.INSPECT_MAX_BYTES=50;const i=2147483647;e.kMaxLength=i,a.TYPED_ARRAY_SUPPORT=s(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{const l=new Uint8Array(1),c={foo:function(){return 42}};return Object.setPrototypeOf(c,Uint8Array.prototype),Object.setPrototypeOf(l,c),l.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function o(l){if(l>i)throw new RangeError('The value "'+l+'" is invalid for option "size"');const c=new Uint8Array(l);return Object.setPrototypeOf(c,a.prototype),c}function a(l,c,f){if(typeof l=="number"){if(typeof c=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return m(l)}return u(l,c,f)}a.poolSize=8192;function u(l,c,f){if(typeof l=="string")return _(l,c);if(ArrayBuffer.isView(l))return I(l);if(l==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof l);if(Ke(l,ArrayBuffer)||l&&Ke(l.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ke(l,SharedArrayBuffer)||l&&Ke(l.buffer,SharedArrayBuffer)))return B(l,c,f);if(typeof l=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const y=l.valueOf&&l.valueOf();if(y!=null&&y!==l)return a.from(y,c,f);const v=T(l);if(v)return v;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof l[Symbol.toPrimitive]=="function")return a.from(l[Symbol.toPrimitive]("string"),c,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof l)}a.from=function(l,c,f){return u(l,c,f)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function h(l){if(typeof l!="number")throw new TypeError('"size" argument must be of type number');if(l<0)throw new RangeError('The value "'+l+'" is invalid for option "size"')}function d(l,c,f){return h(l),l<=0?o(l):c!==void 0?typeof f=="string"?o(l).fill(c,f):o(l).fill(c):o(l)}a.alloc=function(l,c,f){return d(l,c,f)};function m(l){return h(l),o(l<0?0:R(l)|0)}a.allocUnsafe=function(l){return m(l)},a.allocUnsafeSlow=function(l){return m(l)};function _(l,c){if((typeof c!="string"||c==="")&&(c="utf8"),!a.isEncoding(c))throw new TypeError("Unknown encoding: "+c);const f=x(l,c)|0;let y=o(f);const v=y.write(l,c);return v!==f&&(y=y.slice(0,v)),y}function p(l){const c=l.length<0?0:R(l.length)|0,f=o(c);for(let y=0;y<c;y+=1)f[y]=l[y]&255;return f}function I(l){if(Ke(l,Uint8Array)){const c=new Uint8Array(l);return B(c.buffer,c.byteOffset,c.byteLength)}return p(l)}function B(l,c,f){if(c<0||l.byteLength<c)throw new RangeError('"offset" is outside of buffer bounds');if(l.byteLength<c+(f||0))throw new RangeError('"length" is outside of buffer bounds');let y;return c===void 0&&f===void 0?y=new Uint8Array(l):f===void 0?y=new Uint8Array(l,c):y=new Uint8Array(l,c,f),Object.setPrototypeOf(y,a.prototype),y}function T(l){if(a.isBuffer(l)){const c=R(l.length)|0,f=o(c);return f.length===0||l.copy(f,0,0,c),f}if(l.length!==void 0)return typeof l.length!="number"||Qt(l.length)?o(0):p(l);if(l.type==="Buffer"&&Array.isArray(l.data))return p(l.data)}function R(l){if(l>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return l|0}function U(l){return+l!=l&&(l=0),a.alloc(+l)}a.isBuffer=function(c){return c!=null&&c._isBuffer===!0&&c!==a.prototype},a.compare=function(c,f){if(Ke(c,Uint8Array)&&(c=a.from(c,c.offset,c.byteLength)),Ke(f,Uint8Array)&&(f=a.from(f,f.offset,f.byteLength)),!a.isBuffer(c)||!a.isBuffer(f))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(c===f)return 0;let y=c.length,v=f.length;for(let P=0,L=Math.min(y,v);P<L;++P)if(c[P]!==f[P]){y=c[P],v=f[P];break}return y<v?-1:v<y?1:0},a.isEncoding=function(c){switch(String(c).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(c,f){if(!Array.isArray(c))throw new TypeError('"list" argument must be an Array of Buffers');if(c.length===0)return a.alloc(0);let y;if(f===void 0)for(f=0,y=0;y<c.length;++y)f+=c[y].length;const v=a.allocUnsafe(f);let P=0;for(y=0;y<c.length;++y){let L=c[y];if(Ke(L,Uint8Array))P+L.length>v.length?(a.isBuffer(L)||(L=a.from(L)),L.copy(v,P)):Uint8Array.prototype.set.call(v,L,P);else if(a.isBuffer(L))L.copy(v,P);else throw new TypeError('"list" argument must be an Array of Buffers');P+=L.length}return v};function x(l,c){if(a.isBuffer(l))return l.length;if(ArrayBuffer.isView(l)||Ke(l,ArrayBuffer))return l.byteLength;if(typeof l!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof l);const f=l.length,y=arguments.length>2&&arguments[2]===!0;if(!y&&f===0)return 0;let v=!1;for(;;)switch(c){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return re(l).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return f*2;case"hex":return f>>>1;case"base64":return Gr(l).length;default:if(v)return y?-1:re(l).length;c=(""+c).toLowerCase(),v=!0}}a.byteLength=x;function g(l,c,f){let y=!1;if((c===void 0||c<0)&&(c=0),c>this.length||((f===void 0||f>this.length)&&(f=this.length),f<=0)||(f>>>=0,c>>>=0,f<=c))return"";for(l||(l="utf8");;)switch(l){case"hex":return qe(this,c,f);case"utf8":case"utf-8":return V(this,c,f);case"ascii":return ze(this,c,f);case"latin1":case"binary":return rt(this,c,f);case"base64":return G(this,c,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ot(this,c,f);default:if(y)throw new TypeError("Unknown encoding: "+l);l=(l+"").toLowerCase(),y=!0}}a.prototype._isBuffer=!0;function S(l,c,f){const y=l[c];l[c]=l[f],l[f]=y}a.prototype.swap16=function(){const c=this.length;if(c%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let f=0;f<c;f+=2)S(this,f,f+1);return this},a.prototype.swap32=function(){const c=this.length;if(c%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let f=0;f<c;f+=4)S(this,f,f+3),S(this,f+1,f+2);return this},a.prototype.swap64=function(){const c=this.length;if(c%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let f=0;f<c;f+=8)S(this,f,f+7),S(this,f+1,f+6),S(this,f+2,f+5),S(this,f+3,f+4);return this},a.prototype.toString=function(){const c=this.length;return c===0?"":arguments.length===0?V(this,0,c):g.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(c){if(!a.isBuffer(c))throw new TypeError("Argument must be a Buffer");return this===c?!0:a.compare(this,c)===0},a.prototype.inspect=function(){let c="";const f=e.INSPECT_MAX_BYTES;return c=this.toString("hex",0,f).replace(/(.{2})/g,"$1 ").trim(),this.length>f&&(c+=" ... "),"<Buffer "+c+">"},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(c,f,y,v,P){if(Ke(c,Uint8Array)&&(c=a.from(c,c.offset,c.byteLength)),!a.isBuffer(c))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof c);if(f===void 0&&(f=0),y===void 0&&(y=c?c.length:0),v===void 0&&(v=0),P===void 0&&(P=this.length),f<0||y>c.length||v<0||P>this.length)throw new RangeError("out of range index");if(v>=P&&f>=y)return 0;if(v>=P)return-1;if(f>=y)return 1;if(f>>>=0,y>>>=0,v>>>=0,P>>>=0,this===c)return 0;let L=P-v,Z=y-f;const ge=Math.min(L,Z),ye=this.slice(v,P),_e=c.slice(f,y);for(let oe=0;oe<ge;++oe)if(ye[oe]!==_e[oe]){L=ye[oe],Z=_e[oe];break}return L<Z?-1:Z<L?1:0};function E(l,c,f,y,v){if(l.length===0)return-1;if(typeof f=="string"?(y=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),f=+f,Qt(f)&&(f=v?0:l.length-1),f<0&&(f=l.length+f),f>=l.length){if(v)return-1;f=l.length-1}else if(f<0)if(v)f=0;else return-1;if(typeof c=="string"&&(c=a.from(c,y)),a.isBuffer(c))return c.length===0?-1:H(l,c,f,y,v);if(typeof c=="number")return c=c&255,typeof Uint8Array.prototype.indexOf=="function"?v?Uint8Array.prototype.indexOf.call(l,c,f):Uint8Array.prototype.lastIndexOf.call(l,c,f):H(l,[c],f,y,v);throw new TypeError("val must be string, number or Buffer")}function H(l,c,f,y,v){let P=1,L=l.length,Z=c.length;if(y!==void 0&&(y=String(y).toLowerCase(),y==="ucs2"||y==="ucs-2"||y==="utf16le"||y==="utf-16le")){if(l.length<2||c.length<2)return-1;P=2,L/=2,Z/=2,f/=2}function ge(_e,oe){return P===1?_e[oe]:_e.readUInt16BE(oe*P)}let ye;if(v){let _e=-1;for(ye=f;ye<L;ye++)if(ge(l,ye)===ge(c,_e===-1?0:ye-_e)){if(_e===-1&&(_e=ye),ye-_e+1===Z)return _e*P}else _e!==-1&&(ye-=ye-_e),_e=-1}else for(f+Z>L&&(f=L-Z),ye=f;ye>=0;ye--){let _e=!0;for(let oe=0;oe<Z;oe++)if(ge(l,ye+oe)!==ge(c,oe)){_e=!1;break}if(_e)return ye}return-1}a.prototype.includes=function(c,f,y){return this.indexOf(c,f,y)!==-1},a.prototype.indexOf=function(c,f,y){return E(this,c,f,y,!0)},a.prototype.lastIndexOf=function(c,f,y){return E(this,c,f,y,!1)};function M(l,c,f,y){f=Number(f)||0;const v=l.length-f;y?(y=Number(y),y>v&&(y=v)):y=v;const P=c.length;y>P/2&&(y=P/2);let L;for(L=0;L<y;++L){const Z=parseInt(c.substr(L*2,2),16);if(Qt(Z))return L;l[f+L]=Z}return L}function O(l,c,f,y){return wr(re(c,l.length-f),l,f,y)}function K(l,c,f,y){return wr(Ct(c),l,f,y)}function C(l,c,f,y){return wr(Gr(c),l,f,y)}function j(l,c,f,y){return wr(br(c,l.length-f),l,f,y)}a.prototype.write=function(c,f,y,v){if(f===void 0)v="utf8",y=this.length,f=0;else if(y===void 0&&typeof f=="string")v=f,y=this.length,f=0;else if(isFinite(f))f=f>>>0,isFinite(y)?(y=y>>>0,v===void 0&&(v="utf8")):(v=y,y=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const P=this.length-f;if((y===void 0||y>P)&&(y=P),c.length>0&&(y<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");v||(v="utf8");let L=!1;for(;;)switch(v){case"hex":return M(this,c,f,y);case"utf8":case"utf-8":return O(this,c,f,y);case"ascii":case"latin1":case"binary":return K(this,c,f,y);case"base64":return C(this,c,f,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,c,f,y);default:if(L)throw new TypeError("Unknown encoding: "+v);v=(""+v).toLowerCase(),L=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function G(l,c,f){return c===0&&f===l.length?t.fromByteArray(l):t.fromByteArray(l.slice(c,f))}function V(l,c,f){f=Math.min(l.length,f);const y=[];let v=c;for(;v<f;){const P=l[v];let L=null,Z=P>239?4:P>223?3:P>191?2:1;if(v+Z<=f){let ge,ye,_e,oe;switch(Z){case 1:P<128&&(L=P);break;case 2:ge=l[v+1],(ge&192)===128&&(oe=(P&31)<<6|ge&63,oe>127&&(L=oe));break;case 3:ge=l[v+1],ye=l[v+2],(ge&192)===128&&(ye&192)===128&&(oe=(P&15)<<12|(ge&63)<<6|ye&63,oe>2047&&(oe<55296||oe>57343)&&(L=oe));break;case 4:ge=l[v+1],ye=l[v+2],_e=l[v+3],(ge&192)===128&&(ye&192)===128&&(_e&192)===128&&(oe=(P&15)<<18|(ge&63)<<12|(ye&63)<<6|_e&63,oe>65535&&oe<1114112&&(L=oe))}}L===null?(L=65533,Z=1):L>65535&&(L-=65536,y.push(L>>>10&1023|55296),L=56320|L&1023),y.push(L),v+=Z}return ve(y)}const ee=4096;function ve(l){const c=l.length;if(c<=ee)return String.fromCharCode.apply(String,l);let f="",y=0;for(;y<c;)f+=String.fromCharCode.apply(String,l.slice(y,y+=ee));return f}function ze(l,c,f){let y="";f=Math.min(l.length,f);for(let v=c;v<f;++v)y+=String.fromCharCode(l[v]&127);return y}function rt(l,c,f){let y="";f=Math.min(l.length,f);for(let v=c;v<f;++v)y+=String.fromCharCode(l[v]);return y}function qe(l,c,f){const y=l.length;(!c||c<0)&&(c=0),(!f||f<0||f>y)&&(f=y);let v="";for(let P=c;P<f;++P)v+=Vr[l[P]];return v}function Ot(l,c,f){const y=l.slice(c,f);let v="";for(let P=0;P<y.length-1;P+=2)v+=String.fromCharCode(y[P]+y[P+1]*256);return v}a.prototype.slice=function(c,f){const y=this.length;c=~~c,f=f===void 0?y:~~f,c<0?(c+=y,c<0&&(c=0)):c>y&&(c=y),f<0?(f+=y,f<0&&(f=0)):f>y&&(f=y),f<c&&(f=c);const v=this.subarray(c,f);return Object.setPrototypeOf(v,a.prototype),v};function de(l,c,f){if(l%1!==0||l<0)throw new RangeError("offset is not uint");if(l+c>f)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(c,f,y){c=c>>>0,f=f>>>0,y||de(c,f,this.length);let v=this[c],P=1,L=0;for(;++L<f&&(P*=256);)v+=this[c+L]*P;return v},a.prototype.readUintBE=a.prototype.readUIntBE=function(c,f,y){c=c>>>0,f=f>>>0,y||de(c,f,this.length);let v=this[c+--f],P=1;for(;f>0&&(P*=256);)v+=this[c+--f]*P;return v},a.prototype.readUint8=a.prototype.readUInt8=function(c,f){return c=c>>>0,f||de(c,1,this.length),this[c]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(c,f){return c=c>>>0,f||de(c,2,this.length),this[c]|this[c+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(c,f){return c=c>>>0,f||de(c,2,this.length),this[c]<<8|this[c+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(c,f){return c=c>>>0,f||de(c,4,this.length),(this[c]|this[c+1]<<8|this[c+2]<<16)+this[c+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(c,f){return c=c>>>0,f||de(c,4,this.length),this[c]*16777216+(this[c+1]<<16|this[c+2]<<8|this[c+3])},a.prototype.readBigUInt64LE=Je(function(c){c=c>>>0,N(c,"offset");const f=this[c],y=this[c+7];(f===void 0||y===void 0)&&D(c,this.length-8);const v=f+this[++c]*2**8+this[++c]*2**16+this[++c]*2**24,P=this[++c]+this[++c]*2**8+this[++c]*2**16+y*2**24;return BigInt(v)+(BigInt(P)<<BigInt(32))}),a.prototype.readBigUInt64BE=Je(function(c){c=c>>>0,N(c,"offset");const f=this[c],y=this[c+7];(f===void 0||y===void 0)&&D(c,this.length-8);const v=f*2**24+this[++c]*2**16+this[++c]*2**8+this[++c],P=this[++c]*2**24+this[++c]*2**16+this[++c]*2**8+y;return(BigInt(v)<<BigInt(32))+BigInt(P)}),a.prototype.readIntLE=function(c,f,y){c=c>>>0,f=f>>>0,y||de(c,f,this.length);let v=this[c],P=1,L=0;for(;++L<f&&(P*=256);)v+=this[c+L]*P;return P*=128,v>=P&&(v-=Math.pow(2,8*f)),v},a.prototype.readIntBE=function(c,f,y){c=c>>>0,f=f>>>0,y||de(c,f,this.length);let v=f,P=1,L=this[c+--v];for(;v>0&&(P*=256);)L+=this[c+--v]*P;return P*=128,L>=P&&(L-=Math.pow(2,8*f)),L},a.prototype.readInt8=function(c,f){return c=c>>>0,f||de(c,1,this.length),this[c]&128?(255-this[c]+1)*-1:this[c]},a.prototype.readInt16LE=function(c,f){c=c>>>0,f||de(c,2,this.length);const y=this[c]|this[c+1]<<8;return y&32768?y|4294901760:y},a.prototype.readInt16BE=function(c,f){c=c>>>0,f||de(c,2,this.length);const y=this[c+1]|this[c]<<8;return y&32768?y|4294901760:y},a.prototype.readInt32LE=function(c,f){return c=c>>>0,f||de(c,4,this.length),this[c]|this[c+1]<<8|this[c+2]<<16|this[c+3]<<24},a.prototype.readInt32BE=function(c,f){return c=c>>>0,f||de(c,4,this.length),this[c]<<24|this[c+1]<<16|this[c+2]<<8|this[c+3]},a.prototype.readBigInt64LE=Je(function(c){c=c>>>0,N(c,"offset");const f=this[c],y=this[c+7];(f===void 0||y===void 0)&&D(c,this.length-8);const v=this[c+4]+this[c+5]*2**8+this[c+6]*2**16+(y<<24);return(BigInt(v)<<BigInt(32))+BigInt(f+this[++c]*2**8+this[++c]*2**16+this[++c]*2**24)}),a.prototype.readBigInt64BE=Je(function(c){c=c>>>0,N(c,"offset");const f=this[c],y=this[c+7];(f===void 0||y===void 0)&&D(c,this.length-8);const v=(f<<24)+this[++c]*2**16+this[++c]*2**8+this[++c];return(BigInt(v)<<BigInt(32))+BigInt(this[++c]*2**24+this[++c]*2**16+this[++c]*2**8+y)}),a.prototype.readFloatLE=function(c,f){return c=c>>>0,f||de(c,4,this.length),r.read(this,c,!0,23,4)},a.prototype.readFloatBE=function(c,f){return c=c>>>0,f||de(c,4,this.length),r.read(this,c,!1,23,4)},a.prototype.readDoubleLE=function(c,f){return c=c>>>0,f||de(c,8,this.length),r.read(this,c,!0,52,8)},a.prototype.readDoubleBE=function(c,f){return c=c>>>0,f||de(c,8,this.length),r.read(this,c,!1,52,8)};function Ee(l,c,f,y,v,P){if(!a.isBuffer(l))throw new TypeError('"buffer" argument must be a Buffer instance');if(c>v||c<P)throw new RangeError('"value" argument is out of bounds');if(f+y>l.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(c,f,y,v){if(c=+c,f=f>>>0,y=y>>>0,!v){const Z=Math.pow(2,8*y)-1;Ee(this,c,f,y,Z,0)}let P=1,L=0;for(this[f]=c&255;++L<y&&(P*=256);)this[f+L]=c/P&255;return f+y},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(c,f,y,v){if(c=+c,f=f>>>0,y=y>>>0,!v){const Z=Math.pow(2,8*y)-1;Ee(this,c,f,y,Z,0)}let P=y-1,L=1;for(this[f+P]=c&255;--P>=0&&(L*=256);)this[f+P]=c/L&255;return f+y},a.prototype.writeUint8=a.prototype.writeUInt8=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,1,255,0),this[f]=c&255,f+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,2,65535,0),this[f]=c&255,this[f+1]=c>>>8,f+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,2,65535,0),this[f]=c>>>8,this[f+1]=c&255,f+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,4,4294967295,0),this[f+3]=c>>>24,this[f+2]=c>>>16,this[f+1]=c>>>8,this[f]=c&255,f+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,4,4294967295,0),this[f]=c>>>24,this[f+1]=c>>>16,this[f+2]=c>>>8,this[f+3]=c&255,f+4};function We(l,c,f,y,v){w(c,y,v,l,f,7);let P=Number(c&BigInt(4294967295));l[f++]=P,P=P>>8,l[f++]=P,P=P>>8,l[f++]=P,P=P>>8,l[f++]=P;let L=Number(c>>BigInt(32)&BigInt(4294967295));return l[f++]=L,L=L>>8,l[f++]=L,L=L>>8,l[f++]=L,L=L>>8,l[f++]=L,f}function Rt(l,c,f,y,v){w(c,y,v,l,f,7);let P=Number(c&BigInt(4294967295));l[f+7]=P,P=P>>8,l[f+6]=P,P=P>>8,l[f+5]=P,P=P>>8,l[f+4]=P;let L=Number(c>>BigInt(32)&BigInt(4294967295));return l[f+3]=L,L=L>>8,l[f+2]=L,L=L>>8,l[f+1]=L,L=L>>8,l[f]=L,f+8}a.prototype.writeBigUInt64LE=Je(function(c,f=0){return We(this,c,f,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Je(function(c,f=0){return Rt(this,c,f,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(c,f,y,v){if(c=+c,f=f>>>0,!v){const ge=Math.pow(2,8*y-1);Ee(this,c,f,y,ge-1,-ge)}let P=0,L=1,Z=0;for(this[f]=c&255;++P<y&&(L*=256);)c<0&&Z===0&&this[f+P-1]!==0&&(Z=1),this[f+P]=(c/L>>0)-Z&255;return f+y},a.prototype.writeIntBE=function(c,f,y,v){if(c=+c,f=f>>>0,!v){const ge=Math.pow(2,8*y-1);Ee(this,c,f,y,ge-1,-ge)}let P=y-1,L=1,Z=0;for(this[f+P]=c&255;--P>=0&&(L*=256);)c<0&&Z===0&&this[f+P+1]!==0&&(Z=1),this[f+P]=(c/L>>0)-Z&255;return f+y},a.prototype.writeInt8=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,1,127,-128),c<0&&(c=255+c+1),this[f]=c&255,f+1},a.prototype.writeInt16LE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,2,32767,-32768),this[f]=c&255,this[f+1]=c>>>8,f+2},a.prototype.writeInt16BE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,2,32767,-32768),this[f]=c>>>8,this[f+1]=c&255,f+2},a.prototype.writeInt32LE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,4,2147483647,-2147483648),this[f]=c&255,this[f+1]=c>>>8,this[f+2]=c>>>16,this[f+3]=c>>>24,f+4},a.prototype.writeInt32BE=function(c,f,y){return c=+c,f=f>>>0,y||Ee(this,c,f,4,2147483647,-2147483648),c<0&&(c=4294967295+c+1),this[f]=c>>>24,this[f+1]=c>>>16,this[f+2]=c>>>8,this[f+3]=c&255,f+4},a.prototype.writeBigInt64LE=Je(function(c,f=0){return We(this,c,f,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Je(function(c,f=0){return Rt(this,c,f,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function pt(l,c,f,y,v,P){if(f+y>l.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function k(l,c,f,y,v){return c=+c,f=f>>>0,v||pt(l,c,f,4),r.write(l,c,f,y,23,4),f+4}a.prototype.writeFloatLE=function(c,f,y){return k(this,c,f,!0,y)},a.prototype.writeFloatBE=function(c,f,y){return k(this,c,f,!1,y)};function A(l,c,f,y,v){return c=+c,f=f>>>0,v||pt(l,c,f,8),r.write(l,c,f,y,52,8),f+8}a.prototype.writeDoubleLE=function(c,f,y){return A(this,c,f,!0,y)},a.prototype.writeDoubleBE=function(c,f,y){return A(this,c,f,!1,y)},a.prototype.copy=function(c,f,y,v){if(!a.isBuffer(c))throw new TypeError("argument should be a Buffer");if(y||(y=0),!v&&v!==0&&(v=this.length),f>=c.length&&(f=c.length),f||(f=0),v>0&&v<y&&(v=y),v===y||c.length===0||this.length===0)return 0;if(f<0)throw new RangeError("targetStart out of bounds");if(y<0||y>=this.length)throw new RangeError("Index out of range");if(v<0)throw new RangeError("sourceEnd out of bounds");v>this.length&&(v=this.length),c.length-f<v-y&&(v=c.length-f+y);const P=v-y;return this===c&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(f,y,v):Uint8Array.prototype.set.call(c,this.subarray(y,v),f),P},a.prototype.fill=function(c,f,y,v){if(typeof c=="string"){if(typeof f=="string"?(v=f,f=0,y=this.length):typeof y=="string"&&(v=y,y=this.length),v!==void 0&&typeof v!="string")throw new TypeError("encoding must be a string");if(typeof v=="string"&&!a.isEncoding(v))throw new TypeError("Unknown encoding: "+v);if(c.length===1){const L=c.charCodeAt(0);(v==="utf8"&&L<128||v==="latin1")&&(c=L)}}else typeof c=="number"?c=c&255:typeof c=="boolean"&&(c=Number(c));if(f<0||this.length<f||this.length<y)throw new RangeError("Out of range index");if(y<=f)return this;f=f>>>0,y=y===void 0?this.length:y>>>0,c||(c=0);let P;if(typeof c=="number")for(P=f;P<y;++P)this[P]=c;else{const L=a.isBuffer(c)?c:a.from(c,v),Z=L.length;if(Z===0)throw new TypeError('The value "'+c+'" is invalid for argument "value"');for(P=0;P<y-f;++P)this[P+f]=L[P%Z]}return this};const F={};function q(l,c,f){F[l]=class extends f{constructor(){super(),Object.defineProperty(this,"message",{value:c.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${l}]`,this.stack,delete this.name}get code(){return l}set code(v){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:v,writable:!0})}toString(){return`${this.name} [${l}]: ${this.message}`}}}q("ERR_BUFFER_OUT_OF_BOUNDS",function(l){return l?`${l} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),q("ERR_INVALID_ARG_TYPE",function(l,c){return`The "${l}" argument must be of type number. Received type ${typeof c}`},TypeError),q("ERR_OUT_OF_RANGE",function(l,c,f){let y=`The value of "${l}" is out of range.`,v=f;return Number.isInteger(f)&&Math.abs(f)>2**32?v=Y(String(f)):typeof f=="bigint"&&(v=String(f),(f>BigInt(2)**BigInt(32)||f<-(BigInt(2)**BigInt(32)))&&(v=Y(v)),v+="n"),y+=` It must be ${c}. Received ${v}`,y},RangeError);function Y(l){let c="",f=l.length;const y=l[0]==="-"?1:0;for(;f>=y+4;f-=3)c=`_${l.slice(f-3,f)}${c}`;return`${l.slice(0,f)}${c}`}function b(l,c,f){N(c,"offset"),(l[c]===void 0||l[c+f]===void 0)&&D(c,l.length-(f+1))}function w(l,c,f,y,v,P){if(l>f||l<c){const L=typeof c=="bigint"?"n":"";let Z;throw c===0||c===BigInt(0)?Z=`>= 0${L} and < 2${L} ** ${(P+1)*8}${L}`:Z=`>= -(2${L} ** ${(P+1)*8-1}${L}) and < 2 ** ${(P+1)*8-1}${L}`,new F.ERR_OUT_OF_RANGE("value",Z,l)}b(y,v,P)}function N(l,c){if(typeof l!="number")throw new F.ERR_INVALID_ARG_TYPE(c,"number",l)}function D(l,c,f){throw Math.floor(l)!==l?(N(l,f),new F.ERR_OUT_OF_RANGE("offset","an integer",l)):c<0?new F.ERR_BUFFER_OUT_OF_BOUNDS:new F.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${c}`,l)}const pe=/[^+/0-9A-Za-z-_]/g;function X(l){if(l=l.split("=")[0],l=l.trim().replace(pe,""),l.length<2)return"";for(;l.length%4!==0;)l=l+"=";return l}function re(l,c){c=c||1/0;let f;const y=l.length;let v=null;const P=[];for(let L=0;L<y;++L){if(f=l.charCodeAt(L),f>55295&&f<57344){if(!v){if(f>56319){(c-=3)>-1&&P.push(239,191,189);continue}else if(L+1===y){(c-=3)>-1&&P.push(239,191,189);continue}v=f;continue}if(f<56320){(c-=3)>-1&&P.push(239,191,189),v=f;continue}f=(v-55296<<10|f-56320)+65536}else v&&(c-=3)>-1&&P.push(239,191,189);if(v=null,f<128){if((c-=1)<0)break;P.push(f)}else if(f<2048){if((c-=2)<0)break;P.push(f>>6|192,f&63|128)}else if(f<65536){if((c-=3)<0)break;P.push(f>>12|224,f>>6&63|128,f&63|128)}else if(f<1114112){if((c-=4)<0)break;P.push(f>>18|240,f>>12&63|128,f>>6&63|128,f&63|128)}else throw new Error("Invalid code point")}return P}function Ct(l){const c=[];for(let f=0;f<l.length;++f)c.push(l.charCodeAt(f)&255);return c}function br(l,c){let f,y,v;const P=[];for(let L=0;L<l.length&&!((c-=2)<0);++L)f=l.charCodeAt(L),y=f>>8,v=f%256,P.push(v),P.push(y);return P}function Gr(l){return t.toByteArray(X(l))}function wr(l,c,f,y){let v;for(v=0;v<y&&!(v+f>=c.length||v>=l.length);++v)c[v+f]=l[v];return v}function Ke(l,c){return l instanceof c||l!=null&&l.constructor!=null&&l.constructor.name!=null&&l.constructor.name===c.name}function Qt(l){return l!==l}const Vr=function(){const l="0123456789abcdef",c=new Array(256);for(let f=0;f<16;++f){const y=f*16;for(let v=0;v<16;++v)c[y+v]=l[f]+l[v]}return c}();function Je(l){return typeof BigInt>"u"?Zt:l}function Zt(){throw new Error("BigInt not supported")}})(It);var yn={Array:function(e){return e!=null&&e.constructor===Array},Boolean:function(e){return typeof e=="boolean"},Function:function(e){return typeof e=="function"},Nil:function(e){return e==null},Number:function(e){return typeof e=="number"},Object:function(e){return typeof e=="object"},String:function(e){return typeof e=="string"},"":function(){return!0}};yn.Null=yn.Nil;for(var io in yn)yn[io].toJSON=(function(e){return e}).bind(null,io);var Ps=yn,nr=Ps;function wa(e){return e.name||e.toString().match(/function (.*?)\s*\(/)[1]}function Os(e){return nr.Nil(e)?"":wa(e.constructor)}function Mf(e){return nr.Function(e)?"":nr.String(e)?JSON.stringify(e):e&&nr.Object(e)?"":e}function Rs(e,t){Error.captureStackTrace&&Error.captureStackTrace(e,t)}function Zn(e){return nr.Function(e)?e.toJSON?e.toJSON():wa(e):nr.Array(e)?"Array":e&&nr.Object(e)?"Object":e!==void 0?e:""}function ga(e,t,r){var n=Mf(t);return"Expected "+Zn(e)+", got"+(r!==""?" "+r:"")+(n!==""?" "+n:"")}function kt(e,t,r){r=r||Os(t),this.message=ga(e,t,r),Rs(this,kt),this.__type=e,this.__value=t,this.__valueTypeName=r}kt.prototype=Object.create(Error.prototype);kt.prototype.constructor=kt;function Df(e,t,r,n,i){var s='" of type ';return t==="key"&&(s='" with key type '),ga('property "'+Zn(r)+s+Zn(e),n,i)}function Br(e,t,r,n,i){e?(i=i||Os(n),this.message=Df(e,r,t,n,i)):this.message='Unexpected property "'+t+'"',Rs(this,kt),this.__label=r,this.__property=t,this.__type=e,this.__value=n,this.__valueTypeName=i}Br.prototype=Object.create(Error.prototype);Br.prototype.constructor=kt;function $f(e,t){return new kt(e,{},t)}function jf(e,t,r){return e instanceof Br?(t=t+"."+e.__property,e=new Br(e.__type,t,e.__label,e.__value,e.__valueTypeName)):e instanceof kt&&(e=new Br(e.__type,t,r,e.__value,e.__valueTypeName)),Rs(e),e}var _a={TfTypeError:kt,TfPropertyTypeError:Br,tfCustomError:$f,tfSubError:jf,tfJSON:Zn,getValueTypeName:Os},Ni,so;function Gf(){if(so)return Ni;so=1;var e=Ps,t=_a;function r(E){return Buffer.isBuffer(E)}function n(E){return typeof E=="string"&&/^([0-9a-f]{2})+$/i.test(E)}function i(E,H){var M=E.toJSON();function O(K){if(!E(K))return!1;if(K.length===H)return!0;throw t.tfCustomError(M+"(Length: "+H+")",M+"(Length: "+K.length+")")}return O.toJSON=function(){return M},O}var s=i.bind(null,e.Array),o=i.bind(null,r),a=i.bind(null,n),u=i.bind(null,e.String);function h(E,H,M){M=M||e.Number;function O(K,C){return M(K,C)&&K>E&&K<H}return O.toJSON=function(){return`${M.toJSON()} between [${E}, ${H}]`},O}var d=Math.pow(2,53)-1;function m(E){return typeof E=="number"&&isFinite(E)}function _(E){return E<<24>>24===E}function p(E){return E<<16>>16===E}function I(E){return(E|0)===E}function B(E){return typeof E=="number"&&E>=-d&&E<=d&&Math.floor(E)===E}function T(E){return(E&255)===E}function R(E){return(E&65535)===E}function U(E){return E>>>0===E}function x(E){return typeof E=="number"&&E>=0&&E<=d&&Math.floor(E)===E}var g={ArrayN:s,Buffer:r,BufferN:o,Finite:m,Hex:n,HexN:a,Int8:_,Int16:p,Int32:I,Int53:B,Range:h,StringN:u,UInt8:T,UInt16:R,UInt32:U,UInt53:x};for(var S in g)g[S].toJSON=(function(E){return E}).bind(null,S);return Ni=g,Ni}var gn=_a,Ie=Ps,yt=gn.tfJSON,va=gn.TfTypeError,Ea=gn.TfPropertyTypeError,zr=gn.tfSubError,Vf=gn.getValueTypeName,vt={arrayOf:function(t,r){t=ut(t),r=r||{};function n(i,s){return!Ie.Array(i)||Ie.Nil(i)||r.minLength!==void 0&&i.length<r.minLength||r.maxLength!==void 0&&i.length>r.maxLength||r.length!==void 0&&i.length!==r.length?!1:i.every(function(o,a){try{return je(t,o,s)}catch(u){throw zr(u,a)}})}return n.toJSON=function(){var i="["+yt(t)+"]";return r.length!==void 0?i+="{"+r.length+"}":(r.minLength!==void 0||r.maxLength!==void 0)&&(i+="{"+(r.minLength===void 0?0:r.minLength)+","+(r.maxLength===void 0?1/0:r.maxLength)+"}"),i},n},maybe:function e(t){t=ut(t);function r(n,i){return Ie.Nil(n)||t(n,i,e)}return r.toJSON=function(){return"?"+yt(t)},r},map:function(t,r){t=ut(t),r&&(r=ut(r));function n(i,s){if(!Ie.Object(i)||Ie.Nil(i))return!1;for(var o in i){try{r&&je(r,o,s)}catch(u){throw zr(u,o,"key")}try{var a=i[o];je(t,a,s)}catch(u){throw zr(u,o)}}return!0}return r?n.toJSON=function(){return"{"+yt(r)+": "+yt(t)+"}"}:n.toJSON=function(){return"{"+yt(t)+"}"},n},object:function(t){var r={};for(var n in t)r[n]=ut(t[n]);function i(s,o){if(!Ie.Object(s)||Ie.Nil(s))return!1;var a;try{for(a in r){var u=r[a],h=s[a];je(u,h,o)}}catch(d){throw zr(d,a)}if(o){for(a in s)if(!r[a])throw new Ea(void 0,a)}return!0}return i.toJSON=function(){return yt(r)},i},anyOf:function(){var t=[].slice.call(arguments).map(ut);function r(n,i){return t.some(function(s){try{return je(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(yt).join("|")},r},allOf:function(){var t=[].slice.call(arguments).map(ut);function r(n,i){return t.every(function(s){try{return je(s,n,i)}catch{return!1}})}return r.toJSON=function(){return t.map(yt).join(" & ")},r},quacksLike:function(t){function r(n){return t===Vf(n)}return r.toJSON=function(){return t},r},tuple:function(){var t=[].slice.call(arguments).map(ut);function r(n,i){return Ie.Nil(n)||Ie.Nil(n.length)||i&&n.length!==t.length?!1:t.every(function(s,o){try{return je(s,n[o],i)}catch(a){throw zr(a,o)}})}return r.toJSON=function(){return"("+t.map(yt).join(", ")+")"},r},value:function(t){function r(n){return n===t}return r.toJSON=function(){return t},r}};vt.oneOf=vt.anyOf;function ut(e){if(Ie.String(e))return e[0]==="?"?vt.maybe(e.slice(1)):Ie[e]||vt.quacksLike(e);if(e&&Ie.Object(e)){if(Ie.Array(e)){if(e.length!==1)throw new TypeError("Expected compile() parameter of type Array of length 1");return vt.arrayOf(e[0])}return vt.object(e)}else if(Ie.Function(e))return e;return vt.value(e)}function je(e,t,r,n){if(Ie.Function(e)){if(e(t,r))return!0;throw new va(n||e,t)}return je(ut(e),t,r)}for(var Gt in Ie)je[Gt]=Ie[Gt];for(Gt in vt)je[Gt]=vt[Gt];var oo=Gf();for(Gt in oo)je[Gt]=oo[Gt];je.compile=ut;je.TfTypeError=va;je.TfPropertyTypeError=Ea;var xa=je;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.oneOf=e.Null=e.BufferN=e.Function=e.UInt32=e.UInt8=e.tuple=e.maybe=e.Hex=e.Buffer=e.String=e.Boolean=e.Array=e.Number=e.Hash256bit=e.Hash160bit=e.Buffer256bit=e.isTaptree=e.isTapleaf=e.TAPLEAF_VERSION_MASK=e.Satoshi=e.isPoint=e.stacksEqual=e.typeforce=void 0;const t=It;e.typeforce=xa;const r=t.Buffer.alloc(32,0),n=t.Buffer.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex");function i(d,m){return d.length!==m.length?!1:d.every((_,p)=>_.equals(m[p]))}e.stacksEqual=i;function s(d){if(!t.Buffer.isBuffer(d)||d.length<33)return!1;const m=d[0],_=d.slice(1,33);if(_.compare(r)===0||_.compare(n)>=0)return!1;if((m===2||m===3)&&d.length===33)return!0;const p=d.slice(33);return p.compare(r)===0||p.compare(n)>=0?!1:m===4&&d.length===65}e.isPoint=s;const o=21*1e14;function a(d){return e.typeforce.UInt53(d)&&d<=o}e.Satoshi=a,e.TAPLEAF_VERSION_MASK=254;function u(d){return!d||!("output"in d)||!t.Buffer.isBuffer(d.output)?!1:d.version!==void 0?(d.version&e.TAPLEAF_VERSION_MASK)===d.version:!0}e.isTapleaf=u;function h(d){return(0,e.Array)(d)?d.length!==2?!1:d.every(m=>h(m)):u(d)}e.isTaptree=h,e.Buffer256bit=e.typeforce.BufferN(32),e.Hash160bit=e.typeforce.BufferN(20),e.Hash256bit=e.typeforce.BufferN(32),e.Number=e.typeforce.Number,e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.String=e.typeforce.String,e.Buffer=e.typeforce.Buffer,e.Hex=e.typeforce.Hex,e.maybe=e.typeforce.maybe,e.tuple=e.typeforce.tuple,e.UInt8=e.typeforce.UInt8,e.UInt32=e.typeforce.UInt32,e.Function=e.typeforce.Function,e.BufferN=e.typeforce.BufferN,e.Null=e.typeforce.Null,e.oneOf=e.typeforce.oneOf})(Fe);var _n={},Pe={};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.BufferReader=Pe.BufferWriter=Pe.cloneBuffer=Pe.reverseBuffer=Pe.writeUInt64LE=Pe.readUInt64LE=Pe.varuint=void 0;const ir=Fe,{typeforce:Sa}=ir,mn=ha;Pe.varuint=mn;function Aa(e,t){if(typeof e!="number")throw new Error("cannot write a non-number as a number");if(e<0)throw new Error("specified a negative value for writing an unsigned value");if(e>t)throw new Error("RangeError: value out of range");if(Math.floor(e)!==e)throw new Error("value has a fractional component")}function ka(e,t){const r=e.readUInt32LE(t);let n=e.readUInt32LE(t+4);return n*=4294967296,Aa(n+r,9007199254740991),n+r}Pe.readUInt64LE=ka;function Ta(e,t,r){return Aa(t,9007199254740991),e.writeInt32LE(t&-1,r),e.writeUInt32LE(Math.floor(t/4294967296),r+4),r+8}Pe.writeUInt64LE=Ta;function zf(e){if(e.length<1)return e;let t=e.length-1,r=0;for(let n=0;n<e.length/2;n++)r=e[n],e[n]=e[t],e[t]=r,t--;return e}Pe.reverseBuffer=zf;function qf(e){const t=Buffer.allocUnsafe(e.length);return e.copy(t),t}Pe.cloneBuffer=qf;class Cs{static withCapacity(t){return new Cs(Buffer.alloc(t))}constructor(t,r=0){this.buffer=t,this.offset=r,Sa(ir.tuple(ir.Buffer,ir.UInt32),[t,r])}writeUInt8(t){this.offset=this.buffer.writeUInt8(t,this.offset)}writeInt32(t){this.offset=this.buffer.writeInt32LE(t,this.offset)}writeUInt32(t){this.offset=this.buffer.writeUInt32LE(t,this.offset)}writeUInt64(t){this.offset=Ta(this.buffer,t,this.offset)}writeVarInt(t){mn.encode(t,this.buffer,this.offset),this.offset+=mn.encode.bytes}writeSlice(t){if(this.buffer.length<this.offset+t.length)throw new Error("Cannot write slice out of bounds");this.offset+=t.copy(this.buffer,this.offset)}writeVarSlice(t){this.writeVarInt(t.length),this.writeSlice(t)}writeVector(t){this.writeVarInt(t.length),t.forEach(r=>this.writeVarSlice(r))}end(){if(this.buffer.length===this.offset)return this.buffer;throw new Error(`buffer size ${this.buffer.length}, offset ${this.offset}`)}}Pe.BufferWriter=Cs;class Wf{constructor(t,r=0){this.buffer=t,this.offset=r,Sa(ir.tuple(ir.Buffer,ir.UInt32),[t,r])}readUInt8(){const t=this.buffer.readUInt8(this.offset);return this.offset++,t}readInt32(){const t=this.buffer.readInt32LE(this.offset);return this.offset+=4,t}readUInt32(){const t=this.buffer.readUInt32LE(this.offset);return this.offset+=4,t}readUInt64(){const t=ka(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=mn.decode(this.buffer,this.offset);return this.offset+=mn.decode.bytes,t}readSlice(t){if(this.buffer.length<this.offset+t)throw new Error("Cannot read slice out of bounds");const r=this.buffer.slice(this.offset,this.offset+t);return this.offset+=t,r}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const t=this.readVarInt(),r=[];for(let n=0;n<t;n++)r.push(this.readVarSlice());return r}}Pe.BufferReader=Wf;var Wt={},Cr={},Pt={},Kt={};Object.defineProperty(Kt,"__esModule",{value:!0});Kt.anumber=ds;Kt.abytes=Ba;Kt.ahash=Yf;Kt.aexists=Xf;Kt.aoutput=Jf;function ds(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function Kf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ba(e,...t){if(!Kf(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Yf(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ds(e.outputLen),ds(e.blockLen)}function Xf(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Jf(e,t){Ba(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}var vn={},fi={};Object.defineProperty(fi,"__esModule",{value:!0});fi.crypto=void 0;fi.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;(function(e){/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(e,"__esModule",{value:!0}),e.Hash=e.nextTick=e.byteSwapIfBE=e.isLE=void 0,e.isBytes=n,e.u8=i,e.u32=s,e.createView=o,e.rotr=a,e.rotl=u,e.byteSwap=h,e.byteSwap32=d,e.bytesToHex=_,e.hexToBytes=B,e.asyncLoop=R,e.utf8ToBytes=U,e.toBytes=x,e.concatBytes=g,e.checkOpts=E,e.wrapConstructor=H,e.wrapConstructorWithOpts=M,e.wrapXOFConstructorWithOpts=O,e.randomBytes=K;const t=fi,r=Kt;function n(C){return C instanceof Uint8Array||ArrayBuffer.isView(C)&&C.constructor.name==="Uint8Array"}function i(C){return new Uint8Array(C.buffer,C.byteOffset,C.byteLength)}function s(C){return new Uint32Array(C.buffer,C.byteOffset,Math.floor(C.byteLength/4))}function o(C){return new DataView(C.buffer,C.byteOffset,C.byteLength)}function a(C,j){return C<<32-j|C>>>j}function u(C,j){return C<<j|C>>>32-j>>>0}e.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function h(C){return C<<24&4278190080|C<<8&16711680|C>>>8&65280|C>>>24&255}e.byteSwapIfBE=e.isLE?C=>C:C=>h(C);function d(C){for(let j=0;j<C.length;j++)C[j]=h(C[j])}const m=Array.from({length:256},(C,j)=>j.toString(16).padStart(2,"0"));function _(C){(0,r.abytes)(C);let j="";for(let G=0;G<C.length;G++)j+=m[C[G]];return j}const p={_0:48,_9:57,A:65,F:70,a:97,f:102};function I(C){if(C>=p._0&&C<=p._9)return C-p._0;if(C>=p.A&&C<=p.F)return C-(p.A-10);if(C>=p.a&&C<=p.f)return C-(p.a-10)}function B(C){if(typeof C!="string")throw new Error("hex string expected, got "+typeof C);const j=C.length,G=j/2;if(j%2)throw new Error("hex string expected, got unpadded hex of length "+j);const V=new Uint8Array(G);for(let ee=0,ve=0;ee<G;ee++,ve+=2){const ze=I(C.charCodeAt(ve)),rt=I(C.charCodeAt(ve+1));if(ze===void 0||rt===void 0){const qe=C[ve]+C[ve+1];throw new Error('hex string expected, got non-hex character "'+qe+'" at index '+ve)}V[ee]=ze*16+rt}return V}const T=async()=>{};e.nextTick=T;async function R(C,j,G){let V=Date.now();for(let ee=0;ee<C;ee++){G(ee);const ve=Date.now()-V;ve>=0&&ve<j||(await(0,e.nextTick)(),V+=ve)}}function U(C){if(typeof C!="string")throw new Error("utf8ToBytes expected string, got "+typeof C);return new Uint8Array(new TextEncoder().encode(C))}function x(C){return typeof C=="string"&&(C=U(C)),(0,r.abytes)(C),C}function g(...C){let j=0;for(let V=0;V<C.length;V++){const ee=C[V];(0,r.abytes)(ee),j+=ee.length}const G=new Uint8Array(j);for(let V=0,ee=0;V<C.length;V++){const ve=C[V];G.set(ve,ee),ee+=ve.length}return G}class S{clone(){return this._cloneInto()}}e.Hash=S;function E(C,j){if(j!==void 0&&{}.toString.call(j)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(C,j)}function H(C){const j=V=>C().update(x(V)).digest(),G=C();return j.outputLen=G.outputLen,j.blockLen=G.blockLen,j.create=()=>C(),j}function M(C){const j=(V,ee)=>C(ee).update(x(V)).digest(),G=C({});return j.outputLen=G.outputLen,j.blockLen=G.blockLen,j.create=V=>C(V),j}function O(C){const j=(V,ee)=>C(ee).update(x(V)).digest(),G=C({});return j.outputLen=G.outputLen,j.blockLen=G.blockLen,j.create=V=>C(V),j}function K(C=32){if(t.crypto&&typeof t.crypto.getRandomValues=="function")return t.crypto.getRandomValues(new Uint8Array(C));if(t.crypto&&typeof t.crypto.randomBytes=="function")return t.crypto.randomBytes(C);throw new Error("crypto.getRandomValues must be defined")}})(vn);Object.defineProperty(Pt,"__esModule",{value:!0});Pt.HashMD=void 0;Pt.setBigUint64=Ia;Pt.Chi=Qf;Pt.Maj=Zf;const Fi=Kt,qr=vn;function Ia(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);const i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),u=n?4:0,h=n?0:4;e.setUint32(t+u,o,n),e.setUint32(t+h,a,n)}function Qf(e,t,r){return e&t^~e&r}function Zf(e,t,r){return e&t^e&r^t&r}class eu extends qr.Hash{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,qr.createView)(this.buffer)}update(t){(0,Fi.aexists)(this);const{view:r,buffer:n,blockLen:i}=this;t=(0,qr.toBytes)(t);const s=t.length;for(let o=0;o<s;){const a=Math.min(i-this.pos,s-o);if(a===i){const u=(0,qr.createView)(t);for(;i<=s-o;o+=i)this.process(u,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,Fi.aexists)(this),(0,Fi.aoutput)(t,this),this.finished=!0;const{buffer:r,view:n,blockLen:i,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let m=o;m<i;m++)r[m]=0;Ia(n,i-8,BigInt(this.length*8),s),this.process(n,0);const a=(0,qr.createView)(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const h=u/4,d=this.get();if(h>d.length)throw new Error("_sha2: outputLen bigger than state");for(let m=0;m<h;m++)a.setUint32(4*m,d[m],s)}digest(){const{buffer:t,outputLen:r}=this;this.digestInto(t);const n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}}Pt.HashMD=eu;Object.defineProperty(Cr,"__esModule",{value:!0});Cr.ripemd160=Cr.RIPEMD160=void 0;const tu=Pt,an=vn,ru=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),Pa=new Uint8Array(new Array(16).fill(0).map((e,t)=>t)),nu=Pa.map(e=>(9*e+5)%16);let Us=[Pa],Ls=[nu];for(let e=0;e<4;e++)for(let t of[Us,Ls])t.push(t[e].map(r=>ru[r]));const Oa=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(e=>new Uint8Array(e)),iu=Us.map((e,t)=>e.map(r=>Oa[t][r])),su=Ls.map((e,t)=>e.map(r=>Oa[t][r])),ou=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),au=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);function ao(e,t,r,n){return e===0?t^r^n:e===1?t&r|~t&n:e===2?(t|~r)^n:e===3?t&n|r&~n:t^(r|~n)}const Cn=new Uint32Array(16);let Ra=class extends tu.HashMD{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:t,h1:r,h2:n,h3:i,h4:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.h0=t|0,this.h1=r|0,this.h2=n|0,this.h3=i|0,this.h4=s|0}process(t,r){for(let p=0;p<16;p++,r+=4)Cn[p]=t.getUint32(r,!0);let n=this.h0|0,i=n,s=this.h1|0,o=s,a=this.h2|0,u=a,h=this.h3|0,d=h,m=this.h4|0,_=m;for(let p=0;p<5;p++){const I=4-p,B=ou[p],T=au[p],R=Us[p],U=Ls[p],x=iu[p],g=su[p];for(let S=0;S<16;S++){const E=(0,an.rotl)(n+ao(p,s,a,h)+Cn[R[S]]+B,x[S])+m|0;n=m,m=h,h=(0,an.rotl)(a,10)|0,a=s,s=E}for(let S=0;S<16;S++){const E=(0,an.rotl)(i+ao(I,o,u,d)+Cn[U[S]]+T,g[S])+_|0;i=_,_=d,d=(0,an.rotl)(u,10)|0,u=o,o=E}}this.set(this.h1+a+d|0,this.h2+h+_|0,this.h3+m+i|0,this.h4+n+o|0,this.h0+s+u|0)}roundClean(){Cn.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}};Cr.RIPEMD160=Ra;Cr.ripemd160=(0,an.wrapConstructor)(()=>new Ra);var Ur={};Object.defineProperty(Ur,"__esModule",{value:!0});Ur.sha1=Ur.SHA1=void 0;const Hi=Pt,zn=vn,Wr=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),Ut=new Uint32Array(80);class Ca extends Hi.HashMD{constructor(){super(64,20,8,!1),this.A=Wr[0]|0,this.B=Wr[1]|0,this.C=Wr[2]|0,this.D=Wr[3]|0,this.E=Wr[4]|0}get(){const{A:t,B:r,C:n,D:i,E:s}=this;return[t,r,n,i,s]}set(t,r,n,i,s){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0}process(t,r){for(let u=0;u<16;u++,r+=4)Ut[u]=t.getUint32(r,!1);for(let u=16;u<80;u++)Ut[u]=(0,zn.rotl)(Ut[u-3]^Ut[u-8]^Ut[u-14]^Ut[u-16],1);let{A:n,B:i,C:s,D:o,E:a}=this;for(let u=0;u<80;u++){let h,d;u<20?(h=(0,Hi.Chi)(i,s,o),d=1518500249):u<40?(h=i^s^o,d=1859775393):u<60?(h=(0,Hi.Maj)(i,s,o),d=2400959708):(h=i^s^o,d=3395469782);const m=(0,zn.rotl)(n,5)+h+a+d+Ut[u]|0;a=o,o=s,s=(0,zn.rotl)(i,30),i=n,n=m}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,this.set(n,i,s,o,a)}roundClean(){Ut.fill(0)}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0)}}Ur.SHA1=Ca;Ur.sha1=(0,zn.wrapConstructor)(()=>new Ca);var St={};Object.defineProperty(St,"__esModule",{value:!0});St.sha224=Ua=St.sha256=St.SHA256=void 0;const Mi=Pt,Ze=vn,cu=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Lt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Nt=new Uint32Array(64);class Ns extends Mi.HashMD{constructor(){super(64,32,8,!1),this.A=Lt[0]|0,this.B=Lt[1]|0,this.C=Lt[2]|0,this.D=Lt[3]|0,this.E=Lt[4]|0,this.F=Lt[5]|0,this.G=Lt[6]|0,this.H=Lt[7]|0}get(){const{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:u}=this;return[t,r,n,i,s,o,a,u]}set(t,r,n,i,s,o,a,u){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=u|0}process(t,r){for(let m=0;m<16;m++,r+=4)Nt[m]=t.getUint32(r,!1);for(let m=16;m<64;m++){const _=Nt[m-15],p=Nt[m-2],I=(0,Ze.rotr)(_,7)^(0,Ze.rotr)(_,18)^_>>>3,B=(0,Ze.rotr)(p,17)^(0,Ze.rotr)(p,19)^p>>>10;Nt[m]=B+Nt[m-7]+I+Nt[m-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:u,G:h,H:d}=this;for(let m=0;m<64;m++){const _=(0,Ze.rotr)(a,6)^(0,Ze.rotr)(a,11)^(0,Ze.rotr)(a,25),p=d+_+(0,Mi.Chi)(a,u,h)+cu[m]+Nt[m]|0,B=((0,Ze.rotr)(n,2)^(0,Ze.rotr)(n,13)^(0,Ze.rotr)(n,22))+(0,Mi.Maj)(n,i,s)|0;d=h,h=u,u=a,a=o+p|0,o=s,s=i,i=n,n=p+B|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,u=u+this.F|0,h=h+this.G|0,d=d+this.H|0,this.set(n,i,s,o,a,u,h,d)}roundClean(){Nt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}St.SHA256=Ns;class fu extends Ns{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}var Ua=St.sha256=(0,Ze.wrapConstructor)(()=>new Ns);St.sha224=(0,Ze.wrapConstructor)(()=>new fu);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.taggedHash=e.TAGGED_HASH_PREFIXES=e.TAGS=e.hash256=e.hash160=e.sha256=e.sha1=e.ripemd160=void 0;const t=Cr,r=Ur,n=St;function i(d){return Buffer.from((0,t.ripemd160)(Uint8Array.from(d)))}e.ripemd160=i;function s(d){return Buffer.from((0,r.sha1)(Uint8Array.from(d)))}e.sha1=s;function o(d){return Buffer.from((0,n.sha256)(Uint8Array.from(d)))}e.sha256=o;function a(d){return Buffer.from((0,t.ripemd160)((0,n.sha256)(Uint8Array.from(d))))}e.hash160=a;function u(d){return Buffer.from((0,n.sha256)((0,n.sha256)(Uint8Array.from(d))))}e.hash256=u,e.TAGS=["BIP0340/challenge","BIP0340/aux","BIP0340/nonce","TapLeaf","TapBranch","TapSighash","TapTweak","KeyAgg list","KeyAgg coefficient"],e.TAGGED_HASH_PREFIXES={"BIP0340/challenge":Buffer.from([123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124,123,181,45,122,159,239,88,50,62,177,191,122,64,125,179,130,210,243,242,216,27,177,34,79,73,254,81,143,109,72,211,124]),"BIP0340/aux":Buffer.from([241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144,241,239,78,94,192,99,202,218,109,148,202,250,157,152,126,160,105,38,88,57,236,193,31,151,45,119,165,46,216,193,204,144]),"BIP0340/nonce":Buffer.from([7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47,7,73,119,52,167,155,203,53,91,155,140,125,3,79,18,28,244,52,215,62,247,45,218,25,135,0,97,251,82,191,235,47]),TapLeaf:Buffer.from([174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238,174,234,143,220,66,8,152,49,5,115,75,88,8,29,30,38,56,211,95,28,181,64,8,212,211,87,202,3,190,120,233,238]),TapBranch:Buffer.from([25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21,25,65,161,242,229,110,185,95,162,169,241,148,190,92,1,247,33,111,51,237,130,176,145,70,52,144,208,91,245,22,160,21]),TapSighash:Buffer.from([244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49,244,10,72,223,75,42,112,200,180,146,75,242,101,70,97,237,61,149,253,102,163,19,235,135,35,117,151,198,40,228,160,49]),TapTweak:Buffer.from([232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233,232,15,225,99,156,156,160,80,227,175,27,57,193,67,198,62,66,156,188,235,21,217,64,251,181,197,161,244,175,87,197,233]),"KeyAgg list":Buffer.from([72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240,72,28,151,28,60,11,70,215,240,178,117,174,89,141,78,44,126,215,49,156,89,74,92,110,199,158,160,212,153,2,148,240]),"KeyAgg coefficient":Buffer.from([191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129,191,201,4,3,77,28,136,232,200,14,34,229,61,36,86,109,100,130,78,214,66,114,129,192,145,0,249,77,205,82,201,129])};function h(d,m){return o(Buffer.concat([e.TAGGED_HASH_PREFIXES[d],m]))}e.taggedHash=h})(Wt);var Di={},At={};Object.defineProperty(At,"__esModule",{value:!0});At.encode=At.decode=At.check=void 0;function uu(e){if(e.length<8||e.length>72||e[0]!==48||e[1]!==e.length-2||e[2]!==2)return!1;const t=e[3];if(t===0||5+t>=e.length||e[4+t]!==2)return!1;const r=e[5+t];return!(r===0||6+t+r!==e.length||e[4]&128||t>1&&e[4]===0&&!(e[5]&128)||e[t+6]&128||r>1&&e[t+6]===0&&!(e[t+7]&128))}At.check=uu;function lu(e){if(e.length<8)throw new Error("DER sequence length is too short");if(e.length>72)throw new Error("DER sequence length is too long");if(e[0]!==48)throw new Error("Expected DER sequence");if(e[1]!==e.length-2)throw new Error("DER sequence length is invalid");if(e[2]!==2)throw new Error("Expected DER integer");const t=e[3];if(t===0)throw new Error("R length is zero");if(5+t>=e.length)throw new Error("R length is too long");if(e[4+t]!==2)throw new Error("Expected DER integer (2)");const r=e[5+t];if(r===0)throw new Error("S length is zero");if(6+t+r!==e.length)throw new Error("S length is invalid");if(e[4]&128)throw new Error("R value is negative");if(t>1&&e[4]===0&&!(e[5]&128))throw new Error("R value excessively padded");if(e[t+6]&128)throw new Error("S value is negative");if(r>1&&e[t+6]===0&&!(e[t+7]&128))throw new Error("S value excessively padded");return{r:e.slice(4,4+t),s:e.slice(6+t)}}At.decode=lu;function hu(e,t){const r=e.length,n=t.length;if(r===0)throw new Error("R length is zero");if(n===0)throw new Error("S length is zero");if(r>33)throw new Error("R length is too long");if(n>33)throw new Error("S length is too long");if(e[0]&128)throw new Error("R value is negative");if(t[0]&128)throw new Error("S value is negative");if(r>1&&e[0]===0&&!(e[1]&128))throw new Error("R value excessively padded");if(n>1&&t[0]===0&&!(t[1]&128))throw new Error("S value excessively padded");const i=Buffer.allocUnsafe(6+r+n);return i[0]=48,i[1]=i.length-2,i[2]=2,i[3]=e.length,e.copy(i,4),i[4+r]=2,i[5+r]=t.length,t.copy(i,6+r),i}At.encode=hu;var or={};Object.defineProperty(or,"__esModule",{value:!0});or.REVERSE_OPS=or.OPS=void 0;const ps={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_CHECKSIGADD:186,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255};or.OPS=ps;const La={};or.REVERSE_OPS=La;for(const e of Object.keys(ps)){const t=ps[e];La[t]=e}var Vt={};Object.defineProperty(Vt,"__esModule",{value:!0});Vt.decode=Vt.encode=Vt.encodingLength=void 0;const jt=or;function Na(e){return e<jt.OPS.OP_PUSHDATA1?1:e<=255?2:e<=65535?3:5}Vt.encodingLength=Na;function du(e,t,r){const n=Na(t);return n===1?e.writeUInt8(t,r):n===2?(e.writeUInt8(jt.OPS.OP_PUSHDATA1,r),e.writeUInt8(t,r+1)):n===3?(e.writeUInt8(jt.OPS.OP_PUSHDATA2,r),e.writeUInt16LE(t,r+1)):(e.writeUInt8(jt.OPS.OP_PUSHDATA4,r),e.writeUInt32LE(t,r+1)),n}Vt.encode=du;function pu(e,t){const r=e.readUInt8(t);let n,i;if(r<jt.OPS.OP_PUSHDATA1)n=r,i=1;else if(r===jt.OPS.OP_PUSHDATA1){if(t+2>e.length)return null;n=e.readUInt8(t+1),i=2}else if(r===jt.OPS.OP_PUSHDATA2){if(t+3>e.length)return null;n=e.readUInt16LE(t+1),i=3}else{if(t+5>e.length)return null;if(r!==jt.OPS.OP_PUSHDATA4)throw new Error("Unexpected opcode");n=e.readUInt32LE(t+1),i=5}return{opcode:r,number:n,size:i}}Vt.decode=pu;var Lr={};Object.defineProperty(Lr,"__esModule",{value:!0});Lr.encode=Lr.decode=void 0;function yu(e,t,r){t=t||4,r=r===void 0?!0:r;const n=e.length;if(n===0)return 0;if(n>t)throw new TypeError("Script number overflow");if(r&&!(e[n-1]&127)&&(n<=1||!(e[n-2]&128)))throw new Error("Non-minimally encoded script number");if(n===5){const s=e.readUInt32LE(0),o=e.readUInt8(4);return o&128?-((o&-129)*4294967296+s):o*4294967296+s}let i=0;for(let s=0;s<n;++s)i|=e[s]<<8*s;return e[n-1]&128?-(i&~(128<<8*(n-1))):i}Lr.decode=yu;function mu(e){return e>2147483647?5:e>8388607?4:e>32767?3:e>127?2:e>0?1:0}function bu(e){let t=Math.abs(e);const r=mu(t),n=Buffer.allocUnsafe(r),i=e<0;for(let s=0;s<r;++s)n.writeUInt8(t&255,s),t>>=8;return n[r-1]&128?n.writeUInt8(i?128:0,r-1):i&&(n[r-1]|=128),n}Lr.encode=bu;var tr={},co;function wu(){if(co)return tr;co=1,Object.defineProperty(tr,"__esModule",{value:!0}),tr.encode=tr.decode=void 0;const e=At,t=Xe(),r=Fe,{typeforce:n}=r,i=Buffer.alloc(1,0);function s(h){let d=0;for(;h[d]===0;)++d;return d===h.length?i:(h=h.slice(d),h[0]&128?Buffer.concat([i,h],1+h.length):h)}function o(h){h[0]===0&&(h=h.slice(1));const d=Buffer.alloc(32,0),m=Math.max(0,32-h.length);return h.copy(d,m),d}function a(h){const d=h.readUInt8(h.length-1);if(!(0,t.isDefinedHashType)(d))throw new Error("Invalid hashType "+d);const m=e.decode(h.slice(0,-1)),_=o(m.r),p=o(m.s);return{signature:Buffer.concat([_,p],64),hashType:d}}tr.decode=a;function u(h,d){if(n({signature:r.BufferN(64),hashType:r.UInt8},{signature:h,hashType:d}),!(0,t.isDefinedHashType)(d))throw new Error("Invalid hashType "+d);const m=Buffer.allocUnsafe(1);m.writeUInt8(d,0);const _=s(h.slice(0,32)),p=s(h.slice(32,64));return Buffer.concat([e.encode(_,p),m])}return tr.encode=u,tr}var fo;function Xe(){return fo||(fo=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.signature=e.number=e.isCanonicalScriptSignature=e.isDefinedHashType=e.isCanonicalPubKey=e.toStack=e.fromASM=e.toASM=e.decompile=e.compile=e.countNonPushOnlyOPs=e.isPushOnly=e.OPS=void 0;const t=At,r=or;Object.defineProperty(e,"OPS",{enumerable:!0,get:function(){return r.OPS}});const n=Vt,i=Lr,s=wu(),o=Fe,{typeforce:a}=o,u=r.OPS.OP_RESERVED;function h(O){return o.Number(O)&&(O===r.OPS.OP_0||O>=r.OPS.OP_1&&O<=r.OPS.OP_16||O===r.OPS.OP_1NEGATE)}function d(O){return o.Buffer(O)||h(O)}function m(O){return o.Array(O)&&O.every(d)}e.isPushOnly=m;function _(O){return O.length-O.filter(d).length}e.countNonPushOnlyOPs=_;function p(O){if(O.length===0)return r.OPS.OP_0;if(O.length===1){if(O[0]>=1&&O[0]<=16)return u+O[0];if(O[0]===129)return r.OPS.OP_1NEGATE}}function I(O){return Buffer.isBuffer(O)}function B(O){return o.Array(O)}function T(O){return Buffer.isBuffer(O)}function R(O){if(I(O))return O;a(o.Array,O);const K=O.reduce((G,V)=>T(V)?V.length===1&&p(V)!==void 0?G+1:G+n.encodingLength(V.length)+V.length:G+1,0),C=Buffer.allocUnsafe(K);let j=0;if(O.forEach(G=>{if(T(G)){const V=p(G);if(V!==void 0){C.writeUInt8(V,j),j+=1;return}j+=n.encode(C,G.length,j),G.copy(C,j),j+=G.length}else C.writeUInt8(G,j),j+=1}),j!==C.length)throw new Error("Could not decode chunks");return C}e.compile=R;function U(O){if(B(O))return O;a(o.Buffer,O);const K=[];let C=0;for(;C<O.length;){const j=O[C];if(j>r.OPS.OP_0&&j<=r.OPS.OP_PUSHDATA4){const G=n.decode(O,C);if(G===null||(C+=G.size,C+G.number>O.length))return null;const V=O.slice(C,C+G.number);C+=G.number;const ee=p(V);ee!==void 0?K.push(ee):K.push(V)}else K.push(j),C+=1}return K}e.decompile=U;function x(O){if(I(O)&&(O=U(O)),!O)throw new Error("Could not convert invalid chunks to ASM");return O.map(K=>{if(T(K)){const C=p(K);if(C===void 0)return K.toString("hex");K=C}return r.REVERSE_OPS[K]}).join(" ")}e.toASM=x;function g(O){return a(o.String,O),R(O.split(" ").map(K=>r.OPS[K]!==void 0?r.OPS[K]:(a(o.Hex,K),Buffer.from(K,"hex"))))}e.fromASM=g;function S(O){return O=U(O),a(m,O),O.map(K=>T(K)?K:K===r.OPS.OP_0?Buffer.allocUnsafe(0):i.encode(K-u))}e.toStack=S;function E(O){return o.isPoint(O)}e.isCanonicalPubKey=E;function H(O){const K=O&-129;return K>0&&K<4}e.isDefinedHashType=H;function M(O){return!Buffer.isBuffer(O)||!H(O[O.length-1])?!1:t.check(O.slice(0,-1))}e.isCanonicalScriptSignature=M,e.number=i,e.signature=s}(Di)),Di}Object.defineProperty(_n,"__esModule",{value:!0});_n.Transaction=void 0;const Se=Pe,He=Wt,uo=Xe(),gu=Xe(),te=Fe,{typeforce:st}=te;function ct(e){const t=e.length;return Se.varuint.encodingLength(t)+t}function _u(e){const t=e.length;return Se.varuint.encodingLength(t)+e.reduce((r,n)=>r+ct(n),0)}const $t=Buffer.allocUnsafe(0),$i=[],ji=Buffer.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),lo=Buffer.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),vu=Buffer.from("ffffffffffffffff","hex"),Eu={script:$t,valueBuffer:vu};function xu(e){return e.value!==void 0}class J{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(t,r){const n=new Se.BufferReader(t),i=new J;i.version=n.readInt32();const s=n.readUInt8(),o=n.readUInt8();let a=!1;s===J.ADVANCED_TRANSACTION_MARKER&&o===J.ADVANCED_TRANSACTION_FLAG?a=!0:n.offset-=2;const u=n.readVarInt();for(let d=0;d<u;++d)i.ins.push({hash:n.readSlice(32),index:n.readUInt32(),script:n.readVarSlice(),sequence:n.readUInt32(),witness:$i});const h=n.readVarInt();for(let d=0;d<h;++d)i.outs.push({value:n.readUInt64(),script:n.readVarSlice()});if(a){for(let d=0;d<u;++d)i.ins[d].witness=n.readVector();if(!i.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(i.locktime=n.readUInt32(),r)return i;if(n.offset!==t.length)throw new Error("Transaction has unexpected data");return i}static fromHex(t){return J.fromBuffer(Buffer.from(t,"hex"),!1)}static isCoinbaseHash(t){st(te.Hash256bit,t);for(let r=0;r<32;++r)if(t[r]!==0)return!1;return!0}isCoinbase(){return this.ins.length===1&&J.isCoinbaseHash(this.ins[0].hash)}addInput(t,r,n,i){return st(te.tuple(te.Hash256bit,te.UInt32,te.maybe(te.UInt32),te.maybe(te.Buffer)),arguments),te.Null(n)&&(n=J.DEFAULT_SEQUENCE),this.ins.push({hash:t,index:r,script:i||$t,sequence:n,witness:$i})-1}addOutput(t,r){return st(te.tuple(te.Buffer,te.Satoshi),arguments),this.outs.push({script:t,value:r})-1}hasWitnesses(){return this.ins.some(t=>t.witness.length!==0)}stripWitnesses(){this.ins.forEach(t=>{t.witness=$i})}weight(){const t=this.byteLength(!1),r=this.byteLength(!0);return t*3+r}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(t=!0){const r=t&&this.hasWitnesses();return(r?10:8)+Se.varuint.encodingLength(this.ins.length)+Se.varuint.encodingLength(this.outs.length)+this.ins.reduce((n,i)=>n+40+ct(i.script),0)+this.outs.reduce((n,i)=>n+8+ct(i.script),0)+(r?this.ins.reduce((n,i)=>n+_u(i.witness),0):0)}clone(){const t=new J;return t.version=this.version,t.locktime=this.locktime,t.ins=this.ins.map(r=>({hash:r.hash,index:r.index,script:r.script,sequence:r.sequence,witness:r.witness})),t.outs=this.outs.map(r=>({script:r.script,value:r.value})),t}hashForSignature(t,r,n){if(st(te.tuple(te.UInt32,te.Buffer,te.Number),arguments),t>=this.ins.length)return lo;const i=uo.compile(uo.decompile(r).filter(a=>a!==gu.OPS.OP_CODESEPARATOR)),s=this.clone();if((n&31)===J.SIGHASH_NONE)s.outs=[],s.ins.forEach((a,u)=>{u!==t&&(a.sequence=0)});else if((n&31)===J.SIGHASH_SINGLE){if(t>=this.outs.length)return lo;s.outs.length=t+1;for(let a=0;a<t;a++)s.outs[a]=Eu;s.ins.forEach((a,u)=>{u!==t&&(a.sequence=0)})}n&J.SIGHASH_ANYONECANPAY?(s.ins=[s.ins[t]],s.ins[0].script=i):(s.ins.forEach(a=>{a.script=$t}),s.ins[t].script=i);const o=Buffer.allocUnsafe(s.byteLength(!1)+4);return o.writeInt32LE(n,o.length-4),s.__toBuffer(o,0,!1),He.hash256(o)}hashForWitnessV1(t,r,n,i,s,o){if(st(te.tuple(te.UInt32,st.arrayOf(te.Buffer),st.arrayOf(te.Satoshi),te.UInt32),arguments),n.length!==this.ins.length||r.length!==this.ins.length)throw new Error("Must supply prevout script and value for all inputs");const a=i===J.SIGHASH_DEFAULT?J.SIGHASH_ALL:i&J.SIGHASH_OUTPUT_MASK,h=(i&J.SIGHASH_INPUT_MASK)===J.SIGHASH_ANYONECANPAY,d=a===J.SIGHASH_NONE,m=a===J.SIGHASH_SINGLE;let _=$t,p=$t,I=$t,B=$t,T=$t;if(!h){let g=Se.BufferWriter.withCapacity(36*this.ins.length);this.ins.forEach(S=>{g.writeSlice(S.hash),g.writeUInt32(S.index)}),_=He.sha256(g.end()),g=Se.BufferWriter.withCapacity(8*this.ins.length),n.forEach(S=>g.writeUInt64(S)),p=He.sha256(g.end()),g=Se.BufferWriter.withCapacity(r.map(ct).reduce((S,E)=>S+E)),r.forEach(S=>g.writeVarSlice(S)),I=He.sha256(g.end()),g=Se.BufferWriter.withCapacity(4*this.ins.length),this.ins.forEach(S=>g.writeUInt32(S.sequence)),B=He.sha256(g.end())}if(d||m){if(m&&t<this.outs.length){const g=this.outs[t],S=Se.BufferWriter.withCapacity(8+ct(g.script));S.writeUInt64(g.value),S.writeVarSlice(g.script),T=He.sha256(S.end())}}else{const g=this.outs.map(E=>8+ct(E.script)).reduce((E,H)=>E+H),S=Se.BufferWriter.withCapacity(g);this.outs.forEach(E=>{S.writeUInt64(E.value),S.writeVarSlice(E.script)}),T=He.sha256(S.end())}const R=(s?2:0)+(o?1:0),U=174-(h?49:0)-(d?32:0)+(o?32:0)+(s?37:0),x=Se.BufferWriter.withCapacity(U);if(x.writeUInt8(i),x.writeInt32(this.version),x.writeUInt32(this.locktime),x.writeSlice(_),x.writeSlice(p),x.writeSlice(I),x.writeSlice(B),d||m||x.writeSlice(T),x.writeUInt8(R),h){const g=this.ins[t];x.writeSlice(g.hash),x.writeUInt32(g.index),x.writeUInt64(n[t]),x.writeVarSlice(r[t]),x.writeUInt32(g.sequence)}else x.writeUInt32(t);if(o){const g=Se.BufferWriter.withCapacity(ct(o));g.writeVarSlice(o),x.writeSlice(He.sha256(g.end()))}return m&&x.writeSlice(T),s&&(x.writeSlice(s),x.writeUInt8(0),x.writeUInt32(4294967295)),He.taggedHash("TapSighash",Buffer.concat([Buffer.from([0]),x.end()]))}hashForWitnessV0(t,r,n,i){st(te.tuple(te.UInt32,te.Buffer,te.Satoshi,te.UInt32),arguments);let s=Buffer.from([]),o,a=ji,u=ji,h=ji;if(i&J.SIGHASH_ANYONECANPAY||(s=Buffer.allocUnsafe(36*this.ins.length),o=new Se.BufferWriter(s,0),this.ins.forEach(m=>{o.writeSlice(m.hash),o.writeUInt32(m.index)}),u=He.hash256(s)),!(i&J.SIGHASH_ANYONECANPAY)&&(i&31)!==J.SIGHASH_SINGLE&&(i&31)!==J.SIGHASH_NONE&&(s=Buffer.allocUnsafe(4*this.ins.length),o=new Se.BufferWriter(s,0),this.ins.forEach(m=>{o.writeUInt32(m.sequence)}),h=He.hash256(s)),(i&31)!==J.SIGHASH_SINGLE&&(i&31)!==J.SIGHASH_NONE){const m=this.outs.reduce((_,p)=>_+8+ct(p.script),0);s=Buffer.allocUnsafe(m),o=new Se.BufferWriter(s,0),this.outs.forEach(_=>{o.writeUInt64(_.value),o.writeVarSlice(_.script)}),a=He.hash256(s)}else if((i&31)===J.SIGHASH_SINGLE&&t<this.outs.length){const m=this.outs[t];s=Buffer.allocUnsafe(8+ct(m.script)),o=new Se.BufferWriter(s,0),o.writeUInt64(m.value),o.writeVarSlice(m.script),a=He.hash256(s)}s=Buffer.allocUnsafe(156+ct(r)),o=new Se.BufferWriter(s,0);const d=this.ins[t];return o.writeInt32(this.version),o.writeSlice(u),o.writeSlice(h),o.writeSlice(d.hash),o.writeUInt32(d.index),o.writeVarSlice(r),o.writeUInt64(n),o.writeUInt32(d.sequence),o.writeSlice(a),o.writeUInt32(this.locktime),o.writeUInt32(i),He.hash256(s)}getHash(t){return t&&this.isCoinbase()?Buffer.alloc(32,0):He.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return(0,Se.reverseBuffer)(this.getHash(!1)).toString("hex")}toBuffer(t,r){return this.__toBuffer(t,r,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(t,r){st(te.tuple(te.Number,te.Buffer),arguments),this.ins[t].script=r}setWitness(t,r){st(te.tuple(te.Number,[te.Buffer]),arguments),this.ins[t].witness=r}__toBuffer(t,r,n=!1){t||(t=Buffer.allocUnsafe(this.byteLength(n)));const i=new Se.BufferWriter(t,r||0);i.writeInt32(this.version);const s=n&&this.hasWitnesses();return s&&(i.writeUInt8(J.ADVANCED_TRANSACTION_MARKER),i.writeUInt8(J.ADVANCED_TRANSACTION_FLAG)),i.writeVarInt(this.ins.length),this.ins.forEach(o=>{i.writeSlice(o.hash),i.writeUInt32(o.index),i.writeVarSlice(o.script),i.writeUInt32(o.sequence)}),i.writeVarInt(this.outs.length),this.outs.forEach(o=>{xu(o)?i.writeUInt64(o.value):i.writeSlice(o.valueBuffer),i.writeVarSlice(o.script)}),s&&this.ins.forEach(o=>{i.writeVector(o.witness)}),i.writeUInt32(this.locktime),r!==void 0?t.slice(r,i.offset):t}}_n.Transaction=J;J.DEFAULT_SEQUENCE=4294967295;J.SIGHASH_DEFAULT=0;J.SIGHASH_ALL=1;J.SIGHASH_NONE=2;J.SIGHASH_SINGLE=3;J.SIGHASH_ANYONECANPAY=128;J.SIGHASH_OUTPUT_MASK=3;J.SIGHASH_INPUT_MASK=128;J.ADVANCED_TRANSACTION_MARKER=0;J.ADVANCED_TRANSACTION_FLAG=1;var ae={},En={};Object.defineProperty(En,"__esModule",{value:!0});const Su=9007199254740991;function Fs(e){if(e<0||e>Su||e%1!==0)throw new RangeError("value out of range")}function cn(e,t,r){if(Fs(e),t||(t=Buffer.allocUnsafe(Fa(e))),!Buffer.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");return r||(r=0),e<253?(t.writeUInt8(e,r),Object.assign(cn,{bytes:1})):e<=65535?(t.writeUInt8(253,r),t.writeUInt16LE(e,r+1),Object.assign(cn,{bytes:3})):e<=4294967295?(t.writeUInt8(254,r),t.writeUInt32LE(e,r+1),Object.assign(cn,{bytes:5})):(t.writeUInt8(255,r),t.writeUInt32LE(e>>>0,r+1),t.writeUInt32LE(e/4294967296|0,r+5),Object.assign(cn,{bytes:9})),t}En.encode=cn;function fn(e,t){if(!Buffer.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");t||(t=0);const r=e.readUInt8(t);if(r<253)return Object.assign(fn,{bytes:1}),r;if(r===253)return Object.assign(fn,{bytes:3}),e.readUInt16LE(t+1);if(r===254)return Object.assign(fn,{bytes:5}),e.readUInt32LE(t+1);{Object.assign(fn,{bytes:9});const n=e.readUInt32LE(t+1),s=e.readUInt32LE(t+5)*4294967296+n;return Fs(s),s}}En.decode=fn;function Fa(e){return Fs(e),e<253?1:e<=65535?3:e<=4294967295?5:9}En.encodingLength=Fa;var Gi={},ui={},Ne={};Object.defineProperty(Ne,"__esModule",{value:!0});Ne.testnet=Ne.regtest=Ne.bitcoin=void 0;Ne.bitcoin={messagePrefix:`Bitcoin Signed Message:
7
7
  `,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};Ne.regtest={messagePrefix:`Bitcoin Signed Message:
8
8
  `,bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};Ne.testnet={messagePrefix:`Bitcoin Signed Message:
9
- `,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Ye={};Object.defineProperty(Ye,"__esModule",{value:!0});Ye.value=Ye.prop=void 0;function Su(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){const n=r.call(this);return this[t]=n,n},set(n){Object.defineProperty(this,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}})}Ye.prop=Su;function Au(e){let t;return()=>(t!==void 0||(t=e()),t)}Ye.value=Au;Object.defineProperty(ui,"__esModule",{value:!0});ui.p2data=void 0;const ku=Ne,qn=Xe(),ot=Fe,ho=Ye,po=qn.OPS;function Tu(e,t){if(!e.data&&!e.output)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,ot.typeforce)({network:ot.typeforce.maybe(ot.typeforce.Object),output:ot.typeforce.maybe(ot.typeforce.Buffer),data:ot.typeforce.maybe(ot.typeforce.arrayOf(ot.typeforce.Buffer))},e);const n={name:"embed",network:e.network||ku.bitcoin};if(ho.prop(n,"output",()=>{if(e.data)return qn.compile([po.OP_RETURN].concat(e.data))}),ho.prop(n,"data",()=>{if(e.output)return qn.decompile(e.output).slice(1)}),t.validate&&e.output){const i=qn.decompile(e.output);if(i[0]!==po.OP_RETURN)throw new TypeError("Output is invalid");if(!i.slice(1).every(ot.typeforce.Buffer))throw new TypeError("Output is invalid");if(e.data&&!(0,ot.stacksEqual)(e.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,e)}ui.p2data=Tu;var li={};Object.defineProperty(li,"__esModule",{value:!0});li.p2ms=void 0;const Bu=Ne,xr=Xe(),xe=Fe,Ft=Ye,Sr=xr.OPS,Un=Sr.OP_RESERVED;function Iu(e,t){if(!e.input&&!e.output&&!(e.pubkeys&&e.m!==void 0)&&!e.signatures)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{});function r(u){return xr.isCanonicalScriptSignature(u)||(t.allowIncomplete&&u===Sr.OP_0)!==void 0}(0,xe.typeforce)({network:xe.typeforce.maybe(xe.typeforce.Object),m:xe.typeforce.maybe(xe.typeforce.Number),n:xe.typeforce.maybe(xe.typeforce.Number),output:xe.typeforce.maybe(xe.typeforce.Buffer),pubkeys:xe.typeforce.maybe(xe.typeforce.arrayOf(xe.isPoint)),signatures:xe.typeforce.maybe(xe.typeforce.arrayOf(r)),input:xe.typeforce.maybe(xe.typeforce.Buffer)},e);const i={network:e.network||Bu.bitcoin};let s=[],o=!1;function a(u){o||(o=!0,s=xr.decompile(u),i.m=s[0]-Un,i.n=s[s.length-2]-Un,i.pubkeys=s.slice(1,-2))}if(Ft.prop(i,"output",()=>{if(e.m&&i.n&&e.pubkeys)return xr.compile([].concat(Un+e.m,e.pubkeys,Un+i.n,Sr.OP_CHECKMULTISIG))}),Ft.prop(i,"m",()=>{if(i.output)return a(i.output),i.m}),Ft.prop(i,"n",()=>{if(i.pubkeys)return i.pubkeys.length}),Ft.prop(i,"pubkeys",()=>{if(e.output)return a(e.output),i.pubkeys}),Ft.prop(i,"signatures",()=>{if(e.input)return xr.decompile(e.input).slice(1)}),Ft.prop(i,"input",()=>{if(e.signatures)return xr.compile([Sr.OP_0].concat(e.signatures))}),Ft.prop(i,"witness",()=>{if(i.input)return[]}),Ft.prop(i,"name",()=>{if(!(!i.m||!i.n))return`p2ms(${i.m} of ${i.n})`}),t.validate){if(e.output){if(a(e.output),!xe.typeforce.Number(s[0]))throw new TypeError("Output is invalid");if(!xe.typeforce.Number(s[s.length-2]))throw new TypeError("Output is invalid");if(s[s.length-1]!==Sr.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(i.m<=0||i.n>16||i.m>i.n||i.n!==s.length-3)throw new TypeError("Output is invalid");if(!i.pubkeys.every(u=>(0,xe.isPoint)(u)))throw new TypeError("Output is invalid");if(e.m!==void 0&&e.m!==i.m)throw new TypeError("m mismatch");if(e.n!==void 0&&e.n!==i.n)throw new TypeError("n mismatch");if(e.pubkeys&&!(0,xe.stacksEqual)(e.pubkeys,i.pubkeys))throw new TypeError("Pubkeys mismatch")}if(e.pubkeys){if(e.n!==void 0&&e.n!==e.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(i.n=e.pubkeys.length,i.n<i.m)throw new TypeError("Pubkey count cannot be less than m")}if(e.signatures){if(e.signatures.length<i.m)throw new TypeError("Not enough signatures provided");if(e.signatures.length>i.m)throw new TypeError("Too many signatures provided")}if(e.input){if(e.input[0]!==Sr.OP_0)throw new TypeError("Input is invalid");if(i.signatures.length===0||!i.signatures.every(r))throw new TypeError("Input has invalid signature(s)");if(e.signatures&&!(0,xe.stacksEqual)(e.signatures,i.signatures))throw new TypeError("Signature mismatch");if(e.m!==void 0&&e.m!==e.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(i,e)}li.p2ms=Iu;var hi={};Object.defineProperty(hi,"__esModule",{value:!0});hi.p2pk=void 0;const Pu=Ne,Ar=Xe(),nt=Fe,vr=Ye,yo=Ar.OPS;function Ou(e,t){if(!e.input&&!e.output&&!e.pubkey&&!e.input&&!e.signature)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,nt.typeforce)({network:nt.typeforce.maybe(nt.typeforce.Object),output:nt.typeforce.maybe(nt.typeforce.Buffer),pubkey:nt.typeforce.maybe(nt.isPoint),signature:nt.typeforce.maybe(Ar.isCanonicalScriptSignature),input:nt.typeforce.maybe(nt.typeforce.Buffer)},e);const r=vr.value(()=>Ar.decompile(e.input)),i={name:"p2pk",network:e.network||Pu.bitcoin};if(vr.prop(i,"output",()=>{if(e.pubkey)return Ar.compile([e.pubkey,yo.OP_CHECKSIG])}),vr.prop(i,"pubkey",()=>{if(e.output)return e.output.slice(1,-1)}),vr.prop(i,"signature",()=>{if(e.input)return r()[0]}),vr.prop(i,"input",()=>{if(e.signature)return Ar.compile([e.signature])}),vr.prop(i,"witness",()=>{if(i.input)return[]}),t.validate){if(e.output){if(e.output[e.output.length-1]!==yo.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,nt.isPoint)(i.pubkey))throw new TypeError("Output pubkey is invalid");if(e.pubkey&&!e.pubkey.equals(i.pubkey))throw new TypeError("Pubkey mismatch")}if(e.signature&&e.input&&!e.input.equals(i.input))throw new TypeError("Signature mismatch");if(e.input){if(r().length!==1)throw new TypeError("Input is invalid");if(!Ar.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,e)}hi.p2pk=Ou;var di={};function Ru(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,a=e.charAt(0),u=Math.log(o)/Math.log(256),h=Math.log(256)/Math.log(o);function d(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var I=0,B=0,T=0,R=p.length;T!==R&&p[T]===0;)T++,I++;for(var U=(R-T)*h+1>>>0,x=new Uint8Array(U);T!==R;){for(var g=p[T],S=0,E=U-1;(g!==0||S<B)&&E!==-1;E--,S++)g+=256*x[E]>>>0,x[E]=g%o>>>0,g=g/o>>>0;if(g!==0)throw new Error("Non-zero carry");B=S,T++}for(var H=U-B;H!==U&&x[H]===0;)H++;for(var M=a.repeat(I);H<U;++H)M+=e.charAt(x[H]);return M}function m(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;for(var I=0,B=0,T=0;p[I]===a;)B++,I++;for(var R=(p.length-I)*u+1>>>0,U=new Uint8Array(R);p[I];){var x=p.charCodeAt(I);if(x>255)return;var g=t[x];if(g===255)return;for(var S=0,E=R-1;(g!==0||S<T)&&E!==-1;E--,S++)g+=o*U[E]>>>0,U[E]=g%256>>>0,g=g/256>>>0;if(g!==0)throw new Error("Non-zero carry");T=S,I++}for(var H=R-T;H!==R&&U[H]===0;)H++;for(var M=new Uint8Array(B+(R-H)),O=B;H!==R;)M[O++]=U[H++];return M}function _(p){var I=m(p);if(I)return I;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:m,decode:_}}var Cu=Ru;const Uu=Cu,Lu="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var Nu=Uu(Lu),Vi=Nu,Fu=function(e){function t(s){var o=Uint8Array.from(s),a=e(o),u=o.length+4,h=new Uint8Array(u);return h.set(o,0),h.set(a.subarray(0,4),o.length),Vi.encode(h,u)}function r(s){var o=s.slice(0,-4),a=s.slice(-4),u=e(o);if(!(a[0]^u[0]|a[1]^u[1]|a[2]^u[2]|a[3]^u[3]))return o}function n(s){var o=Vi.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=Vi.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},{sha256:mo}=St,Hu=Fu;function Mu(e){return mo(mo(e))}var Hs=Hu(Mu);Object.defineProperty(di,"__esModule",{value:!0});di.p2pkh=void 0;const zi=Wt,Du=Ne,kr=Xe(),Me=Fe,mt=Ye,bo=Hs,Ht=kr.OPS;function $u(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,Me.typeforce)({network:Me.typeforce.maybe(Me.typeforce.Object),address:Me.typeforce.maybe(Me.typeforce.String),hash:Me.typeforce.maybe(Me.typeforce.BufferN(20)),output:Me.typeforce.maybe(Me.typeforce.BufferN(25)),pubkey:Me.typeforce.maybe(Me.isPoint),signature:Me.typeforce.maybe(kr.isCanonicalScriptSignature),input:Me.typeforce.maybe(Me.typeforce.Buffer)},e);const r=mt.value(()=>{const o=Buffer.from(bo.decode(e.address)),a=o.readUInt8(0),u=o.slice(1);return{version:a,hash:u}}),n=mt.value(()=>kr.decompile(e.input)),i=e.network||Du.bitcoin,s={name:"p2pkh",network:i};if(mt.prop(s,"address",()=>{if(!s.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(i.pubKeyHash,0),s.hash.copy(o,1),bo.encode(o)}),mt.prop(s,"hash",()=>{if(e.output)return e.output.slice(3,23);if(e.address)return r().hash;if(e.pubkey||s.pubkey)return zi.hash160(e.pubkey||s.pubkey)}),mt.prop(s,"output",()=>{if(s.hash)return kr.compile([Ht.OP_DUP,Ht.OP_HASH160,s.hash,Ht.OP_EQUALVERIFY,Ht.OP_CHECKSIG])}),mt.prop(s,"pubkey",()=>{if(e.input)return n()[1]}),mt.prop(s,"signature",()=>{if(e.input)return n()[0]}),mt.prop(s,"input",()=>{if(e.pubkey&&e.signature)return kr.compile([e.signature,e.pubkey])}),mt.prop(s,"witness",()=>{if(s.input)return[]}),t.validate){let o=Buffer.from([]);if(e.address){if(r().version!==i.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(r().hash.length!==20)throw new TypeError("Invalid address");o=r().hash}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==25||e.output[0]!==Ht.OP_DUP||e.output[1]!==Ht.OP_HASH160||e.output[2]!==20||e.output[23]!==Ht.OP_EQUALVERIFY||e.output[24]!==Ht.OP_CHECKSIG)throw new TypeError("Output is invalid");const a=e.output.slice(3,23);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.pubkey){const a=zi.hash160(e.pubkey);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.input){const a=n();if(a.length!==2)throw new TypeError("Input is invalid");if(!kr.isCanonicalScriptSignature(a[0]))throw new TypeError("Input has invalid signature");if(!(0,Me.isPoint)(a[1]))throw new TypeError("Input has invalid pubkey");if(e.signature&&!e.signature.equals(a[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(a[1]))throw new TypeError("Pubkey mismatch");const u=zi.hash160(a[1]);if(o.length>0&&!o.equals(u))throw new TypeError("Hash mismatch")}}return Object.assign(s,e)}di.p2pkh=$u;var pi={};Object.defineProperty(pi,"__esModule",{value:!0});pi.p2sh=void 0;const wo=Wt,ju=Ne,ft=Xe(),fe=Fe,at=Ye,go=Hs,Kr=ft.OPS;function Gu(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,fe.typeforce)({network:fe.typeforce.maybe(fe.typeforce.Object),address:fe.typeforce.maybe(fe.typeforce.String),hash:fe.typeforce.maybe(fe.typeforce.BufferN(20)),output:fe.typeforce.maybe(fe.typeforce.BufferN(23)),redeem:fe.typeforce.maybe({network:fe.typeforce.maybe(fe.typeforce.Object),output:fe.typeforce.maybe(fe.typeforce.Buffer),input:fe.typeforce.maybe(fe.typeforce.Buffer),witness:fe.typeforce.maybe(fe.typeforce.arrayOf(fe.typeforce.Buffer))}),input:fe.typeforce.maybe(fe.typeforce.Buffer),witness:fe.typeforce.maybe(fe.typeforce.arrayOf(fe.typeforce.Buffer))},e);let r=e.network;r||(r=e.redeem&&e.redeem.network||ju.bitcoin);const n={network:r},i=at.value(()=>{const a=Buffer.from(go.decode(e.address)),u=a.readUInt8(0),h=a.slice(1);return{version:u,hash:h}}),s=at.value(()=>ft.decompile(e.input)),o=at.value(()=>{const a=s(),u=a[a.length-1];return{network:r,output:u===Kr.OP_FALSE?Buffer.from([]):u,input:ft.compile(a.slice(0,-1)),witness:e.witness||[]}});if(at.prop(n,"address",()=>{if(!n.hash)return;const a=Buffer.allocUnsafe(21);return a.writeUInt8(n.network.scriptHash,0),n.hash.copy(a,1),go.encode(a)}),at.prop(n,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return i().hash;if(n.redeem&&n.redeem.output)return wo.hash160(n.redeem.output)}),at.prop(n,"output",()=>{if(n.hash)return ft.compile([Kr.OP_HASH160,n.hash,Kr.OP_EQUAL])}),at.prop(n,"redeem",()=>{if(e.input)return o()}),at.prop(n,"input",()=>{if(!(!e.redeem||!e.redeem.input||!e.redeem.output))return ft.compile([].concat(ft.decompile(e.redeem.input),e.redeem.output))}),at.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),at.prop(n,"name",()=>{const a=["p2sh"];return n.redeem!==void 0&&n.redeem.name!==void 0&&a.push(n.redeem.name),a.join("-")}),t.validate){let a=Buffer.from([]);if(e.address){if(i().version!==r.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(i().hash.length!==20)throw new TypeError("Invalid address");a=i().hash}if(e.hash){if(a.length>0&&!a.equals(e.hash))throw new TypeError("Hash mismatch");a=e.hash}if(e.output){if(e.output.length!==23||e.output[0]!==Kr.OP_HASH160||e.output[1]!==20||e.output[22]!==Kr.OP_EQUAL)throw new TypeError("Output is invalid");const h=e.output.slice(2,22);if(a.length>0&&!a.equals(h))throw new TypeError("Hash mismatch");a=h}const u=h=>{if(h.output){const d=ft.decompile(h.output);if(!d||d.length<1)throw new TypeError("Redeem.output too short");if(h.output.byteLength>520)throw new TypeError("Redeem.output unspendable if larger than 520 bytes");if(ft.countNonPushOnlyOPs(d)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const m=wo.hash160(h.output);if(a.length>0&&!a.equals(m))throw new TypeError("Hash mismatch");a=m}if(h.input){const d=h.input.length>0,m=h.witness&&h.witness.length>0;if(!d&&!m)throw new TypeError("Empty input");if(d&&m)throw new TypeError("Input and witness provided");if(d){const _=ft.decompile(h.input);if(!ft.isPushOnly(_))throw new TypeError("Non push-only scriptSig")}}};if(e.input){const h=s();if(!h||h.length<1)throw new TypeError("Input too short");if(!Buffer.isBuffer(o().output))throw new TypeError("Input is invalid");u(o())}if(e.redeem){if(e.redeem.network&&e.redeem.network!==r)throw new TypeError("Network mismatch");if(e.input){const h=o();if(e.redeem.output&&!e.redeem.output.equals(h.output))throw new TypeError("Redeem.output mismatch");if(e.redeem.input&&!e.redeem.input.equals(h.input))throw new TypeError("Redeem.input mismatch")}u(e.redeem)}if(e.witness&&e.redeem&&e.redeem.witness&&!(0,fe.stacksEqual)(e.redeem.witness,e.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,e)}pi.p2sh=Gu;var yi={},Tt={};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.bech32m=Tt.bech32=void 0;const ei="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Ha={};for(let e=0;e<ei.length;e++){const t=ei.charAt(e);Ha[t]=e}function Ir(e){const t=e>>25;return(e&33554431)<<5^-(t>>0&1)&996825010^-(t>>1&1)&642813549^-(t>>2&1)&513874426^-(t>>3&1)&1027748829^-(t>>4&1)&705979059}function _o(e){let t=1;for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);if(n<33||n>126)return"Invalid prefix ("+e+")";t=Ir(t)^n>>5}t=Ir(t);for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);t=Ir(t)^n&31}return t}function Ms(e,t,r,n){let i=0,s=0;const o=(1<<r)-1,a=[];for(let u=0;u<e.length;++u)for(i=i<<t|e[u],s+=t;s>=r;)s-=r,a.push(i>>s&o);if(n)s>0&&a.push(i<<r-s&o);else{if(s>=t)return"Excess padding";if(i<<r-s&o)return"Non-zero padding"}return a}function Vu(e){return Ms(e,8,5,!0)}function zu(e){const t=Ms(e,5,8,!1);if(Array.isArray(t))return t}function qu(e){const t=Ms(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}function Ma(e){let t;e==="bech32"?t=1:t=734539939;function r(o,a,u){if(u=u||90,o.length+7+a.length>u)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let h=_o(o);if(typeof h=="string")throw new Error(h);let d=o+"1";for(let m=0;m<a.length;++m){const _=a[m];if(_>>5)throw new Error("Non 5-bit word");h=Ir(h)^_,d+=ei.charAt(_)}for(let m=0;m<6;++m)h=Ir(h);h^=t;for(let m=0;m<6;++m){const _=h>>(5-m)*5&31;d+=ei.charAt(_)}return d}function n(o,a){if(a=a||90,o.length<8)return o+" too short";if(o.length>a)return"Exceeds length limit";const u=o.toLowerCase(),h=o.toUpperCase();if(o!==u&&o!==h)return"Mixed-case string "+o;o=u;const d=o.lastIndexOf("1");if(d===-1)return"No separator character for "+o;if(d===0)return"Missing prefix for "+o;const m=o.slice(0,d),_=o.slice(d+1);if(_.length<6)return"Data too short";let p=_o(m);if(typeof p=="string")return p;const I=[];for(let B=0;B<_.length;++B){const T=_.charAt(B),R=Ha[T];if(R===void 0)return"Unknown character "+T;p=Ir(p)^R,!(B+6>=_.length)&&I.push(R)}return p!==t?"Invalid checksum for "+o:{prefix:m,words:I}}function i(o,a){const u=n(o,a);if(typeof u=="object")return u}function s(o,a){const u=n(o,a);if(typeof u=="object")return u;throw new Error(u)}return{decodeUnsafe:i,decode:s,encode:r,toWords:Vu,fromWordsUnsafe:zu,fromWords:qu}}Tt.bech32=Ma("bech32");Tt.bech32m=Ma("bech32m");Object.defineProperty(yi,"__esModule",{value:!0});yi.p2wpkh=void 0;const qi=Wt,Wu=Ne,Wn=Xe(),ke=Fe,Mt=Ye,Ln=Tt,vo=Wn.OPS,Ku=Buffer.alloc(0);function Yu(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,ke.typeforce)({address:ke.typeforce.maybe(ke.typeforce.String),hash:ke.typeforce.maybe(ke.typeforce.BufferN(20)),input:ke.typeforce.maybe(ke.typeforce.BufferN(0)),network:ke.typeforce.maybe(ke.typeforce.Object),output:ke.typeforce.maybe(ke.typeforce.BufferN(22)),pubkey:ke.typeforce.maybe(ke.isPoint),signature:ke.typeforce.maybe(Wn.isCanonicalScriptSignature),witness:ke.typeforce.maybe(ke.typeforce.arrayOf(ke.typeforce.Buffer))},e);const r=Mt.value(()=>{const s=Ln.bech32.decode(e.address),o=s.words.shift(),a=Ln.bech32.fromWords(s.words);return{version:o,prefix:s.prefix,data:Buffer.from(a)}}),n=e.network||Wu.bitcoin,i={name:"p2wpkh",network:n};if(Mt.prop(i,"address",()=>{if(!i.hash)return;const s=Ln.bech32.toWords(i.hash);return s.unshift(0),Ln.bech32.encode(n.bech32,s)}),Mt.prop(i,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return r().data;if(e.pubkey||i.pubkey)return qi.hash160(e.pubkey||i.pubkey)}),Mt.prop(i,"output",()=>{if(i.hash)return Wn.compile([vo.OP_0,i.hash])}),Mt.prop(i,"pubkey",()=>{if(e.pubkey)return e.pubkey;if(e.witness)return e.witness[1]}),Mt.prop(i,"signature",()=>{if(e.witness)return e.witness[0]}),Mt.prop(i,"input",()=>{if(i.witness)return Ku}),Mt.prop(i,"witness",()=>{if(e.pubkey&&e.signature)return[e.signature,e.pubkey]}),t.validate){let s=Buffer.from([]);if(e.address){if(n&&n.bech32!==r().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==20)throw new TypeError("Invalid address data");s=r().data}if(e.hash){if(s.length>0&&!s.equals(e.hash))throw new TypeError("Hash mismatch");s=e.hash}if(e.output){if(e.output.length!==22||e.output[0]!==vo.OP_0||e.output[1]!==20)throw new TypeError("Output is invalid");if(s.length>0&&!s.equals(e.output.slice(2)))throw new TypeError("Hash mismatch");s=e.output.slice(2)}if(e.pubkey){const o=qi.hash160(e.pubkey);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch");if(s=o,!(0,ke.isPoint)(e.pubkey)||e.pubkey.length!==33)throw new TypeError("Invalid pubkey for p2wpkh")}if(e.witness){if(e.witness.length!==2)throw new TypeError("Witness is invalid");if(!Wn.isCanonicalScriptSignature(e.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,ke.isPoint)(e.witness[1])||e.witness[1].length!==33)throw new TypeError("Witness has invalid pubkey");if(e.signature&&!e.signature.equals(e.witness[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(e.witness[1]))throw new TypeError("Pubkey mismatch");const o=qi.hash160(e.witness[1]);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(i,e)}yi.p2wpkh=Yu;var mi={};Object.defineProperty(mi,"__esModule",{value:!0});mi.p2wsh=void 0;const Eo=Wt,Xu=Ne,_t=Xe(),ce=Fe,bt=Ye,Nn=Tt,xo=_t.OPS,Wi=Buffer.alloc(0);function Fn(e){return!!(Buffer.isBuffer(e)&&e.length===65&&e[0]===4&&(0,ce.isPoint)(e))}function Ju(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,ce.typeforce)({network:ce.typeforce.maybe(ce.typeforce.Object),address:ce.typeforce.maybe(ce.typeforce.String),hash:ce.typeforce.maybe(ce.typeforce.BufferN(32)),output:ce.typeforce.maybe(ce.typeforce.BufferN(34)),redeem:ce.typeforce.maybe({input:ce.typeforce.maybe(ce.typeforce.Buffer),network:ce.typeforce.maybe(ce.typeforce.Object),output:ce.typeforce.maybe(ce.typeforce.Buffer),witness:ce.typeforce.maybe(ce.typeforce.arrayOf(ce.typeforce.Buffer))}),input:ce.typeforce.maybe(ce.typeforce.BufferN(0)),witness:ce.typeforce.maybe(ce.typeforce.arrayOf(ce.typeforce.Buffer))},e);const r=bt.value(()=>{const o=Nn.bech32.decode(e.address),a=o.words.shift(),u=Nn.bech32.fromWords(o.words);return{version:a,prefix:o.prefix,data:Buffer.from(u)}}),n=bt.value(()=>_t.decompile(e.redeem.input));let i=e.network;i||(i=e.redeem&&e.redeem.network||Xu.bitcoin);const s={network:i};if(bt.prop(s,"address",()=>{if(!s.hash)return;const o=Nn.bech32.toWords(s.hash);return o.unshift(0),Nn.bech32.encode(i.bech32,o)}),bt.prop(s,"hash",()=>{if(e.output)return e.output.slice(2);if(e.address)return r().data;if(s.redeem&&s.redeem.output)return Eo.sha256(s.redeem.output)}),bt.prop(s,"output",()=>{if(s.hash)return _t.compile([xo.OP_0,s.hash])}),bt.prop(s,"redeem",()=>{if(e.witness)return{output:e.witness[e.witness.length-1],input:Wi,witness:e.witness.slice(0,-1)}}),bt.prop(s,"input",()=>{if(s.witness)return Wi}),bt.prop(s,"witness",()=>{if(e.redeem&&e.redeem.input&&e.redeem.input.length>0&&e.redeem.output&&e.redeem.output.length>0){const o=_t.toStack(n());return s.redeem=Object.assign({witness:o},e.redeem),s.redeem.input=Wi,[].concat(o,e.redeem.output)}if(e.redeem&&e.redeem.output&&e.redeem.witness)return[].concat(e.redeem.witness,e.redeem.output)}),bt.prop(s,"name",()=>{const o=["p2wsh"];return s.redeem!==void 0&&s.redeem.name!==void 0&&o.push(s.redeem.name),o.join("-")}),t.validate){let o=Buffer.from([]);if(e.address){if(r().prefix!==i.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==32)throw new TypeError("Invalid address data");o=r().data}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==34||e.output[0]!==xo.OP_0||e.output[1]!==32)throw new TypeError("Output is invalid");const a=e.output.slice(2);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.redeem){if(e.redeem.network&&e.redeem.network!==i)throw new TypeError("Network mismatch");if(e.redeem.input&&e.redeem.input.length>0&&e.redeem.witness&&e.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(e.redeem.output){const a=_t.decompile(e.redeem.output);if(!a||a.length<1)throw new TypeError("Redeem.output is invalid");if(e.redeem.output.byteLength>3600)throw new TypeError("Redeem.output unspendable if larger than 3600 bytes");if(_t.countNonPushOnlyOPs(a)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const u=Eo.sha256(e.redeem.output);if(o.length>0&&!o.equals(u))throw new TypeError("Hash mismatch");o=u}if(e.redeem.input&&!_t.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(e.witness&&e.redeem.witness&&!(0,ce.stacksEqual)(e.witness,e.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(e.redeem.input&&n().some(Fn)||e.redeem.output&&(_t.decompile(e.redeem.output)||[]).some(Fn))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(e.witness&&e.witness.length>0){const a=e.witness[e.witness.length-1];if(e.redeem&&e.redeem.output&&!e.redeem.output.equals(a))throw new TypeError("Witness and redeem.output mismatch");if(e.witness.some(Fn)||(_t.decompile(a)||[]).some(Fn))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(s,e)}mi.p2wsh=Ju;var Yr={},ar={};Object.defineProperty(ar,"__esModule",{value:!0});ar.getEccLib=ar.initEccLib=void 0;const ln={};function Qu(e,t){e?e!==ln.eccLib&&(t!=null&&t.DANGER_DO_NOT_VERIFY_ECCLIB||el(e),ln.eccLib=e):ln.eccLib=e}ar.initEccLib=Qu;function Zu(){if(!ln.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return ln.eccLib}ar.getEccLib=Zu;const wt=e=>Buffer.from(e,"hex");function el(e){Qe(typeof e.isXOnlyPoint=="function"),Qe(e.isXOnlyPoint(wt("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),Qe(e.isXOnlyPoint(wt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),Qe(e.isXOnlyPoint(wt("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),Qe(e.isXOnlyPoint(wt("0000000000000000000000000000000000000000000000000000000000000001"))),Qe(!e.isXOnlyPoint(wt("0000000000000000000000000000000000000000000000000000000000000000"))),Qe(!e.isXOnlyPoint(wt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),Qe(typeof e.xOnlyPointAddTweak=="function"),tl.forEach(t=>{const r=e.xOnlyPointAddTweak(wt(t.pubkey),wt(t.tweak));t.result===null?Qe(r===null):(Qe(r!==null),Qe(r.parity===t.parity),Qe(Buffer.from(r.xOnlyPubkey).equals(wt(t.result))))})}function Qe(e){if(!e)throw new Error("ecc library invalid")}const tl=[{pubkey:"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",tweak:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",parity:-1,result:null},{pubkey:"1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b",tweak:"a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac",parity:1,result:"e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"},{pubkey:"2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991",tweak:"823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47",parity:0,result:"9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"}];var Ds={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.tweakKey=e.tapTweakHash=e.tapleafHash=e.findScriptPath=e.toHashTree=e.rootHashFromPath=e.MAX_TAPTREE_DEPTH=e.LEAF_VERSION_TAPSCRIPT=void 0;const t=It,r=ar,n=Wt,i=Pe,s=Fe;e.LEAF_VERSION_TAPSCRIPT=192,e.MAX_TAPTREE_DEPTH=128;const o=B=>"left"in B&&"right"in B;function a(B,T){if(B.length<33)throw new TypeError(`The control-block length is too small. Got ${B.length}, expected min 33.`);const R=(B.length-33)/32;let U=T;for(let x=0;x<R;x++){const g=B.slice(33+32*x,65+32*x);U.compare(g)<0?U=p(U,g):U=p(g,U)}return U}e.rootHashFromPath=a;function u(B){if((0,s.isTapleaf)(B))return{hash:d(B)};const T=[u(B[0]),u(B[1])];T.sort((x,g)=>x.hash.compare(g.hash));const[R,U]=T;return{hash:p(R.hash,U.hash),left:R,right:U}}e.toHashTree=u;function h(B,T){if(o(B)){const R=h(B.left,T);if(R!==void 0)return[...R,B.right.hash];const U=h(B.right,T);if(U!==void 0)return[...U,B.left.hash]}else if(B.hash.equals(T))return[]}e.findScriptPath=h;function d(B){const T=B.version||e.LEAF_VERSION_TAPSCRIPT;return n.taggedHash("TapLeaf",t.Buffer.concat([t.Buffer.from([T]),I(B.output)]))}e.tapleafHash=d;function m(B,T){return n.taggedHash("TapTweak",t.Buffer.concat(T?[B,T]:[B]))}e.tapTweakHash=m;function _(B,T){if(!t.Buffer.isBuffer(B)||B.length!==32||T&&T.length!==32)return null;const R=m(B,T),U=(0,r.getEccLib)().xOnlyPointAddTweak(B,R);return!U||U.xOnlyPubkey===null?null:{parity:U.parity,x:t.Buffer.from(U.xOnlyPubkey)}}e.tweakKey=_;function p(B,T){return n.taggedHash("TapBranch",t.Buffer.concat([B,T]))}function I(B){const T=i.varuint.encodingLength(B.length),R=t.Buffer.allocUnsafe(T);return i.varuint.encode(B.length,R),t.Buffer.concat([R,B])}})(Ds);var De={},So;function rl(){if(So)return De;So=1,Object.defineProperty(De,"__esModule",{value:!0}),De.toOutputScript=De.fromOutputScript=De.toBech32=De.toBase58Check=De.fromBech32=De.fromBase58Check=void 0;const e=Ne,t=$s(),r=Xe(),n=Fe,i=Tt,s=Hs,o=40,a=2,u=16,h=2,d=80,m="WARNING: Sending to a future segwit version address can lead to loss of funds. End users MUST be warned carefully in the GUI and asked if they wish to proceed with caution. Wallets should verify the segwit version from the output of fromBech32, then decide when it is safe to use which version of segwit.";function _(x,g){const S=x.slice(2);if(S.length<a||S.length>o)throw new TypeError("Invalid program length for segwit address");const E=x[0]-d;if(E<h||E>u)throw new TypeError("Invalid version for segwit address");if(x[1]!==S.length)throw new TypeError("Invalid script for segwit address");return console.warn(m),T(S,E,g.bech32)}function p(x){const g=Buffer.from(s.decode(x));if(g.length<21)throw new TypeError(x+" is too short");if(g.length>21)throw new TypeError(x+" is too long");const S=g.readUInt8(0),E=g.slice(1);return{version:S,hash:E}}De.fromBase58Check=p;function I(x){let g,S;try{g=i.bech32.decode(x)}catch{}if(g){if(S=g.words[0],S!==0)throw new TypeError(x+" uses wrong encoding")}else if(g=i.bech32m.decode(x),S=g.words[0],S===0)throw new TypeError(x+" uses wrong encoding");const E=i.bech32.fromWords(g.words.slice(1));return{version:S,prefix:g.prefix,data:Buffer.from(E)}}De.fromBech32=I;function B(x,g){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const S=Buffer.allocUnsafe(21);return S.writeUInt8(g,0),x.copy(S,1),s.encode(S)}De.toBase58Check=B;function T(x,g,S){const E=i.bech32.toWords(x);return E.unshift(g),g===0?i.bech32.encode(S,E):i.bech32m.encode(S,E)}De.toBech32=T;function R(x,g){g=g||e.bitcoin;try{return t.p2pkh({output:x,network:g}).address}catch{}try{return t.p2sh({output:x,network:g}).address}catch{}try{return t.p2wpkh({output:x,network:g}).address}catch{}try{return t.p2wsh({output:x,network:g}).address}catch{}try{return t.p2tr({output:x,network:g}).address}catch{}try{return _(x,g)}catch{}throw new Error(r.toASM(x)+" has no matching Address")}De.fromOutputScript=R;function U(x,g){g=g||e.bitcoin;let S,E;try{S=p(x)}catch{}if(S){if(S.version===g.pubKeyHash)return t.p2pkh({hash:S.hash}).output;if(S.version===g.scriptHash)return t.p2sh({hash:S.hash}).output}else{try{E=I(x)}catch{}if(E){if(E.prefix!==g.bech32)throw new Error(x+" has an invalid prefix");if(E.version===0){if(E.data.length===20)return t.p2wpkh({hash:E.data}).output;if(E.data.length===32)return t.p2wsh({hash:E.data}).output}else if(E.version===1){if(E.data.length===32)return t.p2tr({pubkey:E.data}).output}else if(E.version>=h&&E.version<=u&&E.data.length>=a&&E.data.length<=o)return console.warn(m),r.compile([E.version+d,E.data])}}throw new Error(x+" has no matching Script")}return De.toOutputScript=U,De}var Ao;function nl(){if(Ao)return Yr;Ao=1,Object.defineProperty(Yr,"__esModule",{value:!0}),Yr.p2tr=void 0;const e=It,t=Ne,r=Xe(),n=Fe,i=ar,s=Ds,o=Ye,a=Tt,u=rl(),h=r.OPS,d=1,m=80;function _(p,I){if(!p.address&&!p.output&&!p.pubkey&&!p.internalPubkey&&!(p.witness&&p.witness.length>1))throw new TypeError("Not enough data");I=Object.assign({validate:!0},I||{}),(0,n.typeforce)({address:n.typeforce.maybe(n.typeforce.String),input:n.typeforce.maybe(n.typeforce.BufferN(0)),network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.BufferN(34)),internalPubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),hash:n.typeforce.maybe(n.typeforce.BufferN(32)),pubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),signature:n.typeforce.maybe(n.typeforce.anyOf(n.typeforce.BufferN(64),n.typeforce.BufferN(65))),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer)),scriptTree:n.typeforce.maybe(n.isTaptree),redeem:n.typeforce.maybe({output:n.typeforce.maybe(n.typeforce.Buffer),redeemVersion:n.typeforce.maybe(n.typeforce.Number),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer))}),redeemVersion:n.typeforce.maybe(n.typeforce.Number)},p);const B=o.value(()=>(0,u.fromBech32)(p.address)),T=o.value(()=>{if(!(!p.witness||!p.witness.length))return p.witness.length>=2&&p.witness[p.witness.length-1][0]===m?p.witness.slice(0,-1):p.witness.slice()}),R=o.value(()=>{if(p.scriptTree)return(0,s.toHashTree)(p.scriptTree);if(p.hash)return{hash:p.hash}}),U=p.network||t.bitcoin,x={name:"p2tr",network:U};if(o.prop(x,"address",()=>{if(!x.pubkey)return;const g=a.bech32m.toWords(x.pubkey);return g.unshift(d),a.bech32m.encode(U.bech32,g)}),o.prop(x,"hash",()=>{const g=R();if(g)return g.hash;const S=T();if(S&&S.length>1){const E=S[S.length-1],H=E[0]&n.TAPLEAF_VERSION_MASK,M=S[S.length-2],O=(0,s.tapleafHash)({output:M,version:H});return(0,s.rootHashFromPath)(E,O)}return null}),o.prop(x,"output",()=>{if(x.pubkey)return r.compile([h.OP_1,x.pubkey])}),o.prop(x,"redeemVersion",()=>p.redeemVersion?p.redeemVersion:p.redeem&&p.redeem.redeemVersion!==void 0&&p.redeem.redeemVersion!==null?p.redeem.redeemVersion:s.LEAF_VERSION_TAPSCRIPT),o.prop(x,"redeem",()=>{const g=T();if(!(!g||g.length<2))return{output:g[g.length-2],witness:g.slice(0,-2),redeemVersion:g[g.length-1][0]&n.TAPLEAF_VERSION_MASK}}),o.prop(x,"pubkey",()=>{if(p.pubkey)return p.pubkey;if(p.output)return p.output.slice(2);if(p.address)return B().data;if(x.internalPubkey){const g=(0,s.tweakKey)(x.internalPubkey,x.hash);if(g)return g.x}}),o.prop(x,"internalPubkey",()=>{if(p.internalPubkey)return p.internalPubkey;const g=T();if(g&&g.length>1)return g[g.length-1].slice(1,33)}),o.prop(x,"signature",()=>{if(p.signature)return p.signature;const g=T();if(!(!g||g.length!==1))return g[0]}),o.prop(x,"witness",()=>{if(p.witness)return p.witness;const g=R();if(g&&p.redeem&&p.redeem.output&&p.internalPubkey){const S=(0,s.tapleafHash)({output:p.redeem.output,version:x.redeemVersion}),E=(0,s.findScriptPath)(g,S);if(!E)return;const H=(0,s.tweakKey)(p.internalPubkey,g.hash);if(!H)return;const M=e.Buffer.concat([e.Buffer.from([x.redeemVersion|H.parity]),p.internalPubkey].concat(E));return[p.redeem.output,M]}if(p.signature)return[p.signature]}),I.validate){let g=e.Buffer.from([]);if(p.address){if(U&&U.bech32!==B().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(B().version!==d)throw new TypeError("Invalid address version");if(B().data.length!==32)throw new TypeError("Invalid address data");g=B().data}if(p.pubkey){if(g.length>0&&!g.equals(p.pubkey))throw new TypeError("Pubkey mismatch");g=p.pubkey}if(p.output){if(p.output.length!==34||p.output[0]!==h.OP_1||p.output[1]!==32)throw new TypeError("Output is invalid");if(g.length>0&&!g.equals(p.output.slice(2)))throw new TypeError("Pubkey mismatch");g=p.output.slice(2)}if(p.internalPubkey){const H=(0,s.tweakKey)(p.internalPubkey,x.hash);if(g.length>0&&!g.equals(H.x))throw new TypeError("Pubkey mismatch");g=H.x}if(g&&g.length&&!(0,i.getEccLib)().isXOnlyPoint(g))throw new TypeError("Invalid pubkey for p2tr");const S=R();if(p.hash&&S&&!p.hash.equals(S.hash))throw new TypeError("Hash mismatch");if(p.redeem&&p.redeem.output&&S){const H=(0,s.tapleafHash)({output:p.redeem.output,version:x.redeemVersion});if(!(0,s.findScriptPath)(S,H))throw new TypeError("Redeem script not in tree")}const E=T();if(p.redeem&&x.redeem){if(p.redeem.redeemVersion&&p.redeem.redeemVersion!==x.redeem.redeemVersion)throw new TypeError("Redeem.redeemVersion and witness mismatch");if(p.redeem.output){if(r.decompile(p.redeem.output).length===0)throw new TypeError("Redeem.output is invalid");if(x.redeem.output&&!p.redeem.output.equals(x.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(p.redeem.witness&&x.redeem.witness&&!(0,n.stacksEqual)(p.redeem.witness,x.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(E&&E.length)if(E.length===1){if(p.signature&&!p.signature.equals(E[0]))throw new TypeError("Signature mismatch")}else{const H=E[E.length-1];if(H.length<33)throw new TypeError(`The control-block length is too small. Got ${H.length}, expected min 33.`);if((H.length-33)%32!==0)throw new TypeError(`The control-block length of ${H.length} is incorrect!`);const M=(H.length-33)/32;if(M>128)throw new TypeError(`The script path is too long. Got ${M}, expected max 128.`);const O=H.slice(1,33);if(p.internalPubkey&&!p.internalPubkey.equals(O))throw new TypeError("Internal pubkey mismatch");if(!(0,i.getEccLib)().isXOnlyPoint(O))throw new TypeError("Invalid internalPubkey for p2tr witness");const K=H[0]&n.TAPLEAF_VERSION_MASK,C=E[E.length-2],j=(0,s.tapleafHash)({output:C,version:K}),G=(0,s.rootHashFromPath)(H,j),z=(0,s.tweakKey)(O,G);if(!z)throw new TypeError("Invalid outputKey for p2tr witness");if(g.length&&!g.equals(z.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(z.parity!==(H[0]&1))throw new Error("Incorrect parity")}}return Object.assign(x,p)}return Yr.p2tr=_,Yr}var ko;function $s(){return ko||(ko=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.p2tr=e.p2wsh=e.p2wpkh=e.p2sh=e.p2pkh=e.p2pk=e.p2ms=e.embed=void 0;const t=ui;Object.defineProperty(e,"embed",{enumerable:!0,get:function(){return t.p2data}});const r=li;Object.defineProperty(e,"p2ms",{enumerable:!0,get:function(){return r.p2ms}});const n=hi;Object.defineProperty(e,"p2pk",{enumerable:!0,get:function(){return n.p2pk}});const i=di;Object.defineProperty(e,"p2pkh",{enumerable:!0,get:function(){return i.p2pkh}});const s=pi;Object.defineProperty(e,"p2sh",{enumerable:!0,get:function(){return s.p2sh}});const o=yi;Object.defineProperty(e,"p2wpkh",{enumerable:!0,get:function(){return o.p2wpkh}});const a=mi;Object.defineProperty(e,"p2wsh",{enumerable:!0,get:function(){return a.p2wsh}});const u=nl();Object.defineProperty(e,"p2tr",{enumerable:!0,get:function(){return u.p2tr}})}(Gi)),Gi}Object.defineProperty(ae,"__esModule",{value:!0});ae.signatureBlocksAction=ae.checkInputForSig=ae.pubkeyInScript=ae.pubkeyPositionInScript=ae.witnessStackToScriptWitness=ae.isP2TR=ae.isP2SHScript=ae.isP2WSHScript=ae.isP2WPKH=ae.isP2PKH=ae.isP2PK=ae.isP2MS=void 0;const To=En,hn=Xe(),Hn=_n,il=Wt,dr=$s();function pr(e){return t=>{try{return e({output:t}),!0}catch{return!1}}}ae.isP2MS=pr(dr.p2ms);ae.isP2PK=pr(dr.p2pk);ae.isP2PKH=pr(dr.p2pkh);ae.isP2WPKH=pr(dr.p2wpkh);ae.isP2WSHScript=pr(dr.p2wsh);ae.isP2SHScript=pr(dr.p2sh);ae.isP2TR=pr(dr.p2tr);function sl(e){let t=Buffer.allocUnsafe(0);function r(o){t=Buffer.concat([t,Buffer.from(o)])}function n(o){const a=t.length,u=To.encodingLength(o);t=Buffer.concat([t,Buffer.allocUnsafe(u)]),To.encode(o,t,a)}function i(o){n(o.length),r(o)}function s(o){n(o.length),o.forEach(i)}return s(e),t}ae.witnessStackToScriptWitness=sl;function Da(e,t){const r=(0,il.hash160)(e),n=e.slice(1,33),i=hn.decompile(t);if(i===null)throw new Error("Unknown script error");return i.findIndex(s=>typeof s=="number"?!1:s.equals(e)||s.equals(r)||s.equals(n))}ae.pubkeyPositionInScript=Da;function ol(e,t){return Da(e,t)!==-1}ae.pubkeyInScript=ol;function al(e,t){return cl(e).some(n=>$a(n,hn.signature.decode,t))}ae.checkInputForSig=al;function $a(e,t,r){const{hashType:n}=t(e),i=[];switch(n&Hn.Transaction.SIGHASH_ANYONECANPAY&&i.push("addInput"),n&31){case Hn.Transaction.SIGHASH_ALL:break;case Hn.Transaction.SIGHASH_SINGLE:case Hn.Transaction.SIGHASH_NONE:i.push("addOutput"),i.push("setInputSequence");break}return i.indexOf(r)===-1}ae.signatureBlocksAction=$a;function cl(e){let t=[];if((e.partialSig||[]).length===0){if(!e.finalScriptSig&&!e.finalScriptWitness)return[];t=fl(e)}else t=e.partialSig;return t.map(r=>r.signature)}function fl(e){const t=e.finalScriptSig?hn.decompile(e.finalScriptSig)||[]:[],r=e.finalScriptWitness?hn.decompile(e.finalScriptWitness)||[]:[];return t.concat(r).filter(n=>Buffer.isBuffer(n)&&hn.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(we,"__esModule",{value:!0});we.checkTaprootInputForSigs=we.tapTreeFromList=we.tapTreeToList=we.tweakInternalPubKey=we.checkTaprootOutputFields=we.checkTaprootInputFields=we.isTaprootOutput=we.isTaprootInput=Kn=we.serializeTaprootSignature=we.tapScriptFinalizer=we.toXOnly=void 0;const js=Fe,ul=_n,bi=ae,qt=Ds,ll=$s(),hl=ae,dl=e=>e.length===32?e:e.slice(1,33);we.toXOnly=dl;function pl(e,t,r){const n=Rl(t,e,r);try{const s=Pl(t,n).concat(n.script).concat(n.controlBlock);return{finalScriptWitness:(0,bi.witnessStackToScriptWitness)(s)}}catch(i){throw new Error(`Can not finalize taproot input #${e}: ${i}`)}}we.tapScriptFinalizer=pl;function yl(e,t){const r=t?Buffer.from([t]):Buffer.from([]);return Buffer.concat([e,r])}var Kn=we.serializeTaprootSignature=yl;function Yn(e){return e&&!!(e.tapInternalKey||e.tapMerkleRoot||e.tapLeafScript&&e.tapLeafScript.length||e.tapBip32Derivation&&e.tapBip32Derivation.length||e.witnessUtxo&&(0,bi.isP2TR)(e.witnessUtxo.script))}we.isTaprootInput=Yn;function Xn(e,t){return e&&!!(e.tapInternalKey||e.tapTree||e.tapBip32Derivation&&e.tapBip32Derivation.length||t&&(0,bi.isP2TR)(t))}we.isTaprootOutput=Xn;function ml(e,t,r){Tl(e,t,r),Il(e,t,r)}we.checkTaprootInputFields=ml;function bl(e,t,r){Bl(e,t,r),wl(e,t)}we.checkTaprootOutputFields=bl;function wl(e,t){if(!t.tapTree&&!t.tapInternalKey)return;const r=t.tapInternalKey||e.tapInternalKey,n=t.tapTree||e.tapTree;if(r){const{script:i}=e,s=gl(r,n);if(i&&!i.equals(s))throw new Error("Error adding output. Script or address missmatch.")}}function gl(e,t){const r=t&&ja(t.leaves),{output:n}=(0,ll.p2tr)({internalPubkey:e,scriptTree:r});return n}function _l(e,t){const r=t.tapInternalKey,n=r&&(0,qt.tweakKey)(r,t.tapMerkleRoot);if(!n)throw new Error(`Cannot tweak tap internal key for input #${e}. Public key: ${r&&r.toString("hex")}`);return n.x}we.tweakInternalPubKey=_l;function vl(e){if(!(0,js.isTaptree)(e))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return ys(e)}we.tapTreeToList=vl;function ja(e=[]){return e.length===1&&e[0].depth===0?{output:e[0].script,version:e[0].leafVersion}:kl(e)}we.tapTreeFromList=ja;function El(e,t){return Sl(e).some(n=>(0,hl.signatureBlocksAction)(n,xl,t))}we.checkTaprootInputForSigs=El;function xl(e){return{signature:e.slice(0,64),hashType:e.slice(64)[0]||ul.Transaction.SIGHASH_DEFAULT}}function Sl(e){const t=[];if(e.tapKeySig&&t.push(e.tapKeySig),e.tapScriptSig&&t.push(...e.tapScriptSig.map(r=>r.signature)),!t.length){const r=Al(e.finalScriptWitness);r&&t.push(r)}return t}function Al(e){if(!e)return;const t=e.slice(2);if(t.length===64||t.length===65)return t}function ys(e,t=[],r=0){if(r>qt.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return e?(0,js.isTapleaf)(e)?(t.push({depth:r,leafVersion:e.version||qt.LEAF_VERSION_TAPSCRIPT,script:e.output}),t):(e[0]&&ys(e[0],t,r+1),e[1]&&ys(e[1],t,r+1),t):[]}function kl(e){let t;for(const r of e)if(t=ms(r,t),!t)throw new Error("No room left to insert tapleaf in tree");return t}function ms(e,t,r=0){if(r>qt.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");if(e.depth===r)return t?void 0:{output:e.script,version:e.leafVersion};if((0,js.isTapleaf)(t))return;const n=ms(e,t&&t[0],r+1);if(n)return[n,t&&t[1]];const i=ms(e,t&&t[1],r+1);if(i)return[t&&t[0],i]}function Tl(e,t,r){const n=Yn(e)&&Pr(t),i=Pr(e)&&Yn(t),s=e===t&&Yn(t)&&Pr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Bl(e,t,r){const n=Xn(e)&&Pr(t),i=Pr(e)&&Xn(t),s=e===t&&Xn(t)&&Pr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Il(e,t,r){if(t.tapMerkleRoot){const n=(t.tapLeafScript||[]).every(s=>Ki(s,t.tapMerkleRoot)),i=(e.tapLeafScript||[]).every(s=>Ki(s,t.tapMerkleRoot));if(!n||!i)throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}else if(e.tapMerkleRoot&&!(t.tapLeafScript||[]).every(i=>Ki(i,e.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function Ki(e,t){if(!t)return!0;const r=(0,qt.tapleafHash)({output:e.script,version:e.leafVersion});return(0,qt.rootHashFromPath)(e.controlBlock,r).equals(t)}function Pl(e,t){const r=(0,qt.tapleafHash)({output:t.script,version:t.leafVersion});return(e.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>Ol(t.script,n)).sort((n,i)=>i.positionInScript-n.positionInScript).map(n=>n.signature)}function Ol(e,t){return Object.assign({positionInScript:(0,bi.pubkeyPositionInScript)(t.pubkey,e)},t)}function Rl(e,t,r){if(!e.tapScriptSig||!e.tapScriptSig.length)throw new Error(`Can not finalize taproot input #${t}. No tapleaf script signature provided.`);const n=(e.tapLeafScript||[]).sort((i,s)=>i.controlBlock.length-s.controlBlock.length).find(i=>Cl(i,e.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${t}. Signature for tapleaf script not found.`);return n}function Cl(e,t,r){const n=(0,qt.tapleafHash)({output:e.script,version:e.leafVersion});return(!r||r.equals(n))&&t.find(s=>s.leafHash.equals(n))!==void 0}function Pr(e){return e&&!!(e.redeemScript||e.witnessScript||e.bip32Derivation&&e.bip32Derivation.length)}const Be={secretMismatch:"invalid secret",secretHashLenMismatch:"secret hash should be 32 bytes",pubkeyLenMismatch:"pubkey should be 32 bytes",zeroOrNegativeExpiry:"expiry should be greater than 0",htlcAddressGenerationFailed:"failed to generate htlc address",notFunded:"address not funded",noCounterpartySigs:"counterparty signatures are required",counterPartySigNotFound:e=>"counterparty signature not found for utxo "+e,invalidCounterpartySigForUTXO:e=>"invalid counterparty signature for utxo "+e,htlcNotExpired:e=>`HTLC not expired, need more ${e} blocks`,controlBlockGenerationFailed:"failed to generate control block",invalidLeaf:"invalid leaf"},Mn=192;ie.initEccLib(sr);class dn{constructor(t,r,n,i,s,o,a,u){this.secretHash=n,this.redeemerPubkey=i,this.initiatorPubkey=s,this.expiry=o,this.signer=t,this.network=a,this.internalPubkey=Tf(),this.initiateAmount=r,this.utxoHashes=u}static async from(t,r,n,i,s,o,a){n=n.startsWith("0x")?n.slice(2):n,er(n.length===64,Be.secretHashLenMismatch),er(i.length===64||i.length===66,`initiator ${Be.pubkeyLenMismatch}`),er(s.length===64||s.length===66,`redeemer ${Be.pubkeyLenMismatch}`),er(o>0,Be.zeroOrNegativeExpiry);const u=await t.getNetwork();return new dn(t,r,n,ls(s).toString("hex"),ls(i).toString("hex"),o,u,a)}address(){const{address:t}=ie.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves()});if(!t)throw new Error(Be.htlcAddressGenerationFailed);return t}id(){return this.address()}async _buildRawTx(t,r){const n=new ie.Transaction;n.version=2;const i=this.address(),s=await this.signer.getProvider();let o=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const u of this.utxoHashes){const h=await s.getTransaction(u);for(let d=0;d<h.vout.length;d++){const m=h.vout[d];m.scriptpubkey_address===i&&o.push({txid:h.txid,vout:d,value:m.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((u,h)=>u+h.value,0);if(a===0)throw new Error(`${i} ${Be.notFunded}`);for(let u=0;u<o.length;u++)n.addInput(Buffer.from(o[u].txid,"hex").reverse(),o[u].vout);return r??(r=await s.suggestFee(i,a,Rr.Urgency.MEDIUM)),n.addOutput(ie.address.toOutputScript(t,this.network),a-r),{tx:n,usedUtxos:o}}async _tempBuildRawTx(t,r){const n=new ie.Transaction;n.version=2;const i=this.address(),s=await this.signer.getProvider();let o=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const u of this.utxoHashes){const h=await s.getTransaction(u);for(let d=0;d<h.vout.length;d++){const m=h.vout[d];m.scriptpubkey_address===i&&o.push({txid:h.txid,vout:d,value:m.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((u,h)=>u+h.value,0);if(a===0)throw new Error(`${i} ${Be.notFunded}`);for(let u=0;u<o.length;u++)n.addInput(Buffer.from(o[u].txid,"hex").reverse(),o[u].vout);if(n.addOutput(ie.address.toOutputScript(t,this.network),a),r){const u=await s.getFeeRates(),h=Math.ceil(u.hourFee*r),d=a-h;n.outs[0].value=d}return{tx:n,usedUtxos:o}}async buildRawTx(t){return await this._buildRawTx(await this.signer.getAddress(),t)}getOutputScript(){return ie.address.toOutputScript(this.address(),this.network)}async init(t){return t??(t=await(await this.signer.getProvider()).suggestFee(await this.signer.getAddress(),this.initiateAmount,Rr.Urgency.MEDIUM)),await this.signer.send(this.address(),this.initiateAmount,t)}async generateRedeemSACP(t,r,n){const{tx:i,usedUtxos:s}=await this._buildRawTx(r,n),o=this.getOutputScript(),a=ie.Transaction.SIGHASH_SINGLE|ie.Transaction.SIGHASH_ANYONECANPAY,u=this.leafHash(1),h=s.map(m=>m.value),d=Er(o,s.length);for(let m=0;m<i.ins.length;m++){const _=i.hashForWitnessV1(m,d,h,a,u),p=await this.signer.signSchnorr(_);i.setWitness(m,[Kn(p,a),Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return i.toHex()}async generateInstantRefundSACP(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t,r),s=this.getOutputScript(),o=ie.Transaction.SIGHASH_SINGLE|ie.Transaction.SIGHASH_ANYONECANPAY,a=this.leafHash(2),u=i.map(d=>d.value),h=Er(s,i.length);for(let d=0;d<n.ins.length;d++){const m=n.hashForWitnessV1(d,h,u,o,a),_=await this.signer.signSchnorr(m);n.setWitness(d,[Kn(_,o),Kn(_,o),this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return n.toHex()}async instantRefund(t,r){er(t.length>0,Be.noCounterpartySigs);const{tx:n,usedUtxos:i}=await this.buildRawTx(r);for(const m of i)if(!t.find(_=>_.utxo===m.txid))throw new Error(Be.counterPartySigNotFound(m.txid));const s=this.getOutputScript(),o=ie.Transaction.SIGHASH_DEFAULT,a=this.leafHash(2),u=i.map(m=>m.value),h=Er(s,i.length);for(let m=0;m<n.ins.length;m++){const _=n.hashForWitnessV1(m,h,u,o,a);if(!sr.verifySchnorr(_,Buffer.from(this.redeemerPubkey,"hex"),Buffer.from(t[m].sig,"hex")))throw new Error(Be.invalidCounterpartySigForUTXO(t[m].utxo));const p=await this.signer.signSchnorr(_),I=Buffer.from(n.ins[m].hash).reverse().toString("hex"),B=t.find(T=>T.utxo===I);if(!B)throw new Error(Be.counterPartySigNotFound(I));n.setWitness(m,[Buffer.from(B.sig,"hex"),p,this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async redeem(t,r){er(ie.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Be.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(_=>_.value),u=Er(this.getOutputScript(),s.length),h=ie.Transaction.SIGHASH_DEFAULT;for(let _=0;_<i.ins.length;_++){const p=i.hashForWitnessV1(_,u,a,h,o),I=await this.signer.signSchnorr(p);i.setWitness(_,[I,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:d}=await this._tempBuildRawTx(n,i.virtualSize());for(let _=0;_<d.ins.length;_++){const p=d.hashForWitnessV1(_,u,a,h,o),I=await this.signer.signSchnorr(p);d.setWitness(_,[I,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return await(await this.signer.getProvider()).broadcast(d.toHex())}async getRedeemHex(t,r){er(ie.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Be.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(m=>m.value),u=Er(this.getOutputScript(),s.length),h=ie.Transaction.SIGHASH_DEFAULT;for(let m=0;m<i.ins.length;m++){const _=i.hashForWitnessV1(m,u,a,h,o),p=await this.signer.signSchnorr(_);i.setWitness(m,[p,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:d}=await this._tempBuildRawTx(n,i.virtualSize());for(let m=0;m<d.ins.length;m++){const _=d.hashForWitnessV1(m,u,a,h,o),p=await this.signer.signSchnorr(_);d.setWitness(m,[p,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return d.toHex()}async refund(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t??await this.signer.getAddress(),r),[s,o]=await this.canRefund(i);if(!s)throw new Error(Be.htlcNotExpired(o));const a=this.leafHash(0),u=i.map(_=>_.value),h=Er(this.getOutputScript(),i.length),d=ie.Transaction.SIGHASH_DEFAULT;for(let _=0;_<n.ins.length;_++){n.ins[_].sequence=this.expiry;const p=n.hashForWitnessV1(_,h,u,d,a),I=await this.signer.signSchnorr(p);n.setWitness(_,[I,this.refundLeaf(),this.generateControlBlockFor(0)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async canRefund(t){const n=await(await this.signer.getProvider()).getLatestTip();for(const i of t){let s=0;if(i.status.confirmed&&i.status.block_height+this.expiry>n?s=i.status.block_height+this.expiry-n+1:i.status.confirmed||(s=this.expiry+1),s>0)return[!1,s]}return[!0,0]}generateControlBlockFor(t){let r;switch(t){case 1:r=this.redeemLeaf();break;case 0:r=this.refundLeaf();break;case 2:r=this.instantRefundLeaf();break;default:throw new Error(Be.invalidLeaf)}const n=ie.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves(),redeem:{output:r,redeemVersion:Mn}});if(!n.witness)throw new Error(Be.controlBlockGenerationFailed);return n.witness[n.witness.length-1]}leafHash(t){let r=this.redeemLeaf();return t===0&&(r=this.refundLeaf()),t===2&&(r=this.instantRefundLeaf()),ie.crypto.taggedHash("TapLeaf",pf(r))}refundLeaf(){return ie.script.fromASM(`
9
+ `,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var Ye={};Object.defineProperty(Ye,"__esModule",{value:!0});Ye.value=Ye.prop=void 0;function Au(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){const n=r.call(this);return this[t]=n,n},set(n){Object.defineProperty(this,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}})}Ye.prop=Au;function ku(e){let t;return()=>(t!==void 0||(t=e()),t)}Ye.value=ku;Object.defineProperty(ui,"__esModule",{value:!0});ui.p2data=void 0;const Tu=Ne,qn=Xe(),ot=Fe,ho=Ye,po=qn.OPS;function Bu(e,t){if(!e.data&&!e.output)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,ot.typeforce)({network:ot.typeforce.maybe(ot.typeforce.Object),output:ot.typeforce.maybe(ot.typeforce.Buffer),data:ot.typeforce.maybe(ot.typeforce.arrayOf(ot.typeforce.Buffer))},e);const n={name:"embed",network:e.network||Tu.bitcoin};if(ho.prop(n,"output",()=>{if(e.data)return qn.compile([po.OP_RETURN].concat(e.data))}),ho.prop(n,"data",()=>{if(e.output)return qn.decompile(e.output).slice(1)}),t.validate&&e.output){const i=qn.decompile(e.output);if(i[0]!==po.OP_RETURN)throw new TypeError("Output is invalid");if(!i.slice(1).every(ot.typeforce.Buffer))throw new TypeError("Output is invalid");if(e.data&&!(0,ot.stacksEqual)(e.data,n.data))throw new TypeError("Data mismatch")}return Object.assign(n,e)}ui.p2data=Bu;var li={};Object.defineProperty(li,"__esModule",{value:!0});li.p2ms=void 0;const Iu=Ne,xr=Xe(),xe=Fe,Ft=Ye,Sr=xr.OPS,Un=Sr.OP_RESERVED;function Pu(e,t){if(!e.input&&!e.output&&!(e.pubkeys&&e.m!==void 0)&&!e.signatures)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{});function r(u){return xr.isCanonicalScriptSignature(u)||(t.allowIncomplete&&u===Sr.OP_0)!==void 0}(0,xe.typeforce)({network:xe.typeforce.maybe(xe.typeforce.Object),m:xe.typeforce.maybe(xe.typeforce.Number),n:xe.typeforce.maybe(xe.typeforce.Number),output:xe.typeforce.maybe(xe.typeforce.Buffer),pubkeys:xe.typeforce.maybe(xe.typeforce.arrayOf(xe.isPoint)),signatures:xe.typeforce.maybe(xe.typeforce.arrayOf(r)),input:xe.typeforce.maybe(xe.typeforce.Buffer)},e);const i={network:e.network||Iu.bitcoin};let s=[],o=!1;function a(u){o||(o=!0,s=xr.decompile(u),i.m=s[0]-Un,i.n=s[s.length-2]-Un,i.pubkeys=s.slice(1,-2))}if(Ft.prop(i,"output",()=>{if(e.m&&i.n&&e.pubkeys)return xr.compile([].concat(Un+e.m,e.pubkeys,Un+i.n,Sr.OP_CHECKMULTISIG))}),Ft.prop(i,"m",()=>{if(i.output)return a(i.output),i.m}),Ft.prop(i,"n",()=>{if(i.pubkeys)return i.pubkeys.length}),Ft.prop(i,"pubkeys",()=>{if(e.output)return a(e.output),i.pubkeys}),Ft.prop(i,"signatures",()=>{if(e.input)return xr.decompile(e.input).slice(1)}),Ft.prop(i,"input",()=>{if(e.signatures)return xr.compile([Sr.OP_0].concat(e.signatures))}),Ft.prop(i,"witness",()=>{if(i.input)return[]}),Ft.prop(i,"name",()=>{if(!(!i.m||!i.n))return`p2ms(${i.m} of ${i.n})`}),t.validate){if(e.output){if(a(e.output),!xe.typeforce.Number(s[0]))throw new TypeError("Output is invalid");if(!xe.typeforce.Number(s[s.length-2]))throw new TypeError("Output is invalid");if(s[s.length-1]!==Sr.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(i.m<=0||i.n>16||i.m>i.n||i.n!==s.length-3)throw new TypeError("Output is invalid");if(!i.pubkeys.every(u=>(0,xe.isPoint)(u)))throw new TypeError("Output is invalid");if(e.m!==void 0&&e.m!==i.m)throw new TypeError("m mismatch");if(e.n!==void 0&&e.n!==i.n)throw new TypeError("n mismatch");if(e.pubkeys&&!(0,xe.stacksEqual)(e.pubkeys,i.pubkeys))throw new TypeError("Pubkeys mismatch")}if(e.pubkeys){if(e.n!==void 0&&e.n!==e.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(i.n=e.pubkeys.length,i.n<i.m)throw new TypeError("Pubkey count cannot be less than m")}if(e.signatures){if(e.signatures.length<i.m)throw new TypeError("Not enough signatures provided");if(e.signatures.length>i.m)throw new TypeError("Too many signatures provided")}if(e.input){if(e.input[0]!==Sr.OP_0)throw new TypeError("Input is invalid");if(i.signatures.length===0||!i.signatures.every(r))throw new TypeError("Input has invalid signature(s)");if(e.signatures&&!(0,xe.stacksEqual)(e.signatures,i.signatures))throw new TypeError("Signature mismatch");if(e.m!==void 0&&e.m!==e.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(i,e)}li.p2ms=Pu;var hi={};Object.defineProperty(hi,"__esModule",{value:!0});hi.p2pk=void 0;const Ou=Ne,Ar=Xe(),nt=Fe,vr=Ye,yo=Ar.OPS;function Ru(e,t){if(!e.input&&!e.output&&!e.pubkey&&!e.input&&!e.signature)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,nt.typeforce)({network:nt.typeforce.maybe(nt.typeforce.Object),output:nt.typeforce.maybe(nt.typeforce.Buffer),pubkey:nt.typeforce.maybe(nt.isPoint),signature:nt.typeforce.maybe(Ar.isCanonicalScriptSignature),input:nt.typeforce.maybe(nt.typeforce.Buffer)},e);const r=vr.value(()=>Ar.decompile(e.input)),i={name:"p2pk",network:e.network||Ou.bitcoin};if(vr.prop(i,"output",()=>{if(e.pubkey)return Ar.compile([e.pubkey,yo.OP_CHECKSIG])}),vr.prop(i,"pubkey",()=>{if(e.output)return e.output.slice(1,-1)}),vr.prop(i,"signature",()=>{if(e.input)return r()[0]}),vr.prop(i,"input",()=>{if(e.signature)return Ar.compile([e.signature])}),vr.prop(i,"witness",()=>{if(i.input)return[]}),t.validate){if(e.output){if(e.output[e.output.length-1]!==yo.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!(0,nt.isPoint)(i.pubkey))throw new TypeError("Output pubkey is invalid");if(e.pubkey&&!e.pubkey.equals(i.pubkey))throw new TypeError("Pubkey mismatch")}if(e.signature&&e.input&&!e.input.equals(i.input))throw new TypeError("Signature mismatch");if(e.input){if(r().length!==1)throw new TypeError("Input is invalid");if(!Ar.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,e)}hi.p2pk=Ru;var di={};function Cu(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,a=e.charAt(0),u=Math.log(o)/Math.log(256),h=Math.log(256)/Math.log(o);function d(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var I=0,B=0,T=0,R=p.length;T!==R&&p[T]===0;)T++,I++;for(var U=(R-T)*h+1>>>0,x=new Uint8Array(U);T!==R;){for(var g=p[T],S=0,E=U-1;(g!==0||S<B)&&E!==-1;E--,S++)g+=256*x[E]>>>0,x[E]=g%o>>>0,g=g/o>>>0;if(g!==0)throw new Error("Non-zero carry");B=S,T++}for(var H=U-B;H!==U&&x[H]===0;)H++;for(var M=a.repeat(I);H<U;++H)M+=e.charAt(x[H]);return M}function m(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;for(var I=0,B=0,T=0;p[I]===a;)B++,I++;for(var R=(p.length-I)*u+1>>>0,U=new Uint8Array(R);p[I];){var x=p.charCodeAt(I);if(x>255)return;var g=t[x];if(g===255)return;for(var S=0,E=R-1;(g!==0||S<T)&&E!==-1;E--,S++)g+=o*U[E]>>>0,U[E]=g%256>>>0,g=g/256>>>0;if(g!==0)throw new Error("Non-zero carry");T=S,I++}for(var H=R-T;H!==R&&U[H]===0;)H++;for(var M=new Uint8Array(B+(R-H)),O=B;H!==R;)M[O++]=U[H++];return M}function _(p){var I=m(p);if(I)return I;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:m,decode:_}}var Uu=Cu;const Lu=Uu,Nu="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";var Fu=Lu(Nu),Vi=Fu,Hu=function(e){function t(s){var o=Uint8Array.from(s),a=e(o),u=o.length+4,h=new Uint8Array(u);return h.set(o,0),h.set(a.subarray(0,4),o.length),Vi.encode(h,u)}function r(s){var o=s.slice(0,-4),a=s.slice(-4),u=e(o);if(!(a[0]^u[0]|a[1]^u[1]|a[2]^u[2]|a[3]^u[3]))return o}function n(s){var o=Vi.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=Vi.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},{sha256:mo}=St,Mu=Hu;function Du(e){return mo(mo(e))}var Hs=Mu(Du);Object.defineProperty(di,"__esModule",{value:!0});di.p2pkh=void 0;const zi=Wt,$u=Ne,kr=Xe(),Me=Fe,mt=Ye,bo=Hs,Ht=kr.OPS;function ju(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,Me.typeforce)({network:Me.typeforce.maybe(Me.typeforce.Object),address:Me.typeforce.maybe(Me.typeforce.String),hash:Me.typeforce.maybe(Me.typeforce.BufferN(20)),output:Me.typeforce.maybe(Me.typeforce.BufferN(25)),pubkey:Me.typeforce.maybe(Me.isPoint),signature:Me.typeforce.maybe(kr.isCanonicalScriptSignature),input:Me.typeforce.maybe(Me.typeforce.Buffer)},e);const r=mt.value(()=>{const o=Buffer.from(bo.decode(e.address)),a=o.readUInt8(0),u=o.slice(1);return{version:a,hash:u}}),n=mt.value(()=>kr.decompile(e.input)),i=e.network||$u.bitcoin,s={name:"p2pkh",network:i};if(mt.prop(s,"address",()=>{if(!s.hash)return;const o=Buffer.allocUnsafe(21);return o.writeUInt8(i.pubKeyHash,0),s.hash.copy(o,1),bo.encode(o)}),mt.prop(s,"hash",()=>{if(e.output)return e.output.slice(3,23);if(e.address)return r().hash;if(e.pubkey||s.pubkey)return zi.hash160(e.pubkey||s.pubkey)}),mt.prop(s,"output",()=>{if(s.hash)return kr.compile([Ht.OP_DUP,Ht.OP_HASH160,s.hash,Ht.OP_EQUALVERIFY,Ht.OP_CHECKSIG])}),mt.prop(s,"pubkey",()=>{if(e.input)return n()[1]}),mt.prop(s,"signature",()=>{if(e.input)return n()[0]}),mt.prop(s,"input",()=>{if(e.pubkey&&e.signature)return kr.compile([e.signature,e.pubkey])}),mt.prop(s,"witness",()=>{if(s.input)return[]}),t.validate){let o=Buffer.from([]);if(e.address){if(r().version!==i.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(r().hash.length!==20)throw new TypeError("Invalid address");o=r().hash}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==25||e.output[0]!==Ht.OP_DUP||e.output[1]!==Ht.OP_HASH160||e.output[2]!==20||e.output[23]!==Ht.OP_EQUALVERIFY||e.output[24]!==Ht.OP_CHECKSIG)throw new TypeError("Output is invalid");const a=e.output.slice(3,23);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.pubkey){const a=zi.hash160(e.pubkey);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.input){const a=n();if(a.length!==2)throw new TypeError("Input is invalid");if(!kr.isCanonicalScriptSignature(a[0]))throw new TypeError("Input has invalid signature");if(!(0,Me.isPoint)(a[1]))throw new TypeError("Input has invalid pubkey");if(e.signature&&!e.signature.equals(a[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(a[1]))throw new TypeError("Pubkey mismatch");const u=zi.hash160(a[1]);if(o.length>0&&!o.equals(u))throw new TypeError("Hash mismatch")}}return Object.assign(s,e)}di.p2pkh=ju;var pi={};Object.defineProperty(pi,"__esModule",{value:!0});pi.p2sh=void 0;const wo=Wt,Gu=Ne,ft=Xe(),fe=Fe,at=Ye,go=Hs,Kr=ft.OPS;function Vu(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.input)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,fe.typeforce)({network:fe.typeforce.maybe(fe.typeforce.Object),address:fe.typeforce.maybe(fe.typeforce.String),hash:fe.typeforce.maybe(fe.typeforce.BufferN(20)),output:fe.typeforce.maybe(fe.typeforce.BufferN(23)),redeem:fe.typeforce.maybe({network:fe.typeforce.maybe(fe.typeforce.Object),output:fe.typeforce.maybe(fe.typeforce.Buffer),input:fe.typeforce.maybe(fe.typeforce.Buffer),witness:fe.typeforce.maybe(fe.typeforce.arrayOf(fe.typeforce.Buffer))}),input:fe.typeforce.maybe(fe.typeforce.Buffer),witness:fe.typeforce.maybe(fe.typeforce.arrayOf(fe.typeforce.Buffer))},e);let r=e.network;r||(r=e.redeem&&e.redeem.network||Gu.bitcoin);const n={network:r},i=at.value(()=>{const a=Buffer.from(go.decode(e.address)),u=a.readUInt8(0),h=a.slice(1);return{version:u,hash:h}}),s=at.value(()=>ft.decompile(e.input)),o=at.value(()=>{const a=s(),u=a[a.length-1];return{network:r,output:u===Kr.OP_FALSE?Buffer.from([]):u,input:ft.compile(a.slice(0,-1)),witness:e.witness||[]}});if(at.prop(n,"address",()=>{if(!n.hash)return;const a=Buffer.allocUnsafe(21);return a.writeUInt8(n.network.scriptHash,0),n.hash.copy(a,1),go.encode(a)}),at.prop(n,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return i().hash;if(n.redeem&&n.redeem.output)return wo.hash160(n.redeem.output)}),at.prop(n,"output",()=>{if(n.hash)return ft.compile([Kr.OP_HASH160,n.hash,Kr.OP_EQUAL])}),at.prop(n,"redeem",()=>{if(e.input)return o()}),at.prop(n,"input",()=>{if(!(!e.redeem||!e.redeem.input||!e.redeem.output))return ft.compile([].concat(ft.decompile(e.redeem.input),e.redeem.output))}),at.prop(n,"witness",()=>{if(n.redeem&&n.redeem.witness)return n.redeem.witness;if(n.input)return[]}),at.prop(n,"name",()=>{const a=["p2sh"];return n.redeem!==void 0&&n.redeem.name!==void 0&&a.push(n.redeem.name),a.join("-")}),t.validate){let a=Buffer.from([]);if(e.address){if(i().version!==r.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(i().hash.length!==20)throw new TypeError("Invalid address");a=i().hash}if(e.hash){if(a.length>0&&!a.equals(e.hash))throw new TypeError("Hash mismatch");a=e.hash}if(e.output){if(e.output.length!==23||e.output[0]!==Kr.OP_HASH160||e.output[1]!==20||e.output[22]!==Kr.OP_EQUAL)throw new TypeError("Output is invalid");const h=e.output.slice(2,22);if(a.length>0&&!a.equals(h))throw new TypeError("Hash mismatch");a=h}const u=h=>{if(h.output){const d=ft.decompile(h.output);if(!d||d.length<1)throw new TypeError("Redeem.output too short");if(h.output.byteLength>520)throw new TypeError("Redeem.output unspendable if larger than 520 bytes");if(ft.countNonPushOnlyOPs(d)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const m=wo.hash160(h.output);if(a.length>0&&!a.equals(m))throw new TypeError("Hash mismatch");a=m}if(h.input){const d=h.input.length>0,m=h.witness&&h.witness.length>0;if(!d&&!m)throw new TypeError("Empty input");if(d&&m)throw new TypeError("Input and witness provided");if(d){const _=ft.decompile(h.input);if(!ft.isPushOnly(_))throw new TypeError("Non push-only scriptSig")}}};if(e.input){const h=s();if(!h||h.length<1)throw new TypeError("Input too short");if(!Buffer.isBuffer(o().output))throw new TypeError("Input is invalid");u(o())}if(e.redeem){if(e.redeem.network&&e.redeem.network!==r)throw new TypeError("Network mismatch");if(e.input){const h=o();if(e.redeem.output&&!e.redeem.output.equals(h.output))throw new TypeError("Redeem.output mismatch");if(e.redeem.input&&!e.redeem.input.equals(h.input))throw new TypeError("Redeem.input mismatch")}u(e.redeem)}if(e.witness&&e.redeem&&e.redeem.witness&&!(0,fe.stacksEqual)(e.redeem.witness,e.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(n,e)}pi.p2sh=Vu;var yi={},Tt={};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.bech32m=Tt.bech32=void 0;const ei="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Ha={};for(let e=0;e<ei.length;e++){const t=ei.charAt(e);Ha[t]=e}function Ir(e){const t=e>>25;return(e&33554431)<<5^-(t>>0&1)&996825010^-(t>>1&1)&642813549^-(t>>2&1)&513874426^-(t>>3&1)&1027748829^-(t>>4&1)&705979059}function _o(e){let t=1;for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);if(n<33||n>126)return"Invalid prefix ("+e+")";t=Ir(t)^n>>5}t=Ir(t);for(let r=0;r<e.length;++r){const n=e.charCodeAt(r);t=Ir(t)^n&31}return t}function Ms(e,t,r,n){let i=0,s=0;const o=(1<<r)-1,a=[];for(let u=0;u<e.length;++u)for(i=i<<t|e[u],s+=t;s>=r;)s-=r,a.push(i>>s&o);if(n)s>0&&a.push(i<<r-s&o);else{if(s>=t)return"Excess padding";if(i<<r-s&o)return"Non-zero padding"}return a}function zu(e){return Ms(e,8,5,!0)}function qu(e){const t=Ms(e,5,8,!1);if(Array.isArray(t))return t}function Wu(e){const t=Ms(e,5,8,!1);if(Array.isArray(t))return t;throw new Error(t)}function Ma(e){let t;e==="bech32"?t=1:t=734539939;function r(o,a,u){if(u=u||90,o.length+7+a.length>u)throw new TypeError("Exceeds length limit");o=o.toLowerCase();let h=_o(o);if(typeof h=="string")throw new Error(h);let d=o+"1";for(let m=0;m<a.length;++m){const _=a[m];if(_>>5)throw new Error("Non 5-bit word");h=Ir(h)^_,d+=ei.charAt(_)}for(let m=0;m<6;++m)h=Ir(h);h^=t;for(let m=0;m<6;++m){const _=h>>(5-m)*5&31;d+=ei.charAt(_)}return d}function n(o,a){if(a=a||90,o.length<8)return o+" too short";if(o.length>a)return"Exceeds length limit";const u=o.toLowerCase(),h=o.toUpperCase();if(o!==u&&o!==h)return"Mixed-case string "+o;o=u;const d=o.lastIndexOf("1");if(d===-1)return"No separator character for "+o;if(d===0)return"Missing prefix for "+o;const m=o.slice(0,d),_=o.slice(d+1);if(_.length<6)return"Data too short";let p=_o(m);if(typeof p=="string")return p;const I=[];for(let B=0;B<_.length;++B){const T=_.charAt(B),R=Ha[T];if(R===void 0)return"Unknown character "+T;p=Ir(p)^R,!(B+6>=_.length)&&I.push(R)}return p!==t?"Invalid checksum for "+o:{prefix:m,words:I}}function i(o,a){const u=n(o,a);if(typeof u=="object")return u}function s(o,a){const u=n(o,a);if(typeof u=="object")return u;throw new Error(u)}return{decodeUnsafe:i,decode:s,encode:r,toWords:zu,fromWordsUnsafe:qu,fromWords:Wu}}Tt.bech32=Ma("bech32");Tt.bech32m=Ma("bech32m");Object.defineProperty(yi,"__esModule",{value:!0});yi.p2wpkh=void 0;const qi=Wt,Ku=Ne,Wn=Xe(),ke=Fe,Mt=Ye,Ln=Tt,vo=Wn.OPS,Yu=Buffer.alloc(0);function Xu(e,t){if(!e.address&&!e.hash&&!e.output&&!e.pubkey&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,ke.typeforce)({address:ke.typeforce.maybe(ke.typeforce.String),hash:ke.typeforce.maybe(ke.typeforce.BufferN(20)),input:ke.typeforce.maybe(ke.typeforce.BufferN(0)),network:ke.typeforce.maybe(ke.typeforce.Object),output:ke.typeforce.maybe(ke.typeforce.BufferN(22)),pubkey:ke.typeforce.maybe(ke.isPoint),signature:ke.typeforce.maybe(Wn.isCanonicalScriptSignature),witness:ke.typeforce.maybe(ke.typeforce.arrayOf(ke.typeforce.Buffer))},e);const r=Mt.value(()=>{const s=Ln.bech32.decode(e.address),o=s.words.shift(),a=Ln.bech32.fromWords(s.words);return{version:o,prefix:s.prefix,data:Buffer.from(a)}}),n=e.network||Ku.bitcoin,i={name:"p2wpkh",network:n};if(Mt.prop(i,"address",()=>{if(!i.hash)return;const s=Ln.bech32.toWords(i.hash);return s.unshift(0),Ln.bech32.encode(n.bech32,s)}),Mt.prop(i,"hash",()=>{if(e.output)return e.output.slice(2,22);if(e.address)return r().data;if(e.pubkey||i.pubkey)return qi.hash160(e.pubkey||i.pubkey)}),Mt.prop(i,"output",()=>{if(i.hash)return Wn.compile([vo.OP_0,i.hash])}),Mt.prop(i,"pubkey",()=>{if(e.pubkey)return e.pubkey;if(e.witness)return e.witness[1]}),Mt.prop(i,"signature",()=>{if(e.witness)return e.witness[0]}),Mt.prop(i,"input",()=>{if(i.witness)return Yu}),Mt.prop(i,"witness",()=>{if(e.pubkey&&e.signature)return[e.signature,e.pubkey]}),t.validate){let s=Buffer.from([]);if(e.address){if(n&&n.bech32!==r().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==20)throw new TypeError("Invalid address data");s=r().data}if(e.hash){if(s.length>0&&!s.equals(e.hash))throw new TypeError("Hash mismatch");s=e.hash}if(e.output){if(e.output.length!==22||e.output[0]!==vo.OP_0||e.output[1]!==20)throw new TypeError("Output is invalid");if(s.length>0&&!s.equals(e.output.slice(2)))throw new TypeError("Hash mismatch");s=e.output.slice(2)}if(e.pubkey){const o=qi.hash160(e.pubkey);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch");if(s=o,!(0,ke.isPoint)(e.pubkey)||e.pubkey.length!==33)throw new TypeError("Invalid pubkey for p2wpkh")}if(e.witness){if(e.witness.length!==2)throw new TypeError("Witness is invalid");if(!Wn.isCanonicalScriptSignature(e.witness[0]))throw new TypeError("Witness has invalid signature");if(!(0,ke.isPoint)(e.witness[1])||e.witness[1].length!==33)throw new TypeError("Witness has invalid pubkey");if(e.signature&&!e.signature.equals(e.witness[0]))throw new TypeError("Signature mismatch");if(e.pubkey&&!e.pubkey.equals(e.witness[1]))throw new TypeError("Pubkey mismatch");const o=qi.hash160(e.witness[1]);if(s.length>0&&!s.equals(o))throw new TypeError("Hash mismatch")}}return Object.assign(i,e)}yi.p2wpkh=Xu;var mi={};Object.defineProperty(mi,"__esModule",{value:!0});mi.p2wsh=void 0;const Eo=Wt,Ju=Ne,_t=Xe(),ce=Fe,bt=Ye,Nn=Tt,xo=_t.OPS,Wi=Buffer.alloc(0);function Fn(e){return!!(Buffer.isBuffer(e)&&e.length===65&&e[0]===4&&(0,ce.isPoint)(e))}function Qu(e,t){if(!e.address&&!e.hash&&!e.output&&!e.redeem&&!e.witness)throw new TypeError("Not enough data");t=Object.assign({validate:!0},t||{}),(0,ce.typeforce)({network:ce.typeforce.maybe(ce.typeforce.Object),address:ce.typeforce.maybe(ce.typeforce.String),hash:ce.typeforce.maybe(ce.typeforce.BufferN(32)),output:ce.typeforce.maybe(ce.typeforce.BufferN(34)),redeem:ce.typeforce.maybe({input:ce.typeforce.maybe(ce.typeforce.Buffer),network:ce.typeforce.maybe(ce.typeforce.Object),output:ce.typeforce.maybe(ce.typeforce.Buffer),witness:ce.typeforce.maybe(ce.typeforce.arrayOf(ce.typeforce.Buffer))}),input:ce.typeforce.maybe(ce.typeforce.BufferN(0)),witness:ce.typeforce.maybe(ce.typeforce.arrayOf(ce.typeforce.Buffer))},e);const r=bt.value(()=>{const o=Nn.bech32.decode(e.address),a=o.words.shift(),u=Nn.bech32.fromWords(o.words);return{version:a,prefix:o.prefix,data:Buffer.from(u)}}),n=bt.value(()=>_t.decompile(e.redeem.input));let i=e.network;i||(i=e.redeem&&e.redeem.network||Ju.bitcoin);const s={network:i};if(bt.prop(s,"address",()=>{if(!s.hash)return;const o=Nn.bech32.toWords(s.hash);return o.unshift(0),Nn.bech32.encode(i.bech32,o)}),bt.prop(s,"hash",()=>{if(e.output)return e.output.slice(2);if(e.address)return r().data;if(s.redeem&&s.redeem.output)return Eo.sha256(s.redeem.output)}),bt.prop(s,"output",()=>{if(s.hash)return _t.compile([xo.OP_0,s.hash])}),bt.prop(s,"redeem",()=>{if(e.witness)return{output:e.witness[e.witness.length-1],input:Wi,witness:e.witness.slice(0,-1)}}),bt.prop(s,"input",()=>{if(s.witness)return Wi}),bt.prop(s,"witness",()=>{if(e.redeem&&e.redeem.input&&e.redeem.input.length>0&&e.redeem.output&&e.redeem.output.length>0){const o=_t.toStack(n());return s.redeem=Object.assign({witness:o},e.redeem),s.redeem.input=Wi,[].concat(o,e.redeem.output)}if(e.redeem&&e.redeem.output&&e.redeem.witness)return[].concat(e.redeem.witness,e.redeem.output)}),bt.prop(s,"name",()=>{const o=["p2wsh"];return s.redeem!==void 0&&s.redeem.name!==void 0&&o.push(s.redeem.name),o.join("-")}),t.validate){let o=Buffer.from([]);if(e.address){if(r().prefix!==i.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(r().version!==0)throw new TypeError("Invalid address version");if(r().data.length!==32)throw new TypeError("Invalid address data");o=r().data}if(e.hash){if(o.length>0&&!o.equals(e.hash))throw new TypeError("Hash mismatch");o=e.hash}if(e.output){if(e.output.length!==34||e.output[0]!==xo.OP_0||e.output[1]!==32)throw new TypeError("Output is invalid");const a=e.output.slice(2);if(o.length>0&&!o.equals(a))throw new TypeError("Hash mismatch");o=a}if(e.redeem){if(e.redeem.network&&e.redeem.network!==i)throw new TypeError("Network mismatch");if(e.redeem.input&&e.redeem.input.length>0&&e.redeem.witness&&e.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(e.redeem.output){const a=_t.decompile(e.redeem.output);if(!a||a.length<1)throw new TypeError("Redeem.output is invalid");if(e.redeem.output.byteLength>3600)throw new TypeError("Redeem.output unspendable if larger than 3600 bytes");if(_t.countNonPushOnlyOPs(a)>201)throw new TypeError("Redeem.output unspendable with more than 201 non-push ops");const u=Eo.sha256(e.redeem.output);if(o.length>0&&!o.equals(u))throw new TypeError("Hash mismatch");o=u}if(e.redeem.input&&!_t.isPushOnly(n()))throw new TypeError("Non push-only scriptSig");if(e.witness&&e.redeem.witness&&!(0,ce.stacksEqual)(e.witness,e.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(e.redeem.input&&n().some(Fn)||e.redeem.output&&(_t.decompile(e.redeem.output)||[]).some(Fn))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(e.witness&&e.witness.length>0){const a=e.witness[e.witness.length-1];if(e.redeem&&e.redeem.output&&!e.redeem.output.equals(a))throw new TypeError("Witness and redeem.output mismatch");if(e.witness.some(Fn)||(_t.decompile(a)||[]).some(Fn))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(s,e)}mi.p2wsh=Qu;var Yr={},ar={};Object.defineProperty(ar,"__esModule",{value:!0});ar.getEccLib=ar.initEccLib=void 0;const ln={};function Zu(e,t){e?e!==ln.eccLib&&(t!=null&&t.DANGER_DO_NOT_VERIFY_ECCLIB||tl(e),ln.eccLib=e):ln.eccLib=e}ar.initEccLib=Zu;function el(){if(!ln.eccLib)throw new Error("No ECC Library provided. You must call initEccLib() with a valid TinySecp256k1Interface instance");return ln.eccLib}ar.getEccLib=el;const wt=e=>Buffer.from(e,"hex");function tl(e){Qe(typeof e.isXOnlyPoint=="function"),Qe(e.isXOnlyPoint(wt("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),Qe(e.isXOnlyPoint(wt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e"))),Qe(e.isXOnlyPoint(wt("f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9"))),Qe(e.isXOnlyPoint(wt("0000000000000000000000000000000000000000000000000000000000000001"))),Qe(!e.isXOnlyPoint(wt("0000000000000000000000000000000000000000000000000000000000000000"))),Qe(!e.isXOnlyPoint(wt("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"))),Qe(typeof e.xOnlyPointAddTweak=="function"),rl.forEach(t=>{const r=e.xOnlyPointAddTweak(wt(t.pubkey),wt(t.tweak));t.result===null?Qe(r===null):(Qe(r!==null),Qe(r.parity===t.parity),Qe(Buffer.from(r.xOnlyPubkey).equals(wt(t.result))))})}function Qe(e){if(!e)throw new Error("ecc library invalid")}const rl=[{pubkey:"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",tweak:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",parity:-1,result:null},{pubkey:"1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b",tweak:"a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac",parity:1,result:"e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"},{pubkey:"2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991",tweak:"823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47",parity:0,result:"9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"}];var Ds={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.tweakKey=e.tapTweakHash=e.tapleafHash=e.findScriptPath=e.toHashTree=e.rootHashFromPath=e.MAX_TAPTREE_DEPTH=e.LEAF_VERSION_TAPSCRIPT=void 0;const t=It,r=ar,n=Wt,i=Pe,s=Fe;e.LEAF_VERSION_TAPSCRIPT=192,e.MAX_TAPTREE_DEPTH=128;const o=B=>"left"in B&&"right"in B;function a(B,T){if(B.length<33)throw new TypeError(`The control-block length is too small. Got ${B.length}, expected min 33.`);const R=(B.length-33)/32;let U=T;for(let x=0;x<R;x++){const g=B.slice(33+32*x,65+32*x);U.compare(g)<0?U=p(U,g):U=p(g,U)}return U}e.rootHashFromPath=a;function u(B){if((0,s.isTapleaf)(B))return{hash:d(B)};const T=[u(B[0]),u(B[1])];T.sort((x,g)=>x.hash.compare(g.hash));const[R,U]=T;return{hash:p(R.hash,U.hash),left:R,right:U}}e.toHashTree=u;function h(B,T){if(o(B)){const R=h(B.left,T);if(R!==void 0)return[...R,B.right.hash];const U=h(B.right,T);if(U!==void 0)return[...U,B.left.hash]}else if(B.hash.equals(T))return[]}e.findScriptPath=h;function d(B){const T=B.version||e.LEAF_VERSION_TAPSCRIPT;return n.taggedHash("TapLeaf",t.Buffer.concat([t.Buffer.from([T]),I(B.output)]))}e.tapleafHash=d;function m(B,T){return n.taggedHash("TapTweak",t.Buffer.concat(T?[B,T]:[B]))}e.tapTweakHash=m;function _(B,T){if(!t.Buffer.isBuffer(B)||B.length!==32||T&&T.length!==32)return null;const R=m(B,T),U=(0,r.getEccLib)().xOnlyPointAddTweak(B,R);return!U||U.xOnlyPubkey===null?null:{parity:U.parity,x:t.Buffer.from(U.xOnlyPubkey)}}e.tweakKey=_;function p(B,T){return n.taggedHash("TapBranch",t.Buffer.concat([B,T]))}function I(B){const T=i.varuint.encodingLength(B.length),R=t.Buffer.allocUnsafe(T);return i.varuint.encode(B.length,R),t.Buffer.concat([R,B])}})(Ds);var De={},So;function nl(){if(So)return De;So=1,Object.defineProperty(De,"__esModule",{value:!0}),De.toOutputScript=De.fromOutputScript=De.toBech32=De.toBase58Check=De.fromBech32=De.fromBase58Check=void 0;const e=Ne,t=$s(),r=Xe(),n=Fe,i=Tt,s=Hs,o=40,a=2,u=16,h=2,d=80,m="WARNING: Sending to a future segwit version address can lead to loss of funds. End users MUST be warned carefully in the GUI and asked if they wish to proceed with caution. Wallets should verify the segwit version from the output of fromBech32, then decide when it is safe to use which version of segwit.";function _(x,g){const S=x.slice(2);if(S.length<a||S.length>o)throw new TypeError("Invalid program length for segwit address");const E=x[0]-d;if(E<h||E>u)throw new TypeError("Invalid version for segwit address");if(x[1]!==S.length)throw new TypeError("Invalid script for segwit address");return console.warn(m),T(S,E,g.bech32)}function p(x){const g=Buffer.from(s.decode(x));if(g.length<21)throw new TypeError(x+" is too short");if(g.length>21)throw new TypeError(x+" is too long");const S=g.readUInt8(0),E=g.slice(1);return{version:S,hash:E}}De.fromBase58Check=p;function I(x){let g,S;try{g=i.bech32.decode(x)}catch{}if(g){if(S=g.words[0],S!==0)throw new TypeError(x+" uses wrong encoding")}else if(g=i.bech32m.decode(x),S=g.words[0],S===0)throw new TypeError(x+" uses wrong encoding");const E=i.bech32.fromWords(g.words.slice(1));return{version:S,prefix:g.prefix,data:Buffer.from(E)}}De.fromBech32=I;function B(x,g){(0,n.typeforce)((0,n.tuple)(n.Hash160bit,n.UInt8),arguments);const S=Buffer.allocUnsafe(21);return S.writeUInt8(g,0),x.copy(S,1),s.encode(S)}De.toBase58Check=B;function T(x,g,S){const E=i.bech32.toWords(x);return E.unshift(g),g===0?i.bech32.encode(S,E):i.bech32m.encode(S,E)}De.toBech32=T;function R(x,g){g=g||e.bitcoin;try{return t.p2pkh({output:x,network:g}).address}catch{}try{return t.p2sh({output:x,network:g}).address}catch{}try{return t.p2wpkh({output:x,network:g}).address}catch{}try{return t.p2wsh({output:x,network:g}).address}catch{}try{return t.p2tr({output:x,network:g}).address}catch{}try{return _(x,g)}catch{}throw new Error(r.toASM(x)+" has no matching Address")}De.fromOutputScript=R;function U(x,g){g=g||e.bitcoin;let S,E;try{S=p(x)}catch{}if(S){if(S.version===g.pubKeyHash)return t.p2pkh({hash:S.hash}).output;if(S.version===g.scriptHash)return t.p2sh({hash:S.hash}).output}else{try{E=I(x)}catch{}if(E){if(E.prefix!==g.bech32)throw new Error(x+" has an invalid prefix");if(E.version===0){if(E.data.length===20)return t.p2wpkh({hash:E.data}).output;if(E.data.length===32)return t.p2wsh({hash:E.data}).output}else if(E.version===1){if(E.data.length===32)return t.p2tr({pubkey:E.data}).output}else if(E.version>=h&&E.version<=u&&E.data.length>=a&&E.data.length<=o)return console.warn(m),r.compile([E.version+d,E.data])}}throw new Error(x+" has no matching Script")}return De.toOutputScript=U,De}var Ao;function il(){if(Ao)return Yr;Ao=1,Object.defineProperty(Yr,"__esModule",{value:!0}),Yr.p2tr=void 0;const e=It,t=Ne,r=Xe(),n=Fe,i=ar,s=Ds,o=Ye,a=Tt,u=nl(),h=r.OPS,d=1,m=80;function _(p,I){if(!p.address&&!p.output&&!p.pubkey&&!p.internalPubkey&&!(p.witness&&p.witness.length>1))throw new TypeError("Not enough data");I=Object.assign({validate:!0},I||{}),(0,n.typeforce)({address:n.typeforce.maybe(n.typeforce.String),input:n.typeforce.maybe(n.typeforce.BufferN(0)),network:n.typeforce.maybe(n.typeforce.Object),output:n.typeforce.maybe(n.typeforce.BufferN(34)),internalPubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),hash:n.typeforce.maybe(n.typeforce.BufferN(32)),pubkey:n.typeforce.maybe(n.typeforce.BufferN(32)),signature:n.typeforce.maybe(n.typeforce.anyOf(n.typeforce.BufferN(64),n.typeforce.BufferN(65))),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer)),scriptTree:n.typeforce.maybe(n.isTaptree),redeem:n.typeforce.maybe({output:n.typeforce.maybe(n.typeforce.Buffer),redeemVersion:n.typeforce.maybe(n.typeforce.Number),witness:n.typeforce.maybe(n.typeforce.arrayOf(n.typeforce.Buffer))}),redeemVersion:n.typeforce.maybe(n.typeforce.Number)},p);const B=o.value(()=>(0,u.fromBech32)(p.address)),T=o.value(()=>{if(!(!p.witness||!p.witness.length))return p.witness.length>=2&&p.witness[p.witness.length-1][0]===m?p.witness.slice(0,-1):p.witness.slice()}),R=o.value(()=>{if(p.scriptTree)return(0,s.toHashTree)(p.scriptTree);if(p.hash)return{hash:p.hash}}),U=p.network||t.bitcoin,x={name:"p2tr",network:U};if(o.prop(x,"address",()=>{if(!x.pubkey)return;const g=a.bech32m.toWords(x.pubkey);return g.unshift(d),a.bech32m.encode(U.bech32,g)}),o.prop(x,"hash",()=>{const g=R();if(g)return g.hash;const S=T();if(S&&S.length>1){const E=S[S.length-1],H=E[0]&n.TAPLEAF_VERSION_MASK,M=S[S.length-2],O=(0,s.tapleafHash)({output:M,version:H});return(0,s.rootHashFromPath)(E,O)}return null}),o.prop(x,"output",()=>{if(x.pubkey)return r.compile([h.OP_1,x.pubkey])}),o.prop(x,"redeemVersion",()=>p.redeemVersion?p.redeemVersion:p.redeem&&p.redeem.redeemVersion!==void 0&&p.redeem.redeemVersion!==null?p.redeem.redeemVersion:s.LEAF_VERSION_TAPSCRIPT),o.prop(x,"redeem",()=>{const g=T();if(!(!g||g.length<2))return{output:g[g.length-2],witness:g.slice(0,-2),redeemVersion:g[g.length-1][0]&n.TAPLEAF_VERSION_MASK}}),o.prop(x,"pubkey",()=>{if(p.pubkey)return p.pubkey;if(p.output)return p.output.slice(2);if(p.address)return B().data;if(x.internalPubkey){const g=(0,s.tweakKey)(x.internalPubkey,x.hash);if(g)return g.x}}),o.prop(x,"internalPubkey",()=>{if(p.internalPubkey)return p.internalPubkey;const g=T();if(g&&g.length>1)return g[g.length-1].slice(1,33)}),o.prop(x,"signature",()=>{if(p.signature)return p.signature;const g=T();if(!(!g||g.length!==1))return g[0]}),o.prop(x,"witness",()=>{if(p.witness)return p.witness;const g=R();if(g&&p.redeem&&p.redeem.output&&p.internalPubkey){const S=(0,s.tapleafHash)({output:p.redeem.output,version:x.redeemVersion}),E=(0,s.findScriptPath)(g,S);if(!E)return;const H=(0,s.tweakKey)(p.internalPubkey,g.hash);if(!H)return;const M=e.Buffer.concat([e.Buffer.from([x.redeemVersion|H.parity]),p.internalPubkey].concat(E));return[p.redeem.output,M]}if(p.signature)return[p.signature]}),I.validate){let g=e.Buffer.from([]);if(p.address){if(U&&U.bech32!==B().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(B().version!==d)throw new TypeError("Invalid address version");if(B().data.length!==32)throw new TypeError("Invalid address data");g=B().data}if(p.pubkey){if(g.length>0&&!g.equals(p.pubkey))throw new TypeError("Pubkey mismatch");g=p.pubkey}if(p.output){if(p.output.length!==34||p.output[0]!==h.OP_1||p.output[1]!==32)throw new TypeError("Output is invalid");if(g.length>0&&!g.equals(p.output.slice(2)))throw new TypeError("Pubkey mismatch");g=p.output.slice(2)}if(p.internalPubkey){const H=(0,s.tweakKey)(p.internalPubkey,x.hash);if(g.length>0&&!g.equals(H.x))throw new TypeError("Pubkey mismatch");g=H.x}if(g&&g.length&&!(0,i.getEccLib)().isXOnlyPoint(g))throw new TypeError("Invalid pubkey for p2tr");const S=R();if(p.hash&&S&&!p.hash.equals(S.hash))throw new TypeError("Hash mismatch");if(p.redeem&&p.redeem.output&&S){const H=(0,s.tapleafHash)({output:p.redeem.output,version:x.redeemVersion});if(!(0,s.findScriptPath)(S,H))throw new TypeError("Redeem script not in tree")}const E=T();if(p.redeem&&x.redeem){if(p.redeem.redeemVersion&&p.redeem.redeemVersion!==x.redeem.redeemVersion)throw new TypeError("Redeem.redeemVersion and witness mismatch");if(p.redeem.output){if(r.decompile(p.redeem.output).length===0)throw new TypeError("Redeem.output is invalid");if(x.redeem.output&&!p.redeem.output.equals(x.redeem.output))throw new TypeError("Redeem.output and witness mismatch")}if(p.redeem.witness&&x.redeem.witness&&!(0,n.stacksEqual)(p.redeem.witness,x.redeem.witness))throw new TypeError("Redeem.witness and witness mismatch")}if(E&&E.length)if(E.length===1){if(p.signature&&!p.signature.equals(E[0]))throw new TypeError("Signature mismatch")}else{const H=E[E.length-1];if(H.length<33)throw new TypeError(`The control-block length is too small. Got ${H.length}, expected min 33.`);if((H.length-33)%32!==0)throw new TypeError(`The control-block length of ${H.length} is incorrect!`);const M=(H.length-33)/32;if(M>128)throw new TypeError(`The script path is too long. Got ${M}, expected max 128.`);const O=H.slice(1,33);if(p.internalPubkey&&!p.internalPubkey.equals(O))throw new TypeError("Internal pubkey mismatch");if(!(0,i.getEccLib)().isXOnlyPoint(O))throw new TypeError("Invalid internalPubkey for p2tr witness");const K=H[0]&n.TAPLEAF_VERSION_MASK,C=E[E.length-2],j=(0,s.tapleafHash)({output:C,version:K}),G=(0,s.rootHashFromPath)(H,j),V=(0,s.tweakKey)(O,G);if(!V)throw new TypeError("Invalid outputKey for p2tr witness");if(g.length&&!g.equals(V.x))throw new TypeError("Pubkey mismatch for p2tr witness");if(V.parity!==(H[0]&1))throw new Error("Incorrect parity")}}return Object.assign(x,p)}return Yr.p2tr=_,Yr}var ko;function $s(){return ko||(ko=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.p2tr=e.p2wsh=e.p2wpkh=e.p2sh=e.p2pkh=e.p2pk=e.p2ms=e.embed=void 0;const t=ui;Object.defineProperty(e,"embed",{enumerable:!0,get:function(){return t.p2data}});const r=li;Object.defineProperty(e,"p2ms",{enumerable:!0,get:function(){return r.p2ms}});const n=hi;Object.defineProperty(e,"p2pk",{enumerable:!0,get:function(){return n.p2pk}});const i=di;Object.defineProperty(e,"p2pkh",{enumerable:!0,get:function(){return i.p2pkh}});const s=pi;Object.defineProperty(e,"p2sh",{enumerable:!0,get:function(){return s.p2sh}});const o=yi;Object.defineProperty(e,"p2wpkh",{enumerable:!0,get:function(){return o.p2wpkh}});const a=mi;Object.defineProperty(e,"p2wsh",{enumerable:!0,get:function(){return a.p2wsh}});const u=il();Object.defineProperty(e,"p2tr",{enumerable:!0,get:function(){return u.p2tr}})}(Gi)),Gi}Object.defineProperty(ae,"__esModule",{value:!0});ae.signatureBlocksAction=ae.checkInputForSig=ae.pubkeyInScript=ae.pubkeyPositionInScript=ae.witnessStackToScriptWitness=ae.isP2TR=ae.isP2SHScript=ae.isP2WSHScript=ae.isP2WPKH=ae.isP2PKH=ae.isP2PK=ae.isP2MS=void 0;const To=En,hn=Xe(),Hn=_n,sl=Wt,dr=$s();function pr(e){return t=>{try{return e({output:t}),!0}catch{return!1}}}ae.isP2MS=pr(dr.p2ms);ae.isP2PK=pr(dr.p2pk);ae.isP2PKH=pr(dr.p2pkh);ae.isP2WPKH=pr(dr.p2wpkh);ae.isP2WSHScript=pr(dr.p2wsh);ae.isP2SHScript=pr(dr.p2sh);ae.isP2TR=pr(dr.p2tr);function ol(e){let t=Buffer.allocUnsafe(0);function r(o){t=Buffer.concat([t,Buffer.from(o)])}function n(o){const a=t.length,u=To.encodingLength(o);t=Buffer.concat([t,Buffer.allocUnsafe(u)]),To.encode(o,t,a)}function i(o){n(o.length),r(o)}function s(o){n(o.length),o.forEach(i)}return s(e),t}ae.witnessStackToScriptWitness=ol;function Da(e,t){const r=(0,sl.hash160)(e),n=e.slice(1,33),i=hn.decompile(t);if(i===null)throw new Error("Unknown script error");return i.findIndex(s=>typeof s=="number"?!1:s.equals(e)||s.equals(r)||s.equals(n))}ae.pubkeyPositionInScript=Da;function al(e,t){return Da(e,t)!==-1}ae.pubkeyInScript=al;function cl(e,t){return fl(e).some(n=>$a(n,hn.signature.decode,t))}ae.checkInputForSig=cl;function $a(e,t,r){const{hashType:n}=t(e),i=[];switch(n&Hn.Transaction.SIGHASH_ANYONECANPAY&&i.push("addInput"),n&31){case Hn.Transaction.SIGHASH_ALL:break;case Hn.Transaction.SIGHASH_SINGLE:case Hn.Transaction.SIGHASH_NONE:i.push("addOutput"),i.push("setInputSequence");break}return i.indexOf(r)===-1}ae.signatureBlocksAction=$a;function fl(e){let t=[];if((e.partialSig||[]).length===0){if(!e.finalScriptSig&&!e.finalScriptWitness)return[];t=ul(e)}else t=e.partialSig;return t.map(r=>r.signature)}function ul(e){const t=e.finalScriptSig?hn.decompile(e.finalScriptSig)||[]:[],r=e.finalScriptWitness?hn.decompile(e.finalScriptWitness)||[]:[];return t.concat(r).filter(n=>Buffer.isBuffer(n)&&hn.isCanonicalScriptSignature(n)).map(n=>({signature:n}))}Object.defineProperty(we,"__esModule",{value:!0});we.checkTaprootInputForSigs=we.tapTreeFromList=we.tapTreeToList=we.tweakInternalPubKey=we.checkTaprootOutputFields=we.checkTaprootInputFields=we.isTaprootOutput=we.isTaprootInput=Kn=we.serializeTaprootSignature=we.tapScriptFinalizer=we.toXOnly=void 0;const js=Fe,ll=_n,bi=ae,qt=Ds,hl=$s(),dl=ae,pl=e=>e.length===32?e:e.slice(1,33);we.toXOnly=pl;function yl(e,t,r){const n=Cl(t,e,r);try{const s=Ol(t,n).concat(n.script).concat(n.controlBlock);return{finalScriptWitness:(0,bi.witnessStackToScriptWitness)(s)}}catch(i){throw new Error(`Can not finalize taproot input #${e}: ${i}`)}}we.tapScriptFinalizer=yl;function ml(e,t){const r=t?Buffer.from([t]):Buffer.from([]);return Buffer.concat([e,r])}var Kn=we.serializeTaprootSignature=ml;function Yn(e){return e&&!!(e.tapInternalKey||e.tapMerkleRoot||e.tapLeafScript&&e.tapLeafScript.length||e.tapBip32Derivation&&e.tapBip32Derivation.length||e.witnessUtxo&&(0,bi.isP2TR)(e.witnessUtxo.script))}we.isTaprootInput=Yn;function Xn(e,t){return e&&!!(e.tapInternalKey||e.tapTree||e.tapBip32Derivation&&e.tapBip32Derivation.length||t&&(0,bi.isP2TR)(t))}we.isTaprootOutput=Xn;function bl(e,t,r){Bl(e,t,r),Pl(e,t,r)}we.checkTaprootInputFields=bl;function wl(e,t,r){Il(e,t,r),gl(e,t)}we.checkTaprootOutputFields=wl;function gl(e,t){if(!t.tapTree&&!t.tapInternalKey)return;const r=t.tapInternalKey||e.tapInternalKey,n=t.tapTree||e.tapTree;if(r){const{script:i}=e,s=_l(r,n);if(i&&!i.equals(s))throw new Error("Error adding output. Script or address missmatch.")}}function _l(e,t){const r=t&&ja(t.leaves),{output:n}=(0,hl.p2tr)({internalPubkey:e,scriptTree:r});return n}function vl(e,t){const r=t.tapInternalKey,n=r&&(0,qt.tweakKey)(r,t.tapMerkleRoot);if(!n)throw new Error(`Cannot tweak tap internal key for input #${e}. Public key: ${r&&r.toString("hex")}`);return n.x}we.tweakInternalPubKey=vl;function El(e){if(!(0,js.isTaptree)(e))throw new Error("Cannot convert taptree to tapleaf list. Expecting a tapree structure.");return ys(e)}we.tapTreeToList=El;function ja(e=[]){return e.length===1&&e[0].depth===0?{output:e[0].script,version:e[0].leafVersion}:Tl(e)}we.tapTreeFromList=ja;function xl(e,t){return Al(e).some(n=>(0,dl.signatureBlocksAction)(n,Sl,t))}we.checkTaprootInputForSigs=xl;function Sl(e){return{signature:e.slice(0,64),hashType:e.slice(64)[0]||ll.Transaction.SIGHASH_DEFAULT}}function Al(e){const t=[];if(e.tapKeySig&&t.push(e.tapKeySig),e.tapScriptSig&&t.push(...e.tapScriptSig.map(r=>r.signature)),!t.length){const r=kl(e.finalScriptWitness);r&&t.push(r)}return t}function kl(e){if(!e)return;const t=e.slice(2);if(t.length===64||t.length===65)return t}function ys(e,t=[],r=0){if(r>qt.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");return e?(0,js.isTapleaf)(e)?(t.push({depth:r,leafVersion:e.version||qt.LEAF_VERSION_TAPSCRIPT,script:e.output}),t):(e[0]&&ys(e[0],t,r+1),e[1]&&ys(e[1],t,r+1),t):[]}function Tl(e){let t;for(const r of e)if(t=ms(r,t),!t)throw new Error("No room left to insert tapleaf in tree");return t}function ms(e,t,r=0){if(r>qt.MAX_TAPTREE_DEPTH)throw new Error("Max taptree depth exceeded.");if(e.depth===r)return t?void 0:{output:e.script,version:e.leafVersion};if((0,js.isTapleaf)(t))return;const n=ms(e,t&&t[0],r+1);if(n)return[n,t&&t[1]];const i=ms(e,t&&t[1],r+1);if(i)return[t&&t[0],i]}function Bl(e,t,r){const n=Yn(e)&&Pr(t),i=Pr(e)&&Yn(t),s=e===t&&Yn(t)&&Pr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Il(e,t,r){const n=Xn(e)&&Pr(t),i=Pr(e)&&Xn(t),s=e===t&&Xn(t)&&Pr(t);if(n||i||s)throw new Error(`Invalid arguments for Psbt.${r}. Cannot use both taproot and non-taproot fields.`)}function Pl(e,t,r){if(t.tapMerkleRoot){const n=(t.tapLeafScript||[]).every(s=>Ki(s,t.tapMerkleRoot)),i=(e.tapLeafScript||[]).every(s=>Ki(s,t.tapMerkleRoot));if(!n||!i)throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}else if(e.tapMerkleRoot&&!(t.tapLeafScript||[]).every(i=>Ki(i,e.tapMerkleRoot)))throw new Error(`Invalid arguments for Psbt.${r}. Tapleaf not part of taptree.`)}function Ki(e,t){if(!t)return!0;const r=(0,qt.tapleafHash)({output:e.script,version:e.leafVersion});return(0,qt.rootHashFromPath)(e.controlBlock,r).equals(t)}function Ol(e,t){const r=(0,qt.tapleafHash)({output:t.script,version:t.leafVersion});return(e.tapScriptSig||[]).filter(n=>n.leafHash.equals(r)).map(n=>Rl(t.script,n)).sort((n,i)=>i.positionInScript-n.positionInScript).map(n=>n.signature)}function Rl(e,t){return Object.assign({positionInScript:(0,bi.pubkeyPositionInScript)(t.pubkey,e)},t)}function Cl(e,t,r){if(!e.tapScriptSig||!e.tapScriptSig.length)throw new Error(`Can not finalize taproot input #${t}. No tapleaf script signature provided.`);const n=(e.tapLeafScript||[]).sort((i,s)=>i.controlBlock.length-s.controlBlock.length).find(i=>Ul(i,e.tapScriptSig,r));if(!n)throw new Error(`Can not finalize taproot input #${t}. Signature for tapleaf script not found.`);return n}function Ul(e,t,r){const n=(0,qt.tapleafHash)({output:e.script,version:e.leafVersion});return(!r||r.equals(n))&&t.find(s=>s.leafHash.equals(n))!==void 0}function Pr(e){return e&&!!(e.redeemScript||e.witnessScript||e.bip32Derivation&&e.bip32Derivation.length)}const Be={secretMismatch:"invalid secret",secretHashLenMismatch:"secret hash should be 32 bytes",pubkeyLenMismatch:"pubkey should be 32 bytes",zeroOrNegativeExpiry:"expiry should be greater than 0",htlcAddressGenerationFailed:"failed to generate htlc address",notFunded:"address not funded",noCounterpartySigs:"counterparty signatures are required",counterPartySigNotFound:e=>"counterparty signature not found for utxo "+e,invalidCounterpartySigForUTXO:e=>"invalid counterparty signature for utxo "+e,htlcNotExpired:e=>`HTLC not expired, need more ${e} blocks`,controlBlockGenerationFailed:"failed to generate control block",invalidLeaf:"invalid leaf"},Mn=192;ie.initEccLib(sr);class dn{constructor(t,r,n,i,s,o,a,u){this.secretHash=n,this.redeemerPubkey=i,this.initiatorPubkey=s,this.expiry=o,this.signer=t,this.network=a,this.internalPubkey=Bf(),this.initiateAmount=r,this.utxoHashes=u}static async from(t,r,n,i,s,o,a){n=n.startsWith("0x")?n.slice(2):n,er(n.length===64,Be.secretHashLenMismatch),er(i.length===64||i.length===66,`initiator ${Be.pubkeyLenMismatch}`),er(s.length===64||s.length===66,`redeemer ${Be.pubkeyLenMismatch}`),er(o>0,Be.zeroOrNegativeExpiry);const u=await t.getNetwork();return new dn(t,r,n,ls(s).toString("hex"),ls(i).toString("hex"),o,u,a)}address(){const{address:t}=ie.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves()});if(!t)throw new Error(Be.htlcAddressGenerationFailed);return t}id(){return this.address()}async _buildRawTx(t,r){const n=new ie.Transaction;n.version=2;const i=this.address(),s=await this.signer.getProvider();let o=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const u of this.utxoHashes){const h=await s.getTransaction(u);for(let d=0;d<h.vout.length;d++){const m=h.vout[d];m.scriptpubkey_address===i&&o.push({txid:h.txid,vout:d,value:m.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((u,h)=>u+h.value,0);if(a===0)throw new Error(`${i} ${Be.notFunded}`);for(let u=0;u<o.length;u++)n.addInput(Buffer.from(o[u].txid,"hex").reverse(),o[u].vout);return r??(r=await s.suggestFee(i,a,Rr.Urgency.MEDIUM)),n.addOutput(ie.address.toOutputScript(t,this.network),a-r),{tx:n,usedUtxos:o}}async _tempBuildRawTx(t,r){const n=new ie.Transaction;n.version=2;const i=this.address(),s=await this.signer.getProvider();let o=[];if(this.utxoHashes&&this.utxoHashes.length>0)for(const u of this.utxoHashes){const h=await s.getTransaction(u);for(let d=0;d<h.vout.length;d++){const m=h.vout[d];m.scriptpubkey_address===i&&o.push({txid:h.txid,vout:d,value:m.value,status:{confirmed:!1}})}}else o=await s.getUTXOs(i);const a=o.reduce((u,h)=>u+h.value,0);if(a===0)throw new Error(`${i} ${Be.notFunded}`);for(let u=0;u<o.length;u++)n.addInput(Buffer.from(o[u].txid,"hex").reverse(),o[u].vout);if(n.addOutput(ie.address.toOutputScript(t,this.network),a),r){const u=await s.getFeeRates(),h=Math.ceil(u.hourFee*r),d=a-h;n.outs[0].value=d}return{tx:n,usedUtxos:o}}async buildRawTx(t){return await this._buildRawTx(await this.signer.getAddress(),t)}getOutputScript(){return ie.address.toOutputScript(this.address(),this.network)}async init(t){return t??(t=await(await this.signer.getProvider()).suggestFee(await this.signer.getAddress(),this.initiateAmount,Rr.Urgency.MEDIUM)),await this.signer.send(this.address(),this.initiateAmount,t)}async generateRedeemSACP(t,r,n){const{tx:i,usedUtxos:s}=await this._buildRawTx(r,n),o=this.getOutputScript(),a=ie.Transaction.SIGHASH_SINGLE|ie.Transaction.SIGHASH_ANYONECANPAY,u=this.leafHash(1),h=s.map(m=>m.value),d=Er(o,s.length);for(let m=0;m<i.ins.length;m++){const _=i.hashForWitnessV1(m,d,h,a,u),p=await this.signer.signSchnorr(_);i.setWitness(m,[Kn(p,a),Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return i.toHex()}async generateInstantRefundSACP(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t,r),s=this.getOutputScript(),o=ie.Transaction.SIGHASH_SINGLE|ie.Transaction.SIGHASH_ANYONECANPAY,a=this.leafHash(2),u=i.map(d=>d.value),h=Er(s,i.length);for(let d=0;d<n.ins.length;d++){const m=n.hashForWitnessV1(d,h,u,o,a),_=await this.signer.signSchnorr(m);n.setWitness(d,[Kn(_,o),Kn(_,o),this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return n.toHex()}async instantRefund(t,r){er(t.length>0,Be.noCounterpartySigs);const{tx:n,usedUtxos:i}=await this.buildRawTx(r);for(const m of i)if(!t.find(_=>_.utxo===m.txid))throw new Error(Be.counterPartySigNotFound(m.txid));const s=this.getOutputScript(),o=ie.Transaction.SIGHASH_DEFAULT,a=this.leafHash(2),u=i.map(m=>m.value),h=Er(s,i.length);for(let m=0;m<n.ins.length;m++){const _=n.hashForWitnessV1(m,h,u,o,a);if(!sr.verifySchnorr(_,Buffer.from(this.redeemerPubkey,"hex"),Buffer.from(t[m].sig,"hex")))throw new Error(Be.invalidCounterpartySigForUTXO(t[m].utxo));const p=await this.signer.signSchnorr(_),I=Buffer.from(n.ins[m].hash).reverse().toString("hex"),B=t.find(T=>T.utxo===I);if(!B)throw new Error(Be.counterPartySigNotFound(I));n.setWitness(m,[Buffer.from(B.sig,"hex"),p,this.instantRefundLeaf(),this.generateControlBlockFor(2)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async redeem(t,r){er(ie.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Be.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(_=>_.value),u=Er(this.getOutputScript(),s.length),h=ie.Transaction.SIGHASH_DEFAULT;for(let _=0;_<i.ins.length;_++){const p=i.hashForWitnessV1(_,u,a,h,o),I=await this.signer.signSchnorr(p);i.setWitness(_,[I,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:d}=await this._tempBuildRawTx(n,i.virtualSize());for(let _=0;_<d.ins.length;_++){const p=d.hashForWitnessV1(_,u,a,h,o),I=await this.signer.signSchnorr(p);d.setWitness(_,[I,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return await(await this.signer.getProvider()).broadcast(d.toHex())}async getRedeemHex(t,r){er(ie.crypto.sha256(Buffer.from(t,"hex")).toString("hex")===this.secretHash,Be.secretMismatch);const n=r??await this.signer.getAddress(),{tx:i,usedUtxos:s}=await this._tempBuildRawTx(n),o=this.leafHash(1),a=s.map(m=>m.value),u=Er(this.getOutputScript(),s.length),h=ie.Transaction.SIGHASH_DEFAULT;for(let m=0;m<i.ins.length;m++){const _=i.hashForWitnessV1(m,u,a,h,o),p=await this.signer.signSchnorr(_);i.setWitness(m,[p,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}const{tx:d}=await this._tempBuildRawTx(n,i.virtualSize());for(let m=0;m<d.ins.length;m++){const _=d.hashForWitnessV1(m,u,a,h,o),p=await this.signer.signSchnorr(_);d.setWitness(m,[p,Buffer.from(t,"hex"),this.redeemLeaf(),this.generateControlBlockFor(1)])}return d.toHex()}async refund(t,r){const{tx:n,usedUtxos:i}=await this._buildRawTx(t??await this.signer.getAddress(),r),[s,o]=await this.canRefund(i);if(!s)throw new Error(Be.htlcNotExpired(o));const a=this.leafHash(0),u=i.map(_=>_.value),h=Er(this.getOutputScript(),i.length),d=ie.Transaction.SIGHASH_DEFAULT;for(let _=0;_<n.ins.length;_++){n.ins[_].sequence=this.expiry;const p=n.hashForWitnessV1(_,h,u,d,a),I=await this.signer.signSchnorr(p);n.setWitness(_,[I,this.refundLeaf(),this.generateControlBlockFor(0)])}return await(await this.signer.getProvider()).broadcast(n.toHex())}async canRefund(t){const n=await(await this.signer.getProvider()).getLatestTip();for(const i of t){let s=0;if(i.status.confirmed&&i.status.block_height+this.expiry>n?s=i.status.block_height+this.expiry-n+1:i.status.confirmed||(s=this.expiry+1),s>0)return[!1,s]}return[!0,0]}generateControlBlockFor(t){let r;switch(t){case 1:r=this.redeemLeaf();break;case 0:r=this.refundLeaf();break;case 2:r=this.instantRefundLeaf();break;default:throw new Error(Be.invalidLeaf)}const n=ie.payments.p2tr({internalPubkey:this.internalPubkey,network:this.network,scriptTree:this.leaves(),redeem:{output:r,redeemVersion:Mn}});if(!n.witness)throw new Error(Be.controlBlockGenerationFailed);return n.witness[n.witness.length-1]}leafHash(t){let r=this.redeemLeaf();return t===0&&(r=this.refundLeaf()),t===2&&(r=this.instantRefundLeaf()),ie.crypto.taggedHash("TapLeaf",pf(r))}refundLeaf(){return ie.script.fromASM(`
10
10
  ${ie.script.number.encode(this.expiry).toString("hex")}
11
11
  OP_CHECKSEQUENCEVERIFY
12
12
  OP_DROP
@@ -25,10 +25,10 @@
25
25
  OP_CHECKSIGADD
26
26
  OP_2
27
27
  OP_NUMEQUAL
28
- `.trim().replace(/\s+/g," "))}leaves(){return[{version:Mn,output:this.redeemLeaf()},[{version:Mn,output:this.refundLeaf()},{version:Mn,output:this.instantRefundLeaf()}]]}generateMerkleProofFor(t){const r=this.leafHash(1),n=this.leafHash(2),i=this.leafHash(0);switch(t){case 1:{const s=mf(i,n);return[ie.crypto.taggedHash("TapBranch",Buffer.concat(s))]}case 0:return[n,r];case 2:return[i,r];default:throw new Error(Be.invalidLeaf)}}}function Er(e,t){const r=[];for(let n=0;n<t;n++)r.push(e);return r}class Ul{constructor(){this.cache={}}set(t,r,n,i){const s={txHash:n,timeStamp:Date.now(),btcRedeemUTXO:i};this.cache[`${r}_${t.create_order.create_id}`]=s}get(t,r){return this.cache[`${r}_${t.create_order.create_id}`]||null}remove(t,r){delete this.cache[`${r}_${t.create_order.create_id}`]}}class Ll{constructor(){this.cache={}}set(t,r){this.cache[t]=r}get(t){return this.cache[t]||null}}class Ga{constructor(t,r){this.url=new V.Url(t).endpoint("blocknumbers").endpoint(r)}async fetchBlockNumbers(){try{const t=await xt.get(this.url);return ne(t)}catch(t){return $("Failed to fetch block numbers",t)}}}const un={mainnet:{orderbook:"https://api.garden.finance",auth:"https://api.garden.finance/auth",quote:"https://api.garden.finance/quote",info:"https://api.garden.finance/info",evmRelay:"https://api.garden.finance/relayer",starknetRelay:""},testnet:{orderbook:"https://testnet.api.garden.finance",auth:"https://testnet.api.garden.finance/auth",quote:"https://testnet.api.garden.finance/quote",info:"https://testnet.api.garden.finance/info",evmRelay:"https://testnet.api.garden.finance/relayer",starknetRelay:""},localnet:{orderbook:"",auth:"",quote:"",info:"",evmRelay:"",starknetRelay:""}};class Va{constructor(t){this.quoteUrl=new V.Url(t)}async getQuote(t,r,n=!1,i){try{const s=this.quoteUrl.endpoint("/").addSearchParams({order_pair:t,amount:r.toString(),exact_out:n.toString()}),o=await xt.get(s,{retryCount:0,...i});return o.error?$(o.error):o.result?ne(o.result):$("GetQuote: Unexpected error, result is undefined")}catch(s){return $("GetQuote:",String(s))}}async getAttestedQuote(t){try{const r=await xt.post(this.quoteUrl.endpoint("/attested").toString(),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});return r.error?$(r.error):r.result?ne(r.result):$("GetAttestedQuote: Unexpected error, result is undefined")}catch(r){return console.log("error :",r),$("GetAttestedQuote:",String(r))}}async getStrategies(){try{const t=await xt.get(this.quoteUrl.endpoint("/strategies"));if(t.error)return $(t.error);if(!t.result)return $("GetStrategies: Unexpected error, result is undefined");const r={};for(const n of Object.values(t.result)){const i=ya(n.source_chain,n.source_asset.asset,n.dest_chain,n.dest_asset.asset);r[i]={id:n.id,minAmount:n.min_amount,maxAmount:n.max_amount,fee:n.fee}}return ne(r)}catch(t){return $("GetStrategies:",String(t))}}}var za={},Nr={},Fr={};Object.defineProperty(Fr,"__esModule",{value:!0});Fr.testnet=Fr.bitcoin=void 0;Fr.bitcoin={messagePrefix:`Bitcoin Signed Message:
28
+ `.trim().replace(/\s+/g," "))}leaves(){return[{version:Mn,output:this.redeemLeaf()},[{version:Mn,output:this.refundLeaf()},{version:Mn,output:this.instantRefundLeaf()}]]}generateMerkleProofFor(t){const r=this.leafHash(1),n=this.leafHash(2),i=this.leafHash(0);switch(t){case 1:{const s=mf(i,n);return[ie.crypto.taggedHash("TapBranch",Buffer.concat(s))]}case 0:return[n,r];case 2:return[i,r];default:throw new Error(Be.invalidLeaf)}}}function Er(e,t){const r=[];for(let n=0;n<t;n++)r.push(e);return r}class Ll{constructor(){this.cache={}}set(t,r,n,i){const s={txHash:n,timeStamp:Date.now(),btcRedeemUTXO:i};this.cache[`${r}_${t.create_order.create_id}`]=s}get(t,r){return this.cache[`${r}_${t.create_order.create_id}`]||null}remove(t,r){delete this.cache[`${r}_${t.create_order.create_id}`]}}class Nl{constructor(){this.cache={}}set(t,r){this.cache[t]=r}get(t){return this.cache[t]||null}}class Ga{constructor(t,r){this.url=new z.Url(t).endpoint("blocknumbers").endpoint(r)}async fetchBlockNumbers(){try{const t=await xt.get(this.url);return ne(t)}catch(t){return $("Failed to fetch block numbers",t)}}}const un={mainnet:{orderbook:"https://api.garden.finance",auth:"https://api.garden.finance/auth",quote:"https://api.garden.finance/quote",info:"https://api.garden.finance/info",evmRelay:"https://api.garden.finance/relayer",starknetRelay:""},testnet:{orderbook:"https://testnet.api.garden.finance",auth:"https://testnet.api.garden.finance/auth",quote:"https://testnet.api.garden.finance/quote",info:"https://testnet.api.garden.finance/info",evmRelay:"https://testnet.api.garden.finance/relayer",starknetRelay:""},localnet:{orderbook:"",auth:"",quote:"",info:"",evmRelay:"",starknetRelay:""}};class Va{constructor(t){this.quoteUrl=new z.Url(t)}async getQuote(t,r,n=!1,i){try{const s=this.quoteUrl.endpoint("/").addSearchParams({order_pair:t,amount:r.toString(),exact_out:n.toString()}),o=await xt.get(s,{retryCount:0,...i});return o.error?$(o.error):o.result?ne(o.result):$("GetQuote: Unexpected error, result is undefined")}catch(s){return $("GetQuote:",String(s))}}async getAttestedQuote(t){try{const r=await xt.post(this.quoteUrl.endpoint("/attested").toString(),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}});return r.error?$(r.error):r.result?ne(r.result):$("GetAttestedQuote: Unexpected error, result is undefined")}catch(r){return console.log("error :",r),$("GetAttestedQuote:",String(r))}}async getStrategies(){try{const t=await xt.get(this.quoteUrl.endpoint("/strategies"));if(t.error)return $(t.error);if(!t.result)return $("GetStrategies: Unexpected error, result is undefined");const r={};for(const n of Object.values(t.result)){const i=ya(n.source_chain,n.source_asset.asset,n.dest_chain,n.dest_asset.asset);r[i]={id:n.id,minAmount:n.min_amount,maxAmount:n.max_amount,fee:n.fee}}return ne(r)}catch(t){return $("GetStrategies:",String(t))}}}var za={},Nr={},Fr={};Object.defineProperty(Fr,"__esModule",{value:!0});Fr.testnet=Fr.bitcoin=void 0;Fr.bitcoin={messagePrefix:`Bitcoin Signed Message:
29
29
  `,bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128};Fr.testnet={messagePrefix:`Bitcoin Signed Message:
30
- `,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var qa={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.maybe=e.Boolean=e.Array=e.Buffer256bit=e.Network=e.typeforce=void 0,e.typeforce=xa,e.Network=e.typeforce.compile({messagePrefix:e.typeforce.oneOf(e.typeforce.Buffer,e.typeforce.String),bip32:{public:e.typeforce.UInt32,private:e.typeforce.UInt32},pubKeyHash:e.typeforce.UInt8,scriptHash:e.typeforce.UInt8,wif:e.typeforce.UInt8}),e.Buffer256bit=e.typeforce.BufferN(32),e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.maybe=e.typeforce.maybe})(qa);var bs={exports:{}},ws={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(e,t){var r=It,n=r.Buffer;function i(o,a){for(var u in o)a[u]=o[u]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=s);function s(o,a,u){return n(o,a,u)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,u){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,u)},s.alloc=function(o,a,u){if(typeof o!="number")throw new TypeError("Argument must be a number");var h=n(o);return a!==void 0?typeof u=="string"?h.fill(a,u):h.fill(a):h.fill(0),h},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(o)}})(ws,ws.exports);var Ve=ws.exports,Yi=65536,Nl=4294967295;function Fl(){throw new Error(`Secure random number generation is not supported by this browser.
31
- Use Chrome, Firefox or Internet Explorer 11`)}var Hl=Ve.Buffer,ti=zt.crypto||zt.msCrypto;ti&&ti.getRandomValues?bs.exports=Ml:bs.exports=Fl;function Ml(e,t){if(e>Nl)throw new RangeError("requested too many random bytes");var r=Hl.allocUnsafe(e);if(e>0)if(e>Yi)for(var n=0;n<e;n+=Yi)ti.getRandomValues(r.slice(n,n+Yi));else ti.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}var Dl=bs.exports,gs={exports:{}};typeof Object.create=="function"?gs.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:gs.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}};var Oe=gs.exports,_s={exports:{}},Gs={exports:{}},Or=typeof Reflect=="object"?Reflect:null,Bo=Or&&typeof Or.apply=="function"?Or.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},Jn;Or&&typeof Or.ownKeys=="function"?Jn=Or.ownKeys:Object.getOwnPropertySymbols?Jn=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Jn=function(t){return Object.getOwnPropertyNames(t)};function $l(e){console&&console.warn&&console.warn(e)}var Wa=Number.isNaN||function(t){return t!==t};function se(){se.init.call(this)}Gs.exports=se;Gs.exports.once=zl;se.EventEmitter=se;se.prototype._events=void 0;se.prototype._eventsCount=0;se.prototype._maxListeners=void 0;var Io=10;function wi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(se,"defaultMaxListeners",{enumerable:!0,get:function(){return Io},set:function(e){if(typeof e!="number"||e<0||Wa(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Io=e}});se.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};se.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||Wa(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function Ka(e){return e._maxListeners===void 0?se.defaultMaxListeners:e._maxListeners}se.prototype.getMaxListeners=function(){return Ka(this)};se.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var u=s[t];if(u===void 0)return!1;if(typeof u=="function")Bo(u,this,r);else for(var h=u.length,d=Za(u,h),n=0;n<h;++n)Bo(d[n],this,r);return!0};function Ya(e,t,r,n){var i,s,o;if(wi(r),s=e._events,s===void 0?(s=e._events=Object.create(null),e._eventsCount=0):(s.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),o=s[t]),o===void 0)o=s[t]=r,++e._eventsCount;else if(typeof o=="function"?o=s[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=Ka(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,$l(a)}return e}se.prototype.addListener=function(t,r){return Ya(this,t,r,!1)};se.prototype.on=se.prototype.addListener;se.prototype.prependListener=function(t,r){return Ya(this,t,r,!0)};function jl(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Xa(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=jl.bind(n);return i.listener=r,n.wrapFn=i,i}se.prototype.once=function(t,r){return wi(r),this.on(t,Xa(this,t,r)),this};se.prototype.prependOnceListener=function(t,r){return wi(r),this.prependListener(t,Xa(this,t,r)),this};se.prototype.removeListener=function(t,r){var n,i,s,o,a;if(wi(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():Gl(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};se.prototype.off=se.prototype.removeListener;se.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function Ja(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Vl(i):Za(i,i.length)}se.prototype.listeners=function(t){return Ja(this,t,!0)};se.prototype.rawListeners=function(t){return Ja(this,t,!1)};se.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Qa.call(e,t)};se.prototype.listenerCount=Qa;function Qa(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}se.prototype.eventNames=function(){return this._eventsCount>0?Jn(this._events):[]};function Za(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function Gl(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function Vl(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function zl(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,s),n(o)}function s(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}ec(e,t,s,{once:!0}),t!=="error"&&ql(e,i,{once:!0})})}function ql(e,t,r){typeof e.on=="function"&&ec(e,"error",t,r)}function ec(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(s){n.once&&e.removeEventListener(t,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}var tc=Gs.exports,rc=tc.EventEmitter;const Wl={},Kl=Object.freeze(Object.defineProperty({__proto__:null,default:Wl},Symbol.toStringTag,{value:"Module"})),Vs=If(Kl);var Xi,Po;function Yl(){if(Po)return Xi;Po=1;function e(I,B){var T=Object.keys(I);if(Object.getOwnPropertySymbols){var R=Object.getOwnPropertySymbols(I);B&&(R=R.filter(function(U){return Object.getOwnPropertyDescriptor(I,U).enumerable})),T.push.apply(T,R)}return T}function t(I){for(var B=1;B<arguments.length;B++){var T=arguments[B]!=null?arguments[B]:{};B%2?e(Object(T),!0).forEach(function(R){r(I,R,T[R])}):Object.getOwnPropertyDescriptors?Object.defineProperties(I,Object.getOwnPropertyDescriptors(T)):e(Object(T)).forEach(function(R){Object.defineProperty(I,R,Object.getOwnPropertyDescriptor(T,R))})}return I}function r(I,B,T){return B=o(B),B in I?Object.defineProperty(I,B,{value:T,enumerable:!0,configurable:!0,writable:!0}):I[B]=T,I}function n(I,B){if(!(I instanceof B))throw new TypeError("Cannot call a class as a function")}function i(I,B){for(var T=0;T<B.length;T++){var R=B[T];R.enumerable=R.enumerable||!1,R.configurable=!0,"value"in R&&(R.writable=!0),Object.defineProperty(I,o(R.key),R)}}function s(I,B,T){return B&&i(I.prototype,B),Object.defineProperty(I,"prototype",{writable:!1}),I}function o(I){var B=a(I,"string");return typeof B=="symbol"?B:String(B)}function a(I,B){if(typeof I!="object"||I===null)return I;var T=I[Symbol.toPrimitive];if(T!==void 0){var R=T.call(I,B);if(typeof R!="object")return R;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(I)}var u=It,h=u.Buffer,d=Vs,m=d.inspect,_=m&&m.custom||"inspect";function p(I,B,T){h.prototype.copy.call(I,B,T)}return Xi=function(){function I(){n(this,I),this.head=null,this.tail=null,this.length=0}return s(I,[{key:"push",value:function(T){var R={data:T,next:null};this.length>0?this.tail.next=R:this.head=R,this.tail=R,++this.length}},{key:"unshift",value:function(T){var R={data:T,next:this.head};this.length===0&&(this.tail=R),this.head=R,++this.length}},{key:"shift",value:function(){if(this.length!==0){var T=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,T}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(T){if(this.length===0)return"";for(var R=this.head,U=""+R.data;R=R.next;)U+=T+R.data;return U}},{key:"concat",value:function(T){if(this.length===0)return h.alloc(0);for(var R=h.allocUnsafe(T>>>0),U=this.head,x=0;U;)p(U.data,R,x),x+=U.data.length,U=U.next;return R}},{key:"consume",value:function(T,R){var U;return T<this.head.data.length?(U=this.head.data.slice(0,T),this.head.data=this.head.data.slice(T)):T===this.head.data.length?U=this.shift():U=R?this._getString(T):this._getBuffer(T),U}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(T){var R=this.head,U=1,x=R.data;for(T-=x.length;R=R.next;){var g=R.data,S=T>g.length?g.length:T;if(S===g.length?x+=g:x+=g.slice(0,T),T-=S,T===0){S===g.length?(++U,R.next?this.head=R.next:this.head=this.tail=null):(this.head=R,R.data=g.slice(S));break}++U}return this.length-=U,x}},{key:"_getBuffer",value:function(T){var R=h.allocUnsafe(T),U=this.head,x=1;for(U.data.copy(R),T-=U.data.length;U=U.next;){var g=U.data,S=T>g.length?g.length:T;if(g.copy(R,R.length-T,0,S),T-=S,T===0){S===g.length?(++x,U.next?this.head=U.next:this.head=this.tail=null):(this.head=U,U.data=g.slice(S));break}++x}return this.length-=x,R}},{key:_,value:function(T,R){return m(this,t(t({},R),{},{depth:0,customInspect:!1}))}}]),I}(),Xi}function Xl(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(vs,this,e)):process.nextTick(vs,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(s){!t&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(Qn,r):(r._writableState.errorEmitted=!0,process.nextTick(Oo,r,s)):process.nextTick(Oo,r,s):t?(process.nextTick(Qn,r),t(s)):process.nextTick(Qn,r)}),this)}function Oo(e,t){vs(e,t),Qn(e)}function Qn(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Jl(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function vs(e,t){e.emit("error",t)}function Ql(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var nc={destroy:Xl,undestroy:Jl,errorOrDestroy:Ql},yr={};function Zl(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var ic={};function tt(e,t,r){r||(r=Error);function n(s,o,a){return typeof t=="string"?t:t(s,o,a)}var i=function(s){Zl(o,s);function o(a,u,h){return s.call(this,n(a,u,h))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,ic[e]=i}function Ro(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function eh(e,t,r){return e.substr(0,t.length)===t}function th(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function rh(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}tt("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);tt("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&eh(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(th(e," argument"))i="The ".concat(e," ").concat(n," ").concat(Ro(t,"type"));else{var s=rh(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(s," ").concat(n," ").concat(Ro(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);tt("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");tt("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});tt("ERR_STREAM_PREMATURE_CLOSE","Premature close");tt("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});tt("ERR_MULTIPLE_CALLBACK","Callback called multiple times");tt("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");tt("ERR_STREAM_WRITE_AFTER_END","write after end");tt("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);tt("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);tt("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");yr.codes=ic;var nh=yr.codes.ERR_INVALID_OPT_VALUE;function ih(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function sh(e,t,r,n){var i=ih(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new nh(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var sc={getHighWaterMark:sh},oh=ah;function ah(e,t){if(Ji("noDeprecation"))return e;var r=!1;function n(){if(!r){if(Ji("throwDeprecation"))throw new Error(t);Ji("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function Ji(e){try{if(!zt.localStorage)return!1}catch{return!1}var t=zt.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var Qi,Co;function oc(){if(Co)return Qi;Co=1,Qi=M;function e(k){var A=this;this.next=null,this.entry=null,this.finish=function(){pt(A,k)}}var t;M.WritableState=E;var r={deprecate:oh},n=rc,i=It.Buffer,s=(typeof zt<"u"?zt:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(k){return i.from(k)}function a(k){return i.isBuffer(k)||k instanceof s}var u=nc,h=sc,d=h.getHighWaterMark,m=yr.codes,_=m.ERR_INVALID_ARG_TYPE,p=m.ERR_METHOD_NOT_IMPLEMENTED,I=m.ERR_MULTIPLE_CALLBACK,B=m.ERR_STREAM_CANNOT_PIPE,T=m.ERR_STREAM_DESTROYED,R=m.ERR_STREAM_NULL_VALUES,U=m.ERR_STREAM_WRITE_AFTER_END,x=m.ERR_UNKNOWN_ENCODING,g=u.errorOrDestroy;Oe(M,n);function S(){}function E(k,A,F){t=t||Hr(),k=k||{},typeof F!="boolean"&&(F=A instanceof t),this.objectMode=!!k.objectMode,F&&(this.objectMode=this.objectMode||!!k.writableObjectMode),this.highWaterMark=d(this,k,"writableHighWaterMark",F),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var q=k.decodeStrings===!1;this.decodeStrings=!q,this.defaultEncoding=k.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Y){ve(A,Y)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=k.emitClose!==!1,this.autoDestroy=!!k.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}E.prototype.getBuffer=function(){for(var A=this.bufferedRequest,F=[];A;)F.push(A),A=A.next;return F},function(){try{Object.defineProperty(E.prototype,"buffer",{get:r.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var H;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(H=Function.prototype[Symbol.hasInstance],Object.defineProperty(M,Symbol.hasInstance,{value:function(A){return H.call(this,A)?!0:this!==M?!1:A&&A._writableState instanceof E}})):H=function(A){return A instanceof this};function M(k){t=t||Hr();var A=this instanceof t;if(!A&&!H.call(M,this))return new M(k);this._writableState=new E(k,this,A),this.writable=!0,k&&(typeof k.write=="function"&&(this._write=k.write),typeof k.writev=="function"&&(this._writev=k.writev),typeof k.destroy=="function"&&(this._destroy=k.destroy),typeof k.final=="function"&&(this._final=k.final)),n.call(this)}M.prototype.pipe=function(){g(this,new B)};function O(k,A){var F=new U;g(k,F),process.nextTick(A,F)}function K(k,A,F,q){var Y;return F===null?Y=new R:typeof F!="string"&&!A.objectMode&&(Y=new _("chunk",["string","Buffer"],F)),Y?(g(k,Y),process.nextTick(q,Y),!1):!0}M.prototype.write=function(k,A,F){var q=this._writableState,Y=!1,b=!q.objectMode&&a(k);return b&&!i.isBuffer(k)&&(k=o(k)),typeof A=="function"&&(F=A,A=null),b?A="buffer":A||(A=q.defaultEncoding),typeof F!="function"&&(F=S),q.ending?O(this,F):(b||K(this,q,k,F))&&(q.pendingcb++,Y=j(this,q,b,k,A,F)),Y},M.prototype.cork=function(){this._writableState.corked++},M.prototype.uncork=function(){var k=this._writableState;k.corked&&(k.corked--,!k.writing&&!k.corked&&!k.bufferProcessing&&k.bufferedRequest&&qe(this,k))},M.prototype.setDefaultEncoding=function(A){if(typeof A=="string"&&(A=A.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((A+"").toLowerCase())>-1))throw new x(A);return this._writableState.defaultEncoding=A,this},Object.defineProperty(M.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function C(k,A,F){return!k.objectMode&&k.decodeStrings!==!1&&typeof A=="string"&&(A=i.from(A,F)),A}Object.defineProperty(M.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function j(k,A,F,q,Y,b){if(!F){var w=C(A,q,Y);q!==w&&(F=!0,Y="buffer",q=w)}var N=A.objectMode?1:q.length;A.length+=N;var D=A.length<A.highWaterMark;if(D||(A.needDrain=!0),A.writing||A.corked){var pe=A.lastBufferedRequest;A.lastBufferedRequest={chunk:q,encoding:Y,isBuf:F,callback:b,next:null},pe?pe.next=A.lastBufferedRequest:A.bufferedRequest=A.lastBufferedRequest,A.bufferedRequestCount+=1}else G(k,A,!1,N,q,Y,b);return D}function G(k,A,F,q,Y,b,w){A.writelen=q,A.writecb=w,A.writing=!0,A.sync=!0,A.destroyed?A.onwrite(new T("write")):F?k._writev(Y,A.onwrite):k._write(Y,b,A.onwrite),A.sync=!1}function z(k,A,F,q,Y){--A.pendingcb,F?(process.nextTick(Y,q),process.nextTick(We,k,A),k._writableState.errorEmitted=!0,g(k,q)):(Y(q),k._writableState.errorEmitted=!0,g(k,q),We(k,A))}function ee(k){k.writing=!1,k.writecb=null,k.length-=k.writelen,k.writelen=0}function ve(k,A){var F=k._writableState,q=F.sync,Y=F.writecb;if(typeof Y!="function")throw new I;if(ee(F),A)z(k,F,q,A,Y);else{var b=Ot(F)||k.destroyed;!b&&!F.corked&&!F.bufferProcessing&&F.bufferedRequest&&qe(k,F),q?process.nextTick(ze,k,F,b,Y):ze(k,F,b,Y)}}function ze(k,A,F,q){F||rt(k,A),A.pendingcb--,q(),We(k,A)}function rt(k,A){A.length===0&&A.needDrain&&(A.needDrain=!1,k.emit("drain"))}function qe(k,A){A.bufferProcessing=!0;var F=A.bufferedRequest;if(k._writev&&F&&F.next){var q=A.bufferedRequestCount,Y=new Array(q),b=A.corkedRequestsFree;b.entry=F;for(var w=0,N=!0;F;)Y[w]=F,F.isBuf||(N=!1),F=F.next,w+=1;Y.allBuffers=N,G(k,A,!0,A.length,Y,"",b.finish),A.pendingcb++,A.lastBufferedRequest=null,b.next?(A.corkedRequestsFree=b.next,b.next=null):A.corkedRequestsFree=new e(A),A.bufferedRequestCount=0}else{for(;F;){var D=F.chunk,pe=F.encoding,X=F.callback,re=A.objectMode?1:D.length;if(G(k,A,!1,re,D,pe,X),F=F.next,A.bufferedRequestCount--,A.writing)break}F===null&&(A.lastBufferedRequest=null)}A.bufferedRequest=F,A.bufferProcessing=!1}M.prototype._write=function(k,A,F){F(new p("_write()"))},M.prototype._writev=null,M.prototype.end=function(k,A,F){var q=this._writableState;return typeof k=="function"?(F=k,k=null,A=null):typeof A=="function"&&(F=A,A=null),k!=null&&this.write(k,A),q.corked&&(q.corked=1,this.uncork()),q.ending||Rt(this,q,F),this},Object.defineProperty(M.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function Ot(k){return k.ending&&k.length===0&&k.bufferedRequest===null&&!k.finished&&!k.writing}function de(k,A){k._final(function(F){A.pendingcb--,F&&g(k,F),A.prefinished=!0,k.emit("prefinish"),We(k,A)})}function Ee(k,A){!A.prefinished&&!A.finalCalled&&(typeof k._final=="function"&&!A.destroyed?(A.pendingcb++,A.finalCalled=!0,process.nextTick(de,k,A)):(A.prefinished=!0,k.emit("prefinish")))}function We(k,A){var F=Ot(A);if(F&&(Ee(k,A),A.pendingcb===0&&(A.finished=!0,k.emit("finish"),A.autoDestroy))){var q=k._readableState;(!q||q.autoDestroy&&q.endEmitted)&&k.destroy()}return F}function Rt(k,A,F){A.ending=!0,We(k,A),F&&(A.finished?process.nextTick(F):k.once("finish",F)),A.ended=!0,k.writable=!1}function pt(k,A,F){var q=k.entry;for(k.entry=null;q;){var Y=q.callback;A.pendingcb--,Y(F),q=q.next}A.corkedRequestsFree.next=k}return Object.defineProperty(M.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(A){this._writableState&&(this._writableState.destroyed=A)}}),M.prototype.destroy=u.destroy,M.prototype._undestroy=u.undestroy,M.prototype._destroy=function(k,A){A(k)},Qi}var Zi,Uo;function Hr(){if(Uo)return Zi;Uo=1;var e=Object.keys||function(h){var d=[];for(var m in h)d.push(m);return d};Zi=o;var t=cc(),r=oc();Oe(o,t);for(var n=e(r.prototype),i=0;i<n.length;i++){var s=n[i];o.prototype[s]||(o.prototype[s]=r.prototype[s])}function o(h){if(!(this instanceof o))return new o(h);t.call(this,h),r.call(this,h),this.allowHalfOpen=!0,h&&(h.readable===!1&&(this.readable=!1),h.writable===!1&&(this.writable=!1),h.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",a)))}Object.defineProperty(o.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(o.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(o.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function a(){this._writableState.ended||process.nextTick(u,this)}function u(h){h.end()}return Object.defineProperty(o.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(d){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=d,this._writableState.destroyed=d)}}),Zi}var ri={},zs=Ve.Buffer,Lo=zs.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function ch(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function fh(e){var t=ch(e);if(typeof t!="string"&&(zs.isEncoding===Lo||!Lo(e)))throw new Error("Unknown encoding: "+e);return t||e}ri.StringDecoder=xn;function xn(e){this.encoding=fh(e);var t;switch(this.encoding){case"utf16le":this.text=yh,this.end=mh,t=4;break;case"utf8":this.fillLast=hh,t=4;break;case"base64":this.text=bh,this.end=wh,t=3;break;default:this.write=gh,this.end=_h;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=zs.allocUnsafe(t)}xn.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""};xn.prototype.end=ph;xn.prototype.text=dh;xn.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function es(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function uh(e,t,r){var n=t.length-1;if(n<r)return 0;var i=es(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=es(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=es(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function lh(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"�"}}function hh(e){var t=this.lastTotal-this.lastNeed,r=lh(this,e);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function dh(e,t){var r=uh(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function ph(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function yh(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function mh(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function bh(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function wh(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function gh(e){return e.toString(this.encoding)}function _h(e){return e&&e.length?this.write(e):""}var No=yr.codes.ERR_STREAM_PREMATURE_CLOSE;function vh(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function Eh(){}function xh(e){return e.setHeader&&typeof e.abort=="function"}function ac(e,t,r){if(typeof t=="function")return ac(e,null,t);t||(t={}),r=vh(r||Eh);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,s=function(){e.writable||a()},o=e._writableState&&e._writableState.finished,a=function(){i=!1,o=!0,n||r.call(e)},u=e._readableState&&e._readableState.endEmitted,h=function(){n=!1,u=!0,i||r.call(e)},d=function(I){r.call(e,I)},m=function(){var I;if(n&&!u)return(!e._readableState||!e._readableState.ended)&&(I=new No),r.call(e,I);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(I=new No),r.call(e,I)},_=function(){e.req.on("finish",a)};return xh(e)?(e.on("complete",a),e.on("abort",m),e.req?_():e.on("request",_)):i&&!e._writableState&&(e.on("end",s),e.on("close",s)),e.on("end",h),e.on("finish",a),t.error!==!1&&e.on("error",d),e.on("close",m),function(){e.removeListener("complete",a),e.removeListener("abort",m),e.removeListener("request",_),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",h),e.removeListener("error",d),e.removeListener("close",m)}}var qs=ac,ts,Fo;function Sh(){if(Fo)return ts;Fo=1;var e;function t(x,g,S){return g=r(g),g in x?Object.defineProperty(x,g,{value:S,enumerable:!0,configurable:!0,writable:!0}):x[g]=S,x}function r(x){var g=n(x,"string");return typeof g=="symbol"?g:String(g)}function n(x,g){if(typeof x!="object"||x===null)return x;var S=x[Symbol.toPrimitive];if(S!==void 0){var E=S.call(x,g);if(typeof E!="object")return E;throw new TypeError("@@toPrimitive must return a primitive value.")}return(g==="string"?String:Number)(x)}var i=qs,s=Symbol("lastResolve"),o=Symbol("lastReject"),a=Symbol("error"),u=Symbol("ended"),h=Symbol("lastPromise"),d=Symbol("handlePromise"),m=Symbol("stream");function _(x,g){return{value:x,done:g}}function p(x){var g=x[s];if(g!==null){var S=x[m].read();S!==null&&(x[h]=null,x[s]=null,x[o]=null,g(_(S,!1)))}}function I(x){process.nextTick(p,x)}function B(x,g){return function(S,E){x.then(function(){if(g[u]){S(_(void 0,!0));return}g[d](S,E)},E)}}var T=Object.getPrototypeOf(function(){}),R=Object.setPrototypeOf((e={get stream(){return this[m]},next:function(){var g=this,S=this[a];if(S!==null)return Promise.reject(S);if(this[u])return Promise.resolve(_(void 0,!0));if(this[m].destroyed)return new Promise(function(O,K){process.nextTick(function(){g[a]?K(g[a]):O(_(void 0,!0))})});var E=this[h],H;if(E)H=new Promise(B(E,this));else{var M=this[m].read();if(M!==null)return Promise.resolve(_(M,!1));H=new Promise(this[d])}return this[h]=H,H}},t(e,Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var g=this;return new Promise(function(S,E){g[m].destroy(null,function(H){if(H){E(H);return}S(_(void 0,!0))})})}),e),T),U=function(g){var S,E=Object.create(R,(S={},t(S,m,{value:g,writable:!0}),t(S,s,{value:null,writable:!0}),t(S,o,{value:null,writable:!0}),t(S,a,{value:null,writable:!0}),t(S,u,{value:g._readableState.endEmitted,writable:!0}),t(S,d,{value:function(M,O){var K=E[m].read();K?(E[h]=null,E[s]=null,E[o]=null,M(_(K,!1))):(E[s]=M,E[o]=O)},writable:!0}),S));return E[h]=null,i(g,function(H){if(H&&H.code!=="ERR_STREAM_PREMATURE_CLOSE"){var M=E[o];M!==null&&(E[h]=null,E[s]=null,E[o]=null,M(H)),E[a]=H;return}var O=E[s];O!==null&&(E[h]=null,E[s]=null,E[o]=null,O(_(void 0,!0))),E[u]=!0}),g.on("readable",I.bind(null,E)),E};return ts=U,ts}var rs,Ho;function Ah(){return Ho||(Ho=1,rs=function(){throw new Error("Readable.from is not available in the browser")}),rs}var ns,Mo;function cc(){if(Mo)return ns;Mo=1,ns=O;var e;O.ReadableState=M,tc.EventEmitter;var t=function(w,N){return w.listeners(N).length},r=rc,n=It.Buffer,i=(typeof zt<"u"?zt:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function s(b){return n.from(b)}function o(b){return n.isBuffer(b)||b instanceof i}var a=Vs,u;a&&a.debuglog?u=a.debuglog("stream"):u=function(){};var h=Yl(),d=nc,m=sc,_=m.getHighWaterMark,p=yr.codes,I=p.ERR_INVALID_ARG_TYPE,B=p.ERR_STREAM_PUSH_AFTER_EOF,T=p.ERR_METHOD_NOT_IMPLEMENTED,R=p.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,U,x,g;Oe(O,r);var S=d.errorOrDestroy,E=["error","close","destroy","pause","resume"];function H(b,w,N){if(typeof b.prependListener=="function")return b.prependListener(w,N);!b._events||!b._events[w]?b.on(w,N):Array.isArray(b._events[w])?b._events[w].unshift(N):b._events[w]=[N,b._events[w]]}function M(b,w,N){e=e||Hr(),b=b||{},typeof N!="boolean"&&(N=w instanceof e),this.objectMode=!!b.objectMode,N&&(this.objectMode=this.objectMode||!!b.readableObjectMode),this.highWaterMark=_(this,b,"readableHighWaterMark",N),this.buffer=new h,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=b.emitClose!==!1,this.autoDestroy=!!b.autoDestroy,this.destroyed=!1,this.defaultEncoding=b.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,b.encoding&&(U||(U=ri.StringDecoder),this.decoder=new U(b.encoding),this.encoding=b.encoding)}function O(b){if(e=e||Hr(),!(this instanceof O))return new O(b);var w=this instanceof e;this._readableState=new M(b,this,w),this.readable=!0,b&&(typeof b.read=="function"&&(this._read=b.read),typeof b.destroy=="function"&&(this._destroy=b.destroy)),r.call(this)}Object.defineProperty(O.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(w){this._readableState&&(this._readableState.destroyed=w)}}),O.prototype.destroy=d.destroy,O.prototype._undestroy=d.undestroy,O.prototype._destroy=function(b,w){w(b)},O.prototype.push=function(b,w){var N=this._readableState,D;return N.objectMode?D=!0:typeof b=="string"&&(w=w||N.defaultEncoding,w!==N.encoding&&(b=n.from(b,w),w=""),D=!0),K(this,b,w,!1,D)},O.prototype.unshift=function(b){return K(this,b,null,!0,!1)};function K(b,w,N,D,pe){u("readableAddChunk",w);var X=b._readableState;if(w===null)X.reading=!1,ve(b,X);else{var re;if(pe||(re=j(X,w)),re)S(b,re);else if(X.objectMode||w&&w.length>0)if(typeof w!="string"&&!X.objectMode&&Object.getPrototypeOf(w)!==n.prototype&&(w=s(w)),D)X.endEmitted?S(b,new R):C(b,X,w,!0);else if(X.ended)S(b,new B);else{if(X.destroyed)return!1;X.reading=!1,X.decoder&&!N?(w=X.decoder.write(w),X.objectMode||w.length!==0?C(b,X,w,!1):qe(b,X)):C(b,X,w,!1)}else D||(X.reading=!1,qe(b,X))}return!X.ended&&(X.length<X.highWaterMark||X.length===0)}function C(b,w,N,D){w.flowing&&w.length===0&&!w.sync?(w.awaitDrain=0,b.emit("data",N)):(w.length+=w.objectMode?1:N.length,D?w.buffer.unshift(N):w.buffer.push(N),w.needReadable&&ze(b)),qe(b,w)}function j(b,w){var N;return!o(w)&&typeof w!="string"&&w!==void 0&&!b.objectMode&&(N=new I("chunk",["string","Buffer","Uint8Array"],w)),N}O.prototype.isPaused=function(){return this._readableState.flowing===!1},O.prototype.setEncoding=function(b){U||(U=ri.StringDecoder);var w=new U(b);this._readableState.decoder=w,this._readableState.encoding=this._readableState.decoder.encoding;for(var N=this._readableState.buffer.head,D="";N!==null;)D+=w.write(N.data),N=N.next;return this._readableState.buffer.clear(),D!==""&&this._readableState.buffer.push(D),this._readableState.length=D.length,this};var G=1073741824;function z(b){return b>=G?b=G:(b--,b|=b>>>1,b|=b>>>2,b|=b>>>4,b|=b>>>8,b|=b>>>16,b++),b}function ee(b,w){return b<=0||w.length===0&&w.ended?0:w.objectMode?1:b!==b?w.flowing&&w.length?w.buffer.head.data.length:w.length:(b>w.highWaterMark&&(w.highWaterMark=z(b)),b<=w.length?b:w.ended?w.length:(w.needReadable=!0,0))}O.prototype.read=function(b){u("read",b),b=parseInt(b,10);var w=this._readableState,N=b;if(b!==0&&(w.emittedReadable=!1),b===0&&w.needReadable&&((w.highWaterMark!==0?w.length>=w.highWaterMark:w.length>0)||w.ended))return u("read: emitReadable",w.length,w.ended),w.length===0&&w.ended?F(this):ze(this),null;if(b=ee(b,w),b===0&&w.ended)return w.length===0&&F(this),null;var D=w.needReadable;u("need readable",D),(w.length===0||w.length-b<w.highWaterMark)&&(D=!0,u("length less than watermark",D)),w.ended||w.reading?(D=!1,u("reading or ended",D)):D&&(u("do read"),w.reading=!0,w.sync=!0,w.length===0&&(w.needReadable=!0),this._read(w.highWaterMark),w.sync=!1,w.reading||(b=ee(N,w)));var pe;return b>0?pe=A(b,w):pe=null,pe===null?(w.needReadable=w.length<=w.highWaterMark,b=0):(w.length-=b,w.awaitDrain=0),w.length===0&&(w.ended||(w.needReadable=!0),N!==b&&w.ended&&F(this)),pe!==null&&this.emit("data",pe),pe};function ve(b,w){if(u("onEofChunk"),!w.ended){if(w.decoder){var N=w.decoder.end();N&&N.length&&(w.buffer.push(N),w.length+=w.objectMode?1:N.length)}w.ended=!0,w.sync?ze(b):(w.needReadable=!1,w.emittedReadable||(w.emittedReadable=!0,rt(b)))}}function ze(b){var w=b._readableState;u("emitReadable",w.needReadable,w.emittedReadable),w.needReadable=!1,w.emittedReadable||(u("emitReadable",w.flowing),w.emittedReadable=!0,process.nextTick(rt,b))}function rt(b){var w=b._readableState;u("emitReadable_",w.destroyed,w.length,w.ended),!w.destroyed&&(w.length||w.ended)&&(b.emit("readable"),w.emittedReadable=!1),w.needReadable=!w.flowing&&!w.ended&&w.length<=w.highWaterMark,k(b)}function qe(b,w){w.readingMore||(w.readingMore=!0,process.nextTick(Ot,b,w))}function Ot(b,w){for(;!w.reading&&!w.ended&&(w.length<w.highWaterMark||w.flowing&&w.length===0);){var N=w.length;if(u("maybeReadMore read 0"),b.read(0),N===w.length)break}w.readingMore=!1}O.prototype._read=function(b){S(this,new T("_read()"))},O.prototype.pipe=function(b,w){var N=this,D=this._readableState;switch(D.pipesCount){case 0:D.pipes=b;break;case 1:D.pipes=[D.pipes,b];break;default:D.pipes.push(b);break}D.pipesCount+=1,u("pipe count=%d opts=%j",D.pipesCount,w);var pe=(!w||w.end!==!1)&&b!==process.stdout&&b!==process.stderr,X=pe?Ct:Zt;D.endEmitted?process.nextTick(X):N.once("end",X),b.on("unpipe",re);function re(l,c){u("onunpipe"),l===N&&c&&c.hasUnpiped===!1&&(c.hasUnpiped=!0,wr())}function Ct(){u("onend"),b.end()}var br=de(N);b.on("drain",br);var Gr=!1;function wr(){u("cleanup"),b.removeListener("close",Vr),b.removeListener("finish",Je),b.removeListener("drain",br),b.removeListener("error",Qt),b.removeListener("unpipe",re),N.removeListener("end",Ct),N.removeListener("end",Zt),N.removeListener("data",Ke),Gr=!0,D.awaitDrain&&(!b._writableState||b._writableState.needDrain)&&br()}N.on("data",Ke);function Ke(l){u("ondata");var c=b.write(l);u("dest.write",c),c===!1&&((D.pipesCount===1&&D.pipes===b||D.pipesCount>1&&Y(D.pipes,b)!==-1)&&!Gr&&(u("false write response, pause",D.awaitDrain),D.awaitDrain++),N.pause())}function Qt(l){u("onerror",l),Zt(),b.removeListener("error",Qt),t(b,"error")===0&&S(b,l)}H(b,"error",Qt);function Vr(){b.removeListener("finish",Je),Zt()}b.once("close",Vr);function Je(){u("onfinish"),b.removeListener("close",Vr),Zt()}b.once("finish",Je);function Zt(){u("unpipe"),N.unpipe(b)}return b.emit("pipe",N),D.flowing||(u("pipe resume"),N.resume()),b};function de(b){return function(){var N=b._readableState;u("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,N.awaitDrain===0&&t(b,"data")&&(N.flowing=!0,k(b))}}O.prototype.unpipe=function(b){var w=this._readableState,N={hasUnpiped:!1};if(w.pipesCount===0)return this;if(w.pipesCount===1)return b&&b!==w.pipes?this:(b||(b=w.pipes),w.pipes=null,w.pipesCount=0,w.flowing=!1,b&&b.emit("unpipe",this,N),this);if(!b){var D=w.pipes,pe=w.pipesCount;w.pipes=null,w.pipesCount=0,w.flowing=!1;for(var X=0;X<pe;X++)D[X].emit("unpipe",this,{hasUnpiped:!1});return this}var re=Y(w.pipes,b);return re===-1?this:(w.pipes.splice(re,1),w.pipesCount-=1,w.pipesCount===1&&(w.pipes=w.pipes[0]),b.emit("unpipe",this,N),this)},O.prototype.on=function(b,w){var N=r.prototype.on.call(this,b,w),D=this._readableState;return b==="data"?(D.readableListening=this.listenerCount("readable")>0,D.flowing!==!1&&this.resume()):b==="readable"&&!D.endEmitted&&!D.readableListening&&(D.readableListening=D.needReadable=!0,D.flowing=!1,D.emittedReadable=!1,u("on readable",D.length,D.reading),D.length?ze(this):D.reading||process.nextTick(We,this)),N},O.prototype.addListener=O.prototype.on,O.prototype.removeListener=function(b,w){var N=r.prototype.removeListener.call(this,b,w);return b==="readable"&&process.nextTick(Ee,this),N},O.prototype.removeAllListeners=function(b){var w=r.prototype.removeAllListeners.apply(this,arguments);return(b==="readable"||b===void 0)&&process.nextTick(Ee,this),w};function Ee(b){var w=b._readableState;w.readableListening=b.listenerCount("readable")>0,w.resumeScheduled&&!w.paused?w.flowing=!0:b.listenerCount("data")>0&&b.resume()}function We(b){u("readable nexttick read 0"),b.read(0)}O.prototype.resume=function(){var b=this._readableState;return b.flowing||(u("resume"),b.flowing=!b.readableListening,Rt(this,b)),b.paused=!1,this};function Rt(b,w){w.resumeScheduled||(w.resumeScheduled=!0,process.nextTick(pt,b,w))}function pt(b,w){u("resume",w.reading),w.reading||b.read(0),w.resumeScheduled=!1,b.emit("resume"),k(b),w.flowing&&!w.reading&&b.read(0)}O.prototype.pause=function(){return u("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(u("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function k(b){var w=b._readableState;for(u("flow",w.flowing);w.flowing&&b.read()!==null;);}O.prototype.wrap=function(b){var w=this,N=this._readableState,D=!1;b.on("end",function(){if(u("wrapped end"),N.decoder&&!N.ended){var re=N.decoder.end();re&&re.length&&w.push(re)}w.push(null)}),b.on("data",function(re){if(u("wrapped data"),N.decoder&&(re=N.decoder.write(re)),!(N.objectMode&&re==null)&&!(!N.objectMode&&(!re||!re.length))){var Ct=w.push(re);Ct||(D=!0,b.pause())}});for(var pe in b)this[pe]===void 0&&typeof b[pe]=="function"&&(this[pe]=function(Ct){return function(){return b[Ct].apply(b,arguments)}}(pe));for(var X=0;X<E.length;X++)b.on(E[X],this.emit.bind(this,E[X]));return this._read=function(re){u("wrapped _read",re),D&&(D=!1,b.resume())},this},typeof Symbol=="function"&&(O.prototype[Symbol.asyncIterator]=function(){return x===void 0&&(x=Sh()),x(this)}),Object.defineProperty(O.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(O.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(O.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(w){this._readableState&&(this._readableState.flowing=w)}}),O._fromList=A,Object.defineProperty(O.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function A(b,w){if(w.length===0)return null;var N;return w.objectMode?N=w.buffer.shift():!b||b>=w.length?(w.decoder?N=w.buffer.join(""):w.buffer.length===1?N=w.buffer.first():N=w.buffer.concat(w.length),w.buffer.clear()):N=w.buffer.consume(b,w.decoder),N}function F(b){var w=b._readableState;u("endReadable",w.endEmitted),w.endEmitted||(w.ended=!0,process.nextTick(q,w,b))}function q(b,w){if(u("endReadableNT",b.endEmitted,b.length),!b.endEmitted&&b.length===0&&(b.endEmitted=!0,w.readable=!1,w.emit("end"),b.autoDestroy)){var N=w._writableState;(!N||N.autoDestroy&&N.finished)&&w.destroy()}}typeof Symbol=="function"&&(O.from=function(b,w){return g===void 0&&(g=Ah()),g(O,b,w)});function Y(b,w){for(var N=0,D=b.length;N<D;N++)if(b[N]===w)return N;return-1}return ns}var fc=Bt,gi=yr.codes,kh=gi.ERR_METHOD_NOT_IMPLEMENTED,Th=gi.ERR_MULTIPLE_CALLBACK,Bh=gi.ERR_TRANSFORM_ALREADY_TRANSFORMING,Ih=gi.ERR_TRANSFORM_WITH_LENGTH_0,_i=Hr();Oe(Bt,_i);function Ph(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new Th);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Bt(e){if(!(this instanceof Bt))return new Bt(e);_i.call(this,e),this._transformState={afterTransform:Ph.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",Oh)}function Oh(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){Do(e,t,r)}):Do(this,null,null)}Bt.prototype.push=function(e,t){return this._transformState.needTransform=!1,_i.prototype.push.call(this,e,t)};Bt.prototype._transform=function(e,t,r){r(new kh("_transform()"))};Bt.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Bt.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Bt.prototype._destroy=function(e,t){_i.prototype._destroy.call(this,e,function(r){t(r)})};function Do(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new Ih;if(e._transformState.transforming)throw new Bh;return e.push(null)}var Rh=bn,uc=fc;Oe(bn,uc);function bn(e){if(!(this instanceof bn))return new bn(e);uc.call(this,e)}bn.prototype._transform=function(e,t,r){r(null,e)};var is;function Ch(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var lc=yr.codes,Uh=lc.ERR_MISSING_ARGS,Lh=lc.ERR_STREAM_DESTROYED;function $o(e){if(e)throw e}function Nh(e){return e.setHeader&&typeof e.abort=="function"}function Fh(e,t,r,n){n=Ch(n);var i=!1;e.on("close",function(){i=!0}),is===void 0&&(is=qs),is(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var s=!1;return function(o){if(!i&&!s){if(s=!0,Nh(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new Lh("pipe"))}}}function jo(e){e()}function Hh(e,t){return e.pipe(t)}function Mh(e){return!e.length||typeof e[e.length-1]!="function"?$o:e.pop()}function Dh(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=Mh(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Uh("streams");var i,s=t.map(function(o,a){var u=a<t.length-1,h=a>0;return Fh(o,u,h,function(d){i||(i=d),d&&s.forEach(jo),!u&&(s.forEach(jo),n(i))})});return t.reduce(Hh)}var $h=Dh;(function(e,t){t=e.exports=cc(),t.Stream=t,t.Readable=t,t.Writable=oc(),t.Duplex=Hr(),t.Transform=fc,t.PassThrough=Rh,t.finished=qs,t.pipeline=$h})(_s,_s.exports);var hc=_s.exports,ni=Ve.Buffer,dc=hc.Transform,jh=Oe;function Gh(e,t){if(!ni.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Yt(e){dc.call(this),this._block=ni.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}jh(Yt,dc);Yt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Yt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Yt.prototype.update=function(e,t){if(Gh(e,"Data"),this._finalized)throw new Error("Digest already called");ni.isBuffer(e)||(e=ni.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};Yt.prototype._update=function(){throw new Error("_update is not implemented")};Yt.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};Yt.prototype._digest=function(){throw new Error("_digest is not implemented")};var Vh=Yt,zh=Oe,pc=Vh,qh=Ve.Buffer,Wh=new Array(16);function vi(){pc.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}zh(vi,pc);vi.prototype._update=function(){for(var e=Wh,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a,n=this._b,i=this._c,s=this._d;r=Re(r,n,i,s,e[0],3614090360,7),s=Re(s,r,n,i,e[1],3905402710,12),i=Re(i,s,r,n,e[2],606105819,17),n=Re(n,i,s,r,e[3],3250441966,22),r=Re(r,n,i,s,e[4],4118548399,7),s=Re(s,r,n,i,e[5],1200080426,12),i=Re(i,s,r,n,e[6],2821735955,17),n=Re(n,i,s,r,e[7],4249261313,22),r=Re(r,n,i,s,e[8],1770035416,7),s=Re(s,r,n,i,e[9],2336552879,12),i=Re(i,s,r,n,e[10],4294925233,17),n=Re(n,i,s,r,e[11],2304563134,22),r=Re(r,n,i,s,e[12],1804603682,7),s=Re(s,r,n,i,e[13],4254626195,12),i=Re(i,s,r,n,e[14],2792965006,17),n=Re(n,i,s,r,e[15],1236535329,22),r=Ce(r,n,i,s,e[1],4129170786,5),s=Ce(s,r,n,i,e[6],3225465664,9),i=Ce(i,s,r,n,e[11],643717713,14),n=Ce(n,i,s,r,e[0],3921069994,20),r=Ce(r,n,i,s,e[5],3593408605,5),s=Ce(s,r,n,i,e[10],38016083,9),i=Ce(i,s,r,n,e[15],3634488961,14),n=Ce(n,i,s,r,e[4],3889429448,20),r=Ce(r,n,i,s,e[9],568446438,5),s=Ce(s,r,n,i,e[14],3275163606,9),i=Ce(i,s,r,n,e[3],4107603335,14),n=Ce(n,i,s,r,e[8],1163531501,20),r=Ce(r,n,i,s,e[13],2850285829,5),s=Ce(s,r,n,i,e[2],4243563512,9),i=Ce(i,s,r,n,e[7],1735328473,14),n=Ce(n,i,s,r,e[12],2368359562,20),r=Ue(r,n,i,s,e[5],4294588738,4),s=Ue(s,r,n,i,e[8],2272392833,11),i=Ue(i,s,r,n,e[11],1839030562,16),n=Ue(n,i,s,r,e[14],4259657740,23),r=Ue(r,n,i,s,e[1],2763975236,4),s=Ue(s,r,n,i,e[4],1272893353,11),i=Ue(i,s,r,n,e[7],4139469664,16),n=Ue(n,i,s,r,e[10],3200236656,23),r=Ue(r,n,i,s,e[13],681279174,4),s=Ue(s,r,n,i,e[0],3936430074,11),i=Ue(i,s,r,n,e[3],3572445317,16),n=Ue(n,i,s,r,e[6],76029189,23),r=Ue(r,n,i,s,e[9],3654602809,4),s=Ue(s,r,n,i,e[12],3873151461,11),i=Ue(i,s,r,n,e[15],530742520,16),n=Ue(n,i,s,r,e[2],3299628645,23),r=Le(r,n,i,s,e[0],4096336452,6),s=Le(s,r,n,i,e[7],1126891415,10),i=Le(i,s,r,n,e[14],2878612391,15),n=Le(n,i,s,r,e[5],4237533241,21),r=Le(r,n,i,s,e[12],1700485571,6),s=Le(s,r,n,i,e[3],2399980690,10),i=Le(i,s,r,n,e[10],4293915773,15),n=Le(n,i,s,r,e[1],2240044497,21),r=Le(r,n,i,s,e[8],1873313359,6),s=Le(s,r,n,i,e[15],4264355552,10),i=Le(i,s,r,n,e[6],2734768916,15),n=Le(n,i,s,r,e[13],1309151649,21),r=Le(r,n,i,s,e[4],4149444226,6),s=Le(s,r,n,i,e[11],3174756917,10),i=Le(i,s,r,n,e[2],718787259,15),n=Le(n,i,s,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+s|0};vi.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=qh.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e};function Ei(e,t){return e<<t|e>>>32-t}function Re(e,t,r,n,i,s,o){return Ei(e+(t&r|~t&n)+i+s|0,o)+t|0}function Ce(e,t,r,n,i,s,o){return Ei(e+(t&n|r&~n)+i+s|0,o)+t|0}function Ue(e,t,r,n,i,s,o){return Ei(e+(t^r^n)+i+s|0,o)+t|0}function Le(e,t,r,n,i,s,o){return Ei(e+(r^(t|~n))+i+s|0,o)+t|0}var Kh=vi,ii=Ve.Buffer,yc=hc.Transform,Yh=Oe;function Xh(e,t){if(!ii.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Xt(e){yc.call(this),this._block=ii.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}Yh(Xt,yc);Xt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Xt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Xt.prototype.update=function(e,t){if(Xh(e,"Data"),this._finalized)throw new Error("Digest already called");ii.isBuffer(e)||(e=ii.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};Xt.prototype._update=function(){throw new Error("_update is not implemented")};Xt.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};Xt.prototype._digest=function(){throw new Error("_digest is not implemented")};var Jh=Xt,ss=It.Buffer,Qh=Oe,mc=Jh,Zh=new Array(16),Xr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Jr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Qr=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Zr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],en=[0,1518500249,1859775393,2400959708,2840853838],tn=[1352829926,1548603684,1836072691,2053994217,0];function xi(){mc.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}Qh(xi,mc);xi.prototype._update=function(){for(var e=Zh,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);for(var r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._a|0,u=this._b|0,h=this._c|0,d=this._d|0,m=this._e|0,_=0;_<80;_+=1){var p,I;_<16?(p=Go(r,n,i,s,o,e[Xr[_]],en[0],Qr[_]),I=Wo(a,u,h,d,m,e[Jr[_]],tn[0],Zr[_])):_<32?(p=Vo(r,n,i,s,o,e[Xr[_]],en[1],Qr[_]),I=qo(a,u,h,d,m,e[Jr[_]],tn[1],Zr[_])):_<48?(p=zo(r,n,i,s,o,e[Xr[_]],en[2],Qr[_]),I=zo(a,u,h,d,m,e[Jr[_]],tn[2],Zr[_])):_<64?(p=qo(r,n,i,s,o,e[Xr[_]],en[3],Qr[_]),I=Vo(a,u,h,d,m,e[Jr[_]],tn[3],Zr[_])):(p=Wo(r,n,i,s,o,e[Xr[_]],en[4],Qr[_]),I=Go(a,u,h,d,m,e[Jr[_]],tn[4],Zr[_])),r=o,o=s,s=cr(i,10),i=n,n=p,a=m,m=d,d=cr(h,10),h=u,u=I}var B=this._b+i+d|0;this._b=this._c+s+m|0,this._c=this._d+o+a|0,this._d=this._e+r+u|0,this._e=this._a+n+h|0,this._a=B};xi.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=ss.alloc?ss.alloc(20):new ss(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e};function cr(e,t){return e<<t|e>>>32-t}function Go(e,t,r,n,i,s,o,a){return cr(e+(t^r^n)+s+o|0,a)+i|0}function Vo(e,t,r,n,i,s,o,a){return cr(e+(t&r|~t&n)+s+o|0,a)+i|0}function zo(e,t,r,n,i,s,o,a){return cr(e+((t|~r)^n)+s+o|0,a)+i|0}function qo(e,t,r,n,i,s,o,a){return cr(e+(t&n|r&~n)+s+o|0,a)+i|0}function Wo(e,t,r,n,i,s,o,a){return cr(e+(t^(r|~n))+s+o|0,a)+i|0}var ed=xi,bc={exports:{}},wc=Ve.Buffer;function Si(e,t){this._block=wc.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}Si.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=wc.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,s=this._len,o=0;o<i;){for(var a=s%n,u=Math.min(i-o,n-a),h=0;h<u;h++)r[a+h]=e[o+h];s+=u,o+=u,s%n===0&&this._update(r)}return this._len+=i,this};Si.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return e?s.toString(e):s};Si.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Dr=Si,td=Oe,gc=Dr,rd=Ve.Buffer,nd=[1518500249,1859775393,-1894007588,-899497514],id=new Array(80);function Sn(){this.init(),this._w=id,gc.call(this,64,56)}td(Sn,gc);Sn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function sd(e){return e<<5|e>>>27}function od(e){return e<<30|e>>>2}function ad(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}Sn.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=t[a-3]^t[a-8]^t[a-14]^t[a-16];for(var u=0;u<80;++u){var h=~~(u/20),d=sd(r)+ad(h,n,i,s)+o+t[u]+nd[h]|0;o=s,s=i,i=od(n),n=r,r=d}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};Sn.prototype._hash=function(){var e=rd.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var cd=Sn,fd=Oe,_c=Dr,ud=Ve.Buffer,ld=[1518500249,1859775393,-1894007588,-899497514],hd=new Array(80);function An(){this.init(),this._w=hd,_c.call(this,64,56)}fd(An,_c);An.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function dd(e){return e<<1|e>>>31}function pd(e){return e<<5|e>>>27}function yd(e){return e<<30|e>>>2}function md(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}An.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=dd(t[a-3]^t[a-8]^t[a-14]^t[a-16]);for(var u=0;u<80;++u){var h=~~(u/20),d=pd(r)+md(h,n,i,s)+o+t[u]+ld[h]|0;o=s,s=i,i=yd(n),n=r,r=d}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};An.prototype._hash=function(){var e=ud.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var bd=An,wd=Oe,vc=Dr,gd=Ve.Buffer,_d=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],vd=new Array(64);function kn(){this.init(),this._w=vd,vc.call(this,64,56)}wd(kn,vc);kn.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function Ed(e,t,r){return r^e&(t^r)}function xd(e,t,r){return e&t|r&(e|t)}function Sd(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function Ad(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function kd(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function Td(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}kn.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._f|0,u=this._g|0,h=this._h|0,d=0;d<16;++d)t[d]=e.readInt32BE(d*4);for(;d<64;++d)t[d]=Td(t[d-2])+t[d-7]+kd(t[d-15])+t[d-16]|0;for(var m=0;m<64;++m){var _=h+Ad(o)+Ed(o,a,u)+_d[m]+t[m]|0,p=Sd(r)+xd(r,n,i)|0;h=u,u=a,a=o,o=s+_|0,s=i,i=n,n=r,r=_+p|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0,this._f=a+this._f|0,this._g=u+this._g|0,this._h=h+this._h|0};kn.prototype._hash=function(){var e=gd.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e};var Ec=kn,Bd=Oe,Id=Ec,Pd=Dr,Od=Ve.Buffer,Rd=new Array(64);function Ai(){this.init(),this._w=Rd,Pd.call(this,64,56)}Bd(Ai,Id);Ai.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this};Ai.prototype._hash=function(){var e=Od.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e};var Cd=Ai,Ud=Oe,xc=Dr,Ld=Ve.Buffer,Ko=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],Nd=new Array(160);function Tn(){this.init(),this._w=Nd,xc.call(this,128,112)}Ud(Tn,xc);Tn.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Yo(e,t,r){return r^e&(t^r)}function Xo(e,t,r){return e&t|r&(e|t)}function Jo(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function Qo(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function Fd(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function Hd(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function Md(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function Dd(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function Te(e,t){return e>>>0<t>>>0?1:0}Tn.prototype._update=function(e){for(var t=this._w,r=this._ah|0,n=this._bh|0,i=this._ch|0,s=this._dh|0,o=this._eh|0,a=this._fh|0,u=this._gh|0,h=this._hh|0,d=this._al|0,m=this._bl|0,_=this._cl|0,p=this._dl|0,I=this._el|0,B=this._fl|0,T=this._gl|0,R=this._hl|0,U=0;U<32;U+=2)t[U]=e.readInt32BE(U*4),t[U+1]=e.readInt32BE(U*4+4);for(;U<160;U+=2){var x=t[U-30],g=t[U-15*2+1],S=Fd(x,g),E=Hd(g,x);x=t[U-2*2],g=t[U-2*2+1];var H=Md(x,g),M=Dd(g,x),O=t[U-7*2],K=t[U-7*2+1],C=t[U-16*2],j=t[U-16*2+1],G=E+K|0,z=S+O+Te(G,E)|0;G=G+M|0,z=z+H+Te(G,M)|0,G=G+j|0,z=z+C+Te(G,j)|0,t[U]=z,t[U+1]=G}for(var ee=0;ee<160;ee+=2){z=t[ee],G=t[ee+1];var ve=Xo(r,n,i),ze=Xo(d,m,_),rt=Jo(r,d),qe=Jo(d,r),Ot=Qo(o,I),de=Qo(I,o),Ee=Ko[ee],We=Ko[ee+1],Rt=Yo(o,a,u),pt=Yo(I,B,T),k=R+de|0,A=h+Ot+Te(k,R)|0;k=k+pt|0,A=A+Rt+Te(k,pt)|0,k=k+We|0,A=A+Ee+Te(k,We)|0,k=k+G|0,A=A+z+Te(k,G)|0;var F=qe+ze|0,q=rt+ve+Te(F,qe)|0;h=u,R=T,u=a,T=B,a=o,B=I,I=p+k|0,o=s+A+Te(I,p)|0,s=i,p=_,i=n,_=m,n=r,m=d,d=k+F|0,r=A+q+Te(d,k)|0}this._al=this._al+d|0,this._bl=this._bl+m|0,this._cl=this._cl+_|0,this._dl=this._dl+p|0,this._el=this._el+I|0,this._fl=this._fl+B|0,this._gl=this._gl+T|0,this._hl=this._hl+R|0,this._ah=this._ah+r+Te(this._al,d)|0,this._bh=this._bh+n+Te(this._bl,m)|0,this._ch=this._ch+i+Te(this._cl,_)|0,this._dh=this._dh+s+Te(this._dl,p)|0,this._eh=this._eh+o+Te(this._el,I)|0,this._fh=this._fh+a+Te(this._fl,B)|0,this._gh=this._gh+u+Te(this._gl,T)|0,this._hh=this._hh+h+Te(this._hl,R)|0};Tn.prototype._hash=function(){var e=Ld.allocUnsafe(64);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e};var Sc=Tn,$d=Oe,jd=Sc,Gd=Dr,Vd=Ve.Buffer,zd=new Array(160);function ki(){this.init(),this._w=zd,Gd.call(this,128,112)}$d(ki,jd);ki.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this};ki.prototype._hash=function(){var e=Vd.allocUnsafe(48);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e};var qd=ki,mr=bc.exports=function(t){t=t.toLowerCase();var r=mr[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};mr.sha=cd;mr.sha1=bd;mr.sha224=Cd;mr.sha256=Ec;mr.sha384=qd;mr.sha512=Sc;var Wd=bc.exports,lt=Ve.Buffer,Ac=Vs.Transform,Kd=ri.StringDecoder,Yd=Oe;function it(e){Ac.call(this),this.hashMode=typeof e=="string",this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}Yd(it,Ac);var Xd=typeof Uint8Array<"u",Jd=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&ArrayBuffer.isView&&(lt.prototype instanceof Uint8Array||lt.TYPED_ARRAY_SUPPORT);function Qd(e,t){if(e instanceof lt)return e;if(typeof e=="string")return lt.from(e,t);if(Jd&&ArrayBuffer.isView(e)){if(e.byteLength===0)return lt.alloc(0);var r=lt.from(e.buffer,e.byteOffset,e.byteLength);if(r.byteLength===e.byteLength)return r}if(Xd&&e instanceof Uint8Array||lt.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e))return lt.from(e);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}it.prototype.update=function(e,t,r){var n=Qd(e,t),i=this._update(n);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)};it.prototype.setAutoPadding=function(){};it.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};it.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};it.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};it.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(i){n=i}finally{r(n)}};it.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)};it.prototype._finalOrDigest=function(e){var t=this.__final()||lt.alloc(0);return e&&(t=this._toString(t,e,!0)),t};it.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new Kd(t),this._encoding=t),this._encoding!==t)throw new Error("can’t switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n};var Zd=it,e0=Oe,t0=Kh,r0=ed,n0=Wd,kc=Zd;function Ti(e){kc.call(this,"digest"),this._hash=e}e0(Ti,kc);Ti.prototype._update=function(e){this._hash.update(e)};Ti.prototype._final=function(){return this._hash.digest()};var i0=function(t){return t=t.toLowerCase(),t==="md5"?new t0:t==="rmd160"||t==="ripemd160"?new r0:new Ti(n0(t))},Dn=Ve.Buffer;function s0(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,a=e.charAt(0),u=Math.log(o)/Math.log(256),h=Math.log(256)/Math.log(o);function d(p){if((Array.isArray(p)||p instanceof Uint8Array)&&(p=Dn.from(p)),!Dn.isBuffer(p))throw new TypeError("Expected Buffer");if(p.length===0)return"";for(var I=0,B=0,T=0,R=p.length;T!==R&&p[T]===0;)T++,I++;for(var U=(R-T)*h+1>>>0,x=new Uint8Array(U);T!==R;){for(var g=p[T],S=0,E=U-1;(g!==0||S<B)&&E!==-1;E--,S++)g+=256*x[E]>>>0,x[E]=g%o>>>0,g=g/o>>>0;if(g!==0)throw new Error("Non-zero carry");B=S,T++}for(var H=U-B;H!==U&&x[H]===0;)H++;for(var M=a.repeat(I);H<U;++H)M+=e.charAt(x[H]);return M}function m(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return Dn.alloc(0);for(var I=0,B=0,T=0;p[I]===a;)B++,I++;for(var R=(p.length-I)*u+1>>>0,U=new Uint8Array(R);I<p.length;){var x=p.charCodeAt(I);if(x>255)return;var g=t[x];if(g===255)return;for(var S=0,E=R-1;(g!==0||S<T)&&E!==-1;E--,S++)g+=o*U[E]>>>0,U[E]=g%256>>>0,g=g/256>>>0;if(g!==0)throw new Error("Non-zero carry");T=S,I++}for(var H=R-T;H!==R&&U[H]===0;)H++;var M=Dn.allocUnsafe(B+(R-H));M.fill(0,0,B);for(var O=B;H!==R;)M[O++]=U[H++];return M}function _(p){var I=m(p);if(I)return I;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:m,decode:_}}var o0=s0,a0=o0,c0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",f0=a0(c0),os=f0,u0=Ve.Buffer,l0=function(e){function t(s){var o=e(s);return os.encode(u0.concat([s,o],s.length+4))}function r(s){var o=s.slice(0,-4),a=s.slice(-4),u=e(o);if(!(a[0]^u[0]|a[1]^u[1]|a[2]^u[2]|a[3]^u[3]))return o}function n(s){var o=os.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=os.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},Zo=i0,h0=l0;function d0(e){var t=Zo("sha256").update(e).digest();return Zo("sha256").update(t).digest()}var p0=h0(d0),Es=p0;function Tc(e,t){if(t!==void 0&&e[0]!==t)throw new Error("Invalid network version");if(e.length===33)return{version:e[0],privateKey:e.slice(1,33),compressed:!1};if(e.length!==34)throw new Error("Invalid WIF length");if(e[33]!==1)throw new Error("Invalid compression flag");return{version:e[0],privateKey:e.slice(1,33),compressed:!0}}function xs(e,t,r){var n=new Buffer(r?34:33);return n.writeUInt8(e,0),t.copy(n,1),r&&(n[33]=1),n}function y0(e,t){return Tc(Es.decode(e),t)}function m0(e,t,r){return typeof e=="number"?Es.encode(xs(e,t,r)):Es.encode(xs(e.version,e.privateKey,e.compressed))}var b0={decode:y0,decodeRaw:Tc,encode:m0,encodeRaw:xs},Bi={};Object.defineProperty(Bi,"__esModule",{value:!0});Bi.testEcc=void 0;const W=e=>Buffer.from(e,"hex");function w0(e){ue(e.isPoint(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(!e.isPoint(W("030000000000000000000000000000000000000000000000000000000000000005"))),ue(e.isPrivate(W("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ue(!e.isPrivate(W("0000000000000000000000000000000000000000000000000000000000000000"))),ue(!e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),ue(!e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),ue(Buffer.from(e.privateAdd(W("0000000000000000000000000000000000000000000000000000000000000001"),W("0000000000000000000000000000000000000000000000000000000000000000"))).equals(W("0000000000000000000000000000000000000000000000000000000000000001"))),ue(e.privateAdd(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),W("0000000000000000000000000000000000000000000000000000000000000003"))===null),ue(Buffer.from(e.privateAdd(W("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),W("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(W("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),ue(Buffer.from(e.privateNegate(W("0000000000000000000000000000000000000000000000000000000000000001"))).equals(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ue(Buffer.from(e.privateNegate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(W("0000000000000000000000000000000000000000000000000000000000000003"))),ue(Buffer.from(e.privateNegate(W("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(W("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),ue(Buffer.from(e.pointCompress(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(Buffer.from(e.pointCompress(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ue(Buffer.from(e.pointCompress(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(Buffer.from(e.pointCompress(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ue(Buffer.from(e.pointFromScalar(W("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(W("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),ue(e.xOnlyPointAddTweak(W("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(W("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),W("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));ue(Buffer.from(t.xOnlyPubkey).equals(W("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&t.parity===1),t=e.xOnlyPointAddTweak(W("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),W("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),ue(Buffer.from(t.xOnlyPubkey).equals(W("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&t.parity===0),ue(Buffer.from(e.sign(W("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(W("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),ue(e.verify(W("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),W("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),W("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&ue(Buffer.from(e.signSchnorr(W("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),W("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),W("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(W("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&ue(e.verifySchnorr(W("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),W("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),W("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}Bi.testEcc=w0;function ue(e){if(!e)throw new Error("ecc library invalid")}Object.defineProperty(Nr,"__esModule",{value:!0});Nr.ECPairFactory=Nr.networks=void 0;const Ss=Fr;Nr.networks=Ss;const $e=qa,g0=Dl,ea=b0,_0=Bi,as=$e.typeforce.maybe($e.typeforce.compile({compressed:$e.maybe($e.Boolean),network:$e.maybe($e.Network)})),v0=e=>e.length===32?e:e.slice(1,33);function E0(e){(0,_0.testEcc)(e);function t(a){return e.isPoint(a)}function r(a,u){if($e.typeforce($e.Buffer256bit,a),!e.isPrivate(a))throw new TypeError("Private key not in range [1, n)");return $e.typeforce(as,u),new o(a,void 0,u)}function n(a,u){return $e.typeforce(e.isPoint,a),$e.typeforce(as,u),new o(void 0,a,u)}function i(a,u){const h=ea.decode(a),d=h.version;if($e.Array(u)){if(u=u.filter(m=>d===m.wif).pop(),!u)throw new Error("Unknown network version")}else if(u=u||Ss.bitcoin,d!==u.wif)throw new Error("Invalid network version");return r(h.privateKey,{compressed:h.compressed,network:u})}function s(a){$e.typeforce(as,a),a===void 0&&(a={});const u=a.rng||g0;let h;do h=u(32),$e.typeforce($e.Buffer256bit,h);while(!e.isPrivate(h));return r(h,a)}class o{constructor(u,h,d){gr(this,"__D");gr(this,"__Q");gr(this,"compressed");gr(this,"network");gr(this,"lowR");this.__D=u,this.__Q=h,this.lowR=!1,d===void 0&&(d={}),this.compressed=d.compressed===void 0?!0:d.compressed,this.network=d.network||Ss.bitcoin,h!==void 0&&(this.__Q=Buffer.from(e.pointCompress(h,this.compressed)))}get privateKey(){return this.__D}get publicKey(){if(!this.__Q){const u=e.pointFromScalar(this.__D,this.compressed);this.__Q=Buffer.from(u)}return this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return ea.encode(this.network.wif,this.__D,this.compressed)}tweak(u){return this.privateKey?this.tweakFromPrivateKey(u):this.tweakFromPublicKey(u)}sign(u,h){if(!this.__D)throw new Error("Missing private key");if(h===void 0&&(h=this.lowR),h===!1)return Buffer.from(e.sign(u,this.__D));{let d=e.sign(u,this.__D);const m=Buffer.alloc(32,0);let _=0;for(;d[0]>127;)_++,m.writeUIntLE(_,0,6),d=e.sign(u,this.__D,m);return Buffer.from(d)}}signSchnorr(u){if(!this.privateKey)throw new Error("Missing private key");if(!e.signSchnorr)throw new Error("signSchnorr not supported by ecc library");return Buffer.from(e.signSchnorr(u,this.privateKey))}verify(u,h){return e.verify(u,this.publicKey,h)}verifySchnorr(u,h){if(!e.verifySchnorr)throw new Error("verifySchnorr not supported by ecc library");return e.verifySchnorr(u,this.publicKey.subarray(1,33),h)}tweakFromPublicKey(u){const h=v0(this.publicKey),d=e.xOnlyPointAddTweak(h,u);if(!d||d.xOnlyPubkey===null)throw new Error("Cannot tweak public key!");const m=Buffer.from([d.parity===0?2:3]);return n(Buffer.concat([m,d.xOnlyPubkey]),{network:this.network,compressed:this.compressed})}tweakFromPrivateKey(u){const d=this.publicKey[0]===3||this.publicKey[0]===4&&(this.publicKey[64]&1)===1?e.privateNegate(this.privateKey):this.privateKey,m=e.privateAdd(d,u);if(!m)throw new Error("Invalid tweaked private key!");return r(Buffer.from(m),{network:this.network,compressed:this.compressed})}}return{isPoint:t,fromPrivateKey:r,fromPublicKey:n,fromWIF:i,makeRandom:s}}Nr.ECPairFactory=E0;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.networks=e.ECPairFactory=e.default=void 0;var t=Nr;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"ECPairFactory",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"networks",{enumerable:!0,get:function(){return t.networks}})})(za);const x0=Bf(za);class wn extends V.EventBroker{get isInitialized(){return!!this.digestKey}constructor(t,r){super(),this.digestKey=t,this.walletClient=r}static fromDigestKey(t){return new wn(rr(t))}static fromWalletClient(t){return new wn(void 0,t)}async initialize(){if(this.digestKey)return ne("Already initialized");const t=await this.deriveDigestKeyFromWalletClient();return t.error?$(t.error):(this.emit("initialized",!0),ne("Initialized"))}async deriveDigestKeyFromWalletClient(){if(!this.walletClient)return $("No walletClient found");if(!this.walletClient.account)return $("No account found");try{const t=await this.walletClient.signTypedData({account:this.walletClient.account,types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"}],Data:[{name:"Message",type:"string"},{name:"Version",type:"string"},{name:"Nonce",type:"uint256"}]},domain:{name:"GARDEN FINANCE",version:"1"},primaryType:"Data",message:{Message:"Initialize your account",Version:"1.0.2",Nonce:1n}});return this.digestKey=rr(Et.sha256(t)),this.emit("initialized",!0),ne(this.digestKey)}catch(t){return $("Failed to initialize: "+t)}}async getDigestKey(){if(!this.digestKey&&!this.walletClient)return $("No private key or wallet client found");if(!this.digestKey&&this.walletClient){const t=await this.deriveDigestKeyFromWalletClient();if(t.error)return $(t.error)}return this.digestKey?ne(this.digestKey):$("No private key found")}async generateSecret(t){const r=await this.signMessage(t);if(r.error)return $(r.error);const n=Et.sha256(V.with0x(r.val)),i=Et.sha256(n);return ne({secret:n,secretHash:i})}async signMessage(t){if(!this.digestKey){const h=await this.getDigestKey();if(h.error)return $(h.error);this.digestKey=h.val}const r=x0(sr),n="Garden.fi"+t.toString(),i=Buffer.from(n,"utf8"),s=Et.sha256(i),o=Buffer.from(rr(this.digestKey),"hex");if(o.length!==32)return $("Invalid private key length. Expected 32 bytes.");const u=r.fromPrivateKey(o).sign(Buffer.from(rr(s),"hex"));return ne(u.toString("hex"))}}const S0=[{inputs:[{internalType:"address",name:"token_",type:"address"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Initiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"secret",type:"bytes"}],name:"Redeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"Refunded",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"initiateWithSignature",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"instantRefund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct HTLC.InitWithSig[]",name:"inits",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],internalType:"struct HTLC.Redeem[]",name:"redeems",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],internalType:"struct HTLC.Refund[]",name:"refunds",type:"tuple[]"}],name:"multicall",outputs:[{internalType:"bool[]",name:"results",type:"bool[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"bool",name:"isFulfilled",type:"bool"},{internalType:"address",name:"initiator",type:"address"},{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"initiatedAt",type:"uint256"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"refund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"}];function dt(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}const Bc="2.26.3";let rn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${Bc}`};class he extends Error{constructor(t,r={}){var a;const n=(()=>{var u;return r.cause instanceof he?r.cause.details:(u=r.cause)!=null&&u.message?r.cause.message:r.details})(),i=r.cause instanceof he&&r.cause.docsPath||r.docsPath,s=(a=rn.getDocsUrl)==null?void 0:a.call(rn,{...r,docsPath:i}),o=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...n?[`Details: ${n}`]:[],...rn.version?[`Version: ${rn.version}`]:[]].join(`
32
- `);super(o,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=i,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=Bc}walk(t){return Ic(this,t)}}function Ic(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?Ic(e.cause,t):t?null:e}class A0 extends he{constructor({max:t,min:r,signed:n,size:i,value:s}){super(`Number "${s}" is not in safe ${i?`${i*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}}class k0 extends he{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Bn(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Mr(e){return Bn(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function si(e,{dir:t="left"}={}){let r=typeof e=="string"?e.replace("0x",""):e,n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),typeof e=="string"?(r.length===1&&t==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}class T0 extends he{constructor({offset:t,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}}class Pc extends he{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}}function $r(e,{dir:t,size:r=32}={}){return typeof e=="string"?B0(e,{dir:t,size:r}):I0(e,{dir:t,size:r})}function B0(e,{dir:t,size:r=32}={}){if(r===null)return e;const n=e.replace("0x","");if(n.length>r*2)throw new Pc({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function I0(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Pc({size:e.length,targetSize:r,type:"bytes"});const n=new Uint8Array(r);for(let i=0;i<r;i++){const s=t==="right";n[s?i:r-i-1]=e[s?i:e.length-i-1]}return n}const P0=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Q(e,t={}){return typeof e=="number"||typeof e=="bigint"?Oc(e,t):typeof e=="string"?C0(e,t):typeof e=="boolean"?O0(e,t):Jt(e,t)}function O0(e,t={}){const r=`0x${Number(e)}`;return typeof t.size=="number"?(jr(r,{size:t.size}),$r(r,{size:t.size})):r}function Jt(e,t={}){let r="";for(let i=0;i<e.length;i++)r+=P0[e[i]];const n=`0x${r}`;return typeof t.size=="number"?(jr(n,{size:t.size}),$r(n,{dir:"right",size:t.size})):n}function Oc(e,t={}){const{signed:r,size:n}=t,i=BigInt(e);let s;n?r?s=(1n<<BigInt(n)*8n-1n)-1n:s=2n**(BigInt(n)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof s=="bigint"&&r?-s-1n:0;if(s&&i>s||i<o){const u=typeof e=="bigint"?"n":"";throw new A0({max:s?`${s}${u}`:void 0,min:`${o}${u}`,signed:r,size:n,value:`${e}${u}`})}const a=`0x${(r&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?$r(a,{size:n}):a}const R0=new TextEncoder;function C0(e,t={}){const r=R0.encode(e);return Jt(r,t)}const U0=new TextEncoder;function Rc(e,t={}){return typeof e=="number"||typeof e=="bigint"?N0(e,t):typeof e=="boolean"?L0(e,t):Bn(e)?fr(e,t):Cc(e,t)}function L0(e,t={}){const r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(jr(r,{size:t.size}),$r(r,{size:t.size})):r}const gt={zero:48,nine:57,A:65,F:70,a:97,f:102};function ta(e){if(e>=gt.zero&&e<=gt.nine)return e-gt.zero;if(e>=gt.A&&e<=gt.F)return e-(gt.A-10);if(e>=gt.a&&e<=gt.f)return e-(gt.a-10)}function fr(e,t={}){let r=e;t.size&&(jr(r,{size:t.size}),r=$r(r,{dir:"right",size:t.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);const i=n.length/2,s=new Uint8Array(i);for(let o=0,a=0;o<i;o++){const u=ta(n.charCodeAt(a++)),h=ta(n.charCodeAt(a++));if(u===void 0||h===void 0)throw new he(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);s[o]=u*16+h}return s}function N0(e,t){const r=Oc(e,t);return fr(r)}function Cc(e,t={}){const r=U0.encode(e);return typeof t.size=="number"?(jr(r,{size:t.size}),$r(r,{dir:"right",size:t.size})):r}function jr(e,{size:t}){if(Mr(e)>t)throw new k0({givenSize:Mr(e),maxSize:t})}function Tr(e,t={}){const{signed:r}=t;t.size&&jr(e,{size:t.size});const n=BigInt(e);if(!r)return n;const i=(e.length-2)/2,s=(1n<<BigInt(i)*8n-1n)-1n;return n<=s?n:n-BigInt(`0x${"f".padStart(i*2,"f")}`)-1n}function oi(e,t={}){return Number(Tr(e,t))}function Ws(e,t){return({exclude:r,format:n})=>({exclude:r,format:i=>{const s=t(i);if(r)for(const o of r)delete s[o];return{...s,...n(i)}},type:e})}const Uc={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Ks(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?oi(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?oi(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Uc[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=H0(e.authorizationList)),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof t.v=="bigint"){if(t.v===0n||t.v===27n)return 0;if(t.v===1n||t.v===28n)return 1;if(t.v>=35n)return t.v%2n===0n?1:0}})(),t.type==="legacy"&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),t.type==="eip2930"&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),t.type==="eip1559"&&delete t.maxFeePerBlobGas,t}const F0=Ws("transaction",Ks);function H0(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function M0(e){const t=(e.transactions??[]).map(r=>typeof r=="string"?r:Ks(r));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const D0=Ws("block",M0);function $0(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}const j0={"0x0":"reverted","0x1":"success"};function G0(e){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(r=>$0(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?oi(e.transactionIndex):null,status:e.status?j0[e.status]:null,type:e.type?Uc[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const V0=Ws("transactionReceipt",G0),Ys=2n**256n-1n;function In(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}class ra extends he{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class z0 extends he{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class q0 extends he{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const W0={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new q0({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new z0({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ra({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new ra({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function Lc(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(W0);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}function ur(e,t="hex"){const r=Nc(e),n=Lc(new Uint8Array(r.length));return r.encode(n),t==="hex"?Jt(n.bytes):n.bytes}function Nc(e){return Array.isArray(e)?K0(e.map(t=>Nc(t))):Y0(e)}function K0(e){const t=e.reduce((i,s)=>i+s.length,0),r=Fc(t);return{length:t<=55?1+t:1+r+t,encode(i){t<=55?i.pushByte(192+t):(i.pushByte(247+r),r===1?i.pushUint8(t):r===2?i.pushUint16(t):r===3?i.pushUint24(t):i.pushUint32(t));for(const{encode:s}of e)s(i)}}}function Y0(e){const t=typeof e=="string"?fr(e):e,r=Fc(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(i){t.length===1&&t[0]<128?i.pushBytes(t):t.length<=55?(i.pushByte(128+t.length),i.pushBytes(t)):(i.pushByte(183+r),r===1?i.pushUint8(t.length):r===2?i.pushUint16(t.length):r===3?i.pushUint24(t.length):i.pushUint32(t.length),i.pushBytes(t))}}}function Fc(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new he("Length is too large.")}const X0={ether:-9,wei:9};function J0(e,t){let r=e.toString();const n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(t,"0");let[i,s]=[r.slice(0,r.length-t),r.slice(r.length-t)];return s=s.replace(/(0+)$/,""),`${n?"-":""}${i||"0"}${s?`.${s}`:""}`}function As(e,t="wei"){return J0(e,X0[t])}function Q0(e){const t=Object.entries(e).map(([n,i])=>i===void 0||i===!1?null:[n,i]).filter(Boolean),r=t.reduce((n,[i])=>Math.max(n,i.length),0);return t.map(([n,i])=>` ${`${n}:`.padEnd(r+1)} ${i}`).join(`
33
- `)}class Z0 extends he{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class ep extends he{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Q0(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class tp extends he{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function rp(e){if(!e||e.length===0)return[];const t=[];for(const r of e){const{chainId:n,nonce:i,...s}=r,o=r.address;t.push([n?Q(n):"0x",o,i?Q(i):"0x",...Pn({},s)])}return t}function Hc(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(s=>fr(s)):e.blobs,i=[];for(const s of n)i.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?i:i.map(s=>Jt(s))}function Mc(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(o=>fr(o)):e.blobs,i=typeof e.commitments[0]=="string"?e.commitments.map(o=>fr(o)):e.commitments,s=[];for(let o=0;o<n.length;o++){const a=n[o],u=i[o];s.push(Uint8Array.from(t.computeBlobKzgProof(a,u)))}return r==="bytes"?s:s.map(o=>Jt(o))}function np(e,t){return Ua(Bn(e,{strict:!1})?Rc(e):e)}function ip(e){const{commitment:t,version:r=1}=e,n=e.to??(typeof t=="string"?"hex":"bytes"),i=np(t);return i.set([r],0),n==="bytes"?i:Jt(i)}function sp(e){const{commitments:t,version:r}=e,n=e.to??(typeof t[0]=="string"?"hex":"bytes"),i=[];for(const s of t)i.push(ip({commitment:s,to:n,version:r}));return i}const na=6,Dc=32,Xs=4096,$c=Dc*Xs,ia=$c*na-1-1*Xs*na,jc=1;class op extends he{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class Gc extends he{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class ap extends he{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class cp extends he{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${jc}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function fp(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?fr(e.data):e.data,n=Mr(r);if(!n)throw new Gc;if(n>ia)throw new op({maxSize:ia,size:n});const i=[];let s=!0,o=0;for(;s;){const a=Lc(new Uint8Array($c));let u=0;for(;u<Xs;){const h=r.slice(o,o+(Dc-1));if(a.pushByte(0),a.pushBytes(h),h.length<31){a.pushByte(128),s=!1;break}u++,o+=31}i.push(a)}return t==="bytes"?i.map(a=>a.bytes):i.map(a=>Jt(a.bytes))}function up(e){const{data:t,kzg:r,to:n}=e,i=e.blobs??fp({data:t,to:n}),s=e.commitments??Hc({blobs:i,kzg:r,to:n}),o=e.proofs??Mc({blobs:i,commitments:s,kzg:r,to:n}),a=[];for(let u=0;u<i.length;u++)a.push({blob:i[u],commitment:s[u],proof:o[u]});return a}class lr extends he{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class Ii extends he{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class Pi extends he{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${As(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(Pi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Vc extends he{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${As(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${As(n)} gwei`:""}).`].join(`
34
- `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(Vc,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class zc extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}function sa(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function lp(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Js(e,...t){if(!lp(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function oa(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function hp(e,t){Js(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}const $n=BigInt(2**32-1),aa=BigInt(32);function dp(e,t=!1){return t?{h:Number(e&$n),l:Number(e>>aa&$n)}:{h:Number(e>>aa&$n)|0,l:Number(e&$n)|0}}function pp(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:s,l:o}=dp(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}const yp=(e,t,r)=>e<<r|t>>>32-r,mp=(e,t,r)=>t<<r|e>>>32-r,bp=(e,t,r)=>t<<r-32|e>>>64-r,wp=(e,t,r)=>e<<r-32|t>>>64-r;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function gp(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}const ca=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function _p(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function fa(e){for(let t=0;t<e.length;t++)e[t]=_p(e[t])}function vp(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function qc(e){return typeof e=="string"&&(e=vp(e)),Js(e),e}class Ep{clone(){return this._cloneInto()}}function xp(e){const t=n=>e().update(qc(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}const Wc=[],Kc=[],Yc=[],Sp=BigInt(0),nn=BigInt(1),Ap=BigInt(2),kp=BigInt(7),Tp=BigInt(256),Bp=BigInt(113);for(let e=0,t=nn,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Wc.push(2*(5*n+r)),Kc.push((e+1)*(e+2)/2%64);let i=Sp;for(let s=0;s<7;s++)t=(t<<nn^(t>>kp)*Bp)%Tp,t&Ap&&(i^=nn<<(nn<<BigInt(s))-nn);Yc.push(i)}const[Ip,Pp]=pp(Yc,!0),ua=(e,t,r)=>r>32?bp(e,t,r):yp(e,t,r),la=(e,t,r)=>r>32?wp(e,t,r):mp(e,t,r);function Op(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let o=0;o<10;o++)r[o]=e[o]^e[o+10]^e[o+20]^e[o+30]^e[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,u=(o+2)%10,h=r[u],d=r[u+1],m=ua(h,d,1)^r[a],_=la(h,d,1)^r[a+1];for(let p=0;p<50;p+=10)e[o+p]^=m,e[o+p+1]^=_}let i=e[2],s=e[3];for(let o=0;o<24;o++){const a=Kc[o],u=ua(i,s,a),h=la(i,s,a),d=Wc[o];i=e[d],s=e[d+1],e[d]=u,e[d+1]=h}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)r[a]=e[o+a];for(let a=0;a<10;a++)e[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=Ip[n],e[1]^=Pp[n]}r.fill(0)}class Qs extends Ep{constructor(t,r,n,i=!1,s=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,sa(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=gp(this.state)}keccak(){ca||fa(this.state32),Op(this.state32,this.rounds),ca||fa(this.state32),this.posOut=0,this.pos=0}update(t){oa(this);const{blockLen:r,state:n}=this;t=qc(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);for(let a=0;a<o;a++)n[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:r,pos:n,blockLen:i}=this;t[n]^=r,r&128&&n===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){oa(this,!1),Js(t),this.finish();const r=this.state,{blockLen:n}=this;for(let i=0,s=t.length;i<s;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);t.set(r.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return sa(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(hp(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:r,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return t||(t=new Qs(r,n,i,o,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=n,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}}const Rp=(e,t,r)=>xp(()=>new Qs(t,e,r)),Cp=Rp(1,136,256/8);function Up(e,t){return Cp(Bn(e,{strict:!1})?Rc(e):e)}const cs=new zc(8192);function Lp(e,t){if(cs.has(`${e}.${t}`))return cs.get(`${e}.${t}`);const r=e.substring(2).toLowerCase(),n=Up(Cc(r)),i=r.split("");for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&i[o]&&(i[o]=i[o].toUpperCase()),(n[o>>1]&15)>=8&&i[o+1]&&(i[o+1]=i[o+1].toUpperCase());const s=`0x${i.join("")}`;return cs.set(`${e}.${t}`,s),s}const Np=/^0x[a-fA-F0-9]{40}$/,fs=new zc(8192);function hr(e,t){const{strict:r=!0}=t??{},n=`${e}.${r}`;if(fs.has(n))return fs.get(n);const i=Np.test(e)?e.toLowerCase()===e?!0:r?Lp(e)===e:!0:!1;return fs.set(n,i),i}function Fp(e,t,r,{strict:n}={}){return Bn(e,{strict:!1})?Mp(e,t,r,{strict:n}):Hp(e,t,r,{strict:n})}function Xc(e,t,r){if(Mr(e)!==r-t)throw new T0({offset:r,position:"end",size:Mr(e)})}function Hp(e,t,r,{strict:n}={}){const i=e.slice(t,r);return n&&Xc(i,t,r),i}function Mp(e,t,r,{strict:n}={}){const i=`0x${e.replace("0x","").slice(t*2,r*2)}`;return n&&Xc(i,t,r),i}function Dp(e){const{authorizationList:t}=e;if(t)for(const r of t){const{chainId:n}=r,i=r.address;if(!hr(i))throw new lr({address:i});if(n<0)throw new Ii({chainId:n})}Zs(e)}function $p(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Gc;for(const r of t){const n=Mr(r),i=oi(Fp(r,0,1));if(n!==32)throw new ap({hash:r,size:n});if(i!==jc)throw new cp({hash:r,version:i})}}Zs(e)}function Zs(e){const{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:n,to:i}=e;if(t<=0)throw new Ii({chainId:t});if(i&&!hr(i))throw new lr({address:i});if(n&&n>Ys)throw new Pi({maxFeePerGas:n});if(r&&n&&r>n)throw new Vc({maxFeePerGas:n,maxPriorityFeePerGas:r})}function jp(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(t<=0)throw new Ii({chainId:t});if(s&&!hr(s))throw new lr({address:s});if(r||i)throw new he("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Ys)throw new Pi({maxFeePerGas:n})}function Gp(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(s&&!hr(s))throw new lr({address:s});if(typeof t<"u"&&t<=0)throw new Ii({chainId:t});if(r||i)throw new he("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Ys)throw new Pi({maxFeePerGas:n})}function Vp(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new ep({transaction:e})}function Oi(e){if(!e||e.length===0)return[];const t=[];for(let r=0;r<e.length;r++){const{address:n,storageKeys:i}=e[r];for(let s=0;s<i.length;s++)if(i[s].length-2!==64)throw new tp({storageKey:i[s]});if(!hr(n,{strict:!1}))throw new lr({address:n});t.push([n,i])}return t}function zp(e,t){const r=Vp(e);return r==="eip1559"?Kp(e,t):r==="eip2930"?Yp(e,t):r==="eip4844"?Wp(e,t):r==="eip7702"?qp(e,t):Xp(e,t)}function qp(e,t){const{authorizationList:r,chainId:n,gas:i,nonce:s,to:o,value:a,maxFeePerGas:u,maxPriorityFeePerGas:h,accessList:d,data:m}=e;Dp(e);const _=Oi(d),p=rp(r);return In(["0x04",ur([Q(n),s?Q(s):"0x",h?Q(h):"0x",u?Q(u):"0x",i?Q(i):"0x",o??"0x",a?Q(a):"0x",m??"0x",_,p,...Pn(e,t)])])}function Wp(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerBlobGas:a,maxFeePerGas:u,maxPriorityFeePerGas:h,accessList:d,data:m}=e;$p(e);let _=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(typeof _>"u"||typeof p>"u")){const x=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(E=>Jt(E)),g=e.kzg,S=Hc({blobs:x,kzg:g});if(typeof _>"u"&&(_=sp({commitments:S})),typeof p>"u"){const E=Mc({blobs:x,commitments:S,kzg:g});p=up({blobs:x,commitments:S,proofs:E})}}const I=Oi(d),B=[Q(r),i?Q(i):"0x",h?Q(h):"0x",u?Q(u):"0x",n?Q(n):"0x",s??"0x",o?Q(o):"0x",m??"0x",I,a?Q(a):"0x",_??[],...Pn(e,t)],T=[],R=[],U=[];if(p)for(let x=0;x<p.length;x++){const{blob:g,commitment:S,proof:E}=p[x];T.push(g),R.push(S),U.push(E)}return In(["0x03",ur(p?[B,T,R,U]:B)])}function Kp(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerGas:a,maxPriorityFeePerGas:u,accessList:h,data:d}=e;Zs(e);const m=Oi(h),_=[Q(r),i?Q(i):"0x",u?Q(u):"0x",a?Q(a):"0x",n?Q(n):"0x",s??"0x",o?Q(o):"0x",d??"0x",m,...Pn(e,t)];return In(["0x02",ur(_)])}function Yp(e,t){const{chainId:r,gas:n,data:i,nonce:s,to:o,value:a,accessList:u,gasPrice:h}=e;jp(e);const d=Oi(u),m=[Q(r),s?Q(s):"0x",h?Q(h):"0x",n?Q(n):"0x",o??"0x",a?Q(a):"0x",i??"0x",d,...Pn(e,t)];return In(["0x01",ur(m)])}function Xp(e,t){const{chainId:r=0,gas:n,data:i,nonce:s,to:o,value:a,gasPrice:u}=e;Gp(e);let h=[s?Q(s):"0x",u?Q(u):"0x",n?Q(n):"0x",o??"0x",a?Q(a):"0x",i??"0x"];if(t){const d=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+t.v-27n);const p=27n+(t.v===27n?0n:1n);if(t.v!==p)throw new Z0({v:t.v});return p})(),m=si(t.r),_=si(t.s);h=[...h,Q(d),m==="0x00"?"0x":m,_==="0x00"?"0x":_]}else r>0&&(h=[...h,Q(r),"0x","0x"]);return ur(h)}function Pn(e,t){const r=t??e,{v:n,yParity:i}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof i>"u")return[];const s=si(r.r),o=si(r.s);return[typeof i=="number"?i?Q(1):"0x":n===0n?"0x":n===1n?Q(1):n===27n?"0x":Q(1),s==="0x00"?"0x":s,o==="0x00"?"0x":o]}const Jp={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Qp={block:D0({format(e){var r;return{transactions:(r=e.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const i=Ks(n);return i.typeHex==="0x7e"&&(i.isSystemTx=n.isSystemTx,i.mint=n.mint?Tr(n.mint):void 0,i.sourceHash=n.sourceHash,i.type="deposit"),i}),stateRoot:e.stateRoot}}}),transaction:F0({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Tr(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:V0({format(e){return{l1GasPrice:e.l1GasPrice?Tr(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Tr(e.l1GasUsed):null,l1Fee:e.l1Fee?Tr(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function Zp(e,t){return ry(e)?ty(e):zp(e,t)}const ey={transaction:Zp};function ty(e){ny(e);const{sourceHash:t,data:r,from:n,gas:i,isSystemTx:s,mint:o,to:a,value:u}=e,h=[t,n,a??"0x",o?Q(o):"0x",u?Q(u):"0x",i?Q(i):"0x",s?"0x1":"0x",r??"0x"];return In(["0x7e",ur(h)])}function ry(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function ny(e){const{from:t,to:r}=e;if(t&&!hr(t))throw new lr({address:t});if(r&&!hr(r))throw new lr({address:r})}const ai={contracts:Jp,formatters:Qp,serializers:ey},iy=dt({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),sy=dt({id:421614,name:"Arbitrum Sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://sepolia.arbiscan.io",apiUrl:"https://api-sepolia.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:81930}},testnet:!0}),sn=1,oy=dt({...ai,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...ai.contracts,disputeGameFactory:{[sn]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[sn]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[sn]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[sn]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:sn}),on=11155111,ay=dt({...ai,id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://sepolia.basescan.org",apiUrl:"https://api-sepolia.basescan.org/api"}},contracts:{...ai.contracts,disputeGameFactory:{[on]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[on]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[on]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[on]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:on}),cy=dt({id:80094,name:"Berachain",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0},ensRegistry:{address:"0x5b22280886a2f5e09a49bea7e320eab0e5320e28",blockCreated:877007},ensUniversalResolver:{address:"0xddfb18888a9466688235887dec2a10c4f5effee9",blockCreated:877008}},rpcUrls:{default:{http:["https://rpc.berachain.com"]}},blockExplorers:{default:{name:"Berascan",url:"https://berascan.com"}},ensTlds:[".bera"],testnet:!1}),fy=dt({id:80084,name:"Berachain bArtio",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:109269},ensRegistry:{address:"0xB0eef18971290b333450586D33dcA6cE122651D2",blockCreated:7736794},ensUniversalResolver:{address:"0x41692Ef1EA0C79E6b73077E4A67572D2BDbD7057",blockCreated:7736795}},ensTlds:[".bera"],rpcUrls:{default:{http:["https://bartio.rpc.berachain.com"]}},blockExplorers:{default:{name:"Berachain bArtio Beratrail",url:"https://bartio.beratrail.io"}},testnet:!0}),uy=dt({id:5115,name:"Citrea Testnet",nativeCurrency:{name:"cBTC",symbol:"cBTC",decimals:18},rpcUrls:{default:{http:["https://rpc.testnet.citrea.xyz"]}},blockExplorers:{default:{name:"Citrea Explorer",url:"https://explorer.testnet.citrea.xyz",apiUrl:"https://explorer.testnet.citrea.xyz/api"}},testnet:!0}),ly=dt({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xce01f8eee7E479C928F8919abD53E553a36CeF67",blockCreated:19258213},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),hy=dt({id:10143,name:"Monad Testnet",nativeCurrency:{name:"Testnet MON Token",symbol:"MON",decimals:18},rpcUrls:{default:{http:["https://testnet-rpc.monad.xyz"]}},blockExplorers:{default:{name:"Monad Testnet explorer",url:"https://testnet.monadexplorer.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:251449}},testnet:!0}),dy=dt({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.drpc.org"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",blockCreated:5317080}},testnet:!0}),py={...dy,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},Jc={id:998,name:"Hyperliquid EVM Testnet",nativeCurrency:{name:"Hyperliquid",symbol:"HYPE",decimals:18},blockExplorers:{default:{name:"Hyperliquid Explorer",url:"https://testnet.purrsec.com/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid-testnet.xyz/evm"]}}},Qc={id:999,name:"HyperEVM",nativeCurrency:{name:"Hyperliquid",symbol:"HYPE",decimals:18},blockExplorers:{default:{name:"Hyperliquid Explorer",url:"https://hyperscan.gas.zip/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid.xyz/evm"]}}},Zc={ethereum:ly,arbitrum:iy,ethereum_sepolia:py,arbitrum_sepolia:sy,ethereum_localnet:be.EthereumLocalnet,arbitrum_localnet:be.ArbitrumLocalnet,base_sepolia:ay,base:oy,bera_testnet:fy,citrea_testnet:uy,bera:cy,monad_testnet:hy,hyperliquid_testnet:Jc,hyperliquid:Qc},ef=async(e,t)=>{var n;const r=Zc[e];if(r)try{if(r.id===((n=t.chain)==null?void 0:n.id))return ne({message:"Already on the network",walletClient:t});await t.switchChain({id:r.id});const i=Et.createWalletClient({account:t.account,chain:r,transport:Et.custom(t.transport)});return ne({message:"Switched chain",walletClient:i})}catch(i){if(yy(i))try{await t.addChain({chain:r});const s=Et.createWalletClient({account:t.account,chain:r,transport:Et.custom(window.ethereum)});return ne({message:"Added network",walletClient:s})}catch{return $("Failed to add network")}else return $("Failed to switch network")}else return $("Chain not supported")},yy=e=>typeof e=="object"&&e!==null&&"code"in e&&e.code===4902;class tf{constructor(t,r,n){this.url=new V.Url("/relayer",t),this.auth=n,this.wallet=r}get htlcActorAddress(){if(!this.wallet.account)throw new Error("No account found");return this.wallet.account.address}async initiate(t){if(!this.wallet.account)return V.Err("No account found");if(this.wallet.account.address.toLowerCase()!==t.source_swap.initiator.toLowerCase())return V.Err("Account address and order initiator mismatch");const r=await ef(t.source_swap.chain,this.wallet);if(r.error)return V.Err(r.error);if(this.wallet=r.val.walletClient,!this.wallet.account)return V.Err("No account found");const{create_order:n,source_swap:i}=t;if(!i.amount||!i.redeemer||!n.timelock||!n.secret_hash)return V.Err("Invalid order");const s=V.with0x(n.secret_hash),o=BigInt(n.timelock),a=V.with0x(i.redeemer),u=BigInt(i.amount);try{const h=await this.auth.getAuthHeaders();if(h.error)return V.Err(h.error);const d=Et.getContract({address:V.with0x(t.source_swap.asset),abi:S0,client:this.wallet}),m=await d.read.token(),_=await V.checkAllowanceAndApprove(Number(u),m,t.source_swap.asset,this.wallet);if(_.error)return V.Err(_.error);const p=await d.read.eip712Domain(),I=await this.wallet.signTypedData({account:this.wallet.account,domain:{name:p[1],version:p[2],chainId:Number(p[3]),verifyingContract:p[4]},types:{Initiate:[{name:"redeemer",type:"address"},{name:"timelock",type:"uint256"},{name:"amount",type:"uint256"},{name:"secretHash",type:"bytes32"}]},primaryType:"Initiate",message:{redeemer:a,timelock:o,amount:u,secretHash:s}}),B={...h.val,"Content-Type":"application/json"},T=await xt.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:n.create_id,signature:I,perform_on:"Source"}),headers:B});return T.error?V.Err(T.error):T.result?V.Ok(T.result):V.Err("Init: No result found")}catch(h){return console.log("init error :",h),V.Err(String(h))}}async redeem(t,r){try{const n=await this.auth.getAuthHeaders();if(n.error)return V.Err(n.error);const i=await xt.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t.create_order.create_id,secret:rr(r),perform_on:"Destination"}),headers:{...n.val,"Content-Type":"application/json"}});return i.error?V.Err(i.error):i.result?V.Ok(i.result):V.Err("Redeem: No result found")}catch(n){return V.Err(String(n))}}async refund(){return V.Err("Refund not supported")}}const rf=[{name:"LockingContract",type:"impl",interface_name:"src::mintable_lock_interface::ILockingContract"},{name:"src::mintable_lock_interface::ILockingContract",type:"interface",items:[{name:"set_locking_contract",type:"function",inputs:[{name:"locking_contract",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"get_locking_contract",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"}]},{name:"LockAndDelegate",type:"impl",interface_name:"src::mintable_lock_interface::ILockAndDelegate"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"src::mintable_lock_interface::ILockAndDelegate",type:"interface",items:[{name:"lock_and_delegate",type:"function",inputs:[{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"lock_and_delegate_by_sig",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"nonce",type:"core::felt252"},{name:"expiry",type:"core::integer::u64"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"MintableToken",type:"impl",interface_name:"src::mintable_token_interface::IMintableToken"},{name:"src::mintable_token_interface::IMintableToken",type:"interface",items:[{name:"permissioned_mint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissioned_burn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"MintableTokenCamelImpl",type:"impl",interface_name:"src::mintable_token_interface::IMintableTokenCamel"},{name:"src::mintable_token_interface::IMintableTokenCamel",type:"interface",items:[{name:"permissionedMint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissionedBurn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"Replaceable",type:"impl",interface_name:"src::replaceability_interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"src::replaceability_interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<src::replaceability_interface::EICData>",type:"enum",variants:[{name:"Some",type:"src::replaceability_interface::EICData"},{name:"None",type:"()"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"src::replaceability_interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<src::replaceability_interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"src::replaceability_interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"AccessControlImplExternal",type:"impl",interface_name:"src::access_control_interface::IAccessControl"},{name:"src::access_control_interface::IAccessControl",type:"interface",items:[{name:"has_role",type:"function",inputs:[{name:"role",type:"core::felt252"},{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"get_role_admin",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]},{name:"RolesImpl",type:"impl",interface_name:"src::roles_interface::IMinimalRoles"},{name:"src::roles_interface::IMinimalRoles",type:"interface",items:[{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"}]},{name:"ERC20Impl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20"},{name:"openzeppelin::token::erc20::interface::IERC20",type:"interface",items:[{name:"name",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{type:"core::integer::u8"}],state_mutability:"view"},{name:"total_supply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balance_of",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"allowance",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transfer",type:"function",inputs:[{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"transfer_from",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"approve",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"ERC20CamelOnlyImpl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20CamelOnly"},{name:"openzeppelin::token::erc20::interface::IERC20CamelOnly",type:"interface",items:[{name:"totalSupply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balanceOf",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transferFrom",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"name",type:"core::felt252"},{name:"symbol",type:"core::felt252"},{name:"decimals",type:"core::integer::u8"},{name:"initial_supply",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"permitted_minter",type:"core::starknet::contract_address::ContractAddress"},{name:"provisional_governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"}]},{name:"increase_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"added_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decrease_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtracted_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"increaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"addedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decreaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtractedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Transfer",type:"event",members:[{kind:"data",name:"from",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"to",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Approval",type:"event",members:[{kind:"data",name:"owner",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"spender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"struct",name:"src::access_control_interface::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"src::strk::erc20_lockable::ERC20Lockable::Event",type:"event",variants:[{kind:"nested",name:"Transfer",type:"src::strk::erc20_lockable::ERC20Lockable::Transfer"},{kind:"nested",name:"Approval",type:"src::strk::erc20_lockable::ERC20Lockable::Approval"},{kind:"nested",name:"ImplementationAdded",type:"src::replaceability_interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"src::replaceability_interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"src::replaceability_interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"src::replaceability_interface::ImplementationFinalized"},{kind:"nested",name:"RoleGranted",type:"src::access_control_interface::RoleGranted"},{kind:"nested",name:"RoleRevoked",type:"src::access_control_interface::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"src::access_control_interface::RoleAdminChanged"},{kind:"nested",name:"GovernanceAdminAdded",type:"src::roles_interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"src::roles_interface::GovernanceAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"src::roles_interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"src::roles_interface::UpgradeGovernorRemoved"}]}],nf=async(e,t,r,n,i)=>{try{const s=new Ge.RpcProvider({nodeUrl:i}),a=await new Ge.Contract(rf,Rn(t),s).call("allowance",[Rn(e.address),Rn(r)]),u=BigInt((a==null?void 0:a.toString())||"0"),h=Ge.cairo.uint256(BigInt(Ge.uint256.UINT_256_MAX));if(u<n){const d=await e.execute([{contractAddress:Rn(t),entrypoint:"approve",calldata:[r,h.low,h.high]}]);return await s.waitForTransaction(d.transaction_hash,{retryInterval:3e3,successStates:[Ge.TransactionExecutionStatus.SUCCEEDED]}),await V.sleep(2e3),ne(d.transaction_hash)}return ne("Allowance already approved")}catch(s){return $(`Failed to check or approve allowance: ${s instanceof Error?s.message:String(s)}`)}},sf=[{name:"HTLC",type:"impl",interface_name:"starknet_htlc::interface::IHTLC"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"starknet_htlc::interface::IHTLC",type:"interface",items:[{name:"token",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"initiate",type:"function",inputs:[{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"}],outputs:[],state_mutability:"external"},{name:"initiate_on_behalf",type:"function",inputs:[{name:"initiator",type:"core::starknet::contract_address::ContractAddress"},{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"}],outputs:[],state_mutability:"external"},{name:"initiate_with_signature",type:"function",inputs:[{name:"initiator",type:"core::starknet::contract_address::ContractAddress"},{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"},{name:"redeem",type:"function",inputs:[{name:"order_id",type:"core::felt252"},{name:"secret",type:"core::array::Array::<core::integer::u32>"}],outputs:[],state_mutability:"external"},{name:"refund",type:"function",inputs:[{name:"order_id",type:"core::felt252"}],outputs:[],state_mutability:"external"},{name:"instant_refund",type:"function",inputs:[{name:"order_id",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"token",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starknet_htlc::interface::events::Initiated",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"},{kind:"data",name:"secret_hash",type:"[core::integer::u32; 8]"},{kind:"data",name:"amount",type:"core::integer::u256"}]},{kind:"struct",name:"starknet_htlc::interface::events::Redeemed",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"},{kind:"data",name:"secret_hash",type:"[core::integer::u32; 8]"},{kind:"data",name:"secret",type:"core::array::Array::<core::integer::u32>"}]},{kind:"struct",name:"starknet_htlc::interface::events::Refunded",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"}]},{kind:"enum",name:"starknet_htlc::htlc::HTLC::Event",type:"event",variants:[{kind:"nested",name:"Initiated",type:"starknet_htlc::interface::events::Initiated"},{kind:"nested",name:"Redeemed",type:"starknet_htlc::interface::events::Redeemed"},{kind:"nested",name:"Refunded",type:"starknet_htlc::interface::events::Refunded"}]}],my={name:"HTLC",version:Ge.shortString.encodeShortString("1"),chainId:"0x534e5f5345504f4c4941",revision:Ge.TypedDataRevision.ACTIVE},by={StarknetDomain:[{name:"name",type:"shortstring"},{name:"version",type:"shortstring"},{name:"chainId",type:"shortstring"},{name:"revision",type:"shortstring"}],Initiate:[{name:"redeemer",type:"ContractAddress"},{name:"amount",type:"u256"},{name:"timelock",type:"u128"},{name:"secretHash",type:"u128*"}]},wy="https://starknet-sepolia.public.blastapi.io/rpc/v0_7";class of{constructor(t,r,n){this.nodeUrl=n||wy,this.url=new V.Url("/",t),this.account=r}get htlcActorAddress(){if(!this.account.address)throw new Error("No account found");return this.account.address}async initiate(t){if(!this.account.address)return $("No account address");const{create_order:r,source_swap:n}=t,{redeemer:i,amount:s}=n;if(!s||!i||!r.secret_hash||!r.timelock)return $("Invalid order");try{const o=new Ge.Contract(sf,t.source_swap.asset,this.account),a=await(o==null?void 0:o.token()),u=Ge.num.toHex(a),h=await nf(this.account,u,n.asset,BigInt(s),this.nodeUrl);if(h.error)return $(h.error);const d={domain:my,primaryType:"Initiate",types:by,message:{redeemer:i,amount:Ge.cairo.uint256(s),timelock:r.timelock,secretHash:V.hexToU32Array(r.secret_hash)}},m=await this.account.signMessage(d),_=_f(m);if(_.error)return $(_.error);const p=await xt.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:r.create_id,signature:_.val,perform_on:"Source"}),headers:{"Content-Type":"application/json"}});return p.error?$(p.error):p.result?ne(p.result):$("Init: No result found")}catch(o){return $(String(o))}}async redeem(t,r){try{const n=await xt.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t.create_order.create_id,secret:r,perform_on:"Destination"}),headers:{"Content-Type":"application/json"}});return n.error?$(n.error):n.result?ne(n.result):$("Redeem: No result found")}catch(n){return $(String(n))}}async refund(){return $("Refund is taken care of by the relayer")}}class eo extends V.EventBroker{constructor(t){if(super(),this.environment=V.Environment.TESTNET,this.getOrderThreshold=20,this.refundSacpCache=new Map,this.bitcoinRedeemCache=new Ll,typeof t.digestKey=="string"){const n=V.DigestKey.from(t.digestKey);if(n.error)throw new Error(n.error);this._digestKey=n.val}else this._digestKey=t.digestKey;if(typeof t.environment=="string"){if(this.environment=t.environment,this._api=t.environment===V.Environment.MAINNET?un.mainnet:t.environment===V.Environment.TESTNET?un.testnet:void 0,!this._api)throw new Error("API not found, invalid environment "+t.environment)}else this._api=t.environment;this._quote=t.quote??new Va(this._api.quote),this._auth=t.auth??V.Siwe.fromDigestKey(new V.Url(this._api.auth),this._digestKey),this._orderbook=t.orderbook??new be.Orderbook(new V.Url(this._api.orderbook)),this._evmHTLC=t.htlc.evm,this._starknetHTLC=t.htlc.starknet,this._secretManager=t.secretManager??wn.fromDigestKey(this._digestKey.digestKey),this.orderExecutorCache=new Ul,this._blockNumberFetcher=t.blockNumberFetcher??new Ga(this._api.info,this.environment);const r=new Rr.BitcoinProvider(gf(this.environment));this._btcWallet=Rr.BitcoinWallet.fromPrivateKey(this._digestKey.digestKey,r)}static fromWallets(t){let r;if(typeof t.digestKey=="string"){const s=V.DigestKey.from(t.digestKey);if(s.error)throw new Error(s.error);r=s.val}else r=t.digestKey;let n;if(typeof t.environment=="string"?n=t.environment===V.Environment.MAINNET?un.mainnet:t.environment===V.Environment.TESTNET?un.testnet:void 0:n=t.environment,!n)throw new Error("API not found, invalid environment "+t.environment);const i={evm:t.wallets.evm?new tf(n.evmRelay,t.wallets.evm,V.Siwe.fromDigestKey(new V.Url(n.auth),r)):void 0,starknet:t.wallets.starknet?new of(n.starknetRelay,t.wallets.starknet):void 0};return new eo({htlc:i,...t})}get evmHTLC(){return this._evmHTLC}get starknetHTLC(){return this._starknetHTLC}get quote(){return this._quote}get btcWallet(){return this._btcWallet}get orderbook(){return this._orderbook}get blockNumberFetcher(){return this._blockNumberFetcher}get secretManager(){return this._secretManager}get auth(){return this._auth}get digestKey(){return this._digestKey}async swap(t){const r=await this.validateAndFillParams(t);if(r.error)return $(r.error);const{sendAddress:n,receiveAddress:i,timelock:s}=r.val,o=Date.now().toString(),a=await this._secretManager.generateSecret(o);if(a.error)return $(a.error);const{strategyId:u,btcAddress:h}=t.additionalData,d={strategy_id:u,...h&&{bitcoin_optional_recipient:h}},m={source_chain:t.fromAsset.chain,destination_chain:t.toAsset.chain,source_asset:t.fromAsset.atomicSwapAddress,destination_asset:t.toAsset.atomicSwapAddress,initiator_source_address:n,initiator_destination_address:i,source_amount:t.sendAmount,destination_amount:t.receiveAmount,fee:"1",nonce:o,timelock:s,secret_hash:rr(a.val.secretHash),min_destination_confirmations:t.minDestinationConfirmations??0,additional_data:d},_=await this._quote.getAttestedQuote(m);if(_.error)return $(_.error);const p=await this._orderbook.createOrder(_.val,this.auth);if(p.error)return $(p.error);const I=await this.pollOrder(p.val);return I.error?$(I.error):ne(I.val)}async validateAndFillParams(t){if(!t.additionalData.strategyId)return $("StrategyId is required");if(!t.fromAsset||!t.toAsset)return $("Source and destination assets are required for swap");if(t.fromAsset.chain===t.toAsset.chain&&t.fromAsset.atomicSwapAddress===t.toAsset.atomicSwapAddress)return $("Source and destination assets cannot be the same");if(be.isMainnet(t.fromAsset.chain)&&!be.isMainnet(t.toAsset.chain)||!be.isMainnet(t.fromAsset.chain)&&be.isMainnet(t.toAsset.chain))return $("Both assets should be on the same network (either mainnet or testnet)");const r=this.validateAmount(t.sendAmount);if(r.error)return $(r.error);const n=this.validateAmount(t.receiveAmount);if(n.error)return $(n.error);if(r<n)return $("Send amount should be greater than receive amount");const i=be.getTimeLock(t.fromAsset.chain);if(!i)return $("Unsupported chain for timelock");if((be.isBitcoin(t.fromAsset.chain)||be.isBitcoin(t.toAsset.chain))&&!t.additionalData.btcAddress)return $("btcAddress in additionalData is required if source or destination chain is bitcoin, it is used as refund or redeem address.");const s=await this.getAddresses(t.fromAsset.chain);if(s.error)return $(s.error);const o=await this.getAddresses(t.toAsset.chain);return o.error?$(o.error):ne({sendAddress:s.val,receiveAddress:o.val,timelock:t.timelock??i})}async getAddresses(t){var n;switch(be.getBlockchainType(t)){case be.BlockchainType.EVM:return this._evmHTLC?ne(this._evmHTLC.htlcActorAddress):$("Please provide evmHTLC when initializing garden");case be.BlockchainType.Bitcoin:{const i=await((n=this._btcWallet)==null?void 0:n.getPublicKey());return!i||!bf(i)?$("Invalid btc public key"):ne(Dt(i))}case be.BlockchainType.Starknet:return this._starknetHTLC?ne(this._starknetHTLC.htlcActorAddress):$("Please provide starknetHTLC when initializing garden");default:return $("Unsupported chain")}}validateAmount(t){if(t==null||t.includes("."))return $("Invalid amount ",t);const r=new uf(t);return!r.isInteger()||r.isNaN()||r.lt(0)||r.isLessThanOrEqualTo(0)?$("Invalid amount ",t):ne(r)}async pollOrder(t){let r=await this._orderbook.getOrder(t,!0),n=0;for(;n<this.getOrderThreshold;){if(await V.sleep(1e3),n++,r.error){if(!r.error.includes("result is undefined"))return $(r.error)}else if(r.val&&r.val.create_order.create_id.toLowerCase()===t.toLowerCase())return ne(r.val);r=await this._orderbook.getOrder(t,!0)}return $(`Order not found, createOrder id: ${t}`)}async execute(t=5e3){return await this._orderbook.subscribeOrders(this._digestKey.userId,!0,t,async r=>{if(r.data.length===0)return;const n=await this.filterExpiredAndAssignStatus(r.data);if(!n.error){this.emit("onPendingOrdersChanged",n.val);for(let i=0;i<n.val.length;i++){const s=n.val[i],o=Bs(s.status);if(be.isBitcoin(s.source_swap.chain)&&s.status===le.InitiateDetected){const a=this.btcWallet;if(!a){this.emit("error",s,"BTC wallet not found");continue}await this.postRefundSACP(s,a)}switch(o){case Ae.Redeem:{const a=await this._secretManager.generateSecret(s.create_order.nonce);if(a.error){this.emit("error",s,a.error);return}switch(be.getBlockchainType(s.destination_swap.chain)){case be.BlockchainType.EVM:{await this.evmRedeem(s,a.val.secret);break}case be.BlockchainType.Bitcoin:{const u=this.btcWallet;if(!u){this.emit("error",s,"BTC wallet not found");return}await this.btcRedeem(u,s,a.val.secret);break}case be.BlockchainType.Starknet:{await this.starknetRedeem(s,a.val.secret);break}default:this.emit("error",s,"Unsupported chain: "+s.destination_swap.chain)}break}case Ae.Refund:{switch(be.getBlockchainType(s.source_swap.chain)){case be.BlockchainType.EVM:{this.emit("error",s,"EVM refund is automatically done by relay service");break}case be.BlockchainType.Bitcoin:{const a=this.btcWallet;if(!a){this.emit("error",s,"BTC wallet not found");return}await this.btcRefund(a,s);break}case be.BlockchainType.Starknet:{this.emit("error",s,"Starknet refund is automatically done by relay service");break}default:this.emit("error",s,"Unsupported chain: "+s.source_swap.chain)}break}}}}},"pending",{per_page:500})}async evmRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing evm redeem"),this.orderExecutorCache.get(t,Ae.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}if(!this._evmHTLC){this.emit("error",t,"EVMHTLC is required");return}const i=await this._evmHTLC.redeem(t,r);if(i.error){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Ae.Redeem,t.destination_swap.redeem_tx_hash);return}this.orderExecutorCache.set(t,Ae.Redeem,i.val),this.emit("success",t,Ae.Redeem,i.val)}async starknetRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing starknet redeem"),this.orderExecutorCache.get(t,Ae.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}if(!this._starknetHTLC){this.emit("error",t,"StarknetHTLC is required");return}const i=await this._starknetHTLC.redeem(t,r);if(i.error){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Ae.Redeem,t.destination_swap.redeem_tx_hash);return}i.val&&(this.orderExecutorCache.set(t,Ae.Redeem,i.val),this.emit("success",t,Ae.Redeem,i.val))}async btcRedeem(t,r,n){var a,u;const i=this.bitcoinRedeemCache.get(r.create_order.create_id),s=(a=r.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:a.split(":").at(0);if(!s){this.emit("error",r,"Failed to get initiate_tx_hash");return}let o=!1;if(i)if(i.redeemedFromUTXO&&i.redeemedFromUTXO!==s)o=!0,this.emit("log",r.create_order.create_id,"rbf btc redeem");else if(i.redeemedAt&&Date.now()-i.redeemedAt>1e3*60*15)this.emit("log",r.create_order.create_id,"redeem not confirmed in last 15 minutes"),o=!0;else{this.emit("log",r.create_order.create_id,"btcRedeem: already redeemed");return}else if(r.destination_swap.redeem_tx_hash&&!Number(r.destination_swap.redeem_block_number))try{const h=await(await t.getProvider()).getTransaction(r.destination_swap.redeem_tx_hash);let d=!1;for(const m of h.vin)if(m.txid===s){d=!0;break}if(d){this.emit("log",r.create_order.create_id,"already a valid redeem");let m=0;try{const[_]=await(await t.getProvider()).getTransactionTimes([r.destination_swap.redeem_tx_hash]);_!==0&&(m=_)}catch{m=Date.now()}this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:m,redeemTxHash:r.destination_swap.redeem_tx_hash});return}o=!0}catch(h){if(h.message.includes("Transaction not found"))o=!0;else{this.emit("error",r,"Failed to get redeem tx: "+h);return}}this.emit("log",r.create_order.create_id,"executing btc redeem");try{const d=await(await dn.from(t,Number(r.destination_swap.amount),r.create_order.secret_hash,Dt(r.destination_swap.initiator),Dt(r.destination_swap.redeemer),r.destination_swap.timelock,o?[s]:[])).getRedeemHex(rr(n),(u=r.create_order.additional_data)==null?void 0:u.bitcoin_optional_recipient),m=await this.broadcastRedeemTx(d,r.create_order.create_id);if(m.error||!m.val){this.emit("error",r,m.error||"Failed to broadcast redeem tx");return}o?(this.emit("log",r.create_order.create_id,"rbf: btc redeem success"),this.emit("rbf",r,m.val)):this.emit("success",r,Ae.Redeem,m.val),this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:Date.now(),redeemTxHash:m.val})}catch(h){console.log("error",h),this.emit("error",r,"Failed btc redeem: "+h)}}async btcRefund(t,r){var n;if(!this.orderExecutorCache.get(r,Ae.Refund)){this.emit("log",r.create_order.create_id,"executing btc refund");try{const s=await(await dn.from(t,Number(r.source_swap.amount),r.create_order.secret_hash,Dt(r.source_swap.initiator),Dt(r.source_swap.redeemer),r.source_swap.timelock)).refund((n=r.create_order.additional_data)==null?void 0:n.bitcoin_optional_recipient);this.orderExecutorCache.set(r,Ae.Refund,s),this.emit("success",r,Ae.Refund,s)}catch(i){this.emit("error",r,"Failed btc refund: "+i)}}}async postRefundSACP(t,r){const n=this.refundSacpCache.get(t.create_order.create_id);if((n==null?void 0:n.initTxHash)===t.source_swap.initiate_tx_hash)return;const i=await dn.from(r,Number(t.source_swap.amount),t.create_order.secret_hash,Dt(t.source_swap.initiator),Dt(t.source_swap.redeemer),t.source_swap.timelock),s=t.create_order.additional_data.bitcoin_optional_recipient;if(s)try{const o=await i.generateInstantRefundSACP(s);if(!this._api)return;const a=new V.Url(this._api.orderbook).endpoint("orders/bitcoin/"+t.create_order.create_id+"/instant-refund");(await xt.post(a,{headers:{"Content-Type":"application/json"},body:JSON.stringify({instant_refund_tx_bytes:o})})).status==="Ok"&&this.refundSacpCache.set(t.create_order.create_id,{initTxHash:t.source_swap.initiate_tx_hash})}catch(o){this.emit("error",t,"Failed to generate and post SACP: "+o);return}}async filterExpiredAndAssignStatus(t){var i;if(t.length===0)return ne([]);const r=await((i=this._blockNumberFetcher)==null?void 0:i.fetchBlockNumbers());if(r.error)return $(r.error);const n=[];for(let s=0;s<t.length;s++){const o=t[s];if(ma(o))continue;const a=o.source_swap.chain,u=o.destination_swap.chain,h=r==null?void 0:r.val[a],d=r==null?void 0:r.val[u];if(!h||!d){this.emit("error",o,"Error while fetching CurrentBlockNumbers");continue}const m=Ts(o,h,d);n.push({...o,status:m})}return ne(n)}async broadcastRedeemTx(t,r){try{if(!this._api)return $("API not found");const n=new V.Url(this._api.evmRelay).endpoint("/bitcoin/redeem "),i=await this._auth.getAuthHeaders(),o=await(await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...i.val},body:JSON.stringify({redeem_tx_bytes:t,order_id:r})})).json();return o.status==="Ok"&&o.result?ne(o.result):$(o.error)}catch(n){return $("Failed to broadcast redeem tx: "+n)}}}const gy="https://starknet-sepolia.public.blastapi.io/rpc/v0_7";class _y{constructor(t,r){this.callData=new Ge.CallData(rf),this.nodeUrl=r||gy,this.account=t}get htlcActorAddress(){return this.account.address}async getHTLCContract(t,r=!1){const n=r?t.destination_swap.asset:t.source_swap.asset;return new Ge.Contract(sf,n,this.account)}async initiate(t){try{const n=await(await this.getHTLCContract(t)).token();if(!n)throw new Error("Token address retrieval failed");const i=Ge.num.toHex(n),s=Ge.cairo.uint256(BigInt(t.source_swap.amount));try{const a=await nf(this.account,i,t.source_swap.asset,BigInt(t.source_swap.amount),this.nodeUrl);if(a.error)return $(a.error)}catch(a){return $(`Allowance check failed: ${a}`)}const o=await this.account.execute({contractAddress:t.source_swap.asset,entrypoint:"initiate",calldata:[t.source_swap.redeemer,BigInt(t.source_swap.timelock),s.low,s.high,...V.hexToU32Array(t.create_order.secret_hash)]});if(!o.transaction_hash)throw new Error("Failed to initiate HTLC transaction");return ne(o.transaction_hash)}catch(r){return $(`HTLC Initiation Error: ${r}`)}}async redeem(t,r){try{const n=await this.getHTLCContract(t,!0),i=t.create_order.source_chain.includes("starknet")?t.source_swap.swap_id:t.destination_swap.swap_id,s=await this.account.execute({contractAddress:n.address,entrypoint:"redeem",calldata:Ge.CallData.compile({swap_id:i,secret:V.hexToU32Array(r)})});return s.transaction_hash?ne(s.transaction_hash):$("Failed to redeem HTLC transaction")}catch{return $("HTLC Redeem Error")}}async refund(t){try{const r=t.create_order.source_chain.includes("starknet")?t.source_swap.swap_id:t.destination_swap.swap_id,n=await this.getHTLCContract(t),i=await this.account.execute({contractAddress:n.address,entrypoint:"refund",calldata:{orderId:r}});return i.transaction_hash?ne(i.transaction_hash):$("Failed to refund HTLC transaction")}catch{return $("HTLC Refund Error")}}}exports.API=un;exports.BlockNumberFetcher=Ga;exports.EvmRelay=tf;exports.Garden=eo;exports.OrderActions=Ae;exports.OrderStatus=le;exports.ParseOrderStatus=Ts;exports.ParseSwapStatus=hs;exports.Quote=Va;exports.SecretManager=wn;exports.StarknetHTLC=_y;exports.StarknetRelay=of;exports.SwapStatus=me;exports.constructOrderPair=ya;exports.evmToViemChainMap=Zc;exports.filterDeadlineExpiredOrders=Ef;exports.hyperliquid=Qc;exports.hyperliquidTestnet=Jc;exports.isExpired=pn;exports.parseAction=vf;exports.parseActionFromStatus=Bs;exports.switchOrAddNetwork=ef;exports.toXOnly=Dt;exports.validateBTCAddress=wf;
30
+ `,bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var qa={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.maybe=e.Boolean=e.Array=e.Buffer256bit=e.Network=e.typeforce=void 0,e.typeforce=xa,e.Network=e.typeforce.compile({messagePrefix:e.typeforce.oneOf(e.typeforce.Buffer,e.typeforce.String),bip32:{public:e.typeforce.UInt32,private:e.typeforce.UInt32},pubKeyHash:e.typeforce.UInt8,scriptHash:e.typeforce.UInt8,wif:e.typeforce.UInt8}),e.Buffer256bit=e.typeforce.BufferN(32),e.Array=e.typeforce.Array,e.Boolean=e.typeforce.Boolean,e.maybe=e.typeforce.maybe})(qa);var bs={exports:{}},ws={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(e,t){var r=It,n=r.Buffer;function i(o,a){for(var u in o)a[u]=o[u]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=s);function s(o,a,u){return n(o,a,u)}s.prototype=Object.create(n.prototype),i(n,s),s.from=function(o,a,u){if(typeof o=="number")throw new TypeError("Argument must not be a number");return n(o,a,u)},s.alloc=function(o,a,u){if(typeof o!="number")throw new TypeError("Argument must be a number");var h=n(o);return a!==void 0?typeof u=="string"?h.fill(a,u):h.fill(a):h.fill(0),h},s.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return n(o)},s.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(o)}})(ws,ws.exports);var Ve=ws.exports,Yi=65536,Fl=4294967295;function Hl(){throw new Error(`Secure random number generation is not supported by this browser.
31
+ Use Chrome, Firefox or Internet Explorer 11`)}var Ml=Ve.Buffer,ti=zt.crypto||zt.msCrypto;ti&&ti.getRandomValues?bs.exports=Dl:bs.exports=Hl;function Dl(e,t){if(e>Fl)throw new RangeError("requested too many random bytes");var r=Ml.allocUnsafe(e);if(e>0)if(e>Yi)for(var n=0;n<e;n+=Yi)ti.getRandomValues(r.slice(n,n+Yi));else ti.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}var $l=bs.exports,gs={exports:{}};typeof Object.create=="function"?gs.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:gs.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}};var Oe=gs.exports,_s={exports:{}},Gs={exports:{}},Or=typeof Reflect=="object"?Reflect:null,Bo=Or&&typeof Or.apply=="function"?Or.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},Jn;Or&&typeof Or.ownKeys=="function"?Jn=Or.ownKeys:Object.getOwnPropertySymbols?Jn=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Jn=function(t){return Object.getOwnPropertyNames(t)};function jl(e){console&&console.warn&&console.warn(e)}var Wa=Number.isNaN||function(t){return t!==t};function se(){se.init.call(this)}Gs.exports=se;Gs.exports.once=ql;se.EventEmitter=se;se.prototype._events=void 0;se.prototype._eventsCount=0;se.prototype._maxListeners=void 0;var Io=10;function wi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(se,"defaultMaxListeners",{enumerable:!0,get:function(){return Io},set:function(e){if(typeof e!="number"||e<0||Wa(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Io=e}});se.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};se.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||Wa(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function Ka(e){return e._maxListeners===void 0?se.defaultMaxListeners:e._maxListeners}se.prototype.getMaxListeners=function(){return Ka(this)};se.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var u=s[t];if(u===void 0)return!1;if(typeof u=="function")Bo(u,this,r);else for(var h=u.length,d=Za(u,h),n=0;n<h;++n)Bo(d[n],this,r);return!0};function Ya(e,t,r,n){var i,s,o;if(wi(r),s=e._events,s===void 0?(s=e._events=Object.create(null),e._eventsCount=0):(s.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),o=s[t]),o===void 0)o=s[t]=r,++e._eventsCount;else if(typeof o=="function"?o=s[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=Ka(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,jl(a)}return e}se.prototype.addListener=function(t,r){return Ya(this,t,r,!1)};se.prototype.on=se.prototype.addListener;se.prototype.prependListener=function(t,r){return Ya(this,t,r,!0)};function Gl(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Xa(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Gl.bind(n);return i.listener=r,n.wrapFn=i,i}se.prototype.once=function(t,r){return wi(r),this.on(t,Xa(this,t,r)),this};se.prototype.prependOnceListener=function(t,r){return wi(r),this.prependListener(t,Xa(this,t,r)),this};se.prototype.removeListener=function(t,r){var n,i,s,o,a;if(wi(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():Vl(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};se.prototype.off=se.prototype.removeListener;se.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function Ja(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?zl(i):Za(i,i.length)}se.prototype.listeners=function(t){return Ja(this,t,!0)};se.prototype.rawListeners=function(t){return Ja(this,t,!1)};se.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Qa.call(e,t)};se.prototype.listenerCount=Qa;function Qa(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}se.prototype.eventNames=function(){return this._eventsCount>0?Jn(this._events):[]};function Za(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function Vl(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function zl(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function ql(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,s),n(o)}function s(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}ec(e,t,s,{once:!0}),t!=="error"&&Wl(e,i,{once:!0})})}function Wl(e,t,r){typeof e.on=="function"&&ec(e,"error",t,r)}function ec(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(s){n.once&&e.removeEventListener(t,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}var tc=Gs.exports,rc=tc.EventEmitter;const Kl={},Yl=Object.freeze(Object.defineProperty({__proto__:null,default:Kl},Symbol.toStringTag,{value:"Module"})),Vs=Pf(Yl);var Xi,Po;function Xl(){if(Po)return Xi;Po=1;function e(I,B){var T=Object.keys(I);if(Object.getOwnPropertySymbols){var R=Object.getOwnPropertySymbols(I);B&&(R=R.filter(function(U){return Object.getOwnPropertyDescriptor(I,U).enumerable})),T.push.apply(T,R)}return T}function t(I){for(var B=1;B<arguments.length;B++){var T=arguments[B]!=null?arguments[B]:{};B%2?e(Object(T),!0).forEach(function(R){r(I,R,T[R])}):Object.getOwnPropertyDescriptors?Object.defineProperties(I,Object.getOwnPropertyDescriptors(T)):e(Object(T)).forEach(function(R){Object.defineProperty(I,R,Object.getOwnPropertyDescriptor(T,R))})}return I}function r(I,B,T){return B=o(B),B in I?Object.defineProperty(I,B,{value:T,enumerable:!0,configurable:!0,writable:!0}):I[B]=T,I}function n(I,B){if(!(I instanceof B))throw new TypeError("Cannot call a class as a function")}function i(I,B){for(var T=0;T<B.length;T++){var R=B[T];R.enumerable=R.enumerable||!1,R.configurable=!0,"value"in R&&(R.writable=!0),Object.defineProperty(I,o(R.key),R)}}function s(I,B,T){return B&&i(I.prototype,B),Object.defineProperty(I,"prototype",{writable:!1}),I}function o(I){var B=a(I,"string");return typeof B=="symbol"?B:String(B)}function a(I,B){if(typeof I!="object"||I===null)return I;var T=I[Symbol.toPrimitive];if(T!==void 0){var R=T.call(I,B);if(typeof R!="object")return R;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(I)}var u=It,h=u.Buffer,d=Vs,m=d.inspect,_=m&&m.custom||"inspect";function p(I,B,T){h.prototype.copy.call(I,B,T)}return Xi=function(){function I(){n(this,I),this.head=null,this.tail=null,this.length=0}return s(I,[{key:"push",value:function(T){var R={data:T,next:null};this.length>0?this.tail.next=R:this.head=R,this.tail=R,++this.length}},{key:"unshift",value:function(T){var R={data:T,next:this.head};this.length===0&&(this.tail=R),this.head=R,++this.length}},{key:"shift",value:function(){if(this.length!==0){var T=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,T}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(T){if(this.length===0)return"";for(var R=this.head,U=""+R.data;R=R.next;)U+=T+R.data;return U}},{key:"concat",value:function(T){if(this.length===0)return h.alloc(0);for(var R=h.allocUnsafe(T>>>0),U=this.head,x=0;U;)p(U.data,R,x),x+=U.data.length,U=U.next;return R}},{key:"consume",value:function(T,R){var U;return T<this.head.data.length?(U=this.head.data.slice(0,T),this.head.data=this.head.data.slice(T)):T===this.head.data.length?U=this.shift():U=R?this._getString(T):this._getBuffer(T),U}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(T){var R=this.head,U=1,x=R.data;for(T-=x.length;R=R.next;){var g=R.data,S=T>g.length?g.length:T;if(S===g.length?x+=g:x+=g.slice(0,T),T-=S,T===0){S===g.length?(++U,R.next?this.head=R.next:this.head=this.tail=null):(this.head=R,R.data=g.slice(S));break}++U}return this.length-=U,x}},{key:"_getBuffer",value:function(T){var R=h.allocUnsafe(T),U=this.head,x=1;for(U.data.copy(R),T-=U.data.length;U=U.next;){var g=U.data,S=T>g.length?g.length:T;if(g.copy(R,R.length-T,0,S),T-=S,T===0){S===g.length?(++x,U.next?this.head=U.next:this.head=this.tail=null):(this.head=U,U.data=g.slice(S));break}++x}return this.length-=x,R}},{key:_,value:function(T,R){return m(this,t(t({},R),{},{depth:0,customInspect:!1}))}}]),I}(),Xi}function Jl(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(vs,this,e)):process.nextTick(vs,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(s){!t&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(Qn,r):(r._writableState.errorEmitted=!0,process.nextTick(Oo,r,s)):process.nextTick(Oo,r,s):t?(process.nextTick(Qn,r),t(s)):process.nextTick(Qn,r)}),this)}function Oo(e,t){vs(e,t),Qn(e)}function Qn(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function Ql(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function vs(e,t){e.emit("error",t)}function Zl(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}var nc={destroy:Jl,undestroy:Ql,errorOrDestroy:Zl},yr={};function eh(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var ic={};function tt(e,t,r){r||(r=Error);function n(s,o,a){return typeof t=="string"?t:t(s,o,a)}var i=function(s){eh(o,s);function o(a,u,h){return s.call(this,n(a,u,h))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,ic[e]=i}function Ro(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:r===2?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}else return"of ".concat(t," ").concat(String(e))}function th(e,t,r){return e.substr(0,t.length)===t}function rh(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function nh(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}tt("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);tt("ERR_INVALID_ARG_TYPE",function(e,t,r){var n;typeof t=="string"&&th(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";var i;if(rh(e," argument"))i="The ".concat(e," ").concat(n," ").concat(Ro(t,"type"));else{var s=nh(e,".")?"property":"argument";i='The "'.concat(e,'" ').concat(s," ").concat(n," ").concat(Ro(t,"type"))}return i+=". Received type ".concat(typeof r),i},TypeError);tt("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");tt("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});tt("ERR_STREAM_PREMATURE_CLOSE","Premature close");tt("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});tt("ERR_MULTIPLE_CALLBACK","Callback called multiple times");tt("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");tt("ERR_STREAM_WRITE_AFTER_END","write after end");tt("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);tt("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);tt("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");yr.codes=ic;var ih=yr.codes.ERR_INVALID_OPT_VALUE;function sh(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function oh(e,t,r,n){var i=sh(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new ih(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}var sc={getHighWaterMark:oh},ah=ch;function ch(e,t){if(Ji("noDeprecation"))return e;var r=!1;function n(){if(!r){if(Ji("throwDeprecation"))throw new Error(t);Ji("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function Ji(e){try{if(!zt.localStorage)return!1}catch{return!1}var t=zt.localStorage[e];return t==null?!1:String(t).toLowerCase()==="true"}var Qi,Co;function oc(){if(Co)return Qi;Co=1,Qi=M;function e(k){var A=this;this.next=null,this.entry=null,this.finish=function(){pt(A,k)}}var t;M.WritableState=E;var r={deprecate:ah},n=rc,i=It.Buffer,s=(typeof zt<"u"?zt:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(k){return i.from(k)}function a(k){return i.isBuffer(k)||k instanceof s}var u=nc,h=sc,d=h.getHighWaterMark,m=yr.codes,_=m.ERR_INVALID_ARG_TYPE,p=m.ERR_METHOD_NOT_IMPLEMENTED,I=m.ERR_MULTIPLE_CALLBACK,B=m.ERR_STREAM_CANNOT_PIPE,T=m.ERR_STREAM_DESTROYED,R=m.ERR_STREAM_NULL_VALUES,U=m.ERR_STREAM_WRITE_AFTER_END,x=m.ERR_UNKNOWN_ENCODING,g=u.errorOrDestroy;Oe(M,n);function S(){}function E(k,A,F){t=t||Hr(),k=k||{},typeof F!="boolean"&&(F=A instanceof t),this.objectMode=!!k.objectMode,F&&(this.objectMode=this.objectMode||!!k.writableObjectMode),this.highWaterMark=d(this,k,"writableHighWaterMark",F),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var q=k.decodeStrings===!1;this.decodeStrings=!q,this.defaultEncoding=k.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Y){ve(A,Y)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=k.emitClose!==!1,this.autoDestroy=!!k.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}E.prototype.getBuffer=function(){for(var A=this.bufferedRequest,F=[];A;)F.push(A),A=A.next;return F},function(){try{Object.defineProperty(E.prototype,"buffer",{get:r.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var H;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(H=Function.prototype[Symbol.hasInstance],Object.defineProperty(M,Symbol.hasInstance,{value:function(A){return H.call(this,A)?!0:this!==M?!1:A&&A._writableState instanceof E}})):H=function(A){return A instanceof this};function M(k){t=t||Hr();var A=this instanceof t;if(!A&&!H.call(M,this))return new M(k);this._writableState=new E(k,this,A),this.writable=!0,k&&(typeof k.write=="function"&&(this._write=k.write),typeof k.writev=="function"&&(this._writev=k.writev),typeof k.destroy=="function"&&(this._destroy=k.destroy),typeof k.final=="function"&&(this._final=k.final)),n.call(this)}M.prototype.pipe=function(){g(this,new B)};function O(k,A){var F=new U;g(k,F),process.nextTick(A,F)}function K(k,A,F,q){var Y;return F===null?Y=new R:typeof F!="string"&&!A.objectMode&&(Y=new _("chunk",["string","Buffer"],F)),Y?(g(k,Y),process.nextTick(q,Y),!1):!0}M.prototype.write=function(k,A,F){var q=this._writableState,Y=!1,b=!q.objectMode&&a(k);return b&&!i.isBuffer(k)&&(k=o(k)),typeof A=="function"&&(F=A,A=null),b?A="buffer":A||(A=q.defaultEncoding),typeof F!="function"&&(F=S),q.ending?O(this,F):(b||K(this,q,k,F))&&(q.pendingcb++,Y=j(this,q,b,k,A,F)),Y},M.prototype.cork=function(){this._writableState.corked++},M.prototype.uncork=function(){var k=this._writableState;k.corked&&(k.corked--,!k.writing&&!k.corked&&!k.bufferProcessing&&k.bufferedRequest&&qe(this,k))},M.prototype.setDefaultEncoding=function(A){if(typeof A=="string"&&(A=A.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((A+"").toLowerCase())>-1))throw new x(A);return this._writableState.defaultEncoding=A,this},Object.defineProperty(M.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function C(k,A,F){return!k.objectMode&&k.decodeStrings!==!1&&typeof A=="string"&&(A=i.from(A,F)),A}Object.defineProperty(M.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function j(k,A,F,q,Y,b){if(!F){var w=C(A,q,Y);q!==w&&(F=!0,Y="buffer",q=w)}var N=A.objectMode?1:q.length;A.length+=N;var D=A.length<A.highWaterMark;if(D||(A.needDrain=!0),A.writing||A.corked){var pe=A.lastBufferedRequest;A.lastBufferedRequest={chunk:q,encoding:Y,isBuf:F,callback:b,next:null},pe?pe.next=A.lastBufferedRequest:A.bufferedRequest=A.lastBufferedRequest,A.bufferedRequestCount+=1}else G(k,A,!1,N,q,Y,b);return D}function G(k,A,F,q,Y,b,w){A.writelen=q,A.writecb=w,A.writing=!0,A.sync=!0,A.destroyed?A.onwrite(new T("write")):F?k._writev(Y,A.onwrite):k._write(Y,b,A.onwrite),A.sync=!1}function V(k,A,F,q,Y){--A.pendingcb,F?(process.nextTick(Y,q),process.nextTick(We,k,A),k._writableState.errorEmitted=!0,g(k,q)):(Y(q),k._writableState.errorEmitted=!0,g(k,q),We(k,A))}function ee(k){k.writing=!1,k.writecb=null,k.length-=k.writelen,k.writelen=0}function ve(k,A){var F=k._writableState,q=F.sync,Y=F.writecb;if(typeof Y!="function")throw new I;if(ee(F),A)V(k,F,q,A,Y);else{var b=Ot(F)||k.destroyed;!b&&!F.corked&&!F.bufferProcessing&&F.bufferedRequest&&qe(k,F),q?process.nextTick(ze,k,F,b,Y):ze(k,F,b,Y)}}function ze(k,A,F,q){F||rt(k,A),A.pendingcb--,q(),We(k,A)}function rt(k,A){A.length===0&&A.needDrain&&(A.needDrain=!1,k.emit("drain"))}function qe(k,A){A.bufferProcessing=!0;var F=A.bufferedRequest;if(k._writev&&F&&F.next){var q=A.bufferedRequestCount,Y=new Array(q),b=A.corkedRequestsFree;b.entry=F;for(var w=0,N=!0;F;)Y[w]=F,F.isBuf||(N=!1),F=F.next,w+=1;Y.allBuffers=N,G(k,A,!0,A.length,Y,"",b.finish),A.pendingcb++,A.lastBufferedRequest=null,b.next?(A.corkedRequestsFree=b.next,b.next=null):A.corkedRequestsFree=new e(A),A.bufferedRequestCount=0}else{for(;F;){var D=F.chunk,pe=F.encoding,X=F.callback,re=A.objectMode?1:D.length;if(G(k,A,!1,re,D,pe,X),F=F.next,A.bufferedRequestCount--,A.writing)break}F===null&&(A.lastBufferedRequest=null)}A.bufferedRequest=F,A.bufferProcessing=!1}M.prototype._write=function(k,A,F){F(new p("_write()"))},M.prototype._writev=null,M.prototype.end=function(k,A,F){var q=this._writableState;return typeof k=="function"?(F=k,k=null,A=null):typeof A=="function"&&(F=A,A=null),k!=null&&this.write(k,A),q.corked&&(q.corked=1,this.uncork()),q.ending||Rt(this,q,F),this},Object.defineProperty(M.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function Ot(k){return k.ending&&k.length===0&&k.bufferedRequest===null&&!k.finished&&!k.writing}function de(k,A){k._final(function(F){A.pendingcb--,F&&g(k,F),A.prefinished=!0,k.emit("prefinish"),We(k,A)})}function Ee(k,A){!A.prefinished&&!A.finalCalled&&(typeof k._final=="function"&&!A.destroyed?(A.pendingcb++,A.finalCalled=!0,process.nextTick(de,k,A)):(A.prefinished=!0,k.emit("prefinish")))}function We(k,A){var F=Ot(A);if(F&&(Ee(k,A),A.pendingcb===0&&(A.finished=!0,k.emit("finish"),A.autoDestroy))){var q=k._readableState;(!q||q.autoDestroy&&q.endEmitted)&&k.destroy()}return F}function Rt(k,A,F){A.ending=!0,We(k,A),F&&(A.finished?process.nextTick(F):k.once("finish",F)),A.ended=!0,k.writable=!1}function pt(k,A,F){var q=k.entry;for(k.entry=null;q;){var Y=q.callback;A.pendingcb--,Y(F),q=q.next}A.corkedRequestsFree.next=k}return Object.defineProperty(M.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(A){this._writableState&&(this._writableState.destroyed=A)}}),M.prototype.destroy=u.destroy,M.prototype._undestroy=u.undestroy,M.prototype._destroy=function(k,A){A(k)},Qi}var Zi,Uo;function Hr(){if(Uo)return Zi;Uo=1;var e=Object.keys||function(h){var d=[];for(var m in h)d.push(m);return d};Zi=o;var t=cc(),r=oc();Oe(o,t);for(var n=e(r.prototype),i=0;i<n.length;i++){var s=n[i];o.prototype[s]||(o.prototype[s]=r.prototype[s])}function o(h){if(!(this instanceof o))return new o(h);t.call(this,h),r.call(this,h),this.allowHalfOpen=!0,h&&(h.readable===!1&&(this.readable=!1),h.writable===!1&&(this.writable=!1),h.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",a)))}Object.defineProperty(o.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(o.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(o.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function a(){this._writableState.ended||process.nextTick(u,this)}function u(h){h.end()}return Object.defineProperty(o.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(d){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=d,this._writableState.destroyed=d)}}),Zi}var ri={},zs=Ve.Buffer,Lo=zs.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function fh(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function uh(e){var t=fh(e);if(typeof t!="string"&&(zs.isEncoding===Lo||!Lo(e)))throw new Error("Unknown encoding: "+e);return t||e}ri.StringDecoder=xn;function xn(e){this.encoding=uh(e);var t;switch(this.encoding){case"utf16le":this.text=mh,this.end=bh,t=4;break;case"utf8":this.fillLast=dh,t=4;break;case"base64":this.text=wh,this.end=gh,t=3;break;default:this.write=_h,this.end=vh;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=zs.allocUnsafe(t)}xn.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""};xn.prototype.end=yh;xn.prototype.text=ph;xn.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function es(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function lh(e,t,r){var n=t.length-1;if(n<r)return 0;var i=es(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=es(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=es(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function hh(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"�"}}function dh(e){var t=this.lastTotal-this.lastNeed,r=hh(this,e);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function ph(e,t){var r=lh(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function yh(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function mh(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function bh(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function wh(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function gh(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function _h(e){return e.toString(this.encoding)}function vh(e){return e&&e.length?this.write(e):""}var No=yr.codes.ERR_STREAM_PREMATURE_CLOSE;function Eh(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function xh(){}function Sh(e){return e.setHeader&&typeof e.abort=="function"}function ac(e,t,r){if(typeof t=="function")return ac(e,null,t);t||(t={}),r=Eh(r||xh);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,s=function(){e.writable||a()},o=e._writableState&&e._writableState.finished,a=function(){i=!1,o=!0,n||r.call(e)},u=e._readableState&&e._readableState.endEmitted,h=function(){n=!1,u=!0,i||r.call(e)},d=function(I){r.call(e,I)},m=function(){var I;if(n&&!u)return(!e._readableState||!e._readableState.ended)&&(I=new No),r.call(e,I);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(I=new No),r.call(e,I)},_=function(){e.req.on("finish",a)};return Sh(e)?(e.on("complete",a),e.on("abort",m),e.req?_():e.on("request",_)):i&&!e._writableState&&(e.on("end",s),e.on("close",s)),e.on("end",h),e.on("finish",a),t.error!==!1&&e.on("error",d),e.on("close",m),function(){e.removeListener("complete",a),e.removeListener("abort",m),e.removeListener("request",_),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",h),e.removeListener("error",d),e.removeListener("close",m)}}var qs=ac,ts,Fo;function Ah(){if(Fo)return ts;Fo=1;var e;function t(x,g,S){return g=r(g),g in x?Object.defineProperty(x,g,{value:S,enumerable:!0,configurable:!0,writable:!0}):x[g]=S,x}function r(x){var g=n(x,"string");return typeof g=="symbol"?g:String(g)}function n(x,g){if(typeof x!="object"||x===null)return x;var S=x[Symbol.toPrimitive];if(S!==void 0){var E=S.call(x,g);if(typeof E!="object")return E;throw new TypeError("@@toPrimitive must return a primitive value.")}return(g==="string"?String:Number)(x)}var i=qs,s=Symbol("lastResolve"),o=Symbol("lastReject"),a=Symbol("error"),u=Symbol("ended"),h=Symbol("lastPromise"),d=Symbol("handlePromise"),m=Symbol("stream");function _(x,g){return{value:x,done:g}}function p(x){var g=x[s];if(g!==null){var S=x[m].read();S!==null&&(x[h]=null,x[s]=null,x[o]=null,g(_(S,!1)))}}function I(x){process.nextTick(p,x)}function B(x,g){return function(S,E){x.then(function(){if(g[u]){S(_(void 0,!0));return}g[d](S,E)},E)}}var T=Object.getPrototypeOf(function(){}),R=Object.setPrototypeOf((e={get stream(){return this[m]},next:function(){var g=this,S=this[a];if(S!==null)return Promise.reject(S);if(this[u])return Promise.resolve(_(void 0,!0));if(this[m].destroyed)return new Promise(function(O,K){process.nextTick(function(){g[a]?K(g[a]):O(_(void 0,!0))})});var E=this[h],H;if(E)H=new Promise(B(E,this));else{var M=this[m].read();if(M!==null)return Promise.resolve(_(M,!1));H=new Promise(this[d])}return this[h]=H,H}},t(e,Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var g=this;return new Promise(function(S,E){g[m].destroy(null,function(H){if(H){E(H);return}S(_(void 0,!0))})})}),e),T),U=function(g){var S,E=Object.create(R,(S={},t(S,m,{value:g,writable:!0}),t(S,s,{value:null,writable:!0}),t(S,o,{value:null,writable:!0}),t(S,a,{value:null,writable:!0}),t(S,u,{value:g._readableState.endEmitted,writable:!0}),t(S,d,{value:function(M,O){var K=E[m].read();K?(E[h]=null,E[s]=null,E[o]=null,M(_(K,!1))):(E[s]=M,E[o]=O)},writable:!0}),S));return E[h]=null,i(g,function(H){if(H&&H.code!=="ERR_STREAM_PREMATURE_CLOSE"){var M=E[o];M!==null&&(E[h]=null,E[s]=null,E[o]=null,M(H)),E[a]=H;return}var O=E[s];O!==null&&(E[h]=null,E[s]=null,E[o]=null,O(_(void 0,!0))),E[u]=!0}),g.on("readable",I.bind(null,E)),E};return ts=U,ts}var rs,Ho;function kh(){return Ho||(Ho=1,rs=function(){throw new Error("Readable.from is not available in the browser")}),rs}var ns,Mo;function cc(){if(Mo)return ns;Mo=1,ns=O;var e;O.ReadableState=M,tc.EventEmitter;var t=function(w,N){return w.listeners(N).length},r=rc,n=It.Buffer,i=(typeof zt<"u"?zt:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function s(b){return n.from(b)}function o(b){return n.isBuffer(b)||b instanceof i}var a=Vs,u;a&&a.debuglog?u=a.debuglog("stream"):u=function(){};var h=Xl(),d=nc,m=sc,_=m.getHighWaterMark,p=yr.codes,I=p.ERR_INVALID_ARG_TYPE,B=p.ERR_STREAM_PUSH_AFTER_EOF,T=p.ERR_METHOD_NOT_IMPLEMENTED,R=p.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,U,x,g;Oe(O,r);var S=d.errorOrDestroy,E=["error","close","destroy","pause","resume"];function H(b,w,N){if(typeof b.prependListener=="function")return b.prependListener(w,N);!b._events||!b._events[w]?b.on(w,N):Array.isArray(b._events[w])?b._events[w].unshift(N):b._events[w]=[N,b._events[w]]}function M(b,w,N){e=e||Hr(),b=b||{},typeof N!="boolean"&&(N=w instanceof e),this.objectMode=!!b.objectMode,N&&(this.objectMode=this.objectMode||!!b.readableObjectMode),this.highWaterMark=_(this,b,"readableHighWaterMark",N),this.buffer=new h,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=b.emitClose!==!1,this.autoDestroy=!!b.autoDestroy,this.destroyed=!1,this.defaultEncoding=b.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,b.encoding&&(U||(U=ri.StringDecoder),this.decoder=new U(b.encoding),this.encoding=b.encoding)}function O(b){if(e=e||Hr(),!(this instanceof O))return new O(b);var w=this instanceof e;this._readableState=new M(b,this,w),this.readable=!0,b&&(typeof b.read=="function"&&(this._read=b.read),typeof b.destroy=="function"&&(this._destroy=b.destroy)),r.call(this)}Object.defineProperty(O.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(w){this._readableState&&(this._readableState.destroyed=w)}}),O.prototype.destroy=d.destroy,O.prototype._undestroy=d.undestroy,O.prototype._destroy=function(b,w){w(b)},O.prototype.push=function(b,w){var N=this._readableState,D;return N.objectMode?D=!0:typeof b=="string"&&(w=w||N.defaultEncoding,w!==N.encoding&&(b=n.from(b,w),w=""),D=!0),K(this,b,w,!1,D)},O.prototype.unshift=function(b){return K(this,b,null,!0,!1)};function K(b,w,N,D,pe){u("readableAddChunk",w);var X=b._readableState;if(w===null)X.reading=!1,ve(b,X);else{var re;if(pe||(re=j(X,w)),re)S(b,re);else if(X.objectMode||w&&w.length>0)if(typeof w!="string"&&!X.objectMode&&Object.getPrototypeOf(w)!==n.prototype&&(w=s(w)),D)X.endEmitted?S(b,new R):C(b,X,w,!0);else if(X.ended)S(b,new B);else{if(X.destroyed)return!1;X.reading=!1,X.decoder&&!N?(w=X.decoder.write(w),X.objectMode||w.length!==0?C(b,X,w,!1):qe(b,X)):C(b,X,w,!1)}else D||(X.reading=!1,qe(b,X))}return!X.ended&&(X.length<X.highWaterMark||X.length===0)}function C(b,w,N,D){w.flowing&&w.length===0&&!w.sync?(w.awaitDrain=0,b.emit("data",N)):(w.length+=w.objectMode?1:N.length,D?w.buffer.unshift(N):w.buffer.push(N),w.needReadable&&ze(b)),qe(b,w)}function j(b,w){var N;return!o(w)&&typeof w!="string"&&w!==void 0&&!b.objectMode&&(N=new I("chunk",["string","Buffer","Uint8Array"],w)),N}O.prototype.isPaused=function(){return this._readableState.flowing===!1},O.prototype.setEncoding=function(b){U||(U=ri.StringDecoder);var w=new U(b);this._readableState.decoder=w,this._readableState.encoding=this._readableState.decoder.encoding;for(var N=this._readableState.buffer.head,D="";N!==null;)D+=w.write(N.data),N=N.next;return this._readableState.buffer.clear(),D!==""&&this._readableState.buffer.push(D),this._readableState.length=D.length,this};var G=1073741824;function V(b){return b>=G?b=G:(b--,b|=b>>>1,b|=b>>>2,b|=b>>>4,b|=b>>>8,b|=b>>>16,b++),b}function ee(b,w){return b<=0||w.length===0&&w.ended?0:w.objectMode?1:b!==b?w.flowing&&w.length?w.buffer.head.data.length:w.length:(b>w.highWaterMark&&(w.highWaterMark=V(b)),b<=w.length?b:w.ended?w.length:(w.needReadable=!0,0))}O.prototype.read=function(b){u("read",b),b=parseInt(b,10);var w=this._readableState,N=b;if(b!==0&&(w.emittedReadable=!1),b===0&&w.needReadable&&((w.highWaterMark!==0?w.length>=w.highWaterMark:w.length>0)||w.ended))return u("read: emitReadable",w.length,w.ended),w.length===0&&w.ended?F(this):ze(this),null;if(b=ee(b,w),b===0&&w.ended)return w.length===0&&F(this),null;var D=w.needReadable;u("need readable",D),(w.length===0||w.length-b<w.highWaterMark)&&(D=!0,u("length less than watermark",D)),w.ended||w.reading?(D=!1,u("reading or ended",D)):D&&(u("do read"),w.reading=!0,w.sync=!0,w.length===0&&(w.needReadable=!0),this._read(w.highWaterMark),w.sync=!1,w.reading||(b=ee(N,w)));var pe;return b>0?pe=A(b,w):pe=null,pe===null?(w.needReadable=w.length<=w.highWaterMark,b=0):(w.length-=b,w.awaitDrain=0),w.length===0&&(w.ended||(w.needReadable=!0),N!==b&&w.ended&&F(this)),pe!==null&&this.emit("data",pe),pe};function ve(b,w){if(u("onEofChunk"),!w.ended){if(w.decoder){var N=w.decoder.end();N&&N.length&&(w.buffer.push(N),w.length+=w.objectMode?1:N.length)}w.ended=!0,w.sync?ze(b):(w.needReadable=!1,w.emittedReadable||(w.emittedReadable=!0,rt(b)))}}function ze(b){var w=b._readableState;u("emitReadable",w.needReadable,w.emittedReadable),w.needReadable=!1,w.emittedReadable||(u("emitReadable",w.flowing),w.emittedReadable=!0,process.nextTick(rt,b))}function rt(b){var w=b._readableState;u("emitReadable_",w.destroyed,w.length,w.ended),!w.destroyed&&(w.length||w.ended)&&(b.emit("readable"),w.emittedReadable=!1),w.needReadable=!w.flowing&&!w.ended&&w.length<=w.highWaterMark,k(b)}function qe(b,w){w.readingMore||(w.readingMore=!0,process.nextTick(Ot,b,w))}function Ot(b,w){for(;!w.reading&&!w.ended&&(w.length<w.highWaterMark||w.flowing&&w.length===0);){var N=w.length;if(u("maybeReadMore read 0"),b.read(0),N===w.length)break}w.readingMore=!1}O.prototype._read=function(b){S(this,new T("_read()"))},O.prototype.pipe=function(b,w){var N=this,D=this._readableState;switch(D.pipesCount){case 0:D.pipes=b;break;case 1:D.pipes=[D.pipes,b];break;default:D.pipes.push(b);break}D.pipesCount+=1,u("pipe count=%d opts=%j",D.pipesCount,w);var pe=(!w||w.end!==!1)&&b!==process.stdout&&b!==process.stderr,X=pe?Ct:Zt;D.endEmitted?process.nextTick(X):N.once("end",X),b.on("unpipe",re);function re(l,c){u("onunpipe"),l===N&&c&&c.hasUnpiped===!1&&(c.hasUnpiped=!0,wr())}function Ct(){u("onend"),b.end()}var br=de(N);b.on("drain",br);var Gr=!1;function wr(){u("cleanup"),b.removeListener("close",Vr),b.removeListener("finish",Je),b.removeListener("drain",br),b.removeListener("error",Qt),b.removeListener("unpipe",re),N.removeListener("end",Ct),N.removeListener("end",Zt),N.removeListener("data",Ke),Gr=!0,D.awaitDrain&&(!b._writableState||b._writableState.needDrain)&&br()}N.on("data",Ke);function Ke(l){u("ondata");var c=b.write(l);u("dest.write",c),c===!1&&((D.pipesCount===1&&D.pipes===b||D.pipesCount>1&&Y(D.pipes,b)!==-1)&&!Gr&&(u("false write response, pause",D.awaitDrain),D.awaitDrain++),N.pause())}function Qt(l){u("onerror",l),Zt(),b.removeListener("error",Qt),t(b,"error")===0&&S(b,l)}H(b,"error",Qt);function Vr(){b.removeListener("finish",Je),Zt()}b.once("close",Vr);function Je(){u("onfinish"),b.removeListener("close",Vr),Zt()}b.once("finish",Je);function Zt(){u("unpipe"),N.unpipe(b)}return b.emit("pipe",N),D.flowing||(u("pipe resume"),N.resume()),b};function de(b){return function(){var N=b._readableState;u("pipeOnDrain",N.awaitDrain),N.awaitDrain&&N.awaitDrain--,N.awaitDrain===0&&t(b,"data")&&(N.flowing=!0,k(b))}}O.prototype.unpipe=function(b){var w=this._readableState,N={hasUnpiped:!1};if(w.pipesCount===0)return this;if(w.pipesCount===1)return b&&b!==w.pipes?this:(b||(b=w.pipes),w.pipes=null,w.pipesCount=0,w.flowing=!1,b&&b.emit("unpipe",this,N),this);if(!b){var D=w.pipes,pe=w.pipesCount;w.pipes=null,w.pipesCount=0,w.flowing=!1;for(var X=0;X<pe;X++)D[X].emit("unpipe",this,{hasUnpiped:!1});return this}var re=Y(w.pipes,b);return re===-1?this:(w.pipes.splice(re,1),w.pipesCount-=1,w.pipesCount===1&&(w.pipes=w.pipes[0]),b.emit("unpipe",this,N),this)},O.prototype.on=function(b,w){var N=r.prototype.on.call(this,b,w),D=this._readableState;return b==="data"?(D.readableListening=this.listenerCount("readable")>0,D.flowing!==!1&&this.resume()):b==="readable"&&!D.endEmitted&&!D.readableListening&&(D.readableListening=D.needReadable=!0,D.flowing=!1,D.emittedReadable=!1,u("on readable",D.length,D.reading),D.length?ze(this):D.reading||process.nextTick(We,this)),N},O.prototype.addListener=O.prototype.on,O.prototype.removeListener=function(b,w){var N=r.prototype.removeListener.call(this,b,w);return b==="readable"&&process.nextTick(Ee,this),N},O.prototype.removeAllListeners=function(b){var w=r.prototype.removeAllListeners.apply(this,arguments);return(b==="readable"||b===void 0)&&process.nextTick(Ee,this),w};function Ee(b){var w=b._readableState;w.readableListening=b.listenerCount("readable")>0,w.resumeScheduled&&!w.paused?w.flowing=!0:b.listenerCount("data")>0&&b.resume()}function We(b){u("readable nexttick read 0"),b.read(0)}O.prototype.resume=function(){var b=this._readableState;return b.flowing||(u("resume"),b.flowing=!b.readableListening,Rt(this,b)),b.paused=!1,this};function Rt(b,w){w.resumeScheduled||(w.resumeScheduled=!0,process.nextTick(pt,b,w))}function pt(b,w){u("resume",w.reading),w.reading||b.read(0),w.resumeScheduled=!1,b.emit("resume"),k(b),w.flowing&&!w.reading&&b.read(0)}O.prototype.pause=function(){return u("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(u("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function k(b){var w=b._readableState;for(u("flow",w.flowing);w.flowing&&b.read()!==null;);}O.prototype.wrap=function(b){var w=this,N=this._readableState,D=!1;b.on("end",function(){if(u("wrapped end"),N.decoder&&!N.ended){var re=N.decoder.end();re&&re.length&&w.push(re)}w.push(null)}),b.on("data",function(re){if(u("wrapped data"),N.decoder&&(re=N.decoder.write(re)),!(N.objectMode&&re==null)&&!(!N.objectMode&&(!re||!re.length))){var Ct=w.push(re);Ct||(D=!0,b.pause())}});for(var pe in b)this[pe]===void 0&&typeof b[pe]=="function"&&(this[pe]=function(Ct){return function(){return b[Ct].apply(b,arguments)}}(pe));for(var X=0;X<E.length;X++)b.on(E[X],this.emit.bind(this,E[X]));return this._read=function(re){u("wrapped _read",re),D&&(D=!1,b.resume())},this},typeof Symbol=="function"&&(O.prototype[Symbol.asyncIterator]=function(){return x===void 0&&(x=Ah()),x(this)}),Object.defineProperty(O.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(O.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(O.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(w){this._readableState&&(this._readableState.flowing=w)}}),O._fromList=A,Object.defineProperty(O.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function A(b,w){if(w.length===0)return null;var N;return w.objectMode?N=w.buffer.shift():!b||b>=w.length?(w.decoder?N=w.buffer.join(""):w.buffer.length===1?N=w.buffer.first():N=w.buffer.concat(w.length),w.buffer.clear()):N=w.buffer.consume(b,w.decoder),N}function F(b){var w=b._readableState;u("endReadable",w.endEmitted),w.endEmitted||(w.ended=!0,process.nextTick(q,w,b))}function q(b,w){if(u("endReadableNT",b.endEmitted,b.length),!b.endEmitted&&b.length===0&&(b.endEmitted=!0,w.readable=!1,w.emit("end"),b.autoDestroy)){var N=w._writableState;(!N||N.autoDestroy&&N.finished)&&w.destroy()}}typeof Symbol=="function"&&(O.from=function(b,w){return g===void 0&&(g=kh()),g(O,b,w)});function Y(b,w){for(var N=0,D=b.length;N<D;N++)if(b[N]===w)return N;return-1}return ns}var fc=Bt,gi=yr.codes,Th=gi.ERR_METHOD_NOT_IMPLEMENTED,Bh=gi.ERR_MULTIPLE_CALLBACK,Ih=gi.ERR_TRANSFORM_ALREADY_TRANSFORMING,Ph=gi.ERR_TRANSFORM_WITH_LENGTH_0,_i=Hr();Oe(Bt,_i);function Oh(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new Bh);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Bt(e){if(!(this instanceof Bt))return new Bt(e);_i.call(this,e),this._transformState={afterTransform:Oh.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform=="function"&&(this._transform=e.transform),typeof e.flush=="function"&&(this._flush=e.flush)),this.on("prefinish",Rh)}function Rh(){var e=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(t,r){Do(e,t,r)}):Do(this,null,null)}Bt.prototype.push=function(e,t){return this._transformState.needTransform=!1,_i.prototype.push.call(this,e,t)};Bt.prototype._transform=function(e,t,r){r(new Th("_transform()"))};Bt.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Bt.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Bt.prototype._destroy=function(e,t){_i.prototype._destroy.call(this,e,function(r){t(r)})};function Do(e,t,r){if(t)return e.emit("error",t);if(r!=null&&e.push(r),e._writableState.length)throw new Ph;if(e._transformState.transforming)throw new Ih;return e.push(null)}var Ch=bn,uc=fc;Oe(bn,uc);function bn(e){if(!(this instanceof bn))return new bn(e);uc.call(this,e)}bn.prototype._transform=function(e,t,r){r(null,e)};var is;function Uh(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var lc=yr.codes,Lh=lc.ERR_MISSING_ARGS,Nh=lc.ERR_STREAM_DESTROYED;function $o(e){if(e)throw e}function Fh(e){return e.setHeader&&typeof e.abort=="function"}function Hh(e,t,r,n){n=Uh(n);var i=!1;e.on("close",function(){i=!0}),is===void 0&&(is=qs),is(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var s=!1;return function(o){if(!i&&!s){if(s=!0,Fh(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(o||new Nh("pipe"))}}}function jo(e){e()}function Mh(e,t){return e.pipe(t)}function Dh(e){return!e.length||typeof e[e.length-1]!="function"?$o:e.pop()}function $h(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=Dh(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Lh("streams");var i,s=t.map(function(o,a){var u=a<t.length-1,h=a>0;return Hh(o,u,h,function(d){i||(i=d),d&&s.forEach(jo),!u&&(s.forEach(jo),n(i))})});return t.reduce(Mh)}var jh=$h;(function(e,t){t=e.exports=cc(),t.Stream=t,t.Readable=t,t.Writable=oc(),t.Duplex=Hr(),t.Transform=fc,t.PassThrough=Ch,t.finished=qs,t.pipeline=jh})(_s,_s.exports);var hc=_s.exports,ni=Ve.Buffer,dc=hc.Transform,Gh=Oe;function Vh(e,t){if(!ni.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Yt(e){dc.call(this),this._block=ni.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}Gh(Yt,dc);Yt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Yt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Yt.prototype.update=function(e,t){if(Vh(e,"Data"),this._finalized)throw new Error("Digest already called");ni.isBuffer(e)||(e=ni.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};Yt.prototype._update=function(){throw new Error("_update is not implemented")};Yt.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};Yt.prototype._digest=function(){throw new Error("_digest is not implemented")};var zh=Yt,qh=Oe,pc=zh,Wh=Ve.Buffer,Kh=new Array(16);function vi(){pc.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}qh(vi,pc);vi.prototype._update=function(){for(var e=Kh,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a,n=this._b,i=this._c,s=this._d;r=Re(r,n,i,s,e[0],3614090360,7),s=Re(s,r,n,i,e[1],3905402710,12),i=Re(i,s,r,n,e[2],606105819,17),n=Re(n,i,s,r,e[3],3250441966,22),r=Re(r,n,i,s,e[4],4118548399,7),s=Re(s,r,n,i,e[5],1200080426,12),i=Re(i,s,r,n,e[6],2821735955,17),n=Re(n,i,s,r,e[7],4249261313,22),r=Re(r,n,i,s,e[8],1770035416,7),s=Re(s,r,n,i,e[9],2336552879,12),i=Re(i,s,r,n,e[10],4294925233,17),n=Re(n,i,s,r,e[11],2304563134,22),r=Re(r,n,i,s,e[12],1804603682,7),s=Re(s,r,n,i,e[13],4254626195,12),i=Re(i,s,r,n,e[14],2792965006,17),n=Re(n,i,s,r,e[15],1236535329,22),r=Ce(r,n,i,s,e[1],4129170786,5),s=Ce(s,r,n,i,e[6],3225465664,9),i=Ce(i,s,r,n,e[11],643717713,14),n=Ce(n,i,s,r,e[0],3921069994,20),r=Ce(r,n,i,s,e[5],3593408605,5),s=Ce(s,r,n,i,e[10],38016083,9),i=Ce(i,s,r,n,e[15],3634488961,14),n=Ce(n,i,s,r,e[4],3889429448,20),r=Ce(r,n,i,s,e[9],568446438,5),s=Ce(s,r,n,i,e[14],3275163606,9),i=Ce(i,s,r,n,e[3],4107603335,14),n=Ce(n,i,s,r,e[8],1163531501,20),r=Ce(r,n,i,s,e[13],2850285829,5),s=Ce(s,r,n,i,e[2],4243563512,9),i=Ce(i,s,r,n,e[7],1735328473,14),n=Ce(n,i,s,r,e[12],2368359562,20),r=Ue(r,n,i,s,e[5],4294588738,4),s=Ue(s,r,n,i,e[8],2272392833,11),i=Ue(i,s,r,n,e[11],1839030562,16),n=Ue(n,i,s,r,e[14],4259657740,23),r=Ue(r,n,i,s,e[1],2763975236,4),s=Ue(s,r,n,i,e[4],1272893353,11),i=Ue(i,s,r,n,e[7],4139469664,16),n=Ue(n,i,s,r,e[10],3200236656,23),r=Ue(r,n,i,s,e[13],681279174,4),s=Ue(s,r,n,i,e[0],3936430074,11),i=Ue(i,s,r,n,e[3],3572445317,16),n=Ue(n,i,s,r,e[6],76029189,23),r=Ue(r,n,i,s,e[9],3654602809,4),s=Ue(s,r,n,i,e[12],3873151461,11),i=Ue(i,s,r,n,e[15],530742520,16),n=Ue(n,i,s,r,e[2],3299628645,23),r=Le(r,n,i,s,e[0],4096336452,6),s=Le(s,r,n,i,e[7],1126891415,10),i=Le(i,s,r,n,e[14],2878612391,15),n=Le(n,i,s,r,e[5],4237533241,21),r=Le(r,n,i,s,e[12],1700485571,6),s=Le(s,r,n,i,e[3],2399980690,10),i=Le(i,s,r,n,e[10],4293915773,15),n=Le(n,i,s,r,e[1],2240044497,21),r=Le(r,n,i,s,e[8],1873313359,6),s=Le(s,r,n,i,e[15],4264355552,10),i=Le(i,s,r,n,e[6],2734768916,15),n=Le(n,i,s,r,e[13],1309151649,21),r=Le(r,n,i,s,e[4],4149444226,6),s=Le(s,r,n,i,e[11],3174756917,10),i=Le(i,s,r,n,e[2],718787259,15),n=Le(n,i,s,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+s|0};vi.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=Wh.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e};function Ei(e,t){return e<<t|e>>>32-t}function Re(e,t,r,n,i,s,o){return Ei(e+(t&r|~t&n)+i+s|0,o)+t|0}function Ce(e,t,r,n,i,s,o){return Ei(e+(t&n|r&~n)+i+s|0,o)+t|0}function Ue(e,t,r,n,i,s,o){return Ei(e+(t^r^n)+i+s|0,o)+t|0}function Le(e,t,r,n,i,s,o){return Ei(e+(r^(t|~n))+i+s|0,o)+t|0}var Yh=vi,ii=Ve.Buffer,yc=hc.Transform,Xh=Oe;function Jh(e,t){if(!ii.isBuffer(e)&&typeof e!="string")throw new TypeError(t+" must be a string or a buffer")}function Xt(e){yc.call(this),this._block=ii.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}Xh(Xt,yc);Xt.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(i){n=i}r(n)};Xt.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(r){t=r}e(t)};Xt.prototype.update=function(e,t){if(Jh(e,"Data"),this._finalized)throw new Error("Digest already called");ii.isBuffer(e)||(e=ii.from(e,t));for(var r=this._block,n=0;this._blockOffset+e.length-n>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)r[i++]=e[n++];this._update(),this._blockOffset=0}for(;n<e.length;)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s)this._length[s]+=o,o=this._length[s]/4294967296|0,o>0&&(this._length[s]-=4294967296*o);return this};Xt.prototype._update=function(){throw new Error("_update is not implemented")};Xt.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();e!==void 0&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};Xt.prototype._digest=function(){throw new Error("_digest is not implemented")};var Qh=Xt,ss=It.Buffer,Zh=Oe,mc=Qh,ed=new Array(16),Xr=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Jr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Qr=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Zr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],en=[0,1518500249,1859775393,2400959708,2840853838],tn=[1352829926,1548603684,1836072691,2053994217,0];function xi(){mc.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}Zh(xi,mc);xi.prototype._update=function(){for(var e=ed,t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);for(var r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._a|0,u=this._b|0,h=this._c|0,d=this._d|0,m=this._e|0,_=0;_<80;_+=1){var p,I;_<16?(p=Go(r,n,i,s,o,e[Xr[_]],en[0],Qr[_]),I=Wo(a,u,h,d,m,e[Jr[_]],tn[0],Zr[_])):_<32?(p=Vo(r,n,i,s,o,e[Xr[_]],en[1],Qr[_]),I=qo(a,u,h,d,m,e[Jr[_]],tn[1],Zr[_])):_<48?(p=zo(r,n,i,s,o,e[Xr[_]],en[2],Qr[_]),I=zo(a,u,h,d,m,e[Jr[_]],tn[2],Zr[_])):_<64?(p=qo(r,n,i,s,o,e[Xr[_]],en[3],Qr[_]),I=Vo(a,u,h,d,m,e[Jr[_]],tn[3],Zr[_])):(p=Wo(r,n,i,s,o,e[Xr[_]],en[4],Qr[_]),I=Go(a,u,h,d,m,e[Jr[_]],tn[4],Zr[_])),r=o,o=s,s=cr(i,10),i=n,n=p,a=m,m=d,d=cr(h,10),h=u,u=I}var B=this._b+i+d|0;this._b=this._c+s+m|0,this._c=this._d+o+a|0,this._d=this._e+r+u|0,this._e=this._a+n+h|0,this._a=B};xi.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=ss.alloc?ss.alloc(20):new ss(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e};function cr(e,t){return e<<t|e>>>32-t}function Go(e,t,r,n,i,s,o,a){return cr(e+(t^r^n)+s+o|0,a)+i|0}function Vo(e,t,r,n,i,s,o,a){return cr(e+(t&r|~t&n)+s+o|0,a)+i|0}function zo(e,t,r,n,i,s,o,a){return cr(e+((t|~r)^n)+s+o|0,a)+i|0}function qo(e,t,r,n,i,s,o,a){return cr(e+(t&n|r&~n)+s+o|0,a)+i|0}function Wo(e,t,r,n,i,s,o,a){return cr(e+(t^(r|~n))+s+o|0,a)+i|0}var td=xi,bc={exports:{}},wc=Ve.Buffer;function Si(e,t){this._block=wc.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}Si.prototype.update=function(e,t){typeof e=="string"&&(t=t||"utf8",e=wc.from(e,t));for(var r=this._block,n=this._blockSize,i=e.length,s=this._len,o=0;o<i;){for(var a=s%n,u=Math.min(i-o,n-a),h=0;h<u;h++)r[a+h]=e[o+h];s+=u,o+=u,s%n===0&&this._update(r)}return this._len+=i,this};Si.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var s=this._hash();return e?s.toString(e):s};Si.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var Dr=Si,rd=Oe,gc=Dr,nd=Ve.Buffer,id=[1518500249,1859775393,-1894007588,-899497514],sd=new Array(80);function Sn(){this.init(),this._w=sd,gc.call(this,64,56)}rd(Sn,gc);Sn.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function od(e){return e<<5|e>>>27}function ad(e){return e<<30|e>>>2}function cd(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}Sn.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=t[a-3]^t[a-8]^t[a-14]^t[a-16];for(var u=0;u<80;++u){var h=~~(u/20),d=od(r)+cd(h,n,i,s)+o+t[u]+id[h]|0;o=s,s=i,i=ad(n),n=r,r=d}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};Sn.prototype._hash=function(){var e=nd.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var fd=Sn,ud=Oe,_c=Dr,ld=Ve.Buffer,hd=[1518500249,1859775393,-1894007588,-899497514],dd=new Array(80);function An(){this.init(),this._w=dd,_c.call(this,64,56)}ud(An,_c);An.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function pd(e){return e<<1|e>>>31}function yd(e){return e<<5|e>>>27}function md(e){return e<<30|e>>>2}function bd(e,t,r,n){return e===0?t&r|~t&n:e===2?t&r|t&n|r&n:t^r^n}An.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=0;a<16;++a)t[a]=e.readInt32BE(a*4);for(;a<80;++a)t[a]=pd(t[a-3]^t[a-8]^t[a-14]^t[a-16]);for(var u=0;u<80;++u){var h=~~(u/20),d=yd(r)+bd(h,n,i,s)+o+t[u]+hd[h]|0;o=s,s=i,i=md(n),n=r,r=d}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0};An.prototype._hash=function(){var e=ld.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e};var wd=An,gd=Oe,vc=Dr,_d=Ve.Buffer,vd=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],Ed=new Array(64);function kn(){this.init(),this._w=Ed,vc.call(this,64,56)}gd(kn,vc);kn.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function xd(e,t,r){return r^e&(t^r)}function Sd(e,t,r){return e&t|r&(e|t)}function Ad(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function kd(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function Td(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function Bd(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}kn.prototype._update=function(e){for(var t=this._w,r=this._a|0,n=this._b|0,i=this._c|0,s=this._d|0,o=this._e|0,a=this._f|0,u=this._g|0,h=this._h|0,d=0;d<16;++d)t[d]=e.readInt32BE(d*4);for(;d<64;++d)t[d]=Bd(t[d-2])+t[d-7]+Td(t[d-15])+t[d-16]|0;for(var m=0;m<64;++m){var _=h+kd(o)+xd(o,a,u)+vd[m]+t[m]|0,p=Ad(r)+Sd(r,n,i)|0;h=u,u=a,a=o,o=s+_|0,s=i,i=n,n=r,r=_+p|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=s+this._d|0,this._e=o+this._e|0,this._f=a+this._f|0,this._g=u+this._g|0,this._h=h+this._h|0};kn.prototype._hash=function(){var e=_d.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e};var Ec=kn,Id=Oe,Pd=Ec,Od=Dr,Rd=Ve.Buffer,Cd=new Array(64);function Ai(){this.init(),this._w=Cd,Od.call(this,64,56)}Id(Ai,Pd);Ai.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this};Ai.prototype._hash=function(){var e=Rd.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e};var Ud=Ai,Ld=Oe,xc=Dr,Nd=Ve.Buffer,Ko=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],Fd=new Array(160);function Tn(){this.init(),this._w=Fd,xc.call(this,128,112)}Ld(Tn,xc);Tn.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Yo(e,t,r){return r^e&(t^r)}function Xo(e,t,r){return e&t|r&(e|t)}function Jo(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function Qo(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function Hd(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function Md(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function Dd(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function $d(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function Te(e,t){return e>>>0<t>>>0?1:0}Tn.prototype._update=function(e){for(var t=this._w,r=this._ah|0,n=this._bh|0,i=this._ch|0,s=this._dh|0,o=this._eh|0,a=this._fh|0,u=this._gh|0,h=this._hh|0,d=this._al|0,m=this._bl|0,_=this._cl|0,p=this._dl|0,I=this._el|0,B=this._fl|0,T=this._gl|0,R=this._hl|0,U=0;U<32;U+=2)t[U]=e.readInt32BE(U*4),t[U+1]=e.readInt32BE(U*4+4);for(;U<160;U+=2){var x=t[U-30],g=t[U-15*2+1],S=Hd(x,g),E=Md(g,x);x=t[U-2*2],g=t[U-2*2+1];var H=Dd(x,g),M=$d(g,x),O=t[U-7*2],K=t[U-7*2+1],C=t[U-16*2],j=t[U-16*2+1],G=E+K|0,V=S+O+Te(G,E)|0;G=G+M|0,V=V+H+Te(G,M)|0,G=G+j|0,V=V+C+Te(G,j)|0,t[U]=V,t[U+1]=G}for(var ee=0;ee<160;ee+=2){V=t[ee],G=t[ee+1];var ve=Xo(r,n,i),ze=Xo(d,m,_),rt=Jo(r,d),qe=Jo(d,r),Ot=Qo(o,I),de=Qo(I,o),Ee=Ko[ee],We=Ko[ee+1],Rt=Yo(o,a,u),pt=Yo(I,B,T),k=R+de|0,A=h+Ot+Te(k,R)|0;k=k+pt|0,A=A+Rt+Te(k,pt)|0,k=k+We|0,A=A+Ee+Te(k,We)|0,k=k+G|0,A=A+V+Te(k,G)|0;var F=qe+ze|0,q=rt+ve+Te(F,qe)|0;h=u,R=T,u=a,T=B,a=o,B=I,I=p+k|0,o=s+A+Te(I,p)|0,s=i,p=_,i=n,_=m,n=r,m=d,d=k+F|0,r=A+q+Te(d,k)|0}this._al=this._al+d|0,this._bl=this._bl+m|0,this._cl=this._cl+_|0,this._dl=this._dl+p|0,this._el=this._el+I|0,this._fl=this._fl+B|0,this._gl=this._gl+T|0,this._hl=this._hl+R|0,this._ah=this._ah+r+Te(this._al,d)|0,this._bh=this._bh+n+Te(this._bl,m)|0,this._ch=this._ch+i+Te(this._cl,_)|0,this._dh=this._dh+s+Te(this._dl,p)|0,this._eh=this._eh+o+Te(this._el,I)|0,this._fh=this._fh+a+Te(this._fl,B)|0,this._gh=this._gh+u+Te(this._gl,T)|0,this._hh=this._hh+h+Te(this._hl,R)|0};Tn.prototype._hash=function(){var e=Nd.allocUnsafe(64);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e};var Sc=Tn,jd=Oe,Gd=Sc,Vd=Dr,zd=Ve.Buffer,qd=new Array(160);function ki(){this.init(),this._w=qd,Vd.call(this,128,112)}jd(ki,Gd);ki.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this};ki.prototype._hash=function(){var e=zd.allocUnsafe(48);function t(r,n,i){e.writeInt32BE(r,i),e.writeInt32BE(n,i+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e};var Wd=ki,mr=bc.exports=function(t){t=t.toLowerCase();var r=mr[t];if(!r)throw new Error(t+" is not supported (we accept pull requests)");return new r};mr.sha=fd;mr.sha1=wd;mr.sha224=Ud;mr.sha256=Ec;mr.sha384=Wd;mr.sha512=Sc;var Kd=bc.exports,lt=Ve.Buffer,Ac=Vs.Transform,Yd=ri.StringDecoder,Xd=Oe;function it(e){Ac.call(this),this.hashMode=typeof e=="string",this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}Xd(it,Ac);var Jd=typeof Uint8Array<"u",Qd=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&ArrayBuffer.isView&&(lt.prototype instanceof Uint8Array||lt.TYPED_ARRAY_SUPPORT);function Zd(e,t){if(e instanceof lt)return e;if(typeof e=="string")return lt.from(e,t);if(Qd&&ArrayBuffer.isView(e)){if(e.byteLength===0)return lt.alloc(0);var r=lt.from(e.buffer,e.byteOffset,e.byteLength);if(r.byteLength===e.byteLength)return r}if(Jd&&e instanceof Uint8Array||lt.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e))return lt.from(e);throw new TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}it.prototype.update=function(e,t,r){var n=Zd(e,t),i=this._update(n);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)};it.prototype.setAutoPadding=function(){};it.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};it.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};it.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};it.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(i){n=i}finally{r(n)}};it.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(r){t=r}e(t)};it.prototype._finalOrDigest=function(e){var t=this.__final()||lt.alloc(0);return e&&(t=this._toString(t,e,!0)),t};it.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new Yd(t),this._encoding=t),this._encoding!==t)throw new Error("can’t switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n};var e0=it,t0=Oe,r0=Yh,n0=td,i0=Kd,kc=e0;function Ti(e){kc.call(this,"digest"),this._hash=e}t0(Ti,kc);Ti.prototype._update=function(e){this._hash.update(e)};Ti.prototype._final=function(){return this._hash.digest()};var s0=function(t){return t=t.toLowerCase(),t==="md5"?new r0:t==="rmd160"||t==="ripemd160"?new n0:new Ti(i0(t))},Dn=Ve.Buffer;function o0(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=n}var o=e.length,a=e.charAt(0),u=Math.log(o)/Math.log(256),h=Math.log(256)/Math.log(o);function d(p){if((Array.isArray(p)||p instanceof Uint8Array)&&(p=Dn.from(p)),!Dn.isBuffer(p))throw new TypeError("Expected Buffer");if(p.length===0)return"";for(var I=0,B=0,T=0,R=p.length;T!==R&&p[T]===0;)T++,I++;for(var U=(R-T)*h+1>>>0,x=new Uint8Array(U);T!==R;){for(var g=p[T],S=0,E=U-1;(g!==0||S<B)&&E!==-1;E--,S++)g+=256*x[E]>>>0,x[E]=g%o>>>0,g=g/o>>>0;if(g!==0)throw new Error("Non-zero carry");B=S,T++}for(var H=U-B;H!==U&&x[H]===0;)H++;for(var M=a.repeat(I);H<U;++H)M+=e.charAt(x[H]);return M}function m(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return Dn.alloc(0);for(var I=0,B=0,T=0;p[I]===a;)B++,I++;for(var R=(p.length-I)*u+1>>>0,U=new Uint8Array(R);I<p.length;){var x=p.charCodeAt(I);if(x>255)return;var g=t[x];if(g===255)return;for(var S=0,E=R-1;(g!==0||S<T)&&E!==-1;E--,S++)g+=o*U[E]>>>0,U[E]=g%256>>>0,g=g/256>>>0;if(g!==0)throw new Error("Non-zero carry");T=S,I++}for(var H=R-T;H!==R&&U[H]===0;)H++;var M=Dn.allocUnsafe(B+(R-H));M.fill(0,0,B);for(var O=B;H!==R;)M[O++]=U[H++];return M}function _(p){var I=m(p);if(I)return I;throw new Error("Non-base"+o+" character")}return{encode:d,decodeUnsafe:m,decode:_}}var a0=o0,c0=a0,f0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",u0=c0(f0),os=u0,l0=Ve.Buffer,h0=function(e){function t(s){var o=e(s);return os.encode(l0.concat([s,o],s.length+4))}function r(s){var o=s.slice(0,-4),a=s.slice(-4),u=e(o);if(!(a[0]^u[0]|a[1]^u[1]|a[2]^u[2]|a[3]^u[3]))return o}function n(s){var o=os.decodeUnsafe(s);if(o)return r(o)}function i(s){var o=os.decode(s),a=r(o);if(!a)throw new Error("Invalid checksum");return a}return{encode:t,decode:i,decodeUnsafe:n}},Zo=s0,d0=h0;function p0(e){var t=Zo("sha256").update(e).digest();return Zo("sha256").update(t).digest()}var y0=d0(p0),Es=y0;function Tc(e,t){if(t!==void 0&&e[0]!==t)throw new Error("Invalid network version");if(e.length===33)return{version:e[0],privateKey:e.slice(1,33),compressed:!1};if(e.length!==34)throw new Error("Invalid WIF length");if(e[33]!==1)throw new Error("Invalid compression flag");return{version:e[0],privateKey:e.slice(1,33),compressed:!0}}function xs(e,t,r){var n=new Buffer(r?34:33);return n.writeUInt8(e,0),t.copy(n,1),r&&(n[33]=1),n}function m0(e,t){return Tc(Es.decode(e),t)}function b0(e,t,r){return typeof e=="number"?Es.encode(xs(e,t,r)):Es.encode(xs(e.version,e.privateKey,e.compressed))}var w0={decode:m0,decodeRaw:Tc,encode:b0,encodeRaw:xs},Bi={};Object.defineProperty(Bi,"__esModule",{value:!0});Bi.testEcc=void 0;const W=e=>Buffer.from(e,"hex");function g0(e){ue(e.isPoint(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(!e.isPoint(W("030000000000000000000000000000000000000000000000000000000000000005"))),ue(e.isPrivate(W("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ue(!e.isPrivate(W("0000000000000000000000000000000000000000000000000000000000000000"))),ue(!e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))),ue(!e.isPrivate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))),ue(Buffer.from(e.privateAdd(W("0000000000000000000000000000000000000000000000000000000000000001"),W("0000000000000000000000000000000000000000000000000000000000000000"))).equals(W("0000000000000000000000000000000000000000000000000000000000000001"))),ue(e.privateAdd(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"),W("0000000000000000000000000000000000000000000000000000000000000003"))===null),ue(Buffer.from(e.privateAdd(W("e211078564db65c3ce7704f08262b1f38f1ef412ad15b5ac2d76657a63b2c500"),W("b51fbb69051255d1becbd683de5848242a89c229348dd72896a87ada94ae8665"))).equals(W("9730c2ee69edbb958d42db7460bafa18fef9d955325aec99044c81c8282b0a24"))),ue(Buffer.from(e.privateNegate(W("0000000000000000000000000000000000000000000000000000000000000001"))).equals(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))),ue(Buffer.from(e.privateNegate(W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"))).equals(W("0000000000000000000000000000000000000000000000000000000000000003"))),ue(Buffer.from(e.privateNegate(W("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(W("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792"))),ue(Buffer.from(e.pointCompress(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!0)).equals(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(Buffer.from(e.pointCompress(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"),!1)).equals(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ue(Buffer.from(e.pointCompress(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!0)).equals(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))),ue(Buffer.from(e.pointCompress(W("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),!1)).equals(W("0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"))),ue(Buffer.from(e.pointFromScalar(W("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af"))).equals(W("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99"))),ue(e.xOnlyPointAddTweak(W("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))===null);let t=e.xOnlyPointAddTweak(W("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"),W("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));ue(Buffer.from(t.xOnlyPubkey).equals(W("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf"))&&t.parity===1),t=e.xOnlyPointAddTweak(W("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"),W("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47")),ue(Buffer.from(t.xOnlyPubkey).equals(W("9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c"))&&t.parity===0),ue(Buffer.from(e.sign(W("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),W("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))).equals(W("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),ue(e.verify(W("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"),W("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),W("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))),e.signSchnorr&&ue(Buffer.from(e.signSchnorr(W("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),W("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"),W("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906"))).equals(W("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7"))),e.verifySchnorr&&ue(e.verifySchnorr(W("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"),W("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"),W("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")))}Bi.testEcc=g0;function ue(e){if(!e)throw new Error("ecc library invalid")}Object.defineProperty(Nr,"__esModule",{value:!0});Nr.ECPairFactory=Nr.networks=void 0;const Ss=Fr;Nr.networks=Ss;const $e=qa,_0=$l,ea=w0,v0=Bi,as=$e.typeforce.maybe($e.typeforce.compile({compressed:$e.maybe($e.Boolean),network:$e.maybe($e.Network)})),E0=e=>e.length===32?e:e.slice(1,33);function x0(e){(0,v0.testEcc)(e);function t(a){return e.isPoint(a)}function r(a,u){if($e.typeforce($e.Buffer256bit,a),!e.isPrivate(a))throw new TypeError("Private key not in range [1, n)");return $e.typeforce(as,u),new o(a,void 0,u)}function n(a,u){return $e.typeforce(e.isPoint,a),$e.typeforce(as,u),new o(void 0,a,u)}function i(a,u){const h=ea.decode(a),d=h.version;if($e.Array(u)){if(u=u.filter(m=>d===m.wif).pop(),!u)throw new Error("Unknown network version")}else if(u=u||Ss.bitcoin,d!==u.wif)throw new Error("Invalid network version");return r(h.privateKey,{compressed:h.compressed,network:u})}function s(a){$e.typeforce(as,a),a===void 0&&(a={});const u=a.rng||_0;let h;do h=u(32),$e.typeforce($e.Buffer256bit,h);while(!e.isPrivate(h));return r(h,a)}class o{constructor(u,h,d){gr(this,"__D");gr(this,"__Q");gr(this,"compressed");gr(this,"network");gr(this,"lowR");this.__D=u,this.__Q=h,this.lowR=!1,d===void 0&&(d={}),this.compressed=d.compressed===void 0?!0:d.compressed,this.network=d.network||Ss.bitcoin,h!==void 0&&(this.__Q=Buffer.from(e.pointCompress(h,this.compressed)))}get privateKey(){return this.__D}get publicKey(){if(!this.__Q){const u=e.pointFromScalar(this.__D,this.compressed);this.__Q=Buffer.from(u)}return this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return ea.encode(this.network.wif,this.__D,this.compressed)}tweak(u){return this.privateKey?this.tweakFromPrivateKey(u):this.tweakFromPublicKey(u)}sign(u,h){if(!this.__D)throw new Error("Missing private key");if(h===void 0&&(h=this.lowR),h===!1)return Buffer.from(e.sign(u,this.__D));{let d=e.sign(u,this.__D);const m=Buffer.alloc(32,0);let _=0;for(;d[0]>127;)_++,m.writeUIntLE(_,0,6),d=e.sign(u,this.__D,m);return Buffer.from(d)}}signSchnorr(u){if(!this.privateKey)throw new Error("Missing private key");if(!e.signSchnorr)throw new Error("signSchnorr not supported by ecc library");return Buffer.from(e.signSchnorr(u,this.privateKey))}verify(u,h){return e.verify(u,this.publicKey,h)}verifySchnorr(u,h){if(!e.verifySchnorr)throw new Error("verifySchnorr not supported by ecc library");return e.verifySchnorr(u,this.publicKey.subarray(1,33),h)}tweakFromPublicKey(u){const h=E0(this.publicKey),d=e.xOnlyPointAddTweak(h,u);if(!d||d.xOnlyPubkey===null)throw new Error("Cannot tweak public key!");const m=Buffer.from([d.parity===0?2:3]);return n(Buffer.concat([m,d.xOnlyPubkey]),{network:this.network,compressed:this.compressed})}tweakFromPrivateKey(u){const d=this.publicKey[0]===3||this.publicKey[0]===4&&(this.publicKey[64]&1)===1?e.privateNegate(this.privateKey):this.privateKey,m=e.privateAdd(d,u);if(!m)throw new Error("Invalid tweaked private key!");return r(Buffer.from(m),{network:this.network,compressed:this.compressed})}}return{isPoint:t,fromPrivateKey:r,fromPublicKey:n,fromWIF:i,makeRandom:s}}Nr.ECPairFactory=x0;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.networks=e.ECPairFactory=e.default=void 0;var t=Nr;Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"ECPairFactory",{enumerable:!0,get:function(){return t.ECPairFactory}}),Object.defineProperty(e,"networks",{enumerable:!0,get:function(){return t.networks}})})(za);const S0=If(za);class wn extends z.EventBroker{get isInitialized(){return!!this.digestKey}constructor(t,r){super(),this.digestKey=t,this.walletClient=r}static fromDigestKey(t){return new wn(rr(t))}static fromWalletClient(t){return new wn(void 0,t)}async initialize(){if(this.digestKey)return ne("Already initialized");const t=await this.deriveDigestKeyFromWalletClient();return t.error?$(t.error):(this.emit("initialized",!0),ne("Initialized"))}async deriveDigestKeyFromWalletClient(){if(!this.walletClient)return $("No walletClient found");if(!this.walletClient.account)return $("No account found");try{const t=await this.walletClient.signTypedData({account:this.walletClient.account,types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"}],Data:[{name:"Message",type:"string"},{name:"Version",type:"string"},{name:"Nonce",type:"uint256"}]},domain:{name:"GARDEN FINANCE",version:"1"},primaryType:"Data",message:{Message:"Initialize your account",Version:"1.0.2",Nonce:1n}});return this.digestKey=rr(Et.sha256(t)),this.emit("initialized",!0),ne(this.digestKey)}catch(t){return $("Failed to initialize: "+t)}}async getDigestKey(){if(!this.digestKey&&!this.walletClient)return $("No private key or wallet client found");if(!this.digestKey&&this.walletClient){const t=await this.deriveDigestKeyFromWalletClient();if(t.error)return $(t.error)}return this.digestKey?ne(this.digestKey):$("No private key found")}async generateSecret(t){const r=await this.signMessage(t);if(r.error)return $(r.error);const n=Et.sha256(z.with0x(r.val)),i=Et.sha256(n);return ne({secret:n,secretHash:i})}async signMessage(t){if(!this.digestKey){const h=await this.getDigestKey();if(h.error)return $(h.error);this.digestKey=h.val}const r=S0(sr),n="Garden.fi"+t.toString(),i=Buffer.from(n,"utf8"),s=Et.sha256(i),o=Buffer.from(rr(this.digestKey),"hex");if(o.length!==32)return $("Invalid private key length. Expected 32 bytes.");const u=r.fromPrivateKey(o).sign(Buffer.from(rr(s),"hex"));return ne(u.toString("hex"))}}const A0=[{inputs:[{internalType:"address",name:"token_",type:"address"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Initiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"secretHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"secret",type:"bytes"}],name:"Redeemed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"Refunded",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"}],name:"initiate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"initiateWithSignature",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"instantRefund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes32",name:"secretHash",type:"bytes32"},{internalType:"bytes",name:"signature",type:"bytes"}],internalType:"struct HTLC.InitWithSig[]",name:"inits",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],internalType:"struct HTLC.Redeem[]",name:"redeems",type:"tuple[]"},{components:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],internalType:"struct HTLC.Refund[]",name:"refunds",type:"tuple[]"}],name:"multicall",outputs:[{internalType:"bool[]",name:"results",type:"bool[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orders",outputs:[{internalType:"bool",name:"isFulfilled",type:"bool"},{internalType:"address",name:"initiator",type:"address"},{internalType:"address",name:"redeemer",type:"address"},{internalType:"uint256",name:"initiatedAt",type:"uint256"},{internalType:"uint256",name:"timelock",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"},{internalType:"bytes",name:"secret",type:"bytes"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"orderID",type:"bytes32"}],name:"refund",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"}];function dt(e){return{formatters:void 0,fees:void 0,serializers:void 0,...e}}const Bc="2.26.3";let rn={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${Bc}`};class he extends Error{constructor(t,r={}){var a;const n=(()=>{var u;return r.cause instanceof he?r.cause.details:(u=r.cause)!=null&&u.message?r.cause.message:r.details})(),i=r.cause instanceof he&&r.cause.docsPath||r.docsPath,s=(a=rn.getDocsUrl)==null?void 0:a.call(rn,{...r,docsPath:i}),o=[t||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...n?[`Details: ${n}`]:[],...rn.version?[`Version: ${rn.version}`]:[]].join(`
32
+ `);super(o,r.cause?{cause:r.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=i,this.metaMessages=r.metaMessages,this.name=r.name??this.name,this.shortMessage=t,this.version=Bc}walk(t){return Ic(this,t)}}function Ic(e,t){return t!=null&&t(e)?e:e&&typeof e=="object"&&"cause"in e&&e.cause!==void 0?Ic(e.cause,t):t?null:e}class k0 extends he{constructor({max:t,min:r,signed:n,size:i,value:s}){super(`Number "${s}" is not in safe ${i?`${i*8}-bit ${n?"signed":"unsigned"} `:""}integer range ${t?`(${r} to ${t})`:`(above ${r})`}`,{name:"IntegerOutOfRangeError"})}}class T0 extends he{constructor({givenSize:t,maxSize:r}){super(`Size cannot exceed ${r} bytes. Given size: ${t} bytes.`,{name:"SizeOverflowError"})}}function Bn(e,{strict:t=!0}={}){return!e||typeof e!="string"?!1:t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")}function Mr(e){return Bn(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function si(e,{dir:t="left"}={}){let r=typeof e=="string"?e.replace("0x",""):e,n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),typeof e=="string"?(r.length===1&&t==="right"&&(r=`${r}0`),`0x${r.length%2===1?`0${r}`:r}`):r}class B0 extends he{constructor({offset:t,position:r,size:n}){super(`Slice ${r==="start"?"starting":"ending"} at offset "${t}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}}class Pc extends he{constructor({size:t,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${t}) exceeds padding size (${r}).`,{name:"SizeExceedsPaddingSizeError"})}}function $r(e,{dir:t,size:r=32}={}){return typeof e=="string"?I0(e,{dir:t,size:r}):P0(e,{dir:t,size:r})}function I0(e,{dir:t,size:r=32}={}){if(r===null)return e;const n=e.replace("0x","");if(n.length>r*2)throw new Pc({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function P0(e,{dir:t,size:r=32}={}){if(r===null)return e;if(e.length>r)throw new Pc({size:e.length,targetSize:r,type:"bytes"});const n=new Uint8Array(r);for(let i=0;i<r;i++){const s=t==="right";n[s?i:r-i-1]=e[s?i:e.length-i-1]}return n}const O0=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Q(e,t={}){return typeof e=="number"||typeof e=="bigint"?Oc(e,t):typeof e=="string"?U0(e,t):typeof e=="boolean"?R0(e,t):Jt(e,t)}function R0(e,t={}){const r=`0x${Number(e)}`;return typeof t.size=="number"?(jr(r,{size:t.size}),$r(r,{size:t.size})):r}function Jt(e,t={}){let r="";for(let i=0;i<e.length;i++)r+=O0[e[i]];const n=`0x${r}`;return typeof t.size=="number"?(jr(n,{size:t.size}),$r(n,{dir:"right",size:t.size})):n}function Oc(e,t={}){const{signed:r,size:n}=t,i=BigInt(e);let s;n?r?s=(1n<<BigInt(n)*8n-1n)-1n:s=2n**(BigInt(n)*8n)-1n:typeof e=="number"&&(s=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof s=="bigint"&&r?-s-1n:0;if(s&&i>s||i<o){const u=typeof e=="bigint"?"n":"";throw new k0({max:s?`${s}${u}`:void 0,min:`${o}${u}`,signed:r,size:n,value:`${e}${u}`})}const a=`0x${(r&&i<0?(1n<<BigInt(n*8))+BigInt(i):i).toString(16)}`;return n?$r(a,{size:n}):a}const C0=new TextEncoder;function U0(e,t={}){const r=C0.encode(e);return Jt(r,t)}const L0=new TextEncoder;function Rc(e,t={}){return typeof e=="number"||typeof e=="bigint"?F0(e,t):typeof e=="boolean"?N0(e,t):Bn(e)?fr(e,t):Cc(e,t)}function N0(e,t={}){const r=new Uint8Array(1);return r[0]=Number(e),typeof t.size=="number"?(jr(r,{size:t.size}),$r(r,{size:t.size})):r}const gt={zero:48,nine:57,A:65,F:70,a:97,f:102};function ta(e){if(e>=gt.zero&&e<=gt.nine)return e-gt.zero;if(e>=gt.A&&e<=gt.F)return e-(gt.A-10);if(e>=gt.a&&e<=gt.f)return e-(gt.a-10)}function fr(e,t={}){let r=e;t.size&&(jr(r,{size:t.size}),r=$r(r,{dir:"right",size:t.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);const i=n.length/2,s=new Uint8Array(i);for(let o=0,a=0;o<i;o++){const u=ta(n.charCodeAt(a++)),h=ta(n.charCodeAt(a++));if(u===void 0||h===void 0)throw new he(`Invalid byte sequence ("${n[a-2]}${n[a-1]}" in "${n}").`);s[o]=u*16+h}return s}function F0(e,t){const r=Oc(e,t);return fr(r)}function Cc(e,t={}){const r=L0.encode(e);return typeof t.size=="number"?(jr(r,{size:t.size}),$r(r,{dir:"right",size:t.size})):r}function jr(e,{size:t}){if(Mr(e)>t)throw new T0({givenSize:Mr(e),maxSize:t})}function Tr(e,t={}){const{signed:r}=t;t.size&&jr(e,{size:t.size});const n=BigInt(e);if(!r)return n;const i=(e.length-2)/2,s=(1n<<BigInt(i)*8n-1n)-1n;return n<=s?n:n-BigInt(`0x${"f".padStart(i*2,"f")}`)-1n}function oi(e,t={}){return Number(Tr(e,t))}function Ws(e,t){return({exclude:r,format:n})=>({exclude:r,format:i=>{const s=t(i);if(r)for(const o of r)delete s[o];return{...s,...n(i)}},type:e})}const Uc={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"};function Ks(e){const t={...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,chainId:e.chainId?oi(e.chainId):void 0,gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,maxFeePerBlobGas:e.maxFeePerBlobGas?BigInt(e.maxFeePerBlobGas):void 0,maxFeePerGas:e.maxFeePerGas?BigInt(e.maxFeePerGas):void 0,maxPriorityFeePerGas:e.maxPriorityFeePerGas?BigInt(e.maxPriorityFeePerGas):void 0,nonce:e.nonce?oi(e.nonce):void 0,to:e.to?e.to:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,type:e.type?Uc[e.type]:void 0,typeHex:e.type?e.type:void 0,value:e.value?BigInt(e.value):void 0,v:e.v?BigInt(e.v):void 0};return e.authorizationList&&(t.authorizationList=M0(e.authorizationList)),t.yParity=(()=>{if(e.yParity)return Number(e.yParity);if(typeof t.v=="bigint"){if(t.v===0n||t.v===27n)return 0;if(t.v===1n||t.v===28n)return 1;if(t.v>=35n)return t.v%2n===0n?1:0}})(),t.type==="legacy"&&(delete t.accessList,delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas,delete t.yParity),t.type==="eip2930"&&(delete t.maxFeePerBlobGas,delete t.maxFeePerGas,delete t.maxPriorityFeePerGas),t.type==="eip1559"&&delete t.maxFeePerBlobGas,t}const H0=Ws("transaction",Ks);function M0(e){return e.map(t=>({address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce),r:t.r,s:t.s,yParity:Number(t.yParity)}))}function D0(e){const t=(e.transactions??[]).map(r=>typeof r=="string"?r:Ks(r));return{...e,baseFeePerGas:e.baseFeePerGas?BigInt(e.baseFeePerGas):null,blobGasUsed:e.blobGasUsed?BigInt(e.blobGasUsed):void 0,difficulty:e.difficulty?BigInt(e.difficulty):void 0,excessBlobGas:e.excessBlobGas?BigInt(e.excessBlobGas):void 0,gasLimit:e.gasLimit?BigInt(e.gasLimit):void 0,gasUsed:e.gasUsed?BigInt(e.gasUsed):void 0,hash:e.hash?e.hash:null,logsBloom:e.logsBloom?e.logsBloom:null,nonce:e.nonce?e.nonce:null,number:e.number?BigInt(e.number):null,size:e.size?BigInt(e.size):void 0,timestamp:e.timestamp?BigInt(e.timestamp):void 0,transactions:t,totalDifficulty:e.totalDifficulty?BigInt(e.totalDifficulty):null}}const $0=Ws("block",D0);function j0(e,{args:t,eventName:r}={}){return{...e,blockHash:e.blockHash?e.blockHash:null,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,logIndex:e.logIndex?Number(e.logIndex):null,transactionHash:e.transactionHash?e.transactionHash:null,transactionIndex:e.transactionIndex?Number(e.transactionIndex):null,...r?{args:t,eventName:r}:{}}}const G0={"0x0":"reverted","0x1":"success"};function V0(e){const t={...e,blockNumber:e.blockNumber?BigInt(e.blockNumber):null,contractAddress:e.contractAddress?e.contractAddress:null,cumulativeGasUsed:e.cumulativeGasUsed?BigInt(e.cumulativeGasUsed):null,effectiveGasPrice:e.effectiveGasPrice?BigInt(e.effectiveGasPrice):null,gasUsed:e.gasUsed?BigInt(e.gasUsed):null,logs:e.logs?e.logs.map(r=>j0(r)):null,to:e.to?e.to:null,transactionIndex:e.transactionIndex?oi(e.transactionIndex):null,status:e.status?G0[e.status]:null,type:e.type?Uc[e.type]||e.type:null};return e.blobGasPrice&&(t.blobGasPrice=BigInt(e.blobGasPrice)),e.blobGasUsed&&(t.blobGasUsed=BigInt(e.blobGasUsed)),t}const z0=Ws("transactionReceipt",V0),Ys=2n**256n-1n;function In(e){return`0x${e.reduce((t,r)=>t+r.replace("0x",""),"")}`}class ra extends he{constructor({offset:t}){super(`Offset \`${t}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class q0 extends he{constructor({length:t,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${t}\`).`,{name:"PositionOutOfBoundsError"})}}class W0 extends he{constructor({count:t,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${t}\`).`,{name:"RecursiveReadLimitExceededError"})}}const K0={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new W0({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(e){if(e<0||e>this.bytes.length-1)throw new q0({length:this.bytes.length,position:e})},decrementPosition(e){if(e<0)throw new ra({offset:e});const t=this.position-e;this.assertPosition(t),this.position=t},getReadCount(e){return this.positionReadCount.get(e||this.position)||0},incrementPosition(e){if(e<0)throw new ra({offset:e});const t=this.position+e;this.assertPosition(t),this.position=t},inspectByte(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectBytes(e,t){const r=t??this.position;return this.assertPosition(r+e-1),this.bytes.subarray(r,r+e)},inspectUint8(e){const t=e??this.position;return this.assertPosition(t),this.bytes[t]},inspectUint16(e){const t=e??this.position;return this.assertPosition(t+1),this.dataView.getUint16(t)},inspectUint24(e){const t=e??this.position;return this.assertPosition(t+2),(this.dataView.getUint16(t)<<8)+this.dataView.getUint8(t+2)},inspectUint32(e){const t=e??this.position;return this.assertPosition(t+3),this.dataView.getUint32(t)},pushByte(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushBytes(e){this.assertPosition(this.position+e.length-1),this.bytes.set(e,this.position),this.position+=e.length},pushUint8(e){this.assertPosition(this.position),this.bytes[this.position]=e,this.position++},pushUint16(e){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,e),this.position+=2},pushUint24(e){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,e>>8),this.dataView.setUint8(this.position+2,e&255),this.position+=3},pushUint32(e){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,e),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const e=this.inspectByte();return this.position++,e},readBytes(e,t){this.assertReadLimit(),this._touch();const r=this.inspectBytes(e);return this.position+=t??e,r},readUint8(){this.assertReadLimit(),this._touch();const e=this.inspectUint8();return this.position+=1,e},readUint16(){this.assertReadLimit(),this._touch();const e=this.inspectUint16();return this.position+=2,e},readUint24(){this.assertReadLimit(),this._touch();const e=this.inspectUint24();return this.position+=3,e},readUint32(){this.assertReadLimit(),this._touch();const e=this.inspectUint32();return this.position+=4,e},get remaining(){return this.bytes.length-this.position},setPosition(e){const t=this.position;return this.assertPosition(e),this.position=e,()=>this.position=t},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const e=this.getReadCount();this.positionReadCount.set(this.position,e+1),e>0&&this.recursiveReadCount++}};function Lc(e,{recursiveReadLimit:t=8192}={}){const r=Object.create(K0);return r.bytes=e,r.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength),r.positionReadCount=new Map,r.recursiveReadLimit=t,r}function ur(e,t="hex"){const r=Nc(e),n=Lc(new Uint8Array(r.length));return r.encode(n),t==="hex"?Jt(n.bytes):n.bytes}function Nc(e){return Array.isArray(e)?Y0(e.map(t=>Nc(t))):X0(e)}function Y0(e){const t=e.reduce((i,s)=>i+s.length,0),r=Fc(t);return{length:t<=55?1+t:1+r+t,encode(i){t<=55?i.pushByte(192+t):(i.pushByte(247+r),r===1?i.pushUint8(t):r===2?i.pushUint16(t):r===3?i.pushUint24(t):i.pushUint32(t));for(const{encode:s}of e)s(i)}}}function X0(e){const t=typeof e=="string"?fr(e):e,r=Fc(t.length);return{length:t.length===1&&t[0]<128?1:t.length<=55?1+t.length:1+r+t.length,encode(i){t.length===1&&t[0]<128?i.pushBytes(t):t.length<=55?(i.pushByte(128+t.length),i.pushBytes(t)):(i.pushByte(183+r),r===1?i.pushUint8(t.length):r===2?i.pushUint16(t.length):r===3?i.pushUint24(t.length):i.pushUint32(t.length),i.pushBytes(t))}}}function Fc(e){if(e<2**8)return 1;if(e<2**16)return 2;if(e<2**24)return 3;if(e<2**32)return 4;throw new he("Length is too large.")}const J0={ether:-9,wei:9};function Q0(e,t){let r=e.toString();const n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(t,"0");let[i,s]=[r.slice(0,r.length-t),r.slice(r.length-t)];return s=s.replace(/(0+)$/,""),`${n?"-":""}${i||"0"}${s?`.${s}`:""}`}function As(e,t="wei"){return Q0(e,J0[t])}function Z0(e){const t=Object.entries(e).map(([n,i])=>i===void 0||i===!1?null:[n,i]).filter(Boolean),r=t.reduce((n,[i])=>Math.max(n,i.length),0);return t.map(([n,i])=>` ${`${n}:`.padEnd(r+1)} ${i}`).join(`
33
+ `)}class ep extends he{constructor({v:t}){super(`Invalid \`v\` value "${t}". Expected 27 or 28.`,{name:"InvalidLegacyVError"})}}class tp extends he{constructor({transaction:t}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",Z0(t),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- an EIP-4844 Transaction with `blobs`, `blobVersionedHashes`, `sidecars`, or","- an EIP-7702 Transaction with `authorizationList`, or","- a Legacy Transaction with `gasPrice`"],name:"InvalidSerializableTransactionError"})}}class rp extends he{constructor({storageKey:t}){super(`Size for storage key "${t}" is invalid. Expected 32 bytes. Got ${Math.floor((t.length-2)/2)} bytes.`,{name:"InvalidStorageKeySizeError"})}}function np(e){if(!e||e.length===0)return[];const t=[];for(const r of e){const{chainId:n,nonce:i,...s}=r,o=r.address;t.push([n?Q(n):"0x",o,i?Q(i):"0x",...Pn({},s)])}return t}function Hc(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(s=>fr(s)):e.blobs,i=[];for(const s of n)i.push(Uint8Array.from(t.blobToKzgCommitment(s)));return r==="bytes"?i:i.map(s=>Jt(s))}function Mc(e){const{kzg:t}=e,r=e.to??(typeof e.blobs[0]=="string"?"hex":"bytes"),n=typeof e.blobs[0]=="string"?e.blobs.map(o=>fr(o)):e.blobs,i=typeof e.commitments[0]=="string"?e.commitments.map(o=>fr(o)):e.commitments,s=[];for(let o=0;o<n.length;o++){const a=n[o],u=i[o];s.push(Uint8Array.from(t.computeBlobKzgProof(a,u)))}return r==="bytes"?s:s.map(o=>Jt(o))}function ip(e,t){return Ua(Bn(e,{strict:!1})?Rc(e):e)}function sp(e){const{commitment:t,version:r=1}=e,n=e.to??(typeof t=="string"?"hex":"bytes"),i=ip(t);return i.set([r],0),n==="bytes"?i:Jt(i)}function op(e){const{commitments:t,version:r}=e,n=e.to??(typeof t[0]=="string"?"hex":"bytes"),i=[];for(const s of t)i.push(sp({commitment:s,to:n,version:r}));return i}const na=6,Dc=32,Xs=4096,$c=Dc*Xs,ia=$c*na-1-1*Xs*na,jc=1;class ap extends he{constructor({maxSize:t,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${t} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class Gc extends he{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class cp extends he{constructor({hash:t,size:r}){super(`Versioned hash "${t}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class fp extends he{constructor({hash:t,version:r}){super(`Versioned hash "${t}" version is invalid.`,{metaMessages:[`Expected: ${jc}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}function up(e){const t=e.to??(typeof e.data=="string"?"hex":"bytes"),r=typeof e.data=="string"?fr(e.data):e.data,n=Mr(r);if(!n)throw new Gc;if(n>ia)throw new ap({maxSize:ia,size:n});const i=[];let s=!0,o=0;for(;s;){const a=Lc(new Uint8Array($c));let u=0;for(;u<Xs;){const h=r.slice(o,o+(Dc-1));if(a.pushByte(0),a.pushBytes(h),h.length<31){a.pushByte(128),s=!1;break}u++,o+=31}i.push(a)}return t==="bytes"?i.map(a=>a.bytes):i.map(a=>Jt(a.bytes))}function lp(e){const{data:t,kzg:r,to:n}=e,i=e.blobs??up({data:t,to:n}),s=e.commitments??Hc({blobs:i,kzg:r,to:n}),o=e.proofs??Mc({blobs:i,commitments:s,kzg:r,to:n}),a=[];for(let u=0;u<i.length;u++)a.push({blob:i[u],commitment:s[u],proof:o[u]});return a}class lr extends he{constructor({address:t}){super(`Address "${t}" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class Ii extends he{constructor({chainId:t}){super(typeof t=="number"?`Chain ID "${t}" is invalid.`:"Chain ID is invalid.",{name:"InvalidChainIdError"})}}class Pi extends he{constructor({cause:t,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${As(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:t,name:"FeeCapTooHighError"})}}Object.defineProperty(Pi,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class Vc extends he{constructor({cause:t,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${As(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${As(n)} gwei`:""}).`].join(`
34
+ `),{cause:t,name:"TipAboveFeeCapError"})}}Object.defineProperty(Vc,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});class zc extends Map{constructor(t){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=t}get(t){const r=super.get(t);return super.has(t)&&r!==void 0&&(this.delete(t),super.set(t,r)),r}set(t,r){if(super.set(t,r),this.maxSize&&this.size>this.maxSize){const n=this.keys().next().value;n&&this.delete(n)}return this}}function sa(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function hp(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Js(e,...t){if(!hp(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function oa(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function dp(e,t){Js(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}const $n=BigInt(2**32-1),aa=BigInt(32);function pp(e,t=!1){return t?{h:Number(e&$n),l:Number(e>>aa&$n)}:{h:Number(e>>aa&$n)|0,l:Number(e&$n)|0}}function yp(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){const{h:s,l:o}=pp(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}const mp=(e,t,r)=>e<<r|t>>>32-r,bp=(e,t,r)=>t<<r|e>>>32-r,wp=(e,t,r)=>t<<r-32|e>>>64-r,gp=(e,t,r)=>e<<r-32|t>>>64-r;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function _p(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}const ca=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function vp(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function fa(e){for(let t=0;t<e.length;t++)e[t]=vp(e[t])}function Ep(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function qc(e){return typeof e=="string"&&(e=Ep(e)),Js(e),e}class xp{clone(){return this._cloneInto()}}function Sp(e){const t=n=>e().update(qc(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}const Wc=[],Kc=[],Yc=[],Ap=BigInt(0),nn=BigInt(1),kp=BigInt(2),Tp=BigInt(7),Bp=BigInt(256),Ip=BigInt(113);for(let e=0,t=nn,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],Wc.push(2*(5*n+r)),Kc.push((e+1)*(e+2)/2%64);let i=Ap;for(let s=0;s<7;s++)t=(t<<nn^(t>>Tp)*Ip)%Bp,t&kp&&(i^=nn<<(nn<<BigInt(s))-nn);Yc.push(i)}const[Pp,Op]=yp(Yc,!0),ua=(e,t,r)=>r>32?wp(e,t,r):mp(e,t,r),la=(e,t,r)=>r>32?gp(e,t,r):bp(e,t,r);function Rp(e,t=24){const r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let o=0;o<10;o++)r[o]=e[o]^e[o+10]^e[o+20]^e[o+30]^e[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,u=(o+2)%10,h=r[u],d=r[u+1],m=ua(h,d,1)^r[a],_=la(h,d,1)^r[a+1];for(let p=0;p<50;p+=10)e[o+p]^=m,e[o+p+1]^=_}let i=e[2],s=e[3];for(let o=0;o<24;o++){const a=Kc[o],u=ua(i,s,a),h=la(i,s,a),d=Wc[o];i=e[d],s=e[d+1],e[d]=u,e[d+1]=h}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)r[a]=e[o+a];for(let a=0;a<10;a++)e[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=Pp[n],e[1]^=Op[n]}r.fill(0)}class Qs extends xp{constructor(t,r,n,i=!1,s=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,sa(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=_p(this.state)}keccak(){ca||fa(this.state32),Rp(this.state32,this.rounds),ca||fa(this.state32),this.posOut=0,this.pos=0}update(t){oa(this);const{blockLen:r,state:n}=this;t=qc(t);const i=t.length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);for(let a=0;a<o;a++)n[this.pos++]^=t[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:t,suffix:r,pos:n,blockLen:i}=this;t[n]^=r,r&128&&n===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){oa(this,!1),Js(t),this.finish();const r=this.state,{blockLen:n}=this;for(let i=0,s=t.length;i<s;){this.posOut>=n&&this.keccak();const o=Math.min(n-this.posOut,s-i);t.set(r.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return sa(t),this.xofInto(new Uint8Array(t))}digestInto(t){if(dp(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){const{blockLen:r,suffix:n,outputLen:i,rounds:s,enableXOF:o}=this;return t||(t=new Qs(r,n,i,o,s)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=s,t.suffix=n,t.outputLen=i,t.enableXOF=o,t.destroyed=this.destroyed,t}}const Cp=(e,t,r)=>Sp(()=>new Qs(t,e,r)),Up=Cp(1,136,256/8);function Lp(e,t){return Up(Bn(e,{strict:!1})?Rc(e):e)}const cs=new zc(8192);function Np(e,t){if(cs.has(`${e}.${t}`))return cs.get(`${e}.${t}`);const r=e.substring(2).toLowerCase(),n=Lp(Cc(r)),i=r.split("");for(let o=0;o<40;o+=2)n[o>>1]>>4>=8&&i[o]&&(i[o]=i[o].toUpperCase()),(n[o>>1]&15)>=8&&i[o+1]&&(i[o+1]=i[o+1].toUpperCase());const s=`0x${i.join("")}`;return cs.set(`${e}.${t}`,s),s}const Fp=/^0x[a-fA-F0-9]{40}$/,fs=new zc(8192);function hr(e,t){const{strict:r=!0}=t??{},n=`${e}.${r}`;if(fs.has(n))return fs.get(n);const i=Fp.test(e)?e.toLowerCase()===e?!0:r?Np(e)===e:!0:!1;return fs.set(n,i),i}function Hp(e,t,r,{strict:n}={}){return Bn(e,{strict:!1})?Dp(e,t,r,{strict:n}):Mp(e,t,r,{strict:n})}function Xc(e,t,r){if(Mr(e)!==r-t)throw new B0({offset:r,position:"end",size:Mr(e)})}function Mp(e,t,r,{strict:n}={}){const i=e.slice(t,r);return n&&Xc(i,t,r),i}function Dp(e,t,r,{strict:n}={}){const i=`0x${e.replace("0x","").slice(t*2,r*2)}`;return n&&Xc(i,t,r),i}function $p(e){const{authorizationList:t}=e;if(t)for(const r of t){const{chainId:n}=r,i=r.address;if(!hr(i))throw new lr({address:i});if(n<0)throw new Ii({chainId:n})}Zs(e)}function jp(e){const{blobVersionedHashes:t}=e;if(t){if(t.length===0)throw new Gc;for(const r of t){const n=Mr(r),i=oi(Hp(r,0,1));if(n!==32)throw new cp({hash:r,size:n});if(i!==jc)throw new fp({hash:r,version:i})}}Zs(e)}function Zs(e){const{chainId:t,maxPriorityFeePerGas:r,maxFeePerGas:n,to:i}=e;if(t<=0)throw new Ii({chainId:t});if(i&&!hr(i))throw new lr({address:i});if(n&&n>Ys)throw new Pi({maxFeePerGas:n});if(r&&n&&r>n)throw new Vc({maxFeePerGas:n,maxPriorityFeePerGas:r})}function Gp(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(t<=0)throw new Ii({chainId:t});if(s&&!hr(s))throw new lr({address:s});if(r||i)throw new he("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>Ys)throw new Pi({maxFeePerGas:n})}function Vp(e){const{chainId:t,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:i,to:s}=e;if(s&&!hr(s))throw new lr({address:s});if(typeof t<"u"&&t<=0)throw new Ii({chainId:t});if(r||i)throw new he("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>Ys)throw new Pi({maxFeePerGas:n})}function zp(e){if(e.type)return e.type;if(typeof e.authorizationList<"u")return"eip7702";if(typeof e.blobs<"u"||typeof e.blobVersionedHashes<"u"||typeof e.maxFeePerBlobGas<"u"||typeof e.sidecars<"u")return"eip4844";if(typeof e.maxFeePerGas<"u"||typeof e.maxPriorityFeePerGas<"u")return"eip1559";if(typeof e.gasPrice<"u")return typeof e.accessList<"u"?"eip2930":"legacy";throw new tp({transaction:e})}function Oi(e){if(!e||e.length===0)return[];const t=[];for(let r=0;r<e.length;r++){const{address:n,storageKeys:i}=e[r];for(let s=0;s<i.length;s++)if(i[s].length-2!==64)throw new rp({storageKey:i[s]});if(!hr(n,{strict:!1}))throw new lr({address:n});t.push([n,i])}return t}function qp(e,t){const r=zp(e);return r==="eip1559"?Yp(e,t):r==="eip2930"?Xp(e,t):r==="eip4844"?Kp(e,t):r==="eip7702"?Wp(e,t):Jp(e,t)}function Wp(e,t){const{authorizationList:r,chainId:n,gas:i,nonce:s,to:o,value:a,maxFeePerGas:u,maxPriorityFeePerGas:h,accessList:d,data:m}=e;$p(e);const _=Oi(d),p=np(r);return In(["0x04",ur([Q(n),s?Q(s):"0x",h?Q(h):"0x",u?Q(u):"0x",i?Q(i):"0x",o??"0x",a?Q(a):"0x",m??"0x",_,p,...Pn(e,t)])])}function Kp(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerBlobGas:a,maxFeePerGas:u,maxPriorityFeePerGas:h,accessList:d,data:m}=e;jp(e);let _=e.blobVersionedHashes,p=e.sidecars;if(e.blobs&&(typeof _>"u"||typeof p>"u")){const x=typeof e.blobs[0]=="string"?e.blobs:e.blobs.map(E=>Jt(E)),g=e.kzg,S=Hc({blobs:x,kzg:g});if(typeof _>"u"&&(_=op({commitments:S})),typeof p>"u"){const E=Mc({blobs:x,commitments:S,kzg:g});p=lp({blobs:x,commitments:S,proofs:E})}}const I=Oi(d),B=[Q(r),i?Q(i):"0x",h?Q(h):"0x",u?Q(u):"0x",n?Q(n):"0x",s??"0x",o?Q(o):"0x",m??"0x",I,a?Q(a):"0x",_??[],...Pn(e,t)],T=[],R=[],U=[];if(p)for(let x=0;x<p.length;x++){const{blob:g,commitment:S,proof:E}=p[x];T.push(g),R.push(S),U.push(E)}return In(["0x03",ur(p?[B,T,R,U]:B)])}function Yp(e,t){const{chainId:r,gas:n,nonce:i,to:s,value:o,maxFeePerGas:a,maxPriorityFeePerGas:u,accessList:h,data:d}=e;Zs(e);const m=Oi(h),_=[Q(r),i?Q(i):"0x",u?Q(u):"0x",a?Q(a):"0x",n?Q(n):"0x",s??"0x",o?Q(o):"0x",d??"0x",m,...Pn(e,t)];return In(["0x02",ur(_)])}function Xp(e,t){const{chainId:r,gas:n,data:i,nonce:s,to:o,value:a,accessList:u,gasPrice:h}=e;Gp(e);const d=Oi(u),m=[Q(r),s?Q(s):"0x",h?Q(h):"0x",n?Q(n):"0x",o??"0x",a?Q(a):"0x",i??"0x",d,...Pn(e,t)];return In(["0x01",ur(m)])}function Jp(e,t){const{chainId:r=0,gas:n,data:i,nonce:s,to:o,value:a,gasPrice:u}=e;Vp(e);let h=[s?Q(s):"0x",u?Q(u):"0x",n?Q(n):"0x",o??"0x",a?Q(a):"0x",i??"0x"];if(t){const d=(()=>{if(t.v>=35n)return(t.v-35n)/2n>0?t.v:27n+(t.v===35n?0n:1n);if(r>0)return BigInt(r*2)+BigInt(35n+t.v-27n);const p=27n+(t.v===27n?0n:1n);if(t.v!==p)throw new ep({v:t.v});return p})(),m=si(t.r),_=si(t.s);h=[...h,Q(d),m==="0x00"?"0x":m,_==="0x00"?"0x":_]}else r>0&&(h=[...h,Q(r),"0x","0x"]);return ur(h)}function Pn(e,t){const r=t??e,{v:n,yParity:i}=r;if(typeof r.r>"u")return[];if(typeof r.s>"u")return[];if(typeof n>"u"&&typeof i>"u")return[];const s=si(r.r),o=si(r.s);return[typeof i=="number"?i?Q(1):"0x":n===0n?"0x":n===1n?Q(1):n===27n?"0x":Q(1),s==="0x00"?"0x":s,o==="0x00"?"0x":o]}const Qp={gasPriceOracle:{address:"0x420000000000000000000000000000000000000F"},l1Block:{address:"0x4200000000000000000000000000000000000015"},l2CrossDomainMessenger:{address:"0x4200000000000000000000000000000000000007"},l2Erc721Bridge:{address:"0x4200000000000000000000000000000000000014"},l2StandardBridge:{address:"0x4200000000000000000000000000000000000010"},l2ToL1MessagePasser:{address:"0x4200000000000000000000000000000000000016"}},Zp={block:$0({format(e){var r;return{transactions:(r=e.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const i=Ks(n);return i.typeHex==="0x7e"&&(i.isSystemTx=n.isSystemTx,i.mint=n.mint?Tr(n.mint):void 0,i.sourceHash=n.sourceHash,i.type="deposit"),i}),stateRoot:e.stateRoot}}}),transaction:H0({format(e){const t={};return e.type==="0x7e"&&(t.isSystemTx=e.isSystemTx,t.mint=e.mint?Tr(e.mint):void 0,t.sourceHash=e.sourceHash,t.type="deposit"),t}}),transactionReceipt:z0({format(e){return{l1GasPrice:e.l1GasPrice?Tr(e.l1GasPrice):null,l1GasUsed:e.l1GasUsed?Tr(e.l1GasUsed):null,l1Fee:e.l1Fee?Tr(e.l1Fee):null,l1FeeScalar:e.l1FeeScalar?Number(e.l1FeeScalar):null}}})};function ey(e,t){return ny(e)?ry(e):qp(e,t)}const ty={transaction:ey};function ry(e){iy(e);const{sourceHash:t,data:r,from:n,gas:i,isSystemTx:s,mint:o,to:a,value:u}=e,h=[t,n,a??"0x",o?Q(o):"0x",u?Q(u):"0x",i?Q(i):"0x",s?"0x1":"0x",r??"0x"];return In(["0x7e",ur(h)])}function ny(e){return e.type==="deposit"||typeof e.sourceHash<"u"}function iy(e){const{from:t,to:r}=e;if(t&&!hr(t))throw new lr({address:t});if(r&&!hr(r))throw new lr({address:r})}const ai={contracts:Qp,formatters:Zp,serializers:ty},sy=dt({id:42161,name:"Arbitrum One",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://arbiscan.io",apiUrl:"https://api.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),oy=dt({id:421614,name:"Arbitrum Sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Arbiscan",url:"https://sepolia.arbiscan.io",apiUrl:"https://api-sepolia.arbiscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:81930}},testnet:!0}),sn=1,ay=dt({...ai,id:8453,name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://mainnet.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://basescan.org",apiUrl:"https://api.basescan.org/api"}},contracts:{...ai.contracts,disputeGameFactory:{[sn]:{address:"0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e"}},l2OutputOracle:{[sn]:{address:"0x56315b90c40730925ec5485cf004d835058518A0"}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022},portal:{[sn]:{address:"0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",blockCreated:17482143}},l1StandardBridge:{[sn]:{address:"0x3154Cf16ccdb4C6d922629664174b904d80F2C35",blockCreated:17482143}}},sourceId:sn}),on=11155111,cy=dt({...ai,id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.base.org"]}},blockExplorers:{default:{name:"Basescan",url:"https://sepolia.basescan.org",apiUrl:"https://api-sepolia.basescan.org/api"}},contracts:{...ai.contracts,disputeGameFactory:{[on]:{address:"0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"}},l2OutputOracle:{[on]:{address:"0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"}},portal:{[on]:{address:"0x49f53e41452c74589e85ca1677426ba426459e85",blockCreated:4446677}},l1StandardBridge:{[on]:{address:"0xfd0Bf71F60660E2f608ed56e1659C450eB113120",blockCreated:4446677}},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1059647}},testnet:!0,sourceId:on}),fy=dt({id:80094,name:"Berachain",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0},ensRegistry:{address:"0x5b22280886a2f5e09a49bea7e320eab0e5320e28",blockCreated:877007},ensUniversalResolver:{address:"0xddfb18888a9466688235887dec2a10c4f5effee9",blockCreated:877008}},rpcUrls:{default:{http:["https://rpc.berachain.com"]}},blockExplorers:{default:{name:"Berascan",url:"https://berascan.com"}},ensTlds:[".bera"],testnet:!1}),uy=dt({id:80084,name:"Berachain bArtio",nativeCurrency:{decimals:18,name:"BERA Token",symbol:"BERA"},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:109269},ensRegistry:{address:"0xB0eef18971290b333450586D33dcA6cE122651D2",blockCreated:7736794},ensUniversalResolver:{address:"0x41692Ef1EA0C79E6b73077E4A67572D2BDbD7057",blockCreated:7736795}},ensTlds:[".bera"],rpcUrls:{default:{http:["https://bartio.rpc.berachain.com"]}},blockExplorers:{default:{name:"Berachain bArtio Beratrail",url:"https://bartio.beratrail.io"}},testnet:!0}),ly=dt({id:5115,name:"Citrea Testnet",nativeCurrency:{name:"cBTC",symbol:"cBTC",decimals:18},rpcUrls:{default:{http:["https://rpc.testnet.citrea.xyz"]}},blockExplorers:{default:{name:"Citrea Explorer",url:"https://explorer.testnet.citrea.xyz",apiUrl:"https://explorer.testnet.citrea.xyz/api"}},testnet:!0}),hy=dt({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xce01f8eee7E479C928F8919abD53E553a36CeF67",blockCreated:19258213},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),dy=dt({id:10143,name:"Monad Testnet",nativeCurrency:{name:"Testnet MON Token",symbol:"MON",decimals:18},rpcUrls:{default:{http:["https://testnet-rpc.monad.xyz"]}},blockExplorers:{default:{name:"Monad Testnet explorer",url:"https://testnet.monadexplorer.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:251449}},testnet:!0}),py=dt({id:11155111,name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.drpc.org"]}},blockExplorers:{default:{name:"Etherscan",url:"https://sepolia.etherscan.io",apiUrl:"https://api-sepolia.etherscan.io/api"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc8Af999e38273D658BE1b921b88A9Ddf005769cC",blockCreated:5317080}},testnet:!0}),yy={...py,rpcUrls:{default:{http:["https://ethereum-sepolia-rpc.publicnode.com"]}}},Jc={id:998,name:"Hyperliquid EVM Testnet",nativeCurrency:{name:"Hyperliquid",symbol:"HYPE",decimals:18},blockExplorers:{default:{name:"Hyperliquid Explorer",url:"https://testnet.purrsec.com/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid-testnet.xyz/evm"]}}},Qc={id:999,name:"HyperEVM",nativeCurrency:{name:"Hyperliquid",symbol:"HYPE",decimals:18},blockExplorers:{default:{name:"Hyperliquid Explorer",url:"https://hyperscan.gas.zip/"}},rpcUrls:{default:{http:["https://rpc.hyperliquid.xyz/evm"]}}},Zc={ethereum:hy,arbitrum:sy,ethereum_sepolia:yy,arbitrum_sepolia:oy,ethereum_localnet:be.EthereumLocalnet,arbitrum_localnet:be.ArbitrumLocalnet,base_sepolia:cy,base:ay,bera_testnet:uy,citrea_testnet:ly,bera:fy,monad_testnet:dy,hyperliquid_testnet:Jc,hyperliquid:Qc},ef=async(e,t)=>{var n;const r=Zc[e];if(r)try{if(r.id===((n=t.chain)==null?void 0:n.id))return ne({message:"Already on the network",walletClient:t});await t.switchChain({id:r.id});const i=Et.createWalletClient({account:t.account,chain:r,transport:Et.custom(t.transport)});return ne({message:"Switched chain",walletClient:i})}catch(i){if(my(i))try{await t.addChain({chain:r});const s=Et.createWalletClient({account:t.account,chain:r,transport:Et.custom(window.ethereum)});return ne({message:"Added network",walletClient:s})}catch{return $("Failed to add network")}else return $("Failed to switch network")}else return $("Chain not supported")},my=e=>typeof e=="object"&&e!==null&&"code"in e&&e.code===4902;class tf{constructor(t,r,n){this.url=new z.Url("/relayer",t),this.auth=n,this.wallet=r}get htlcActorAddress(){if(!this.wallet.account)throw new Error("No account found");return this.wallet.account.address}async initiate(t){if(!this.wallet.account)return z.Err("No account found");if(this.wallet.account.address.toLowerCase()!==t.source_swap.initiator.toLowerCase())return z.Err("Account address and order initiator mismatch");const r=await ef(t.source_swap.chain,this.wallet);if(r.error)return z.Err(r.error);if(this.wallet=r.val.walletClient,!this.wallet.account)return z.Err("No account found");const{create_order:n,source_swap:i}=t;if(!i.amount||!i.redeemer||!n.timelock||!n.secret_hash)return z.Err("Invalid order");const s=z.with0x(n.secret_hash),o=BigInt(n.timelock),a=z.with0x(i.redeemer),u=BigInt(i.amount);try{const h=await this.auth.getAuthHeaders();if(h.error)return z.Err(h.error);const d=Et.getContract({address:z.with0x(t.source_swap.asset),abi:A0,client:this.wallet}),m=await d.read.token(),_=await z.checkAllowanceAndApprove(Number(u),m,t.source_swap.asset,this.wallet);if(_.error)return z.Err(_.error);const p=await d.read.eip712Domain(),I=await this.wallet.signTypedData({account:this.wallet.account,domain:{name:p[1],version:p[2],chainId:Number(p[3]),verifyingContract:p[4]},types:{Initiate:[{name:"redeemer",type:"address"},{name:"timelock",type:"uint256"},{name:"amount",type:"uint256"},{name:"secretHash",type:"bytes32"}]},primaryType:"Initiate",message:{redeemer:a,timelock:o,amount:u,secretHash:s}}),B={...h.val,"Content-Type":"application/json"},T=await xt.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:n.create_id,signature:I,perform_on:"Source"}),headers:B});return T.error?z.Err(T.error):T.result?z.Ok(T.result):z.Err("Init: No result found")}catch(h){return console.log("init error :",h),z.Err(String(h))}}async redeem(t,r){try{const n=await this.auth.getAuthHeaders();if(n.error)return z.Err(n.error);const i=await xt.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t.create_order.create_id,secret:rr(r),perform_on:"Destination"}),headers:{...n.val,"Content-Type":"application/json"}});return i.error?z.Err(i.error):i.result?z.Ok(i.result):z.Err("Redeem: No result found")}catch(n){return z.Err(String(n))}}async refund(){return z.Err("Refund not supported")}}const rf=[{name:"LockingContract",type:"impl",interface_name:"src::mintable_lock_interface::ILockingContract"},{name:"src::mintable_lock_interface::ILockingContract",type:"interface",items:[{name:"set_locking_contract",type:"function",inputs:[{name:"locking_contract",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"get_locking_contract",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"}]},{name:"LockAndDelegate",type:"impl",interface_name:"src::mintable_lock_interface::ILockAndDelegate"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"src::mintable_lock_interface::ILockAndDelegate",type:"interface",items:[{name:"lock_and_delegate",type:"function",inputs:[{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"lock_and_delegate_by_sig",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"delegatee",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"},{name:"nonce",type:"core::felt252"},{name:"expiry",type:"core::integer::u64"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"MintableToken",type:"impl",interface_name:"src::mintable_token_interface::IMintableToken"},{name:"src::mintable_token_interface::IMintableToken",type:"interface",items:[{name:"permissioned_mint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissioned_burn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"MintableTokenCamelImpl",type:"impl",interface_name:"src::mintable_token_interface::IMintableTokenCamel"},{name:"src::mintable_token_interface::IMintableTokenCamel",type:"interface",items:[{name:"permissionedMint",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"},{name:"permissionedBurn",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[],state_mutability:"external"}]},{name:"Replaceable",type:"impl",interface_name:"src::replaceability_interface::IReplaceable"},{name:"core::array::Span::<core::felt252>",type:"struct",members:[{name:"snapshot",type:"@core::array::Array::<core::felt252>"}]},{name:"src::replaceability_interface::EICData",type:"struct",members:[{name:"eic_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_init_data",type:"core::array::Span::<core::felt252>"}]},{name:"core::option::Option::<src::replaceability_interface::EICData>",type:"enum",variants:[{name:"Some",type:"src::replaceability_interface::EICData"},{name:"None",type:"()"}]},{name:"core::bool",type:"enum",variants:[{name:"False",type:"()"},{name:"True",type:"()"}]},{name:"src::replaceability_interface::ImplementationData",type:"struct",members:[{name:"impl_hash",type:"core::starknet::class_hash::ClassHash"},{name:"eic_data",type:"core::option::Option::<src::replaceability_interface::EICData>"},{name:"final",type:"core::bool"}]},{name:"src::replaceability_interface::IReplaceable",type:"interface",items:[{name:"get_upgrade_delay",type:"function",inputs:[],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"get_impl_activation_time",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[{type:"core::integer::u64"}],state_mutability:"view"},{name:"add_new_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"remove_implementation",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"},{name:"replace_to",type:"function",inputs:[{name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}],outputs:[],state_mutability:"external"}]},{name:"AccessControlImplExternal",type:"impl",interface_name:"src::access_control_interface::IAccessControl"},{name:"src::access_control_interface::IAccessControl",type:"interface",items:[{name:"has_role",type:"function",inputs:[{name:"role",type:"core::felt252"},{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"get_role_admin",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[{type:"core::felt252"}],state_mutability:"view"}]},{name:"RolesImpl",type:"impl",interface_name:"src::roles_interface::IMinimalRoles"},{name:"src::roles_interface::IMinimalRoles",type:"interface",items:[{name:"is_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"is_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::bool"}],state_mutability:"view"},{name:"register_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_governance_admin",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"register_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"remove_upgrade_governor",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[],state_mutability:"external"},{name:"renounce",type:"function",inputs:[{name:"role",type:"core::felt252"}],outputs:[],state_mutability:"external"}]},{name:"ERC20Impl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20"},{name:"openzeppelin::token::erc20::interface::IERC20",type:"interface",items:[{name:"name",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"symbol",type:"function",inputs:[],outputs:[{type:"core::felt252"}],state_mutability:"view"},{name:"decimals",type:"function",inputs:[],outputs:[{type:"core::integer::u8"}],state_mutability:"view"},{name:"total_supply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balance_of",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"allowance",type:"function",inputs:[{name:"owner",type:"core::starknet::contract_address::ContractAddress"},{name:"spender",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transfer",type:"function",inputs:[{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"transfer_from",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"approve",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"ERC20CamelOnlyImpl",type:"impl",interface_name:"openzeppelin::token::erc20::interface::IERC20CamelOnly"},{name:"openzeppelin::token::erc20::interface::IERC20CamelOnly",type:"interface",items:[{name:"totalSupply",type:"function",inputs:[],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"balanceOf",type:"function",inputs:[{name:"account",type:"core::starknet::contract_address::ContractAddress"}],outputs:[{type:"core::integer::u256"}],state_mutability:"view"},{name:"transferFrom",type:"function",inputs:[{name:"sender",type:"core::starknet::contract_address::ContractAddress"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"amount",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"name",type:"core::felt252"},{name:"symbol",type:"core::felt252"},{name:"decimals",type:"core::integer::u8"},{name:"initial_supply",type:"core::integer::u256"},{name:"recipient",type:"core::starknet::contract_address::ContractAddress"},{name:"permitted_minter",type:"core::starknet::contract_address::ContractAddress"},{name:"provisional_governance_admin",type:"core::starknet::contract_address::ContractAddress"},{name:"upgrade_delay",type:"core::integer::u64"}]},{name:"increase_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"added_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decrease_allowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtracted_value",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"increaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"addedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{name:"decreaseAllowance",type:"function",inputs:[{name:"spender",type:"core::starknet::contract_address::ContractAddress"},{name:"subtractedValue",type:"core::integer::u256"}],outputs:[{type:"core::bool"}],state_mutability:"external"},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Transfer",type:"event",members:[{kind:"data",name:"from",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"to",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::strk::erc20_lockable::ERC20Lockable::Approval",type:"event",members:[{kind:"data",name:"owner",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"spender",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"value",type:"core::integer::u256"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationAdded",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationRemoved",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationReplaced",type:"event",members:[{kind:"data",name:"implementation_data",type:"src::replaceability_interface::ImplementationData"}]},{kind:"struct",name:"src::replaceability_interface::ImplementationFinalized",type:"event",members:[{kind:"data",name:"impl_hash",type:"core::starknet::class_hash::ClassHash"}]},{kind:"struct",name:"src::access_control_interface::RoleGranted",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleRevoked",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"sender",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::access_control_interface::RoleAdminChanged",type:"event",members:[{kind:"data",name:"role",type:"core::felt252"},{kind:"data",name:"previous_admin_role",type:"core::felt252"},{kind:"data",name:"new_admin_role",type:"core::felt252"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::GovernanceAdminRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorAdded",type:"event",members:[{kind:"data",name:"added_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"added_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"src::roles_interface::UpgradeGovernorRemoved",type:"event",members:[{kind:"data",name:"removed_account",type:"core::starknet::contract_address::ContractAddress"},{kind:"data",name:"removed_by",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"enum",name:"src::strk::erc20_lockable::ERC20Lockable::Event",type:"event",variants:[{kind:"nested",name:"Transfer",type:"src::strk::erc20_lockable::ERC20Lockable::Transfer"},{kind:"nested",name:"Approval",type:"src::strk::erc20_lockable::ERC20Lockable::Approval"},{kind:"nested",name:"ImplementationAdded",type:"src::replaceability_interface::ImplementationAdded"},{kind:"nested",name:"ImplementationRemoved",type:"src::replaceability_interface::ImplementationRemoved"},{kind:"nested",name:"ImplementationReplaced",type:"src::replaceability_interface::ImplementationReplaced"},{kind:"nested",name:"ImplementationFinalized",type:"src::replaceability_interface::ImplementationFinalized"},{kind:"nested",name:"RoleGranted",type:"src::access_control_interface::RoleGranted"},{kind:"nested",name:"RoleRevoked",type:"src::access_control_interface::RoleRevoked"},{kind:"nested",name:"RoleAdminChanged",type:"src::access_control_interface::RoleAdminChanged"},{kind:"nested",name:"GovernanceAdminAdded",type:"src::roles_interface::GovernanceAdminAdded"},{kind:"nested",name:"GovernanceAdminRemoved",type:"src::roles_interface::GovernanceAdminRemoved"},{kind:"nested",name:"UpgradeGovernorAdded",type:"src::roles_interface::UpgradeGovernorAdded"},{kind:"nested",name:"UpgradeGovernorRemoved",type:"src::roles_interface::UpgradeGovernorRemoved"}]}],nf=async(e,t,r,n,i)=>{try{const s=new Ge.RpcProvider({nodeUrl:i}),a=await new Ge.Contract(rf,Rn(t),s).call("allowance",[Rn(e.address),Rn(r)]),u=BigInt((a==null?void 0:a.toString())||"0"),h=Ge.cairo.uint256(BigInt(Ge.uint256.UINT_256_MAX));if(u<n){const d=await e.execute([{contractAddress:Rn(t),entrypoint:"approve",calldata:[r,h.low,h.high]}]);return await s.waitForTransaction(d.transaction_hash,{retryInterval:3e3,successStates:[Ge.TransactionExecutionStatus.SUCCEEDED]}),await z.sleep(2e3),ne(d.transaction_hash)}return ne("Allowance already approved")}catch(s){return $(`Failed to check or approve allowance: ${s instanceof Error?s.message:String(s)}`)}},sf=[{name:"HTLC",type:"impl",interface_name:"starknet_htlc::interface::IHTLC"},{name:"core::integer::u256",type:"struct",members:[{name:"low",type:"core::integer::u128"},{name:"high",type:"core::integer::u128"}]},{name:"starknet_htlc::interface::IHTLC",type:"interface",items:[{name:"token",type:"function",inputs:[],outputs:[{type:"core::starknet::contract_address::ContractAddress"}],state_mutability:"view"},{name:"initiate",type:"function",inputs:[{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"}],outputs:[],state_mutability:"external"},{name:"initiate_on_behalf",type:"function",inputs:[{name:"initiator",type:"core::starknet::contract_address::ContractAddress"},{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"}],outputs:[],state_mutability:"external"},{name:"initiate_with_signature",type:"function",inputs:[{name:"initiator",type:"core::starknet::contract_address::ContractAddress"},{name:"redeemer",type:"core::starknet::contract_address::ContractAddress"},{name:"timelock",type:"core::integer::u128"},{name:"amount",type:"core::integer::u256"},{name:"secret_hash",type:"[core::integer::u32; 8]"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"},{name:"redeem",type:"function",inputs:[{name:"order_id",type:"core::felt252"},{name:"secret",type:"core::array::Array::<core::integer::u32>"}],outputs:[],state_mutability:"external"},{name:"refund",type:"function",inputs:[{name:"order_id",type:"core::felt252"}],outputs:[],state_mutability:"external"},{name:"instant_refund",type:"function",inputs:[{name:"order_id",type:"core::felt252"},{name:"signature",type:"core::array::Array::<core::felt252>"}],outputs:[],state_mutability:"external"}]},{name:"constructor",type:"constructor",inputs:[{name:"token",type:"core::starknet::contract_address::ContractAddress"}]},{kind:"struct",name:"starknet_htlc::interface::events::Initiated",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"},{kind:"data",name:"secret_hash",type:"[core::integer::u32; 8]"},{kind:"data",name:"amount",type:"core::integer::u256"}]},{kind:"struct",name:"starknet_htlc::interface::events::Redeemed",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"},{kind:"data",name:"secret_hash",type:"[core::integer::u32; 8]"},{kind:"data",name:"secret",type:"core::array::Array::<core::integer::u32>"}]},{kind:"struct",name:"starknet_htlc::interface::events::Refunded",type:"event",members:[{kind:"key",name:"order_id",type:"core::felt252"}]},{kind:"enum",name:"starknet_htlc::htlc::HTLC::Event",type:"event",variants:[{kind:"nested",name:"Initiated",type:"starknet_htlc::interface::events::Initiated"},{kind:"nested",name:"Redeemed",type:"starknet_htlc::interface::events::Redeemed"},{kind:"nested",name:"Refunded",type:"starknet_htlc::interface::events::Refunded"}]}],by={name:"HTLC",version:Ge.shortString.encodeShortString("1"),chainId:"0x534e5f5345504f4c4941",revision:Ge.TypedDataRevision.ACTIVE},wy={StarknetDomain:[{name:"name",type:"shortstring"},{name:"version",type:"shortstring"},{name:"chainId",type:"shortstring"},{name:"revision",type:"shortstring"}],Initiate:[{name:"redeemer",type:"ContractAddress"},{name:"amount",type:"u256"},{name:"timelock",type:"u128"},{name:"secretHash",type:"u128*"}]},gy="https://starknet-sepolia.public.blastapi.io/rpc/v0_7";class of{constructor(t,r,n){this.nodeUrl=n||gy,this.url=new z.Url("/",t),this.account=r}get htlcActorAddress(){if(!this.account.address)throw new Error("No account found");return this.account.address}async initiate(t){if(!this.account.address)return $("No account address");const{create_order:r,source_swap:n}=t,{redeemer:i,amount:s}=n;if(!s||!i||!r.secret_hash||!r.timelock)return $("Invalid order");try{const o=new Ge.Contract(sf,t.source_swap.asset,this.account),a=await(o==null?void 0:o.token()),u=Ge.num.toHex(a),h=await nf(this.account,u,n.asset,BigInt(s),this.nodeUrl);if(h.error)return $(h.error);const d={domain:by,primaryType:"Initiate",types:wy,message:{redeemer:i,amount:Ge.cairo.uint256(s),timelock:r.timelock,secretHash:z.hexToU32Array(r.secret_hash)}},m=await this.account.signMessage(d),_=vf(m);if(_.error)return $(_.error);const p=await xt.post(this.url.endpoint("initiate"),{body:JSON.stringify({order_id:r.create_id,signature:_.val,perform_on:"Source"}),headers:{"Content-Type":"application/json"}});return p.error?$(p.error):p.result?ne(p.result):$("Init: No result found")}catch(o){return $(String(o))}}async redeem(t,r){try{const n=await xt.post(this.url.endpoint("redeem"),{body:JSON.stringify({order_id:t.create_order.create_id,secret:r,perform_on:"Destination"}),headers:{"Content-Type":"application/json"}});return n.error?$(n.error):n.result?ne(n.result):$("Redeem: No result found")}catch(n){return $(String(n))}}async refund(){return $("Refund is taken care of by the relayer")}}class eo extends z.EventBroker{constructor(t){if(super(),this.environment=z.Environment.TESTNET,this.getOrderThreshold=20,this.refundSacpCache=new Map,this.bitcoinRedeemCache=new Nl,typeof t.digestKey=="string"){const n=z.DigestKey.from(t.digestKey);if(n.error)throw new Error(n.error);this._digestKey=n.val}else this._digestKey=t.digestKey;if(typeof t.environment=="string"){if(this.environment=t.environment,this._api=t.environment===z.Environment.MAINNET?un.mainnet:t.environment===z.Environment.TESTNET?un.testnet:void 0,!this._api)throw new Error("API not found, invalid environment "+t.environment)}else this._api=t.environment;this._quote=t.quote??new Va(this._api.quote),this._auth=t.auth??z.Siwe.fromDigestKey(new z.Url(this._api.auth),this._digestKey),this._orderbook=t.orderbook??new be.Orderbook(new z.Url(this._api.orderbook)),this._evmHTLC=t.htlc.evm,this._starknetHTLC=t.htlc.starknet,this._secretManager=t.secretManager??wn.fromDigestKey(this._digestKey.digestKey),this.orderExecutorCache=new Ll,this._blockNumberFetcher=t.blockNumberFetcher??new Ga(this._api.info,this.environment);const r=new Rr.BitcoinProvider(gf(this.environment));this._btcWallet=Rr.BitcoinWallet.fromPrivateKey(this._digestKey.digestKey,r)}static fromWallets(t){let r;if(typeof t.digestKey=="string"){const s=z.DigestKey.from(t.digestKey);if(s.error)throw new Error(s.error);r=s.val}else r=t.digestKey;let n;if(typeof t.environment=="string"?n=t.environment===z.Environment.MAINNET?un.mainnet:t.environment===z.Environment.TESTNET?un.testnet:void 0:n=t.environment,!n)throw new Error("API not found, invalid environment "+t.environment);const i={evm:t.wallets.evm?new tf(n.evmRelay,t.wallets.evm,z.Siwe.fromDigestKey(new z.Url(n.auth),r)):void 0,starknet:t.wallets.starknet?new of(n.starknetRelay,t.wallets.starknet):void 0};return new eo({htlc:i,...t})}get evmHTLC(){return this._evmHTLC}get starknetHTLC(){return this._starknetHTLC}get quote(){return this._quote}get btcWallet(){return this._btcWallet}get orderbook(){return this._orderbook}get blockNumberFetcher(){return this._blockNumberFetcher}get secretManager(){return this._secretManager}get auth(){return this._auth}get digestKey(){return this._digestKey}async swap(t){const r=await this.validateAndFillParams(t);if(r.error)return $(r.error);const{sendAddress:n,receiveAddress:i,timelock:s}=r.val,o=Date.now().toString(),a=await this._secretManager.generateSecret(o);if(a.error)return $(a.error);const{strategyId:u,btcAddress:h}=t.additionalData,d={strategy_id:u,...h&&{bitcoin_optional_recipient:h}},m={source_chain:t.fromAsset.chain,destination_chain:t.toAsset.chain,source_asset:t.fromAsset.atomicSwapAddress,destination_asset:t.toAsset.atomicSwapAddress,initiator_source_address:n,initiator_destination_address:i,source_amount:t.sendAmount,destination_amount:t.receiveAmount,fee:"1",nonce:o,timelock:s,secret_hash:rr(a.val.secretHash),min_destination_confirmations:t.minDestinationConfirmations??0,additional_data:d},_=await this._quote.getAttestedQuote(m);if(_.error)return $(_.error);const p=await this._orderbook.createOrder(_.val,this.auth);if(p.error)return $(p.error);const I=await this.pollOrder(p.val);return I.error?$(I.error):ne(I.val)}async validateAndFillParams(t){if(!t.additionalData.strategyId)return $("StrategyId is required");if(!t.fromAsset||!t.toAsset)return $("Source and destination assets are required for swap");if(t.fromAsset.chain===t.toAsset.chain&&t.fromAsset.atomicSwapAddress===t.toAsset.atomicSwapAddress)return $("Source and destination assets cannot be the same");if(be.isMainnet(t.fromAsset.chain)&&!be.isMainnet(t.toAsset.chain)||!be.isMainnet(t.fromAsset.chain)&&be.isMainnet(t.toAsset.chain))return $("Both assets should be on the same network (either mainnet or testnet)");const r=this.validateAmount(t.sendAmount);if(r.error)return $(r.error);const n=this.validateAmount(t.receiveAmount);if(n.error)return $(n.error);if(r<n)return $("Send amount should be greater than receive amount");const i=be.getTimeLock(t.fromAsset.chain);if(!i)return $("Unsupported chain for timelock");if((be.isBitcoin(t.fromAsset.chain)||be.isBitcoin(t.toAsset.chain))&&!t.additionalData.btcAddress)return $("btcAddress in additionalData is required if source or destination chain is bitcoin, it is used as refund or redeem address.");const s=await this.getAddresses(t.fromAsset.chain);if(s.error)return $(s.error);const o=await this.getAddresses(t.toAsset.chain);return o.error?$(o.error):ne({sendAddress:s.val,receiveAddress:o.val,timelock:t.timelock??i})}async getAddresses(t){var n;switch(be.getBlockchainType(t)){case be.BlockchainType.EVM:return this._evmHTLC?ne(this._evmHTLC.htlcActorAddress):$("Please provide evmHTLC when initializing garden");case be.BlockchainType.Bitcoin:{const i=await((n=this._btcWallet)==null?void 0:n.getPublicKey());return!i||!bf(i)?$("Invalid btc public key"):ne(Dt(i))}case be.BlockchainType.Starknet:return this._starknetHTLC?ne(this._starknetHTLC.htlcActorAddress):$("Please provide starknetHTLC when initializing garden");default:return $("Unsupported chain")}}validateAmount(t){if(t==null||t.includes("."))return $("Invalid amount ",t);const r=new uf(t);return!r.isInteger()||r.isNaN()||r.lt(0)||r.isLessThanOrEqualTo(0)?$("Invalid amount ",t):ne(r)}async pollOrder(t){let r=await this._orderbook.getOrder(t,!0),n=0;for(;n<this.getOrderThreshold;){if(await z.sleep(1e3),n++,r.error){if(!r.error.includes("result is undefined"))return $(r.error)}else if(r.val&&r.val.create_order.create_id.toLowerCase()===t.toLowerCase())return ne(r.val);r=await this._orderbook.getOrder(t,!0)}return $(`Order not found, createOrder id: ${t}`)}async execute(t=5e3){return await this._orderbook.subscribeOrders(this._digestKey.userId,!0,t,async r=>{if(r.data.length===0)return;const n=await this.filterExpiredAndAssignStatus(r.data);if(!n.error){this.emit("onPendingOrdersChanged",n.val);for(let i=0;i<n.val.length;i++){const s=n.val[i],o=Bs(s.status);if(be.isBitcoin(s.source_swap.chain)&&s.status===le.InitiateDetected){const a=this.btcWallet;if(!a){this.emit("error",s,"BTC wallet not found");continue}await this.postRefundSACP(s,a)}switch(o){case Ae.Redeem:{const a=await this._secretManager.generateSecret(s.create_order.nonce);if(a.error){this.emit("error",s,a.error);return}switch(be.getBlockchainType(s.destination_swap.chain)){case be.BlockchainType.EVM:{await this.evmRedeem(s,a.val.secret);break}case be.BlockchainType.Bitcoin:{const u=this.btcWallet;if(!u){this.emit("error",s,"BTC wallet not found");return}await this.btcRedeem(u,s,a.val.secret);break}case be.BlockchainType.Starknet:{await this.starknetRedeem(s,a.val.secret);break}default:this.emit("error",s,"Unsupported chain: "+s.destination_swap.chain)}break}case Ae.Refund:{switch(be.getBlockchainType(s.source_swap.chain)){case be.BlockchainType.EVM:{this.emit("error",s,"EVM refund is automatically done by relay service");break}case be.BlockchainType.Bitcoin:{const a=this.btcWallet;if(!a){this.emit("error",s,"BTC wallet not found");return}await this.btcRefund(a,s);break}case be.BlockchainType.Starknet:{this.emit("error",s,"Starknet refund is automatically done by relay service");break}default:this.emit("error",s,"Unsupported chain: "+s.source_swap.chain)}break}}}}},"pending",{per_page:500})}async evmRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing evm redeem"),this.orderExecutorCache.get(t,Ae.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}if(!this._evmHTLC){this.emit("error",t,"EVMHTLC is required");return}const i=await this._evmHTLC.redeem(t,r);if(i.error){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Ae.Redeem,t.destination_swap.redeem_tx_hash);return}this.orderExecutorCache.set(t,Ae.Redeem,i.val),this.emit("success",t,Ae.Redeem,i.val)}async starknetRedeem(t,r){if(this.emit("log",t.create_order.create_id,"executing starknet redeem"),this.orderExecutorCache.get(t,Ae.Redeem)){this.emit("log",t.create_order.create_id,"already redeemed");return}if(!this._starknetHTLC){this.emit("error",t,"StarknetHTLC is required");return}const i=await this._starknetHTLC.redeem(t,r);if(i.error){this.emit("error",t,i.error),i.error.includes("Order already redeemed")&&this.orderExecutorCache.set(t,Ae.Redeem,t.destination_swap.redeem_tx_hash);return}i.val&&(this.orderExecutorCache.set(t,Ae.Redeem,i.val),this.emit("success",t,Ae.Redeem,i.val))}async btcRedeem(t,r,n){var a,u;const i=this.bitcoinRedeemCache.get(r.create_order.create_id),s=(a=r.destination_swap.initiate_tx_hash.split(",").at(-1))==null?void 0:a.split(":").at(0);if(!s){this.emit("error",r,"Failed to get initiate_tx_hash");return}let o=!1;if(i)if(i.redeemedFromUTXO&&i.redeemedFromUTXO!==s)o=!0,this.emit("log",r.create_order.create_id,"rbf btc redeem");else if(i.redeemedAt&&Date.now()-i.redeemedAt>1e3*60*15)this.emit("log",r.create_order.create_id,"redeem not confirmed in last 15 minutes"),o=!0;else{this.emit("log",r.create_order.create_id,"btcRedeem: already redeemed");return}else if(r.destination_swap.redeem_tx_hash&&!Number(r.destination_swap.redeem_block_number))try{const h=await(await t.getProvider()).getTransaction(r.destination_swap.redeem_tx_hash);let d=!1;for(const m of h.vin)if(m.txid===s){d=!0;break}if(d){this.emit("log",r.create_order.create_id,"already a valid redeem");let m=0;try{const[_]=await(await t.getProvider()).getTransactionTimes([r.destination_swap.redeem_tx_hash]);_!==0&&(m=_)}catch{m=Date.now()}this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:m,redeemTxHash:r.destination_swap.redeem_tx_hash});return}o=!0}catch(h){if(h.message.includes("Transaction not found"))o=!0;else{this.emit("error",r,"Failed to get redeem tx: "+h);return}}this.emit("log",r.create_order.create_id,"executing btc redeem");try{const d=await(await dn.from(t,Number(r.destination_swap.amount),r.create_order.secret_hash,Dt(r.destination_swap.initiator),Dt(r.destination_swap.redeemer),r.destination_swap.timelock,o?[s]:[])).getRedeemHex(rr(n),(u=r.create_order.additional_data)==null?void 0:u.bitcoin_optional_recipient),m=await this.broadcastRedeemTx(d,r.create_order.create_id);if(m.error||!m.val){this.emit("error",r,m.error||"Failed to broadcast redeem tx");return}o?(this.emit("log",r.create_order.create_id,"rbf: btc redeem success"),this.emit("rbf",r,m.val)):this.emit("success",r,Ae.Redeem,m.val),this.bitcoinRedeemCache.set(r.create_order.create_id,{redeemedFromUTXO:s,redeemedAt:Date.now(),redeemTxHash:m.val})}catch(h){console.log("error",h),this.emit("error",r,"Failed btc redeem: "+h)}}async btcRefund(t,r){var n;if(!this.orderExecutorCache.get(r,Ae.Refund)){this.emit("log",r.create_order.create_id,"executing btc refund");try{const s=await(await dn.from(t,Number(r.source_swap.amount),r.create_order.secret_hash,Dt(r.source_swap.initiator),Dt(r.source_swap.redeemer),r.source_swap.timelock)).refund((n=r.create_order.additional_data)==null?void 0:n.bitcoin_optional_recipient);this.orderExecutorCache.set(r,Ae.Refund,s),this.emit("success",r,Ae.Refund,s)}catch(i){this.emit("error",r,"Failed btc refund: "+i)}}}async postRefundSACP(t,r){const n=this.refundSacpCache.get(t.create_order.create_id);if((n==null?void 0:n.initTxHash)===t.source_swap.initiate_tx_hash)return;const i=await dn.from(r,Number(t.source_swap.amount),t.create_order.secret_hash,Dt(t.source_swap.initiator),Dt(t.source_swap.redeemer),t.source_swap.timelock),s=t.create_order.additional_data.bitcoin_optional_recipient;if(s)try{const o=await i.generateInstantRefundSACP(s);if(!this._api)return;const a=new z.Url(this._api.orderbook).endpoint("orders/bitcoin/"+t.create_order.create_id+"/instant-refund");(await xt.post(a,{headers:{"Content-Type":"application/json"},body:JSON.stringify({instant_refund_tx_bytes:o})})).status==="Ok"&&this.refundSacpCache.set(t.create_order.create_id,{initTxHash:t.source_swap.initiate_tx_hash})}catch(o){this.emit("error",t,"Failed to generate and post SACP: "+o);return}}async filterExpiredAndAssignStatus(t){var i;if(t.length===0)return ne([]);const r=await((i=this._blockNumberFetcher)==null?void 0:i.fetchBlockNumbers());if(r.error)return $(r.error);const n=[];for(let s=0;s<t.length;s++){const o=t[s];if(ma(o))continue;const a=o.source_swap.chain,u=o.destination_swap.chain,h=r==null?void 0:r.val[a],d=r==null?void 0:r.val[u];if(!h||!d){this.emit("error",o,"Error while fetching CurrentBlockNumbers");continue}const m=Ts(o,h,d);n.push({...o,status:m})}return ne(n)}async broadcastRedeemTx(t,r){try{if(!this._api)return $("API not found");const n=new z.Url(this._api.evmRelay).endpoint("/bitcoin/redeem "),i=await this._auth.getAuthHeaders(),o=await(await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...i.val},body:JSON.stringify({redeem_tx_bytes:t,order_id:r})})).json();return o.status==="Ok"&&o.result?ne(o.result):$(o.error)}catch(n){return $("Failed to broadcast redeem tx: "+n)}}}const _y="https://starknet-sepolia.public.blastapi.io/rpc/v0_7";class vy{constructor(t,r){this.callData=new Ge.CallData(rf),this.nodeUrl=r||_y,this.account=t}get htlcActorAddress(){return this.account.address}async getHTLCContract(t,r=!1){const n=r?t.destination_swap.asset:t.source_swap.asset;return new Ge.Contract(sf,n,this.account)}async initiate(t){try{const n=await(await this.getHTLCContract(t)).token();if(!n)throw new Error("Token address retrieval failed");const i=Ge.num.toHex(n),s=Ge.cairo.uint256(BigInt(t.source_swap.amount));try{const a=await nf(this.account,i,t.source_swap.asset,BigInt(t.source_swap.amount),this.nodeUrl);if(a.error)return $(a.error)}catch(a){return $(`Allowance check failed: ${a}`)}const o=await this.account.execute({contractAddress:t.source_swap.asset,entrypoint:"initiate",calldata:[t.source_swap.redeemer,BigInt(t.source_swap.timelock),s.low,s.high,...z.hexToU32Array(t.create_order.secret_hash)]});if(!o.transaction_hash)throw new Error("Failed to initiate HTLC transaction");return ne(o.transaction_hash)}catch(r){return $(`HTLC Initiation Error: ${r}`)}}async redeem(t,r){try{const n=await this.getHTLCContract(t,!0),i=t.create_order.source_chain.includes("starknet")?t.source_swap.swap_id:t.destination_swap.swap_id,s=await this.account.execute({contractAddress:n.address,entrypoint:"redeem",calldata:Ge.CallData.compile({swap_id:i,secret:z.hexToU32Array(r)})});return s.transaction_hash?ne(s.transaction_hash):$("Failed to redeem HTLC transaction")}catch{return $("HTLC Redeem Error")}}async refund(t){try{const r=t.create_order.source_chain.includes("starknet")?t.source_swap.swap_id:t.destination_swap.swap_id,n=await this.getHTLCContract(t),i=await this.account.execute({contractAddress:n.address,entrypoint:"refund",calldata:{orderId:r}});return i.transaction_hash?ne(i.transaction_hash):$("Failed to refund HTLC transaction")}catch{return $("HTLC Refund Error")}}}exports.API=un;exports.BlockNumberFetcher=Ga;exports.EvmRelay=tf;exports.Garden=eo;exports.OrderActions=Ae;exports.OrderStatus=le;exports.ParseOrderStatus=Ts;exports.ParseSwapStatus=hs;exports.Quote=Va;exports.SecretManager=wn;exports.StarknetHTLC=vy;exports.StarknetRelay=of;exports.SwapStatus=me;exports.constructOrderPair=ya;exports.evmToViemChainMap=Zc;exports.filterDeadlineExpiredOrders=xf;exports.hyperliquid=Qc;exports.hyperliquidTestnet=Jc;exports.isExpired=pn;exports.parseAction=Ef;exports.parseActionFromStatus=Bs;exports.switchOrAddNetwork=ef;exports.toXOnly=Dt;exports.validateBTCAddress=wf;