@kapa123456789/sdk 0.0.6 → 0.0.8
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.
|
@@ -1 +1,3 @@
|
|
|
1
|
-
const e=require(`./workerProxy-36ykh-KW.js`);let t=require(`worker_threads`),n=require(`buffer`),r=require(`process`);r=e.l(r);let i=require(`snarkjs`);i=e.l(i);let a=require(`axios`);a=e.l(a);var o=new class{axiosInstance;constructor(){this.axiosInstance=a.default.create()}async get(e,t){return(await this.axiosInstance.get(e,t)).data}async post(e,t,n){return(await this.axiosInstance.post(e,t,n)).data}async put(e,t,n){return(await this.axiosInstance.put(e,t,n)).data}async patch(e,t,n){return(await this.axiosInstance.patch(e,t,n)).data}async delete(e,t){return(await this.axiosInstance.delete(e,t)).data}},s={setHttpClient:e=>{o=e},get:(e,t)=>o.get(e,t),post:(e,t,n)=>o.post(e,t,n),put:(e,t,n)=>o.put(e,t,n),patch:(e,t,n)=>o.patch(e,t,n),delete:(e,t)=>o.delete(e,t)},c=new e.t,l=async e=>new Uint8Array(await s.get(e,{responseType:`arraybuffer`})),u=async t=>{try{let{input:n,wasmFilePath:r,zKeyFilePath:a,chainId:o}=t.payload.data,{hostLocation:{origin:s},constants:{isDevelopment:u,chains:{chainIds:d}}}=t.metadata,f=r,p=a,m,h,g=f.startsWith(`https://`);if(e.i&&!g){e.o?(f=`libs/hardhat/test/circuits/${r}`,p=`libs/hardhat/test/circuits/${a}`):!e.o&&u&&(o===e.n.solanaLocalnet?(f=`tests/circuits/${r}`,p=`tests/circuits/${a}`):(f=`test/circuits/${r}`,p=`test/circuits/${a}`));let t=require(`path`);f=t.resolve(f),p=t.resolve(p)}e.i&&g?(m=await l(f),h=await l(p)):(o===d.localhost||o===e.n.solanaLocalnet||o===d.tronLocalnet)&&!e.i&&(f=`${s}/${r}`,p=`${s}/${a}`);let{proof:_,publicSignals:v}=await i.groth16.fullProve(n,m??f,h??p,void 0,void 0,e.i?{singleThread:!0}:void 0),y=await i.groth16.exportSolidityCallData(_,v),b=JSON.parse(`[${y}]`);c.postMessageToMainThread({zkCallData:b,proof:_,publicSignals:v})}catch(e){console.error(e),c.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,t.parentPort.on(`message`,async e=>{await u(e)});
|
|
1
|
+
const e=require(`./workerProxy-36ykh-KW.js`);let t=require(`worker_threads`),n=require(`buffer`),r=require(`process`);r=e.l(r);let i=require(`ffjavascript`),a=require(`axios`);a=e.l(a);var o={};async function s(e,t,n,r){if(n||=4096*64,typeof t!=`number`&&[`w+`,`wx+`,`r`,`ax+`,`a+`].indexOf(t)<0)throw Error(`Invalid open option`);let i=await o.promises.open(e,t);return new c(i,await i.stat(),n,r,e)}var c=class{constructor(e,t,n,r,i){for(this.fileName=i,this.fd=e,this.pos=0,this.pageSize=r||256;this.pageSize<t.blksize;)this.pageSize*=2;this.totalSize=t.size,this.totalPages=Math.floor((t.size-1)/this.pageSize)+1,this.maxPagesLoaded=Math.floor(n/this.pageSize)+1,this.pages={},this.pendingLoads=[],this.writing=!1,this.reading=!1,this.avBuffs=[],this.history={}}_loadPage(e){let t=this,n=new Promise((n,r)=>{t.pendingLoads.push({page:e,resolve:n,reject:r})});return t.__statusPage(`After Load request: `,e),n}__statusPage(e,t){let n=[],r=this;if(!r.logHistory)return;n.push(`==`+e+` `+t);let i=``;for(let e=0;e<r.pendingLoads.length;e++)r.pendingLoads[e].page==t&&(i=i+` `+e);if(i&&n.push(`Pending loads:`+i),r.pages[t]!==void 0){let e=r.pages[t];n.push(`Loaded`),n.push(`pendingOps: `+e.pendingOps),e.loading&&n.push(`loading: `+e.loading),e.writing&&n.push(`writing`),e.dirty&&n.push(`dirty`)}n.push(`==`),r.history[t]||(r.history[t]=[]),r.history[t].push(n)}__printHistory(e){let t=this;t.history[e]||console.log(`Empty History `,e),console.log(`History `+e);for(let n=0;n<t.history[e].length;n++)for(let r=0;r<t.history[e][n].length;r++)console.log(`-> `+t.history[e][n][r])}_triggerLoad(){let e=this;if(e.reading||e.pendingLoads.length==0)return;let t=Object.keys(e.pages),n=[];for(let r=0;r<t.length;r++){let i=e.pages[parseInt(t[r])];i.dirty==0&&i.pendingOps==0&&!i.writing&&!i.loading&&n.push(parseInt(t[r]))}let r=e.maxPagesLoaded-t.length,i=[];for(;e.pendingLoads.length>0&&(e.pages[e.pendingLoads[0].page]!==void 0||r>0||n.length>0);){let t=e.pendingLoads.shift();if(e.pages[t.page]!==void 0){e.pages[t.page].pendingOps++;let r=n.indexOf(t.page);r>=0&&n.splice(r,1),e.pages[t.page].loading?e.pages[t.page].loading.push(t):t.resolve(),e.__statusPage(`After Load (cached): `,t.page)}else{if(r)r--;else{let t=n.shift();e.__statusPage(`Before Unload: `,t),e.avBuffs.unshift(e.pages[t]),delete e.pages[t],e.__statusPage(`After Unload: `,t)}t.page>=e.totalPages?(e.pages[t.page]=a(),t.resolve(),e.__statusPage(`After Load (new): `,t.page)):(e.reading=!0,e.pages[t.page]=a(),e.pages[t.page].loading=[t],i.push(e.fd.read(e.pages[t.page].buff,0,e.pageSize,t.page*e.pageSize).then(n=>{e.pages[t.page].size=n.bytesRead;let r=e.pages[t.page].loading;delete e.pages[t.page].loading;for(let e=0;e<r.length;e++)r[e].resolve();return e.__statusPage(`After Load (loaded): `,t.page),n},e=>{t.reject(e)})),e.__statusPage(`After Load (loading): `,t.page))}}Promise.all(i).then(()=>{e.reading=!1,e.pendingLoads.length>0&&setImmediate(e._triggerLoad.bind(e)),e._tryClose()});function a(){if(e.avBuffs.length>0){let t=e.avBuffs.shift();return t.dirty=!1,t.pendingOps=1,t.size=0,t}else return{dirty:!1,buff:new Uint8Array(e.pageSize),pendingOps:1,size:0}}}_triggerWrite(){let e=this;if(e.writing)return;let t=Object.keys(e.pages),n=[];for(let r=0;r<t.length;r++){let i=e.pages[parseInt(t[r])];i.dirty&&(i.dirty=!1,i.writing=!0,e.writing=!0,n.push(e.fd.write(i.buff,0,i.size,parseInt(t[r])*e.pageSize).then(()=>{i.writing=!1},t=>{console.log(`ERROR Writing: `+t),e.error=t,e._tryClose()})))}e.writing&&Promise.all(n).then(()=>{e.writing=!1,setImmediate(e._triggerWrite.bind(e)),e._tryClose(),e.pendingLoads.length>0&&setImmediate(e._triggerLoad.bind(e))})}_getDirtyPage(){for(let e in this.pages)if(this.pages[e].dirty)return e;return-1}async write(e,t){if(e.byteLength==0)return;let n=this;if(t===void 0&&(t=n.pos),n.pos=t+e.byteLength,n.totalSize<t+e.byteLength&&(n.totalSize=t+e.byteLength),n.pendingClose)throw Error(`Writing a closing file`);let r=Math.floor(t/n.pageSize),i=Math.floor((t+e.byteLength-1)/n.pageSize),a=[];for(let e=r;e<=i;e++)a.push(n._loadPage(e));n._triggerLoad();let o=r,s=t%n.pageSize,c=e.byteLength;for(;c>0;){await a[o-r];let t=s+c>n.pageSize?n.pageSize-s:c,i=e.slice(e.byteLength-c,e.byteLength-c+t);new Uint8Array(n.pages[o].buff.buffer,s,t).set(i),n.pages[o].dirty=!0,n.pages[o].pendingOps--,n.pages[o].size=Math.max(s+t,n.pages[o].size),o>=n.totalPages&&(n.totalPages=o+1),c-=t,o++,s=0,n.writing||setImmediate(n._triggerWrite.bind(n))}}async read(e,t){let n=this,r=new Uint8Array(e);return await n.readToBuffer(r,0,e,t),r}async readToBuffer(e,t,n,r){if(n==0)return;let i=this;if(n>i.pageSize*i.maxPagesLoaded*.8){let e=Math.floor(n*1.1);this.maxPagesLoaded=Math.floor(e/i.pageSize)+1}if(r===void 0&&(r=i.pos),i.pos=r+n,i.pendingClose)throw Error(`Reading a closing file`);let a=Math.floor(r/i.pageSize),o=Math.floor((r+n-1)/i.pageSize),s=[];for(let e=a;e<=o;e++)s.push(i._loadPage(e));i._triggerLoad();let c=a,l=r%i.pageSize,u=r+n>i.totalSize?n-(r+n-i.totalSize):n;for(;u>0;){await s[c-a],i.__statusPage(`After Await (read): `,c);let r=l+u>i.pageSize?i.pageSize-l:u,o=new Uint8Array(i.pages[c].buff.buffer,i.pages[c].buff.byteOffset+l,r);e.set(o,t+n-u),i.pages[c].pendingOps--,i.__statusPage(`After Op done: `,c),u-=r,c++,l=0,i.pendingLoads.length>0&&setImmediate(i._triggerLoad.bind(i))}this.pos=r+n}_tryClose(){let e=this;e.pendingClose&&(e.error&&e.pendingCloseReject(e.error),!(e._getDirtyPage()>=0||e.writing||e.reading||e.pendingLoads.length>0)&&e.pendingClose())}close(){let e=this;if(e.pendingClose)throw Error(`Closing the file twice`);return new Promise((t,n)=>{e.pendingClose=t,e.pendingCloseReject=n,e._tryClose()}).then(()=>{e.fd.close()},t=>{throw e.fd.close(),t})}async discard(){await this.close(),await o.promises.unlink(this.fileName)}async writeULE32(e,t){let n=this,r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e,!0),await n.write(r,t)}async writeUBE32(e,t){let n=this,r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e,!1),await n.write(r,t)}async writeULE64(e,t){let n=this,r=new Uint8Array(8),i=new DataView(r.buffer);i.setUint32(0,e&4294967295,!0),i.setUint32(4,Math.floor(e/4294967296),!0),await n.write(r,t)}async readULE32(e){let t=await this.read(4,e);return new Uint32Array(t.buffer)[0]}async readUBE32(e){let t=await this.read(4,e);return new DataView(t.buffer).getUint32(0,!1)}async readULE64(e){let t=await this.read(8,e),n=new Uint32Array(t.buffer);return n[1]*4294967296+n[0]}async readString(e){let t=this;if(t.pendingClose)throw Error(`Reading a closing file`);let n=e===void 0?t.pos:e,r=Math.floor(n/t.pageSize),i=!1,a=``;for(;!i;){let e=t._loadPage(r);t._triggerLoad(),await e,t.__statusPage(`After Await (read): `,r);let o=n%t.pageSize,s=new Uint8Array(t.pages[r].buff.buffer,t.pages[r].buff.byteOffset+o,t.pageSize-o),c=s.findIndex(e=>e===0);i=c!==-1,i?(a+=new TextDecoder().decode(s.slice(0,c)),t.pos=r*this.pageSize+o+c+1):(a+=new TextDecoder().decode(s),t.pos=r*this.pageSize+o+s.length),t.pages[r].pendingOps--,t.__statusPage(`After Op done: `,r),n=t.pos,r++,t.pendingLoads.length>0&&setImmediate(t._triggerLoad.bind(t))}return a}};function l(e){let t=e.initialSize||1<<20,n=new h;return n.o=e,n.o.data=new Uint8Array(t),n.allocSize=t,n.totalSize=0,n.readOnly=!1,n.pos=0,n}function u(e){let t=new h;return t.o=e,t.allocSize=e.data.byteLength,t.totalSize=e.data.byteLength,t.readOnly=!0,t.pos=0,t}var d=new Uint8Array(4),f=new DataView(d.buffer),p=new Uint8Array(8),m=new DataView(p.buffer),h=class{constructor(){this.pageSize=16384}_resizeIfNeeded(e){if(e>this.allocSize){let t=Math.max(this.allocSize+(1<<20),Math.floor(this.allocSize*1.1),e),n=new Uint8Array(t);n.set(this.o.data),this.o.data=n,this.allocSize=t}}async write(e,t){let n=this;if(t===void 0&&(t=n.pos),this.readOnly)throw Error(`Writing a read only file`);this._resizeIfNeeded(t+e.byteLength),this.o.data.set(e.slice(),t),t+e.byteLength>this.totalSize&&(this.totalSize=t+e.byteLength),this.pos=t+e.byteLength}async readToBuffer(e,t,n,r){let i=this;if(r===void 0&&(r=i.pos),this.readOnly&&r+n>this.totalSize)throw Error(`Reading out of bounds`);this._resizeIfNeeded(r+n);let a=new Uint8Array(this.o.data.buffer,this.o.data.byteOffset+r,n);e.set(a,t),this.pos=r+n}async read(e,t){let n=this,r=new Uint8Array(e);return await n.readToBuffer(r,0,e,t),r}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(e,t){let n=this;f.setUint32(0,e,!0),await n.write(d,t)}async writeUBE32(e,t){let n=this;f.setUint32(0,e,!1),await n.write(d,t)}async writeULE64(e,t){let n=this;m.setUint32(0,e&4294967295,!0),m.setUint32(4,Math.floor(e/4294967296),!0),await n.write(p,t)}async readULE32(e){let t=await this.read(4,e);return new Uint32Array(t.buffer)[0]}async readUBE32(e){let t=await this.read(4,e);return new DataView(t.buffer).getUint32(0,!1)}async readULE64(e){let t=await this.read(8,e),n=new Uint32Array(t.buffer);return n[1]*4294967296+n[0]}async readString(e){let t=this,n=e===void 0?t.pos:e;if(n>this.totalSize){if(this.readOnly)throw Error(`Reading out of bounds`);this._resizeIfNeeded(e)}let r=new Uint8Array(t.o.data.buffer,n,this.totalSize-n),i=r.findIndex(e=>e===0),a=i!==-1,o=``;return a?(o=new TextDecoder().decode(r.slice(0,i)),t.pos=n+i+1):t.pos=n,o}},g=1<<22;function _(e){let t=e.initialSize||0,n=new C;n.o=e;let r=t?Math.floor((t-1)/g)+1:0;n.o.data=[];for(let e=0;e<r-1;e++)n.o.data.push(new Uint8Array(g));return r&&n.o.data.push(new Uint8Array(t-g*(r-1))),n.totalSize=0,n.readOnly=!1,n.pos=0,n}function v(e){let t=new C;return t.o=e,t.totalSize=(e.data.length-1)*g+e.data[e.data.length-1].byteLength,t.readOnly=!0,t.pos=0,t}var y=new Uint8Array(4),b=new DataView(y.buffer),x=new Uint8Array(8),S=new DataView(x.buffer),C=class{constructor(){this.pageSize=16384}_resizeIfNeeded(e){if(e<=this.totalSize)return;if(this.readOnly)throw Error(`Reading out of file bounds`);let t=Math.floor((e-1)/g)+1;for(let n=Math.max(this.o.data.length-1,0);n<t;n++){let r=n<t-1?g:e-(t-1)*g,i=new Uint8Array(r);n==this.o.data.length-1&&i.set(this.o.data[n]),this.o.data[n]=i}this.totalSize=e}async write(e,t){let n=this;if(t===void 0&&(t=n.pos),this.readOnly)throw Error(`Writing a read only file`);this._resizeIfNeeded(t+e.byteLength);let r=Math.floor(t/g),i=t%g,a=e.byteLength;for(;a>0;){let t=i+a>g?g-i:a,o=e.slice(e.byteLength-a,e.byteLength-a+t);new Uint8Array(n.o.data[r].buffer,i,t).set(o),a-=t,r++,i=0}this.pos=t+e.byteLength}async readToBuffer(e,t,n,r){let i=this;if(r===void 0&&(r=i.pos),this.readOnly&&r+n>this.totalSize)throw Error(`Reading out of bounds`);this._resizeIfNeeded(r+n);let a=Math.floor(r/g),o=r%g,s=n;for(;s>0;){let r=o+s>g?g-o:s,c=new Uint8Array(i.o.data[a].buffer,o,r);e.set(c,t+n-s),s-=r,a++,o=0}this.pos=r+n}async read(e,t){let n=this,r=new Uint8Array(e);return await n.readToBuffer(r,0,e,t),r}close(){}async discard(){}async writeULE32(e,t){let n=this;b.setUint32(0,e,!0),await n.write(y,t)}async writeUBE32(e,t){let n=this;b.setUint32(0,e,!1),await n.write(y,t)}async writeULE64(e,t){let n=this;S.setUint32(0,e&4294967295,!0),S.setUint32(4,Math.floor(e/4294967296),!0),await n.write(x,t)}async readULE32(e){let t=await this.read(4,e);return new Uint32Array(t.buffer)[0]}async readUBE32(e){let t=await this.read(4,e);return new DataView(t.buffer).getUint32(0,!1)}async readULE64(e){let t=await this.read(8,e),n=new Uint32Array(t.buffer);return n[1]*4294967296+n[0]}async readString(e){let t=this,n=e===void 0?t.pos:e;if(n>this.totalSize){if(this.readOnly)throw Error(`Reading out of bounds`);this._resizeIfNeeded(e)}let r=!1,i=``;for(;!r;){let e=Math.floor(n/g),a=n%g;if(t.o.data[e]===void 0)throw Error(`ERROR`);let o=Math.min(2048,t.o.data[e].length-a),s=new Uint8Array(t.o.data[e].buffer,a,o),c=s.findIndex(e=>e===0);r=c!==-1,r?(i+=new TextDecoder().decode(s.slice(0,c)),t.pos=e*g+a+c+1):(i+=new TextDecoder().decode(s),t.pos=e*g+a+s.length),n=t.pos}return i}},w=512,T=0,E=65536,D=8192;async function O(e,t,n){if(typeof e==`string`&&(e={type:`file`,fileName:e,cacheSize:t||E,pageSize:n||D}),e.type==`file`)return await s(e.fileName,w|1026,e.cacheSize,e.pageSize);if(e.type==`mem`)return l(e);if(e.type==`bigMem`)return _(e);throw Error(`Invalid FastFile type: `+e.type)}async function k(e,t,n){if(e instanceof Uint8Array&&(e={type:`mem`,data:e}),typeof e==`string`&&(e={type:`mem`,data:await fetch(e).then(function(e){return e.arrayBuffer()}).then(function(e){return new Uint8Array(e)})}),e.type==`file`)return await s(e.fileName,T,e.cacheSize,e.pageSize);if(e.type==`mem`)return await u(e);if(e.type==`bigMem`)return await v(e);throw Error(`Invalid FastFile type: `+e.type)}async function A(e,t,n,r,i){let a=await k(e),o=await a.read(4),s=``;for(let e=0;e<4;e++)s+=String.fromCharCode(o[e]);if(s!=t)throw Error(e+`: Invalid File format`);if(await a.readULE32()>n)throw Error(`Version not supported`);let c=await a.readULE32(),l=[];for(let e=0;e<c;e++){let e=await a.readULE32(),t=await a.readULE64();l[e]===void 0&&(l[e]=[]),l[e].push({p:a.pos,size:t}),a.pos+=t}return{fd:a,sections:l}}async function j(e,t,n,r,i,a){let o=await O(e,i,a),s=new Uint8Array(4);for(let e=0;e<4;e++)s[e]=t.charCodeAt(e);return await o.write(s,0),await o.writeULE32(n),await o.writeULE32(r),o}async function M(e,t){if(e.writingSection!==void 0)throw Error(`Already writing a section`);await e.writeULE32(t),e.writingSection={pSectionSize:e.pos},await e.writeULE64(0)}async function N(e){if(e.writingSection===void 0)throw Error(`Not writing a section`);let t=e.pos-e.writingSection.pSectionSize-8,n=e.pos;e.pos=e.writingSection.pSectionSize,await e.writeULE64(t),e.pos=n,delete e.writingSection}async function P(e,t,n){if(e.readingSection!==void 0)throw Error(`Already reading a section`);if(!t[n])throw Error(e.fileName+`: Missing section `+n);if(t[n].length>1)throw Error(e.fileName+`: Section Duplicated `+n);e.pos=t[n][0].p,e.readingSection=t[n][0]}async function F(e,t){if(e.readingSection===void 0)throw Error(`Not reading a section`);if(!t&&e.pos-e.readingSection.p!=e.readingSection.size)throw Error(`Invalid section size reading`);delete e.readingSection}async function I(e,t,n,r){let a=new Uint8Array(n);i.Scalar.toRprLE(a,0,t,n),await e.write(a,r)}async function L(e,t,n){let r=await e.read(t,n);return i.Scalar.fromRprLE(r,0,t)}async function R(e,t,n,r,a){if(r=r===void 0?0:r,a=a===void 0?t[n][0].size-r:a,r+a>t[n][0].size)throw Error(`Reading out of the range of the section`);let o;return o=a<1<<30?new Uint8Array(a):new i.BigBuffer(a),await e.readToBuffer(o,0,a,t[n][0].p+r),o}i.Scalar.e(`73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001`,16),i.Scalar.e(`21888242871839275222246405745257275088548364400416034343698204186575808495617`);var z=i.Scalar.e(`1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab`,16),B=i.Scalar.e(`21888242871839275222246405745257275088696311157297823662689037894645226208583`);async function V(e,t){let n,r=t&&t.singleThread;if(i.Scalar.eq(e,B))n=await(0,i.buildBn128)(r);else if(i.Scalar.eq(e,z))n=await(0,i.buildBls12381)(r);else throw Error(`Curve not supported: ${i.Scalar.toString(e)}`);return n}async function H(e,t){let n,r=t&&t.singleThread,a=o(e);if([`BN128`,`BN254`,`ALTBN128`].indexOf(a)>=0)n=await(0,i.buildBn128)(r);else if([`BLS12381`].indexOf(a)>=0)n=await(0,i.buildBls12381)(r);else throw Error(`Curve not supported: ${e}`);return n;function o(e){return e.toUpperCase().match(/[A-Za-z0-9]+/g).join(``)}}var U=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{},W={exports:{}},ee=ne,te=class extends Error{};te.prototype.name=`AssertionError`;function ne(e,t){if(!e){var n=new te(t);throw Error.captureStackTrace&&Error.captureStackTrace(n,ne),n}}var re={exports:{}};function ie(e){return e.length}function ae(e){let t=e.byteLength,n=``;for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n}function oe(e,t,n=0,r=ie(t)){let i=Math.min(r,e.byteLength-n);for(let r=0;r<i;r++)e[n+r]=t.charCodeAt(r);return i}var se={byteLength:ie,toString:ae,write:oe},G=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,K=new Uint8Array(256);for(let e=0;e<64;e++)K[G.charCodeAt(e)]=e;K[45]=62,K[95]=63;function ce(e){let t=e.length;return e.charCodeAt(t-1)===61&&t--,t>1&&e.charCodeAt(t-1)===61&&t--,t*3>>>2}function le(e){let t=e.byteLength,n=``;for(let r=0;r<t;r+=3)n+=G[e[r]>>2]+G[(e[r]&3)<<4|e[r+1]>>4]+G[(e[r+1]&15)<<2|e[r+2]>>6]+G[e[r+2]&63];return t%3==2?n=n.substring(0,n.length-1)+`=`:t%3==1&&(n=n.substring(0,n.length-2)+`==`),n}function ue(e,t,n=0,r=ce(t)){let i=Math.min(r,e.byteLength-n);for(let n=0,r=0;r<i;n+=4){let i=K[t.charCodeAt(n)],a=K[t.charCodeAt(n+1)],o=K[t.charCodeAt(n+2)],s=K[t.charCodeAt(n+3)];e[r++]=i<<2|a>>4,e[r++]=(a&15)<<4|o>>2,e[r++]=(o&3)<<6|s&63}return i}var de={byteLength:ce,toString:le,write:ue};function fe(e){return e.length>>>1}function pe(e){let t=e.byteLength;e=new DataView(e.buffer,e.byteOffset,t);let n=``,r=0;for(let i=t-t%4;r<i;r+=4)n+=e.getUint32(r).toString(16).padStart(8,`0`);for(;r<t;r++)n+=e.getUint8(r).toString(16).padStart(2,`0`);return n}function me(e,t,n=0,r=fe(t)){let i=Math.min(r,e.byteLength-n);for(let r=0;r<i;r++){let i=ge(t.charCodeAt(r*2)),a=ge(t.charCodeAt(r*2+1));if(i===void 0||a===void 0)return e.subarray(0,r);e[n+r]=i<<4|a}return i}var he={byteLength:fe,toString:pe,write:me};function ge(e){if(e>=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}function q(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n);if(i>=55296&&i<=56319&&n+1<r){let r=e.charCodeAt(n+1);if(r>=56320&&r<=57343){t+=4,n++;continue}}i<=127?t+=1:i<=2047?t+=2:t+=3}return t}var _e;if(typeof TextDecoder<`u`){let e=new TextDecoder;_e=function(t){return e.decode(t)}}else _e=function(e){let t=e.byteLength,n=``,r=0;for(;r<t;){let i=e[r];if(i<=127){n+=String.fromCharCode(i),r++;continue}let a=0,o=0;if(i<=223?(a=1,o=i&31):i<=239?(a=2,o=i&15):i<=244&&(a=3,o=i&7),t-r-a>0){let t=0;for(;t<a;)i=e[r+t+1],o=o<<6|i&63,t+=1}else o=65533,a=t-r;n+=String.fromCodePoint(o),r+=a+1}return n};var ve;if(typeof TextEncoder<`u`){let e=new TextEncoder;ve=function(t,n,r=0,i=q(n)){let a=Math.min(i,t.byteLength-r);return e.encodeInto(n,t.subarray(r,r+a)),a}}else ve=function(e,t,n=0,r=q(t)){let i=Math.min(r,e.byteLength-n);e=e.subarray(n,n+i);let a=0,o=0;for(;a<t.length;){let n=t.codePointAt(a);if(n<=127){e[o++]=n,a++;continue}let r=0,i=0;for(n<=2047?(r=6,i=192):n<=65535?(r=12,i=224):n<=2097151&&(r=18,i=240),e[o++]=i|n>>r,r-=6;r>=0;)e[o++]=128|n>>r&63,r-=6;a+=n>=65536?2:1}return i};var ye={byteLength:q,toString:_e,write:ve};function be(e){return e.length*2}function xe(e){let t=e.byteLength,n=``;for(let r=0;r<t-1;r+=2)n+=String.fromCharCode(e[r]+e[r+1]*256);return n}function Se(e,t,n=0,r=be(t)){let i=Math.min(r,e.byteLength-n),a=i;for(let r=0;r<t.length&&!((a-=2)<0);++r){let i=t.charCodeAt(r),a=i>>8,o=i%256;e[n+r*2]=o,e[n+r*2+1]=a}return i}var Ce={byteLength:be,toString:xe,write:Se};(function(e,t){let n=se,r=de,i=he,a=ye,o=Ce,s=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function c(e){switch(e){case`ascii`:return n;case`base64`:return r;case`hex`:return i;case`utf8`:case`utf-8`:case void 0:return a;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return o;default:throw Error(`Unknown encoding: ${e}`)}}function l(e){return e instanceof Uint8Array}function u(e){try{return c(e),!0}catch{return!1}}function d(e,n,r){let i=new Uint8Array(e);return n!==void 0&&t.fill(i,n,0,i.byteLength,r),i}function f(e){return new Uint8Array(e)}function p(e){return new Uint8Array(e)}function m(e,t){return c(t).byteLength(e)}function h(e,t){if(e===t)return 0;let n=Math.min(e.byteLength,t.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),t=new DataView(t.buffer,t.byteOffset,t.byteLength);let r=0;for(let i=n-n%4;r<i&&e.getUint32(r,s)===t.getUint32(r,s);r+=4);for(;r<n;r++){let n=e.getUint8(r),i=t.getUint8(r);if(n<i)return-1;if(n>i)return 1}return e.byteLength>t.byteLength?1:e.byteLength<t.byteLength?-1:0}function g(e,t){t===void 0&&(t=e.reduce((e,t)=>e+t.byteLength,0));let n=new Uint8Array(t),r=0;for(let t of e){if(r+t.byteLength>n.byteLength){let e=t.subarray(0,n.byteLength-r);return n.set(e,r),n}n.set(t,r),r+=t.byteLength}return n}function _(e,t,n=0,r=0,i=e.byteLength){if(i>0&&i<r||i===r||e.byteLength===0||t.byteLength===0)return 0;if(n<0)throw RangeError(`targetStart is out of range`);if(r<0||r>=e.byteLength)throw RangeError(`sourceStart is out of range`);if(i<0)throw RangeError(`sourceEnd is out of range`);n>=t.byteLength&&(n=t.byteLength),i>e.byteLength&&(i=e.byteLength),t.byteLength-n<i-r&&(i=t.length-n+r);let a=i-r;return e===t?t.copyWithin(n,r,i):t.set(e.subarray(r,i),n),a}function v(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;let n=e.byteLength;e=new DataView(e.buffer,e.byteOffset,e.byteLength),t=new DataView(t.buffer,t.byteOffset,t.byteLength);let r=0;for(let i=n-n%4;r<i;r+=4)if(e.getUint32(r,s)!==t.getUint32(r,s))return!1;for(;r<n;r++)if(e.getUint8(r)!==t.getUint8(r))return!1;return!0}function y(e,t,n,r,i){if(typeof t==`string`?typeof n==`string`?(i=n,n=0,r=e.byteLength):typeof r==`string`&&(i=r,r=e.byteLength):typeof t==`number`?t&=255:typeof t==`boolean`&&(t=+t),n<0||e.byteLength<n||e.byteLength<r)throw RangeError(`Out of range index`);if(n===void 0&&(n=0),r===void 0&&(r=e.byteLength),r<=n)return e;if(t||=0,typeof t==`number`)for(let i=n;i<r;++i)e[i]=t;else{t=l(t)?t:b(t,i);let a=t.byteLength;for(let i=0;i<r-n;++i)e[i+n]=t[i%a]}return e}function b(e,t,n){return typeof e==`string`?x(e,t):Array.isArray(e)?S(e):ArrayBuffer.isView(e)?C(e):w(e,t,n)}function x(e,t){let n=c(t),r=new Uint8Array(n.byteLength(e));return n.write(r,e,0,r.byteLength),r}function S(e){let t=new Uint8Array(e.length);return t.set(e),t}function C(e){let t=new Uint8Array(e.byteLength);return t.set(e),t}function w(e,t,n){return new Uint8Array(e,t,n)}function T(e,t,n,r){return D(e,t,n,r)!==-1}function E(e,t,n,r,i){if(e.byteLength===0)return-1;if(typeof n==`string`?(r=n,n=0):n===void 0?n=i?0:e.length-1:n<0&&(n+=e.byteLength),n>=e.byteLength){if(i)return-1;n=e.byteLength-1}else if(n<0)if(i)n=0;else return-1;if(typeof t==`string`)t=b(t,r);else if(typeof t==`number`)return t&=255,i?e.indexOf(t,n):e.lastIndexOf(t,n);if(t.byteLength===0)return-1;if(i){let r=-1;for(let i=n;i<e.byteLength;i++)if(e[i]===t[r===-1?0:i-r]){if(r===-1&&(r=i),i-r+1===t.byteLength)return r}else r!==-1&&(i-=i-r),r=-1}else{n+t.byteLength>e.byteLength&&(n=e.byteLength-t.byteLength);for(let r=n;r>=0;r--){let n=!0;for(let i=0;i<t.byteLength;i++)if(e[r+i]!==t[i]){n=!1;break}if(n)return r}}return-1}function D(e,t,n,r){return E(e,t,n,r,!0)}function O(e,t,n,r){return E(e,t,n,r,!1)}function k(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function A(e){let t=e.byteLength;if(t%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let n=0;n<t;n+=2)k(e,n,n+1);return e}function j(e){let t=e.byteLength;if(t%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let n=0;n<t;n+=4)k(e,n,n+3),k(e,n+1,n+2);return e}function M(e){let t=e.byteLength;if(t%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let n=0;n<t;n+=8)k(e,n,n+7),k(e,n+1,n+6),k(e,n+2,n+5),k(e,n+3,n+4);return e}function N(e){return e}function P(e,t,n=0,r=e.byteLength){let i=e.byteLength;return n>=i||r<=n?``:(n<0&&(n=0),r>i&&(r=i),(n!==0||r<i)&&(e=e.subarray(n,r)),c(t).toString(e))}function F(e,t,n,r,i){return n===void 0?i=`utf8`:r===void 0&&typeof n==`string`?(i=n,n=void 0):i===void 0&&typeof r==`string`&&(i=r,r=void 0),c(i).write(e,t,n,r)}function I(e,t,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat64(n,t,!0),n+8}function L(e,t,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat32(n,t,!0),n+4}function R(e,t,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(n,t,!0),n+4}function z(e,t,n){return n===void 0&&(n=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setInt32(n,t,!0),n+4}function B(e,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t,!0)}function V(e,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t,!0)}function H(e,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(t,!0)}function U(e,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getInt32(t,!0)}e.exports=t={isBuffer:l,isEncoding:u,alloc:d,allocUnsafe:f,allocUnsafeSlow:p,byteLength:m,compare:h,concat:g,copy:_,equals:v,fill:y,from:b,includes:T,indexOf:D,lastIndexOf:O,swap16:A,swap32:j,swap64:M,toBuffer:N,toString:P,write:F,writeDoubleLE:I,writeFloatLE:L,writeUInt32LE:R,writeInt32LE:z,readDoubleLE:B,readFloatLE:V,readUInt32LE:H,readInt32LE:U}})(re,re.exports);var we,Te;function Ee(){if(Te)return we;Te=1;var e=(e,t)=>function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports},t=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return t=>{for(var n=t.length,r=new Uint8Array((n-(t[n-1]==`=`)-(t[n-2]==`=`))*3/4|0),i=0,a=0;i<n;){var o=e[t.charCodeAt(i++)],s=e[t.charCodeAt(i++)],c=e[t.charCodeAt(i++)],l=e[t.charCodeAt(i++)];r[a++]=o<<2|s>>4,r[a++]=s<<4|c>>2,r[a++]=c<<6|l}return r}})(),n=e({"wasm-binary:./blake2b.wat"(e,n){n.exports=t(`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`)}})(),r=WebAssembly.compile(n);return we=async e=>(await WebAssembly.instantiate(await r,e)).exports,we}var J=ee,De=re.exports,Y=null,Oe=typeof WebAssembly<`u`&&Ee()().then(e=>{Y=e}),X=64,ke=[];W.exports=Z;var Ae=W.exports.BYTES_MIN=16,je=W.exports.BYTES_MAX=64;W.exports.BYTES=32;var Me=W.exports.KEYBYTES_MIN=16,Ne=W.exports.KEYBYTES_MAX=64;W.exports.KEYBYTES=32;var Pe=W.exports.SALTBYTES=16,Fe=W.exports.PERSONALBYTES=16;function Z(e,t,n,r,i){if(!(this instanceof Z))return new Z(e,t,n,r,i);if(!Y)throw Error(`WASM not loaded. Wait for Blake2b.ready(cb)`);e||=32,i!==!0&&(J(e>=Ae,`digestLength must be at least `+Ae+`, was given `+e),J(e<=je,`digestLength must be at most `+je+`, was given `+e),t!=null&&(J(t instanceof Uint8Array,`key must be Uint8Array or Buffer`),J(t.length>=Me,`key must be at least `+Me+`, was given `+t.length),J(t.length<=Ne,`key must be at least `+Ne+`, was given `+t.length)),n!=null&&(J(n instanceof Uint8Array,`salt must be Uint8Array or Buffer`),J(n.length===Pe,`salt must be exactly `+Pe+`, was given `+n.length)),r!=null&&(J(r instanceof Uint8Array,`personal must be Uint8Array or Buffer`),J(r.length===Fe,`personal must be exactly `+Fe+`, was given `+r.length))),ke.length||(ke.push(X),X+=216),this.digestLength=e,this.finalized=!1,this.pointer=ke.pop(),this._memory=new Uint8Array(Y.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=t?t.length:0,this._memory[2]=1,this._memory[3]=1,n&&this._memory.set(n,32),r&&this._memory.set(r,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),Y.blake2b_init(this.pointer,this.digestLength),t&&(this.update(t),this._memory.fill(0,X,X+t.length),this._memory[this.pointer+200]=128)}Z.prototype._realloc=function(e){Y.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(Y.memory.buffer)},Z.prototype.update=function(e){return J(this.finalized===!1,`Hash instance finalized`),J(e instanceof Uint8Array,`input must be Uint8Array or Buffer`),X+e.length>this._memory.length&&this._realloc(X+e.length),this._memory.set(e,X),Y.blake2b_update(this.pointer,X,X+e.length),this},Z.prototype.digest=function(e){if(J(this.finalized===!1,`Hash instance finalized`),this.finalized=!0,ke.push(this.pointer),Y.blake2b_final(this.pointer),!e||e===`binary`)return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e==`string`)return De.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);J(e instanceof Uint8Array&&e.length>=this.digestLength,`input must be Uint8Array or Buffer`);for(var t=0;t<this.digestLength;t++)e[t]=this._memory[this.pointer+128+t];return e},Z.prototype.final=Z.prototype.digest,Z.WASM=Y,Z.SUPPORTED=typeof WebAssembly<`u`,Z.ready=function(e){return e||=Ie,Oe?Oe.then(()=>e(),e):e(Error(`WebAssembly not supported`))},Z.prototype.ready=Z.ready,Z.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)},Z.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function Ie(){}function Le(e){return(e&4294901760?(e&=4294901760,16):0)|(e&4278255360?(e&=4278255360,8):0)|(e&4042322160?(e&=4042322160,4):0)|(e&3435973836?(e&=3435973836,2):0)|(e&2863311530)!=0}var Re=1,ze=2,Be=10,Ve=2;async function Q(e,t,n){let r=await e.read(t.G1.F.n8*2),i=t.G1.fromRprLEM(r,0);return n?t.G1.toObject(i):i}async function He(e,t,n){let r=await e.read(t.G2.F.n8*2),i=t.G2.fromRprLEM(r,0);return n?t.G2.toObject(i):i}async function Ue(e,t,n,r){await P(e,t,1);let i=await e.readULE32();if(await F(e),i===Re)return await We(e,t,n,r);if(i===ze)return await Ge(e,t,n,r);if(i===Be)return await Ke(e,t,n,r);throw Error(`Protocol not supported: `)}async function We(e,t,n,r){let i={};i.protocol=`groth16`,await P(e,t,2);let a=await e.readULE32();i.n8q=a,i.q=await L(e,a);let o=await e.readULE32();return i.n8r=o,i.r=await L(e,o),i.curve=await V(i.q,r),i.nVars=await e.readULE32(),i.nPublic=await e.readULE32(),i.domainSize=await e.readULE32(),i.power=Le(i.domainSize),i.vk_alpha_1=await Q(e,i.curve,n),i.vk_beta_1=await Q(e,i.curve,n),i.vk_beta_2=await He(e,i.curve,n),i.vk_gamma_2=await He(e,i.curve,n),i.vk_delta_1=await Q(e,i.curve,n),i.vk_delta_2=await He(e,i.curve,n),await F(e),i}async function Ge(e,t,n,r){let i={};i.protocol=`plonk`,await P(e,t,2);let a=await e.readULE32();i.n8q=a,i.q=await L(e,a);let o=await e.readULE32();return i.n8r=o,i.r=await L(e,o),i.curve=await V(i.q,r),i.nVars=await e.readULE32(),i.nPublic=await e.readULE32(),i.domainSize=await e.readULE32(),i.power=Le(i.domainSize),i.nAdditions=await e.readULE32(),i.nConstraints=await e.readULE32(),i.k1=await e.read(o),i.k2=await e.read(o),i.Qm=await Q(e,i.curve,n),i.Ql=await Q(e,i.curve,n),i.Qr=await Q(e,i.curve,n),i.Qo=await Q(e,i.curve,n),i.Qc=await Q(e,i.curve,n),i.S1=await Q(e,i.curve,n),i.S2=await Q(e,i.curve,n),i.S3=await Q(e,i.curve,n),i.X_2=await He(e,i.curve,n),await F(e),i}async function Ke(e,t,n,r){let i={};i.protocol=`fflonk`,i.protocolId=Be,await P(e,t,Ve);let a=await e.readULE32();i.n8q=a,i.q=await L(e,a),i.curve=await V(i.q,r);let o=await e.readULE32();return i.n8r=o,i.r=await L(e,o),i.nVars=await e.readULE32(),i.nPublic=await e.readULE32(),i.domainSize=await e.readULE32(),i.power=Le(i.domainSize),i.nAdditions=await e.readULE32(),i.nConstraints=await e.readULE32(),i.k1=await e.read(o),i.k2=await e.read(o),i.w3=await e.read(o),i.w4=await e.read(o),i.w8=await e.read(o),i.wr=await e.read(o),i.X_2=await He(e,i.curve,n),i.C0=await Q(e,i.curve,n),await F(e),i}async function qe(e,t,n){await M(e,1);let r=(Math.floor((i.Scalar.bitLength(n)-1)/64)+1)*8;if(await e.writeULE32(r),await I(e,n,r),t.byteLength%r!=0)throw Error(`Invalid witness length`);await e.writeULE32(t.byteLength/r),await N(e),await M(e,2),await e.write(t),await N(e)}async function Je(e,t){await P(e,t,1);let n=await e.readULE32(),r=await L(e,n),i=await e.readULE32();return await F(e),{n8:n,q:r,nWitness:i}}var{stringifyBigInts:Ye}=i.utils;async function Xe(e,t,n,r){let{fd:a,sections:o}=await A(t,`wtns`,2),s=await Je(a,o),{fd:c,sections:l}=await A(e,`zkey`,2),u=await Ue(c,l,void 0,r);if(u.protocol!=`groth16`)throw Error(`zkey file is not groth16`);if(!i.Scalar.eq(u.r,s.q))throw Error(`Curve of the witness does not match the curve of the proving key`);if(s.nWitness!=u.nVars)throw Error(`Invalid witness length. Circuit: ${u.nVars}, witness: ${s.nWitness}`);let d=u.curve,f=d.Fr,p=d.G1,m=d.G2,h=Le(u.domainSize);n&&n.debug(`Reading Wtns`);let g=await R(a,o,2);n&&n.debug(`Reading Coeffs`);let _=await R(c,l,4);n&&n.debug(`Building ABC`);let[v,y,b]=await Ze(d,u,g,_,n),x=h==f.s?d.Fr.shift:d.Fr.w[h+1],S=await f.ifft(v,``,``,n,`IFFT_A`),C=await f.batchApplyKey(S,f.e(1),x),w=await f.fft(C,``,``,n,`FFT_A`),T=await f.ifft(y,``,``,n,`IFFT_B`),E=await f.batchApplyKey(T,f.e(1),x),D=await f.fft(E,``,``,n,`FFT_B`),O=await f.ifft(b,``,``,n,`IFFT_C`),k=await f.batchApplyKey(O,f.e(1),x),j=await f.fft(k,``,``,n,`FFT_C`);n&&n.debug(`Join ABC`);let M=await Qe(d,u,w,D,j,n),N={};n&&n.debug(`Reading A Points`);let P=await R(c,l,5);N.pi_a=await d.G1.multiExpAffine(P,g,n,`multiexp A`),n&&n.debug(`Reading B1 Points`);let F=await R(c,l,6),I=await d.G1.multiExpAffine(F,g,n,`multiexp B1`);n&&n.debug(`Reading B2 Points`);let L=await R(c,l,7);N.pi_b=await d.G2.multiExpAffine(L,g,n,`multiexp B2`),n&&n.debug(`Reading C Points`);let z=await R(c,l,8);N.pi_c=await d.G1.multiExpAffine(z,g.slice((u.nPublic+1)*d.Fr.n8),n,`multiexp C`),n&&n.debug(`Reading H Points`);let B=await R(c,l,9),V=await d.G1.multiExpAffine(B,M,n,`multiexp H`),H=d.Fr.random(),U=d.Fr.random();N.pi_a=p.add(N.pi_a,u.vk_alpha_1),N.pi_a=p.add(N.pi_a,p.timesFr(u.vk_delta_1,H)),N.pi_b=m.add(N.pi_b,u.vk_beta_2),N.pi_b=m.add(N.pi_b,m.timesFr(u.vk_delta_2,U)),I=p.add(I,u.vk_beta_1),I=p.add(I,p.timesFr(u.vk_delta_1,U)),N.pi_c=p.add(N.pi_c,V),N.pi_c=p.add(N.pi_c,p.timesFr(N.pi_a,U)),N.pi_c=p.add(N.pi_c,p.timesFr(I,H)),N.pi_c=p.add(N.pi_c,p.timesFr(u.vk_delta_1,f.neg(f.mul(H,U))));let W=[];for(let e=1;e<=u.nPublic;e++){let t=g.slice(e*f.n8,e*f.n8+f.n8);W.push(i.Scalar.fromRprLE(t))}return N.pi_a=p.toObject(p.toAffine(N.pi_a)),N.pi_b=m.toObject(m.toAffine(N.pi_b)),N.pi_c=p.toObject(p.toAffine(N.pi_c)),N.protocol=`groth16`,N.curve=d.name,await c.close(),await a.close(),N=Ye(N),W=Ye(W),{proof:N,publicSignals:W}}async function Ze(e,t,n,r,a){let o=e.Fr.n8,s=12+t.n8r,c=(r.byteLength-4)/s,l=new i.BigBuffer(t.domainSize*o),u=new i.BigBuffer(t.domainSize*o),d=new i.BigBuffer(t.domainSize*o),f=[l,u];for(let t=0;t<c;t++){a&&t%1e6==0&&a.debug(`QAP AB: ${t}/${c}`);let i=r.slice(4+t*s,4+t*s+s),l=new DataView(i.buffer),u=l.getUint32(0,!0),d=l.getUint32(4,!0),p=l.getUint32(8,!0),m=i.slice(12,12+o);f[u].set(e.Fr.add(f[u].slice(d*o,d*o+o),e.Fr.mul(m,n.slice(p*o,p*o+o))),d*o)}for(let n=0;n<t.domainSize;n++)a&&n%1e6==0&&a.debug(`QAP C: ${n}/${t.domainSize}`),d.set(e.Fr.mul(l.slice(n*o,n*o+o),u.slice(n*o,n*o+o)),n*o);return[l,u,d]}async function Qe(e,t,n,r,a,o){let s=1<<22,c=e.Fr.n8,l=Math.floor(n.byteLength/e.Fr.n8),u=[];for(let t=0;t<l;t+=s){o&&o.debug(`JoinABC: ${t}/${l}`);let i=Math.min(l-t,s),d=[],f=n.slice(t*c,(t+i)*c),p=r.slice(t*c,(t+i)*c),m=a.slice(t*c,(t+i)*c);d.push({cmd:`ALLOCSET`,var:0,buff:f}),d.push({cmd:`ALLOCSET`,var:1,buff:p}),d.push({cmd:`ALLOCSET`,var:2,buff:m}),d.push({cmd:`ALLOC`,var:3,len:i*c}),d.push({cmd:`CALL`,fnName:`qap_joinABC`,params:[{var:0},{var:1},{var:2},{val:i},{var:3}]}),d.push({cmd:`CALL`,fnName:`frm_batchFromMontgomery`,params:[{var:3},{val:i},{var:3}]}),d.push({cmd:`GET`,out:0,var:3,len:i*c}),u.push(e.tm.queueAction(d))}let d=await Promise.all(u),f;f=n instanceof i.BigBuffer?new i.BigBuffer(n.byteLength):new Uint8Array(n.byteLength);let p=0;for(let e=0;e<d.length;e++)f.set(d[e][0],p),p+=d[e][0].byteLength;return f}function $e(e){let t=[];return n(t,e),t;function n(e,t){if(Array.isArray(t))for(let r=0;r<t.length;r++)n(e,t[r]);else e.push(t)}}function et(e,t){let n=BigInt(e)%t;return n<0&&(n+=t),n}function tt(e){let t=BigInt(2)**BigInt(64),n=BigInt(`0xCBF29CE484222325`);for(let r=0;r<e.length;r++)n^=BigInt(e[r].charCodeAt(0)),n*=BigInt(1099511628211),n%=t;let r=n.toString(16),i=16-r.length;return r=`0`.repeat(i).concat(r),r}function nt(e,t){let n=[],r=BigInt(e),i=BigInt(4294967296);for(;r;)n.unshift(Number(r%i)),r/=i;if(t){let e=t-n.length;for(;e>0;)n.unshift(0),e--}return n}async function rt(e,t){let n,r,a;t||={};let o=1,s=0,c=0,l=!1;if(e instanceof WebAssembly.Instance)n=e,l=!0;else{let l=32767;if(t.memorySize&&(l=parseInt(t.memorySize),l<0))throw Error(`Invalid memory size`);let u=!1;for(;!u;)try{a=new WebAssembly.Memory({initial:l}),u=!0}catch(e){if(l<=1)throw e;console.warn(`Could not allocate `+l*1024*64+` bytes. This may cause severe instability. Trying with `+l*1024*64/2+` bytes`),l=Math.floor(l/2)}let p=await WebAssembly.compile(e),m=``,h=``;n=await WebAssembly.instantiate(p,{env:{memory:a},runtime:{printDebug:function(e){console.log(`printDebug:`,e)},exceptionHandler:function(e){let t;throw t=e===1?`Signal not found. `:e===2?`Too many signals set. `:e===3?`Signal already set. `:e===4?`Assert Failed. `:e===5?`Not enough memory. `:e===6?`Input signal array access exceeds the size. `:`Unknown error. `,console.error(`ERROR: `,e,m),Error(t+m)},printErrorMessage:function(){m+=d()+`
|
|
2
|
+
`},writeBufferMessage:function(){let e=d();e===`
|
|
3
|
+
`?(console.log(h),h=``):(h!==``&&(h+=` `),h+=e)},showSharedRWMemory:function(){let e=n.exports.getFieldNumLen32(),t=new Uint32Array(e);for(let r=0;r<e;r++)t[e-1-r]=n.exports.readSharedRWMemory(r);if(o>=2&&(s>=1||c>=7)){h!==``&&(h+=` `);let e=i.Scalar.fromArray(t,4294967296).toString();h+=e}else console.log(i.Scalar.fromArray(t,4294967296))},error:function(e,n,i,a,o,s){let c;throw c=e===7?f(n)+` `+r.getFr(a).toString()+` != `+r.getFr(o).toString()+` `+f(s):e===9?f(n)+` `+r.getFr(a).toString()+` `+f(o):e===5&&t.sym?f(n)+` `+t.sym.labelIdx2Name[o]:f(n)+` `+i+` `+a+` `+o+` `+s,console.log(`ERROR: `,e,c),Error(c)},log:function(e){console.log(r.getFr(e).toString())},logGetSignal:function(e,n){t.logGetSignal&&t.logGetSignal(e,r.getFr(n))},logSetSignal:function(e,n){t.logSetSignal&&t.logSetSignal(e,r.getFr(n))},logStartComponent:function(e){t.logStartComponent&&t.logStartComponent(e)},logFinishComponent:function(e){t.logFinishComponent&&t.logFinishComponent(e)}}})}typeof n.exports.getVersion==`function`&&(o=n.exports.getVersion()),typeof n.exports.getMinorVersion==`function`&&(s=n.exports.getMinorVersion()),typeof n.exports.getPatchVersion==`function`&&(c=n.exports.getPatchVersion());let u=t&&(t.sanityCheck||t.logGetSignal||t.logSetSignal||t.logStartComponent||t.logFinishComponent);if(o===2)r=new at(n,u);else if(o===1){if(l)throw Error(`Loading code from WebAssembly instance is not supported for circom version 1`);r=new it(a,n,u)}else throw Error(`Unsupported circom version: ${o}`);return r;function d(){let e=``,t=n.exports.getMessageChar();for(;t!==0;)e+=String.fromCharCode(t),t=n.exports.getMessageChar();return e}function f(e){let t=new Uint8Array(a.buffer),n=[];for(let r=0;t[e+r]>0;r++)n.push(t[e+r]);return String.fromCharCode.apply(null,n)}}var it=class{constructor(e,t,n){this.memory=e,this.i32=new Uint32Array(e.buffer),this.instance=t,this.n32=(this.instance.exports.getFrLen()>>2)-2;let r=this.instance.exports.getPRawPrime(),a=Array(this.n32);for(let e=0;e<this.n32;e++)a[this.n32-1-e]=this.i32[(r>>2)+e];this.prime=i.Scalar.fromArray(a,4294967296),this.Fr=new i.F1Field(this.prime),this.mask32=i.Scalar.fromString(`FFFFFFFF`,16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(i.Scalar.shiftLeft(1,this.n64*64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=n}circom_version(){return 1}async _doCalculateWitness(e,t){this.instance.exports.init(this.sanityCheck||t?1:0);let n=this.allocInt(),r=this.allocFr();Object.keys(e).forEach(t=>{let i=tt(t),a=parseInt(i.slice(0,8),16),o=parseInt(i.slice(8,16),16);try{this.instance.exports.getSignalOffset32(n,0,a,o)}catch{throw Error(`Signal ${t} is not an input of the circuit.`)}let s=this.getInt(n),c=$e(e[t]);for(let e=0;e<c.length;e++)this.setFr(r,c[e]),this.instance.exports.setSignal(0,0,s+e,r)})}async calculateWitness(e,t){let n=this,r=n.i32[0],i=[];await n._doCalculateWitness(e,t);for(let e=0;e<n.NVars;e++){let t=n.instance.exports.getPWitness(e);i.push(n.getFr(t))}return n.i32[0]=r,i}async calculateBinWitness(e,t){let n=this,r=n.i32[0];await n._doCalculateWitness(e,t);let i=n.instance.exports.getWitnessBuffer();n.i32[0]=r;let a=n.memory.buffer.slice(i,i+n.NVars*n.n64*8);return new Uint8Array(a)}allocInt(){let e=this.i32[0];return this.i32[0]=e+8,e}allocFr(){let e=this.i32[0];return this.i32[0]=e+this.n32*4+8,e}getInt(e){return this.i32[e>>2]}setInt(e,t){this.i32[e>>2]=t}getFr(e){let t=this,n=e>>2;if(t.i32[n+1]&2147483648){let e=Array(t.n32);for(let r=0;r<t.n32;r++)e[t.n32-1-r]=t.i32[n+2+r];let a=t.Fr.e(i.Scalar.fromArray(e,4294967296));return t.i32[n+1]&1073741824?r(a):a}else if(t.i32[n]&2147483648)return t.Fr.e(t.i32[n]-4294967296);else return t.Fr.e(t.i32[n]);function r(e){return t.Fr.mul(t.RInv,e)}}setFr(e,t){let n=this;t=n.Fr.e(t);let r=n.Fr.neg(n.Fr.e(`80000000`,16)),a=n.Fr.e(`7FFFFFFF`,16);if(n.Fr.geq(t,r)&&n.Fr.leq(t,a)){let a;n.Fr.geq(t,n.Fr.zero)?a=i.Scalar.toNumber(t):(a=i.Scalar.toNumber(n.Fr.sub(t,r)),a-=2147483648,a=4294967296+a),n.i32[e>>2]=a,n.i32[(e>>2)+1]=0;return}n.i32[e>>2]=0,n.i32[(e>>2)+1]=2147483648;let o=i.Scalar.toArray(t,4294967296);for(let t=0;t<n.n32;t++){let r=o.length-1-t;r>=0?n.i32[(e>>2)+2+t]=o[r]:n.i32[(e>>2)+2+t]=0}}},at=class{constructor(e,t){this.instance=e,this.version=this.instance.exports.getVersion(),this.n32=this.instance.exports.getFieldNumLen32(),this.instance.exports.getRawPrime();let n=new Uint32Array(this.n32);for(let e=0;e<this.n32;e++)n[this.n32-1-e]=this.instance.exports.readSharedRWMemory(e);this.prime=i.Scalar.fromArray(n,4294967296),this.witnessSize=this.instance.exports.getWitnessSize(),this.sanityCheck=t}circom_version(){return this.instance.exports.getVersion()}async _doCalculateWitness(e,t){this.instance.exports.init(this.sanityCheck||t?1:0);let n=Object.keys(e),r=0;if(n.forEach(t=>{let n=tt(t),i=parseInt(n.slice(0,8),16),a=parseInt(n.slice(8,16),16),o=$e(e[t]);if(typeof this.instance.exports.getInputSignalSize==`function`){let e=this.instance.exports.getInputSignalSize(i,a);if(e<0)throw Error(`Signal ${t} not found\n`);if(o.length<e)throw Error(`Not enough values for input signal ${t}\n`);if(o.length>e)throw Error(`Too many values for input signal ${t}\n`)}for(let e=0;e<o.length;e++){let t=nt(et(o[e],this.prime),this.n32);for(let e=0;e<this.n32;e++)this.instance.exports.writeSharedRWMemory(e,t[this.n32-1-e]);try{this.instance.exports.setInputSignal(i,a,e),r++}catch(e){throw Error(e)}}}),r<this.instance.exports.getInputSize())throw Error(`Not all inputs have been set. Only ${r} out of ${this.instance.exports.getInputSize()}`)}async calculateWitness(e,t){let n=[];await this._doCalculateWitness(e,t);for(let e=0;e<this.witnessSize;e++){this.instance.exports.getWitness(e);let t=new Uint32Array(this.n32);for(let e=0;e<this.n32;e++)t[this.n32-1-e]=this.instance.exports.readSharedRWMemory(e);n.push(i.Scalar.fromArray(t,4294967296))}return n}async calculateWTNSBin(e,t){let n=new Uint32Array(this.witnessSize*this.n32+this.n32+11),r=new Uint8Array(n.buffer);await this._doCalculateWitness(e,t),r[0]=119,r[1]=116,r[2]=110,r[3]=115,n[1]=2,n[2]=2,n[3]=1;let i=this.n32*4,a=(8+i).toString(16);n[4]=parseInt(a.slice(0,8),16),n[5]=parseInt(a.slice(8,16),16),n[6]=i,this.instance.exports.getRawPrime();let o=7;for(let e=0;e<this.n32;e++)n[o+e]=this.instance.exports.readSharedRWMemory(e);o+=this.n32,n[o]=this.witnessSize,o++,n[o]=2,o++;let s=(i*this.witnessSize).toString(16);n[o]=parseInt(s.slice(0,8),16),n[o+1]=parseInt(s.slice(8,16),16),o+=2;for(let e=0;e<this.witnessSize;e++){this.instance.exports.getWitness(e);for(let e=0;e<this.n32;e++)n[o+e]=this.instance.exports.readSharedRWMemory(e);o+=this.n32}return r}},{unstringifyBigInts:ot}=i.utils;async function st(e,t,n,r){let i=ot(e),a=await k(t),o=await a.read(a.totalSize);await a.close();let s=await rt(o,r);if(s.circom_version()===1){let e=await s.calculateBinWitness(i),t=await j(n,`wtns`,2,2);await qe(t,e,s.prime),await t.close()}else{let e=await O(n),t=await s.calculateWTNSBin(i);await e.write(t),await e.close()}}var{unstringifyBigInts:ct}=i.utils;async function lt(e,t,n,r,i,a){let o=ct(e),s={type:`mem`};return await st(o,t,s,i),await Xe(n,s,r,a)}var{unstringifyBigInts:ut}=i.utils;async function dt(e,t,n,r){let a=ut(e),o=ut(n),s=ut(t),c=await H(a.curve),l=c.G1.fromObject(a.IC[0]),u=new Uint8Array(c.G1.F.n8*2*s.length),d=new Uint8Array(c.Fr.n8*s.length);if(!pt(c,s))return r&&r.error(`Public inputs are not valid.`),!1;for(let e=0;e<s.length;e++){let t=c.G1.fromObject(a.IC[e+1]);u.set(t,e*c.G1.F.n8*2),i.Scalar.toRprLE(d,c.Fr.n8*e,s[e],c.Fr.n8)}let f=await c.G1.multiExpAffine(u,d);f=c.G1.add(f,l);let p=c.G1.fromObject(o.pi_a),m=c.G2.fromObject(o.pi_b),h=c.G1.fromObject(o.pi_c);if(!ft(c,{pi_a:p,pi_b:m,pi_c:h}))return r&&r.error(`Proof commitments are not valid.`),!1;let g=c.G2.fromObject(a.vk_gamma_2),_=c.G2.fromObject(a.vk_delta_2),v=c.G1.fromObject(a.vk_alpha_1),y=c.G2.fromObject(a.vk_beta_2);return await c.pairingEq(c.G1.neg(p),m,f,g,h,_,v,y)?(r&&r.info(`OK!`),!0):(r&&r.error(`Invalid proof`),!1)}function ft(e,t){let n=e.G1,r=e.G2;return n.isValid(t.pi_a)&&r.isValid(t.pi_b)&&n.isValid(t.pi_c)}function pt(e,t){for(let n=0;n<t.length;n++)if(!i.Scalar.lt(t[n],e.r))return!1;return!0}var{unstringifyBigInts:mt}=i.utils;function $(e){let t=e.toString(16);for(;t.length<64;)t=`0`+t;return t=`"0x${t}"`,t}async function ht(e,t){let n=mt(e),r=mt(t),i=``;for(let e=0;e<r.length;e++)i!=``&&(i+=`,`),i+=$(r[e]);let a;return a=`[${$(n.pi_a[0])}, ${$(n.pi_a[1])}],[[${$(n.pi_b[0][1])}, ${$(n.pi_b[0][0])}],[${$(n.pi_b[1][1])}, ${$(n.pi_b[1][0])}]],[${$(n.pi_c[0])}, ${$(n.pi_c[1])}],[${i}]`,a}var gt=Object.freeze({__proto__:null,fullProve:lt,prove:Xe,verify:dt,exportSolidityCallData:ht});i.Scalar.e(`73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001`,16),i.Scalar.e(`21888242871839275222246405745257275088548364400416034343698204186575808495617`);var{unstringifyBigInts:_t}=i.utils,{stringifyBigInts:vt}=i.utils,{unstringifyBigInts:yt,stringifyBigInts:bt}=i.utils,xt={exports:{}};(function(e){(function(){var t=`input is invalid type`,n=`finalize already called`,r=typeof window==`object`,i=r?window:{};i.JS_SHA3_NO_WINDOW&&(r=!1);var a=!r&&typeof self==`object`;!i.JS_SHA3_NO_NODE_JS&&typeof process==`object`&&process.versions&&process.versions.node?i=U:a&&(i=self);var o=!i.JS_SHA3_NO_COMMON_JS&&e.exports,s=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<`u`,c=`0123456789abcdef`.split(``),l=[31,7936,2031616,520093696],u=[4,1024,262144,67108864],d=[1,256,65536,16777216],f=[6,1536,393216,100663296],p=[0,8,16,24],m=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],h=[224,256,384,512],g=[128,256],_=[`hex`,`buffer`,`arrayBuffer`,`array`,`digest`],v={128:168,256:136};(i.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return Object.prototype.toString.call(e)===`[object Array]`}),s&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return typeof e==`object`&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var y=function(e,t,n){return function(r){return new P(e,t,e).update(r)[n]()}},b=function(e,t,n){return function(r,i){return new P(e,t,i).update(r)[n]()}},x=function(e,t,n){return function(t,r,i,a){return E[`cshake`+e].update(t,r,i,a)[n]()}},S=function(e,t,n){return function(t,r,i,a){return E[`kmac`+e].update(t,r,i,a)[n]()}},C=function(e,t,n,r){for(var i=0;i<_.length;++i){var a=_[i];e[a]=t(n,r,a)}return e},w=function(e,t){var n=y(e,t,`hex`);return n.create=function(){return new P(e,t,e)},n.update=function(e){return n.create().update(e)},C(n,y,e,t)},T=[{name:`keccak`,padding:d,bits:h,createMethod:w},{name:`sha3`,padding:f,bits:h,createMethod:w},{name:`shake`,padding:l,bits:g,createMethod:function(e,t){var n=b(e,t,`hex`);return n.create=function(n){return new P(e,t,n)},n.update=function(e,t){return n.create(t).update(e)},C(n,b,e,t)}},{name:`cshake`,padding:u,bits:g,createMethod:function(e,t){var n=v[e],r=x(e,t,`hex`);return r.create=function(r,i,a){return!i&&!a?E[`shake`+e].create(r):new P(e,t,r).bytepad([i,a],n)},r.update=function(e,t,n,i){return r.create(t,n,i).update(e)},C(r,x,e,t)}},{name:`kmac`,padding:u,bits:g,createMethod:function(e,t){var n=v[e],r=S(e,t,`hex`);return r.create=function(r,i,a){return new F(e,t,i).bytepad([`KMAC`,a],n).bytepad([r],n)},r.update=function(e,t,n,i){return r.create(e,n,i).update(t)},C(r,S,e,t)}}],E={},D=[],O=0;O<T.length;++O)for(var k=T[O],A=k.bits,j=0;j<A.length;++j){var M=k.name+`_`+A[j];if(D.push(M),E[M]=k.createMethod(A[j],k.padding),k.name!==`sha3`){var N=k.name+A[j];D.push(N),E[N]=E[M]}}function P(e,t,n){this.blocks=[],this.s=[],this.padding=t,this.outputBits=n,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=n>>5,this.extraBytes=(n&31)>>3;for(var r=0;r<50;++r)this.s[r]=0}P.prototype.update=function(e){if(this.finalized)throw Error(n);var r,i=typeof e;if(i!==`string`){if(i===`object`){if(e===null)throw Error(t);if(s&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!s||!ArrayBuffer.isView(e)))throw Error(t)}else throw Error(t);r=!0}for(var a=this.blocks,o=this.byteCount,c=e.length,l=this.blockCount,u=0,d=this.s,f,m;u<c;){if(this.reset)for(this.reset=!1,a[0]=this.block,f=1;f<l+1;++f)a[f]=0;if(r)for(f=this.start;u<c&&f<o;++u)a[f>>2]|=e[u]<<p[f++&3];else for(f=this.start;u<c&&f<o;++u)m=e.charCodeAt(u),m<128?a[f>>2]|=m<<p[f++&3]:m<2048?(a[f>>2]|=(192|m>>6)<<p[f++&3],a[f>>2]|=(128|m&63)<<p[f++&3]):m<55296||m>=57344?(a[f>>2]|=(224|m>>12)<<p[f++&3],a[f>>2]|=(128|m>>6&63)<<p[f++&3],a[f>>2]|=(128|m&63)<<p[f++&3]):(m=65536+((m&1023)<<10|e.charCodeAt(++u)&1023),a[f>>2]|=(240|m>>18)<<p[f++&3],a[f>>2]|=(128|m>>12&63)<<p[f++&3],a[f>>2]|=(128|m>>6&63)<<p[f++&3],a[f>>2]|=(128|m&63)<<p[f++&3]);if(this.lastByteIndex=f,f>=o){for(this.start=f-o,this.block=a[l],f=0;f<l;++f)d[f]^=a[f];I(d),this.reset=!0}else this.start=f}return this},P.prototype.encode=function(e,t){var n=e&255,r=1,i=[n];for(e>>=8,n=e&255;n>0;)i.unshift(n),e>>=8,n=e&255,++r;return t?i.push(r):i.unshift(r),this.update(i),i.length},P.prototype.encodeString=function(e){var n,r=typeof e;if(r!==`string`){if(r===`object`){if(e===null)throw Error(t);if(s&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!s||!ArrayBuffer.isView(e)))throw Error(t)}else throw Error(t);n=!0}var i=0,a=e.length;if(n)i=a;else for(var o=0;o<e.length;++o){var c=e.charCodeAt(o);c<128?i+=1:c<2048?i+=2:c<55296||c>=57344?i+=3:(c=65536+((c&1023)<<10|e.charCodeAt(++o)&1023),i+=4)}return i+=this.encode(i*8),this.update(e),i},P.prototype.bytepad=function(e,t){for(var n=this.encode(t),r=0;r<e.length;++r)n+=this.encodeString(e[r]);var i=t-n%t,a=[];return a.length=i,this.update(a),this},P.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex,n=this.blockCount,r=this.s;if(e[t>>2]|=this.padding[t&3],this.lastByteIndex===this.byteCount)for(e[0]=e[n],t=1;t<n+1;++t)e[t]=0;for(e[n-1]|=2147483648,t=0;t<n;++t)r[t]^=e[t];I(r)}},P.prototype.toString=P.prototype.hex=function(){this.finalize();for(var e=this.blockCount,t=this.s,n=this.outputBlocks,r=this.extraBytes,i=0,a=0,o=``,s;a<n;){for(i=0;i<e&&a<n;++i,++a)s=t[i],o+=c[s>>4&15]+c[s&15]+c[s>>12&15]+c[s>>8&15]+c[s>>20&15]+c[s>>16&15]+c[s>>28&15]+c[s>>24&15];a%e===0&&(I(t),i=0)}return r&&(s=t[i],o+=c[s>>4&15]+c[s&15],r>1&&(o+=c[s>>12&15]+c[s>>8&15]),r>2&&(o+=c[s>>20&15]+c[s>>16&15])),o},P.prototype.arrayBuffer=function(){this.finalize();for(var e=this.blockCount,t=this.s,n=this.outputBlocks,r=this.extraBytes,i=0,a=0,o=this.outputBits>>3,s=r?new ArrayBuffer(n+1<<2):new ArrayBuffer(o),c=new Uint32Array(s);a<n;){for(i=0;i<e&&a<n;++i,++a)c[a]=t[i];a%e===0&&I(t)}return r&&(c[i]=t[i],s=s.slice(0,o)),s},P.prototype.buffer=P.prototype.arrayBuffer,P.prototype.digest=P.prototype.array=function(){this.finalize();for(var e=this.blockCount,t=this.s,n=this.outputBlocks,r=this.extraBytes,i=0,a=0,o=[],s,c;a<n;){for(i=0;i<e&&a<n;++i,++a)s=a<<2,c=t[i],o[s]=c&255,o[s+1]=c>>8&255,o[s+2]=c>>16&255,o[s+3]=c>>24&255;a%e===0&&I(t)}return r&&(s=a<<2,c=t[i],o[s]=c&255,r>1&&(o[s+1]=c>>8&255),r>2&&(o[s+2]=c>>16&255)),o};function F(e,t,n){P.call(this,e,t,n)}F.prototype=new P,F.prototype.finalize=function(){return this.encode(this.outputBits,!0),P.prototype.finalize.call(this)};var I=function(e){var t,n,r,i,a,o,s,c,l,u,d,f,p,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U,W,ee,te,ne,re,ie,ae,oe,se,G,K,ce,le,ue,de,fe,pe,me,he,ge,q;for(r=0;r<48;r+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],a=e[1]^e[11]^e[21]^e[31]^e[41],o=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],l=e[5]^e[15]^e[25]^e[35]^e[45],u=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],f=e[8]^e[18]^e[28]^e[38]^e[48],p=e[9]^e[19]^e[29]^e[39]^e[49],t=f^(o<<1|s>>>31),n=p^(s<<1|o>>>31),e[0]^=t,e[1]^=n,e[10]^=t,e[11]^=n,e[20]^=t,e[21]^=n,e[30]^=t,e[31]^=n,e[40]^=t,e[41]^=n,t=i^(c<<1|l>>>31),n=a^(l<<1|c>>>31),e[2]^=t,e[3]^=n,e[12]^=t,e[13]^=n,e[22]^=t,e[23]^=n,e[32]^=t,e[33]^=n,e[42]^=t,e[43]^=n,t=o^(u<<1|d>>>31),n=s^(d<<1|u>>>31),e[4]^=t,e[5]^=n,e[14]^=t,e[15]^=n,e[24]^=t,e[25]^=n,e[34]^=t,e[35]^=n,e[44]^=t,e[45]^=n,t=c^(f<<1|p>>>31),n=l^(p<<1|f>>>31),e[6]^=t,e[7]^=n,e[16]^=t,e[17]^=n,e[26]^=t,e[27]^=n,e[36]^=t,e[37]^=n,e[46]^=t,e[47]^=n,t=u^(i<<1|a>>>31),n=d^(a<<1|i>>>31),e[8]^=t,e[9]^=n,e[18]^=t,e[19]^=n,e[28]^=t,e[29]^=n,e[38]^=t,e[39]^=n,e[48]^=t,e[49]^=n,h=e[0],g=e[1],ne=e[11]<<4|e[10]>>>28,re=e[10]<<4|e[11]>>>28,k=e[20]<<3|e[21]>>>29,A=e[21]<<3|e[20]>>>29,me=e[31]<<9|e[30]>>>23,he=e[30]<<9|e[31]>>>23,U=e[40]<<18|e[41]>>>14,W=e[41]<<18|e[40]>>>14,F=e[2]<<1|e[3]>>>31,I=e[3]<<1|e[2]>>>31,_=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,ie=e[22]<<10|e[23]>>>22,ae=e[23]<<10|e[22]>>>22,j=e[33]<<13|e[32]>>>19,M=e[32]<<13|e[33]>>>19,ge=e[42]<<2|e[43]>>>30,q=e[43]<<2|e[42]>>>30,ce=e[5]<<30|e[4]>>>2,le=e[4]<<30|e[5]>>>2,L=e[14]<<6|e[15]>>>26,R=e[15]<<6|e[14]>>>26,y=e[25]<<11|e[24]>>>21,b=e[24]<<11|e[25]>>>21,oe=e[34]<<15|e[35]>>>17,se=e[35]<<15|e[34]>>>17,N=e[45]<<29|e[44]>>>3,P=e[44]<<29|e[45]>>>3,T=e[6]<<28|e[7]>>>4,E=e[7]<<28|e[6]>>>4,ue=e[17]<<23|e[16]>>>9,de=e[16]<<23|e[17]>>>9,z=e[26]<<25|e[27]>>>7,B=e[27]<<25|e[26]>>>7,x=e[36]<<21|e[37]>>>11,S=e[37]<<21|e[36]>>>11,G=e[47]<<24|e[46]>>>8,K=e[46]<<24|e[47]>>>8,ee=e[8]<<27|e[9]>>>5,te=e[9]<<27|e[8]>>>5,D=e[18]<<20|e[19]>>>12,O=e[19]<<20|e[18]>>>12,fe=e[29]<<7|e[28]>>>25,pe=e[28]<<7|e[29]>>>25,V=e[38]<<8|e[39]>>>24,H=e[39]<<8|e[38]>>>24,C=e[48]<<14|e[49]>>>18,w=e[49]<<14|e[48]>>>18,e[0]=h^~_&y,e[1]=g^~v&b,e[10]=T^~D&k,e[11]=E^~O&A,e[20]=F^~L&z,e[21]=I^~R&B,e[30]=ee^~ne&ie,e[31]=te^~re&ae,e[40]=ce^~ue&fe,e[41]=le^~de&pe,e[2]=_^~y&x,e[3]=v^~b&S,e[12]=D^~k&j,e[13]=O^~A&M,e[22]=L^~z&V,e[23]=R^~B&H,e[32]=ne^~ie&oe,e[33]=re^~ae&se,e[42]=ue^~fe&me,e[43]=de^~pe&he,e[4]=y^~x&C,e[5]=b^~S&w,e[14]=k^~j&N,e[15]=A^~M&P,e[24]=z^~V&U,e[25]=B^~H&W,e[34]=ie^~oe&G,e[35]=ae^~se&K,e[44]=fe^~me&ge,e[45]=pe^~he&q,e[6]=x^~C&h,e[7]=S^~w&g,e[16]=j^~N&T,e[17]=M^~P&E,e[26]=V^~U&F,e[27]=H^~W&I,e[36]=oe^~G&ee,e[37]=se^~K&te,e[46]=me^~ge&ce,e[47]=he^~q&le,e[8]=C^~h&_,e[9]=w^~g&v,e[18]=N^~T&D,e[19]=P^~E&O,e[28]=U^~F&L,e[29]=W^~I&R,e[38]=G^~ee&ne,e[39]=K^~te&re,e[48]=ge^~ce&ue,e[49]=q^~le&de,e[0]^=m[r],e[1]^=m[r+1]};if(o)e.exports=E;else for(O=0;O<D.length;++O)i[D[O]]=E[D[O]]})()})(xt);var{keccak256:St}=xt.exports,{stringifyBigInts:Ct}=i.utils,{unstringifyBigInts:wt}=i.utils,{unstringifyBigInts:Tt}=i.utils,{unstringifyBigInts:Et}=i.utils,{stringifyBigInts:Dt}=i.utils,{unstringifyBigInts:Ot}=i.utils,{unstringifyBigInts:kt}=i.utils,{unstringifyBigInts:At}=i.utils,jt=new class{axiosInstance;constructor(){this.axiosInstance=a.default.create()}async get(e,t){return(await this.axiosInstance.get(e,t)).data}async post(e,t,n){return(await this.axiosInstance.post(e,t,n)).data}async put(e,t,n){return(await this.axiosInstance.put(e,t,n)).data}async patch(e,t,n){return(await this.axiosInstance.patch(e,t,n)).data}async delete(e,t){return(await this.axiosInstance.delete(e,t)).data}},Mt={setHttpClient:e=>{jt=e},get:(e,t)=>jt.get(e,t),post:(e,t,n)=>jt.post(e,t,n),put:(e,t,n)=>jt.put(e,t,n),patch:(e,t,n)=>jt.patch(e,t,n),delete:(e,t)=>jt.delete(e,t)},Nt=new e.t,Pt=async e=>new Uint8Array(await Mt.get(e,{responseType:`arraybuffer`})),Ft=async t=>{try{let{input:n,wasmFilePath:r,zKeyFilePath:i,chainId:a}=t.payload.data,{hostLocation:{origin:o},constants:{isDevelopment:s,chains:{chainIds:c}}}=t.metadata,l=r,u=i,d,f,p=l.startsWith(`https://`);if(e.i&&!p){e.o?(l=`libs/hardhat/test/circuits/${r}`,u=`libs/hardhat/test/circuits/${i}`):!e.o&&s&&(a===e.n.solanaLocalnet?(l=`tests/circuits/${r}`,u=`tests/circuits/${i}`):(l=`test/circuits/${r}`,u=`test/circuits/${i}`));let t=require(`path`);l=t.resolve(l),u=t.resolve(u)}e.i&&p?(d=await Pt(l),f=await Pt(u)):(a===c.localhost||a===e.n.solanaLocalnet||a===c.tronLocalnet)&&!e.i&&(l=`${o}/${r}`,u=`${o}/${i}`);let{proof:m,publicSignals:h}=await gt.fullProve(n,d??l,f??u,void 0,void 0,e.i?{singleThread:!0}:void 0),g=await gt.exportSolidityCallData(m,h),_=JSON.parse(`[${g}]`);Nt.postMessageToMainThread({zkCallData:_,proof:m,publicSignals:h})}catch(e){console.error(e),Nt.postErrorToMainThread(e)}};globalThis.process=r.default,globalThis.Buffer=n.Buffer,t.parentPort.on(`message`,async e=>{await Ft(e)});
|