@aztec/aztec.js 0.1.0-alpha45 → 0.1.0-alpha47

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/dest/main.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see main.js.LICENSE.txt */
2
- var e={4782:(e,t)=>{t.byteLength=function(e){var t=o(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){var t,n,a=o(e),i=a[0],l=a[1],c=new s(function(e,t,n){return 3*(t+n)/4-n}(0,i,l)),u=0,f=l>0?i-4:i;for(n=0;n<f;n+=4)t=r[e.charCodeAt(n)]<<18|r[e.charCodeAt(n+1)]<<12|r[e.charCodeAt(n+2)]<<6|r[e.charCodeAt(n+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=r[e.charCodeAt(n)]<<2|r[e.charCodeAt(n+1)]>>4,c[u++]=255&t),1===l&&(t=r[e.charCodeAt(n)]<<10|r[e.charCodeAt(n+1)]<<4|r[e.charCodeAt(n+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,r=e.length,s=r%3,a=[],i=16383,o=0,c=r-s;o<c;o+=i)a.push(l(e,o,o+i>c?c:o+i));return 1===s?(t=e[r-1],a.push(n[t>>2]+n[t<<4&63]+"==")):2===s&&(t=(e[r-2]<<8)+e[r-1],a.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),a.join("")};for(var n=[],r=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0;i<64;++i)n[i]=a[i],r[a.charCodeAt(i)]=i;function o(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,r){for(var s,a,i=[],o=t;o<r;o+=3)s=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),i.push(n[(a=s)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return i.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},238:(e,t,n)=>{var r=n(7172).Buffer;function s(e){r.isBuffer(e)||(e=r.from(e));for(var t=e.length/4|0,n=new Array(t),s=0;s<t;s++)n[s]=e.readUInt32BE(4*s);return n}function a(e){for(;0<e.length;e++)e[0]=0}function i(e,t,n,r,s){for(var a,i,o,l,c=n[0],u=n[1],f=n[2],d=n[3],_=e[0]^t[0],h=e[1]^t[1],p=e[2]^t[2],g=e[3]^t[3],b=4,m=1;m<s;m++)a=c[_>>>24]^u[h>>>16&255]^f[p>>>8&255]^d[255&g]^t[b++],i=c[h>>>24]^u[p>>>16&255]^f[g>>>8&255]^d[255&_]^t[b++],o=c[p>>>24]^u[g>>>16&255]^f[_>>>8&255]^d[255&h]^t[b++],l=c[g>>>24]^u[_>>>16&255]^f[h>>>8&255]^d[255&p]^t[b++],_=a,h=i,p=o,g=l;return a=(r[_>>>24]<<24|r[h>>>16&255]<<16|r[p>>>8&255]<<8|r[255&g])^t[b++],i=(r[h>>>24]<<24|r[p>>>16&255]<<16|r[g>>>8&255]<<8|r[255&_])^t[b++],o=(r[p>>>24]<<24|r[g>>>16&255]<<16|r[_>>>8&255]<<8|r[255&h])^t[b++],l=(r[g>>>24]<<24|r[_>>>16&255]<<16|r[h>>>8&255]<<8|r[255&p])^t[b++],[a>>>=0,i>>>=0,o>>>=0,l>>>=0]}var o=[0,1,2,4,8,16,32,64,128,27,54],l=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var n=[],r=[],s=[[],[],[],[]],a=[[],[],[],[]],i=0,o=0,l=0;l<256;++l){var c=o^o<<1^o<<2^o<<3^o<<4;c=c>>>8^255&c^99,n[i]=c,r[c]=i;var u=e[i],f=e[u],d=e[f],_=257*e[c]^16843008*c;s[0][i]=_<<24|_>>>8,s[1][i]=_<<16|_>>>16,s[2][i]=_<<8|_>>>24,s[3][i]=_,_=16843009*d^65537*f^257*u^16843008*i,a[0][c]=_<<24|_>>>8,a[1][c]=_<<16|_>>>16,a[2][c]=_<<8|_>>>24,a[3][c]=_,0===i?i=o=1:(i=u^e[e[e[d^u]]],o^=e[e[o]])}return{SBOX:n,INV_SBOX:r,SUB_MIX:s,INV_SUB_MIX:a}}();function c(e){this._key=s(e),this._reset()}c.blockSize=16,c.keySize=32,c.prototype.blockSize=c.blockSize,c.prototype.keySize=c.keySize,c.prototype._reset=function(){for(var e=this._key,t=e.length,n=t+6,r=4*(n+1),s=[],a=0;a<t;a++)s[a]=e[a];for(a=t;a<r;a++){var i=s[a-1];a%t==0?(i=i<<8|i>>>24,i=l.SBOX[i>>>24]<<24|l.SBOX[i>>>16&255]<<16|l.SBOX[i>>>8&255]<<8|l.SBOX[255&i],i^=o[a/t|0]<<24):t>6&&a%t==4&&(i=l.SBOX[i>>>24]<<24|l.SBOX[i>>>16&255]<<16|l.SBOX[i>>>8&255]<<8|l.SBOX[255&i]),s[a]=s[a-t]^i}for(var c=[],u=0;u<r;u++){var f=r-u,d=s[f-(u%4?0:4)];c[u]=u<4||f<=4?d:l.INV_SUB_MIX[0][l.SBOX[d>>>24]]^l.INV_SUB_MIX[1][l.SBOX[d>>>16&255]]^l.INV_SUB_MIX[2][l.SBOX[d>>>8&255]]^l.INV_SUB_MIX[3][l.SBOX[255&d]]}this._nRounds=n,this._keySchedule=s,this._invKeySchedule=c},c.prototype.encryptBlockRaw=function(e){return i(e=s(e),this._keySchedule,l.SUB_MIX,l.SBOX,this._nRounds)},c.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),n=r.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[1],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[3],12),n},c.prototype.decryptBlock=function(e){var t=(e=s(e))[1];e[1]=e[3],e[3]=t;var n=i(e,this._invKeySchedule,l.INV_SUB_MIX,l.INV_SBOX,this._nRounds),a=r.allocUnsafe(16);return a.writeUInt32BE(n[0],0),a.writeUInt32BE(n[3],4),a.writeUInt32BE(n[2],8),a.writeUInt32BE(n[1],12),a},c.prototype.scrub=function(){a(this._keySchedule),a(this._invKeySchedule),a(this._key)},e.exports.AES=c},8587:(e,t,n)=>{var r=n(238),s=n(7172).Buffer,a=n(3081),i=n(87),o=n(1219),l=n(7752),c=n(3480);function u(e,t,n,i){a.call(this);var l=s.alloc(4,0);this._cipher=new r.AES(t);var u=this._cipher.encryptBlock(l);this._ghash=new o(u),n=function(e,t,n){if(12===t.length)return e._finID=s.concat([t,s.from([0,0,0,1])]),s.concat([t,s.from([0,0,0,2])]);var r=new o(n),a=t.length,i=a%16;r.update(t),i&&(i=16-i,r.update(s.alloc(i,0))),r.update(s.alloc(8,0));var l=8*a,u=s.alloc(8);u.writeUIntBE(l,0,8),r.update(u),e._finID=r.state;var f=s.from(e._finID);return c(f),f}(this,n,u),this._prev=s.from(n),this._cache=s.allocUnsafe(0),this._secCache=s.allocUnsafe(0),this._decrypt=i,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}i(u,a),u.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=s.alloc(t,0),this._ghash.update(t))}this._called=!0;var n=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(n),this._len+=e.length,n},u.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=l(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var n=0;e.length!==t.length&&n++;for(var r=Math.min(e.length,t.length),s=0;s<r;++s)n+=e[s]^t[s];return n}(e,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=e,this._cipher.scrub()},u.prototype.getAuthTag=function(){if(this._decrypt||!s.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},u.prototype.setAuthTag=function(e){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=e},u.prototype.setAAD=function(e){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(e),this._alen+=e.length},e.exports=u},8901:(e,t,n)=>{var r=n(3615),s=n(2576),a=n(4636);t.createCipher=t.Cipher=r.createCipher,t.createCipheriv=t.Cipheriv=r.createCipheriv,t.createDecipher=t.Decipher=s.createDecipher,t.createDecipheriv=t.Decipheriv=s.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(a)}},2576:(e,t,n)=>{var r=n(8587),s=n(7172).Buffer,a=n(3834),i=n(2385),o=n(3081),l=n(238),c=n(5883);function u(e,t,n){o.call(this),this._cache=new f,this._last=void 0,this._cipher=new l.AES(t),this._prev=s.from(n),this._mode=e,this._autopadding=!0}function f(){this.cache=s.allocUnsafe(0)}function d(e,t,n){var o=a[e.toLowerCase()];if(!o)throw new TypeError("invalid suite type");if("string"==typeof n&&(n=s.from(n)),"GCM"!==o.mode&&n.length!==o.iv)throw new TypeError("invalid iv length "+n.length);if("string"==typeof t&&(t=s.from(t)),t.length!==o.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===o.type?new i(o.module,t,n,!0):"auth"===o.type?new r(o.module,t,n,!0):new u(o.module,t,n)}n(87)(u,o),u.prototype._update=function(e){var t,n;this._cache.add(e);for(var r=[];t=this._cache.get(this._autopadding);)n=this._mode.decrypt(this,t),r.push(n);return s.concat(r)},u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||t>16)throw new Error("unable to decrypt data");for(var n=-1;++n<t;)if(e[n+(16-t)]!==t)throw new Error("unable to decrypt data");if(16!==t)return e.slice(0,16-t)}(this._mode.decrypt(this,e));if(e)throw new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},f.prototype.add=function(e){this.cache=s.concat([this.cache,e])},f.prototype.get=function(e){var t;if(e){if(this.cache.length>16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},f.prototype.flush=function(){if(this.cache.length)return this.cache},t.createDecipher=function(e,t){var n=a[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var r=c(t,!1,n.key,n.iv);return d(e,r.key,r.iv)},t.createDecipheriv=d},3615:(e,t,n)=>{var r=n(3834),s=n(8587),a=n(7172).Buffer,i=n(2385),o=n(3081),l=n(238),c=n(5883);function u(e,t,n){o.call(this),this._cache=new d,this._cipher=new l.AES(t),this._prev=a.from(n),this._mode=e,this._autopadding=!0}n(87)(u,o),u.prototype._update=function(e){var t,n;this._cache.add(e);for(var r=[];t=this._cache.get();)n=this._mode.encrypt(this,t),r.push(n);return a.concat(r)};var f=a.alloc(16,16);function d(){this.cache=a.allocUnsafe(0)}function _(e,t,n){var o=r[e.toLowerCase()];if(!o)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=a.from(t)),t.length!==o.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof n&&(n=a.from(n)),"GCM"!==o.mode&&n.length!==o.iv)throw new TypeError("invalid iv length "+n.length);return"stream"===o.type?new i(o.module,t,n):"auth"===o.type?new s(o.module,t,n):new u(o.module,t,n)}u.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(f))throw this._cipher.scrub(),new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},d.prototype.add=function(e){this.cache=a.concat([this.cache,e])},d.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},d.prototype.flush=function(){for(var e=16-this.cache.length,t=a.allocUnsafe(e),n=-1;++n<e;)t.writeUInt8(e,n);return a.concat([this.cache,t])},t.createCipheriv=_,t.createCipher=function(e,t){var n=r[e.toLowerCase()];if(!n)throw new TypeError("invalid suite type");var s=c(t,!1,n.key,n.iv);return _(e,s.key,s.iv)}},1219:(e,t,n)=>{var r=n(7172).Buffer,s=r.alloc(16,0);function a(e){var t=r.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function i(e){this.h=e,this.state=r.alloc(16,0),this.cache=r.allocUnsafe(0)}i.prototype.ghash=function(e){for(var t=-1;++t<e.length;)this.state[t]^=e[t];this._multiply()},i.prototype._multiply=function(){for(var e,t,n,r=[(e=this.h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)],s=[0,0,0,0],i=-1;++i<128;){for(0!=(this.state[~~(i/8)]&1<<7-i%8)&&(s[0]^=r[0],s[1]^=r[1],s[2]^=r[2],s[3]^=r[3]),n=0!=(1&r[3]),t=3;t>0;t--)r[t]=r[t]>>>1|(1&r[t-1])<<31;r[0]=r[0]>>>1,n&&(r[0]=r[0]^225<<24)}this.state=a(s)},i.prototype.update=function(e){var t;for(this.cache=r.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},i.prototype.final=function(e,t){return this.cache.length&&this.ghash(r.concat([this.cache,s],16)),this.ghash(a([0,e,0,t])),this.state},e.exports=i},3480:e=>{e.exports=function(e){for(var t,n=e.length;n--;){if(255!==(t=e.readUInt8(n))){t++,e.writeUInt8(t,n);break}e.writeUInt8(0,n)}}},6280:(e,t,n)=>{var r=n(7752);t.encrypt=function(e,t){var n=r(t,e._prev);return e._prev=e._cipher.encryptBlock(n),e._prev},t.decrypt=function(e,t){var n=e._prev;e._prev=t;var s=e._cipher.decryptBlock(t);return r(s,n)}},392:(e,t,n)=>{var r=n(7172).Buffer,s=n(7752);function a(e,t,n){var a=t.length,i=s(t,e._cache);return e._cache=e._cache.slice(a),e._prev=r.concat([e._prev,n?t:i]),i}t.encrypt=function(e,t,n){for(var s,i=r.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=r.allocUnsafe(0)),!(e._cache.length<=t.length)){i=r.concat([i,a(e,t,n)]);break}s=e._cache.length,i=r.concat([i,a(e,t.slice(0,s),n)]),t=t.slice(s)}return i}},5739:(e,t,n)=>{var r=n(7172).Buffer;function s(e,t,n){for(var r,s,i=-1,o=0;++i<8;)r=t&1<<7-i?128:0,o+=(128&(s=e._cipher.encryptBlock(e._prev)[0]^r))>>i%8,e._prev=a(e._prev,n?r:s);return o}function a(e,t){var n=e.length,s=-1,a=r.allocUnsafe(e.length);for(e=r.concat([e,r.from([t])]);++s<n;)a[s]=e[s]<<1|e[s+1]>>7;return a}t.encrypt=function(e,t,n){for(var a=t.length,i=r.allocUnsafe(a),o=-1;++o<a;)i[o]=s(e,t[o],n);return i}},2228:(e,t,n)=>{var r=n(7172).Buffer;function s(e,t,n){var s=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=r.concat([e._prev.slice(1),r.from([n?t:s])]),s}t.encrypt=function(e,t,n){for(var a=t.length,i=r.allocUnsafe(a),o=-1;++o<a;)i[o]=s(e,t[o],n);return i}},2751:(e,t,n)=>{var r=n(7752),s=n(7172).Buffer,a=n(3480);function i(e){var t=e._cipher.encryptBlockRaw(e._prev);return a(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),a=e._cache.length;e._cache=s.concat([e._cache,s.allocUnsafe(16*n)]);for(var o=0;o<n;o++){var l=i(e),c=a+16*o;e._cache.writeUInt32BE(l[0],c+0),e._cache.writeUInt32BE(l[1],c+4),e._cache.writeUInt32BE(l[2],c+8),e._cache.writeUInt32BE(l[3],c+12)}var u=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),r(t,u)}},2437:(e,t)=>{t.encrypt=function(e,t){return e._cipher.encryptBlock(t)},t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},3834:(e,t,n)=>{var r={ECB:n(2437),CBC:n(6280),CFB:n(392),CFB8:n(2228),CFB1:n(5739),OFB:n(8428),CTR:n(2751),GCM:n(2751)},s=n(4636);for(var a in s)s[a].module=r[s[a].mode];e.exports=s},8428:(e,t,n)=>{var r=n(816).Buffer,s=n(7752);function a(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}t.encrypt=function(e,t){for(;e._cache.length<t.length;)e._cache=r.concat([e._cache,a(e)]);var n=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),s(t,n)}},2385:(e,t,n)=>{var r=n(238),s=n(7172).Buffer,a=n(3081);function i(e,t,n,i){a.call(this),this._cipher=new r.AES(t),this._prev=s.from(n),this._cache=s.allocUnsafe(0),this._secCache=s.allocUnsafe(0),this._decrypt=i,this._mode=e}n(87)(i,a),i.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},i.prototype._final=function(){this._cipher.scrub()},e.exports=i},1240:(e,t,n)=>{n(5681),n(8901),n(3834),n(1035),n(5883)},5681:(e,t,n)=>{var r=n(3081),s=n(7191),a=n(87),i=n(7172).Buffer,o={"des-ede3-cbc":s.CBC.instantiate(s.EDE),"des-ede3":s.EDE,"des-ede-cbc":s.CBC.instantiate(s.EDE),"des-ede":s.EDE,"des-cbc":s.CBC.instantiate(s.DES),"des-ecb":s.DES};function l(e){r.call(this);var t,n=e.mode.toLowerCase(),s=o[n];t=e.decrypt?"decrypt":"encrypt";var a=e.key;i.isBuffer(a)||(a=i.from(a)),"des-ede"!==n&&"des-ede-cbc"!==n||(a=i.concat([a,a.slice(0,8)]));var l=e.iv;i.isBuffer(l)||(l=i.from(l)),this._des=s.create({key:a,iv:l,type:t})}o.des=o["des-cbc"],o.des3=o["des-ede3-cbc"],e.exports=l,a(l,r),l.prototype._update=function(e){return i.from(this._des.update(e))},l.prototype._final=function(){return i.from(this._des.final())}},1035:(e,t)=>{t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}},7752:(e,t,n)=>{var r=n(816).Buffer;e.exports=function(e,t){for(var n=Math.min(e.length,t.length),s=new r(n),a=0;a<n;++a)s[a]=e[a]^t[a];return s}},816:(e,t,n)=>{const r=n(4782),s=n(8898),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50;const i=2147483647;function o(e){if(e>i)throw new RangeError('The value "'+e+'" is invalid for option "size"');const t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return c(e,t,n)}function c(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const n=0|p(e,t);let r=o(n);const s=r.write(e,t);return s!==n&&(r=r.slice(0,s)),r}(e,t);if(ArrayBuffer.isView(e))return function(e){if(J(e,Uint8Array)){const t=new Uint8Array(e);return _(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(J(e,ArrayBuffer)||e&&J(e.buffer,ArrayBuffer))return _(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(J(e,SharedArrayBuffer)||e&&J(e.buffer,SharedArrayBuffer)))return _(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=e.valueOf&&e.valueOf();if(null!=r&&r!==e)return l.from(r,t,n);const s=function(e){if(l.isBuffer(e)){const t=0|h(e.length),n=o(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||V(e.length)?o(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(s)return s;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return u(e),o(e<0?0:0|h(e))}function d(e){const t=e.length<0?0:0|h(e.length),n=o(t);for(let r=0;r<t;r+=1)n[r]=255&e[r];return n}function _(e,t,n){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(n||0))throw new RangeError('"length" is outside of buffer bounds');let r;return r=void 0===t&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,t):new Uint8Array(e,t,n),Object.setPrototypeOf(r,l.prototype),r}function h(e){if(e>=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||J(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);const n=e.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let s=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return Q(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return X(e).length;default:if(s)return r?-1:Q(e).length;t=(""+t).toLowerCase(),s=!0}}function g(e,t,n){let r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return I(this,t,n);case"utf8":case"utf-8":return C(this,t,n);case"ascii":return P(this,t,n);case"latin1":case"binary":return N(this,t,n);case"base64":return S(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function b(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function m(e,t,n,r,s){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=s?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(s)return-1;n=e.length-1}else if(n<0){if(!s)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,s);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,s);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,s){let a,i=1,o=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;i=2,o/=2,l/=2,n/=2}function c(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}if(s){let r=-1;for(a=n;a<o;a++)if(c(e,a)===c(t,-1===r?0:a-r)){if(-1===r&&(r=a),a-r+1===l)return r*i}else-1!==r&&(a-=a-r),r=-1}else for(n+l>o&&(n=o-l),a=n;a>=0;a--){let n=!0;for(let r=0;r<l;r++)if(c(e,a+r)!==c(t,r)){n=!1;break}if(n)return a}return-1}function v(e,t,n,r){n=Number(n)||0;const s=e.length-n;r?(r=Number(r))>s&&(r=s):r=s;const a=t.length;let i;for(r>a/2&&(r=a/2),i=0;i<r;++i){const r=parseInt(t.substr(2*i,2),16);if(V(r))return i;e[n+i]=r}return i}function w(e,t,n,r){return Y(Q(t,e.length-n),e,n,r)}function E(e,t,n,r){return Y(function(e){const t=[];for(let n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function L(e,t,n,r){return Y(X(t),e,n,r)}function A(e,t,n,r){return Y(function(e,t){let n,r,s;const a=[];for(let i=0;i<e.length&&!((t-=2)<0);++i)n=e.charCodeAt(i),r=n>>8,s=n%256,a.push(s),a.push(r);return a}(t,e.length-n),e,n,r)}function S(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function C(e,t,n){n=Math.min(e.length,n);const r=[];let s=t;for(;s<n;){const t=e[s];let a=null,i=t>239?4:t>223?3:t>191?2:1;if(s+i<=n){let n,r,o,l;switch(i){case 1:t<128&&(a=t);break;case 2:n=e[s+1],128==(192&n)&&(l=(31&t)<<6|63&n,l>127&&(a=l));break;case 3:n=e[s+1],r=e[s+2],128==(192&n)&&128==(192&r)&&(l=(15&t)<<12|(63&n)<<6|63&r,l>2047&&(l<55296||l>57343)&&(a=l));break;case 4:n=e[s+1],r=e[s+2],o=e[s+3],128==(192&n)&&128==(192&r)&&128==(192&o)&&(l=(15&t)<<18|(63&n)<<12|(63&r)<<6|63&o,l>65535&&l<1114112&&(a=l))}}null===a?(a=65533,i=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),s+=i}return function(e){const t=e.length;if(t<=T)return String.fromCharCode.apply(String,e);let n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=T));return n}(r)}t.kMaxLength=i,l.TYPED_ARRAY_SUPPORT=function(){try{const e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),l.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||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."),Object.defineProperty(l.prototype,"parent",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,"offset",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}}),l.poolSize=8192,l.from=function(e,t,n){return c(e,t,n)},Object.setPrototypeOf(l.prototype,Uint8Array.prototype),Object.setPrototypeOf(l,Uint8Array),l.alloc=function(e,t,n){return function(e,t,n){return u(e),e<=0?o(e):void 0!==t?"string"==typeof n?o(e).fill(t,n):o(e).fill(t):o(e)}(e,t,n)},l.allocUnsafe=function(e){return f(e)},l.allocUnsafeSlow=function(e){return f(e)},l.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==l.prototype},l.compare=function(e,t){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),J(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let n=e.length,r=t.length;for(let s=0,a=Math.min(n,r);s<a;++s)if(e[s]!==t[s]){n=e[s],r=t[s];break}return n<r?-1:r<n?1:0},l.isEncoding=function(e){switch(String(e).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}},l.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);let n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;const r=l.allocUnsafe(t);let s=0;for(n=0;n<e.length;++n){let t=e[n];if(J(t,Uint8Array))s+t.length>r.length?(l.isBuffer(t)||(t=l.from(t)),t.copy(r,s)):Uint8Array.prototype.set.call(r,t,s);else{if(!l.isBuffer(t))throw new TypeError('"list" argument must be an Array of Buffers');t.copy(r,s)}s+=t.length}return r},l.byteLength=p,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<e;t+=2)b(this,t,t+1);return this},l.prototype.swap32=function(){const e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<e;t+=4)b(this,t,t+3),b(this,t+1,t+2);return this},l.prototype.swap64=function(){const e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<e;t+=8)b(this,t,t+7),b(this,t+1,t+6),b(this,t+2,t+5),b(this,t+3,t+4);return this},l.prototype.toString=function(){const e=this.length;return 0===e?"":0===arguments.length?C(this,0,e):g.apply(this,arguments)},l.prototype.toLocaleString=l.prototype.toString,l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){let e="";const n=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,n).replace(/(.{2})/g,"$1 ").trim(),this.length>n&&(e+=" ... "),"<Buffer "+e+">"},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(e,t,n,r,s){if(J(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===s&&(s=this.length),t<0||n>e.length||r<0||s>this.length)throw new RangeError("out of range index");if(r>=s&&t>=n)return 0;if(r>=s)return-1;if(t>=n)return 1;if(this===e)return 0;let a=(s>>>=0)-(r>>>=0),i=(n>>>=0)-(t>>>=0);const o=Math.min(a,i),c=this.slice(r,s),u=e.slice(t,n);for(let e=0;e<o;++e)if(c[e]!==u[e]){a=c[e],i=u[e];break}return a<i?-1:i<a?1:0},l.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},l.prototype.indexOf=function(e,t,n){return m(this,e,t,n,!0)},l.prototype.lastIndexOf=function(e,t,n){return m(this,e,t,n,!1)},l.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}const s=this.length-t;if((void 0===n||n>s)&&(n=s),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let a=!1;for(;;)switch(r){case"hex":return v(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":case"latin1":case"binary":return E(this,e,t,n);case"base64":return L(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const T=4096;function P(e,t,n){let r="";n=Math.min(e.length,n);for(let s=t;s<n;++s)r+=String.fromCharCode(127&e[s]);return r}function N(e,t,n){let r="";n=Math.min(e.length,n);for(let s=t;s<n;++s)r+=String.fromCharCode(e[s]);return r}function I(e,t,n){const r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);let s="";for(let r=t;r<n;++r)s+=q[e[r]];return s}function k(e,t,n){const r=e.slice(t,n);let s="";for(let e=0;e<r.length-1;e+=2)s+=String.fromCharCode(r[e]+256*r[e+1]);return s}function x(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function R(e,t,n,r,s,a){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||t<a)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function B(e,t,n,r,s){j(t,r,s,e,n,7);let a=Number(t&BigInt(4294967295));e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=i,i>>=8,e[n++]=i,i>>=8,e[n++]=i,i>>=8,e[n++]=i,n}function O(e,t,n,r,s){j(t,r,s,e,n,7);let a=Number(t&BigInt(4294967295));e[n+7]=a,a>>=8,e[n+6]=a,a>>=8,e[n+5]=a,a>>=8,e[n+4]=a;let i=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=i,i>>=8,e[n+2]=i,i>>=8,e[n+1]=i,i>>=8,e[n]=i,n+8}function D(e,t,n,r,s,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function F(e,t,n,r,a){return t=+t,n>>>=0,a||D(e,0,n,4),s.write(e,t,n,r,23,4),n+4}function H(e,t,n,r,a){return t=+t,n>>>=0,a||D(e,0,n,8),s.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){const n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);const r=this.subarray(e,t);return Object.setPrototypeOf(r,l.prototype),r},l.prototype.readUintLE=l.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);let r=this[e],s=1,a=0;for(;++a<t&&(s*=256);)r+=this[e+a]*s;return r},l.prototype.readUintBE=l.prototype.readUIntBE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);let r=this[e+--t],s=1;for(;t>0&&(s*=256);)r+=this[e+--t]*s;return r},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||x(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||x(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||x(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||x(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||x(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readBigUInt64LE=K((function(e){Z(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||W(e,this.length-8);const r=t+256*this[++e]+65536*this[++e]+this[++e]*2**24,s=this[++e]+256*this[++e]+65536*this[++e]+n*2**24;return BigInt(r)+(BigInt(s)<<BigInt(32))})),l.prototype.readBigUInt64BE=K((function(e){Z(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||W(e,this.length-8);const r=t*2**24+65536*this[++e]+256*this[++e]+this[++e],s=this[++e]*2**24+65536*this[++e]+256*this[++e]+n;return(BigInt(r)<<BigInt(32))+BigInt(s)})),l.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);let r=this[e],s=1,a=0;for(;++a<t&&(s*=256);)r+=this[e+a]*s;return s*=128,r>=s&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);let r=t,s=1,a=this[e+--r];for(;r>0&&(s*=256);)a+=this[e+--r]*s;return s*=128,a>=s&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return e>>>=0,t||x(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||x(e,2,this.length);const n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||x(e,2,this.length);const n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||x(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||x(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readBigInt64LE=K((function(e){Z(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||W(e,this.length-8);const r=this[e+4]+256*this[e+5]+65536*this[e+6]+(n<<24);return(BigInt(r)<<BigInt(32))+BigInt(t+256*this[++e]+65536*this[++e]+this[++e]*2**24)})),l.prototype.readBigInt64BE=K((function(e){Z(e>>>=0,"offset");const t=this[e],n=this[e+7];void 0!==t&&void 0!==n||W(e,this.length-8);const r=(t<<24)+65536*this[++e]+256*this[++e]+this[++e];return(BigInt(r)<<BigInt(32))+BigInt(this[++e]*2**24+65536*this[++e]+256*this[++e]+n)})),l.prototype.readFloatLE=function(e,t){return e>>>=0,t||x(e,4,this.length),s.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||x(e,4,this.length),s.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||x(e,8,this.length),s.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||x(e,8,this.length),s.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,r){e=+e,t>>>=0,n>>>=0,r||R(this,e,t,n,Math.pow(2,8*n)-1,0);let s=1,a=0;for(this[t]=255&e;++a<n&&(s*=256);)this[t+a]=e/s&255;return t+n},l.prototype.writeUintBE=l.prototype.writeUIntBE=function(e,t,n,r){e=+e,t>>>=0,n>>>=0,r||R(this,e,t,n,Math.pow(2,8*n)-1,0);let s=n-1,a=1;for(this[t+s]=255&e;--s>=0&&(a*=256);)this[t+s]=e/a&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigUInt64LE=K((function(e,t=0){return B(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=K((function(e,t=0){return O(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){const r=Math.pow(2,8*n-1);R(this,e,t,n,r-1,-r)}let s=0,a=1,i=0;for(this[t]=255&e;++s<n&&(a*=256);)e<0&&0===i&&0!==this[t+s-1]&&(i=1),this[t+s]=(e/a>>0)-i&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){const r=Math.pow(2,8*n-1);R(this,e,t,n,r-1,-r)}let s=n-1,a=1,i=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===i&&0!==this[t+s+1]&&(i=1),this[t+s]=(e/a>>0)-i&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||R(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeBigInt64LE=K((function(e,t=0){return B(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=K((function(e,t=0){return O(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(e,t,n){return F(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return F(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return H(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return H(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);const s=r-n;return this===e&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,n,r):Uint8Array.prototype.set.call(e,this.subarray(n,r),t),s},l.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!l.isEncoding(r))throw new TypeError("Unknown encoding: "+r);if(1===e.length){const t=e.charCodeAt(0);("utf8"===r&&t<128||"latin1"===r)&&(e=t)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;let s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{const a=l.isBuffer(e)?e:l.from(e,r),i=a.length;if(0===i)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(s=0;s<n-t;++s)this[s+t]=a[s%i]}return this};const M={};function z(e,t,n){M[e]=class extends n{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}function U(e){let t="",n=e.length;const r="-"===e[0]?1:0;for(;n>=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function j(e,t,n,r,s,a){if(e>n||e<t){const r="bigint"==typeof t?"n":"";let s;throw s=a>3?0===t||t===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(a+1)}${r}`:`>= -(2${r} ** ${8*(a+1)-1}${r}) and < 2 ** ${8*(a+1)-1}${r}`:`>= ${t}${r} and <= ${n}${r}`,new M.ERR_OUT_OF_RANGE("value",s,e)}!function(e,t,n){Z(t,"offset"),void 0!==e[t]&&void 0!==e[t+n]||W(t,e.length-(n+1))}(r,s,a)}function Z(e,t){if("number"!=typeof e)throw new M.ERR_INVALID_ARG_TYPE(t,"number",e)}function W(e,t,n){if(Math.floor(e)!==e)throw Z(e,n),new M.ERR_OUT_OF_RANGE(n||"offset","an integer",e);if(t<0)throw new M.ERR_BUFFER_OUT_OF_BOUNDS;throw new M.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${t}`,e)}z("ERR_BUFFER_OUT_OF_BOUNDS",(function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),z("ERR_INVALID_ARG_TYPE",(function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`}),TypeError),z("ERR_OUT_OF_RANGE",(function(e,t,n){let r=`The value of "${e}" is out of range.`,s=n;return Number.isInteger(n)&&Math.abs(n)>2**32?s=U(String(n)):"bigint"==typeof n&&(s=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(s=U(s)),s+="n"),r+=` It must be ${t}. Received ${s}`,r}),RangeError);const G=/[^+/0-9A-Za-z-_]/g;function Q(e,t){let n;t=t||1/0;const r=e.length;let s=null;const a=[];for(let i=0;i<r;++i){if(n=e.charCodeAt(i),n>55295&&n<57344){if(!s){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&a.push(239,191,189);continue}s=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),s=n;continue}n=65536+(s-55296<<10|n-56320)}else s&&(t-=3)>-1&&a.push(239,191,189);if(s=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function X(e){return r.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(G,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Y(e,t,n,r){let s;for(s=0;s<r&&!(s+n>=t.length||s>=e.length);++s)t[s+n]=e[s];return s}function J(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}const q=function(){const e="0123456789abcdef",t=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let s=0;s<16;++s)t[r+s]=e[n]+e[s]}return t}();function K(e){return"undefined"==typeof BigInt?$:e}function $(){throw new Error("BigInt not supported")}},3081:(e,t,n)=>{var r=n(7172).Buffer,s=n(3424).Transform,a=n(4361).s;function i(e){s.call(this),this.hashMode="string"==typeof e,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}n(87)(i,s),i.prototype.update=function(e,t,n){"string"==typeof e&&(e=r.from(e,t));var s=this._update(e);return this.hashMode?this:(n&&(s=this._toString(s,n)),s)},i.prototype.setAutoPadding=function(){},i.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},i.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},i.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},i.prototype._transform=function(e,t,n){var r;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){r=e}finally{n(r)}},i.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},i.prototype._finalOrDigest=function(e){var t=this.__final()||r.alloc(0);return e&&(t=this._toString(t,e,!0)),t},i.prototype._toString=function(e,t,n){if(this._decoder||(this._decoder=new a(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var r=this._decoder.write(e);return n&&(r+=this._decoder.end()),r},e.exports=i},5862:e=>{var t=1e3,n=60*t,r=60*n,s=24*r;function a(e,t,n,r){var s=t>=1.5*n;return Math.round(e/n)+" "+r+(s?"s":"")}e.exports=function(e,i){i=i||{};var o,l,c=typeof e;if("string"===c&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(a){var i=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*i;case"weeks":case"week":case"w":return 6048e5*i;case"days":case"day":case"d":return i*s;case"hours":case"hour":case"hrs":case"hr":case"h":return i*r;case"minutes":case"minute":case"mins":case"min":case"m":return i*n;case"seconds":case"second":case"secs":case"sec":case"s":return i*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}(e);if("number"===c&&isFinite(e))return i.long?(o=e,(l=Math.abs(o))>=s?a(o,l,s,"day"):l>=r?a(o,l,r,"hour"):l>=n?a(o,l,n,"minute"):l>=t?a(o,l,t,"second"):o+" ms"):function(e){var a=Math.abs(e);return a>=s?Math.round(e/s)+"d":a>=r?Math.round(e/r)+"h":a>=n?Math.round(e/n)+"m":a>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},6292:(e,t,n)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let r=0,s=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(r++,"%c"===e&&(s=r))})),t.splice(s,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e={NODE_ENV:"production"}.DEBUG),e},t.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=n(9374)(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},9374:(e,t,n)=>{e.exports=function(e){function t(e){let n,s,a,i=null;function o(...e){if(!o.enabled)return;const r=o,s=Number(new Date),a=s-(n||s);r.diff=a,r.prev=n,r.curr=s,n=s,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let i=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((n,s)=>{if("%%"===n)return"%";i++;const a=t.formatters[s];if("function"==typeof a){const t=e[i];n=a.call(r,t),e.splice(i,1),i--}return n})),t.formatArgs.call(r,e),(r.log||t.log).apply(r,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=r,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==i?i:(s!==t.namespaces&&(s=t.namespaces,a=t.enabled(e)),a),set:e=>{i=e}}),"function"==typeof t.init&&t.init(o),o}function r(e,n){const r=t(this.namespace+(void 0===n?":":n)+e);return r.log=this.log,r}function s(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(s),...t.skips.map(s).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let n;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),s=r.length;for(n=0;n<s;n++)r[n]&&("-"===(e=r[n].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let n,r;for(n=0,r=t.skips.length;n<r;n++)if(t.skips[n].test(e))return!1;for(n=0,r=t.names.length;n<r;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(5862),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((n=>{t[n]=e[n]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t}},7191:(e,t,n)=>{t.utils=n(5516),t.Cipher=n(4923),t.DES=n(225),t.CBC=n(8701),t.EDE=n(6540)},8701:(e,t,n)=>{var r=n(7859),s=n(87),a={};function i(e){r.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}t.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}s(t,e);for(var n=Object.keys(a),r=0;r<n.length;r++){var i=n[r];t.prototype[i]=a[i]}return t.create=function(e){return new t(e)},t},a._cbcInit=function(){var e=new i(this.options.iv);this._cbcState=e},a._update=function(e,t,n,r){var s=this._cbcState,a=this.constructor.super_.prototype,i=s.iv;if("encrypt"===this.type){for(var o=0;o<this.blockSize;o++)i[o]^=e[t+o];for(a._update.call(this,i,0,n,r),o=0;o<this.blockSize;o++)i[o]=n[r+o]}else{for(a._update.call(this,e,t,n,r),o=0;o<this.blockSize;o++)n[r+o]^=i[o];for(o=0;o<this.blockSize;o++)i[o]=e[t+o]}}},4923:(e,t,n)=>{var r=n(7859);function s(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0,this.padding=!1!==e.padding}e.exports=s,s.prototype._init=function(){},s.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},s.prototype._buffer=function(e,t){for(var n=Math.min(this.buffer.length-this.bufferOff,e.length-t),r=0;r<n;r++)this.buffer[this.bufferOff+r]=e[t+r];return this.bufferOff+=n,n},s.prototype._flushBuffer=function(e,t){return this._update(this.buffer,0,e,t),this.bufferOff=0,this.blockSize},s.prototype._updateEncrypt=function(e){var t=0,n=0,r=(this.bufferOff+e.length)/this.blockSize|0,s=new Array(r*this.blockSize);0!==this.bufferOff&&(t+=this._buffer(e,t),this.bufferOff===this.buffer.length&&(n+=this._flushBuffer(s,n)));for(var a=e.length-(e.length-t)%this.blockSize;t<a;t+=this.blockSize)this._update(e,t,s,n),n+=this.blockSize;for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return s},s.prototype._updateDecrypt=function(e){for(var t=0,n=0,r=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1,s=new Array(r*this.blockSize);r>0;r--)t+=this._buffer(e,t),n+=this._flushBuffer(s,n);return t+=this._buffer(e,t),s},s.prototype.final=function(e){var t,n;return e&&(t=this.update(e)),n="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(n):n},s.prototype._pad=function(e,t){if(0===t)return!1;for(;t<e.length;)e[t++]=0;return!0},s.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);return this._update(this.buffer,0,e,0),e},s.prototype._unpad=function(e){return e},s.prototype._finalDecrypt=function(){r.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var e=new Array(this.blockSize);return this._flushBuffer(e,0),this._unpad(e)}},225:(e,t,n)=>{var r=n(7859),s=n(87),a=n(5516),i=n(4923);function o(){this.tmp=new Array(2),this.keys=null}function l(e){i.call(this,e);var t=new o;this._desState=t,this.deriveKeys(t,e.key)}s(l,i),e.exports=l,l.create=function(e){return new l(e)};var c=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];l.prototype.deriveKeys=function(e,t){e.keys=new Array(32),r.equal(t.length,this.blockSize,"Invalid key length");var n=a.readUInt32BE(t,0),s=a.readUInt32BE(t,4);a.pc1(n,s,e.tmp,0),n=e.tmp[0],s=e.tmp[1];for(var i=0;i<e.keys.length;i+=2){var o=c[i>>>1];n=a.r28shl(n,o),s=a.r28shl(s,o),a.pc2(n,s,e.keys,i)}},l.prototype._update=function(e,t,n,r){var s=this._desState,i=a.readUInt32BE(e,t),o=a.readUInt32BE(e,t+4);a.ip(i,o,s.tmp,0),i=s.tmp[0],o=s.tmp[1],"encrypt"===this.type?this._encrypt(s,i,o,s.tmp,0):this._decrypt(s,i,o,s.tmp,0),i=s.tmp[0],o=s.tmp[1],a.writeUInt32BE(n,i,r),a.writeUInt32BE(n,o,r+4)},l.prototype._pad=function(e,t){if(!1===this.padding)return!1;for(var n=e.length-t,r=t;r<e.length;r++)e[r]=n;return!0},l.prototype._unpad=function(e){if(!1===this.padding)return e;for(var t=e[e.length-1],n=e.length-t;n<e.length;n++)r.equal(e[n],t);return e.slice(0,e.length-t)},l.prototype._encrypt=function(e,t,n,r,s){for(var i=t,o=n,l=0;l<e.keys.length;l+=2){var c=e.keys[l],u=e.keys[l+1];a.expand(o,e.tmp,0),c^=e.tmp[0],u^=e.tmp[1];var f=a.substitute(c,u),d=o;o=(i^a.permute(f))>>>0,i=d}a.rip(o,i,r,s)},l.prototype._decrypt=function(e,t,n,r,s){for(var i=n,o=t,l=e.keys.length-2;l>=0;l-=2){var c=e.keys[l],u=e.keys[l+1];a.expand(i,e.tmp,0),c^=e.tmp[0],u^=e.tmp[1];var f=a.substitute(c,u),d=i;i=(o^a.permute(f))>>>0,o=d}a.rip(i,o,r,s)}},6540:(e,t,n)=>{var r=n(7859),s=n(87),a=n(4923),i=n(225);function o(e,t){r.equal(t.length,24,"Invalid key length");var n=t.slice(0,8),s=t.slice(8,16),a=t.slice(16,24);this.ciphers="encrypt"===e?[i.create({type:"encrypt",key:n}),i.create({type:"decrypt",key:s}),i.create({type:"encrypt",key:a})]:[i.create({type:"decrypt",key:a}),i.create({type:"encrypt",key:s}),i.create({type:"decrypt",key:n})]}function l(e){a.call(this,e);var t=new o(this.type,this.options.key);this._edeState=t}s(l,a),e.exports=l,l.create=function(e){return new l(e)},l.prototype._update=function(e,t,n,r){var s=this._edeState;s.ciphers[0]._update(e,t,n,r),s.ciphers[1]._update(n,r,n,r),s.ciphers[2]._update(n,r,n,r)},l.prototype._pad=i.prototype._pad,l.prototype._unpad=i.prototype._unpad},5516:(e,t)=>{t.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},t.writeUInt32BE=function(e,t,n){e[0+n]=t>>>24,e[1+n]=t>>>16&255,e[2+n]=t>>>8&255,e[3+n]=255&t},t.ip=function(e,t,n,r){for(var s=0,a=0,i=6;i>=0;i-=2){for(var o=0;o<=24;o+=8)s<<=1,s|=t>>>o+i&1;for(o=0;o<=24;o+=8)s<<=1,s|=e>>>o+i&1}for(i=6;i>=0;i-=2){for(o=1;o<=25;o+=8)a<<=1,a|=t>>>o+i&1;for(o=1;o<=25;o+=8)a<<=1,a|=e>>>o+i&1}n[r+0]=s>>>0,n[r+1]=a>>>0},t.rip=function(e,t,n,r){for(var s=0,a=0,i=0;i<4;i++)for(var o=24;o>=0;o-=8)s<<=1,s|=t>>>o+i&1,s<<=1,s|=e>>>o+i&1;for(i=4;i<8;i++)for(o=24;o>=0;o-=8)a<<=1,a|=t>>>o+i&1,a<<=1,a|=e>>>o+i&1;n[r+0]=s>>>0,n[r+1]=a>>>0},t.pc1=function(e,t,n,r){for(var s=0,a=0,i=7;i>=5;i--){for(var o=0;o<=24;o+=8)s<<=1,s|=t>>o+i&1;for(o=0;o<=24;o+=8)s<<=1,s|=e>>o+i&1}for(o=0;o<=24;o+=8)s<<=1,s|=t>>o+i&1;for(i=1;i<=3;i++){for(o=0;o<=24;o+=8)a<<=1,a|=t>>o+i&1;for(o=0;o<=24;o+=8)a<<=1,a|=e>>o+i&1}for(o=0;o<=24;o+=8)a<<=1,a|=e>>o+i&1;n[r+0]=s>>>0,n[r+1]=a>>>0},t.r28shl=function(e,t){return e<<t&268435455|e>>>28-t};var n=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function(e,t,r,s){for(var a=0,i=0,o=n.length>>>1,l=0;l<o;l++)a<<=1,a|=e>>>n[l]&1;for(l=o;l<n.length;l++)i<<=1,i|=t>>>n[l]&1;r[s+0]=a>>>0,r[s+1]=i>>>0},t.expand=function(e,t,n){var r=0,s=0;r=(1&e)<<5|e>>>27;for(var a=23;a>=15;a-=4)r<<=6,r|=e>>>a&63;for(a=11;a>=3;a-=4)s|=e>>>a&63,s<<=6;s|=(31&e)<<1|e>>>31,t[n+0]=r>>>0,t[n+1]=s>>>0};var r=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function(e,t){for(var n=0,s=0;s<4;s++)n<<=4,n|=r[64*s+(e>>>18-6*s&63)];for(s=0;s<4;s++)n<<=4,n|=r[256+64*s+(t>>>18-6*s&63)];return n>>>0};var s=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function(e){for(var t=0,n=0;n<s.length;n++)t<<=1,t|=e>>>s[n]&1;return t>>>0},t.padSplit=function(e,t,n){for(var r=e.toString(2);r.length<t;)r="0"+r;for(var s=[],a=0;a<t;a+=n)s.push(r.slice(a,a+n));return s.join(" ")}},3302:e=>{e.exports=!1},343:e=>{var t,n="object"==typeof Reflect?Reflect:null,r=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,r){function s(n){e.removeListener(t,a),r(n)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",s),n([].slice.call(arguments))}p(e,t,a,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&p(e,"error",t,{once:!0})}(e,s)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var i=10;function o(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function c(e,t,n,r){var s,a,i,c;if(o(n),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),i=a[t]),void 0===i)i=a[t]=n,++e._eventsCount;else if("function"==typeof i?i=a[t]=r?[n,i]:[i,n]:r?i.unshift(n):i.push(n),(s=l(e))>0&&i.length>s&&!i.warned){i.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=i.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},s=u.bind(r);return s.listener=n,r.wrapFn=s,s}function d(e,t,n){var r=e._events;if(void 0===r)return[];var s=r[t];return void 0===s?[]:"function"==typeof s?n?[s.listener||s]:[s]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(s):h(s,s.length)}function _(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function h(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function p(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function s(a){r.once&&e.removeEventListener(t,s),n(a)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return l(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var s="error"===e,a=this._events;if(void 0!==a)s=s&&void 0===a.error;else if(!s)return!1;if(s){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var o=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw o.context=i,o}var l=a[e];if(void 0===l)return!1;if("function"==typeof l)r(l,this,t);else{var c=l.length,u=h(l,c);for(n=0;n<c;++n)r(u[n],this,t)}return!0},a.prototype.addListener=function(e,t){return c(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return c(this,e,t,!0)},a.prototype.once=function(e,t){return o(t),this.on(e,f(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return o(t),this.prependListener(e,f(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,r,s,a,i;if(o(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(s=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){i=n[a].listener,s=a;break}if(s<0)return this;0===s?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,s),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,i||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var s,a=Object.keys(n);for(r=0;r<a.length;++r)"removeListener"!==(s=a[r])&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return d(this,e,!0)},a.prototype.rawListeners=function(e){return d(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):_.call(e,t)},a.prototype.listenerCount=_,a.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},5883:(e,t,n)=>{var r=n(7172).Buffer,s=n(9500);e.exports=function(e,t,n,a){if(r.isBuffer(e)||(e=r.from(e,"binary")),t&&(r.isBuffer(t)||(t=r.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var i=n/8,o=r.alloc(i),l=r.alloc(a||0),c=r.alloc(0);i>0||a>0;){var u=new s;u.update(c),u.update(e),t&&u.update(t),c=u.digest();var f=0;if(i>0){var d=o.length-i;f=Math.min(i,c.length),c.copy(o,d,0,f),i-=f}if(f<c.length&&a>0){var _=l.length-a,h=Math.min(a,c.length-f);c.copy(l,_,f,f+h),a-=h}}return c.fill(0),{key:o,iv:l}}},6883:(e,t,n)=>{var r=n(7172).Buffer,s=n(8310).Transform;function a(e){s.call(this),this._block=r.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}n(87)(a,s),a.prototype._transform=function(e,t,n){var r=null;try{this.update(e,t)}catch(e){r=e}n(r)},a.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},a.prototype.update=function(e,t){if(function(e,t){if(!r.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer")}(e),this._finalized)throw new Error("Digest already called");r.isBuffer(e)||(e=r.from(e,t));for(var n=this._block,s=0;this._blockOffset+e.length-s>=this._blockSize;){for(var a=this._blockOffset;a<this._blockSize;)n[a++]=e[s++];this._update(),this._blockOffset=0}for(;s<e.length;)n[this._blockOffset++]=e[s++];for(var i=0,o=8*e.length;o>0;++i)this._length[i]+=o,(o=this._length[i]/4294967296|0)>0&&(this._length[i]-=4294967296*o);return this},a.prototype._update=function(){throw new Error("_update is not implemented")},a.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var n=0;n<4;++n)this._length[n]=0;return t},a.prototype._digest=function(){throw new Error("_digest is not implemented")},e.exports=a},5294:(e,t,n)=>{var r=t;r.utils=n(8626),r.common=n(8717),r.sha=n(2589),r.ripemd=n(8494),r.hmac=n(2750),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},8717:(e,t,n)=>{var r=n(8626),s=n(7859);function a(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=a,a.prototype.update=function(e,t){if(e=r.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=r.join32(e,0,e.length-n,this.endian);for(var s=0;s<e.length;s+=this._delta32)this._update(e,s,s+this._delta32)}return this},a.prototype.digest=function(e){return this.update(this._pad()),s(null===this.pending),this._digest(e)},a.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=new Array(n+this.padLength);r[0]=128;for(var s=1;s<n;s++)r[s]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)r[s++]=0;r[s++]=0,r[s++]=0,r[s++]=0,r[s++]=0,r[s++]=e>>>24&255,r[s++]=e>>>16&255,r[s++]=e>>>8&255,r[s++]=255&e}else for(r[s++]=255&e,r[s++]=e>>>8&255,r[s++]=e>>>16&255,r[s++]=e>>>24&255,r[s++]=0,r[s++]=0,r[s++]=0,r[s++]=0,a=8;a<this.padLength;a++)r[s++]=0;return r}},2750:(e,t,n)=>{var r=n(8626),s=n(7859);function a(e,t,n){if(!(this instanceof a))return new a(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(t,n))}e.exports=a,a.prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),s(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},a.prototype.update=function(e,t){return this.inner.update(e,t),this},a.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},8494:(e,t,n)=>{var r=n(8626),s=n(8717),a=r.rotl32,i=r.sum32,o=r.sum32_3,l=r.sum32_4,c=s.BlockHash;function u(){if(!(this instanceof u))return new u;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function f(e,t,n,r){return e<=15?t^n^r:e<=31?t&n|~t&r:e<=47?(t|~n)^r:e<=63?t&r|n&~r:t^(n|~r)}function d(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function _(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}r.inherits(u,c),t.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(e,t){for(var n=this.h[0],r=this.h[1],s=this.h[2],c=this.h[3],u=this.h[4],m=n,y=r,v=s,w=c,E=u,L=0;L<80;L++){var A=i(a(l(n,f(L,r,s,c),e[h[L]+t],d(L)),g[L]),u);n=u,u=c,c=a(s,10),s=r,r=A,A=i(a(l(m,f(79-L,y,v,w),e[p[L]+t],_(L)),b[L]),E),m=E,E=w,w=a(v,10),v=y,y=A}A=o(this.h[1],s,w),this.h[1]=o(this.h[2],c,E),this.h[2]=o(this.h[3],u,m),this.h[3]=o(this.h[4],n,y),this.h[4]=o(this.h[0],r,v),this.h[0]=A},u.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"little"):r.split32(this.h,"little")};var h=[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],p=[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],g=[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],b=[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]},2589:(e,t,n)=>{t.sha1=n(9330),t.sha224=n(5168),t.sha256=n(375),t.sha384=n(8899),t.sha512=n(790)},9330:(e,t,n)=>{var r=n(8626),s=n(8717),a=n(8156),i=r.rotl32,o=r.sum32,l=r.sum32_5,c=a.ft_1,u=s.BlockHash,f=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r.inherits(d,u),e.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=i(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var s=this.h[0],a=this.h[1],u=this.h[2],d=this.h[3],_=this.h[4];for(r=0;r<n.length;r++){var h=~~(r/20),p=l(i(s,5),c(h,a,u,d),_,n[r],f[h]);_=d,d=u,u=i(a,30),a=s,s=p}this.h[0]=o(this.h[0],s),this.h[1]=o(this.h[1],a),this.h[2]=o(this.h[2],u),this.h[3]=o(this.h[3],d),this.h[4]=o(this.h[4],_)},d.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},5168:(e,t,n)=>{var r=n(8626),s=n(375);function a(){if(!(this instanceof a))return new a;s.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(a,s),e.exports=a,a.blockSize=512,a.outSize=224,a.hmacStrength=192,a.padLength=64,a.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,7),"big"):r.split32(this.h.slice(0,7),"big")}},375:(e,t,n)=>{var r=n(8626),s=n(8717),a=n(8156),i=n(7859),o=r.sum32,l=r.sum32_4,c=r.sum32_5,u=a.ch32,f=a.maj32,d=a.s0_256,_=a.s1_256,h=a.g0_256,p=a.g1_256,g=s.BlockHash,b=[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];function m(){if(!(this instanceof m))return new m;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=b,this.W=new Array(64)}r.inherits(m,g),e.exports=m,m.blockSize=512,m.outSize=256,m.hmacStrength=192,m.padLength=64,m.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=l(p(n[r-2]),n[r-7],h(n[r-15]),n[r-16]);var s=this.h[0],a=this.h[1],g=this.h[2],b=this.h[3],m=this.h[4],y=this.h[5],v=this.h[6],w=this.h[7];for(i(this.k.length===n.length),r=0;r<n.length;r++){var E=c(w,_(m),u(m,y,v),this.k[r],n[r]),L=o(d(s),f(s,a,g));w=v,v=y,y=m,m=o(b,E),b=g,g=a,a=s,s=o(E,L)}this.h[0]=o(this.h[0],s),this.h[1]=o(this.h[1],a),this.h[2]=o(this.h[2],g),this.h[3]=o(this.h[3],b),this.h[4]=o(this.h[4],m),this.h[5]=o(this.h[5],y),this.h[6]=o(this.h[6],v),this.h[7]=o(this.h[7],w)},m.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},8899:(e,t,n)=>{var r=n(8626),s=n(790);function a(){if(!(this instanceof a))return new a;s.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}r.inherits(a,s),e.exports=a,a.blockSize=1024,a.outSize=384,a.hmacStrength=192,a.padLength=128,a.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,12),"big"):r.split32(this.h.slice(0,12),"big")}},790:(e,t,n)=>{var r=n(8626),s=n(8717),a=n(7859),i=r.rotr64_hi,o=r.rotr64_lo,l=r.shr64_hi,c=r.shr64_lo,u=r.sum64,f=r.sum64_hi,d=r.sum64_lo,_=r.sum64_4_hi,h=r.sum64_4_lo,p=r.sum64_5_hi,g=r.sum64_5_lo,b=s.BlockHash,m=[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];function y(){if(!(this instanceof y))return new y;b.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=m,this.W=new Array(160)}function v(e,t,n,r,s){var a=e&n^~e&s;return a<0&&(a+=4294967296),a}function w(e,t,n,r,s,a){var i=t&r^~t&a;return i<0&&(i+=4294967296),i}function E(e,t,n,r,s){var a=e&n^e&s^n&s;return a<0&&(a+=4294967296),a}function L(e,t,n,r,s,a){var i=t&r^t&a^r&a;return i<0&&(i+=4294967296),i}function A(e,t){var n=i(e,t,28)^i(t,e,2)^i(t,e,7);return n<0&&(n+=4294967296),n}function S(e,t){var n=o(e,t,28)^o(t,e,2)^o(t,e,7);return n<0&&(n+=4294967296),n}function C(e,t){var n=o(e,t,14)^o(e,t,18)^o(t,e,9);return n<0&&(n+=4294967296),n}function T(e,t){var n=i(e,t,1)^i(e,t,8)^l(e,t,7);return n<0&&(n+=4294967296),n}function P(e,t){var n=o(e,t,1)^o(e,t,8)^c(e,t,7);return n<0&&(n+=4294967296),n}function N(e,t){var n=o(e,t,19)^o(t,e,29)^c(e,t,6);return n<0&&(n+=4294967296),n}r.inherits(y,b),e.exports=y,y.blockSize=1024,y.outSize=512,y.hmacStrength=192,y.padLength=128,y.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var s=(g=n[r-4],b=n[r-3],m=void 0,(m=i(g,b,19)^i(b,g,29)^l(g,b,6))<0&&(m+=4294967296),m),a=N(n[r-4],n[r-3]),o=n[r-14],c=n[r-13],u=T(n[r-30],n[r-29]),f=P(n[r-30],n[r-29]),d=n[r-32],p=n[r-31];n[r]=_(s,a,o,c,u,f,d,p),n[r+1]=h(s,a,o,c,u,f,d,p)}var g,b,m},y.prototype._update=function(e,t){this._prepareBlock(e,t);var n,r,s,o=this.W,l=this.h[0],c=this.h[1],_=this.h[2],h=this.h[3],b=this.h[4],m=this.h[5],y=this.h[6],T=this.h[7],P=this.h[8],N=this.h[9],I=this.h[10],k=this.h[11],x=this.h[12],R=this.h[13],B=this.h[14],O=this.h[15];a(this.k.length===o.length);for(var D=0;D<o.length;D+=2){var F=B,H=O,M=(s=void 0,(s=i(n=P,r=N,14)^i(n,r,18)^i(r,n,9))<0&&(s+=4294967296),s),z=C(P,N),U=v(P,0,I,0,x),j=w(0,N,0,k,0,R),Z=this.k[D],W=this.k[D+1],G=o[D],Q=o[D+1],X=p(F,H,M,z,U,j,Z,W,G,Q),Y=g(F,H,M,z,U,j,Z,W,G,Q);F=A(l,c),H=S(l,c),M=E(l,0,_,0,b),z=L(0,c,0,h,0,m);var J=f(F,H,M,z),V=d(F,H,M,z);B=x,O=R,x=I,R=k,I=P,k=N,P=f(y,T,X,Y),N=d(T,T,X,Y),y=b,T=m,b=_,m=h,_=l,h=c,l=f(X,Y,J,V),c=d(X,Y,J,V)}u(this.h,0,l,c),u(this.h,2,_,h),u(this.h,4,b,m),u(this.h,6,y,T),u(this.h,8,P,N),u(this.h,10,I,k),u(this.h,12,x,R),u(this.h,14,B,O)},y.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},8156:(e,t,n)=>{var r=n(8626).rotr32;function s(e,t,n){return e&t^~e&n}function a(e,t,n){return e&t^e&n^t&n}function i(e,t,n){return e^t^n}t.ft_1=function(e,t,n,r){return 0===e?s(t,n,r):1===e||3===e?i(t,n,r):2===e?a(t,n,r):void 0},t.ch32=s,t.maj32=a,t.p32=i,t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},8626:(e,t,n)=>{var r=n(7859),s=n(87);function a(e,t){return 55296==(64512&e.charCodeAt(t))&&!(t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1))}function i(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function o(e){return 1===e.length?"0"+e:e}function l(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=s,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),s=0;s<e.length;s+=2)n.push(parseInt(e[s]+e[s+1],16))}else for(var r=0,s=0;s<e.length;s++){var i=e.charCodeAt(s);i<128?n[r++]=i:i<2048?(n[r++]=i>>6|192,n[r++]=63&i|128):a(e,s)?(i=65536+((1023&i)<<10)+(1023&e.charCodeAt(++s)),n[r++]=i>>18|240,n[r++]=i>>12&63|128,n[r++]=i>>6&63|128,n[r++]=63&i|128):(n[r++]=i>>12|224,n[r++]=i>>6&63|128,n[r++]=63&i|128)}else for(s=0;s<e.length;s++)n[s]=0|e[s];return n},t.toHex=function(e){for(var t="",n=0;n<e.length;n++)t+=o(e[n].toString(16));return t},t.htonl=i,t.toHex32=function(e,t){for(var n="",r=0;r<e.length;r++){var s=e[r];"little"===t&&(s=i(s)),n+=l(s.toString(16))}return n},t.zero2=o,t.zero8=l,t.join32=function(e,t,n,s){var a=n-t;r(a%4==0);for(var i=new Array(a/4),o=0,l=t;o<i.length;o++,l+=4){var c;c="big"===s?e[l]<<24|e[l+1]<<16|e[l+2]<<8|e[l+3]:e[l+3]<<24|e[l+2]<<16|e[l+1]<<8|e[l],i[o]=c>>>0}return i},t.split32=function(e,t){for(var n=new Array(4*e.length),r=0,s=0;r<e.length;r++,s+=4){var a=e[r];"big"===t?(n[s]=a>>>24,n[s+1]=a>>>16&255,n[s+2]=a>>>8&255,n[s+3]=255&a):(n[s+3]=a>>>24,n[s+2]=a>>>16&255,n[s+1]=a>>>8&255,n[s]=255&a)}return n},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,n){return e+t+n>>>0},t.sum32_4=function(e,t,n,r){return e+t+n+r>>>0},t.sum32_5=function(e,t,n,r,s){return e+t+n+r+s>>>0},t.sum64=function(e,t,n,r){var s=e[t],a=r+e[t+1]>>>0,i=(a<r?1:0)+n+s;e[t]=i>>>0,e[t+1]=a},t.sum64_hi=function(e,t,n,r){return(t+r>>>0<t?1:0)+e+n>>>0},t.sum64_lo=function(e,t,n,r){return t+r>>>0},t.sum64_4_hi=function(e,t,n,r,s,a,i,o){var l=0,c=t;return l+=(c=c+r>>>0)<t?1:0,l+=(c=c+a>>>0)<a?1:0,e+n+s+i+(l+=(c=c+o>>>0)<o?1:0)>>>0},t.sum64_4_lo=function(e,t,n,r,s,a,i,o){return t+r+a+o>>>0},t.sum64_5_hi=function(e,t,n,r,s,a,i,o,l,c){var u=0,f=t;return u+=(f=f+r>>>0)<t?1:0,u+=(f=f+a>>>0)<a?1:0,u+=(f=f+o>>>0)<o?1:0,e+n+s+i+l+(u+=(f=f+c>>>0)<c?1:0)>>>0},t.sum64_5_lo=function(e,t,n,r,s,a,i,o,l,c){return t+r+a+o+c>>>0},t.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},t.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},t.shr64_hi=function(e,t,n){return e>>>n},t.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0}},8898:(e,t)=>{t.read=function(e,t,n,r,s){var a,i,o=8*s-r-1,l=(1<<o)-1,c=l>>1,u=-7,f=n?s-1:0,d=n?-1:1,_=e[t+f];for(f+=d,a=_&(1<<-u)-1,_>>=-u,u+=o;u>0;a=256*a+e[t+f],f+=d,u-=8);for(i=a&(1<<-u)-1,a>>=-u,u+=r;u>0;i=256*i+e[t+f],f+=d,u-=8);if(0===a)a=1-c;else{if(a===l)return i?NaN:1/0*(_?-1:1);i+=Math.pow(2,r),a-=c}return(_?-1:1)*i*Math.pow(2,a-r)},t.write=function(e,t,n,r,s,a){var i,o,l,c=8*a-s-1,u=(1<<c)-1,f=u>>1,d=23===s?Math.pow(2,-24)-Math.pow(2,-77):0,_=r?0:a-1,h=r?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),(t+=i+f>=1?d/l:d*Math.pow(2,1-f))*l>=2&&(i++,l/=2),i+f>=u?(o=0,i=u):i+f>=1?(o=(t*l-1)*Math.pow(2,s),i+=f):(o=t*Math.pow(2,f-1)*Math.pow(2,s),i=0));s>=8;e[n+_]=255&o,_+=h,o/=256,s-=8);for(i=i<<s|o,c+=s;c>0;e[n+_]=255&i,_+=h,i/=256,c-=8);e[n+_-h]|=128*p}},87:e=>{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},3261:e=>{var t=1/0,n=9007199254740991,r=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,i=/^0o[0-7]+$/i,o=/^(?:0|[1-9]\d*)$/,l=parseInt,c=Object.prototype.toString,u=Math.ceil,f=Math.max;function d(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),(n=n>s?s:n)<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(s);++r<s;)a[r]=e[r+t];return a}function _(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}e.exports=function(e,h,p){h=(p?function(e,t,r){if(!_(r))return!1;var s=typeof t;return!!("number"==s?function(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}(e.length)&&!function(e){var t=_(e)?c.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}(e)}(r)&&function(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||o.test(e))&&e>-1&&e%1==0&&e<t}(t,r.length):"string"==s&&t in r)&&function(e,t){return e===t||e!=e&&t!=t}(r[t],e)}(e,h,p):void 0===h)?1:f(function(e){var n=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==c.call(e)}(e))return NaN;if(_(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=_(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=a.test(e);return n||i.test(e)?l(e.slice(2),n?2:8):s.test(e)?NaN:+e}(e))===t||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}(e),o=n%1;return n==n?o?n-o:n:0}(h),0);var g=e?e.length:0;if(!g||h<1)return[];for(var b=0,m=0,y=Array(u(g/h));b<g;)y[m++]=d(e,b,b+=h);return y}},7902:(e,t,n)=>{e=n.nmd(e);var r="__lodash_hash_undefined__",s=9007199254740991,a="[object Arguments]",i="[object Boolean]",o="[object Date]",l="[object Function]",c="[object GeneratorFunction]",u="[object Map]",f="[object Number]",d="[object Object]",_="[object Promise]",h="[object RegExp]",p="[object Set]",g="[object String]",b="[object Symbol]",m="[object WeakMap]",y="[object ArrayBuffer]",v="[object DataView]",w="[object Float32Array]",E="[object Float64Array]",L="[object Int8Array]",A="[object Int16Array]",S="[object Int32Array]",C="[object Uint8Array]",T="[object Uint8ClampedArray]",P="[object Uint16Array]",N="[object Uint32Array]",I=/\w*$/,k=/^\[object .+?Constructor\]$/,x=/^(?:0|[1-9]\d*)$/,R={};R[a]=R["[object Array]"]=R[y]=R[v]=R[i]=R[o]=R[w]=R[E]=R[L]=R[A]=R[S]=R[u]=R[f]=R[d]=R[h]=R[p]=R[g]=R[b]=R[C]=R[T]=R[P]=R[N]=!0,R["[object Error]"]=R[l]=R[m]=!1;var B="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,O="object"==typeof self&&self&&self.Object===Object&&self,D=B||O||Function("return this")(),F=t&&!t.nodeType&&t,H=F&&e&&!e.nodeType&&e,M=H&&H.exports===F;function z(e,t){return e.set(t[0],t[1]),e}function U(e,t){return e.add(t),e}function j(e,t,n,r){var s=-1,a=e?e.length:0;for(r&&a&&(n=e[++s]);++s<a;)n=t(n,e[s],s,e);return n}function Z(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function W(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function G(e,t){return function(n){return e(t(n))}}function Q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var X,Y=Array.prototype,J=Function.prototype,V=Object.prototype,q=D["__core-js_shared__"],K=(X=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||""))?"Symbol(src)_1."+X:"",$=J.toString,ee=V.hasOwnProperty,te=V.toString,ne=RegExp("^"+$.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),re=M?D.Buffer:void 0,se=D.Symbol,ae=D.Uint8Array,ie=G(Object.getPrototypeOf,Object),oe=Object.create,le=V.propertyIsEnumerable,ce=Y.splice,ue=Object.getOwnPropertySymbols,fe=re?re.isBuffer:void 0,de=G(Object.keys,Object),_e=De(D,"DataView"),he=De(D,"Map"),pe=De(D,"Promise"),ge=De(D,"Set"),be=De(D,"WeakMap"),me=De(Object,"create"),ye=Ue(_e),ve=Ue(he),we=Ue(pe),Ee=Ue(ge),Le=Ue(be),Ae=se?se.prototype:void 0,Se=Ae?Ae.valueOf:void 0;function Ce(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Te(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Pe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ne(e){this.__data__=new Te(e)}function Ie(e,t,n){var r=e[t];ee.call(e,t)&&je(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function ke(e,t){for(var n=e.length;n--;)if(je(e[n][0],t))return n;return-1}function xe(e,t,n,r,s,_,m){var k;if(r&&(k=_?r(e,s,_,m):r(e)),void 0!==k)return k;if(!Xe(e))return e;var x=Ze(e);if(x){if(k=function(e){var t=e.length,n=e.constructor(t);return t&&"string"==typeof e[0]&&ee.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!t)return function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(e,k)}else{var B=He(e),O=B==l||B==c;if(Ge(e))return function(e,t){if(t)return e.slice();var n=new e.constructor(e.length);return e.copy(n),n}(e,t);if(B==d||B==a||O&&!_){if(Z(e))return _?e:{};if(k=function(e){return"function"!=typeof e.constructor||ze(e)?{}:Xe(t=ie(e))?oe(t):{};var t}(O?{}:e),!t)return function(e,t){return Be(e,Fe(e),t)}(e,function(e,t){return e&&Be(t,Ye(t),e)}(k,e))}else{if(!R[B])return _?e:{};k=function(e,t,n,r){var s,a=e.constructor;switch(t){case y:return Re(e);case i:case o:return new a(+e);case v:return function(e,t){var n=t?Re(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,r);case w:case E:case L:case A:case S:case C:case T:case P:case N:return function(e,t){var n=t?Re(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}(e,r);case u:return function(e,t,n){return j(t?n(W(e),!0):W(e),z,new e.constructor)}(e,r,n);case f:case g:return new a(e);case h:return function(e){var t=new e.constructor(e.source,I.exec(e));return t.lastIndex=e.lastIndex,t}(e);case p:return function(e,t,n){return j(t?n(Q(e),!0):Q(e),U,new e.constructor)}(e,r,n);case b:return s=e,Se?Object(Se.call(s)):{}}}(e,B,xe,t)}}m||(m=new Ne);var D=m.get(e);if(D)return D;if(m.set(e,k),!x)var F=n?function(e){return function(e,t,n){var r=t(e);return Ze(e)?r:function(e,t){for(var n=-1,r=t.length,s=e.length;++n<r;)e[s+n]=t[n];return e}(r,n(e))}(e,Ye,Fe)}(e):Ye(e);return function(e,t){for(var n=-1,r=e?e.length:0;++n<r&&!1!==t(e[n],n););}(F||e,(function(s,a){F&&(s=e[a=s]),Ie(k,a,xe(s,t,n,r,a,e,m))})),k}function Re(e){var t=new e.constructor(e.byteLength);return new ae(t).set(new ae(e)),t}function Be(e,t,n,r){n||(n={});for(var s=-1,a=t.length;++s<a;){var i=t[s],o=r?r(n[i],e[i],i,n,e):void 0;Ie(n,i,void 0===o?e[i]:o)}return n}function Oe(e,t){var n,r,s=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?s["string"==typeof t?"string":"hash"]:s.map}function De(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Xe(e)||(t=e,K&&K in t))&&(Qe(e)||Z(e)?ne:k).test(Ue(e));var t}(n)?n:void 0}Ce.prototype.clear=function(){this.__data__=me?me(null):{}},Ce.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Ce.prototype.get=function(e){var t=this.__data__;if(me){var n=t[e];return n===r?void 0:n}return ee.call(t,e)?t[e]:void 0},Ce.prototype.has=function(e){var t=this.__data__;return me?void 0!==t[e]:ee.call(t,e)},Ce.prototype.set=function(e,t){return this.__data__[e]=me&&void 0===t?r:t,this},Te.prototype.clear=function(){this.__data__=[]},Te.prototype.delete=function(e){var t=this.__data__,n=ke(t,e);return!(n<0||(n==t.length-1?t.pop():ce.call(t,n,1),0))},Te.prototype.get=function(e){var t=this.__data__,n=ke(t,e);return n<0?void 0:t[n][1]},Te.prototype.has=function(e){return ke(this.__data__,e)>-1},Te.prototype.set=function(e,t){var n=this.__data__,r=ke(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Pe.prototype.clear=function(){this.__data__={hash:new Ce,map:new(he||Te),string:new Ce}},Pe.prototype.delete=function(e){return Oe(this,e).delete(e)},Pe.prototype.get=function(e){return Oe(this,e).get(e)},Pe.prototype.has=function(e){return Oe(this,e).has(e)},Pe.prototype.set=function(e,t){return Oe(this,e).set(e,t),this},Ne.prototype.clear=function(){this.__data__=new Te},Ne.prototype.delete=function(e){return this.__data__.delete(e)},Ne.prototype.get=function(e){return this.__data__.get(e)},Ne.prototype.has=function(e){return this.__data__.has(e)},Ne.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Te){var r=n.__data__;if(!he||r.length<199)return r.push([e,t]),this;n=this.__data__=new Pe(r)}return n.set(e,t),this};var Fe=ue?G(ue,Object):function(){return[]},He=function(e){return te.call(e)};function Me(e,t){return!!(t=null==t?s:t)&&("number"==typeof e||x.test(e))&&e>-1&&e%1==0&&e<t}function ze(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||V)}function Ue(e){if(null!=e){try{return $.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function je(e,t){return e===t||e!=e&&t!=t}(_e&&He(new _e(new ArrayBuffer(1)))!=v||he&&He(new he)!=u||pe&&He(pe.resolve())!=_||ge&&He(new ge)!=p||be&&He(new be)!=m)&&(He=function(e){var t=te.call(e),n=t==d?e.constructor:void 0,r=n?Ue(n):void 0;if(r)switch(r){case ye:return v;case ve:return u;case we:return _;case Ee:return p;case Le:return m}return t});var Ze=Array.isArray;function We(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=s}(e.length)&&!Qe(e)}var Ge=fe||function(){return!1};function Qe(e){var t=Xe(e)?te.call(e):"";return t==l||t==c}function Xe(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ye(e){return We(e)?function(e,t){var n=Ze(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&We(e)}(e)&&ee.call(e,"callee")&&(!le.call(e,"callee")||te.call(e)==a)}(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,s=!!r;for(var i in e)!t&&!ee.call(e,i)||s&&("length"==i||Me(i,r))||n.push(i);return n}(e):function(e){if(!ze(e))return de(e);var t=[];for(var n in Object(e))ee.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e,t){return xe(e,!0,!0,t)}},9467:(e,t,n)=>{e=n.nmd(e);var r="__lodash_hash_undefined__",s=1,a=2,i=1/0,o=9007199254740991,l="[object Arguments]",c="[object Array]",u="[object Boolean]",f="[object Date]",d="[object Error]",_="[object Function]",h="[object GeneratorFunction]",p="[object Map]",g="[object Number]",b="[object Object]",m="[object Promise]",y="[object RegExp]",v="[object Set]",w="[object String]",E="[object Symbol]",L="[object WeakMap]",A="[object ArrayBuffer]",S="[object DataView]",C=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/,P=/^\./,N=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,I=/\\(\\)?/g,k=/^\[object .+?Constructor\]$/,x=/^(?:0|[1-9]\d*)$/,R={};R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R[l]=R[c]=R[A]=R[u]=R[S]=R[f]=R[d]=R[_]=R[p]=R[g]=R[b]=R[y]=R[v]=R[w]=R[L]=!1;var B="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,O="object"==typeof self&&self&&self.Object===Object&&self,D=B||O||Function("return this")(),F=t&&!t.nodeType&&t,H=F&&e&&!e.nodeType&&e,M=H&&H.exports===F&&B.process,z=function(){try{return M&&M.binding("util")}catch(e){}}(),U=z&&z.isTypedArray;function j(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(!t(e[n],n,e))return!1;return!0}function Z(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function W(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function G(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var X,Y,J,V=Array.prototype,q=Function.prototype,K=Object.prototype,$=D["__core-js_shared__"],ee=(X=/[^.]+$/.exec($&&$.keys&&$.keys.IE_PROTO||""))?"Symbol(src)_1."+X:"",te=q.toString,ne=K.hasOwnProperty,re=K.toString,se=RegExp("^"+te.call(ne).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ae=D.Symbol,ie=D.Uint8Array,oe=K.propertyIsEnumerable,le=V.splice,ce=(Y=Object.keys,J=Object,function(e){return Y(J(e))}),ue=ze(D,"DataView"),fe=ze(D,"Map"),de=ze(D,"Promise"),_e=ze(D,"Set"),he=ze(D,"WeakMap"),pe=ze(Object,"create"),ge=Ye(ue),be=Ye(fe),me=Ye(de),ye=Ye(_e),ve=Ye(he),we=ae?ae.prototype:void 0,Ee=we?we.valueOf:void 0,Le=we?we.toString:void 0;function Ae(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Se(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ce(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Te(e){var t=-1,n=e?e.length:0;for(this.__data__=new Ce;++t<n;)this.add(e[t])}function Pe(e){this.__data__=new Se(e)}function Ne(e,t){for(var n=e.length;n--;)if(Ve(e[n][0],t))return n;return-1}Ae.prototype.clear=function(){this.__data__=pe?pe(null):{}},Ae.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Ae.prototype.get=function(e){var t=this.__data__;if(pe){var n=t[e];return n===r?void 0:n}return ne.call(t,e)?t[e]:void 0},Ae.prototype.has=function(e){var t=this.__data__;return pe?void 0!==t[e]:ne.call(t,e)},Ae.prototype.set=function(e,t){return this.__data__[e]=pe&&void 0===t?r:t,this},Se.prototype.clear=function(){this.__data__=[]},Se.prototype.delete=function(e){var t=this.__data__,n=Ne(t,e);return!(n<0||(n==t.length-1?t.pop():le.call(t,n,1),0))},Se.prototype.get=function(e){var t=this.__data__,n=Ne(t,e);return n<0?void 0:t[n][1]},Se.prototype.has=function(e){return Ne(this.__data__,e)>-1},Se.prototype.set=function(e,t){var n=this.__data__,r=Ne(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Ce.prototype.clear=function(){this.__data__={hash:new Ae,map:new(fe||Se),string:new Ae}},Ce.prototype.delete=function(e){return Me(this,e).delete(e)},Ce.prototype.get=function(e){return Me(this,e).get(e)},Ce.prototype.has=function(e){return Me(this,e).has(e)},Ce.prototype.set=function(e,t){return Me(this,e).set(e,t),this},Te.prototype.add=Te.prototype.push=function(e){return this.__data__.set(e,r),this},Te.prototype.has=function(e){return this.__data__.has(e)},Pe.prototype.clear=function(){this.__data__=new Se},Pe.prototype.delete=function(e){return this.__data__.delete(e)},Pe.prototype.get=function(e){return this.__data__.get(e)},Pe.prototype.has=function(e){return this.__data__.has(e)},Pe.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Se){var r=n.__data__;if(!fe||r.length<199)return r.push([e,t]),this;n=this.__data__=new Ce(r)}return n.set(e,t),this};var Ie,ke=(Ie=function(e,t){return e&&Re(e,t,it)},function(e,t){if(null==e)return e;if(!$e(e))return Ie(e,t);for(var n=e.length,r=-1,s=Object(e);++r<n&&!1!==t(s[r],r,s););return e});function xe(e,t){var n=!0;return ke(e,(function(e,r,s){return n=!!t(e,r,s)})),n}var Re=function(e,t,n){for(var r=-1,s=Object(e),a=n(e),i=a.length;i--;){var o=a[++r];if(!1===t(s[o],o,s))break}return e};function Be(e,t){for(var n=0,r=(t=Ze(t,e)?[t]:Fe(t)).length;null!=e&&n<r;)e=e[Xe(t[n++])];return n&&n==r?e:void 0}function Oe(e,t){return null!=e&&t in Object(e)}function De(e,t,n,r,i){return e===t||(null==e||null==t||!nt(e)&&!rt(t)?e!=e&&t!=t:function(e,t,n,r,i,o){var _=Ke(e),h=Ke(t),m=c,L=c;_||(m=(m=Ue(e))==l?b:m),h||(L=(L=Ue(t))==l?b:L);var C=m==b&&!W(e),T=L==b&&!W(t),P=m==L;if(P&&!C)return o||(o=new Pe),_||at(e)?He(e,t,n,r,i,o):function(e,t,n,r,i,o,l){switch(n){case S:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case A:return!(e.byteLength!=t.byteLength||!r(new ie(e),new ie(t)));case u:case f:case g:return Ve(+e,+t);case d:return e.name==t.name&&e.message==t.message;case y:case w:return e==t+"";case p:var c=G;case v:var _=o&a;if(c||(c=Q),e.size!=t.size&&!_)return!1;var h=l.get(e);if(h)return h==t;o|=s,l.set(e,t);var b=He(c(e),c(t),r,i,o,l);return l.delete(e),b;case E:if(Ee)return Ee.call(e)==Ee.call(t)}return!1}(e,t,m,n,r,i,o);if(!(i&a)){var N=C&&ne.call(e,"__wrapped__"),I=T&&ne.call(t,"__wrapped__");if(N||I){var k=N?e.value():e,x=I?t.value():t;return o||(o=new Pe),n(k,x,r,i,o)}}return!!P&&(o||(o=new Pe),function(e,t,n,r,s,i){var o=s&a,l=it(e),c=l.length;if(c!=it(t).length&&!o)return!1;for(var u=c;u--;){var f=l[u];if(!(o?f in t:ne.call(t,f)))return!1}var d=i.get(e);if(d&&i.get(t))return d==t;var _=!0;i.set(e,t),i.set(t,e);for(var h=o;++u<c;){var p=e[f=l[u]],g=t[f];if(r)var b=o?r(g,p,f,t,e,i):r(p,g,f,e,t,i);if(!(void 0===b?p===g||n(p,g,r,s,i):b)){_=!1;break}h||(h="constructor"==f)}if(_&&!h){var m=e.constructor,y=t.constructor;m==y||!("constructor"in e)||!("constructor"in t)||"function"==typeof m&&m instanceof m&&"function"==typeof y&&y instanceof y||(_=!1)}return i.delete(e),i.delete(t),_}(e,t,n,r,i,o))}(e,t,De,n,r,i))}function Fe(e){return Ke(e)?e:Qe(e)}function He(e,t,n,r,i,o){var l=i&a,c=e.length,u=t.length;if(c!=u&&!(l&&u>c))return!1;var f=o.get(e);if(f&&o.get(t))return f==t;var d=-1,_=!0,h=i&s?new Te:void 0;for(o.set(e,t),o.set(t,e);++d<c;){var p=e[d],g=t[d];if(r)var b=l?r(g,p,d,t,e,o):r(p,g,d,e,t,o);if(void 0!==b){if(b)continue;_=!1;break}if(h){if(!Z(t,(function(e,t){if(!h.has(t)&&(p===e||n(p,e,r,i,o)))return h.add(t)}))){_=!1;break}}else if(p!==g&&!n(p,g,r,i,o)){_=!1;break}}return o.delete(e),o.delete(t),_}function Me(e,t){var n,r,s=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?s["string"==typeof t?"string":"hash"]:s.map}function ze(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!nt(e)||function(e){return!!ee&&ee in e}(e))&&(et(e)||W(e)?se:k).test(Ye(e))}(n)?n:void 0}var Ue=function(e){return re.call(e)};function je(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||x.test(e))&&e>-1&&e%1==0&&e<t}function Ze(e,t){if(Ke(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!st(e))||T.test(e)||!C.test(e)||null!=t&&e in Object(t)}function We(e){return e==e&&!nt(e)}function Ge(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}(ue&&Ue(new ue(new ArrayBuffer(1)))!=S||fe&&Ue(new fe)!=p||de&&Ue(de.resolve())!=m||_e&&Ue(new _e)!=v||he&&Ue(new he)!=L)&&(Ue=function(e){var t=re.call(e),n=t==b?e.constructor:void 0,r=n?Ye(n):void 0;if(r)switch(r){case ge:return S;case be:return p;case me:return m;case ye:return v;case ve:return L}return t});var Qe=Je((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(st(e))return Le?Le.call(e):"";var t=e+"";return"0"==t&&1/e==-i?"-0":t}(t);var n=[];return P.test(e)&&n.push(""),e.replace(N,(function(e,t,r,s){n.push(r?s.replace(I,"$1"):t||e)})),n}));function Xe(e){if("string"==typeof e||st(e))return e;var t=e+"";return"0"==t&&1/e==-i?"-0":t}function Ye(e){if(null!=e){try{return te.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Je(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,s=t?t.apply(this,r):r[0],a=n.cache;if(a.has(s))return a.get(s);var i=e.apply(this,r);return n.cache=a.set(s,i),i};return n.cache=new(Je.Cache||Ce),n}function Ve(e,t){return e===t||e!=e&&t!=t}function qe(e){return function(e){return rt(e)&&$e(e)}(e)&&ne.call(e,"callee")&&(!oe.call(e,"callee")||re.call(e)==l)}Je.Cache=Ce;var Ke=Array.isArray;function $e(e){return null!=e&&tt(e.length)&&!et(e)}function et(e){var t=nt(e)?re.call(e):"";return t==_||t==h}function tt(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function nt(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function rt(e){return!!e&&"object"==typeof e}function st(e){return"symbol"==typeof e||rt(e)&&re.call(e)==E}var at=U?function(e){return function(t){return e(t)}}(U):function(e){return rt(e)&&tt(e.length)&&!!R[re.call(e)]};function it(e){return $e(e)?function(e,t){var n=Ke(e)||qe(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,s=!!r;for(var a in e)!t&&!ne.call(e,a)||s&&("length"==a||je(a,r))||n.push(a);return n}(e):function(e){if(n=(t=e)&&t.constructor,t!==("function"==typeof n&&n.prototype||K))return ce(e);var t,n,r=[];for(var s in Object(e))ne.call(e,s)&&"constructor"!=s&&r.push(s);return r}(e)}function ot(e){return e}e.exports=function(e,t,n){var r,i,o,l,c,u=Ke(e)?j:xe;return n&&function(e,t,n){if(!nt(n))return!1;var r=typeof t;return!!("number"==r?$e(n)&&je(t,n.length):"string"==r&&t in n)&&Ve(n[t],e)}(e,t,n)&&(t=void 0),u(e,"function"==typeof(r=t)?r:null==r?ot:"object"==typeof r?Ke(r)?function(e,t){return Ze(e)&&We(t)?Ge(Xe(e),t):function(n){var r=function(e,t,n){var r=null==e?void 0:Be(e,t);return void 0===r?void 0:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&function(e,t,n){for(var r,s=-1,a=(t=Ze(t,e)?[t]:Fe(t)).length;++s<a;){var i=Xe(t[s]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}return r||!!(a=e?e.length:0)&&tt(a)&&je(i,a)&&(Ke(e)||qe(e))}(e,t,Oe)}(n,e):De(t,r,void 0,s|a)}}(r[0],r[1]):1==(o=function(e){for(var t=it(e),n=t.length;n--;){var r=t[n],s=e[r];t[n]=[r,s,We(s)]}return t}(i=r)).length&&o[0][2]?Ge(o[0][0],o[0][1]):function(e){return e===i||function(e,t,n,r){var i=n.length,o=i;if(null==e)return!o;for(e=Object(e);i--;){var l=n[i];if(l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++i<o;){var c=(l=n[i])[0],u=e[c],f=l[1];if(l[2]){if(void 0===u&&!(c in e))return!1}else{var d,_=new Pe;if(!(void 0===d?De(f,u,r,s|a,_):d))return!1}}return!0}(e,0,o)}:Ze(l=r)?(c=Xe(l),function(e){return null==e?void 0:e[c]}):function(e){return function(t){return Be(t,e)}}(l))}},1328:(e,t,n)=>{e=n.nmd(e);var r="__lodash_hash_undefined__",s=1,a=2,i=1/0,o=9007199254740991,l="[object Arguments]",c="[object Array]",u="[object Boolean]",f="[object Date]",d="[object Error]",_="[object Function]",h="[object GeneratorFunction]",p="[object Map]",g="[object Number]",b="[object Object]",m="[object Promise]",y="[object RegExp]",v="[object Set]",w="[object String]",E="[object Symbol]",L="[object WeakMap]",A="[object ArrayBuffer]",S="[object DataView]",C=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/,P=/^\./,N=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,I=/\\(\\)?/g,k=/^\[object .+?Constructor\]$/,x=/^(?:0|[1-9]\d*)$/,R={};R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R[l]=R[c]=R[A]=R[u]=R[S]=R[f]=R[d]=R[_]=R[p]=R[g]=R[b]=R[y]=R[v]=R[w]=R[L]=!1;var B="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,O="object"==typeof self&&self&&self.Object===Object&&self,D=B||O||Function("return this")(),F=t&&!t.nodeType&&t,H=F&&e&&!e.nodeType&&e,M=H&&H.exports===F&&B.process,z=function(){try{return M&&M.binding("util")}catch(e){}}(),U=z&&z.isTypedArray;function j(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function Z(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function W(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function G(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var Q,X,Y,J=Array.prototype,V=Function.prototype,q=Object.prototype,K=D["__core-js_shared__"],$=(Q=/[^.]+$/.exec(K&&K.keys&&K.keys.IE_PROTO||""))?"Symbol(src)_1."+Q:"",ee=V.toString,te=q.hasOwnProperty,ne=q.toString,re=RegExp("^"+ee.call(te).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),se=D.Symbol,ae=D.Uint8Array,ie=q.propertyIsEnumerable,oe=J.splice,le=(X=Object.keys,Y=Object,function(e){return X(Y(e))}),ce=Oe(D,"DataView"),ue=Oe(D,"Map"),fe=Oe(D,"Promise"),de=Oe(D,"Set"),_e=Oe(D,"WeakMap"),he=Oe(Object,"create"),pe=Ze(ce),ge=Ze(ue),be=Ze(fe),me=Ze(de),ye=Ze(_e),ve=se?se.prototype:void 0,we=ve?ve.valueOf:void 0,Ee=ve?ve.toString:void 0;function Le(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ae(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Se(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ce(e){var t=-1,n=e?e.length:0;for(this.__data__=new Se;++t<n;)this.add(e[t])}function Te(e){this.__data__=new Ae(e)}function Pe(e,t){for(var n=e.length;n--;)if(Ge(e[n][0],t))return n;return-1}Le.prototype.clear=function(){this.__data__=he?he(null):{}},Le.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Le.prototype.get=function(e){var t=this.__data__;if(he){var n=t[e];return n===r?void 0:n}return te.call(t,e)?t[e]:void 0},Le.prototype.has=function(e){var t=this.__data__;return he?void 0!==t[e]:te.call(t,e)},Le.prototype.set=function(e,t){return this.__data__[e]=he&&void 0===t?r:t,this},Ae.prototype.clear=function(){this.__data__=[]},Ae.prototype.delete=function(e){var t=this.__data__,n=Pe(t,e);return!(n<0||(n==t.length-1?t.pop():oe.call(t,n,1),0))},Ae.prototype.get=function(e){var t=this.__data__,n=Pe(t,e);return n<0?void 0:t[n][1]},Ae.prototype.has=function(e){return Pe(this.__data__,e)>-1},Ae.prototype.set=function(e,t){var n=this.__data__,r=Pe(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Se.prototype.clear=function(){this.__data__={hash:new Le,map:new(ue||Ae),string:new Le}},Se.prototype.delete=function(e){return Be(this,e).delete(e)},Se.prototype.get=function(e){return Be(this,e).get(e)},Se.prototype.has=function(e){return Be(this,e).has(e)},Se.prototype.set=function(e,t){return Be(this,e).set(e,t),this},Ce.prototype.add=Ce.prototype.push=function(e){return this.__data__.set(e,r),this},Ce.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.clear=function(){this.__data__=new Ae},Te.prototype.delete=function(e){return this.__data__.delete(e)},Te.prototype.get=function(e){return this.__data__.get(e)},Te.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Ae){var r=n.__data__;if(!ue||r.length<199)return r.push([e,t]),this;n=this.__data__=new Se(r)}return n.set(e,t),this};function Ne(e,t){for(var n=0,r=(t=He(t,e)?[t]:xe(t)).length;null!=e&&n<r;)e=e[je(t[n++])];return n&&n==r?e:void 0}function Ie(e,t){return null!=e&&t in Object(e)}function ke(e,t,n,r,i){return e===t||(null==e||null==t||!qe(e)&&!Ke(t)?e!=e&&t!=t:function(e,t,n,r,i,o){var _=Xe(e),h=Xe(t),m=c,L=c;_||(m=(m=De(e))==l?b:m),h||(L=(L=De(t))==l?b:L);var C=m==b&&!Z(e),T=L==b&&!Z(t),P=m==L;if(P&&!C)return o||(o=new Te),_||et(e)?Re(e,t,n,r,i,o):function(e,t,n,r,i,o,l){switch(n){case S:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case A:return!(e.byteLength!=t.byteLength||!r(new ae(e),new ae(t)));case u:case f:case g:return Ge(+e,+t);case d:return e.name==t.name&&e.message==t.message;case y:case w:return e==t+"";case p:var c=W;case v:var _=o&a;if(c||(c=G),e.size!=t.size&&!_)return!1;var h=l.get(e);if(h)return h==t;o|=s,l.set(e,t);var b=Re(c(e),c(t),r,i,o,l);return l.delete(e),b;case E:if(we)return we.call(e)==we.call(t)}return!1}(e,t,m,n,r,i,o);if(!(i&a)){var N=C&&te.call(e,"__wrapped__"),I=T&&te.call(t,"__wrapped__");if(N||I){var k=N?e.value():e,x=I?t.value():t;return o||(o=new Te),n(k,x,r,i,o)}}return!!P&&(o||(o=new Te),function(e,t,n,r,s,i){var o=s&a,l=tt(e),c=l.length;if(c!=tt(t).length&&!o)return!1;for(var u=c;u--;){var f=l[u];if(!(o?f in t:te.call(t,f)))return!1}var d=i.get(e);if(d&&i.get(t))return d==t;var _=!0;i.set(e,t),i.set(t,e);for(var h=o;++u<c;){var p=e[f=l[u]],g=t[f];if(r)var b=o?r(g,p,f,t,e,i):r(p,g,f,e,t,i);if(!(void 0===b?p===g||n(p,g,r,s,i):b)){_=!1;break}h||(h="constructor"==f)}if(_&&!h){var m=e.constructor,y=t.constructor;m==y||!("constructor"in e)||!("constructor"in t)||"function"==typeof m&&m instanceof m&&"function"==typeof y&&y instanceof y||(_=!1)}return i.delete(e),i.delete(t),_}(e,t,n,r,i,o))}(e,t,ke,n,r,i))}function xe(e){return Xe(e)?e:Ue(e)}function Re(e,t,n,r,i,o){var l=i&a,c=e.length,u=t.length;if(c!=u&&!(l&&u>c))return!1;var f=o.get(e);if(f&&o.get(t))return f==t;var d=-1,_=!0,h=i&s?new Ce:void 0;for(o.set(e,t),o.set(t,e);++d<c;){var p=e[d],g=t[d];if(r)var b=l?r(g,p,d,t,e,o):r(p,g,d,e,t,o);if(void 0!==b){if(b)continue;_=!1;break}if(h){if(!j(t,(function(e,t){if(!h.has(t)&&(p===e||n(p,e,r,i,o)))return h.add(t)}))){_=!1;break}}else if(p!==g&&!n(p,g,r,i,o)){_=!1;break}}return o.delete(e),o.delete(t),_}function Be(e,t){var n,r,s=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?s["string"==typeof t?"string":"hash"]:s.map}function Oe(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!qe(e)||function(e){return!!$&&$ in e}(e))&&(Je(e)||Z(e)?re:k).test(Ze(e))}(n)?n:void 0}var De=function(e){return ne.call(e)};function Fe(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||x.test(e))&&e>-1&&e%1==0&&e<t}function He(e,t){if(Xe(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!$e(e))||T.test(e)||!C.test(e)||null!=t&&e in Object(t)}function Me(e){return e==e&&!qe(e)}function ze(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}(ce&&De(new ce(new ArrayBuffer(1)))!=S||ue&&De(new ue)!=p||fe&&De(fe.resolve())!=m||de&&De(new de)!=v||_e&&De(new _e)!=L)&&(De=function(e){var t=ne.call(e),n=t==b?e.constructor:void 0,r=n?Ze(n):void 0;if(r)switch(r){case pe:return S;case ge:return p;case be:return m;case me:return v;case ye:return L}return t});var Ue=We((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if($e(e))return Ee?Ee.call(e):"";var t=e+"";return"0"==t&&1/e==-i?"-0":t}(t);var n=[];return P.test(e)&&n.push(""),e.replace(N,(function(e,t,r,s){n.push(r?s.replace(I,"$1"):t||e)})),n}));function je(e){if("string"==typeof e||$e(e))return e;var t=e+"";return"0"==t&&1/e==-i?"-0":t}function Ze(e){if(null!=e){try{return ee.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function We(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,s=t?t.apply(this,r):r[0],a=n.cache;if(a.has(s))return a.get(s);var i=e.apply(this,r);return n.cache=a.set(s,i),i};return n.cache=new(We.Cache||Se),n}function Ge(e,t){return e===t||e!=e&&t!=t}function Qe(e){return function(e){return Ke(e)&&Ye(e)}(e)&&te.call(e,"callee")&&(!ie.call(e,"callee")||ne.call(e)==l)}We.Cache=Se;var Xe=Array.isArray;function Ye(e){return null!=e&&Ve(e.length)&&!Je(e)}function Je(e){var t=qe(e)?ne.call(e):"";return t==_||t==h}function Ve(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function qe(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ke(e){return!!e&&"object"==typeof e}function $e(e){return"symbol"==typeof e||Ke(e)&&ne.call(e)==E}var et=U?function(e){return function(t){return e(t)}}(U):function(e){return Ke(e)&&Ve(e.length)&&!!R[ne.call(e)]};function tt(e){return Ye(e)?function(e,t){var n=Xe(e)||Qe(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,s=!!r;for(var a in e)!t&&!te.call(e,a)||s&&("length"==a||Fe(a,r))||n.push(a);return n}(e):function(e){if(n=(t=e)&&t.constructor,t!==("function"==typeof n&&n.prototype||q))return le(e);var t,n,r=[];for(var s in Object(e))te.call(e,s)&&"constructor"!=s&&r.push(s);return r}(e)}function nt(e){return e}e.exports=function(e,t){var n,r,i,o,l,c={};return t="function"==typeof(n=t)?n:null==n?nt:"object"==typeof n?Xe(n)?function(e,t){return He(e)&&Me(t)?ze(je(e),t):function(n){var r=function(e,t,n){var r=null==e?void 0:Ne(e,t);return void 0===r?void 0:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&function(e,t,n){for(var r,s=-1,a=(t=He(t,e)?[t]:xe(t)).length;++s<a;){var i=je(t[s]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}return r||!!(a=e?e.length:0)&&Ve(a)&&Fe(i,a)&&(Xe(e)||Qe(e))}(e,t,Ie)}(n,e):ke(t,r,void 0,s|a)}}(n[0],n[1]):(i=function(e){for(var t=tt(e),n=t.length;n--;){var r=t[n],s=e[r];t[n]=[r,s,Me(s)]}return t}(r=n),1==i.length&&i[0][2]?ze(i[0][0],i[0][1]):function(e){return e===r||function(e,t,n,r){var i=n.length,o=i;if(null==e)return!o;for(e=Object(e);i--;){var l=n[i];if(l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++i<o;){var c=(l=n[i])[0],u=e[c],f=l[1];if(l[2]){if(void 0===u&&!(c in e))return!1}else{var d,_=new Te;if(!(void 0===d?ke(f,u,r,s|a,_):d))return!1}}return!0}(e,0,i)}):He(o=n)?(l=je(o),function(e){return null==e?void 0:e[l]}):function(e){return function(t){return Ne(t,e)}}(o),function(e,t){e&&function(e,t,n){for(var r=-1,s=Object(e),a=n(e),i=a.length;i--;){var o=a[++r];if(!1===t(s[o],o,s))break}}(e,t,tt)}(e,(function(e,n,r){c[n]=t(e,n,r)})),c}},107:(e,t,n)=>{e=n.nmd(e);var r="__lodash_hash_undefined__",s=1,a=2,i=1/0,o=9007199254740991,l="[object Arguments]",c="[object Array]",u="[object Boolean]",f="[object Date]",d="[object Error]",_="[object Function]",h="[object GeneratorFunction]",p="[object Map]",g="[object Number]",b="[object Object]",m="[object Promise]",y="[object RegExp]",v="[object Set]",w="[object String]",E="[object Symbol]",L="[object WeakMap]",A="[object ArrayBuffer]",S="[object DataView]",C=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,T=/^\w*$/,P=/^\./,N=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,I=/\\(\\)?/g,k=/^\[object .+?Constructor\]$/,x=/^(?:0|[1-9]\d*)$/,R={};R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R[l]=R[c]=R[A]=R[u]=R[S]=R[f]=R[d]=R[_]=R[p]=R[g]=R[b]=R[y]=R[v]=R[w]=R[L]=!1;var B="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,O="object"==typeof self&&self&&self.Object===Object&&self,D=B||O||Function("return this")(),F=t&&!t.nodeType&&t,H=F&&e&&!e.nodeType&&e,M=H&&H.exports===F&&B.process,z=function(){try{return M&&M.binding("util")}catch(e){}}(),U=z&&z.isTypedArray;function j(e,t,n,r){for(var s=-1,a=e?e.length:0;++s<a;){var i=e[s];t(r,i,n(i),e)}return r}function Z(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function W(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function G(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var X,Y,J,V=Array.prototype,q=Function.prototype,K=Object.prototype,$=D["__core-js_shared__"],ee=(X=/[^.]+$/.exec($&&$.keys&&$.keys.IE_PROTO||""))?"Symbol(src)_1."+X:"",te=q.toString,ne=K.hasOwnProperty,re=K.toString,se=RegExp("^"+te.call(ne).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ae=D.Symbol,ie=D.Uint8Array,oe=K.propertyIsEnumerable,le=V.splice,ce=(Y=Object.keys,J=Object,function(e){return Y(J(e))}),ue=ze(D,"DataView"),fe=ze(D,"Map"),de=ze(D,"Promise"),_e=ze(D,"Set"),he=ze(D,"WeakMap"),pe=ze(Object,"create"),ge=Ye(ue),be=Ye(fe),me=Ye(de),ye=Ye(_e),ve=Ye(he),we=ae?ae.prototype:void 0,Ee=we?we.valueOf:void 0,Le=we?we.toString:void 0;function Ae(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Se(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ce(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Te(e){var t=-1,n=e?e.length:0;for(this.__data__=new Ce;++t<n;)this.add(e[t])}function Pe(e){this.__data__=new Se(e)}function Ne(e,t){for(var n=e.length;n--;)if($e(e[n][0],t))return n;return-1}function Ie(e,t,n,r){return xe(e,(function(e,s,a){t(r,e,n(e),a)})),r}Ae.prototype.clear=function(){this.__data__=pe?pe(null):{}},Ae.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Ae.prototype.get=function(e){var t=this.__data__;if(pe){var n=t[e];return n===r?void 0:n}return ne.call(t,e)?t[e]:void 0},Ae.prototype.has=function(e){var t=this.__data__;return pe?void 0!==t[e]:ne.call(t,e)},Ae.prototype.set=function(e,t){return this.__data__[e]=pe&&void 0===t?r:t,this},Se.prototype.clear=function(){this.__data__=[]},Se.prototype.delete=function(e){var t=this.__data__,n=Ne(t,e);return!(n<0||(n==t.length-1?t.pop():le.call(t,n,1),0))},Se.prototype.get=function(e){var t=this.__data__,n=Ne(t,e);return n<0?void 0:t[n][1]},Se.prototype.has=function(e){return Ne(this.__data__,e)>-1},Se.prototype.set=function(e,t){var n=this.__data__,r=Ne(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Ce.prototype.clear=function(){this.__data__={hash:new Ae,map:new(fe||Se),string:new Ae}},Ce.prototype.delete=function(e){return Me(this,e).delete(e)},Ce.prototype.get=function(e){return Me(this,e).get(e)},Ce.prototype.has=function(e){return Me(this,e).has(e)},Ce.prototype.set=function(e,t){return Me(this,e).set(e,t),this},Te.prototype.add=Te.prototype.push=function(e){return this.__data__.set(e,r),this},Te.prototype.has=function(e){return this.__data__.has(e)},Pe.prototype.clear=function(){this.__data__=new Se},Pe.prototype.delete=function(e){return this.__data__.delete(e)},Pe.prototype.get=function(e){return this.__data__.get(e)},Pe.prototype.has=function(e){return this.__data__.has(e)},Pe.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Se){var r=n.__data__;if(!fe||r.length<199)return r.push([e,t]),this;n=this.__data__=new Ce(r)}return n.set(e,t),this};var ke,xe=(ke=function(e,t){return e&&Re(e,t,ct)},function(e,t){if(null==e)return e;if(!nt(e))return ke(e,t);for(var n=e.length,r=-1,s=Object(e);++r<n&&!1!==t(s[r],r,s););return e}),Re=function(e,t,n){for(var r=-1,s=Object(e),a=n(e),i=a.length;i--;){var o=a[++r];if(!1===t(s[o],o,s))break}return e};function Be(e,t){for(var n=0,r=(t=Ze(t,e)?[t]:Fe(t)).length;null!=e&&n<r;)e=e[Xe(t[n++])];return n&&n==r?e:void 0}function Oe(e,t){return null!=e&&t in Object(e)}function De(e,t,n,r,i){return e===t||(null==e||null==t||!at(e)&&!it(t)?e!=e&&t!=t:function(e,t,n,r,i,o){var _=tt(e),h=tt(t),m=c,L=c;_||(m=(m=Ue(e))==l?b:m),h||(L=(L=Ue(t))==l?b:L);var C=m==b&&!W(e),T=L==b&&!W(t),P=m==L;if(P&&!C)return o||(o=new Pe),_||lt(e)?He(e,t,n,r,i,o):function(e,t,n,r,i,o,l){switch(n){case S:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case A:return!(e.byteLength!=t.byteLength||!r(new ie(e),new ie(t)));case u:case f:case g:return $e(+e,+t);case d:return e.name==t.name&&e.message==t.message;case y:case w:return e==t+"";case p:var c=G;case v:var _=o&a;if(c||(c=Q),e.size!=t.size&&!_)return!1;var h=l.get(e);if(h)return h==t;o|=s,l.set(e,t);var b=He(c(e),c(t),r,i,o,l);return l.delete(e),b;case E:if(Ee)return Ee.call(e)==Ee.call(t)}return!1}(e,t,m,n,r,i,o);if(!(i&a)){var N=C&&ne.call(e,"__wrapped__"),I=T&&ne.call(t,"__wrapped__");if(N||I){var k=N?e.value():e,x=I?t.value():t;return o||(o=new Pe),n(k,x,r,i,o)}}return!!P&&(o||(o=new Pe),function(e,t,n,r,s,i){var o=s&a,l=ct(e),c=l.length;if(c!=ct(t).length&&!o)return!1;for(var u=c;u--;){var f=l[u];if(!(o?f in t:ne.call(t,f)))return!1}var d=i.get(e);if(d&&i.get(t))return d==t;var _=!0;i.set(e,t),i.set(t,e);for(var h=o;++u<c;){var p=e[f=l[u]],g=t[f];if(r)var b=o?r(g,p,f,t,e,i):r(p,g,f,e,t,i);if(!(void 0===b?p===g||n(p,g,r,s,i):b)){_=!1;break}h||(h="constructor"==f)}if(_&&!h){var m=e.constructor,y=t.constructor;m==y||!("constructor"in e)||!("constructor"in t)||"function"==typeof m&&m instanceof m&&"function"==typeof y&&y instanceof y||(_=!1)}return i.delete(e),i.delete(t),_}(e,t,n,r,i,o))}(e,t,De,n,r,i))}function Fe(e){return tt(e)?e:Qe(e)}function He(e,t,n,r,i,o){var l=i&a,c=e.length,u=t.length;if(c!=u&&!(l&&u>c))return!1;var f=o.get(e);if(f&&o.get(t))return f==t;var d=-1,_=!0,h=i&s?new Te:void 0;for(o.set(e,t),o.set(t,e);++d<c;){var p=e[d],g=t[d];if(r)var b=l?r(g,p,d,t,e,o):r(p,g,d,e,t,o);if(void 0!==b){if(b)continue;_=!1;break}if(h){if(!Z(t,(function(e,t){if(!h.has(t)&&(p===e||n(p,e,r,i,o)))return h.add(t)}))){_=!1;break}}else if(p!==g&&!n(p,g,r,i,o)){_=!1;break}}return o.delete(e),o.delete(t),_}function Me(e,t){var n,r,s=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?s["string"==typeof t?"string":"hash"]:s.map}function ze(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!at(e)||function(e){return!!ee&&ee in e}(e))&&(rt(e)||W(e)?se:k).test(Ye(e))}(n)?n:void 0}var Ue=function(e){return re.call(e)};function je(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||x.test(e))&&e>-1&&e%1==0&&e<t}function Ze(e,t){if(tt(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ot(e))||T.test(e)||!C.test(e)||null!=t&&e in Object(t)}function We(e){return e==e&&!at(e)}function Ge(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}(ue&&Ue(new ue(new ArrayBuffer(1)))!=S||fe&&Ue(new fe)!=p||de&&Ue(de.resolve())!=m||_e&&Ue(new _e)!=v||he&&Ue(new he)!=L)&&(Ue=function(e){var t=re.call(e),n=t==b?e.constructor:void 0,r=n?Ye(n):void 0;if(r)switch(r){case ge:return S;case be:return p;case me:return m;case ye:return v;case ve:return L}return t});var Qe=Ke((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(ot(e))return Le?Le.call(e):"";var t=e+"";return"0"==t&&1/e==-i?"-0":t}(t);var n=[];return P.test(e)&&n.push(""),e.replace(N,(function(e,t,r,s){n.push(r?s.replace(I,"$1"):t||e)})),n}));function Xe(e){if("string"==typeof e||ot(e))return e;var t=e+"";return"0"==t&&1/e==-i?"-0":t}function Ye(e){if(null!=e){try{return te.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Je,Ve,qe=(Je=function(e,t,n){e[n?0:1].push(t)},Ve=function(){return[[],[]]},function(e,t){var n,r,i,o,l,c=tt(e)?j:Ie,u=Ve?[[],[]]:{};return c(e,Je,"function"==typeof(n=t)?n:null==n?ut:"object"==typeof n?tt(n)?function(e,t){return Ze(e)&&We(t)?Ge(Xe(e),t):function(n){var r=function(e,t,n){var r=null==e?void 0:Be(e,t);return void 0===r?void 0:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&function(e,t,n){for(var r,s=-1,a=(t=Ze(t,e)?[t]:Fe(t)).length;++s<a;){var i=Xe(t[s]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}return r||!!(a=e?e.length:0)&&st(a)&&je(i,a)&&(tt(e)||et(e))}(e,t,Oe)}(n,e):De(t,r,void 0,s|a)}}(n[0],n[1]):1==(i=function(e){for(var t=ct(e),n=t.length;n--;){var r=t[n],s=e[r];t[n]=[r,s,We(s)]}return t}(r=n)).length&&i[0][2]?Ge(i[0][0],i[0][1]):function(e){return e===r||function(e,t,n,r){var i=n.length,o=i;if(null==e)return!o;for(e=Object(e);i--;){var l=n[i];if(l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++i<o;){var c=(l=n[i])[0],u=e[c],f=l[1];if(l[2]){if(void 0===u&&!(c in e))return!1}else{var d,_=new Pe;if(!(void 0===d?De(f,u,r,s|a,_):d))return!1}}return!0}(e,0,i)}:Ze(o=n)?(l=Xe(o),function(e){return null==e?void 0:e[l]}):function(e){return function(t){return Be(t,e)}}(o),u)});function Ke(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,s=t?t.apply(this,r):r[0],a=n.cache;if(a.has(s))return a.get(s);var i=e.apply(this,r);return n.cache=a.set(s,i),i};return n.cache=new(Ke.Cache||Ce),n}function $e(e,t){return e===t||e!=e&&t!=t}function et(e){return function(e){return it(e)&&nt(e)}(e)&&ne.call(e,"callee")&&(!oe.call(e,"callee")||re.call(e)==l)}Ke.Cache=Ce;var tt=Array.isArray;function nt(e){return null!=e&&st(e.length)&&!rt(e)}function rt(e){var t=at(e)?re.call(e):"";return t==_||t==h}function st(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function at(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function it(e){return!!e&&"object"==typeof e}function ot(e){return"symbol"==typeof e||it(e)&&re.call(e)==E}var lt=U?function(e){return function(t){return e(t)}}(U):function(e){return it(e)&&st(e.length)&&!!R[re.call(e)]};function ct(e){return nt(e)?function(e,t){var n=tt(e)||et(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,s=!!r;for(var a in e)!t&&!ne.call(e,a)||s&&("length"==a||je(a,r))||n.push(a);return n}(e):function(e){if(n=(t=e)&&t.constructor,t!==("function"==typeof n&&n.prototype||K))return ce(e);var t,n,r=[];for(var s in Object(e))ne.call(e,s)&&"constructor"!=s&&r.push(s);return r}(e)}function ut(e){return e}e.exports=qe},3545:e=>{var t=1/0,n=4294967295,r=/^\s+|\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,i=/^0o[0-7]+$/i,o=parseInt,l=Object.prototype.toString,c=Math.min;function u(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function f(e){return e}e.exports=function(e,d){if((e=function(e){var n=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==l.call(e)}(e))return NaN;if(u(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=u(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=a.test(e);return n||i.test(e)?o(e.slice(2),n?2:8):s.test(e)?NaN:+e}(e))===t||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}(e),c=n%1;return n==n?c?n-c:n:0}(e))<1||e>9007199254740991)return[];var _=n,h=c(e,n);e-=n;for(var p=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(h,d="function"==typeof d?d:f);++_<e;)d(_);return p}},9500:(e,t,n)=>{var r=n(87),s=n(6883),a=n(7172).Buffer,i=new Array(16);function o(){s.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function l(e,t){return e<<t|e>>>32-t}function c(e,t,n,r,s,a,i){return l(e+(t&n|~t&r)+s+a|0,i)+t|0}function u(e,t,n,r,s,a,i){return l(e+(t&r|n&~r)+s+a|0,i)+t|0}function f(e,t,n,r,s,a,i){return l(e+(t^n^r)+s+a|0,i)+t|0}function d(e,t,n,r,s,a,i){return l(e+(n^(t|~r))+s+a|0,i)+t|0}r(o,s),o.prototype._update=function(){for(var e=i,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,r=this._b,s=this._c,a=this._d;n=c(n,r,s,a,e[0],3614090360,7),a=c(a,n,r,s,e[1],3905402710,12),s=c(s,a,n,r,e[2],606105819,17),r=c(r,s,a,n,e[3],3250441966,22),n=c(n,r,s,a,e[4],4118548399,7),a=c(a,n,r,s,e[5],1200080426,12),s=c(s,a,n,r,e[6],2821735955,17),r=c(r,s,a,n,e[7],4249261313,22),n=c(n,r,s,a,e[8],1770035416,7),a=c(a,n,r,s,e[9],2336552879,12),s=c(s,a,n,r,e[10],4294925233,17),r=c(r,s,a,n,e[11],2304563134,22),n=c(n,r,s,a,e[12],1804603682,7),a=c(a,n,r,s,e[13],4254626195,12),s=c(s,a,n,r,e[14],2792965006,17),n=u(n,r=c(r,s,a,n,e[15],1236535329,22),s,a,e[1],4129170786,5),a=u(a,n,r,s,e[6],3225465664,9),s=u(s,a,n,r,e[11],643717713,14),r=u(r,s,a,n,e[0],3921069994,20),n=u(n,r,s,a,e[5],3593408605,5),a=u(a,n,r,s,e[10],38016083,9),s=u(s,a,n,r,e[15],3634488961,14),r=u(r,s,a,n,e[4],3889429448,20),n=u(n,r,s,a,e[9],568446438,5),a=u(a,n,r,s,e[14],3275163606,9),s=u(s,a,n,r,e[3],4107603335,14),r=u(r,s,a,n,e[8],1163531501,20),n=u(n,r,s,a,e[13],2850285829,5),a=u(a,n,r,s,e[2],4243563512,9),s=u(s,a,n,r,e[7],1735328473,14),n=f(n,r=u(r,s,a,n,e[12],2368359562,20),s,a,e[5],4294588738,4),a=f(a,n,r,s,e[8],2272392833,11),s=f(s,a,n,r,e[11],1839030562,16),r=f(r,s,a,n,e[14],4259657740,23),n=f(n,r,s,a,e[1],2763975236,4),a=f(a,n,r,s,e[4],1272893353,11),s=f(s,a,n,r,e[7],4139469664,16),r=f(r,s,a,n,e[10],3200236656,23),n=f(n,r,s,a,e[13],681279174,4),a=f(a,n,r,s,e[0],3936430074,11),s=f(s,a,n,r,e[3],3572445317,16),r=f(r,s,a,n,e[6],76029189,23),n=f(n,r,s,a,e[9],3654602809,4),a=f(a,n,r,s,e[12],3873151461,11),s=f(s,a,n,r,e[15],530742520,16),n=d(n,r=f(r,s,a,n,e[2],3299628645,23),s,a,e[0],4096336452,6),a=d(a,n,r,s,e[7],1126891415,10),s=d(s,a,n,r,e[14],2878612391,15),r=d(r,s,a,n,e[5],4237533241,21),n=d(n,r,s,a,e[12],1700485571,6),a=d(a,n,r,s,e[3],2399980690,10),s=d(s,a,n,r,e[10],4293915773,15),r=d(r,s,a,n,e[1],2240044497,21),n=d(n,r,s,a,e[8],1873313359,6),a=d(a,n,r,s,e[15],4264355552,10),s=d(s,a,n,r,e[6],2734768916,15),r=d(r,s,a,n,e[13],1309151649,21),n=d(n,r,s,a,e[4],4149444226,6),a=d(a,n,r,s,e[11],3174756917,10),s=d(s,a,n,r,e[2],718787259,15),r=d(r,s,a,n,e[9],3951481745,21),this._a=this._a+n|0,this._b=this._b+r|0,this._c=this._c+s|0,this._d=this._d+a|0},o.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=a.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=o},7859:e=>{function t(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=t,t.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)}},6938:e=>{var t={};function n(e,n,r){r||(r=Error);var s=function(e){var t,r;function s(t,r,s){return e.call(this,function(e,t,r){return"string"==typeof n?n:n(e,t,r)}(t,r,s))||this}return r=e,(t=s).prototype=Object.create(r.prototype),t.prototype.constructor=t,t.__proto__=r,s}(r);s.prototype.name=r.name,s.prototype.code=e,t[e]=s}function r(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}n("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(e,t,n){var s,a,i,o,l;if("string"==typeof t&&(a="not ",t.substr(0,4)===a)?(s="must not be",t=t.replace(/^not /,"")):s="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-9,n)===t}(e," argument"))i="The ".concat(e," ").concat(s," ").concat(r(t,"type"));else{var c=("number"!=typeof l&&(l=0),l+1>(o=e).length||-1===o.indexOf(".",l)?"argument":"property");i='The "'.concat(e,'" ').concat(c," ").concat(s," ").concat(r(t,"type"))}return i+". Received type ".concat(typeof n)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.q=t},4439:(e,t,n)=>{var r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=c;var s=n(5327),a=n(4567);n(87)(c,s);for(var i=r(a.prototype),o=0;o<i.length;o++){var l=i[o];c.prototype[l]||(c.prototype[l]=a.prototype[l])}function c(e){if(!(this instanceof c))return new c(e);s.call(this,e),a.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",u)))}function u(){this._writableState.ended||process.nextTick(f,this)}function f(e){e.end()}Object.defineProperty(c.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(c.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(c.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})},3754:(e,t,n)=>{e.exports=s;var r=n(2175);function s(e){if(!(this instanceof s))return new s(e);r.call(this,e)}n(87)(s,r),s.prototype._transform=function(e,t,n){n(null,e)}},5327:(e,t,n)=>{var r;e.exports=A,A.ReadableState=L,n(343).EventEmitter;var s,a=function(e,t){return e.listeners(t).length},i=n(6052),o=n(816).Buffer,l=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},c=n(1632);s=c&&c.debuglog?c.debuglog("stream"):function(){};var u,f,d,_=n(7712),h=n(7640),p=n(5985).getHighWaterMark,g=n(6938).q,b=g.ERR_INVALID_ARG_TYPE,m=g.ERR_STREAM_PUSH_AFTER_EOF,y=g.ERR_METHOD_NOT_IMPLEMENTED,v=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;n(87)(A,i);var w=h.errorOrDestroy,E=["error","close","destroy","pause","resume"];function L(e,t,s){r=r||n(4439),e=e||{},"boolean"!=typeof s&&(s=t instanceof r),this.objectMode=!!e.objectMode,s&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=p(this,e,"readableHighWaterMark",s),this.buffer=new _,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=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(u||(u=n(4361).s),this.decoder=new u(e.encoding),this.encoding=e.encoding)}function A(e){if(r=r||n(4439),!(this instanceof A))return new A(e);var t=this instanceof r;this._readableState=new L(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),i.call(this)}function S(e,t,n,r,a){s("readableAddChunk",t);var i,c=e._readableState;if(null===t)c.reading=!1,function(e,t){if(s("onEofChunk"),!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?N(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,I(e)))}}(e,c);else if(a||(i=function(e,t){var n,r;return r=t,o.isBuffer(r)||r instanceof l||"string"==typeof t||void 0===t||e.objectMode||(n=new b("chunk",["string","Buffer","Uint8Array"],t)),n}(c,t)),i)w(e,i);else if(c.objectMode||t&&t.length>0)if("string"==typeof t||c.objectMode||Object.getPrototypeOf(t)===o.prototype||(t=function(e){return o.from(e)}(t)),r)c.endEmitted?w(e,new v):C(e,c,t,!0);else if(c.ended)w(e,new m);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!n?(t=c.decoder.write(t),c.objectMode||0!==t.length?C(e,c,t,!1):k(e,c)):C(e,c,t,!1)}else r||(c.reading=!1,k(e,c));return!c.ended&&(c.length<c.highWaterMark||0===c.length)}function C(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&N(e)),k(e,t)}Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(e,t){t(e)},A.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=o.from(e,t),t=""),n=!0),S(this,e,t,!1,n)},A.prototype.unshift=function(e){return S(this,e,null,!0,!1)},A.prototype.isPaused=function(){return!1===this._readableState.flowing},A.prototype.setEncoding=function(e){u||(u=n(4361).s);var t=new u(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,s="";null!==r;)s+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==s&&this._readableState.buffer.push(s),this._readableState.length=s.length,this};var T=1073741824;function P(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=T?e=T:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function N(e){var t=e._readableState;s("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(s("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(I,e))}function I(e){var t=e._readableState;s("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,D(e)}function k(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(x,e,t))}function x(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var n=t.length;if(s("maybeReadMore read 0"),e.read(0),n===t.length)break}t.readingMore=!1}function R(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function B(e){s("readable nexttick read 0"),e.read(0)}function O(e,t){s("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),D(e),t.flowing&&!t.reading&&e.read(0)}function D(e){var t=e._readableState;for(s("flow",t.flowing);t.flowing&&null!==e.read(););}function F(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function H(e){var t=e._readableState;s("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(M,t,e))}function M(e,t){if(s("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}function z(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}A.prototype.read=function(e){s("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return s("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?H(this):N(this),null;if(0===(e=P(e,t))&&t.ended)return 0===t.length&&H(this),null;var r,a=t.needReadable;return s("need readable",a),(0===t.length||t.length-e<t.highWaterMark)&&s("length less than watermark",a=!0),t.ended||t.reading?s("reading or ended",a=!1):a&&(s("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=P(n,t))),null===(r=e>0?F(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&H(this)),null!==r&&this.emit("data",r),r},A.prototype._read=function(e){w(this,new y("_read()"))},A.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,s("pipe count=%d opts=%j",r.pipesCount,t);var i=t&&!1===t.end||e===process.stdout||e===process.stderr?h:o;function o(){s("onend"),e.end()}r.endEmitted?process.nextTick(i):n.once("end",i),e.on("unpipe",(function t(a,i){s("onunpipe"),a===n&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,s("cleanup"),e.removeListener("close",d),e.removeListener("finish",_),e.removeListener("drain",l),e.removeListener("error",f),e.removeListener("unpipe",t),n.removeListener("end",o),n.removeListener("end",h),n.removeListener("data",u),c=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||l())}));var l=function(e){return function(){var t=e._readableState;s("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,D(e))}}(n);e.on("drain",l);var c=!1;function u(t){s("ondata");var a=e.write(t);s("dest.write",a),!1===a&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==z(r.pipes,e))&&!c&&(s("false write response, pause",r.awaitDrain),r.awaitDrain++),n.pause())}function f(t){s("onerror",t),h(),e.removeListener("error",f),0===a(e,"error")&&w(e,t)}function d(){e.removeListener("finish",_),h()}function _(){s("onfinish"),e.removeListener("close",d),h()}function h(){s("unpipe"),n.unpipe(e)}return n.on("data",u),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",f),e.once("close",d),e.once("finish",_),e.emit("pipe",n),r.flowing||(s("pipe resume"),n.resume()),e},A.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,s=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<s;a++)r[a].emit("unpipe",this,{hasUnpiped:!1});return this}var i=z(t.pipes,e);return-1===i||(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n)),this},A.prototype.on=function(e,t){var n=i.prototype.on.call(this,e,t),r=this._readableState;return"data"===e?(r.readableListening=this.listenerCount("readable")>0,!1!==r.flowing&&this.resume()):"readable"===e&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,s("on readable",r.length,r.reading),r.length?N(this):r.reading||process.nextTick(B,this))),n},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(e,t){var n=i.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(R,this),n},A.prototype.removeAllListeners=function(e){var t=i.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(R,this),t},A.prototype.resume=function(){var e=this._readableState;return e.flowing||(s("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(O,e,t))}(this,e)),e.paused=!1,this},A.prototype.pause=function(){return s("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(s("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var a in e.on("end",(function(){if(s("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(a){s("wrapped data"),n.decoder&&(a=n.decoder.write(a)),n.objectMode&&null==a||(n.objectMode||a&&a.length)&&(t.push(a)||(r=!0,e.pause()))})),e)void 0===this[a]&&"function"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));for(var i=0;i<E.length;i++)e.on(E[i],this.emit.bind(this,E[i]));return this._read=function(t){s("wrapped _read",t),r&&(r=!1,e.resume())},this},"function"==typeof Symbol&&(A.prototype[Symbol.asyncIterator]=function(){return void 0===f&&(f=n(4157)),f(this)}),Object.defineProperty(A.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(A.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(A.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),A._fromList=F,Object.defineProperty(A.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(A.from=function(e,t){return void 0===d&&(d=n(5800)),d(A,e,t)})},2175:(e,t,n)=>{e.exports=u;var r=n(6938).q,s=r.ERR_METHOD_NOT_IMPLEMENTED,a=r.ERR_MULTIPLE_CALLBACK,i=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=r.ERR_TRANSFORM_WITH_LENGTH_0,l=n(4439);function c(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new a);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var s=this._readableState;s.reading=!1,(s.needReadable||s.length<s.highWaterMark)&&this._read(s.highWaterMark)}function u(e){if(!(this instanceof u))return new u(e);l.call(this,e),this._transformState={afterTransform:c.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",f)}function f(){var e=this;"function"!=typeof this._flush||this._readableState.destroyed?d(this,null,null):this._flush((function(t,n){d(e,t,n)}))}function d(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw new o;if(e._transformState.transforming)throw new i;return e.push(null)}n(87)(u,l),u.prototype.push=function(e,t){return this._transformState.needTransform=!1,l.prototype.push.call(this,e,t)},u.prototype._transform=function(e,t,n){n(new s("_transform()"))},u.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var s=this._readableState;(r.needTransform||s.needReadable||s.length<s.highWaterMark)&&this._read(s.highWaterMark)}},u.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},u.prototype._destroy=function(e,t){l.prototype._destroy.call(this,e,(function(e){t(e)}))}},4567:(e,t,n)=>{function r(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;for(e.entry=null;r;){var s=r.callback;t.pendingcb--,s(undefined),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}var s;e.exports=A,A.WritableState=L;var a,i={deprecate:n(7451)},o=n(6052),l=n(816).Buffer,c=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},u=n(7640),f=n(5985).getHighWaterMark,d=n(6938).q,_=d.ERR_INVALID_ARG_TYPE,h=d.ERR_METHOD_NOT_IMPLEMENTED,p=d.ERR_MULTIPLE_CALLBACK,g=d.ERR_STREAM_CANNOT_PIPE,b=d.ERR_STREAM_DESTROYED,m=d.ERR_STREAM_NULL_VALUES,y=d.ERR_STREAM_WRITE_AFTER_END,v=d.ERR_UNKNOWN_ENCODING,w=u.errorOrDestroy;function E(){}function L(e,t,a){s=s||n(4439),e=e||{},"boolean"!=typeof a&&(a=t instanceof s),this.objectMode=!!e.objectMode,a&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=f(this,e,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===e.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,s=n.writecb;if("function"!=typeof s)throw new p;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,s){--t.pendingcb,n?(process.nextTick(s,r),process.nextTick(I,e,t),e._writableState.errorEmitted=!0,w(e,r)):(s(r),e._writableState.errorEmitted=!0,w(e,r),I(e,t))}(e,n,r,t,s);else{var a=P(n)||e.destroyed;a||n.corked||n.bufferProcessing||!n.bufferedRequest||T(e,n),r?process.nextTick(C,e,n,a,s):C(e,n,a,s)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function A(e){var t=this instanceof(s=s||n(4439));if(!t&&!a.call(A,this))return new A(e);this._writableState=new L(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),o.call(this)}function S(e,t,n,r,s,a,i){t.writelen=r,t.writecb=i,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new b("write")):n?e._writev(s,t.onwrite):e._write(s,a,t.onwrite),t.sync=!1}function C(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),I(e,t)}function T(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var s=t.bufferedRequestCount,a=new Array(s),i=t.corkedRequestsFree;i.entry=n;for(var o=0,l=!0;n;)a[o]=n,n.isBuf||(l=!1),n=n.next,o+=1;a.allBuffers=l,S(e,t,!0,t.length,a,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new r(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,u=n.encoding,f=n.callback;if(S(e,t,!1,t.objectMode?1:c.length,c,u,f),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function P(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function N(e,t){e._final((function(n){t.pendingcb--,n&&w(e,n),t.prefinished=!0,e.emit("prefinish"),I(e,t)}))}function I(e,t){var n=P(t);if(n&&(function(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(N,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return n}n(87)(A,o),L.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(L.prototype,"buffer",{get:i.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(a=Function.prototype[Symbol.hasInstance],Object.defineProperty(A,Symbol.hasInstance,{value:function(e){return!!a.call(this,e)||this===A&&e&&e._writableState instanceof L}})):a=function(e){return e instanceof this},A.prototype.pipe=function(){w(this,new g)},A.prototype.write=function(e,t,n){var r,s=this._writableState,a=!1,i=!s.objectMode&&(r=e,l.isBuffer(r)||r instanceof c);return i&&!l.isBuffer(e)&&(e=function(e){return l.from(e)}(e)),"function"==typeof t&&(n=t,t=null),i?t="buffer":t||(t=s.defaultEncoding),"function"!=typeof n&&(n=E),s.ending?function(e,t){var n=new y;w(e,n),process.nextTick(t,n)}(this,n):(i||function(e,t,n,r){var s;return null===n?s=new m:"string"==typeof n||t.objectMode||(s=new _("chunk",["string","Buffer"],n)),!s||(w(e,s),process.nextTick(r,s),!1)}(this,s,e,n))&&(s.pendingcb++,a=function(e,t,n,r,s,a){if(!n){var i=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=l.from(t,n)),t}(t,r,s);r!==i&&(n=!0,s="buffer",r=i)}var o=t.objectMode?1:r.length;t.length+=o;var c=t.length<t.highWaterMark;if(c||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:s,isBuf:n,callback:a,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else S(e,t,!1,o,r,s,a);return c}(this,s,i,e,t,n)),a},A.prototype.cork=function(){this._writableState.corked++},A.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||T(this,e))},A.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new v(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(e,t,n){n(new h("_write()"))},A.prototype._writev=null,A.prototype.end=function(e,t,n){var r=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,n){t.ending=!0,I(e,t),n&&(t.finished?process.nextTick(n):e.once("finish",n)),t.ended=!0,e.writable=!1}(this,r,n),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),A.prototype.destroy=u.destroy,A.prototype._undestroy=u.undestroy,A.prototype._destroy=function(e,t){t(e)}},4157:(e,t,n)=>{var r;function s(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var a=n(5027),i=Symbol("lastResolve"),o=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),f=Symbol("handlePromise"),d=Symbol("stream");function _(e,t){return{value:e,done:t}}function h(e){var t=e[i];if(null!==t){var n=e[d].read();null!==n&&(e[u]=null,e[i]=null,e[o]=null,t(_(n,!1)))}}function p(e){process.nextTick(h,e)}var g=Object.getPrototypeOf((function(){})),b=Object.setPrototypeOf((s(r={get stream(){return this[d]},next:function(){var e=this,t=this[l];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(_(void 0,!0));if(this[d].destroyed)return new Promise((function(t,n){process.nextTick((function(){e[l]?n(e[l]):t(_(void 0,!0))}))}));var n,r=this[u];if(r)n=new Promise(function(e,t){return function(n,r){e.then((function(){t[c]?n(_(void 0,!0)):t[f](n,r)}),r)}}(r,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(_(s,!1));n=new Promise(this[f])}return this[u]=n,n}},Symbol.asyncIterator,(function(){return this})),s(r,"return",(function(){var e=this;return new Promise((function(t,n){e[d].destroy(null,(function(e){e?n(e):t(_(void 0,!0))}))}))})),r),g);e.exports=function(e){var t,n=Object.create(b,(s(t={},d,{value:e,writable:!0}),s(t,i,{value:null,writable:!0}),s(t,o,{value:null,writable:!0}),s(t,l,{value:null,writable:!0}),s(t,c,{value:e._readableState.endEmitted,writable:!0}),s(t,f,{value:function(e,t){var r=n[d].read();r?(n[u]=null,n[i]=null,n[o]=null,e(_(r,!1))):(n[i]=e,n[o]=t)},writable:!0}),t));return n[u]=null,a(e,(function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=n[o];return null!==t&&(n[u]=null,n[i]=null,n[o]=null,t(e)),void(n[l]=e)}var r=n[i];null!==r&&(n[u]=null,n[i]=null,n[o]=null,r(_(void 0,!0))),n[c]=!0})),e.on("readable",p.bind(null,n)),n}},7712:(e,t,n)=>{function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t,n){return(t=o(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,o(r.key),r)}}function o(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}var l=n(816).Buffer,c=n(471).inspect,u=c&&c.custom||"inspect";e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}var t,n;return t=e,(n=[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return l.alloc(0);for(var t,n,r,s=l.allocUnsafe(e>>>0),a=this.head,i=0;a;)t=a.data,n=s,r=i,l.prototype.copy.call(t,n,r),i+=a.data.length,a=a.next;return s}},{key:"consume",value:function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var s=t.data,a=e>s.length?s.length:e;if(a===s.length?r+=s:r+=s.slice(0,e),0==(e-=a)){a===s.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=s.slice(a));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=l.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var s=n.data,a=e>s.length?s.length:e;if(s.copy(t,t.length-e,0,a),0==(e-=a)){a===s.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=s.slice(a));break}++r}return this.length-=r,t}},{key:u,value:function(e,t){return c(this,s(s({},t),{},{depth:0,customInspect:!1}))}}])&&i(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}()},7640:e=>{function t(e,t){r(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function r(e,t){e.emit("error",t)}e.exports={destroy:function(e,s){var a=this,i=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return i||o?(s?s(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(r,this,e)):process.nextTick(r,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!s&&e?a._writableState?a._writableState.errorEmitted?process.nextTick(n,a):(a._writableState.errorEmitted=!0,process.nextTick(t,a,e)):process.nextTick(t,a,e):s?(process.nextTick(n,a),s(e)):process.nextTick(n,a)})),this)},undestroy:function(){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)},errorOrDestroy:function(e,t){var n=e._readableState,r=e._writableState;n&&n.autoDestroy||r&&r.autoDestroy?e.destroy(t):e.emit("error",t)}}},5027:(e,t,n)=>{var r=n(6938).q.ERR_STREAM_PREMATURE_CLOSE;function s(){}e.exports=function e(t,n,a){if("function"==typeof n)return e(t,null,n);n||(n={}),a=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,r=new Array(n),s=0;s<n;s++)r[s]=arguments[s];e.apply(this,r)}}}(a||s);var i=n.readable||!1!==n.readable&&t.readable,o=n.writable||!1!==n.writable&&t.writable,l=function(){t.writable||u()},c=t._writableState&&t._writableState.finished,u=function(){o=!1,c=!0,i||a.call(t)},f=t._readableState&&t._readableState.endEmitted,d=function(){i=!1,f=!0,o||a.call(t)},_=function(e){a.call(t,e)},h=function(){var e;return i&&!f?(t._readableState&&t._readableState.ended||(e=new r),a.call(t,e)):o&&!c?(t._writableState&&t._writableState.ended||(e=new r),a.call(t,e)):void 0},p=function(){t.req.on("finish",u)};return function(e){return e.setHeader&&"function"==typeof e.abort}(t)?(t.on("complete",u),t.on("abort",h),t.req?p():t.on("request",p)):o&&!t._writableState&&(t.on("end",l),t.on("close",l)),t.on("end",d),t.on("finish",u),!1!==n.error&&t.on("error",_),t.on("close",h),function(){t.removeListener("complete",u),t.removeListener("abort",h),t.removeListener("request",p),t.req&&t.req.removeListener("finish",u),t.removeListener("end",l),t.removeListener("close",l),t.removeListener("finish",u),t.removeListener("end",d),t.removeListener("error",_),t.removeListener("close",h)}}},5800:e=>{e.exports=function(){throw new Error("Readable.from is not available in the browser")}},410:(e,t,n)=>{var r,s=n(6938).q,a=s.ERR_MISSING_ARGS,i=s.ERR_STREAM_DESTROYED;function o(e){if(e)throw e}function l(e){e()}function c(e,t){return e.pipe(t)}e.exports=function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];var u,f=function(e){return e.length?"function"!=typeof e[e.length-1]?o:e.pop():o}(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new a("streams");var d=t.map((function(e,s){var a=s<t.length-1;return function(e,t,s,a){a=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(a);var o=!1;e.on("close",(function(){o=!0})),void 0===r&&(r=n(5027)),r(e,{readable:t,writable:s},(function(e){if(e)return a(e);o=!0,a()}));var l=!1;return function(t){if(!o&&!l)return l=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void a(t||new i("pipe"))}}(e,a,s>0,(function(e){u||(u=e),e&&d.forEach(l),a||(d.forEach(l),f(u))}))}));return t.reduce(c)}},5985:(e,t,n)=>{var r=n(6938).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,n,s){var a=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,s,n);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new r(s?n:"highWaterMark",a);return Math.floor(a)}return e.objectMode?16:16384}}},6052:(e,t,n)=>{e.exports=n(343).EventEmitter},8310:(e,t,n)=>{(t=e.exports=n(5327)).Stream=t,t.Readable=t,t.Writable=n(4567),t.Duplex=n(4439),t.Transform=n(2175),t.PassThrough=n(3754),t.finished=n(5027),t.pipeline=n(410)},7172:(e,t,n)=>{var r=n(816),s=r.Buffer;function a(e,t){for(var n in e)t[n]=e[n]}function i(e,t,n){return s(e,t,n)}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?e.exports=r:(a(r,t),t.Buffer=i),i.prototype=Object.create(s.prototype),a(s,i),i.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return s(e,t,n)},i.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=s(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},i.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return s(e)},i.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},3573:(e,t,n)=>{t.C4=void 0;var r,s=n(816),a=(r=n(350))&&r.__esModule?r:{default:r},i=function(e){var t=e.allowedSizes,n=e.defaultSize,r=e.padding;return function e(){var i=this,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n;if(!this||this.constructor!==e)return new e(o);if(t&&!t.includes(o))throw new Error("Unsupported hash length");var l=new a.default({capacity:o});return this.update=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"utf8";if(s.Buffer.isBuffer(e))return l.absorb(e),i;if("string"==typeof e)return i.update(s.Buffer.from(e,t));throw new TypeError("Not a string or buffer")},this.digest=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"binary",t="string"==typeof e?{format:e}:e,n=l.squeeze({buffer:t.buffer,padding:t.padding||r});return t.format&&"binary"!==t.format?n.toString(t.format):n},this.reset=function(){return l.reset(),i},this}},o=i({allowedSizes:[224,256,384,512],defaultSize:512,padding:1});t.C4=o;var l=i({allowedSizes:[224,256,384,512],defaultSize:512,padding:6});i({allowedSizes:[128,256],defaultSize:256,padding:31});var c=o;l.SHA3Hash=c},350:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=n(816),a=(r=n(5037))&&r.__esModule?r:{default:r},i=function(e,t){for(var n=0;n<e.length;n+=8){var r=n/4;t[r]^=e[n+7]<<24|e[n+6]<<16|e[n+5]<<8|e[n+4],t[r+1]^=e[n+3]<<24|e[n+2]<<16|e[n+1]<<8|e[n]}return t},o=function(e,t){for(var n=0;n<t.length;n+=8){var r=n/4;t[n]=e[r+1],t[n+1]=e[r+1]>>>8,t[n+2]=e[r+1]>>>16,t[n+3]=e[r+1]>>>24,t[n+4]=e[r],t[n+5]=e[r]>>>8,t[n+6]=e[r]>>>16,t[n+7]=e[r]>>>24}return t};t.default=function(e){var t=this,n=e.capacity,r=e.padding,l=(0,a.default)(),c=n/8,u=200-n/4,f=0,d=new Uint32Array(50),_=s.Buffer.allocUnsafe(u);return this.absorb=function(e){for(var n=0;n<e.length;n++)_[f]=e[n],(f+=1)>=u&&(i(_,d),l(d),f=0);return t},this.squeeze=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={buffer:e.buffer||s.Buffer.allocUnsafe(c),padding:e.padding||r,queue:s.Buffer.allocUnsafe(_.length),state:new Uint32Array(d.length)};_.copy(t.queue);for(var n=0;n<d.length;n++)t.state[n]=d[n];t.queue.fill(0,f),t.queue[f]|=t.padding,t.queue[u-1]|=128,i(t.queue,t.state);for(var a=0;a<t.buffer.length;a+=u)l(t.state),o(t.state,t.buffer.slice(a,a+u));return t.buffer},this.reset=function(){return _.fill(0),d.fill(0),f=0,t},this}},9940:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(2196))&&r.__esModule?r:{default:r};t.default=function(e){for(var t=e.A,n=e.C,r=0;r<25;r+=5){for(var a=0;a<5;a++)(0,s.default)(t,r+a)(n,a);for(var i=0;i<5;i++){var o=2*(r+i),l=(i+1)%5*2,c=(i+2)%5*2;t[o]^=~n[l]&n[c],t[o+1]^=~n[l+1]&n[c+1]}}}},2196:e=>{e.exports=function(e,t){return function(n,r){var s=2*r,a=2*t;n[s]=e[a],n[s+1]=e[a+1]}}},5037:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=o(n(9940)),s=o(n(1909)),a=o(n(6021)),i=o(n(4421));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(){var e=new Uint32Array(10),t=new Uint32Array(10),n=new Uint32Array(2);return function(o){for(var l=0;l<24;l++)(0,i.default)({A:o,C:e,D:t,W:n}),(0,a.default)({A:o,C:e,W:n}),(0,r.default)({A:o,C:e}),(0,s.default)({A:o,roundIndex:l});e.fill(0),t.fill(0),n.fill(0)}}},1909:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(3408))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.A,n=2*e.roundIndex;t[0]^=s.default[n],t[1]^=s.default[n+1]}},3408:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=new Uint32Array([0,1,0,32898,2147483648,32906,2147483648,2147516416,0,32907,0,2147483649,2147483648,2147516545,2147483648,32777,0,138,0,136,0,2147516425,0,2147483658,0,2147516555,2147483648,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,0,32778,2147483648,2147483658,2147483648,2147516545,2147483648,32896,0,2147483649,2147483648,2147516424]);t.default=n},6021:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(2773)),s=i(n(4728)),a=i(n(2196));function i(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){var t=e.A,n=e.C,i=e.W;(0,a.default)(t,1)(i,0);for(var o=0,l=0,c=0,u=32,f=0;f<24;f++){var d=r.default[f],_=s.default[f];(0,a.default)(t,d)(n,0),o=i[0],l=i[1],u=32-_,i[c=_<32?0:1]=o<<_|l>>>u,i[(c+1)%2]=l<<_|o>>>u,(0,a.default)(i,0)(t,d),(0,a.default)(n,0)(i,0)}}},2773:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=[10,7,11,17,18,3,5,16,8,21,24,4,15,23,19,13,12,2,20,14,22,9,6,1]},4728:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=[1,3,6,10,15,21,28,36,45,55,2,14,27,41,56,8,25,43,62,18,39,61,20,44]},4421:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,s=(r=n(2196))&&r.__esModule?r:{default:r};t.default=function(e){for(var t=e.A,n=e.C,r=e.D,a=e.W,i=0,o=0,l=0;l<5;l++){var c=2*l,u=2*(l+5),f=2*(l+10),d=2*(l+15),_=2*(l+20);n[c]=t[c]^t[u]^t[f]^t[d]^t[_],n[c+1]=t[c+1]^t[u+1]^t[f+1]^t[d+1]^t[_+1]}for(var h=0;h<5;h++){(0,s.default)(n,(h+1)%5)(a,0),i=a[0],o=a[1],a[0]=i<<1|o>>>31,a[1]=o<<1|i>>>31,r[2*h]=n[(h+4)%5*2]^a[0],r[2*h+1]=n[(h+4)%5*2+1]^a[1];for(var p=0;p<25;p+=5)t[2*(p+h)]^=r[2*h],t[2*(p+h)+1]^=r[2*h+1]}}},3424:(e,t,n)=>{e.exports=s;var r=n(343).EventEmitter;function s(){r.call(this)}n(87)(s,r),s.Readable=n(5327),s.Writable=n(4567),s.Duplex=n(4439),s.Transform=n(2175),s.PassThrough=n(3754),s.finished=n(5027),s.pipeline=n(410),s.Stream=s,s.prototype.pipe=function(e,t){var n=this;function s(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function a(){n.readable&&n.resume&&n.resume()}n.on("data",s),e.on("drain",a),e._isStdio||t&&!1===t.end||(n.on("end",o),n.on("close",l));var i=!1;function o(){i||(i=!0,e.end())}function l(){i||(i=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(u(),0===r.listenerCount(this,"error"))throw e}function u(){n.removeListener("data",s),e.removeListener("drain",a),n.removeListener("end",o),n.removeListener("close",l),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",u),n.removeListener("close",u),e.removeListener("close",u)}return n.on("error",c),e.on("error",c),n.on("end",u),n.on("close",u),e.on("close",u),e.emit("pipe",n),e}},4361:(e,t,n)=>{var r=n(7172).Buffer,s=r.isEncoding||function(e){switch((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 a(e){var t;switch(this.encoding=function(e){var t=function(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}}(e);if("string"!=typeof t&&(r.isEncoding===s||!s(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=c,t=4;break;case"utf8":this.fillLast=o,t=4;break;case"base64":this.text=u,this.end=f,t=3;break;default:return this.write=d,void(this.end=_)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function i(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function u(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?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-n))}function f(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function _(e){return e&&e.length?this.write(e):""}t.s=a,a.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},a.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},a.prototype.text=function(e,t){var n=function(e,t,n){var r=t.length-1;if(r<n)return 0;var s=i(t[r]);return s>=0?(s>0&&(e.lastNeed=s-1),s):--r<n||-2===s?0:(s=i(t[r]))>=0?(s>0&&(e.lastNeed=s-2),s):--r<n||-2===s?0:(s=i(t[r]))>=0?(s>0&&(2===s?s=0:e.lastNeed=s-3),s):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},a.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}},3118:(e,t)=>{t.VB=function(){return!1}},7451:(e,t,n)=>{function r(e){try{if(!n.g.localStorage)return!1}catch(e){return!1}var t=n.g.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}e.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}},233:()=>{},6534:()=>{},1856:()=>{},6014:()=>{},717:()=>{},6963:()=>{},9190:()=>{},3240:()=>{},6721:()=>{},394:()=>{},471:()=>{},1632:()=>{},8517:()=>{},4636:e=>{e.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r](a,a.exports,n),a.loaded=!0,a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var r={};(()=>{function e(e){let t=e.length;for(;--t>=0;)e[t]=0}n.d(r,{mR:()=>Ni,bG:()=>ri,xz:()=>wr,EB:()=>gi,cC:()=>ti,C3:()=>Wa,QT:()=>hi,ug:()=>Ks,CH:()=>Za,xq:()=>ja,vp:()=>la,xr:()=>oa,Ag:()=>Xa,W_:()=>Na,g2:()=>Ua,Y8:()=>Qa,gB:()=>xi,vX:()=>Di,Bi:()=>ni,jF:()=>Lr,Wi:()=>pi,Fr:()=>Nn,E7:()=>Qi,ah:()=>Zi,N0:()=>Gi,rL:()=>Wi,$h:()=>ya,pP:()=>Ba,E9:()=>Dn,_q:()=>ea,lW:()=>Bi,a5:()=>Ma,GR:()=>si,x6:()=>Oi,of:()=>ei,E$:()=>ki,Tx:()=>Pa,qd:()=>Da,f1:()=>Sa,EY:()=>xa,bH:()=>Ia,qx:()=>Ya,ig:()=>ai,_$:()=>Ti,g$:()=>fs,sn:()=>Yi,es:()=>ca,ir:()=>oi,G0:()=>ii,o2:()=>Fi,nW:()=>li,qe:()=>Xi,IQ:()=>Hi,JA:()=>Mi,FV:()=>zi,iL:()=>Ui,dH:()=>ci,Jz:()=>Si,_v:()=>ta,qW:()=>Ji});const t=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),s=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),a=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),i=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),o=new Array(576);e(o);const l=new Array(60);e(l);const c=new Array(512);e(c);const u=new Array(256);e(u);const f=new Array(29);e(f);const d=new Array(30);function _(e,t,n,r,s){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=s,this.has_stree=e&&e.length}let h,p,g;function b(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}e(d);const m=e=>e<256?c[e]:c[256+(e>>>7)],y=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},v=(e,t,n)=>{e.bi_valid>16-n?(e.bi_buf|=t<<e.bi_valid&65535,y(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},w=(e,t,n)=>{v(e,n[2*t],n[2*t+1])},E=(e,t)=>{let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1},L=(e,t,n)=>{const r=new Array(16);let s,a,i=0;for(s=1;s<=15;s++)i=i+n[s-1]<<1,r[s]=i;for(a=0;a<=t;a++){let t=e[2*a+1];0!==t&&(e[2*a]=E(r[t]++,t))}},A=e=>{let t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},S=e=>{e.bi_valid>8?y(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},C=(e,t,n,r)=>{const s=2*t,a=2*n;return e[s]<e[a]||e[s]===e[a]&&r[t]<=r[n]},T=(e,t,n)=>{const r=e.heap[n];let s=n<<1;for(;s<=e.heap_len&&(s<e.heap_len&&C(t,e.heap[s+1],e.heap[s],e.depth)&&s++,!C(t,r,e.heap[s],e.depth));)e.heap[n]=e.heap[s],n=s,s<<=1;e.heap[n]=r},P=(e,n,r)=>{let a,i,o,l,c=0;if(0!==e.sym_next)do{a=255&e.pending_buf[e.sym_buf+c++],a+=(255&e.pending_buf[e.sym_buf+c++])<<8,i=e.pending_buf[e.sym_buf+c++],0===a?w(e,i,n):(o=u[i],w(e,o+256+1,n),l=t[o],0!==l&&(i-=f[o],v(e,i,l)),a--,o=m(a),w(e,o,r),l=s[o],0!==l&&(a-=d[o],v(e,a,l)))}while(c<e.sym_next);w(e,256,n)},N=(e,t)=>{const n=t.dyn_tree,r=t.stat_desc.static_tree,s=t.stat_desc.has_stree,a=t.stat_desc.elems;let i,o,l,c=-1;for(e.heap_len=0,e.heap_max=573,i=0;i<a;i++)0!==n[2*i]?(e.heap[++e.heap_len]=c=i,e.depth[i]=0):n[2*i+1]=0;for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[2*l]=1,e.depth[l]=0,e.opt_len--,s&&(e.static_len-=r[2*l+1]);for(t.max_code=c,i=e.heap_len>>1;i>=1;i--)T(e,n,i);l=a;do{i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],T(e,n,1),o=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=o,n[2*l]=n[2*i]+n[2*o],e.depth[l]=(e.depth[i]>=e.depth[o]?e.depth[i]:e.depth[o])+1,n[2*i+1]=n[2*o+1]=l,e.heap[1]=l++,T(e,n,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const n=t.dyn_tree,r=t.max_code,s=t.stat_desc.static_tree,a=t.stat_desc.has_stree,i=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,l=t.stat_desc.max_length;let c,u,f,d,_,h,p=0;for(d=0;d<=15;d++)e.bl_count[d]=0;for(n[2*e.heap[e.heap_max]+1]=0,c=e.heap_max+1;c<573;c++)u=e.heap[c],d=n[2*n[2*u+1]+1]+1,d>l&&(d=l,p++),n[2*u+1]=d,u>r||(e.bl_count[d]++,_=0,u>=o&&(_=i[u-o]),h=n[2*u],e.opt_len+=h*(d+_),a&&(e.static_len+=h*(s[2*u+1]+_)));if(0!==p){do{for(d=l-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[l]--,p-=2}while(p>0);for(d=l;0!==d;d--)for(u=e.bl_count[d];0!==u;)f=e.heap[--c],f>r||(n[2*f+1]!==d&&(e.opt_len+=(d-n[2*f+1])*n[2*f],n[2*f+1]=d),u--)}})(e,t),L(n,c,e.bl_count)},I=(e,t,n)=>{let r,s,a=-1,i=t[1],o=0,l=7,c=4;for(0===i&&(l=138,c=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)s=i,i=t[2*(r+1)+1],++o<l&&s===i||(o<c?e.bl_tree[2*s]+=o:0!==s?(s!==a&&e.bl_tree[2*s]++,e.bl_tree[32]++):o<=10?e.bl_tree[34]++:e.bl_tree[36]++,o=0,a=s,0===i?(l=138,c=3):s===i?(l=6,c=3):(l=7,c=4))},k=(e,t,n)=>{let r,s,a=-1,i=t[1],o=0,l=7,c=4;for(0===i&&(l=138,c=3),r=0;r<=n;r++)if(s=i,i=t[2*(r+1)+1],!(++o<l&&s===i)){if(o<c)do{w(e,s,e.bl_tree)}while(0!=--o);else 0!==s?(s!==a&&(w(e,s,e.bl_tree),o--),w(e,16,e.bl_tree),v(e,o-3,2)):o<=10?(w(e,17,e.bl_tree),v(e,o-3,3)):(w(e,18,e.bl_tree),v(e,o-11,7));o=0,a=s,0===i?(l=138,c=3):s===i?(l=6,c=3):(l=7,c=4)}};let x=!1;const R=(e,t,n,r)=>{v(e,0+(r?1:0),3),S(e),y(e,n),y(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n};var B={_tr_init:e=>{x||((()=>{let e,n,r,i,b;const m=new Array(16);for(r=0,i=0;i<28;i++)for(f[i]=r,e=0;e<1<<t[i];e++)u[r++]=i;for(u[r-1]=i,b=0,i=0;i<16;i++)for(d[i]=b,e=0;e<1<<s[i];e++)c[b++]=i;for(b>>=7;i<30;i++)for(d[i]=b<<7,e=0;e<1<<s[i]-7;e++)c[256+b++]=i;for(n=0;n<=15;n++)m[n]=0;for(e=0;e<=143;)o[2*e+1]=8,e++,m[8]++;for(;e<=255;)o[2*e+1]=9,e++,m[9]++;for(;e<=279;)o[2*e+1]=7,e++,m[7]++;for(;e<=287;)o[2*e+1]=8,e++,m[8]++;for(L(o,287,m),e=0;e<30;e++)l[2*e+1]=5,l[2*e]=E(e,5);h=new _(o,t,257,286,15),p=new _(l,s,0,30,15),g=new _(new Array(0),a,0,19,7)})(),x=!0),e.l_desc=new b(e.dyn_ltree,h),e.d_desc=new b(e.dyn_dtree,p),e.bl_desc=new b(e.bl_tree,g),e.bi_buf=0,e.bi_valid=0,A(e)},_tr_stored_block:R,_tr_flush_block:(e,t,n,r)=>{let s,a,c=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),N(e,e.l_desc),N(e,e.d_desc),c=(e=>{let t;for(I(e,e.dyn_ltree,e.l_desc.max_code),I(e,e.dyn_dtree,e.d_desc.max_code),N(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*i[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),s=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=s&&(s=a)):s=a=n+5,n+4<=s&&-1!==t?R(e,t,n,r):4===e.strategy||a===s?(v(e,2+(r?1:0),3),P(e,o,l)):(v(e,4+(r?1:0),3),((e,t,n,r)=>{let s;for(v(e,t-257,5),v(e,n-1,5),v(e,r-4,4),s=0;s<r;s++)v(e,e.bl_tree[2*i[s]+1],3);k(e,e.dyn_ltree,t-1),k(e,e.dyn_dtree,n-1)})(e,e.l_desc.max_code+1,e.d_desc.max_code+1,c+1),P(e,e.dyn_ltree,e.dyn_dtree)),A(e),r&&S(e)},_tr_tally:(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(u[n]+256+1)]++,e.dyn_dtree[2*m(t)]++),e.sym_next===e.sym_end),_tr_align:e=>{v(e,2,3),w(e,256,o),(e=>{16===e.bi_valid?(y(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(e)}},O=(e,t,n,r)=>{let s=65535&e|0,a=e>>>16&65535|0,i=0;for(;0!==n;){i=n>2e3?2e3:n,n-=i;do{s=s+t[r++]|0,a=a+s|0}while(--i);s%=65521,a%=65521}return s|a<<16|0};const D=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t})());var F=(e,t,n,r)=>{const s=D,a=r+n;e^=-1;for(let n=r;n<a;n++)e=e>>>8^s[255&(e^t[n])];return-1^e},H={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},M={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:z,_tr_stored_block:U,_tr_flush_block:j,_tr_tally:Z,_tr_align:W}=B,{Z_NO_FLUSH:G,Z_PARTIAL_FLUSH:Q,Z_FULL_FLUSH:X,Z_FINISH:Y,Z_BLOCK:J,Z_OK:V,Z_STREAM_END:q,Z_STREAM_ERROR:K,Z_DATA_ERROR:$,Z_BUF_ERROR:ee,Z_DEFAULT_COMPRESSION:te,Z_FILTERED:ne,Z_HUFFMAN_ONLY:re,Z_RLE:se,Z_FIXED:ae,Z_DEFAULT_STRATEGY:ie,Z_UNKNOWN:oe,Z_DEFLATED:le}=M,ce=258,ue=262,fe=42,de=113,_e=666,he=(e,t)=>(e.msg=H[t],t),pe=e=>2*e-(e>4?9:0),ge=e=>{let t=e.length;for(;--t>=0;)e[t]=0},be=e=>{let t,n,r,s=e.w_size;t=e.hash_size,r=t;do{n=e.head[--r],e.head[r]=n>=s?n-s:0}while(--t);t=s,r=t;do{n=e.prev[--r],e.prev[r]=n>=s?n-s:0}while(--t)};let me=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask;const ye=e=>{const t=e.state;let n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))},ve=(e,t)=>{j(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ye(e.strm)},we=(e,t)=>{e.pending_buf[e.pending++]=t},Ee=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},Le=(e,t,n,r)=>{let s=e.avail_in;return s>r&&(s=r),0===s?0:(e.avail_in-=s,t.set(e.input.subarray(e.next_in,e.next_in+s),n),1===e.state.wrap?e.adler=O(e.adler,t,s,n):2===e.state.wrap&&(e.adler=F(e.adler,t,s,n)),e.next_in+=s,e.total_in+=s,s)},Ae=(e,t)=>{let n,r,s=e.max_chain_length,a=e.strstart,i=e.prev_length,o=e.nice_match;const l=e.strstart>e.w_size-ue?e.strstart-(e.w_size-ue):0,c=e.window,u=e.w_mask,f=e.prev,d=e.strstart+ce;let _=c[a+i-1],h=c[a+i];e.prev_length>=e.good_match&&(s>>=2),o>e.lookahead&&(o=e.lookahead);do{if(n=t,c[n+i]===h&&c[n+i-1]===_&&c[n]===c[a]&&c[++n]===c[a+1]){a+=2,n++;do{}while(c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&c[++a]===c[++n]&&a<d);if(r=ce-(d-a),a=d-ce,r>i){if(e.match_start=t,i=r,r>=o)break;_=c[a+i-1],h=c[a+i]}}}while((t=f[t&u])>l&&0!=--s);return i<=e.lookahead?i:e.lookahead},Se=e=>{const t=e.w_size;let n,r,s;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-ue)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),be(e),r+=t),0===e.strm.avail_in)break;if(n=Le(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=3)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=me(e,e.ins_h,e.window[s+1]);e.insert&&(e.ins_h=me(e,e.ins_h,e.window[s+3-1]),e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<ue&&0!==e.strm.avail_in)},Ce=(e,t)=>{let n,r,s,a=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i=0,o=e.strm.avail_in;do{if(n=65535,s=e.bi_valid+42>>3,e.strm.avail_out<s)break;if(s=e.strm.avail_out-s,r=e.strstart-e.block_start,n>r+e.strm.avail_in&&(n=r+e.strm.avail_in),n>s&&(n=s),n<a&&(0===n&&t!==Y||t===G||n!==r+e.strm.avail_in))break;i=t===Y&&n===r+e.strm.avail_in?1:0,U(e,0,0,i),e.pending_buf[e.pending-4]=n,e.pending_buf[e.pending-3]=n>>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,ye(e.strm),r&&(r>n&&(r=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,n-=r),n&&(Le(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(0===i);return o-=e.strm.avail_in,o&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),i?4:t!==G&&t!==Y&&0===e.strm.avail_in&&e.strstart===e.block_start?2:(s=e.window_size-e.strstart,e.strm.avail_in>s&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,s+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),s>e.strm.avail_in&&(s=e.strm.avail_in),s&&(Le(e.strm,e.window,e.strstart,s),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.high_water<e.strstart&&(e.high_water=e.strstart),s=e.bi_valid+42>>3,s=e.pending_buf_size-s>65535?65535:e.pending_buf_size-s,a=s>e.w_size?e.w_size:s,r=e.strstart-e.block_start,(r>=a||(r||t===Y)&&t!==G&&0===e.strm.avail_in&&r<=s)&&(n=r>s?s:r,i=t===Y&&0===e.strm.avail_in&&n===r?1:0,U(e,e.block_start,n,i),e.block_start+=n,ye(e.strm)),i?3:1)},Te=(e,t)=>{let n,r;for(;;){if(e.lookahead<ue){if(Se(e),e.lookahead<ue&&t===G)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=me(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-ue&&(e.match_length=Ae(e,n)),e.match_length>=3)if(r=Z(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=me(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=me(e,e.ins_h,e.window[e.strstart+1]);else r=Z(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Y?(ve(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ve(e,!1),0===e.strm.avail_out)?1:2},Pe=(e,t)=>{let n,r,s;for(;;){if(e.lookahead<ue){if(Se(e),e.lookahead<ue&&t===G)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=me(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-ue&&(e.match_length=Ae(e,n),e.match_length<=5&&(e.strategy===ne||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){s=e.strstart+e.lookahead-3,r=Z(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=s&&(e.ins_h=me(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(ve(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(r=Z(e,0,e.window[e.strstart-1]),r&&ve(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=Z(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Y?(ve(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ve(e,!1),0===e.strm.avail_out)?1:2};function Ne(e,t,n,r,s){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=s}const Ie=[new Ne(0,0,0,0,Ce),new Ne(4,4,8,4,Te),new Ne(4,5,16,8,Te),new Ne(4,6,32,32,Te),new Ne(4,4,16,16,Pe),new Ne(8,16,32,32,Pe),new Ne(8,16,128,128,Pe),new Ne(8,32,128,256,Pe),new Ne(32,128,258,1024,Pe),new Ne(32,258,258,4096,Pe)];function ke(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=le,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),ge(this.dyn_ltree),ge(this.dyn_dtree),ge(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),ge(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),ge(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const xe=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==fe&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==de&&t.status!==_e?1:0},Re=e=>{if(xe(e))return he(e,K);e.total_in=e.total_out=0,e.data_type=oe;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?fe:de,e.adler=2===t.wrap?0:1,t.last_flush=-2,z(t),V},Be=e=>{const t=Re(e);var n;return t===V&&((n=e.state).window_size=2*n.w_size,ge(n.head),n.max_lazy_match=Ie[n.level].max_lazy,n.good_match=Ie[n.level].good_length,n.nice_match=Ie[n.level].nice_length,n.max_chain_length=Ie[n.level].max_chain,n.strstart=0,n.block_start=0,n.lookahead=0,n.insert=0,n.match_length=n.prev_length=2,n.match_available=0,n.ins_h=0),t},Oe=(e,t,n,r,s,a)=>{if(!e)return K;let i=1;if(t===te&&(t=6),r<0?(i=0,r=-r):r>15&&(i=2,r-=16),s<1||s>9||n!==le||r<8||r>15||t<0||t>9||a<0||a>ae||8===r&&1!==i)return he(e,K);8===r&&(r=9);const o=new ke;return e.state=o,o.strm=e,o.status=fe,o.wrap=i,o.gzhead=null,o.w_bits=r,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=s+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<s+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=3*(o.lit_bufsize-1),o.level=t,o.strategy=a,o.method=n,Be(e)};var De={deflateInit:(e,t)=>Oe(e,t,le,15,8,ie),deflateInit2:Oe,deflateReset:Be,deflateResetKeep:Re,deflateSetHeader:(e,t)=>xe(e)||2!==e.state.wrap?K:(e.state.gzhead=t,V),deflate:(e,t)=>{if(xe(e)||t>J||t<0)return e?he(e,K):K;const n=e.state;if(!e.output||0!==e.avail_in&&!e.input||n.status===_e&&t!==Y)return he(e,0===e.avail_out?ee:K);const r=n.last_flush;if(n.last_flush=t,0!==n.pending){if(ye(e),0===e.avail_out)return n.last_flush=-1,V}else if(0===e.avail_in&&pe(t)<=pe(r)&&t!==Y)return he(e,ee);if(n.status===_e&&0!==e.avail_in)return he(e,ee);if(n.status===fe&&0===n.wrap&&(n.status=de),n.status===fe){let t=le+(n.w_bits-8<<4)<<8,r=-1;if(r=n.strategy>=re||n.level<2?0:n.level<6?1:6===n.level?2:3,t|=r<<6,0!==n.strstart&&(t|=32),t+=31-t%31,Ee(n,t),0!==n.strstart&&(Ee(n,e.adler>>>16),Ee(n,65535&e.adler)),e.adler=1,n.status=de,ye(e),0!==n.pending)return n.last_flush=-1,V}if(57===n.status)if(e.adler=0,we(n,31),we(n,139),we(n,8),n.gzhead)we(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),we(n,255&n.gzhead.time),we(n,n.gzhead.time>>8&255),we(n,n.gzhead.time>>16&255),we(n,n.gzhead.time>>24&255),we(n,9===n.level?2:n.strategy>=re||n.level<2?4:0),we(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(we(n,255&n.gzhead.extra.length),we(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=F(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(we(n,0),we(n,0),we(n,0),we(n,0),we(n,0),we(n,9===n.level?2:n.strategy>=re||n.level<2?4:0),we(n,3),n.status=de,ye(e),0!==n.pending)return n.last_flush=-1,V;if(69===n.status){if(n.gzhead.extra){let t=n.pending,r=(65535&n.gzhead.extra.length)-n.gzindex;for(;n.pending+r>n.pending_buf_size;){let s=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>t&&(e.adler=F(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex+=s,ye(e),0!==n.pending)return n.last_flush=-1,V;t=0,r-=s}let s=new Uint8Array(n.gzhead.extra);n.pending_buf.set(s.subarray(n.gzindex,n.gzindex+r),n.pending),n.pending+=r,n.gzhead.hcrc&&n.pending>t&&(e.adler=F(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=73}if(73===n.status){if(n.gzhead.name){let t,r=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>r&&(e.adler=F(e.adler,n.pending_buf,n.pending-r,r)),ye(e),0!==n.pending)return n.last_flush=-1,V;r=0}t=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,we(n,t)}while(0!==t);n.gzhead.hcrc&&n.pending>r&&(e.adler=F(e.adler,n.pending_buf,n.pending-r,r)),n.gzindex=0}n.status=91}if(91===n.status){if(n.gzhead.comment){let t,r=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>r&&(e.adler=F(e.adler,n.pending_buf,n.pending-r,r)),ye(e),0!==n.pending)return n.last_flush=-1,V;r=0}t=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,we(n,t)}while(0!==t);n.gzhead.hcrc&&n.pending>r&&(e.adler=F(e.adler,n.pending_buf,n.pending-r,r))}n.status=103}if(103===n.status){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(ye(e),0!==n.pending))return n.last_flush=-1,V;we(n,255&e.adler),we(n,e.adler>>8&255),e.adler=0}if(n.status=de,ye(e),0!==n.pending)return n.last_flush=-1,V}if(0!==e.avail_in||0!==n.lookahead||t!==G&&n.status!==_e){let r=0===n.level?Ce(n,t):n.strategy===re?((e,t)=>{let n;for(;;){if(0===e.lookahead&&(Se(e),0===e.lookahead)){if(t===G)return 1;break}if(e.match_length=0,n=Z(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Y?(ve(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ve(e,!1),0===e.strm.avail_out)?1:2})(n,t):n.strategy===se?((e,t)=>{let n,r,s,a;const i=e.window;for(;;){if(e.lookahead<=ce){if(Se(e),e.lookahead<=ce&&t===G)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(s=e.strstart-1,r=i[s],r===i[++s]&&r===i[++s]&&r===i[++s])){a=e.strstart+ce;do{}while(r===i[++s]&&r===i[++s]&&r===i[++s]&&r===i[++s]&&r===i[++s]&&r===i[++s]&&r===i[++s]&&r===i[++s]&&s<a);e.match_length=ce-(a-s),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=Z(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Z(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(ve(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Y?(ve(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ve(e,!1),0===e.strm.avail_out)?1:2})(n,t):Ie[n.level].func(n,t);if(3!==r&&4!==r||(n.status=_e),1===r||3===r)return 0===e.avail_out&&(n.last_flush=-1),V;if(2===r&&(t===Q?W(n):t!==J&&(U(n,0,0,!1),t===X&&(ge(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),ye(e),0===e.avail_out))return n.last_flush=-1,V}return t!==Y?V:n.wrap<=0?q:(2===n.wrap?(we(n,255&e.adler),we(n,e.adler>>8&255),we(n,e.adler>>16&255),we(n,e.adler>>24&255),we(n,255&e.total_in),we(n,e.total_in>>8&255),we(n,e.total_in>>16&255),we(n,e.total_in>>24&255)):(Ee(n,e.adler>>>16),Ee(n,65535&e.adler)),ye(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?V:q)},deflateEnd:e=>{if(xe(e))return K;const t=e.state.status;return e.state=null,t===de?he(e,$):V},deflateSetDictionary:(e,t)=>{let n=t.length;if(xe(e))return K;const r=e.state,s=r.wrap;if(2===s||1===s&&r.status!==fe||r.lookahead)return K;if(1===s&&(e.adler=O(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){0===s&&(ge(r.head),r.strstart=0,r.block_start=0,r.insert=0);let e=new Uint8Array(r.w_size);e.set(t.subarray(n-r.w_size,n),0),t=e,n=r.w_size}const a=e.avail_in,i=e.next_in,o=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Se(r);r.lookahead>=3;){let e=r.strstart,t=r.lookahead-2;do{r.ins_h=me(r,r.ins_h,r.window[e+3-1]),r.prev[e&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=e,e++}while(--t);r.strstart=e,r.lookahead=2,Se(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=i,e.input=o,e.avail_in=a,r.wrap=s,V},deflateInfo:"pako deflate (from Nodeca project)"};const Fe=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var He={assign:function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(const t in n)Fe(n,t)&&(e[t]=n[t])}}return e},flattenChunks:e=>{let t=0;for(let n=0,r=e.length;n<r;n++)t+=e[n].length;const n=new Uint8Array(t);for(let t=0,r=0,s=e.length;t<s;t++){let s=e[t];n.set(s,r),r+=s.length}return n}};let Me=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){Me=!1}const ze=new Uint8Array(256);for(let e=0;e<256;e++)ze[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;ze[254]=ze[254]=1;var Ue={string2buf:e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,n,r,s,a,i=e.length,o=0;for(s=0;s<i;s++)n=e.charCodeAt(s),55296==(64512&n)&&s+1<i&&(r=e.charCodeAt(s+1),56320==(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),s++)),o+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(o),a=0,s=0;a<o;s++)n=e.charCodeAt(s),55296==(64512&n)&&s+1<i&&(r=e.charCodeAt(s+1),56320==(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),s++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t},buf2string:(e,t)=>{const n=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));let r,s;const a=new Array(2*n);for(s=0,r=0;r<n;){let t=e[r++];if(t<128){a[s++]=t;continue}let i=ze[t];if(i>4)a[s++]=65533,r+=i-1;else{for(t&=2===i?31:3===i?15:7;i>1&&r<n;)t=t<<6|63&e[r++],i--;i>1?a[s++]=65533:t<65536?a[s++]=t:(t-=65536,a[s++]=55296|t>>10&1023,a[s++]=56320|1023&t)}}return((e,t)=>{if(t<65534&&e.subarray&&Me)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n="";for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n})(a,s)},utf8border:(e,t)=>{(t=t||e.length)>e.length&&(t=e.length);let n=t-1;for(;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+ze[e[n]]>t?n:t}},je=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Ze=Object.prototype.toString,{Z_NO_FLUSH:We,Z_SYNC_FLUSH:Ge,Z_FULL_FLUSH:Qe,Z_FINISH:Xe,Z_OK:Ye,Z_STREAM_END:Je,Z_DEFAULT_COMPRESSION:Ve,Z_DEFAULT_STRATEGY:qe,Z_DEFLATED:Ke}=M;function $e(e){this.options=He.assign({level:Ve,method:Ke,chunkSize:16384,windowBits:15,memLevel:8,strategy:qe},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new je,this.strm.avail_out=0;let n=De.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Ye)throw new Error(H[n]);if(t.header&&De.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?Ue.string2buf(t.dictionary):"[object ArrayBuffer]"===Ze.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,n=De.deflateSetDictionary(this.strm,e),n!==Ye)throw new Error(H[n]);this._dict_set=!0}}function et(e,t){const n=new $e(t);if(n.push(e,!0),n.err)throw n.msg||H[n.err];return n.result}$e.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize;let s,a;if(this.ended)return!1;for(a=t===~~t?t:!0===t?Xe:We,"string"==typeof e?n.input=Ue.string2buf(e):"[object ArrayBuffer]"===Ze.call(e)?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;)if(0===n.avail_out&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(a===Ge||a===Qe)&&n.avail_out<=6)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else{if(s=De.deflate(n,a),s===Je)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),s=De.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===Ye;if(0!==n.avail_out){if(a>0&&n.next_out>0)this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;else if(0===n.avail_in)break}else this.onData(n.output)}return!0},$e.prototype.onData=function(e){this.chunks.push(e)},$e.prototype.onEnd=function(e){e===Ye&&(this.result=He.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var tt={Deflate:$e,deflate:et,deflateRaw:function(e,t){return(t=t||{}).raw=!0,et(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,et(e,t)},constants:M};const nt=16209;var rt=function(e,t){let n,r,s,a,i,o,l,c,u,f,d,_,h,p,g,b,m,y,v,w,E,L,A,S;const C=e.state;n=e.next_in,A=e.input,r=n+(e.avail_in-5),s=e.next_out,S=e.output,a=s-(t-e.avail_out),i=s+(e.avail_out-257),o=C.dmax,l=C.wsize,c=C.whave,u=C.wnext,f=C.window,d=C.hold,_=C.bits,h=C.lencode,p=C.distcode,g=(1<<C.lenbits)-1,b=(1<<C.distbits)-1;e:do{_<15&&(d+=A[n++]<<_,_+=8,d+=A[n++]<<_,_+=8),m=h[d&g];t:for(;;){if(y=m>>>24,d>>>=y,_-=y,y=m>>>16&255,0===y)S[s++]=65535&m;else{if(!(16&y)){if(0==(64&y)){m=h[(65535&m)+(d&(1<<y)-1)];continue t}if(32&y){C.mode=16191;break e}e.msg="invalid literal/length code",C.mode=nt;break e}v=65535&m,y&=15,y&&(_<y&&(d+=A[n++]<<_,_+=8),v+=d&(1<<y)-1,d>>>=y,_-=y),_<15&&(d+=A[n++]<<_,_+=8,d+=A[n++]<<_,_+=8),m=p[d&b];n:for(;;){if(y=m>>>24,d>>>=y,_-=y,y=m>>>16&255,!(16&y)){if(0==(64&y)){m=p[(65535&m)+(d&(1<<y)-1)];continue n}e.msg="invalid distance code",C.mode=nt;break e}if(w=65535&m,y&=15,_<y&&(d+=A[n++]<<_,_+=8,_<y&&(d+=A[n++]<<_,_+=8)),w+=d&(1<<y)-1,w>o){e.msg="invalid distance too far back",C.mode=nt;break e}if(d>>>=y,_-=y,y=s-a,w>y){if(y=w-y,y>c&&C.sane){e.msg="invalid distance too far back",C.mode=nt;break e}if(E=0,L=f,0===u){if(E+=l-y,y<v){v-=y;do{S[s++]=f[E++]}while(--y);E=s-w,L=S}}else if(u<y){if(E+=l+u-y,y-=u,y<v){v-=y;do{S[s++]=f[E++]}while(--y);if(E=0,u<v){y=u,v-=y;do{S[s++]=f[E++]}while(--y);E=s-w,L=S}}}else if(E+=u-y,y<v){v-=y;do{S[s++]=f[E++]}while(--y);E=s-w,L=S}for(;v>2;)S[s++]=L[E++],S[s++]=L[E++],S[s++]=L[E++],v-=3;v&&(S[s++]=L[E++],v>1&&(S[s++]=L[E++]))}else{E=s-w;do{S[s++]=S[E++],S[s++]=S[E++],S[s++]=S[E++],v-=3}while(v>2);v&&(S[s++]=S[E++],v>1&&(S[s++]=S[E++]))}break}}break}}while(n<r&&s<i);v=_>>3,n-=v,_-=v<<3,d&=(1<<_)-1,e.next_in=n,e.next_out=s,e.avail_in=n<r?r-n+5:5-(n-r),e.avail_out=s<i?i-s+257:257-(s-i),C.hold=d,C.bits=_};const st=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),at=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),it=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),ot=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var lt=(e,t,n,r,s,a,i,o)=>{const l=o.bits;let c,u,f,d,_,h,p=0,g=0,b=0,m=0,y=0,v=0,w=0,E=0,L=0,A=0,S=null;const C=new Uint16Array(16),T=new Uint16Array(16);let P,N,I,k=null;for(p=0;p<=15;p++)C[p]=0;for(g=0;g<r;g++)C[t[n+g]]++;for(y=l,m=15;m>=1&&0===C[m];m--);if(y>m&&(y=m),0===m)return s[a++]=20971520,s[a++]=20971520,o.bits=1,0;for(b=1;b<m&&0===C[b];b++);for(y<b&&(y=b),E=1,p=1;p<=15;p++)if(E<<=1,E-=C[p],E<0)return-1;if(E>0&&(0===e||1!==m))return-1;for(T[1]=0,p=1;p<15;p++)T[p+1]=T[p]+C[p];for(g=0;g<r;g++)0!==t[n+g]&&(i[T[t[n+g]]++]=g);if(0===e?(S=k=i,h=20):1===e?(S=st,k=at,h=257):(S=it,k=ot,h=0),A=0,g=0,p=b,_=a,v=y,w=0,f=-1,L=1<<y,d=L-1,1===e&&L>852||2===e&&L>592)return 1;for(;;){P=p-w,i[g]+1<h?(N=0,I=i[g]):i[g]>=h?(N=k[i[g]-h],I=S[i[g]-h]):(N=96,I=0),c=1<<p-w,u=1<<v,b=u;do{u-=c,s[_+(A>>w)+u]=P<<24|N<<16|I|0}while(0!==u);for(c=1<<p-1;A&c;)c>>=1;if(0!==c?(A&=c-1,A+=c):A=0,g++,0==--C[p]){if(p===m)break;p=t[n+i[g]]}if(p>y&&(A&d)!==f){for(0===w&&(w=y),_+=b,v=p-w,E=1<<v;v+w<m&&(E-=C[v+w],!(E<=0));)v++,E<<=1;if(L+=1<<v,1===e&&L>852||2===e&&L>592)return 1;f=A&d,s[f]=y<<24|v<<16|_-a|0}}return 0!==A&&(s[_+A]=p-w<<24|64<<16|0),o.bits=y,0};const{Z_FINISH:ct,Z_BLOCK:ut,Z_TREES:ft,Z_OK:dt,Z_STREAM_END:_t,Z_NEED_DICT:ht,Z_STREAM_ERROR:pt,Z_DATA_ERROR:gt,Z_MEM_ERROR:bt,Z_BUF_ERROR:mt,Z_DEFLATED:yt}=M,vt=16180,wt=16190,Et=16191,Lt=16192,At=16194,St=16199,Ct=16200,Tt=16206,Pt=16209,Nt=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function It(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const kt=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode<vt||t.mode>16211?1:0},xt=e=>{if(kt(e))return pt;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=vt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,dt},Rt=e=>{if(kt(e))return pt;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,xt(e)},Bt=(e,t)=>{let n;if(kt(e))return pt;const r=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?pt:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Rt(e))},Ot=(e,t)=>{if(!e)return pt;const n=new It;e.state=n,n.strm=e,n.window=null,n.mode=vt;const r=Bt(e,t);return r!==dt&&(e.state=null),r};let Dt,Ft,Ht=!0;const Mt=e=>{if(Ht){Dt=new Int32Array(512),Ft=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(lt(1,e.lens,0,288,Dt,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;lt(2,e.lens,0,32,Ft,0,e.work,{bits:5}),Ht=!1}e.lencode=Dt,e.lenbits=9,e.distcode=Ft,e.distbits=5},zt=(e,t,n,r)=>{let s;const a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),r>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(s=a.wsize-a.wnext,s>r&&(s=r),a.window.set(t.subarray(n-r,n-r+s),a.wnext),(r-=s)?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=s,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=s))),0};var Ut={inflateReset:Rt,inflateReset2:Bt,inflateResetKeep:xt,inflateInit:e=>Ot(e,15),inflateInit2:Ot,inflate:(e,t)=>{let n,r,s,a,i,o,l,c,u,f,d,_,h,p,g,b,m,y,v,w,E,L,A=0;const S=new Uint8Array(4);let C,T;const P=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(kt(e)||!e.output||!e.input&&0!==e.avail_in)return pt;n=e.state,n.mode===Et&&(n.mode=Lt),i=e.next_out,s=e.output,l=e.avail_out,a=e.next_in,r=e.input,o=e.avail_in,c=n.hold,u=n.bits,f=o,d=l,L=dt;e:for(;;)switch(n.mode){case vt:if(0===n.wrap){n.mode=Lt;break}for(;u<16;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if(2&n.wrap&&35615===c){0===n.wbits&&(n.wbits=15),n.check=0,S[0]=255&c,S[1]=c>>>8&255,n.check=F(n.check,S,2,0),c=0,u=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=Pt;break}if((15&c)!==yt){e.msg="unknown compression method",n.mode=Pt;break}if(c>>>=4,u-=4,E=8+(15&c),0===n.wbits&&(n.wbits=E),E>15||E>n.wbits){e.msg="invalid window size",n.mode=Pt;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=512&c?16189:Et,c=0,u=0;break;case 16181:for(;u<16;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if(n.flags=c,(255&n.flags)!==yt){e.msg="unknown compression method",n.mode=Pt;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=Pt;break}n.head&&(n.head.text=c>>8&1),512&n.flags&&4&n.wrap&&(S[0]=255&c,S[1]=c>>>8&255,n.check=F(n.check,S,2,0)),c=0,u=0,n.mode=16182;case 16182:for(;u<32;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}n.head&&(n.head.time=c),512&n.flags&&4&n.wrap&&(S[0]=255&c,S[1]=c>>>8&255,S[2]=c>>>16&255,S[3]=c>>>24&255,n.check=F(n.check,S,4,0)),c=0,u=0,n.mode=16183;case 16183:for(;u<16;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}n.head&&(n.head.xflags=255&c,n.head.os=c>>8),512&n.flags&&4&n.wrap&&(S[0]=255&c,S[1]=c>>>8&255,n.check=F(n.check,S,2,0)),c=0,u=0,n.mode=16184;case 16184:if(1024&n.flags){for(;u<16;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}n.length=c,n.head&&(n.head.extra_len=c),512&n.flags&&4&n.wrap&&(S[0]=255&c,S[1]=c>>>8&255,n.check=F(n.check,S,2,0)),c=0,u=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&(_=n.length,_>o&&(_=o),_&&(n.head&&(E=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+_),E)),512&n.flags&&4&n.wrap&&(n.check=F(n.check,r,_,a)),o-=_,a+=_,n.length-=_),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===o)break e;_=0;do{E=r[a+_++],n.head&&E&&n.length<65536&&(n.head.name+=String.fromCharCode(E))}while(E&&_<o);if(512&n.flags&&4&n.wrap&&(n.check=F(n.check,r,_,a)),o-=_,a+=_,E)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=16187;case 16187:if(4096&n.flags){if(0===o)break e;_=0;do{E=r[a+_++],n.head&&E&&n.length<65536&&(n.head.comment+=String.fromCharCode(E))}while(E&&_<o);if(512&n.flags&&4&n.wrap&&(n.check=F(n.check,r,_,a)),o-=_,a+=_,E)break e}else n.head&&(n.head.comment=null);n.mode=16188;case 16188:if(512&n.flags){for(;u<16;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if(4&n.wrap&&c!==(65535&n.check)){e.msg="header crc mismatch",n.mode=Pt;break}c=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Et;break;case 16189:for(;u<32;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}e.adler=n.check=Nt(c),c=0,u=0,n.mode=wt;case wt:if(0===n.havedict)return e.next_out=i,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=c,n.bits=u,ht;e.adler=n.check=1,n.mode=Et;case Et:if(t===ut||t===ft)break e;case Lt:if(n.last){c>>>=7&u,u-=7&u,n.mode=Tt;break}for(;u<3;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}switch(n.last=1&c,c>>>=1,u-=1,3&c){case 0:n.mode=16193;break;case 1:if(Mt(n),n.mode=St,t===ft){c>>>=2,u-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=Pt}c>>>=2,u-=2;break;case 16193:for(c>>>=7&u,u-=7&u;u<32;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=Pt;break}if(n.length=65535&c,c=0,u=0,n.mode=At,t===ft)break e;case At:n.mode=16195;case 16195:if(_=n.length,_){if(_>o&&(_=o),_>l&&(_=l),0===_)break e;s.set(r.subarray(a,a+_),i),o-=_,a+=_,l-=_,i+=_,n.length-=_;break}n.mode=Et;break;case 16196:for(;u<14;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if(n.nlen=257+(31&c),c>>>=5,u-=5,n.ndist=1+(31&c),c>>>=5,u-=5,n.ncode=4+(15&c),c>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Pt;break}n.have=0,n.mode=16197;case 16197:for(;n.have<n.ncode;){for(;u<3;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}n.lens[P[n.have++]]=7&c,c>>>=3,u-=3}for(;n.have<19;)n.lens[P[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,C={bits:n.lenbits},L=lt(0,n.lens,0,19,n.lencode,0,n.work,C),n.lenbits=C.bits,L){e.msg="invalid code lengths set",n.mode=Pt;break}n.have=0,n.mode=16198;case 16198:for(;n.have<n.nlen+n.ndist;){for(;A=n.lencode[c&(1<<n.lenbits)-1],g=A>>>24,b=A>>>16&255,m=65535&A,!(g<=u);){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if(m<16)c>>>=g,u-=g,n.lens[n.have++]=m;else{if(16===m){for(T=g+2;u<T;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if(c>>>=g,u-=g,0===n.have){e.msg="invalid bit length repeat",n.mode=Pt;break}E=n.lens[n.have-1],_=3+(3&c),c>>>=2,u-=2}else if(17===m){for(T=g+3;u<T;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}c>>>=g,u-=g,E=0,_=3+(7&c),c>>>=3,u-=3}else{for(T=g+7;u<T;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}c>>>=g,u-=g,E=0,_=11+(127&c),c>>>=7,u-=7}if(n.have+_>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Pt;break}for(;_--;)n.lens[n.have++]=E}}if(n.mode===Pt)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=Pt;break}if(n.lenbits=9,C={bits:n.lenbits},L=lt(1,n.lens,0,n.nlen,n.lencode,0,n.work,C),n.lenbits=C.bits,L){e.msg="invalid literal/lengths set",n.mode=Pt;break}if(n.distbits=6,n.distcode=n.distdyn,C={bits:n.distbits},L=lt(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,C),n.distbits=C.bits,L){e.msg="invalid distances set",n.mode=Pt;break}if(n.mode=St,t===ft)break e;case St:n.mode=Ct;case Ct:if(o>=6&&l>=258){e.next_out=i,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=c,n.bits=u,rt(e,d),i=e.next_out,s=e.output,l=e.avail_out,a=e.next_in,r=e.input,o=e.avail_in,c=n.hold,u=n.bits,n.mode===Et&&(n.back=-1);break}for(n.back=0;A=n.lencode[c&(1<<n.lenbits)-1],g=A>>>24,b=A>>>16&255,m=65535&A,!(g<=u);){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if(b&&0==(240&b)){for(y=g,v=b,w=m;A=n.lencode[w+((c&(1<<y+v)-1)>>y)],g=A>>>24,b=A>>>16&255,m=65535&A,!(y+g<=u);){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}c>>>=y,u-=y,n.back+=y}if(c>>>=g,u-=g,n.back+=g,n.length=m,0===b){n.mode=16205;break}if(32&b){n.back=-1,n.mode=Et;break}if(64&b){e.msg="invalid literal/length code",n.mode=Pt;break}n.extra=15&b,n.mode=16201;case 16201:if(n.extra){for(T=n.extra;u<T;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;A=n.distcode[c&(1<<n.distbits)-1],g=A>>>24,b=A>>>16&255,m=65535&A,!(g<=u);){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if(0==(240&b)){for(y=g,v=b,w=m;A=n.distcode[w+((c&(1<<y+v)-1)>>y)],g=A>>>24,b=A>>>16&255,m=65535&A,!(y+g<=u);){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}c>>>=y,u-=y,n.back+=y}if(c>>>=g,u-=g,n.back+=g,64&b){e.msg="invalid distance code",n.mode=Pt;break}n.offset=m,n.extra=15&b,n.mode=16203;case 16203:if(n.extra){for(T=n.extra;u<T;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Pt;break}n.mode=16204;case 16204:if(0===l)break e;if(_=d-l,n.offset>_){if(_=n.offset-_,_>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Pt;break}_>n.wnext?(_-=n.wnext,h=n.wsize-_):h=n.wnext-_,_>n.length&&(_=n.length),p=n.window}else p=s,h=i-n.offset,_=n.length;_>l&&(_=l),l-=_,n.length-=_;do{s[i++]=p[h++]}while(--_);0===n.length&&(n.mode=Ct);break;case 16205:if(0===l)break e;s[i++]=n.length,l--,n.mode=Ct;break;case Tt:if(n.wrap){for(;u<32;){if(0===o)break e;o--,c|=r[a++]<<u,u+=8}if(d-=l,e.total_out+=d,n.total+=d,4&n.wrap&&d&&(e.adler=n.check=n.flags?F(n.check,s,d,i-d):O(n.check,s,d,i-d)),d=l,4&n.wrap&&(n.flags?c:Nt(c))!==n.check){e.msg="incorrect data check",n.mode=Pt;break}c=0,u=0}n.mode=16207;case 16207:if(n.wrap&&n.flags){for(;u<32;){if(0===o)break e;o--,c+=r[a++]<<u,u+=8}if(4&n.wrap&&c!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=Pt;break}c=0,u=0}n.mode=16208;case 16208:L=_t;break e;case Pt:L=gt;break e;case 16210:return bt;default:return pt}return e.next_out=i,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=c,n.bits=u,(n.wsize||d!==e.avail_out&&n.mode<Pt&&(n.mode<Tt||t!==ct))&&zt(e,e.output,e.next_out,d-e.avail_out),f-=e.avail_in,d-=e.avail_out,e.total_in+=f,e.total_out+=d,n.total+=d,4&n.wrap&&d&&(e.adler=n.check=n.flags?F(n.check,s,d,e.next_out-d):O(n.check,s,d,e.next_out-d)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Et?128:0)+(n.mode===St||n.mode===At?256:0),(0===f&&0===d||t===ct)&&L===dt&&(L=mt),L},inflateEnd:e=>{if(kt(e))return pt;let t=e.state;return t.window&&(t.window=null),e.state=null,dt},inflateGetHeader:(e,t)=>{if(kt(e))return pt;const n=e.state;return 0==(2&n.wrap)?pt:(n.head=t,t.done=!1,dt)},inflateSetDictionary:(e,t)=>{const n=t.length;let r,s,a;return kt(e)?pt:(r=e.state,0!==r.wrap&&r.mode!==wt?pt:r.mode===wt&&(s=1,s=O(s,t,n,0),s!==r.check)?gt:(a=zt(e,t,n,n),a?(r.mode=16210,bt):(r.havedict=1,dt)))},inflateInfo:"pako inflate (from Nodeca project)"},jt=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Zt=Object.prototype.toString,{Z_NO_FLUSH:Wt,Z_FINISH:Gt,Z_OK:Qt,Z_STREAM_END:Xt,Z_NEED_DICT:Yt,Z_STREAM_ERROR:Jt,Z_DATA_ERROR:Vt,Z_MEM_ERROR:qt}=M;function Kt(e){this.options=He.assign({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new je,this.strm.avail_out=0;let n=Ut.inflateInit2(this.strm,t.windowBits);if(n!==Qt)throw new Error(H[n]);if(this.header=new jt,Ut.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Ue.string2buf(t.dictionary):"[object ArrayBuffer]"===Zt.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Ut.inflateSetDictionary(this.strm,t.dictionary),n!==Qt)))throw new Error(H[n])}function $t(e,t){const n=new Kt(t);if(n.push(e),n.err)throw n.msg||H[n.err];return n.result}Kt.prototype.push=function(e,t){const n=this.strm,r=this.options.chunkSize,s=this.options.dictionary;let a,i,o;if(this.ended)return!1;for(i=t===~~t?t:!0===t?Gt:Wt,"[object ArrayBuffer]"===Zt.call(e)?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(0===n.avail_out&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),a=Ut.inflate(n,i),a===Yt&&s&&(a=Ut.inflateSetDictionary(n,s),a===Qt?a=Ut.inflate(n,i):a===Vt&&(a=Yt));n.avail_in>0&&a===Xt&&n.state.wrap>0&&0!==e[n.next_in];)Ut.inflateReset(n),a=Ut.inflate(n,i);switch(a){case Jt:case Vt:case Yt:case qt:return this.onEnd(a),this.ended=!0,!1}if(o=n.avail_out,n.next_out&&(0===n.avail_out||a===Xt))if("string"===this.options.to){let e=Ue.utf8border(n.output,n.next_out),t=n.next_out-e,s=Ue.buf2string(n.output,e);n.next_out=t,n.avail_out=r-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(s)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(a!==Qt||0!==o){if(a===Xt)return a=Ut.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===n.avail_in)break}}return!0},Kt.prototype.onData=function(e){this.chunks.push(e)},Kt.prototype.onEnd=function(e){e===Qt&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=He.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var en={Inflate:Kt,inflate:$t,inflateRaw:function(e,t){return(t=t||{}).raw=!0,$t(e,t)},ungzip:$t,constants:M};const{Deflate:tn,deflate:nn,deflateRaw:rn,gzip:sn}=tt,{Inflate:an,inflate:on,inflateRaw:ln,ungzip:cn}=en;var un,fn,dn;n(816).Buffer,function(e){e.PUBLIC="public",e.SECRET="secret"}(un||(un={})),(dn=fn||(fn={})).SECRET="secret",dn.OPEN="open",dn.UNCONSTRAINED="unconstrained";var _n=n(3573);function hn(e){return new _n.C4(256).update(e).digest()}function pn(e){const t=new _n.C4(256);return t.reset(),t.update(e),t.digest("hex")}var gn=n(394),bn=n(3302),mn=n(816).Buffer;const yn=65536,vn=e=>{if(bn)return gn.randomBytes(e);const t="undefined"!=typeof window&&window.crypto?window.crypto:"undefined"!=typeof self&&self.crypto?self.crypto:void 0;if(!t)throw new Error("randomBytes UnsupportedEnvironment");const n=mn.allocUnsafe(e);if(e>yn)for(let r=0;r<e;r+=yn)t.getRandomValues(n.slice(r,r+yn));else t.getRandomValues(n);return n};var wn=n(5294),En=n(816).Buffer;function Ln(e){const t=e.toString("hex");return 0===t.length?BigInt(0):BigInt(`0x${t}`)}function An(e,t){if(e<BigInt(0))throw new Error(`Cannot convert negative bigint ${e.toString()} to buffer with toBufferBE.`);const n=e.toString(16),r=En.from(n.padStart(2*t,"0").slice(0,2*t),"hex");if(r.length>t)throw new Error(`Number ${e.toString(16)} does not fit in ${t}`);return r}function Sn(e,t=!1){const n=e.toString(16),r=n.length%2==0?n.length:n.length+1;return`0x${n.padStart(t?64:r,"0")}`}var Cn=n(816).Buffer;class Tn{constructor(e,t=0){this.buffer=e,this.index=t}static asReader(e){return Cn.isBuffer(e)?new Tn(e):e}readNumber(){return this.index+=4,this.buffer.readUint32BE(this.index-4)}readUInt16(){return this.index+=2,this.buffer.readUInt16BE(this.index-2)}readBoolean(){return this.index+=1,Boolean(this.buffer.at(this.index-1))}readBytes(e){return this.index+=e,Cn.from(this.buffer.subarray(this.index-e,this.index))}readFr(){return Nn.fromBuffer(this)}readFq(){return In.fromBuffer(this)}readNumberVector(){return this.readVector({fromBuffer:e=>e.readNumber()})}readVector(e){const t=this.readNumber(),n=new Array(t);for(let r=0;r<t;r++)n[r]=e.fromBuffer(this);return n}readArray(e,t){return Array.from({length:e},(()=>t.fromBuffer(this)))}readBufferArray(e=-1){const t=[],n=e>=0?this.index+e:this.buffer.length;for(;this.index<n;){const e=this.readBuffer();t.push(e)}if(this.index!==n)throw new Error(`Reader buffer was not fully consumed. Consumed up to ${this.index} bytes. End of data: ${n} bytes.`);return t}readObject(e){return e.fromBuffer(this)}peekBytes(e){return this.buffer.subarray(this.index,e?this.index+e:void 0)}readString(){return this.readBuffer().toString()}readBuffer(){const e=this.readNumber();return this.readBytes(e)}readMap(e){const t=this.readNumber(),n={};for(let r=0;r<t;r++){const t=this.readString(),r=this.readObject(e);n[t]=r}return n}getLength(){return this.buffer.length}}var Pn=n(816).Buffer;class Nn{constructor(e){if(this.value=(e=>!!e.toBigInt)(e)?e.toBigInt():BigInt(e),this.value>Nn.MAX_VALUE)throw new Error(`Fr out of range ${e}.`)}static random(){const e=Ln(vn(Nn.SIZE_IN_BYTES))%Nn.MODULUS;return new Nn(e)}static zero(){return new Nn(0n)}static fromBuffer(e){const t=Tn.asReader(e);return new Nn(Ln(t.readBytes(Nn.SIZE_IN_BYTES)))}static fromString(e){return Nn.fromBuffer(Pn.from(e.replace(/^0x/i,""),"hex"))}toBuffer(){return An(this.value,Nn.SIZE_IN_BYTES)}toString(e=!1){return Sn(this.value,e)}toBigInt(){return this.value}toShortString(){const e=this.toString();return`${e.slice(0,10)}...${e.slice(-4)}`}equals(e){return this.value===e.value}isZero(){return 0n===this.value}toFriendlyJSON(){return this.toString()}}Nn.ZERO=new Nn(0n),Nn.MODULUS=0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n,Nn.MAX_VALUE=Nn.MODULUS-1n,Nn.SIZE_IN_BYTES=32;class In{constructor(e){if(this.value=e,e>In.MAX_VALUE)throw new Error(`Fq out of range ${e}.`)}static random(){return new this(Ln(vn(64))%In.MODULUS)}static fromBuffer(e){return new this(Ln(Tn.asReader(e).readBytes(this.SIZE_IN_BYTES)))}toBuffer(){return An(this.value,In.SIZE_IN_BYTES)}toString(){return Sn(this.value)}isZero(){return 0n===this.value}toFriendlyJSON(){return this.toString()}}In.MODULUS=0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47n,In.MAX_VALUE=Nn.MODULUS-1n,In.SIZE_IN_BYTES=32;var kn=n(816).Buffer;const xn=e=>kn.from(wn.sha256().update(e).digest());var Rn=n(816).Buffer;function Bn(e,t){const n=function(e,t){return"constructor"===e?e:`${e}(${t.map((e=>e.type.kind)).join(",")})`}(e,t);return function(e,t){return hn(Rn.from(e)).slice(0,4)}(n)}var On=n(816).Buffer;class Dn{constructor(e,t){this.x=e,this.y=t,this.kind="point"}static random(){return new Dn(Nn.random(),Nn.random())}static fromBuffer(e){const t=Tn.asReader(e);return new this(Nn.fromBuffer(t.readBytes(32)),Nn.fromBuffer(t.readBytes(32)))}static fromString(e){return this.fromBuffer(On.from(e.replace(/^0x/i,""),"hex"))}toFields(){return[this.x,this.y]}toBigInts(){return{x:this.x.value,y:this.y.value}}toBuffer(){return On.concat([this.x.toBuffer(),this.y.toBuffer()])}toString(){return"0x"+this.toBuffer().toString("hex")}toShortString(){const e=this.toString();return`${e.slice(0,10)}...${e.slice(-4)}`}equals(e){return this.x.equals(e.x)&&this.y.equals(e.y)}}Dn.ZERO=new Dn(Nn.ZERO,Nn.ZERO),Dn.SIZE_IN_BYTES=2*Nn.SIZE_IN_BYTES;var Fn=n(816).Buffer;class Hn{constructor(e){this.fields=e}toFields(){return this.fields}static random(){return this.fromField(Nn.random())}toFieldsBuffer(){return Fn.concat([this.fields[0].toBuffer(),this.fields[1].toBuffer()])}toBuffer(){const e=this.fields[0].toBuffer(),t=this.fields[1].toBuffer();return e[0]=t[31],e}equals(e){return this.toBigInt()===e.toBigInt()}toBigInt(){return Ln(this.toBuffer())}static fromBuffer(e){if(32!=e.length)throw new Error("Invalid size of coordinate buffer");const t=Fn.alloc(32);e.copy(t,0,0,32);const n=Fn.alloc(32);return n[31]=t[0],t[0]=0,new Hn([Nn.fromBuffer(t),Nn.fromBuffer(n)])}static fromField(e){const t=e.toBuffer(),n=Fn.alloc(32);return n[31]=t[0],t[0]=0,new Hn([Nn.fromBuffer(t),Nn.fromBuffer(n)])}}Hn.ZERO=new Hn([Nn.ZERO,Nn.ZERO]);var Mn=n(816).Buffer;class zn{constructor(e,t){this.abi=e,this.args=t,this.flattened=[]}encodeArgument(e,t,n){if(void 0===t||null==t)throw new Error(`Undefined argument ${n??"unnamed"} of type ${e.kind}`);switch(e.kind){case"field":if("number"==typeof t)this.flattened.push(new Nn(BigInt(t)));else if("bigint"==typeof t)this.flattened.push(new Nn(t));else{if("object"!=typeof t)throw new Error(`Invalid argument "${t}" of type ${e.kind}`);if(Mn.isBuffer(t))this.flattened.push(Nn.fromBuffer(t));else if("function"==typeof t.toField)this.flattened.push(t.toField());else{if(!(t instanceof Nn))throw new Error(`Argument for ${n} cannot be serialised to a field`);this.flattened.push(t)}}break;case"boolean":this.flattened.push(new Nn(t?1n:0n));break;case"array":for(let r=0;r<e.length;r+=1)this.encodeArgument(e.type,t[r],`${n}[${r}]`);break;case"struct":for(const r of e.fields)this.encodeArgument(r.type,t[r.name],`${n}.${r.name}`);break;case"integer":this.flattened.push(new Nn(t));break;default:throw new Error(`Unsupported type: ${e.kind}`)}}encode(){for(let e=0;e<this.abi.parameters.length;e+=1){const t=this.abi.parameters[e];this.encodeArgument(t.type,this.args[e],t.name)}return this.flattened}}function Un(e,t){return new zn(e,t).encode()}var jn=n(816).Buffer;function Zn(e,t=4){const n=jn.alloc(t);return n.writeUInt32BE(e,t-4),n}function Wn(e,t=4){const n=jn.alloc(t);return n.writeInt32BE(e,t-4),n}function Gn(e){const t=jn.alloc(4);return t.writeUInt32BE(e.length,0),jn.concat([t,e])}function Qn(e,t){return e.map(t)}n(816).Buffer;var Xn=n(816).Buffer;function Yn(e,t=4){const n=Xn.alloc(t);return n.writeUInt32BE(e,t-4),n}function Jn(e){return!!e.toBuffer32}function Vn(...e){let t=[];for(const r of e)Array.isArray(r)?t=[...t,...Vn(...r)]:Xn.isBuffer(r)?t.push(r):"boolean"==typeof r?t.push((n=r,Xn.from([n?1:0]))):"number"==typeof r?t.push(Yn(r)):"string"==typeof r?(t.push(Yn(r.length)),t.push(Xn.from(r))):Jn(r)?t.push(r.toBuffer32()):t.push(r.toBuffer());var n;return t}function qn(...e){return Xn.concat(Vn(...e))}class Kn{constructor(e,t,n,r){this.chainId=e,this.version=t,this.blockNumber=n,this.timestamp=r}static from(e){return new Kn(...Kn.getFields(e))}static empty(){return new Kn(Nn.zero(),Nn.zero(),Nn.zero(),Nn.zero())}static fromBuffer(e){const t=Tn.asReader(e);return new Kn(t.readFr(),t.readFr(),t.readFr(),t.readFr())}static getFields(e){return[e.chainId,e.version,e.blockNumber,e.timestamp]}toBuffer(){return qn(...Kn.getFields(this))}}const $n=16,er=16,tr=16,nr=32;var rr,sr,ar,ir;function or(e,t,n=0){return Array.from({length:e},((e,r)=>t(r+n)))}function lr(e,t,n){if(e[t].length!==n)throw new Error(`Expected ${t} to have length ${n} but was ${e[t].length}`)}function cr(e,t,n){const r=e[t];for(let e=0;e<r.length;e++)if(r[e].length!==n)throw new Error(`Expected ${t}[${e}] to have length ${n} but was ${r[e].length}`)}!function(e){e[e.COMMITMENT=1]="COMMITMENT",e[e.COMMITMENT_NONCE=2]="COMMITMENT_NONCE",e[e.UNIQUE_COMMITMENT=3]="UNIQUE_COMMITMENT",e[e.SILOED_COMMITMENT=4]="SILOED_COMMITMENT",e[e.NULLIFIER=5]="NULLIFIER",e[e.INITIALISATION_NULLIFIER=6]="INITIALISATION_NULLIFIER",e[e.OUTER_NULLIFIER=7]="OUTER_NULLIFIER",e[e.PUBLIC_DATA_READ=8]="PUBLIC_DATA_READ",e[e.PUBLIC_DATA_UPDATE_REQUEST=9]="PUBLIC_DATA_UPDATE_REQUEST",e[e.FUNCTION_DATA=10]="FUNCTION_DATA",e[e.FUNCTION_LEAF=11]="FUNCTION_LEAF",e[e.CONTRACT_DEPLOYMENT_DATA=12]="CONTRACT_DEPLOYMENT_DATA",e[e.CONSTRUCTOR=13]="CONSTRUCTOR",e[e.CONSTRUCTOR_ARGS=14]="CONSTRUCTOR_ARGS",e[e.CONTRACT_ADDRESS=15]="CONTRACT_ADDRESS",e[e.CONTRACT_LEAF=16]="CONTRACT_LEAF",e[e.CALL_CONTEXT=17]="CALL_CONTEXT",e[e.CALL_STACK_ITEM=18]="CALL_STACK_ITEM",e[e.CALL_STACK_ITEM_2=19]="CALL_STACK_ITEM_2",e[e.L1_TO_L2_MESSAGE_SECRET=20]="L1_TO_L2_MESSAGE_SECRET",e[e.L2_TO_L1_MSG=21]="L2_TO_L1_MSG",e[e.TX_CONTEXT=22]="TX_CONTEXT",e[e.PUBLIC_LEAF_INDEX=23]="PUBLIC_LEAF_INDEX",e[e.PUBLIC_DATA_LEAF=24]="PUBLIC_DATA_LEAF",e[e.SIGNED_TX_REQUEST=25]="SIGNED_TX_REQUEST",e[e.GLOBAL_VARIABLES=26]="GLOBAL_VARIABLES",e[e.PARTIAL_ADDRESS=27]="PARTIAL_ADDRESS",e[e.TX_REQUEST=33]="TX_REQUEST",e[e.SIGNATURE_PAYLOAD=34]="SIGNATURE_PAYLOAD",e[e.VK=41]="VK",e[e.PRIVATE_CIRCUIT_PUBLIC_INPUTS=42]="PRIVATE_CIRCUIT_PUBLIC_INPUTS",e[e.PUBLIC_CIRCUIT_PUBLIC_INPUTS=43]="PUBLIC_CIRCUIT_PUBLIC_INPUTS",e[e.FUNCTION_ARGS=44]="FUNCTION_ARGS"}(rr||(rr={})),function(e){e[e.BASE_SLOT=0]="BASE_SLOT",e[e.MAPPING_SLOT=1]="MAPPING_SLOT",e[e.MAPPING_SLOT_PLACEHOLDER=2]="MAPPING_SLOT_PLACEHOLDER"}(sr||(sr={})),function(e){e[e.VALUE=1]="VALUE",e[e.OWNER=2]="OWNER",e[e.CREATOR=3]="CREATOR",e[e.SALT=4]="SALT",e[e.NONCE=5]="NONCE",e[e.MEMO=6]="MEMO",e[e.IS_DUMMY=7]="IS_DUMMY"}(ar||(ar={})),function(e){e[e.PARTITIONED=1]="PARTITIONED",e[e.WHOLE=2]="WHOLE"}(ir||(ir={}));class ur{constructor(e,t){this.root=e,this.nextAvailableLeafIndex=t}toBuffer(){return qn(this.root,this.nextAvailableLeafIndex)}static fromBuffer(e){const t=Tn.asReader(e);return new ur(t.readFr(),t.readNumber())}static empty(){return new ur(Nn.ZERO,0)}}class fr{constructor(e,t,n,r,s,a,i,o,l,c,u,f,d,_,h){this.kernelData=e,this.startPrivateDataTreeSnapshot=t,this.startNullifierTreeSnapshot=n,this.startContractTreeSnapshot=r,this.startPublicDataTreeRoot=s,this.startHistoricBlocksTreeSnapshot=a,this.lowNullifierLeafPreimages=i,this.lowNullifierMembershipWitness=o,this.newCommitmentsSubtreeSiblingPath=l,this.newNullifiersSubtreeSiblingPath=c,this.newContractsSubtreeSiblingPath=u,this.newPublicDataUpdateRequestsSiblingPaths=f,this.newPublicDataReadsSiblingPaths=d,this.historicBlocksTreeRootMembershipWitnesses=_,this.constants=h,lr(this,"lowNullifierLeafPreimages",32),lr(this,"lowNullifierMembershipWitness",32),lr(this,"newCommitmentsSubtreeSiblingPath",nr-fr.PRIVATE_DATA_SUBTREE_HEIGHT),lr(this,"newNullifiersSubtreeSiblingPath",16-fr.NULLIFIER_SUBTREE_HEIGHT),lr(this,"newContractsSubtreeSiblingPath",16-fr.CONTRACT_SUBTREE_HEIGHT),lr(this,"newPublicDataUpdateRequestsSiblingPaths",16),lr(this,"newPublicDataReadsSiblingPaths",16),cr(this,"newPublicDataUpdateRequestsSiblingPaths",254),cr(this,"newPublicDataReadsSiblingPaths",254)}static from(e){return new fr(...fr.getFields(e))}static getFields(e){return[e.kernelData,e.startPrivateDataTreeSnapshot,e.startNullifierTreeSnapshot,e.startContractTreeSnapshot,e.startPublicDataTreeRoot,e.startHistoricBlocksTreeSnapshot,e.lowNullifierLeafPreimages,e.lowNullifierMembershipWitness,e.newCommitmentsSubtreeSiblingPath,e.newNullifiersSubtreeSiblingPath,e.newContractsSubtreeSiblingPath,e.newPublicDataUpdateRequestsSiblingPaths,e.newPublicDataReadsSiblingPaths,e.historicBlocksTreeRootMembershipWitnesses,e.constants]}toBuffer(){return qn(...fr.getFields(this))}}fr.PRIVATE_DATA_SUBTREE_HEIGHT=Math.log2(32),fr.CONTRACT_SUBTREE_HEIGHT=Math.log2(2),fr.NULLIFIER_SUBTREE_HEIGHT=Math.log2(32);var dr,_r,hr,pr,gr=n(3545);class br{constructor(e){this.items=e}toBuffer(){return qn(this.items.length,this.items)}toFriendlyJSON(){return this.items}}(pr=dr||(dr={}))[pr.STANDARD=0]="STANDARD",pr[pr.TURBO=1]="TURBO",pr[pr.ULTRA=2]="ULTRA",(hr=_r||(_r={}))[hr.Base=0]="Base",hr[hr.Merge=1]="Merge",hr[hr.Root=2]="Root";class mr{constructor(e,t){this.x="bigint"==typeof e?new In(e):e,this.y="bigint"==typeof t?new In(t):t}toBuffer(){return qn(this.x,this.y)}static fromBuffer(e){const t=Tn.asReader(e);return new mr(t.readFr(),t.readFr())}}class yr{constructor(e,t,n,r,s=!1){this.p0=e,this.p1=t,this.publicInputs=n,this.proofWitnessIndices=r,this.hasData=s}toBuffer(){return qn(this.p0,this.p1,new br(this.publicInputs),new br(this.proofWitnessIndices),this.hasData)}static fromBuffer(e){const t=Tn.asReader(e);return new yr(t.readObject(mr),t.readObject(mr),t.readVector(Nn),t.readNumberVector(),t.readBoolean())}static makeFake(){return new yr(new mr(new In(1n),new In(2n)),new mr(new In(1n),new In(2n)),[],gr(16,(e=>3027+e)),!1)}}n(816).Buffer;var vr=n(816).Buffer;class wr{constructor(e){this.buffer=e;const t=Ln(e);if(t>wr.MAX_VALUE)throw new Error(`AztecAddress out of range ${t}.`)}static random(){return new wr(An(Nn.random().value,wr.SIZE_IN_BYTES))}static fromBuffer(e){return new this(Tn.asReader(e).readBytes(this.SIZE_IN_BYTES))}static fromString(e){const t=vr.from(e.replace(/^0x/i,""),"hex");if(t.length!==wr.SIZE_IN_BYTES)throw new Error(`Invalid length ${t.length}.`);return new wr(t)}static fromBigInt(e){return new wr(An(e,wr.SIZE_IN_BYTES))}toBuffer(){return this.buffer}toString(){return`0x${this.buffer.toString("hex")}`}toShortString(){const e=this.toString();return`${e.slice(0,10)}...${e.slice(-4)}`}static fromField(e){return new wr(An(e.value,wr.SIZE_IN_BYTES))}toField(){return Nn.fromBuffer(this.toBuffer())}toBigInt(){return Ln(this.buffer)}equals(e){return this.buffer.equals(e.buffer)}isZero(){return this.equals(wr.ZERO)}toFriendlyJSON(){return this.toString()}}wr.SIZE_IN_BYTES=32,wr.ZERO=new wr(vr.alloc(wr.SIZE_IN_BYTES)),wr.MODULUS=0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n,wr.MAX_VALUE=wr.MODULUS-1n;var Er=n(816).Buffer;class Lr{constructor(e){if(this.buffer=e,32===e.length){if(!e.slice(0,12).equals(Er.alloc(12)))throw new Error(`Invalid address buffer: ${e.toString("hex")}`);this.buffer=e.slice(12)}else if(e.length!==Lr.SIZE_IN_BYTES)throw new Error(`Expect buffer size to be ${Lr.SIZE_IN_BYTES}. Got ${e.length}.`)}static fromString(e){if(!Lr.isAddress(e))throw new Error(`Invalid address string: ${e}`);return new Lr(Er.from(e.replace(/^0x/i,""),"hex"))}static random(){return new Lr(vn(20))}static isAddress(e){return!!/^(0x)?[0-9a-f]{40}$/i.test(e)&&(!(!/^(0x|0X)?[0-9a-f]{40}$/.test(e)&&!/^(0x|0X)?[0-9A-F]{40}$/.test(e))||Lr.checkAddressChecksum(e))}isZero(){return this.equals(Lr.ZERO)}static checkAddressChecksum(e){const t=pn((e=e.replace(/^0x/i,"")).toLowerCase());for(let n=0;n<40;n++)if(parseInt(t[n],16)>7&&e[n].toUpperCase()!==e[n]||parseInt(t[n],16)<=7&&e[n].toLowerCase()!==e[n])return!1;return!0}static toChecksumAddress(e){if(!Lr.isAddress(e))throw new Error("Invalid address string.");const t=pn(e=e.toLowerCase().replace(/^0x/i,""));let n="0x";for(let r=0;r<e.length;r++)parseInt(t[r],16)>7?n+=e[r].toUpperCase():n+=e[r];return n}equals(e){return this.buffer.equals(e.buffer)}toString(){return`0x${this.buffer.toString("hex")}`}toChecksumString(){return Lr.toChecksumAddress(this.buffer.toString("hex"))}toBuffer(){return this.toBuffer32()}toBuffer20(){return this.buffer}toBuffer32(){const e=Er.alloc(32);return this.buffer.copy(e,12),e}toField(){return Nn.fromBuffer(this.toBuffer32())}static fromField(e){return new Lr(e.toBuffer().slice(-Lr.SIZE_IN_BYTES))}static fromBuffer(e){const t=Tn.asReader(e);return new Lr(t.readBuffer())}toFriendlyJSON(){return this.toString()}}Lr.SIZE_IN_BYTES=20,Lr.ZERO=new Lr(Er.alloc(Lr.SIZE_IN_BYTES));class Ar{constructor(e,t,n,r,s,a){this.msgSender=e,this.storageContractAddress=t,this.isDelegateCall=r,this.isStaticCall=s,this.isContractDeployment=a,this.portalContractAddress=n instanceof Lr?n:Lr.fromField(n)}static empty(){return new Ar(wr.ZERO,wr.ZERO,Nn.ZERO,!1,!1,!1)}isEmpty(){return this.msgSender.isZero()&&this.storageContractAddress.isZero()&&this.portalContractAddress.isZero()}static from(e){return new Ar(...Ar.getFields(e))}static getFields(e){return[e.msgSender,e.storageContractAddress,e.portalContractAddress,e.isDelegateCall,e.isStaticCall,e.isContractDeployment]}toBuffer(){return qn(...Ar.getFields(this))}static fromBuffer(e){const t=Tn.asReader(e);return new Ar(new wr(t.readBytes(32)),new wr(t.readBytes(32)),new Lr(t.readBytes(32)),t.readBoolean(),t.readBoolean(),t.readBoolean())}}var Sr=n(816).Buffer;class Cr{constructor(e,t,n,r){if(this.isInternal=t,this.isPrivate=n,this.isConstructor=r,e instanceof Sr){if(4!==e.byteLength)throw new Error(`Function selector must be 4 bytes long, got ${e.byteLength} bytes.`);this.functionSelectorBuffer=e}else this.functionSelectorBuffer=Zn(e)}static fromAbi(e){return new Cr(Bn(e.name,e.parameters),e.isInternal,e.functionType===fn.SECRET,"constructor"===e.name)}get functionSelector(){return function(e,t=0){return{elem:e.readUInt32BE(t),adv:4}}(this.functionSelectorBuffer).elem}toBuffer(){return qn(this.functionSelectorBuffer,this.isInternal,this.isPrivate,this.isConstructor)}isEmpty(){return this.functionSelectorBuffer.equals(Sr.alloc(4,0))}static empty(e){return new Cr(Sr.alloc(4,0),e?.isInternal??!1,e?.isPrivate??!1,e?.isConstructor??!1)}static fromBuffer(e){const t=Tn.asReader(e);return new Cr(t.readBytes(4),t.readBoolean(),t.readBoolean(),t.readBoolean())}}var Tr=n(816).Buffer;class Pr{constructor(e,t,n){this.contractAddress=e,this.functionTreeRoot=n,this.portalContractAddress=new Lr(t.toBuffer())}toBuffer(){return qn(this.contractAddress,this.portalContractAddress,this.functionTreeRoot)}static fromBuffer(e){const t=Tn.asReader(e);return new Pr(t.readObject(wr),new Lr(t.readBytes(32)),t.readFr())}static empty(){return new Pr(wr.ZERO,Lr.ZERO,Nn.ZERO)}}class Nr{constructor(e,t,n,r,s,a,i,o){this.callStackItemHash=e,this.functionData=t,this.vkHash=n,this.payFeeFromL1=s,this.payFeeFromPublicL2=a,this.calledFromL1=i,this.calledFromPublicL2=o,this.portalContractAddress=Lr.fromField(r.toField())}toBuffer(){return qn(this.callStackItemHash,this.functionData,this.vkHash,this.portalContractAddress,this.payFeeFromL1,this.payFeeFromPublicL2,this.calledFromL1,this.calledFromPublicL2)}static fromBuffer(e){const t=Tn.asReader(e);return new Nr(t.readFr(),t.readObject(Cr),t.readFr(),new Lr(t.readBytes(32)),t.readBoolean(),t.readBoolean(),t.readBoolean(),t.readBoolean())}static empty(){return new Nr(Nn.ZERO,Cr.empty(),Nn.ZERO,Lr.ZERO,!1,!1,!1,!1)}}class Ir{constructor(e,t,n){this.leafIndex=e,this.value=t,this.sideEffectCounter=n}static from(e){return new Ir(e.leafIndex,e.value)}toBuffer(){return qn(this.leafIndex,this.value)}static fromBuffer(e){const t=Tn.asReader(e);return new Ir(t.readFr(),t.readFr())}static empty(){return new Ir(Nn.ZERO,Nn.ZERO)}toFriendlyJSON(){return`Leaf=${this.leafIndex.toFriendlyJSON()}: ${this.value.toFriendlyJSON()}`}}class kr{constructor(e,t,n,r){this.leafIndex=e,this.oldValue=t,this.newValue=n,this.sideEffectCounter=r}static from(e){return new kr(e.leafIndex,e.oldValue,e.newValue)}toBuffer(){return qn(this.leafIndex,this.oldValue,this.newValue)}static fromBuffer(e){const t=Tn.asReader(e);return new kr(t.readFr(),t.readFr(),t.readFr())}static empty(){return new kr(Nn.ZERO,Nn.ZERO,Nn.ZERO)}toFriendlyJSON(){return`Leaf=${this.leafIndex.toFriendlyJSON()}: ${this.oldValue.toFriendlyJSON()} => ${this.newValue.toFriendlyJSON()}`}}class xr{constructor(e,t,n,r,s,a,i,o,l,c,u,f,d,_,h,p,g){this.aggregationObject=e,this.readRequests=t,this.readRequestMembershipWitnesses=n,this.newCommitments=r,this.newNullifiers=s,this.nullifiedCommitments=a,this.privateCallStack=i,this.publicCallStack=o,this.newL2ToL1Msgs=l,this.encryptedLogsHash=c,this.unencryptedLogsHash=u,this.encryptedLogPreimagesLength=f,this.unencryptedLogPreimagesLength=d,this.newContracts=_,this.optionallyRevealedData=h,this.publicDataUpdateRequests=p,this.publicDataReads=g,lr(this,"readRequests",tr),lr(this,"readRequestMembershipWitnesses",tr),lr(this,"newCommitments",$n),lr(this,"newNullifiers",er),lr(this,"nullifiedCommitments",er),lr(this,"privateCallStack",8),lr(this,"publicCallStack",8),lr(this,"newL2ToL1Msgs",2),lr(this,"encryptedLogsHash",2),lr(this,"unencryptedLogsHash",2),lr(this,"newContracts",1),lr(this,"optionallyRevealedData",4),lr(this,"publicDataUpdateRequests",8),lr(this,"publicDataReads",8)}toBuffer(){return qn(this.aggregationObject,this.readRequests,this.readRequestMembershipWitnesses,this.newCommitments,this.newNullifiers,this.nullifiedCommitments,this.privateCallStack,this.publicCallStack,this.newL2ToL1Msgs,this.encryptedLogsHash,this.unencryptedLogsHash,this.encryptedLogPreimagesLength,this.unencryptedLogPreimagesLength,this.newContracts,this.optionallyRevealedData,this.publicDataUpdateRequests,this.publicDataReads)}toString(){return this.toBuffer().toString()}static fromBuffer(e){const t=Tn.asReader(e);return new xr(t.readObject(yr),t.readArray(tr,Nn),t.readArray(tr,ns),t.readArray($n,Nn),t.readArray(er,Nn),t.readArray(er,Nn),t.readArray(8,Nn),t.readArray(8,Nn),t.readArray(2,Nn),t.readArray(2,Nn),t.readArray(2,Nn),t.readFr(),t.readFr(),t.readArray(1,Pr),t.readArray(4,Nr),t.readArray(8,kr),t.readArray(8,Ir))}static fromString(e){return xr.fromBuffer(Tr.from(e,"hex"))}static empty(){return new xr(yr.makeFake(),or(tr,Nn.zero),or(tr,(()=>ns.empty(BigInt(0)))),or($n,Nn.zero),or(er,Nn.zero),or(er,Nn.zero),or(8,Nn.zero),or(8,Nn.zero),or(2,Nn.zero),or(2,Nn.zero),or(2,Nn.zero),Nn.zero(),Nn.zero(),or(1,Pr.empty),or(4,Nr.empty),or(8,kr.empty),or(8,Ir.empty))}}class Rr{constructor(e,t,n,r,s){this.deployerPublicKey=e,this.constructorVkHash=t,this.functionTreeRoot=n,this.contractAddressSalt=r,this.portalContractAddress=Lr.fromField(s.toField())}toBuffer(){return qn(this.deployerPublicKey,this.constructorVkHash,this.functionTreeRoot,this.contractAddressSalt,this.portalContractAddress)}static empty(){return new Rr(Dn.ZERO,Nn.ZERO,Nn.ZERO,Nn.ZERO,Lr.ZERO)}static fromBuffer(e){const t=Tn.asReader(e);return new Rr(t.readObject(Dn),t.readFr(),t.readFr(),t.readFr(),new Lr(t.readBytes(32)))}}class Br{constructor(e,t,n,r,s,a){this.isFeePaymentTx=e,this.isRebatePaymentTx=t,this.isContractDeploymentTx=n,this.contractDeploymentData=r,this.chainId=s,this.version=a}toBuffer(){return qn(this.isFeePaymentTx,this.isRebatePaymentTx,this.isContractDeploymentTx,this.contractDeploymentData,this.chainId,this.version)}static fromBuffer(e){const t=Tn.asReader(e);return new Br(t.readBoolean(),t.readBoolean(),t.readBoolean(),t.readObject(Rr),t.readFr(),t.readFr())}static empty(e=0,t=0){return new Br(!1,!1,!1,Rr.empty(),new Nn(e),new Nn(t))}static from(e){return new Br(...Br.getFields(e))}static getFields(e){return[e.isFeePaymentTx,e.isRebatePaymentTx,e.isContractDeploymentTx,e.contractDeploymentData,e.chainId,e.version]}}class Or{constructor(e,t,n,r,s,a,i,o){this.privateDataTreeRoot=e,this.nullifierTreeRoot=t,this.contractTreeRoot=n,this.l1ToL2MessagesTreeRoot=r,this.blocksTreeRoot=s,this.privateKernelVkTreeRoot=a,this.publicDataTreeRoot=i,this.globalVariablesHash=o}static from(e){return new Or(...Or.getFields(e))}static random(){return new Or(Nn.random(),Nn.random(),Nn.random(),Nn.random(),Nn.random(),Nn.random(),Nn.random(),Nn.random())}static getFields(e){return[e.privateDataTreeRoot,e.nullifierTreeRoot,e.contractTreeRoot,e.l1ToL2MessagesTreeRoot,e.blocksTreeRoot,e.privateKernelVkTreeRoot,e.publicDataTreeRoot,e.globalVariablesHash]}toBuffer(){return qn(...Or.getFields(this))}toString(){return this.toBuffer().toString()}toArray(){return[this.privateDataTreeRoot,this.nullifierTreeRoot,this.contractTreeRoot,this.l1ToL2MessagesTreeRoot,this.blocksTreeRoot,this.publicDataTreeRoot,this.globalVariablesHash]}static fromBuffer(e){const t=Tn.asReader(e);return new Or(t.readFr(),t.readFr(),t.readFr(),t.readFr(),t.readFr(),t.readFr(),t.readFr(),t.readFr())}isEmpty(){return this.privateDataTreeRoot.isZero()&&this.nullifierTreeRoot.isZero()&&this.contractTreeRoot.isZero()&&this.l1ToL2MessagesTreeRoot.isZero()&&this.blocksTreeRoot.isZero()&&this.privateKernelVkTreeRoot.isZero()&&this.publicDataTreeRoot.isZero()&&this.globalVariablesHash.isZero()}static empty(){return new Or(Nn.ZERO,Nn.ZERO,Nn.ZERO,Nn.ZERO,Nn.ZERO,Nn.ZERO,Nn.ZERO,Nn.ZERO)}}class Dr{constructor(e,t){this.blockData=e,this.txContext=t}toBuffer(){return qn(this.blockData,this.txContext)}static fromBuffer(e){const t=Tn.asReader(e);return new Dr(t.readObject(Or),t.readObject(Br))}static empty(){return new Dr(Or.empty(),Br.empty())}}n(1328),n(816).Buffer,n(816).Buffer,n(816).Buffer;class Fr{constructor(e){this.buffer=e}static fromMsgpackBuffer(e){return new Fr(e)}static fromBuffer(e){const t=Tn.asReader(e),n=t.readNumber(),r=t.readBytes(n);return new Fr(r)}toMsgpackBuffer(){return this.buffer}toBuffer(){return qn(this.buffer.length,this.buffer)}}class Hr{constructor(e,t,n){this.end=e,this.constants=t,this.isPrivate=n}toBuffer(){return qn(this.end,this.constants,this.isPrivate)}static fromBuffer(e){const t=Tn.asReader(e);return new Hr(t.readObject(xr),t.readObject(Dr),t.readBoolean())}static empty(){return new Hr(xr.empty(),Dr.empty(),!0)}}function Mr(e,t,n){if(e.length>n)throw new Error("Array size exceeds target length");return[...e,...Array(n-e.length).fill(t)]}function zr(e,t){for(const n of e)if(!t(n))return!1;return!0}class Ur{constructor(e,t,n){this.storageSlot=e,this.currentValue=t,this.sideEffectCounter=n}static from(e){return new Ur(e.storageSlot,e.currentValue)}toBuffer(){return qn(this.storageSlot,this.currentValue)}static fromBuffer(e){const t=Tn.asReader(e);return new Ur(t.readFr(),t.readFr())}static empty(){return new Ur(Nn.ZERO,Nn.ZERO)}isEmpty(){return this.storageSlot.isZero()&&this.currentValue.isZero()}toFriendlyJSON(){return`Slot=${this.storageSlot.toFriendlyJSON()}: ${this.currentValue.toFriendlyJSON()}`}}class jr{constructor(e,t,n,r){this.storageSlot=e,this.oldValue=t,this.newValue=n,this.sideEffectCounter=r}toBuffer(){return qn(this.storageSlot,this.oldValue,this.newValue)}static fromBuffer(e){const t=Tn.asReader(e);return new jr(t.readFr(),t.readFr(),t.readFr())}static from(e){return new jr(...jr.getFields(e))}static getFields(e){return[e.storageSlot,e.oldValue,e.newValue,e.sideEffectCounter]}static empty(){return new jr(Nn.ZERO,Nn.ZERO,Nn.ZERO)}isEmpty(){return this.storageSlot.isZero()&&this.oldValue.isZero()&&this.newValue.isZero()}toFriendlyJSON(){return`Slot=${this.storageSlot.toFriendlyJSON()}: ${this.oldValue.toFriendlyJSON()} => ${this.newValue.toFriendlyJSON()}`}}class Zr{constructor(e,t,n,r,s,a,i,o,l,c,u,f,d){this.callContext=e,this.argsHash=t,this.returnValues=n,this.contractStorageUpdateRequests=r,this.contractStorageReads=s,this.publicCallStack=a,this.newCommitments=i,this.newNullifiers=o,this.newL2ToL1Msgs=l,this.unencryptedLogsHash=c,this.unencryptedLogPreimagesLength=u,this.historicBlockData=f,this.proverAddress=d,lr(this,"returnValues",4),lr(this,"publicCallStack",4),lr(this,"newCommitments",4),lr(this,"newNullifiers",4),lr(this,"newL2ToL1Msgs",2),lr(this,"contractStorageUpdateRequests",8),lr(this,"contractStorageReads",8),lr(this,"unencryptedLogsHash",2)}static from(e){return new Zr(...Zr.getFields(e))}static empty(){return new Zr(Ar.empty(),Nn.ZERO,or(4,Nn.zero),or(8,jr.empty),or(8,Ur.empty),or(4,Nn.zero),or(4,Nn.zero),or(4,Nn.zero),or(2,Nn.zero),or(2,Nn.zero),Nn.ZERO,Or.empty(),wr.ZERO)}isEmpty(){const e=e=>zr(e,(e=>e.isZero()));return this.callContext.isEmpty()&&this.argsHash.isZero()&&e(this.returnValues)&&zr(this.contractStorageUpdateRequests,(e=>e.isEmpty()))&&zr(this.contractStorageReads,(e=>e.isEmpty()))&&e(this.publicCallStack)&&e(this.newCommitments)&&e(this.newNullifiers)&&e(this.newL2ToL1Msgs)&&e(this.unencryptedLogsHash)&&this.unencryptedLogPreimagesLength.isZero()&&this.historicBlockData.isEmpty()&&this.proverAddress.isZero()}static getFields(e){return[e.callContext,e.argsHash,e.returnValues,e.contractStorageUpdateRequests,e.contractStorageReads,e.publicCallStack,e.newCommitments,e.newNullifiers,e.newL2ToL1Msgs,e.unencryptedLogsHash,e.unencryptedLogPreimagesLength,e.historicBlockData,e.proverAddress]}toBuffer(){return qn(...Zr.getFields(this))}}var Wr=n(816),Gr=n(3261);function Qr(e,t,n,r){const s=n instanceof Wr.Buffer?n:n.toBuffer(),a=e.call("bbmalloc",r),i=e.call("bbmalloc",s.length);e.writeMemory(i,s),e.call(t,i,a);const o=Wr.Buffer.from(e.getMemorySlice(a,a+r));return e.call("bbfree",a),e.call("bbfree",i),o}function Xr(e,t,n,r){const s=[],a=n.reduce(((e,t)=>(s.push(e),e+t.length)),0),i=e.call("bbmalloc",r),o=e.call("bbmalloc",a);e.writeMemory(o,Wr.Buffer.concat(n));const l=s.map((e=>o+e));e.call(t,...l,i);const c=Wr.Buffer.from(e.getMemorySlice(i,i+r));return e.call("bbfree",o),e.call("bbfree",i),c}function Yr(e,t){return e.call("pedersen__init"),Nn.fromBuffer(Qr(e,"abis__compute_function_leaf",t,32))}function Jr(e,t,n){e.call("pedersen__init");const r=Xr(e,"abis__compute_contract_address_from_partial",[t.toBuffer(),n.toBuffer()],32);return new wr(r)}const Vr=32,qr=16;function Kr(e,t){if(0===t.length)return Promise.resolve(Nn.ZERO);if(t.length>Vr*qr)throw new Error(`Cannot hash more than ${Vr*qr} arguments`);e.call("pedersen__init");const n=t=>Nn.fromBuffer(Qr(e,"abis__compute_var_args_hash",new br(t),32));let r=Gr(t,Vr).map((e=>(e.length<Vr&&(e=Mr(e,Nn.ZERO,Vr)),n(e))));return r.length<qr&&(r=Mr(r,Nn.ZERO,qr)),Promise.resolve(n(r))}class $r{constructor(e,t,n,r){this.contractAddress=e,this.functionData=t,this.publicInputs=n,this.isExecutionRequest=r}toBuffer(){return qn(this.contractAddress,this.functionData,this.publicInputs,this.isExecutionRequest)}static empty(){return new $r(wr.ZERO,Cr.empty({isPrivate:!1}),Zr.empty(),!1)}isEmpty(){return this.contractAddress.isZero()&&this.functionData.isEmpty()&&this.publicInputs.isEmpty()}async hash(){return function(e,t){e.call("pedersen__init");const n=Qr(e,"abis__compute_public_call_stack_item_hash",t,32);return Nn.fromBuffer(n)}(await ks.get(),this)}}class es{constructor(e,t,n,r){this.origin=e,this.functionData=t,this.argsHash=n,this.txContext=r}static getFields(e){return[e.origin,e.functionData,e.argsHash,e.txContext]}static from(e){return new es(...es.getFields(e))}toBuffer(){return qn([...es.getFields(this)])}static fromBuffer(e){const t=Tn.asReader(e);return new es(t.readObject(wr),t.readObject(Cr),t.readFr(),t.readObject(Br))}}class ts{constructor(e,t,n,r,s){this.functionSelector=e,this.isInternal=t,this.isPrivate=n,this.vkHash=r,this.acirHash=s,this.FUNCTION_SELECTOR_LENGTH=4,this.assertFunctionSelectorLength(e)}assertFunctionSelectorLength(e){if(e.byteLength!==this.FUNCTION_SELECTOR_LENGTH)throw new Error(`Function selector must be ${this.FUNCTION_SELECTOR_LENGTH} bytes long, got ${e.byteLength} bytes.`)}toBuffer(){return this.assertFunctionSelectorLength(this.functionSelector),qn(this.functionSelector,this.isInternal,this.isPrivate,this.vkHash,this.acirHash)}static fromBuffer(e){const t=Tn.asReader(e);return new ts(t.readBytes(4),t.readBoolean(),t.readBoolean(),t.readFr(),t.readFr())}}class ns{constructor(e,t,n=!1,r){if(this.leafIndex=e,this.siblingPath=t,this.isTransient=n,this.hintToCommitment=r,lr(this,"siblingPath",nr),r.value>4)throw new Error(`Expected ReadRequestMembershipWitness' hintToCommitment(${r}) to be <= NEW_COMMITMENTS_LENGTH(4)`)}toBuffer(){return qn(An(this.leafIndex.toBigInt(),32),...this.siblingPath,this.isTransient,this.hintToCommitment)}static mock(e,t){return new ns(new Nn(t),function(e,t=0){const n=[];for(let r=0;r<e;r++)n.push(t+r);return n}(e,t).map((e=>new Nn(BigInt(e)))),!1,new Nn(0))}static random(){return new ns(new Nn(0n),or(nr,(()=>Nn.random())),!1,new Nn(0))}static empty(e){const t=or(nr,(()=>Nn.ZERO));return new ns(new Nn(e),t,!1,new Nn(0))}static emptyTransient(){const e=or(nr,(()=>Nn.ZERO));return new ns(new Nn(0),e,!0,new Nn(0))}static fromBufferArray(e,t,n,r){return new ns(e,t.map((e=>Nn.fromBuffer(e))),n,r)}static fromMembershipWitness(e,t,n){return new ns(new Nn(e.leafIndex),e.siblingPath,t,n)}static fromBuffer(e){const t=Tn.asReader(e),n=t.readFr(),r=t.readArray(nr,Nn),s=t.readBoolean(),a=t.readFr();return new ns(n,r,s,a)}}class rs{constructor(e,t,n,r,s){this.contractAddress=e,this.functionData=t,this.callContext=n,this.args=r,this.sideEffectCounter=s}toBuffer(){return qn(this.contractAddress,this.functionData,this.callContext,new br(this.args))}static fromBuffer(e){const t=Tn.asReader(e);return new rs(new wr(t.readBytes(32)),Cr.fromBuffer(t),Ar.fromBuffer(t),t.readVector(Nn))}static from(e){return new rs(...rs.getFields(e))}static getFields(e){return[e.contractAddress,e.functionData,e.callContext,e.args,e.sideEffectCounter]}async toPublicCallStackItem(){const e=Zr.empty();return e.callContext=this.callContext,e.argsHash=await this.getArgsHash(),new $r(this.contractAddress,this.functionData,e,!0)}async getArgsHash(){return Kr(await ks.get(),this.args)}}var ss=n(6292);let as;function is(e){const t=ss(e);return(...e)=>function(e,...t){ss.enabled(e.namespace)&&(as&&as(e.namespace,...t),e(...t))}(t,...e)}var os=n(3118);const ls=["silent","fatal","error","warn","info","debug"],cs={NODE_ENV:"production"}.LOG_LEVEL?.toLowerCase(),us=ls.includes(cs)?cs:"info";function fs(e){const t=ss(e);"debug"===us&&(t.enabled=!0);const n={silent:()=>{},fatal:(...e)=>ds(t,"fatal",e),error:(...e)=>ds(t,"error",e),warn:(...e)=>ds(t,"warn",e),info:(...e)=>ds(t,"info",e),debug:(...e)=>ds(t,"debug",e)};return Object.assign(t,n)}function ds(e,t,n){e.enabled?e(n[0],...n.slice(1)):ls.indexOf(t)<=ls.indexOf(us)&&function(e){console.error(...e)}([_s(e,t),...n])}function _s(e,t){const n=us!==t?` ${t.toUpperCase()}`:"",r=`${e.namespace.replace(/^aztec:/,"")}${n}`;if(!bn||!(0,os.VB)(process.stderr.fd))return r;const s=ss.selectColor(e.namespace);return` ${"[3"+(s<8?s:"8;5;"+s)};1m${r}`}new class{constructor(){this.logs=[]}enable(){as=(...e)=>{this.logs.push([(new Date).toISOString(),...e])}}getLogs(e=0){return e?this.logs.slice(-e):this.logs}clear(e=this.logs.length){this.logs=this.logs.slice(e)}};class hs{constructor(e=fs("aztec:foundation:memory_fifo")){this.log=e,this.waiting=[],this.items=[],this.flushing=!1}length(){return this.items.length}get(e){return this.items.length?Promise.resolve(this.items.shift()):0===this.items.length&&this.flushing?Promise.resolve(null):new Promise(((t,n)=>{this.waiting.push(t),e&&setTimeout((()=>{const e=this.waiting.findIndex((e=>e===t));if(e>-1){this.waiting.splice(e,1);const t=new Error("Timeout getting item from queue.");n(t)}}),1e3*e)}))}put(e){this.flushing||(this.waiting.length?this.waiting.shift()(e):this.items.push(e))}end(){this.flushing=!0,this.waiting.forEach((e=>e(null)))}cancel(){this.flushing=!0,this.items=[],this.waiting.forEach((e=>e(null)))}async process(e){try{for(;;){const t=await this.get();if(null===t)break;await e(t)}}catch(e){this.log.error("Queue handler exception:",e)}}}const ps=(e=is("wasm:empty_wasi_sdk"))=>({clock_time_get(){e("clock_time_get")},environ_get(){e("environ_get")},environ_sizes_get(){e("environ_sizes_get")},fd_close(){e("fd_close")},fd_read(){e("fd_read")},fd_write(){e("fd_write")},fd_seek(){e("fd_seek")},fd_fdstat_get(){e("fd_fdstat_get")},fd_fdstat_set_flags(){e("fd_fdstat_set_flags")},fd_prestat_get:()=>(e("fd_prestat_get"),8),fd_prestat_dir_name:()=>(e("fd_prestat_dir_name"),28),path_open(){e("path_open")},path_filestat_get(){e("path_filestat_get")},proc_exit:()=>(e("proc_exit"),52),random_get:()=>(e("random_get"),1)});class gs{constructor(e,t,n="wasm"){this.module=e,this.importFn=t,this.mutexQ=new hs,this.debug=is(n),this.mutexQ.put(!0)}getModule(){return this.module}async init(e=30,t=8192,n="_initialize"){this.debug(`initial mem: ${e} pages, ${65536*e/1048576}mb. max mem: ${t} pages, ${65536*t/1048576}mb`),this.memory=new WebAssembly.Memory({initial:e,maximum:t}),this.heap=new Uint8Array(this.memory.buffer);const r={wasi_snapshot_preview1:{...ps(this.debug),random_get:(e,t)=>{e>>>=0;const n=this.getMemory(),r=vn(t);for(let s=e;s<e+t;++s)n[s]=r[s-e]}},env:this.importFn(this)};if(this.module instanceof WebAssembly.Module)this.instance=await WebAssembly.instantiate(this.module,r);else{const{instance:e}=await WebAssembly.instantiate(this.module,r);this.instance=e}n&&this.call(n)}exports(){if(!this.instance)throw new Error("WasmModule: not initialized!");return this.instance.exports}getLogger(){return this.debug}addLogger(e){const t=this.debug;this.debug=(...n)=>{e(...n),t(...n)}}call(e,...t){if(!this.exports()[e])throw new Error(`WASM function ${e} not found.`);try{return this.exports()[e](...t)>>>0}catch(t){const n=`WASM function ${e} aborted, error: ${t}\n${t.stack}`;throw new Error(n)}}getRawMemory(){return this.memory}getMemory(){return 0===this.heap.length&&(this.heap=new Uint8Array(this.memory.buffer)),this.heap}memSize(){return this.getMemory().length}getMemorySlice(e,t){return this.getMemory().slice(e,t)}writeMemory(e,t){const n=this.getMemory();for(let r=0;r<t.length;r++)n[r+e]=t[r]}getMemoryAsString(e){e>>>=0;const t=this.getMemory();let n=e;for(;0!==t[n];++n);return Wr.Buffer.from(t.slice(e,n)).toString("ascii")}async acquire(){await this.mutexQ.get()}release(){if(0!==this.mutexQ.length())throw new Error("Release called but not acquired.");this.mutexQ.put(!0)}}var bs=n(9190),ms=n(3240),ys=n(6721),vs=n(1856),ws=n(6014),Es=n(717),Ls=n(6963),As=n(816).Buffer;class Ss{constructor(e){this.numPoints=e}async init(){const e=28+64*this.numPoints-1,t=await fetch("https://aztec-ignition.s3.amazonaws.com/MAIN%20IGNITION/monomial/transcript00.dat",{headers:{Range:`bytes=28-${e}`}});this.data=new Uint8Array(await t.arrayBuffer()),await this.downloadG2Data()}async downloadG2Data(){const e=await fetch("https://aztec-ignition.s3.amazonaws.com/MAIN%20IGNITION/monomial/transcript00.dat",{headers:{Range:"bytes=322560092-322560219"}});this.g2Data=new Uint8Array(await e.arrayBuffer())}getG1Data(){return this.data}getG2Data(){return this.g2Data}}class Cs{constructor(e,t){this.numPoints=e,this.path=t}async init(){const e=64*this.numPoints,t=await(0,ws.open)(this.path,"r");try{this.data=As.alloc(e),await t.read(this.data,0,e,28),this.g2Data=As.alloc(128),await t.read(this.g2Data,0,128,322560028)}finally{await t.close()}}getG1Data(){return this.data}getG2Data(){return this.g2Data}}class Ts{constructor(e){if(this.numPoints=e,bn){const t=(0,Es.dirname)((0,Ls.fileURLToPath)("file:///usr/src/yarn-project/circuits.js/dest/crs/index.js"))+"/../../../../circuits/cpp/barretenberg/cpp/srs_db/ignition/monomial/transcript00.dat";this.crs=(0,vs.existsSync)(t)?new Cs(e,t):new Ss(e)}else this.crs=new Ss(e)}async init(){await this.crs.init()}getG1Data(){return this.crs.getG1Data()}getG2Data(){return this.crs.getG2Data()}}var Ps=n(816).Buffer;const Ns="/aztec3-circuits",Is=bn?(0,ms.join)((0,ms.dirname)((0,ys.fileURLToPath)("file:///usr/src/yarn-project/circuits.js/dest/wasm/circuits_wasm.js")),`../../resources/${Ns}.wasm`):`${Ns}.wasm`;class ks{constructor(e){this.wasm=e}static get(){return this.instance||(this.instance=ks.new()),this.instance}static async new(e=30,t=8192,n="wasm"){const r=new gs(await async function(e){if(bn)return await(0,bs.readFile)(e);{const t=await fetch(e);return Ps.from(await t.arrayBuffer())}}(Is),(e=>({logstr(e){const t=`${r.getMemoryAsString(e)} (mem: ${(r.getMemory().length/1048576).toFixed(2)}MB)`;(t.startsWith("abort: ")||t.startsWith("important: "))&&console.log(t),r.getLogger()(t)},memory:e.getRawMemory(),set_data:()=>{r.getLogger()("set_data: NYI")},get_data:()=>{throw new Error("NOT YET IMPLEMENTED - needed for proofs, plan is to use barretenberg.js from NPM for proofs. See https://github.com/AztecProtocol/aztec-packages/issues/781")}})),n);return await r.init(e,t),await ks.initializeSrs(r),new ks(r)}static async initializeSrs(e){const t=new Ts(5e4);await t.init();const n=e.call("bbmalloc",t.getG1Data().length);e.writeMemory(n,t.getG1Data());const r=e.call("bbmalloc",4);e.writeMemory(r,Zn(t.numPoints));const s=e.call("bbmalloc",t.getG2Data().length);e.writeMemory(s,t.getG2Data()),e.call("srs_init_srs",n,r,s),e.call("bbfree",n),e.call("bbfree",r),e.call("bbfree",s)}exports(){return this.wasm.exports()}getMemorySlice(e,t){return this.wasm.getMemorySlice(e,t)}writeMemory(e,t){this.wasm.writeMemory(e,t)}getMemoryAsString(e){return this.wasm.getMemoryAsString(e)}call(e,...t){return this.wasm.call(e,...t)}}n(816).Buffer;var xs=n(816).Buffer;function Rs(e,t){return function(e,t){return e.call("pedersen__init"),Qr(e,"abis__hash_vk",t,32)}(t,xs.from(e,"hex"))}function Bs({name:e}){return"constructor"===e}function Os({name:e,functionType:t}){return t!==fn.UNCONSTRAINED&&!Bs({name:e})}async function Ds(e,t,n,r){const s=e.functions.find(Bs);if(!s)throw new Error("Cannot find constructor in the ABI.");if(!s.verificationKey)throw new Error("Missing verification key for the constructor.");const a=await ks.get(),i=Rs(s.verificationKey,a),o=Nn.fromBuffer(i),l=function(e,t){const n=e.filter(Os),r=[];for(let e=0;e<n.length;e++){const s=n[e],a=Bn(s.name,s.parameters),i=s.isInternal,o=s.functionType===fn.SECRET,l=Rs(s.verificationKey,t),c=xs.alloc(32,0),u=Yr(t,new ts(a,i,o,Nn.fromBuffer(l),Nn.fromBuffer(c)));r.push(u)}return r}(e.functions.map((e=>({...e,selector:Bn(e.name,e.parameters)}))),a),c=function(e,t){const n=function(e){const t=Xn.alloc(4);return t.writeUInt32BE(e.length,0),Xn.concat([t,...e])}(t.map((e=>e.toBuffer())));e.call("pedersen__init");const r=Qr(e,"abis__compute_function_tree_root",n,32);return Nn.fromBuffer(r)}(a,l),u=Cr.fromAbi(s),f=Un(s,t),d=function(e,t,n,r){e.call("pedersen__init");const s=Xr(e,"abis__hash_constructor",[t.toBuffer(),n.toBuffer(),r],32);return Nn.fromBuffer(s)}(a,u,await Kr(a,f),o.toBuffer()),_=function(e,t,n,r){e.call("pedersen__init");const s=Xr(e,"abis__compute_partial_address",[t.toBuffer(),n.toBuffer(),r.toBuffer()],32);return Nn.fromBuffer(s)}(a,n,c,d),h=function(e,t,n,r,s){e.call("pedersen__init");const a=Xr(e,"abis__compute_contract_address",[t.toBuffer(),n.toBuffer(),r.toBuffer(),s.toBuffer()],32);return new wr(a)}(a,r,n,c,d);return{completeAddress:await Ks.create(h,r,_),constructorHash:o,functionTreeRoot:c}}var Fs=n(816).Buffer;class Hs{static async new(){return new this(await ks.get())}constructor(e){this.wasm=e}generator(){return Hs.generator}mul(e,t){return this.wasm.writeMemory(0,e.toBuffer()),this.wasm.writeMemory(64,t.value),this.wasm.call("ecc_grumpkin__mul",0,64,96),Dn.fromBuffer(Fs.from(this.wasm.getMemorySlice(96,160)))}batchMul(e,t){const n=Fs.concat(e.map((e=>e.toBuffer()))),r=e.length*Dn.SIZE_IN_BYTES,s=this.wasm.call("bbmalloc",2*r);this.wasm.writeMemory(s,n),this.wasm.writeMemory(0,t.value),this.wasm.call("ecc_grumpkin__batch_mul",s,0,e.length,s+r);const a=Fs.from(this.wasm.getMemorySlice(s+r,s+r+r));this.wasm.call("bbfree",s);const i=[];for(let e=0;e<r;e+=64)i.push(Dn.fromBuffer(a.slice(e,e+64)));return i}getRandomFr(){return this.wasm.call("ecc_grumpkin__get_random_scalar_mod_circuit_modulus",0),Nn.fromBuffer(Fs.from(this.wasm.getMemorySlice(0,32)))}reduce512BufferToFr(e){return this.wasm.writeMemory(0,e),this.wasm.call("ecc_grumpkin__reduce512_buffer_mod_circuit_modulus",0,64),Nn.fromBuffer(Fs.from(this.wasm.getMemorySlice(64,96)))}}function Ms(e){const t=Wr.Buffer.alloc(4);return t.writeUInt32BE(e.length,0),Wr.Buffer.concat([t,...e])}Hs.generator=Dn.fromBuffer(Fs.from([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,207,19,94,117,6,164,93,99,45,39,13,69,241,24,18,148,131,63,196,141,130,63,39,44]));var zs=n(6534),Us=n(816).Buffer;class js{constructor(e,t,n){if(this.r=e,this.s=t,this.v=n,32!=e.length)throw new Error("Invalid length of 'r' in ECDSA signature");if(32!=t.length)throw new Error("Invalid length of 's' in ECDSA signature");if(1!=n.length)throw new Error("Invalid length of '1' in ECDSA signature")}toBuffer(){return Us.concat([this.r,this.s,this.v])}static fromBuffer(e){return new js(e.subarray(0,32),e.subarray(32,64),e.subarray(64,65))}static fromBigInts(e,t,n){return new js(An(e,32),An(t,32),Us.from([n]))}static random(){return new js((0,zs.randomBytes)(32),(0,zs.randomBytes)(32),Us.from([27]))}toString(){return`0x${this.toBuffer().toString("hex")}`}toFields(e=!1){const t=this.toBuffer(),n=Us.alloc(32),r=Us.alloc(32),s=Us.alloc(32);return t.copy(n,1,0,31),t.copy(r,1,31,62),t.copy(s,1,62,e?65:64),Qn([n,r,s],Nn.fromBuffer)}}var Zs=n(816).Buffer;class Ws{static async new(){return new this(await ks.get())}constructor(e){this.wasm=e}computePublicKey(e){return this.wasm.writeMemory(0,e.value),this.wasm.call("ecdsa__compute_public_key",0,32),Zs.from(this.wasm.getMemorySlice(32,96))}constructSignature(e,t){const n=this.wasm.call("bbmalloc",e.length);return this.wasm.writeMemory(0,t.value),this.wasm.writeMemory(n,e),this.wasm.call("ecdsa__construct_signature",n,e.length,0,32,64,96),new js(Zs.from(this.wasm.getMemorySlice(32,64)),Zs.from(this.wasm.getMemorySlice(64,96)),Zs.from(this.wasm.getMemorySlice(96,97)))}recoverPublicKey(e,t){const n=this.wasm.call("bbmalloc",e.length);return this.wasm.writeMemory(0,t.r),this.wasm.writeMemory(32,t.s),this.wasm.writeMemory(64,t.v),this.wasm.writeMemory(n,e),this.wasm.call("ecdsa__recover_public_key_from_signature",n,e.length,0,32,64,65),Zs.from(this.wasm.getMemorySlice(65,129))}verifySignature(e,t,n){const r=this.wasm.call("bbmalloc",e.length);return this.wasm.writeMemory(0,t),this.wasm.writeMemory(64,n.r),this.wasm.writeMemory(96,n.s),this.wasm.writeMemory(128,n.v),this.wasm.writeMemory(r,e),!!this.wasm.call("ecdsa__verify_signature",r,e.length,0,64,96,128)}}var Gs=n(816).Buffer;class Qs{static async new(){return new this(await ks.get())}constructor(e){this.wasm=e}generator(){return Qs.generator}mul(e,t){return this.wasm.writeMemory(0,e),this.wasm.writeMemory(64,t),this.wasm.call("ecc_secp256k1__mul",0,64,96),Gs.from(this.wasm.getMemorySlice(96,160))}getRandomFr(){return this.wasm.call("ecc_secp256k1__get_random_scalar_mod_circuit_modulus",0),Gs.from(this.wasm.getMemorySlice(0,32))}reduce512BufferToFr(e){return this.wasm.writeMemory(0,e),this.wasm.call("ecc_secp256k1__reduce512_buffer_mod_circuit_modulus",0,64),Gs.from(this.wasm.getMemorySlice(64,96))}}Qs.generator=Gs.from([121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,72,58,218,119,38,163,196,101,93,164,251,252,14,17,8,168,253,23,180,72,166,133,84,25,156,71,208,143,251,16,212,184]);var Xs=n(816).Buffer;class Ys{constructor(e){if(this.buffer=e,e.length!==Ys.SIZE)throw new Error(`Invalid signature buffer of length ${e.length}.`)}static isSignature(e){return/^(0x)?[0-9a-f]{128}$/i.test(e)}static fromString(e){if(!Ys.isSignature(e))throw new Error(`Invalid signature string: ${e}`);return new Ys(Xs.from(e.replace(/^0x/i,""),"hex"))}static random(){return new Ys(vn(64))}get s(){return this.buffer.subarray(0,32)}get e(){return this.buffer.subarray(32)}toBuffer(){return this.buffer}static fromBuffer(e){const t=Tn.asReader(e);return new Ys(t.readBytes(Ys.SIZE))}toString(){return`0x${this.buffer.toString("hex")}`}toFields(){const e=this.toBuffer(),t=Xs.alloc(32),n=Xs.alloc(32),r=Xs.alloc(32);return e.copy(t,1,0,31),e.copy(n,1,31,62),e.copy(r,1,62,64),Qn([t,n,r],Nn.fromBuffer)}}Ys.SIZE=64,Ys.EMPTY=new Ys(Xs.alloc(64));var Js=n(816).Buffer;class Vs{static async new(){return new this(await ks.get())}constructor(e){this.wasm=e}computePublicKey(e){return this.wasm.writeMemory(0,e.value),this.wasm.call("schnorr_compute_public_key",0,32),Dn.fromBuffer(Js.from(this.wasm.getMemorySlice(32,96)))}constructSignature(e,t){const n=this.wasm.call("bbmalloc",e.length+4);return this.wasm.writeMemory(0,t.value),this.wasm.writeMemory(n,Js.concat([Zn(e.length),e])),this.wasm.call("schnorr_construct_signature",n,0,32,64),new Ys(Js.from(this.wasm.getMemorySlice(32,96)))}verifySignature(e,t,n){const r=this.wasm.call("bbmalloc",e.length+4);this.wasm.writeMemory(0,t.toBuffer()),this.wasm.writeMemory(64,n.s),this.wasm.writeMemory(96,n.e),this.wasm.writeMemory(r,Js.concat([Zn(e.length),e])),this.wasm.call("schnorr_verify_signature",r,0,64,96,128);const s=this.wasm.getMemorySlice(128,129);return!Js.alloc(1,0).equals(s)}}var qs=n(816).Buffer;class Ks{constructor(e,t,n){this.address=e,this.publicKey=t,this.partialAddress=n}static async create(e,t,n){const r=Jr(await ks.get(),t,n);if(!r.equals(e))throw new Error(`Address cannot be derived from pubkey and partial address (received ${e.toString()}, derived ${r.toString()})`);return new Ks(e,t,n)}static async random(){const e=Nn.random(),t=Dn.random(),n=Jr(await ks.get(),t,e);return new Ks(n,t,e)}static async fromPrivateKeyAndPartialAddress(e,t){const n=await ks.get(),r=new Hs(n).mul(Hs.generator,e),s=Jr(n,r,t);return new Ks(s,r,t)}toReadableString(){return`Address: ${this.address.toString()}, Public Key: ${this.publicKey.toString()}, Partial Address: ${this.partialAddress.toString()}`}equals(e){return this.address.equals(e.address)&&this.publicKey.equals(e.publicKey)&&this.partialAddress.equals(e.partialAddress)}toBuffer(){return qs.concat([this.address.toBuffer(),this.publicKey.toBuffer(),this.partialAddress.toBuffer()])}static fromBuffer(e){const t=Tn.asReader(e);return new this(t.readObject(wr),t.readObject(Dn),t.readObject(Nn))}static fromString(e){return this.fromBuffer(qs.from(e.replace(/^0x/i,""),"hex"))}toString(){return`0x${this.toBuffer().toString("hex")}`}}var $s=n(816).Buffer;class ea{constructor(e){if(this.value=e,32!=e.length)throw new Error(`Invalid private key length. Got ${e.length}, expected 32.`)}toString(){return this.value.toString("hex")}static fromString(e){if(e.startsWith("0x")&&(e=e.slice(2)),64!=e.length)throw new Error(`Invalid private key string length. Got ${e.length}, expected 64.`);return new ea($s.from(e,"hex"))}static random(){return new ea(vn(32))}}function ta(e){return new Promise((t=>setTimeout(t,e)))}class na{constructor(){this.start=(new Date).getTime()}ms(){return(new Date).getTime()-this.start}s(){return((new Date).getTime()-this.start)/1e3}}class ra extends Error{}async function sa(e,t="",n=0,r=1){const s=new na;for(;;){const a=await e();if(a)return a;if(await ta(1e3*r),n&&s.s()>n)throw new Error(t?`Timeout awaiting ${t}`:"Timeout")}}var aa=n(816).Buffer;class ia{constructor(e,t,n){this.functionSelector=e,this.isInternal=t,this.bytecode=n}toBuffer(){const e=aa.concat([Wn(this.bytecode.length),this.bytecode]);return qn(this.functionSelector,this.isInternal,e)}static fromBuffer(e){const t=Tn.asReader(e),n=t.readBytes(4),r=t.readBoolean();return new ia(n,r,t.readBuffer())}static random(){return new ia(vn(4),!1,vn(64))}}class oa{constructor(e,t){if(this.contractData=e,this.publicFunctions=t,!t.length)throw Error("No public functions provided for ContractDataAndBytecode.");this.bytecode=function(e){const t=jn.alloc(4);return t.writeUInt32BE(e.length,0),jn.concat([t,...e])}(t.map((e=>e.toBuffer())))}getPublicFunction(e){return this.publicFunctions.find((t=>t.functionSelector.equals(e)))}toBuffer(){return qn(this.contractData.toBuffer(),this.bytecode)}toString(){return this.toBuffer().toString("hex")}static fromBuffer(e){const t=Tn.asReader(e),n=t.readObject(la),r=t.readVector(ia);return new oa(n,r)}static fromString(e){return oa.fromBuffer(aa.from(e,"hex"))}static random(){return new oa(la.random(),[ia.random(),ia.random()])}}class la{constructor(e,t){this.contractAddress=e,this.portalContractAddress=t}toBuffer(){return qn(this.contractAddress,this.portalContractAddress.toBuffer20())}toString(){return this.toBuffer().toString("hex")}static fromBuffer(e){const t=Tn.asReader(e),n=wr.fromBuffer(t),r=new Lr(t.readBytes(Lr.SIZE_IN_BYTES));return new la(n,r)}static fromString(e){return la.fromBuffer(aa.from(e,"hex"))}static random(){return new la(wr.random(),Lr.random())}}function ca(){return{to:wr.ZERO,functionData:Cr.empty(),args:[]}}function ua(e=1,t=void 0){return new Kn(da(e),da(e+1),da(void 0!==t?t:e+2),da(e+3))}function fa(e=1){return new ur(da(e),e)}function da(e){return new Nn(BigInt(e))}n(816).Buffer,n(816).Buffer;var _a=n(8517),ha=n(816).Buffer;class pa{constructor(e){this.logs=e}toBuffer(){const e=this.logs.map((e=>Gn(e)));return Gn(ha.concat(e))}getSerializedLength(){return this.logs.reduce(((e,t)=>e+t.length+4),0)+4}hash(){const e=this.toBuffer().subarray(4);return xn(e)}static fromBuffer(e,t=!0){const n=new Tn(e,0),r=t?n.readNumber():-1,s=n.readBufferArray(r);return new pa(s)}static random(e){const t=[];for(let n=0;n<e;n++){const e=Dn.random(),n=(0,_a.randomBytes)(144-Dn.SIZE_IN_BYTES);t.push(ha.concat([n,e.toBuffer()]))}return new pa(t)}static empty(){return new pa([])}toJSON(){return{logs:this.logs.map((e=>e.toString("hex")))}}static fromJSON(e){const t=e.logs.map((e=>ha.from(e,"hex")));return new pa(t)}}var ga=n(816).Buffer;class ba{constructor(e){this.functionLogs=e}toBuffer(){const e=this.functionLogs.map((e=>e.toBuffer()));return Gn(ga.concat(e))}getSerializedLength(){return this.functionLogs.reduce(((e,t)=>e+t.getSerializedLength()),0)+4}addFunctionLogs(e){this.functionLogs.push(...e)}static fromBuffer(e,t=!0){const n=Tn.asReader(e),r=t?n.readNumber():-1,s=n.readBufferArray(r).map((e=>pa.fromBuffer(e,!1)));return new ba(s)}static random(e,t){const n=[];for(let r=0;r<e;r++)n.push(pa.random(t));return new ba(n)}toJSON(){return{functionLogs:this.functionLogs.map((e=>e.toJSON()))}}static fromJSON(e){const t=e.functionLogs.map((e=>pa.fromJSON(e)));return new ba(t)}}var ma=n(816).Buffer;class ya{constructor(e){this.txLogs=e}toBuffer(){const e=this.txLogs.map((e=>e.toBuffer()));return Gn(ma.concat(e))}getSerializedLength(){return this.txLogs.reduce(((e,t)=>e+t.getSerializedLength()),0)+4}static fromBuffer(e){const t=Tn.asReader(e),n=t.readNumber(),r=t.readBufferArray(n).map((e=>ba.fromBuffer(e,!1)));return new ya(r)}static random(e,t,n){const r=[];for(let s=0;s<e;s++)r.push(ba.random(t,n));return new ya(r)}static unrollLogs(e){const t=[];for(const n of e)for(const e of n.txLogs)for(const n of e.functionLogs)t.push(...n.logs);return t}toJSON(){return{txLogs:this.txLogs.map((e=>e.toJSON()))}}static fromJSON(e){const t=e.txLogs.map((e=>ba.fromJSON(e)));return new ya(t)}}var va=n(816).Buffer;class wa{constructor(e,t,n,r,s,a,i,o=ur.empty(),l,c,u,f,d,_,h,p,g,b,m,y,v=[],w,E){if(this.number=e,this.globalVariables=t,this.startPrivateDataTreeSnapshot=n,this.startNullifierTreeSnapshot=r,this.startContractTreeSnapshot=s,this.startPublicDataTreeRoot=a,this.startL1ToL2MessageTreeSnapshot=i,this.startHistoricBlocksTreeSnapshot=o,this.endPrivateDataTreeSnapshot=l,this.endNullifierTreeSnapshot=c,this.endContractTreeSnapshot=u,this.endPublicDataTreeRoot=f,this.endL1ToL2MessageTreeSnapshot=d,this.endHistoricBlocksTreeSnapshot=_,this.newCommitments=h,this.newNullifiers=p,this.newPublicDataWrites=g,this.newL2ToL1Msgs=b,this.newContracts=m,this.newContractData=y,this.newL1ToL2Messages=v,h.length%$n!=0)throw new Error("The number of new commitments must be a multiple of 16.");w&&this.attachLogs(w,Ea.ENCRYPTED),E&&this.attachLogs(E,Ea.UNENCRYPTED)}static random(e,t=4,n=2,r=3,s=2,a=1){const i=gr(er*t,Nn.random),o=gr($n*t,Nn.random),l=gr(1*t,Nn.random),c=gr(1*t,la.random),u=gr(8*t,Ra.random),f=gr(16,Nn.random),d=gr(2,Nn.random),_=ya.random(t,n,s),h=ya.random(t,r,a);return wa.fromFields({number:e,globalVariables:ua(0,e),startPrivateDataTreeSnapshot:fa(0),startNullifierTreeSnapshot:fa(0),startContractTreeSnapshot:fa(0),startPublicDataTreeRoot:Nn.random(),startL1ToL2MessageTreeSnapshot:fa(0),startHistoricBlocksTreeSnapshot:fa(0),endPrivateDataTreeSnapshot:fa(o.length),endNullifierTreeSnapshot:fa(i.length),endContractTreeSnapshot:fa(l.length),endPublicDataTreeRoot:Nn.random(),endL1ToL2MessageTreeSnapshot:fa(1),endHistoricBlocksTreeSnapshot:fa(1),newCommitments:o,newNullifiers:i,newContracts:l,newContractData:c,newPublicDataWrites:u,newL1ToL2Messages:f,newL2ToL1Msgs:d,newEncryptedLogs:_,newUnencryptedLogs:h})}static fromFields(e){return new this(e.number,e.globalVariables,e.startPrivateDataTreeSnapshot,e.startNullifierTreeSnapshot,e.startContractTreeSnapshot,e.startPublicDataTreeRoot,e.startL1ToL2MessageTreeSnapshot,e.startHistoricBlocksTreeSnapshot,e.endPrivateDataTreeSnapshot,e.endNullifierTreeSnapshot,e.endContractTreeSnapshot,e.endPublicDataTreeRoot,e.endL1ToL2MessageTreeSnapshot,e.endHistoricBlocksTreeSnapshot,e.newCommitments,e.newNullifiers,e.newPublicDataWrites,e.newL2ToL1Msgs,e.newContracts,e.newContractData,e.newL1ToL2Messages,e.newEncryptedLogs,e.newUnencryptedLogs)}encode(){if(void 0===this.newEncryptedLogs||void 0===this.newUnencryptedLogs)throw new Error("newEncryptedLogs and newUnencryptedLogs must be defined when encoding L2BlockData");return qn(this.globalVariables,this.startPrivateDataTreeSnapshot,this.startNullifierTreeSnapshot,this.startContractTreeSnapshot,this.startPublicDataTreeRoot,this.startL1ToL2MessageTreeSnapshot,this.startHistoricBlocksTreeSnapshot,this.endPrivateDataTreeSnapshot,this.endNullifierTreeSnapshot,this.endContractTreeSnapshot,this.endPublicDataTreeRoot,this.endL1ToL2MessageTreeSnapshot,this.endHistoricBlocksTreeSnapshot,this.newCommitments.length,this.newCommitments,this.newNullifiers.length,this.newNullifiers,this.newPublicDataWrites.length,this.newPublicDataWrites,this.newL2ToL1Msgs.length,this.newL2ToL1Msgs,this.newContracts.length,this.newContracts,this.newContractData,this.newL1ToL2Messages.length,this.newL1ToL2Messages,this.newEncryptedLogs,this.newUnencryptedLogs)}toBuffer(){return this.encode()}static decode(e){const t=Tn.asReader(e),n=t.readObject(Kn),r=Number(n.blockNumber.value),s=t.readObject(ur),a=t.readObject(ur),i=t.readObject(ur),o=t.readObject(Nn),l=t.readObject(ur),c=t.readObject(ur),u=t.readObject(ur),f=t.readObject(ur),d=t.readObject(ur),_=t.readObject(Nn),h=t.readObject(ur),p=t.readObject(ur),g=t.readVector(Nn),b=t.readVector(Nn),m=t.readVector(Ra),y=t.readVector(Nn),v=t.readVector(Nn),w=t.readArray(v.length,la),E=t.readVector(Nn),L=t.readObject(ya),A=t.readObject(ya);return wa.fromFields({number:r,globalVariables:n,startPrivateDataTreeSnapshot:s,startNullifierTreeSnapshot:a,startContractTreeSnapshot:i,startPublicDataTreeRoot:o,startL1ToL2MessageTreeSnapshot:l,startHistoricBlocksTreeSnapshot:c,endPrivateDataTreeSnapshot:u,endNullifierTreeSnapshot:f,endContractTreeSnapshot:d,endPublicDataTreeRoot:_,endL1ToL2MessageTreeSnapshot:h,endHistoricBlocksTreeSnapshot:p,newCommitments:g,newNullifiers:b,newPublicDataWrites:m,newL2ToL1Msgs:y,newContracts:v,newContractData:w,newL1ToL2Messages:E,newEncryptedLogs:L,newUnencryptedLogs:A})}attachLogs(e,t){const n=t===Ea.ENCRYPTED?"newEncryptedLogs":"newUnencryptedLogs";if(this[n]){if(this[n]===e)return void wa.logger(`${n} logs already attached`);throw new Error(`Trying to attach different ${n} logs to block ${this.number}.`)}wa.logger(`Attaching ${n} logs`);const r=this.newCommitments.length/$n;if(r!==e.txLogs.length)throw new Error(`Number of txLogs within ${n} does not match number of transactions. Expected: ${r} Got: ${e.txLogs.length}`);this[n]=e}getPublicInputsHash(){return e=qn(this.globalVariables,this.startPrivateDataTreeSnapshot,this.startNullifierTreeSnapshot,this.startContractTreeSnapshot,this.startPublicDataTreeRoot,this.startL1ToL2MessageTreeSnapshot,this.startHistoricBlocksTreeSnapshot,this.endPrivateDataTreeSnapshot,this.endNullifierTreeSnapshot,this.endContractTreeSnapshot,this.endPublicDataTreeRoot,this.endL1ToL2MessageTreeSnapshot,this.endHistoricBlocksTreeSnapshot,this.getCalldataHash(),this.getL1ToL2MessagesHash()),Nn.fromBuffer(An(Ln(xn(e))%Nn.MODULUS,32));var e}getStartStateHash(){const e=qn(new Nn(this.number-1),this.startPrivateDataTreeSnapshot,this.startNullifierTreeSnapshot,this.startContractTreeSnapshot,this.startPublicDataTreeRoot,this.startL1ToL2MessageTreeSnapshot,this.startHistoricBlocksTreeSnapshot);return xn(e)}getEndStateHash(){const e=qn(this.globalVariables.blockNumber,this.endPrivateDataTreeSnapshot,this.endNullifierTreeSnapshot,this.endContractTreeSnapshot,this.endPublicDataTreeRoot,this.endL1ToL2MessageTreeSnapshot,this.endHistoricBlocksTreeSnapshot);return xn(e)}getCalldataHash(){if(void 0===this.newEncryptedLogs)throw new Error('Encrypted logs has to be attached before calling "getCalldataHash"');if(void 0===this.newUnencryptedLogs)throw new Error('Unencrypted logs has to be attached before calling "getCalldataHash"');const e=this.newCommitments.length/32,t=[];for(let n=0;n<e;n++){const e=32,r=32,s=16,a=4,i=va.concat(this.newCommitments.slice(n*e,(n+1)*e).map((e=>e.toBuffer()))),o=va.concat(this.newNullifiers.slice(n*r,(n+1)*r).map((e=>e.toBuffer()))),l=va.concat(this.newPublicDataWrites.slice(n*s,(n+1)*s).map((e=>e.toBuffer()))),c=va.concat(this.newL2ToL1Msgs.slice(n*a,(n+1)*a).map((e=>e.toBuffer()))),u=wa.computeKernelLogsHash(this.newEncryptedLogs.txLogs[2*n]),f=wa.computeKernelLogsHash(this.newEncryptedLogs.txLogs[2*n+1]),d=wa.computeKernelLogsHash(this.newUnencryptedLogs.txLogs[2*n]),_=wa.computeKernelLogsHash(this.newUnencryptedLogs.txLogs[2*n+1]),h=va.concat([i,o,l,c,this.newContracts[2*n].toBuffer(),this.newContracts[2*n+1].toBuffer(),this.newContractData[2*n].contractAddress.toBuffer(),this.newContractData[2*n].portalContractAddress.toBuffer32(),this.newContractData[2*n+1].contractAddress.toBuffer(),this.newContractData[2*n+1].portalContractAddress.toBuffer32(),u,f,d,_]);t.push(xn(h))}return(e=>{const t=[e];let n=0;for(;t[n].length>1;){const e=[],r=t[n].length;for(let s=0;s<r;s+=2){const r=t[n][s],a=t[n][s+1];e.push(xn(va.concat([r,a])))}t.push(e),n++}return t[t.length-1][0]})(t)}getL1ToL2MessagesHash(){const e=va.concat(this.newL1ToL2Messages.map((e=>e.toBuffer())));return xn(e)}getTx(e){const t=Math.floor(this.newCommitments.length/$n);if(e>=t)throw new Error(`Failed to get tx ${e}. Block ${this.globalVariables.blockNumber} only has ${t} txs.`);const n=this.newCommitments.slice($n*e,$n*(e+1)),r=this.newNullifiers.slice(er*e,er*(e+1)),s=this.newPublicDataWrites.slice(8*e,8*(e+1)),a=this.newL2ToL1Msgs.slice(2*e,2*(e+1)),i=this.newContracts.slice(1*e,1*(e+1)),o=this.newContractData.slice(1*e,1*(e+1));return new Ca(n,r,s,a,i,o)}inspect(e=4){const t=t=>`0x${t.toBuffer().subarray(0,e).toString("hex")}`,n=(e,t)=>"["+e.map(t).join(", ")+"]",r=e=>`(${e.nextAvailableLeafIndex}, ${t(e.root)})`,s=e=>n(e,t),a=e=>n(e,(e=>`(${t(e.leafIndex)}, ${t(e.newValue)})`));return["L2Block",`number: ${this.number}`,"globalVariables: "+(o=this.globalVariables,`(${o.chainId}, ${o.version}, ${o.blockNumber}, ${o.timestamp}))`),`startPrivateDataTreeSnapshot: ${r(this.startPrivateDataTreeSnapshot)}`,`startNullifierTreeSnapshot: ${r(this.startNullifierTreeSnapshot)}`,`startContractTreeSnapshot: ${r(this.startContractTreeSnapshot)}`,`startPublicDataTreeRoot: ${this.startPublicDataTreeRoot.toString()}`,`startL1ToL2MessageTreeSnapshot: ${r(this.startL1ToL2MessageTreeSnapshot)}`,`startHistoricBlocksTreeSnapshot: ${r(this.startHistoricBlocksTreeSnapshot)}`,`endPrivateDataTreeSnapshot: ${r(this.endPrivateDataTreeSnapshot)}`,`endNullifierTreeSnapshot: ${r(this.endNullifierTreeSnapshot)}`,`endContractTreeSnapshot: ${r(this.endContractTreeSnapshot)}`,`endPublicDataTreeRoot: ${this.endPublicDataTreeRoot.toString()}`,`endPublicDataTreeRoot: ${this.endPublicDataTreeRoot.toString()}`,`endL1ToL2MessageTreeSnapshot: ${r(this.endL1ToL2MessageTreeSnapshot)}`,`endHistoricBlocksTreeSnapshot: ${r(this.endHistoricBlocksTreeSnapshot)}`,`newCommitments: ${s(this.newCommitments)}`,`newNullifiers: ${s(this.newNullifiers)}`,`newPublicDataWrite: ${a(this.newPublicDataWrites)}`,`newL2ToL1Msgs: ${s(this.newL2ToL1Msgs)}`,`newContracts: ${s(this.newContracts)}`,`newContractData: ${i=this.newContractData,n(i,(e=>`(${t(e.contractAddress)}, ${t(e.portalContractAddress)})`))}`,`newPublicDataWrite: ${a(this.newPublicDataWrites)}`,`newL1ToL2Messages: ${s(this.newL1ToL2Messages)}`].join("\n");var i,o}static computeKernelLogsHash(e){const t=[va.alloc(32),va.alloc(32)];let n=va.alloc(32);for(const r of e.functionLogs)t[0]=n,t[1]=r.hash(),n=xn(va.concat(t));return n}}wa.logger=fs("aztec:l2_block"),fs("aztec:l2_block_downloader");var Ea,La,Aa=n(816).Buffer;class Sa{constructor(e){this.buffer=e,lr(this,"buffer",Sa.SIZE)}equals(e){return this.buffer.equals(e.buffer)}isZero(){return this.buffer.equals(Aa.alloc(32,0))}toString(){return this.buffer.toString("hex")}toBigInt(){return function(e,t=0,n=32){return{elem:Ln(e.subarray(t,t+n)),adv:n}}(this.buffer,0,Sa.SIZE).elem}static fromBigInt(e){return new Sa(function(e,t=32){return An(e,t)}(e,Sa.SIZE))}static fromBuffer28(e){if(28!=e.length)throw new Error("Expected TxHash input buffer to be 28 bytes");const t=Aa.concat([Aa.alloc(this.SIZE-28),e]);return new Sa(t)}static fromString(e){return new Sa(Aa.from(e,"hex"))}}Sa.SIZE=32,Sa.ZERO=new Sa(Aa.alloc(Sa.SIZE));class Ca{constructor(e,t,n,r,s,a){this.newCommitments=e,this.newNullifiers=t,this.newPublicDataWrites=n,this.newL2ToL1Msgs=r,this.newContracts=s,this.newContractData=a,this.txHash=new Sa(this.newNullifiers[0].toBuffer())}}!function(e){e[e.ENCRYPTED=0]="ENCRYPTED",e[e.UNENCRYPTED=1]="UNENCRYPTED"}(Ea||(Ea={})),n(1240),n(816).Buffer,function(e){e[e.CONTRACT_TREE=0]="CONTRACT_TREE",e[e.NULLIFIER_TREE=1]="NULLIFIER_TREE",e[e.PRIVATE_DATA_TREE=2]="PRIVATE_DATA_TREE",e[e.PUBLIC_DATA_TREE=3]="PUBLIC_DATA_TREE",e[e.L1_TO_L2_MESSAGES_TREE=4]="L1_TO_L2_MESSAGES_TREE",e[e.BLOCKS_TREE=5]="BLOCKS_TREE"}(La||(La={}));var Ta=n(816).Buffer;class Pa{constructor(e,t,n,r,s,a){if(this.data=e,this.proof=t,this.encryptedLogs=n,this.unencryptedLogs=r,this.newContractPublicFunctions=s,this.enqueuedPublicFunctionCalls=a,this.unencryptedLogs.functionLogs.length<this.encryptedLogs.functionLogs.length)throw new Error(`Number of function logs in unencrypted logs (${this.unencryptedLogs.functionLogs.length}) has to be equal\n or larger than number function logs in encrypted logs (${this.encryptedLogs.functionLogs.length})`);const i=e?.end.publicCallStack&&(o=e.end.publicCallStack,l=e=>e.isZero(),o.reduce(((e,t)=>l(t)?e:e+1),0));var o,l;if(i&&i>(a?.length??0))throw new Error(`Missing preimages for enqueued public function calls in kernel circuit public inputs (expected\n ${i}, got ${a?.length})`)}static fromBuffer(e){const t=Tn.asReader(e);return new Pa(t.readObject(Hr),t.readObject(Fr),t.readObject(ba),t.readObject(ba),t.readArray(t.readNumber(),ia),t.readArray(8,rs))}toBuffer(){return qn([this.data,this.proof,this.encryptedLogs,this.unencryptedLogs,Zn(this.newContractPublicFunctions.length),this.newContractPublicFunctions,this.enqueuedPublicFunctionCalls])}toJSON(){return{data:this.data.toBuffer().toString("hex"),encryptedLogs:this.encryptedLogs.toBuffer().toString("hex"),unencryptedLogs:this.unencryptedLogs.toBuffer().toString("hex"),proof:this.proof.toBuffer().toString("hex"),newContractPublicFunctions:this.newContractPublicFunctions.map((e=>e.toBuffer().toString("hex")))??[],enqueuedPublicFunctions:this.enqueuedPublicFunctionCalls.map((e=>e.toBuffer().toString("hex")))??[]}}static fromJSON(e){const t=Hr.fromBuffer(Ta.from(e.data,"hex")),n=ba.fromBuffer(Ta.from(e.encryptedLogs,"hex")),r=ba.fromBuffer(Ta.from(e.unencryptedLogs,"hex")),s=Ta.from(e.proof,"hex"),a=e.newContractPublicFunctions?e.newContractPublicFunctions.map((e=>ia.fromBuffer(Ta.from(e,"hex")))):[],i=e.enqueuedPublicFunctions?e.enqueuedPublicFunctions.map((e=>rs.fromBuffer(Ta.from(e,"hex")))):[];return new Pa(t,Fr.fromBuffer(s),n,r,a,i)}getTxHash(){const e=this.data?.end.newNullifiers[0];if(!e)throw new Error("Cannot get tx hash since first nullifier is missing");return Promise.resolve(new Sa(e.toBuffer()))}static async getHashes(e){return await Promise.all(e.map((e=>e.getTxHash())))}static clone(e){const t=Hr.fromBuffer(e.data.toBuffer()),n=Fr.fromBuffer(e.proof.toBuffer()),r=ba.fromBuffer(e.encryptedLogs.toBuffer()),s=ba.fromBuffer(e.unencryptedLogs.toBuffer()),a=e.newContractPublicFunctions.map((e=>ia.fromBuffer(e.toBuffer()))),i=e.enqueuedPublicFunctionCalls.map((e=>rs.fromBuffer(e.toBuffer())));return new Pa(t,n,r,s,a,i)}}class Na{constructor(e,t,n){this.tx=e,this.partialAddress=t,this.contractAddress=n}toJSON(){return{tx:this.tx.toJSON(),partialAddress:this.partialAddress.toBuffer().toString(),contractAddress:this.contractAddress.toBuffer().toString()}}static fromJSON(e){return new Na(Pa.fromJSON(e.tx),Nn.fromBuffer(Ta.from(e.partialAddress,"hex")),wr.fromBuffer(Ta.from(e.contractAddress,"hex")))}}var Ia,ka=n(816).Buffer;!function(e){e.DROPPED="dropped",e.MINED="mined",e.PENDING="pending"}(Ia||(Ia={}));class xa{constructor(e,t,n,r,s,a,i){this.txHash=e,this.status=t,this.error=n,this.blockHash=r,this.blockNumber=s,this.origin=a,this.contractAddress=i}toJSON(){return{txHash:this.txHash.toString(),status:this.status.toString(),error:this.error,blockHash:this.blockHash?.toString("hex"),blockNumber:this.blockNumber,origin:this.origin?.toString(),contractAddress:this.contractAddress?.toString()}}static fromJSON(e){const t=Sa.fromString(e.txHash),n=e.status,r=e.error,s=e.blockHash?ka.from(e.blockHash,"hex"):void 0,a=e.blockNumber?Number(e.blockNumber):void 0,i=e.origin?wr.fromString(e.origin):void 0,o=e.contractAddress?wr.fromString(e.contractAddress):void 0;return new xa(t,n,r,s,a,i,o)}}n(816).Buffer;class Ra{constructor(e,t){this.leafIndex=e,this.newValue=t}static from(e){return new Ra(e.leafIndex,e.newValue)}toBuffer(){return qn(this.leafIndex,this.newValue)}isEmpty(){return this.leafIndex.isZero()&&this.newValue.isZero()}static fromBuffer(e){const t=Tn.asReader(e);return new Ra(t.readFr(),t.readFr())}static empty(){return new Ra(Nn.ZERO,Nn.ZERO)}static random(){return new Ra(Nn.random(),Nn.random())}}class Ba{constructor(e,t){this.args=e,this.hash=t}static getFields(e){return[e.args,e.hash]}static from(e){return new Ba(...Ba.getFields(e))}static async fromArgs(e,t){return new Ba(e,await Kr(t??await ks.get(),e))}toBuffer(){return qn(new br(this.args),this.hash)}static fromBuffer(e){const t=Tn.asReader(e);return new Ba(t.readVector(Nn),t.readFr())}}var Oa=n(816).Buffer;class Da{constructor(e,t,n,r,s){this.origin=e,this.functionData=t,this.argsHash=n,this.txContext=r,this.packedArguments=s}toTxRequest(){return new es(this.origin,this.functionData,this.argsHash,this.txContext)}static getFields(e){return[e.origin,e.functionData,e.argsHash,e.txContext,e.packedArguments]}static from(e){return new Da(...Da.getFields(e))}toBuffer(){return qn(this.origin,this.functionData,this.argsHash,this.txContext,new br(this.packedArguments))}toString(){return this.toBuffer().toString("hex")}static fromBuffer(e){const t=Tn.asReader(e);return new Da(t.readObject(wr),t.readObject(Cr),t.readFr(),t.readObject(Br),t.readVector(Ba))}static fromString(e){return Da.fromBuffer(Oa.from(e,"hex"))}}n(816).Buffer;var Fa=n(9467),Ha=n.n(Fa);class Ma{constructor(e,t){this.arc=e,this.txHashPromise=t}async getTxHash(){return await this.txHashPromise}async getReceipt(){const e=await this.getTxHash();return await this.arc.getTxReceipt(e)}async wait(e){const t=await this.waitForReceipt(e);if(t.status!==Ia.MINED)throw new Error(`Transaction ${await this.getTxHash()} was ${t.status}`);return t}async isMined(e){return(await this.waitForReceipt(e)).status===Ia.MINED}async waitForReceipt(e){const t=await this.getTxHash();return await sa((async()=>{const n=await this.arc.getTxReceipt(t);if(n.status===Ia.PENDING)return;if(n.status===Ia.DROPPED)return n;if(!(e?.waitForNotesSync??true))return n;const{blocks:r,notes:s}=await this.arc.getSyncStatus(),a=n.blockNumber;return r>=a&&Ha()(s,(e=>e>=a))?n:void 0}),"isMined",e?.timeout??60,e?.interval??1)}}class za{constructor(e){this.rpc=e}async simulate(e={}){const t=this.txRequest??await this.create(e);return this.tx=await this.rpc.simulateTx(t),this.tx}send(e={}){const t=(async()=>{const t=this.tx??await this.simulate(e);return this.rpc.sendTx(t)})();return new Ma(this.rpc,t)}}class Ua extends za{constructor(e,t,n,r){if(super(e),this.wallet=e,this.contractAddress=t,this.functionDao=n,this.args=r,r.some((e=>null==e)))throw new Error("All function interaction arguments must be defined and not null. Received: "+r)}async create(e={}){if(this.functionDao.functionType===fn.UNCONSTRAINED)throw new Error("Can't call `create` on an unconstrained function.");return this.txRequest||(this.txRequest=await this.wallet.createTxExecutionRequest([this.request()],e)),this.txRequest}request(){return{args:Un(this.functionDao,this.args),functionData:Cr.fromAbi(this.functionDao),to:this.contractAddress}}view(e={}){if(this.functionDao.functionType!==fn.UNCONSTRAINED)throw new Error("Can only call `view` on an unconstrained function.");const{from:t}=e;return this.wallet.viewTx(this.functionDao.name,this.args,this.contractAddress,t)}}class ja{constructor(e,t,n){this.address=e,this.abi=t,this.wallet=n,this.methods={},t.functions.forEach((e=>{this.methods[e.name]=Object.assign(((...t)=>new Ua(this.wallet,this.address,e,t)),{get selector(){return Bn(e.name,e.parameters)}})}))}attach(e,t=[]){const n={abi:this.abi,address:this.address,portalContract:e};return this.wallet.addContracts([n,...t])}}class Za extends ja{static async at(e,t,n){if(!await ci(n,e))throw new Error("Contract "+e.toString()+" is not deployed");return new Za(e,t,n)}}class Wa extends za{constructor(e,t){super(e),this.wallet=e,this.calls=t}async create(e){return this.txRequest||(this.txRequest=await this.wallet.createTxExecutionRequest(this.calls,e)),this.txRequest}}class Ga extends Ma{constructor(e,t,n){super(t,n),this.abi=e}async deployed(e){return(await this.wait(e)).contract}async wait(e){const t=await super.wait(e),n=await this.getContractInstance(e?.wallet,t.contractAddress);return{...t,contract:n}}getContractInstance(e,t){const n=e??(!!this.arc.createTxExecutionRequest&&this.arc);if(!n)throw new Error("A wallet is required for creating a contract instance");if(!t)throw new Error("Contract address is missing from transaction receipt");return Za.at(t,this.abi,n)}}class Qa extends za{constructor(e,t,n,r=[]){super(t),this.publicKey=e,this.arc=t,this.abi=n,this.args=r,this.partialAddress=void 0,this.completeContractAddress=void 0;const s=n.functions.find((e=>"constructor"===e.name));if(!s)throw new Error("Cannot find constructor in the ABI.");this.constructorAbi=s}async create(e={}){const t=e.portalContract??Lr.ZERO,n=e.contractAddressSalt??Nn.random(),{chainId:r,version:s}=await this.rpc.getNodeInfo(),{completeAddress:a,constructorHash:i,functionTreeRoot:o}=await Ds(this.abi,this.args,n,this.publicKey),l=new Rr(this.publicKey,i,o,n,t),c=new Br(!1,!1,!0,l,new Nn(r),new Nn(s)),u={args:Un(this.constructorAbi,this.args),functionData:Cr.fromAbi(this.constructorAbi),to:a.address},f=await Ba.fromArgs(u.args),d=Da.from({origin:u.to,functionData:u.functionData,argsHash:f.hash,txContext:c,packedArguments:[f]});return this.txRequest=d,this.partialAddress=a.partialAddress,this.completeContractAddress=a.address,await this.rpc.addContracts([{abi:this.abi,address:a.address,portalContract:t}]),this.txRequest}send(e={}){const t=super.send(e).getTxHash();return new Ga(this.abi,this.arc,t)}simulate(e){return super.simulate(e)}}class Xa{constructor(e,t,n){this.abi=e,this.arc=t,this.publicKey=n}deploy(...e){return new Qa(this.publicKey??Dn.ZERO,this.arc,this.abi,e)}}async function Ya(e){return function(e,t){e.call("pedersen__init");const n=Qr(e,"abis__compute_message_secret_hash",t,32);return Nn.fromBuffer(n)}(await ks.get(),e)}var Ja=n(107),Va=n.n(Ja);const qa=JSON.parse('{"name":"SchnorrSingleKeyAccount","functions":[{"name":"constructor","functionType":"secret","isInternal":false,"parameters":[],"returnTypes":[],"bytecode":"H4sIAAAAAAAA/9Xc12/aUBzFcUKTdO/svfewsQ02XWm6994roYHu3f7/5SggRXnN4eF7JQv8Yp2PAPuO3+VfLper5LZbW/3I14/2xvvmeceu887G+52teb7WeI2CYhxXS4VqGIWbQSGrpEkQJ5ViGqZhkiZbhTSKqmmclrJKVgqyMI6qYS3Jolqw3Xp2XCvYY2tlzl5Izj5Izn5IzgFIzkFIziFIzmFIzhFIzlFIzjFIznFIzglIzklIzilIzmlIzhlIzllIzjlIznlIzgVIzkVIziVIzmVIzhVIzlVIzgCSM4TkLEByRpCcMSRnAslZhOQsQXKmkJwZJGe5RTnzu3IGe2thm9F8BmLOG81nIeZ9RvM5iLndaD4PMXcYzRcg5k6jeQ1i7jGaL0LMvUbzOsTcZzRfgpj7jebLEPOA0XwFYh40mq9CzENG8zWIedhovg4xjxjNNyDmUaP5JsQ8ZjTfgpjHjebbEPOE0XwHYp40mu9CzFNG8z2Iedpovg8xzxjNDyDmWaP5IcQ8ZzQ/gpjnjebHEPOC0fwEYl40mp9CzEtG8zOIedlofg4xrxjNLyDmVaP5JcQcGM2vIObQaH4NMReM5jcQc2Q0v4WYY6P5HcScGM0bEHPRaN6EmEtGcwViTo3m9xBzZjRvQcxlo7kKMe83mmsQ8wGj+QPEfNBo/ggxHzKaP0HMh43mzxDzEaP5C8R81Gj+CjEfM5q/QczHjebvEPMJo/kHxHzSaP4JMZ8ymn9BzKeN5t8Qc5fR/Adi7jaa/7bA3N14bf5fn/ZGaa+Q9s5oL4nGhRonadygfrT6lepnqd+h57CeS7pP676l37G+112N65Yb19ZeOO0N014p7R1q7qXRXov1+qFafNWmq1Zbtcuq5VVtq2o9VfuoWkDVxqlWTLVTqiVSbY1qTVR7oVoErc1rrVprt1rL1Nqe1rq09qO1EK0NaK5cc8eaS92oH5pr09yT5mI0N6GxusauGstpbKO+vvq+6guqb6S+gp6depbo3qp7jX57+i7qs/kPVgMtpSBRAAA=","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"entrypoint","functionType":"secret","isInternal":false,"parameters":[{"name":"payload","type":{"kind":"struct","name":"EntrypointPayload","fields":[{"name":"flattened_args_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_selectors","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_targets","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"nonce","type":{"kind":"field"}}]},"visibility":"public"},{"name":"owner","type":{"kind":"array","length":64,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"},{"name":"signature","type":{"kind":"array","length":64,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"},{"name":"partial_address","type":{"kind":"field"},"visibility":"public"}],"returnTypes":[],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"}],"debug":{"debugSymbols":["eJyrVsrJT04syczPK1ayqq6tBQAz9wY7","eJztncuO3DgSRf+l1l7oQUqkf2UwC2OmB2ig4R6MvWv43ye7yqlMlyhelDJ4RCm1s4GkeBjFuEFKjOBfL3/8+a8v33//8+u3l89/vbSuefn8j79evv33y9e////t+5f/fX/53I5t++nlt6///vufffjx6eU/v//x28vn5sen+W/7fvTXH/fOj9Ov+/bHPz9dumjLd9GV76Iv34Ur34Uv38VQvouxfBehfBexeBe+vHf78t7ty3u3L+/dvrx3+/Le7ct7ty/v3d7A9Xwfpi6Grn/fxWDgeqoLA9dTXRi4nurCwPVUFwaup7owcD3VhYHrqS4MXE91YRBYVRflvXtM+kXXdPFnq665U51UF70bf/70olXTL9vw9vikT9g9PukPdo9P+oLd45N+YPf4pA/YPT45/+0en5z7Zo8Pyahm9/hkRLN7fFmvDWW9NpT12lDWa0NZrw1lvTaU9dpQ1mtjWa+NZb02lvXaWNZrY1mvjWW9Npb12ljWa2NZr41FvbZrinpt1xT12stzyj6+qNd2TVGvvTQu+/iiXts1Rb22a4p6bdeU9dq2rNe2Zb22Leu1bVmvbct6bVvWa9uyXtuW9dq2rNe2Zb22K+u1XVmv7cp6bVfWa7uyXtuV9dqurNd2Zb22K+u1XVmv7ct6bV/Wa/uyXtuX9dq+rNf2Zb22T3utD8318YNr7x7/2ibtivk2af/Kt0k7TbZN+hiPaJOe3vk26Tmbb5OeiPk26dmVb5OeMvk2K+ZB+vSJaLNiHqTPh+TbpA98iDYr5kH6SIZos2IepA9NiDYr5kH6WINos2Ie+BXzIH1YId8mffpAtFkxD9LnA0SbFfMg/QVftFkxD9Lf2EWbFfMg/RVctFkxD8YV82BcMQ8Wvofn26yYBwtfrvNtVsyDhW/M+TYr5sHC1+B8mxXzYOG7bb7Ninmw8IU132bFPFj4Fppvs2IeLHy1zLdZMQ8Wvi/m26yYBwtfAvNtVsyDhW92+TYr5sHC17V8mxXzYOE7WL7Ninmw8Elp8NO2ZxjDr236he9E43A97nSZ+fF9m/TfNN8m/fcJt/HEu4NSP9uk/z75Num/T75N+u+Tb5P+++TbpP003uwWo79rk9iWNoO77kub0E2/HcNbB+kJYNfBwvcJww7SU+sjHVy2jNcO+t7ddzD/8Tj016O+4zg004/77o0mLUTFaOJw/fEYxzijSbvQVjRp59yKJu32W9GkBaUUTWjaq+qEphtmNGmp2ormcRG0pHlcMQ1pFj4klaOZHhyacZzRsFqsaFgtVjSsFisaVouDa68xPLh+FjUXvpltRQNrsaCBtVjQwFrsxkn9XJirH6zFeZqFz4Nb0cBaLGhgLfb99cfB+9ksXvhWuRUNrMWCBtZiQcNqcduEaXt3+bfvZjysGmseVo81D6vIkmfhQ3VBnjBl/TWxa2c8rCprHlaXNQ+rzJqH1WbNw6qz5sH1WfDg+ix4cH0WPLg+53kWDpBsx0Prc3TNjSfO1s0LB1+246H1WfHQ+qx4aH1WPLQ+Kx5anxUPrc+Kh9ZnwbNwsGs7nsr0eeFAWjGetmmHK0/b+DkPrM+SB9ZnyQPrs+SB9VnywPoseWB9ljywPiuehQOX2/HA+ix5KtPnhUOoBXnGG88lgs14cH0WPLg+Cx5cnwUPrs+CB9dnwYPrc55n4SD0djy0Pvtuej/f+jB737JwgHs7HlqfFQ+tz4qH1mfFQ+uz4qH1WfHQ+qx4aH0emmn/3g7evedZSFDYjofWZ8VD67PiofVZ8dD6rHhofVY8tD4rHlqfh7GfeMbez3hofVY8uD5nedxCstF2PLg+Cx5cnwUPrs+CB9dnwUPr8+jdxBNcmPHQ+qx4aH1WPLQ+Kx5anwWPQXqfLQ+tz4qH1mfFQ+uz4qH1WfFUps9wXuCFYRgnnujen6d1cGag5qH1WfHQ+ix44PxAzUPrs+Kh9Vnx0PqseGh9Vjy0PiueyvQZzrO6MIRb/Irxl/ctiWeP1x/7uxqJQ/uG/vjUz1aKcAZ5VqKDxyen6ICdbflaFw7OhcpXUHBwJpSiYdcBggbOglI0dJWAXAUFB2dAKRq6SkCeho3+igbOTM1WUHBw5pOioSu25Gnoii15GrpKQK6CgoMznhQNXSUgTwNrsaCBtThbQcHBmU6Khq7YkqehK7bkaWAtzlZQcHCGk6KBtThPA2c3KRq8NkC2doKjc5skD14bQPDA78YkT121ARyd2yR56qoN4OjcJslTV20AR+c2SZ66arc4OrdJ8tRVu8XRuU2SpzJ9pnObRC61o3ObJE9dtQEcndukeOjcJslTV20AR+c2SZ66arc4OrdJ8tRVu8XRuU2Sp67aAA7PbVI8ddUGcHhuk+KpqzaAw3ObFE9dtVscntukeOqq3eLw3CbFU5k+47lN+dx3h+c25Xk8ntukeHB9Fjy4Pgueumq3+AbXZ8FTV+0Wj+c25XPfPZ7bpHjqqg3g8dwmwYPnNimeumq3eDy3SfHUVbvF47lN+dx3j+c2KZ66agN4PLdJ8eC1AQRPXbVbPJ7bpHjqqt3i8dymfO67x3ObFA+uz4IH12fBg+uz4KmrdouH70LTPHXVbvHwfWgql9rDN6JpnrpqA3j4VjTNQ+uz4qmrNoCn70aTPHXVbvH03WiSp67aLZ6+G03y1FUbwNN3o0meumoDePpuNMlTV20AT9+NJnnqqt3i6bvRJE9dtVs8fTea5KlMn+m7pNrob+977x+drHXhmiu8uzt66/0bOj31DdFpL7FDpy+zskSnfW8tej/O0PGSNHbo9IrLEJ1enBmi0+s4Q3R6yWeIvpdomkDfSzRNoO8lms7R8avHDNH3G03xC80M0fcbTfFr0gzR9xtN8cvXDNH3G03xK90M0fcbTfGL4gzR9xtN8evnDNH3G03xS+TM0AeDnA0Xrqe2ehfDPfprB487k+jg8SkvOnh8Yg4+XjsYXRR/3S5Mc6Ht4vjLX/eV5/G124d4+nacXlv3bexnPI/Pfluex1dZtjyPL51seR5fD32Mp+umz+QXnWtmPI8vckx5DNIkbHkeV1BbnscF94M8o7/xxPdpCYNBmoQtD63PiofWZ8VD6/PQ3fRwcDM9NEiTsOWh9Vnx0PoseAzSJD7IE/obT3yfljkYpEnY8tD6rHhofVY8tD6Pbkrr7cdhPp9pfVY8tD4rHlqfFQ+sz26I03rMjXcvB648sD4rHoM0CVseWJ8lD6zPkgfWZ8kD67PkgfVZ8sD6LHlgfZY8lemzQZrEx3hGP61/XJiVERkM0iRseWh9Vjy0PiseWp8VD63PiofWZ8VD67PiofVZ8dD6rHgq02eDNImP8YR+vPHMrpsaDNIkbHlofVY8tD4rHlqfFQ+tz4qH1mfFQ+uz4qH1WfHQ+ix4DLJubHlgffZdnOKX790sfhnkx9jywPoseWB9ljywPkseWJ8lD6zPkgfWZ8kD67PvhzDxuO59Gu1gkMdhy0Prs+Kh9Vnx0PqseGh9Vjy0PiseWp8VD63PzrUTj29m3wcN8g1seWh9FjwGmQG2PLQ+Kx5anxUPrc+Kh9ZnxUPrs++6iWdo319TMRhcs2TLQ+uz4qH1WfHQ+ix4DK5ZsuWh9Vnx0PqseGh9Vjy0PiueyvTZ4Jqlj/EMt2u2/djOzvMbXLNky0Prs+Kh9TnPMxqk7Nny0PqseGh9Vjy0PiseWp8VD63PiqcufR7p/Dg/+tt+Zxx+yd+Z/3wYro8e7lINh9RP22Zw05es5v7nfZv4eWz763vn2N0fq2tfzUKn6e3FLLQa78QstAjvxCx0LNiJWeiQtBOz0DuFnZiF3rDsxCznuiVlFjpddC9moXdtOzHLuW5JmuUM0Emz0FvXnZjlXLckzXIG6JRZ6PzlvZjlXLckzXIG6KRZzhcLSbOc65akWc4AnTTL+WIhaZZz3ZIyC51HX9AsY5gqKjShjXmzhFu9sDC2YWaW47xYMDXLcQK0qVmOE6BNzXKcAG1qluMEaEuz0BUM9mKWM0AnzXKcHbSpWc4AnTTLcV5xm5rlDNBJsxxnq2hpFrqExV7Mcm4Vk2Y5A3TSLIfZKrb9rYJl6+6gryM9TMyVIz1MGJUjPczWVY70MGsANVK88sl2Iz3MVlqO9DBrEjnSwywz5EgPs7WXI32aNRJeFWe7kT7NGgmv5LPdSJ9mjYRXH9pupE+zRsIrJm030qdZI+FVnrYb6dOskfDKVNuN9GnWSHg1re1G+jRrJLwC2HYjfZo1El61bLuRPs0ayaBylwvNdaQuhvuRvnbwuLiLDh7X1GwHgS6W1QU3FUvv4ujvJ8MrD31ZcDveLlNu70+Y/+ShLwtWPPRlwYoH3oZIHvwy926SoL5z74tTBbpYluShLwtWPPRl7oqHvsy9G/2NJ7bveegqXpKH1mfFQ+uz4sEvc+9ueji4mR7SBawkD63PiofWZ8VD6/MQ+htPjDMeWp8VD63Pgqej9Vnx0Po8umHiGYfZfKbLFkkeWp8VD63Piqeuy9wDXbFH8tR1mXvo6rrMPdA1cxQPXaxG8tCXBSse+rJgxUNfFqx4YH2WPJXpc1/XZe6BrpQieeq6zD3QtUEUj6P1WfHQ+qx4aH1WPLQ+Kx5anxUPrc+KpzJ9pgtliMvBA12hQvLUdZl7oEtVSB5anxUPrc+Kh9ZnxUPrs+Kh9Vnx0PqseCrTZ1/XZe4BL5ggePBKBYqHPjCmeOhjXYqHPnyleGB9ljz0YW/FU9dl7gFPwFc8tD4rHlqfBQ+ecq54aH1WPLQ+Kx5anxUPrc/5y9wDnrCseGh9Vjy0PiseWp8VD63PggdPd1U8tD4rnroucw94gqfiofVZ8dR1mXvAUxoVD63PiofWZ8VD67PgwVPtFA+tz4qnMn3Gk8vyl4OHSOuz4qnrMvcQ67rMPRik7Nny0PqseGh9zvNEOn9Q8tD6rHhofVY8delzpPPj9nFXUaTT9PZilsMU0zA1C50kuBezHKZ4ha1ZDlPpwtYs9E5hJ2Y5TPUtW7Oc65akWc4AnTTLYUpjmZqFTp7di1nOAJ00y2HqVtma5Vy3JM1yBuikWc4XC0mznOuWlFno7Om9mOV8sZA0y7luSZrlDNBJs5wvFpJmOdctSbMcJ0Ab3rEY6XT+nZiFzuLfi1mOE6BNzXKcAG1qluMEaFOzHGcHbWqWM0CnzELXT9iLWc4AnTTLcV5xm5rlDNBJsxxnq2hqljNAJ81ybhVTZsELaOzELIfZKopLgiJekWO7kR4mjMqRHmbrKkd6mDWAHOlhwroc6WG20nKkh1mTqJHidWC2G+lhtvZypE+zRsKr4mw30qdZI+GVfLYb6dOskfDqQ9uN9GnWSHjFpM1Gitdi2m6kT7NGwutHbTfSp1kj4TWvthvp06yR8Dpd2430adZIeG2x7Ub6NGskvB7adiPF42nX3420y4/UNdevZ667GcX7N3Q8QNqh4xHPDh0PYXboeExaid6PM3Q8yNih41HDCr1t8Lprluz47teQHd/PGrLvJaKm2PcSUlPse4mpKfa9BNUU+26j6oV9t2H1wr7juMqX0jNk33Fc5YvSGbLvOK7yVe8M2XccV/n6cYbsO46rfIE6Q/Ydx9Vup7Hpx4//A4FdxzI="],"fileMap":{"0":{"source":"// Account contract that uses Schnorr signatures for authentication. The signing key is the same as the\\n// encryption key, and as such is not stored in the contract but part of the address preimage, so it can\\n// be verified by passing in the partial address.\\ncontract SchnorrSingleKeyAccount {\\n use dep::std;\\n use dep::aztec::entrypoint;\\n use dep::aztec::entrypoint::EntrypointPayload;\\n use dep::aztec::abi;\\n use dep::aztec::abi::PrivateContextInputs;\\n use dep::aztec::abi::CallContext;\\n use dep::aztec::private_call_stack_item::PrivateCallStackItem;\\n use dep::aztec::public_call_stack_item::PublicCallStackItem;\\n use dep::aztec::context::PrivateContext;\\n use dep::aztec::types::vec::BoundedVec;\\n use dep::aztec::types::point::Point;\\n use dep::aztec::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\\n use dep::aztec::constants_gen::GENERATOR_INDEX__SIGNATURE_PAYLOAD;\\n\\n fn entrypoint(\\n inputs: pub PrivateContextInputs,\\n payload: pub EntrypointPayload, // contains a set of arguments, selectors, targets and a nonce\\n owner: pub [u8;64], // pubkey x and y coordinates concatenated\\n signature: pub [u8;64], // schnorr signature of the payload hash\\n partial_address: pub Field,\\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\\n // Initialize context\\n // ENTRYPOINT_PAYLOAD_SIZE(13) + 64 + 64 + 1\\n let mut args: BoundedVec<Field, 142> = BoundedVec::new(0);\\n args.push_array(payload.serialize());\\n for byte in owner { args.push(byte as Field); }\\n for byte in signature { args.push(byte as Field); }\\n args.push(partial_address);\\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\\n\\n // Verify payload signature\\n let payload_fields: [Field; entrypoint::ENTRYPOINT_PAYLOAD_SIZE] = payload.serialize();\\n let message_field: Field = std::hash::pedersen_with_separator(payload_fields, GENERATOR_INDEX__SIGNATURE_PAYLOAD)[0];\\n let message_bytes = message_field.to_be_bytes(32);\\n\\n // Convert owner pubkey into fields\\n let mut x: Field = 0;\\n let mut y: Field = 0;\\n let mut mul: Field = 1;\\n for i in 0..32 {\\n let bytex: Field = owner[31 - i] as Field;\\n x = x + (bytex * mul);\\n let bytey: Field = owner[63 - i] as Field;\\n y = y + (bytey * mul);\\n mul *= 256;\\n }\\n \\n // Verify signature of the payload hash\\n // TODO: Find out why this signature verification never fails\\n let verification = std::schnorr::verify_signature(x, y, signature, message_bytes);\\n assert(verification == true);\\n\\n // Verify public key against address\\n let reproduced_address = dep::std::hash::pedersen_with_separator([x, y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\\n assert(reproduced_address == context.this_address());\\n\\n // Execute calls\\n payload.execute_calls(&mut context);\\n\\n context.finish()\\n }\\n\\n // Constructs the contract\\n fn constructor(\\n inputs: pub PrivateContextInputs,\\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\\n // Return private circuit public inputs. All private functions need to return this as it is part of the input of the private kernel.\\n PrivateContext::new(inputs, 0).finish()\\n }\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/schnorr_single_key_account_contract/src/main"},"18":{"source":"\\nimpl Field {\\n #[builtin(to_le_bits)]\\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\\n #[builtin(to_be_bits)]\\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\\n\\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\\n x.to_le_radix(256, byte_size)\\n }\\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\\n x.to_be_radix(256, byte_size)\\n }\\n\\n #[builtin(to_le_radix)]\\n //decompose _x into a _result_len vector over the _radix basis\\n //_radix must be less than 256\\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\\n #[builtin(to_be_radix)]\\n fn to_be_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\\n\\n // Returns self to the power of the given exponent value.\\n // Caution: we assume the exponent fits into 32 bits\\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\\n fn pow_32(self, exponent: Field) -> Field {\\n let mut r: Field = 1;\\n let b = exponent.to_le_bits(32);\\n\\n for i in 1..33 {\\n r *= r;\\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\\n }\\n r\\n }\\n\\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\\n fn sgn0(self) -> u1 {\\n self as u1\\n }\\n}\\n\\n#[builtin(modulus_num_bits)]\\nfn modulus_num_bits() -> Field {}\\n\\n#[builtin(modulus_be_bits)]\\nfn modulus_be_bits() -> [u1] {}\\n\\n#[builtin(modulus_le_bits)]\\nfn modulus_le_bits() -> [u1] {}\\n\\n#[builtin(modulus_be_bytes)]\\nfn modulus_be_bytes() -> [u8] {}\\n\\n#[builtin(modulus_le_bytes)]\\nfn modulus_le_bytes() -> [u8] {}\\n","path":"std/field"},"31":{"source":"use crate::constants_gen::{\\n RETURN_VALUES_LENGTH,\\n MAX_READ_REQUESTS_PER_CALL,\\n MAX_NEW_COMMITMENTS_PER_CALL,\\n MAX_NEW_NULLIFIERS_PER_CALL,\\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\\n NUM_FIELDS_PER_SHA256,\\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\\n MAX_PUBLIC_DATA_READS_PER_CALL,\\n GENERATOR_INDEX__FUNCTION_ARGS,\\n HISTORIC_BLOCK_DATA_LENGTH,\\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\\n CALL_CONTEXT_LENGTH,\\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\\n CONTRACT_STORAGE_READ_LENGTH,\\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\\n GENERATOR_INDEX__FUNCTION_DATA,\\n GENERATOR_INDEX__PUBLIC_DATA_READ,\\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\\n GENERATOR_INDEX__CALL_CONTEXT,\\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\\n};\\n\\nuse crate::oracle::debug_log;\\nuse crate::types::vec::BoundedVec;\\nuse crate::types::point::Point;\\n\\nstruct PrivateGlobalVariables {\\n chain_id: Field,\\n version: Field,\\n}\\n\\nimpl PrivateGlobalVariables {\\n fn serialize(self) -> [Field; 2] {\\n [self.chain_id, self.version]\\n }\\n}\\n\\nstruct PublicGlobalVariables {\\n chain_id: Field,\\n version: Field,\\n block_number: Field,\\n timestamp: Field,\\n}\\n\\nimpl PublicGlobalVariables {\\n fn serialize(self) -> [Field; 4] {\\n [self.chain_id, self.version, self.block_number, self.timestamp]\\n }\\n}\\n\\nstruct ContractDeploymentData {\\n deployer_public_key: Point,\\n constructor_vk_hash : Field,\\n function_tree_root : Field,\\n contract_address_salt : Field,\\n portal_contract_address : Field,\\n}\\n\\nimpl ContractDeploymentData {\\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\\n [\\n self.deployer_public_key.x,\\n self.deployer_public_key.y,\\n self.constructor_vk_hash,\\n self.function_tree_root,\\n self.contract_address_salt,\\n self.portal_contract_address,\\n ]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\\n }\\n}\\n\\n// PrivateContextInputs are expected to be provided to each private function\\nstruct PrivateContextInputs {\\n call_context : CallContext,\\n block_data: HistoricBlockData,\\n\\n contract_deployment_data: ContractDeploymentData,\\n\\n private_global_variables: PrivateGlobalVariables,\\n}\\n\\n// PublicContextInputs are expected to be provided to each public function\\nstruct PublicContextInputs {\\n call_context: CallContext,\\n block_data: HistoricBlockData,\\n\\n public_global_variables: PublicGlobalVariables,\\n}\\n\\nstruct CallContext {\\n msg_sender : Field,\\n storage_contract_address : Field,\\n portal_contract_address : Field,\\n\\n is_delegate_call : bool,\\n is_static_call : bool,\\n is_contract_deployment: bool,\\n}\\n\\nimpl CallContext {\\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\\n [\\n self.msg_sender,\\n self.storage_contract_address,\\n self.portal_contract_address,\\n self.is_delegate_call as Field,\\n self.is_static_call as Field,\\n self.is_contract_deployment as Field,\\n ]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\\n }\\n}\\n\\nstruct HistoricBlockData {\\n private_data_tree_root : Field,\\n nullifier_tree_root : Field,\\n contract_tree_root : Field,\\n l1_to_l2_messages_tree_root : Field,\\n blocks_tree_root: Field,\\n public_data_tree_root: Field,\\n global_variables_hash: Field,\\n}\\n\\nimpl HistoricBlockData {\\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\\n [\\n self.private_data_tree_root,\\n self.nullifier_tree_root,\\n self.contract_tree_root,\\n self.l1_to_l2_messages_tree_root,\\n self.blocks_tree_root,\\n self.public_data_tree_root,\\n self.global_variables_hash,\\n ]\\n }\\n\\n fn empty() -> Self {\\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\\n }\\n}\\n\\nstruct FunctionData {\\n function_selector: Field,\\n is_internal: bool,\\n is_private: bool,\\n is_constructor: bool,\\n}\\n\\nimpl FunctionData {\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator([\\n self.function_selector,\\n self.is_internal as Field,\\n self.is_private as Field,\\n self.is_constructor as Field,\\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\\n }\\n}\\n\\nstruct PrivateCircuitPublicInputs {\\n call_context: CallContext,\\n args_hash: Field,\\n return_values: [Field; RETURN_VALUES_LENGTH],\\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\\n // Explore introducing a new type like uint256 (similar to Point), so it\'s more explicit that\\n // we\'re talking about a single number backed by two field elements.\\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\\n encrypted_log_preimages_length: Field,\\n unencrypted_log_preimages_length: Field,\\n block_data: HistoricBlockData,\\n contract_deployment_data: ContractDeploymentData,\\n chain_id: Field,\\n version: Field,\\n}\\n\\nimpl PrivateCircuitPublicInputs {\\n fn hash(self) -> Field {\\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0); \\n fields.push(self.call_context.hash());\\n fields.push(self.args_hash);\\n fields.push_array(self.return_values);\\n fields.push_array(self.read_requests);\\n fields.push_array(self.new_commitments);\\n fields.push_array(self.new_nullifiers);\\n fields.push_array(self.nullified_commitments);\\n fields.push_array(self.private_call_stack);\\n fields.push_array(self.public_call_stack);\\n fields.push_array(self.new_l2_to_l1_msgs);\\n fields.push_array(self.encrypted_logs_hash);\\n fields.push_array(self.unencrypted_logs_hash);\\n fields.push(self.encrypted_log_preimages_length);\\n fields.push(self.unencrypted_log_preimages_length);\\n fields.push_array(self.block_data.serialize());\\n fields.push(self.contract_deployment_data.hash());\\n fields.push(self.chain_id);\\n fields.push(self.version);\\n\\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\\n }\\n\\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \\n fields.push_array(self.call_context.serialize());\\n fields.push(self.args_hash);\\n fields.push_array(self.return_values);\\n fields.push_array(self.read_requests);\\n fields.push_array(self.new_commitments);\\n fields.push_array(self.new_nullifiers);\\n fields.push_array(self.private_call_stack);\\n fields.push_array(self.public_call_stack);\\n fields.push_array(self.new_l2_to_l1_msgs);\\n fields.push_array(self.encrypted_logs_hash);\\n fields.push_array(self.unencrypted_logs_hash);\\n fields.push(self.encrypted_log_preimages_length);\\n fields.push(self.unencrypted_log_preimages_length);\\n fields.push_array(self.block_data.serialize());\\n fields.push_array(self.contract_deployment_data.serialize());\\n fields.push(self.chain_id);\\n fields.push(self.version);\\n fields.storage\\n }\\n}\\n\\nstruct ContractStorageRead {\\n storage_slot: Field,\\n value: Field,\\n}\\n\\nimpl ContractStorageRead {\\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\\n [self.storage_slot, self.value]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\\n }\\n\\n fn empty() -> Self {\\n Self { storage_slot: 0, value: 0 }\\n }\\n}\\n\\nstruct ContractStorageUpdateRequest {\\n storage_slot: Field,\\n old_value: Field,\\n new_value: Field,\\n}\\n\\nimpl ContractStorageUpdateRequest {\\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\\n [self.storage_slot, self.old_value, self.new_value]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\\n }\\n\\n fn empty() -> Self {\\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\\n }\\n}\\n\\n\\nstruct PublicCircuitPublicInputs {\\n call_context: CallContext,\\n args_hash: Field,\\n return_values: [Field; RETURN_VALUES_LENGTH],\\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\\n unencrypted_log_preimages_length: Field,\\n block_data: HistoricBlockData,\\n prover_address: Field,\\n\\n // TODO: include globals in here and check them elsewhere\\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\\n}\\n\\nimpl PublicCircuitPublicInputs {\\n \\n fn hash(self) -> Field {\\n let mut inputs: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0);\\n inputs.push(self.call_context.hash());\\n inputs.push(self.args_hash);\\n inputs.push_array(self.return_values);\\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\\n inputs.push(self.contract_storage_update_requests[i].hash());\\n }\\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\\n inputs.push(self.contract_storage_read[i].hash());\\n }\\n inputs.push_array(self.public_call_stack);\\n inputs.push_array(self.new_commitments);\\n inputs.push_array(self.new_nullifiers);\\n inputs.push_array(self.new_l2_to_l1_msgs);\\n\\n // We do not include block_data since it\'s not in the cpp hash\\n\\n inputs.push_array(self.unencrypted_logs_hash);\\n inputs.push(self.unencrypted_log_preimages_length);\\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\\n inputs.push(self.prover_address);\\n\\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\\n }\\n\\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \\n fields.push_array(self.call_context.serialize()); \\n fields.push(self.args_hash);\\n fields.push_array(self.return_values);\\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\\n fields.push_array(self.contract_storage_update_requests[i].serialize());\\n }\\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\\n fields.push_array(self.contract_storage_read[i].serialize());\\n }\\n fields.push_array(self.public_call_stack);\\n fields.push_array(self.new_commitments);\\n fields.push_array(self.new_nullifiers);\\n fields.push_array(self.new_l2_to_l1_msgs);\\n fields.push_array(self.unencrypted_logs_hash);\\n fields.push(self.unencrypted_log_preimages_length);\\n fields.push_array(self.block_data.serialize());\\n fields.push(self.prover_address);\\n fields.storage\\n }\\n}\\n\\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\\n\\nfn hash_args<N>(args: [Field; N]) -> Field {\\n if args.len() == 0 {\\n 0\\n } else {\\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\\n for i in 0..ARGS_HASH_CHUNK_COUNT {\\n let mut chunk_hash = 0;\\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\\n if start_chunk_index < (args.len() as u32) {\\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\\n if item_index < (args.len() as u32) {\\n chunk_args[j] = args[item_index];\\n }\\n }\\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\\n }\\n chunks_hashes[i] = chunk_hash;\\n }\\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\\n }\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi"},"32":{"source":"use crate::constants_gen::{\\n EMPTY_NULLIFIED_COMMITMENT,\\n MAX_NEW_COMMITMENTS_PER_CALL,\\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\\n MAX_NEW_NULLIFIERS_PER_CALL,\\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\\n MAX_PUBLIC_DATA_READS_PER_CALL,\\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\\n MAX_READ_REQUESTS_PER_CALL,\\n NUM_FIELDS_PER_SHA256,\\n RETURN_VALUES_LENGTH,\\n};\\n\\nuse crate::abi;\\n\\nuse crate::abi::{\\n hash_args,\\n CallContext,\\n ContractDeploymentData,\\n HistoricBlockData,\\n FunctionData,\\n PrivateCircuitPublicInputs,\\n PublicCircuitPublicInputs,\\n};\\n\\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n// use dep::std::collections::vec::Vec;\\n\\n// l1 to l2 messaging\\nuse crate::messaging::process_l1_to_l2_message;\\nuse crate::private_call_stack_item::PrivateCallStackItem;\\nuse crate::public_call_stack_item::PublicCallStackItem;\\n\\nuse crate::types::{\\n vec::BoundedVec,\\n point::Point,\\n};\\n\\nuse crate::utils::arr_copy_slice;\\n\\nuse crate::oracle::{\\n arguments,\\n call_private_function::call_private_function_internal,\\n public_call::call_public_function_internal,\\n enqueue_public_function_call::enqueue_public_function_call_internal,\\n context::get_portal_address,\\n};\\n\\n\\n// When finished, one can call .finish() to convert back to the abi\\nstruct PrivateContext {\\n inputs: abi::PrivateContextInputs,\\n\\n args_hash : Field,\\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\\n\\n read_requests: BoundedVec<Field, MAX_READ_REQUESTS_PER_CALL>,\\n\\n new_commitments: BoundedVec<Field, MAX_NEW_COMMITMENTS_PER_CALL>,\\n new_nullifiers: BoundedVec<Field, MAX_NEW_NULLIFIERS_PER_CALL>,\\n nullified_commitments: BoundedVec<Field, MAX_NEW_NULLIFIERS_PER_CALL>,\\n\\n private_call_stack : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\\n public_call_stack : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\\n new_l2_to_l1_msgs : BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\\n\\n block_data: HistoricBlockData,\\n\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n // encrypted_logs_preimages: Vec<Field>,\\n // unencrypted_logs_preimages: Vec<Field>,\\n}\\n\\nimpl PrivateContext {\\n fn new(inputs: abi::PrivateContextInputs, args_hash: Field) -> PrivateContext {\\n PrivateContext {\\n inputs: inputs,\\n\\n args_hash: args_hash,\\n return_values: BoundedVec::new(0),\\n\\n read_requests: BoundedVec::new(0),\\n\\n new_commitments: BoundedVec::new(0),\\n new_nullifiers: BoundedVec::new(0),\\n nullified_commitments: BoundedVec::new(0),\\n\\n block_data: inputs.block_data,\\n\\n private_call_stack: BoundedVec::new(0),\\n public_call_stack: BoundedVec::new(0),\\n new_l2_to_l1_msgs: BoundedVec::new(0),\\n\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n // encrypted_logs_preimages: Vec::new(),\\n // unencrypted_logs_preimages: Vec::new(),\\n }\\n }\\n\\n fn msg_sender(self) -> Field {\\n self.inputs.call_context.msg_sender\\n }\\n\\n fn this_address(self) -> Field {\\n self.inputs.call_context.storage_contract_address\\n }\\n\\n fn this_portal_address(self) -> Field {\\n self.inputs.call_context.portal_contract_address\\n }\\n\\n fn chain_id(self) -> Field {\\n self.inputs.private_global_variables.chain_id\\n }\\n\\n fn version(self) -> Field {\\n self.inputs.private_global_variables.version\\n }\\n\\n fn finish(self) -> abi::PrivateCircuitPublicInputs {\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\\n let encrypted_log_preimages_length = 0;\\n let unencrypted_log_preimages_length = 0;\\n\\n let priv_circuit_pub_inputs = abi::PrivateCircuitPublicInputs {\\n call_context: self.inputs.call_context,\\n args_hash: self.args_hash,\\n return_values: self.return_values.storage,\\n read_requests: self.read_requests.storage,\\n new_commitments: self.new_commitments.storage,\\n new_nullifiers: self.new_nullifiers.storage,\\n nullified_commitments: self.nullified_commitments.storage,\\n private_call_stack: self.private_call_stack.storage,\\n public_call_stack: self.public_call_stack.storage,\\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\\n encrypted_logs_hash: encrypted_logs_hash,\\n unencrypted_logs_hash: unencrypted_logs_hash,\\n encrypted_log_preimages_length: encrypted_log_preimages_length,\\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\\n block_data: self.block_data,\\n contract_deployment_data: self.inputs.contract_deployment_data,\\n chain_id: self.inputs.private_global_variables.chain_id,\\n version: self.inputs.private_global_variables.version,\\n };\\n priv_circuit_pub_inputs\\n }\\n\\n fn push_read_request(&mut self, read_request: Field) {\\n self.read_requests.push(read_request);\\n }\\n\\n fn push_new_note_hash(&mut self, note_hash: Field) {\\n self.new_commitments.push(note_hash);\\n }\\n\\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\\n self.new_nullifiers.push(nullifier);\\n self.nullified_commitments.push(nullified_commitment);\\n }\\n\\n fn message_portal(&mut self, content: Field) {\\n self.new_l2_to_l1_msgs.push(content);\\n }\\n\\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\\n fn consume_l1_to_l2_message(&mut self, inputs: abi::PrivateContextInputs, msg_key: Field, content: Field, secret: Field) {\\n let nullifier = process_l1_to_l2_message(inputs.block_data.l1_to_l2_messages_tree_root, inputs.call_context.storage_contract_address, msg_key, content, secret);\\n\\n // Push nullifier (and the \\"commitment\\" corresponding to this can be \\"empty\\")\\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\\n }\\n\\n fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\\n let _void1 = self.inputs;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\\n let _void1 = self.inputs;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn call_private_function<ARGS_COUNT>(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field, \\n args: [Field; ARGS_COUNT]\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n let args_hash = hash_args(args);\\n assert(args_hash == arguments::pack_arguments(args));\\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\\n }\\n\\n fn call_private_function_no_args(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field, \\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\\n }\\n\\n fn call_private_function_with_packed_args(\\n &mut self,\\n contract_address: Field,\\n function_selector: Field,\\n args_hash: Field\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n let fields = call_private_function_internal(\\n contract_address, \\n function_selector, \\n args_hash\\n );\\n let item = PrivateCallStackItem {\\n contract_address: fields[0],\\n function_data: FunctionData {\\n function_selector: fields[1],\\n is_internal: fields[2] as bool,\\n is_private: fields[3] as bool,\\n is_constructor: fields[4] as bool,\\n },\\n public_inputs: PrivateCircuitPublicInputs {\\n call_context: CallContext {\\n msg_sender : fields[5],\\n storage_contract_address : fields[6],\\n portal_contract_address : fields[7],\\n \\n is_delegate_call : fields[8] as bool,\\n is_static_call : fields[9] as bool,\\n is_contract_deployment: fields[10] as bool,\\n },\\n // TODO handle the offsets as a variable incremented during extraction?\\n args_hash: fields[11],\\n return_values: arr_copy_slice(fields, [0; RETURN_VALUES_LENGTH], 12),\\n read_requests: arr_copy_slice(fields, [0; MAX_READ_REQUESTS_PER_CALL], 16),\\n new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 20),\\n new_nullifiers: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 24),\\n nullified_commitments: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 28),\\n private_call_stack: arr_copy_slice(fields, [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL], 32),\\n public_call_stack: arr_copy_slice(fields, [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL], 36),\\n new_l2_to_l1_msgs: arr_copy_slice(fields, [0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL], 40),\\n encrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 42),\\n unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),\\n encrypted_log_preimages_length: fields[46],\\n unencrypted_log_preimages_length: fields[47],\\n block_data: HistoricBlockData {\\n // Must match order in `private_circuit_public_inputs.hpp`\\n private_data_tree_root : fields[48],\\n nullifier_tree_root : fields[49],\\n contract_tree_root : fields[50],\\n l1_to_l2_messages_tree_root : fields[51],\\n blocks_tree_root : fields[52],\\n public_data_tree_root: fields[53],\\n global_variables_hash: fields[54],\\n },\\n contract_deployment_data: ContractDeploymentData {\\n deployer_public_key: Point::new(fields[55], fields[56]),\\n constructor_vk_hash : fields[57],\\n function_tree_root : fields[58],\\n contract_address_salt : fields[59],\\n portal_contract_address : fields[60],\\n },\\n chain_id: fields[61],\\n version: fields[62],\\n },\\n is_execution_request: fields[63] as bool,\\n };\\n assert(contract_address == item.contract_address);\\n assert(function_selector == item.function_data.function_selector);\\n\\n assert(args_hash == item.public_inputs.args_hash);\\n\\n assert(item.is_execution_request == false);\\n\\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\\n // the msg_sender in the nested call to be equal to our address, and the execution context address\\n // for the nested call to be equal to the address we actually called.\\n assert(item.public_inputs.call_context.is_delegate_call == false);\\n assert(item.public_inputs.call_context.is_static_call == false);\\n assert(item.public_inputs.call_context.is_contract_deployment == false);\\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\\n\\n self.private_call_stack.push(item.hash());\\n\\n item.public_inputs.return_values\\n }\\n\\n fn call_public_function<ARGS_COUNT>(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field, \\n args: [Field; ARGS_COUNT]\\n ) {\\n let args_hash = hash_args(args);\\n assert(args_hash == arguments::pack_arguments(args));\\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash)\\n }\\n\\n fn call_public_function_no_args(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field,\\n ) {\\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\\n }\\n\\n fn call_public_function_with_packed_args(\\n &mut self,\\n contract_address: Field,\\n function_selector: Field,\\n args_hash: Field\\n ) {\\n let fields = enqueue_public_function_call_internal(\\n contract_address, \\n function_selector, \\n args_hash\\n );\\n let item = PublicCallStackItem {\\n contract_address: fields[0],\\n function_data: FunctionData {\\n function_selector: fields[1],\\n is_internal: fields[2] as bool,\\n is_private: fields[3] as bool,\\n is_constructor: fields[4] as bool,\\n },\\n public_inputs: PublicCircuitPublicInputs {\\n call_context: CallContext {\\n msg_sender : fields[5],\\n storage_contract_address : fields[6],\\n portal_contract_address : fields[7],\\n \\n is_delegate_call : fields[8] as bool,\\n is_static_call : fields[9] as bool,\\n is_contract_deployment: fields[10] as bool,\\n },\\n args_hash: fields[11],\\n return_values: [0; RETURN_VALUES_LENGTH],\\n contract_storage_update_requests: [ContractStorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\\n contract_storage_read: [ContractStorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\\n public_call_stack: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\\n new_commitments: [0; MAX_NEW_COMMITMENTS_PER_CALL],\\n new_nullifiers: [0; MAX_NEW_NULLIFIERS_PER_CALL],\\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\\n unencrypted_log_preimages_length: 0,\\n block_data: HistoricBlockData::empty(),\\n prover_address: 0,\\n },\\n is_execution_request: true,\\n };\\n\\n assert(contract_address == item.contract_address);\\n assert(function_selector == item.function_data.function_selector);\\n \\n assert(args_hash == item.public_inputs.args_hash);\\n\\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\\n // the msg_sender in the nested call to be equal to our address, and the execution context address\\n // for the nested call to be equal to the address we actually called.\\n assert(item.public_inputs.call_context.is_delegate_call == false);\\n assert(item.public_inputs.call_context.is_static_call == false);\\n assert(item.public_inputs.call_context.is_contract_deployment == false);\\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\\n\\n self.public_call_stack.push(item.hash());\\n }\\n}\\n\\nuse crate::abi::{\\n ContractStorageRead,\\n ContractStorageUpdateRequest\\n};\\n\\nstruct PublicContext {\\n inputs: abi::PublicContextInputs,\\n\\n args_hash : Field,\\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\\n\\n contract_storage_update_requests: BoundedVec<ContractStorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\\n contract_storage_read: BoundedVec<ContractStorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\\n public_call_stack: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\\n\\n new_commitments: BoundedVec<Field, MAX_NEW_COMMITMENTS_PER_CALL>,\\n new_nullifiers: BoundedVec<Field, crate::abi::MAX_NEW_NULLIFIERS_PER_CALL>,\\n\\n new_l2_to_l1_msgs: BoundedVec<Field, crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\\n\\n unencrypted_logs_hash: BoundedVec<Field, NUM_FIELDS_PER_SHA256>,\\n unencrypted_logs_preimages_length: Field,\\n\\n block_data: HistoricBlockData,\\n prover_address: Field,\\n}\\n\\nimpl PublicContext {\\n fn new(inputs: abi::PublicContextInputs, args_hash: Field) -> PublicContext {\\n let empty_storage_read = ContractStorageRead::empty();\\n let empty_storage_update = ContractStorageUpdateRequest::empty();\\n PublicContext {\\n inputs: inputs,\\n\\n args_hash: args_hash,\\n return_values: BoundedVec::new(0),\\n\\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\\n contract_storage_read: BoundedVec::new(empty_storage_read),\\n public_call_stack: BoundedVec::new(0),\\n\\n new_commitments: BoundedVec::new(0),\\n new_nullifiers: BoundedVec::new(0),\\n\\n new_l2_to_l1_msgs: BoundedVec::new(0),\\n\\n \\n unencrypted_logs_hash: BoundedVec::new(0),\\n unencrypted_logs_preimages_length: 0,\\n\\n block_data: inputs.block_data,\\n prover_address: 0,\\n\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n // encrypted_logs_preimages: Vec::new(),\\n // unencrypted_logs_preimages: Vec::new(),\\n }\\n }\\n\\n fn msg_sender(self) -> Field {\\n self.inputs.call_context.msg_sender\\n }\\n\\n fn this_address(self) -> Field {\\n self.inputs.call_context.storage_contract_address\\n }\\n\\n fn this_portal_address(self) -> Field {\\n self.inputs.call_context.portal_contract_address\\n }\\n\\n fn chain_id(self) -> Field {\\n self.inputs.public_global_variables.chain_id\\n }\\n\\n fn version(self) -> Field {\\n self.inputs.public_global_variables.version\\n }\\n\\n fn block_number(self) -> Field {\\n self.inputs.public_global_variables.block_number\\n }\\n\\n fn timestamp(self) -> Field {\\n self.inputs.public_global_variables.timestamp\\n }\\n\\n fn finish(self) -> abi::PublicCircuitPublicInputs {\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\\n let unencrypted_log_preimages_length = 0;\\n\\n\\n // Compute the public call stack hashes\\n let pub_circuit_pub_inputs = abi::PublicCircuitPublicInputs {\\n call_context: self.inputs.call_context, // Done\\n args_hash: self.args_hash, // Done\\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\\n contract_storage_read: self.contract_storage_read.storage,\\n return_values: self.return_values.storage,\\n new_commitments: self.new_commitments.storage,\\n new_nullifiers: self.new_nullifiers.storage,\\n public_call_stack: self.public_call_stack.storage,\\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\\n unencrypted_logs_hash: unencrypted_logs_hash,\\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\\n block_data: self.inputs.block_data,\\n prover_address: self.prover_address,\\n };\\n pub_circuit_pub_inputs\\n }\\n\\n fn push_new_note_hash(&mut self, note_hash: Field) {\\n self.new_commitments.push(note_hash);\\n }\\n\\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\\n self.new_nullifiers.push(nullifier);\\n }\\n\\n fn message_portal(&mut self, content: Field) {\\n self.new_l2_to_l1_msgs.push(content);\\n }\\n\\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\\n fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\\n let this = (*self).this_address();\\n let nullifier = process_l1_to_l2_message(self.block_data.l1_to_l2_messages_tree_root, this, msg_key, content, secret);\\n\\n // Push nullifier (and the \\"commitment\\" corresponding to this can be \\"empty\\")\\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\\n }\\n\\n fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\\n let _void1 = self;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\\n let _void1 = self;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn call_public_function<ARGS_COUNT>(\\n _self: Self,\\n contract_address: Field, \\n function_selector: Field,\\n args: [Field; ARGS_COUNT],\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n let args_hash = abi::hash_args(args);\\n assert(args_hash == arguments::pack_arguments(args));\\n call_public_function_internal(\\n contract_address, \\n function_selector, \\n args_hash,\\n )\\n }\\n\\n fn call_public_function_no_args(\\n _self: Self,\\n contract_address: Field, \\n function_selector: Field,\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n call_public_function_internal(\\n contract_address, \\n function_selector, \\n 0,\\n )\\n }\\n\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/context"},"55":{"source":"\\nstruct BoundedVec<T, MaxLen> {\\n storage: [T; MaxLen],\\n len: Field,\\n}\\n\\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\\n fn new(initial_value: T) -> Self {\\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\\n }\\n\\n fn get(mut self: Self, index: Field) -> T {\\n assert(index as u64 < self.len as u64);\\n self.storage[index]\\n }\\n\\n fn push(&mut self, elem: T) {\\n assert(self.len as u64 < MaxLen as u64);\\n\\n self.storage[self.len] = elem;\\n self.len += 1;\\n }\\n\\n fn push_array<Len>(&mut self, array: [T; Len]) {\\n let newLen = self.len + array.len();\\n assert(newLen as u64 <= MaxLen as u64);\\n for i in 0..array.len() {\\n self.storage[self.len + i] = array[i];\\n }\\n self.len = newLen;\\n }\\n\\n fn pop(&mut self) -> T {\\n assert(self.len as u64 > 0);\\n\\n let elem = self.storage[self.len - 1];\\n self.len -= 1;\\n elem\\n }\\n}\\n\\n// #[test]\\n// fn test_vec() {\\n// let vec: BoundedVec<Field, 2> = BoundedVec::new(0);\\n// assert(vec.len == 0);\\n// let vec1 = vec.push(1);\\n// assert(vec1.len == 1);\\n// let vec2 = vec1.push(1);\\n// assert(vec2.len == 2);\\n// let vec3 = vec2.push(1);\\n// assert(vec3.len == 3);\\n// let x = vec3.pop();\\n// assert(x == 1);\\n// }","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec"},"61":{"source":"use crate::abi::FunctionData;\\nuse crate::abi::PrivateCircuitPublicInputs;\\nuse crate::constants_gen::GENERATOR_INDEX__CALL_STACK_ITEM;\\n\\nstruct PrivateCallStackItem {\\n contract_address: Field,\\n function_data: FunctionData,\\n public_inputs: PrivateCircuitPublicInputs,\\n is_execution_request: bool,\\n}\\n\\nimpl PrivateCallStackItem {\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator([\\n self.contract_address,\\n self.function_data.hash(),\\n self.public_inputs.hash(),\\n ], GENERATOR_INDEX__CALL_STACK_ITEM)[0]\\n }\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/private_call_stack_item"},"78":{"source":"use crate::abi;\\nuse crate::types::vec::BoundedVec;\\nuse crate::context::PrivateContext;\\nuse crate::private_call_stack_item::PrivateCallStackItem;\\nuse crate::public_call_stack_item::PublicCallStackItem; \\n\\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\\nglobal ACCOUNT_MAX_CALLS: Field = 4;\\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\\nglobal FUNCTION_CALL_SIZE: Field = 3;\\n\\nstruct FunctionCall {\\n args_hash: Field,\\n function_selector: Field,\\n target_address: Field,\\n}\\n\\nimpl FunctionCall {\\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\\n [self.args_hash, self.function_selector, self.target_address]\\n }\\n}\\n\\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\\n\\nstruct EntrypointPayload {\\n // Noir doesnt support nested arrays or structs yet so we flatten everything\\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\\n nonce: Field,\\n}\\n\\nimpl EntrypointPayload {\\n // TODO(#1207) Do we need a generator index?\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen(self.serialize())[0]\\n }\\n\\n // Serializes the entrypoint struct\\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\\n let mut fields: BoundedVec<Field, ENTRYPOINT_PAYLOAD_SIZE> = BoundedVec::new(0); \\n fields.push_array(self.flattened_args_hashes);\\n fields.push_array(self.flattened_selectors);\\n fields.push_array(self.flattened_targets);\\n fields.push(self.nonce);\\n fields.storage\\n }\\n\\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\\n\\n let args_len = self.flattened_args_hashes.len();\\n let selectors_len = self.flattened_selectors.len();\\n let targets_len = self.flattened_targets.len();\\n\\n for i in 0..args_len {\\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\\n for j in 0..32 { \\n bytes[i * 32 + j] = item_bytes[j];\\n }\\n }\\n\\n for i in 0..selectors_len {\\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\\n for j in 0..32 { \\n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\\n }\\n }\\n\\n for i in 0..targets_len {\\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\\n for j in 0..32 { \\n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\\n }\\n }\\n \\n let item_bytes = self.nonce.to_be_bytes(32);\\n for j in 0..32 { \\n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\\n }\\n\\n bytes\\n }\\n\\n // Executes all private and public calls \\n fn execute_calls(self, context: &mut PrivateContext) {\\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\\n let target_address = self.flattened_targets[i];\\n if target_address != 0 {\\n let function_selector = self.flattened_selectors[i];\\n let args_hash = self.flattened_args_hashes[i];\\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\\n }\\n }\\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\\n let target_address = self.flattened_targets[i];\\n if target_address != 0 {\\n let function_selector = self.flattened_selectors[i];\\n let args_hash = self.flattened_args_hashes[i];\\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\\n }\\n }\\n }\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint"}}}}');async function Ka(e,t){const n=Nn.random(),r=[...Mr(e,ca(),2),...Mr(t,ca(),2)],s=[],a=await ks.get();for(const e of r)s.push(await Ba.fromArgs(e.args,a));return{payload:{flattened_args_hashes:s.map((e=>e.hash)),flattened_selectors:r.map((e=>Nn.fromBuffer(e.functionData.functionSelectorBuffer))),flattened_targets:r.map((e=>e.to.toField())),nonce:n},packedArguments:s}}function $a(e,t){return function(e,t,n){e.call("pedersen__init");const r=Ms(t);return e.writeMemory(0,r),e.call("pedersen_plookup_compress_with_hash_index",0,0,n),Wr.Buffer.from(e.getMemorySlice(0,32))}(t,function(e){return[...e.flattened_args_hashes,...e.flattened_selectors,...e.flattened_targets,e.nonce]}(e).map((e=>e.toBuffer())),rr.SIGNATURE_PAYLOAD)}class ei{constructor(e,t,n,r,s=31337,a=1){this.address=e,this.partialAddress=t,this.privateKey=n,this.signer=r,this.chainId=s,this.version=a}async createTxExecutionRequest(e,t={}){if(t.origin&&!t.origin.equals(this.address))throw new Error(`Sender ${t.origin.toString()} does not match account address ${this.address.toString()}`);const[n,r]=Va()(e,(e=>e.functionData.isPrivate)),s=await ks.get(),{payload:a,packedArguments:i}=await Ka(n,r),o=$a(a,s),l=this.signer.constructSignature(o,this.privateKey).toBuffer(),c=[a,(await oi(this.privateKey)).toBuffer(),l,this.partialAddress],u=this.getEntrypointAbi(),f=await Ba.fromArgs(Un(u,c),s);return Da.from({argsHash:f.hash,origin:this.address,functionData:Cr.fromAbi(u),txContext:Br.empty(this.chainId,this.version),packedArguments:[...i,f]})}getEntrypointAbi(){const e=qa.functions.find((e=>"entrypoint"===e.name));if(!e)throw new Error("Entrypoint abi for account contract not found");return e}}class ti{constructor(e){this.rpc=e}registerAccount(e,t){return this.rpc.registerAccount(e,t)}registerRecipient(e){return this.rpc.registerRecipient(e)}getAccounts(){return this.rpc.getAccounts()}getAccount(e){return this.rpc.getAccount(e)}getRecipients(){return this.rpc.getRecipients()}getRecipient(e){return this.rpc.getRecipient(e)}addContracts(e){return this.rpc.addContracts(e)}getContracts(){return this.rpc.getContracts()}simulateTx(e){return this.rpc.simulateTx(e)}sendTx(e){return this.rpc.sendTx(e)}getTxReceipt(e){return this.rpc.getTxReceipt(e)}getPublicStorageAt(e,t){return this.rpc.getPublicStorageAt(e,t)}viewTx(e,t,n,r){return this.rpc.viewTx(e,t,n,r)}getContractDataAndBytecode(e){return this.rpc.getContractDataAndBytecode(e)}getContractData(e){return this.rpc.getContractData(e)}getUnencryptedLogs(e,t){return this.rpc.getUnencryptedLogs(e,t)}getBlockNumber(){return this.rpc.getBlockNumber()}getNodeInfo(){return this.rpc.getNodeInfo()}isGlobalStateSynchronised(){return this.rpc.isGlobalStateSynchronised()}isAccountStateSynchronised(e){return this.rpc.isAccountStateSynchronised(e)}getSyncStatus(){return this.rpc.getSyncStatus()}}class ni extends ti{constructor(e,t){super(e),this.accountImpl=t}createTxExecutionRequest(e,t={}){return this.accountImpl.createTxExecutionRequest(e,t)}}class ri extends ni{constructor(e,t,n){super(e,t),this.accountImpl=t,this.address=n}getCompleteAddress(){return this.address}}class si extends ti{async createTxExecutionRequest(e){if(1!==e.length)throw new Error(`Unexpected number of executions. Expected 1, received ${e.length})`);const[t]=e,n=await ks.get(),r=await Ba.fromArgs(t.args,n),{chainId:s,version:a}=await this.rpc.getNodeInfo(),i=Br.empty(s,a);return Promise.resolve(new Da(t.to,t.functionData,r.hash,i,[r]))}}async function ai(e,t,n,r=Nn.random(),s=1,a=fs("aztec:aztec.js:accounts")){const i=new Di;for(let o=0;o<s;++o){const s=0==o&&n?n:ea.random(),l=await oi(s),c=await Ds(t,[],r,l);await e.registerAccount(s,c.completeAddress.partialAddress);const u=new Xa(t,e,l).deploy().send({contractAddressSalt:r});await u.isMined({interval:.5});const f=await u.getReceipt();if(f.status!==Ia.MINED)throw new Error(`Deployment tx not mined (status is ${f.status})`);const d=f.contractAddress;if(!d.equals(c.completeAddress.address))throw new Error(`Deployment address does not match for account contract (expected ${c.completeAddress.address.toString()} got ${d.toString()})`);a(`Created account ${d.toString()} with public key ${l.toString()}`),i.registerAccount(d,new ei(d,c.completeAddress.partialAddress,s,await Vs.new()))}return new ni(e,i)}async function ii(e,t,n,r,s){if(n.length!=s.length||r.length!=n.length)throw new Error("Keys and salts must be the same length");const a=new Di;for(let e=0;e<n.length;e++){const i=await oi(n[e]),o=await oi(r[e]),l=(await Ds(t,[o.x,o.y],s[e],i)).completeAddress.address;a.registerAccount(l,new ki(l,r[e],await Vs.new()))}return new ni(e,a)}async function oi(e){const t=await Hs.new();return t.mul(t.generator(),e)}const li=async e=>{const t=new URL(`${e}/api/l1-contract-addresses`),n=await sa((async()=>{try{return await(await fetch(t.toString())).json()}catch(e){}}),"isSandboxReady",120,1);return Object.fromEntries(Object.entries(n).map((([e,t])=>[e,Lr.fromString(t)])))};async function ci(e,t){return!!await e.getContractData(t)}var ui=n(233),fi=n.n(ui),di=n(816).Buffer;const _i=e=>"bigint"==typeof e?new Nn(e):e;class hi{constructor(e,t){this.eth=e,this.aztec=t}static async create(e,t){const n=new pi(e),r=new gi(t,await ks.get(),n);return new hi(n,r)}}class pi{constructor(e,t=fs("aztec:cheat_codes:eth")){this.rpcUrl=e,this.logger=t}async rpcCall(e,t){const n={body:`{"jsonrpc":"2.0", "method": "${e}", "params": ${JSON.stringify(t)}, "id": 1}`,method:"POST",headers:{"Content-Type":"application/json"}};return await(await fetch(this.rpcUrl,n)).json()}async blockNumber(){const e=await this.rpcCall("eth_blockNumber",[]);return parseInt(e.result,16)}async chainId(){const e=await this.rpcCall("eth_chainId",[]);return parseInt(e.result,16)}async timestamp(){const e=await this.rpcCall("eth_getBlockByNumber",["latest",!0]);return parseInt(e.result.timestamp,16)}async mine(e=1){const t=await this.rpcCall("hardhat_mine",[e]);if(t.error)throw new Error(`Error mining: ${t.error.message}`);this.logger(`Mined ${e} blocks`)}async setNextBlockTimestamp(e){const t=await this.rpcCall("evm_setNextBlockTimestamp",[e]);if(t.error)throw new Error(`Error setting next block timestamp: ${t.error.message}`);this.logger(`Set next block timestamp to ${e}`)}async dumpChainState(e){const t=await this.rpcCall("hardhat_dumpState",[]);if(t.error)throw new Error(`Error dumping state: ${t.error.message}`);const n=JSON.stringify(t.result);fi().writeFileSync(`${e}.json`,n,"utf8"),this.logger(`Dumped state to ${e}`)}async loadChainState(e){const t=JSON.parse(fi().readFileSync(`${e}.json`,"utf8")),n=await this.rpcCall("hardhat_loadState",[t]);if(n.error)throw new Error(`Error loading state: ${n.error.message}`);this.logger(`Loaded state from ${e}`)}async load(e,t){const n=await this.rpcCall("eth_getStorageAt",[e.toString(),Sn(t),"latest"]);return BigInt(n.result)}async store(e,t,n){const r=await this.rpcCall("hardhat_setStorageAt",[e.toString(),Sn(t),Sn(n,!0)]);if(r.error)throw new Error(`Error setting storage for contract ${e} at ${t}: ${r.error.message}`);this.logger(`Set storage for contract ${e} at ${t} to ${n}`)}keccak256(e,t){const n=Sn(t,!0).substring(2)+Sn(e,!0).substring(2);return Ln(hn(di.from(n,"hex")))}async startImpersonating(e){const t=await this.rpcCall("hardhat_impersonateAccount",[e.toString()]);if(t.error)throw new Error(`Error impersonating ${e}: ${t.error.message}`);this.logger(`Impersonating ${e}`)}async stopImpersonating(e){const t=await this.rpcCall("hardhat_stopImpersonatingAccount",[e.toString()]);if(t.error)throw new Error(`Error when stopping the impersonation of ${e}: ${t.error.message}`);this.logger(`Stopped impersonating ${e}`)}async etch(e,t){const n=await this.rpcCall("hardhat_setCode",[e.toString(),t]);if(n.error)throw new Error(`Error setting bytecode for ${e}: ${n.error.message}`);this.logger(`Set bytecode for ${e} to ${t}`)}async getBytecode(e){return(await this.rpcCall("eth_getCode",[e.toString(),"latest"])).result}}class gi{constructor(e,t,n,r=fs("aztec:cheat_codes:aztec")){this.aztecRpc=e,this.wasm=t,this.eth=n,this.logger=r}computeSlotInMap(e,t){return Nn.fromBuffer(function(e,t){e.call("pedersen__init");const n=Ms(t);return e.writeMemory(0,n),e.call("pedersen_plookup_commit",0,0),Wr.Buffer.from(e.getMemorySlice(0,32))}(this.wasm,[_i(e),_i(t)].map((e=>e.toBuffer()))))}async blockNumber(){return await this.aztecRpc.getBlockNumber()}async warp(e){const t=(await this.aztecRpc.getNodeInfo()).rollupAddress;await this.eth.setNextBlockTimestamp(e),await this.eth.store(t,1n,BigInt(e))}async loadPublic(e,t){const n=await this.aztecRpc.getPublicStorageAt(e,_i(t));if(void 0===n)throw new Error(`Storage slot ${t} not found`);return Nn.fromBuffer(n)}}const bi=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function mi(e,t){if(!e)throw new Error(t)}class yi{constructor(e,t){if(this.toClass=new Map,this.toName=new Map,e)for(const t of Object.keys(e))this.register(t,e[t],"string");if(t)for(const e of Object.keys(t))this.register(e,t[e],"object")}register(e,t,n){mi("Buffer"!==e,"'Buffer' handling is hardcoded. Cannot use as name."),mi(bi(t.prototype,"toString")||bi(t.prototype,"toJSON"),`Class ${e} must define a toString() OR toJSON() method.`),mi(t.fromString||t.fromJSON,`Class ${e} must define a fromString() OR fromJSON() static method.`),this.toName.set(t,[e,n]),this.toClass.set(e,[t,n])}isRegisteredClassName(e){return this.toClass.has(e)}isRegisteredClass(e){return this.toName.has(e)}toClassObj(e){const t=this.toClass.get(e.type);mi(t,"Could not find type in lookup.");const[n,r]=t;return"string"===r&&"string"==typeof e.data?n.fromString(e.data):n.fromJSON(e.data)}toJsonObj(e){const t=this.toName.get(e.constructor);mi(t,"Could not find class in lookup.");const[n,r]=t;return{type:n,data:"string"===r?e.toString():e.toJSON()}}}function vi(e,t){return JSON.stringify(e,((e,t)=>"bigint"==typeof t?JSON.stringify({type:"bigint",data:t.toString()}):t),t?2:0)}function wi(e,t){if(null!==t){if(!t)return t;if("Buffer"===t.type&&"string"==typeof t.data)return Wr.Buffer.from(t.data,"base64");if("bigint"===t.type&&"string"==typeof t.data)return BigInt(t.data);if("string"==typeof t.type&&e.isRegisteredClassName(t.type))return e.toClassObj(t);if(Array.isArray(t))return t.map((t=>wi(e,t)));if(t.constructor===Object){const n={};for(const r of Object.keys(t))n[r]=wi(e,t[r]);return n}return t}}function Ei(e,t){if(!t)return t;if(t instanceof Wr.Buffer)return{type:"Buffer",data:t.toString("base64")};if("bigint"==typeof t)return{type:"bigint",data:t.toString()};if(e.isRegisteredClass(t.constructor))return e.toJsonObj(t);if(Array.isArray(t))return t.map((t=>Ei(e,t)));if(t.constructor===Object){const n={};for(const r of Object.keys(t))n[r]=Ei(e,t[r]);return n}return t}n(7902);const Li=fs("json-rpc:json_rpc_client");async function Ai(e,t,n,r,s=!1){let a,i;Li("JsonRpcClient.fetch",e,t,"->",n),a=r?await fetch(`${e}/${t}`,{method:"POST",body:vi(n),headers:{"content-type":"application/json"}}):await fetch(e,{method:"POST",body:vi({...n,method:t}),headers:{"content-type":"application/json"}});try{i=await a.json()}catch(e){if(!a.ok)throw new Error(a.statusText);throw new Error(`Failed to parse body as JSON: ${a.text()}`)}if(!a.ok)throw s?new ra(i.error):new Error(i.error);return i}function Si(e,t,n){return async(r,s,a,i)=>await async function(e,t="Operation",n=function*(){const e=[1,1,1,2,4,8,16,32,64];let t=0;for(;;)yield e[Math.min(t++,e.length-1)]}(),r=fs("aztec:foundation:retry")){for(;;)try{return await e()}catch(e){if(e instanceof ra)throw e;const s=n.next().value;if(void 0===s)throw e;r(`${t} failed. Will retry in ${s}s...`),r.error(e),await ta(1e3*s);continue}}((()=>Ai(r,s,a,i,t)),"JsonRpcClient request",function*(e){for(const t of e)yield t}(e),n)}function Ci(e,t,n,r,s=Ai){const a=new yi(t,n);let i=0;const o=async(t,n)=>{const o={jsonrpc:"2.0",id:i++,method:t,params:n.map((e=>Ei(a,e)))};Li("JsonRpcClient.request",t,"<-",n);const l=await s(e,t,o,r);if(Li("JsonRpcClient.result",t,"->",l),l.error)throw l.error;if(![null,void 0,"null","undefined"].includes(l.result))return wi(a,l.result)};return new Proxy({},{get:(e,t)=>["then","catch"].includes(t)?Reflect.get(e,t):(...e)=>(Li("JsonRpcClient.constructor","proxy",t,"<-",e),o(t,e))})}const Ti=(e,t=Ai)=>Ci(e,{CompleteAddress:Ks,AztecAddress:wr,TxExecutionRequest:Da,ContractData:la,ContractDataAndBytecode:oa,TxHash:Sa,EthAddress:Lr,Point:Dn,PrivateKey:ea,Fr:Nn},{Tx:Pa,ContractDeploymentTx:Na,TxReceipt:xa,L2BlockL2Logs:ya},!1,t);class Pi extends Ma{constructor(e,t){super(e,t),this.wallet=e}async getWallet(e){return(await this.wait(e)).wallet}async wait(e){return{...await super.wait(e),wallet:this.wallet}}}class Ni{constructor(e,t,n,r){this.rpc=e,this.encryptionPrivateKey=t,this.accountContract=n,r instanceof Ks?this.completeAddress=r:this.salt=r?new Nn(r):Nn.random()}async getEncryptionPublicKey(){return this.encryptionPublicKey||(this.encryptionPublicKey=await oi(this.encryptionPrivateKey)),this.encryptionPublicKey}async getEntrypoint(){const e=await this.rpc.getNodeInfo(),t=await this.getCompleteAddress();return this.accountContract.getEntrypoint(t,e)}async getCompleteAddress(){if(!this.completeAddress){const e=await oi(this.encryptionPrivateKey),t=await Ds(this.accountContract.getContractAbi(),await this.accountContract.getDeploymentArgs(),this.salt,e);this.completeAddress=t.completeAddress}return this.completeAddress}async getWallet(){const e=await this.getEntrypoint();return new ri(this.rpc,e,await this.getCompleteAddress())}async register(){const e=await this.getCompleteAddress();return await this.rpc.registerAccount(this.encryptionPrivateKey,e.partialAddress),this.getWallet()}async getDeployMethod(){if(!this.deployMethod){if(!this.salt)throw new Error("Cannot deploy account contract without known salt.");await this.register();const e=await this.getEncryptionPublicKey(),t=new Xa(this.accountContract.getContractAbi(),this.rpc,e),n=await this.accountContract.getDeploymentArgs();this.deployMethod=t.deploy(...n)}return this.deployMethod}async deploy(){const e=await this.getDeployMethod(),t=await this.getWallet(),n=e.send({contractAddressSalt:this.salt});return new Pi(t,n.getTxHash())}async waitDeploy(e={}){return await this.deploy().then((t=>t.wait(e))),this.getWallet()}}const Ii=JSON.parse('{"name":"EcdsaAccount","functions":[{"name":"compute_note_hash_and_nullifier","functionType":"unconstrained","isInternal":false,"parameters":[{"name":"contract_address","type":{"kind":"field"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"preimage","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"}],"returnTypes":[{"kind":"array","length":4,"type":{"kind":"field"}}],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"constructor","functionType":"secret","isInternal":false,"parameters":[{"name":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"}],"returnTypes":[],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"entrypoint","functionType":"secret","isInternal":false,"parameters":[{"name":"payload","type":{"kind":"struct","name":"EntrypointPayload","fields":[{"name":"flattened_args_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_selectors","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_targets","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"nonce","type":{"kind":"field"}}]},"visibility":"public"},{"name":"signature","type":{"kind":"array","length":64,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"}],"returnTypes":[],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"}],"debug":{"debugSymbols":["eJyrVsrJT04syczPK1ayqq6tBQAz9wY7","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"],"fileMap":{"0":{"source":"mod storage;\\nmod ecdsa_public_key_note;\\n\\n// Account contract that uses ECDSA signatures for authentication on the same curve as Ethereum.\\n// The signing key is stored in an immutable private note and should be different from the signing key.\\ncontract EcdsaAccount {\\n use dep::std;\\n use dep::aztec::entrypoint;\\n use dep::aztec::entrypoint::EntrypointPayload;\\n use dep::aztec::abi;\\n use dep::aztec::abi::PrivateContextInputs;\\n use dep::aztec::abi::CallContext;\\n use dep::aztec::context::PrivateContext;\\n use dep::aztec::log::emit_encrypted_log;\\n use dep::aztec::oracle::get_public_key::get_public_key;\\n use dep::aztec::types::vec::BoundedVec;\\n use dep::aztec::types::point::Point;\\n use dep::aztec::constants_gen::GENERATOR_INDEX__SIGNATURE_PAYLOAD;\\n\\n use dep::aztec::constants_gen::MAX_NOTE_FIELDS_LENGTH;\\n use dep::aztec::note::{\\n note_header::{NoteHeader},\\n utils as note_utils,\\n };\\n\\n use crate::storage::Storage;\\n use crate::ecdsa_public_key_note::EcdsaPublicKeyNote;\\n use crate::ecdsa_public_key_note::EcdsaPublicKeyNoteInterface;\\n use crate::ecdsa_public_key_note::ECDSA_PUBLIC_KEY_NOTE_LEN;\\n\\n // All calls made by this account will be routed through this entrypoint\\n fn entrypoint( \\n inputs: pub PrivateContextInputs,\\n payload: pub EntrypointPayload, // contains a set of arguments, selectors, targets and a nonce\\n signature: pub [u8;64],\\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\\n \\n // Initialise context\\n // ENTRYPOINT_PAYLOAD_SIZE(13) + 64\\n let mut args: BoundedVec<Field, 77> = BoundedVec::new(0);\\n args.push_array(payload.serialize());\\n for byte in signature { args.push(byte as Field); }\\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\\n\\n // Load public key from storage\\n let storage = Storage::init();\\n let public_key = storage.public_key.get_note(&mut context);\\n\\n // Verify payload signature using Ethereum\'s signing scheme\\n // Note that noir expects the hash of the message/challenge as input to the ECDSA verification.\\n let payload_fields: [Field; entrypoint::ENTRYPOINT_PAYLOAD_SIZE] = payload.serialize();\\n let message_field: Field = std::hash::pedersen_with_separator(payload_fields, GENERATOR_INDEX__SIGNATURE_PAYLOAD)[0];\\n let message_bytes = message_field.to_be_bytes(32);\\n let hashed_message: [u8; 32] = std::hash::sha256(message_bytes);\\n let verification = std::ecdsa_secp256k1::verify_signature(public_key.x, public_key.y, signature, hashed_message);\\n assert(verification == true);\\n\\n payload.execute_calls(&mut context);\\n\\n context.finish()\\n }\\n\\n // Creates a new account out of an ECDSA public key to use for signature verification\\n fn constructor(\\n inputs: pub PrivateContextInputs,\\n signing_pub_key_x: pub [u8;32],\\n signing_pub_key_y: pub [u8;32],\\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\\n let storage = Storage::init();\\n \\n let mut args: BoundedVec<Field, 64> = BoundedVec::new(0);\\n for byte in signing_pub_key_x { args.push(byte as Field); }\\n for byte in signing_pub_key_y { args.push(byte as Field); }\\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\\n \\n let this = context.this_address();\\n let mut pub_key_note = EcdsaPublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\\n storage.public_key.initialise(&mut context, &mut pub_key_note);\\n \\n emit_encrypted_log(\\n &mut context,\\n this,\\n storage.public_key.storage_slot,\\n get_public_key(this),\\n pub_key_note.serialise(),\\n );\\n\\n context.finish()\\n }\\n\\n // Computes note hash and nullifier.\\n // Note 1: Needs to be defined by every contract producing logs.\\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\\n unconstrained fn compute_note_hash_and_nullifier(contract_address: Field, nonce: Field, storage_slot: Field, preimage: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]) -> [Field; 4] {\\n assert(storage_slot == 1);\\n let note_header = NoteHeader { contract_address, nonce, storage_slot };\\n note_utils::compute_note_hash_and_nullifier(EcdsaPublicKeyNoteInterface, note_header, preimage)\\n }\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/main"},"3":{"source":"mod poseidon;\\n\\n#[foreign(sha256)]\\nfn sha256<N>(_input : [u8; N]) -> [u8; 32] {}\\n\\n#[foreign(blake2s)]\\nfn blake2s<N>(_input : [u8; N]) -> [u8; 32] {}\\n\\nfn pedersen<N>(input : [Field; N]) -> [Field; 2] {\\n pedersen_with_separator(input, 0)\\n}\\n\\n#[foreign(pedersen)]\\nfn pedersen_with_separator<N>(_input : [Field; N], _separator : u32) -> [Field; 2] {}\\n\\n#[foreign(hash_to_field_128_security)]\\nfn hash_to_field<N>(_input : [Field; N]) -> Field {}\\n\\n#[foreign(keccak256)]\\nfn keccak256<N>(_input : [u8; N], _message_size: u32) -> [u8; 32] {}\\n\\n// mimc-p/p implementation\\n// constants are (publicly generated) random numbers, for instance using keccak as a ROM.\\n// You must use constants generated for the native field\\n// Rounds number should be ~ log(p)/log(exp)\\n// For 254 bit primes, exponent 7 and 91 rounds seems to be recommended\\nfn mimc<N>(x: Field, k: Field, constants: [Field; N], exp : Field) -> Field {\\n //round 0\\n let mut t = x + k;\\n let mut h = t.pow_32(exp);\\n //next rounds\\n for i in 1 .. constants.len() {\\n t = h + k + constants[i];\\n h = t.pow_32(exp);\\n };\\n h + k\\n}\\n\\nglobal MIMC_BN254_ROUNDS = 91;\\n\\n//mimc implementation with hardcoded parameters for BN254 curve.\\nfn mimc_bn254<N>(array: [Field; N]) -> Field {\\n //mimc parameters\\n let exponent = 7;\\n //generated from seed \\"mimc\\" using keccak256 \\n let constants: [Field; MIMC_BN254_ROUNDS] = [\\n 0, \\n 20888961410941983456478427210666206549300505294776164667214940546594746570981,\\n 15265126113435022738560151911929040668591755459209400716467504685752745317193,\\n 8334177627492981984476504167502758309043212251641796197711684499645635709656,\\n 1374324219480165500871639364801692115397519265181803854177629327624133579404,\\n 11442588683664344394633565859260176446561886575962616332903193988751292992472,\\n 2558901189096558760448896669327086721003508630712968559048179091037845349145,\\n 11189978595292752354820141775598510151189959177917284797737745690127318076389,\\n 3262966573163560839685415914157855077211340576201936620532175028036746741754,\\n 17029914891543225301403832095880481731551830725367286980611178737703889171730,\\n 4614037031668406927330683909387957156531244689520944789503628527855167665518,\\n 19647356996769918391113967168615123299113119185942498194367262335168397100658,\\n 5040699236106090655289931820723926657076483236860546282406111821875672148900,\\n 2632385916954580941368956176626336146806721642583847728103570779270161510514,\\n 17691411851977575435597871505860208507285462834710151833948561098560743654671,\\n 11482807709115676646560379017491661435505951727793345550942389701970904563183,\\n 8360838254132998143349158726141014535383109403565779450210746881879715734773,\\n 12663821244032248511491386323242575231591777785787269938928497649288048289525,\\n 3067001377342968891237590775929219083706800062321980129409398033259904188058,\\n 8536471869378957766675292398190944925664113548202769136103887479787957959589,\\n 19825444354178182240559170937204690272111734703605805530888940813160705385792,\\n 16703465144013840124940690347975638755097486902749048533167980887413919317592,\\n 13061236261277650370863439564453267964462486225679643020432589226741411380501,\\n 10864774797625152707517901967943775867717907803542223029967000416969007792571,\\n 10035653564014594269791753415727486340557376923045841607746250017541686319774,\\n 3446968588058668564420958894889124905706353937375068998436129414772610003289,\\n 4653317306466493184743870159523234588955994456998076243468148492375236846006,\\n 8486711143589723036499933521576871883500223198263343024003617825616410932026,\\n 250710584458582618659378487568129931785810765264752039738223488321597070280,\\n 2104159799604932521291371026105311735948154964200596636974609406977292675173,\\n 16313562605837709339799839901240652934758303521543693857533755376563489378839,\\n 6032365105133504724925793806318578936233045029919447519826248813478479197288,\\n 14025118133847866722315446277964222215118620050302054655768867040006542798474,\\n 7400123822125662712777833064081316757896757785777291653271747396958201309118,\\n 1744432620323851751204287974553233986555641872755053103823939564833813704825,\\n 8316378125659383262515151597439205374263247719876250938893842106722210729522,\\n 6739722627047123650704294650168547689199576889424317598327664349670094847386,\\n 21211457866117465531949733809706514799713333930924902519246949506964470524162,\\n 13718112532745211817410303291774369209520657938741992779396229864894885156527,\\n 5264534817993325015357427094323255342713527811596856940387954546330728068658,\\n 18884137497114307927425084003812022333609937761793387700010402412840002189451,\\n 5148596049900083984813839872929010525572543381981952060869301611018636120248,\\n 19799686398774806587970184652860783461860993790013219899147141137827718662674,\\n 19240878651604412704364448729659032944342952609050243268894572835672205984837,\\n 10546185249390392695582524554167530669949955276893453512788278945742408153192,\\n 5507959600969845538113649209272736011390582494851145043668969080335346810411,\\n 18177751737739153338153217698774510185696788019377850245260475034576050820091,\\n 19603444733183990109492724100282114612026332366576932662794133334264283907557,\\n 10548274686824425401349248282213580046351514091431715597441736281987273193140,\\n 1823201861560942974198127384034483127920205835821334101215923769688644479957,\\n 11867589662193422187545516240823411225342068709600734253659804646934346124945,\\n 18718569356736340558616379408444812528964066420519677106145092918482774343613,\\n 10530777752259630125564678480897857853807637120039176813174150229243735996839,\\n 20486583726592018813337145844457018474256372770211860618687961310422228379031,\\n 12690713110714036569415168795200156516217175005650145422920562694422306200486,\\n 17386427286863519095301372413760745749282643730629659997153085139065756667205,\\n 2216432659854733047132347621569505613620980842043977268828076165669557467682,\\n 6309765381643925252238633914530877025934201680691496500372265330505506717193,\\n 20806323192073945401862788605803131761175139076694468214027227878952047793390,\\n 4037040458505567977365391535756875199663510397600316887746139396052445718861,\\n 19948974083684238245321361840704327952464170097132407924861169241740046562673,\\n 845322671528508199439318170916419179535949348988022948153107378280175750024,\\n 16222384601744433420585982239113457177459602187868460608565289920306145389382,\\n 10232118865851112229330353999139005145127746617219324244541194256766741433339,\\n 6699067738555349409504843460654299019000594109597429103342076743347235369120,\\n 6220784880752427143725783746407285094967584864656399181815603544365010379208,\\n 6129250029437675212264306655559561251995722990149771051304736001195288083309,\\n 10773245783118750721454994239248013870822765715268323522295722350908043393604,\\n 4490242021765793917495398271905043433053432245571325177153467194570741607167,\\n 19596995117319480189066041930051006586888908165330319666010398892494684778526,\\n 837850695495734270707668553360118467905109360511302468085569220634750561083,\\n 11803922811376367215191737026157445294481406304781326649717082177394185903907,\\n 10201298324909697255105265958780781450978049256931478989759448189112393506592,\\n 13564695482314888817576351063608519127702411536552857463682060761575100923924,\\n 9262808208636973454201420823766139682381973240743541030659775288508921362724,\\n 173271062536305557219323722062711383294158572562695717740068656098441040230,\\n 18120430890549410286417591505529104700901943324772175772035648111937818237369,\\n 20484495168135072493552514219686101965206843697794133766912991150184337935627,\\n 19155651295705203459475805213866664350848604323501251939850063308319753686505,\\n 11971299749478202793661982361798418342615500543489781306376058267926437157297,\\n 18285310723116790056148596536349375622245669010373674803854111592441823052978,\\n 7069216248902547653615508023941692395371990416048967468982099270925308100727,\\n 6465151453746412132599596984628739550147379072443683076388208843341824127379,\\n 16143532858389170960690347742477978826830511669766530042104134302796355145785,\\n 19362583304414853660976404410208489566967618125972377176980367224623492419647,\\n 1702213613534733786921602839210290505213503664731919006932367875629005980493,\\n 10781825404476535814285389902565833897646945212027592373510689209734812292327,\\n 4212716923652881254737947578600828255798948993302968210248673545442808456151,\\n 7594017890037021425366623750593200398174488805473151513558919864633711506220,\\n 18979889247746272055963929241596362599320706910852082477600815822482192194401,\\n 13602139229813231349386885113156901793661719180900395818909719758150455500533,\\n ];\\n\\n let mut r = 0;\\n for elem in array {\\n let h = mimc(elem, r, constants, exponent);\\n r = r + elem + h;\\n }\\n r\\n}\\n","path":"std/hash"},"18":{"source":"\\nimpl Field {\\n #[builtin(to_le_bits)]\\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\\n #[builtin(to_be_bits)]\\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\\n\\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\\n x.to_le_radix(256, byte_size)\\n }\\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\\n x.to_be_radix(256, byte_size)\\n }\\n\\n #[builtin(to_le_radix)]\\n //decompose _x into a _result_len vector over the _radix basis\\n //_radix must be less than 256\\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\\n #[builtin(to_be_radix)]\\n fn to_be_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\\n\\n // Returns self to the power of the given exponent value.\\n // Caution: we assume the exponent fits into 32 bits\\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\\n fn pow_32(self, exponent: Field) -> Field {\\n let mut r: Field = 1;\\n let b = exponent.to_le_bits(32);\\n\\n for i in 1..33 {\\n r *= r;\\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\\n }\\n r\\n }\\n\\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\\n fn sgn0(self) -> u1 {\\n self as u1\\n }\\n}\\n\\n#[builtin(modulus_num_bits)]\\nfn modulus_num_bits() -> Field {}\\n\\n#[builtin(modulus_be_bits)]\\nfn modulus_be_bits() -> [u1] {}\\n\\n#[builtin(modulus_le_bits)]\\nfn modulus_le_bits() -> [u1] {}\\n\\n#[builtin(modulus_be_bytes)]\\nfn modulus_be_bytes() -> [u8] {}\\n\\n#[builtin(modulus_le_bytes)]\\nfn modulus_le_bytes() -> [u8] {}\\n","path":"std/field"},"31":{"source":"use crate::constants_gen::{\\n RETURN_VALUES_LENGTH,\\n MAX_READ_REQUESTS_PER_CALL,\\n MAX_NEW_COMMITMENTS_PER_CALL,\\n MAX_NEW_NULLIFIERS_PER_CALL,\\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\\n NUM_FIELDS_PER_SHA256,\\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\\n MAX_PUBLIC_DATA_READS_PER_CALL,\\n GENERATOR_INDEX__FUNCTION_ARGS,\\n HISTORIC_BLOCK_DATA_LENGTH,\\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\\n CALL_CONTEXT_LENGTH,\\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\\n CONTRACT_STORAGE_READ_LENGTH,\\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\\n GENERATOR_INDEX__FUNCTION_DATA,\\n GENERATOR_INDEX__PUBLIC_DATA_READ,\\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\\n GENERATOR_INDEX__CALL_CONTEXT,\\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\\n};\\n\\nuse crate::oracle::debug_log;\\nuse crate::types::vec::BoundedVec;\\nuse crate::types::point::Point;\\n\\nstruct PrivateGlobalVariables {\\n chain_id: Field,\\n version: Field,\\n}\\n\\nimpl PrivateGlobalVariables {\\n fn serialize(self) -> [Field; 2] {\\n [self.chain_id, self.version]\\n }\\n}\\n\\nstruct PublicGlobalVariables {\\n chain_id: Field,\\n version: Field,\\n block_number: Field,\\n timestamp: Field,\\n}\\n\\nimpl PublicGlobalVariables {\\n fn serialize(self) -> [Field; 4] {\\n [self.chain_id, self.version, self.block_number, self.timestamp]\\n }\\n}\\n\\nstruct ContractDeploymentData {\\n deployer_public_key: Point,\\n constructor_vk_hash : Field,\\n function_tree_root : Field,\\n contract_address_salt : Field,\\n portal_contract_address : Field,\\n}\\n\\nimpl ContractDeploymentData {\\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\\n [\\n self.deployer_public_key.x,\\n self.deployer_public_key.y,\\n self.constructor_vk_hash,\\n self.function_tree_root,\\n self.contract_address_salt,\\n self.portal_contract_address,\\n ]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\\n }\\n}\\n\\n// PrivateContextInputs are expected to be provided to each private function\\nstruct PrivateContextInputs {\\n call_context : CallContext,\\n block_data: HistoricBlockData,\\n\\n contract_deployment_data: ContractDeploymentData,\\n\\n private_global_variables: PrivateGlobalVariables,\\n}\\n\\n// PublicContextInputs are expected to be provided to each public function\\nstruct PublicContextInputs {\\n call_context: CallContext,\\n block_data: HistoricBlockData,\\n\\n public_global_variables: PublicGlobalVariables,\\n}\\n\\nstruct CallContext {\\n msg_sender : Field,\\n storage_contract_address : Field,\\n portal_contract_address : Field,\\n\\n is_delegate_call : bool,\\n is_static_call : bool,\\n is_contract_deployment: bool,\\n}\\n\\nimpl CallContext {\\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\\n [\\n self.msg_sender,\\n self.storage_contract_address,\\n self.portal_contract_address,\\n self.is_delegate_call as Field,\\n self.is_static_call as Field,\\n self.is_contract_deployment as Field,\\n ]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\\n }\\n}\\n\\nstruct HistoricBlockData {\\n private_data_tree_root : Field,\\n nullifier_tree_root : Field,\\n contract_tree_root : Field,\\n l1_to_l2_messages_tree_root : Field,\\n blocks_tree_root: Field,\\n public_data_tree_root: Field,\\n global_variables_hash: Field,\\n}\\n\\nimpl HistoricBlockData {\\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\\n [\\n self.private_data_tree_root,\\n self.nullifier_tree_root,\\n self.contract_tree_root,\\n self.l1_to_l2_messages_tree_root,\\n self.blocks_tree_root,\\n self.public_data_tree_root,\\n self.global_variables_hash,\\n ]\\n }\\n\\n fn empty() -> Self {\\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\\n }\\n}\\n\\nstruct FunctionData {\\n function_selector: Field,\\n is_internal: bool,\\n is_private: bool,\\n is_constructor: bool,\\n}\\n\\nimpl FunctionData {\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator([\\n self.function_selector,\\n self.is_internal as Field,\\n self.is_private as Field,\\n self.is_constructor as Field,\\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\\n }\\n}\\n\\nstruct PrivateCircuitPublicInputs {\\n call_context: CallContext,\\n args_hash: Field,\\n return_values: [Field; RETURN_VALUES_LENGTH],\\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\\n // Explore introducing a new type like uint256 (similar to Point), so it\'s more explicit that\\n // we\'re talking about a single number backed by two field elements.\\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\\n encrypted_log_preimages_length: Field,\\n unencrypted_log_preimages_length: Field,\\n block_data: HistoricBlockData,\\n contract_deployment_data: ContractDeploymentData,\\n chain_id: Field,\\n version: Field,\\n}\\n\\nimpl PrivateCircuitPublicInputs {\\n fn hash(self) -> Field {\\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0); \\n fields.push(self.call_context.hash());\\n fields.push(self.args_hash);\\n fields.push_array(self.return_values);\\n fields.push_array(self.read_requests);\\n fields.push_array(self.new_commitments);\\n fields.push_array(self.new_nullifiers);\\n fields.push_array(self.nullified_commitments);\\n fields.push_array(self.private_call_stack);\\n fields.push_array(self.public_call_stack);\\n fields.push_array(self.new_l2_to_l1_msgs);\\n fields.push_array(self.encrypted_logs_hash);\\n fields.push_array(self.unencrypted_logs_hash);\\n fields.push(self.encrypted_log_preimages_length);\\n fields.push(self.unencrypted_log_preimages_length);\\n fields.push_array(self.block_data.serialize());\\n fields.push(self.contract_deployment_data.hash());\\n fields.push(self.chain_id);\\n fields.push(self.version);\\n\\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\\n }\\n\\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \\n fields.push_array(self.call_context.serialize());\\n fields.push(self.args_hash);\\n fields.push_array(self.return_values);\\n fields.push_array(self.read_requests);\\n fields.push_array(self.new_commitments);\\n fields.push_array(self.new_nullifiers);\\n fields.push_array(self.private_call_stack);\\n fields.push_array(self.public_call_stack);\\n fields.push_array(self.new_l2_to_l1_msgs);\\n fields.push_array(self.encrypted_logs_hash);\\n fields.push_array(self.unencrypted_logs_hash);\\n fields.push(self.encrypted_log_preimages_length);\\n fields.push(self.unencrypted_log_preimages_length);\\n fields.push_array(self.block_data.serialize());\\n fields.push_array(self.contract_deployment_data.serialize());\\n fields.push(self.chain_id);\\n fields.push(self.version);\\n fields.storage\\n }\\n}\\n\\nstruct ContractStorageRead {\\n storage_slot: Field,\\n value: Field,\\n}\\n\\nimpl ContractStorageRead {\\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\\n [self.storage_slot, self.value]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\\n }\\n\\n fn empty() -> Self {\\n Self { storage_slot: 0, value: 0 }\\n }\\n}\\n\\nstruct ContractStorageUpdateRequest {\\n storage_slot: Field,\\n old_value: Field,\\n new_value: Field,\\n}\\n\\nimpl ContractStorageUpdateRequest {\\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\\n [self.storage_slot, self.old_value, self.new_value]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\\n }\\n\\n fn empty() -> Self {\\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\\n }\\n}\\n\\n\\nstruct PublicCircuitPublicInputs {\\n call_context: CallContext,\\n args_hash: Field,\\n return_values: [Field; RETURN_VALUES_LENGTH],\\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\\n unencrypted_log_preimages_length: Field,\\n block_data: HistoricBlockData,\\n prover_address: Field,\\n\\n // TODO: include globals in here and check them elsewhere\\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\\n}\\n\\nimpl PublicCircuitPublicInputs {\\n \\n fn hash(self) -> Field {\\n let mut inputs: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0);\\n inputs.push(self.call_context.hash());\\n inputs.push(self.args_hash);\\n inputs.push_array(self.return_values);\\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\\n inputs.push(self.contract_storage_update_requests[i].hash());\\n }\\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\\n inputs.push(self.contract_storage_read[i].hash());\\n }\\n inputs.push_array(self.public_call_stack);\\n inputs.push_array(self.new_commitments);\\n inputs.push_array(self.new_nullifiers);\\n inputs.push_array(self.new_l2_to_l1_msgs);\\n\\n // We do not include block_data since it\'s not in the cpp hash\\n\\n inputs.push_array(self.unencrypted_logs_hash);\\n inputs.push(self.unencrypted_log_preimages_length);\\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\\n inputs.push(self.prover_address);\\n\\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\\n }\\n\\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \\n fields.push_array(self.call_context.serialize()); \\n fields.push(self.args_hash);\\n fields.push_array(self.return_values);\\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\\n fields.push_array(self.contract_storage_update_requests[i].serialize());\\n }\\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\\n fields.push_array(self.contract_storage_read[i].serialize());\\n }\\n fields.push_array(self.public_call_stack);\\n fields.push_array(self.new_commitments);\\n fields.push_array(self.new_nullifiers);\\n fields.push_array(self.new_l2_to_l1_msgs);\\n fields.push_array(self.unencrypted_logs_hash);\\n fields.push(self.unencrypted_log_preimages_length);\\n fields.push_array(self.block_data.serialize());\\n fields.push(self.prover_address);\\n fields.storage\\n }\\n}\\n\\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\\n\\nfn hash_args<N>(args: [Field; N]) -> Field {\\n if args.len() == 0 {\\n 0\\n } else {\\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\\n for i in 0..ARGS_HASH_CHUNK_COUNT {\\n let mut chunk_hash = 0;\\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\\n if start_chunk_index < (args.len() as u32) {\\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\\n if item_index < (args.len() as u32) {\\n chunk_args[j] = args[item_index];\\n }\\n }\\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\\n }\\n chunks_hashes[i] = chunk_hash;\\n }\\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\\n }\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi"},"32":{"source":"use crate::constants_gen::{\\n EMPTY_NULLIFIED_COMMITMENT,\\n MAX_NEW_COMMITMENTS_PER_CALL,\\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\\n MAX_NEW_NULLIFIERS_PER_CALL,\\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\\n MAX_PUBLIC_DATA_READS_PER_CALL,\\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\\n MAX_READ_REQUESTS_PER_CALL,\\n NUM_FIELDS_PER_SHA256,\\n RETURN_VALUES_LENGTH,\\n};\\n\\nuse crate::abi;\\n\\nuse crate::abi::{\\n hash_args,\\n CallContext,\\n ContractDeploymentData,\\n HistoricBlockData,\\n FunctionData,\\n PrivateCircuitPublicInputs,\\n PublicCircuitPublicInputs,\\n};\\n\\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n// use dep::std::collections::vec::Vec;\\n\\n// l1 to l2 messaging\\nuse crate::messaging::process_l1_to_l2_message;\\nuse crate::private_call_stack_item::PrivateCallStackItem;\\nuse crate::public_call_stack_item::PublicCallStackItem;\\n\\nuse crate::types::{\\n vec::BoundedVec,\\n point::Point,\\n};\\n\\nuse crate::utils::arr_copy_slice;\\n\\nuse crate::oracle::{\\n arguments,\\n call_private_function::call_private_function_internal,\\n public_call::call_public_function_internal,\\n enqueue_public_function_call::enqueue_public_function_call_internal,\\n context::get_portal_address,\\n};\\n\\n\\n// When finished, one can call .finish() to convert back to the abi\\nstruct PrivateContext {\\n inputs: abi::PrivateContextInputs,\\n\\n args_hash : Field,\\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\\n\\n read_requests: BoundedVec<Field, MAX_READ_REQUESTS_PER_CALL>,\\n\\n new_commitments: BoundedVec<Field, MAX_NEW_COMMITMENTS_PER_CALL>,\\n new_nullifiers: BoundedVec<Field, MAX_NEW_NULLIFIERS_PER_CALL>,\\n nullified_commitments: BoundedVec<Field, MAX_NEW_NULLIFIERS_PER_CALL>,\\n\\n private_call_stack : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\\n public_call_stack : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\\n new_l2_to_l1_msgs : BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\\n\\n block_data: HistoricBlockData,\\n\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n // encrypted_logs_preimages: Vec<Field>,\\n // unencrypted_logs_preimages: Vec<Field>,\\n}\\n\\nimpl PrivateContext {\\n fn new(inputs: abi::PrivateContextInputs, args_hash: Field) -> PrivateContext {\\n PrivateContext {\\n inputs: inputs,\\n\\n args_hash: args_hash,\\n return_values: BoundedVec::new(0),\\n\\n read_requests: BoundedVec::new(0),\\n\\n new_commitments: BoundedVec::new(0),\\n new_nullifiers: BoundedVec::new(0),\\n nullified_commitments: BoundedVec::new(0),\\n\\n block_data: inputs.block_data,\\n\\n private_call_stack: BoundedVec::new(0),\\n public_call_stack: BoundedVec::new(0),\\n new_l2_to_l1_msgs: BoundedVec::new(0),\\n\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n // encrypted_logs_preimages: Vec::new(),\\n // unencrypted_logs_preimages: Vec::new(),\\n }\\n }\\n\\n fn msg_sender(self) -> Field {\\n self.inputs.call_context.msg_sender\\n }\\n\\n fn this_address(self) -> Field {\\n self.inputs.call_context.storage_contract_address\\n }\\n\\n fn this_portal_address(self) -> Field {\\n self.inputs.call_context.portal_contract_address\\n }\\n\\n fn chain_id(self) -> Field {\\n self.inputs.private_global_variables.chain_id\\n }\\n\\n fn version(self) -> Field {\\n self.inputs.private_global_variables.version\\n }\\n\\n fn finish(self) -> abi::PrivateCircuitPublicInputs {\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\\n let encrypted_log_preimages_length = 0;\\n let unencrypted_log_preimages_length = 0;\\n\\n let priv_circuit_pub_inputs = abi::PrivateCircuitPublicInputs {\\n call_context: self.inputs.call_context,\\n args_hash: self.args_hash,\\n return_values: self.return_values.storage,\\n read_requests: self.read_requests.storage,\\n new_commitments: self.new_commitments.storage,\\n new_nullifiers: self.new_nullifiers.storage,\\n nullified_commitments: self.nullified_commitments.storage,\\n private_call_stack: self.private_call_stack.storage,\\n public_call_stack: self.public_call_stack.storage,\\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\\n encrypted_logs_hash: encrypted_logs_hash,\\n unencrypted_logs_hash: unencrypted_logs_hash,\\n encrypted_log_preimages_length: encrypted_log_preimages_length,\\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\\n block_data: self.block_data,\\n contract_deployment_data: self.inputs.contract_deployment_data,\\n chain_id: self.inputs.private_global_variables.chain_id,\\n version: self.inputs.private_global_variables.version,\\n };\\n priv_circuit_pub_inputs\\n }\\n\\n fn push_read_request(&mut self, read_request: Field) {\\n self.read_requests.push(read_request);\\n }\\n\\n fn push_new_note_hash(&mut self, note_hash: Field) {\\n self.new_commitments.push(note_hash);\\n }\\n\\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\\n self.new_nullifiers.push(nullifier);\\n self.nullified_commitments.push(nullified_commitment);\\n }\\n\\n fn message_portal(&mut self, content: Field) {\\n self.new_l2_to_l1_msgs.push(content);\\n }\\n\\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\\n fn consume_l1_to_l2_message(&mut self, inputs: abi::PrivateContextInputs, msg_key: Field, content: Field, secret: Field) {\\n let nullifier = process_l1_to_l2_message(inputs.block_data.l1_to_l2_messages_tree_root, inputs.call_context.storage_contract_address, msg_key, content, secret);\\n\\n // Push nullifier (and the \\"commitment\\" corresponding to this can be \\"empty\\")\\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\\n }\\n\\n fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\\n let _void1 = self.inputs;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\\n let _void1 = self.inputs;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn call_private_function<ARGS_COUNT>(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field, \\n args: [Field; ARGS_COUNT]\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n let args_hash = hash_args(args);\\n assert(args_hash == arguments::pack_arguments(args));\\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\\n }\\n\\n fn call_private_function_no_args(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field, \\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\\n }\\n\\n fn call_private_function_with_packed_args(\\n &mut self,\\n contract_address: Field,\\n function_selector: Field,\\n args_hash: Field\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n let fields = call_private_function_internal(\\n contract_address, \\n function_selector, \\n args_hash\\n );\\n let item = PrivateCallStackItem {\\n contract_address: fields[0],\\n function_data: FunctionData {\\n function_selector: fields[1],\\n is_internal: fields[2] as bool,\\n is_private: fields[3] as bool,\\n is_constructor: fields[4] as bool,\\n },\\n public_inputs: PrivateCircuitPublicInputs {\\n call_context: CallContext {\\n msg_sender : fields[5],\\n storage_contract_address : fields[6],\\n portal_contract_address : fields[7],\\n \\n is_delegate_call : fields[8] as bool,\\n is_static_call : fields[9] as bool,\\n is_contract_deployment: fields[10] as bool,\\n },\\n // TODO handle the offsets as a variable incremented during extraction?\\n args_hash: fields[11],\\n return_values: arr_copy_slice(fields, [0; RETURN_VALUES_LENGTH], 12),\\n read_requests: arr_copy_slice(fields, [0; MAX_READ_REQUESTS_PER_CALL], 16),\\n new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 20),\\n new_nullifiers: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 24),\\n nullified_commitments: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 28),\\n private_call_stack: arr_copy_slice(fields, [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL], 32),\\n public_call_stack: arr_copy_slice(fields, [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL], 36),\\n new_l2_to_l1_msgs: arr_copy_slice(fields, [0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL], 40),\\n encrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 42),\\n unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),\\n encrypted_log_preimages_length: fields[46],\\n unencrypted_log_preimages_length: fields[47],\\n block_data: HistoricBlockData {\\n // Must match order in `private_circuit_public_inputs.hpp`\\n private_data_tree_root : fields[48],\\n nullifier_tree_root : fields[49],\\n contract_tree_root : fields[50],\\n l1_to_l2_messages_tree_root : fields[51],\\n blocks_tree_root : fields[52],\\n public_data_tree_root: fields[53],\\n global_variables_hash: fields[54],\\n },\\n contract_deployment_data: ContractDeploymentData {\\n deployer_public_key: Point::new(fields[55], fields[56]),\\n constructor_vk_hash : fields[57],\\n function_tree_root : fields[58],\\n contract_address_salt : fields[59],\\n portal_contract_address : fields[60],\\n },\\n chain_id: fields[61],\\n version: fields[62],\\n },\\n is_execution_request: fields[63] as bool,\\n };\\n assert(contract_address == item.contract_address);\\n assert(function_selector == item.function_data.function_selector);\\n\\n assert(args_hash == item.public_inputs.args_hash);\\n\\n assert(item.is_execution_request == false);\\n\\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\\n // the msg_sender in the nested call to be equal to our address, and the execution context address\\n // for the nested call to be equal to the address we actually called.\\n assert(item.public_inputs.call_context.is_delegate_call == false);\\n assert(item.public_inputs.call_context.is_static_call == false);\\n assert(item.public_inputs.call_context.is_contract_deployment == false);\\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\\n\\n self.private_call_stack.push(item.hash());\\n\\n item.public_inputs.return_values\\n }\\n\\n fn call_public_function<ARGS_COUNT>(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field, \\n args: [Field; ARGS_COUNT]\\n ) {\\n let args_hash = hash_args(args);\\n assert(args_hash == arguments::pack_arguments(args));\\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash)\\n }\\n\\n fn call_public_function_no_args(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field,\\n ) {\\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\\n }\\n\\n fn call_public_function_with_packed_args(\\n &mut self,\\n contract_address: Field,\\n function_selector: Field,\\n args_hash: Field\\n ) {\\n let fields = enqueue_public_function_call_internal(\\n contract_address, \\n function_selector, \\n args_hash\\n );\\n let item = PublicCallStackItem {\\n contract_address: fields[0],\\n function_data: FunctionData {\\n function_selector: fields[1],\\n is_internal: fields[2] as bool,\\n is_private: fields[3] as bool,\\n is_constructor: fields[4] as bool,\\n },\\n public_inputs: PublicCircuitPublicInputs {\\n call_context: CallContext {\\n msg_sender : fields[5],\\n storage_contract_address : fields[6],\\n portal_contract_address : fields[7],\\n \\n is_delegate_call : fields[8] as bool,\\n is_static_call : fields[9] as bool,\\n is_contract_deployment: fields[10] as bool,\\n },\\n args_hash: fields[11],\\n return_values: [0; RETURN_VALUES_LENGTH],\\n contract_storage_update_requests: [ContractStorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\\n contract_storage_read: [ContractStorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\\n public_call_stack: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\\n new_commitments: [0; MAX_NEW_COMMITMENTS_PER_CALL],\\n new_nullifiers: [0; MAX_NEW_NULLIFIERS_PER_CALL],\\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\\n unencrypted_log_preimages_length: 0,\\n block_data: HistoricBlockData::empty(),\\n prover_address: 0,\\n },\\n is_execution_request: true,\\n };\\n\\n assert(contract_address == item.contract_address);\\n assert(function_selector == item.function_data.function_selector);\\n \\n assert(args_hash == item.public_inputs.args_hash);\\n\\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\\n // the msg_sender in the nested call to be equal to our address, and the execution context address\\n // for the nested call to be equal to the address we actually called.\\n assert(item.public_inputs.call_context.is_delegate_call == false);\\n assert(item.public_inputs.call_context.is_static_call == false);\\n assert(item.public_inputs.call_context.is_contract_deployment == false);\\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\\n\\n self.public_call_stack.push(item.hash());\\n }\\n}\\n\\nuse crate::abi::{\\n ContractStorageRead,\\n ContractStorageUpdateRequest\\n};\\n\\nstruct PublicContext {\\n inputs: abi::PublicContextInputs,\\n\\n args_hash : Field,\\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\\n\\n contract_storage_update_requests: BoundedVec<ContractStorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\\n contract_storage_read: BoundedVec<ContractStorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\\n public_call_stack: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\\n\\n new_commitments: BoundedVec<Field, MAX_NEW_COMMITMENTS_PER_CALL>,\\n new_nullifiers: BoundedVec<Field, crate::abi::MAX_NEW_NULLIFIERS_PER_CALL>,\\n\\n new_l2_to_l1_msgs: BoundedVec<Field, crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\\n\\n unencrypted_logs_hash: BoundedVec<Field, NUM_FIELDS_PER_SHA256>,\\n unencrypted_logs_preimages_length: Field,\\n\\n block_data: HistoricBlockData,\\n prover_address: Field,\\n}\\n\\nimpl PublicContext {\\n fn new(inputs: abi::PublicContextInputs, args_hash: Field) -> PublicContext {\\n let empty_storage_read = ContractStorageRead::empty();\\n let empty_storage_update = ContractStorageUpdateRequest::empty();\\n PublicContext {\\n inputs: inputs,\\n\\n args_hash: args_hash,\\n return_values: BoundedVec::new(0),\\n\\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\\n contract_storage_read: BoundedVec::new(empty_storage_read),\\n public_call_stack: BoundedVec::new(0),\\n\\n new_commitments: BoundedVec::new(0),\\n new_nullifiers: BoundedVec::new(0),\\n\\n new_l2_to_l1_msgs: BoundedVec::new(0),\\n\\n \\n unencrypted_logs_hash: BoundedVec::new(0),\\n unencrypted_logs_preimages_length: 0,\\n\\n block_data: inputs.block_data,\\n prover_address: 0,\\n\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n // encrypted_logs_preimages: Vec::new(),\\n // unencrypted_logs_preimages: Vec::new(),\\n }\\n }\\n\\n fn msg_sender(self) -> Field {\\n self.inputs.call_context.msg_sender\\n }\\n\\n fn this_address(self) -> Field {\\n self.inputs.call_context.storage_contract_address\\n }\\n\\n fn this_portal_address(self) -> Field {\\n self.inputs.call_context.portal_contract_address\\n }\\n\\n fn chain_id(self) -> Field {\\n self.inputs.public_global_variables.chain_id\\n }\\n\\n fn version(self) -> Field {\\n self.inputs.public_global_variables.version\\n }\\n\\n fn block_number(self) -> Field {\\n self.inputs.public_global_variables.block_number\\n }\\n\\n fn timestamp(self) -> Field {\\n self.inputs.public_global_variables.timestamp\\n }\\n\\n fn finish(self) -> abi::PublicCircuitPublicInputs {\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\\n let unencrypted_log_preimages_length = 0;\\n\\n\\n // Compute the public call stack hashes\\n let pub_circuit_pub_inputs = abi::PublicCircuitPublicInputs {\\n call_context: self.inputs.call_context, // Done\\n args_hash: self.args_hash, // Done\\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\\n contract_storage_read: self.contract_storage_read.storage,\\n return_values: self.return_values.storage,\\n new_commitments: self.new_commitments.storage,\\n new_nullifiers: self.new_nullifiers.storage,\\n public_call_stack: self.public_call_stack.storage,\\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\\n unencrypted_logs_hash: unencrypted_logs_hash,\\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\\n block_data: self.inputs.block_data,\\n prover_address: self.prover_address,\\n };\\n pub_circuit_pub_inputs\\n }\\n\\n fn push_new_note_hash(&mut self, note_hash: Field) {\\n self.new_commitments.push(note_hash);\\n }\\n\\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\\n self.new_nullifiers.push(nullifier);\\n }\\n\\n fn message_portal(&mut self, content: Field) {\\n self.new_l2_to_l1_msgs.push(content);\\n }\\n\\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\\n fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\\n let this = (*self).this_address();\\n let nullifier = process_l1_to_l2_message(self.block_data.l1_to_l2_messages_tree_root, this, msg_key, content, secret);\\n\\n // Push nullifier (and the \\"commitment\\" corresponding to this can be \\"empty\\")\\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\\n }\\n\\n fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\\n let _void1 = self;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\\n let _void1 = self;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn call_public_function<ARGS_COUNT>(\\n _self: Self,\\n contract_address: Field, \\n function_selector: Field,\\n args: [Field; ARGS_COUNT],\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n let args_hash = abi::hash_args(args);\\n assert(args_hash == arguments::pack_arguments(args));\\n call_public_function_internal(\\n contract_address, \\n function_selector, \\n args_hash,\\n )\\n }\\n\\n fn call_public_function_no_args(\\n _self: Self,\\n contract_address: Field, \\n function_selector: Field,\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n call_public_function_internal(\\n contract_address, \\n function_selector, \\n 0,\\n )\\n }\\n\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/context"},"33":{"source":"use crate::context::PrivateContext;\\nuse crate::oracle;\\nuse crate::types::point::Point;\\n\\nfn emit_encrypted_log<N>(\\n context: &mut PrivateContext,\\n contract_address: Field,\\n storage_slot: Field,\\n encryption_pub_key: Point,\\n log: [Field; N],\\n) {\\n let _ = oracle::logs::emit_encrypted_log(contract_address, storage_slot, encryption_pub_key, log);\\n context.accumulate_encrypted_logs(log);\\n}\\n\\nfn emit_unencrypted_log<T>(\\n context: &mut PrivateContext,\\n log: T,\\n) {\\n let _ = oracle::logs::emit_unencrypted_log(log);\\n context.accumulate_unencrypted_logs(log);\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/log"},"39":{"source":"use dep::std::option::Option;\\nuse crate::abi::PublicContextInputs;\\nuse crate::context::{\\n PrivateContext,\\n PublicContext,\\n};\\nuse crate::note::{\\n note_header::NoteHeader,\\n note_interface::NoteInterface,\\n utils::compute_inner_note_hash,\\n};\\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\\nuse crate::constants_gen::EMPTY_NULLIFIED_COMMITMENT;\\n\\nfn create_note<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note: &mut Note,\\n note_interface: NoteInterface<Note, N>,\\n) {\\n let contract_address = (*context).this_address();\\n\\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\\n let set_header = note_interface.set_header;\\n set_header(note, header);\\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\\n\\n let serialise = note_interface.serialise;\\n let preimage = serialise(*note);\\n assert(notify_created_note(storage_slot, preimage, inner_note_hash) == 0);\\n\\n context.push_new_note_hash(inner_note_hash);\\n}\\n\\nfn create_note_hash_from_public<Note, N>(\\n context: &mut PublicContext,\\n storage_slot: Field,\\n note: &mut Note,\\n note_interface: NoteInterface<Note, N>,\\n) {\\n let contract_address = (*context).this_address();\\n\\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\\n let set_header = note_interface.set_header;\\n set_header(note, header);\\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\\n\\n context.push_new_note_hash(inner_note_hash);\\n}\\n\\nfn destroy_note<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note: Note,\\n note_interface: NoteInterface<Note, N>,\\n) {\\n let mut nullifier = 0;\\n let mut nullified_commitment: Field = EMPTY_NULLIFIED_COMMITMENT;\\n let compute_nullifier = note_interface.compute_nullifier;\\n nullifier = compute_nullifier(note);\\n\\n let serialise = note_interface.serialise;\\n let preimage = serialise(note);\\n\\n // We also need the note commitment corresponding to the \\"nullifier\\"\\n let get_header = note_interface.get_header;\\n let header = get_header(note);\\n // 0 nonce implies \\"transient\\" nullifier (must nullify a commitment in this TX).\\n // `nullified_commitment` is used to inform the kernel which pending commitment\\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\\n // nonzero nonce implies \\"persistable\\" nullifier (nullifies a persistent/in-tree\\n // commitment) in which case `nullified_commitment` is not used since the kernel\\n // just siloes and forwards the nullier to its output.\\n if (header.nonce == 0) {\\n // TODO(suyash): Can we reuse the note commitment computed in `compute_nullifier`?\\n nullified_commitment = compute_inner_note_hash(note_interface, note);\\n }\\n assert(notify_nullified_note(storage_slot, nullifier, preimage, nullified_commitment) == 0);\\n\\n context.push_new_nullifier(nullifier, nullified_commitment)\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/lifecycle"},"40":{"source":"use dep::std::option::Option;\\nuse crate::constants_gen::{\\n MAX_READ_REQUESTS_PER_CALL,\\n GET_NOTE_ORACLE_RETURN_LENGTH,\\n GET_NOTES_ORACLE_RETURN_LENGTH,\\n MAX_NOTES_PER_PAGE,\\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\\n};\\nuse crate::context::PrivateContext;\\nuse crate::note::{\\n note_getter_options::{NoteGetterOptions, Select, Sort},\\n note_interface::NoteInterface,\\n note_header::NoteHeader,\\n note_viewer_options::NoteViewerOptions,\\n utils::compute_note_hash_for_read_or_nullify,\\n utils::compute_unique_siloed_note_hash,\\n utils::compute_inner_note_hash,\\n utils::compute_siloed_note_hash,\\n};\\nuse crate::messaging::get_commitment_getter_data::make_commitment_getter_data;\\nuse crate::oracle;\\nuse crate::types::vec::BoundedVec;\\n\\nfn check_note_header<Note, N>(\\n context: PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n note: Note,\\n) {\\n let get_header = note_interface.get_header;\\n let header = get_header(note);\\n let contract_address = context.this_address();\\n assert(header.contract_address == contract_address);\\n assert(header.storage_slot == storage_slot);\\n}\\n\\nfn ensure_note_exists<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n note: &mut Note,\\n) {\\n let saved_note = get_note_internal(storage_slot, note_interface);\\n\\n // Only copy over the header to the original note to make sure the preimage is the same.\\n let get_header = note_interface.get_header;\\n let set_header = note_interface.set_header;\\n let note_header = get_header(saved_note);\\n set_header(note, note_header);\\n\\n check_note_header(*context, storage_slot, note_interface, *note);\\n\\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, *note);\\n context.push_read_request(note_hash_for_read_request);\\n}\\n\\n// Ensure a note\'s hash exists in the tree without retrieving the entire\\n// notes via the oracle.\\n// Modifies the note by populating it with header info.\\nfn ensure_note_hash_exists<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n note: &mut Note,\\n) {\\n // Initialize header of note. Must be done before computing note hashes as it initializes the:\\n // - storage slot (used in inner note hash)\\n // - the contract address (used in siloed note hash)\\n // - and the nonce (used in the unique siloed note hash)\\n let set_header = note_interface.set_header;\\n let note_header = NoteHeader {\\n contract_address: (*context).this_address(),\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\\n // real nonce (once public kernel applies nonces).\\n nonce: 0,\\n storage_slot\\n };\\n set_header(note, note_header);\\n\\n // Get a note from oracle and early out if it doesn\'t exist.\\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\\n\\n let raw_oracle_ret = oracle::get_commitment::get_commitment(inner_note_hash);\\n let deserialized_oracle_ret = make_commitment_getter_data(raw_oracle_ret, 0);\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\\n // unique_siloed_note_hash once public kernel applies nonces\\n let saved_siloed_note_hash = deserialized_oracle_ret.message;\\n\\n assert(saved_siloed_note_hash != 0); // TODO(dbanks12): necessary?\\n\\n check_note_header(*context, storage_slot, note_interface, *note);\\n\\n // Ensure that the note hash retrieved from oracle matches the one computed from note.\\n let computed_siloed_note_hash = compute_siloed_note_hash(note_interface, *note);\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\\n // compute_note_hash_for_read_or_nullify once public kernel applies nonces\\n assert(computed_siloed_note_hash == saved_siloed_note_hash);\\n\\n context.push_read_request(computed_siloed_note_hash);\\n}\\n\\nfn get_note<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n) -> Note {\\n let note = get_note_internal(storage_slot, note_interface);\\n\\n check_note_header(*context, storage_slot, note_interface, note);\\n\\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\\n\\n context.push_read_request(note_hash_for_read_request);\\n note\\n}\\n\\nfn get_notes<Note, N, FILTER_ARGS>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n options: NoteGetterOptions<Note, N, FILTER_ARGS>,\\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\\n let opt_notes = get_notes_internal(storage_slot, note_interface, options);\\n for i in 0..opt_notes.len() {\\n let opt_note = opt_notes[i];\\n let mut note_hash_for_read_request = 0;\\n if opt_note.is_some() {\\n let note = opt_note.unwrap_unchecked();\\n check_note_header(*context, storage_slot, note_interface, note);\\n note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\\n };\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\\n // failure if malicious oracle injects 0 nonce here for a \\"pre-existing\\" note.\\n context.push_read_request(note_hash_for_read_request);\\n };\\n\\n // TODO(#1660)\\n // Move it back to get_notes_internal and only make read request for selected notes.\\n let filter = options.filter;\\n let filter_args = options.filter_args;\\n filter(opt_notes, filter_args)\\n}\\n\\nunconstrained fn get_note_internal<Note, N>(\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n) -> Note {\\n let placeholder_note = [Option::none()];\\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\\n oracle::notes::get_notes(\\n storage_slot,\\n note_interface,\\n 0,\\n [],\\n [],\\n [],\\n [],\\n 1, // limit\\n 0, // offset\\n placeholder_note,\\n placeholder_fields,\\n )[0].unwrap() // Notice: we don\'t allow dummies to be returned from get_note (singular).\\n}\\n\\nunconstrained fn get_notes_internal<Note, N, FILTER_ARGS>(\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n options: NoteGetterOptions<Note, N, FILTER_ARGS>,\\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\\n oracle::notes::get_notes(\\n storage_slot,\\n note_interface,\\n num_selects,\\n select_by,\\n select_values,\\n sort_by,\\n sort_order,\\n options.limit,\\n options.offset,\\n placeholder_opt_notes,\\n placeholder_fields,\\n )\\n}\\n\\nunconstrained fn view_notes<Note, N>(\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n options: NoteViewerOptions<Note, N>,\\n) -> [Option<Note>; MAX_NOTES_PER_PAGE] {\\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\\n oracle::notes::get_notes(\\n storage_slot,\\n note_interface,\\n num_selects,\\n select_by,\\n select_values,\\n sort_by,\\n sort_order,\\n options.limit,\\n options.offset,\\n placeholder_opt_notes,\\n placeholder_fields,\\n )\\n}\\n\\nunconstrained fn flatten_options<Note, N>(\\n selects: BoundedVec<Option<Select>, N>,\\n sorts: BoundedVec<Option<Sort>, N>,\\n) -> (u8, [u8; N], [Field; N], [u8; N], [u2; N]) {\\n let mut num_selects = 0;\\n let mut select_by = [0; N];\\n let mut select_values = [0; N];\\n for i in 0..selects.len {\\n let select = selects.get(i);\\n if select.is_some() {\\n select_by[num_selects] = select.unwrap_unchecked().field_index;\\n select_values[num_selects] = select.unwrap_unchecked().value;\\n num_selects += 1;\\n };\\n };\\n\\n let mut sort_by = [0; N];\\n let mut sort_order = [0; N];\\n for i in 0..sorts.len {\\n let sort = sorts.get(i);\\n if sort.is_some() {\\n sort_by[i] = sort.unwrap_unchecked().field_index;\\n sort_order[i] = sort.unwrap_unchecked().order;\\n };\\n };\\n\\n (num_selects, select_by, select_values, sort_by, sort_order)\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_getter"},"42":{"source":"use dep::std::hash::{pedersen, pedersen_with_separator};\\nuse crate::constants_gen::{GENERATOR_INDEX__UNIQUE_COMMITMENT, GENERATOR_INDEX__SILOED_COMMITMENT};\\n\\nfn compute_inner_hash(storage_slot: Field, note_hash: Field) -> Field {\\n // TODO(#1205) Do we need a generator index here?\\n pedersen([storage_slot, note_hash])[0]\\n}\\n\\nfn compute_siloed_hash(contract_address: Field, inner_note_hash: Field) -> Field {\\n let inputs = [contract_address, inner_note_hash];\\n pedersen_with_separator(inputs, GENERATOR_INDEX__SILOED_COMMITMENT)[0]\\n}\\n\\nfn compute_unique_hash(nonce: Field, siloed_note_hash: Field) -> Field {\\n let inputs = [nonce, siloed_note_hash];\\n pedersen_with_separator(inputs, GENERATOR_INDEX__UNIQUE_COMMITMENT)[0]\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_hash"},"46":{"source":"use crate::note::{\\n note_hash::{compute_inner_hash, compute_siloed_hash, compute_unique_hash},\\n note_header::NoteHeader,\\n note_interface::NoteInterface,\\n};\\nuse crate::utils::arr_copy_slice;\\n\\nfn compute_inner_note_hash<Note, N>(\\n note_interface: NoteInterface<Note, N>,\\n note: Note,\\n) -> Field {\\n let get_header = note_interface.get_header;\\n let header = get_header(note);\\n\\n let compute_note_hash = note_interface.compute_note_hash;\\n let note_hash = compute_note_hash(note);\\n\\n compute_inner_hash(header.storage_slot, note_hash)\\n}\\n\\nfn compute_siloed_note_hash<Note, N>(\\n note_interface: NoteInterface<Note, N>,\\n note_with_header: Note,\\n) -> Field {\\n let get_header = note_interface.get_header;\\n let header = get_header(note_with_header);\\n\\n let inner_note_hash = compute_inner_note_hash(note_interface, note_with_header);\\n\\n compute_siloed_hash(header.contract_address, inner_note_hash)\\n}\\n\\nfn compute_unique_siloed_note_hash<Note, N>(\\n note_interface: NoteInterface<Note, N>,\\n note_with_header: Note,\\n) -> Field {\\n let get_header = note_interface.get_header;\\n let header = get_header(note_with_header);\\n\\n let siloed_note_hash = compute_siloed_note_hash(note_interface, note_with_header);\\n\\n compute_unique_hash(header.nonce, siloed_note_hash)\\n}\\n\\nfn compute_note_hash_for_read_or_nullify<Note, N>(\\n note_interface: NoteInterface<Note, N>,\\n note_with_header: Note,\\n) -> Field {\\n let get_header = note_interface.get_header;\\n let header = get_header(note_with_header);\\n\\n if (header.nonce == 0) {\\n // when nonce is zero, that means we are reading a pending note (doesn\'t have a nonce yet),\\n // so we just read the inner_note_hash (kernel will silo by contract address)\\n compute_inner_note_hash(note_interface, note_with_header)\\n } else {\\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\\n // contract address and then nonce. This hash will match the existing leaf in the private\\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\\n compute_unique_siloed_note_hash(note_interface, note_with_header)\\n }\\n\\n}\\n\\nfn compute_note_hash_and_nullifier<Note, N, S>(\\n note_interface: NoteInterface<Note, N>,\\n note_header: NoteHeader,\\n preimage: [Field; S],\\n) -> [Field; 4] {\\n let deserialise = note_interface.deserialise;\\n let set_header = note_interface.set_header;\\n let mut note = deserialise(arr_copy_slice(preimage, [0; N], 0));\\n set_header(&mut note, note_header);\\n\\n let compute_note_hash = note_interface.compute_note_hash;\\n let note_hash = compute_note_hash(note);\\n let inner_note_hash = compute_inner_hash(note_header.storage_slot, note_hash);\\n\\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\\n\\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\\n\\n let compute_nullifier = note_interface.compute_nullifier;\\n let inner_nullifier = compute_nullifier(note);\\n\\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/utils"},"48":{"source":"use dep::std::hash::pedersen_with_separator;\\nuse crate::context::PrivateContext;\\nuse crate::note::{\\n lifecycle::create_note,\\n note_getter::{get_note, view_notes},\\n note_interface::NoteInterface,\\n note_viewer_options::NoteViewerOptions,\\n};\\nuse crate::oracle;\\nuse crate::constants_gen::{\\n GENERATOR_INDEX__INITIALISATION_NULLIFIER,\\n EMPTY_NULLIFIED_COMMITMENT,\\n};\\n\\nstruct ImmutableSingleton<Note, N> {\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n}\\n\\nimpl<Note, N> ImmutableSingleton<Note, N> {\\n fn new(storage_slot: Field, note_interface: NoteInterface<Note, N>) -> Self {\\n ImmutableSingleton { storage_slot, note_interface }\\n }\\n\\n unconstrained fn is_initialised(self) -> bool {\\n let nullifier = self.compute_initialisation_nullifier();\\n oracle::notes::is_nullifier_emitted(nullifier)\\n }\\n\\n fn initialise(self, context: &mut PrivateContext, note: &mut Note) {\\n // Nullify the storage slot.\\n let nullifier = self.compute_initialisation_nullifier();\\n context.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT);\\n\\n create_note(context, self.storage_slot, note, self.note_interface);\\n }\\n\\n fn compute_initialisation_nullifier(self) -> Field {\\n pedersen_with_separator([self.storage_slot], GENERATOR_INDEX__INITIALISATION_NULLIFIER)[0]\\n }\\n \\n fn get_note(self, context: &mut PrivateContext) -> Note {\\n let storage_slot = self.storage_slot;\\n get_note(context, storage_slot, self.note_interface)\\n }\\n\\n unconstrained fn view_note(self) -> Note {\\n let options = NoteViewerOptions::new().set_limit(1);\\n view_notes(self.storage_slot, self.note_interface, options)[0].unwrap()\\n }\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/state_vars/immutable_singleton"},"55":{"source":"\\nstruct BoundedVec<T, MaxLen> {\\n storage: [T; MaxLen],\\n len: Field,\\n}\\n\\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\\n fn new(initial_value: T) -> Self {\\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\\n }\\n\\n fn get(mut self: Self, index: Field) -> T {\\n assert(index as u64 < self.len as u64);\\n self.storage[index]\\n }\\n\\n fn push(&mut self, elem: T) {\\n assert(self.len as u64 < MaxLen as u64);\\n\\n self.storage[self.len] = elem;\\n self.len += 1;\\n }\\n\\n fn push_array<Len>(&mut self, array: [T; Len]) {\\n let newLen = self.len + array.len();\\n assert(newLen as u64 <= MaxLen as u64);\\n for i in 0..array.len() {\\n self.storage[self.len + i] = array[i];\\n }\\n self.len = newLen;\\n }\\n\\n fn pop(&mut self) -> T {\\n assert(self.len as u64 > 0);\\n\\n let elem = self.storage[self.len - 1];\\n self.len -= 1;\\n elem\\n }\\n}\\n\\n// #[test]\\n// fn test_vec() {\\n// let vec: BoundedVec<Field, 2> = BoundedVec::new(0);\\n// assert(vec.len == 0);\\n// let vec1 = vec.push(1);\\n// assert(vec1.len == 1);\\n// let vec2 = vec1.push(1);\\n// assert(vec2.len == 2);\\n// let vec3 = vec2.push(1);\\n// assert(vec3.len == 3);\\n// let x = vec3.pop();\\n// assert(x == 1);\\n// }","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec"},"70":{"source":"use crate::types::point::Point;\\nuse dep::std::hash;\\nuse crate::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\\n\\n#[oracle(getPublicKey)]\\nfn get_public_key_oracle(_address: Field) -> [Field; 3] {}\\n\\nunconstrained fn get_public_key_internal(address: Field) -> [Field; 3] {\\n get_public_key_oracle(address)\\n}\\n\\nfn get_public_key(address: Field) -> Point {\\n let result = get_public_key_internal(address);\\n let pub_key_x = result[0];\\n let pub_key_y = result[1];\\n let partial_address = result[2];\\n \\n let calculated_address = hash::pedersen_with_separator([pub_key_x, pub_key_y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\\n assert(calculated_address == address);\\n \\n Point::new(pub_key_x, pub_key_y)\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_public_key"},"78":{"source":"use crate::abi;\\nuse crate::types::vec::BoundedVec;\\nuse crate::context::PrivateContext;\\nuse crate::private_call_stack_item::PrivateCallStackItem;\\nuse crate::public_call_stack_item::PublicCallStackItem; \\n\\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\\nglobal ACCOUNT_MAX_CALLS: Field = 4;\\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\\nglobal FUNCTION_CALL_SIZE: Field = 3;\\n\\nstruct FunctionCall {\\n args_hash: Field,\\n function_selector: Field,\\n target_address: Field,\\n}\\n\\nimpl FunctionCall {\\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\\n [self.args_hash, self.function_selector, self.target_address]\\n }\\n}\\n\\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\\n\\nstruct EntrypointPayload {\\n // Noir doesnt support nested arrays or structs yet so we flatten everything\\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\\n nonce: Field,\\n}\\n\\nimpl EntrypointPayload {\\n // TODO(#1207) Do we need a generator index?\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen(self.serialize())[0]\\n }\\n\\n // Serializes the entrypoint struct\\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\\n let mut fields: BoundedVec<Field, ENTRYPOINT_PAYLOAD_SIZE> = BoundedVec::new(0); \\n fields.push_array(self.flattened_args_hashes);\\n fields.push_array(self.flattened_selectors);\\n fields.push_array(self.flattened_targets);\\n fields.push(self.nonce);\\n fields.storage\\n }\\n\\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\\n\\n let args_len = self.flattened_args_hashes.len();\\n let selectors_len = self.flattened_selectors.len();\\n let targets_len = self.flattened_targets.len();\\n\\n for i in 0..args_len {\\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\\n for j in 0..32 { \\n bytes[i * 32 + j] = item_bytes[j];\\n }\\n }\\n\\n for i in 0..selectors_len {\\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\\n for j in 0..32 { \\n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\\n }\\n }\\n\\n for i in 0..targets_len {\\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\\n for j in 0..32 { \\n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\\n }\\n }\\n \\n let item_bytes = self.nonce.to_be_bytes(32);\\n for j in 0..32 { \\n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\\n }\\n\\n bytes\\n }\\n\\n // Executes all private and public calls \\n fn execute_calls(self, context: &mut PrivateContext) {\\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\\n let target_address = self.flattened_targets[i];\\n if target_address != 0 {\\n let function_selector = self.flattened_selectors[i];\\n let args_hash = self.flattened_args_hashes[i];\\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\\n }\\n }\\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\\n let target_address = self.flattened_targets[i];\\n if target_address != 0 {\\n let function_selector = self.flattened_selectors[i];\\n let args_hash = self.flattened_args_hashes[i];\\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\\n }\\n }\\n }\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint"}}}}');class ki{constructor(e,t,n,r=31337,s=1){this.address=e,this.privateKey=t,this.signer=n,this.chainId=r,this.version=s,this.log=fs("aztec:client:accounts:stored_key")}async createTxExecutionRequest(e,t={}){if(t.origin&&!t.origin.equals(this.address))throw new Error(`Sender ${t.origin.toString()} does not match account address ${this.address.toString()}`);const[n,r]=Va()(e,(e=>e.functionData.isPrivate)),s=await ks.get(),{payload:a,packedArguments:i}=await Ka(n,r),o=$a(a,s),l=this.signer.constructSignature(o,this.privateKey).toBuffer();this.log(`Signed challenge ${o.toString("hex")} as ${l.toString("hex")}`);const c=[a,l],u=this.getEntrypointAbi(),f=await Ba.fromArgs(Un(u,c),s);return Da.from({argsHash:f.hash,origin:this.address,functionData:Cr.fromAbi(u),txContext:Br.empty(this.chainId,this.version),packedArguments:[...i,f]})}getEntrypointAbi(){const e=Ii.functions.find((e=>"entrypoint"===e.name));if(!e)throw new Error("Entrypoint abi for account contract not found");return e}}class xi{constructor(e){this.signingPrivateKey=e}async getDeploymentArgs(){const e=await Ws.new().then((e=>e.computePublicKey(this.signingPrivateKey)));return[e.subarray(0,32),e.subarray(32,64)]}async getEntrypoint({address:e},{chainId:t,version:n}){return new ki(e,this.signingPrivateKey,await Ws.new(),t,n)}getContractAbi(){return Ii}}const Ri=JSON.parse('{"name":"SchnorrAccount","functions":[{"name":"compute_note_hash_and_nullifier","functionType":"unconstrained","isInternal":false,"parameters":[{"name":"contract_address","type":{"kind":"field"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"preimage","type":{"kind":"array","length":3,"type":{"kind":"field"}},"visibility":"private"}],"returnTypes":[{"kind":"array","length":4,"type":{"kind":"field"}}],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"constructor","functionType":"secret","isInternal":false,"parameters":[{"name":"signing_pub_key_x","type":{"kind":"field"},"visibility":"public"},{"name":"signing_pub_key_y","type":{"kind":"field"},"visibility":"public"}],"returnTypes":[],"bytecode":"H4sIAAAAAAAA/+2c91MUSRTH211YJIh6AVQMmLPObIBdTKuInsqBCT3PO5WFWURJ4qJiPi9nL+c7zss5xz/u6ubBm+I57pU/7BvqvqVd1fVmGKrn8+kJ3dPTs38bY0bMWJrk5pCbi3jZWy/2rUd4WSZvPc0xZtXF40591LFjdrsVTWWSCSueyNQl7aSdSCY6o8lYzEnGk/WpTKreStnxmGNnE6lY1hpLM0RZVoEpSM6ZIJyzQDhrQDhng3DOAeGcC8I5D4SzFoRzPgjnAhDOhSCci0A4F4NwLgHhXArCuQyEczkI5woQzpUgnKtAOFeDcK4B4VwLwmmBcNognFEQzhgIZxyEM6HISWw0dlfL5VW5+R83V3OcwXEmx1kcazjO5jiH41yO8zjWcpzPcQHHhRwXcVzMcQnHpRyXcVzOcQXHlRxXcVzNcQ3HtRwtjjbHKMcYxzjHhCivzs315uakfQyTBuNcS4FwNoBwrgPhXA/CuQGEcyMI5yYQzjQI52YQzi0gnI0gnFtBOJtAOLcZ/T7vNC6P+nvU90tyTHFs4LiO43qOGzhu5LiJY5rjZo5bODZy3MqxieM2M97n3O7mB8zNSbsOd+jVoe3Voce4g13obzvdvIu30XqY/8f/bBHiSKnZzQ8G7N8SgH+Iy2thl2bh1Orm3ewfNv+d0opM4dvUoVVYsquM/v1Cm7EagDFkJua+axWW7Faje9/10h6xXMGx1IzNM6IUEn8L+9xKxXYvRcRyWoc3FtGvT4vmTU0WHsbnW8nbp/N6X3+uOzvcOOi055zOlv6cIyuxmGM4T0HyZiC3F4mdR3zlyIr1tpWYWyd2qZ1d4XyFG/2zeI8J5izem6di5ZkZFpWp7WR8+/HXY6UJ8MAFdZD2BlDuPqPXhQjKe5/+MQq0WdCs04m6CWg2uZMEo3eR73dzm5sPCIcpHCeoybKCarIiwsNLssmi7UW6+43Jpt+I+jZ56s2I/VPz6XUpupzc7qFMT3fHLmc43zEL5ylXdj38Law8jt62QFtI/zMUnWT0fNHG8QDHqW4+6OaHfBxhH0+hF6viRWQfVOQ6pMc1YTckTWbJ+7BYvtsrKbDMQ1yh2uUeNv/vXgl5H9Y/RoH2SjTrlE7eYnNrQhkIUD5udpB1sN9gnF9tRveGfXew7s4brJO9UK9RfsTNj5rxVMNRjtHIcZt8vdI7YeCsTHgYn683cOa91HF6u3NNfR2DwwPuwFlzf5fsdJRwLM5TjqxXSkViuVjUZ8T3vxHBldZxjpaa8cFCI/YtU1oslwqWMl2W0WurXOzL4/L2Uy62lwiOcl2O0QeiMp+/ZAhov6P+Fbfxr8jDUTGB/nIgvczHKa99b1ugT66yTO03eUeMfqMRBOdREM5jIJztIJwZEM4OEM5OEE4HhDMLwtkFwnkchLMbhPMECOdJEM4eHc5sPBoPlLMXpD77QDj7QTgHQDhPgXAOgnCeBuHMgXAOgXCeAeE8C8J5DoRzGITzPAjnBRDOiyCcl0A4L4NwXgmIM+TjtApLo4PqWs5XQZxDis6PgTiHFZ2vgTgXKTo/DuJcrOj8BIhzRNH5SRDn7YrOT4E4H1F0fhrE+aii8zMgzscUnZ8FcW5XdH4OxDmj6Pw8iHOHovMLIM6dis4vgjg7is4vgTi3Kjq/DOKcVXS+DuLcpej8CojzcUXnV0Gcdyo6vwbi3K3o/DqI8wlF5zdAnE8qOr8J4tyj6PwWiHOvovPbIM59is7vgDj3Kzq/C+I8oOj8HojzKUXn90GcBxWdPwBxPq3o/CGIc07R+SMQ5yFF5xEQ5zOKzh+DOJ9VdL4B4nxO0fkTEOdhRedPQZzPKzp/BuJ8QdH5cxDni4rOX4A4X1J0/hLE+bKi81cgzlcUnb8GcS5RdP4GxHmyovO3IM6lis7fgTiXKTp/D+Jcruj8A4hzhaLzjyDOUxSdfwJxrlR0/hnEeaqi8y8gztMUnX8FcZ6u6PwbiPM9is6/gzjfq+j8B4jzfYrOf4I436/o/FcAztUcvR+ipG+j6Fsh7+fe6bmQnpO8H5PzfuCO+h3UDlO7RPdpum/RdUznNR1n8q7i8ht4H1fdTN+IXXMzfUNE39TQNyb0zQV9g0Bz8mmOOs3ZpjnMNKeX5rjSnE+aA3ndzTRHjuaM0RwqmlNEc2xozgnNwaA5CfSOnt5Z0ztceqdJ7/jonRe9AxpxM70juOFmGkOmMVUaY6QxNxqDojEZGqOgZ3Z6hqVnOnrGoT4/9YGpT0h9JOozUBtKbQrdY+meQ9cgnZN0jP4FBu37rDqLAAA=","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"entrypoint","functionType":"secret","isInternal":false,"parameters":[{"name":"payload","type":{"kind":"struct","name":"EntrypointPayload","fields":[{"name":"flattened_args_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_selectors","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_targets","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"nonce","type":{"kind":"field"}}]},"visibility":"public"},{"name":"signature","type":{"kind":"array","length":64,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"}],"returnTypes":[],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"}],"debug":{"debugSymbols":["eJyrVsrJT04syczPK1ayqq6tBQAz9wY7","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"],"fileMap":{"0":{"source":"mod storage;\\nmod public_key_note;\\n\\n// Account contract that uses Schnorr signatures for authentication.\\n// The signing key is stored in an immutable private note and should be different from the encryption/nullifying key.\\ncontract SchnorrAccount {\\n use dep::std;\\n use dep::aztec::entrypoint;\\n use dep::aztec::entrypoint::EntrypointPayload;\\n use dep::aztec::abi;\\n use dep::aztec::abi::PrivateContextInputs;\\n use dep::aztec::abi::CallContext;\\n use dep::aztec::private_call_stack_item::PrivateCallStackItem;\\n use dep::aztec::public_call_stack_item::PublicCallStackItem;\\n use dep::aztec::context::PrivateContext;\\n use dep::aztec::log::emit_encrypted_log;\\n use dep::aztec::oracle::get_public_key::get_public_key;\\n use dep::aztec::types::vec::BoundedVec;\\n use dep::aztec::types::point::Point;\\n use dep::aztec::note::utils as note_utils;\\n use dep::aztec::note::note_header::NoteHeader;\\n use dep::aztec::constants_gen::MAX_NOTE_FIELDS_LENGTH;\\n use dep::aztec::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\\n use dep::aztec::constants_gen::GENERATOR_INDEX__SIGNATURE_PAYLOAD;\\n\\n use crate::storage::Storage;\\n use crate::public_key_note::PublicKeyNote;\\n use crate::public_key_note::PublicKeyNoteMethods;\\n use crate::public_key_note::PUBLIC_KEY_NOTE_LEN;\\n\\n // docs:start:entrypoint\\n\\n fn entrypoint(\\n inputs: pub PrivateContextInputs,\\n payload: pub EntrypointPayload, // contains a set of arguments, selectors, targets and a nonce\\n signature: pub [u8;64], // schnorr signature of the payload hash\\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\\n // Initialize context\\n // ENTRYPOINT_PAYLOAD_SIZE(13) + 64\\n let mut args: BoundedVec<Field, 77> = BoundedVec::new(0);\\n args.push_array(payload.serialize());\\n for byte in signature { args.push(byte as Field); }\\n let mut context = PrivateContext::new(inputs, abi::hash_args(args.storage));\\n\\n // Load public key from storage\\n let storage = Storage::init();\\n let public_key = storage.signing_public_key.get_note(&mut context);\\n\\n // Verify payload signature\\n let payload_fields: [Field; entrypoint::ENTRYPOINT_PAYLOAD_SIZE] = payload.serialize();\\n let message_field: Field = std::hash::pedersen_with_separator(payload_fields, GENERATOR_INDEX__SIGNATURE_PAYLOAD)[0];\\n let message_bytes = message_field.to_be_bytes(32);\\n\\n // Verify signature of the payload bytes\\n let verification = std::schnorr::verify_signature(public_key.x, public_key.y, signature, message_bytes);\\n assert(verification == true);\\n\\n // docs:end:entrypoint\\n\\n // Execute calls\\n payload.execute_calls(&mut context);\\n\\n context.finish()\\n }\\n\\n // Constructs the contract\\n fn constructor(\\n inputs: pub PrivateContextInputs,\\n signing_pub_key_x: pub Field,\\n signing_pub_key_y: pub Field,\\n ) -> distinct pub abi::PrivateCircuitPublicInputs {\\n let storage = Storage::init();\\n \\n let mut context = PrivateContext::new(inputs, abi::hash_args([signing_pub_key_x, signing_pub_key_y]));\\n \\n let this = context.this_address();\\n let mut pub_key_note = PublicKeyNote::new(signing_pub_key_x, signing_pub_key_y, this);\\n storage.signing_public_key.initialise(&mut context, &mut pub_key_note);\\n \\n emit_encrypted_log(\\n &mut context,\\n this,\\n storage.signing_public_key.storage_slot,\\n get_public_key(this),\\n pub_key_note.serialise(),\\n );\\n\\n context.finish()\\n }\\n\\n // Computes notes hash and nullifier.\\n // Note 1: Needs to be defined by every contract producing logs.\\n // Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.\\n unconstrained fn compute_note_hash_and_nullifier(contract_address: Field, nonce: Field, storage_slot: Field, preimage: [Field; PUBLIC_KEY_NOTE_LEN]) -> [Field; 4] {\\n assert(storage_slot == 1);\\n let note_header = NoteHeader { contract_address, nonce, storage_slot };\\n note_utils::compute_note_hash_and_nullifier(PublicKeyNoteMethods, note_header, preimage)\\n }\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/main"},"3":{"source":"mod poseidon;\\n\\n#[foreign(sha256)]\\nfn sha256<N>(_input : [u8; N]) -> [u8; 32] {}\\n\\n#[foreign(blake2s)]\\nfn blake2s<N>(_input : [u8; N]) -> [u8; 32] {}\\n\\nfn pedersen<N>(input : [Field; N]) -> [Field; 2] {\\n pedersen_with_separator(input, 0)\\n}\\n\\n#[foreign(pedersen)]\\nfn pedersen_with_separator<N>(_input : [Field; N], _separator : u32) -> [Field; 2] {}\\n\\n#[foreign(hash_to_field_128_security)]\\nfn hash_to_field<N>(_input : [Field; N]) -> Field {}\\n\\n#[foreign(keccak256)]\\nfn keccak256<N>(_input : [u8; N], _message_size: u32) -> [u8; 32] {}\\n\\n// mimc-p/p implementation\\n// constants are (publicly generated) random numbers, for instance using keccak as a ROM.\\n// You must use constants generated for the native field\\n// Rounds number should be ~ log(p)/log(exp)\\n// For 254 bit primes, exponent 7 and 91 rounds seems to be recommended\\nfn mimc<N>(x: Field, k: Field, constants: [Field; N], exp : Field) -> Field {\\n //round 0\\n let mut t = x + k;\\n let mut h = t.pow_32(exp);\\n //next rounds\\n for i in 1 .. constants.len() {\\n t = h + k + constants[i];\\n h = t.pow_32(exp);\\n };\\n h + k\\n}\\n\\nglobal MIMC_BN254_ROUNDS = 91;\\n\\n//mimc implementation with hardcoded parameters for BN254 curve.\\nfn mimc_bn254<N>(array: [Field; N]) -> Field {\\n //mimc parameters\\n let exponent = 7;\\n //generated from seed \\"mimc\\" using keccak256 \\n let constants: [Field; MIMC_BN254_ROUNDS] = [\\n 0, \\n 20888961410941983456478427210666206549300505294776164667214940546594746570981,\\n 15265126113435022738560151911929040668591755459209400716467504685752745317193,\\n 8334177627492981984476504167502758309043212251641796197711684499645635709656,\\n 1374324219480165500871639364801692115397519265181803854177629327624133579404,\\n 11442588683664344394633565859260176446561886575962616332903193988751292992472,\\n 2558901189096558760448896669327086721003508630712968559048179091037845349145,\\n 11189978595292752354820141775598510151189959177917284797737745690127318076389,\\n 3262966573163560839685415914157855077211340576201936620532175028036746741754,\\n 17029914891543225301403832095880481731551830725367286980611178737703889171730,\\n 4614037031668406927330683909387957156531244689520944789503628527855167665518,\\n 19647356996769918391113967168615123299113119185942498194367262335168397100658,\\n 5040699236106090655289931820723926657076483236860546282406111821875672148900,\\n 2632385916954580941368956176626336146806721642583847728103570779270161510514,\\n 17691411851977575435597871505860208507285462834710151833948561098560743654671,\\n 11482807709115676646560379017491661435505951727793345550942389701970904563183,\\n 8360838254132998143349158726141014535383109403565779450210746881879715734773,\\n 12663821244032248511491386323242575231591777785787269938928497649288048289525,\\n 3067001377342968891237590775929219083706800062321980129409398033259904188058,\\n 8536471869378957766675292398190944925664113548202769136103887479787957959589,\\n 19825444354178182240559170937204690272111734703605805530888940813160705385792,\\n 16703465144013840124940690347975638755097486902749048533167980887413919317592,\\n 13061236261277650370863439564453267964462486225679643020432589226741411380501,\\n 10864774797625152707517901967943775867717907803542223029967000416969007792571,\\n 10035653564014594269791753415727486340557376923045841607746250017541686319774,\\n 3446968588058668564420958894889124905706353937375068998436129414772610003289,\\n 4653317306466493184743870159523234588955994456998076243468148492375236846006,\\n 8486711143589723036499933521576871883500223198263343024003617825616410932026,\\n 250710584458582618659378487568129931785810765264752039738223488321597070280,\\n 2104159799604932521291371026105311735948154964200596636974609406977292675173,\\n 16313562605837709339799839901240652934758303521543693857533755376563489378839,\\n 6032365105133504724925793806318578936233045029919447519826248813478479197288,\\n 14025118133847866722315446277964222215118620050302054655768867040006542798474,\\n 7400123822125662712777833064081316757896757785777291653271747396958201309118,\\n 1744432620323851751204287974553233986555641872755053103823939564833813704825,\\n 8316378125659383262515151597439205374263247719876250938893842106722210729522,\\n 6739722627047123650704294650168547689199576889424317598327664349670094847386,\\n 21211457866117465531949733809706514799713333930924902519246949506964470524162,\\n 13718112532745211817410303291774369209520657938741992779396229864894885156527,\\n 5264534817993325015357427094323255342713527811596856940387954546330728068658,\\n 18884137497114307927425084003812022333609937761793387700010402412840002189451,\\n 5148596049900083984813839872929010525572543381981952060869301611018636120248,\\n 19799686398774806587970184652860783461860993790013219899147141137827718662674,\\n 19240878651604412704364448729659032944342952609050243268894572835672205984837,\\n 10546185249390392695582524554167530669949955276893453512788278945742408153192,\\n 5507959600969845538113649209272736011390582494851145043668969080335346810411,\\n 18177751737739153338153217698774510185696788019377850245260475034576050820091,\\n 19603444733183990109492724100282114612026332366576932662794133334264283907557,\\n 10548274686824425401349248282213580046351514091431715597441736281987273193140,\\n 1823201861560942974198127384034483127920205835821334101215923769688644479957,\\n 11867589662193422187545516240823411225342068709600734253659804646934346124945,\\n 18718569356736340558616379408444812528964066420519677106145092918482774343613,\\n 10530777752259630125564678480897857853807637120039176813174150229243735996839,\\n 20486583726592018813337145844457018474256372770211860618687961310422228379031,\\n 12690713110714036569415168795200156516217175005650145422920562694422306200486,\\n 17386427286863519095301372413760745749282643730629659997153085139065756667205,\\n 2216432659854733047132347621569505613620980842043977268828076165669557467682,\\n 6309765381643925252238633914530877025934201680691496500372265330505506717193,\\n 20806323192073945401862788605803131761175139076694468214027227878952047793390,\\n 4037040458505567977365391535756875199663510397600316887746139396052445718861,\\n 19948974083684238245321361840704327952464170097132407924861169241740046562673,\\n 845322671528508199439318170916419179535949348988022948153107378280175750024,\\n 16222384601744433420585982239113457177459602187868460608565289920306145389382,\\n 10232118865851112229330353999139005145127746617219324244541194256766741433339,\\n 6699067738555349409504843460654299019000594109597429103342076743347235369120,\\n 6220784880752427143725783746407285094967584864656399181815603544365010379208,\\n 6129250029437675212264306655559561251995722990149771051304736001195288083309,\\n 10773245783118750721454994239248013870822765715268323522295722350908043393604,\\n 4490242021765793917495398271905043433053432245571325177153467194570741607167,\\n 19596995117319480189066041930051006586888908165330319666010398892494684778526,\\n 837850695495734270707668553360118467905109360511302468085569220634750561083,\\n 11803922811376367215191737026157445294481406304781326649717082177394185903907,\\n 10201298324909697255105265958780781450978049256931478989759448189112393506592,\\n 13564695482314888817576351063608519127702411536552857463682060761575100923924,\\n 9262808208636973454201420823766139682381973240743541030659775288508921362724,\\n 173271062536305557219323722062711383294158572562695717740068656098441040230,\\n 18120430890549410286417591505529104700901943324772175772035648111937818237369,\\n 20484495168135072493552514219686101965206843697794133766912991150184337935627,\\n 19155651295705203459475805213866664350848604323501251939850063308319753686505,\\n 11971299749478202793661982361798418342615500543489781306376058267926437157297,\\n 18285310723116790056148596536349375622245669010373674803854111592441823052978,\\n 7069216248902547653615508023941692395371990416048967468982099270925308100727,\\n 6465151453746412132599596984628739550147379072443683076388208843341824127379,\\n 16143532858389170960690347742477978826830511669766530042104134302796355145785,\\n 19362583304414853660976404410208489566967618125972377176980367224623492419647,\\n 1702213613534733786921602839210290505213503664731919006932367875629005980493,\\n 10781825404476535814285389902565833897646945212027592373510689209734812292327,\\n 4212716923652881254737947578600828255798948993302968210248673545442808456151,\\n 7594017890037021425366623750593200398174488805473151513558919864633711506220,\\n 18979889247746272055963929241596362599320706910852082477600815822482192194401,\\n 13602139229813231349386885113156901793661719180900395818909719758150455500533,\\n ];\\n\\n let mut r = 0;\\n for elem in array {\\n let h = mimc(elem, r, constants, exponent);\\n r = r + elem + h;\\n }\\n r\\n}\\n","path":"std/hash"},"18":{"source":"\\nimpl Field {\\n #[builtin(to_le_bits)]\\n fn to_le_bits(_x : Field, _bit_size: u32) -> [u1] {}\\n #[builtin(to_be_bits)]\\n fn to_be_bits(_x : Field, _bit_size: u32) -> [u1] {}\\n\\n fn to_le_bytes(x : Field, byte_size: u32) -> [u8] {\\n x.to_le_radix(256, byte_size)\\n }\\n fn to_be_bytes(x : Field, byte_size: u32) -> [u8] {\\n x.to_be_radix(256, byte_size)\\n }\\n\\n #[builtin(to_le_radix)]\\n //decompose _x into a _result_len vector over the _radix basis\\n //_radix must be less than 256\\n fn to_le_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\\n #[builtin(to_be_radix)]\\n fn to_be_radix(_x : Field, _radix: u32, _result_len: u32) -> [u8] {}\\n\\n // Returns self to the power of the given exponent value.\\n // Caution: we assume the exponent fits into 32 bits\\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\\n fn pow_32(self, exponent: Field) -> Field {\\n let mut r: Field = 1;\\n let b = exponent.to_le_bits(32);\\n\\n for i in 1..33 {\\n r *= r;\\n r = (b[32-i] as Field) * (r * self) + (1 - b[32-i] as Field) * r;\\n }\\n r\\n }\\n\\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x ∈ {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\\n fn sgn0(self) -> u1 {\\n self as u1\\n }\\n}\\n\\n#[builtin(modulus_num_bits)]\\nfn modulus_num_bits() -> Field {}\\n\\n#[builtin(modulus_be_bits)]\\nfn modulus_be_bits() -> [u1] {}\\n\\n#[builtin(modulus_le_bits)]\\nfn modulus_le_bits() -> [u1] {}\\n\\n#[builtin(modulus_be_bytes)]\\nfn modulus_be_bytes() -> [u8] {}\\n\\n#[builtin(modulus_le_bytes)]\\nfn modulus_le_bytes() -> [u8] {}\\n","path":"std/field"},"31":{"source":"use crate::constants_gen::{\\n RETURN_VALUES_LENGTH,\\n MAX_READ_REQUESTS_PER_CALL,\\n MAX_NEW_COMMITMENTS_PER_CALL,\\n MAX_NEW_NULLIFIERS_PER_CALL,\\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\\n NUM_FIELDS_PER_SHA256,\\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\\n MAX_PUBLIC_DATA_READS_PER_CALL,\\n GENERATOR_INDEX__FUNCTION_ARGS,\\n HISTORIC_BLOCK_DATA_LENGTH,\\n CONTRACT_DEPLOYMENT_DATA_LENGTH,\\n CALL_CONTEXT_LENGTH,\\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH,\\n PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\\n CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH,\\n CONTRACT_STORAGE_READ_LENGTH,\\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH,\\n PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH,\\n GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS,\\n GENERATOR_INDEX__FUNCTION_DATA,\\n GENERATOR_INDEX__PUBLIC_DATA_READ,\\n GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST,\\n GENERATOR_INDEX__CALL_CONTEXT,\\n GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS,\\n GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA,\\n};\\n\\nuse crate::oracle::debug_log;\\nuse crate::types::vec::BoundedVec;\\nuse crate::types::point::Point;\\n\\nstruct PrivateGlobalVariables {\\n chain_id: Field,\\n version: Field,\\n}\\n\\nimpl PrivateGlobalVariables {\\n fn serialize(self) -> [Field; 2] {\\n [self.chain_id, self.version]\\n }\\n}\\n\\nstruct PublicGlobalVariables {\\n chain_id: Field,\\n version: Field,\\n block_number: Field,\\n timestamp: Field,\\n}\\n\\nimpl PublicGlobalVariables {\\n fn serialize(self) -> [Field; 4] {\\n [self.chain_id, self.version, self.block_number, self.timestamp]\\n }\\n}\\n\\nstruct ContractDeploymentData {\\n deployer_public_key: Point,\\n constructor_vk_hash : Field,\\n function_tree_root : Field,\\n contract_address_salt : Field,\\n portal_contract_address : Field,\\n}\\n\\nimpl ContractDeploymentData {\\n fn serialize(self) -> [Field; CONTRACT_DEPLOYMENT_DATA_LENGTH] {\\n [\\n self.deployer_public_key.x,\\n self.deployer_public_key.y,\\n self.constructor_vk_hash,\\n self.function_tree_root,\\n self.contract_address_salt,\\n self.portal_contract_address,\\n ]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CONTRACT_DEPLOYMENT_DATA)[0]\\n }\\n}\\n\\n// PrivateContextInputs are expected to be provided to each private function\\nstruct PrivateContextInputs {\\n call_context : CallContext,\\n block_data: HistoricBlockData,\\n\\n contract_deployment_data: ContractDeploymentData,\\n\\n private_global_variables: PrivateGlobalVariables,\\n}\\n\\n// PublicContextInputs are expected to be provided to each public function\\nstruct PublicContextInputs {\\n call_context: CallContext,\\n block_data: HistoricBlockData,\\n\\n public_global_variables: PublicGlobalVariables,\\n}\\n\\nstruct CallContext {\\n msg_sender : Field,\\n storage_contract_address : Field,\\n portal_contract_address : Field,\\n\\n is_delegate_call : bool,\\n is_static_call : bool,\\n is_contract_deployment: bool,\\n}\\n\\nimpl CallContext {\\n fn serialize(self) -> [Field; CALL_CONTEXT_LENGTH] {\\n [\\n self.msg_sender,\\n self.storage_contract_address,\\n self.portal_contract_address,\\n self.is_delegate_call as Field,\\n self.is_static_call as Field,\\n self.is_contract_deployment as Field,\\n ]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__CALL_CONTEXT)[0]\\n }\\n}\\n\\nstruct HistoricBlockData {\\n private_data_tree_root : Field,\\n nullifier_tree_root : Field,\\n contract_tree_root : Field,\\n l1_to_l2_messages_tree_root : Field,\\n blocks_tree_root: Field,\\n public_data_tree_root: Field,\\n global_variables_hash: Field,\\n}\\n\\nimpl HistoricBlockData {\\n // NOTE: this order must match the order in `private_circuit_public_inputs.hpp`\\n fn serialize(self) -> [Field; HISTORIC_BLOCK_DATA_LENGTH] {\\n [\\n self.private_data_tree_root,\\n self.nullifier_tree_root,\\n self.contract_tree_root,\\n self.l1_to_l2_messages_tree_root,\\n self.blocks_tree_root,\\n self.public_data_tree_root,\\n self.global_variables_hash,\\n ]\\n }\\n\\n fn empty() -> Self {\\n Self { private_data_tree_root: 0, nullifier_tree_root: 0, contract_tree_root: 0, l1_to_l2_messages_tree_root: 0, blocks_tree_root: 0, public_data_tree_root: 0, global_variables_hash: 0 }\\n }\\n}\\n\\nstruct FunctionData {\\n function_selector: Field,\\n is_internal: bool,\\n is_private: bool,\\n is_constructor: bool,\\n}\\n\\nimpl FunctionData {\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator([\\n self.function_selector,\\n self.is_internal as Field,\\n self.is_private as Field,\\n self.is_constructor as Field,\\n ], GENERATOR_INDEX__FUNCTION_DATA)[0]\\n }\\n}\\n\\nstruct PrivateCircuitPublicInputs {\\n call_context: CallContext,\\n args_hash: Field,\\n return_values: [Field; RETURN_VALUES_LENGTH],\\n read_requests: [Field; crate::abi::MAX_READ_REQUESTS_PER_CALL],\\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\\n new_nullifiers: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\\n nullified_commitments: [Field; MAX_NEW_NULLIFIERS_PER_CALL],\\n private_call_stack: [Field; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL],\\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\\n new_l2_to_l1_msgs: [Field; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\\n // Explore introducing a new type like uint256 (similar to Point), so it\'s more explicit that\\n // we\'re talking about a single number backed by two field elements.\\n encrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\\n encrypted_log_preimages_length: Field,\\n unencrypted_log_preimages_length: Field,\\n block_data: HistoricBlockData,\\n contract_deployment_data: ContractDeploymentData,\\n chain_id: Field,\\n version: Field,\\n}\\n\\nimpl PrivateCircuitPublicInputs {\\n fn hash(self) -> Field {\\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0); \\n fields.push(self.call_context.hash());\\n fields.push(self.args_hash);\\n fields.push_array(self.return_values);\\n fields.push_array(self.read_requests);\\n fields.push_array(self.new_commitments);\\n fields.push_array(self.new_nullifiers);\\n fields.push_array(self.nullified_commitments);\\n fields.push_array(self.private_call_stack);\\n fields.push_array(self.public_call_stack);\\n fields.push_array(self.new_l2_to_l1_msgs);\\n fields.push_array(self.encrypted_logs_hash);\\n fields.push_array(self.unencrypted_logs_hash);\\n fields.push(self.encrypted_log_preimages_length);\\n fields.push(self.unencrypted_log_preimages_length);\\n fields.push_array(self.block_data.serialize());\\n fields.push(self.contract_deployment_data.hash());\\n fields.push(self.chain_id);\\n fields.push(self.version);\\n\\n dep::std::hash::pedersen_with_separator(fields.storage, GENERATOR_INDEX__PRIVATE_CIRCUIT_PUBLIC_INPUTS)[0]\\n }\\n\\n fn serialize(self) -> [Field; PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\\n let mut fields: BoundedVec<Field, PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \\n fields.push_array(self.call_context.serialize());\\n fields.push(self.args_hash);\\n fields.push_array(self.return_values);\\n fields.push_array(self.read_requests);\\n fields.push_array(self.new_commitments);\\n fields.push_array(self.new_nullifiers);\\n fields.push_array(self.private_call_stack);\\n fields.push_array(self.public_call_stack);\\n fields.push_array(self.new_l2_to_l1_msgs);\\n fields.push_array(self.encrypted_logs_hash);\\n fields.push_array(self.unencrypted_logs_hash);\\n fields.push(self.encrypted_log_preimages_length);\\n fields.push(self.unencrypted_log_preimages_length);\\n fields.push_array(self.block_data.serialize());\\n fields.push_array(self.contract_deployment_data.serialize());\\n fields.push(self.chain_id);\\n fields.push(self.version);\\n fields.storage\\n }\\n}\\n\\nstruct ContractStorageRead {\\n storage_slot: Field,\\n value: Field,\\n}\\n\\nimpl ContractStorageRead {\\n fn serialize(self) -> [Field; CONTRACT_STORAGE_READ_LENGTH] {\\n [self.storage_slot, self.value]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_READ)[0]\\n }\\n\\n fn empty() -> Self {\\n Self { storage_slot: 0, value: 0 }\\n }\\n}\\n\\nstruct ContractStorageUpdateRequest {\\n storage_slot: Field,\\n old_value: Field,\\n new_value: Field,\\n}\\n\\nimpl ContractStorageUpdateRequest {\\n fn serialize(self) -> [Field; CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH] {\\n [self.storage_slot, self.old_value, self.new_value]\\n }\\n\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen_with_separator(self.serialize(), GENERATOR_INDEX__PUBLIC_DATA_UPDATE_REQUEST)[0]\\n }\\n\\n fn empty() -> Self {\\n Self { storage_slot: 0, old_value: 0, new_value: 0 }\\n }\\n}\\n\\n\\nstruct PublicCircuitPublicInputs {\\n call_context: CallContext,\\n args_hash: Field,\\n return_values: [Field; RETURN_VALUES_LENGTH],\\n contract_storage_update_requests: [ContractStorageUpdateRequest; MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\\n contract_storage_read: [ContractStorageRead; MAX_PUBLIC_DATA_READS_PER_CALL],\\n public_call_stack: [Field; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\\n new_commitments: [Field; MAX_NEW_COMMITMENTS_PER_CALL],\\n new_nullifiers: [Field; crate::abi::MAX_NEW_NULLIFIERS_PER_CALL],\\n new_l2_to_l1_msgs: [Field; crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\\n unencrypted_logs_hash: [Field; NUM_FIELDS_PER_SHA256],\\n unencrypted_log_preimages_length: Field,\\n block_data: HistoricBlockData,\\n prover_address: Field,\\n\\n // TODO: include globals in here and check them elsewhere\\n // https://github.com/AztecProtocol/aztec-packages/issues/1567\\n}\\n\\nimpl PublicCircuitPublicInputs {\\n \\n fn hash(self) -> Field {\\n let mut inputs: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH> = BoundedVec::new(0);\\n inputs.push(self.call_context.hash());\\n inputs.push(self.args_hash);\\n inputs.push_array(self.return_values);\\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\\n inputs.push(self.contract_storage_update_requests[i].hash());\\n }\\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\\n inputs.push(self.contract_storage_read[i].hash());\\n }\\n inputs.push_array(self.public_call_stack);\\n inputs.push_array(self.new_commitments);\\n inputs.push_array(self.new_nullifiers);\\n inputs.push_array(self.new_l2_to_l1_msgs);\\n\\n // We do not include block_data since it\'s not in the cpp hash\\n\\n inputs.push_array(self.unencrypted_logs_hash);\\n inputs.push(self.unencrypted_log_preimages_length);\\n inputs.push_array(self.block_data.serialize()); // see https://github.com/AztecProtocol/aztec-packages/issues/1473\\n inputs.push(self.prover_address);\\n\\n dep::std::hash::pedersen_with_separator(inputs.storage, GENERATOR_INDEX__PUBLIC_CIRCUIT_PUBLIC_INPUTS)[0]\\n }\\n\\n fn serialize(self) -> [Field; PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH] {\\n let mut fields: BoundedVec<Field, PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH> = BoundedVec::new(0); \\n fields.push_array(self.call_context.serialize()); \\n fields.push(self.args_hash);\\n fields.push_array(self.return_values);\\n for i in 0..MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL {\\n fields.push_array(self.contract_storage_update_requests[i].serialize());\\n }\\n for i in 0..MAX_PUBLIC_DATA_READS_PER_CALL {\\n fields.push_array(self.contract_storage_read[i].serialize());\\n }\\n fields.push_array(self.public_call_stack);\\n fields.push_array(self.new_commitments);\\n fields.push_array(self.new_nullifiers);\\n fields.push_array(self.new_l2_to_l1_msgs);\\n fields.push_array(self.unencrypted_logs_hash);\\n fields.push(self.unencrypted_log_preimages_length);\\n fields.push_array(self.block_data.serialize());\\n fields.push(self.prover_address);\\n fields.storage\\n }\\n}\\n\\nglobal ARGS_HASH_CHUNK_LENGTH: u32 = 32;\\nglobal ARGS_HASH_CHUNK_COUNT: u32 = 16;\\n\\nfn hash_args<N>(args: [Field; N]) -> Field {\\n if args.len() == 0 {\\n 0\\n } else {\\n let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];\\n for i in 0..ARGS_HASH_CHUNK_COUNT {\\n let mut chunk_hash = 0;\\n let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;\\n if start_chunk_index < (args.len() as u32) {\\n let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];\\n for j in 0..ARGS_HASH_CHUNK_LENGTH {\\n let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;\\n if item_index < (args.len() as u32) {\\n chunk_args[j] = args[item_index];\\n }\\n }\\n chunk_hash = dep::std::hash::pedersen_with_separator(chunk_args, GENERATOR_INDEX__FUNCTION_ARGS)[0];\\n }\\n chunks_hashes[i] = chunk_hash;\\n }\\n dep::std::hash::pedersen_with_separator(chunks_hashes, GENERATOR_INDEX__FUNCTION_ARGS)[0]\\n }\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/abi"},"32":{"source":"use crate::constants_gen::{\\n EMPTY_NULLIFIED_COMMITMENT,\\n MAX_NEW_COMMITMENTS_PER_CALL,\\n MAX_NEW_L2_TO_L1_MSGS_PER_CALL,\\n MAX_NEW_NULLIFIERS_PER_CALL,\\n MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,\\n MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,\\n MAX_PUBLIC_DATA_READS_PER_CALL,\\n MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,\\n MAX_READ_REQUESTS_PER_CALL,\\n NUM_FIELDS_PER_SHA256,\\n RETURN_VALUES_LENGTH,\\n};\\n\\nuse crate::abi;\\n\\nuse crate::abi::{\\n hash_args,\\n CallContext,\\n ContractDeploymentData,\\n HistoricBlockData,\\n FunctionData,\\n PrivateCircuitPublicInputs,\\n PublicCircuitPublicInputs,\\n};\\n\\n// TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n// use dep::std::collections::vec::Vec;\\n\\n// l1 to l2 messaging\\nuse crate::messaging::process_l1_to_l2_message;\\nuse crate::private_call_stack_item::PrivateCallStackItem;\\nuse crate::public_call_stack_item::PublicCallStackItem;\\n\\nuse crate::types::{\\n vec::BoundedVec,\\n point::Point,\\n};\\n\\nuse crate::utils::arr_copy_slice;\\n\\nuse crate::oracle::{\\n arguments,\\n call_private_function::call_private_function_internal,\\n public_call::call_public_function_internal,\\n enqueue_public_function_call::enqueue_public_function_call_internal,\\n context::get_portal_address,\\n};\\n\\n\\n// When finished, one can call .finish() to convert back to the abi\\nstruct PrivateContext {\\n inputs: abi::PrivateContextInputs,\\n\\n args_hash : Field,\\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\\n\\n read_requests: BoundedVec<Field, MAX_READ_REQUESTS_PER_CALL>,\\n\\n new_commitments: BoundedVec<Field, MAX_NEW_COMMITMENTS_PER_CALL>,\\n new_nullifiers: BoundedVec<Field, MAX_NEW_NULLIFIERS_PER_CALL>,\\n nullified_commitments: BoundedVec<Field, MAX_NEW_NULLIFIERS_PER_CALL>,\\n\\n private_call_stack : BoundedVec<Field, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL>,\\n public_call_stack : BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\\n new_l2_to_l1_msgs : BoundedVec<Field, MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\\n\\n block_data: HistoricBlockData,\\n\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n // encrypted_logs_preimages: Vec<Field>,\\n // unencrypted_logs_preimages: Vec<Field>,\\n}\\n\\nimpl PrivateContext {\\n fn new(inputs: abi::PrivateContextInputs, args_hash: Field) -> PrivateContext {\\n PrivateContext {\\n inputs: inputs,\\n\\n args_hash: args_hash,\\n return_values: BoundedVec::new(0),\\n\\n read_requests: BoundedVec::new(0),\\n\\n new_commitments: BoundedVec::new(0),\\n new_nullifiers: BoundedVec::new(0),\\n nullified_commitments: BoundedVec::new(0),\\n\\n block_data: inputs.block_data,\\n\\n private_call_stack: BoundedVec::new(0),\\n public_call_stack: BoundedVec::new(0),\\n new_l2_to_l1_msgs: BoundedVec::new(0),\\n\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n // encrypted_logs_preimages: Vec::new(),\\n // unencrypted_logs_preimages: Vec::new(),\\n }\\n }\\n\\n fn msg_sender(self) -> Field {\\n self.inputs.call_context.msg_sender\\n }\\n\\n fn this_address(self) -> Field {\\n self.inputs.call_context.storage_contract_address\\n }\\n\\n fn this_portal_address(self) -> Field {\\n self.inputs.call_context.portal_contract_address\\n }\\n\\n fn chain_id(self) -> Field {\\n self.inputs.private_global_variables.chain_id\\n }\\n\\n fn version(self) -> Field {\\n self.inputs.private_global_variables.version\\n }\\n\\n fn finish(self) -> abi::PrivateCircuitPublicInputs {\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n let encrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\\n let encrypted_log_preimages_length = 0;\\n let unencrypted_log_preimages_length = 0;\\n\\n let priv_circuit_pub_inputs = abi::PrivateCircuitPublicInputs {\\n call_context: self.inputs.call_context,\\n args_hash: self.args_hash,\\n return_values: self.return_values.storage,\\n read_requests: self.read_requests.storage,\\n new_commitments: self.new_commitments.storage,\\n new_nullifiers: self.new_nullifiers.storage,\\n nullified_commitments: self.nullified_commitments.storage,\\n private_call_stack: self.private_call_stack.storage,\\n public_call_stack: self.public_call_stack.storage,\\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\\n encrypted_logs_hash: encrypted_logs_hash,\\n unencrypted_logs_hash: unencrypted_logs_hash,\\n encrypted_log_preimages_length: encrypted_log_preimages_length,\\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\\n block_data: self.block_data,\\n contract_deployment_data: self.inputs.contract_deployment_data,\\n chain_id: self.inputs.private_global_variables.chain_id,\\n version: self.inputs.private_global_variables.version,\\n };\\n priv_circuit_pub_inputs\\n }\\n\\n fn push_read_request(&mut self, read_request: Field) {\\n self.read_requests.push(read_request);\\n }\\n\\n fn push_new_note_hash(&mut self, note_hash: Field) {\\n self.new_commitments.push(note_hash);\\n }\\n\\n fn push_new_nullifier(&mut self, nullifier: Field, nullified_commitment: Field) {\\n self.new_nullifiers.push(nullifier);\\n self.nullified_commitments.push(nullified_commitment);\\n }\\n\\n fn message_portal(&mut self, content: Field) {\\n self.new_l2_to_l1_msgs.push(content);\\n }\\n\\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\\n fn consume_l1_to_l2_message(&mut self, inputs: abi::PrivateContextInputs, msg_key: Field, content: Field, secret: Field) {\\n let nullifier = process_l1_to_l2_message(inputs.block_data.l1_to_l2_messages_tree_root, inputs.call_context.storage_contract_address, msg_key, content, secret);\\n\\n // Push nullifier (and the \\"commitment\\" corresponding to this can be \\"empty\\")\\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\\n }\\n\\n fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\\n let _void1 = self.inputs;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\\n let _void1 = self.inputs;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn call_private_function<ARGS_COUNT>(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field, \\n args: [Field; ARGS_COUNT]\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n let args_hash = hash_args(args);\\n assert(args_hash == arguments::pack_arguments(args));\\n self.call_private_function_with_packed_args(contract_address, function_selector, args_hash)\\n }\\n\\n fn call_private_function_no_args(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field, \\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n self.call_private_function_with_packed_args(contract_address, function_selector, 0)\\n }\\n\\n fn call_private_function_with_packed_args(\\n &mut self,\\n contract_address: Field,\\n function_selector: Field,\\n args_hash: Field\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n let fields = call_private_function_internal(\\n contract_address, \\n function_selector, \\n args_hash\\n );\\n let item = PrivateCallStackItem {\\n contract_address: fields[0],\\n function_data: FunctionData {\\n function_selector: fields[1],\\n is_internal: fields[2] as bool,\\n is_private: fields[3] as bool,\\n is_constructor: fields[4] as bool,\\n },\\n public_inputs: PrivateCircuitPublicInputs {\\n call_context: CallContext {\\n msg_sender : fields[5],\\n storage_contract_address : fields[6],\\n portal_contract_address : fields[7],\\n \\n is_delegate_call : fields[8] as bool,\\n is_static_call : fields[9] as bool,\\n is_contract_deployment: fields[10] as bool,\\n },\\n // TODO handle the offsets as a variable incremented during extraction?\\n args_hash: fields[11],\\n return_values: arr_copy_slice(fields, [0; RETURN_VALUES_LENGTH], 12),\\n read_requests: arr_copy_slice(fields, [0; MAX_READ_REQUESTS_PER_CALL], 16),\\n new_commitments: arr_copy_slice(fields, [0; MAX_NEW_COMMITMENTS_PER_CALL], 20),\\n new_nullifiers: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 24),\\n nullified_commitments: arr_copy_slice(fields, [0; MAX_NEW_NULLIFIERS_PER_CALL], 28),\\n private_call_stack: arr_copy_slice(fields, [0; MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL], 32),\\n public_call_stack: arr_copy_slice(fields, [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL], 36),\\n new_l2_to_l1_msgs: arr_copy_slice(fields, [0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL], 40),\\n encrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 42),\\n unencrypted_logs_hash: arr_copy_slice(fields, [0; NUM_FIELDS_PER_SHA256], 44),\\n encrypted_log_preimages_length: fields[46],\\n unencrypted_log_preimages_length: fields[47],\\n block_data: HistoricBlockData {\\n // Must match order in `private_circuit_public_inputs.hpp`\\n private_data_tree_root : fields[48],\\n nullifier_tree_root : fields[49],\\n contract_tree_root : fields[50],\\n l1_to_l2_messages_tree_root : fields[51],\\n blocks_tree_root : fields[52],\\n public_data_tree_root: fields[53],\\n global_variables_hash: fields[54],\\n },\\n contract_deployment_data: ContractDeploymentData {\\n deployer_public_key: Point::new(fields[55], fields[56]),\\n constructor_vk_hash : fields[57],\\n function_tree_root : fields[58],\\n contract_address_salt : fields[59],\\n portal_contract_address : fields[60],\\n },\\n chain_id: fields[61],\\n version: fields[62],\\n },\\n is_execution_request: fields[63] as bool,\\n };\\n assert(contract_address == item.contract_address);\\n assert(function_selector == item.function_data.function_selector);\\n\\n assert(args_hash == item.public_inputs.args_hash);\\n\\n assert(item.is_execution_request == false);\\n\\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\\n // the msg_sender in the nested call to be equal to our address, and the execution context address\\n // for the nested call to be equal to the address we actually called.\\n assert(item.public_inputs.call_context.is_delegate_call == false);\\n assert(item.public_inputs.call_context.is_static_call == false);\\n assert(item.public_inputs.call_context.is_contract_deployment == false);\\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\\n\\n self.private_call_stack.push(item.hash());\\n\\n item.public_inputs.return_values\\n }\\n\\n fn call_public_function<ARGS_COUNT>(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field, \\n args: [Field; ARGS_COUNT]\\n ) {\\n let args_hash = hash_args(args);\\n assert(args_hash == arguments::pack_arguments(args));\\n self.call_public_function_with_packed_args(contract_address, function_selector, args_hash)\\n }\\n\\n fn call_public_function_no_args(\\n &mut self,\\n contract_address: Field, \\n function_selector: Field,\\n ) {\\n self.call_public_function_with_packed_args(contract_address, function_selector, 0)\\n }\\n\\n fn call_public_function_with_packed_args(\\n &mut self,\\n contract_address: Field,\\n function_selector: Field,\\n args_hash: Field\\n ) {\\n let fields = enqueue_public_function_call_internal(\\n contract_address, \\n function_selector, \\n args_hash\\n );\\n let item = PublicCallStackItem {\\n contract_address: fields[0],\\n function_data: FunctionData {\\n function_selector: fields[1],\\n is_internal: fields[2] as bool,\\n is_private: fields[3] as bool,\\n is_constructor: fields[4] as bool,\\n },\\n public_inputs: PublicCircuitPublicInputs {\\n call_context: CallContext {\\n msg_sender : fields[5],\\n storage_contract_address : fields[6],\\n portal_contract_address : fields[7],\\n \\n is_delegate_call : fields[8] as bool,\\n is_static_call : fields[9] as bool,\\n is_contract_deployment: fields[10] as bool,\\n },\\n args_hash: fields[11],\\n return_values: [0; RETURN_VALUES_LENGTH],\\n contract_storage_update_requests: [ContractStorageUpdateRequest::empty(); MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL],\\n contract_storage_read: [ContractStorageRead::empty(); MAX_PUBLIC_DATA_READS_PER_CALL],\\n public_call_stack: [0; MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL],\\n new_commitments: [0; MAX_NEW_COMMITMENTS_PER_CALL],\\n new_nullifiers: [0; MAX_NEW_NULLIFIERS_PER_CALL],\\n new_l2_to_l1_msgs:[0; MAX_NEW_L2_TO_L1_MSGS_PER_CALL],\\n unencrypted_logs_hash:[0; NUM_FIELDS_PER_SHA256],\\n unencrypted_log_preimages_length: 0,\\n block_data: HistoricBlockData::empty(),\\n prover_address: 0,\\n },\\n is_execution_request: true,\\n };\\n\\n assert(contract_address == item.contract_address);\\n assert(function_selector == item.function_data.function_selector);\\n \\n assert(args_hash == item.public_inputs.args_hash);\\n\\n // Assert that the call context of the enqueued call generated by the oracle matches our request.\\n // We are issuing a regular call which is not delegate, static, or deployment. We also constrain\\n // the msg_sender in the nested call to be equal to our address, and the execution context address\\n // for the nested call to be equal to the address we actually called.\\n assert(item.public_inputs.call_context.is_delegate_call == false);\\n assert(item.public_inputs.call_context.is_static_call == false);\\n assert(item.public_inputs.call_context.is_contract_deployment == false);\\n assert(item.public_inputs.call_context.msg_sender == self.inputs.call_context.storage_contract_address);\\n assert(item.public_inputs.call_context.storage_contract_address == contract_address);\\n\\n self.public_call_stack.push(item.hash());\\n }\\n}\\n\\nuse crate::abi::{\\n ContractStorageRead,\\n ContractStorageUpdateRequest\\n};\\n\\nstruct PublicContext {\\n inputs: abi::PublicContextInputs,\\n\\n args_hash : Field,\\n return_values : BoundedVec<Field, RETURN_VALUES_LENGTH>,\\n\\n contract_storage_update_requests: BoundedVec<ContractStorageUpdateRequest, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL>,\\n contract_storage_read: BoundedVec<ContractStorageRead, MAX_PUBLIC_DATA_READS_PER_CALL>,\\n public_call_stack: BoundedVec<Field, MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL>,\\n\\n new_commitments: BoundedVec<Field, MAX_NEW_COMMITMENTS_PER_CALL>,\\n new_nullifiers: BoundedVec<Field, crate::abi::MAX_NEW_NULLIFIERS_PER_CALL>,\\n\\n new_l2_to_l1_msgs: BoundedVec<Field, crate::abi::MAX_NEW_L2_TO_L1_MSGS_PER_CALL>,\\n\\n unencrypted_logs_hash: BoundedVec<Field, NUM_FIELDS_PER_SHA256>,\\n unencrypted_logs_preimages_length: Field,\\n\\n block_data: HistoricBlockData,\\n prover_address: Field,\\n}\\n\\nimpl PublicContext {\\n fn new(inputs: abi::PublicContextInputs, args_hash: Field) -> PublicContext {\\n let empty_storage_read = ContractStorageRead::empty();\\n let empty_storage_update = ContractStorageUpdateRequest::empty();\\n PublicContext {\\n inputs: inputs,\\n\\n args_hash: args_hash,\\n return_values: BoundedVec::new(0),\\n\\n contract_storage_update_requests: BoundedVec::new(empty_storage_update),\\n contract_storage_read: BoundedVec::new(empty_storage_read),\\n public_call_stack: BoundedVec::new(0),\\n\\n new_commitments: BoundedVec::new(0),\\n new_nullifiers: BoundedVec::new(0),\\n\\n new_l2_to_l1_msgs: BoundedVec::new(0),\\n\\n \\n unencrypted_logs_hash: BoundedVec::new(0),\\n unencrypted_logs_preimages_length: 0,\\n\\n block_data: inputs.block_data,\\n prover_address: 0,\\n\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n // encrypted_logs_preimages: Vec::new(),\\n // unencrypted_logs_preimages: Vec::new(),\\n }\\n }\\n\\n fn msg_sender(self) -> Field {\\n self.inputs.call_context.msg_sender\\n }\\n\\n fn this_address(self) -> Field {\\n self.inputs.call_context.storage_contract_address\\n }\\n\\n fn this_portal_address(self) -> Field {\\n self.inputs.call_context.portal_contract_address\\n }\\n\\n fn chain_id(self) -> Field {\\n self.inputs.public_global_variables.chain_id\\n }\\n\\n fn version(self) -> Field {\\n self.inputs.public_global_variables.version\\n }\\n\\n fn block_number(self) -> Field {\\n self.inputs.public_global_variables.block_number\\n }\\n\\n fn timestamp(self) -> Field {\\n self.inputs.public_global_variables.timestamp\\n }\\n\\n fn finish(self) -> abi::PublicCircuitPublicInputs {\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n let unencrypted_logs_hash = [0; NUM_FIELDS_PER_SHA256];\\n let unencrypted_log_preimages_length = 0;\\n\\n\\n // Compute the public call stack hashes\\n let pub_circuit_pub_inputs = abi::PublicCircuitPublicInputs {\\n call_context: self.inputs.call_context, // Done\\n args_hash: self.args_hash, // Done\\n contract_storage_update_requests: self.contract_storage_update_requests.storage,\\n contract_storage_read: self.contract_storage_read.storage,\\n return_values: self.return_values.storage,\\n new_commitments: self.new_commitments.storage,\\n new_nullifiers: self.new_nullifiers.storage,\\n public_call_stack: self.public_call_stack.storage,\\n new_l2_to_l1_msgs: self.new_l2_to_l1_msgs.storage,\\n unencrypted_logs_hash: unencrypted_logs_hash,\\n unencrypted_log_preimages_length: unencrypted_log_preimages_length,\\n block_data: self.inputs.block_data,\\n prover_address: self.prover_address,\\n };\\n pub_circuit_pub_inputs\\n }\\n\\n fn push_new_note_hash(&mut self, note_hash: Field) {\\n self.new_commitments.push(note_hash);\\n }\\n\\n fn push_new_nullifier(&mut self, nullifier: Field, _nullified_commitment: Field) {\\n self.new_nullifiers.push(nullifier);\\n }\\n\\n fn message_portal(&mut self, content: Field) {\\n self.new_l2_to_l1_msgs.push(content);\\n }\\n\\n // PrivateContextInputs must be temporarily passed in to prevent too many unknowns\\n // Note this returns self to get around an issue where mutable structs do not maintain mutations unless reassigned\\n fn consume_l1_to_l2_message(&mut self, msg_key: Field, content: Field, secret: Field) {\\n let this = (*self).this_address();\\n let nullifier = process_l1_to_l2_message(self.block_data.l1_to_l2_messages_tree_root, this, msg_key, content, secret);\\n\\n // Push nullifier (and the \\"commitment\\" corresponding to this can be \\"empty\\")\\n self.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT)\\n }\\n\\n fn accumulate_encrypted_logs<N>(&mut self, log: [Field; N]) {\\n let _void1 = self;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn accumulate_unencrypted_logs<T>(&mut self, log: T) {\\n let _void1 = self;\\n let _void2 = log;\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1165)\\n }\\n\\n fn call_public_function<ARGS_COUNT>(\\n _self: Self,\\n contract_address: Field, \\n function_selector: Field,\\n args: [Field; ARGS_COUNT],\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n let args_hash = abi::hash_args(args);\\n assert(args_hash == arguments::pack_arguments(args));\\n call_public_function_internal(\\n contract_address, \\n function_selector, \\n args_hash,\\n )\\n }\\n\\n fn call_public_function_no_args(\\n _self: Self,\\n contract_address: Field, \\n function_selector: Field,\\n ) -> [Field; RETURN_VALUES_LENGTH] {\\n call_public_function_internal(\\n contract_address, \\n function_selector, \\n 0,\\n )\\n }\\n\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/context"},"33":{"source":"use crate::context::PrivateContext;\\nuse crate::oracle;\\nuse crate::types::point::Point;\\n\\nfn emit_encrypted_log<N>(\\n context: &mut PrivateContext,\\n contract_address: Field,\\n storage_slot: Field,\\n encryption_pub_key: Point,\\n log: [Field; N],\\n) {\\n let _ = oracle::logs::emit_encrypted_log(contract_address, storage_slot, encryption_pub_key, log);\\n context.accumulate_encrypted_logs(log);\\n}\\n\\nfn emit_unencrypted_log<T>(\\n context: &mut PrivateContext,\\n log: T,\\n) {\\n let _ = oracle::logs::emit_unencrypted_log(log);\\n context.accumulate_unencrypted_logs(log);\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/log"},"39":{"source":"use dep::std::option::Option;\\nuse crate::abi::PublicContextInputs;\\nuse crate::context::{\\n PrivateContext,\\n PublicContext,\\n};\\nuse crate::note::{\\n note_header::NoteHeader,\\n note_interface::NoteInterface,\\n utils::compute_inner_note_hash,\\n};\\nuse crate::oracle::notes::{notify_created_note, notify_nullified_note};\\nuse crate::constants_gen::EMPTY_NULLIFIED_COMMITMENT;\\n\\nfn create_note<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note: &mut Note,\\n note_interface: NoteInterface<Note, N>,\\n) {\\n let contract_address = (*context).this_address();\\n\\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\\n let set_header = note_interface.set_header;\\n set_header(note, header);\\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\\n\\n let serialise = note_interface.serialise;\\n let preimage = serialise(*note);\\n assert(notify_created_note(storage_slot, preimage, inner_note_hash) == 0);\\n\\n context.push_new_note_hash(inner_note_hash);\\n}\\n\\nfn create_note_hash_from_public<Note, N>(\\n context: &mut PublicContext,\\n storage_slot: Field,\\n note: &mut Note,\\n note_interface: NoteInterface<Note, N>,\\n) {\\n let contract_address = (*context).this_address();\\n\\n let header = NoteHeader { contract_address, storage_slot, nonce: 0 };\\n let set_header = note_interface.set_header;\\n set_header(note, header);\\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\\n\\n context.push_new_note_hash(inner_note_hash);\\n}\\n\\nfn destroy_note<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note: Note,\\n note_interface: NoteInterface<Note, N>,\\n) {\\n let mut nullifier = 0;\\n let mut nullified_commitment: Field = EMPTY_NULLIFIED_COMMITMENT;\\n let compute_nullifier = note_interface.compute_nullifier;\\n nullifier = compute_nullifier(note);\\n\\n let serialise = note_interface.serialise;\\n let preimage = serialise(note);\\n\\n // We also need the note commitment corresponding to the \\"nullifier\\"\\n let get_header = note_interface.get_header;\\n let header = get_header(note);\\n // 0 nonce implies \\"transient\\" nullifier (must nullify a commitment in this TX).\\n // `nullified_commitment` is used to inform the kernel which pending commitment\\n // the nullifier corresponds to so they can be matched and both squashed/deleted.\\n // nonzero nonce implies \\"persistable\\" nullifier (nullifies a persistent/in-tree\\n // commitment) in which case `nullified_commitment` is not used since the kernel\\n // just siloes and forwards the nullier to its output.\\n if (header.nonce == 0) {\\n // TODO(suyash): Can we reuse the note commitment computed in `compute_nullifier`?\\n nullified_commitment = compute_inner_note_hash(note_interface, note);\\n }\\n assert(notify_nullified_note(storage_slot, nullifier, preimage, nullified_commitment) == 0);\\n\\n context.push_new_nullifier(nullifier, nullified_commitment)\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/lifecycle"},"40":{"source":"use dep::std::option::Option;\\nuse crate::constants_gen::{\\n MAX_READ_REQUESTS_PER_CALL,\\n GET_NOTE_ORACLE_RETURN_LENGTH,\\n GET_NOTES_ORACLE_RETURN_LENGTH,\\n MAX_NOTES_PER_PAGE,\\n VIEW_NOTE_ORACLE_RETURN_LENGTH,\\n};\\nuse crate::context::PrivateContext;\\nuse crate::note::{\\n note_getter_options::{NoteGetterOptions, Select, Sort},\\n note_interface::NoteInterface,\\n note_header::NoteHeader,\\n note_viewer_options::NoteViewerOptions,\\n utils::compute_note_hash_for_read_or_nullify,\\n utils::compute_unique_siloed_note_hash,\\n utils::compute_inner_note_hash,\\n utils::compute_siloed_note_hash,\\n};\\nuse crate::messaging::get_commitment_getter_data::make_commitment_getter_data;\\nuse crate::oracle;\\nuse crate::types::vec::BoundedVec;\\n\\nfn check_note_header<Note, N>(\\n context: PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n note: Note,\\n) {\\n let get_header = note_interface.get_header;\\n let header = get_header(note);\\n let contract_address = context.this_address();\\n assert(header.contract_address == contract_address);\\n assert(header.storage_slot == storage_slot);\\n}\\n\\nfn ensure_note_exists<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n note: &mut Note,\\n) {\\n let saved_note = get_note_internal(storage_slot, note_interface);\\n\\n // Only copy over the header to the original note to make sure the preimage is the same.\\n let get_header = note_interface.get_header;\\n let set_header = note_interface.set_header;\\n let note_header = get_header(saved_note);\\n set_header(note, note_header);\\n\\n check_note_header(*context, storage_slot, note_interface, *note);\\n\\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, *note);\\n context.push_read_request(note_hash_for_read_request);\\n}\\n\\n// Ensure a note\'s hash exists in the tree without retrieving the entire\\n// notes via the oracle.\\n// Modifies the note by populating it with header info.\\nfn ensure_note_hash_exists<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n note: &mut Note,\\n) {\\n // Initialize header of note. Must be done before computing note hashes as it initializes the:\\n // - storage slot (used in inner note hash)\\n // - the contract address (used in siloed note hash)\\n // - and the nonce (used in the unique siloed note hash)\\n let set_header = note_interface.set_header;\\n let note_header = NoteHeader {\\n contract_address: (*context).this_address(),\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\\n // real nonce (once public kernel applies nonces).\\n nonce: 0,\\n storage_slot\\n };\\n set_header(note, note_header);\\n\\n // Get a note from oracle and early out if it doesn\'t exist.\\n let inner_note_hash = compute_inner_note_hash(note_interface, *note);\\n\\n let raw_oracle_ret = oracle::get_commitment::get_commitment(inner_note_hash);\\n let deserialized_oracle_ret = make_commitment_getter_data(raw_oracle_ret, 0);\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\\n // unique_siloed_note_hash once public kernel applies nonces\\n let saved_siloed_note_hash = deserialized_oracle_ret.message;\\n\\n assert(saved_siloed_note_hash != 0); // TODO(dbanks12): necessary?\\n\\n check_note_header(*context, storage_slot, note_interface, *note);\\n\\n // Ensure that the note hash retrieved from oracle matches the one computed from note.\\n let computed_siloed_note_hash = compute_siloed_note_hash(note_interface, *note);\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should be\\n // compute_note_hash_for_read_or_nullify once public kernel applies nonces\\n assert(computed_siloed_note_hash == saved_siloed_note_hash);\\n\\n context.push_read_request(computed_siloed_note_hash);\\n}\\n\\nfn get_note<Note, N>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n) -> Note {\\n let note = get_note_internal(storage_slot, note_interface);\\n\\n check_note_header(*context, storage_slot, note_interface, note);\\n\\n let note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\\n\\n context.push_read_request(note_hash_for_read_request);\\n note\\n}\\n\\nfn get_notes<Note, N, FILTER_ARGS>(\\n context: &mut PrivateContext,\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n options: NoteGetterOptions<Note, N, FILTER_ARGS>,\\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\\n let opt_notes = get_notes_internal(storage_slot, note_interface, options);\\n for i in 0..opt_notes.len() {\\n let opt_note = opt_notes[i];\\n let mut note_hash_for_read_request = 0;\\n if opt_note.is_some() {\\n let note = opt_note.unwrap_unchecked();\\n check_note_header(*context, storage_slot, note_interface, note);\\n note_hash_for_read_request = compute_note_hash_for_read_or_nullify(note_interface, note);\\n };\\n // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1410): test to ensure\\n // failure if malicious oracle injects 0 nonce here for a \\"pre-existing\\" note.\\n context.push_read_request(note_hash_for_read_request);\\n };\\n\\n // TODO(#1660)\\n // Move it back to get_notes_internal and only make read request for selected notes.\\n let filter = options.filter;\\n let filter_args = options.filter_args;\\n filter(opt_notes, filter_args)\\n}\\n\\nunconstrained fn get_note_internal<Note, N>(\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n) -> Note {\\n let placeholder_note = [Option::none()];\\n let placeholder_fields = [0; GET_NOTE_ORACLE_RETURN_LENGTH];\\n oracle::notes::get_notes(\\n storage_slot,\\n note_interface,\\n 0,\\n [],\\n [],\\n [],\\n [],\\n 1, // limit\\n 0, // offset\\n placeholder_note,\\n placeholder_fields,\\n )[0].unwrap() // Notice: we don\'t allow dummies to be returned from get_note (singular).\\n}\\n\\nunconstrained fn get_notes_internal<Note, N, FILTER_ARGS>(\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n options: NoteGetterOptions<Note, N, FILTER_ARGS>,\\n) -> [Option<Note>; MAX_READ_REQUESTS_PER_CALL] {\\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\\n let placeholder_opt_notes = [Option::none(); MAX_READ_REQUESTS_PER_CALL];\\n let placeholder_fields = [0; GET_NOTES_ORACLE_RETURN_LENGTH];\\n oracle::notes::get_notes(\\n storage_slot,\\n note_interface,\\n num_selects,\\n select_by,\\n select_values,\\n sort_by,\\n sort_order,\\n options.limit,\\n options.offset,\\n placeholder_opt_notes,\\n placeholder_fields,\\n )\\n}\\n\\nunconstrained fn view_notes<Note, N>(\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n options: NoteViewerOptions<Note, N>,\\n) -> [Option<Note>; MAX_NOTES_PER_PAGE] {\\n let (num_selects, select_by, select_values, sort_by, sort_order) = flatten_options(options.selects, options.sorts);\\n let placeholder_opt_notes = [Option::none(); MAX_NOTES_PER_PAGE];\\n let placeholder_fields = [0; VIEW_NOTE_ORACLE_RETURN_LENGTH];\\n oracle::notes::get_notes(\\n storage_slot,\\n note_interface,\\n num_selects,\\n select_by,\\n select_values,\\n sort_by,\\n sort_order,\\n options.limit,\\n options.offset,\\n placeholder_opt_notes,\\n placeholder_fields,\\n )\\n}\\n\\nunconstrained fn flatten_options<Note, N>(\\n selects: BoundedVec<Option<Select>, N>,\\n sorts: BoundedVec<Option<Sort>, N>,\\n) -> (u8, [u8; N], [Field; N], [u8; N], [u2; N]) {\\n let mut num_selects = 0;\\n let mut select_by = [0; N];\\n let mut select_values = [0; N];\\n for i in 0..selects.len {\\n let select = selects.get(i);\\n if select.is_some() {\\n select_by[num_selects] = select.unwrap_unchecked().field_index;\\n select_values[num_selects] = select.unwrap_unchecked().value;\\n num_selects += 1;\\n };\\n };\\n\\n let mut sort_by = [0; N];\\n let mut sort_order = [0; N];\\n for i in 0..sorts.len {\\n let sort = sorts.get(i);\\n if sort.is_some() {\\n sort_by[i] = sort.unwrap_unchecked().field_index;\\n sort_order[i] = sort.unwrap_unchecked().order;\\n };\\n };\\n\\n (num_selects, select_by, select_values, sort_by, sort_order)\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_getter"},"42":{"source":"use dep::std::hash::{pedersen, pedersen_with_separator};\\nuse crate::constants_gen::{GENERATOR_INDEX__UNIQUE_COMMITMENT, GENERATOR_INDEX__SILOED_COMMITMENT};\\n\\nfn compute_inner_hash(storage_slot: Field, note_hash: Field) -> Field {\\n // TODO(#1205) Do we need a generator index here?\\n pedersen([storage_slot, note_hash])[0]\\n}\\n\\nfn compute_siloed_hash(contract_address: Field, inner_note_hash: Field) -> Field {\\n let inputs = [contract_address, inner_note_hash];\\n pedersen_with_separator(inputs, GENERATOR_INDEX__SILOED_COMMITMENT)[0]\\n}\\n\\nfn compute_unique_hash(nonce: Field, siloed_note_hash: Field) -> Field {\\n let inputs = [nonce, siloed_note_hash];\\n pedersen_with_separator(inputs, GENERATOR_INDEX__UNIQUE_COMMITMENT)[0]\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/note_hash"},"46":{"source":"use crate::note::{\\n note_hash::{compute_inner_hash, compute_siloed_hash, compute_unique_hash},\\n note_header::NoteHeader,\\n note_interface::NoteInterface,\\n};\\nuse crate::utils::arr_copy_slice;\\n\\nfn compute_inner_note_hash<Note, N>(\\n note_interface: NoteInterface<Note, N>,\\n note: Note,\\n) -> Field {\\n let get_header = note_interface.get_header;\\n let header = get_header(note);\\n\\n let compute_note_hash = note_interface.compute_note_hash;\\n let note_hash = compute_note_hash(note);\\n\\n compute_inner_hash(header.storage_slot, note_hash)\\n}\\n\\nfn compute_siloed_note_hash<Note, N>(\\n note_interface: NoteInterface<Note, N>,\\n note_with_header: Note,\\n) -> Field {\\n let get_header = note_interface.get_header;\\n let header = get_header(note_with_header);\\n\\n let inner_note_hash = compute_inner_note_hash(note_interface, note_with_header);\\n\\n compute_siloed_hash(header.contract_address, inner_note_hash)\\n}\\n\\nfn compute_unique_siloed_note_hash<Note, N>(\\n note_interface: NoteInterface<Note, N>,\\n note_with_header: Note,\\n) -> Field {\\n let get_header = note_interface.get_header;\\n let header = get_header(note_with_header);\\n\\n let siloed_note_hash = compute_siloed_note_hash(note_interface, note_with_header);\\n\\n compute_unique_hash(header.nonce, siloed_note_hash)\\n}\\n\\nfn compute_note_hash_for_read_or_nullify<Note, N>(\\n note_interface: NoteInterface<Note, N>,\\n note_with_header: Note,\\n) -> Field {\\n let get_header = note_interface.get_header;\\n let header = get_header(note_with_header);\\n\\n if (header.nonce == 0) {\\n // when nonce is zero, that means we are reading a pending note (doesn\'t have a nonce yet),\\n // so we just read the inner_note_hash (kernel will silo by contract address)\\n compute_inner_note_hash(note_interface, note_with_header)\\n } else {\\n // When nonce is nonzero, that means we are reading a settled note (from tree) created in a\\n // previous TX. So we need the unique_siloed_note_hash which has already been hashed with\\n // contract address and then nonce. This hash will match the existing leaf in the private\\n // data tree, so the kernel can just perform a membership check directly on this hash/leaf.\\n compute_unique_siloed_note_hash(note_interface, note_with_header)\\n }\\n\\n}\\n\\nfn compute_note_hash_and_nullifier<Note, N, S>(\\n note_interface: NoteInterface<Note, N>,\\n note_header: NoteHeader,\\n preimage: [Field; S],\\n) -> [Field; 4] {\\n let deserialise = note_interface.deserialise;\\n let set_header = note_interface.set_header;\\n let mut note = deserialise(arr_copy_slice(preimage, [0; N], 0));\\n set_header(&mut note, note_header);\\n\\n let compute_note_hash = note_interface.compute_note_hash;\\n let note_hash = compute_note_hash(note);\\n let inner_note_hash = compute_inner_hash(note_header.storage_slot, note_hash);\\n\\n let siloed_note_hash = compute_siloed_hash(note_header.contract_address, inner_note_hash);\\n\\n let unique_siloed_note_hash = compute_unique_hash(note_header.nonce, siloed_note_hash);\\n\\n let compute_nullifier = note_interface.compute_nullifier;\\n let inner_nullifier = compute_nullifier(note);\\n\\n [inner_note_hash, siloed_note_hash, unique_siloed_note_hash, inner_nullifier]\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/note/utils"},"48":{"source":"use dep::std::hash::pedersen_with_separator;\\nuse crate::context::PrivateContext;\\nuse crate::note::{\\n lifecycle::create_note,\\n note_getter::{get_note, view_notes},\\n note_interface::NoteInterface,\\n note_viewer_options::NoteViewerOptions,\\n};\\nuse crate::oracle;\\nuse crate::constants_gen::{\\n GENERATOR_INDEX__INITIALISATION_NULLIFIER,\\n EMPTY_NULLIFIED_COMMITMENT,\\n};\\n\\nstruct ImmutableSingleton<Note, N> {\\n storage_slot: Field,\\n note_interface: NoteInterface<Note, N>,\\n}\\n\\nimpl<Note, N> ImmutableSingleton<Note, N> {\\n fn new(storage_slot: Field, note_interface: NoteInterface<Note, N>) -> Self {\\n ImmutableSingleton { storage_slot, note_interface }\\n }\\n\\n unconstrained fn is_initialised(self) -> bool {\\n let nullifier = self.compute_initialisation_nullifier();\\n oracle::notes::is_nullifier_emitted(nullifier)\\n }\\n\\n fn initialise(self, context: &mut PrivateContext, note: &mut Note) {\\n // Nullify the storage slot.\\n let nullifier = self.compute_initialisation_nullifier();\\n context.push_new_nullifier(nullifier, EMPTY_NULLIFIED_COMMITMENT);\\n\\n create_note(context, self.storage_slot, note, self.note_interface);\\n }\\n\\n fn compute_initialisation_nullifier(self) -> Field {\\n pedersen_with_separator([self.storage_slot], GENERATOR_INDEX__INITIALISATION_NULLIFIER)[0]\\n }\\n \\n fn get_note(self, context: &mut PrivateContext) -> Note {\\n let storage_slot = self.storage_slot;\\n get_note(context, storage_slot, self.note_interface)\\n }\\n\\n unconstrained fn view_note(self) -> Note {\\n let options = NoteViewerOptions::new().set_limit(1);\\n view_notes(self.storage_slot, self.note_interface, options)[0].unwrap()\\n }\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/state_vars/immutable_singleton"},"55":{"source":"\\nstruct BoundedVec<T, MaxLen> {\\n storage: [T; MaxLen],\\n len: Field,\\n}\\n\\nimpl<T, MaxLen> BoundedVec<T, MaxLen> {\\n fn new(initial_value: T) -> Self {\\n BoundedVec { storage: [initial_value; MaxLen], len: 0 }\\n }\\n\\n fn get(mut self: Self, index: Field) -> T {\\n assert(index as u64 < self.len as u64);\\n self.storage[index]\\n }\\n\\n fn push(&mut self, elem: T) {\\n assert(self.len as u64 < MaxLen as u64);\\n\\n self.storage[self.len] = elem;\\n self.len += 1;\\n }\\n\\n fn push_array<Len>(&mut self, array: [T; Len]) {\\n let newLen = self.len + array.len();\\n assert(newLen as u64 <= MaxLen as u64);\\n for i in 0..array.len() {\\n self.storage[self.len + i] = array[i];\\n }\\n self.len = newLen;\\n }\\n\\n fn pop(&mut self) -> T {\\n assert(self.len as u64 > 0);\\n\\n let elem = self.storage[self.len - 1];\\n self.len -= 1;\\n elem\\n }\\n}\\n\\n// #[test]\\n// fn test_vec() {\\n// let vec: BoundedVec<Field, 2> = BoundedVec::new(0);\\n// assert(vec.len == 0);\\n// let vec1 = vec.push(1);\\n// assert(vec1.len == 1);\\n// let vec2 = vec1.push(1);\\n// assert(vec2.len == 2);\\n// let vec3 = vec2.push(1);\\n// assert(vec3.len == 3);\\n// let x = vec3.pop();\\n// assert(x == 1);\\n// }","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/types/vec"},"70":{"source":"use crate::types::point::Point;\\nuse dep::std::hash;\\nuse crate::constants_gen::GENERATOR_INDEX__CONTRACT_ADDRESS;\\n\\n#[oracle(getPublicKey)]\\nfn get_public_key_oracle(_address: Field) -> [Field; 3] {}\\n\\nunconstrained fn get_public_key_internal(address: Field) -> [Field; 3] {\\n get_public_key_oracle(address)\\n}\\n\\nfn get_public_key(address: Field) -> Point {\\n let result = get_public_key_internal(address);\\n let pub_key_x = result[0];\\n let pub_key_y = result[1];\\n let partial_address = result[2];\\n \\n let calculated_address = hash::pedersen_with_separator([pub_key_x, pub_key_y, partial_address], GENERATOR_INDEX__CONTRACT_ADDRESS)[0];\\n assert(calculated_address == address);\\n \\n Point::new(pub_key_x, pub_key_y)\\n}\\n","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/oracle/get_public_key"},"78":{"source":"use crate::abi;\\nuse crate::types::vec::BoundedVec;\\nuse crate::context::PrivateContext;\\nuse crate::private_call_stack_item::PrivateCallStackItem;\\nuse crate::public_call_stack_item::PublicCallStackItem; \\n\\nglobal ACCOUNT_MAX_PRIVATE_CALLS: Field = 2;\\nglobal ACCOUNT_MAX_PUBLIC_CALLS: Field = 2;\\nglobal ACCOUNT_MAX_CALLS: Field = 4;\\n// 1 (ARGS_HASH) + 1 (FUNCTION_SELECTOR) + 1 (TARGET_ADDRESS)\\nglobal FUNCTION_CALL_SIZE: Field = 3;\\n\\nstruct FunctionCall {\\n args_hash: Field,\\n function_selector: Field,\\n target_address: Field,\\n}\\n\\nimpl FunctionCall {\\n fn serialize(self) -> [Field; FUNCTION_CALL_SIZE] {\\n [self.args_hash, self.function_selector, self.target_address]\\n }\\n}\\n\\n// FUNCTION_CALL_SIZE * (ACCOUNT_MAX_PUBLIC_CALLS + ACCOUNT_MAX_PRIVATE_CALLS) + 1\\nglobal ENTRYPOINT_PAYLOAD_SIZE: Field = 13;\\nglobal ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES: Field = 416;\\n\\nstruct EntrypointPayload {\\n // Noir doesnt support nested arrays or structs yet so we flatten everything\\n flattened_args_hashes: [Field; ACCOUNT_MAX_CALLS],\\n flattened_selectors: [Field; ACCOUNT_MAX_CALLS],\\n flattened_targets: [Field; ACCOUNT_MAX_CALLS],\\n nonce: Field,\\n}\\n\\nimpl EntrypointPayload {\\n // TODO(#1207) Do we need a generator index?\\n fn hash(self) -> Field {\\n dep::std::hash::pedersen(self.serialize())[0]\\n }\\n\\n // Serializes the entrypoint struct\\n fn serialize(self) -> [Field; ENTRYPOINT_PAYLOAD_SIZE] {\\n let mut fields: BoundedVec<Field, ENTRYPOINT_PAYLOAD_SIZE> = BoundedVec::new(0); \\n fields.push_array(self.flattened_args_hashes);\\n fields.push_array(self.flattened_selectors);\\n fields.push_array(self.flattened_targets);\\n fields.push(self.nonce);\\n fields.storage\\n }\\n\\n // Serializes the payload as an array of bytes. Useful for hashing with sha256.\\n fn to_be_bytes(self) -> [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] {\\n let mut bytes: [u8; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES] = [0; ENTRYPOINT_PAYLOAD_SIZE_IN_BYTES];\\n\\n let args_len = self.flattened_args_hashes.len();\\n let selectors_len = self.flattened_selectors.len();\\n let targets_len = self.flattened_targets.len();\\n\\n for i in 0..args_len {\\n let item_bytes = self.flattened_args_hashes[i].to_be_bytes(32);\\n for j in 0..32 { \\n bytes[i * 32 + j] = item_bytes[j];\\n }\\n }\\n\\n for i in 0..selectors_len {\\n let item_bytes = self.flattened_selectors[i].to_be_bytes(32);\\n for j in 0..32 { \\n bytes[args_len * 32 + i * 32 + j] = item_bytes[j];\\n }\\n }\\n\\n for i in 0..targets_len {\\n let item_bytes = self.flattened_targets[i].to_be_bytes(32);\\n for j in 0..32 { \\n bytes[(args_len + selectors_len) * 32 + i * 32 + j] = item_bytes[j];\\n }\\n }\\n \\n let item_bytes = self.nonce.to_be_bytes(32);\\n for j in 0..32 { \\n bytes[(args_len + selectors_len + targets_len) * 32 + j] = item_bytes[j];\\n }\\n\\n bytes\\n }\\n\\n // Executes all private and public calls \\n fn execute_calls(self, context: &mut PrivateContext) {\\n for i in 0..ACCOUNT_MAX_PRIVATE_CALLS {\\n let target_address = self.flattened_targets[i];\\n if target_address != 0 {\\n let function_selector = self.flattened_selectors[i];\\n let args_hash = self.flattened_args_hashes[i];\\n let _callStackItem = context.call_private_function_with_packed_args(target_address, function_selector, args_hash);\\n }\\n }\\n for i in ACCOUNT_MAX_PRIVATE_CALLS..ACCOUNT_MAX_CALLS {\\n let target_address = self.flattened_targets[i];\\n if target_address != 0 {\\n let function_selector = self.flattened_selectors[i];\\n let args_hash = self.flattened_args_hashes[i];\\n let _callStackItem = context.call_public_function_with_packed_args(target_address, function_selector, args_hash);\\n }\\n }\\n }\\n}","path":"/mnt/user-data/alvaro/aztec-packages/yarn-project/noir-libs/noir-aztec/src/entrypoint"}}}}');class Bi{constructor(e){this.signingPrivateKey=e}async getDeploymentArgs(){const e=await Vs.new().then((e=>e.computePublicKey(this.signingPrivateKey)));return[e.x,e.y]}async getEntrypoint({address:e},{chainId:t,version:n}){return new ki(e,this.signingPrivateKey,await Vs.new(),t,n)}getContractAbi(){return Ri}}class Oi{constructor(e){this.encryptionPrivateKey=e}getDeploymentArgs(){return Promise.resolve([])}async getEntrypoint({address:e,partialAddress:t},{chainId:n,version:r}){return new ei(e,t,this.encryptionPrivateKey,await Vs.new(),n,r)}getContractAbi(){return qa}}class Di{constructor(e=[]){this.entrypoints=new Map;for(const[t,n]of e)this.registerAccount(t,n)}static async fromAccounts(e){const t=new Di;for(const n of e)t.registerAccount((await n.getCompleteAddress()).address,await n.getEntrypoint());return t}registerAccount(e,t){this.entrypoints.set(e.toString(),t)}createTxExecutionRequest(e,t={}){const n=this.entrypoints.values().next().value,r=t.origin?this.entrypoints.get(t.origin.toString()):n;if(!r)throw new Error(`No entrypoint registered for ${t.origin}`);return r.createTxExecutionRequest(e,t)}}function Fi(e,t,n,r){return new Ni(e,t,new xi(n),r)}function Hi(e,t,n,r){return new Ni(e,t,new Bi(n),r)}function Mi(e,t,n){return new Ni(e,t,new Oi(t),n)}function zi(e,t,n){return Ui(e,t,new Oi(n))}async function Ui(e,t,n){const r=await e.getAccount(t);if(!r)throw new Error(`Account ${t} not found`);const s=await e.getNodeInfo(),a=await n.getEntrypoint(r,s);return new ri(e,a,r)}var ji=n(816).Buffer;const Zi=[new ea(ji.from("b2803ec899f76f6b2ac011480d24028f1a29587f8a3a92f7ee9d48d8c085c284","hex")),new ea(ji.from("6bb46e9a80da2ff7bfff71c2c50eaaa4b15f7ed5ad1ade4261b574ef80b0cdb0","hex")),new ea(ji.from("0f6addf0da06c33293df974a565b03d1ab096090d907d98055a8b7f4954e120c","hex"))],Wi=Zi,Gi=[Nn.ZERO,Nn.ZERO,Nn.ZERO],Qi=Ri;async function Xi(e){return await ii(e,Qi,Zi,Wi,Gi)}async function Yi(e){const t=Zi.map(((t,n)=>({account:Hi(e,t,Wi[n],Gi[n]),privateKey:t}))),n=(await Promise.all(t.map((async e=>{const t=await e.account.getDeployMethod();return await t.create({contractAddressSalt:e.account.salt}),await t.simulate({}),t})))).map((e=>e.send()));return await Promise.all(n.map((async(e,n)=>{const r=await t[n].account.getWallet();return e.wait({wallet:r})}))),t}const Ji=async e=>{for(;;)try{await e.getNodeInfo();break}catch(e){await ta(1e3)}}})();var s=r.mR,a=r.bG,i=r.xz,o=r.EB,l=r.cC,c=r.C3,u=r.QT,f=r.ug,d=r.CH,_=r.xq,h=r.vp,p=r.xr,g=r.Ag,b=r.W_,m=r.g2,y=r.Y8,v=r.gB,w=r.vX,E=r.Bi,L=r.jF,A=r.Wi,S=r.Fr,C=r.E7,T=r.ah,P=r.N0,N=r.rL,I=r.$h,k=r.pP,x=r.E9,R=r._q,B=r.lW,O=r.a5,D=r.GR,F=r.x6,H=r.of,M=r.E$,z=r.Tx,U=r.qd,j=r.f1,Z=r.EY,W=r.bH,G=r.qx,Q=r.ig,X=r._$,Y=r.g$,J=r.sn,V=r.es,q=r.ir,K=r.G0,$=r.o2,ee=r.nW,te=r.qe,ne=r.IQ,re=r.JA,se=r.FV,ae=r.iL,ie=r.dH,oe=r.Jz,le=r._v,ce=r.qW;export{s as Account,a as AccountWallet,i as AztecAddress,o as AztecCheatCodes,l as BaseWallet,c as BatchCall,u as CheatCodes,f as CompleteAddress,d as Contract,_ as ContractBase,h as ContractData,p as ContractDataAndBytecode,g as ContractDeployer,b as ContractDeploymentTx,m as ContractFunctionInteraction,y as DeployMethod,v as EcdsaAccountContract,w as EntrypointCollection,E as EntrypointWallet,L as EthAddress,A as EthCheatCodes,S as Fr,C as INITIAL_SANDBOX_ACCOUNT_CONTRACT_ABI,T as INITIAL_SANDBOX_ENCRYPTION_KEYS,P as INITIAL_SANDBOX_SALTS,N as INITIAL_SANDBOX_SIGNING_KEYS,I as L2BlockL2Logs,k as PackedArguments,x as Point,R as PrivateKey,B as SchnorrAccountContract,O as SentTx,D as SignerlessWallet,F as SingleKeyAccountContract,H as SingleKeyAccountEntrypoint,M as StoredKeyAccountEntrypoint,z as Tx,U as TxExecutionRequest,j as TxHash,Z as TxReceipt,W as TxStatus,G as computeMessageSecretHash,Q as createAccounts,X as createAztecRpcClient,Y as createDebugLogger,J as deployInitialSandboxAccounts,V as emptyFunctionCall,q as generatePublicKey,K as getAccountWallets,$ as getEcdsaAccount,ee as getL1ContractAddresses,te as getSandboxAccountsWallet,ne as getSchnorrAccount,re as getUnsafeSchnorrAccount,se as getUnsafeSchnorrWallet,ae as getWallet,ie as isContractDeployed,oe as makeFetch,le as sleep,ce as waitForSandbox};
2
+ var t={4782:(t,e)=>{e.byteLength=function(t){var e=o(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=o(t),s=a[0],c=a[1],f=new i(function(t,e,r){return 3*(e+r)/4-r}(0,s,c)),u=0,l=c>0?s-4:s;for(r=0;r<l;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],f[u++]=e>>16&255,f[u++]=e>>8&255,f[u++]=255&e;return 2===c&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,f[u++]=255&e),1===c&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,f[u++]=e>>8&255,f[u++]=255&e),f},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],s=16383,o=0,f=n-i;o<f;o+=s)a.push(c(t,o,o+s>f?f:o+s));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)r[s]=a[s],n[a.charCodeAt(s)]=s;function o(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,n){for(var i,a,s=[],o=e;o<n;o+=3)i=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(255&t[o+2]),s.push(r[(a=i)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return s.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},238:(t,e,r)=>{var n=r(7172).Buffer;function i(t){n.isBuffer(t)||(t=n.from(t));for(var e=t.length/4|0,r=new Array(e),i=0;i<e;i++)r[i]=t.readUInt32BE(4*i);return r}function a(t){for(;0<t.length;t++)t[0]=0}function s(t,e,r,n,i){for(var a,s,o,c,f=r[0],u=r[1],l=r[2],h=r[3],d=t[0]^e[0],p=t[1]^e[1],b=t[2]^e[2],g=t[3]^e[3],y=4,m=1;m<i;m++)a=f[d>>>24]^u[p>>>16&255]^l[b>>>8&255]^h[255&g]^e[y++],s=f[p>>>24]^u[b>>>16&255]^l[g>>>8&255]^h[255&d]^e[y++],o=f[b>>>24]^u[g>>>16&255]^l[d>>>8&255]^h[255&p]^e[y++],c=f[g>>>24]^u[d>>>16&255]^l[p>>>8&255]^h[255&b]^e[y++],d=a,p=s,b=o,g=c;return a=(n[d>>>24]<<24|n[p>>>16&255]<<16|n[b>>>8&255]<<8|n[255&g])^e[y++],s=(n[p>>>24]<<24|n[b>>>16&255]<<16|n[g>>>8&255]<<8|n[255&d])^e[y++],o=(n[b>>>24]<<24|n[g>>>16&255]<<16|n[d>>>8&255]<<8|n[255&p])^e[y++],c=(n[g>>>24]<<24|n[d>>>16&255]<<16|n[p>>>8&255]<<8|n[255&b])^e[y++],[a>>>=0,s>>>=0,o>>>=0,c>>>=0]}var o=[0,1,2,4,8,16,32,64,128,27,54],c=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],a=[[],[],[],[]],s=0,o=0,c=0;c<256;++c){var f=o^o<<1^o<<2^o<<3^o<<4;f=f>>>8^255&f^99,r[s]=f,n[f]=s;var u=t[s],l=t[u],h=t[l],d=257*t[f]^16843008*f;i[0][s]=d<<24|d>>>8,i[1][s]=d<<16|d>>>16,i[2][s]=d<<8|d>>>24,i[3][s]=d,d=16843009*h^65537*l^257*u^16843008*s,a[0][f]=d<<24|d>>>8,a[1][f]=d<<16|d>>>16,a[2][f]=d<<8|d>>>24,a[3][f]=d,0===s?s=o=1:(s=u^t[t[t[h^u]]],o^=t[t[o]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:a}}();function f(t){this._key=i(t),this._reset()}f.blockSize=16,f.keySize=32,f.prototype.blockSize=f.blockSize,f.prototype.keySize=f.keySize,f.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],a=0;a<e;a++)i[a]=t[a];for(a=e;a<n;a++){var s=i[a-1];a%e==0?(s=s<<8|s>>>24,s=c.SBOX[s>>>24]<<24|c.SBOX[s>>>16&255]<<16|c.SBOX[s>>>8&255]<<8|c.SBOX[255&s],s^=o[a/e|0]<<24):e>6&&a%e==4&&(s=c.SBOX[s>>>24]<<24|c.SBOX[s>>>16&255]<<16|c.SBOX[s>>>8&255]<<8|c.SBOX[255&s]),i[a]=i[a-e]^s}for(var f=[],u=0;u<n;u++){var l=n-u,h=i[l-(u%4?0:4)];f[u]=u<4||l<=4?h:c.INV_SUB_MIX[0][c.SBOX[h>>>24]]^c.INV_SUB_MIX[1][c.SBOX[h>>>16&255]]^c.INV_SUB_MIX[2][c.SBOX[h>>>8&255]]^c.INV_SUB_MIX[3][c.SBOX[255&h]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=f},f.prototype.encryptBlockRaw=function(t){return s(t=i(t),this._keySchedule,c.SUB_MIX,c.SBOX,this._nRounds)},f.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=n.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},f.prototype.decryptBlock=function(t){var e=(t=i(t))[1];t[1]=t[3],t[3]=e;var r=s(t,this._invKeySchedule,c.INV_SUB_MIX,c.INV_SBOX,this._nRounds),a=n.allocUnsafe(16);return a.writeUInt32BE(r[0],0),a.writeUInt32BE(r[3],4),a.writeUInt32BE(r[2],8),a.writeUInt32BE(r[1],12),a},f.prototype.scrub=function(){a(this._keySchedule),a(this._invKeySchedule),a(this._key)},t.exports.AES=f},8587:(t,e,r)=>{var n=r(238),i=r(7172).Buffer,a=r(3081),s=r(87),o=r(1219),c=r(7752),f=r(3480);function u(t,e,r,s){a.call(this);var c=i.alloc(4,0);this._cipher=new n.AES(e);var u=this._cipher.encryptBlock(c);this._ghash=new o(u),r=function(t,e,r){if(12===e.length)return t._finID=i.concat([e,i.from([0,0,0,1])]),i.concat([e,i.from([0,0,0,2])]);var n=new o(r),a=e.length,s=a%16;n.update(e),s&&(s=16-s,n.update(i.alloc(s,0))),n.update(i.alloc(8,0));var c=8*a,u=i.alloc(8);u.writeUIntBE(c,0,8),n.update(u),t._finID=n.state;var l=i.from(t._finID);return f(l),l}(this,r,u),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}s(u,a),u.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=i.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},u.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=c(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var n=Math.min(t.length,e.length),i=0;i<n;++i)r+=t[i]^e[i];return r}(t,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=t,this._cipher.scrub()},u.prototype.getAuthTag=function(){if(this._decrypt||!i.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},u.prototype.setAuthTag=function(t){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=t},u.prototype.setAAD=function(t){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(t),this._alen+=t.length},t.exports=u},8901:(t,e,r)=>{var n=r(3615),i=r(2576),a=r(4636);e.createCipher=e.Cipher=n.createCipher,e.createCipheriv=e.Cipheriv=n.createCipheriv,e.createDecipher=e.Decipher=i.createDecipher,e.createDecipheriv=e.Decipheriv=i.createDecipheriv,e.listCiphers=e.getCiphers=function(){return Object.keys(a)}},2576:(t,e,r)=>{var n=r(8587),i=r(7172).Buffer,a=r(3834),s=r(2385),o=r(3081),c=r(238),f=r(5883);function u(t,e,r){o.call(this),this._cache=new l,this._last=void 0,this._cipher=new c.AES(e),this._prev=i.from(r),this._mode=t,this._autopadding=!0}function l(){this.cache=i.allocUnsafe(0)}function h(t,e,r){var o=a[t.toLowerCase()];if(!o)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=i.from(r)),"GCM"!==o.mode&&r.length!==o.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=i.from(e)),e.length!==o.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===o.type?new s(o.module,e,r,!0):"auth"===o.type?new n(o.module,e,r,!0):new u(o.module,e,r)}r(87)(u,o),u.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),n.push(r);return i.concat(n)},u.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");for(var r=-1;++r<e;)if(t[r+(16-e)]!==e)throw new Error("unable to decrypt data");if(16!==e)return t.slice(0,16-e)}(this._mode.decrypt(this,t));if(t)throw new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},l.prototype.add=function(t){this.cache=i.concat([this.cache,t])},l.prototype.get=function(t){var e;if(t){if(this.cache.length>16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},l.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=function(t,e){var r=a[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=f(e,!1,r.key,r.iv);return h(t,n.key,n.iv)},e.createDecipheriv=h},3615:(t,e,r)=>{var n=r(3834),i=r(8587),a=r(7172).Buffer,s=r(2385),o=r(3081),c=r(238),f=r(5883);function u(t,e,r){o.call(this),this._cache=new h,this._cipher=new c.AES(e),this._prev=a.from(r),this._mode=t,this._autopadding=!0}r(87)(u,o),u.prototype._update=function(t){var e,r;this._cache.add(t);for(var n=[];e=this._cache.get();)r=this._mode.encrypt(this,e),n.push(r);return a.concat(n)};var l=a.alloc(16,16);function h(){this.cache=a.allocUnsafe(0)}function d(t,e,r){var o=n[t.toLowerCase()];if(!o)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=a.from(e)),e.length!==o.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=a.from(r)),"GCM"!==o.mode&&r.length!==o.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===o.type?new s(o.module,e,r):"auth"===o.type?new i(o.module,e,r):new u(o.module,e,r)}u.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(l))throw this._cipher.scrub(),new Error("data not multiple of block length")},u.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},h.prototype.add=function(t){this.cache=a.concat([this.cache,t])},h.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},h.prototype.flush=function(){for(var t=16-this.cache.length,e=a.allocUnsafe(t),r=-1;++r<t;)e.writeUInt8(t,r);return a.concat([this.cache,e])},e.createCipheriv=d,e.createCipher=function(t,e){var r=n[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=f(e,!1,r.key,r.iv);return d(t,i.key,i.iv)}},1219:(t,e,r)=>{var n=r(7172).Buffer,i=n.alloc(16,0);function a(t){var e=n.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function s(t){this.h=t,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}s.prototype.ghash=function(t){for(var e=-1;++e<t.length;)this.state[e]^=t[e];this._multiply()},s.prototype._multiply=function(){for(var t,e,r,n=[(t=this.h).readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)],i=[0,0,0,0],s=-1;++s<128;){for(0!=(this.state[~~(s/8)]&1<<7-s%8)&&(i[0]^=n[0],i[1]^=n[1],i[2]^=n[2],i[3]^=n[3]),r=0!=(1&n[3]),e=3;e>0;e--)n[e]=n[e]>>>1|(1&n[e-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=a(i)},s.prototype.update=function(t){var e;for(this.cache=n.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},s.prototype.final=function(t,e){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(a([0,t,0,e])),this.state},t.exports=s},3480:t=>{t.exports=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}},6280:(t,e,r)=>{var n=r(7752);e.encrypt=function(t,e){var r=n(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},e.decrypt=function(t,e){var r=t._prev;t._prev=e;var i=t._cipher.decryptBlock(e);return n(i,r)}},392:(t,e,r)=>{var n=r(7172).Buffer,i=r(7752);function a(t,e,r){var a=e.length,s=i(e,t._cache);return t._cache=t._cache.slice(a),t._prev=n.concat([t._prev,r?e:s]),s}e.encrypt=function(t,e,r){for(var i,s=n.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=n.allocUnsafe(0)),!(t._cache.length<=e.length)){s=n.concat([s,a(t,e,r)]);break}i=t._cache.length,s=n.concat([s,a(t,e.slice(0,i),r)]),e=e.slice(i)}return s}},5739:(t,e,r)=>{var n=r(7172).Buffer;function i(t,e,r){for(var n,i,s=-1,o=0;++s<8;)n=e&1<<7-s?128:0,o+=(128&(i=t._cipher.encryptBlock(t._prev)[0]^n))>>s%8,t._prev=a(t._prev,r?n:i);return o}function a(t,e){var r=t.length,i=-1,a=n.allocUnsafe(t.length);for(t=n.concat([t,n.from([e])]);++i<r;)a[i]=t[i]<<1|t[i+1]>>7;return a}e.encrypt=function(t,e,r){for(var a=e.length,s=n.allocUnsafe(a),o=-1;++o<a;)s[o]=i(t,e[o],r);return s}},2228:(t,e,r)=>{var n=r(7172).Buffer;function i(t,e,r){var i=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=n.concat([t._prev.slice(1),n.from([r?e:i])]),i}e.encrypt=function(t,e,r){for(var a=e.length,s=n.allocUnsafe(a),o=-1;++o<a;)s[o]=i(t,e[o],r);return s}},2751:(t,e,r)=>{var n=r(7752),i=r(7172).Buffer,a=r(3480);function s(t){var e=t._cipher.encryptBlockRaw(t._prev);return a(t._prev),e}e.encrypt=function(t,e){var r=Math.ceil(e.length/16),a=t._cache.length;t._cache=i.concat([t._cache,i.allocUnsafe(16*r)]);for(var o=0;o<r;o++){var c=s(t),f=a+16*o;t._cache.writeUInt32BE(c[0],f+0),t._cache.writeUInt32BE(c[1],f+4),t._cache.writeUInt32BE(c[2],f+8),t._cache.writeUInt32BE(c[3],f+12)}var u=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),n(e,u)}},2437:(t,e)=>{e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},3834:(t,e,r)=>{var n={ECB:r(2437),CBC:r(6280),CFB:r(392),CFB8:r(2228),CFB1:r(5739),OFB:r(8428),CTR:r(2751),GCM:r(2751)},i=r(4636);for(var a in i)i[a].module=n[i[a].mode];t.exports=i},8428:(t,e,r)=>{var n=r(816).Buffer,i=r(7752);function a(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}e.encrypt=function(t,e){for(;t._cache.length<e.length;)t._cache=n.concat([t._cache,a(t)]);var r=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),i(e,r)}},2385:(t,e,r)=>{var n=r(238),i=r(7172).Buffer,a=r(3081);function s(t,e,r,s){a.call(this),this._cipher=new n.AES(e),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._mode=t}r(87)(s,a),s.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},t.exports=s},1240:(t,e,r)=>{r(5681),r(8901),r(3834),r(1035),r(5883)},5681:(t,e,r)=>{var n=r(3081),i=r(7191),a=r(87),s=r(7172).Buffer,o={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function c(t){n.call(this);var e,r=t.mode.toLowerCase(),i=o[r];e=t.decrypt?"decrypt":"encrypt";var a=t.key;s.isBuffer(a)||(a=s.from(a)),"des-ede"!==r&&"des-ede-cbc"!==r||(a=s.concat([a,a.slice(0,8)]));var c=t.iv;s.isBuffer(c)||(c=s.from(c)),this._des=i.create({key:a,iv:c,type:e})}o.des=o["des-cbc"],o.des3=o["des-ede3-cbc"],t.exports=c,a(c,n),c.prototype._update=function(t){return s.from(this._des.update(t))},c.prototype._final=function(){return s.from(this._des.final())}},1035:(t,e)=>{e["des-ecb"]={key:8,iv:0},e["des-cbc"]=e.des={key:8,iv:8},e["des-ede3-cbc"]=e.des3={key:24,iv:8},e["des-ede3"]={key:24,iv:0},e["des-ede-cbc"]={key:16,iv:8},e["des-ede"]={key:16,iv:0}},7752:(t,e,r)=>{var n=r(816).Buffer;t.exports=function(t,e){for(var r=Math.min(t.length,e.length),i=new n(r),a=0;a<r;++a)i[a]=t[a]^e[a];return i}},816:(t,e,r)=>{const n=r(4782),i=r(8898),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=c,e.SlowBuffer=function(t){return+t!=t&&(t=0),c.alloc(+t)},e.INSPECT_MAX_BYTES=50;const s=2147483647;function o(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return f(t,e,r)}function f(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|b(t,e);let n=o(r);const i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(X(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return h(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(X(t,ArrayBuffer)||t&&X(t.buffer,ArrayBuffer))return d(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(X(t,SharedArrayBuffer)||t&&X(t.buffer,SharedArrayBuffer)))return d(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return c.from(n,e,r);const i=function(t){if(c.isBuffer(t)){const e=0|p(t.length),r=o(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||K(t.length)?o(0):h(t):"Buffer"===t.type&&Array.isArray(t.data)?h(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function u(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function l(t){return u(t),o(t<0?0:0|p(t))}function h(t){const e=t.length<0?0:0|p(t.length),r=o(e);for(let n=0;n<e;n+=1)r[n]=255&t[n];return r}function d(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(n,c.prototype),n}function p(t){if(t>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function b(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||X(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return H(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return G(t).length;default:if(i)return n?-1:H(t).length;e=(""+e).toLowerCase(),i=!0}}function g(t,e,r){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return _(this,e,r);case"utf8":case"utf-8":return x(this,e,r);case"ascii":return B(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return L(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function y(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function m(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),K(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=c.from(e,n)),c.isBuffer(e))return 0===e.length?-1:w(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):w(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function w(t,e,r,n,i){let a,s=1,o=t.length,c=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,o/=2,c/=2,r/=2}function f(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){let n=-1;for(a=r;a<o;a++)if(f(t,a)===f(e,-1===n?0:a-n)){if(-1===n&&(n=a),a-n+1===c)return n*s}else-1!==n&&(a-=a-n),n=-1}else for(r+c>o&&(r=o-c),a=r;a>=0;a--){let r=!0;for(let n=0;n<c;n++)if(f(t,a+n)!==f(e,n)){r=!1;break}if(r)return a}return-1}function v(t,e,r,n){r=Number(r)||0;const i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;const a=e.length;let s;for(n>a/2&&(n=a/2),s=0;s<n;++s){const n=parseInt(e.substr(2*s,2),16);if(K(n))return s;t[r+s]=n}return s}function E(t,e,r,n){return J(H(e,t.length-r),t,r,n)}function S(t,e,r,n){return J(function(t){const e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function k(t,e,r,n){return J(G(e),t,r,n)}function I(t,e,r,n){return J(function(t,e){let r,n,i;const a=[];for(let s=0;s<t.length&&!((e-=2)<0);++s)r=t.charCodeAt(s),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function L(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function x(t,e,r){r=Math.min(t.length,r);const n=[];let i=e;for(;i<r;){const e=t[i];let a=null,s=e>239?4:e>223?3:e>191?2:1;if(i+s<=r){let r,n,o,c;switch(s){case 1:e<128&&(a=e);break;case 2:r=t[i+1],128==(192&r)&&(c=(31&e)<<6|63&r,c>127&&(a=c));break;case 3:r=t[i+1],n=t[i+2],128==(192&r)&&128==(192&n)&&(c=(15&e)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(a=c));break;case 4:r=t[i+1],n=t[i+2],o=t[i+3],128==(192&r)&&128==(192&n)&&128==(192&o)&&(c=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&o,c>65535&&c<1114112&&(a=c))}}null===a?(a=65533,s=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=s}return function(t){const e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=C));return r}(n)}e.kMaxLength=s,c.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),c.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||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."),Object.defineProperty(c.prototype,"parent",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,"offset",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}}),c.poolSize=8192,c.from=function(t,e,r){return f(t,e,r)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array),c.alloc=function(t,e,r){return function(t,e,r){return u(t),t<=0?o(t):void 0!==e?"string"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)}(t,e,r)},c.allocUnsafe=function(t){return l(t)},c.allocUnsafeSlow=function(t){return l(t)},c.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==c.prototype},c.compare=function(t,e){if(X(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),X(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(t)||!c.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,n=e.length;for(let i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},c.isEncoding=function(t){switch(String(t).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}},c.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return c.alloc(0);let r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;const n=c.allocUnsafe(e);let i=0;for(r=0;r<t.length;++r){let e=t[r];if(X(e,Uint8Array))i+e.length>n.length?(c.isBuffer(e)||(e=c.from(e)),e.copy(n,i)):Uint8Array.prototype.set.call(n,e,i);else{if(!c.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(n,i)}i+=e.length}return n},c.byteLength=b,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)y(this,e,e+1);return this},c.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)y(this,e,e+3),y(this,e+1,e+2);return this},c.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)y(this,e,e+7),y(this,e+1,e+6),y(this,e+2,e+5),y(this,e+3,e+4);return this},c.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?x(this,0,t):g.apply(this,arguments)},c.prototype.toLocaleString=c.prototype.toString,c.prototype.equals=function(t){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===c.compare(this,t)},c.prototype.inspect=function(){let t="";const r=e.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},a&&(c.prototype[a]=c.prototype.inspect),c.prototype.compare=function(t,e,r,n,i){if(X(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;let a=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0);const o=Math.min(a,s),f=this.slice(n,i),u=t.slice(e,r);for(let t=0;t<o;++t)if(f[t]!==u[t]){a=f[t],s=u[t];break}return a<s?-1:s<a?1:0},c.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},c.prototype.indexOf=function(t,e,r){return m(this,t,e,r,!0)},c.prototype.lastIndexOf=function(t,e,r){return m(this,t,e,r,!1)},c.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let a=!1;for(;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return S(this,t,e,r);case"base64":return k(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const C=4096;function B(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function R(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function _(t,e,r){const n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let n=e;n<r;++n)i+=q[t[n]];return i}function T(t,e,r){const n=t.slice(e,r);let i="";for(let t=0;t<n.length-1;t+=2)i+=String.fromCharCode(n[t]+256*n[t+1]);return i}function O(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,r,n,i,a){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function j(t,e,r,n,i){N(e,n,i,t,r,7);let a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,r}function P(t,e,r,n,i){N(e,n,i,t,r,7);let a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=s,s>>=8,t[r+2]=s,s>>=8,t[r+1]=s,s>>=8,t[r]=s,r+8}function z(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function D(t,e,r,n,a){return e=+e,r>>>=0,a||z(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function M(t,e,r,n,a){return e=+e,r>>>=0,a||z(t,0,r,8),i.write(t,e,r,n,52,8),r+8}c.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);const n=this.subarray(t,e);return Object.setPrototypeOf(n,c.prototype),n},c.prototype.readUintLE=c.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||O(t,e,this.length);let n=this[t],i=1,a=0;for(;++a<e&&(i*=256);)n+=this[t+a]*i;return n},c.prototype.readUintBE=c.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||O(t,e,this.length);let n=this[t+--e],i=1;for(;e>0&&(i*=256);)n+=this[t+--e]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(t,e){return t>>>=0,e||O(t,1,this.length),this[t]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||O(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||O(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readBigUInt64LE=V((function(t){U(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||F(t,this.length-8);const n=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(n)+(BigInt(i)<<BigInt(32))})),c.prototype.readBigUInt64BE=V((function(t){U(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||F(t,this.length-8);const n=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<<BigInt(32))+BigInt(i)})),c.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||O(t,e,this.length);let n=this[t],i=1,a=0;for(;++a<e&&(i*=256);)n+=this[t+a]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n},c.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||O(t,e,this.length);let n=e,i=1,a=this[t+--n];for(;n>0&&(i*=256);)a+=this[t+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*e)),a},c.prototype.readInt8=function(t,e){return t>>>=0,e||O(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||O(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(t,e){t>>>=0,e||O(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readBigInt64LE=V((function(t){U(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||F(t,this.length-8);const n=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(n)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)})),c.prototype.readBigInt64BE=V((function(t){U(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||F(t,this.length-8);const n=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(n)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+r)})),c.prototype.readFloatLE=function(t,e){return t>>>=0,e||O(t,4,this.length),i.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||O(t,4,this.length),i.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||O(t,8,this.length),i.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||O(t,8,this.length),i.read(this,t,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||A(this,t,e,r,Math.pow(2,8*r)-1,0);let i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},c.prototype.writeUintBE=c.prototype.writeUIntBE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||A(this,t,e,r,Math.pow(2,8*r)-1,0);let i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigUInt64LE=V((function(t,e=0){return j(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeBigUInt64BE=V((function(t,e=0){return P(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);A(this,t,e,r,n-1,-n)}let i=0,a=1,s=0;for(this[e]=255&t;++i<r&&(a*=256);)t<0&&0===s&&0!==this[e+i-1]&&(s=1),this[e+i]=(t/a>>0)-s&255;return e+r},c.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);A(this,t,e,r,n-1,-n)}let i=r-1,a=1,s=0;for(this[e+i]=255&t;--i>=0&&(a*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/a>>0)-s&255;return e+r},c.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigInt64LE=V((function(t,e=0){return j(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeBigInt64BE=V((function(t,e=0){return P(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeFloatLE=function(t,e,r){return D(this,t,e,!0,r)},c.prototype.writeFloatBE=function(t,e,r){return D(this,t,e,!1,r)},c.prototype.writeDoubleLE=function(t,e,r){return M(this,t,e,!0,r)},c.prototype.writeDoubleBE=function(t,e,r){return M(this,t,e,!1,r)},c.prototype.copy=function(t,e,r,n){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);const i=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),i},c.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!c.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){const e=t.charCodeAt(0);("utf8"===n&&e<128||"latin1"===n)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;let i;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i<r;++i)this[i]=t;else{const a=c.isBuffer(t)?t:c.from(t,n),s=a.length;if(0===s)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<r-e;++i)this[i+e]=a[i%s]}return this};const Z={};function Y(t,e,r){Z[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function W(t){let e="",r=t.length;const n="-"===t[0]?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function N(t,e,r,n,i,a){if(t>r||t<e){const n="bigint"==typeof e?"n":"";let i;throw i=a>3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(a+1)}${n}`:`>= -(2${n} ** ${8*(a+1)-1}${n}) and < 2 ** ${8*(a+1)-1}${n}`:`>= ${e}${n} and <= ${r}${n}`,new Z.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,r){U(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||F(e,t.length-(r+1))}(n,i,a)}function U(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function F(t,e,r){if(Math.floor(t)!==t)throw U(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}Y("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),Y("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),Y("ERR_OUT_OF_RANGE",(function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=W(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n}),RangeError);const Q=/[^+/0-9A-Za-z-_]/g;function H(t,e){let r;e=e||1/0;const n=t.length;let i=null;const a=[];for(let s=0;s<n;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function G(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(Q,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function J(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function X(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function K(t){return t!=t}const q=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function V(t){return"undefined"==typeof BigInt?$:t}function $(){throw new Error("BigInt not supported")}},3081:(t,e,r)=>{var n=r(7172).Buffer,i=r(3424).Transform,a=r(4361).s;function s(t){i.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}r(87)(s,i),s.prototype.update=function(t,e,r){"string"==typeof t&&(t=n.from(t,e));var i=this._update(t);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},s.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},s.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},s.prototype._transform=function(t,e,r){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){n=t}finally{r(n)}},s.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},s.prototype._finalOrDigest=function(t){var e=this.__final()||n.alloc(0);return t&&(e=this._toString(e,t,!0)),e},s.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new a(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return r&&(n+=this._decoder.end()),n},t.exports=s},5862:t=>{var e=1e3,r=60*e,n=60*r,i=24*n;function a(t,e,r,n){var i=e>=1.5*r;return Math.round(t/r)+" "+n+(i?"s":"")}t.exports=function(t,s){s=s||{};var o,c,f=typeof t;if("string"===f&&t.length>0)return function(t){if(!((t=String(t)).length>100)){var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(a){var s=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*s;case"weeks":case"week":case"w":return 6048e5*s;case"days":case"day":case"d":return s*i;case"hours":case"hour":case"hrs":case"hr":case"h":return s*n;case"minutes":case"minute":case"mins":case"min":case"m":return s*r;case"seconds":case"second":case"secs":case"sec":case"s":return s*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}(t);if("number"===f&&isFinite(t))return s.long?(o=t,(c=Math.abs(o))>=i?a(o,c,i,"day"):c>=n?a(o,c,n,"hour"):c>=r?a(o,c,r,"minute"):c>=e?a(o,c,e,"second"):o+" ms"):function(t){var a=Math.abs(t);return a>=i?Math.round(t/i)+"d":a>=n?Math.round(t/n)+"h":a>=r?Math.round(t/r)+"m":a>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},6292:(t,e,r)=>{e.formatArgs=function(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;e.splice(1,0,r,"color: inherit");let n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,(t=>{"%%"!==t&&(n++,"%c"===t&&(i=n))})),e.splice(i,0,r)},e.save=function(t){try{t?e.storage.setItem("debug",t):e.storage.removeItem("debug")}catch(t){}},e.load=function(){let t;try{t=e.storage.getItem("debug")}catch(t){}return!t&&"undefined"!=typeof process&&"env"in process&&(t={NODE_ENV:"production"}.DEBUG),t},e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage=function(){try{return localStorage}catch(t){}}(),e.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.log=console.debug||console.log||(()=>{}),t.exports=r(9374)(e);const{formatters:n}=t.exports;n.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}},9374:(t,e,r)=>{t.exports=function(t){function e(t){let r,i,a,s=null;function o(...t){if(!o.enabled)return;const n=o,i=Number(new Date),a=i-(r||i);n.diff=a,n.prev=r,n.curr=i,r=i,t[0]=e.coerce(t[0]),"string"!=typeof t[0]&&t.unshift("%O");let s=0;t[0]=t[0].replace(/%([a-zA-Z%])/g,((r,i)=>{if("%%"===r)return"%";s++;const a=e.formatters[i];if("function"==typeof a){const e=t[s];r=a.call(n,e),t.splice(s,1),s--}return r})),e.formatArgs.call(n,t),(n.log||e.log).apply(n,t)}return o.namespace=t,o.useColors=e.useColors(),o.color=e.selectColor(t),o.extend=n,o.destroy=e.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(i!==e.namespaces&&(i=e.namespaces,a=e.enabled(t)),a),set:t=>{s=t}}),"function"==typeof e.init&&e.init(o),o}function n(t,r){const n=e(this.namespace+(void 0===r?":":r)+t);return n.log=this.log,n}function i(t){return t.toString().substring(2,t.toString().length-2).replace(/\.\*\?$/,"*")}return e.debug=e,e.default=e,e.coerce=function(t){return t instanceof Error?t.stack||t.message:t},e.disable=function(){const t=[...e.names.map(i),...e.skips.map(i).map((t=>"-"+t))].join(",");return e.enable(""),t},e.enable=function(t){let r;e.save(t),e.namespaces=t,e.names=[],e.skips=[];const n=("string"==typeof t?t:"").split(/[\s,]+/),i=n.length;for(r=0;r<i;r++)n[r]&&("-"===(t=n[r].replace(/\*/g,".*?"))[0]?e.skips.push(new RegExp("^"+t.slice(1)+"$")):e.names.push(new RegExp("^"+t+"$")))},e.enabled=function(t){if("*"===t[t.length-1])return!0;let r,n;for(r=0,n=e.skips.length;r<n;r++)if(e.skips[r].test(t))return!1;for(r=0,n=e.names.length;r<n;r++)if(e.names[r].test(t))return!0;return!1},e.humanize=r(5862),e.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(t).forEach((r=>{e[r]=t[r]})),e.names=[],e.skips=[],e.formatters={},e.selectColor=function(t){let r=0;for(let e=0;e<t.length;e++)r=(r<<5)-r+t.charCodeAt(e),r|=0;return e.colors[Math.abs(r)%e.colors.length]},e.enable(e.load()),e}},7191:(t,e,r)=>{e.utils=r(5516),e.Cipher=r(4923),e.DES=r(225),e.CBC=r(8701),e.EDE=r(6540)},8701:(t,e,r)=>{var n=r(7859),i=r(87),a={};function s(t){n.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e<this.iv.length;e++)this.iv[e]=t[e]}e.instantiate=function(t){function e(e){t.call(this,e),this._cbcInit()}i(e,t);for(var r=Object.keys(a),n=0;n<r.length;n++){var s=r[n];e.prototype[s]=a[s]}return e.create=function(t){return new e(t)},e},a._cbcInit=function(){var t=new s(this.options.iv);this._cbcState=t},a._update=function(t,e,r,n){var i=this._cbcState,a=this.constructor.super_.prototype,s=i.iv;if("encrypt"===this.type){for(var o=0;o<this.blockSize;o++)s[o]^=t[e+o];for(a._update.call(this,s,0,r,n),o=0;o<this.blockSize;o++)s[o]=r[n+o]}else{for(a._update.call(this,t,e,r,n),o=0;o<this.blockSize;o++)r[n+o]^=s[o];for(o=0;o<this.blockSize;o++)s[o]=t[e+o]}}},4923:(t,e,r)=>{var n=r(7859);function i(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0,this.padding=!1!==t.padding}t.exports=i,i.prototype._init=function(){},i.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},i.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),n=0;n<r;n++)this.buffer[this.bufferOff+n]=t[e+n];return this.bufferOff+=r,r},i.prototype._flushBuffer=function(t,e){return this._update(this.buffer,0,t,e),this.bufferOff=0,this.blockSize},i.prototype._updateEncrypt=function(t){var e=0,r=0,n=(this.bufferOff+t.length)/this.blockSize|0,i=new Array(n*this.blockSize);0!==this.bufferOff&&(e+=this._buffer(t,e),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(i,r)));for(var a=t.length-(t.length-e)%this.blockSize;e<a;e+=this.blockSize)this._update(t,e,i,r),r+=this.blockSize;for(;e<t.length;e++,this.bufferOff++)this.buffer[this.bufferOff]=t[e];return i},i.prototype._updateDecrypt=function(t){for(var e=0,r=0,n=Math.ceil((this.bufferOff+t.length)/this.blockSize)-1,i=new Array(n*this.blockSize);n>0;n--)e+=this._buffer(t,e),r+=this._flushBuffer(i,r);return e+=this._buffer(t,e),i},i.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},i.prototype._pad=function(t,e){if(0===e)return!1;for(;e<t.length;)t[e++]=0;return!0},i.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var t=new Array(this.blockSize);return this._update(this.buffer,0,t,0),t},i.prototype._unpad=function(t){return t},i.prototype._finalDecrypt=function(){n.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var t=new Array(this.blockSize);return this._flushBuffer(t,0),this._unpad(t)}},225:(t,e,r)=>{var n=r(7859),i=r(87),a=r(5516),s=r(4923);function o(){this.tmp=new Array(2),this.keys=null}function c(t){s.call(this,t);var e=new o;this._desState=e,this.deriveKeys(e,t.key)}i(c,s),t.exports=c,c.create=function(t){return new c(t)};var f=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];c.prototype.deriveKeys=function(t,e){t.keys=new Array(32),n.equal(e.length,this.blockSize,"Invalid key length");var r=a.readUInt32BE(e,0),i=a.readUInt32BE(e,4);a.pc1(r,i,t.tmp,0),r=t.tmp[0],i=t.tmp[1];for(var s=0;s<t.keys.length;s+=2){var o=f[s>>>1];r=a.r28shl(r,o),i=a.r28shl(i,o),a.pc2(r,i,t.keys,s)}},c.prototype._update=function(t,e,r,n){var i=this._desState,s=a.readUInt32BE(t,e),o=a.readUInt32BE(t,e+4);a.ip(s,o,i.tmp,0),s=i.tmp[0],o=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,o,i.tmp,0):this._decrypt(i,s,o,i.tmp,0),s=i.tmp[0],o=i.tmp[1],a.writeUInt32BE(r,s,n),a.writeUInt32BE(r,o,n+4)},c.prototype._pad=function(t,e){if(!1===this.padding)return!1;for(var r=t.length-e,n=e;n<t.length;n++)t[n]=r;return!0},c.prototype._unpad=function(t){if(!1===this.padding)return t;for(var e=t[t.length-1],r=t.length-e;r<t.length;r++)n.equal(t[r],e);return t.slice(0,t.length-e)},c.prototype._encrypt=function(t,e,r,n,i){for(var s=e,o=r,c=0;c<t.keys.length;c+=2){var f=t.keys[c],u=t.keys[c+1];a.expand(o,t.tmp,0),f^=t.tmp[0],u^=t.tmp[1];var l=a.substitute(f,u),h=o;o=(s^a.permute(l))>>>0,s=h}a.rip(o,s,n,i)},c.prototype._decrypt=function(t,e,r,n,i){for(var s=r,o=e,c=t.keys.length-2;c>=0;c-=2){var f=t.keys[c],u=t.keys[c+1];a.expand(s,t.tmp,0),f^=t.tmp[0],u^=t.tmp[1];var l=a.substitute(f,u),h=s;s=(o^a.permute(l))>>>0,o=h}a.rip(s,o,n,i)}},6540:(t,e,r)=>{var n=r(7859),i=r(87),a=r(4923),s=r(225);function o(t,e){n.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),i=e.slice(8,16),a=e.slice(16,24);this.ciphers="encrypt"===t?[s.create({type:"encrypt",key:r}),s.create({type:"decrypt",key:i}),s.create({type:"encrypt",key:a})]:[s.create({type:"decrypt",key:a}),s.create({type:"encrypt",key:i}),s.create({type:"decrypt",key:r})]}function c(t){a.call(this,t);var e=new o(this.type,this.options.key);this._edeState=e}i(c,a),t.exports=c,c.create=function(t){return new c(t)},c.prototype._update=function(t,e,r,n){var i=this._edeState;i.ciphers[0]._update(t,e,r,n),i.ciphers[1]._update(r,n,r,n),i.ciphers[2]._update(r,n,r,n)},c.prototype._pad=s.prototype._pad,c.prototype._unpad=s.prototype._unpad},5516:(t,e)=>{e.readUInt32BE=function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},e.writeUInt32BE=function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},e.ip=function(t,e,r,n){for(var i=0,a=0,s=6;s>=0;s-=2){for(var o=0;o<=24;o+=8)i<<=1,i|=e>>>o+s&1;for(o=0;o<=24;o+=8)i<<=1,i|=t>>>o+s&1}for(s=6;s>=0;s-=2){for(o=1;o<=25;o+=8)a<<=1,a|=e>>>o+s&1;for(o=1;o<=25;o+=8)a<<=1,a|=t>>>o+s&1}r[n+0]=i>>>0,r[n+1]=a>>>0},e.rip=function(t,e,r,n){for(var i=0,a=0,s=0;s<4;s++)for(var o=24;o>=0;o-=8)i<<=1,i|=e>>>o+s&1,i<<=1,i|=t>>>o+s&1;for(s=4;s<8;s++)for(o=24;o>=0;o-=8)a<<=1,a|=e>>>o+s&1,a<<=1,a|=t>>>o+s&1;r[n+0]=i>>>0,r[n+1]=a>>>0},e.pc1=function(t,e,r,n){for(var i=0,a=0,s=7;s>=5;s--){for(var o=0;o<=24;o+=8)i<<=1,i|=e>>o+s&1;for(o=0;o<=24;o+=8)i<<=1,i|=t>>o+s&1}for(o=0;o<=24;o+=8)i<<=1,i|=e>>o+s&1;for(s=1;s<=3;s++){for(o=0;o<=24;o+=8)a<<=1,a|=e>>o+s&1;for(o=0;o<=24;o+=8)a<<=1,a|=t>>o+s&1}for(o=0;o<=24;o+=8)a<<=1,a|=t>>o+s&1;r[n+0]=i>>>0,r[n+1]=a>>>0},e.r28shl=function(t,e){return t<<e&268435455|t>>>28-e};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];e.pc2=function(t,e,n,i){for(var a=0,s=0,o=r.length>>>1,c=0;c<o;c++)a<<=1,a|=t>>>r[c]&1;for(c=o;c<r.length;c++)s<<=1,s|=e>>>r[c]&1;n[i+0]=a>>>0,n[i+1]=s>>>0},e.expand=function(t,e,r){var n=0,i=0;n=(1&t)<<5|t>>>27;for(var a=23;a>=15;a-=4)n<<=6,n|=t>>>a&63;for(a=11;a>=3;a-=4)i|=t>>>a&63,i<<=6;i|=(31&t)<<1|t>>>31,e[r+0]=n>>>0,e[r+1]=i>>>0};var n=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];e.substitute=function(t,e){for(var r=0,i=0;i<4;i++)r<<=4,r|=n[64*i+(t>>>18-6*i&63)];for(i=0;i<4;i++)r<<=4,r|=n[256+64*i+(e>>>18-6*i&63)];return r>>>0};var i=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];e.permute=function(t){for(var e=0,r=0;r<i.length;r++)e<<=1,e|=t>>>i[r]&1;return e>>>0},e.padSplit=function(t,e,r){for(var n=t.toString(2);n.length<e;)n="0"+n;for(var i=[],a=0;a<e;a+=r)i.push(n.slice(a,a+r));return i.join(" ")}},3302:t=>{t.exports=!1},343:t=>{var e,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};e=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var i=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}t.exports=a,t.exports.once=function(t,e){return new Promise((function(r,n){function i(r){t.removeListener(e,a),n(r)}function a(){"function"==typeof t.removeListener&&t.removeListener("error",i),r([].slice.call(arguments))}b(t,e,a,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&b(t,"error",e,{once:!0})}(t,i)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var s=10;function o(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function c(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function f(t,e,r,n){var i,a,s,f;if(o(r),void 0===(a=t._events)?(a=t._events=Object.create(null),t._eventsCount=0):(void 0!==a.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),a=t._events),s=a[e]),void 0===s)s=a[e]=r,++t._eventsCount;else if("function"==typeof s?s=a[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(i=c(t))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=s.length,f=u,console&&console.warn&&console.warn(f)}return t}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=u.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):p(i,i.length)}function d(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function p(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function b(t,e,r,n){if("function"==typeof t.on)n.once?t.once(e,r):t.on(e,r);else{if("function"!=typeof t.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t);t.addEventListener(e,(function i(a){n.once&&t.removeEventListener(e,i),r(a)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(t){if("number"!=typeof t||t<0||i(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");s=t}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||i(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},a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var i="error"===t,a=this._events;if(void 0!==a)i=i&&void 0===a.error;else if(!i)return!1;if(i){var s;if(e.length>0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var c=a[t];if(void 0===c)return!1;if("function"==typeof c)n(c,this,e);else{var f=c.length,u=p(c,f);for(r=0;r<f;++r)n(u[r],this,e)}return!0},a.prototype.addListener=function(t,e){return f(this,t,e,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(t,e){return f(this,t,e,!0)},a.prototype.once=function(t,e){return o(e),this.on(t,l(this,t,e)),this},a.prototype.prependOnceListener=function(t,e){return o(e),this.prependListener(t,l(this,t,e)),this},a.prototype.removeListener=function(t,e){var r,n,i,a,s;if(o(e),void 0===(n=this._events))return this;if(void 0===(r=n[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(i=-1,a=r.length-1;a>=0;a--)if(r[a]===e||r[a].listener===e){s=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,i),1===r.length&&(n[t]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",t,s||e)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(t){var e,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var i,a=Object.keys(r);for(n=0;n<a.length;++n)"removeListener"!==(i=a[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(n=e.length-1;n>=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):d.call(t,e)},a.prototype.listenerCount=d,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},5883:(t,e,r)=>{var n=r(7172).Buffer,i=r(9500);t.exports=function(t,e,r,a){if(n.isBuffer(t)||(t=n.from(t,"binary")),e&&(n.isBuffer(e)||(e=n.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=r/8,o=n.alloc(s),c=n.alloc(a||0),f=n.alloc(0);s>0||a>0;){var u=new i;u.update(f),u.update(t),e&&u.update(e),f=u.digest();var l=0;if(s>0){var h=o.length-s;l=Math.min(s,f.length),f.copy(o,h,0,l),s-=l}if(l<f.length&&a>0){var d=c.length-a,p=Math.min(a,f.length-l);f.copy(c,d,l,l+p),a-=p}}return f.fill(0),{key:o,iv:c}}},6883:(t,e,r)=>{var n=r(7172).Buffer,i=r(8310).Transform;function a(t){i.call(this),this._block=n.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}r(87)(a,i),a.prototype._transform=function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)},a.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},a.prototype.update=function(t,e){if(function(t,e){if(!n.isBuffer(t)&&"string"!=typeof t)throw new TypeError("Data must be a string or a buffer")}(t),this._finalized)throw new Error("Digest already called");n.isBuffer(t)||(t=n.from(t,e));for(var r=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var a=this._blockOffset;a<this._blockSize;)r[a++]=t[i++];this._update(),this._blockOffset=0}for(;i<t.length;)r[this._blockOffset++]=t[i++];for(var s=0,o=8*t.length;o>0;++s)this._length[s]+=o,(o=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*o);return this},a.prototype._update=function(){throw new Error("_update is not implemented")},a.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},a.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=a},5294:(t,e,r)=>{var n=e;n.utils=r(8626),n.common=r(8717),n.sha=r(2589),n.ripemd=r(8494),n.hmac=r(2750),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},8717:(t,e,r)=>{var n=r(8626),i=r(7859);function a(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=a,a.prototype.update=function(t,e){if(t=n.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=n.join32(t,0,t.length-r,this.endian);for(var i=0;i<t.length;i+=this._delta32)this._update(t,i,i+this._delta32)}return this},a.prototype.digest=function(t){return this.update(this._pad()),i(null===this.pending),this._digest(t)},a.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,r=e-(t+this.padLength)%e,n=new Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(t<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=t>>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,a=8;a<this.padLength;a++)n[i++]=0;return n}},2750:(t,e,r)=>{var n=r(8626),i=r(7859);function a(t,e,r){if(!(this instanceof a))return new a(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(e,r))}t.exports=a,a.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),i(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},a.prototype.update=function(t,e){return this.inner.update(t,e),this},a.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)}},8494:(t,e,r)=>{var n=r(8626),i=r(8717),a=n.rotl32,s=n.sum32,o=n.sum32_3,c=n.sum32_4,f=i.BlockHash;function u(){if(!(this instanceof u))return new u;f.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function l(t,e,r,n){return t<=15?e^r^n:t<=31?e&r|~e&n:t<=47?(e|~r)^n:t<=63?e&n|r&~n:e^(r|~n)}function h(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function d(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}n.inherits(u,f),e.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(t,e){for(var r=this.h[0],n=this.h[1],i=this.h[2],f=this.h[3],u=this.h[4],m=r,w=n,v=i,E=f,S=u,k=0;k<80;k++){var I=s(a(c(r,l(k,n,i,f),t[p[k]+e],h(k)),g[k]),u);r=u,u=f,f=a(i,10),i=n,n=I,I=s(a(c(m,l(79-k,w,v,E),t[b[k]+e],d(k)),y[k]),S),m=S,S=E,E=a(v,10),v=w,w=I}I=o(this.h[1],i,E),this.h[1]=o(this.h[2],f,S),this.h[2]=o(this.h[3],u,m),this.h[3]=o(this.h[4],r,w),this.h[4]=o(this.h[0],n,v),this.h[0]=I},u.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var p=[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],b=[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],g=[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],y=[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]},2589:(t,e,r)=>{e.sha1=r(9330),e.sha224=r(5168),e.sha256=r(375),e.sha384=r(8899),e.sha512=r(790)},9330:(t,e,r)=>{var n=r(8626),i=r(8717),a=r(8156),s=n.rotl32,o=n.sum32,c=n.sum32_5,f=a.ft_1,u=i.BlockHash,l=[1518500249,1859775393,2400959708,3395469782];function h(){if(!(this instanceof h))return new h;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(h,u),t.exports=h,h.blockSize=512,h.outSize=160,h.hmacStrength=80,h.padLength=64,h.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;n<r.length;n++)r[n]=s(r[n-3]^r[n-8]^r[n-14]^r[n-16],1);var i=this.h[0],a=this.h[1],u=this.h[2],h=this.h[3],d=this.h[4];for(n=0;n<r.length;n++){var p=~~(n/20),b=c(s(i,5),f(p,a,u,h),d,r[n],l[p]);d=h,h=u,u=s(a,30),a=i,i=b}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],a),this.h[2]=o(this.h[2],u),this.h[3]=o(this.h[3],h),this.h[4]=o(this.h[4],d)},h.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},5168:(t,e,r)=>{var n=r(8626),i=r(375);function a(){if(!(this instanceof a))return new a;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(a,i),t.exports=a,a.blockSize=512,a.outSize=224,a.hmacStrength=192,a.padLength=64,a.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},375:(t,e,r)=>{var n=r(8626),i=r(8717),a=r(8156),s=r(7859),o=n.sum32,c=n.sum32_4,f=n.sum32_5,u=a.ch32,l=a.maj32,h=a.s0_256,d=a.s1_256,p=a.g0_256,b=a.g1_256,g=i.BlockHash,y=[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];function m(){if(!(this instanceof m))return new m;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=y,this.W=new Array(64)}n.inherits(m,g),t.exports=m,m.blockSize=512,m.outSize=256,m.hmacStrength=192,m.padLength=64,m.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;n<r.length;n++)r[n]=c(b(r[n-2]),r[n-7],p(r[n-15]),r[n-16]);var i=this.h[0],a=this.h[1],g=this.h[2],y=this.h[3],m=this.h[4],w=this.h[5],v=this.h[6],E=this.h[7];for(s(this.k.length===r.length),n=0;n<r.length;n++){var S=f(E,d(m),u(m,w,v),this.k[n],r[n]),k=o(h(i),l(i,a,g));E=v,v=w,w=m,m=o(y,S),y=g,g=a,a=i,i=o(S,k)}this.h[0]=o(this.h[0],i),this.h[1]=o(this.h[1],a),this.h[2]=o(this.h[2],g),this.h[3]=o(this.h[3],y),this.h[4]=o(this.h[4],m),this.h[5]=o(this.h[5],w),this.h[6]=o(this.h[6],v),this.h[7]=o(this.h[7],E)},m.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},8899:(t,e,r)=>{var n=r(8626),i=r(790);function a(){if(!(this instanceof a))return new a;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(a,i),t.exports=a,a.blockSize=1024,a.outSize=384,a.hmacStrength=192,a.padLength=128,a.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},790:(t,e,r)=>{var n=r(8626),i=r(8717),a=r(7859),s=n.rotr64_hi,o=n.rotr64_lo,c=n.shr64_hi,f=n.shr64_lo,u=n.sum64,l=n.sum64_hi,h=n.sum64_lo,d=n.sum64_4_hi,p=n.sum64_4_lo,b=n.sum64_5_hi,g=n.sum64_5_lo,y=i.BlockHash,m=[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];function w(){if(!(this instanceof w))return new w;y.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=m,this.W=new Array(160)}function v(t,e,r,n,i){var a=t&r^~t&i;return a<0&&(a+=4294967296),a}function E(t,e,r,n,i,a){var s=e&n^~e&a;return s<0&&(s+=4294967296),s}function S(t,e,r,n,i){var a=t&r^t&i^r&i;return a<0&&(a+=4294967296),a}function k(t,e,r,n,i,a){var s=e&n^e&a^n&a;return s<0&&(s+=4294967296),s}function I(t,e){var r=s(t,e,28)^s(e,t,2)^s(e,t,7);return r<0&&(r+=4294967296),r}function L(t,e){var r=o(t,e,28)^o(e,t,2)^o(e,t,7);return r<0&&(r+=4294967296),r}function x(t,e){var r=o(t,e,14)^o(t,e,18)^o(e,t,9);return r<0&&(r+=4294967296),r}function C(t,e){var r=s(t,e,1)^s(t,e,8)^c(t,e,7);return r<0&&(r+=4294967296),r}function B(t,e){var r=o(t,e,1)^o(t,e,8)^f(t,e,7);return r<0&&(r+=4294967296),r}function R(t,e){var r=o(t,e,19)^o(e,t,29)^f(t,e,6);return r<0&&(r+=4294967296),r}n.inherits(w,y),t.exports=w,w.blockSize=1024,w.outSize=512,w.hmacStrength=192,w.padLength=128,w.prototype._prepareBlock=function(t,e){for(var r=this.W,n=0;n<32;n++)r[n]=t[e+n];for(;n<r.length;n+=2){var i=(g=r[n-4],y=r[n-3],m=void 0,(m=s(g,y,19)^s(y,g,29)^c(g,y,6))<0&&(m+=4294967296),m),a=R(r[n-4],r[n-3]),o=r[n-14],f=r[n-13],u=C(r[n-30],r[n-29]),l=B(r[n-30],r[n-29]),h=r[n-32],b=r[n-31];r[n]=d(i,a,o,f,u,l,h,b),r[n+1]=p(i,a,o,f,u,l,h,b)}var g,y,m},w.prototype._update=function(t,e){this._prepareBlock(t,e);var r,n,i,o=this.W,c=this.h[0],f=this.h[1],d=this.h[2],p=this.h[3],y=this.h[4],m=this.h[5],w=this.h[6],C=this.h[7],B=this.h[8],R=this.h[9],_=this.h[10],T=this.h[11],O=this.h[12],A=this.h[13],j=this.h[14],P=this.h[15];a(this.k.length===o.length);for(var z=0;z<o.length;z+=2){var D=j,M=P,Z=(i=void 0,(i=s(r=B,n=R,14)^s(r,n,18)^s(n,r,9))<0&&(i+=4294967296),i),Y=x(B,R),W=v(B,0,_,0,O),N=E(0,R,0,T,0,A),U=this.k[z],F=this.k[z+1],Q=o[z],H=o[z+1],G=b(D,M,Z,Y,W,N,U,F,Q,H),J=g(D,M,Z,Y,W,N,U,F,Q,H);D=I(c,f),M=L(c,f),Z=S(c,0,d,0,y),Y=k(0,f,0,p,0,m);var X=l(D,M,Z,Y),K=h(D,M,Z,Y);j=O,P=A,O=_,A=T,_=B,T=R,B=l(w,C,G,J),R=h(C,C,G,J),w=y,C=m,y=d,m=p,d=c,p=f,c=l(G,J,X,K),f=h(G,J,X,K)}u(this.h,0,c,f),u(this.h,2,d,p),u(this.h,4,y,m),u(this.h,6,w,C),u(this.h,8,B,R),u(this.h,10,_,T),u(this.h,12,O,A),u(this.h,14,j,P)},w.prototype._digest=function(t){return"hex"===t?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},8156:(t,e,r)=>{var n=r(8626).rotr32;function i(t,e,r){return t&e^~t&r}function a(t,e,r){return t&e^t&r^e&r}function s(t,e,r){return t^e^r}e.ft_1=function(t,e,r,n){return 0===t?i(e,r,n):1===t||3===t?s(e,r,n):2===t?a(e,r,n):void 0},e.ch32=i,e.maj32=a,e.p32=s,e.s0_256=function(t){return n(t,2)^n(t,13)^n(t,22)},e.s1_256=function(t){return n(t,6)^n(t,11)^n(t,25)},e.g0_256=function(t){return n(t,7)^n(t,18)^t>>>3},e.g1_256=function(t){return n(t,17)^n(t,19)^t>>>10}},8626:(t,e,r)=>{var n=r(7859),i=r(87);function a(t,e){return 55296==(64512&t.charCodeAt(e))&&!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1))}function s(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function o(t){return 1===t.length?"0"+t:t}function c(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=i,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),i=0;i<t.length;i+=2)r.push(parseInt(t[i]+t[i+1],16))}else for(var n=0,i=0;i<t.length;i++){var s=t.charCodeAt(i);s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=63&s|128):a(t,i)?(s=65536+((1023&s)<<10)+(1023&t.charCodeAt(++i)),r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=63&s|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=63&s|128)}else for(i=0;i<t.length;i++)r[i]=0|t[i];return r},e.toHex=function(t){for(var e="",r=0;r<t.length;r++)e+=o(t[r].toString(16));return e},e.htonl=s,e.toHex32=function(t,e){for(var r="",n=0;n<t.length;n++){var i=t[n];"little"===e&&(i=s(i)),r+=c(i.toString(16))}return r},e.zero2=o,e.zero8=c,e.join32=function(t,e,r,i){var a=r-e;n(a%4==0);for(var s=new Array(a/4),o=0,c=e;o<s.length;o++,c+=4){var f;f="big"===i?t[c]<<24|t[c+1]<<16|t[c+2]<<8|t[c+3]:t[c+3]<<24|t[c+2]<<16|t[c+1]<<8|t[c],s[o]=f>>>0}return s},e.split32=function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n<t.length;n++,i+=4){var a=t[n];"big"===e?(r[i]=a>>>24,r[i+1]=a>>>16&255,r[i+2]=a>>>8&255,r[i+3]=255&a):(r[i+3]=a>>>24,r[i+2]=a>>>16&255,r[i+1]=a>>>8&255,r[i]=255&a)}return r},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<<e|t>>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,r){return t+e+r>>>0},e.sum32_4=function(t,e,r,n){return t+e+r+n>>>0},e.sum32_5=function(t,e,r,n,i){return t+e+r+n+i>>>0},e.sum64=function(t,e,r,n){var i=t[e],a=n+t[e+1]>>>0,s=(a<n?1:0)+r+i;t[e]=s>>>0,t[e+1]=a},e.sum64_hi=function(t,e,r,n){return(e+n>>>0<e?1:0)+t+r>>>0},e.sum64_lo=function(t,e,r,n){return e+n>>>0},e.sum64_4_hi=function(t,e,r,n,i,a,s,o){var c=0,f=e;return c+=(f=f+n>>>0)<e?1:0,c+=(f=f+a>>>0)<a?1:0,t+r+i+s+(c+=(f=f+o>>>0)<o?1:0)>>>0},e.sum64_4_lo=function(t,e,r,n,i,a,s,o){return e+n+a+o>>>0},e.sum64_5_hi=function(t,e,r,n,i,a,s,o,c,f){var u=0,l=e;return u+=(l=l+n>>>0)<e?1:0,u+=(l=l+a>>>0)<a?1:0,u+=(l=l+o>>>0)<o?1:0,t+r+i+s+c+(u+=(l=l+f>>>0)<f?1:0)>>>0},e.sum64_5_lo=function(t,e,r,n,i,a,s,o,c,f){return e+n+a+o+f>>>0},e.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},e.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},e.shr64_hi=function(t,e,r){return t>>>r},e.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0}},8898:(t,e)=>{e.read=function(t,e,r,n,i){var a,s,o=8*i-n-1,c=(1<<o)-1,f=c>>1,u=-7,l=r?i-1:0,h=r?-1:1,d=t[e+l];for(l+=h,a=d&(1<<-u)-1,d>>=-u,u+=o;u>0;a=256*a+t[e+l],l+=h,u-=8);for(s=a&(1<<-u)-1,a>>=-u,u+=n;u>0;s=256*s+t[e+l],l+=h,u-=8);if(0===a)a=1-f;else{if(a===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,n),a-=f}return(d?-1:1)*s*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var s,o,c,f=8*a-i-1,u=(1<<f)-1,l=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,b=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=u):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),(e+=s+l>=1?h/c:h*Math.pow(2,1-l))*c>=2&&(s++,c/=2),s+l>=u?(o=0,s=u):s+l>=1?(o=(e*c-1)*Math.pow(2,i),s+=l):(o=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+d]=255&o,d+=p,o/=256,i-=8);for(s=s<<i|o,f+=i;f>0;t[r+d]=255&s,d+=p,s/=256,f-=8);t[r+d-p]|=128*b}},87:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},3261:t=>{var e=1/0,r=9007199254740991,n=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,o=/^(?:0|[1-9]\d*)$/,c=parseInt,f=Object.prototype.toString,u=Math.ceil,l=Math.max;function h(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n<i;)a[n]=t[n+e];return a}function d(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}t.exports=function(t,p,b){p=(b?function(t,e,n){if(!d(n))return!1;var i=typeof e;return!!("number"==i?function(t){return null!=t&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=r}(t.length)&&!function(t){var e=d(t)?f.call(t):"";return"[object Function]"==e||"[object GeneratorFunction]"==e}(t)}(n)&&function(t,e){return!!(e=null==e?r:e)&&("number"==typeof t||o.test(t))&&t>-1&&t%1==0&&t<e}(e,n.length):"string"==i&&e in n)&&function(t,e){return t===e||t!=t&&e!=e}(n[e],t)}(t,p,b):void 0===p)?1:l(function(t){var r=function(t){return t?(t=function(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==f.call(t)}(t))return NaN;if(d(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=d(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(n,"");var r=a.test(t);return r||s.test(t)?c(t.slice(2),r?2:8):i.test(t)?NaN:+t}(t))===e||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}(t),o=r%1;return r==r?o?r-o:r:0}(p),0);var g=t?t.length:0;if(!g||p<1)return[];for(var y=0,m=0,w=Array(u(g/p));y<g;)w[m++]=h(t,y,y+=p);return w}},7902:(t,e,r)=>{t=r.nmd(t);var n="__lodash_hash_undefined__",i=9007199254740991,a="[object Arguments]",s="[object Boolean]",o="[object Date]",c="[object Function]",f="[object GeneratorFunction]",u="[object Map]",l="[object Number]",h="[object Object]",d="[object Promise]",p="[object RegExp]",b="[object Set]",g="[object String]",y="[object Symbol]",m="[object WeakMap]",w="[object ArrayBuffer]",v="[object DataView]",E="[object Float32Array]",S="[object Float64Array]",k="[object Int8Array]",I="[object Int16Array]",L="[object Int32Array]",x="[object Uint8Array]",C="[object Uint8ClampedArray]",B="[object Uint16Array]",R="[object Uint32Array]",_=/\w*$/,T=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,A={};A[a]=A["[object Array]"]=A[w]=A[v]=A[s]=A[o]=A[E]=A[S]=A[k]=A[I]=A[L]=A[u]=A[l]=A[h]=A[p]=A[b]=A[g]=A[y]=A[x]=A[C]=A[B]=A[R]=!0,A["[object Error]"]=A[c]=A[m]=!1;var j="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,P="object"==typeof self&&self&&self.Object===Object&&self,z=j||P||Function("return this")(),D=e&&!e.nodeType&&e,M=D&&t&&!t.nodeType&&t,Z=M&&M.exports===D;function Y(t,e){return t.set(e[0],e[1]),t}function W(t,e){return t.add(e),t}function N(t,e,r,n){var i=-1,a=t?t.length:0;for(n&&a&&(r=t[++i]);++i<a;)r=e(r,t[i],i,t);return r}function U(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function F(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function Q(t,e){return function(r){return t(e(r))}}function H(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var G,J=Array.prototype,X=Function.prototype,K=Object.prototype,q=z["__core-js_shared__"],V=(G=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"",$=X.toString,tt=K.hasOwnProperty,et=K.toString,rt=RegExp("^"+$.call(tt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nt=Z?z.Buffer:void 0,it=z.Symbol,at=z.Uint8Array,st=Q(Object.getPrototypeOf,Object),ot=Object.create,ct=K.propertyIsEnumerable,ft=J.splice,ut=Object.getOwnPropertySymbols,lt=nt?nt.isBuffer:void 0,ht=Q(Object.keys,Object),dt=zt(z,"DataView"),pt=zt(z,"Map"),bt=zt(z,"Promise"),gt=zt(z,"Set"),yt=zt(z,"WeakMap"),mt=zt(Object,"create"),wt=Wt(dt),vt=Wt(pt),Et=Wt(bt),St=Wt(gt),kt=Wt(yt),It=it?it.prototype:void 0,Lt=It?It.valueOf:void 0;function xt(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Ct(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Bt(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Rt(t){this.__data__=new Ct(t)}function _t(t,e,r){var n=t[e];tt.call(t,e)&&Nt(n,r)&&(void 0!==r||e in t)||(t[e]=r)}function Tt(t,e){for(var r=t.length;r--;)if(Nt(t[r][0],e))return r;return-1}function Ot(t,e,r,n,i,d,m){var T;if(n&&(T=d?n(t,i,d,m):n(t)),void 0!==T)return T;if(!Gt(t))return t;var O=Ut(t);if(O){if(T=function(t){var e=t.length,r=t.constructor(e);return e&&"string"==typeof t[0]&&tt.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!e)return function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}(t,T)}else{var j=Mt(t),P=j==c||j==f;if(Qt(t))return function(t,e){if(e)return t.slice();var r=new t.constructor(t.length);return t.copy(r),r}(t,e);if(j==h||j==a||P&&!d){if(U(t))return d?t:{};if(T=function(t){return"function"!=typeof t.constructor||Yt(t)?{}:Gt(e=st(t))?ot(e):{};var e}(P?{}:t),!e)return function(t,e){return jt(t,Dt(t),e)}(t,function(t,e){return t&&jt(e,Jt(e),t)}(T,t))}else{if(!A[j])return d?t:{};T=function(t,e,r,n){var i,a=t.constructor;switch(e){case w:return At(t);case s:case o:return new a(+t);case v:return function(t,e){var r=e?At(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,n);case E:case S:case k:case I:case L:case x:case C:case B:case R:return function(t,e){var r=e?At(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}(t,n);case u:return function(t,e,r){return N(e?r(F(t),!0):F(t),Y,new t.constructor)}(t,n,r);case l:case g:return new a(t);case p:return function(t){var e=new t.constructor(t.source,_.exec(t));return e.lastIndex=t.lastIndex,e}(t);case b:return function(t,e,r){return N(e?r(H(t),!0):H(t),W,new t.constructor)}(t,n,r);case y:return i=t,Lt?Object(Lt.call(i)):{}}}(t,j,Ot,e)}}m||(m=new Rt);var z=m.get(t);if(z)return z;if(m.set(t,T),!O)var D=r?function(t){return function(t,e,r){var n=e(t);return Ut(t)?n:function(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}(n,r(t))}(t,Jt,Dt)}(t):Jt(t);return function(t,e){for(var r=-1,n=t?t.length:0;++r<n&&!1!==e(t[r],r););}(D||t,(function(i,a){D&&(i=t[a=i]),_t(T,a,Ot(i,e,r,n,a,t,m))})),T}function At(t){var e=new t.constructor(t.byteLength);return new at(e).set(new at(t)),e}function jt(t,e,r,n){r||(r={});for(var i=-1,a=e.length;++i<a;){var s=e[i],o=n?n(r[s],t[s],s,r,t):void 0;_t(r,s,void 0===o?t[s]:o)}return r}function Pt(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function zt(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!Gt(t)||(e=t,V&&V in e))&&(Ht(t)||U(t)?rt:T).test(Wt(t));var e}(r)?r:void 0}xt.prototype.clear=function(){this.__data__=mt?mt(null):{}},xt.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},xt.prototype.get=function(t){var e=this.__data__;if(mt){var r=e[t];return r===n?void 0:r}return tt.call(e,t)?e[t]:void 0},xt.prototype.has=function(t){var e=this.__data__;return mt?void 0!==e[t]:tt.call(e,t)},xt.prototype.set=function(t,e){return this.__data__[t]=mt&&void 0===e?n:e,this},Ct.prototype.clear=function(){this.__data__=[]},Ct.prototype.delete=function(t){var e=this.__data__,r=Tt(e,t);return!(r<0||(r==e.length-1?e.pop():ft.call(e,r,1),0))},Ct.prototype.get=function(t){var e=this.__data__,r=Tt(e,t);return r<0?void 0:e[r][1]},Ct.prototype.has=function(t){return Tt(this.__data__,t)>-1},Ct.prototype.set=function(t,e){var r=this.__data__,n=Tt(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},Bt.prototype.clear=function(){this.__data__={hash:new xt,map:new(pt||Ct),string:new xt}},Bt.prototype.delete=function(t){return Pt(this,t).delete(t)},Bt.prototype.get=function(t){return Pt(this,t).get(t)},Bt.prototype.has=function(t){return Pt(this,t).has(t)},Bt.prototype.set=function(t,e){return Pt(this,t).set(t,e),this},Rt.prototype.clear=function(){this.__data__=new Ct},Rt.prototype.delete=function(t){return this.__data__.delete(t)},Rt.prototype.get=function(t){return this.__data__.get(t)},Rt.prototype.has=function(t){return this.__data__.has(t)},Rt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof Ct){var n=r.__data__;if(!pt||n.length<199)return n.push([t,e]),this;r=this.__data__=new Bt(n)}return r.set(t,e),this};var Dt=ut?Q(ut,Object):function(){return[]},Mt=function(t){return et.call(t)};function Zt(t,e){return!!(e=null==e?i:e)&&("number"==typeof t||O.test(t))&&t>-1&&t%1==0&&t<e}function Yt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||K)}function Wt(t){if(null!=t){try{return $.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Nt(t,e){return t===e||t!=t&&e!=e}(dt&&Mt(new dt(new ArrayBuffer(1)))!=v||pt&&Mt(new pt)!=u||bt&&Mt(bt.resolve())!=d||gt&&Mt(new gt)!=b||yt&&Mt(new yt)!=m)&&(Mt=function(t){var e=et.call(t),r=e==h?t.constructor:void 0,n=r?Wt(r):void 0;if(n)switch(n){case wt:return v;case vt:return u;case Et:return d;case St:return b;case kt:return m}return e});var Ut=Array.isArray;function Ft(t){return null!=t&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=i}(t.length)&&!Ht(t)}var Qt=lt||function(){return!1};function Ht(t){var e=Gt(t)?et.call(t):"";return e==c||e==f}function Gt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Jt(t){return Ft(t)?function(t,e){var r=Ut(t)||function(t){return function(t){return function(t){return!!t&&"object"==typeof t}(t)&&Ft(t)}(t)&&tt.call(t,"callee")&&(!ct.call(t,"callee")||et.call(t)==a)}(t)?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],n=r.length,i=!!n;for(var s in t)!e&&!tt.call(t,s)||i&&("length"==s||Zt(s,n))||r.push(s);return r}(t):function(t){if(!Yt(t))return ht(t);var e=[];for(var r in Object(t))tt.call(t,r)&&"constructor"!=r&&e.push(r);return e}(t)}t.exports=function(t,e){return Ot(t,!0,!0,e)}},9467:(t,e,r)=>{t=r.nmd(t);var n="__lodash_hash_undefined__",i=1,a=2,s=1/0,o=9007199254740991,c="[object Arguments]",f="[object Array]",u="[object Boolean]",l="[object Date]",h="[object Error]",d="[object Function]",p="[object GeneratorFunction]",b="[object Map]",g="[object Number]",y="[object Object]",m="[object Promise]",w="[object RegExp]",v="[object Set]",E="[object String]",S="[object Symbol]",k="[object WeakMap]",I="[object ArrayBuffer]",L="[object DataView]",x=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,C=/^\w*$/,B=/^\./,R=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_=/\\(\\)?/g,T=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,A={};A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A[c]=A[f]=A[I]=A[u]=A[L]=A[l]=A[h]=A[d]=A[b]=A[g]=A[y]=A[w]=A[v]=A[E]=A[k]=!1;var j="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,P="object"==typeof self&&self&&self.Object===Object&&self,z=j||P||Function("return this")(),D=e&&!e.nodeType&&e,M=D&&t&&!t.nodeType&&t,Z=M&&M.exports===D&&j.process,Y=function(){try{return Z&&Z.binding("util")}catch(t){}}(),W=Y&&Y.isTypedArray;function N(t,e){for(var r=-1,n=t?t.length:0;++r<n;)if(!e(t[r],r,t))return!1;return!0}function U(t,e){for(var r=-1,n=t?t.length:0;++r<n;)if(e(t[r],r,t))return!0;return!1}function F(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function Q(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function H(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var G,J,X,K=Array.prototype,q=Function.prototype,V=Object.prototype,$=z["__core-js_shared__"],tt=(G=/[^.]+$/.exec($&&$.keys&&$.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"",et=q.toString,rt=V.hasOwnProperty,nt=V.toString,it=RegExp("^"+et.call(rt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),at=z.Symbol,st=z.Uint8Array,ot=V.propertyIsEnumerable,ct=K.splice,ft=(J=Object.keys,X=Object,function(t){return J(X(t))}),ut=Yt(z,"DataView"),lt=Yt(z,"Map"),ht=Yt(z,"Promise"),dt=Yt(z,"Set"),pt=Yt(z,"WeakMap"),bt=Yt(Object,"create"),gt=Jt(ut),yt=Jt(lt),mt=Jt(ht),wt=Jt(dt),vt=Jt(pt),Et=at?at.prototype:void 0,St=Et?Et.valueOf:void 0,kt=Et?Et.toString:void 0;function It(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Lt(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function xt(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Ct(t){var e=-1,r=t?t.length:0;for(this.__data__=new xt;++e<r;)this.add(t[e])}function Bt(t){this.__data__=new Lt(t)}function Rt(t,e){for(var r=t.length;r--;)if(Kt(t[r][0],e))return r;return-1}It.prototype.clear=function(){this.__data__=bt?bt(null):{}},It.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},It.prototype.get=function(t){var e=this.__data__;if(bt){var r=e[t];return r===n?void 0:r}return rt.call(e,t)?e[t]:void 0},It.prototype.has=function(t){var e=this.__data__;return bt?void 0!==e[t]:rt.call(e,t)},It.prototype.set=function(t,e){return this.__data__[t]=bt&&void 0===e?n:e,this},Lt.prototype.clear=function(){this.__data__=[]},Lt.prototype.delete=function(t){var e=this.__data__,r=Rt(e,t);return!(r<0||(r==e.length-1?e.pop():ct.call(e,r,1),0))},Lt.prototype.get=function(t){var e=this.__data__,r=Rt(e,t);return r<0?void 0:e[r][1]},Lt.prototype.has=function(t){return Rt(this.__data__,t)>-1},Lt.prototype.set=function(t,e){var r=this.__data__,n=Rt(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},xt.prototype.clear=function(){this.__data__={hash:new It,map:new(lt||Lt),string:new It}},xt.prototype.delete=function(t){return Zt(this,t).delete(t)},xt.prototype.get=function(t){return Zt(this,t).get(t)},xt.prototype.has=function(t){return Zt(this,t).has(t)},xt.prototype.set=function(t,e){return Zt(this,t).set(t,e),this},Ct.prototype.add=Ct.prototype.push=function(t){return this.__data__.set(t,n),this},Ct.prototype.has=function(t){return this.__data__.has(t)},Bt.prototype.clear=function(){this.__data__=new Lt},Bt.prototype.delete=function(t){return this.__data__.delete(t)},Bt.prototype.get=function(t){return this.__data__.get(t)},Bt.prototype.has=function(t){return this.__data__.has(t)},Bt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof Lt){var n=r.__data__;if(!lt||n.length<199)return n.push([t,e]),this;r=this.__data__=new xt(n)}return r.set(t,e),this};var _t,Tt=(_t=function(t,e){return t&&At(t,e,se)},function(t,e){if(null==t)return t;if(!$t(t))return _t(t,e);for(var r=t.length,n=-1,i=Object(t);++n<r&&!1!==e(i[n],n,i););return t});function Ot(t,e){var r=!0;return Tt(t,(function(t,n,i){return r=!!e(t,n,i)})),r}var At=function(t,e,r){for(var n=-1,i=Object(t),a=r(t),s=a.length;s--;){var o=a[++n];if(!1===e(i[o],o,i))break}return t};function jt(t,e){for(var r=0,n=(e=Ut(e,t)?[e]:Dt(e)).length;null!=t&&r<n;)t=t[Gt(e[r++])];return r&&r==n?t:void 0}function Pt(t,e){return null!=t&&e in Object(t)}function zt(t,e,r,n,s){return t===e||(null==t||null==e||!re(t)&&!ne(e)?t!=t&&e!=e:function(t,e,r,n,s,o){var d=Vt(t),p=Vt(e),m=f,k=f;d||(m=(m=Wt(t))==c?y:m),p||(k=(k=Wt(e))==c?y:k);var x=m==y&&!F(t),C=k==y&&!F(e),B=m==k;if(B&&!x)return o||(o=new Bt),d||ae(t)?Mt(t,e,r,n,s,o):function(t,e,r,n,s,o,c){switch(r){case L:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case I:return!(t.byteLength!=e.byteLength||!n(new st(t),new st(e)));case u:case l:case g:return Kt(+t,+e);case h:return t.name==e.name&&t.message==e.message;case w:case E:return t==e+"";case b:var f=Q;case v:var d=o&a;if(f||(f=H),t.size!=e.size&&!d)return!1;var p=c.get(t);if(p)return p==e;o|=i,c.set(t,e);var y=Mt(f(t),f(e),n,s,o,c);return c.delete(t),y;case S:if(St)return St.call(t)==St.call(e)}return!1}(t,e,m,r,n,s,o);if(!(s&a)){var R=x&&rt.call(t,"__wrapped__"),_=C&&rt.call(e,"__wrapped__");if(R||_){var T=R?t.value():t,O=_?e.value():e;return o||(o=new Bt),r(T,O,n,s,o)}}return!!B&&(o||(o=new Bt),function(t,e,r,n,i,s){var o=i&a,c=se(t),f=c.length;if(f!=se(e).length&&!o)return!1;for(var u=f;u--;){var l=c[u];if(!(o?l in e:rt.call(e,l)))return!1}var h=s.get(t);if(h&&s.get(e))return h==e;var d=!0;s.set(t,e),s.set(e,t);for(var p=o;++u<f;){var b=t[l=c[u]],g=e[l];if(n)var y=o?n(g,b,l,e,t,s):n(b,g,l,t,e,s);if(!(void 0===y?b===g||r(b,g,n,i,s):y)){d=!1;break}p||(p="constructor"==l)}if(d&&!p){var m=t.constructor,w=e.constructor;m==w||!("constructor"in t)||!("constructor"in e)||"function"==typeof m&&m instanceof m&&"function"==typeof w&&w instanceof w||(d=!1)}return s.delete(t),s.delete(e),d}(t,e,r,n,s,o))}(t,e,zt,r,n,s))}function Dt(t){return Vt(t)?t:Ht(t)}function Mt(t,e,r,n,s,o){var c=s&a,f=t.length,u=e.length;if(f!=u&&!(c&&u>f))return!1;var l=o.get(t);if(l&&o.get(e))return l==e;var h=-1,d=!0,p=s&i?new Ct:void 0;for(o.set(t,e),o.set(e,t);++h<f;){var b=t[h],g=e[h];if(n)var y=c?n(g,b,h,e,t,o):n(b,g,h,t,e,o);if(void 0!==y){if(y)continue;d=!1;break}if(p){if(!U(e,(function(t,e){if(!p.has(e)&&(b===t||r(b,t,n,s,o)))return p.add(e)}))){d=!1;break}}else if(b!==g&&!r(b,g,n,s,o)){d=!1;break}}return o.delete(t),o.delete(e),d}function Zt(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Yt(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!re(t)||function(t){return!!tt&&tt in t}(t))&&(te(t)||F(t)?it:T).test(Jt(t))}(r)?r:void 0}var Wt=function(t){return nt.call(t)};function Nt(t,e){return!!(e=null==e?o:e)&&("number"==typeof t||O.test(t))&&t>-1&&t%1==0&&t<e}function Ut(t,e){if(Vt(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!ie(t))||C.test(t)||!x.test(t)||null!=e&&t in Object(e)}function Ft(t){return t==t&&!re(t)}function Qt(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}}(ut&&Wt(new ut(new ArrayBuffer(1)))!=L||lt&&Wt(new lt)!=b||ht&&Wt(ht.resolve())!=m||dt&&Wt(new dt)!=v||pt&&Wt(new pt)!=k)&&(Wt=function(t){var e=nt.call(t),r=e==y?t.constructor:void 0,n=r?Jt(r):void 0;if(n)switch(n){case gt:return L;case yt:return b;case mt:return m;case wt:return v;case vt:return k}return e});var Ht=Xt((function(t){var e;t=null==(e=t)?"":function(t){if("string"==typeof t)return t;if(ie(t))return kt?kt.call(t):"";var e=t+"";return"0"==e&&1/t==-s?"-0":e}(e);var r=[];return B.test(t)&&r.push(""),t.replace(R,(function(t,e,n,i){r.push(n?i.replace(_,"$1"):e||t)})),r}));function Gt(t){if("string"==typeof t||ie(t))return t;var e=t+"";return"0"==e&&1/t==-s?"-0":e}function Jt(t){if(null!=t){try{return et.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Xt(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s),s};return r.cache=new(Xt.Cache||xt),r}function Kt(t,e){return t===e||t!=t&&e!=e}function qt(t){return function(t){return ne(t)&&$t(t)}(t)&&rt.call(t,"callee")&&(!ot.call(t,"callee")||nt.call(t)==c)}Xt.Cache=xt;var Vt=Array.isArray;function $t(t){return null!=t&&ee(t.length)&&!te(t)}function te(t){var e=re(t)?nt.call(t):"";return e==d||e==p}function ee(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=o}function re(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function ne(t){return!!t&&"object"==typeof t}function ie(t){return"symbol"==typeof t||ne(t)&&nt.call(t)==S}var ae=W?function(t){return function(e){return t(e)}}(W):function(t){return ne(t)&&ee(t.length)&&!!A[nt.call(t)]};function se(t){return $t(t)?function(t,e){var r=Vt(t)||qt(t)?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],n=r.length,i=!!n;for(var a in t)!e&&!rt.call(t,a)||i&&("length"==a||Nt(a,n))||r.push(a);return r}(t):function(t){if(r=(e=t)&&e.constructor,e!==("function"==typeof r&&r.prototype||V))return ft(t);var e,r,n=[];for(var i in Object(t))rt.call(t,i)&&"constructor"!=i&&n.push(i);return n}(t)}function oe(t){return t}t.exports=function(t,e,r){var n,s,o,c,f,u=Vt(t)?N:Ot;return r&&function(t,e,r){if(!re(r))return!1;var n=typeof e;return!!("number"==n?$t(r)&&Nt(e,r.length):"string"==n&&e in r)&&Kt(r[e],t)}(t,e,r)&&(e=void 0),u(t,"function"==typeof(n=e)?n:null==n?oe:"object"==typeof n?Vt(n)?function(t,e){return Ut(t)&&Ft(e)?Qt(Gt(t),e):function(r){var n=function(t,e,r){var n=null==t?void 0:jt(t,e);return void 0===n?void 0:n}(r,t);return void 0===n&&n===e?function(t,e){return null!=t&&function(t,e,r){for(var n,i=-1,a=(e=Ut(e,t)?[e]:Dt(e)).length;++i<a;){var s=Gt(e[i]);if(!(n=null!=t&&r(t,s)))break;t=t[s]}return n||!!(a=t?t.length:0)&&ee(a)&&Nt(s,a)&&(Vt(t)||qt(t))}(t,e,Pt)}(r,t):zt(e,n,void 0,i|a)}}(n[0],n[1]):1==(o=function(t){for(var e=se(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Ft(i)]}return e}(s=n)).length&&o[0][2]?Qt(o[0][0],o[0][1]):function(t){return t===s||function(t,e,r,n){var s=r.length,o=s;if(null==t)return!o;for(t=Object(t);s--;){var c=r[s];if(c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++s<o;){var f=(c=r[s])[0],u=t[f],l=c[1];if(c[2]){if(void 0===u&&!(f in t))return!1}else{var h,d=new Bt;if(!(void 0===h?zt(l,u,n,i|a,d):h))return!1}}return!0}(t,0,o)}:Ut(c=n)?(f=Gt(c),function(t){return null==t?void 0:t[f]}):function(t){return function(e){return jt(e,t)}}(c))}},1328:(t,e,r)=>{t=r.nmd(t);var n="__lodash_hash_undefined__",i=1,a=2,s=1/0,o=9007199254740991,c="[object Arguments]",f="[object Array]",u="[object Boolean]",l="[object Date]",h="[object Error]",d="[object Function]",p="[object GeneratorFunction]",b="[object Map]",g="[object Number]",y="[object Object]",m="[object Promise]",w="[object RegExp]",v="[object Set]",E="[object String]",S="[object Symbol]",k="[object WeakMap]",I="[object ArrayBuffer]",L="[object DataView]",x=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,C=/^\w*$/,B=/^\./,R=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_=/\\(\\)?/g,T=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,A={};A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A[c]=A[f]=A[I]=A[u]=A[L]=A[l]=A[h]=A[d]=A[b]=A[g]=A[y]=A[w]=A[v]=A[E]=A[k]=!1;var j="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,P="object"==typeof self&&self&&self.Object===Object&&self,z=j||P||Function("return this")(),D=e&&!e.nodeType&&e,M=D&&t&&!t.nodeType&&t,Z=M&&M.exports===D&&j.process,Y=function(){try{return Z&&Z.binding("util")}catch(t){}}(),W=Y&&Y.isTypedArray;function N(t,e){for(var r=-1,n=t?t.length:0;++r<n;)if(e(t[r],r,t))return!0;return!1}function U(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function F(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function Q(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var H,G,J,X=Array.prototype,K=Function.prototype,q=Object.prototype,V=z["__core-js_shared__"],$=(H=/[^.]+$/.exec(V&&V.keys&&V.keys.IE_PROTO||""))?"Symbol(src)_1."+H:"",tt=K.toString,et=q.hasOwnProperty,rt=q.toString,nt=RegExp("^"+tt.call(et).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),it=z.Symbol,at=z.Uint8Array,st=q.propertyIsEnumerable,ot=X.splice,ct=(G=Object.keys,J=Object,function(t){return G(J(t))}),ft=Pt(z,"DataView"),ut=Pt(z,"Map"),lt=Pt(z,"Promise"),ht=Pt(z,"Set"),dt=Pt(z,"WeakMap"),pt=Pt(Object,"create"),bt=Ut(ft),gt=Ut(ut),yt=Ut(lt),mt=Ut(ht),wt=Ut(dt),vt=it?it.prototype:void 0,Et=vt?vt.valueOf:void 0,St=vt?vt.toString:void 0;function kt(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function It(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Lt(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function xt(t){var e=-1,r=t?t.length:0;for(this.__data__=new Lt;++e<r;)this.add(t[e])}function Ct(t){this.__data__=new It(t)}function Bt(t,e){for(var r=t.length;r--;)if(Qt(t[r][0],e))return r;return-1}kt.prototype.clear=function(){this.__data__=pt?pt(null):{}},kt.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},kt.prototype.get=function(t){var e=this.__data__;if(pt){var r=e[t];return r===n?void 0:r}return et.call(e,t)?e[t]:void 0},kt.prototype.has=function(t){var e=this.__data__;return pt?void 0!==e[t]:et.call(e,t)},kt.prototype.set=function(t,e){return this.__data__[t]=pt&&void 0===e?n:e,this},It.prototype.clear=function(){this.__data__=[]},It.prototype.delete=function(t){var e=this.__data__,r=Bt(e,t);return!(r<0||(r==e.length-1?e.pop():ot.call(e,r,1),0))},It.prototype.get=function(t){var e=this.__data__,r=Bt(e,t);return r<0?void 0:e[r][1]},It.prototype.has=function(t){return Bt(this.__data__,t)>-1},It.prototype.set=function(t,e){var r=this.__data__,n=Bt(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},Lt.prototype.clear=function(){this.__data__={hash:new kt,map:new(ut||It),string:new kt}},Lt.prototype.delete=function(t){return jt(this,t).delete(t)},Lt.prototype.get=function(t){return jt(this,t).get(t)},Lt.prototype.has=function(t){return jt(this,t).has(t)},Lt.prototype.set=function(t,e){return jt(this,t).set(t,e),this},xt.prototype.add=xt.prototype.push=function(t){return this.__data__.set(t,n),this},xt.prototype.has=function(t){return this.__data__.has(t)},Ct.prototype.clear=function(){this.__data__=new It},Ct.prototype.delete=function(t){return this.__data__.delete(t)},Ct.prototype.get=function(t){return this.__data__.get(t)},Ct.prototype.has=function(t){return this.__data__.has(t)},Ct.prototype.set=function(t,e){var r=this.__data__;if(r instanceof It){var n=r.__data__;if(!ut||n.length<199)return n.push([t,e]),this;r=this.__data__=new Lt(n)}return r.set(t,e),this};function Rt(t,e){for(var r=0,n=(e=Mt(e,t)?[e]:Ot(e)).length;null!=t&&r<n;)t=t[Nt(e[r++])];return r&&r==n?t:void 0}function _t(t,e){return null!=t&&e in Object(t)}function Tt(t,e,r,n,s){return t===e||(null==t||null==e||!qt(t)&&!Vt(e)?t!=t&&e!=e:function(t,e,r,n,s,o){var d=Gt(t),p=Gt(e),m=f,k=f;d||(m=(m=zt(t))==c?y:m),p||(k=(k=zt(e))==c?y:k);var x=m==y&&!U(t),C=k==y&&!U(e),B=m==k;if(B&&!x)return o||(o=new Ct),d||te(t)?At(t,e,r,n,s,o):function(t,e,r,n,s,o,c){switch(r){case L:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case I:return!(t.byteLength!=e.byteLength||!n(new at(t),new at(e)));case u:case l:case g:return Qt(+t,+e);case h:return t.name==e.name&&t.message==e.message;case w:case E:return t==e+"";case b:var f=F;case v:var d=o&a;if(f||(f=Q),t.size!=e.size&&!d)return!1;var p=c.get(t);if(p)return p==e;o|=i,c.set(t,e);var y=At(f(t),f(e),n,s,o,c);return c.delete(t),y;case S:if(Et)return Et.call(t)==Et.call(e)}return!1}(t,e,m,r,n,s,o);if(!(s&a)){var R=x&&et.call(t,"__wrapped__"),_=C&&et.call(e,"__wrapped__");if(R||_){var T=R?t.value():t,O=_?e.value():e;return o||(o=new Ct),r(T,O,n,s,o)}}return!!B&&(o||(o=new Ct),function(t,e,r,n,i,s){var o=i&a,c=ee(t),f=c.length;if(f!=ee(e).length&&!o)return!1;for(var u=f;u--;){var l=c[u];if(!(o?l in e:et.call(e,l)))return!1}var h=s.get(t);if(h&&s.get(e))return h==e;var d=!0;s.set(t,e),s.set(e,t);for(var p=o;++u<f;){var b=t[l=c[u]],g=e[l];if(n)var y=o?n(g,b,l,e,t,s):n(b,g,l,t,e,s);if(!(void 0===y?b===g||r(b,g,n,i,s):y)){d=!1;break}p||(p="constructor"==l)}if(d&&!p){var m=t.constructor,w=e.constructor;m==w||!("constructor"in t)||!("constructor"in e)||"function"==typeof m&&m instanceof m&&"function"==typeof w&&w instanceof w||(d=!1)}return s.delete(t),s.delete(e),d}(t,e,r,n,s,o))}(t,e,Tt,r,n,s))}function Ot(t){return Gt(t)?t:Wt(t)}function At(t,e,r,n,s,o){var c=s&a,f=t.length,u=e.length;if(f!=u&&!(c&&u>f))return!1;var l=o.get(t);if(l&&o.get(e))return l==e;var h=-1,d=!0,p=s&i?new xt:void 0;for(o.set(t,e),o.set(e,t);++h<f;){var b=t[h],g=e[h];if(n)var y=c?n(g,b,h,e,t,o):n(b,g,h,t,e,o);if(void 0!==y){if(y)continue;d=!1;break}if(p){if(!N(e,(function(t,e){if(!p.has(e)&&(b===t||r(b,t,n,s,o)))return p.add(e)}))){d=!1;break}}else if(b!==g&&!r(b,g,n,s,o)){d=!1;break}}return o.delete(t),o.delete(e),d}function jt(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Pt(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!qt(t)||function(t){return!!$&&$ in t}(t))&&(Xt(t)||U(t)?nt:T).test(Ut(t))}(r)?r:void 0}var zt=function(t){return rt.call(t)};function Dt(t,e){return!!(e=null==e?o:e)&&("number"==typeof t||O.test(t))&&t>-1&&t%1==0&&t<e}function Mt(t,e){if(Gt(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!$t(t))||C.test(t)||!x.test(t)||null!=e&&t in Object(e)}function Zt(t){return t==t&&!qt(t)}function Yt(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}}(ft&&zt(new ft(new ArrayBuffer(1)))!=L||ut&&zt(new ut)!=b||lt&&zt(lt.resolve())!=m||ht&&zt(new ht)!=v||dt&&zt(new dt)!=k)&&(zt=function(t){var e=rt.call(t),r=e==y?t.constructor:void 0,n=r?Ut(r):void 0;if(n)switch(n){case bt:return L;case gt:return b;case yt:return m;case mt:return v;case wt:return k}return e});var Wt=Ft((function(t){var e;t=null==(e=t)?"":function(t){if("string"==typeof t)return t;if($t(t))return St?St.call(t):"";var e=t+"";return"0"==e&&1/t==-s?"-0":e}(e);var r=[];return B.test(t)&&r.push(""),t.replace(R,(function(t,e,n,i){r.push(n?i.replace(_,"$1"):e||t)})),r}));function Nt(t){if("string"==typeof t||$t(t))return t;var e=t+"";return"0"==e&&1/t==-s?"-0":e}function Ut(t){if(null!=t){try{return tt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Ft(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s),s};return r.cache=new(Ft.Cache||Lt),r}function Qt(t,e){return t===e||t!=t&&e!=e}function Ht(t){return function(t){return Vt(t)&&Jt(t)}(t)&&et.call(t,"callee")&&(!st.call(t,"callee")||rt.call(t)==c)}Ft.Cache=Lt;var Gt=Array.isArray;function Jt(t){return null!=t&&Kt(t.length)&&!Xt(t)}function Xt(t){var e=qt(t)?rt.call(t):"";return e==d||e==p}function Kt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=o}function qt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Vt(t){return!!t&&"object"==typeof t}function $t(t){return"symbol"==typeof t||Vt(t)&&rt.call(t)==S}var te=W?function(t){return function(e){return t(e)}}(W):function(t){return Vt(t)&&Kt(t.length)&&!!A[rt.call(t)]};function ee(t){return Jt(t)?function(t,e){var r=Gt(t)||Ht(t)?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],n=r.length,i=!!n;for(var a in t)!e&&!et.call(t,a)||i&&("length"==a||Dt(a,n))||r.push(a);return r}(t):function(t){if(r=(e=t)&&e.constructor,e!==("function"==typeof r&&r.prototype||q))return ct(t);var e,r,n=[];for(var i in Object(t))et.call(t,i)&&"constructor"!=i&&n.push(i);return n}(t)}function re(t){return t}t.exports=function(t,e){var r,n,s,o,c,f={};return e="function"==typeof(r=e)?r:null==r?re:"object"==typeof r?Gt(r)?function(t,e){return Mt(t)&&Zt(e)?Yt(Nt(t),e):function(r){var n=function(t,e,r){var n=null==t?void 0:Rt(t,e);return void 0===n?void 0:n}(r,t);return void 0===n&&n===e?function(t,e){return null!=t&&function(t,e,r){for(var n,i=-1,a=(e=Mt(e,t)?[e]:Ot(e)).length;++i<a;){var s=Nt(e[i]);if(!(n=null!=t&&r(t,s)))break;t=t[s]}return n||!!(a=t?t.length:0)&&Kt(a)&&Dt(s,a)&&(Gt(t)||Ht(t))}(t,e,_t)}(r,t):Tt(e,n,void 0,i|a)}}(r[0],r[1]):(s=function(t){for(var e=ee(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Zt(i)]}return e}(n=r),1==s.length&&s[0][2]?Yt(s[0][0],s[0][1]):function(t){return t===n||function(t,e,r,n){var s=r.length,o=s;if(null==t)return!o;for(t=Object(t);s--;){var c=r[s];if(c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++s<o;){var f=(c=r[s])[0],u=t[f],l=c[1];if(c[2]){if(void 0===u&&!(f in t))return!1}else{var h,d=new Ct;if(!(void 0===h?Tt(l,u,n,i|a,d):h))return!1}}return!0}(t,0,s)}):Mt(o=r)?(c=Nt(o),function(t){return null==t?void 0:t[c]}):function(t){return function(e){return Rt(e,t)}}(o),function(t,e){t&&function(t,e,r){for(var n=-1,i=Object(t),a=r(t),s=a.length;s--;){var o=a[++n];if(!1===e(i[o],o,i))break}}(t,e,ee)}(t,(function(t,r,n){f[r]=e(t,r,n)})),f}},107:(t,e,r)=>{t=r.nmd(t);var n="__lodash_hash_undefined__",i=1,a=2,s=1/0,o=9007199254740991,c="[object Arguments]",f="[object Array]",u="[object Boolean]",l="[object Date]",h="[object Error]",d="[object Function]",p="[object GeneratorFunction]",b="[object Map]",g="[object Number]",y="[object Object]",m="[object Promise]",w="[object RegExp]",v="[object Set]",E="[object String]",S="[object Symbol]",k="[object WeakMap]",I="[object ArrayBuffer]",L="[object DataView]",x=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,C=/^\w*$/,B=/^\./,R=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,_=/\\(\\)?/g,T=/^\[object .+?Constructor\]$/,O=/^(?:0|[1-9]\d*)$/,A={};A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A[c]=A[f]=A[I]=A[u]=A[L]=A[l]=A[h]=A[d]=A[b]=A[g]=A[y]=A[w]=A[v]=A[E]=A[k]=!1;var j="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,P="object"==typeof self&&self&&self.Object===Object&&self,z=j||P||Function("return this")(),D=e&&!e.nodeType&&e,M=D&&t&&!t.nodeType&&t,Z=M&&M.exports===D&&j.process,Y=function(){try{return Z&&Z.binding("util")}catch(t){}}(),W=Y&&Y.isTypedArray;function N(t,e,r,n){for(var i=-1,a=t?t.length:0;++i<a;){var s=t[i];e(n,s,r(s),t)}return n}function U(t,e){for(var r=-1,n=t?t.length:0;++r<n;)if(e(t[r],r,t))return!0;return!1}function F(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function Q(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function H(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var G,J,X,K=Array.prototype,q=Function.prototype,V=Object.prototype,$=z["__core-js_shared__"],tt=(G=/[^.]+$/.exec($&&$.keys&&$.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"",et=q.toString,rt=V.hasOwnProperty,nt=V.toString,it=RegExp("^"+et.call(rt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),at=z.Symbol,st=z.Uint8Array,ot=V.propertyIsEnumerable,ct=K.splice,ft=(J=Object.keys,X=Object,function(t){return J(X(t))}),ut=Yt(z,"DataView"),lt=Yt(z,"Map"),ht=Yt(z,"Promise"),dt=Yt(z,"Set"),pt=Yt(z,"WeakMap"),bt=Yt(Object,"create"),gt=Jt(ut),yt=Jt(lt),mt=Jt(ht),wt=Jt(dt),vt=Jt(pt),Et=at?at.prototype:void 0,St=Et?Et.valueOf:void 0,kt=Et?Et.toString:void 0;function It(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Lt(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function xt(t){var e=-1,r=t?t.length:0;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Ct(t){var e=-1,r=t?t.length:0;for(this.__data__=new xt;++e<r;)this.add(t[e])}function Bt(t){this.__data__=new Lt(t)}function Rt(t,e){for(var r=t.length;r--;)if($t(t[r][0],e))return r;return-1}function _t(t,e,r,n){return Ot(t,(function(t,i,a){e(n,t,r(t),a)})),n}It.prototype.clear=function(){this.__data__=bt?bt(null):{}},It.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},It.prototype.get=function(t){var e=this.__data__;if(bt){var r=e[t];return r===n?void 0:r}return rt.call(e,t)?e[t]:void 0},It.prototype.has=function(t){var e=this.__data__;return bt?void 0!==e[t]:rt.call(e,t)},It.prototype.set=function(t,e){return this.__data__[t]=bt&&void 0===e?n:e,this},Lt.prototype.clear=function(){this.__data__=[]},Lt.prototype.delete=function(t){var e=this.__data__,r=Rt(e,t);return!(r<0||(r==e.length-1?e.pop():ct.call(e,r,1),0))},Lt.prototype.get=function(t){var e=this.__data__,r=Rt(e,t);return r<0?void 0:e[r][1]},Lt.prototype.has=function(t){return Rt(this.__data__,t)>-1},Lt.prototype.set=function(t,e){var r=this.__data__,n=Rt(r,t);return n<0?r.push([t,e]):r[n][1]=e,this},xt.prototype.clear=function(){this.__data__={hash:new It,map:new(lt||Lt),string:new It}},xt.prototype.delete=function(t){return Zt(this,t).delete(t)},xt.prototype.get=function(t){return Zt(this,t).get(t)},xt.prototype.has=function(t){return Zt(this,t).has(t)},xt.prototype.set=function(t,e){return Zt(this,t).set(t,e),this},Ct.prototype.add=Ct.prototype.push=function(t){return this.__data__.set(t,n),this},Ct.prototype.has=function(t){return this.__data__.has(t)},Bt.prototype.clear=function(){this.__data__=new Lt},Bt.prototype.delete=function(t){return this.__data__.delete(t)},Bt.prototype.get=function(t){return this.__data__.get(t)},Bt.prototype.has=function(t){return this.__data__.has(t)},Bt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof Lt){var n=r.__data__;if(!lt||n.length<199)return n.push([t,e]),this;r=this.__data__=new xt(n)}return r.set(t,e),this};var Tt,Ot=(Tt=function(t,e){return t&&At(t,e,fe)},function(t,e){if(null==t)return t;if(!re(t))return Tt(t,e);for(var r=t.length,n=-1,i=Object(t);++n<r&&!1!==e(i[n],n,i););return t}),At=function(t,e,r){for(var n=-1,i=Object(t),a=r(t),s=a.length;s--;){var o=a[++n];if(!1===e(i[o],o,i))break}return t};function jt(t,e){for(var r=0,n=(e=Ut(e,t)?[e]:Dt(e)).length;null!=t&&r<n;)t=t[Gt(e[r++])];return r&&r==n?t:void 0}function Pt(t,e){return null!=t&&e in Object(t)}function zt(t,e,r,n,s){return t===e||(null==t||null==e||!ae(t)&&!se(e)?t!=t&&e!=e:function(t,e,r,n,s,o){var d=ee(t),p=ee(e),m=f,k=f;d||(m=(m=Wt(t))==c?y:m),p||(k=(k=Wt(e))==c?y:k);var x=m==y&&!F(t),C=k==y&&!F(e),B=m==k;if(B&&!x)return o||(o=new Bt),d||ce(t)?Mt(t,e,r,n,s,o):function(t,e,r,n,s,o,c){switch(r){case L:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case I:return!(t.byteLength!=e.byteLength||!n(new st(t),new st(e)));case u:case l:case g:return $t(+t,+e);case h:return t.name==e.name&&t.message==e.message;case w:case E:return t==e+"";case b:var f=Q;case v:var d=o&a;if(f||(f=H),t.size!=e.size&&!d)return!1;var p=c.get(t);if(p)return p==e;o|=i,c.set(t,e);var y=Mt(f(t),f(e),n,s,o,c);return c.delete(t),y;case S:if(St)return St.call(t)==St.call(e)}return!1}(t,e,m,r,n,s,o);if(!(s&a)){var R=x&&rt.call(t,"__wrapped__"),_=C&&rt.call(e,"__wrapped__");if(R||_){var T=R?t.value():t,O=_?e.value():e;return o||(o=new Bt),r(T,O,n,s,o)}}return!!B&&(o||(o=new Bt),function(t,e,r,n,i,s){var o=i&a,c=fe(t),f=c.length;if(f!=fe(e).length&&!o)return!1;for(var u=f;u--;){var l=c[u];if(!(o?l in e:rt.call(e,l)))return!1}var h=s.get(t);if(h&&s.get(e))return h==e;var d=!0;s.set(t,e),s.set(e,t);for(var p=o;++u<f;){var b=t[l=c[u]],g=e[l];if(n)var y=o?n(g,b,l,e,t,s):n(b,g,l,t,e,s);if(!(void 0===y?b===g||r(b,g,n,i,s):y)){d=!1;break}p||(p="constructor"==l)}if(d&&!p){var m=t.constructor,w=e.constructor;m==w||!("constructor"in t)||!("constructor"in e)||"function"==typeof m&&m instanceof m&&"function"==typeof w&&w instanceof w||(d=!1)}return s.delete(t),s.delete(e),d}(t,e,r,n,s,o))}(t,e,zt,r,n,s))}function Dt(t){return ee(t)?t:Ht(t)}function Mt(t,e,r,n,s,o){var c=s&a,f=t.length,u=e.length;if(f!=u&&!(c&&u>f))return!1;var l=o.get(t);if(l&&o.get(e))return l==e;var h=-1,d=!0,p=s&i?new Ct:void 0;for(o.set(t,e),o.set(e,t);++h<f;){var b=t[h],g=e[h];if(n)var y=c?n(g,b,h,e,t,o):n(b,g,h,t,e,o);if(void 0!==y){if(y)continue;d=!1;break}if(p){if(!U(e,(function(t,e){if(!p.has(e)&&(b===t||r(b,t,n,s,o)))return p.add(e)}))){d=!1;break}}else if(b!==g&&!r(b,g,n,s,o)){d=!1;break}}return o.delete(t),o.delete(e),d}function Zt(t,e){var r,n,i=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?i["string"==typeof e?"string":"hash"]:i.map}function Yt(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!ae(t)||function(t){return!!tt&&tt in t}(t))&&(ne(t)||F(t)?it:T).test(Jt(t))}(r)?r:void 0}var Wt=function(t){return nt.call(t)};function Nt(t,e){return!!(e=null==e?o:e)&&("number"==typeof t||O.test(t))&&t>-1&&t%1==0&&t<e}function Ut(t,e){if(ee(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!oe(t))||C.test(t)||!x.test(t)||null!=e&&t in Object(e)}function Ft(t){return t==t&&!ae(t)}function Qt(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}}(ut&&Wt(new ut(new ArrayBuffer(1)))!=L||lt&&Wt(new lt)!=b||ht&&Wt(ht.resolve())!=m||dt&&Wt(new dt)!=v||pt&&Wt(new pt)!=k)&&(Wt=function(t){var e=nt.call(t),r=e==y?t.constructor:void 0,n=r?Jt(r):void 0;if(n)switch(n){case gt:return L;case yt:return b;case mt:return m;case wt:return v;case vt:return k}return e});var Ht=Vt((function(t){var e;t=null==(e=t)?"":function(t){if("string"==typeof t)return t;if(oe(t))return kt?kt.call(t):"";var e=t+"";return"0"==e&&1/t==-s?"-0":e}(e);var r=[];return B.test(t)&&r.push(""),t.replace(R,(function(t,e,n,i){r.push(n?i.replace(_,"$1"):e||t)})),r}));function Gt(t){if("string"==typeof t||oe(t))return t;var e=t+"";return"0"==e&&1/t==-s?"-0":e}function Jt(t){if(null!=t){try{return et.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var Xt,Kt,qt=(Xt=function(t,e,r){t[r?0:1].push(e)},Kt=function(){return[[],[]]},function(t,e){var r,n,s,o,c,f=ee(t)?N:_t,u=Kt?[[],[]]:{};return f(t,Xt,"function"==typeof(r=e)?r:null==r?ue:"object"==typeof r?ee(r)?function(t,e){return Ut(t)&&Ft(e)?Qt(Gt(t),e):function(r){var n=function(t,e,r){var n=null==t?void 0:jt(t,e);return void 0===n?void 0:n}(r,t);return void 0===n&&n===e?function(t,e){return null!=t&&function(t,e,r){for(var n,i=-1,a=(e=Ut(e,t)?[e]:Dt(e)).length;++i<a;){var s=Gt(e[i]);if(!(n=null!=t&&r(t,s)))break;t=t[s]}return n||!!(a=t?t.length:0)&&ie(a)&&Nt(s,a)&&(ee(t)||te(t))}(t,e,Pt)}(r,t):zt(e,n,void 0,i|a)}}(r[0],r[1]):1==(s=function(t){for(var e=fe(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Ft(i)]}return e}(n=r)).length&&s[0][2]?Qt(s[0][0],s[0][1]):function(t){return t===n||function(t,e,r,n){var s=r.length,o=s;if(null==t)return!o;for(t=Object(t);s--;){var c=r[s];if(c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++s<o;){var f=(c=r[s])[0],u=t[f],l=c[1];if(c[2]){if(void 0===u&&!(f in t))return!1}else{var h,d=new Bt;if(!(void 0===h?zt(l,u,n,i|a,d):h))return!1}}return!0}(t,0,s)}:Ut(o=r)?(c=Gt(o),function(t){return null==t?void 0:t[c]}):function(t){return function(e){return jt(e,t)}}(o),u)});function Vt(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s),s};return r.cache=new(Vt.Cache||xt),r}function $t(t,e){return t===e||t!=t&&e!=e}function te(t){return function(t){return se(t)&&re(t)}(t)&&rt.call(t,"callee")&&(!ot.call(t,"callee")||nt.call(t)==c)}Vt.Cache=xt;var ee=Array.isArray;function re(t){return null!=t&&ie(t.length)&&!ne(t)}function ne(t){var e=ae(t)?nt.call(t):"";return e==d||e==p}function ie(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=o}function ae(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function se(t){return!!t&&"object"==typeof t}function oe(t){return"symbol"==typeof t||se(t)&&nt.call(t)==S}var ce=W?function(t){return function(e){return t(e)}}(W):function(t){return se(t)&&ie(t.length)&&!!A[nt.call(t)]};function fe(t){return re(t)?function(t,e){var r=ee(t)||te(t)?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],n=r.length,i=!!n;for(var a in t)!e&&!rt.call(t,a)||i&&("length"==a||Nt(a,n))||r.push(a);return r}(t):function(t){if(r=(e=t)&&e.constructor,e!==("function"==typeof r&&r.prototype||V))return ft(t);var e,r,n=[];for(var i in Object(t))rt.call(t,i)&&"constructor"!=i&&n.push(i);return n}(t)}function ue(t){return t}t.exports=qt},3545:t=>{var e=1/0,r=4294967295,n=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,o=parseInt,c=Object.prototype.toString,f=Math.min;function u(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function l(t){return t}t.exports=function(t,h){if((t=function(t){var r=function(t){return t?(t=function(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==c.call(t)}(t))return NaN;if(u(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=u(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(n,"");var r=a.test(t);return r||s.test(t)?o(t.slice(2),r?2:8):i.test(t)?NaN:+t}(t))===e||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}(t),f=r%1;return r==r?f?r-f:r:0}(t))<1||t>9007199254740991)return[];var d=r,p=f(t,r);t-=r;for(var b=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(p,h="function"==typeof h?h:l);++d<t;)h(d);return b}},9500:(t,e,r)=>{var n=r(87),i=r(6883),a=r(7172).Buffer,s=new Array(16);function o(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function c(t,e){return t<<e|t>>>32-e}function f(t,e,r,n,i,a,s){return c(t+(e&r|~e&n)+i+a|0,s)+e|0}function u(t,e,r,n,i,a,s){return c(t+(e&n|r&~n)+i+a|0,s)+e|0}function l(t,e,r,n,i,a,s){return c(t+(e^r^n)+i+a|0,s)+e|0}function h(t,e,r,n,i,a,s){return c(t+(r^(e|~n))+i+a|0,s)+e|0}n(o,i),o.prototype._update=function(){for(var t=s,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,a=this._d;r=f(r,n,i,a,t[0],3614090360,7),a=f(a,r,n,i,t[1],3905402710,12),i=f(i,a,r,n,t[2],606105819,17),n=f(n,i,a,r,t[3],3250441966,22),r=f(r,n,i,a,t[4],4118548399,7),a=f(a,r,n,i,t[5],1200080426,12),i=f(i,a,r,n,t[6],2821735955,17),n=f(n,i,a,r,t[7],4249261313,22),r=f(r,n,i,a,t[8],1770035416,7),a=f(a,r,n,i,t[9],2336552879,12),i=f(i,a,r,n,t[10],4294925233,17),n=f(n,i,a,r,t[11],2304563134,22),r=f(r,n,i,a,t[12],1804603682,7),a=f(a,r,n,i,t[13],4254626195,12),i=f(i,a,r,n,t[14],2792965006,17),r=u(r,n=f(n,i,a,r,t[15],1236535329,22),i,a,t[1],4129170786,5),a=u(a,r,n,i,t[6],3225465664,9),i=u(i,a,r,n,t[11],643717713,14),n=u(n,i,a,r,t[0],3921069994,20),r=u(r,n,i,a,t[5],3593408605,5),a=u(a,r,n,i,t[10],38016083,9),i=u(i,a,r,n,t[15],3634488961,14),n=u(n,i,a,r,t[4],3889429448,20),r=u(r,n,i,a,t[9],568446438,5),a=u(a,r,n,i,t[14],3275163606,9),i=u(i,a,r,n,t[3],4107603335,14),n=u(n,i,a,r,t[8],1163531501,20),r=u(r,n,i,a,t[13],2850285829,5),a=u(a,r,n,i,t[2],4243563512,9),i=u(i,a,r,n,t[7],1735328473,14),r=l(r,n=u(n,i,a,r,t[12],2368359562,20),i,a,t[5],4294588738,4),a=l(a,r,n,i,t[8],2272392833,11),i=l(i,a,r,n,t[11],1839030562,16),n=l(n,i,a,r,t[14],4259657740,23),r=l(r,n,i,a,t[1],2763975236,4),a=l(a,r,n,i,t[4],1272893353,11),i=l(i,a,r,n,t[7],4139469664,16),n=l(n,i,a,r,t[10],3200236656,23),r=l(r,n,i,a,t[13],681279174,4),a=l(a,r,n,i,t[0],3936430074,11),i=l(i,a,r,n,t[3],3572445317,16),n=l(n,i,a,r,t[6],76029189,23),r=l(r,n,i,a,t[9],3654602809,4),a=l(a,r,n,i,t[12],3873151461,11),i=l(i,a,r,n,t[15],530742520,16),r=h(r,n=l(n,i,a,r,t[2],3299628645,23),i,a,t[0],4096336452,6),a=h(a,r,n,i,t[7],1126891415,10),i=h(i,a,r,n,t[14],2878612391,15),n=h(n,i,a,r,t[5],4237533241,21),r=h(r,n,i,a,t[12],1700485571,6),a=h(a,r,n,i,t[3],2399980690,10),i=h(i,a,r,n,t[10],4293915773,15),n=h(n,i,a,r,t[1],2240044497,21),r=h(r,n,i,a,t[8],1873313359,6),a=h(a,r,n,i,t[15],4264355552,10),i=h(i,a,r,n,t[6],2734768916,15),n=h(n,i,a,r,t[13],1309151649,21),r=h(r,n,i,a,t[4],4149444226,6),a=h(a,r,n,i,t[11],3174756917,10),i=h(i,a,r,n,t[2],718787259,15),n=h(n,i,a,r,t[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+a|0},o.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 t=a.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=o},7859:t=>{function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)}},6938:t=>{var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,s,o,c;if("string"==typeof e&&(a="not ",e.substr(0,4)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))s="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var f=("number"!=typeof c&&(c=0),c+1>(o=t).length||-1===o.indexOf(".",c)?"argument":"property");s='The "'.concat(t,'" ').concat(f," ").concat(i," ").concat(n(e,"type"))}return s+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e},4439:(t,e,r)=>{var n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=f;var i=r(5327),a=r(4567);r(87)(f,i);for(var s=n(a.prototype),o=0;o<s.length;o++){var c=s[o];f.prototype[c]||(f.prototype[c]=a.prototype[c])}function f(t){if(!(this instanceof f))return new f(t);i.call(this,t),a.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",u)))}function u(){this._writableState.ended||process.nextTick(l,this)}function l(t){t.end()}Object.defineProperty(f.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(f.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(f.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(f.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}})},3754:(t,e,r)=>{t.exports=i;var n=r(2175);function i(t){if(!(this instanceof i))return new i(t);n.call(this,t)}r(87)(i,n),i.prototype._transform=function(t,e,r){r(null,t)}},5327:(t,e,r)=>{var n;t.exports=I,I.ReadableState=k,r(343).EventEmitter;var i,a=function(t,e){return t.listeners(e).length},s=r(6052),o=r(816).Buffer,c=(void 0!==r.g?r.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},f=r(1632);i=f&&f.debuglog?f.debuglog("stream"):function(){};var u,l,h,d=r(7712),p=r(7640),b=r(5985).getHighWaterMark,g=r(6938).q,y=g.ERR_INVALID_ARG_TYPE,m=g.ERR_STREAM_PUSH_AFTER_EOF,w=g.ERR_METHOD_NOT_IMPLEMENTED,v=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(87)(I,s);var E=p.errorOrDestroy,S=["error","close","destroy","pause","resume"];function k(t,e,i){n=n||r(4439),t=t||{},"boolean"!=typeof i&&(i=e instanceof n),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=b(this,t,"readableHighWaterMark",i),this.buffer=new d,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=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(u||(u=r(4361).s),this.decoder=new u(t.encoding),this.encoding=t.encoding)}function I(t){if(n=n||r(4439),!(this instanceof I))return new I(t);var e=this instanceof n;this._readableState=new k(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),s.call(this)}function L(t,e,r,n,a){i("readableAddChunk",e);var s,f=t._readableState;if(null===e)f.reading=!1,function(t,e){if(i("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?R(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,_(t)))}}(t,f);else if(a||(s=function(t,e){var r,n;return n=e,o.isBuffer(n)||n instanceof c||"string"==typeof e||void 0===e||t.objectMode||(r=new y("chunk",["string","Buffer","Uint8Array"],e)),r}(f,e)),s)E(t,s);else if(f.objectMode||e&&e.length>0)if("string"==typeof e||f.objectMode||Object.getPrototypeOf(e)===o.prototype||(e=function(t){return o.from(t)}(e)),n)f.endEmitted?E(t,new v):x(t,f,e,!0);else if(f.ended)E(t,new m);else{if(f.destroyed)return!1;f.reading=!1,f.decoder&&!r?(e=f.decoder.write(e),f.objectMode||0!==e.length?x(t,f,e,!1):T(t,f)):x(t,f,e,!1)}else n||(f.reading=!1,T(t,f));return!f.ended&&(f.length<f.highWaterMark||0===f.length)}function x(t,e,r,n){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&R(t)),T(t,e)}Object.defineProperty(I.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),I.prototype.destroy=p.destroy,I.prototype._undestroy=p.undestroy,I.prototype._destroy=function(t,e){e(t)},I.prototype.push=function(t,e){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof t&&((e=e||n.defaultEncoding)!==n.encoding&&(t=o.from(t,e),e=""),r=!0),L(this,t,e,!1,r)},I.prototype.unshift=function(t){return L(this,t,null,!0,!1)},I.prototype.isPaused=function(){return!1===this._readableState.flowing},I.prototype.setEncoding=function(t){u||(u=r(4361).s);var e=new u(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,i="";null!==n;)i+=e.write(n.data),n=n.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var C=1073741824;function B(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=C?t=C:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function R(t){var e=t._readableState;i("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(i("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(_,t))}function _(t){var e=t._readableState;i("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,z(t)}function T(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(O,t,e))}function O(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var r=e.length;if(i("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}function A(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function j(t){i("readable nexttick read 0"),t.read(0)}function P(t,e){i("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),z(t),e.flowing&&!e.reading&&t.read(0)}function z(t){var e=t._readableState;for(i("flow",e.flowing);e.flowing&&null!==t.read(););}function D(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function M(t){var e=t._readableState;i("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(Z,e,t))}function Z(t,e){if(i("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function Y(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}I.prototype.read=function(t){i("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return i("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?M(this):R(this),null;if(0===(t=B(t,e))&&e.ended)return 0===e.length&&M(this),null;var n,a=e.needReadable;return i("need readable",a),(0===e.length||e.length-t<e.highWaterMark)&&i("length less than watermark",a=!0),e.ended||e.reading?i("reading or ended",a=!1):a&&(i("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=B(r,e))),null===(n=t>0?D(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&M(this)),null!==n&&this.emit("data",n),n},I.prototype._read=function(t){E(this,new w("_read()"))},I.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,i("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===process.stdout||t===process.stderr?p:o;function o(){i("onend"),t.end()}n.endEmitted?process.nextTick(s):r.once("end",s),t.on("unpipe",(function e(a,s){i("onunpipe"),a===r&&s&&!1===s.hasUnpiped&&(s.hasUnpiped=!0,i("cleanup"),t.removeListener("close",h),t.removeListener("finish",d),t.removeListener("drain",c),t.removeListener("error",l),t.removeListener("unpipe",e),r.removeListener("end",o),r.removeListener("end",p),r.removeListener("data",u),f=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}));var c=function(t){return function(){var e=t._readableState;i("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&a(t,"data")&&(e.flowing=!0,z(t))}}(r);t.on("drain",c);var f=!1;function u(e){i("ondata");var a=t.write(e);i("dest.write",a),!1===a&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==Y(n.pipes,t))&&!f&&(i("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function l(e){i("onerror",e),p(),t.removeListener("error",l),0===a(t,"error")&&E(t,e)}function h(){t.removeListener("finish",d),p()}function d(){i("onfinish"),t.removeListener("close",h),p()}function p(){i("unpipe"),r.unpipe(t)}return r.on("data",u),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",l),t.once("close",h),t.once("finish",d),t.emit("pipe",r),n.flowing||(i("pipe resume"),r.resume()),t},I.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a<i;a++)n[a].emit("unpipe",this,{hasUnpiped:!1});return this}var s=Y(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},I.prototype.on=function(t,e){var r=s.prototype.on.call(this,t,e),n=this._readableState;return"data"===t?(n.readableListening=this.listenerCount("readable")>0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,i("on readable",n.length,n.reading),n.length?R(this):n.reading||process.nextTick(j,this))),r},I.prototype.addListener=I.prototype.on,I.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&process.nextTick(A,this),r},I.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||process.nextTick(A,this),e},I.prototype.resume=function(){var t=this._readableState;return t.flowing||(i("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(P,t,e))}(this,t)),t.paused=!1,this},I.prototype.pause=function(){return i("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(i("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},I.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var a in t.on("end",(function(){if(i("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(a){i("wrapped data"),r.decoder&&(a=r.decoder.write(a)),r.objectMode&&null==a||(r.objectMode||a&&a.length)&&(e.push(a)||(n=!0,t.pause()))})),t)void 0===this[a]&&"function"==typeof t[a]&&(this[a]=function(e){return function(){return t[e].apply(t,arguments)}}(a));for(var s=0;s<S.length;s++)t.on(S[s],this.emit.bind(this,S[s]));return this._read=function(e){i("wrapped _read",e),n&&(n=!1,t.resume())},this},"function"==typeof Symbol&&(I.prototype[Symbol.asyncIterator]=function(){return void 0===l&&(l=r(4157)),l(this)}),Object.defineProperty(I.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(I.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(I.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),I._fromList=D,Object.defineProperty(I.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(I.from=function(t,e){return void 0===h&&(h=r(5800)),h(I,t,e)})},2175:(t,e,r)=>{t.exports=u;var n=r(6938).q,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,s=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=n.ERR_TRANSFORM_WITH_LENGTH_0,c=r(4439);function f(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new a);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function u(t){if(!(this instanceof u))return new u(t);c.call(this,t),this._transformState={afterTransform:f.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",l)}function l(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?h(this,null,null):this._flush((function(e,r){h(t,e,r)}))}function h(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new o;if(t._transformState.transforming)throw new s;return t.push(null)}r(87)(u,c),u.prototype.push=function(t,e){return this._transformState.needTransform=!1,c.prototype.push.call(this,t,e)},u.prototype._transform=function(t,e,r){r(new i("_transform()"))},u.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},u.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},u.prototype._destroy=function(t,e){c.prototype._destroy.call(this,t,(function(t){e(t)}))}},4567:(t,e,r)=>{function n(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var n=t.entry;for(t.entry=null;n;){var i=n.callback;e.pendingcb--,i(undefined),n=n.next}e.corkedRequestsFree.next=t}(e,t)}}var i;t.exports=I,I.WritableState=k;var a,s={deprecate:r(7451)},o=r(6052),c=r(816).Buffer,f=(void 0!==r.g?r.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},u=r(7640),l=r(5985).getHighWaterMark,h=r(6938).q,d=h.ERR_INVALID_ARG_TYPE,p=h.ERR_METHOD_NOT_IMPLEMENTED,b=h.ERR_MULTIPLE_CALLBACK,g=h.ERR_STREAM_CANNOT_PIPE,y=h.ERR_STREAM_DESTROYED,m=h.ERR_STREAM_NULL_VALUES,w=h.ERR_STREAM_WRITE_AFTER_END,v=h.ERR_UNKNOWN_ENCODING,E=u.errorOrDestroy;function S(){}function k(t,e,a){i=i||r(4439),t=t||{},"boolean"!=typeof a&&(a=e instanceof i),this.objectMode=!!t.objectMode,a&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=l(this,t,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===t.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if("function"!=typeof i)throw new b;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,i){--e.pendingcb,r?(process.nextTick(i,n),process.nextTick(_,t,e),t._writableState.errorEmitted=!0,E(t,n)):(i(n),t._writableState.errorEmitted=!0,E(t,n),_(t,e))}(t,r,n,e,i);else{var a=B(r)||t.destroyed;a||r.corked||r.bufferProcessing||!r.bufferedRequest||C(t,r),n?process.nextTick(x,t,r,a,i):x(t,r,a,i)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function I(t){var e=this instanceof(i=i||r(4439));if(!e&&!a.call(I,this))return new I(t);this._writableState=new k(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),o.call(this)}function L(t,e,r,n,i,a,s){e.writelen=n,e.writecb=s,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new y("write")):r?t._writev(i,e.onwrite):t._write(i,a,e.onwrite),e.sync=!1}function x(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),_(t,e)}function C(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var i=e.bufferedRequestCount,a=new Array(i),s=e.corkedRequestsFree;s.entry=r;for(var o=0,c=!0;r;)a[o]=r,r.isBuf||(c=!1),r=r.next,o+=1;a.allBuffers=c,L(t,e,!0,e.length,a,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new n(e),e.bufferedRequestCount=0}else{for(;r;){var f=r.chunk,u=r.encoding,l=r.callback;if(L(t,e,!1,e.objectMode?1:f.length,f,u,l),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function B(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function R(t,e){t._final((function(r){e.pendingcb--,r&&E(t,r),e.prefinished=!0,t.emit("prefinish"),_(t,e)}))}function _(t,e){var r=B(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,process.nextTick(R,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var n=t._readableState;(!n||n.autoDestroy&&n.endEmitted)&&t.destroy()}return r}r(87)(I,o),k.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(k.prototype,"buffer",{get:s.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(a=Function.prototype[Symbol.hasInstance],Object.defineProperty(I,Symbol.hasInstance,{value:function(t){return!!a.call(this,t)||this===I&&t&&t._writableState instanceof k}})):a=function(t){return t instanceof this},I.prototype.pipe=function(){E(this,new g)},I.prototype.write=function(t,e,r){var n,i=this._writableState,a=!1,s=!i.objectMode&&(n=t,c.isBuffer(n)||n instanceof f);return s&&!c.isBuffer(t)&&(t=function(t){return c.from(t)}(t)),"function"==typeof e&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof r&&(r=S),i.ending?function(t,e){var r=new w;E(t,r),process.nextTick(e,r)}(this,r):(s||function(t,e,r,n){var i;return null===r?i=new m:"string"==typeof r||e.objectMode||(i=new d("chunk",["string","Buffer"],r)),!i||(E(t,i),process.nextTick(n,i),!1)}(this,i,t,r))&&(i.pendingcb++,a=function(t,e,r,n,i,a){if(!r){var s=function(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=c.from(e,r)),e}(e,n,i);n!==s&&(r=!0,i="buffer",n=s)}var o=e.objectMode?1:n.length;e.length+=o;var f=e.length<e.highWaterMark;if(f||(e.needDrain=!0),e.writing||e.corked){var u=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},u?u.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else L(t,e,!1,o,n,i,a);return f}(this,i,s,t,e,r)),a},I.prototype.cork=function(){this._writableState.corked++},I.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||C(this,t))},I.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new v(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(I.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(I.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),I.prototype._write=function(t,e,r){r(new p("_write()"))},I.prototype._writev=null,I.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,_(t,e),r&&(e.finished?process.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(I.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(I.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),I.prototype.destroy=u.destroy,I.prototype._undestroy=u.undestroy,I.prototype._destroy=function(t,e){e(t)}},4157:(t,e,r)=>{var n;function i(t,e,r){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var a=r(5027),s=Symbol("lastResolve"),o=Symbol("lastReject"),c=Symbol("error"),f=Symbol("ended"),u=Symbol("lastPromise"),l=Symbol("handlePromise"),h=Symbol("stream");function d(t,e){return{value:t,done:e}}function p(t){var e=t[s];if(null!==e){var r=t[h].read();null!==r&&(t[u]=null,t[s]=null,t[o]=null,e(d(r,!1)))}}function b(t){process.nextTick(p,t)}var g=Object.getPrototypeOf((function(){})),y=Object.setPrototypeOf((i(n={get stream(){return this[h]},next:function(){var t=this,e=this[c];if(null!==e)return Promise.reject(e);if(this[f])return Promise.resolve(d(void 0,!0));if(this[h].destroyed)return new Promise((function(e,r){process.nextTick((function(){t[c]?r(t[c]):e(d(void 0,!0))}))}));var r,n=this[u];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[f]?r(d(void 0,!0)):e[l](r,n)}),n)}}(n,this));else{var i=this[h].read();if(null!==i)return Promise.resolve(d(i,!1));r=new Promise(this[l])}return this[u]=r,r}},Symbol.asyncIterator,(function(){return this})),i(n,"return",(function(){var t=this;return new Promise((function(e,r){t[h].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),g);t.exports=function(t){var e,r=Object.create(y,(i(e={},h,{value:t,writable:!0}),i(e,s,{value:null,writable:!0}),i(e,o,{value:null,writable:!0}),i(e,c,{value:null,writable:!0}),i(e,f,{value:t._readableState.endEmitted,writable:!0}),i(e,l,{value:function(t,e){var n=r[h].read();n?(r[u]=null,r[s]=null,r[o]=null,t(d(n,!1))):(r[s]=t,r[o]=e)},writable:!0}),e));return r[u]=null,a(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[o];return null!==e&&(r[u]=null,r[s]=null,r[o]=null,e(t)),void(r[c]=t)}var n=r[s];null!==n&&(r[u]=null,r[s]=null,r[o]=null,n(d(void 0,!0))),r[f]=!0})),t.on("readable",b.bind(null,r)),r}},7712:(t,e,r)=>{function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?n(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function a(t,e,r){return(e=o(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,o(n.key),n)}}function o(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:String(e)}var c=r(816).Buffer,f=r(471).inspect,u=f&&f.custom||"inspect";t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e,r;return e=t,(r=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?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(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return c.alloc(0);for(var e,r,n,i=c.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,c.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return t<this.head.data.length?(r=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):r=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,r=1,n=e.data;for(t-=n.length;e=e.next;){var i=e.data,a=t>i.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=c.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:u,value:function(t,e){return f(this,i(i({},e),{},{depth:0,customInspect:!1}))}}])&&s(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),t}()},7640:t=>{function e(t,e){n(t,e),r(t)}function r(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function n(t,e){t.emit("error",e)}t.exports={destroy:function(t,i){var a=this,s=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return s||o?(i?i(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(n,this,t)):process.nextTick(n,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!i&&t?a._writableState?a._writableState.errorEmitted?process.nextTick(r,a):(a._writableState.errorEmitted=!0,process.nextTick(e,a,t)):process.nextTick(e,a,t):i?(process.nextTick(r,a),i(t)):process.nextTick(r,a)})),this)},undestroy:function(){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)},errorOrDestroy:function(t,e){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit("error",e)}}},5027:(t,e,r)=>{var n=r(6938).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,r,a){if("function"==typeof r)return t(e,null,r);r||(r={}),a=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];t.apply(this,n)}}}(a||i);var s=r.readable||!1!==r.readable&&e.readable,o=r.writable||!1!==r.writable&&e.writable,c=function(){e.writable||u()},f=e._writableState&&e._writableState.finished,u=function(){o=!1,f=!0,s||a.call(e)},l=e._readableState&&e._readableState.endEmitted,h=function(){s=!1,l=!0,o||a.call(e)},d=function(t){a.call(e,t)},p=function(){var t;return s&&!l?(e._readableState&&e._readableState.ended||(t=new n),a.call(e,t)):o&&!f?(e._writableState&&e._writableState.ended||(t=new n),a.call(e,t)):void 0},b=function(){e.req.on("finish",u)};return function(t){return t.setHeader&&"function"==typeof t.abort}(e)?(e.on("complete",u),e.on("abort",p),e.req?b():e.on("request",b)):o&&!e._writableState&&(e.on("end",c),e.on("close",c)),e.on("end",h),e.on("finish",u),!1!==r.error&&e.on("error",d),e.on("close",p),function(){e.removeListener("complete",u),e.removeListener("abort",p),e.removeListener("request",b),e.req&&e.req.removeListener("finish",u),e.removeListener("end",c),e.removeListener("close",c),e.removeListener("finish",u),e.removeListener("end",h),e.removeListener("error",d),e.removeListener("close",p)}}},5800:t=>{t.exports=function(){throw new Error("Readable.from is not available in the browser")}},410:(t,e,r)=>{var n,i=r(6938).q,a=i.ERR_MISSING_ARGS,s=i.ERR_STREAM_DESTROYED;function o(t){if(t)throw t}function c(t){t()}function f(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];var u,l=function(t){return t.length?"function"!=typeof t[t.length-1]?o:t.pop():o}(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new a("streams");var h=e.map((function(t,i){var a=i<e.length-1;return function(t,e,i,a){a=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(a);var o=!1;t.on("close",(function(){o=!0})),void 0===n&&(n=r(5027)),n(t,{readable:e,writable:i},(function(t){if(t)return a(t);o=!0,a()}));var c=!1;return function(e){if(!o&&!c)return c=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void a(e||new s("pipe"))}}(t,a,i>0,(function(t){u||(u=t),t&&h.forEach(c),a||(h.forEach(c),l(u))}))}));return e.reduce(f)}},5985:(t,e,r)=>{var n=r(6938).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},6052:(t,e,r)=>{t.exports=r(343).EventEmitter},8310:(t,e,r)=>{(e=t.exports=r(5327)).Stream=e,e.Readable=e,e.Writable=r(4567),e.Duplex=r(4439),e.Transform=r(2175),e.PassThrough=r(3754),e.finished=r(5027),e.pipeline=r(410)},7172:(t,e,r)=>{var n=r(816),i=n.Buffer;function a(t,e){for(var r in t)e[r]=t[r]}function s(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(a(n,e),e.Buffer=s),s.prototype=Object.create(i.prototype),a(i,s),s.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},s.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},3573:(t,e,r)=>{e.C4=void 0;var n,i=r(816),a=(n=r(350))&&n.__esModule?n:{default:n},s=function(t){var e=t.allowedSizes,r=t.defaultSize,n=t.padding;return function t(){var s=this,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r;if(!this||this.constructor!==t)return new t(o);if(e&&!e.includes(o))throw new Error("Unsupported hash length");var c=new a.default({capacity:o});return this.update=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"utf8";if(i.Buffer.isBuffer(t))return c.absorb(t),s;if("string"==typeof t)return s.update(i.Buffer.from(t,e));throw new TypeError("Not a string or buffer")},this.digest=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"binary",e="string"==typeof t?{format:t}:t,r=c.squeeze({buffer:e.buffer,padding:e.padding||n});return e.format&&"binary"!==e.format?r.toString(e.format):r},this.reset=function(){return c.reset(),s},this}},o=s({allowedSizes:[224,256,384,512],defaultSize:512,padding:1});e.C4=o;var c=s({allowedSizes:[224,256,384,512],defaultSize:512,padding:6});s({allowedSizes:[128,256],defaultSize:256,padding:31});var f=o;c.SHA3Hash=f},350:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n,i=r(816),a=(n=r(5037))&&n.__esModule?n:{default:n},s=function(t,e){for(var r=0;r<t.length;r+=8){var n=r/4;e[n]^=t[r+7]<<24|t[r+6]<<16|t[r+5]<<8|t[r+4],e[n+1]^=t[r+3]<<24|t[r+2]<<16|t[r+1]<<8|t[r]}return e},o=function(t,e){for(var r=0;r<e.length;r+=8){var n=r/4;e[r]=t[n+1],e[r+1]=t[n+1]>>>8,e[r+2]=t[n+1]>>>16,e[r+3]=t[n+1]>>>24,e[r+4]=t[n],e[r+5]=t[n]>>>8,e[r+6]=t[n]>>>16,e[r+7]=t[n]>>>24}return e};e.default=function(t){var e=this,r=t.capacity,n=t.padding,c=(0,a.default)(),f=r/8,u=200-r/4,l=0,h=new Uint32Array(50),d=i.Buffer.allocUnsafe(u);return this.absorb=function(t){for(var r=0;r<t.length;r++)d[l]=t[r],(l+=1)>=u&&(s(d,h),c(h),l=0);return e},this.squeeze=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e={buffer:t.buffer||i.Buffer.allocUnsafe(f),padding:t.padding||n,queue:i.Buffer.allocUnsafe(d.length),state:new Uint32Array(h.length)};d.copy(e.queue);for(var r=0;r<h.length;r++)e.state[r]=h[r];e.queue.fill(0,l),e.queue[l]|=e.padding,e.queue[u-1]|=128,s(e.queue,e.state);for(var a=0;a<e.buffer.length;a+=u)c(e.state),o(e.state,e.buffer.slice(a,a+u));return e.buffer},this.reset=function(){return d.fill(0),h.fill(0),l=0,e},this}},9940:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n,i=(n=r(2196))&&n.__esModule?n:{default:n};e.default=function(t){for(var e=t.A,r=t.C,n=0;n<25;n+=5){for(var a=0;a<5;a++)(0,i.default)(e,n+a)(r,a);for(var s=0;s<5;s++){var o=2*(n+s),c=(s+1)%5*2,f=(s+2)%5*2;e[o]^=~r[c]&r[f],e[o+1]^=~r[c+1]&r[f+1]}}}},2196:t=>{t.exports=function(t,e){return function(r,n){var i=2*n,a=2*e;r[i]=t[a],r[i+1]=t[a+1]}}},5037:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=o(r(9940)),i=o(r(1909)),a=o(r(6021)),s=o(r(4421));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(){var t=new Uint32Array(10),e=new Uint32Array(10),r=new Uint32Array(2);return function(o){for(var c=0;c<24;c++)(0,s.default)({A:o,C:t,D:e,W:r}),(0,a.default)({A:o,C:t,W:r}),(0,n.default)({A:o,C:t}),(0,i.default)({A:o,roundIndex:c});t.fill(0),e.fill(0),r.fill(0)}}},1909:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n,i=(n=r(3408))&&n.__esModule?n:{default:n};e.default=function(t){var e=t.A,r=2*t.roundIndex;e[0]^=i.default[r],e[1]^=i.default[r+1]}},3408:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var r=new Uint32Array([0,1,0,32898,2147483648,32906,2147483648,2147516416,0,32907,0,2147483649,2147483648,2147516545,2147483648,32777,0,138,0,136,0,2147516425,0,2147483658,0,2147516555,2147483648,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,0,32778,2147483648,2147483658,2147483648,2147516545,2147483648,32896,0,2147483649,2147483648,2147516424]);e.default=r},6021:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n=s(r(2773)),i=s(r(4728)),a=s(r(2196));function s(t){return t&&t.__esModule?t:{default:t}}e.default=function(t){var e=t.A,r=t.C,s=t.W;(0,a.default)(e,1)(s,0);for(var o=0,c=0,f=0,u=32,l=0;l<24;l++){var h=n.default[l],d=i.default[l];(0,a.default)(e,h)(r,0),o=s[0],c=s[1],u=32-d,s[f=d<32?0:1]=o<<d|c>>>u,s[(f+1)%2]=c<<d|o>>>u,(0,a.default)(s,0)(e,h),(0,a.default)(r,0)(s,0)}}},2773:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;e.default=[10,7,11,17,18,3,5,16,8,21,24,4,15,23,19,13,12,2,20,14,22,9,6,1]},4728:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;e.default=[1,3,6,10,15,21,28,36,45,55,2,14,27,41,56,8,25,43,62,18,39,61,20,44]},4421:(t,e,r)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n,i=(n=r(2196))&&n.__esModule?n:{default:n};e.default=function(t){for(var e=t.A,r=t.C,n=t.D,a=t.W,s=0,o=0,c=0;c<5;c++){var f=2*c,u=2*(c+5),l=2*(c+10),h=2*(c+15),d=2*(c+20);r[f]=e[f]^e[u]^e[l]^e[h]^e[d],r[f+1]=e[f+1]^e[u+1]^e[l+1]^e[h+1]^e[d+1]}for(var p=0;p<5;p++){(0,i.default)(r,(p+1)%5)(a,0),s=a[0],o=a[1],a[0]=s<<1|o>>>31,a[1]=o<<1|s>>>31,n[2*p]=r[(p+4)%5*2]^a[0],n[2*p+1]=r[(p+4)%5*2+1]^a[1];for(var b=0;b<25;b+=5)e[2*(b+p)]^=n[2*p],e[2*(b+p)+1]^=n[2*p+1]}}},3424:(t,e,r)=>{t.exports=i;var n=r(343).EventEmitter;function i(){n.call(this)}r(87)(i,n),i.Readable=r(5327),i.Writable=r(4567),i.Duplex=r(4439),i.Transform=r(2175),i.PassThrough=r(3754),i.finished=r(5027),i.pipeline=r(410),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(r.on("end",o),r.on("close",c));var s=!1;function o(){s||(s=!0,t.end())}function c(){s||(s=!0,"function"==typeof t.destroy&&t.destroy())}function f(t){if(u(),0===n.listenerCount(this,"error"))throw t}function u(){r.removeListener("data",i),t.removeListener("drain",a),r.removeListener("end",o),r.removeListener("close",c),r.removeListener("error",f),t.removeListener("error",f),r.removeListener("end",u),r.removeListener("close",u),t.removeListener("close",u)}return r.on("error",f),t.on("error",f),r.on("end",u),r.on("close",u),t.on("close",u),t.emit("pipe",r),t}},4361:(t,e,r)=>{var n=r(7172).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.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 a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){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 t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=c,this.end=f,e=4;break;case"utf8":this.fillLast=o,e=4;break;case"base64":this.text=u,this.end=l,e=3;break;default:return this.write=h,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function o(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function f(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function u(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.s=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},a.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},a.prototype.text=function(t,e){var r=function(t,e,r){var n=e.length-1;if(n<r)return 0;var i=s(e[n]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--n<r||-2===i?0:(i=s(e[n]))>=0?(i>0&&(t.lastNeed=i-2),i):--n<r||-2===i?0:(i=s(e[n]))>=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},3118:(t,e)=>{e.VB=function(){return!1}},7451:(t,e,r)=>{function n(t){try{if(!r.g.localStorage)return!1}catch(t){return!1}var e=r.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(n("noDeprecation"))return t;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}},233:()=>{},6534:()=>{},1856:()=>{},6014:()=>{},717:()=>{},6963:()=>{},9190:()=>{},3240:()=>{},6721:()=>{},394:()=>{},471:()=>{},1632:()=>{},8517:()=>{},4636:t=>{t.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={id:n,loaded:!1,exports:{}};return t[n](a,a.exports,r),a.loaded=!0,a.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var n={};(()=>{function t(t){let e=t.length;for(;--e>=0;)t[e]=0}r.d(n,{mR:()=>Rs,bG:()=>ns,xz:()=>Sn,EB:()=>gs,cC:()=>es,C3:()=>Fa,QT:()=>ps,ug:()=>Vi,CH:()=>Ua,xq:()=>Na,vp:()=>ca,xr:()=>oa,Ag:()=>Ga,W_:()=>Ra,g2:()=>Wa,Y8:()=>Ha,gB:()=>Os,vX:()=>zs,Bi:()=>rs,jF:()=>In,Wi:()=>bs,Fr:()=>_r,E7:()=>Hs,ah:()=>Us,N0:()=>Qs,rL:()=>Fs,$h:()=>wa,pP:()=>ja,E9:()=>Ar,_q:()=>ta,lW:()=>js,a5:()=>Za,GR:()=>is,x6:()=>Ps,of:()=>ts,E$:()=>Ts,Tx:()=>Ba,qd:()=>za,f1:()=>La,EY:()=>Oa,bH:()=>_a,qx:()=>Ja,ig:()=>as,_$:()=>Cs,g$:()=>li,sn:()=>Js,es:()=>fa,ir:()=>os,G0:()=>ss,o2:()=>Ds,nW:()=>cs,qe:()=>Gs,IQ:()=>Ms,JA:()=>Zs,FV:()=>Ys,iL:()=>Ws,dH:()=>fs,Jz:()=>Ls,_v:()=>ea,qW:()=>Xs});const e=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),i=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),a=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),s=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),o=new Array(576);t(o);const c=new Array(60);t(c);const f=new Array(512);t(f);const u=new Array(256);t(u);const l=new Array(29);t(l);const h=new Array(30);function d(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}let p,b,g;function y(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}t(h);const m=t=>t<256?f[t]:f[256+(t>>>7)],w=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},v=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,w(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)},E=(t,e,r)=>{v(t,r[2*e],r[2*e+1])},S=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},k=(t,e,r)=>{const n=new Array(16);let i,a,s=0;for(i=1;i<=15;i++)s=s+r[i-1]<<1,n[i]=s;for(a=0;a<=e;a++){let e=t[2*a+1];0!==e&&(t[2*a]=S(n[e]++,e))}},I=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},L=t=>{t.bi_valid>8?w(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},x=(t,e,r,n)=>{const i=2*e,a=2*r;return t[i]<t[a]||t[i]===t[a]&&n[e]<=n[r]},C=(t,e,r)=>{const n=t.heap[r];let i=r<<1;for(;i<=t.heap_len&&(i<t.heap_len&&x(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!x(e,n,t.heap[i],t.depth));)t.heap[r]=t.heap[i],r=i,i<<=1;t.heap[r]=n},B=(t,r,n)=>{let a,s,o,c,f=0;if(0!==t.sym_next)do{a=255&t.pending_buf[t.sym_buf+f++],a+=(255&t.pending_buf[t.sym_buf+f++])<<8,s=t.pending_buf[t.sym_buf+f++],0===a?E(t,s,r):(o=u[s],E(t,o+256+1,r),c=e[o],0!==c&&(s-=l[o],v(t,s,c)),a--,o=m(a),E(t,o,n),c=i[o],0!==c&&(a-=h[o],v(t,a,c)))}while(f<t.sym_next);E(t,256,r)},R=(t,e)=>{const r=e.dyn_tree,n=e.stat_desc.static_tree,i=e.stat_desc.has_stree,a=e.stat_desc.elems;let s,o,c,f=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<a;s++)0!==r[2*s]?(t.heap[++t.heap_len]=f=s,t.depth[s]=0):r[2*s+1]=0;for(;t.heap_len<2;)c=t.heap[++t.heap_len]=f<2?++f:0,r[2*c]=1,t.depth[c]=0,t.opt_len--,i&&(t.static_len-=n[2*c+1]);for(e.max_code=f,s=t.heap_len>>1;s>=1;s--)C(t,r,s);c=a;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],C(t,r,1),o=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=o,r[2*c]=r[2*s]+r[2*o],t.depth[c]=(t.depth[s]>=t.depth[o]?t.depth[s]:t.depth[o])+1,r[2*s+1]=r[2*o+1]=c,t.heap[1]=c++,C(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,n=e.max_code,i=e.stat_desc.static_tree,a=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,c=e.stat_desc.max_length;let f,u,l,h,d,p,b=0;for(h=0;h<=15;h++)t.bl_count[h]=0;for(r[2*t.heap[t.heap_max]+1]=0,f=t.heap_max+1;f<573;f++)u=t.heap[f],h=r[2*r[2*u+1]+1]+1,h>c&&(h=c,b++),r[2*u+1]=h,u>n||(t.bl_count[h]++,d=0,u>=o&&(d=s[u-o]),p=r[2*u],t.opt_len+=p*(h+d),a&&(t.static_len+=p*(i[2*u+1]+d)));if(0!==b){do{for(h=c-1;0===t.bl_count[h];)h--;t.bl_count[h]--,t.bl_count[h+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(h=c;0!==h;h--)for(u=t.bl_count[h];0!==u;)l=t.heap[--f],l>n||(r[2*l+1]!==h&&(t.opt_len+=(h-r[2*l+1])*r[2*l],r[2*l+1]=h),u--)}})(t,e),k(r,f,t.bl_count)},_=(t,e,r)=>{let n,i,a=-1,s=e[1],o=0,c=7,f=4;for(0===s&&(c=138,f=3),e[2*(r+1)+1]=65535,n=0;n<=r;n++)i=s,s=e[2*(n+1)+1],++o<c&&i===s||(o<f?t.bl_tree[2*i]+=o:0!==i?(i!==a&&t.bl_tree[2*i]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,a=i,0===s?(c=138,f=3):i===s?(c=6,f=3):(c=7,f=4))},T=(t,e,r)=>{let n,i,a=-1,s=e[1],o=0,c=7,f=4;for(0===s&&(c=138,f=3),n=0;n<=r;n++)if(i=s,s=e[2*(n+1)+1],!(++o<c&&i===s)){if(o<f)do{E(t,i,t.bl_tree)}while(0!=--o);else 0!==i?(i!==a&&(E(t,i,t.bl_tree),o--),E(t,16,t.bl_tree),v(t,o-3,2)):o<=10?(E(t,17,t.bl_tree),v(t,o-3,3)):(E(t,18,t.bl_tree),v(t,o-11,7));o=0,a=i,0===s?(c=138,f=3):i===s?(c=6,f=3):(c=7,f=4)}};let O=!1;const A=(t,e,r,n)=>{v(t,0+(n?1:0),3),L(t),w(t,r),w(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var j={_tr_init:t=>{O||((()=>{let t,r,n,s,y;const m=new Array(16);for(n=0,s=0;s<28;s++)for(l[s]=n,t=0;t<1<<e[s];t++)u[n++]=s;for(u[n-1]=s,y=0,s=0;s<16;s++)for(h[s]=y,t=0;t<1<<i[s];t++)f[y++]=s;for(y>>=7;s<30;s++)for(h[s]=y<<7,t=0;t<1<<i[s]-7;t++)f[256+y++]=s;for(r=0;r<=15;r++)m[r]=0;for(t=0;t<=143;)o[2*t+1]=8,t++,m[8]++;for(;t<=255;)o[2*t+1]=9,t++,m[9]++;for(;t<=279;)o[2*t+1]=7,t++,m[7]++;for(;t<=287;)o[2*t+1]=8,t++,m[8]++;for(k(o,287,m),t=0;t<30;t++)c[2*t+1]=5,c[2*t]=S(t,5);p=new d(o,e,257,286,15),b=new d(c,i,0,30,15),g=new d(new Array(0),a,0,19,7)})(),O=!0),t.l_desc=new y(t.dyn_ltree,p),t.d_desc=new y(t.dyn_dtree,b),t.bl_desc=new y(t.bl_tree,g),t.bi_buf=0,t.bi_valid=0,I(t)},_tr_stored_block:A,_tr_flush_block:(t,e,r,n)=>{let i,a,f=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),R(t,t.l_desc),R(t,t.d_desc),f=(t=>{let e;for(_(t,t.dyn_ltree,t.l_desc.max_code),_(t,t.dyn_dtree,t.d_desc.max_code),R(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*s[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),i=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=i&&(i=a)):i=a=r+5,r+4<=i&&-1!==e?A(t,e,r,n):4===t.strategy||a===i?(v(t,2+(n?1:0),3),B(t,o,c)):(v(t,4+(n?1:0),3),((t,e,r,n)=>{let i;for(v(t,e-257,5),v(t,r-1,5),v(t,n-4,4),i=0;i<n;i++)v(t,t.bl_tree[2*s[i]+1],3);T(t,t.dyn_ltree,e-1),T(t,t.dyn_dtree,r-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,f+1),B(t,t.dyn_ltree,t.dyn_dtree)),I(t),n&&L(t)},_tr_tally:(t,e,r)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(u[r]+256+1)]++,t.dyn_dtree[2*m(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{v(t,2,3),E(t,256,o),(t=>{16===t.bi_valid?(w(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}},P=(t,e,r,n)=>{let i=65535&t|0,a=t>>>16&65535|0,s=0;for(;0!==r;){s=r>2e3?2e3:r,r-=s;do{i=i+e[n++]|0,a=a+i|0}while(--s);i%=65521,a%=65521}return i|a<<16|0};const z=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var D=(t,e,r,n)=>{const i=z,a=n+r;t^=-1;for(let r=n;r<a;r++)t=t>>>8^i[255&(t^e[r])];return-1^t},M={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Z={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Y,_tr_stored_block:W,_tr_flush_block:N,_tr_tally:U,_tr_align:F}=j,{Z_NO_FLUSH:Q,Z_PARTIAL_FLUSH:H,Z_FULL_FLUSH:G,Z_FINISH:J,Z_BLOCK:X,Z_OK:K,Z_STREAM_END:q,Z_STREAM_ERROR:V,Z_DATA_ERROR:$,Z_BUF_ERROR:tt,Z_DEFAULT_COMPRESSION:et,Z_FILTERED:rt,Z_HUFFMAN_ONLY:nt,Z_RLE:it,Z_FIXED:at,Z_DEFAULT_STRATEGY:st,Z_UNKNOWN:ot,Z_DEFLATED:ct}=Z,ft=258,ut=262,lt=42,ht=113,dt=666,pt=(t,e)=>(t.msg=M[e],e),bt=t=>2*t-(t>4?9:0),gt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},yt=t=>{let e,r,n,i=t.w_size;e=t.hash_size,n=e;do{r=t.head[--n],t.head[n]=r>=i?r-i:0}while(--e);e=i,n=e;do{r=t.prev[--n],t.prev[n]=r>=i?r-i:0}while(--e)};let mt=(t,e,r)=>(e<<t.hash_shift^r)&t.hash_mask;const wt=t=>{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},vt=(t,e)=>{N(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,wt(t.strm)},Et=(t,e)=>{t.pending_buf[t.pending++]=e},St=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},kt=(t,e,r,n)=>{let i=t.avail_in;return i>n&&(i=n),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),r),1===t.state.wrap?t.adler=P(t.adler,e,i,r):2===t.state.wrap&&(t.adler=D(t.adler,e,i,r)),t.next_in+=i,t.total_in+=i,i)},It=(t,e)=>{let r,n,i=t.max_chain_length,a=t.strstart,s=t.prev_length,o=t.nice_match;const c=t.strstart>t.w_size-ut?t.strstart-(t.w_size-ut):0,f=t.window,u=t.w_mask,l=t.prev,h=t.strstart+ft;let d=f[a+s-1],p=f[a+s];t.prev_length>=t.good_match&&(i>>=2),o>t.lookahead&&(o=t.lookahead);do{if(r=e,f[r+s]===p&&f[r+s-1]===d&&f[r]===f[a]&&f[++r]===f[a+1]){a+=2,r++;do{}while(f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&f[++a]===f[++r]&&a<h);if(n=ft-(h-a),a=h-ft,n>s){if(t.match_start=e,s=n,n>=o)break;d=f[a+s-1],p=f[a+s]}}}while((e=l[e&u])>c&&0!=--i);return s<=t.lookahead?s:t.lookahead},Lt=t=>{const e=t.w_size;let r,n,i;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ut)&&(t.window.set(t.window.subarray(e,e+e-n),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),yt(t),n+=e),0===t.strm.avail_in)break;if(r=kt(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=r,t.lookahead+t.insert>=3)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=mt(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=mt(t,t.ins_h,t.window[i+3-1]),t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<ut&&0!==t.strm.avail_in)},xt=(t,e)=>{let r,n,i,a=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,s=0,o=t.strm.avail_in;do{if(r=65535,i=t.bi_valid+42>>3,t.strm.avail_out<i)break;if(i=t.strm.avail_out-i,n=t.strstart-t.block_start,r>n+t.strm.avail_in&&(r=n+t.strm.avail_in),r>i&&(r=i),r<a&&(0===r&&e!==J||e===Q||r!==n+t.strm.avail_in))break;s=e===J&&r===n+t.strm.avail_in?1:0,W(t,0,0,s),t.pending_buf[t.pending-4]=r,t.pending_buf[t.pending-3]=r>>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,wt(t.strm),n&&(n>r&&(n=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+n),t.strm.next_out),t.strm.next_out+=n,t.strm.avail_out-=n,t.strm.total_out+=n,t.block_start+=n,r-=n),r&&(kt(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===s);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),s?4:e!==Q&&e!==J&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(i=t.window_size-t.strstart,t.strm.avail_in>i&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,i+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),i>t.strm.avail_in&&(i=t.strm.avail_in),i&&(kt(t.strm,t.window,t.strstart,i),t.strstart+=i,t.insert+=i>t.w_size-t.insert?t.w_size-t.insert:i),t.high_water<t.strstart&&(t.high_water=t.strstart),i=t.bi_valid+42>>3,i=t.pending_buf_size-i>65535?65535:t.pending_buf_size-i,a=i>t.w_size?t.w_size:i,n=t.strstart-t.block_start,(n>=a||(n||e===J)&&e!==Q&&0===t.strm.avail_in&&n<=i)&&(r=n>i?i:n,s=e===J&&0===t.strm.avail_in&&r===n?1:0,W(t,t.block_start,r,s),t.block_start+=r,wt(t.strm)),s?3:1)},Ct=(t,e)=>{let r,n;for(;;){if(t.lookahead<ut){if(Lt(t),t.lookahead<ut&&e===Q)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=mt(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-ut&&(t.match_length=It(t,r)),t.match_length>=3)if(n=U(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=mt(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=mt(t,t.ins_h,t.window[t.strstart+1]);else n=U(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(vt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===J?(vt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(vt(t,!1),0===t.strm.avail_out)?1:2},Bt=(t,e)=>{let r,n,i;for(;;){if(t.lookahead<ut){if(Lt(t),t.lookahead<ut&&e===Q)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=mt(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-ut&&(t.match_length=It(t,r),t.match_length<=5&&(t.strategy===rt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,n=U(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=mt(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(vt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=U(t,0,t.window[t.strstart-1]),n&&vt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=U(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===J?(vt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(vt(t,!1),0===t.strm.avail_out)?1:2};function Rt(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}const _t=[new Rt(0,0,0,0,xt),new Rt(4,4,8,4,Ct),new Rt(4,5,16,8,Ct),new Rt(4,6,32,32,Ct),new Rt(4,4,16,16,Bt),new Rt(8,16,32,32,Bt),new Rt(8,16,128,128,Bt),new Rt(8,32,128,256,Bt),new Rt(32,128,258,1024,Bt),new Rt(32,258,258,4096,Bt)];function Tt(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ct,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),gt(this.dyn_ltree),gt(this.dyn_dtree),gt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),gt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),gt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Ot=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==lt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==ht&&e.status!==dt?1:0},At=t=>{if(Ot(t))return pt(t,V);t.total_in=t.total_out=0,t.data_type=ot;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?lt:ht,t.adler=2===e.wrap?0:1,e.last_flush=-2,Y(e),K},jt=t=>{const e=At(t);var r;return e===K&&((r=t.state).window_size=2*r.w_size,gt(r.head),r.max_lazy_match=_t[r.level].max_lazy,r.good_match=_t[r.level].good_length,r.nice_match=_t[r.level].nice_length,r.max_chain_length=_t[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=2,r.match_available=0,r.ins_h=0),e},Pt=(t,e,r,n,i,a)=>{if(!t)return V;let s=1;if(e===et&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),i<1||i>9||r!==ct||n<8||n>15||e<0||e>9||a<0||a>at||8===n&&1!==s)return pt(t,V);8===n&&(n=9);const o=new Tt;return t.state=o,o.strm=t,o.status=lt,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=3*(o.lit_bufsize-1),o.level=e,o.strategy=a,o.method=r,jt(t)};var zt={deflateInit:(t,e)=>Pt(t,e,ct,15,8,st),deflateInit2:Pt,deflateReset:jt,deflateResetKeep:At,deflateSetHeader:(t,e)=>Ot(t)||2!==t.state.wrap?V:(t.state.gzhead=e,K),deflate:(t,e)=>{if(Ot(t)||e>X||e<0)return t?pt(t,V):V;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===dt&&e!==J)return pt(t,0===t.avail_out?tt:V);const n=r.last_flush;if(r.last_flush=e,0!==r.pending){if(wt(t),0===t.avail_out)return r.last_flush=-1,K}else if(0===t.avail_in&&bt(e)<=bt(n)&&e!==J)return pt(t,tt);if(r.status===dt&&0!==t.avail_in)return pt(t,tt);if(r.status===lt&&0===r.wrap&&(r.status=ht),r.status===lt){let e=ct+(r.w_bits-8<<4)<<8,n=-1;if(n=r.strategy>=nt||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=n<<6,0!==r.strstart&&(e|=32),e+=31-e%31,St(r,e),0!==r.strstart&&(St(r,t.adler>>>16),St(r,65535&t.adler)),t.adler=1,r.status=ht,wt(t),0!==r.pending)return r.last_flush=-1,K}if(57===r.status)if(t.adler=0,Et(r,31),Et(r,139),Et(r,8),r.gzhead)Et(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),Et(r,255&r.gzhead.time),Et(r,r.gzhead.time>>8&255),Et(r,r.gzhead.time>>16&255),Et(r,r.gzhead.time>>24&255),Et(r,9===r.level?2:r.strategy>=nt||r.level<2?4:0),Et(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(Et(r,255&r.gzhead.extra.length),Et(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=D(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(Et(r,0),Et(r,0),Et(r,0),Et(r,0),Et(r,0),Et(r,9===r.level?2:r.strategy>=nt||r.level<2?4:0),Et(r,3),r.status=ht,wt(t),0!==r.pending)return r.last_flush=-1,K;if(69===r.status){if(r.gzhead.extra){let e=r.pending,n=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+n>r.pending_buf_size;){let i=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=D(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=i,wt(t),0!==r.pending)return r.last_flush=-1,K;e=0,n-=i}let i=new Uint8Array(r.gzhead.extra);r.pending_buf.set(i.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending+=n,r.gzhead.hcrc&&r.pending>e&&(t.adler=D(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(t.adler=D(t.adler,r.pending_buf,r.pending-n,n)),wt(t),0!==r.pending)return r.last_flush=-1,K;n=0}e=r.gzindex<r.gzhead.name.length?255&r.gzhead.name.charCodeAt(r.gzindex++):0,Et(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>n&&(t.adler=D(t.adler,r.pending_buf,r.pending-n,n)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(t.adler=D(t.adler,r.pending_buf,r.pending-n,n)),wt(t),0!==r.pending)return r.last_flush=-1,K;n=0}e=r.gzindex<r.gzhead.comment.length?255&r.gzhead.comment.charCodeAt(r.gzindex++):0,Et(r,e)}while(0!==e);r.gzhead.hcrc&&r.pending>n&&(t.adler=D(t.adler,r.pending_buf,r.pending-n,n))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(wt(t),0!==r.pending))return r.last_flush=-1,K;Et(r,255&t.adler),Et(r,t.adler>>8&255),t.adler=0}if(r.status=ht,wt(t),0!==r.pending)return r.last_flush=-1,K}if(0!==t.avail_in||0!==r.lookahead||e!==Q&&r.status!==dt){let n=0===r.level?xt(r,e):r.strategy===nt?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(Lt(t),0===t.lookahead)){if(e===Q)return 1;break}if(t.match_length=0,r=U(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(vt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===J?(vt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(vt(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===it?((t,e)=>{let r,n,i,a;const s=t.window;for(;;){if(t.lookahead<=ft){if(Lt(t),t.lookahead<=ft&&e===Q)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,n=s[i],n===s[++i]&&n===s[++i]&&n===s[++i])){a=t.strstart+ft;do{}while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&i<a);t.match_length=ft-(a-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=U(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=U(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(vt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===J?(vt(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(vt(t,!1),0===t.strm.avail_out)?1:2})(r,e):_t[r.level].func(r,e);if(3!==n&&4!==n||(r.status=dt),1===n||3===n)return 0===t.avail_out&&(r.last_flush=-1),K;if(2===n&&(e===H?F(r):e!==X&&(W(r,0,0,!1),e===G&&(gt(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),wt(t),0===t.avail_out))return r.last_flush=-1,K}return e!==J?K:r.wrap<=0?q:(2===r.wrap?(Et(r,255&t.adler),Et(r,t.adler>>8&255),Et(r,t.adler>>16&255),Et(r,t.adler>>24&255),Et(r,255&t.total_in),Et(r,t.total_in>>8&255),Et(r,t.total_in>>16&255),Et(r,t.total_in>>24&255)):(St(r,t.adler>>>16),St(r,65535&t.adler)),wt(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?K:q)},deflateEnd:t=>{if(Ot(t))return V;const e=t.state.status;return t.state=null,e===ht?pt(t,$):K},deflateSetDictionary:(t,e)=>{let r=e.length;if(Ot(t))return V;const n=t.state,i=n.wrap;if(2===i||1===i&&n.status!==lt||n.lookahead)return V;if(1===i&&(t.adler=P(t.adler,e,r,0)),n.wrap=0,r>=n.w_size){0===i&&(gt(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(r-n.w_size,r),0),e=t,r=n.w_size}const a=t.avail_in,s=t.next_in,o=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,Lt(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=mt(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,Lt(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=s,t.input=o,t.avail_in=a,n.wrap=i,K},deflateInfo:"pako deflate (from Nodeca project)"};const Dt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Mt={assign:function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)Dt(r,e)&&(t[e]=r[e])}}return t},flattenChunks:t=>{let e=0;for(let r=0,n=t.length;r<n;r++)e+=t[r].length;const r=new Uint8Array(e);for(let e=0,n=0,i=t.length;e<i;e++){let i=t[e];r.set(i,n),n+=i.length}return r}};let Zt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Zt=!1}const Yt=new Uint8Array(256);for(let t=0;t<256;t++)Yt[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Yt[254]=Yt[254]=1;var Wt={string2buf:t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,n,i,a,s=t.length,o=0;for(i=0;i<s;i++)r=t.charCodeAt(i),55296==(64512&r)&&i+1<s&&(n=t.charCodeAt(i+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),i++)),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=new Uint8Array(o),a=0,i=0;a<o;i++)r=t.charCodeAt(i),55296==(64512&r)&&i+1<s&&(n=t.charCodeAt(i+1),56320==(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),i++)),r<128?e[a++]=r:r<2048?(e[a++]=192|r>>>6,e[a++]=128|63&r):r<65536?(e[a++]=224|r>>>12,e[a++]=128|r>>>6&63,e[a++]=128|63&r):(e[a++]=240|r>>>18,e[a++]=128|r>>>12&63,e[a++]=128|r>>>6&63,e[a++]=128|63&r);return e},buf2string:(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let n,i;const a=new Array(2*r);for(i=0,n=0;n<r;){let e=t[n++];if(e<128){a[i++]=e;continue}let s=Yt[e];if(s>4)a[i++]=65533,n+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&n<r;)e=e<<6|63&t[n++],s--;s>1?a[i++]=65533:e<65536?a[i++]=e:(e-=65536,a[i++]=55296|e>>10&1023,a[i++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Zt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let n=0;n<e;n++)r+=String.fromCharCode(t[n]);return r})(a,i)},utf8border:(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+Yt[t[r]]>e?r:e}},Nt=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Ut=Object.prototype.toString,{Z_NO_FLUSH:Ft,Z_SYNC_FLUSH:Qt,Z_FULL_FLUSH:Ht,Z_FINISH:Gt,Z_OK:Jt,Z_STREAM_END:Xt,Z_DEFAULT_COMPRESSION:Kt,Z_DEFAULT_STRATEGY:qt,Z_DEFLATED:Vt}=Z;function $t(t){this.options=Mt.assign({level:Kt,method:Vt,chunkSize:16384,windowBits:15,memLevel:8,strategy:qt},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Nt,this.strm.avail_out=0;let r=zt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==Jt)throw new Error(M[r]);if(e.header&&zt.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Wt.string2buf(e.dictionary):"[object ArrayBuffer]"===Ut.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=zt.deflateSetDictionary(this.strm,t),r!==Jt)throw new Error(M[r]);this._dict_set=!0}}function te(t,e){const r=new $t(e);if(r.push(t,!0),r.err)throw r.msg||M[r.err];return r.result}$t.prototype.push=function(t,e){const r=this.strm,n=this.options.chunkSize;let i,a;if(this.ended)return!1;for(a=e===~~e?e:!0===e?Gt:Ft,"string"==typeof t?r.input=Wt.string2buf(t):"[object ArrayBuffer]"===Ut.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),(a===Qt||a===Ht)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(i=zt.deflate(r,a),i===Xt)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),i=zt.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Jt;if(0!==r.avail_out){if(a>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},$t.prototype.onData=function(t){this.chunks.push(t)},$t.prototype.onEnd=function(t){t===Jt&&(this.result=Mt.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ee={Deflate:$t,deflate:te,deflateRaw:function(t,e){return(e=e||{}).raw=!0,te(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,te(t,e)},constants:Z};const re=16209;var ne=function(t,e){let r,n,i,a,s,o,c,f,u,l,h,d,p,b,g,y,m,w,v,E,S,k,I,L;const x=t.state;r=t.next_in,I=t.input,n=r+(t.avail_in-5),i=t.next_out,L=t.output,a=i-(e-t.avail_out),s=i+(t.avail_out-257),o=x.dmax,c=x.wsize,f=x.whave,u=x.wnext,l=x.window,h=x.hold,d=x.bits,p=x.lencode,b=x.distcode,g=(1<<x.lenbits)-1,y=(1<<x.distbits)-1;t:do{d<15&&(h+=I[r++]<<d,d+=8,h+=I[r++]<<d,d+=8),m=p[h&g];e:for(;;){if(w=m>>>24,h>>>=w,d-=w,w=m>>>16&255,0===w)L[i++]=65535&m;else{if(!(16&w)){if(0==(64&w)){m=p[(65535&m)+(h&(1<<w)-1)];continue e}if(32&w){x.mode=16191;break t}t.msg="invalid literal/length code",x.mode=re;break t}v=65535&m,w&=15,w&&(d<w&&(h+=I[r++]<<d,d+=8),v+=h&(1<<w)-1,h>>>=w,d-=w),d<15&&(h+=I[r++]<<d,d+=8,h+=I[r++]<<d,d+=8),m=b[h&y];r:for(;;){if(w=m>>>24,h>>>=w,d-=w,w=m>>>16&255,!(16&w)){if(0==(64&w)){m=b[(65535&m)+(h&(1<<w)-1)];continue r}t.msg="invalid distance code",x.mode=re;break t}if(E=65535&m,w&=15,d<w&&(h+=I[r++]<<d,d+=8,d<w&&(h+=I[r++]<<d,d+=8)),E+=h&(1<<w)-1,E>o){t.msg="invalid distance too far back",x.mode=re;break t}if(h>>>=w,d-=w,w=i-a,E>w){if(w=E-w,w>f&&x.sane){t.msg="invalid distance too far back",x.mode=re;break t}if(S=0,k=l,0===u){if(S+=c-w,w<v){v-=w;do{L[i++]=l[S++]}while(--w);S=i-E,k=L}}else if(u<w){if(S+=c+u-w,w-=u,w<v){v-=w;do{L[i++]=l[S++]}while(--w);if(S=0,u<v){w=u,v-=w;do{L[i++]=l[S++]}while(--w);S=i-E,k=L}}}else if(S+=u-w,w<v){v-=w;do{L[i++]=l[S++]}while(--w);S=i-E,k=L}for(;v>2;)L[i++]=k[S++],L[i++]=k[S++],L[i++]=k[S++],v-=3;v&&(L[i++]=k[S++],v>1&&(L[i++]=k[S++]))}else{S=i-E;do{L[i++]=L[S++],L[i++]=L[S++],L[i++]=L[S++],v-=3}while(v>2);v&&(L[i++]=L[S++],v>1&&(L[i++]=L[S++]))}break}}break}}while(r<n&&i<s);v=d>>3,r-=v,d-=v<<3,h&=(1<<d)-1,t.next_in=r,t.next_out=i,t.avail_in=r<n?n-r+5:5-(r-n),t.avail_out=i<s?s-i+257:257-(i-s),x.hold=h,x.bits=d};const ie=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),ae=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),se=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),oe=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var ce=(t,e,r,n,i,a,s,o)=>{const c=o.bits;let f,u,l,h,d,p,b=0,g=0,y=0,m=0,w=0,v=0,E=0,S=0,k=0,I=0,L=null;const x=new Uint16Array(16),C=new Uint16Array(16);let B,R,_,T=null;for(b=0;b<=15;b++)x[b]=0;for(g=0;g<n;g++)x[e[r+g]]++;for(w=c,m=15;m>=1&&0===x[m];m--);if(w>m&&(w=m),0===m)return i[a++]=20971520,i[a++]=20971520,o.bits=1,0;for(y=1;y<m&&0===x[y];y++);for(w<y&&(w=y),S=1,b=1;b<=15;b++)if(S<<=1,S-=x[b],S<0)return-1;if(S>0&&(0===t||1!==m))return-1;for(C[1]=0,b=1;b<15;b++)C[b+1]=C[b]+x[b];for(g=0;g<n;g++)0!==e[r+g]&&(s[C[e[r+g]]++]=g);if(0===t?(L=T=s,p=20):1===t?(L=ie,T=ae,p=257):(L=se,T=oe,p=0),I=0,g=0,b=y,d=a,v=w,E=0,l=-1,k=1<<w,h=k-1,1===t&&k>852||2===t&&k>592)return 1;for(;;){B=b-E,s[g]+1<p?(R=0,_=s[g]):s[g]>=p?(R=T[s[g]-p],_=L[s[g]-p]):(R=96,_=0),f=1<<b-E,u=1<<v,y=u;do{u-=f,i[d+(I>>E)+u]=B<<24|R<<16|_|0}while(0!==u);for(f=1<<b-1;I&f;)f>>=1;if(0!==f?(I&=f-1,I+=f):I=0,g++,0==--x[b]){if(b===m)break;b=e[r+s[g]]}if(b>w&&(I&h)!==l){for(0===E&&(E=w),d+=y,v=b-E,S=1<<v;v+E<m&&(S-=x[v+E],!(S<=0));)v++,S<<=1;if(k+=1<<v,1===t&&k>852||2===t&&k>592)return 1;l=I&h,i[l]=w<<24|v<<16|d-a|0}}return 0!==I&&(i[d+I]=b-E<<24|64<<16|0),o.bits=w,0};const{Z_FINISH:fe,Z_BLOCK:ue,Z_TREES:le,Z_OK:he,Z_STREAM_END:de,Z_NEED_DICT:pe,Z_STREAM_ERROR:be,Z_DATA_ERROR:ge,Z_MEM_ERROR:ye,Z_BUF_ERROR:me,Z_DEFLATED:we}=Z,ve=16180,Ee=16190,Se=16191,ke=16192,Ie=16194,Le=16199,xe=16200,Ce=16206,Be=16209,Re=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function _e(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Te=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<ve||e.mode>16211?1:0},Oe=t=>{if(Te(t))return be;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=ve,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,he},Ae=t=>{if(Te(t))return be;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,Oe(t)},je=(t,e)=>{let r;if(Te(t))return be;const n=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?be:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,Ae(t))},Pe=(t,e)=>{if(!t)return be;const r=new _e;t.state=r,r.strm=t,r.window=null,r.mode=ve;const n=je(t,e);return n!==he&&(t.state=null),n};let ze,De,Me=!0;const Ze=t=>{if(Me){ze=new Int32Array(512),De=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(ce(1,t.lens,0,288,ze,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ce(2,t.lens,0,32,De,0,t.work,{bits:5}),Me=!1}t.lencode=ze,t.lenbits=9,t.distcode=De,t.distbits=5},Ye=(t,e,r,n)=>{let i;const a=t.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),n>=a.wsize?(a.window.set(e.subarray(r-a.wsize,r),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),a.window.set(e.subarray(r-n,r-n+i),a.wnext),(n-=i)?(a.window.set(e.subarray(r-n,r),0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0};var We={inflateReset:Ae,inflateReset2:je,inflateResetKeep:Oe,inflateInit:t=>Pe(t,15),inflateInit2:Pe,inflate:(t,e)=>{let r,n,i,a,s,o,c,f,u,l,h,d,p,b,g,y,m,w,v,E,S,k,I=0;const L=new Uint8Array(4);let x,C;const B=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Te(t)||!t.output||!t.input&&0!==t.avail_in)return be;r=t.state,r.mode===Se&&(r.mode=ke),s=t.next_out,i=t.output,c=t.avail_out,a=t.next_in,n=t.input,o=t.avail_in,f=r.hold,u=r.bits,l=o,h=c,k=he;t:for(;;)switch(r.mode){case ve:if(0===r.wrap){r.mode=ke;break}for(;u<16;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if(2&r.wrap&&35615===f){0===r.wbits&&(r.wbits=15),r.check=0,L[0]=255&f,L[1]=f>>>8&255,r.check=D(r.check,L,2,0),f=0,u=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&f)<<8)+(f>>8))%31){t.msg="incorrect header check",r.mode=Be;break}if((15&f)!==we){t.msg="unknown compression method",r.mode=Be;break}if(f>>>=4,u-=4,S=8+(15&f),0===r.wbits&&(r.wbits=S),S>15||S>r.wbits){t.msg="invalid window size",r.mode=Be;break}r.dmax=1<<r.wbits,r.flags=0,t.adler=r.check=1,r.mode=512&f?16189:Se,f=0,u=0;break;case 16181:for(;u<16;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if(r.flags=f,(255&r.flags)!==we){t.msg="unknown compression method",r.mode=Be;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=Be;break}r.head&&(r.head.text=f>>8&1),512&r.flags&&4&r.wrap&&(L[0]=255&f,L[1]=f>>>8&255,r.check=D(r.check,L,2,0)),f=0,u=0,r.mode=16182;case 16182:for(;u<32;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}r.head&&(r.head.time=f),512&r.flags&&4&r.wrap&&(L[0]=255&f,L[1]=f>>>8&255,L[2]=f>>>16&255,L[3]=f>>>24&255,r.check=D(r.check,L,4,0)),f=0,u=0,r.mode=16183;case 16183:for(;u<16;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}r.head&&(r.head.xflags=255&f,r.head.os=f>>8),512&r.flags&&4&r.wrap&&(L[0]=255&f,L[1]=f>>>8&255,r.check=D(r.check,L,2,0)),f=0,u=0,r.mode=16184;case 16184:if(1024&r.flags){for(;u<16;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}r.length=f,r.head&&(r.head.extra_len=f),512&r.flags&&4&r.wrap&&(L[0]=255&f,L[1]=f>>>8&255,r.check=D(r.check,L,2,0)),f=0,u=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(d=r.length,d>o&&(d=o),d&&(r.head&&(S=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(n.subarray(a,a+d),S)),512&r.flags&&4&r.wrap&&(r.check=D(r.check,n,d,a)),o-=d,a+=d,r.length-=d),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===o)break t;d=0;do{S=n[a+d++],r.head&&S&&r.length<65536&&(r.head.name+=String.fromCharCode(S))}while(S&&d<o);if(512&r.flags&&4&r.wrap&&(r.check=D(r.check,n,d,a)),o-=d,a+=d,S)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=16187;case 16187:if(4096&r.flags){if(0===o)break t;d=0;do{S=n[a+d++],r.head&&S&&r.length<65536&&(r.head.comment+=String.fromCharCode(S))}while(S&&d<o);if(512&r.flags&&4&r.wrap&&(r.check=D(r.check,n,d,a)),o-=d,a+=d,S)break t}else r.head&&(r.head.comment=null);r.mode=16188;case 16188:if(512&r.flags){for(;u<16;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if(4&r.wrap&&f!==(65535&r.check)){t.msg="header crc mismatch",r.mode=Be;break}f=0,u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=Se;break;case 16189:for(;u<32;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}t.adler=r.check=Re(f),f=0,u=0,r.mode=Ee;case Ee:if(0===r.havedict)return t.next_out=s,t.avail_out=c,t.next_in=a,t.avail_in=o,r.hold=f,r.bits=u,pe;t.adler=r.check=1,r.mode=Se;case Se:if(e===ue||e===le)break t;case ke:if(r.last){f>>>=7&u,u-=7&u,r.mode=Ce;break}for(;u<3;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}switch(r.last=1&f,f>>>=1,u-=1,3&f){case 0:r.mode=16193;break;case 1:if(Ze(r),r.mode=Le,e===le){f>>>=2,u-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=Be}f>>>=2,u-=2;break;case 16193:for(f>>>=7&u,u-=7&u;u<32;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if((65535&f)!=(f>>>16^65535)){t.msg="invalid stored block lengths",r.mode=Be;break}if(r.length=65535&f,f=0,u=0,r.mode=Ie,e===le)break t;case Ie:r.mode=16195;case 16195:if(d=r.length,d){if(d>o&&(d=o),d>c&&(d=c),0===d)break t;i.set(n.subarray(a,a+d),s),o-=d,a+=d,c-=d,s+=d,r.length-=d;break}r.mode=Se;break;case 16196:for(;u<14;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if(r.nlen=257+(31&f),f>>>=5,u-=5,r.ndist=1+(31&f),f>>>=5,u-=5,r.ncode=4+(15&f),f>>>=4,u-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=Be;break}r.have=0,r.mode=16197;case 16197:for(;r.have<r.ncode;){for(;u<3;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}r.lens[B[r.have++]]=7&f,f>>>=3,u-=3}for(;r.have<19;)r.lens[B[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,x={bits:r.lenbits},k=ce(0,r.lens,0,19,r.lencode,0,r.work,x),r.lenbits=x.bits,k){t.msg="invalid code lengths set",r.mode=Be;break}r.have=0,r.mode=16198;case 16198:for(;r.have<r.nlen+r.ndist;){for(;I=r.lencode[f&(1<<r.lenbits)-1],g=I>>>24,y=I>>>16&255,m=65535&I,!(g<=u);){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if(m<16)f>>>=g,u-=g,r.lens[r.have++]=m;else{if(16===m){for(C=g+2;u<C;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if(f>>>=g,u-=g,0===r.have){t.msg="invalid bit length repeat",r.mode=Be;break}S=r.lens[r.have-1],d=3+(3&f),f>>>=2,u-=2}else if(17===m){for(C=g+3;u<C;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}f>>>=g,u-=g,S=0,d=3+(7&f),f>>>=3,u-=3}else{for(C=g+7;u<C;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}f>>>=g,u-=g,S=0,d=11+(127&f),f>>>=7,u-=7}if(r.have+d>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=Be;break}for(;d--;)r.lens[r.have++]=S}}if(r.mode===Be)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=Be;break}if(r.lenbits=9,x={bits:r.lenbits},k=ce(1,r.lens,0,r.nlen,r.lencode,0,r.work,x),r.lenbits=x.bits,k){t.msg="invalid literal/lengths set",r.mode=Be;break}if(r.distbits=6,r.distcode=r.distdyn,x={bits:r.distbits},k=ce(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,x),r.distbits=x.bits,k){t.msg="invalid distances set",r.mode=Be;break}if(r.mode=Le,e===le)break t;case Le:r.mode=xe;case xe:if(o>=6&&c>=258){t.next_out=s,t.avail_out=c,t.next_in=a,t.avail_in=o,r.hold=f,r.bits=u,ne(t,h),s=t.next_out,i=t.output,c=t.avail_out,a=t.next_in,n=t.input,o=t.avail_in,f=r.hold,u=r.bits,r.mode===Se&&(r.back=-1);break}for(r.back=0;I=r.lencode[f&(1<<r.lenbits)-1],g=I>>>24,y=I>>>16&255,m=65535&I,!(g<=u);){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if(y&&0==(240&y)){for(w=g,v=y,E=m;I=r.lencode[E+((f&(1<<w+v)-1)>>w)],g=I>>>24,y=I>>>16&255,m=65535&I,!(w+g<=u);){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}f>>>=w,u-=w,r.back+=w}if(f>>>=g,u-=g,r.back+=g,r.length=m,0===y){r.mode=16205;break}if(32&y){r.back=-1,r.mode=Se;break}if(64&y){t.msg="invalid literal/length code",r.mode=Be;break}r.extra=15&y,r.mode=16201;case 16201:if(r.extra){for(C=r.extra;u<C;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}r.length+=f&(1<<r.extra)-1,f>>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;I=r.distcode[f&(1<<r.distbits)-1],g=I>>>24,y=I>>>16&255,m=65535&I,!(g<=u);){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if(0==(240&y)){for(w=g,v=y,E=m;I=r.distcode[E+((f&(1<<w+v)-1)>>w)],g=I>>>24,y=I>>>16&255,m=65535&I,!(w+g<=u);){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}f>>>=w,u-=w,r.back+=w}if(f>>>=g,u-=g,r.back+=g,64&y){t.msg="invalid distance code",r.mode=Be;break}r.offset=m,r.extra=15&y,r.mode=16203;case 16203:if(r.extra){for(C=r.extra;u<C;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}r.offset+=f&(1<<r.extra)-1,f>>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=Be;break}r.mode=16204;case 16204:if(0===c)break t;if(d=h-c,r.offset>d){if(d=r.offset-d,d>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=Be;break}d>r.wnext?(d-=r.wnext,p=r.wsize-d):p=r.wnext-d,d>r.length&&(d=r.length),b=r.window}else b=i,p=s-r.offset,d=r.length;d>c&&(d=c),c-=d,r.length-=d;do{i[s++]=b[p++]}while(--d);0===r.length&&(r.mode=xe);break;case 16205:if(0===c)break t;i[s++]=r.length,c--,r.mode=xe;break;case Ce:if(r.wrap){for(;u<32;){if(0===o)break t;o--,f|=n[a++]<<u,u+=8}if(h-=c,t.total_out+=h,r.total+=h,4&r.wrap&&h&&(t.adler=r.check=r.flags?D(r.check,i,h,s-h):P(r.check,i,h,s-h)),h=c,4&r.wrap&&(r.flags?f:Re(f))!==r.check){t.msg="incorrect data check",r.mode=Be;break}f=0,u=0}r.mode=16207;case 16207:if(r.wrap&&r.flags){for(;u<32;){if(0===o)break t;o--,f+=n[a++]<<u,u+=8}if(4&r.wrap&&f!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=Be;break}f=0,u=0}r.mode=16208;case 16208:k=de;break t;case Be:k=ge;break t;case 16210:return ye;default:return be}return t.next_out=s,t.avail_out=c,t.next_in=a,t.avail_in=o,r.hold=f,r.bits=u,(r.wsize||h!==t.avail_out&&r.mode<Be&&(r.mode<Ce||e!==fe))&&Ye(t,t.output,t.next_out,h-t.avail_out),l-=t.avail_in,h-=t.avail_out,t.total_in+=l,t.total_out+=h,r.total+=h,4&r.wrap&&h&&(t.adler=r.check=r.flags?D(r.check,i,h,t.next_out-h):P(r.check,i,h,t.next_out-h)),t.data_type=r.bits+(r.last?64:0)+(r.mode===Se?128:0)+(r.mode===Le||r.mode===Ie?256:0),(0===l&&0===h||e===fe)&&k===he&&(k=me),k},inflateEnd:t=>{if(Te(t))return be;let e=t.state;return e.window&&(e.window=null),t.state=null,he},inflateGetHeader:(t,e)=>{if(Te(t))return be;const r=t.state;return 0==(2&r.wrap)?be:(r.head=e,e.done=!1,he)},inflateSetDictionary:(t,e)=>{const r=e.length;let n,i,a;return Te(t)?be:(n=t.state,0!==n.wrap&&n.mode!==Ee?be:n.mode===Ee&&(i=1,i=P(i,e,r,0),i!==n.check)?ge:(a=Ye(t,e,r,r),a?(n.mode=16210,ye):(n.havedict=1,he)))},inflateInfo:"pako inflate (from Nodeca project)"},Ne=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Ue=Object.prototype.toString,{Z_NO_FLUSH:Fe,Z_FINISH:Qe,Z_OK:He,Z_STREAM_END:Ge,Z_NEED_DICT:Je,Z_STREAM_ERROR:Xe,Z_DATA_ERROR:Ke,Z_MEM_ERROR:qe}=Z;function Ve(t){this.options=Mt.assign({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Nt,this.strm.avail_out=0;let r=We.inflateInit2(this.strm,e.windowBits);if(r!==He)throw new Error(M[r]);if(this.header=new Ne,We.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Wt.string2buf(e.dictionary):"[object ArrayBuffer]"===Ue.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=We.inflateSetDictionary(this.strm,e.dictionary),r!==He)))throw new Error(M[r])}function $e(t,e){const r=new Ve(e);if(r.push(t),r.err)throw r.msg||M[r.err];return r.result}Ve.prototype.push=function(t,e){const r=this.strm,n=this.options.chunkSize,i=this.options.dictionary;let a,s,o;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Qe:Fe,"[object ArrayBuffer]"===Ue.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),a=We.inflate(r,s),a===Je&&i&&(a=We.inflateSetDictionary(r,i),a===He?a=We.inflate(r,s):a===Ke&&(a=Je));r.avail_in>0&&a===Ge&&r.state.wrap>0&&0!==t[r.next_in];)We.inflateReset(r),a=We.inflate(r,s);switch(a){case Xe:case Ke:case Je:case qe:return this.onEnd(a),this.ended=!0,!1}if(o=r.avail_out,r.next_out&&(0===r.avail_out||a===Ge))if("string"===this.options.to){let t=Wt.utf8border(r.output,r.next_out),e=r.next_out-t,i=Wt.buf2string(r.output,t);r.next_out=e,r.avail_out=n-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(i)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(a!==He||0!==o){if(a===Ge)return a=We.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},Ve.prototype.onData=function(t){this.chunks.push(t)},Ve.prototype.onEnd=function(t){t===He&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Mt.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var tr={Inflate:Ve,inflate:$e,inflateRaw:function(t,e){return(e=e||{}).raw=!0,$e(t,e)},ungzip:$e,constants:Z};const{Deflate:er,deflate:rr,deflateRaw:nr,gzip:ir}=ee,{Inflate:ar,inflate:sr,inflateRaw:or,ungzip:cr}=tr;var fr,ur,lr;r(816).Buffer,function(t){t.PUBLIC="public",t.SECRET="secret"}(fr||(fr={})),(lr=ur||(ur={})).SECRET="secret",lr.OPEN="open",lr.UNCONSTRAINED="unconstrained";var hr=r(816).Buffer;function dr(t){const e=t.toString("hex");return 0===e.length?BigInt(0):BigInt(`0x${e}`)}function pr(t,e){if(t<BigInt(0))throw new Error(`Cannot convert negative bigint ${t.toString()} to buffer with toBufferBE.`);const r=t.toString(16),n=hr.from(r.padStart(2*e,"0").slice(0,2*e),"hex");if(n.length>e)throw new Error(`Number ${t.toString(16)} does not fit in ${e}`);return n}function br(t,e=!1){const r=t.toString(16),n=r.length%2==0?r.length:r.length+1;return`0x${r.padStart(e?64:n,"0")}`}var gr=r(3573);function yr(t){return new gr.C4(256).update(t).digest()}function mr(t){const e=new gr.C4(256);return e.reset(),e.update(t),e.digest("hex")}var wr=r(394),vr=r(3302),Er=r(816).Buffer;const Sr=65536,kr=t=>{if(vr)return wr.randomBytes(t);const e="undefined"!=typeof window&&window.crypto?window.crypto:"undefined"!=typeof self&&self.crypto?self.crypto:void 0;if(!e)throw new Error("randomBytes UnsupportedEnvironment");const r=Er.allocUnsafe(t);if(t>Sr)for(let n=0;n<t;n+=Sr)e.getRandomValues(r.slice(n,n+Sr));else e.getRandomValues(r);return r};var Ir=r(5294),Lr=r(816).Buffer;const xr=t=>Lr.from(Ir.sha256().update(t).digest());var Cr=r(816).Buffer;class Br{constructor(t,e=0){this.buffer=t,this.index=e}static asReader(t){return Cr.isBuffer(t)?new Br(t):t}readNumber(){return this.index+=4,this.buffer.readUint32BE(this.index-4)}readUInt16(){return this.index+=2,this.buffer.readUInt16BE(this.index-2)}readBoolean(){return this.index+=1,Boolean(this.buffer.at(this.index-1))}readBytes(t){return this.index+=t,Cr.from(this.buffer.subarray(this.index-t,this.index))}readFr(){return _r.fromBuffer(this)}readFq(){return Tr.fromBuffer(this)}readNumberVector(){return this.readVector({fromBuffer:t=>t.readNumber()})}readVector(t){const e=this.readNumber(),r=new Array(e);for(let n=0;n<e;n++)r[n]=t.fromBuffer(this);return r}readArray(t,e){return Array.from({length:t},(()=>e.fromBuffer(this)))}readBufferArray(t=-1){const e=[],r=t>=0?this.index+t:this.buffer.length;for(;this.index<r;){const t=this.readBuffer();e.push(t)}if(this.index!==r)throw new Error(`Reader buffer was not fully consumed. Consumed up to ${this.index} bytes. End of data: ${r} bytes.`);return e}readObject(t){return t.fromBuffer(this)}peekBytes(t){return this.buffer.subarray(this.index,t?this.index+t:void 0)}readString(){return this.readBuffer().toString()}readBuffer(){const t=this.readNumber();return this.readBytes(t)}readMap(t){const e=this.readNumber(),r={};for(let n=0;n<e;n++){const e=this.readString(),n=this.readObject(t);r[e]=n}return r}getLength(){return this.buffer.length}}var Rr=r(816).Buffer;class _r{constructor(t){if(this.value=(t=>!!t.toBigInt)(t)?t.toBigInt():BigInt(t),this.value>_r.MAX_VALUE)throw new Error(`Fr out of range ${t}.`)}static random(){const t=dr(kr(_r.SIZE_IN_BYTES))%_r.MODULUS;return new _r(t)}static zero(){return new _r(0n)}static fromBuffer(t){const e=Br.asReader(t);return new _r(dr(e.readBytes(_r.SIZE_IN_BYTES)))}static fromString(t){return _r.fromBuffer(Rr.from(t.replace(/^0x/i,""),"hex"))}toBuffer(){return pr(this.value,_r.SIZE_IN_BYTES)}toString(t=!1){return br(this.value,t)}toBigInt(){return this.value}toShortString(){const t=this.toString();return`${t.slice(0,10)}...${t.slice(-4)}`}equals(t){return this.value===t.value}isZero(){return 0n===this.value}toFriendlyJSON(){return this.toString()}}_r.ZERO=new _r(0n),_r.MODULUS=0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n,_r.MAX_VALUE=_r.MODULUS-1n,_r.SIZE_IN_BYTES=32;class Tr{constructor(t){if(this.value=t,t>Tr.MAX_VALUE)throw new Error(`Fq out of range ${t}.`)}static random(){return new this(dr(kr(64))%Tr.MODULUS)}static fromBuffer(t){return new this(dr(Br.asReader(t).readBytes(this.SIZE_IN_BYTES)))}toBuffer(){return pr(this.value,Tr.SIZE_IN_BYTES)}toString(){return br(this.value)}isZero(){return 0n===this.value}toFriendlyJSON(){return this.toString()}}Tr.MODULUS=0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47n,Tr.MAX_VALUE=_r.MODULUS-1n,Tr.SIZE_IN_BYTES=32;var Or=r(816).Buffer;class Ar{constructor(t,e){this.x=t,this.y=e,this.kind="point"}static random(){return new Ar(_r.random(),_r.random())}static fromBuffer(t){const e=Br.asReader(t);return new this(_r.fromBuffer(e.readBytes(32)),_r.fromBuffer(e.readBytes(32)))}static fromString(t){return this.fromBuffer(Or.from(t.replace(/^0x/i,""),"hex"))}toFields(){return[this.x,this.y]}toBigInts(){return{x:this.x.value,y:this.y.value}}toBuffer(){return Or.concat([this.x.toBuffer(),this.y.toBuffer()])}toString(){return"0x"+this.toBuffer().toString("hex")}toShortString(){const t=this.toString();return`${t.slice(0,10)}...${t.slice(-4)}`}equals(t){return this.x.equals(t.x)&&this.y.equals(t.y)}}Ar.ZERO=new Ar(_r.ZERO,_r.ZERO),Ar.SIZE_IN_BYTES=2*_r.SIZE_IN_BYTES;var jr=r(816).Buffer;class Pr{constructor(t){this.fields=t}toFields(){return this.fields}static random(){return this.fromField(_r.random())}toFieldsBuffer(){return jr.concat([this.fields[0].toBuffer(),this.fields[1].toBuffer()])}toBuffer(){const t=this.fields[0].toBuffer(),e=this.fields[1].toBuffer();return t[0]=e[31],t}equals(t){return this.toBigInt()===t.toBigInt()}toBigInt(){return dr(this.toBuffer())}static fromBuffer(t){if(32!=t.length)throw new Error("Invalid size of coordinate buffer");const e=jr.alloc(32);t.copy(e,0,0,32);const r=jr.alloc(32);return r[31]=e[0],e[0]=0,new Pr([_r.fromBuffer(e),_r.fromBuffer(r)])}static fromField(t){const e=t.toBuffer(),r=jr.alloc(32);return r[31]=e[0],e[0]=0,new Pr([_r.fromBuffer(e),_r.fromBuffer(r)])}}Pr.ZERO=new Pr([_r.ZERO,_r.ZERO]);var zr=r(816).Buffer;class Dr{constructor(t,e){this.abi=t,this.args=e,this.flattened=[]}encodeArgument(t,e,r){if(void 0===e||null==e)throw new Error(`Undefined argument ${r??"unnamed"} of type ${t.kind}`);switch(t.kind){case"field":if("number"==typeof e)this.flattened.push(new _r(BigInt(e)));else if("bigint"==typeof e)this.flattened.push(new _r(e));else{if("object"!=typeof e)throw new Error(`Invalid argument "${e}" of type ${t.kind}`);if(zr.isBuffer(e))this.flattened.push(_r.fromBuffer(e));else if("function"==typeof e.toField)this.flattened.push(e.toField());else{if(!(e instanceof _r))throw new Error(`Argument for ${r} cannot be serialised to a field`);this.flattened.push(e)}}break;case"boolean":this.flattened.push(new _r(e?1n:0n));break;case"array":for(let n=0;n<t.length;n+=1)this.encodeArgument(t.type,e[n],`${r}[${n}]`);break;case"struct":for(const n of t.fields)this.encodeArgument(n.type,e[n.name],`${r}.${n.name}`);break;case"integer":this.flattened.push(new _r(e));break;default:throw new Error(`Unsupported type: ${t.kind}`)}}encode(){for(let t=0;t<this.abi.parameters.length;t+=1){const e=this.abi.parameters[t];this.encodeArgument(e.type,this.args[t],e.name)}return this.flattened}}function Mr(t,e){return new Dr(t,e).encode()}var Zr=r(816).Buffer;function Yr(t,e=4){const r=Zr.alloc(e);return r.writeUInt32BE(t,e-4),r}function Wr(t,e=4){const r=Zr.alloc(e);return r.writeInt32BE(t,e-4),r}function Nr(t){const e=Zr.alloc(4);return e.writeUInt32BE(t.length,0),Zr.concat([e,t])}function Ur(t,e){return t.map(e)}r(816).Buffer;var Fr=r(816).Buffer;class Qr{constructor(t){if(this.value=t,t>2**(8*Qr.SIZE)-1)throw new Error(`Function selector must fit in ${Qr.SIZE} bytes.`)}isEmpty(){return 0===this.value}toBuffer(){return pr(BigInt(this.value),Qr.SIZE)}toString(){return this.toBuffer().toString("hex")}equals(t){return this.value===t.value}static fromBuffer(t){const e=Br.asReader(t),r=Number(dr(e.readBytes(Qr.SIZE)));return new Qr(r)}toField(){return new _r(this.value)}static fromField(t){return new Qr(Number(t.value))}static fromSignature(t){return Qr.fromBuffer(yr(Fr.from(t)).subarray(0,Qr.SIZE))}static fromNameAndParameters(t,e){const r="constructor"===t?t:`${t}(${e.map((t=>t.type.kind)).join(",")})`;return Qr.fromSignature(r)}static empty(){return new Qr(0)}}Qr.SIZE=4;var Hr=r(816).Buffer;function Gr(t,e=4){const r=Hr.alloc(e);return r.writeUInt32BE(t,e-4),r}function Jr(t){return!!t.toBuffer32}function Xr(...t){let e=[];for(const n of t)Array.isArray(n)?e=[...e,...Xr(...n)]:Hr.isBuffer(n)?e.push(n):"boolean"==typeof n?e.push((r=n,Hr.from([r?1:0]))):"number"==typeof n?e.push(Gr(n)):"string"==typeof n?(e.push(Gr(n.length)),e.push(Hr.from(n))):Jr(n)?e.push(n.toBuffer32()):e.push(n.toBuffer());var r;return e}function Kr(...t){return Hr.concat(Xr(...t))}class qr{constructor(t,e,r,n){this.chainId=t,this.version=e,this.blockNumber=r,this.timestamp=n}static from(t){return new qr(...qr.getFields(t))}static empty(){return new qr(_r.zero(),_r.zero(),_r.zero(),_r.zero())}static fromBuffer(t){const e=Br.asReader(t);return new qr(e.readFr(),e.readFr(),e.readFr(),e.readFr())}static getFields(t){return[t.chainId,t.version,t.blockNumber,t.timestamp]}toBuffer(){return Kr(...qr.getFields(this))}}const Vr=16,$r=16,tn=16,en=16,rn=32;var nn,an,sn,on;function cn(t,e,r=0){return Array.from({length:t},((t,n)=>e(n+r)))}function fn(t,e,r){if(t[e].length!==r)throw new Error(`Expected ${e} to have length ${r} but was ${t[e].length}`)}function un(t,e,r){const n=t[e];for(let t=0;t<n.length;t++)if(n[t].length!==r)throw new Error(`Expected ${e}[${t}] to have length ${r} but was ${n[t].length}`)}!function(t){t[t.COMMITMENT=1]="COMMITMENT",t[t.COMMITMENT_NONCE=2]="COMMITMENT_NONCE",t[t.UNIQUE_COMMITMENT=3]="UNIQUE_COMMITMENT",t[t.SILOED_COMMITMENT=4]="SILOED_COMMITMENT",t[t.NULLIFIER=5]="NULLIFIER",t[t.INITIALISATION_NULLIFIER=6]="INITIALISATION_NULLIFIER",t[t.OUTER_NULLIFIER=7]="OUTER_NULLIFIER",t[t.PUBLIC_DATA_READ=8]="PUBLIC_DATA_READ",t[t.PUBLIC_DATA_UPDATE_REQUEST=9]="PUBLIC_DATA_UPDATE_REQUEST",t[t.FUNCTION_DATA=10]="FUNCTION_DATA",t[t.FUNCTION_LEAF=11]="FUNCTION_LEAF",t[t.CONTRACT_DEPLOYMENT_DATA=12]="CONTRACT_DEPLOYMENT_DATA",t[t.CONSTRUCTOR=13]="CONSTRUCTOR",t[t.CONSTRUCTOR_ARGS=14]="CONSTRUCTOR_ARGS",t[t.CONTRACT_ADDRESS=15]="CONTRACT_ADDRESS",t[t.CONTRACT_LEAF=16]="CONTRACT_LEAF",t[t.CALL_CONTEXT=17]="CALL_CONTEXT",t[t.CALL_STACK_ITEM=18]="CALL_STACK_ITEM",t[t.CALL_STACK_ITEM_2=19]="CALL_STACK_ITEM_2",t[t.L1_TO_L2_MESSAGE_SECRET=20]="L1_TO_L2_MESSAGE_SECRET",t[t.L2_TO_L1_MSG=21]="L2_TO_L1_MSG",t[t.TX_CONTEXT=22]="TX_CONTEXT",t[t.PUBLIC_LEAF_INDEX=23]="PUBLIC_LEAF_INDEX",t[t.PUBLIC_DATA_LEAF=24]="PUBLIC_DATA_LEAF",t[t.SIGNED_TX_REQUEST=25]="SIGNED_TX_REQUEST",t[t.GLOBAL_VARIABLES=26]="GLOBAL_VARIABLES",t[t.PARTIAL_ADDRESS=27]="PARTIAL_ADDRESS",t[t.TX_REQUEST=33]="TX_REQUEST",t[t.SIGNATURE_PAYLOAD=34]="SIGNATURE_PAYLOAD",t[t.VK=41]="VK",t[t.PRIVATE_CIRCUIT_PUBLIC_INPUTS=42]="PRIVATE_CIRCUIT_PUBLIC_INPUTS",t[t.PUBLIC_CIRCUIT_PUBLIC_INPUTS=43]="PUBLIC_CIRCUIT_PUBLIC_INPUTS",t[t.FUNCTION_ARGS=44]="FUNCTION_ARGS"}(nn||(nn={})),function(t){t[t.BASE_SLOT=0]="BASE_SLOT",t[t.MAPPING_SLOT=1]="MAPPING_SLOT",t[t.MAPPING_SLOT_PLACEHOLDER=2]="MAPPING_SLOT_PLACEHOLDER"}(an||(an={})),function(t){t[t.VALUE=1]="VALUE",t[t.OWNER=2]="OWNER",t[t.CREATOR=3]="CREATOR",t[t.SALT=4]="SALT",t[t.NONCE=5]="NONCE",t[t.MEMO=6]="MEMO",t[t.IS_DUMMY=7]="IS_DUMMY"}(sn||(sn={})),function(t){t[t.PARTITIONED=1]="PARTITIONED",t[t.WHOLE=2]="WHOLE"}(on||(on={}));class ln{constructor(t,e){this.root=t,this.nextAvailableLeafIndex=e}toBuffer(){return Kr(this.root,this.nextAvailableLeafIndex)}static fromBuffer(t){const e=Br.asReader(t);return new ln(e.readFr(),e.readNumber())}static empty(){return new ln(_r.ZERO,0)}}class hn{constructor(t,e,r,n,i,a,s,o,c,f,u,l,h,d,p){this.kernelData=t,this.startPrivateDataTreeSnapshot=e,this.startNullifierTreeSnapshot=r,this.startContractTreeSnapshot=n,this.startPublicDataTreeRoot=i,this.startHistoricBlocksTreeSnapshot=a,this.lowNullifierLeafPreimages=s,this.lowNullifierMembershipWitness=o,this.newCommitmentsSubtreeSiblingPath=c,this.newNullifiersSubtreeSiblingPath=f,this.newContractsSubtreeSiblingPath=u,this.newPublicDataUpdateRequestsSiblingPaths=l,this.newPublicDataReadsSiblingPaths=h,this.historicBlocksTreeRootMembershipWitnesses=d,this.constants=p,fn(this,"lowNullifierLeafPreimages",32),fn(this,"lowNullifierMembershipWitness",32),fn(this,"newCommitmentsSubtreeSiblingPath",rn-hn.PRIVATE_DATA_SUBTREE_HEIGHT),fn(this,"newNullifiersSubtreeSiblingPath",16-hn.NULLIFIER_SUBTREE_HEIGHT),fn(this,"newContractsSubtreeSiblingPath",16-hn.CONTRACT_SUBTREE_HEIGHT),fn(this,"newPublicDataUpdateRequestsSiblingPaths",32),fn(this,"newPublicDataReadsSiblingPaths",32),un(this,"newPublicDataUpdateRequestsSiblingPaths",254),un(this,"newPublicDataReadsSiblingPaths",254)}static from(t){return new hn(...hn.getFields(t))}static getFields(t){return[t.kernelData,t.startPrivateDataTreeSnapshot,t.startNullifierTreeSnapshot,t.startContractTreeSnapshot,t.startPublicDataTreeRoot,t.startHistoricBlocksTreeSnapshot,t.lowNullifierLeafPreimages,t.lowNullifierMembershipWitness,t.newCommitmentsSubtreeSiblingPath,t.newNullifiersSubtreeSiblingPath,t.newContractsSubtreeSiblingPath,t.newPublicDataUpdateRequestsSiblingPaths,t.newPublicDataReadsSiblingPaths,t.historicBlocksTreeRootMembershipWitnesses,t.constants]}toBuffer(){return Kr(...hn.getFields(this))}}hn.PRIVATE_DATA_SUBTREE_HEIGHT=Math.log2(32),hn.CONTRACT_SUBTREE_HEIGHT=Math.log2(2),hn.NULLIFIER_SUBTREE_HEIGHT=Math.log2(32);var dn,pn,bn,gn,yn=r(3545);class mn{constructor(t){this.items=t}toBuffer(){return Kr(this.items.length,this.items)}toFriendlyJSON(){return this.items}}(gn=dn||(dn={}))[gn.STANDARD=0]="STANDARD",gn[gn.TURBO=1]="TURBO",gn[gn.ULTRA=2]="ULTRA",(bn=pn||(pn={}))[bn.Base=0]="Base",bn[bn.Merge=1]="Merge",bn[bn.Root=2]="Root";class wn{constructor(t,e){this.x="bigint"==typeof t?new Tr(t):t,this.y="bigint"==typeof e?new Tr(e):e}toBuffer(){return Kr(this.x,this.y)}static fromBuffer(t){const e=Br.asReader(t);return new wn(e.readFr(),e.readFr())}}class vn{constructor(t,e,r,n,i=!1){this.p0=t,this.p1=e,this.publicInputs=r,this.proofWitnessIndices=n,this.hasData=i}toBuffer(){return Kr(this.p0,this.p1,new mn(this.publicInputs),new mn(this.proofWitnessIndices),this.hasData)}static fromBuffer(t){const e=Br.asReader(t);return new vn(e.readObject(wn),e.readObject(wn),e.readVector(_r),e.readNumberVector(),e.readBoolean())}static makeFake(){return new vn(new wn(new Tr(1n),new Tr(2n)),new wn(new Tr(1n),new Tr(2n)),[],yn(16,(t=>3027+t)),!1)}}r(816).Buffer;var En=r(816).Buffer;class Sn{constructor(t){this.buffer=t;const e=dr(t);if(e>Sn.MAX_VALUE)throw new Error(`AztecAddress out of range ${e}.`)}static random(){return new Sn(pr(_r.random().value,Sn.SIZE_IN_BYTES))}static fromBuffer(t){return new this(Br.asReader(t).readBytes(this.SIZE_IN_BYTES))}static fromString(t){const e=En.from(t.replace(/^0x/i,""),"hex");if(e.length!==Sn.SIZE_IN_BYTES)throw new Error(`Invalid length ${e.length}.`);return new Sn(e)}static fromBigInt(t){return new Sn(pr(t,Sn.SIZE_IN_BYTES))}toBuffer(){return this.buffer}toString(){return`0x${this.buffer.toString("hex")}`}toShortString(){const t=this.toString();return`${t.slice(0,10)}...${t.slice(-4)}`}static fromField(t){return new Sn(pr(t.value,Sn.SIZE_IN_BYTES))}toField(){return _r.fromBuffer(this.toBuffer())}toBigInt(){return dr(this.buffer)}equals(t){return this.buffer.equals(t.buffer)}isZero(){return this.equals(Sn.ZERO)}toFriendlyJSON(){return this.toString()}}Sn.SIZE_IN_BYTES=32,Sn.ZERO=new Sn(En.alloc(Sn.SIZE_IN_BYTES)),Sn.MODULUS=0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n,Sn.MAX_VALUE=Sn.MODULUS-1n;var kn=r(816).Buffer;class In{constructor(t){if(this.buffer=t,32===t.length){if(!t.slice(0,12).equals(kn.alloc(12)))throw new Error(`Invalid address buffer: ${t.toString("hex")}`);this.buffer=t.slice(12)}else if(t.length!==In.SIZE_IN_BYTES)throw new Error(`Expect buffer size to be ${In.SIZE_IN_BYTES}. Got ${t.length}.`)}static fromString(t){if(!In.isAddress(t))throw new Error(`Invalid address string: ${t}`);return new In(kn.from(t.replace(/^0x/i,""),"hex"))}static random(){return new In(kr(20))}static isAddress(t){return!!/^(0x)?[0-9a-f]{40}$/i.test(t)&&(!(!/^(0x|0X)?[0-9a-f]{40}$/.test(t)&&!/^(0x|0X)?[0-9A-F]{40}$/.test(t))||In.checkAddressChecksum(t))}isZero(){return this.equals(In.ZERO)}static checkAddressChecksum(t){const e=mr((t=t.replace(/^0x/i,"")).toLowerCase());for(let r=0;r<40;r++)if(parseInt(e[r],16)>7&&t[r].toUpperCase()!==t[r]||parseInt(e[r],16)<=7&&t[r].toLowerCase()!==t[r])return!1;return!0}static toChecksumAddress(t){if(!In.isAddress(t))throw new Error("Invalid address string.");const e=mr(t=t.toLowerCase().replace(/^0x/i,""));let r="0x";for(let n=0;n<t.length;n++)parseInt(e[n],16)>7?r+=t[n].toUpperCase():r+=t[n];return r}equals(t){return this.buffer.equals(t.buffer)}toString(){return`0x${this.buffer.toString("hex")}`}toChecksumString(){return In.toChecksumAddress(this.buffer.toString("hex"))}toBuffer(){return this.toBuffer32()}toBuffer20(){return this.buffer}toBuffer32(){const t=kn.alloc(32);return this.buffer.copy(t,12),t}toField(){return _r.fromBuffer(this.toBuffer32())}static fromField(t){return new In(t.toBuffer().slice(-In.SIZE_IN_BYTES))}static fromBuffer(t){const e=Br.asReader(t);return new In(e.readBuffer())}toFriendlyJSON(){return this.toString()}}In.SIZE_IN_BYTES=20,In.ZERO=new In(kn.alloc(In.SIZE_IN_BYTES));class Ln{constructor(t,e,r,n,i,a){this.msgSender=t,this.storageContractAddress=e,this.isDelegateCall=n,this.isStaticCall=i,this.isContractDeployment=a,this.portalContractAddress=r instanceof In?r:In.fromField(r)}static empty(){return new Ln(Sn.ZERO,Sn.ZERO,_r.ZERO,!1,!1,!1)}isEmpty(){return this.msgSender.isZero()&&this.storageContractAddress.isZero()&&this.portalContractAddress.isZero()}static from(t){return new Ln(...Ln.getFields(t))}static getFields(t){return[t.msgSender,t.storageContractAddress,t.portalContractAddress,t.isDelegateCall,t.isStaticCall,t.isContractDeployment]}toBuffer(){return Kr(...Ln.getFields(this))}static fromBuffer(t){const e=Br.asReader(t);return new Ln(new Sn(e.readBytes(32)),new Sn(e.readBytes(32)),new In(e.readBytes(32)),e.readBoolean(),e.readBoolean(),e.readBoolean())}}class xn{constructor(t,e,r,n){this.selector=t,this.isInternal=e,this.isPrivate=r,this.isConstructor=n}static fromAbi(t){return new xn(Qr.fromNameAndParameters(t.name,t.parameters),t.isInternal,t.functionType===ur.SECRET,"constructor"===t.name)}toBuffer(){return Kr(this.selector,this.isInternal,this.isPrivate,this.isConstructor)}isEmpty(){return this.selector.isEmpty()}static empty(t){return new xn(Qr.empty(),t?.isInternal??!1,t?.isPrivate??!1,t?.isConstructor??!1)}static fromBuffer(t){const e=Br.asReader(t);return new xn(e.readObject(Qr),e.readBoolean(),e.readBoolean(),e.readBoolean())}}var Cn=r(816).Buffer;class Bn{constructor(t,e,r){this.contractAddress=t,this.functionTreeRoot=r,this.portalContractAddress=new In(e.toBuffer())}toBuffer(){return Kr(this.contractAddress,this.portalContractAddress,this.functionTreeRoot)}static fromBuffer(t){const e=Br.asReader(t);return new Bn(e.readObject(Sn),new In(e.readBytes(32)),e.readFr())}static empty(){return new Bn(Sn.ZERO,In.ZERO,_r.ZERO)}}class Rn{constructor(t,e,r,n,i,a,s,o){this.callStackItemHash=t,this.functionData=e,this.vkHash=r,this.payFeeFromL1=i,this.payFeeFromPublicL2=a,this.calledFromL1=s,this.calledFromPublicL2=o,this.portalContractAddress=In.fromField(n.toField())}toBuffer(){return Kr(this.callStackItemHash,this.functionData,this.vkHash,this.portalContractAddress,this.payFeeFromL1,this.payFeeFromPublicL2,this.calledFromL1,this.calledFromPublicL2)}static fromBuffer(t){const e=Br.asReader(t);return new Rn(e.readFr(),e.readObject(xn),e.readFr(),new In(e.readBytes(32)),e.readBoolean(),e.readBoolean(),e.readBoolean(),e.readBoolean())}static empty(){return new Rn(_r.ZERO,xn.empty(),_r.ZERO,In.ZERO,!1,!1,!1,!1)}}class _n{constructor(t,e,r){this.leafIndex=t,this.value=e,this.sideEffectCounter=r}static from(t){return new _n(t.leafIndex,t.value)}toBuffer(){return Kr(this.leafIndex,this.value)}static fromBuffer(t){const e=Br.asReader(t);return new _n(e.readFr(),e.readFr())}static empty(){return new _n(_r.ZERO,_r.ZERO)}toFriendlyJSON(){return`Leaf=${this.leafIndex.toFriendlyJSON()}: ${this.value.toFriendlyJSON()}`}}class Tn{constructor(t,e,r,n){this.leafIndex=t,this.oldValue=e,this.newValue=r,this.sideEffectCounter=n}static from(t){return new Tn(t.leafIndex,t.oldValue,t.newValue)}toBuffer(){return Kr(this.leafIndex,this.oldValue,this.newValue)}static fromBuffer(t){const e=Br.asReader(t);return new Tn(e.readFr(),e.readFr(),e.readFr())}static empty(){return new Tn(_r.ZERO,_r.ZERO,_r.ZERO)}toFriendlyJSON(){return`Leaf=${this.leafIndex.toFriendlyJSON()}: ${this.oldValue.toFriendlyJSON()} => ${this.newValue.toFriendlyJSON()}`}}class On{constructor(t,e,r,n,i,a,s,o,c,f,u,l,h,d,p,b,g){this.aggregationObject=t,this.readRequests=e,this.readRequestMembershipWitnesses=r,this.newCommitments=n,this.newNullifiers=i,this.nullifiedCommitments=a,this.privateCallStack=s,this.publicCallStack=o,this.newL2ToL1Msgs=c,this.encryptedLogsHash=f,this.unencryptedLogsHash=u,this.encryptedLogPreimagesLength=l,this.unencryptedLogPreimagesLength=h,this.newContracts=d,this.optionallyRevealedData=p,this.publicDataUpdateRequests=b,this.publicDataReads=g,fn(this,"readRequests",en),fn(this,"readRequestMembershipWitnesses",en),fn(this,"newCommitments",Vr),fn(this,"newNullifiers",$r),fn(this,"nullifiedCommitments",$r),fn(this,"privateCallStack",8),fn(this,"publicCallStack",8),fn(this,"newL2ToL1Msgs",2),fn(this,"encryptedLogsHash",2),fn(this,"unencryptedLogsHash",2),fn(this,"newContracts",1),fn(this,"optionallyRevealedData",4),fn(this,"publicDataUpdateRequests",tn),fn(this,"publicDataReads",16)}toBuffer(){return Kr(this.aggregationObject,this.readRequests,this.readRequestMembershipWitnesses,this.newCommitments,this.newNullifiers,this.nullifiedCommitments,this.privateCallStack,this.publicCallStack,this.newL2ToL1Msgs,this.encryptedLogsHash,this.unencryptedLogsHash,this.encryptedLogPreimagesLength,this.unencryptedLogPreimagesLength,this.newContracts,this.optionallyRevealedData,this.publicDataUpdateRequests,this.publicDataReads)}toString(){return this.toBuffer().toString()}static fromBuffer(t){const e=Br.asReader(t);return new On(e.readObject(vn),e.readArray(en,_r),e.readArray(en,ri),e.readArray(Vr,_r),e.readArray($r,_r),e.readArray($r,_r),e.readArray(8,_r),e.readArray(8,_r),e.readArray(2,_r),e.readArray(2,_r),e.readArray(2,_r),e.readFr(),e.readFr(),e.readArray(1,Bn),e.readArray(4,Rn),e.readArray(tn,Tn),e.readArray(16,_n))}static fromString(t){return On.fromBuffer(Cn.from(t,"hex"))}static empty(){return new On(vn.makeFake(),cn(en,_r.zero),cn(en,(()=>ri.empty(BigInt(0)))),cn(Vr,_r.zero),cn($r,_r.zero),cn($r,_r.zero),cn(8,_r.zero),cn(8,_r.zero),cn(2,_r.zero),cn(2,_r.zero),cn(2,_r.zero),_r.zero(),_r.zero(),cn(1,Bn.empty),cn(4,Rn.empty),cn(tn,Tn.empty),cn(16,_n.empty))}}class An{constructor(t,e,r,n,i){this.deployerPublicKey=t,this.constructorVkHash=e,this.functionTreeRoot=r,this.contractAddressSalt=n,this.portalContractAddress=In.fromField(i.toField())}toBuffer(){return Kr(this.deployerPublicKey,this.constructorVkHash,this.functionTreeRoot,this.contractAddressSalt,this.portalContractAddress)}static empty(){return new An(Ar.ZERO,_r.ZERO,_r.ZERO,_r.ZERO,In.ZERO)}static fromBuffer(t){const e=Br.asReader(t);return new An(e.readObject(Ar),e.readFr(),e.readFr(),e.readFr(),new In(e.readBytes(32)))}}class jn{constructor(t,e,r,n,i,a){this.isFeePaymentTx=t,this.isRebatePaymentTx=e,this.isContractDeploymentTx=r,this.contractDeploymentData=n,this.chainId=i,this.version=a}toBuffer(){return Kr(this.isFeePaymentTx,this.isRebatePaymentTx,this.isContractDeploymentTx,this.contractDeploymentData,this.chainId,this.version)}static fromBuffer(t){const e=Br.asReader(t);return new jn(e.readBoolean(),e.readBoolean(),e.readBoolean(),e.readObject(An),e.readFr(),e.readFr())}static empty(t=0,e=0){return new jn(!1,!1,!1,An.empty(),new _r(t),new _r(e))}static from(t){return new jn(...jn.getFields(t))}static getFields(t){return[t.isFeePaymentTx,t.isRebatePaymentTx,t.isContractDeploymentTx,t.contractDeploymentData,t.chainId,t.version]}}class Pn{constructor(t,e,r,n,i,a,s,o){this.privateDataTreeRoot=t,this.nullifierTreeRoot=e,this.contractTreeRoot=r,this.l1ToL2MessagesTreeRoot=n,this.blocksTreeRoot=i,this.privateKernelVkTreeRoot=a,this.publicDataTreeRoot=s,this.globalVariablesHash=o}static from(t){return new Pn(...Pn.getFields(t))}static random(){return new Pn(_r.random(),_r.random(),_r.random(),_r.random(),_r.random(),_r.random(),_r.random(),_r.random())}static getFields(t){return[t.privateDataTreeRoot,t.nullifierTreeRoot,t.contractTreeRoot,t.l1ToL2MessagesTreeRoot,t.blocksTreeRoot,t.privateKernelVkTreeRoot,t.publicDataTreeRoot,t.globalVariablesHash]}toBuffer(){return Kr(...Pn.getFields(this))}toString(){return this.toBuffer().toString()}toArray(){return[this.privateDataTreeRoot,this.nullifierTreeRoot,this.contractTreeRoot,this.l1ToL2MessagesTreeRoot,this.blocksTreeRoot,this.publicDataTreeRoot,this.globalVariablesHash]}static fromBuffer(t){const e=Br.asReader(t);return new Pn(e.readFr(),e.readFr(),e.readFr(),e.readFr(),e.readFr(),e.readFr(),e.readFr(),e.readFr())}isEmpty(){return this.privateDataTreeRoot.isZero()&&this.nullifierTreeRoot.isZero()&&this.contractTreeRoot.isZero()&&this.l1ToL2MessagesTreeRoot.isZero()&&this.blocksTreeRoot.isZero()&&this.privateKernelVkTreeRoot.isZero()&&this.publicDataTreeRoot.isZero()&&this.globalVariablesHash.isZero()}static empty(){return new Pn(_r.ZERO,_r.ZERO,_r.ZERO,_r.ZERO,_r.ZERO,_r.ZERO,_r.ZERO,_r.ZERO)}}class zn{constructor(t,e){this.blockData=t,this.txContext=e}toBuffer(){return Kr(this.blockData,this.txContext)}static fromBuffer(t){const e=Br.asReader(t);return new zn(e.readObject(Pn),e.readObject(jn))}static empty(){return new zn(Pn.empty(),jn.empty())}}r(1328),r(816).Buffer,r(816).Buffer,r(816).Buffer;class Dn{constructor(t){this.buffer=t}static fromMsgpackBuffer(t){return new Dn(t)}static fromBuffer(t){const e=Br.asReader(t),r=e.readNumber(),n=e.readBytes(r);return new Dn(n)}toMsgpackBuffer(){return this.buffer}toBuffer(){return Kr(this.buffer.length,this.buffer)}}class Mn{constructor(t,e,r){this.end=t,this.constants=e,this.isPrivate=r}toBuffer(){return Kr(this.end,this.constants,this.isPrivate)}static fromBuffer(t){const e=Br.asReader(t);return new Mn(e.readObject(On),e.readObject(zn),e.readBoolean())}static empty(){return new Mn(On.empty(),zn.empty(),!0)}}function Zn(t,e,r){if(t.length>r)throw new Error("Array size exceeds target length");return[...t,...Array(r-t.length).fill(e)]}function Yn(t,e){for(const r of t)if(!e(r))return!1;return!0}class Wn{constructor(t,e,r){this.storageSlot=t,this.currentValue=e,this.sideEffectCounter=r}static from(t){return new Wn(t.storageSlot,t.currentValue)}toBuffer(){return Kr(this.storageSlot,this.currentValue)}static fromBuffer(t){const e=Br.asReader(t);return new Wn(e.readFr(),e.readFr())}static empty(){return new Wn(_r.ZERO,_r.ZERO)}isEmpty(){return this.storageSlot.isZero()&&this.currentValue.isZero()}toFriendlyJSON(){return`Slot=${this.storageSlot.toFriendlyJSON()}: ${this.currentValue.toFriendlyJSON()}`}}class Nn{constructor(t,e,r,n){this.storageSlot=t,this.oldValue=e,this.newValue=r,this.sideEffectCounter=n}toBuffer(){return Kr(this.storageSlot,this.oldValue,this.newValue)}static fromBuffer(t){const e=Br.asReader(t);return new Nn(e.readFr(),e.readFr(),e.readFr())}static from(t){return new Nn(...Nn.getFields(t))}static getFields(t){return[t.storageSlot,t.oldValue,t.newValue,t.sideEffectCounter]}static empty(){return new Nn(_r.ZERO,_r.ZERO,_r.ZERO)}isEmpty(){return this.storageSlot.isZero()&&this.oldValue.isZero()&&this.newValue.isZero()}toFriendlyJSON(){return`Slot=${this.storageSlot.toFriendlyJSON()}: ${this.oldValue.toFriendlyJSON()} => ${this.newValue.toFriendlyJSON()}`}}class Un{constructor(t,e,r,n,i,a,s,o,c,f,u,l,h){this.callContext=t,this.argsHash=e,this.returnValues=r,this.contractStorageUpdateRequests=n,this.contractStorageReads=i,this.publicCallStack=a,this.newCommitments=s,this.newNullifiers=o,this.newL2ToL1Msgs=c,this.unencryptedLogsHash=f,this.unencryptedLogPreimagesLength=u,this.historicBlockData=l,this.proverAddress=h,fn(this,"returnValues",4),fn(this,"publicCallStack",4),fn(this,"newCommitments",4),fn(this,"newNullifiers",4),fn(this,"newL2ToL1Msgs",2),fn(this,"contractStorageUpdateRequests",16),fn(this,"contractStorageReads",16),fn(this,"unencryptedLogsHash",2)}static from(t){return new Un(...Un.getFields(t))}static empty(){return new Un(Ln.empty(),_r.ZERO,cn(4,_r.zero),cn(16,Nn.empty),cn(16,Wn.empty),cn(4,_r.zero),cn(4,_r.zero),cn(4,_r.zero),cn(2,_r.zero),cn(2,_r.zero),_r.ZERO,Pn.empty(),Sn.ZERO)}isEmpty(){const t=t=>Yn(t,(t=>t.isZero()));return this.callContext.isEmpty()&&this.argsHash.isZero()&&t(this.returnValues)&&Yn(this.contractStorageUpdateRequests,(t=>t.isEmpty()))&&Yn(this.contractStorageReads,(t=>t.isEmpty()))&&t(this.publicCallStack)&&t(this.newCommitments)&&t(this.newNullifiers)&&t(this.newL2ToL1Msgs)&&t(this.unencryptedLogsHash)&&this.unencryptedLogPreimagesLength.isZero()&&this.historicBlockData.isEmpty()&&this.proverAddress.isZero()}static getFields(t){return[t.callContext,t.argsHash,t.returnValues,t.contractStorageUpdateRequests,t.contractStorageReads,t.publicCallStack,t.newCommitments,t.newNullifiers,t.newL2ToL1Msgs,t.unencryptedLogsHash,t.unencryptedLogPreimagesLength,t.historicBlockData,t.proverAddress]}toBuffer(){return Kr(...Un.getFields(this))}}var Fn=r(816),Qn=r(3261);function Hn(t,e,r,n){const i=r instanceof Fn.Buffer?r:r.toBuffer(),a=t.call("bbmalloc",n),s=t.call("bbmalloc",i.length);t.writeMemory(s,i),t.call(e,s,a);const o=Fn.Buffer.from(t.getMemorySlice(a,a+n));return t.call("bbfree",a),t.call("bbfree",s),o}function Gn(t,e,r,n){const i=[],a=r.reduce(((t,e)=>(i.push(t),t+e.length)),0),s=t.call("bbmalloc",n),o=t.call("bbmalloc",a);t.writeMemory(o,Fn.Buffer.concat(r));const c=i.map((t=>o+t));t.call(e,...c,s);const f=Fn.Buffer.from(t.getMemorySlice(s,s+n));return t.call("bbfree",o),t.call("bbfree",s),f}function Jn(t,e){return t.call("pedersen__init"),_r.fromBuffer(Hn(t,"abis__compute_function_leaf",e,32))}function Xn(t,e,r){t.call("pedersen__init");const n=Gn(t,"abis__compute_contract_address_from_partial",[e.toBuffer(),r.toBuffer()],32);return new Sn(n)}const Kn=32,qn=16;function Vn(t,e){if(0===e.length)return Promise.resolve(_r.ZERO);if(e.length>Kn*qn)throw new Error(`Cannot hash more than ${Kn*qn} arguments`);t.call("pedersen__init");const r=e=>_r.fromBuffer(Hn(t,"abis__compute_var_args_hash",new mn(e),32));let n=Qn(e,Kn).map((t=>(t.length<Kn&&(t=Zn(t,_r.ZERO,Kn)),r(t))));return n.length<qn&&(n=Zn(n,_r.ZERO,qn)),Promise.resolve(r(n))}class $n{constructor(t,e,r,n){this.contractAddress=t,this.functionData=e,this.publicInputs=r,this.isExecutionRequest=n}toBuffer(){return Kr(this.contractAddress,this.functionData,this.publicInputs,this.isExecutionRequest)}static empty(){return new $n(Sn.ZERO,xn.empty({isPrivate:!1}),Un.empty(),!1)}isEmpty(){return this.contractAddress.isZero()&&this.functionData.isEmpty()&&this.publicInputs.isEmpty()}async hash(){return function(t,e){t.call("pedersen__init");const r=Hn(t,"abis__compute_public_call_stack_item_hash",e,32);return _r.fromBuffer(r)}(await Ti.get(),this)}}class ti{constructor(t,e,r,n){this.origin=t,this.functionData=e,this.argsHash=r,this.txContext=n}static getFields(t){return[t.origin,t.functionData,t.argsHash,t.txContext]}static from(t){return new ti(...ti.getFields(t))}toBuffer(){return Kr([...ti.getFields(this)])}static fromBuffer(t){const e=Br.asReader(t);return new ti(e.readObject(Sn),e.readObject(xn),e.readFr(),e.readObject(jn))}}class ei{constructor(t,e,r,n,i){this.functionSelector=t,this.isInternal=e,this.isPrivate=r,this.vkHash=n,this.acirHash=i}toBuffer(){return Kr(this.functionSelector,this.isInternal,this.isPrivate,this.vkHash,this.acirHash)}static fromBuffer(t){const e=Br.asReader(t);return new ei(e.readObject(Qr),e.readBoolean(),e.readBoolean(),e.readFr(),e.readFr())}}class ri{constructor(t,e,r=!1,n){if(this.leafIndex=t,this.siblingPath=e,this.isTransient=r,this.hintToCommitment=n,fn(this,"siblingPath",rn),n.value>4)throw new Error(`Expected ReadRequestMembershipWitness' hintToCommitment(${n}) to be <= NEW_COMMITMENTS_LENGTH(4)`)}toBuffer(){return Kr(pr(this.leafIndex.toBigInt(),32),...this.siblingPath,this.isTransient,this.hintToCommitment)}static mock(t,e){return new ri(new _r(e),function(t,e=0){const r=[];for(let n=0;n<t;n++)r.push(e+n);return r}(t,e).map((t=>new _r(BigInt(t)))),!1,new _r(0))}static random(){return new ri(new _r(0n),cn(rn,(()=>_r.random())),!1,new _r(0))}static empty(t){const e=cn(rn,(()=>_r.ZERO));return new ri(new _r(t),e,!1,new _r(0))}static emptyTransient(){const t=cn(rn,(()=>_r.ZERO));return new ri(new _r(0),t,!0,new _r(0))}static fromBufferArray(t,e,r,n){return new ri(t,e.map((t=>_r.fromBuffer(t))),r,n)}static fromMembershipWitness(t,e,r){return new ri(new _r(t.leafIndex),t.siblingPath,e,r)}static fromBuffer(t){const e=Br.asReader(t),r=e.readFr(),n=e.readArray(rn,_r),i=e.readBoolean(),a=e.readFr();return new ri(r,n,i,a)}}class ni{constructor(t,e,r,n,i){this.contractAddress=t,this.functionData=e,this.callContext=r,this.args=n,this.sideEffectCounter=i}toBuffer(){return Kr(this.contractAddress,this.functionData,this.callContext,new mn(this.args))}static fromBuffer(t){const e=Br.asReader(t);return new ni(new Sn(e.readBytes(32)),xn.fromBuffer(e),Ln.fromBuffer(e),e.readVector(_r))}static from(t){return new ni(...ni.getFields(t))}static getFields(t){return[t.contractAddress,t.functionData,t.callContext,t.args,t.sideEffectCounter]}async toPublicCallStackItem(){const t=Un.empty();return t.callContext=this.callContext,t.argsHash=await this.getArgsHash(),new $n(this.contractAddress,this.functionData,t,!0)}async getArgsHash(){return Vn(await Ti.get(),this.args)}}var ii=r(6292);let ai;function si(t){const e=ii(t);return(...t)=>function(t,...e){ii.enabled(t.namespace)&&(ai&&ai(t.namespace,...e),t(...e))}(e,...t)}var oi=r(3118);const ci=["silent","fatal","error","warn","info","debug"],fi={NODE_ENV:"production"}.LOG_LEVEL?.toLowerCase(),ui=ci.includes(fi)?fi:"info";function li(t){const e=ii(t);"debug"===ui&&(e.enabled=!0);const r={silent:()=>{},fatal:(...t)=>hi(e,"fatal",t),error:(...t)=>hi(e,"error",t),warn:(...t)=>hi(e,"warn",t),info:(...t)=>hi(e,"info",t),debug:(...t)=>hi(e,"debug",t)};return Object.assign(e,r)}function hi(t,e,r){t.enabled?t(r[0],...r.slice(1)):ci.indexOf(e)<=ci.indexOf(ui)&&function(t){console.error(...t)}([di(t,e),...r])}function di(t,e){const r=ui!==e?` ${e.toUpperCase()}`:"",n=`${t.namespace.replace(/^aztec:/,"")}${r}`;if(!vr||!(0,oi.VB)(process.stderr.fd))return n;const i=ii.selectColor(t.namespace);return` ${"[3"+(i<8?i:"8;5;"+i)};1m${n}`}new class{constructor(){this.logs=[]}enable(){ai=(...t)=>{this.logs.push([(new Date).toISOString(),...t])}}getLogs(t=0){return t?this.logs.slice(-t):this.logs}clear(t=this.logs.length){this.logs=this.logs.slice(t)}};class pi{constructor(t=li("aztec:foundation:memory_fifo")){this.log=t,this.waiting=[],this.items=[],this.flushing=!1}length(){return this.items.length}get(t){return this.items.length?Promise.resolve(this.items.shift()):0===this.items.length&&this.flushing?Promise.resolve(null):new Promise(((e,r)=>{this.waiting.push(e),t&&setTimeout((()=>{const t=this.waiting.findIndex((t=>t===e));if(t>-1){this.waiting.splice(t,1);const e=new Error("Timeout getting item from queue.");r(e)}}),1e3*t)}))}put(t){this.flushing||(this.waiting.length?this.waiting.shift()(t):this.items.push(t))}end(){this.flushing=!0,this.waiting.forEach((t=>t(null)))}cancel(){this.flushing=!0,this.items=[],this.waiting.forEach((t=>t(null)))}async process(t){try{for(;;){const e=await this.get();if(null===e)break;await t(e)}}catch(t){this.log.error("Queue handler exception:",t)}}}const bi=(t=si("wasm:empty_wasi_sdk"))=>({clock_time_get(){t("clock_time_get")},environ_get(){t("environ_get")},environ_sizes_get(){t("environ_sizes_get")},fd_close(){t("fd_close")},fd_read(){t("fd_read")},fd_write(){t("fd_write")},fd_seek(){t("fd_seek")},fd_fdstat_get(){t("fd_fdstat_get")},fd_fdstat_set_flags(){t("fd_fdstat_set_flags")},fd_prestat_get:()=>(t("fd_prestat_get"),8),fd_prestat_dir_name:()=>(t("fd_prestat_dir_name"),28),path_open(){t("path_open")},path_filestat_get(){t("path_filestat_get")},proc_exit:()=>(t("proc_exit"),52),random_get:()=>(t("random_get"),1)});class gi{constructor(t,e,r="aztec:wasm"){this.module=t,this.importFn=e,this.mutexQ=new pi,this.debug=si(r),this.mutexQ.put(!0)}getModule(){return this.module}async init(t=30,e=8192,r="_initialize"){this.debug(`initial mem: ${t} pages, ${65536*t/1048576}mb. max mem: ${e} pages, ${65536*e/1048576}mb`),this.memory=new WebAssembly.Memory({initial:t,maximum:e}),this.heap=new Uint8Array(this.memory.buffer);const n={wasi_snapshot_preview1:{...bi(this.debug),random_get:(t,e)=>{t>>>=0;const r=this.getMemory(),n=kr(e);for(let i=t;i<t+e;++i)r[i]=n[i-t]}},env:this.importFn(this)};if(this.module instanceof WebAssembly.Module)this.instance=await WebAssembly.instantiate(this.module,n);else{const{instance:t}=await WebAssembly.instantiate(this.module,n);this.instance=t}r&&this.call(r)}exports(){if(!this.instance)throw new Error("WasmModule: not initialized!");return this.instance.exports}getLogger(){return this.debug}addLogger(t){const e=this.debug;this.debug=(...r)=>{t(...r),e(...r)}}call(t,...e){if(!this.exports()[t])throw new Error(`WASM function ${t} not found.`);try{return this.exports()[t](...e)>>>0}catch(e){const r=`WASM function ${t} aborted, error: ${e}\n${e.stack}`;throw new Error(r)}}getRawMemory(){return this.memory}getMemory(){return 0===this.heap.length&&(this.heap=new Uint8Array(this.memory.buffer)),this.heap}memSize(){return this.getMemory().length}getMemorySlice(t,e){return this.getMemory().slice(t,e)}writeMemory(t,e){const r=this.getMemory();for(let n=0;n<e.length;n++)r[n+t]=e[n]}getMemoryAsString(t){t>>>=0;const e=this.getMemory();let r=t;for(;0!==e[r];++r);return Fn.Buffer.from(e.slice(t,r)).toString("ascii")}async acquire(){await this.mutexQ.get()}release(){if(0!==this.mutexQ.length())throw new Error("Release called but not acquired.");this.mutexQ.put(!0)}}var yi=r(9190),mi=r(3240),wi=r(6721),vi=r(1856),Ei=r(6014),Si=r(717),ki=r(6963),Ii=r(816).Buffer;class Li{constructor(t){this.numPoints=t}async init(){const t=28+64*this.numPoints-1,e=await fetch("https://aztec-ignition.s3.amazonaws.com/MAIN%20IGNITION/monomial/transcript00.dat",{headers:{Range:`bytes=28-${t}`}});this.data=new Uint8Array(await e.arrayBuffer()),await this.downloadG2Data()}async downloadG2Data(){const t=await fetch("https://aztec-ignition.s3.amazonaws.com/MAIN%20IGNITION/monomial/transcript00.dat",{headers:{Range:"bytes=322560092-322560219"}});this.g2Data=new Uint8Array(await t.arrayBuffer())}getG1Data(){return this.data}getG2Data(){return this.g2Data}}class xi{constructor(t,e){this.numPoints=t,this.path=e}async init(){const t=64*this.numPoints,e=await(0,Ei.open)(this.path,"r");try{this.data=Ii.alloc(t),await e.read(this.data,0,t,28),this.g2Data=Ii.alloc(128),await e.read(this.g2Data,0,128,322560028)}finally{await e.close()}}getG1Data(){return this.data}getG2Data(){return this.g2Data}}class Ci{constructor(t){if(this.numPoints=t,vr){const e=(0,Si.dirname)((0,ki.fileURLToPath)("file:///usr/src/yarn-project/circuits.js/dest/crs/index.js"))+"/../../../../circuits/cpp/barretenberg/cpp/srs_db/ignition/monomial/transcript00.dat";this.crs=(0,vi.existsSync)(e)?new xi(t,e):new Li(t)}else this.crs=new Li(t)}async init(){await this.crs.init()}getG1Data(){return this.crs.getG1Data()}getG2Data(){return this.crs.getG2Data()}}var Bi=r(816).Buffer;const Ri="/aztec3-circuits",_i=vr?(0,mi.join)((0,mi.dirname)((0,wi.fileURLToPath)("file:///usr/src/yarn-project/circuits.js/dest/wasm/circuits_wasm.js")),`../../resources/${Ri}.wasm`):`${Ri}.wasm`;class Ti{constructor(t){this.wasm=t}static get(){return this.instance||(this.instance=Ti.new()),this.instance}static async new(t=30,e=8192,r="aztec:wasm"){const n=new gi(await async function(t){if(vr)return await(0,yi.readFile)(t);{const e=await fetch(t);return Bi.from(await e.arrayBuffer())}}(_i),(t=>({logstr(t){const e=`${n.getMemoryAsString(t)} (mem: ${(n.getMemory().length/1048576).toFixed(2)}MB)`;(e.startsWith("abort: ")||e.startsWith("important: "))&&console.log(e),n.getLogger()(e)},memory:t.getRawMemory(),set_data:()=>{n.getLogger()("set_data: NYI")},get_data:()=>{throw new Error("NOT YET IMPLEMENTED - needed for proofs, plan is to use barretenberg.js from NPM for proofs. See https://github.com/AztecProtocol/aztec-packages/issues/781")}})),r);return await n.init(t,e),await Ti.initializeSrs(n),new Ti(n)}static async initializeSrs(t){const e=new Ci(5e4);await e.init();const r=t.call("bbmalloc",e.getG1Data().length);t.writeMemory(r,e.getG1Data());const n=t.call("bbmalloc",4);t.writeMemory(n,Yr(e.numPoints));const i=t.call("bbmalloc",e.getG2Data().length);t.writeMemory(i,e.getG2Data()),t.call("srs_init_srs",r,n,i),t.call("bbfree",r),t.call("bbfree",n),t.call("bbfree",i)}exports(){return this.wasm.exports()}getMemorySlice(t,e){return this.wasm.getMemorySlice(t,e)}writeMemory(t,e){this.wasm.writeMemory(t,e)}getMemoryAsString(t){return this.wasm.getMemoryAsString(t)}call(t,...e){return this.wasm.call(t,...e)}}r(816).Buffer;var Oi=r(816).Buffer;function Ai(t,e){return function(t,e){return t.call("pedersen__init"),Hn(t,"abis__hash_vk",e,32)}(e,Oi.from(t,"hex"))}function ji({name:t}){return"constructor"===t}function Pi({name:t,functionType:e}){return e!==ur.UNCONSTRAINED&&!ji({name:t})}async function zi(t,e,r,n){const i=t.functions.find(ji);if(!i)throw new Error("Cannot find constructor in the ABI.");if(!i.verificationKey)throw new Error("Missing verification key for the constructor.");const a=await Ti.get(),s=Ai(i.verificationKey,a),o=_r.fromBuffer(s),c=function(t,e){const r=t.filter(Pi),n=[];for(let t=0;t<r.length;t++){const i=r[t],a=Qr.fromNameAndParameters(i.name,i.parameters),s=i.isInternal,o=i.functionType===ur.SECRET,c=Ai(i.verificationKey,e),f=Oi.alloc(32,0),u=Jn(e,new ei(a,s,o,_r.fromBuffer(c),_r.fromBuffer(f)));n.push(u)}return n}(t.functions.map((t=>({...t,selector:Qr.fromNameAndParameters(t.name,t.parameters)}))),a),f=function(t,e){const r=function(t){const e=Hr.alloc(4);return e.writeUInt32BE(t.length,0),Hr.concat([e,...t])}(e.map((t=>t.toBuffer())));t.call("pedersen__init");const n=Hn(t,"abis__compute_function_tree_root",r,32);return _r.fromBuffer(n)}(a,c),u=xn.fromAbi(i),l=Mr(i,e),h=function(t,e,r,n){t.call("pedersen__init");const i=Gn(t,"abis__hash_constructor",[e.toBuffer(),r.toBuffer(),n],32);return _r.fromBuffer(i)}(a,u,await Vn(a,l),o.toBuffer()),d=function(t,e,r,n){t.call("pedersen__init");const i=Gn(t,"abis__compute_partial_address",[e.toBuffer(),r.toBuffer(),n.toBuffer()],32);return _r.fromBuffer(i)}(a,r,f,h),p=function(t,e,r,n,i){t.call("pedersen__init");const a=Gn(t,"abis__compute_contract_address",[e.toBuffer(),r.toBuffer(),n.toBuffer(),i.toBuffer()],32);return new Sn(a)}(a,n,r,f,h);return{completeAddress:await Vi.create(p,n,d),constructorHash:o,functionTreeRoot:f}}var Di=r(816).Buffer;class Mi{static async new(){return new this(await Ti.get())}constructor(t){this.wasm=t}generator(){return Mi.generator}mul(t,e){return this.wasm.writeMemory(0,t.toBuffer()),this.wasm.writeMemory(64,e.value),this.wasm.call("ecc_grumpkin__mul",0,64,96),Ar.fromBuffer(Di.from(this.wasm.getMemorySlice(96,160)))}batchMul(t,e){const r=Di.concat(t.map((t=>t.toBuffer()))),n=t.length*Ar.SIZE_IN_BYTES,i=this.wasm.call("bbmalloc",2*n);this.wasm.writeMemory(i,r),this.wasm.writeMemory(0,e.value),this.wasm.call("ecc_grumpkin__batch_mul",i,0,t.length,i+n);const a=Di.from(this.wasm.getMemorySlice(i+n,i+n+n));this.wasm.call("bbfree",i);const s=[];for(let t=0;t<n;t+=64)s.push(Ar.fromBuffer(a.slice(t,t+64)));return s}getRandomFr(){return this.wasm.call("ecc_grumpkin__get_random_scalar_mod_circuit_modulus",0),_r.fromBuffer(Di.from(this.wasm.getMemorySlice(0,32)))}reduce512BufferToFr(t){return this.wasm.writeMemory(0,t),this.wasm.call("ecc_grumpkin__reduce512_buffer_mod_circuit_modulus",0,64),_r.fromBuffer(Di.from(this.wasm.getMemorySlice(64,96)))}}function Zi(t){const e=Fn.Buffer.alloc(4);return e.writeUInt32BE(t.length,0),Fn.Buffer.concat([e,...t])}Mi.generator=Ar.fromBuffer(Di.from([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,207,19,94,117,6,164,93,99,45,39,13,69,241,24,18,148,131,63,196,141,130,63,39,44]));var Yi=r(6534),Wi=r(816).Buffer;class Ni{constructor(t,e,r){if(this.r=t,this.s=e,this.v=r,32!=t.length)throw new Error("Invalid length of 'r' in ECDSA signature");if(32!=e.length)throw new Error("Invalid length of 's' in ECDSA signature");if(1!=r.length)throw new Error("Invalid length of '1' in ECDSA signature")}toBuffer(){return Wi.concat([this.r,this.s,this.v])}static fromBuffer(t){return new Ni(t.subarray(0,32),t.subarray(32,64),t.subarray(64,65))}static fromBigInts(t,e,r){return new Ni(pr(t,32),pr(e,32),Wi.from([r]))}static random(){return new Ni((0,Yi.randomBytes)(32),(0,Yi.randomBytes)(32),Wi.from([27]))}toString(){return`0x${this.toBuffer().toString("hex")}`}toFields(t=!1){const e=this.toBuffer(),r=Wi.alloc(32),n=Wi.alloc(32),i=Wi.alloc(32);return e.copy(r,1,0,31),e.copy(n,1,31,62),e.copy(i,1,62,t?65:64),Ur([r,n,i],_r.fromBuffer)}}var Ui=r(816).Buffer;class Fi{static async new(){return new this(await Ti.get())}constructor(t){this.wasm=t}computePublicKey(t){return this.wasm.writeMemory(0,t.value),this.wasm.call("ecdsa__compute_public_key",0,32),Ui.from(this.wasm.getMemorySlice(32,96))}constructSignature(t,e){const r=this.wasm.call("bbmalloc",t.length);return this.wasm.writeMemory(0,e.value),this.wasm.writeMemory(r,t),this.wasm.call("ecdsa__construct_signature",r,t.length,0,32,64,96),new Ni(Ui.from(this.wasm.getMemorySlice(32,64)),Ui.from(this.wasm.getMemorySlice(64,96)),Ui.from(this.wasm.getMemorySlice(96,97)))}recoverPublicKey(t,e){const r=this.wasm.call("bbmalloc",t.length);return this.wasm.writeMemory(0,e.r),this.wasm.writeMemory(32,e.s),this.wasm.writeMemory(64,e.v),this.wasm.writeMemory(r,t),this.wasm.call("ecdsa__recover_public_key_from_signature",r,t.length,0,32,64,65),Ui.from(this.wasm.getMemorySlice(65,129))}verifySignature(t,e,r){const n=this.wasm.call("bbmalloc",t.length);return this.wasm.writeMemory(0,e),this.wasm.writeMemory(64,r.r),this.wasm.writeMemory(96,r.s),this.wasm.writeMemory(128,r.v),this.wasm.writeMemory(n,t),!!this.wasm.call("ecdsa__verify_signature",n,t.length,0,64,96,128)}}var Qi=r(816).Buffer;class Hi{static async new(){return new this(await Ti.get())}constructor(t){this.wasm=t}generator(){return Hi.generator}mul(t,e){return this.wasm.writeMemory(0,t),this.wasm.writeMemory(64,e),this.wasm.call("ecc_secp256k1__mul",0,64,96),Qi.from(this.wasm.getMemorySlice(96,160))}getRandomFr(){return this.wasm.call("ecc_secp256k1__get_random_scalar_mod_circuit_modulus",0),Qi.from(this.wasm.getMemorySlice(0,32))}reduce512BufferToFr(t){return this.wasm.writeMemory(0,t),this.wasm.call("ecc_secp256k1__reduce512_buffer_mod_circuit_modulus",0,64),Qi.from(this.wasm.getMemorySlice(64,96))}}Hi.generator=Qi.from([121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,72,58,218,119,38,163,196,101,93,164,251,252,14,17,8,168,253,23,180,72,166,133,84,25,156,71,208,143,251,16,212,184]);var Gi=r(816).Buffer;class Ji{constructor(t){if(this.buffer=t,t.length!==Ji.SIZE)throw new Error(`Invalid signature buffer of length ${t.length}.`)}static isSignature(t){return/^(0x)?[0-9a-f]{128}$/i.test(t)}static fromString(t){if(!Ji.isSignature(t))throw new Error(`Invalid signature string: ${t}`);return new Ji(Gi.from(t.replace(/^0x/i,""),"hex"))}static random(){return new Ji(kr(64))}get s(){return this.buffer.subarray(0,32)}get e(){return this.buffer.subarray(32)}toBuffer(){return this.buffer}static fromBuffer(t){const e=Br.asReader(t);return new Ji(e.readBytes(Ji.SIZE))}toString(){return`0x${this.buffer.toString("hex")}`}toFields(){const t=this.toBuffer(),e=Gi.alloc(32),r=Gi.alloc(32),n=Gi.alloc(32);return t.copy(e,1,0,31),t.copy(r,1,31,62),t.copy(n,1,62,64),Ur([e,r,n],_r.fromBuffer)}}Ji.SIZE=64,Ji.EMPTY=new Ji(Gi.alloc(64));var Xi=r(816).Buffer;class Ki{static async new(){return new this(await Ti.get())}constructor(t){this.wasm=t}computePublicKey(t){return this.wasm.writeMemory(0,t.value),this.wasm.call("schnorr_compute_public_key",0,32),Ar.fromBuffer(Xi.from(this.wasm.getMemorySlice(32,96)))}constructSignature(t,e){const r=this.wasm.call("bbmalloc",t.length+4);return this.wasm.writeMemory(0,e.value),this.wasm.writeMemory(r,Xi.concat([Yr(t.length),t])),this.wasm.call("schnorr_construct_signature",r,0,32,64),new Ji(Xi.from(this.wasm.getMemorySlice(32,96)))}verifySignature(t,e,r){const n=this.wasm.call("bbmalloc",t.length+4);this.wasm.writeMemory(0,e.toBuffer()),this.wasm.writeMemory(64,r.s),this.wasm.writeMemory(96,r.e),this.wasm.writeMemory(n,Xi.concat([Yr(t.length),t])),this.wasm.call("schnorr_verify_signature",n,0,64,96,128);const i=this.wasm.getMemorySlice(128,129);return!Xi.alloc(1,0).equals(i)}}var qi=r(816).Buffer;class Vi{constructor(t,e,r){this.address=t,this.publicKey=e,this.partialAddress=r}static async create(t,e,r){const n=Xn(await Ti.get(),e,r);if(!n.equals(t))throw new Error(`Address cannot be derived from pubkey and partial address (received ${t.toString()}, derived ${n.toString()})`);return new Vi(t,e,r)}static async random(){const t=_r.random(),e=Ar.random(),r=Xn(await Ti.get(),e,t);return new Vi(r,e,t)}static async fromPrivateKeyAndPartialAddress(t,e){const r=await Ti.get(),n=new Mi(r).mul(Mi.generator,t),i=Xn(r,n,e);return new Vi(i,n,e)}toReadableString(){return`Address: ${this.address.toString()}, Public Key: ${this.publicKey.toString()}, Partial Address: ${this.partialAddress.toString()}`}equals(t){return this.address.equals(t.address)&&this.publicKey.equals(t.publicKey)&&this.partialAddress.equals(t.partialAddress)}toBuffer(){return qi.concat([this.address.toBuffer(),this.publicKey.toBuffer(),this.partialAddress.toBuffer()])}static fromBuffer(t){const e=Br.asReader(t);return new this(e.readObject(Sn),e.readObject(Ar),e.readObject(_r))}static fromString(t){return this.fromBuffer(qi.from(t.replace(/^0x/i,""),"hex"))}toString(){return`0x${this.toBuffer().toString("hex")}`}}var $i=r(816).Buffer;class ta{constructor(t){if(this.value=t,32!=t.length)throw new Error(`Invalid private key length. Got ${t.length}, expected 32.`)}toString(){return this.value.toString("hex")}static fromString(t){if(t.startsWith("0x")&&(t=t.slice(2)),64!=t.length)throw new Error(`Invalid private key string length. Got ${t.length}, expected 64.`);return new ta($i.from(t,"hex"))}static random(){return new ta(kr(32))}}function ea(t){return new Promise((e=>setTimeout(e,t)))}class ra{constructor(){this.start=(new Date).getTime()}ms(){return(new Date).getTime()-this.start}s(){return((new Date).getTime()-this.start)/1e3}}class na extends Error{}async function ia(t,e="",r=0,n=1){const i=new ra;for(;;){const a=await t();if(a)return a;if(await ea(1e3*n),r&&i.s()>r)throw new Error(e?`Timeout awaiting ${e}`:"Timeout")}}var aa=r(816).Buffer;class sa{constructor(t,e,r){this.selector=t,this.isInternal=e,this.bytecode=r}toBuffer(){const t=aa.concat([Wr(this.bytecode.length),this.bytecode]);return Kr(this.selector,this.isInternal,t)}static fromBuffer(t){const e=Br.asReader(t),r=Qr.fromBuffer(e.readBytes(4)),n=e.readBoolean();return new sa(r,n,e.readBuffer())}static random(){return new sa(Qr.fromBuffer(kr(4)),!1,kr(64))}}class oa{constructor(t,e){if(this.contractData=t,this.publicFunctions=e,!e.length)throw Error("No public functions provided for ContractDataAndBytecode.");this.bytecode=function(t){const e=Zr.alloc(4);return e.writeUInt32BE(t.length,0),Zr.concat([e,...t])}(e.map((t=>t.toBuffer())))}getPublicFunction(t){return this.publicFunctions.find((e=>e.selector.equals(t)))}toBuffer(){return Kr(this.contractData.toBuffer(),this.bytecode)}toString(){return this.toBuffer().toString("hex")}static fromBuffer(t){const e=Br.asReader(t),r=e.readObject(ca),n=e.readVector(sa);return new oa(r,n)}static fromString(t){return oa.fromBuffer(aa.from(t,"hex"))}static random(){return new oa(ca.random(),[sa.random(),sa.random()])}}class ca{constructor(t,e){this.contractAddress=t,this.portalContractAddress=e}toBuffer(){return Kr(this.contractAddress,this.portalContractAddress.toBuffer20())}toString(){return this.toBuffer().toString("hex")}static fromBuffer(t){const e=Br.asReader(t),r=Sn.fromBuffer(e),n=new In(e.readBytes(In.SIZE_IN_BYTES));return new ca(r,n)}static fromString(t){return ca.fromBuffer(aa.from(t,"hex"))}static random(){return new ca(Sn.random(),In.random())}}function fa(){return{to:Sn.ZERO,functionData:xn.empty(),args:[]}}function ua(t=1,e=void 0){return new qr(ha(t),ha(t+1),ha(void 0!==e?e:t+2),ha(t+3))}function la(t=1){return new ln(ha(t),t)}function ha(t){return new _r(BigInt(t))}r(816).Buffer,r(816).Buffer;var da=r(8517),pa=r(816).Buffer;class ba{constructor(t){this.logs=t}toBuffer(){const t=this.logs.map((t=>Nr(t)));return Nr(pa.concat(t))}getSerializedLength(){return this.logs.reduce(((t,e)=>t+e.length+4),0)+4}hash(){const t=this.toBuffer().subarray(4);return xr(t)}static fromBuffer(t,e=!0){const r=new Br(t,0),n=e?r.readNumber():-1,i=r.readBufferArray(n);return new ba(i)}static random(t){const e=[];for(let r=0;r<t;r++){const t=Ar.random(),r=(0,da.randomBytes)(144-Ar.SIZE_IN_BYTES);e.push(pa.concat([r,t.toBuffer()]))}return new ba(e)}static empty(){return new ba([])}toJSON(){return{logs:this.logs.map((t=>t.toString("hex")))}}static fromJSON(t){const e=t.logs.map((t=>pa.from(t,"hex")));return new ba(e)}}var ga=r(816).Buffer;class ya{constructor(t){this.functionLogs=t}toBuffer(){const t=this.functionLogs.map((t=>t.toBuffer()));return Nr(ga.concat(t))}getSerializedLength(){return this.functionLogs.reduce(((t,e)=>t+e.getSerializedLength()),0)+4}addFunctionLogs(t){this.functionLogs.push(...t)}static fromBuffer(t,e=!0){const r=Br.asReader(t),n=e?r.readNumber():-1,i=r.readBufferArray(n).map((t=>ba.fromBuffer(t,!1)));return new ya(i)}static random(t,e){const r=[];for(let n=0;n<t;n++)r.push(ba.random(e));return new ya(r)}toJSON(){return{functionLogs:this.functionLogs.map((t=>t.toJSON()))}}static fromJSON(t){const e=t.functionLogs.map((t=>ba.fromJSON(t)));return new ya(e)}}var ma=r(816).Buffer;class wa{constructor(t){this.txLogs=t}toBuffer(){const t=this.txLogs.map((t=>t.toBuffer()));return Nr(ma.concat(t))}getSerializedLength(){return this.txLogs.reduce(((t,e)=>t+e.getSerializedLength()),0)+4}static fromBuffer(t){const e=Br.asReader(t),r=e.readNumber(),n=e.readBufferArray(r).map((t=>ya.fromBuffer(t,!1)));return new wa(n)}static random(t,e,r){const n=[];for(let i=0;i<t;i++)n.push(ya.random(e,r));return new wa(n)}static unrollLogs(t){const e=[];for(const r of t)for(const t of r.txLogs)for(const r of t.functionLogs)e.push(...r.logs);return e}toJSON(){return{txLogs:this.txLogs.map((t=>t.toJSON()))}}static fromJSON(t){const e=t.txLogs.map((t=>ya.fromJSON(t)));return new wa(e)}}var va=r(816).Buffer;class Ea{constructor(t,e,r,n,i,a,s,o=ln.empty(),c,f,u,l,h,d,p,b,g,y,m,w,v=[],E,S){if(this.number=t,this.globalVariables=e,this.startPrivateDataTreeSnapshot=r,this.startNullifierTreeSnapshot=n,this.startContractTreeSnapshot=i,this.startPublicDataTreeRoot=a,this.startL1ToL2MessageTreeSnapshot=s,this.startHistoricBlocksTreeSnapshot=o,this.endPrivateDataTreeSnapshot=c,this.endNullifierTreeSnapshot=f,this.endContractTreeSnapshot=u,this.endPublicDataTreeRoot=l,this.endL1ToL2MessageTreeSnapshot=h,this.endHistoricBlocksTreeSnapshot=d,this.newCommitments=p,this.newNullifiers=b,this.newPublicDataWrites=g,this.newL2ToL1Msgs=y,this.newContracts=m,this.newContractData=w,this.newL1ToL2Messages=v,p.length%Vr!=0)throw new Error("The number of new commitments must be a multiple of 16.");E&&this.attachLogs(E,Sa.ENCRYPTED),S&&this.attachLogs(S,Sa.UNENCRYPTED)}static random(t,e=4,r=2,n=3,i=2,a=1){const s=yn($r*e,_r.random),o=yn(Vr*e,_r.random),c=yn(1*e,_r.random),f=yn(1*e,ca.random),u=yn(tn*e,Aa.random),l=yn(16,_r.random),h=yn(2,_r.random),d=wa.random(e,r,i),p=wa.random(e,n,a);return Ea.fromFields({number:t,globalVariables:ua(0,t),startPrivateDataTreeSnapshot:la(0),startNullifierTreeSnapshot:la(0),startContractTreeSnapshot:la(0),startPublicDataTreeRoot:_r.random(),startL1ToL2MessageTreeSnapshot:la(0),startHistoricBlocksTreeSnapshot:la(0),endPrivateDataTreeSnapshot:la(o.length),endNullifierTreeSnapshot:la(s.length),endContractTreeSnapshot:la(c.length),endPublicDataTreeRoot:_r.random(),endL1ToL2MessageTreeSnapshot:la(1),endHistoricBlocksTreeSnapshot:la(1),newCommitments:o,newNullifiers:s,newContracts:c,newContractData:f,newPublicDataWrites:u,newL1ToL2Messages:l,newL2ToL1Msgs:h,newEncryptedLogs:d,newUnencryptedLogs:p})}static fromFields(t){return new this(t.number,t.globalVariables,t.startPrivateDataTreeSnapshot,t.startNullifierTreeSnapshot,t.startContractTreeSnapshot,t.startPublicDataTreeRoot,t.startL1ToL2MessageTreeSnapshot,t.startHistoricBlocksTreeSnapshot,t.endPrivateDataTreeSnapshot,t.endNullifierTreeSnapshot,t.endContractTreeSnapshot,t.endPublicDataTreeRoot,t.endL1ToL2MessageTreeSnapshot,t.endHistoricBlocksTreeSnapshot,t.newCommitments,t.newNullifiers,t.newPublicDataWrites,t.newL2ToL1Msgs,t.newContracts,t.newContractData,t.newL1ToL2Messages,t.newEncryptedLogs,t.newUnencryptedLogs)}encode(){if(void 0===this.newEncryptedLogs||void 0===this.newUnencryptedLogs)throw new Error("newEncryptedLogs and newUnencryptedLogs must be defined when encoding L2BlockData");return Kr(this.globalVariables,this.startPrivateDataTreeSnapshot,this.startNullifierTreeSnapshot,this.startContractTreeSnapshot,this.startPublicDataTreeRoot,this.startL1ToL2MessageTreeSnapshot,this.startHistoricBlocksTreeSnapshot,this.endPrivateDataTreeSnapshot,this.endNullifierTreeSnapshot,this.endContractTreeSnapshot,this.endPublicDataTreeRoot,this.endL1ToL2MessageTreeSnapshot,this.endHistoricBlocksTreeSnapshot,this.newCommitments.length,this.newCommitments,this.newNullifiers.length,this.newNullifiers,this.newPublicDataWrites.length,this.newPublicDataWrites,this.newL2ToL1Msgs.length,this.newL2ToL1Msgs,this.newContracts.length,this.newContracts,this.newContractData,this.newL1ToL2Messages.length,this.newL1ToL2Messages,this.newEncryptedLogs,this.newUnencryptedLogs)}toBuffer(){return this.encode()}static decode(t){const e=Br.asReader(t),r=e.readObject(qr),n=Number(r.blockNumber.value),i=e.readObject(ln),a=e.readObject(ln),s=e.readObject(ln),o=e.readObject(_r),c=e.readObject(ln),f=e.readObject(ln),u=e.readObject(ln),l=e.readObject(ln),h=e.readObject(ln),d=e.readObject(_r),p=e.readObject(ln),b=e.readObject(ln),g=e.readVector(_r),y=e.readVector(_r),m=e.readVector(Aa),w=e.readVector(_r),v=e.readVector(_r),E=e.readArray(v.length,ca),S=e.readVector(_r),k=e.readObject(wa),I=e.readObject(wa);return Ea.fromFields({number:n,globalVariables:r,startPrivateDataTreeSnapshot:i,startNullifierTreeSnapshot:a,startContractTreeSnapshot:s,startPublicDataTreeRoot:o,startL1ToL2MessageTreeSnapshot:c,startHistoricBlocksTreeSnapshot:f,endPrivateDataTreeSnapshot:u,endNullifierTreeSnapshot:l,endContractTreeSnapshot:h,endPublicDataTreeRoot:d,endL1ToL2MessageTreeSnapshot:p,endHistoricBlocksTreeSnapshot:b,newCommitments:g,newNullifiers:y,newPublicDataWrites:m,newL2ToL1Msgs:w,newContracts:v,newContractData:E,newL1ToL2Messages:S,newEncryptedLogs:k,newUnencryptedLogs:I})}attachLogs(t,e){const r=e===Sa.ENCRYPTED?"newEncryptedLogs":"newUnencryptedLogs";if(this[r]){if(this[r]===t)return void Ea.logger(`${r} logs already attached`);throw new Error(`Trying to attach different ${r} logs to block ${this.number}.`)}Ea.logger(`Attaching ${r} logs`);const n=this.newCommitments.length/Vr;if(n!==t.txLogs.length)throw new Error(`Number of txLogs within ${r} does not match number of transactions. Expected: ${n} Got: ${t.txLogs.length}`);this[r]=t}getPublicInputsHash(){return t=Kr(this.globalVariables,this.startPrivateDataTreeSnapshot,this.startNullifierTreeSnapshot,this.startContractTreeSnapshot,this.startPublicDataTreeRoot,this.startL1ToL2MessageTreeSnapshot,this.startHistoricBlocksTreeSnapshot,this.endPrivateDataTreeSnapshot,this.endNullifierTreeSnapshot,this.endContractTreeSnapshot,this.endPublicDataTreeRoot,this.endL1ToL2MessageTreeSnapshot,this.endHistoricBlocksTreeSnapshot,this.getCalldataHash(),this.getL1ToL2MessagesHash()),_r.fromBuffer(pr(dr(xr(t))%_r.MODULUS,32));var t}getStartStateHash(){const t=Kr(new _r(this.number-1),this.startPrivateDataTreeSnapshot,this.startNullifierTreeSnapshot,this.startContractTreeSnapshot,this.startPublicDataTreeRoot,this.startL1ToL2MessageTreeSnapshot,this.startHistoricBlocksTreeSnapshot);return xr(t)}getEndStateHash(){const t=Kr(this.globalVariables.blockNumber,this.endPrivateDataTreeSnapshot,this.endNullifierTreeSnapshot,this.endContractTreeSnapshot,this.endPublicDataTreeRoot,this.endL1ToL2MessageTreeSnapshot,this.endHistoricBlocksTreeSnapshot);return xr(t)}getCalldataHash(){if(void 0===this.newEncryptedLogs)throw new Error('Encrypted logs has to be attached before calling "getCalldataHash"');if(void 0===this.newUnencryptedLogs)throw new Error('Unencrypted logs has to be attached before calling "getCalldataHash"');const t=this.newCommitments.length/32,e=[];for(let r=0;r<t;r++){const t=32,n=32,i=32,a=4,s=va.concat(this.newCommitments.slice(r*t,(r+1)*t).map((t=>t.toBuffer()))),o=va.concat(this.newNullifiers.slice(r*n,(r+1)*n).map((t=>t.toBuffer()))),c=va.concat(this.newPublicDataWrites.slice(r*i,(r+1)*i).map((t=>t.toBuffer()))),f=va.concat(this.newL2ToL1Msgs.slice(r*a,(r+1)*a).map((t=>t.toBuffer()))),u=Ea.computeKernelLogsHash(this.newEncryptedLogs.txLogs[2*r]),l=Ea.computeKernelLogsHash(this.newEncryptedLogs.txLogs[2*r+1]),h=Ea.computeKernelLogsHash(this.newUnencryptedLogs.txLogs[2*r]),d=Ea.computeKernelLogsHash(this.newUnencryptedLogs.txLogs[2*r+1]),p=va.concat([s,o,c,f,this.newContracts[2*r].toBuffer(),this.newContracts[2*r+1].toBuffer(),this.newContractData[2*r].contractAddress.toBuffer(),this.newContractData[2*r].portalContractAddress.toBuffer32(),this.newContractData[2*r+1].contractAddress.toBuffer(),this.newContractData[2*r+1].portalContractAddress.toBuffer32(),u,l,h,d]);e.push(xr(p))}return(t=>{const e=[t];let r=0;for(;e[r].length>1;){const t=[],n=e[r].length;for(let i=0;i<n;i+=2){const n=e[r][i],a=e[r][i+1];t.push(xr(va.concat([n,a])))}e.push(t),r++}return e[e.length-1][0]})(e)}getL1ToL2MessagesHash(){const t=va.concat(this.newL1ToL2Messages.map((t=>t.toBuffer())));return xr(t)}getTx(t){const e=Math.floor(this.newCommitments.length/Vr);if(t>=e)throw new Error(`Failed to get tx ${t}. Block ${this.globalVariables.blockNumber} only has ${e} txs.`);const r=this.newCommitments.slice(Vr*t,Vr*(t+1)),n=this.newNullifiers.slice($r*t,$r*(t+1)),i=this.newPublicDataWrites.slice(tn*t,tn*(t+1)),a=this.newL2ToL1Msgs.slice(2*t,2*(t+1)),s=this.newContracts.slice(1*t,1*(t+1)),o=this.newContractData.slice(1*t,1*(t+1));return new xa(r,n,i,a,s,o)}inspect(t=4){const e=e=>`0x${e.toBuffer().subarray(0,t).toString("hex")}`,r=(t,e)=>"["+t.map(e).join(", ")+"]",n=t=>`(${t.nextAvailableLeafIndex}, ${e(t.root)})`,i=t=>r(t,e),a=t=>r(t,(t=>`(${e(t.leafIndex)}, ${e(t.newValue)})`));return["L2Block",`number: ${this.number}`,"globalVariables: "+(o=this.globalVariables,`(${o.chainId}, ${o.version}, ${o.blockNumber}, ${o.timestamp}))`),`startPrivateDataTreeSnapshot: ${n(this.startPrivateDataTreeSnapshot)}`,`startNullifierTreeSnapshot: ${n(this.startNullifierTreeSnapshot)}`,`startContractTreeSnapshot: ${n(this.startContractTreeSnapshot)}`,`startPublicDataTreeRoot: ${this.startPublicDataTreeRoot.toString()}`,`startL1ToL2MessageTreeSnapshot: ${n(this.startL1ToL2MessageTreeSnapshot)}`,`startHistoricBlocksTreeSnapshot: ${n(this.startHistoricBlocksTreeSnapshot)}`,`endPrivateDataTreeSnapshot: ${n(this.endPrivateDataTreeSnapshot)}`,`endNullifierTreeSnapshot: ${n(this.endNullifierTreeSnapshot)}`,`endContractTreeSnapshot: ${n(this.endContractTreeSnapshot)}`,`endPublicDataTreeRoot: ${this.endPublicDataTreeRoot.toString()}`,`endPublicDataTreeRoot: ${this.endPublicDataTreeRoot.toString()}`,`endL1ToL2MessageTreeSnapshot: ${n(this.endL1ToL2MessageTreeSnapshot)}`,`endHistoricBlocksTreeSnapshot: ${n(this.endHistoricBlocksTreeSnapshot)}`,`newCommitments: ${i(this.newCommitments)}`,`newNullifiers: ${i(this.newNullifiers)}`,`newPublicDataWrite: ${a(this.newPublicDataWrites)}`,`newL2ToL1Msgs: ${i(this.newL2ToL1Msgs)}`,`newContracts: ${i(this.newContracts)}`,`newContractData: ${s=this.newContractData,r(s,(t=>`(${e(t.contractAddress)}, ${e(t.portalContractAddress)})`))}`,`newPublicDataWrite: ${a(this.newPublicDataWrites)}`,`newL1ToL2Messages: ${i(this.newL1ToL2Messages)}`].join("\n");var s,o}static computeKernelLogsHash(t){const e=[va.alloc(32),va.alloc(32)];let r=va.alloc(32);for(const n of t.functionLogs)e[0]=r,e[1]=n.hash(),r=xr(va.concat(e));return r}}Ea.logger=li("aztec:l2_block"),li("aztec:l2_block_downloader");var Sa,ka,Ia=r(816).Buffer;class La{constructor(t){this.buffer=t,fn(this,"buffer",La.SIZE)}equals(t){return this.buffer.equals(t.buffer)}isZero(){return this.buffer.equals(Ia.alloc(32,0))}toString(){return this.buffer.toString("hex")}toBigInt(){return function(t,e=0,r=32){return{elem:dr(t.subarray(e,e+r)),adv:r}}(this.buffer,0,La.SIZE).elem}static fromBigInt(t){return new La(function(t,e=32){return pr(t,e)}(t,La.SIZE))}static fromBuffer28(t){if(28!=t.length)throw new Error("Expected TxHash input buffer to be 28 bytes");const e=Ia.concat([Ia.alloc(this.SIZE-28),t]);return new La(e)}static fromString(t){return new La(Ia.from(t,"hex"))}}La.SIZE=32,La.ZERO=new La(Ia.alloc(La.SIZE));class xa{constructor(t,e,r,n,i,a){this.newCommitments=t,this.newNullifiers=e,this.newPublicDataWrites=r,this.newL2ToL1Msgs=n,this.newContracts=i,this.newContractData=a,this.txHash=new La(this.newNullifiers[0].toBuffer())}}!function(t){t[t.ENCRYPTED=0]="ENCRYPTED",t[t.UNENCRYPTED=1]="UNENCRYPTED"}(Sa||(Sa={})),r(1240),r(816).Buffer,function(t){t[t.CONTRACT_TREE=0]="CONTRACT_TREE",t[t.NULLIFIER_TREE=1]="NULLIFIER_TREE",t[t.PRIVATE_DATA_TREE=2]="PRIVATE_DATA_TREE",t[t.PUBLIC_DATA_TREE=3]="PUBLIC_DATA_TREE",t[t.L1_TO_L2_MESSAGES_TREE=4]="L1_TO_L2_MESSAGES_TREE",t[t.BLOCKS_TREE=5]="BLOCKS_TREE"}(ka||(ka={}));var Ca=r(816).Buffer;class Ba{constructor(t,e,r,n,i,a){if(this.data=t,this.proof=e,this.encryptedLogs=r,this.unencryptedLogs=n,this.newContractPublicFunctions=i,this.enqueuedPublicFunctionCalls=a,this.unencryptedLogs.functionLogs.length<this.encryptedLogs.functionLogs.length)throw new Error(`Number of function logs in unencrypted logs (${this.unencryptedLogs.functionLogs.length}) has to be equal\n or larger than number function logs in encrypted logs (${this.encryptedLogs.functionLogs.length})`);const s=t?.end.publicCallStack&&(o=t.end.publicCallStack,c=t=>t.isZero(),o.reduce(((t,e)=>c(e)?t:t+1),0));var o,c;if(s&&s>(a?.length??0))throw new Error(`Missing preimages for enqueued public function calls in kernel circuit public inputs (expected\n ${s}, got ${a?.length})`)}static fromBuffer(t){const e=Br.asReader(t);return new Ba(e.readObject(Mn),e.readObject(Dn),e.readObject(ya),e.readObject(ya),e.readArray(e.readNumber(),sa),e.readArray(8,ni))}toBuffer(){return Kr([this.data,this.proof,this.encryptedLogs,this.unencryptedLogs,Yr(this.newContractPublicFunctions.length),this.newContractPublicFunctions,this.enqueuedPublicFunctionCalls])}toJSON(){return{data:this.data.toBuffer().toString("hex"),encryptedLogs:this.encryptedLogs.toBuffer().toString("hex"),unencryptedLogs:this.unencryptedLogs.toBuffer().toString("hex"),proof:this.proof.toBuffer().toString("hex"),newContractPublicFunctions:this.newContractPublicFunctions.map((t=>t.toBuffer().toString("hex")))??[],enqueuedPublicFunctions:this.enqueuedPublicFunctionCalls.map((t=>t.toBuffer().toString("hex")))??[]}}static fromJSON(t){const e=Mn.fromBuffer(Ca.from(t.data,"hex")),r=ya.fromBuffer(Ca.from(t.encryptedLogs,"hex")),n=ya.fromBuffer(Ca.from(t.unencryptedLogs,"hex")),i=Ca.from(t.proof,"hex"),a=t.newContractPublicFunctions?t.newContractPublicFunctions.map((t=>sa.fromBuffer(Ca.from(t,"hex")))):[],s=t.enqueuedPublicFunctions?t.enqueuedPublicFunctions.map((t=>ni.fromBuffer(Ca.from(t,"hex")))):[];return new Ba(e,Dn.fromBuffer(i),r,n,a,s)}getTxHash(){const t=this.data?.end.newNullifiers[0];if(!t)throw new Error("Cannot get tx hash since first nullifier is missing");return Promise.resolve(new La(t.toBuffer()))}static async getHashes(t){return await Promise.all(t.map((t=>t.getTxHash())))}static clone(t){const e=Mn.fromBuffer(t.data.toBuffer()),r=Dn.fromBuffer(t.proof.toBuffer()),n=ya.fromBuffer(t.encryptedLogs.toBuffer()),i=ya.fromBuffer(t.unencryptedLogs.toBuffer()),a=t.newContractPublicFunctions.map((t=>sa.fromBuffer(t.toBuffer()))),s=t.enqueuedPublicFunctionCalls.map((t=>ni.fromBuffer(t.toBuffer())));return new Ba(e,r,n,i,a,s)}}class Ra{constructor(t,e,r){this.tx=t,this.partialAddress=e,this.contractAddress=r}toJSON(){return{tx:this.tx.toJSON(),partialAddress:this.partialAddress.toBuffer().toString(),contractAddress:this.contractAddress.toBuffer().toString()}}static fromJSON(t){return new Ra(Ba.fromJSON(t.tx),_r.fromBuffer(Ca.from(t.partialAddress,"hex")),Sn.fromBuffer(Ca.from(t.contractAddress,"hex")))}}var _a,Ta=r(816).Buffer;!function(t){t.DROPPED="dropped",t.MINED="mined",t.PENDING="pending"}(_a||(_a={}));class Oa{constructor(t,e,r,n,i,a,s){this.txHash=t,this.status=e,this.error=r,this.blockHash=n,this.blockNumber=i,this.origin=a,this.contractAddress=s}toJSON(){return{txHash:this.txHash.toString(),status:this.status.toString(),error:this.error,blockHash:this.blockHash?.toString("hex"),blockNumber:this.blockNumber,origin:this.origin?.toString(),contractAddress:this.contractAddress?.toString()}}static fromJSON(t){const e=La.fromString(t.txHash),r=t.status,n=t.error,i=t.blockHash?Ta.from(t.blockHash,"hex"):void 0,a=t.blockNumber?Number(t.blockNumber):void 0,s=t.origin?Sn.fromString(t.origin):void 0,o=t.contractAddress?Sn.fromString(t.contractAddress):void 0;return new Oa(e,r,n,i,a,s,o)}}r(816).Buffer;class Aa{constructor(t,e){this.leafIndex=t,this.newValue=e}static from(t){return new Aa(t.leafIndex,t.newValue)}toBuffer(){return Kr(this.leafIndex,this.newValue)}isEmpty(){return this.leafIndex.isZero()&&this.newValue.isZero()}static fromBuffer(t){const e=Br.asReader(t);return new Aa(e.readFr(),e.readFr())}static empty(){return new Aa(_r.ZERO,_r.ZERO)}static random(){return new Aa(_r.random(),_r.random())}}class ja{constructor(t,e){this.args=t,this.hash=e}static getFields(t){return[t.args,t.hash]}static from(t){return new ja(...ja.getFields(t))}static async fromArgs(t,e){return new ja(t,await Vn(e??await Ti.get(),t))}toBuffer(){return Kr(new mn(this.args),this.hash)}static fromBuffer(t){const e=Br.asReader(t);return new ja(e.readVector(_r),e.readFr())}}var Pa=r(816).Buffer;class za{constructor(t,e,r,n,i){this.origin=t,this.functionData=e,this.argsHash=r,this.txContext=n,this.packedArguments=i}toTxRequest(){return new ti(this.origin,this.functionData,this.argsHash,this.txContext)}static getFields(t){return[t.origin,t.functionData,t.argsHash,t.txContext,t.packedArguments]}static from(t){return new za(...za.getFields(t))}toBuffer(){return Kr(this.origin,this.functionData,this.argsHash,this.txContext,new mn(this.packedArguments))}toString(){return this.toBuffer().toString("hex")}static fromBuffer(t){const e=Br.asReader(t);return new za(e.readObject(Sn),e.readObject(xn),e.readFr(),e.readObject(jn),e.readVector(ja))}static fromString(t){return za.fromBuffer(Pa.from(t,"hex"))}}r(816).Buffer;var Da=r(9467),Ma=r.n(Da);class Za{constructor(t,e){this.arc=t,this.txHashPromise=e}async getTxHash(){return await this.txHashPromise}async getReceipt(){const t=await this.getTxHash();return await this.arc.getTxReceipt(t)}async wait(t){const e=await this.waitForReceipt(t);if(e.status!==_a.MINED)throw new Error(`Transaction ${await this.getTxHash()} was ${e.status}`);return e}async isMined(t){return(await this.waitForReceipt(t)).status===_a.MINED}async waitForReceipt(t){const e=await this.getTxHash();return await ia((async()=>{const r=await this.arc.getTxReceipt(e);if(r.status===_a.PENDING)return;if(r.status===_a.DROPPED)return r;if(!(t?.waitForNotesSync??true))return r;const{blocks:n,notes:i}=await this.arc.getSyncStatus(),a=r.blockNumber;return n>=a&&Ma()(i,(t=>t>=a))?r:void 0}),"isMined",t?.timeout??60,t?.interval??1)}}class Ya{constructor(t){this.rpc=t}async simulate(t={}){const e=this.txRequest??await this.create(t);return this.tx=await this.rpc.simulateTx(e),this.tx}send(t={}){const e=(async()=>{const e=this.tx??await this.simulate(t);return this.rpc.sendTx(e)})();return new Za(this.rpc,e)}}class Wa extends Ya{constructor(t,e,r,n){if(super(t),this.wallet=t,this.contractAddress=e,this.functionDao=r,this.args=n,n.some((t=>null==t)))throw new Error("All function interaction arguments must be defined and not null. Received: "+n)}async create(t={}){if(this.functionDao.functionType===ur.UNCONSTRAINED)throw new Error("Can't call `create` on an unconstrained function.");return this.txRequest||(this.txRequest=await this.wallet.createTxExecutionRequest([this.request()],t)),this.txRequest}request(){return{args:Mr(this.functionDao,this.args),functionData:xn.fromAbi(this.functionDao),to:this.contractAddress}}view(t={}){if(this.functionDao.functionType!==ur.UNCONSTRAINED)throw new Error("Can only call `view` on an unconstrained function.");const{from:e}=t;return this.wallet.viewTx(this.functionDao.name,this.args,this.contractAddress,e)}}class Na{constructor(t,e,r){this.address=t,this.abi=e,this.wallet=r,this.methods={},e.functions.forEach((t=>{this.methods[t.name]=Object.assign(((...e)=>new Wa(this.wallet,this.address,t,e)),{get selector(){return Qr.fromNameAndParameters(t.name,t.parameters)}})}))}attach(t,e=[]){const r={abi:this.abi,address:this.address,portalContract:t};return this.wallet.addContracts([r,...e])}}class Ua extends Na{static async at(t,e,r){if(!await fs(r,t))throw new Error("Contract "+t.toString()+" is not deployed");return new Ua(t,e,r)}}class Fa extends Ya{constructor(t,e){super(t),this.wallet=t,this.calls=e}async create(t){return this.txRequest||(this.txRequest=await this.wallet.createTxExecutionRequest(this.calls,t)),this.txRequest}}class Qa extends Za{constructor(t,e,r){super(e,r),this.abi=t}async deployed(t){return(await this.wait(t)).contract}async wait(t){const e=await super.wait(t),r=await this.getContractInstance(t?.wallet,e.contractAddress);return{...e,contract:r}}getContractInstance(t,e){const r=t??(!!this.arc.createTxExecutionRequest&&this.arc);if(!r)throw new Error("A wallet is required for creating a contract instance");if(!e)throw new Error("Contract address is missing from transaction receipt");return Ua.at(e,this.abi,r)}}class Ha extends Ya{constructor(t,e,r,n=[]){super(e),this.publicKey=t,this.arc=e,this.abi=r,this.args=n,this.partialAddress=void 0,this.completeContractAddress=void 0;const i=r.functions.find((t=>"constructor"===t.name));if(!i)throw new Error("Cannot find constructor in the ABI.");this.constructorAbi=i}async create(t={}){const e=t.portalContract??In.ZERO,r=t.contractAddressSalt??_r.random(),{chainId:n,version:i}=await this.rpc.getNodeInfo(),{completeAddress:a,constructorHash:s,functionTreeRoot:o}=await zi(this.abi,this.args,r,this.publicKey),c=new An(this.publicKey,s,o,r,e),f=new jn(!1,!1,!0,c,new _r(n),new _r(i)),u={args:Mr(this.constructorAbi,this.args),functionData:xn.fromAbi(this.constructorAbi),to:a.address},l=await ja.fromArgs(u.args),h=za.from({origin:u.to,functionData:u.functionData,argsHash:l.hash,txContext:f,packedArguments:[l]});return this.txRequest=h,this.partialAddress=a.partialAddress,this.completeContractAddress=a.address,await this.rpc.addContracts([{abi:this.abi,address:a.address,portalContract:e}]),this.txRequest}send(t={}){const e=super.send(t).getTxHash();return new Qa(this.abi,this.arc,e)}simulate(t){return super.simulate(t)}}class Ga{constructor(t,e,r){this.abi=t,this.arc=e,this.publicKey=r}deploy(...t){return new Ha(this.publicKey??Ar.ZERO,this.arc,this.abi,t)}}async function Ja(t){return function(t,e){t.call("pedersen__init");const r=Hn(t,"abis__compute_message_secret_hash",e,32);return _r.fromBuffer(r)}(await Ti.get(),t)}var Xa=r(107),Ka=r.n(Xa);const qa=JSON.parse('{"name":"SchnorrSingleKeyAccount","functions":[{"name":"constructor","functionType":"secret","isInternal":false,"parameters":[],"returnTypes":[],"bytecode":"H4sIAAAAAAAA/9Xc12/aUBzFcUKTdO/svfewsQ02XWm6994roYHu3f7/5SggRXnN4eF7JQv8Yp2PAPuO3+VfLper5LZbW/3I14/2xvvmeceu887G+52teb7WeI2CYhxXS4VqGIWbQSGrpEkQJ5ViGqZhkiZbhTSKqmmclrJKVgqyMI6qYS3Jolqw3Xp2XCvYY2tlzl5Izj5Izn5IzgFIzkFIziFIzmFIzhFIzlFIzjFIznFIzglIzklIzilIzmlIzhlIzllIzjlIznlIzgVIzkVIziVIzmVIzhVIzlVIzgCSM4TkLEByRpCcMSRnAslZhOQsQXKmkJwZJGe5RTnzu3IGe2thm9F8BmLOG81nIeZ9RvM5iLndaD4PMXcYzRcg5k6jeQ1i7jGaL0LMvUbzOsTcZzRfgpj7jebLEPOA0XwFYh40mq9CzENG8zWIedhovg4xjxjNNyDmUaP5JsQ8ZjTfgpjHjebbEPOE0XwHYp40mu9CzFNG8z2Iedpovg8xzxjNDyDmWaP5IcQ8ZzQ/gpjnjebHEPOC0fwEYl40mp9CzEtG8zOIedlofg4xrxjNLyDmVaP5JcQcGM2vIObQaH4NMReM5jcQc2Q0v4WYY6P5HcScGM0bEHPRaN6EmEtGcwViTo3m9xBzZjRvQcxlo7kKMe83mmsQ8wGj+QPEfNBo/ggxHzKaP0HMh43mzxDzEaP5C8R81Gj+CjEfM5q/QczHjebvEPMJo/kHxHzSaP4JMZ8ymn9BzKeN5t8Qc5fR/Adi7jaa/7bA3N14bf5fn/ZGaa+Q9s5oL4nGhRonadygfrT6lepnqd+h57CeS7pP676l37G+112N65Yb19ZeOO0N014p7R1q7qXRXov1+qFafNWmq1Zbtcuq5VVtq2o9VfuoWkDVxqlWTLVTqiVSbY1qTVR7oVoErc1rrVprt1rL1Nqe1rq09qO1EK0NaK5cc8eaS92oH5pr09yT5mI0N6GxusauGstpbKO+vvq+6guqb6S+gp6depbo3qp7jX57+i7qs/kPVgMtpSBRAAA=","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"entrypoint","functionType":"secret","isInternal":false,"parameters":[{"name":"payload","type":{"kind":"struct","name":"EntrypointPayload","fields":[{"name":"flattened_args_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_selectors","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_targets","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"nonce","type":{"kind":"field"}}]},"visibility":"public"},{"name":"owner","type":{"kind":"array","length":64,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"},{"name":"signature","type":{"kind":"array","length":64,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"},{"name":"partial_address","type":{"kind":"field"},"visibility":"public"}],"returnTypes":[],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"}]}');async function Va(t,e){const r=_r.random(),n=[...Zn(t,fa(),2),...Zn(e,fa(),2)],i=[],a=await Ti.get();for(const t of n)i.push(await ja.fromArgs(t.args,a));return{payload:{flattened_args_hashes:i.map((t=>t.hash)),flattened_selectors:n.map((t=>t.functionData.selector.toField())),flattened_targets:n.map((t=>t.to.toField())),nonce:r},packedArguments:i}}function $a(t,e){return function(t,e,r){t.call("pedersen__init");const n=Zi(e);return t.writeMemory(0,n),t.call("pedersen_plookup_compress_with_hash_index",0,0,r),Fn.Buffer.from(t.getMemorySlice(0,32))}(e,function(t){return[...t.flattened_args_hashes,...t.flattened_selectors,...t.flattened_targets,t.nonce]}(t).map((t=>t.toBuffer())),nn.SIGNATURE_PAYLOAD)}class ts{constructor(t,e,r,n,i=31337,a=1){this.address=t,this.partialAddress=e,this.privateKey=r,this.signer=n,this.chainId=i,this.version=a}async createTxExecutionRequest(t,e={}){if(e.origin&&!e.origin.equals(this.address))throw new Error(`Sender ${e.origin.toString()} does not match account address ${this.address.toString()}`);const[r,n]=Ka()(t,(t=>t.functionData.isPrivate)),i=await Ti.get(),{payload:a,packedArguments:s}=await Va(r,n),o=$a(a,i),c=this.signer.constructSignature(o,this.privateKey).toBuffer(),f=[a,(await os(this.privateKey)).toBuffer(),c,this.partialAddress],u=this.getEntrypointAbi(),l=await ja.fromArgs(Mr(u,f),i);return za.from({argsHash:l.hash,origin:this.address,functionData:xn.fromAbi(u),txContext:jn.empty(this.chainId,this.version),packedArguments:[...s,l]})}getEntrypointAbi(){const t=qa.functions.find((t=>"entrypoint"===t.name));if(!t)throw new Error("Entrypoint abi for account contract not found");return t}}class es{constructor(t){this.rpc=t}registerAccount(t,e){return this.rpc.registerAccount(t,e)}registerRecipient(t){return this.rpc.registerRecipient(t)}getAccounts(){return this.rpc.getAccounts()}getAccount(t){return this.rpc.getAccount(t)}getRecipients(){return this.rpc.getRecipients()}getRecipient(t){return this.rpc.getRecipient(t)}addContracts(t){return this.rpc.addContracts(t)}getContracts(){return this.rpc.getContracts()}simulateTx(t){return this.rpc.simulateTx(t)}sendTx(t){return this.rpc.sendTx(t)}getTxReceipt(t){return this.rpc.getTxReceipt(t)}getPublicStorageAt(t,e){return this.rpc.getPublicStorageAt(t,e)}viewTx(t,e,r,n){return this.rpc.viewTx(t,e,r,n)}getContractDataAndBytecode(t){return this.rpc.getContractDataAndBytecode(t)}getContractData(t){return this.rpc.getContractData(t)}getUnencryptedLogs(t,e){return this.rpc.getUnencryptedLogs(t,e)}getBlockNumber(){return this.rpc.getBlockNumber()}getNodeInfo(){return this.rpc.getNodeInfo()}isGlobalStateSynchronised(){return this.rpc.isGlobalStateSynchronised()}isAccountStateSynchronised(t){return this.rpc.isAccountStateSynchronised(t)}getSyncStatus(){return this.rpc.getSyncStatus()}}class rs extends es{constructor(t,e){super(t),this.accountImpl=e}createTxExecutionRequest(t,e={}){return this.accountImpl.createTxExecutionRequest(t,e)}}class ns extends rs{constructor(t,e,r){super(t,e),this.accountImpl=e,this.address=r}getCompleteAddress(){return this.address}}class is extends es{async createTxExecutionRequest(t){if(1!==t.length)throw new Error(`Unexpected number of executions. Expected 1, received ${t.length})`);const[e]=t,r=await Ti.get(),n=await ja.fromArgs(e.args,r),{chainId:i,version:a}=await this.rpc.getNodeInfo(),s=jn.empty(i,a);return Promise.resolve(new za(e.to,e.functionData,n.hash,s,[n]))}}async function as(t,e,r,n=_r.random(),i=1,a=li("aztec:aztec.js:accounts")){const s=new zs;for(let o=0;o<i;++o){const i=0==o&&r?r:ta.random(),c=await os(i),f=await zi(e,[],n,c);await t.registerAccount(i,f.completeAddress.partialAddress);const u=new Ga(e,t,c).deploy().send({contractAddressSalt:n});await u.isMined({interval:.5});const l=await u.getReceipt();if(l.status!==_a.MINED)throw new Error(`Deployment tx not mined (status is ${l.status})`);const h=l.contractAddress;if(!h.equals(f.completeAddress.address))throw new Error(`Deployment address does not match for account contract (expected ${f.completeAddress.address.toString()} got ${h.toString()})`);a(`Created account ${h.toString()} with public key ${c.toString()}`),s.registerAccount(h,new ts(h,f.completeAddress.partialAddress,i,await Ki.new()))}return new rs(t,s)}async function ss(t,e,r,n,i){if(r.length!=i.length||n.length!=r.length)throw new Error("Keys and salts must be the same length");const a=new zs;for(let t=0;t<r.length;t++){const s=await os(r[t]),o=await os(n[t]),c=(await zi(e,[o.x,o.y],i[t],s)).completeAddress.address;a.registerAccount(c,new Ts(c,n[t],await Ki.new()))}return new rs(t,a)}async function os(t){const e=await Mi.new();return e.mul(e.generator(),t)}const cs=async t=>{const e=new URL(`${t}/api/l1-contract-addresses`),r=await ia((async()=>{try{return await(await fetch(e.toString())).json()}catch(t){}}),"isSandboxReady",120,1);return Object.fromEntries(Object.entries(r).map((([t,e])=>[t,In.fromString(e)])))};async function fs(t,e){return!!await t.getContractData(e)}var us=r(233),ls=r.n(us),hs=r(816).Buffer;const ds=t=>"bigint"==typeof t?new _r(t):t;class ps{constructor(t,e){this.eth=t,this.aztec=e}static async create(t,e){const r=new bs(t),n=new gs(e,await Ti.get(),r);return new ps(r,n)}}class bs{constructor(t,e=li("aztec:cheat_codes:eth")){this.rpcUrl=t,this.logger=e}async rpcCall(t,e){const r={body:`{"jsonrpc":"2.0", "method": "${t}", "params": ${JSON.stringify(e)}, "id": 1}`,method:"POST",headers:{"Content-Type":"application/json"}};return await(await fetch(this.rpcUrl,r)).json()}async blockNumber(){const t=await this.rpcCall("eth_blockNumber",[]);return parseInt(t.result,16)}async chainId(){const t=await this.rpcCall("eth_chainId",[]);return parseInt(t.result,16)}async timestamp(){const t=await this.rpcCall("eth_getBlockByNumber",["latest",!0]);return parseInt(t.result.timestamp,16)}async mine(t=1){const e=await this.rpcCall("hardhat_mine",[t]);if(e.error)throw new Error(`Error mining: ${e.error.message}`);this.logger(`Mined ${t} blocks`)}async setNextBlockTimestamp(t){const e=await this.rpcCall("evm_setNextBlockTimestamp",[t]);if(e.error)throw new Error(`Error setting next block timestamp: ${e.error.message}`);this.logger(`Set next block timestamp to ${t}`)}async dumpChainState(t){const e=await this.rpcCall("hardhat_dumpState",[]);if(e.error)throw new Error(`Error dumping state: ${e.error.message}`);const r=JSON.stringify(e.result);ls().writeFileSync(`${t}.json`,r,"utf8"),this.logger(`Dumped state to ${t}`)}async loadChainState(t){const e=JSON.parse(ls().readFileSync(`${t}.json`,"utf8")),r=await this.rpcCall("hardhat_loadState",[e]);if(r.error)throw new Error(`Error loading state: ${r.error.message}`);this.logger(`Loaded state from ${t}`)}async load(t,e){const r=await this.rpcCall("eth_getStorageAt",[t.toString(),br(e),"latest"]);return BigInt(r.result)}async store(t,e,r){const n=await this.rpcCall("hardhat_setStorageAt",[t.toString(),br(e),br(r,!0)]);if(n.error)throw new Error(`Error setting storage for contract ${t} at ${e}: ${n.error.message}`);this.logger(`Set storage for contract ${t} at ${e} to ${r}`)}keccak256(t,e){const r=br(e,!0).substring(2)+br(t,!0).substring(2);return dr(yr(hs.from(r,"hex")))}async startImpersonating(t){const e=await this.rpcCall("hardhat_impersonateAccount",[t.toString()]);if(e.error)throw new Error(`Error impersonating ${t}: ${e.error.message}`);this.logger(`Impersonating ${t}`)}async stopImpersonating(t){const e=await this.rpcCall("hardhat_stopImpersonatingAccount",[t.toString()]);if(e.error)throw new Error(`Error when stopping the impersonation of ${t}: ${e.error.message}`);this.logger(`Stopped impersonating ${t}`)}async etch(t,e){const r=await this.rpcCall("hardhat_setCode",[t.toString(),e]);if(r.error)throw new Error(`Error setting bytecode for ${t}: ${r.error.message}`);this.logger(`Set bytecode for ${t} to ${e}`)}async getBytecode(t){return(await this.rpcCall("eth_getCode",[t.toString(),"latest"])).result}}class gs{constructor(t,e,r,n=li("aztec:cheat_codes:aztec")){this.aztecRpc=t,this.wasm=e,this.eth=r,this.logger=n}computeSlotInMap(t,e){return _r.fromBuffer(function(t,e){t.call("pedersen__init");const r=Zi(e);return t.writeMemory(0,r),t.call("pedersen_plookup_commit",0,0),Fn.Buffer.from(t.getMemorySlice(0,32))}(this.wasm,[ds(t),ds(e)].map((t=>t.toBuffer()))))}async blockNumber(){return await this.aztecRpc.getBlockNumber()}async warp(t){const e=(await this.aztecRpc.getNodeInfo()).rollupAddress;await this.eth.setNextBlockTimestamp(t),await this.eth.store(e,1n,BigInt(t)),await this.eth.store(e,2n,BigInt(t))}async loadPublic(t,e){const r=await this.aztecRpc.getPublicStorageAt(t,ds(e));if(void 0===r)throw new Error(`Storage slot ${e} not found`);return _r.fromBuffer(r)}}const ys=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);function ms(t,e){if(!t)throw new Error(e)}class ws{constructor(t,e){if(this.toClass=new Map,this.toName=new Map,t)for(const e of Object.keys(t))this.register(e,t[e],"string");if(e)for(const t of Object.keys(e))this.register(t,e[t],"object")}register(t,e,r){ms("Buffer"!==t,"'Buffer' handling is hardcoded. Cannot use as name."),ms(ys(e.prototype,"toString")||ys(e.prototype,"toJSON"),`Class ${t} must define a toString() OR toJSON() method.`),ms(e.fromString||e.fromJSON,`Class ${t} must define a fromString() OR fromJSON() static method.`),this.toName.set(e,[t,r]),this.toClass.set(t,[e,r])}isRegisteredClassName(t){return this.toClass.has(t)}isRegisteredClass(t){return this.toName.has(t)}toClassObj(t){const e=this.toClass.get(t.type);ms(e,"Could not find type in lookup.");const[r,n]=e;return"string"===n&&"string"==typeof t.data?r.fromString(t.data):r.fromJSON(t.data)}toJsonObj(t){const e=this.toName.get(t.constructor);ms(e,"Could not find class in lookup.");const[r,n]=e;return{type:r,data:"string"===n?t.toString():t.toJSON()}}}function vs(t,e){return JSON.stringify(t,((t,e)=>"bigint"==typeof e?JSON.stringify({type:"bigint",data:e.toString()}):e),e?2:0)}function Es(t,e){if(null!==e){if(!e)return e;if("Buffer"===e.type&&"string"==typeof e.data)return Fn.Buffer.from(e.data,"base64");if("bigint"===e.type&&"string"==typeof e.data)return BigInt(e.data);if("string"==typeof e.type&&t.isRegisteredClassName(e.type))return t.toClassObj(e);if(Array.isArray(e))return e.map((e=>Es(t,e)));if(e.constructor===Object){const r={};for(const n of Object.keys(e))r[n]=Es(t,e[n]);return r}return e}}function Ss(t,e){if(!e)return e;if(e instanceof Fn.Buffer)return{type:"Buffer",data:e.toString("base64")};if("bigint"==typeof e)return{type:"bigint",data:e.toString()};if(t.isRegisteredClass(e.constructor))return t.toJsonObj(e);if(Array.isArray(e))return e.map((e=>Ss(t,e)));if(e.constructor===Object){const r={};for(const n of Object.keys(e))r[n]=Ss(t,e[n]);return r}return e}r(7902);const ks=li("json-rpc:json_rpc_client");async function Is(t,e,r,n,i=!1){let a,s;ks("JsonRpcClient.fetch",t,e,"->",r),a=n?await fetch(`${t}/${e}`,{method:"POST",body:vs(r),headers:{"content-type":"application/json"}}):await fetch(t,{method:"POST",body:vs({...r,method:e}),headers:{"content-type":"application/json"}});try{s=await a.json()}catch(t){if(!a.ok)throw new Error(a.statusText);throw new Error(`Failed to parse body as JSON: ${a.text()}`)}if(!a.ok)throw i?new na(s.error):new Error(s.error);return s}function Ls(t,e,r){return async(n,i,a,s)=>await async function(t,e="Operation",r=function*(){const t=[1,1,1,2,4,8,16,32,64];let e=0;for(;;)yield t[Math.min(e++,t.length-1)]}(),n=li("aztec:foundation:retry")){for(;;)try{return await t()}catch(t){if(t instanceof na)throw t;const i=r.next().value;if(void 0===i)throw t;n(`${e} failed. Will retry in ${i}s...`),n.error(t),await ea(1e3*i);continue}}((()=>Is(n,i,a,s,e)),"JsonRpcClient request",function*(t){for(const e of t)yield e}(t),r)}function xs(t,e,r,n,i=Is){const a=new ws(e,r);let s=0;const o=async(e,r)=>{const o={jsonrpc:"2.0",id:s++,method:e,params:r.map((t=>Ss(a,t)))};ks("JsonRpcClient.request",e,"<-",r);const c=await i(t,e,o,n);if(ks("JsonRpcClient.result",e,"->",c),c.error)throw c.error;if(![null,void 0,"null","undefined"].includes(c.result))return Es(a,c.result)};return new Proxy({},{get:(t,e)=>["then","catch"].includes(e)?Reflect.get(t,e):(...t)=>(ks("JsonRpcClient.constructor","proxy",e,"<-",t),o(e,t))})}const Cs=(t,e=Is)=>xs(t,{CompleteAddress:Vi,AztecAddress:Sn,TxExecutionRequest:za,ContractData:ca,ContractDataAndBytecode:oa,TxHash:La,EthAddress:In,Point:Ar,PrivateKey:ta,Fr:_r},{Tx:Ba,ContractDeploymentTx:Ra,TxReceipt:Oa,L2BlockL2Logs:wa},!1,e);class Bs extends Za{constructor(t,e){super(t,e),this.wallet=t}async getWallet(t){return(await this.wait(t)).wallet}async wait(t){return{...await super.wait(t),wallet:this.wallet}}}class Rs{constructor(t,e,r,n){this.rpc=t,this.encryptionPrivateKey=e,this.accountContract=r,n instanceof Vi?this.completeAddress=n:this.salt=n?new _r(n):_r.random()}async getEncryptionPublicKey(){return this.encryptionPublicKey||(this.encryptionPublicKey=await os(this.encryptionPrivateKey)),this.encryptionPublicKey}async getEntrypoint(){const t=await this.rpc.getNodeInfo(),e=await this.getCompleteAddress();return this.accountContract.getEntrypoint(e,t)}async getCompleteAddress(){if(!this.completeAddress){const t=await os(this.encryptionPrivateKey),e=await zi(this.accountContract.getContractAbi(),await this.accountContract.getDeploymentArgs(),this.salt,t);this.completeAddress=e.completeAddress}return this.completeAddress}async getWallet(){const t=await this.getEntrypoint();return new ns(this.rpc,t,await this.getCompleteAddress())}async register(){const t=await this.getCompleteAddress();return await this.rpc.registerAccount(this.encryptionPrivateKey,t.partialAddress),this.getWallet()}async getDeployMethod(){if(!this.deployMethod){if(!this.salt)throw new Error("Cannot deploy account contract without known salt.");await this.register();const t=await this.getEncryptionPublicKey(),e=new Ga(this.accountContract.getContractAbi(),this.rpc,t),r=await this.accountContract.getDeploymentArgs();this.deployMethod=e.deploy(...r)}return this.deployMethod}async deploy(){const t=await this.getDeployMethod(),e=await this.getWallet(),r=t.send({contractAddressSalt:this.salt});return new Bs(e,r.getTxHash())}async waitDeploy(t={}){return await this.deploy().then((e=>e.wait(t))),this.getWallet()}}const _s=JSON.parse('{"name":"EcdsaAccount","functions":[{"name":"compute_note_hash_and_nullifier","functionType":"unconstrained","isInternal":false,"parameters":[{"name":"contract_address","type":{"kind":"field"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"preimage","type":{"kind":"array","length":5,"type":{"kind":"field"}},"visibility":"private"}],"returnTypes":[{"kind":"array","length":4,"type":{"kind":"field"}}],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"constructor","functionType":"secret","isInternal":false,"parameters":[{"name":"signing_pub_key_x","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"},{"name":"signing_pub_key_y","type":{"kind":"array","length":32,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"}],"returnTypes":[],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"entrypoint","functionType":"secret","isInternal":false,"parameters":[{"name":"payload","type":{"kind":"struct","name":"EntrypointPayload","fields":[{"name":"flattened_args_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_selectors","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_targets","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"nonce","type":{"kind":"field"}}]},"visibility":"public"},{"name":"signature","type":{"kind":"array","length":64,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"}],"returnTypes":[],"bytecode":"H4sIAAAAAAAA/+2dB3hTR/LAnyR3uWAbXCm2MWAwRXLBposSeoBQUklCCSQkhDRIT0jvvfdL7733frkkl3653F1674X0Hv67ZjYerR8Golkx+/e+75tv9q2k3d/M7s4bSaunlWme91yq13IEhASFpEBZnadq52lQhpe1PF8eRUKKhZQIKUWvU4+XCSkX0lVIN3g8iB7vLqSHkAohlai/nkIy0Hm1dt5LO++tnffRzmu0877aeT/tvFY776+dD9DOB2rng7TziHYe1c7rtPN67bxBO2/Uzgdr503aebN2PkQ7H6qdD9POh2vnI7Tzkdr5KO08pp2P1s7HaOdjtfNx2vkm2vl47XyCdj5RO5+knU/Wzqdo51O1802182na+XTtfIZ2vpl2PlM7n6Wdz9bO52jnm2vnW2jnW2rnW2nnW2vn22jnc7XzbbXz7bTz7bXzedr5fO18AZzL+BDy1swXecg4INe+XO9yjct1XeOtWb9yzcp1KtemXI9yDcp1J9eaXF9yTcl1JNeOXC9yjch1IdeCnP9yzst5Lue2nM9yDo+CvuX8lHNSzkM59+R8k3NMzis5l+T8kXNGzhM5N+R8kHNgOoz1ZjCms2Ds5sAYbQFjsRX4fBvw7bbgw+3BV/PBJ9I/MvZWgD9kvP3DWxNzpS4BXQq6DHQ56K6gu4HuDroH6ArQlaCrQPcEXQ26F+jeoPuArgHdF3Q/0LWg+4MeAHog6EGgI6CjoOtA14NuAN2I2lsoZAcf3wyG5zSBbgY9BPRQ0MNADwc9AvRI0KNAx0CPBj0G9FjQ40BvAno86AmgJ4KeBHoy6Cmgp4LeFPQ00NNBzwC9GeiZoGeBng16DvLNIiGLvfgjADoGuj4yuKFhUVPdomh9dH6kbsiC5sZIQ+OCwc3R5mhjc+MOdc319YuaG5qbhiwY0hQZEm2oXxRd3DikfnFkzbEjaiuS4GGScydLOJdYwrmzJZy7WMK51BLOXS3hXGYJ526WcO5uCecelnDuaQnnXpZwLreEc4UlnHtbwrmPJZz7WsK5HyGn/p5MvueV7022AL0l6K1Abw16G9BzQW8LejvQ24OeB3o+6AWgdwS9E+gloHcGvQvopaB3Bb0M9G6gdwe9B+g9Qe8FejnoFaD3Br0P6H1B7+e1vifbX8gBXvxBPYYHenbMtYMs4TzYEs6VlnAeYgnnoZZwHmYJ5+GWcB5hCeeRlnAeZQnn0ZZwHuPR52idoD35ebrMVRaB3h/0gaAPAn0w6JWgDwF9KOjDQB8O+gjQR4I+CvTRoI/xWnOkY4Uc56357ifdW/sRo/FB1FzbDfUG224w2HajwbYHG2y7yWDbzWnQjlwzFVA+XsgJQk4UcpKQk4WcIuRUIacJOV3IGULOFHKWkLOFnCPkXCHnCTlfyAVCLhRykZC/CblYyCVCLhVymZDLhVwh5EohVwm5Wsg1Qq7VWK4Tcr2QG4TcKOQmITcLuUXIrUJuE3K7kDuE3CnkLiF3C7lHyL1C7hNyv5AHhDwo5CEhDwt5RMijQh4T8riQvwt5Qsg/hDwp5CkhTwPDP0E/A/pZ0M95rcdThWt0prfme155KN/KOrXmU1GdejwF1anHQ6hOPR5EderxAKpTj3ta//KIgY4keKR5bWN/JMFD2pyP7PB87A34+CXo4z/1eKqP//B4qMfVuOQKCfv0nYaYYjT2RgNe/BFDZdUXZgkxYklhxJLKiCWNEUs6I5YMRiyBjcyC45g65BweGmp9XOWsOPap2IhjXwGUcewrRG2qus7IZlXXBcrpqK4IyhmoTnF3QnVZUMbxWvm4ANVlQ7kQ1eVAuTOqy4VyF1SXB+UiHz48huo1MdCRxI6WMcT9xNC56isLMRQxYMlgxJLOiCWNEUsqI5YURiwhRixB8ywtuXMhcZs4xnvITnzEULkQ2VdgwL58A/YVbIB9+ci+TgbsKzZgX6cNsK8Y2VdiwL5SA/aVbIB9pci+MgP2EbcZlW2WG+DsRttmkxyHrt76j0M3NA7die2TbfRAfSku1U8YPZ6JOHoQj10A9anaVeeYb31ZsyxiDVvEmm0Ra45FrLkWseZtZFb6fqMtMRn3K4/2YjJmqSBlWXPNqSRuU7ZRhfiVrYo9jB6vRLZV0XJE8fcJql11XoX6dfaT9uvs95z9zn5nv7Pf2e/sd/Y7+539zn5nf4Wz39nv7Hf2O/ud/c5+Zz8D+9e297fCAIunsXg+flFHiBFLCiOWVEYsaYxY0hmxZDBiyWTEksWIJcyIJZsRSw4jllxGLHmMWDoxYslnxFLAiKWQEUtnRixdGLEUMWIpZsRSwoillBFLGSOWckYsXRmxdGPE0p0Ri8E9dBvMUsmIJbCRWfx+G5mJHg+iOvWZDf49ZE8o499DVkMZ/x6yF7JT1fWGMv49ZB8o499D1kAZ/1axL5Txbxr7QRn/HrIWyvi3lP2hXILqBkC5DNUNhHI5qhsE5a6oTt2gpTuqU36rQHXKb1WoTvmtJ6pTfqtGdcpvvVCd8ltvVKf81gfVqffgNahOvRfui+rUvOyH6tR7w1pUp96j9Ud16r3SAFSn3rMMRHVqHAahOpXDKz9K+89KaX1cPRfPxYhPO6qM15TqO6b6IFhTuJ8YOld94d+qDmLAUsmIpQcjlu6MWLoxYunKiKWcEUsZI5ZSRiwljFiKGbEUMWLpwoilMyOWQkYsBYxY8hmxdGLEkseIJZcRSw4jlmxGLGFGLFmMWDIZsWQwYklnxJLGiCWVEUsKI5YQI5agD0slLUvLxz7qM6aW9kBXIg7FNABx9Cf2iWyj1oejP+JQ/dcijn60HPJvDf/8DA9z9EMcqv++iKOGlqPl3sR9fDhqEIfqvw/i6E3L0XIf414+HL0Rh+offyZdTcvRcs/jnj4c1YhD9d8TcVTRcrTcH7nCh6MKcaj+1fPcnsx1s7g9mW5P5oawuD2Zbk/mhrC4PZluT+aGsLg9mW5P5oawuD2Zbk/mhrC4PZluT+aGsLg9mW5P5oawVDJiqWLE0pMRSzUjll6MWHozYunDiKWGEUtfRiz9GLHUMmLpz4hlACOWgYxYBjFiiTBiCWxklnX9jgPvwVd/Uor36tdBGe/zV384in8joP4oFP++QP3BJ/5tgvpjTvy7hqAPs/pOJ4rq1HcrdahOfcdRj+rUdw0NqE595t+I6tRn74qppa3s1scroD6IXqP+/BP/1qUZyvi3LkNwm1A3FMr4ty7DoIx/66J4KlCd4m5Cdcq+ZlSn/DAE1Sl/DUV1yq/DfFjwnFWviYGOJHa0zFncTwydq77w7ySGMWCJMGIZxIhlICOWAYxY+jNiqWXE0o8RS19GLDWMWPowYunNiKUXI5ZqRiw9GbFUMWKpZMTSgxFLd0Ys3RixdGXEUs6IpYwRSykjlhJGLMWMWIoYsXRhxNKZEUshI5YCRiz5jFg6MWLJY8SSy4glhxFLNiOWMCOWLEYsmYxYMhixpDNiSWPEksqIJYURS4gRS1Bjwd8zDUZ16vsg/P2X+t4If0+mvl/C36dVQBl/7zYcyvj7uaDGh7/Hw99HqbHE31upuYa/31JroQLVqbWq+k+H56m+Y6AjCR5piJOmzboI9oc62vsOF/+WLNWAfWnEbarxUIeyVbGHvfjfXimdTsvRsnZSvXifqnPcv7OftF9nv+fsd/Y7+539zn5nv7Pf2e/sd/Y7+539zn5nv7Pf2e/sd/Y7+539zn5nv7Pf2e/sd/Y7+539G8d+2n7X7G/A/cqjvf0NmCWDlMXc/oZMxK9sVexhL/4eqkpn0nK0jG+GF+9T/L+Iql9nP2m/zn7P2e/sd/Y7+539zn5nv7Pf2e/sd/Y7+539zn5nv7Pf2e/sd/Y7+539zn5nv7Pf2e/sd/Y7+zeO/Sb2FHTUNjORb4PI1+r+Rvh++Or+S6moTt0fCo9Tjk9drk9dnk8dZlBaMWShOnUPjTCqU1zZqE7N1xxUp/an5KI6xaCY0uG16p52MdCRxI462Ze6N5062ttLU4gY1b3+8H9cdqHla1mDnTUWda76CiOGTuZYmsJr6VsdQdR3ZwN+8DQ/qKOzD0uIEUsKI5ZURixpjFjSGbFkMGLJZMSSxYglzIglmxFLDiOWXEYseYxYOjFiyWfEUsCIpZARS2Ajs2R6/v+tph7H71G6oLLS6l7l+P1KsWanrFP3esfvV9S96PH7lTIo4/cr5VDOQ3XqvwbyUV3QxzaVq2J2lTMWoTqVuxWjOpVDlaA6lcuUojqVU5ShOuWjclSnfKTYZZ952W3tDPrYidtRZTx3VN8x0JHEjpa5g/uJoXPVF/6Ps3IGLIWMWAoYseQzYunEiCWPEUsuI5YcRizZjFjCjFiyGLFkMmLJYMSSzogljRFLKiOWFEYsIUYsQR+WUlqWlu/iVG4tD5XrliIOxVSCOIqJOQIaRwXqtxj1W0Q8FrKNLj724/dUqv8uqE6V8Xtq6rHB7wFV23KtNKSa80ea13qffCo75Niq/+uTx0pkVwXyn4l+e2j9Fmn9yud0QwwrEat6bQg9J5baOg7DoZyF2lPzQY5dpdYXfn+sHlPf+1UZsF31oRiUz6uQ7VXI9gr0mhJku3rOJsj238Ktr6umZW/56wb1f6BBxF2NWHvT9tnylxS9vNZDtd8T1dWgsooT6jX4P29rEKeJeIU5VP9FqK6fD2cN4uyrPU9y1tJytsw/zBFA/aq+Qug5s9Dc+hXNLRPjXOu19V9v5IsBtH02ynXf34s/2vtccABiGUjLEjGVQwxC/MpWxR5Gj5ci2wbRcrTkVQO9eJ+q80GoX2c/ab/Ofs/Zb4v9a9vPQxxn2/3eZ6APS4gRSwojllRGLGmMWNIZsWQwYslkxJLFiCXMiCWbEUsOI5ZcRix5jFg6MWLJZ8RSwIilkBFLZ0YsXRixFDFiKWbEUsKIpZQRSxkjlnJGLF0ZsXRjxNKdEUsPRiwVjFgqGbFUMWLpyYilmhFLL0YsvRmx9GHEUsOIpS8jln6MWGoZsfRnxGLwu84NZglsZJa1/Q5EPd4V1anvM/qjugiUa1Fd0KcP9V3DIFSnPvNXbcjP3auy2/YX9OlvkA+XaV/ifmLoXPWFfxcxiAHLAEYs/Rmx1DJi6ceIpS8jlhpGLH0YsfRmxNKLEUs1I5aejFiqGLFUMmKpYMTSgxFLd0Ys3RixdGXEUs6IpYwRSykjlhJGLMWMWIoYsXRhxNKZEUshI5YCRiz5jFg6MWLJY8SSy4glhxFLNiOWMCOWLEYsmYxYMhixpDNiSWPEksqIJYURS4gRS1Bjcb8FWTeL+y2IP4v7LYg/i/stiD+L+y2IP4v7LYg/Sy4jljxGLO63IP4s7rcg/izutyD+LO63IP4s7rcg/izutyD+LO63IP4s7rcg/iwVjFgqGbFUMWJxvwXxZ3G/BfFncb8F8WdxvwXxZ6llxOJ+C+LPYvr7ig1hiTBiCWxklnX9RiaC6oLaa+X3B3PRb1oGQ30QvaYJyvh/KJuhnILqhqA2Vd1QKKehumFQTvdhHYzqolBuQnV1UG5GdfVQHoLqGqA8FNU1QnmYDwseQ/WaGOhIYkfLGOJ+Yuhc9YV/mzOMAUuEEcsgRiwDGLH0Z8RSy4ilHyOWvoxYahix9GHE0psRSy9GLNWMWHoyYqlixFLJiKWCEUsPRizdGbF0Y8TSlRFLOSOWMkYspYxYShixFDNiKWLE0oURS2dGLIWMWAoYseQzYunEiCWPEUsuI5YcRizZjFjCjFiyGLFkMmLJYMSSzogljRFLKiOWFEYsIUYsQR+WIbQsdfi7Kw8x4SOGyvi7p2aNWfI1GfBVs8aizlVfYcQw0BhLXSTs07cBm+syNZvl0d6Y4O8N1feKzYhvOC1fy5gM1ljUueoL+ypqjGXNmOh9G7C5LlOzWR7tjYnqX75uBJQHI76RtHwtYzJCY1Hnqi/sqzqDLGGfvg30U5ep2SyP9sZE9S9fNwrKIxBfjNgPAdSPaneU1gf2Vb1BlrBP3wb6qcO+VUd7Y6LK8nWjoTwK8Y0h9kMA9aPaVeeqL+yrBoMsYZ++DfRTl6nZLI/2xkT1L183FsqjEd84Yj8EUD+qXXWu+sK+ajTIEl5L3+oIor7HGvCDp/lBHWN9WEKMWFIYsaQyYkljxJLOiCWDEUsmI5YsRixhRizZjFhyGLHkMmLJY8TSiRFLPiOWAkYshYxYOjNi6cKIpYgRSzEjlhJGLKWMWMoYsZQzYunKiKUbI5bujFh6MGKpYMRSyYilihFLT0Ys1YxYejFi6c2IpQ8jlhpGLH0ZsfRjxFLLiKU/I5YBjFgGMmIZxIglwoglyoiljhFLPSOWBkYsjYxYBjNiaWLE0syIZQgjlqGMWIYxYhnOiGUEI5aRjFhGMWKJMWIZzYhlDCOWwEZmWdv9iNTj+J48ai8Rvp/PJlDG9wIaD+URqG4ClEehuolQHo3qJkG5GNVNhnIfVDcFykFUF/SxLQTlcahO7fPZBNWp/TbjUZ3a9zIB1an9JxNRndoHMgnVqf0Yk1Gd2heh2GWfgcK2NuE5oV4fAx1J7GiZE7ifGDpXfeH7G01hwDKGEctoRiwxRiyjGLGMZMQyghHLcEYswxixDGXEMoQRSzMjliZGLIMZsTQyYmlgxFLPiKWOEUuUEUuEEcsgRiwDGbEMYMTSnxFLLSOWfoxY+jJiqWHE0ocRS29GLL0YsVQzYunJiKWKEUslI5YKRiw9GLF0Z8TSjRFLV0Ys5YxYyhixlDJiKWHEUsyIpYgRSxdGLJ0ZsRQyYilgxJLPiKUTI5Y8Riy5jFhyGLFkM2IJM2LJYsSSyYglgxFLOiOWNEYsqYxYUhixhBixBDWWLPR4AapT+4/w/TfVPqVmVKf2Mw1GdeOhPALVqf1Ro1Cd2kc1GrSKw57n7iu1NhZ3Xyl/ljRGLO6+Uv4s7r5S/ixhRizuvlL+LO6+Uv4s7r5S/izuvlL+LO6+Uv4s7r5S/izuvlL+LO6+Uv4s7r5S/izuvlL+LBWMWCoZsVQxYunJiMXdV8qfpTcjFndfKX8Wd18pf5ZaRizuvlL+LO6+Uv4s7r5S/izuvlL+LO6+Uv4s7r5S/izuvlL+LO6+Uv4s7r5S/izuvlL+LDFGLKMZsYxhxDKOEcsmjFjGM2KZwIhlIiOWSYxYJjNimcKIJbCRWdZ13zp8L7apUMb3bNsUyvjebtOgPB7VTYcyvlfcDCjje8oFffhCUJ6K6tRewE1RndqTNw3Vqb1x01Gd2qOm+pevm4XuHzcT6oPoNbOgHEJ1s6GcgurmoDZV3eZQTkN1W0A5HdVtCeUMVKcYZ6I6ZcssVKdsno3qlG/moDrlw81RnfL1FqhuMyhv6cOH56x6TQx0JLGjZc7ifmLoXPWVhRi2ZMAyhRHLZEYskxixTGTEMoERy3hGLJswYhnHiGUMI5bRjFhijFhGMWIZyYhlBCOW4YxYhjFiGcqIZQgjlmZGLE2MWAYzYmlkxNLAiKWeEUsdI5YoI5YII5ZBjFgGMmIZwIilPyOWWkYs/Rix9GXEUsOIpQ8jlt6MWHoxYqlmxNKTEUsVI5ZKRiwVjFh6MGLpzoilGyOWroxYyhmxlDFiKWXEUsKIpZgRSxEjli6MWDozYilkxFLAiCWfEUsnRix5jFhyGbHkMGLJZsQSZsSSxYglkxFLBiOWdEYsaYxYUhmxpDBiCTFiCfqwVNOyNOE+ZX8ql8T3PJhD3CfeG+ohP+AjhspzEMssWpaI7Hcmaj+G+sD9bkXbbxT3GwBRfaj6ECofjDZPb9Va/HPfo2KW82a2z/NweXPtNWH0+GzDNs9CHDF0rvqSsWAvZOtsH+4tELd6fAbiLiLmlm3MQRyqf3z/LuJ52YT3WaujvTUyC7EQj1vLGtkatR9DfeB+tyH2O+5XrRHVh6oPofKpaN5s01r8c94oZrlGZvo8D5f1NRRGj880bDNeqzF0rvqSa+QoZOtMH+45iFs9Ph1xm1gjeG2r/vEaIZ6XTfg3C+pob41shViIx61ljcxF7cdQH7jfbYn9jvtVa0T1oepDqHw5mjfbthb/nDeKWa6RrX2eh8v6Ggqjx7c2bDNeqzF0rvqSa+RcZOvWPtz4+qcen4a4TawRvLZV/3iNEM/LljWCbZdHe2tkG8RCPG4ta2Q71H4M9YH73Z7Y77hftUZUH6o+hMp3oXmzfWvxz3mjmOUamevzPFzW11AYPT7XsM14rcbQuepLrpHrka1zfbjx9U89viniNrFG8NpW/eM1QjwvW9YItl0e7a2RbREL8bi1rJF5qP0Y6gP3O5/Y77hftUZUH6o+hMpPo3kzv7X457xRzHKNbOfzPFzW11AYPb6dYZvxWo2hc9WXXCMPIVu38+HG1z/1+FTEbWKN4LWt+sdrhHhetqwRbLs82lsj2yMW4nFrWSMLUPsx1AfudyGx33G/ao2oPlR9CJXfQPNmYWvxz3mjmOUamefzPFzW11AYPT7PsM14rcbQuepLrpGXkK3zfLjx9U89PhZxm1gjeG2r/vEaIZ6XLWtknhd/tLdG5iMW4nFrWSM7oPZjqA/c7yLafqO4X7VGVB+qPoTKq9C8WdRa/HPeKGa5Rhb4PA+X52mvCaPHFxi2Ga/VGDpXfck18gGydYEPN77+qcc3Q9wm1ghe26p/1U8m4sD/bWAyrqp21TkeywLNXwZYmsI+fcux+zXcWv4tbHZMsC86+4yJqluA+BrgCx25ttT3BkH44jYHXqe+I8T3cshCbag6NU3xvRzwf8SoOvUdNb6Xg/oOHd/LIYjKSiuGLFSnGMKoTjFkozrFkIPqFEMuYkpDr4uBjiR21GH/qKO9GI+5czT70hAvEV/LWsrRWHI034QRQ5YxlmjLWtL7zvLxQ5bGpnjyiHlkm/nEbcpxVftp1NHefFD9Z3ita2THRcun7bZ80V4B9HrVZjHykTqCqBxCr0nx2nKk+tSl+dSle22PDFTOROU89LpcjVM+T8XpTqhOMavH1PpULDHQkcSOOhwzsH34iKEyjmfKB/g/7jJo+aK6r2PoXPUVRgwhcyyNYZ++s9bih0zaviOZXvw1Qh5y/g7Kbu0zTGyvgXjbkmerGC+Plcgu/P9hJvrN0foNa/0GvPj4vhKxqteG0HOGZbeOQxOUcWzG+UCe1hde4+qxdC9+jx9elzhmKn/h+FWAykHtNXg/Jc5L1d7TGOhIYkdjpsYhj/ZiCf7PrS60LC3jjd+7xlAfuN9i2n6juF/1fk71oepDqDwNLYbi1uKfc0Ax433L+Hm4XKC9Jowe72zY5i6II4bOVV9yro5Ftnb24cbxXD2O/6+uMzG3bKMQcWRobJnIDhzbqd/DtOe/IuSTVM1fBlharnF636Z832Udvld16nn69S6FlqkOv89SR3vxC//PMG1eVhf5q3mZ1OmkLJGIgVyq5ZYGOEdWtir2MHoc/z8vcV7Vbn6J/4vX2U/ar7Pfc/Y7+539zn5nv7Pf2e/sd/Y7+539zn5nv7Pf2e/sd/Y7+539zn5nv7Pf2e/sd/Y7+539zv7k25+J6kIbmSWMGMztt6yLhD3/eUBsc12m13YvcXv7PDAL7X7PNXtOsjaABe89J/7dgLE9J3gPqLI1G9mjHsdrLoeWI6rvgY15bfeZOvud/c5+0n6d/Z6z39nv7Hf2O/ud/c5+Z7+z39nv7Hf2O/ud/c5+Z7+z39nv7Hf2O/ud/c5+Z7+z39m/cezPRHXpG5kF7wXJMsayZs+J3zwgtrllHuQim4Nan/g/DM3dk2uNvTqD7If2PoZrxhgfMVRWfWGWECOWFEYsqYxY0hixpDNiyWDEksmIJYsRi7l7tm44SzYjlhxGLLmMWAIbmSXTa7sPNBM9ju/Z3AnK7d3nUtapa6x6vry2LCxsfVzd4y6IXqPu1Yfvx63uF5fiw1Dgw1qI6tS9BTv7tId9TnyfzBaf435i6Fz1lYUYOjNgyWXEksOIJZsRS5gRSxYjlkxGLBmMWNIZsaQxYkllxJLCiCXEiCXow0L9OQnOOVTbcjy657b2SXvf6uhi2WYJsR34ntTyWInsKkH+M9FvsdZvF61f+Rx8P+OViFW9NoSe82pB6zj0hnHIQu3hz27KaO1puWdxudd6qDmo+pEcpVAuRxzJ+tysnLSf9t8bqL7W9rnZxmZJYcSSyogljRFLOiOWDEYsmYxYshixhBmxZDNiyWHEksuIJY8RSydGLPmMWAoYsRQyYunMiKULI5YiRizFjFhKGLGUMmIpY8QS2Mgsa/seRz1eiuq6QtnvexzcnnrPp56vf4/THerx9zg9oIy/x6mAcooPQ3cf1h6orhuUK3zawz5Xr4mBjiR2tPgc9xND56ov/D1OBQOWMkYspYxYShixFDNiKWLE0oURS2dGLIWMWAoYseQzYunEiCWPEUsuI5YcRizZjFjCjFiyGLFkMmLJYMSSzogljRFLKiOWFEYsIUYsQR+W7rQsLd+Lqz5Vu/p7XRN7CwJa+zHUB35Prp7zKlyccwzxyDaqvNZDvbfH/3ldCeUqg36RbfYkbXPNvVSxbfIIaOcxVO6J7OtFyrJmvvVG7cdQH7jfPrT9RnG/ARDVh6oPofIX6EdJfVqLf743V8xyXlT7PA+Xq7TXhNHj1YZt7oU4Yuhc9SVj77vI1mofbvwf7upxtRbk3FLjhvdcVBuwpacXb0tPjRnfj7nKGMuaPS963wZsrpNt4PELan1mIY5eiCNZe3yIY0O7nxvjtaOOECOWFEYsqYxY0hixpDNiyWDEksmIJYsRS5gRSzYjlhxGLLmMWPIYsXRixJLPiKWAEUshI5bOjFi6MGIpYsRSzIilhBFLKSOWMkYs5YxYujJi6caIpTsjlh6MWCoYsVQyYqlixGLwc+INZqlmxBLYyCxr21upf84u69Tn3X57K3F76rM29fxUL35vZQ3UB9Fr+kIZ763sB+UUH4YaH9a+qE59Zt3Ppz3sc/WaGOhIYkeLz3E/MXSu+sJ7K/sxYKlmxNKTEUsVI5ZKRiwVjFh6MGLpzoilGyOWroxYyhmxlDFiKWXEUsKIpZgRSxEjli6MWDozYilkxFLAiCWfEUsnRix5jFhyGbHkMGLJZsQSZsSSxYglkxFLBiOWdEYsaYxYUhmxpDBiCTFiCfqwmLhXnuoT3yvvnbzWPk3s2x5AbIf0Y63XeqxEdg1A/jPRb3+t3y5av/I5NYhhJWJVrw2h59yG7pX3CYxDFmoP780bRGtPfUsbXuuh5qDqR3IMVH0hjmTto42Q9tP+dwSqr7Xto93YLCmMWFIZsaQxYklnxJLBiCWTEUsWI5YwI5ZsRiw5jFhyGbHkMWLpxIglnxFLASOWQkYsnRmx4H20G5uliBFLMSOWEkYspYxYyhixlDNi6cqIpRsjlu6MWHowYqlgxFLJiKWKEUtPRizVjFh6MWLpzYilDyOWGkYsfRmx9GPEUsuIpT8jlgGMWAYyYhnEiCWwkVnW9lsK9fhAVBeFst9vKXB76vsW9Xz9txT1UB9Er2mAMv4tRSOUU3wY6n1YG1BdHZQbfdrDPleviSk7CHyO+4mhc9VXFmJoZMAyiBHLQEYsAxix9GfEUsuIpR8jlr6MWGoYsfRhxNKbEUsvRizVjFh6MmKpYsRSyYilghFLD0Ys3RmxdGPE0pURSzkjljJGLKWMWEoYsRQzYilixNKFEUtnRiyFjFgKGLHkM2LpxIgljxFLLiOWHEYs2YxYwoxYshixZDJiyWDEks6IJY0RSyojlhRGLCFGLEEflnpalpbfg6k+Vbv690wmflMX0NqPoT7w92HqOeWQQJn8j5gmr/VQ36t1QeMxGMpNBv0i22wmbXPNf8Rg2+TR3vejzci+oaQsa+bbMNR+DPWB+x1O228U9xsAUX2o+hAqD1QJO3qePNT3YopZzoshPs/D5SbtNWH0+BDDNg9FHDF0rvqSsbcnsnWID3cXxK0eV2tBzi01bvi3Y0MM2NLsxdvSrDGHEUOTMZY1v/XU+85CdSFUN8THN8NIeSIt4RLPN3XdGIY49HFf2+9VTcxBfMRQ2Y8lxIglhRFLKiOWNEYs6YxYMhixZDJiyWLEEmbEks2IJYcRSy4jljxGLJ0YseQzYilgxFLIiKUzI5YujFiKGLEUM2IpYcRSyoiljBFLOSOWroxYujFi6c6IpQcjlgpGLJWMWKoYsfRkxFLNiKUXI5bejFj6MGKpYcTSlxFLP0YstYxY+jNiGcCIZSAjlkGMWCKMWKKMWOoYsdQzYmlgxNLIiGUwI5YmRiym9z9sCIvpfQkbwjKUEcswRiyBjczid/8E+T31Geh+B6OgPoheE4Myvt/BaCjj+x2ofkahuhEaj6wbCeXRPu1hH8W010YSO1p8hPuJoXPVB77fwWgGLMMYsQxlxDKEEUszI5YmRiyDGbE0MmJpYMRSz4iljhFLlBFLhBHLIEYsAxmxDGDE0p8RSy0jln6MWPoyYqlhxNKHEUtvRiy9GLFUM2LpyYilihFLJSOWCkYsPRixdGfE0o0RS1dGLOWMWMoYsZQyYilhxFLMiKWIEUsXRiydGbEUMmIpYMSSz4ilEyOWPEYsuYxYchixZDNiCTNiyWLEksmIJYMRSzojljRGLKmMWFIYsYQYsQQ1Frx3oRnVqf0JQ1DdGCgPRXVjoYz3T4yD8ghUtwmUR6K6oMaH/2sC749QYzkG1am5NhbVqbUwDtWptar6l+dZ2rkHry3TeCKJHVHMIg/1eTb+7dUY2j5b7kUzFvUp2+2t+S+AymoujtP8GULPuQ+S3hyNVR7qM1f1eunbUdrzZB/jSe1cc/8fzKHs8jTb1TEesUwkZVnj80mo/RjqA/c7mbbfKO43AKL6UPUhVH5GvXlBz5OHWguKWY7hBJ/n4XJMe00YPT7BsM0TNY6JGp+MF48gWydoz5dHX8StHh+FuE3EgvGIQ48FmYgDxyTiudriP90f6hyPZbrWLz3LmnsO6X2b8v2Edfhe1annyTn0DryRzEJ8IcOckxBnocYp+5xC22cExwzVrnovr/oKoLKKb4pzMvKLes672vViU9S+em+uXi99O1V7nuxjGqmda64XmEPZ5Wm2q2MaYplByrLG55uh9mOoD9zvTNp+o7hfdb1Qfaj6ECp/i2LozNbin2tBMcsxnO7zPFzeVHtNGD0+3bDNMxBHDJ2rvuRa/xjZOt2HuxBxq8enIm4TsWAa4tBjQSbiwDGJeK62+G+65j91jscypPmLnmXN9ULv25Tvp6/D96pOPU/Ooe65rf5QRxBxhok524tfYa8tS4gRSwojllRGLGmMWNIZsWQwYslkxJLFiCWwkVnW9t+n6vEgqlPfP+Df66h8Ff9eR31/k4rq8P3TVJ3KmdNRnfp+LgPVFaCy0upakoXqgj62KdZsVKdYc1CdYsX/66pY81CdYu2E6hRrPqpTrJhdsSp22edFhW1twnNCvT4GOpLY0TIncD8xdK76wr9VKmTAksWIJZMRSwYjlnRGLGmMWFIZsaQwYgkxYglqLOnAk0HMg68L+Pqm4hu+1qprGL7WqmsYvtaqaxi+1uL7pqq6PGSbqsP9KY3vWa7qVH/4uqr6w9dV1R++rqr+8HVV2Y6Z0lA/MdCRRI5oJII5Qz5MIR92dbSXO6X72ILfs2ZR2hFZ89kXvl9xDPWB329k0/Ybxf2qz75UH3h+qvI+ha3PxXP1D+SnFNReDvLdH17b+R3wWudmQGtHvVYvq3HMQpx4Pqq2MtbBl+a1/e4uktjR4s8sxBpD5ziP3rmwlYE4BtVhn6ZAu2oOZZizPYLnhJrD+rjI+lwDPlf9qjms+sDvZ1T5RHURQM9TbB5ixvkXjm1+69KETVnIphg6z0X1a3sOXi9+NmYhHfZ5Xnt+CaPHw+vZD34NnoMm/IZtj6Fz1ZdcE/uj92SKEV9fcSxWdYrb7/qKr6UhZLOqS9FsV9fDIK39EVvaxNdtnKOk+dSl+9SpcqqP39N8/J6ONJ7zePz0zz7w3tAUVKd/9oH31uJ5395nHziXMJETo7/5aWlXnau+wl7bz1LoWdZ8N6H3jf0QMtb3+vtB//xoY/ghxVjf6+8H/TMzEyzr8kMqAz8ohoyN6Ic0Bn7AcXRj+SGdgR8UQ1aS/SD71d+jkn6Zq46Q1nZ9ZHBDw6KmukXR+uj8SN2QBc2NkYbGBYObo83RxubGHeqa6+sXNTc0Nw1ZMKQpMiTaUL8ourhxSP1iaDxIyPkMIdfzdFyRkN/goDoq+ymZMe8LqKwCf9BnTqQZsMnT+tH9mOsZnvgmBukFA+2+6NFNflN2v0g/RhE87tx9qg7id0jR5wg5XyJsK1mB7yXPTOD7Fyq7wJdgmy+BQ6nbfdnjHfik3S/Tj5HRwEfp02QFgWc9M0Hg36jsgkCCbT4LDqVu9xWPdxCQdr9CP0YRfYJobUcjCRzH65wJtHYC4fjslJo0/0USsfpEz4fzL7Z2EqH/liTXf5G/avXJ3lo4/0JrpxD6b+fk+y/yV6w+1WuHcwNbO43Qf7tsHP9FNtTq0711cG5Aa2cQ+m/pxvNfZEOsPtNbD871bO0sQv/tunH9F1lfq8/21pNzPVo7h9B/yza+/yLrY/W53gZwrqO18wj9txsP/0XWZfX53gZyttPaBYT+252P/yLtWX2h9xc419LaRYT+24OX/yJrs/pv3l/k9GntYkL/7cnPfxE/qy/xEuDUWruU0H978fRfRLf6Mi9BTtTa5YT+W87XfxFs9RUeASe0diWh/1bw9l9EWX2VR8QpWrua0H978/efPKLXELaFP3NK1H/7WOI/ws+JojsT+m9fS/xH+DlHdCmh//azxH+E79Ojywj9t78l/iN8nxndndB/B1jiP8L3SdE9Cf13oCX+I8zzo8sJ/XeQJf4jzFOjexP672BL/EeYZ0X3JfTfSkv8R5gnRPcn9N8hlviP8DoXPZDQf4da4j/COB09mNB/h1niP8I4Ez2E0H+HW+I/wnUSPYzQf0ckyX+Jcv6HcCwI50z0iOTNv4T2X13n0e2/up5wXC+1ZP/VDR7d/qsbCf13mSX7r27y6PZf3Uzov8st2X91i0e3/+pWQv9dYcn+q9s8uv1XtxP670pL9l/d4a0H53q2dieh/66yZP/VXd56cq5Ha3cT+u9qS/Zf3eNtAOc6WruX0H/XWLL/6j5vAznbae1+Qv9da8n+qwe8v8C5ltYeJPTfdZbsv3rI+4ucPq09TOi/6y3Zf/WIlwCn1tqjhP67wZL9V495CXKi1h4n9N+Nluy/+rtHwAmtPUHov5ss2X/1D4+IU7T2JKH/brbk89OnCNu6lPDz01ss8R/h50TRywn9d6sl/iP8nCN6JaH/brPEf4Tv06NXE/rvdlv2nxL671pC/91hif8I3ydFryf0352W+I8wz4/eSOi/uyzxH2GeGr2Z0H93W+I/wjwreiuh/+6xxH+EeUL0dkL/3WuJ/wivc9E7Cf13nyX+I4zT0bsJ/Xe/Jf4jjDPRewn994Al/iNcJ9H7Cf33oCX7r/5LOBaEcyZK6T95ny554zV1H26550z+f8u1oP8L+mnQ/wQtj/8JedVbc68v/L8Fz8Fz/oee+5qQ1734g3q83iAcLxv3yyXqvzc74Hx/Q5vvb7Yz398S8nY78/0t9Nx3hLzr89xn4DnvgJY3RHxPyPs+z30WnvMeaDneHwj50Is/gsTzgPJegB8RzinlH/WfCUXgl2LQJaBLQZeBLgfdFXQ30N1B9wBdAboSdBXSHwv5BHwdRL6nvs/hx3RtRSqgnU+FfCbkcyFfCPlSyFdCVgn5Wsg3Qr4V8p2Q74X8IORHIT8J+VnIL0J+FfKbkN/BJ6vB+ICQoJCQkBQhqULShKQLyRCSCX8SFQC/SZYMr/X8M+38c+38C+38S+38K+18lXb+tXb+jXb+rXb+nXb+vXb+g3b+o3b+k3b+s3b+i3b+q3b+m3b+u3b+h3a+WjuXBXwe0M6D2nlIO0/RzlO18zTtPF07z9DOMwOt/+2hDuo8F6+ZROPVp4Rtvc78ur9osTwi0c+I2pJj8Tmh/95g77+WpqNfJN5WHdgc/ZLQf29y9l/Dn5zRrxJrK4Jsjq4i9N9bXP1XF8cZ/fqvtxXRbI5+Q+i/txn6b/DiNpzRb/9aW80+Nke/I/TfO9z81+zLGf1+w9tqWovN0R8I/fcuJ/81rZUz+uOGtVXXjs3Rnwj99x4X/zW1yxn9ef3bWrgOm6O/EPrvfQ7+a1onZ/TX9Wsrsh42R38j9N8HG9t/kfXijP6+7rYa19Pm6B+E/vtwY/qvYb05o6vbbath8QbYHJVvPKn899HG8l/TBnFGA2u3uXkDbY4GCf338Ubw35DFG8wZDfnbHPkLNkdTCP33SbL9F/lLnNHUtjZH/6LN0TRC/32aTP/t8Jc5o+nxNtcnYHM0g9B/nyXJf3WLE+KMZgboPkt8nfB77s8t2SfwBuF3dW8S+u8LS/xH+DlR9G1C/31pif8IP+eIvkvov68s8R/h+/To+4T+W2WJ/wjfZ0Y/JPTf15b4j/B9UvRjQv99Y4n/CPP86KeE/vvWEv8R5qnRzwn9950l/iPMs6JfEvrve0v8R5gnRFcR+u8HS/xHeJ2LfkPovx8t8R9hnI5+R+i/nyzxH2Gcif5A6L+fLfEf4TqJEs6ZKKX/QshvfgdNP3URwrbb3E/HHLf43gC1mQWbYsOB1rpM0EGvdf9sGugA8q3cD70atRVAOoDaWI1e4/ecwFrayUR16vW5iIXQJxEDf2gfMfqH9WrTphzAB73WTZxh9AGrhwYB953oxqMswg+uwwG6Bbm2hR9IzH5KZpMLfaMFkWxwcM5fDCJjvLZjpQeRMd66g4hfOy6IrP34M4hkB1qdKc9zfIII9S+YwgG6gJRNGJByDC1u6iCUTfdNmsuY1tEXDna5MJB5LmOyM9jlahlTXhIyplzCAJVnYcaURxdUoz641gWRTuDgfJcx2RlEOmkZU34SMqY8woypE2FAyje0uKmDUCeXMcUd5rjjg10BDGShy5jsDHYFWsZUmISMqYAwQBVamDEV0gXVOh9c64JIZ3BwF5cx2RlEOmsZU5ckZEyFhBlTZ8KA1MXQ4qYOQp1dxhR3mOOOD3ZFMJDFLmOyM9gVaRlTcRIypiLCAFVsYcZUTBdU631wrQsiJeDgUpcx2RlESrSMqTQJGVMxYcZUQhiQSg0tbuogVOIyprjDHHd8sCuDgSx3GZOdwa5My5jKk5AxlREGqHILM6ZyuqDa4INrXRDpCg7u5jImO4NIVy1j6paEjKmcMGPqShiQuhla3NRBqKvLmOIOc9zxwa47DGQPlzHZGey6axlTjyRkTN0JA1QPCzOmHnRBtdEH17ogUgEOrnQZk51BpELLmCqTkDH1IMyYKggDUqWhxU0dhCpcxhR3mOOOD3ZVMJA9XcZkZ7Cr0jKmnknImKoIA1RPCzOmnnRBdbAPrnVBpBoc3MtlTHYGkWotY+qVhIypJ2HGVE0YkHoZWtzUQajaZUxxhznu+GDXGwayj8uY7Ax2vbWMqU8SMqbehAGqj4UZUx+6oNrkg2tdEKkBB/d1GZOdQaRGy5j6JiFj6kOYMdUQBqS+hhY3dRCqcRlT3GGOOz7Y9YOBrHUZk53Brp+WMdUmIWPqRxigai3MmGrpgmqzD651QaQ/OHiAy5jsDCL9tYxpQBIyplrCjKk/YUAaYGhxUweh/i5jijvMcccHu4EwkINcxmRnsBuoZUyDkpAxDSQMUIMszJgG0QXVIT641gWRCDg46jImO4NIRMuYoknImAYRZkwRwoAUNbS4qYNQxGVMcYc57vhgVwcDWe8yJjuDXZ2WMdUnIWOqIwxQ9RZmTPV0QXW+D651QaQBHNzoMiY7g0iDljE1JiFjqifMmBoIA1KjocVNHYQaXMYUd5jjjg92g2Egm1zGZGewG6xlTE1JyJgGEwaoJgszpia6oLrAB9e6INIMDh7iMiY7g0izljENSULG1ESYMTUTBqQhhhY3dRBqdhlT3GGOOz7YDYWBHOYyJjuD3VAtYxqWhIxpKGGAGmZhxjSMLqgu9MG1LogMBwePcBmTnUFkuJYxjUhCxjSMMGMaThiQRhha3NRBaLjLmOIOc9zxwW4kDOQolzHZGexGahnTqCRkTCMJA9QoCzOmUXRBdQcfXOuCSAwcPNplTHYGkZiWMY1OQsY0ijBjihEGpNGGFjd1EIq5jCnuMMcdH+zGwECOdRmTncFujJYxjU1CxjSGMECNtTBjGksXVBf54FoXRMaBgzdxGZOdQWScljFtkoSMaSxhxjSOMCBtYmhxUwehcS5jijvMcccHu/EwkBNcxmRnsBuvZUwTkpAxjScMUBMszJgm0AXVxT641gWRieDgSS5jsjOITNQypklJyJgmEGZMEwkD0iRDi5s6CE10GVPcYY47PthNhoGc4jImO4PdZC1jmpKEjGkyYYCaYmHGNIUsqEb/XwSRqeDgTV3GZGcQmaplTJsmIWOaQpgxTSUMSJsaWtzUQWiqy5jiDnPc8cFuGgzkdJcx2RnspmkZ0/QkZEzTCAPUdAszpul0QTXqg2tdEJkBDt7MZUx2BpEZWsa0WRIypumEGdMMwoC0maHFTR2EZriMKe4wxx0f7GbCQM5yGZOdwW6mljHNSkLGNJMwQM2yMGOaRRdU63xwrQsis8HBc1zGZGcQma1lTHOSkDHNIsyYZhMGpDmGFjd1EJrtMqa4wxx3fLDbHAZyC5cx2RnsNtcypi2SkDFtThigtrAwY9qCLqjW++BaF0S2BAdv5TImO4PIllrGtFUSMqYtCDOmLQkD0laGFjd1ENrSZUxxhznu+GC3NQzkNi5jsjPYba1lTNskIWPamjBAbWNhxrQNXVBt8MG1LojMBQdv6zImO4PIXC1j2jYJGdM2hBnTXMKAtK2hxU0dhOa6jCnuMMcdH+y2g4Hc3mVMdga77bSMafskZEzbEQao7S3MmLanC6qNPrjWBZF54OD5LmOyM4jM0zKm+UnImLYnzJjmEQak+YYWN3UQmucyprjDHHd8sFsAA7nQZUx2BrsFWsa0MAkZ0wLCALXQwoxpIV1QHeyDa10Q2QEcvMhlTHYGkR20jGlREjKmhYQZ0w6EAWmRocVNHYR2cBlT3GGOOz7YLYaB3NFlTHYGu8VaxrRjEjKmxYQBakcLM6Yd6YJqkw+udUFkJ3DwEpcx2RlEdtIypiVJyJh2JMyYdiIMSEsMLW7qILSTy5jiDnPc8cFuZxjIXVzGZGew21nLmHZJQsa0M2GA2sXCjGkXuqDa7INrXRBZCg7e1WVMdgaRpVrGtGsSMqZdCDOmpYQBaVdDi5s6CC11GVPcYY47Ptgtg4HczWVMdga7ZVrGtFsSMqZlhAFqNwszpt3oguoQH1zrgsju4OA9XMZkZxDZXcuY9khCxrQbYca0O2FA2sPQ4qYOQru7jCnuMMcdH+z2hIHcy2VMdga7PbWMaa8kZEx7EgaovSzMmPaiC6rzfXCtCyLLwcErXMZkZxBZrmVMK5KQMe1FmDEtJwxIKwwtbuogtNxlTHGHOe74YLc3DOQ+LmOyM9jtrWVM+yQhY9qbMEDtY2HGtA9dUF3gg2tdENkXHLyfy5jsDCL7ahnTfknImPYhzJj2JQxI+xla3NRBaF+XMcUd5rjjg93+MJAHuIzJzmC3v5YxHZCEjGl/wgB1gIUZ0wF0QXWhD651QeRAcPBBLmOyM4gcqGVMByUhYzqAMGM6kDAgHWRocVMHoQNdxhR3mOOOD3YHw0CudBmTncHuYC1jWpmEjOlgwgC10sKMaSVdUN3BB9e6IHIIOPhQlzHZGUQO0TKmQ5OQMa0kzJgOIQxIhxpa3NRB6BCXMcUd5rjjg91hMJCHu4zJzmB3mJYxHZ6EjOkwwgB1uIUZ0+F0QXWRD651QeQIcPCRLmOyM4gcoWVMRyYhYzqcMGM6gjAgHWlocVMHoSNcxhR3mOOOD3ZHwUAe7TImO4PdUVrGdHQSMqajCAPU0RZmTEfTBdXFPrjWBZFjwMHHuozJziByjJYxHZuEjOlowozpGMKAdKyhxU0dhI4hzJjUgqyA9jJFRYbQGaDTQaeBTgWdAjoEOgg6ANoDLa/uUv8B+nfQv4H+FfQvoH8G/RPoH0H/APp70N+B/hb0N6C/Br0K9FegvwT9BejPQX8G+lPQFeCH4wT/8UJOEHKikJOEnCzkFCGnCjlNyOlCzhByppCzhJwt5Bwh5wo5T8j5Qi4QcqGQi4T8TcjFQi4RcqmQy4RcLuQKIVcKuUrI1UKugTWJeY6H8xNAnwj6JNAngz4F9KmgTwN9OugzQJ8J+izQZ4M+B/S5oM8DfT7oC0BfCPoi0H8DfTHoS0BfCvoy0JeDvgL0laCvAn016GtAX6v54To4vx70DaBvBH0T6JtB3wL6VtC3gb4d9B2g7wR9F+i7Qd8D+l7Q94G+H/QDoB8E/RDoh0E/AvpR0I+Bfhz030E/AfofoJ8E/RTop0HHwA894bwadC/QvUH3AV0Dui/ofqBrQfcHPQD0QNCDQEdAR0HXga4H3QC6EfRg0E2gm0EPAT0U9DDQw0GPAD0S9Chkr9SjQY8BPRb0ONCbgB4PegLoiaAngZ4MegroqaA3BT0N9HTQM0BvBnom6FmgZ4OeA3pz0FuA3hL0VqC3Br0N6LmgtwW9HejtQc8DPR/0Aq9tnJLnx4M+AfSJoE8CfTLoU0CfCvo00KeDPgP0maDPAn026HNAnwv6PNDng74A9IWgLwL9N9AXg74E9KWgLwN9OegrQF8J+irQV4O+BvS1WoZEnIRFryXML0KeT0JngLm7R5sfqOM6dJICGr8ZUHmigWQ46mn96H40miybGqTrAvTtXk84YU3ZfX2AfIzW+xOASGIH6eIyyVlmCWeRRx+sAqjNG8TJjUJuEnKzkFuE3CrkNiG3C7lDyJ1C7hJyt5B7hNwr5D4h9wt5QMiDQh4S8rCQR4Q8KuQxIY8L+buQJ4T8Q8iTQp4S8rSQfwp5RsizQp4T8ryQF4S8KOQlIf8S8rKQfwt5Rch/hPxXyP+EvCrkNSGvC3lDyJtC3hLytpB3hLwr5D0h7wv5QMiHQj4S8rGQT4R8KuQzIZ+jdZYHWn4qogfvTK/tJyyZXnxwl4ctn5ykemuSA2WHp9mrPgVKI+23ISL7SvXiD/2iFPPxp2QthPLC+UuXzthzyd7zly8av2LZwuVLdluGp3Wq1kzIxzy9PgW5Ih3KqahOvS4d6YDOHwOd6DUFX58iiR3RZMX8mwJmYqlHy1lnsO24T32/AAd/iSa3++qIps2kfOorB/B3r/VT3y8DbTsNEfd9E0FiumjxmuMLwiT3S8LFnayAdLMLSHEB6Stw8CoXkOwMSF9pAWlVEgLSzYQB6SvCgLTKwoB0iwtIcQHpa3DwNy4g2RmQvtYC0jdJCEi3EAakrwkD0jcWBqQ7XECKC0jfgoO/cwHJzoD0rRaQvktCQLqDMCB9SxiQvrMwIN3pAlJcQPoeHPyDC0h2BqTvtYD0QxIC0p2EAel7woD0g4UB6S4XkOIC0o/g4J9cQLIzIP2oBaSfkhCQ7iIMSD8SBqSfLAxIn7uAFBeQfgYH/+ICkp0B6WctIP2ShID0OWFA+pkwIP1iaHFT+w9v70rU5hsI/fcrcUBvM/k9+oBOyYx5f0Mnbh9qgm3KQfotQN/u74ST35TdvwfIxyguOAW1tin3TiXa1h8B3vNSjs0fAfr9ZyVpdlyIKMd6NeFYY//Z8oOI1YYuRPiq4y5ECba5GtJk6nYDQd4XIml3IEg+RkY37VP7VB3UQRT/CCJRzhsJA3IwaF82T8mMeUMuiNIOUshAEE1hHkSl3SmGgyjnbD41yHteyrFJDdJn82UdMJtPIxzrMguz+TRDF6J0dyGiHaR0AxeiDOYXIml3hmXZPLVPPTSRKTnxT4UT5bybMCBnWpjNZxoKolkuiNIOUpaBIBpmHkSl3eEOnM1nM8/m5dhkG8jmu3bAbD6HcKy7WpjN5xi6EOW6CxHtIOUauBDlMb8QSbvzLMvmqX2qDuoL5i+EQbRT0Mzi5Zwk5DNPEuSY5BtIErp3wCShgHCsu1uYJBDaH5ckFLokgXaQCg0kCZ2ZJwnS7s6WJQnUPlUH9QXzO8Ig2qUDJglFzJMEOSZFBpKEig6YJBQTjnWFhUkCof1xSUKJSxJoB6nEQJJQyjxJkHaXWpYkUPtUHdQXzB8Ig2hZB0wSypknCXJMyg0kCVUdMEnoSjjWVRYmCYT2xyUJ3VySQDtI3QwkCd2ZJwnS7u6WJQnUPlUH9QXzJ8Ig2qMDJgkVzJMEOSYVBpKE6g6YJFQSjnW1hUkCof1xSUKVSxJoB6nKQJLQk3mSIO3uaVmSQO1TD01kzJnw7/IIbb6VMCBXEwakZAXRakNBtJcLorSD1MtAEO3NPIhKu3sbDqKcs/k+zLN5OTZ9DGTzvTtgNl9DONa9LczmawxdiPq6CxHtIPU1cCHqx/xCJO3uZ1k2T+1TD01kzJnwTlFCm28jDMi1FmbztYaCaH8XRGkHqb+BIDqAeRCVdg/owNn8QObZvBybgQay+ZoOmM0PIhzrGguz+UGGLkQRdyGiHaSIgQtRlPmFSNodtSybp/SpZJMLRC0gec+8P7w1/y8s9SrQ34DOElIn+q+HuYL/lP1WeM5toG8H/R3oH0D/BDpfSINop9GnrffhOR+A/hD0R6A/Bv0J6Gwhg0U7TagtNQiyD/mcu+G594C+F/R9oO8H/QDoB0E/BPph0I+AfhT0Y6AfB/130E+A/gfoJ0E/Bfpp0P8E/QzoZ0E/B/p50C+AfhH0S6D/Bfpl0P8G/Qro/4D+L+j/gX4V9GugXwf9Bug3Qb8F+m3Q74B+F/R7oAeDnz+F889A9xPSLB4bgsZGBecb4Dl18Npm0AVChoryMBzRPd5J3XDCC32yLs49PDMX5xHu4kw7SCMMXJxHMr84S7tHGrg4J+v/cSgXl0nOcks4iz36YBVAbY6S60HIaCFjhIwVMk7IJkLGC5kgZKKQSUImC5kiZKqQTYVMEzJdyAwhmwmZKWSWkNlC5gjZXMgWQrYUspWQrYVsI2SukG2FbCdkeyHzhMwXskDIQiE7CFkkZLGQHYXsJGSJkJ2F7CJkqZBdhSwTspuQ3YXsIWRPIXsJWS5khZC9hewjZF8h+wnZX8gBQg4UcpCQg9E6ywMt/zNID96ZXtv/H8r04oO7PGz5X6FU0UYGssPT7FX/kZRG2m9DRPaV6sUf+kUp5uNPyVoI5YXzly6dseeSvecvXzR+xbKFy5fstgxP61StmZCPeXp9CnJFOpRTUZ16XTrSAZ0/BjrRa8pI4oQqGTF/dNBMLPVoOZP2n2gr4eQQVOn+E42mzaT8J5ocQPyfaIcE23ZK/fHraILEVP0n2krCJPcQwsWdrIA0xgWkuIB0KJwc5gKSnQHpUC0gHZaEgDSGMCAdShiQDrMwII11ASkuIB0OJ0e4gGRnQDpcC0hHJCEgjSUMSIcTBqQjLAxIE1xAigtIR8LJUS4g2RmQjtQC0lFJCEgTCAPSkYQB6SgLA9JEF5DiAtLRcHKMC0h2BqSjtYB0TBIC0kTCgHQ0YUA6xsKANMkFpLiAdCycHOcCkp0B6VgtIB2XhIA0iTAgHUsYkI6zMCAd7AJSXEA6Hk5OcAHJzoB0vBaQTkhCQDqYMCAdTxiQTjC0uKn9h7d3JWrzKEL/nUgc0NtMfo8+oFMyY96TUEB0+1ATbFMO0klB+nZPJpz8puw+OUg+RkZ/rUi5t/eUIO95KcfmlCD9/rN+lvxakXKsTyUc634W/lqR0P64C9Fp7kJEO0inGbgQnc78QiTtPt3whYi7Tz00kSk58Y8gEuWMEdp8hoXZ/BmGguiZLojSDtKZBoLoWcyDqLT7rA6czZ/NPJuXY3O2gWy+fwfM5s8hHOv+FmbzhPbHXYjOdRci2kE618CF6DzmFyJp93mWZfPUPvXQRKbkxD8VTpRzMqHN51uYzZ9vKIhe4IIo7SBdYCCIXsg8iEq7L+zA2fxFzLN5OTYXGcjmB3bAbP5vhGM90MJsntD+uAvRxe5CRDtIFxu4EF3C/EIk7b7Esmye2qfqoL5gnkDIeWnQzOLlnCRcxjxJkGNymYEkIdIBk4TLCcc6YmGSQGh/XJJwhUsSaAfpCgNJwpXMkwRp95WWJQnUPlUH9QXzKELOqzpgknA18yRBjsnVBpKEug6YJFxDONZ1FiYJhPbHJQnXuiSBdpCuNZAkXMc8SZB2X2dZkkDtU3VQXzCPIeS8vgMmCTcwTxLkmNxgIElo6IBJwo2EY91gYZJAaH9cknCTSxJoB+kmA0nCzcyTBGn3zZYlCdQ+VQf1BfM4Qs5bOmCScCvzJEGOya0GkoTBHTBJuI1wrAdbmCQQ2h+XJNzukgTaQbrdQJJwB/MkQdp9h2VJArVPPTSRMWeibQcJbR5HaPOdhAEpWUH0TkNB9C4XRGkH6S4DQfRu5kFU2n234SDKOZu/h3k2L8fmHgPZfHMHzObvJRzrZguzeUL74y5E97kLEe0g3WfgQnQ/8wuRtPt+y7J5ap96aCJjzkTbJvyr1ugmhDY/YGE2/4ChIPqgC6K0g/SggSD6EPMgKu1+qANn8w8zz+bl2DxsIJsf2gGz+UcIx3qohdk8of1xF6JH3YWIdpAeNXAheoz5hUja/Zhl2TylTyWbXCBqAcVE2394a/5fWOrDQB8BOkvI46L8d5gr+E/Zx8FzNgE9HvRRoI8BfRzofCFPiPI/fNraG56zD+h9Qe8Hen/QB4DOFvKkKD+F2lKD8AQ8ZzLoKaCngt4U9DTQ00HPAL0Z6JmgZ4GeDXoO6M1BbwF6S9Bbgd4a9Dag54LeFvR2oLcHPQ/0fNALQC8EvQPoRaAXg94R9E6gl4DeGfQuoJeC3hX0MtC7gd4d9B6g9wS9F+jloFeAfhL0gaAPAt1PyNOi/E80Nio4j4LnPA76adAFQp4R5WeDa567Pn9nkfBO0oCZC4SncUY27IjqFYRtt+kLX0Cfg5PnUaX7OwuaNpPydxZyAB+EjuT58+jCoTtP1VMuog1sK6K1FX2O8EKHbY8kdkST9f86iTAvjj8W+uAaCUjUQXlk0ExwewFOXvyLwW2Mj816cBvjrTu4+bXz/yq4cZ4QKjC+EGwdGHkuJ8VoL/6gDpSUdrxIGChfCtIFBuXPl5A/TcyH54MJj49+8WmkHJ/nCcdnOPFHaAku/jZjLv2m1hPlOI/gZbd+tHxk+KIBu0cm6SPTRJO1FwjnOGU8G2XJR86E6zo6gvBj4pgtH9kT+o9wzkQT8V97SXwwsfXbZpwp1++/CK+dJm2m/JrnZWKbqa9PckxeNnB9Gt8Bv9L7N+FYj7fwKz1C++O+0nsl2Fp2X+kl2KYcpFeC9O3+h3AhmbL7P0HyMTL6lR53nw4VfMMNXDz+G0zO+CTK+T9LOF+1hPM1Qs5Ub83FQl0w5JyS4yV98Rq+enj0CWQC33a0aet1wqQC+wMfVO2vbV5EEjuirxuYv9SMz1iyxt4g5DQ8n4yN1RsWzKc3Dc0nzm+W32L+ZtlUvvO2JbHjHXuuRcbW5TsWxI53O2DseI84dqxtbBLlfJ+Os87WNfS+BWvogw64hj60ZA19RMdZb+sa+siCNfRxB1xDnxCuoWR9cF9B11bcB/efBlvL7oP7BNusAIdSt/sZ8w+Zpd2fBcnHKJKs7boVnpkgSM3Z1RLOEo8+WEmdDeXPxVz7QsiXQr4SskrI10K+EfKtkO+EfC/kByE/onmZB1pu09WDXabXdstvphcfDOVhy1Ze+eF6BrLD0+xV25LTaPtdKPtK9eIPPYjHfPwpWUuhvGjZHisWrVg0Y8WCpUsWjl+xbOHyJbstGzt/6VI8GVQnalKEfIzU61OQQ9KhnIrq1OvSkTa2H/oz4jQkGZHyS0PpokfLWWew7bgfI/wEJz+jSvdLK5o2k/JLKzmAv3utPyD4Odi2U+oNTV8SpHOLYGfhT4Sp4c+EiztZAekrF5DiAtIvcPKrC0h2BqRftID0axIC0leEAekXwoD0q4UBaZULSHEB6Tc4+d0FJDsD0m9aQPo9CQFpFWFA+o0wIP1uYUD6zgWkuID0B5ysdgHJzoD0hxaQVichIH1HGJD+IAxIqy0MSN+7gBQXkJTTA8j5LiDRtJmUgCQ9gwOSHEjTAel7woAk4RJt68/b0oXsC0g/uIAUF5CC4PSQC0h2BqSgFpBCSQhIPxAGpCBhQAqFzCxuav9VeHQ2f06YYaYQB/Q2k9+jD+iUzJg3FQVEt1kqwTblIKWG6NtNIwwepuxOC5GPkdHdl5Qb0NJDvOelHJv0EP12j4mW3G6DcqwzCMd6ooW328gwdCHKdBci2kHKNHAhymJ+IZJ2Zxm+EHH3qYcmMiUn3qmbKOcXhAE5bGE2HzYURLNdEKUdpGwDQTSHeRCVdud04Gw+l3k2L8cm10A2P7kDZvN5hGM92cJsPs/QhaiTuxDRDlInAxeifOYXIml3vmXZfL4l2Tz+PVuinD8SBuQCC7P5AkNBtNAFUdpBKjQQRDszD6LS7s4dOJvvwjybl2PTxUA2P7UDZvNFhGM91cJsvsjQhajYXYhoB6nYwIWohPmFSNpdYlk2X2Iom6e+YK4mDKKlITOLl3OSUMY8SZBjUmYgSZjWAZOEcsKxnmZhklBuKEno6pIE2kHqaiBJ6MY8SZB2d7MsSehmSZIQIOTs3gGThB7MkwQ5Jj0MJAkzOmCSUEE41jMsTBIqDCUJlS5JoB2kSgNJQhXzJEHaXWVZklBlSZIQIuTs2QGThGrmSYIck2oDScLMDpgk9CIc65kWJgm9DCUJvV2SQDtIvQ0kCX2YJwnS7j6WJQl9DCUJehBNtO0goc1fEwbkGgs3D9UYCqJ9XRClHaS+BoJoP+ZBVNrdrwNvHqplns3Lsak1kM3P7oDZfH/CsZ5tYTbf39CFaIC7ENEO0gADF6KBzC9E0u6BlmXzAy3J5isIbf6GMCAPsjCbH2QoiEZcEKUdpIiBIBplHkSl3dEOnM3XMc/m5djUGcjmN++A2Xw94VhvbmE2X2/oQtTgLkS0g9Rg4ELUyPxCJO1utCybp/SpZJMLRC0geTucP7w1/9Ql9a+gfwedJWSw6L8J5gr+k8Ov4TnfgP4W9GrQctef1CHQ+UKaRXlIyPPa81eiNg4NJWdcE+UcZgnncOKALuePmgJDYW4MAz0ctLwz8QhRHml4royyZAxilnCONjhXRsHciIEejebKGFEea3iujLNkDDaxhHO8wbkyDubGJqDHo7kyQZQnGp4rkywZg8mWcE4xOFcmwdyYDHoKmitTRXlTw3NlmiVjMN0SzhkG58o0mBvTQc9Ac2UzUZ5peK7MsmQMZlvCOcfgXJkFc2M26DlormwuylsYnitbWjIGW1nCubXBubIlzI2tQG+N5so2ojzX8FzZ1pIx2M4Szu0NzpVtYW5sB3p7NFfmifJ8w3NlgSVjsNASzh0MzpUFMDcWgt4BzZVForzY8FzZ0ZIx2MkSziUG58qOMDd2Ar0EzZWdRXkXw3NlqSVjsKslnMsMzpWlMDd2Bb0MzZXdRHl3w3NlD0vGYE9LOPcyOFf2gLmxJ+i90FxZLsorDM+VvS0Zg30s4dzX4FzZG+bGPqD3RXNlP1He3/BcOcCSMTjQEs6DDM6VA2BuHAj6IDRXDhbllYbnyiGWjMGhlnAeZnCuHAJz41DQh6G5crgoH2F4rhxpyRgcZQnn0QbnypEwN44CfTSaK8eI8rGG58pxlozB8QbGIAjtHQc+Px50hpATRPlEw74/yRLfn2zQ9yeBz09Gvj9FlE817PvTLPH96QZ9fxr4/HTk+zNE+UzDvj/LEt+fbdD3Z4HPz0a+P0eUzzXs+/Ms8f35Bn1/Hvj8fOT7C0T5QsO+v8gS3//NoO8vAp//Dfn+YlG+xLDvL7XE95cZ9P2l4PPLkO8vF+UrDPv+Skt8f5VB318JPr8K+f5qUb7GsO+vtcT31xn0/bXg8+uQ768X5RsM+/5GS3x/k0Hf3wg+vwn5/mZRvsWw72+1xPe3GfT9reDz25DvbxflOwz7/k5LfH+XQd/fCT6/C/n+blG+x7Dv77XE9/cZ9P294PP7kO/vF+UHDPv+QUt8/5BB3z8IPn8I+f5hUX7EsO8ftcT3jxn0/aPg88eQ7x8X5b8b9v0Tlvj+HwZ9/wT4/B/I90+K8lOGff+0Jb7/pyWcz1jC+awlnM9Zwvm8JZwvWML5oiWcL1nC+S9LOF+2hPPflnC+Ygnnfyzh/K8lnP+zhPNVSzhfs4TzdUs437CE801LON+yhPNtSzjfsYTzXUs437OE831LOD+whPNDA5+ZjYL2muGzsh+Da/TTcP5P0M+Afhb0CNBjQE8APRX0ZqA3B70N6HmgF4HeGfRuoJeD3g/0waAPB30M6BNAnwL6DNDngL4A9MWgLwd9NejrQd8M+nbQd4O+H/TDoB8H/STo50A/D/oF0C+Cfgn0v0C/DPrfoF8B/R/Q/wX9P9Cvgn4N9Oug3wD9Jui3QL8N+h3Q74J+D/T7oD8A/SHoWiEfifLHodb7/KmPST+HuTAYnvsR6AIhn4jypyEv7ggSz3fKm7N+Rrd2Wu5nHPDaHvp6jyR2RCs92vWujs/RuLkbqibYZiU4lLrdL0J0k9+U3V+EyMeo5W7FIa/twXlxmeTsZglnqUcfrKTOhvKXYlJ8JWSVkK+FfCPkWyHfCfleyA9CfhTyk5Cf0QTKAy1/xKMHu0w01wKoDgdDeaShcozIRgPBNZLqrfmyU9nhafbmevE38iXqd6HsK9WLP/QgHvPxp2QthfKiZXusWLRi0YwVC5YuWTh+xbKFy5fstmzs/KVL8WRQnahJEfIxUq9PQQ5Jh3IqqlOvS0c6oFsRA51oJP6COA1JRqRcZejtkUfLWWew7SieXL+A039FzlerLei1Tqg0NB7qqXIyrvbajlUAlYPwnFA7zwmspR286tXr1aon9omRCGY0/QuAc+UA/g4dyfNfQ207DRH3vYognVu0eM3xC2Fq+Cvh4k5WQPraBaS4gPQbOP13F5DsDEi/aQHp9yQEpK8JA9JvhAHpdwsD0jcuIMUFpD/A6atdQLIzIP2hBaTVSQhI3xAGpD8IA9JqCwPSDy4gxQUk9SFAIKW1ygUkmjaTEpDkKOCAJAfSdED6gTAgSf5E2/rzr7xS7AtIP7qAFBeQghCIQi4g2RmQglpACiUhIP1IGJCChAEpZGFA+skFpLiAlAKBKNUFJDsDUooWkFKTEJB+IgxIKYQBKTXFzOKm9l+lR2fzl4RvedOIA3qbye/RB3RKZsybjgKi2yyVYJtykNJT6NvNIAwepuzOSCEfo7jgFNTaptyqkGhbmSm856Ucm8wU+u0eW6bZcSGiHOsswrHG/kv4XYqXnAtRlqELUdhdiGgHKWzgQpTN/EIk7ZaMxGNkdGcptU89NJEpOfFO3UQ5vyIMyDkWZvM5hoJorguitIOUayCI5jEPotJuyUg8RtZk852YZ/NybDoZyOa37oDZfD7hWG9tYTafb+hCVOAuRLSDVGDgQlTI/EIk7S60LJsvtCSbx79nS5TzZ8KA3NnCbL6zoSDaxQVR2kHqYiCIFjEPotLuog6czRczz+bl2BQbyObndsBsvoRwrOdamM2XGLoQlboLEe0glRq4EJUxvxBJu8ssy+bLDGXz1BfMACFneYqZxcs5SejKPEmQY9LVQJKwXQdMEroRjvV2FiYJ3QwlCd1dkkA7SN0NJAk9mCcJ0u4eliUJPSxJEkKEnBUdMEmoZJ4kyDGpNJAkzOuASUIV4VjPszBJqDKUJPR0SQLtIPU0kCRUM08SpN3VliUJ1ZYkCamEnL06YJLQm3mSIMekt4EkYUEHTBL6EI71AguThD6GkoQalyTQDlKNgSShL/MkQdrd17Ikoa+hJEEPoom2HSS0+VvCgNzPws1D/QwF0VoXRGkHqdZAEO3PPIhKu/t34M1DA5hn83JsBhjI5nfogNn8QMKx3sHCbH6goQvRIHchoh2kQQYuRBHmFyJpd8SybD5iSTZfSWjzd4QBOWphNh81FETrXBClHaQ6A0G0nnkQlXbXd+BsvoF5Ni/HpsFANr+4A2bzjYRjvdjCbL7R0IVosLsQ0Q7SYAMXoibmFyJpd5Nl2TylTyWbXCDKBfJ2OPKfh38F/Tvo1aCzhDSLJw+BuYL/5PBbeM53oL8HLX8SIHUIdCrofCFDRXlYiue1569EbRyekpxxTZRzhCWcI4kDOv4n7OEwN0aAHgla3pl4lOzX8FwZbckYjLGEc6zBuTIa5sYY0GPRXBknypsYnivjLRmDCZZwTjQ4V8bD3JgAeiKaK5NEebLhuTLFkjGYagnnpgbnyhSYG1NBb4rmyjRRnm54rsywZAw2s4RzpsG5MgPmxmagZ6K5MkuUZxueK3MsGYPNLeHcwuBcmQNzY3PQW6C5sqUob2V4rmxtyRhsYwnnXINzZWuYG9uAnovmyraivJ3hubK9JWMwzxLO+QbnyvYwN+aBno/mygJRXmh4ruxgyRgssoRzscG5sgPMjUWgF6O5sqMo72R4riyxZAx2toRzF4NzZQnMjZ1B74LmylJR3tXwXFlmyRjsZgnn7gbnyjKYG7uB3h3NlT1EeU/Dc2UvS8ZguSWcKwzOlb1gbiwHvQLNlb1FeR/Dc2VfS8ZgP0s49zc4V/aFubEf6P3RXDlAlA80PFcOsmQMDraEc6XBuXIQzI2DQa9Ec+UQUT7U8Fw5zJIxONwSziMMzpXDYG4cDvoINFeOFOWjDM+Voy0Zg2Ms4TzW4Fw5GubGMaCPRXPlOFE+3vBcOcGSMTjRwBioDX0ngM9PBJ0h5CRRPtmw70+xxPenGvT9KeDzU5HvTxPl0w37/gxLfH+mQd+fAT4/E/n+LFE+27Dvz7HE9+ca9P054PNzke/PE+XzDfv+Akt8f6FB318APr8Q+f4iUf6bYd9fbInvLzHo+4vB55cg318qypcZ9v3llvj+CoO+vxx8fgXy/ZWifJVh319tie+vMej7q8Hn1yDfXyvK1xn2/fWW+P4Gg76/Hnx+A/L9jaJ8k2Hf32yJ728x6Pubwee3IN/fKsq3Gfb97Zb4/g6Dvr8dfH4H8v2donyXYd/fbYnv7zHo+7vB5/cg398ryvcZ9v39lvj+AYO+vx98/gDy/YOi/JBh3z9sie8fMej7h8HnjyDfPyrKjxn2/eOW+P7vBn3/OPj878j3T4jyPwz7/klLfP+UQd8/CT5/Cvn+aVH+p2HfP2OJ75+1hPM5Szift4TzBUs4X7SE8yVLOP9lCefLlnD+2xLOVyzh/I8lnP+1hPN/lnC+agnna5Zwvm4J5xuWcL5pCedblnC+bQnnO5ZwvmsJ53uWcL5vCecHlnB+aAnnR5ZwfmzgM7NR0N5Q+KzsZ7iX2zNw/izo50A/D3oU6HGgJ4GeBnoW6C1Bbwt6AegdQS8FvQfovUEfAPoQ0EeCPg70SaBPA30W6PNAXwT6UtBXgr4W9I2gbwV9J+h7QT8I+lHQT4B+GvQLoF8E/RLof4F+GfS/Qb8C+j+g/wv6f6BfBf0a6NdBvwH6TdBvgX4b9Dug3wX9Huj3QX8A+kPQH4H+GHStkE9E+dOU1vv8qf3QX8JcaIbnfgK6QMhnovx5yprnhry2B/Xc/yxINvejPrh/te2oXkHYdpu+gqjNL+Cz7C9TWusyQQe91s/C09B4qHGSL1nttR2rACoH4Tmhdp4TWEs7mahOvT4XsRD6JGLgpq8Rozd1DYBz5QA+CB3J8y9RcNedp+opF9EGthXR2op+kULH9SXdhS26vgEpktgRTYR5cfyx0AfXSECiDsr47tmRxI644PYVBLVVfzG4jfGxWQ9uY7x1Bze/dv5fBTfOE0IFxq9SWgdGnstJMdqLP6gDJaUdqwgD5dcpdIFB+fNr5E8T8+HLlITHR7/4NFKOz5eE47MT8d8eJLj424y59JtaT5TjvISX3frR8jcPqwzYvXOS/uYi0WTtK8I5ThnPdrHkb0II13V0CeFfeyy1xH+E6yRKOGeiifivvSQ+mNj6bTPOlOv3G8I3WyZtpvxrnm+Jbaa+Pskx+dbA9WnPDvg3TN8RjvWeFv4NE6H9cX/D9D16M66KQZ854f6GaT3alIP0fQp9uz8QXihM2f1DCvkYGf0bJu4+/USsiM9C9BePHy35WvQnSzh/toTzF0LOVNGGFLXk5ZyS4yV98UuKF3dQJ5AJfNvRpq1fCZOKFPCJflC1v7Z5EUnsiP5qYP5SM35myRr7jZDT8HwyNla/WTCffjc0nzi/Wf6D+ZtlU/nOaktih1zsVL60NXYQ+sAYYyC148WOYCpt7Fjb2CT8YQwdZ52tayhkwRpK6YBrKNWSNZRGx1lv6xpKs2ANpXfANZRhyRrKNDQ21JxZlnCGLeHMJuakjhmviDZeM2D3cuYbhT4QbXxkwO4VPDcKteHMIYybhGMdNeU/6nHOtST+5FnC2ckSznxLOAss4Sy0hLOzJZxdLOEssoSz2BLOEks4Sy3hLLOEs9wSzq7M3weNFB9yvB2kt3tf5u+D3hQ2v2XA7v0seR/UjfB9EOFYR/djPm/eFXPmPQPzpjvzOPGBsPlDA3b3YG73x8LmTwzYXcHcbvlZ9WoDG/YPZL6+5X6YPwzYfZAl14VKwusC4VhHD2I+b+ReCLk3gHreVDGPE/L761QDdvdkbrf8zjHDgN3Vlryv6WUJZ29LOPtYwlljCWdfSzj7WcJZawln/yTtBYkkdrTc/IXK5gGW2BwktHmgJTaHCG0eZInNKYQ2RyyxOZXQ5qglNqcR2lxnic3HEtpcb4nNeA9fojY3WGJzFqHNjZbYHCa0ebAlNmcT2txkic05hDY3W2JzLqHNQyyxOY/Q5qGW2NyJ0OZhlticT2jzcEtsLiC0eYQlNhcS2jzSEps7E9o8yhKbuxDaHLPE5iJCm0dbYnMxoc1jLLG5hNDmsZbYXEpo8zhLbC4jtHkTS2wuJ7R5vCU2dyW0eYIlNncjtHmiJTZ3J7R5kiU29yC0ebIlNlcQ2jzFEpsrCW2eaonNVYQ2b2qJzT0JbZ5mic3VhDZPt8TmXoQ2z7DE5t6ENm9mic19CG2eaYnNNYQ2z7LE5r6ENs+2xOZ+hDbPscTmWkKbN7fE5v6ENm9hic3pHp3NW1picwahzVvZsm+I0Oatbdk3RGjzNrbsGyK0ea4t+4YIbd7Wln1DhDZvZ8u+IUKbt7dl3xChzfNs2TdEaPN8W/YNEdq8wJZ9Q4Q2L7Rl3xChzTvYsm+I0OZFtuwbIrR5sQGbF4BWf8wtfxul7ostf0si3xfK90nyfYPMo2VeKfMsmXfI67C8Lsk4LeOWXMdyXstxlnYXCSkWUiKkVEiZkHIhXYV0E9JdSA8hFUIqhVQJ6SmkWkgvIb2F9BFSI6SvkH5CaoX0FzJAyEAhg6QvhMgbJtdJHwtpENIoZLCQJiHNQoYIGSpkmJDhQkYIGSlkFIzPaCFjhIwVMk7IJkLGC5kgZKKQSUImC5kiZKqQTYVMEzJdyAwhmwmZKWSWkNlC5gjZXMgWQrYUspWQrYVsI2SukG2FbCdkeyHzhMyHsRgK4yF/Pyh/Tyd/XyZ/byV/fyR/jyN/nyJ/ryF/vyD388v97XK/t9z/LPcDy/2xcr+o3D8p9xO27K8TIvdfyf1Icn+O3K8i92/I/Qzy+335fbf8/ld+Hyq/H5Tfl8nvj+T3KfL7Bfl5u/z8WX4eKz+flJ/Xyc+v5Oc58vMN+X5fvv+V7wfl+yP5fkHmzzKflPmVzDfk9Vdej2R8lvFKrl85n/8Pjpp29U6nCAA=","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"}]}');class Ts{constructor(t,e,r,n=31337,i=1){this.address=t,this.privateKey=e,this.signer=r,this.chainId=n,this.version=i,this.log=li("aztec:client:accounts:stored_key")}async createTxExecutionRequest(t,e={}){if(e.origin&&!e.origin.equals(this.address))throw new Error(`Sender ${e.origin.toString()} does not match account address ${this.address.toString()}`);const[r,n]=Ka()(t,(t=>t.functionData.isPrivate)),i=await Ti.get(),{payload:a,packedArguments:s}=await Va(r,n),o=$a(a,i),c=this.signer.constructSignature(o,this.privateKey).toBuffer();this.log(`Signed challenge ${o.toString("hex")} as ${c.toString("hex")}`);const f=[a,c],u=this.getEntrypointAbi(),l=await ja.fromArgs(Mr(u,f),i);return za.from({argsHash:l.hash,origin:this.address,functionData:xn.fromAbi(u),txContext:jn.empty(this.chainId,this.version),packedArguments:[...s,l]})}getEntrypointAbi(){const t=_s.functions.find((t=>"entrypoint"===t.name));if(!t)throw new Error("Entrypoint abi for account contract not found");return t}}class Os{constructor(t){this.signingPrivateKey=t}async getDeploymentArgs(){const t=await Fi.new().then((t=>t.computePublicKey(this.signingPrivateKey)));return[t.subarray(0,32),t.subarray(32,64)]}async getEntrypoint({address:t},{chainId:e,version:r}){return new Ts(t,this.signingPrivateKey,await Fi.new(),e,r)}getContractAbi(){return _s}}const As=JSON.parse('{"name":"SchnorrAccount","functions":[{"name":"compute_note_hash_and_nullifier","functionType":"unconstrained","isInternal":false,"parameters":[{"name":"contract_address","type":{"kind":"field"},"visibility":"private"},{"name":"nonce","type":{"kind":"field"},"visibility":"private"},{"name":"storage_slot","type":{"kind":"field"},"visibility":"private"},{"name":"preimage","type":{"kind":"array","length":3,"type":{"kind":"field"}},"visibility":"private"}],"returnTypes":[{"kind":"array","length":4,"type":{"kind":"field"}}],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"constructor","functionType":"secret","isInternal":false,"parameters":[{"name":"signing_pub_key_x","type":{"kind":"field"},"visibility":"public"},{"name":"signing_pub_key_y","type":{"kind":"field"},"visibility":"public"}],"returnTypes":[],"bytecode":"H4sIAAAAAAAA/+2c91MUSRTH211YJIh6AVQMmLPObIBdTKuInsqBCT3PO5WFWURJ4qJiPi9nL+c7zss5xz/u6ubBm+I57pU/7BvqvqVd1fVmGKrn8+kJ3dPTs38bY0bMWJrk5pCbi3jZWy/2rUd4WSZvPc0xZtXF40591LFjdrsVTWWSCSueyNQl7aSdSCY6o8lYzEnGk/WpTKreStnxmGNnE6lY1hpLM0RZVoEpSM6ZIJyzQDhrQDhng3DOAeGcC8I5D4SzFoRzPgjnAhDOhSCci0A4F4NwLgHhXArCuQyEczkI5woQzpUgnKtAOFeDcK4B4VwLwmmBcNognFEQzhgIZxyEM6HISWw0dlfL5VW5+R83V3OcwXEmx1kcazjO5jiH41yO8zjWcpzPcQHHhRwXcVzMcQnHpRyXcVzOcQXHlRxXcVzNcQ3HtRwtjjbHKMcYxzjHhCivzs315uakfQyTBuNcS4FwNoBwrgPhXA/CuQGEcyMI5yYQzjQI52YQzi0gnI0gnFtBOJtAOLcZ/T7vNC6P+nvU90tyTHFs4LiO43qOGzhu5LiJY5rjZo5bODZy3MqxieM2M97n3O7mB8zNSbsOd+jVoe3Voce4g13obzvdvIu30XqY/8f/bBHiSKnZzQ8G7N8SgH+Iy2thl2bh1Orm3ewfNv+d0opM4dvUoVVYsquM/v1Cm7EagDFkJua+axWW7Faje9/10h6xXMGx1IzNM6IUEn8L+9xKxXYvRcRyWoc3FtGvT4vmTU0WHsbnW8nbp/N6X3+uOzvcOOi055zOlv6cIyuxmGM4T0HyZiC3F4mdR3zlyIr1tpWYWyd2qZ1d4XyFG/2zeI8J5izem6di5ZkZFpWp7WR8+/HXY6UJ8MAFdZD2BlDuPqPXhQjKe5/+MQq0WdCs04m6CWg2uZMEo3eR73dzm5sPCIcpHCeoybKCarIiwsNLssmi7UW6+43Jpt+I+jZ56s2I/VPz6XUpupzc7qFMT3fHLmc43zEL5ylXdj38Law8jt62QFtI/zMUnWT0fNHG8QDHqW4+6OaHfBxhH0+hF6viRWQfVOQ6pMc1YTckTWbJ+7BYvtsrKbDMQ1yh2uUeNv/vXgl5H9Y/RoH2SjTrlE7eYnNrQhkIUD5udpB1sN9gnF9tRveGfXew7s4brJO9UK9RfsTNj5rxVMNRjtHIcZt8vdI7YeCsTHgYn683cOa91HF6u3NNfR2DwwPuwFlzf5fsdJRwLM5TjqxXSkViuVjUZ8T3vxHBldZxjpaa8cFCI/YtU1oslwqWMl2W0WurXOzL4/L2Uy62lwiOcl2O0QeiMp+/ZAhov6P+Fbfxr8jDUTGB/nIgvczHKa99b1ugT66yTO03eUeMfqMRBOdREM5jIJztIJwZEM4OEM5OEE4HhDMLwtkFwnkchLMbhPMECOdJEM4eHc5sPBoPlLMXpD77QDj7QTgHQDhPgXAOgnCeBuHMgXAOgXCeAeE8C8J5DoRzGITzPAjnBRDOiyCcl0A4L4NwXgmIM+TjtApLo4PqWs5XQZxDis6PgTiHFZ2vgTgXKTo/DuJcrOj8BIhzRNH5SRDn7YrOT4E4H1F0fhrE+aii8zMgzscUnZ8FcW5XdH4OxDmj6Pw8iHOHovMLIM6dis4vgjg7is4vgTi3Kjq/DOKcVXS+DuLcpej8CojzcUXnV0Gcdyo6vwbi3K3o/DqI8wlF5zdAnE8qOr8J4tyj6PwWiHOvovPbIM59is7vgDj3Kzq/C+I8oOj8HojzKUXn90GcBxWdPwBxPq3o/CGIc07R+SMQ5yFF5xEQ5zOKzh+DOJ9VdL4B4nxO0fkTEOdhRedPQZzPKzp/BuJ8QdH5cxDni4rOX4A4X1J0/hLE+bKi81cgzlcUnb8GcS5RdP4GxHmyovO3IM6lis7fgTiXKTp/D+Jcruj8A4hzhaLzjyDOUxSdfwJxrlR0/hnEeaqi8y8gztMUnX8FcZ6u6PwbiPM9is6/gzjfq+j8B4jzfYrOf4I436/o/FcAztUcvR+ipG+j6Fsh7+fe6bmQnpO8H5PzfuCO+h3UDlO7RPdpum/RdUznNR1n8q7i8ht4H1fdTN+IXXMzfUNE39TQNyb0zQV9g0Bz8mmOOs3ZpjnMNKeX5rjSnE+aA3ndzTRHjuaM0RwqmlNEc2xozgnNwaA5CfSOnt5Z0ztceqdJ7/jonRe9AxpxM70juOFmGkOmMVUaY6QxNxqDojEZGqOgZ3Z6hqVnOnrGoT4/9YGpT0h9JOozUBtKbQrdY+meQ9cgnZN0jP4FBu37rDqLAAA=","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"},{"name":"entrypoint","functionType":"secret","isInternal":false,"parameters":[{"name":"payload","type":{"kind":"struct","name":"EntrypointPayload","fields":[{"name":"flattened_args_hashes","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_selectors","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"flattened_targets","type":{"kind":"array","length":4,"type":{"kind":"field"}}},{"name":"nonce","type":{"kind":"field"}}]},"visibility":"public"},{"name":"signature","type":{"kind":"array","length":64,"type":{"kind":"integer","sign":"unsigned","width":8}},"visibility":"public"}],"returnTypes":[],"bytecode":"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","verificationKey":"0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"}]}');class js{constructor(t){this.signingPrivateKey=t}async getDeploymentArgs(){const t=await Ki.new().then((t=>t.computePublicKey(this.signingPrivateKey)));return[t.x,t.y]}async getEntrypoint({address:t},{chainId:e,version:r}){return new Ts(t,this.signingPrivateKey,await Ki.new(),e,r)}getContractAbi(){return As}}class Ps{constructor(t){this.encryptionPrivateKey=t}getDeploymentArgs(){return Promise.resolve([])}async getEntrypoint({address:t,partialAddress:e},{chainId:r,version:n}){return new ts(t,e,this.encryptionPrivateKey,await Ki.new(),r,n)}getContractAbi(){return qa}}class zs{constructor(t=[]){this.entrypoints=new Map;for(const[e,r]of t)this.registerAccount(e,r)}static async fromAccounts(t){const e=new zs;for(const r of t)e.registerAccount((await r.getCompleteAddress()).address,await r.getEntrypoint());return e}registerAccount(t,e){this.entrypoints.set(t.toString(),e)}createTxExecutionRequest(t,e={}){const r=this.entrypoints.values().next().value,n=e.origin?this.entrypoints.get(e.origin.toString()):r;if(!n)throw new Error(`No entrypoint registered for ${e.origin}`);return n.createTxExecutionRequest(t,e)}}function Ds(t,e,r,n){return new Rs(t,e,new Os(r),n)}function Ms(t,e,r,n){return new Rs(t,e,new js(r),n)}function Zs(t,e,r){return new Rs(t,e,new Ps(e),r)}function Ys(t,e,r){return Ws(t,e,new Ps(r))}async function Ws(t,e,r){const n=await t.getAccount(e);if(!n)throw new Error(`Account ${e} not found`);const i=await t.getNodeInfo(),a=await r.getEntrypoint(n,i);return new ns(t,a,n)}var Ns=r(816).Buffer;const Us=[new ta(Ns.from("b2803ec899f76f6b2ac011480d24028f1a29587f8a3a92f7ee9d48d8c085c284","hex")),new ta(Ns.from("6bb46e9a80da2ff7bfff71c2c50eaaa4b15f7ed5ad1ade4261b574ef80b0cdb0","hex")),new ta(Ns.from("0f6addf0da06c33293df974a565b03d1ab096090d907d98055a8b7f4954e120c","hex"))],Fs=Us,Qs=[_r.ZERO,_r.ZERO,_r.ZERO],Hs=As;async function Gs(t){return await ss(t,Hs,Us,Fs,Qs)}async function Js(t){const e=Us.map(((e,r)=>({account:Ms(t,e,Fs[r],Qs[r]),privateKey:e}))),r=(await Promise.all(e.map((async t=>{const e=await t.account.getDeployMethod();return await e.create({contractAddressSalt:t.account.salt}),await e.simulate({}),e})))).map((t=>t.send()));return await Promise.all(r.map((async(t,r)=>{const n=await e[r].account.getWallet();return t.wait({wallet:n})}))),e}const Xs=async t=>{for(;;)try{await t.getNodeInfo();break}catch(t){await ea(1e3)}}})();var i=n.mR,a=n.bG,s=n.xz,o=n.EB,c=n.cC,f=n.C3,u=n.QT,l=n.ug,h=n.CH,d=n.xq,p=n.vp,b=n.xr,g=n.Ag,y=n.W_,m=n.g2,w=n.Y8,v=n.gB,E=n.vX,S=n.Bi,k=n.jF,I=n.Wi,L=n.Fr,x=n.E7,C=n.ah,B=n.N0,R=n.rL,_=n.$h,T=n.pP,O=n.E9,A=n._q,j=n.lW,P=n.a5,z=n.GR,D=n.x6,M=n.of,Z=n.E$,Y=n.Tx,W=n.qd,N=n.f1,U=n.EY,F=n.bH,Q=n.qx,H=n.ig,G=n._$,J=n.g$,X=n.sn,K=n.es,q=n.ir,V=n.G0,$=n.o2,tt=n.nW,et=n.qe,rt=n.IQ,nt=n.JA,it=n.FV,at=n.iL,st=n.dH,ot=n.Jz,ct=n._v,ft=n.qW;export{i as Account,a as AccountWallet,s as AztecAddress,o as AztecCheatCodes,c as BaseWallet,f as BatchCall,u as CheatCodes,l as CompleteAddress,h as Contract,d as ContractBase,p as ContractData,b as ContractDataAndBytecode,g as ContractDeployer,y as ContractDeploymentTx,m as ContractFunctionInteraction,w as DeployMethod,v as EcdsaAccountContract,E as EntrypointCollection,S as EntrypointWallet,k as EthAddress,I as EthCheatCodes,L as Fr,x as INITIAL_SANDBOX_ACCOUNT_CONTRACT_ABI,C as INITIAL_SANDBOX_ENCRYPTION_KEYS,B as INITIAL_SANDBOX_SALTS,R as INITIAL_SANDBOX_SIGNING_KEYS,_ as L2BlockL2Logs,T as PackedArguments,O as Point,A as PrivateKey,j as SchnorrAccountContract,P as SentTx,z as SignerlessWallet,D as SingleKeyAccountContract,M as SingleKeyAccountEntrypoint,Z as StoredKeyAccountEntrypoint,Y as Tx,W as TxExecutionRequest,N as TxHash,U as TxReceipt,F as TxStatus,Q as computeMessageSecretHash,H as createAccounts,G as createAztecRpcClient,J as createDebugLogger,X as deployInitialSandboxAccounts,K as emptyFunctionCall,q as generatePublicKey,V as getAccountWallets,$ as getEcdsaAccount,tt as getL1ContractAddresses,et as getSandboxAccountsWallet,rt as getSchnorrAccount,nt as getUnsafeSchnorrAccount,it as getUnsafeSchnorrWallet,at as getWallet,st as isContractDeployed,ot as makeFetch,ct as sleep,ft as waitForSandbox};