10 lines
706 KiB
JavaScript
10 lines
706 KiB
JavaScript
var snarkjs=function(A){"use strict";const t=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function I(A,t){return t&&10!=t?16==t?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const i=I;function g(A,t){return BigInt(A)<<BigInt(t)}function e(A,t){return BigInt(A)>>BigInt(t)}const n=g,C=e;var Q=Object.freeze({__proto__:null,fromString:I,e:i,fromArray:function(A,t){let I=BigInt(0);t=BigInt(t);for(let i=0;i<A.length;i++)I=I*t+BigInt(A[i]);return I},bitLength:function(A){const I=A.toString(16);return 4*(I.length-1)+t[parseInt(I[0],16)]},isNegative:function(A){return BigInt(A)<BigInt(0)},isZero:function(A){return!A},shiftLeft:g,shiftRight:e,shl:n,shr:C,isOdd:function(A){return(BigInt(A)&BigInt(1))==BigInt(1)},naf:function(A){let t=BigInt(A);const I=[];for(;t;){if(t&BigInt(1)){const A=2-Number(t%BigInt(4));I.push(A),t-=BigInt(A)}else I.push(0);t>>=BigInt(1)}return I},bits:function(A){let t=BigInt(A);const I=[];for(;t;)t&BigInt(1)?I.push(1):I.push(0),t>>=BigInt(1);return I},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,t){const I=[];let i=BigInt(A);for(t=BigInt(t);i;)I.unshift(Number(i%t)),i/=t;return I},add:function(A,t){return BigInt(A)+BigInt(t)},sub:function(A,t){return BigInt(A)-BigInt(t)},neg:function(A){return-BigInt(A)},mul:function(A,t){return BigInt(A)*BigInt(t)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,t){return BigInt(A)**BigInt(t)},exp:function(A,t){return BigInt(A)**BigInt(t)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,t){return BigInt(A)/BigInt(t)},mod:function(A,t){return BigInt(A)%BigInt(t)},eq:function(A,t){return BigInt(A)==BigInt(t)},neq:function(A,t){return BigInt(A)!=BigInt(t)},lt:function(A,t){return BigInt(A)<BigInt(t)},gt:function(A,t){return BigInt(A)>BigInt(t)},leq:function(A,t){return BigInt(A)<=BigInt(t)},geq:function(A,t){return BigInt(A)>=BigInt(t)},band:function(A,t){return BigInt(A)&BigInt(t)},bor:function(A,t){return BigInt(A)|BigInt(t)},bxor:function(A,t){return BigInt(A)^BigInt(t)},land:function(A,t){return BigInt(A)&&BigInt(t)},lor:function(A,t){return BigInt(A)||BigInt(t)},lnot:function(A){return!BigInt(A)}}),B="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(A){var t={exports:{}};return A(t,t.exports),t.exports}var o=r((function(A){var t=function(A){var I=1e7,i=9007199254740992,g=E(i),e="0123456789abcdefghijklmnopqrstuvwxyz",n="function"==typeof BigInt;function C(A,t,I,i){return void 0===A?C[0]:void 0!==t&&(10!=+t||I)?O(A,t,I,i):z(A)}function Q(A,t){this.value=A,this.sign=t,this.isSmall=!1}function B(A){this.value=A,this.sign=A<0,this.isSmall=!0}function r(A){this.value=A}function o(A){return-i<A&&A<i}function E(A){return A<1e7?[A]:A<1e14?[A%1e7,Math.floor(A/1e7)]:[A%1e7,Math.floor(A/1e7)%1e7,Math.floor(A/1e14)]}function a(A){s(A);var t=A.length;if(t<4&&H(A,g)<0)switch(t){case 0:return 0;case 1:return A[0];case 2:return A[0]+A[1]*I;default:return A[0]+(A[1]+A[2]*I)*I}return A}function s(A){for(var t=A.length;0===A[--t];);A.length=t+1}function h(A){for(var t=new Array(A),I=-1;++I<A;)t[I]=0;return t}function f(A){return A>0?Math.floor(A):Math.ceil(A)}function w(A,t){var i,g,e=A.length,n=t.length,C=new Array(e),Q=0,B=I;for(g=0;g<n;g++)Q=(i=A[g]+t[g]+Q)>=B?1:0,C[g]=i-Q*B;for(;g<e;)Q=(i=A[g]+Q)===B?1:0,C[g++]=i-Q*B;return Q>0&&C.push(Q),C}function c(A,t){return A.length>=t.length?w(A,t):w(t,A)}function D(A,t){var i,g,e=A.length,n=new Array(e),C=I;for(g=0;g<e;g++)i=A[g]-C+t,t=Math.floor(i/C),n[g]=i-t*C,t+=1;for(;t>0;)n[g++]=t%C,t=Math.floor(t/C);return n}function u(A,t){var i,g,e=A.length,n=t.length,C=new Array(e),Q=0,B=I;for(i=0;i<n;i++)(g=A[i]-Q-t[i])<0?(g+=B,Q=1):Q=0,C[i]=g;for(i=n;i<e;i++){if(!((g=A[i]-Q)<0)){C[i++]=g;break}g+=B,C[i]=g}for(;i<e;i++)C[i]=A[i];return s(C),C}function l(A,t,i){var g,e,n=A.length,C=new Array(n),r=-t,o=I;for(g=0;g<n;g++)e=A[g]+r,r=Math.floor(e/o),e%=o,C[g]=e<0?e+o:e;return"number"==typeof(C=a(C))?(i&&(C=-C),new B(C)):new Q(C,i)}function y(A,t){var i,g,e,n,C=A.length,Q=t.length,B=h(C+Q),r=I;for(e=0;e<C;++e){n=A[e];for(var o=0;o<Q;++o)i=n*t[o]+B[e+o],g=Math.floor(i/r),B[e+o]=i-g*r,B[e+o+1]+=g}return s(B),B}function p(A,t){var i,g,e=A.length,n=new Array(e),C=I,Q=0;for(g=0;g<e;g++)i=A[g]*t+Q,Q=Math.floor(i/C),n[g]=i-Q*C;for(;Q>0;)n[g++]=Q%C,Q=Math.floor(Q/C);return n}function F(A,t){for(var I=[];t-- >0;)I.push(0);return I.concat(A)}function M(A,t){var I=Math.max(A.length,t.length);if(I<=30)return y(A,t);I=Math.ceil(I/2);var i=A.slice(I),g=A.slice(0,I),e=t.slice(I),n=t.slice(0,I),C=M(g,n),Q=M(i,e),B=M(c(g,i),c(n,e)),r=c(c(C,F(u(u(B,C),Q),I)),F(Q,2*I));return s(r),r}function m(A,t,i){return new Q(A<I?p(t,A):y(t,E(A)),i)}function d(A){var t,i,g,e,n=A.length,C=h(n+n),Q=I;for(g=0;g<n;g++){i=0-(e=A[g])*e;for(var B=g;B<n;B++)t=e*A[B]*2+C[g+B]+i,i=Math.floor(t/Q),C[g+B]=t-i*Q;C[g+n]=i}return s(C),C}function G(A,t){var I,i,g,e,n=A.length,C=h(n);for(g=0,I=n-1;I>=0;--I)g=(e=1e7*g+A[I])-(i=f(e/t))*t,C[I]=0|i;return[C,0|g]}function b(A,t){var i,g=z(t);if(n)return[new r(A.value/g.value),new r(A.value%g.value)];var e,o=A.value,w=g.value;if(0===w)throw new Error("Cannot divide by zero");if(A.isSmall)return g.isSmall?[new B(f(o/w)),new B(o%w)]:[C[0],A];if(g.isSmall){if(1===w)return[A,C[0]];if(-1==w)return[A.negate(),C[0]];var c=Math.abs(w);if(c<I){e=a((i=G(o,c))[0]);var D=i[1];return A.sign&&(D=-D),"number"==typeof e?(A.sign!==g.sign&&(e=-e),[new B(e),new B(D)]):[new Q(e,A.sign!==g.sign),new B(D)]}w=E(c)}var l=H(o,w);if(-1===l)return[C[0],A];if(0===l)return[C[A.sign===g.sign?1:-1],C[0]];e=(i=o.length+w.length<=200?function(A,t){var i,g,e,n,C,Q,B,r=A.length,o=t.length,E=I,s=h(t.length),f=t[o-1],w=Math.ceil(E/(2*f)),c=p(A,w),D=p(t,w);for(c.length<=r&&c.push(0),D.push(0),f=D[o-1],g=r-o;g>=0;g--){for(i=E-1,c[g+o]!==f&&(i=Math.floor((c[g+o]*E+c[g+o-1])/f)),e=0,n=0,Q=D.length,C=0;C<Q;C++)e+=i*D[C],B=Math.floor(e/E),n+=c[g+C]-(e-B*E),e=B,n<0?(c[g+C]=n+E,n=-1):(c[g+C]=n,n=0);for(;0!==n;){for(i-=1,e=0,C=0;C<Q;C++)(e+=c[g+C]-E+D[C])<0?(c[g+C]=e+E,e=0):(c[g+C]=e,e=1);n+=e}s[g]=i}return c=G(c,w)[0],[a(s),a(c)]}(o,w):function(A,t){for(var i,g,e,n,C,Q=A.length,B=t.length,r=[],o=[],E=I;Q;)if(o.unshift(A[--Q]),s(o),H(o,t)<0)r.push(0);else{e=o[(g=o.length)-1]*E+o[g-2],n=t[B-1]*E+t[B-2],g>B&&(e=(e+1)*E),i=Math.ceil(e/n);do{if(H(C=p(t,i),o)<=0)break;i--}while(i);r.push(i),o=u(o,C)}return r.reverse(),[a(r),a(o)]}(o,w))[0];var y=A.sign!==g.sign,F=i[1],M=A.sign;return"number"==typeof e?(y&&(e=-e),e=new B(e)):e=new Q(e,y),"number"==typeof F?(M&&(F=-F),F=new B(F)):F=new Q(F,M),[e,F]}function H(A,t){if(A.length!==t.length)return A.length>t.length?1:-1;for(var I=A.length-1;I>=0;I--)if(A[I]!==t[I])return A[I]>t[I]?1:-1;return 0}function U(A){var t=A.abs();return!t.isUnit()&&(!!(t.equals(2)||t.equals(3)||t.equals(5))||!(t.isEven()||t.isDivisibleBy(3)||t.isDivisibleBy(5))&&(!!t.lesser(49)||void 0))}function L(A,I){for(var i,g,e,n=A.prev(),C=n,Q=0;C.isEven();)C=C.divide(2),Q++;A:for(g=0;g<I.length;g++)if(!A.lesser(I[g])&&!(e=t(I[g]).modPow(C,A)).isUnit()&&!e.equals(n)){for(i=Q-1;0!=i;i--){if((e=e.square().mod(A)).isUnit())return!1;if(e.equals(n))continue A}return!1}return!0}Q.prototype=Object.create(C.prototype),B.prototype=Object.create(C.prototype),r.prototype=Object.create(C.prototype),Q.prototype.add=function(A){var t=z(A);if(this.sign!==t.sign)return this.subtract(t.negate());var I=this.value,i=t.value;return t.isSmall?new Q(D(I,Math.abs(i)),this.sign):new Q(c(I,i),this.sign)},Q.prototype.plus=Q.prototype.add,B.prototype.add=function(A){var t=z(A),I=this.value;if(I<0!==t.sign)return this.subtract(t.negate());var i=t.value;if(t.isSmall){if(o(I+i))return new B(I+i);i=E(Math.abs(i))}return new Q(D(i,Math.abs(I)),I<0)},B.prototype.plus=B.prototype.add,r.prototype.add=function(A){return new r(this.value+z(A).value)},r.prototype.plus=r.prototype.add,Q.prototype.subtract=function(A){var t=z(A);if(this.sign!==t.sign)return this.add(t.negate());var I=this.value,i=t.value;return t.isSmall?l(I,Math.abs(i),this.sign):function(A,t,I){var i;return H(A,t)>=0?i=u(A,t):(i=u(t,A),I=!I),"number"==typeof(i=a(i))?(I&&(i=-i),new B(i)):new Q(i,I)}(I,i,this.sign)},Q.prototype.minus=Q.prototype.subtract,B.prototype.subtract=function(A){var t=z(A),I=this.value;if(I<0!==t.sign)return this.add(t.negate());var i=t.value;return t.isSmall?new B(I-i):l(i,Math.abs(I),I>=0)},B.prototype.minus=B.prototype.subtract,r.prototype.subtract=function(A){return new r(this.value-z(A).value)},r.prototype.minus=r.prototype.subtract,Q.prototype.negate=function(){return new Q(this.value,!this.sign)},B.prototype.negate=function(){var A=this.sign,t=new B(-this.value);return t.sign=!A,t},r.prototype.negate=function(){return new r(-this.value)},Q.prototype.abs=function(){return new Q(this.value,!1)},B.prototype.abs=function(){return new B(Math.abs(this.value))},r.prototype.abs=function(){return new r(this.value>=0?this.value:-this.value)},Q.prototype.multiply=function(A){var t,i,g,e=z(A),n=this.value,B=e.value,r=this.sign!==e.sign;if(e.isSmall){if(0===B)return C[0];if(1===B)return this;if(-1===B)return this.negate();if((t=Math.abs(B))<I)return new Q(p(n,t),r);B=E(t)}return i=n.length,g=B.length,new Q(-.012*i-.012*g+15e-6*i*g>0?M(n,B):y(n,B),r)},Q.prototype.times=Q.prototype.multiply,B.prototype._multiplyBySmall=function(A){return o(A.value*this.value)?new B(A.value*this.value):m(Math.abs(A.value),E(Math.abs(this.value)),this.sign!==A.sign)},Q.prototype._multiplyBySmall=function(A){return 0===A.value?C[0]:1===A.value?this:-1===A.value?this.negate():m(Math.abs(A.value),this.value,this.sign!==A.sign)},B.prototype.multiply=function(A){return z(A)._multiplyBySmall(this)},B.prototype.times=B.prototype.multiply,r.prototype.multiply=function(A){return new r(this.value*z(A).value)},r.prototype.times=r.prototype.multiply,Q.prototype.square=function(){return new Q(d(this.value),!1)},B.prototype.square=function(){var A=this.value*this.value;return o(A)?new B(A):new Q(d(E(Math.abs(this.value))),!1)},r.prototype.square=function(A){return new r(this.value*this.value)},Q.prototype.divmod=function(A){var t=b(this,A);return{quotient:t[0],remainder:t[1]}},r.prototype.divmod=B.prototype.divmod=Q.prototype.divmod,Q.prototype.divide=function(A){return b(this,A)[0]},r.prototype.over=r.prototype.divide=function(A){return new r(this.value/z(A).value)},B.prototype.over=B.prototype.divide=Q.prototype.over=Q.prototype.divide,Q.prototype.mod=function(A){return b(this,A)[1]},r.prototype.mod=r.prototype.remainder=function(A){return new r(this.value%z(A).value)},B.prototype.remainder=B.prototype.mod=Q.prototype.remainder=Q.prototype.mod,Q.prototype.pow=function(A){var t,I,i,g=z(A),e=this.value,n=g.value;if(0===n)return C[1];if(0===e)return C[0];if(1===e)return C[1];if(-1===e)return g.isEven()?C[1]:C[-1];if(g.sign)return C[0];if(!g.isSmall)throw new Error("The exponent "+g.toString()+" is too large.");if(this.isSmall&&o(t=Math.pow(e,n)))return new B(f(t));for(I=this,i=C[1];!0&n&&(i=i.times(I),--n),0!==n;)n/=2,I=I.square();return i},B.prototype.pow=Q.prototype.pow,r.prototype.pow=function(A){var t=z(A),I=this.value,i=t.value,g=BigInt(0),e=BigInt(1),n=BigInt(2);if(i===g)return C[1];if(I===g)return C[0];if(I===e)return C[1];if(I===BigInt(-1))return t.isEven()?C[1]:C[-1];if(t.isNegative())return new r(g);for(var Q=this,B=C[1];(i&e)===e&&(B=B.times(Q),--i),i!==g;)i/=n,Q=Q.square();return B},Q.prototype.modPow=function(A,t){if(A=z(A),(t=z(t)).isZero())throw new Error("Cannot take modPow with modulus 0");var I=C[1],i=this.mod(t);for(A.isNegative()&&(A=A.multiply(C[-1]),i=i.modInv(t));A.isPositive();){if(i.isZero())return C[0];A.isOdd()&&(I=I.multiply(i).mod(t)),A=A.divide(2),i=i.square().mod(t)}return I},r.prototype.modPow=B.prototype.modPow=Q.prototype.modPow,Q.prototype.compareAbs=function(A){var t=z(A),I=this.value,i=t.value;return t.isSmall?1:H(I,i)},B.prototype.compareAbs=function(A){var t=z(A),I=Math.abs(this.value),i=t.value;return t.isSmall?I===(i=Math.abs(i))?0:I>i?1:-1:-1},r.prototype.compareAbs=function(A){var t=this.value,I=z(A).value;return(t=t>=0?t:-t)===(I=I>=0?I:-I)?0:t>I?1:-1},Q.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var t=z(A),I=this.value,i=t.value;return this.sign!==t.sign?t.sign?1:-1:t.isSmall?this.sign?-1:1:H(I,i)*(this.sign?-1:1)},Q.prototype.compareTo=Q.prototype.compare,B.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var t=z(A),I=this.value,i=t.value;return t.isSmall?I==i?0:I>i?1:-1:I<0!==t.sign?I<0?-1:1:I<0?1:-1},B.prototype.compareTo=B.prototype.compare,r.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var t=this.value,I=z(A).value;return t===I?0:t>I?1:-1},r.prototype.compareTo=r.prototype.compare,Q.prototype.equals=function(A){return 0===this.compare(A)},r.prototype.eq=r.prototype.equals=B.prototype.eq=B.prototype.equals=Q.prototype.eq=Q.prototype.equals,Q.prototype.notEquals=function(A){return 0!==this.compare(A)},r.prototype.neq=r.prototype.notEquals=B.prototype.neq=B.prototype.notEquals=Q.prototype.neq=Q.prototype.notEquals,Q.prototype.greater=function(A){return this.compare(A)>0},r.prototype.gt=r.prototype.greater=B.prototype.gt=B.prototype.greater=Q.prototype.gt=Q.prototype.greater,Q.prototype.lesser=function(A){return this.compare(A)<0},r.prototype.lt=r.prototype.lesser=B.prototype.lt=B.prototype.lesser=Q.prototype.lt=Q.prototype.lesser,Q.prototype.greaterOrEquals=function(A){return this.compare(A)>=0},r.prototype.geq=r.prototype.greaterOrEquals=B.prototype.geq=B.prototype.greaterOrEquals=Q.prototype.geq=Q.prototype.greaterOrEquals,Q.prototype.lesserOrEquals=function(A){return this.compare(A)<=0},r.prototype.leq=r.prototype.lesserOrEquals=B.prototype.leq=B.prototype.lesserOrEquals=Q.prototype.leq=Q.prototype.lesserOrEquals,Q.prototype.isEven=function(){return 0==(1&this.value[0])},B.prototype.isEven=function(){return 0==(1&this.value)},r.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},Q.prototype.isOdd=function(){return 1==(1&this.value[0])},B.prototype.isOdd=function(){return 1==(1&this.value)},r.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},Q.prototype.isPositive=function(){return!this.sign},B.prototype.isPositive=function(){return this.value>0},r.prototype.isPositive=B.prototype.isPositive,Q.prototype.isNegative=function(){return this.sign},B.prototype.isNegative=function(){return this.value<0},r.prototype.isNegative=B.prototype.isNegative,Q.prototype.isUnit=function(){return!1},B.prototype.isUnit=function(){return 1===Math.abs(this.value)},r.prototype.isUnit=function(){return this.abs().value===BigInt(1)},Q.prototype.isZero=function(){return!1},B.prototype.isZero=function(){return 0===this.value},r.prototype.isZero=function(){return this.value===BigInt(0)},Q.prototype.isDivisibleBy=function(A){var t=z(A);return!t.isZero()&&(!!t.isUnit()||(0===t.compareAbs(2)?this.isEven():this.mod(t).isZero()))},r.prototype.isDivisibleBy=B.prototype.isDivisibleBy=Q.prototype.isDivisibleBy,Q.prototype.isPrime=function(I){var i=U(this);if(i!==A)return i;var g=this.abs(),e=g.bitLength();if(e<=64)return L(g,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var n=Math.log(2)*e.toJSNumber(),C=Math.ceil(!0===I?2*Math.pow(n,2):n),Q=[],B=0;B<C;B++)Q.push(t(B+2));return L(g,Q)},r.prototype.isPrime=B.prototype.isPrime=Q.prototype.isPrime,Q.prototype.isProbablePrime=function(I,i){var g=U(this);if(g!==A)return g;for(var e=this.abs(),n=I===A?5:I,C=[],Q=0;Q<n;Q++)C.push(t.randBetween(2,e.minus(2),i));return L(e,C)},r.prototype.isProbablePrime=B.prototype.isProbablePrime=Q.prototype.isProbablePrime,Q.prototype.modInv=function(A){for(var I,i,g,e=t.zero,n=t.one,C=z(A),Q=this.abs();!Q.isZero();)I=C.divide(Q),i=e,g=C,e=n,C=Q,n=i.subtract(I.multiply(n)),Q=g.subtract(I.multiply(Q));if(!C.isUnit())throw new Error(this.toString()+" and "+A.toString()+" are not co-prime");return-1===e.compare(0)&&(e=e.add(A)),this.isNegative()?e.negate():e},r.prototype.modInv=B.prototype.modInv=Q.prototype.modInv,Q.prototype.next=function(){var A=this.value;return this.sign?l(A,1,this.sign):new Q(D(A,1),this.sign)},B.prototype.next=function(){var A=this.value;return A+1<i?new B(A+1):new Q(g,!1)},r.prototype.next=function(){return new r(this.value+BigInt(1))},Q.prototype.prev=function(){var A=this.value;return this.sign?new Q(D(A,1),!0):l(A,1,this.sign)},B.prototype.prev=function(){var A=this.value;return A-1>-i?new B(A-1):new Q(g,!0)},r.prototype.prev=function(){return new r(this.value-BigInt(1))};for(var N=[1];2*N[N.length-1]<=I;)N.push(2*N[N.length-1]);var k=N.length,J=N[k-1];function S(A){return Math.abs(A)<=I}function v(A,I,i){I=z(I);for(var g=A.isNegative(),e=I.isNegative(),n=g?A.not():A,C=e?I.not():I,Q=0,B=0,r=null,o=null,E=[];!n.isZero()||!C.isZero();)Q=(r=b(n,J))[1].toJSNumber(),g&&(Q=J-1-Q),B=(o=b(C,J))[1].toJSNumber(),e&&(B=J-1-B),n=r[0],C=o[0],E.push(i(Q,B));for(var a=0!==i(g?1:0,e?1:0)?t(-1):t(0),s=E.length-1;s>=0;s-=1)a=a.multiply(J).add(t(E[s]));return a}Q.prototype.shiftLeft=function(A){var t=z(A).toJSNumber();if(!S(t))throw new Error(String(t)+" is too large for shifting.");if(t<0)return this.shiftRight(-t);var I=this;if(I.isZero())return I;for(;t>=k;)I=I.multiply(J),t-=k-1;return I.multiply(N[t])},r.prototype.shiftLeft=B.prototype.shiftLeft=Q.prototype.shiftLeft,Q.prototype.shiftRight=function(A){var t,I=z(A).toJSNumber();if(!S(I))throw new Error(String(I)+" is too large for shifting.");if(I<0)return this.shiftLeft(-I);for(var i=this;I>=k;){if(i.isZero()||i.isNegative()&&i.isUnit())return i;i=(t=b(i,J))[1].isNegative()?t[0].prev():t[0],I-=k-1}return(t=b(i,N[I]))[1].isNegative()?t[0].prev():t[0]},r.prototype.shiftRight=B.prototype.shiftRight=Q.prototype.shiftRight,Q.prototype.not=function(){return this.negate().prev()},r.prototype.not=B.prototype.not=Q.prototype.not,Q.prototype.and=function(A){return v(this,A,(function(A,t){return A&t}))},r.prototype.and=B.prototype.and=Q.prototype.and,Q.prototype.or=function(A){return v(this,A,(function(A,t){return A|t}))},r.prototype.or=B.prototype.or=Q.prototype.or,Q.prototype.xor=function(A){return v(this,A,(function(A,t){return A^t}))},r.prototype.xor=B.prototype.xor=Q.prototype.xor;var R=1<<30;function q(A){var t=A.value,i="number"==typeof t?t|R:"bigint"==typeof t?t|BigInt(R):t[0]+t[1]*I|1073758208;return i&-i}function Y(A,I){if(I.compareTo(A)<=0){var i=Y(A,I.square(I)),g=i.p,e=i.e,n=g.multiply(I);return n.compareTo(A)<=0?{p:n,e:2*e+1}:{p:g,e:2*e}}return{p:t(1),e:0}}function x(A,t){return A=z(A),t=z(t),A.greater(t)?A:t}function P(A,t){return A=z(A),t=z(t),A.lesser(t)?A:t}function X(A,t){if(A=z(A).abs(),t=z(t).abs(),A.equals(t))return A;if(A.isZero())return t;if(t.isZero())return A;for(var I,i,g=C[1];A.isEven()&&t.isEven();)I=P(q(A),q(t)),A=A.divide(I),t=t.divide(I),g=g.multiply(I);for(;A.isEven();)A=A.divide(q(A));do{for(;t.isEven();)t=t.divide(q(t));A.greater(t)&&(i=t,t=A,A=i),t=t.subtract(A)}while(!t.isZero());return g.isUnit()?A:A.multiply(g)}Q.prototype.bitLength=function(){var A=this;return A.compareTo(t(0))<0&&(A=A.negate().subtract(t(1))),0===A.compareTo(t(0))?t(0):t(Y(A,t(2)).e).add(t(1))},r.prototype.bitLength=B.prototype.bitLength=Q.prototype.bitLength;var O=function(A,t,I,i){I=I||e,A=String(A),i||(A=A.toLowerCase(),I=I.toLowerCase());var g,n=A.length,C=Math.abs(t),Q={};for(g=0;g<I.length;g++)Q[I[g]]=g;for(g=0;g<n;g++){if("-"!==(o=A[g])&&(o in Q&&Q[o]>=C)){if("1"===o&&1===C)continue;throw new Error(o+" is not a valid digit in base "+t+".")}}t=z(t);var B=[],r="-"===A[0];for(g=r?1:0;g<A.length;g++){var o;if((o=A[g])in Q)B.push(z(Q[o]));else{if("<"!==o)throw new Error(o+" is not a valid character");var E=g;do{g++}while(">"!==A[g]&&g<A.length);B.push(z(A.slice(E+1,g)))}}return Z(B,t,r)};function Z(A,t,I){var i,g=C[0],e=C[1];for(i=A.length-1;i>=0;i--)g=g.add(A[i].times(e)),e=e.times(t);return I?g.negate():g}function V(A,I){if((I=t(I)).isZero()){if(A.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(I.equals(-1)){if(A.isZero())return{value:[0],isNegative:!1};if(A.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-A.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var i=Array.apply(null,Array(A.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return i.unshift([1]),{value:[].concat.apply([],i),isNegative:!1}}var g=!1;if(A.isNegative()&&I.isPositive()&&(g=!0,A=A.abs()),I.isUnit())return A.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(A.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:g};for(var e,n=[],C=A;C.isNegative()||C.compareAbs(I)>=0;){e=C.divmod(I),C=e.quotient;var Q=e.remainder;Q.isNegative()&&(Q=I.minus(Q).abs(),C=C.next()),n.push(Q.toJSNumber())}return n.push(C.toJSNumber()),{value:n.reverse(),isNegative:g}}function K(A,t,I){var i=V(A,t);return(i.isNegative?"-":"")+i.value.map((function(A){return function(A,t){return A<(t=t||e).length?t[A]:"<"+A+">"}(A,I)})).join("")}function j(A){if(o(+A)){var t=+A;if(t===f(t))return n?new r(BigInt(t)):new B(t);throw new Error("Invalid integer: "+A)}var I="-"===A[0];I&&(A=A.slice(1));var i=A.split(/e/i);if(i.length>2)throw new Error("Invalid integer: "+i.join("e"));if(2===i.length){var g=i[1];if("+"===g[0]&&(g=g.slice(1)),(g=+g)!==f(g)||!o(g))throw new Error("Invalid integer: "+g+" is not a valid exponent.");var e=i[0],C=e.indexOf(".");if(C>=0&&(g-=e.length-C-1,e=e.slice(0,C)+e.slice(C+1)),g<0)throw new Error("Cannot include negative exponent part for integers");A=e+=new Array(g+1).join("0")}if(!/^([0-9][0-9]*)$/.test(A))throw new Error("Invalid integer: "+A);if(n)return new r(BigInt(I?"-"+A:A));for(var E=[],a=A.length,h=a-7;a>0;)E.push(+A.slice(h,a)),(h-=7)<0&&(h=0),a-=7;return s(E),new Q(E,I)}function z(A){return"number"==typeof A?function(A){if(n)return new r(BigInt(A));if(o(A)){if(A!==f(A))throw new Error(A+" is not an integer.");return new B(A)}return j(A.toString())}(A):"string"==typeof A?j(A):"bigint"==typeof A?new r(A):A}Q.prototype.toArray=function(A){return V(this,A)},B.prototype.toArray=function(A){return V(this,A)},r.prototype.toArray=function(A){return V(this,A)},Q.prototype.toString=function(t,I){if(t===A&&(t=10),10!==t)return K(this,t,I);for(var i,g=this.value,e=g.length,n=String(g[--e]);--e>=0;)i=String(g[e]),n+="0000000".slice(i.length)+i;return(this.sign?"-":"")+n},B.prototype.toString=function(t,I){return t===A&&(t=10),10!=t?K(this,t,I):String(this.value)},r.prototype.toString=B.prototype.toString,r.prototype.toJSON=Q.prototype.toJSON=B.prototype.toJSON=function(){return this.toString()},Q.prototype.valueOf=function(){return parseInt(this.toString(),10)},Q.prototype.toJSNumber=Q.prototype.valueOf,B.prototype.valueOf=function(){return this.value},B.prototype.toJSNumber=B.prototype.valueOf,r.prototype.valueOf=r.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};for(var W=0;W<1e3;W++)C[W]=z(W),W>0&&(C[-W]=z(-W));return C.one=C[1],C.zero=C[0],C.minusOne=C[-1],C.max=x,C.min=P,C.gcd=X,C.lcm=function(A,t){return A=z(A).abs(),t=z(t).abs(),A.divide(X(A,t)).multiply(t)},C.isInstance=function(A){return A instanceof Q||A instanceof B||A instanceof r},C.randBetween=function(A,t,i){A=z(A),t=z(t);var g=i||Math.random,e=P(A,t),n=x(A,t).subtract(e).add(1);if(n.isSmall)return e.add(Math.floor(g()*n));for(var Q=V(n,I).value,B=[],r=!0,o=0;o<Q.length;o++){var E=r?Q[o]:I,a=f(g()*E);B.push(a),a<E&&(r=!1)}return e.add(C.fromArray(B,I,!1))},C.fromArray=function(A,t,I){return Z(A.map(z),z(t||10),I)},C}();A.hasOwnProperty("exports")&&(A.exports=t)}));function E(A,t){return"string"==typeof A&&"0x"==A.slice(0,2)?o(A.slice(2),16):o(A,t)}const a=E;function s(A,t){return o(A).shiftLeft(t)}function h(A,t){return o(A).shiftRight(t)}const f=s,w=h;var c=Object.freeze({__proto__:null,fromString:E,e:a,fromArray:function(A,t){return o.fromArray(A,t)},bitLength:function(A){return o(A).bitLength()},isNegative:function(A){return o(A).isNegative()},isZero:function(A){return o(A).isZero()},shiftLeft:s,shiftRight:h,shl:f,shr:w,isOdd:function(A){return o(A).isOdd()},naf:function(A){let t=o(A);const I=[];for(;t.gt(o.zero);){if(t.isOdd()){const A=2-t.mod(4).toJSNumber();I.push(A),t=t.minus(A)}else I.push(0);t=t.shiftRight(1)}return I},bits:function(A){let t=o(A);const I=[];for(;t.gt(o.zero);)t.isOdd()?I.push(1):I.push(0),t=t.shiftRight(1);return I},toNumber:function(A){if(!A.lt(o("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,t){return o(A).toArray(t)},add:function(A,t){return o(A).add(o(t))},sub:function(A,t){return o(A).minus(o(t))},neg:function(A){return o.zero.minus(o(A))},mul:function(A,t){return o(A).times(o(t))},square:function(A){return o(A).square()},pow:function(A,t){return o(A).pow(o(t))},exp:function(A,t){return o(A).pow(o(t))},abs:function(A){return o(A).abs()},div:function(A,t){return o(A).divide(o(t))},mod:function(A,t){return o(A).mod(o(t))},eq:function(A,t){return o(A).eq(o(t))},neq:function(A,t){return o(A).neq(o(t))},lt:function(A,t){return o(A).lt(o(t))},gt:function(A,t){return o(A).gt(o(t))},leq:function(A,t){return o(A).leq(o(t))},geq:function(A,t){return o(A).geq(o(t))},band:function(A,t){return o(A).and(o(t))},bor:function(A,t){return o(A).or(o(t))},bxor:function(A,t){return o(A).xor(o(t))},land:function(A,t){return!o(A).isZero()&&!o(t).isZero()},lor:function(A,t){return!o(A).isZero()||!o(t).isZero()},lnot:function(A){return o(A).isZero()}});const D="function"==typeof BigInt;let u={};D?Object.assign(u,Q):Object.assign(u,c),u.toRprLE=function(A,t,I,i){const g="0000000"+I.toString(16),e=new Uint32Array(A.buffer,t,i/4),n=1+(4*(g.length-7)-1>>5);for(let A=0;A<n;A++)e[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=n;A<e.length;A++)e[A]=0;for(let t=4*e.length;t<i;t++)A[t]=u.toNumber(u.band(u.shiftRight(I,8*t),255))},u.toRprBE=function(A,t,I,i){const g="0000000"+I.toString(16),e=new DataView(A.buffer,A.byteOffset+t,i),n=1+(4*(g.length-7)-1>>5);for(let A=0;A<n;A++)e.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-n;A++)e[A]=0},u.fromRprLE=function(A,t,I){I=I||A.byteLength,t=t||0;const i=new Uint32Array(A.buffer,t,I/4),g=new Array(I/4);return i.forEach(((A,t)=>g[g.length-t-1]=A.toString(16).padStart(8,"0"))),u.fromString(g.join(""),16)},u.fromRprBE=function(A,t,I){I=I||A.byteLength,t=t||0;const i=new DataView(A.buffer,A.byteOffset+t,I),g=new Array(I/4);for(let A=0;A<I/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return u.fromString(g.join(""),16)},u.toString=function(A,t){return A.toString(t)},u.toLEBuff=function(A){const t=new Uint8Array(Math.floor((u.bitLength(A)-1)/8)+1);return u.toRprLE(t,0,A,t.byteLength),t},u.zero=u.e(0),u.one=u.e(1);let{toRprLE:l,toRprBE:y,fromRprLE:p,fromRprBE:F,toString:M,toLEBuff:m,zero:d,one:G,fromString:b,e:H,fromArray:U,bitLength:L,isNegative:N,isZero:k,shiftLeft:J,shiftRight:S,shl:v,shr:R,isOdd:q,naf:Y,bits:x,toNumber:P,toArray:X,add:O,sub:Z,neg:V,mul:K,square:j,pow:z,exp:W,abs:T,div:_,mod:$,eq:AA,neq:tA,lt:IA,gt:iA,leq:gA,geq:eA,band:nA,bor:CA,bxor:QA,land:BA,lor:rA,lnot:oA}=u;var EA=Object.freeze({__proto__:null,toRprLE:l,toRprBE:y,fromRprLE:p,fromRprBE:F,toString:M,toLEBuff:m,zero:d,one:G,fromString:b,e:H,fromArray:U,bitLength:L,isNegative:N,isZero:k,shiftLeft:J,shiftRight:S,shl:v,shr:R,isOdd:q,naf:Y,bits:x,toNumber:P,toArray:X,add:O,sub:Z,neg:V,mul:K,square:j,pow:z,exp:W,abs:T,div:_,mod:$,eq:AA,neq:tA,lt:IA,gt:iA,leq:gA,geq:eA,band:nA,bor:CA,bxor:QA,land:BA,lor:rA,lnot:oA});const aA=[];for(let A=0;A<256;A++)aA[A]=sA(A,8);function sA(A,t){let I=0,i=A;for(let A=0;A<t;A++)I<<=1,I|=1&i,i>>=1;return I}var hA={},fA={},wA={bn128_wasm:{code:"AGFzbQEAAAABlAESYAJ/fwBgAX8AYAF/AX9gAn9/AX9gA39/fwF/YAN/f38AYAN/fn8AYAJ/fgBgBH9/f38AYAV/f39/fwBgBH9/f38Bf2AHf39/f39/fwBgBn9/f39/fwBgCn9/f39/f39/f38AYAV/f39/fwF/YAd/f39/f39/AX9gCX9/f39/f39/fwF/YAt/f39/f39/f39/fwF/Ag8BA2VudgZtZW1vcnkCABkDuQK3AgABAgEDAwQEBQAABgcIBQIFBQAABQAAAAACAgABBQgJBQUIAAICBQUAAAUAAAAAAgIAAQUICQUFCAACBQAAAgICAQEAAAADAwMAAAUFBQAABQUFAAAAAAACAgUABQAAAAAFBQUFBQoACwkKAAsJCAgDAAgIAgAACQwMBQUMAAgNCQgCAgEBAAUFAAUFAAAAAAMACAICCQgAAgICAQEAAAADAwMAAAUFBQAABQUFAAAAAAACAgUABQAAAAAFBQUFBQoACwkKAAsJCAgFAwAICAIAAAkMDAUFDAUDAAgIAgAACQwMBQUMBQUJCQkJCQACAgEBAAUABQUAAgAAAwAIAgkIAAICAQEABQUABQUAAAAAAwAIAgIJCAACBQAAAAAICAUAAAAAAAAAAAAAAAAAAAAABA4PEBEFB+0kqAIIaW50X2NvcHkAAAhpbnRfemVybwABB2ludF9vbmUAAwppbnRfaXNaZXJvAAIGaW50X2VxAAQHaW50X2d0ZQAFB2ludF9hZGQABgdpbnRfc3ViAAcHaW50X211bAAICmludF9zcXVhcmUACQ1pbnRfc3F1YXJlT2xkAAoHaW50X2RpdgANDmludF9pbnZlcnNlTW9kAA4IZjFtX2NvcHkAAAhmMW1femVybwABCmYxbV9pc1plcm8AAgZmMW1fZXEABAdmMW1fYWRkABAHZjFtX3N1YgARB2YxbV9uZWcAEg5mMW1faXNOZWdhdGl2ZQAZCWYxbV9pc09uZQAPCGYxbV9zaWduABoLZjFtX21SZWR1Y3QAEwdmMW1fbXVsABQKZjFtX3NxdWFyZQAVDWYxbV9zcXVhcmVPbGQAFhJmMW1fZnJvbU1vbnRnb21lcnkAGBBmMW1fdG9Nb250Z29tZXJ5ABcLZjFtX2ludmVyc2UAGwdmMW1fb25lABwIZjFtX2xvYWQAHQ9mMW1fdGltZXNTY2FsYXIAHgdmMW1fZXhwACIQZjFtX2JhdGNoSW52ZXJzZQAfCGYxbV9zcXJ0ACMMZjFtX2lzU3F1YXJlACQVZjFtX2JhdGNoVG9Nb250Z29tZXJ5ACAXZjFtX2JhdGNoRnJvbU1vbnRnb21lcnkAIQhmcm1fY29weQAACGZybV96ZXJvAAEKZnJtX2lzWmVybwACBmZybV9lcQAEB2ZybV9hZGQAJgdmcm1fc3ViACcHZnJtX25lZwAoDmZybV9pc05lZ2F0aXZlAC8JZnJtX2lzT25lACUIZnJtX3NpZ24AMAtmcm1fbVJlZHVjdAApB2ZybV9tdWwAKgpmcm1fc3F1YXJlACsNZnJtX3NxdWFyZU9sZAAsEmZybV9mcm9tTW9udGdvbWVyeQAuEGZybV90b01vbnRnb21lcnkALQtmcm1faW52ZXJzZQAxB2ZybV9vbmUAMghmcm1fbG9hZAAzD2ZybV90aW1lc1NjYWxhcgA0B2ZybV9leHAAOBBmcm1fYmF0Y2hJbnZlcnNlADUIZnJtX3NxcnQAOQxmcm1faXNTcXVhcmUAOhVmcm1fYmF0Y2hUb01vbnRnb21lcnkANhdmcm1fYmF0Y2hGcm9tTW9udGdvbWVyeQA3BmZyX2FkZAAmBmZyX3N1YgAnBmZyX25lZwAoBmZyX211bAA7CWZyX3NxdWFyZQA8CmZyX2ludmVyc2UAPQ1mcl9pc05lZ2F0aXZlAD4HZnJfY29weQAAB2ZyX3plcm8AAQZmcl9vbmUAMglmcl9pc1plcm8AAgVmcl9lcQAEDGcxbV9tdWx0aWV4cABpEmcxbV9tdWx0aWV4cF9jaHVuawBoEmcxbV9tdWx0aWV4cEFmZmluZQBtGGcxbV9tdWx0aWV4cEFmZmluZV9jaHVuawBsCmcxbV9pc1plcm8AQBBnMW1faXNaZXJvQWZmaW5lAD8GZzFtX2VxAEgLZzFtX2VxTWl4ZWQARwxnMW1fZXFBZmZpbmUARghnMW1fY29weQBEDmcxbV9jb3B5QWZmaW5lAEMIZzFtX3plcm8AQg5nMW1femVyb0FmZmluZQBBCmcxbV9kb3VibGUAShBnMW1fZG91YmxlQWZmaW5lAEkHZzFtX2FkZABNDGcxbV9hZGRNaXhlZABMDWcxbV9hZGRBZmZpbmUASwdnMW1fbmVnAE8NZzFtX25lZ0FmZmluZQBOB2cxbV9zdWIAUgxnMW1fc3ViTWl4ZWQAUQ1nMW1fc3ViQWZmaW5lAFASZzFtX2Zyb21Nb250Z29tZXJ5AFQYZzFtX2Zyb21Nb250Z29tZXJ5QWZmaW5lAFMQZzFtX3RvTW9udGdvbWVyeQBWFmcxbV90b01vbnRnb21lcnlBZmZpbmUAVQ9nMW1fdGltZXNTY2FsYXIAbhVnMW1fdGltZXNTY2FsYXJBZmZpbmUAbw1nMW1fbm9ybWFsaXplAFsKZzFtX0xFTXRvVQBdCmcxbV9MRU10b0MAXgpnMW1fVXRvTEVNAF8KZzFtX0N0b0xFTQBgD2cxbV9iYXRjaExFTXRvVQBhD2cxbV9iYXRjaExFTXRvQwBiD2cxbV9iYXRjaFV0b0xFTQBjD2cxbV9iYXRjaEN0b0xFTQBkDGcxbV90b0FmZmluZQBXDmcxbV90b0phY29iaWFuAEURZzFtX2JhdGNoVG9BZmZpbmUAWhNnMW1fYmF0Y2hUb0phY29iaWFuAGULZzFtX2luQ3VydmUAWRFnMW1faW5DdXJ2ZUFmZmluZQBYB2ZybV9mZnQAdQhmcm1faWZmdAB2CmZybV9yYXdmZnQAcwtmcm1fZmZ0Sm9pbgB3DmZybV9mZnRKb2luRXh0AHgRZnJtX2ZmdEpvaW5FeHRJbnYAeQpmcm1fZmZ0TWl4AHoMZnJtX2ZmdEZpbmFsAHsdZnJtX3ByZXBhcmVMYWdyYW5nZUV2YWx1YXRpb24AfAhwb2xfemVybwB9D3BvbF9jb25zdHJ1Y3RMQwB+DHFhcF9idWlsZEFCQwB/C3FhcF9qb2luQUJDAIABDHFhcF9iYXRjaEFkZACBAQpmMm1faXNaZXJvAIIBCWYybV9pc09uZQCDAQhmMm1femVybwCEAQdmMm1fb25lAIUBCGYybV9jb3B5AIYBB2YybV9tdWwAhwEIZjJtX211bDEAiAEKZjJtX3NxdWFyZQCJAQdmMm1fYWRkAIoBB2YybV9zdWIAiwEHZjJtX25lZwCMAQhmMm1fc2lnbgCTAQ1mMm1fY29uanVnYXRlAI0BEmYybV9mcm9tTW9udGdvbWVyeQCPARBmMm1fdG9Nb250Z29tZXJ5AI4BBmYybV9lcQCQAQtmMm1faW52ZXJzZQCRAQdmMm1fZXhwAJYBD2YybV90aW1lc1NjYWxhcgCSARBmMm1fYmF0Y2hJbnZlcnNlAJUBCGYybV9zcXJ0AJcBDGYybV9pc1NxdWFyZQCYAQ5mMm1faXNOZWdhdGl2ZQCUAQxnMm1fbXVsdGlleHAAwwESZzJtX211bHRpZXhwX2NodW5rAMIBEmcybV9tdWx0aWV4cEFmZmluZQDHARhnMm1fbXVsdGlleHBBZmZpbmVfY2h1bmsAxgEKZzJtX2lzWmVybwCaARBnMm1faXNaZXJvQWZmaW5lAJkBBmcybV9lcQCiAQtnMm1fZXFNaXhlZAChAQxnMm1fZXFBZmZpbmUAoAEIZzJtX2NvcHkAngEOZzJtX2NvcHlBZmZpbmUAnQEIZzJtX3plcm8AnAEOZzJtX3plcm9BZmZpbmUAmwEKZzJtX2RvdWJsZQCkARBnMm1fZG91YmxlQWZmaW5lAKMBB2cybV9hZGQApwEMZzJtX2FkZE1peGVkAKYBDWcybV9hZGRBZmZpbmUApQEHZzJtX25lZwCpAQ1nMm1fbmVnQWZmaW5lAKgBB2cybV9zdWIArAEMZzJtX3N1Yk1peGVkAKsBDWcybV9zdWJBZmZpbmUAqgESZzJtX2Zyb21Nb250Z29tZXJ5AK4BGGcybV9mcm9tTW9udGdvbWVyeUFmZmluZQCtARBnMm1fdG9Nb250Z29tZXJ5ALABFmcybV90b01vbnRnb21lcnlBZmZpbmUArwEPZzJtX3RpbWVzU2NhbGFyAMgBFWcybV90aW1lc1NjYWxhckFmZmluZQDJAQ1nMm1fbm9ybWFsaXplALUBCmcybV9MRU10b1UAtwEKZzJtX0xFTXRvQwC4AQpnMm1fVXRvTEVNALkBCmcybV9DdG9MRU0AugEPZzJtX2JhdGNoTEVNdG9VALsBD2cybV9iYXRjaExFTXRvQwC8AQ9nMm1fYmF0Y2hVdG9MRU0AvQEPZzJtX2JhdGNoQ3RvTEVNAL4BDGcybV90b0FmZmluZQCxAQ5nMm1fdG9KYWNvYmlhbgCfARFnMm1fYmF0Y2hUb0FmZmluZQC0ARNnMm1fYmF0Y2hUb0phY29iaWFuAL8BC2cybV9pbkN1cnZlALMBEWcybV9pbkN1cnZlQWZmaW5lALIBC2cxbV90aW1lc0ZyAMoBB2cxbV9mZnQA0AEIZzFtX2lmZnQA0QEKZzFtX3Jhd2ZmdADOAQtnMW1fZmZ0Sm9pbgDSAQ5nMW1fZmZ0Sm9pbkV4dADTARFnMW1fZmZ0Sm9pbkV4dEludgDUAQpnMW1fZmZ0TWl4ANUBDGcxbV9mZnRGaW5hbADWAR1nMW1fcHJlcGFyZUxhZ3JhbmdlRXZhbHVhdGlvbgDXAQtnMm1fdGltZXNGcgDYAQdnMm1fZmZ0AN4BCGcybV9pZmZ0AN8BCmcybV9yYXdmZnQA3AELZzJtX2ZmdEpvaW4A4AEOZzJtX2ZmdEpvaW5FeHQA4QERZzJtX2ZmdEpvaW5FeHRJbnYA4gEKZzJtX2ZmdE1peADjAQxnMm1fZmZ0RmluYWwA5AEdZzJtX3ByZXBhcmVMYWdyYW5nZUV2YWx1YXRpb24A5QERZzFtX3RpbWVzRnJBZmZpbmUA5gERZzJtX3RpbWVzRnJBZmZpbmUA5wERZnJtX2JhdGNoQXBwbHlLZXkA6AERZzFtX2JhdGNoQXBwbHlLZXkA6QEWZzFtX2JhdGNoQXBwbHlLZXlNaXhlZADqARFnMm1fYmF0Y2hBcHBseUtleQDrARZnMm1fYmF0Y2hBcHBseUtleU1peGVkAOwBCmY2bV9pc1plcm8A7gEJZjZtX2lzT25lAO8BCGY2bV96ZXJvAPABB2Y2bV9vbmUA8QEIZjZtX2NvcHkA8gEHZjZtX211bADzAQpmNm1fc3F1YXJlAPQBB2Y2bV9hZGQA9QEHZjZtX3N1YgD2AQdmNm1fbmVnAPcBCGY2bV9zaWduAPgBEmY2bV9mcm9tTW9udGdvbWVyeQD6ARBmNm1fdG9Nb250Z29tZXJ5APkBBmY2bV9lcQD7AQtmNm1faW52ZXJzZQD8AQdmNm1fZXhwAIACD2Y2bV90aW1lc1NjYWxhcgD9ARBmNm1fYmF0Y2hJbnZlcnNlAP8BDmY2bV9pc05lZ2F0aXZlAP4BCmZ0bV9pc1plcm8AggIJZnRtX2lzT25lAIMCCGZ0bV96ZXJvAIQCB2Z0bV9vbmUAhQIIZnRtX2NvcHkAhgIHZnRtX211bACHAghmdG1fbXVsMQCIAgpmdG1fc3F1YXJlAIkCB2Z0bV9hZGQAigIHZnRtX3N1YgCLAgdmdG1fbmVnAIwCCGZ0bV9zaWduAJMCDWZ0bV9jb25qdWdhdGUAjQISZnRtX2Zyb21Nb250Z29tZXJ5AI8CEGZ0bV90b01vbnRnb21lcnkAjgIGZnRtX2VxAJACC2Z0bV9pbnZlcnNlAJECB2Z0bV9leHAAlgIPZnRtX3RpbWVzU2NhbGFyAJICEGZ0bV9iYXRjaEludmVyc2UAlQIIZnRtX3NxcnQAlwIMZnRtX2lzU3F1YXJlAJgCDmZ0bV9pc05lZ2F0aXZlAJQCFGJuMTI4X19mcm9iZW5pdXNNYXAwAKECFGJuMTI4X19mcm9iZW5pdXNNYXAxAKICFGJuMTI4X19mcm9iZW5pdXNNYXAyAKMCFGJuMTI4X19mcm9iZW5pdXNNYXAzAKQCFGJuMTI4X19mcm9iZW5pdXNNYXA0AKUCFGJuMTI4X19mcm9iZW5pdXNNYXA1AKYCFGJuMTI4X19mcm9iZW5pdXNNYXA2AKcCFGJuMTI4X19mcm9iZW5pdXNNYXA3AKgCFGJuMTI4X19mcm9iZW5pdXNNYXA4AKkCFGJuMTI4X19mcm9iZW5pdXNNYXA5AKoCEGJuMTI4X3BhaXJpbmdFcTEAsQIQYm4xMjhfcGFpcmluZ0VxMgCyAhBibjEyOF9wYWlyaW5nRXEzALMCEGJuMTI4X3BhaXJpbmdFcTQAtAIQYm4xMjhfcGFpcmluZ0VxNQC1Ag1ibjEyOF9wYWlyaW5nALYCD2JuMTI4X3ByZXBhcmVHMQCbAg9ibjEyOF9wcmVwYXJlRzIAnQIQYm4xMjhfbWlsbGVyTG9vcACgAhlibjEyOF9maW5hbEV4cG9uZW50aWF0aW9uALACHGJuMTI4X2ZpbmFsRXhwb25lbnRpYXRpb25PbGQAqwIPYm4xMjhfX211bEJ5MDI0AJ4CEmJuMTI4X19tdWxCeTAyNE9sZACfAhdibjEyOF9fY3ljbG90b21pY1NxdWFyZQCtAhdibjEyOF9fY3ljbG90b21pY0V4cF93MACuAgrA2wO3AioAIAEgACkDADcDACABIAApAwg3AwggASAAKQMQNwMQIAEgACkDGDcDGAseACAAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxgLMwAgACkDGFAEQCAAKQMQUARAIAApAwhQBEAgACkDAFAPBUEADwsFQQAPCwVBAA8LQQAPCx4AIABCATcDACAAQgA3AwggAEIANwMQIABCADcDGAtHACAAKQMYIAEpAxhRBEAgACkDECABKQMQUQRAIAApAwggASkDCFEEQCAAKQMAIAEpAwBRDwVBAA8LBUEADwsFQQAPC0EADwt9ACAAKQMYIAEpAxhUBEBBAA8FIAApAxggASkDGFYEQEEBDwUgACkDECABKQMQVARAQQAPBSAAKQMQIAEpAxBWBEBBAQ8FIAApAwggASkDCFQEQEEADwUgACkDCCABKQMIVgRAQQEPBSAAKQMAIAEpAwBaDwsLCwsLC0EADwvUAQEBfiAANQIAIAE1AgB8IQMgAiADPgIAIAA1AgQgATUCBHwgA0IgiHwhAyACIAM+AgQgADUCCCABNQIIfCADQiCIfCEDIAIgAz4CCCAANQIMIAE1Agx8IANCIIh8IQMgAiADPgIMIAA1AhAgATUCEHwgA0IgiHwhAyACIAM+AhAgADUCFCABNQIUfCADQiCIfCEDIAIgAz4CFCAANQIYIAE1Ahh8IANCIIh8IQMgAiADPgIYIAA1AhwgATUCHHwgA0IgiHwhAyACIAM+AhwgA0IgiKcLjAIBAX4gADUCACABNQIAfSEDIAIgA0L/////D4M+AgAgADUCBCABNQIEfSADQiCHfCEDIAIgA0L/////D4M+AgQgADUCCCABNQIIfSADQiCHfCEDIAIgA0L/////D4M+AgggADUCDCABNQIMfSADQiCHfCEDIAIgA0L/////D4M+AgwgADUCECABNQIQfSADQiCHfCEDIAIgA0L/////D4M+AhAgADUCFCABNQIUfSADQiCHfCEDIAIgA0L/////D4M+AhQgADUCGCABNQIYfSADQiCHfCEDIAIgA0L/////D4M+AhggADUCHCABNQIcfSADQiCHfCEDIAIgA0L/////D4M+AhwgA0Igh6cLjxASAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+IANC/////w+DIAA1AgAiBSABNQIAIgZ+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIAUgATUCBCIIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCBCIHIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgQgA0IgiCEEIANC/////w+DIAUgATUCCCIKfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIJIAZ+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIAUgATUCDCIMfnwhBCADIARCIIh8IQMgBEL/////D4MgByAKfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCILIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIAUgATUCECIOfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCECINIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhAgBEIgiCEDIARC/////w+DIAUgATUCFCIQfnwhBCADIARCIIh8IQMgBEL/////D4MgByAOfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIPIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DIAUgATUCGCISfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIRIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIARC/////w+DIAUgATUCHCIUfnwhBCADIARCIIh8IQMgBEL/////D4MgByASfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgESAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCHCITIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhwgA0IgiCEEIANC/////w+DIAcgFH58IQMgBCADQiCIfCEEIANC/////w+DIAkgEn58IQMgBCADQiCIfCEEIANC/////w+DIAsgEH58IQMgBCADQiCIfCEEIANC/////w+DIA0gDn58IQMgBCADQiCIfCEEIANC/////w+DIA8gDH58IQMgBCADQiCIfCEEIANC/////w+DIBEgCn58IQMgBCADQiCIfCEEIANC/////w+DIBMgCH58IQMgBCADQiCIfCEEIAIgAz4CICAEQiCIIQMgBEL/////D4MgCSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgCyASfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgESAMfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAKfnwhBCADIARCIIh8IQMgAiAEPgIkIANCIIghBCADQv////8PgyALIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBJ+fCEDIAQgA0IgiHwhBCADQv////8PgyAPIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyARIA5+fCEDIAQgA0IgiHwhBCADQv////8PgyATIAx+fCEDIAQgA0IgiHwhBCACIAM+AiggBEIgiCEDIARC/////w+DIA0gFH58IQQgAyAEQiCIfCEDIARC/////w+DIA8gEn58IQQgAyAEQiCIfCEDIARC/////w+DIBEgEH58IQQgAyAEQiCIfCEDIARC/////w+DIBMgDn58IQQgAyAEQiCIfCEDIAIgBD4CLCADQiCIIQQgA0L/////D4MgDyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgESASfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAQfnwhAyAEIANCIIh8IQQgAiADPgIwIARCIIghAyAEQv////8PgyARIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyATIBJ+fCEEIAMgBEIgiHwhAyACIAQ+AjQgA0IgiCEEIANC/////w+DIBMgFH58IQMgBCADQiCIfCEEIAIgAz4COCAEQiCIIQMgAiAEPgI8C4wSDAF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAA1AgAiBiAGfnwhAiADIAJCIIh8IQMgASACPgIAIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AgQiB358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AgQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCCCIIfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgByAHfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIMIgl+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAh+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIMIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhAiCn58IQIgAyACQiCIfCEDIAJC/////w+DIAcgCX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAggCH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCFCILfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCAJfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIYIgx+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAIIAp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAJIAl+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIYIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhwiDX58IQIgAyACQiCIfCEDIAJC/////w+DIAcgDH58IQIgAyACQiCIfCEDIAJC/////w+DIAggC358IQIgAyACQiCIfCEDIAJC/////w+DIAkgCn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAggDH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAggDX58IQIgAyACQiCIfCEDIAJC/////w+DIAkgDH58IQIgAyACQiCIfCEDIAJC/////w+DIAogC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAkgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAogDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAsgC358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAsgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAwgDH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAwgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA0gDX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjggAyEEIARCIIghBSABIAQ+AjwLCgAgACAAIAEQCAu2AQEBfiAANQAAIAF+IQMgAiADPgAAIAA1AAQgAX4gA0IgiHwhAyACIAM+AAQgADUACCABfiADQiCIfCEDIAIgAz4ACCAANQAMIAF+IANCIIh8IQMgAiADPgAMIAA1ABAgAX4gA0IgiHwhAyACIAM+ABAgADUAFCABfiADQiCIfCEDIAIgAz4AFCAANQAYIAF+IANCIIh8IQMgAiADPgAYIAA1ABwgAX4gA0IgiHwhAyACIAM+ABwLTgIBfgF/IAAhAyADNQAAIAF8IQIgAyACPgAAIAJCIIghAgJAA0AgAlANASADQQRqIQMgAzUAACACfCECIAMgAj4AACACQiCIIQIMAAsLC7ACBwF/AX8BfwF/AX4BfgF/IAIEQCACIQUFQegAIQULIAMEQCADIQQFQYgBIQQLIAAgBBAAIAFByAAQACAFEAFBqAEQAUEfIQZBHyEHAkADQEHIACAH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AhAgBH58IQMgACADPgIsIAA1AjAgA0IgiHxBiAQ1AhQgBH58IQMgACADPgIwIAA1AjQgA0IgiHxBiAQ1AhggBH58IQMgACADPgI0IAA1AjggA0IgiHxBiAQ1AhwgBH58IQMgACADPgI4QegGIANCIIg+AhxB6AYgAEEgaiABEBALvh8jAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkKJx5mkDiEFIANC/////w+DIAA1AgAiBiABNQIAIgd+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhCCADQv////8Pg0EANQKIBCIJIAh+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIEIgt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIEIgogB358IQQgAyAEQiCIfCEDIARC/////w+DQQA1AowEIg0gCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEMIARC/////w+DIAkgDH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AggiD358IQMgBCADQiCIfCEEIANC/////w+DIAogC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AggiDiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCkAQiESAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRAgA0L/////D4MgCSAQfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCDCITfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgDiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCISIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQKUBCIVIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhFCAEQv////8PgyAJIBR+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIQIhd+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIQIhYgB358IQMgBCADQiCIfCEEIANC/////w+DIA0gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1ApgEIhkgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEYIANC/////w+DIAkgGH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhQiG358IQQgAyAEQiCIfCEDIARC/////w+DIAogF358IQQgAyAEQiCIfCEDIARC/////w+DIA4gE358IQQgAyAEQiCIfCEDIARC/////w+DIBIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBYgC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhQiGiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCnAQiHSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIRwgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCGCIffnwhAyAEIANCIIh8IQQgA0L/////D4MgCiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgEiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgGiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIeIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQKgBCIhIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhICADQv////8PgyAJICB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIcIiN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIcIiIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgFH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gEH58IQQgAyAEQiCIfCEDIARC/////w+DICEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1AqQEIiUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEkIARC/////w+DIAkgJH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAKICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyANICR+fCEDIAQgA0IgiHwhBCADQv////8PgyARICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAhIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAlIAx+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIA4gI358IQQgAyAEQiCIfCEDIARC/////w+DIBIgH358IQQgAyAEQiCIfCEDIARC/////w+DIBYgG358IQQgAyAEQiCIfCEDIARC/////w+DIBogF358IQQgAyAEQiCIfCEDIARC/////w+DIB4gE358IQQgAyAEQiCIfCEDIARC/////w+DICIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBEgJH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgIH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgHH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gGH58IQQgAyAEQiCIfCEDIARC/////w+DICEgFH58IQQgAyAEQiCIfCEDIARC/////w+DICUgEH58IQQgAyAEQiCIfCEDIAIgBD4CBCADQiCIIQQgA0L/////D4MgEiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgGiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgIiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAUfnwhAyAEIANCIIh8IQQgAiADPgIIIARCIIghAyAEQv////8PgyAWICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIBh+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIBogI358IQMgBCADQiCIfCEEIANC/////w+DIB4gH358IQMgBCADQiCIfCEEIANC/////w+DICIgG358IQMgBCADQiCIfCEEIANC/////w+DIB0gJH58IQMgBCADQiCIfCEEIANC/////w+DICEgIH58IQMgBCADQiCIfCEEIANC/////w+DICUgHH58IQMgBCADQiCIfCEEIAIgAz4CECAEQiCIIQMgBEL/////D4MgHiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAffnwhBCADIARCIIh8IQMgBEL/////D4MgISAkfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAgfnwhBCADIARCIIh8IQMgAiAEPgIUIANCIIghBCADQv////8PgyAiICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAlICR+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIAIgBD4CHCADpwRAIAJBiAQgAhAHGgUgAkGIBBAFBEAgAkGIBCACEAcaCwsLuyEdAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkKJx5mkDiEGQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgADUCACIHIAd+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhCCACQv////8Pg0EANQKIBCIJIAh+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIEIgp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4NBADUCjAQiDCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQsgAkL/////D4MgCSALfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCCCINfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCiAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1ApAEIg8gCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEOIAJC/////w+DIAkgDn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AgwiEH58IQIgAyACQiCIfCEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAPIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKUBCISIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhESACQv////8PgyAJIBF+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIQIhN+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBB+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyANIA1+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCARfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCmAQiFSAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRQgAkL/////D4MgCSAUfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCFCIWfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiATfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAQfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgFH58IQIgAyACQiCIfCEDIAJC/////w+DIA8gEX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgDn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1ApwEIhggCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEXIAJC/////w+DIAkgF358IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhgiGX58IQIgAyACQiCIfCEDIAJC/////w+DIAogFn58IQIgAyACQiCIfCEDIAJC/////w+DIA0gE358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBAgEH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBR+fCECIAMgAkIgiHwhAyACQv////8PgyASIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAVIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAYIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKgBCIbIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhGiACQv////8PgyAJIBp+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIcIhx+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBl+fCECIAMgAkIgiHwhAyACQv////8PgyANIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBN+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAafnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSARfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCpAQiHiAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIR0gAkL/////D4MgCSAdfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogHH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gGX58IQIgAyACQiCIfCEDIAJC/////w+DIBAgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBMgE358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBp+fCECIAMgAkIgiHwhAyACQv////8PgyASIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAbIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAeIAt+fCECIAMgAkIgiHwhAyABIAI+AgAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA0gHH58IQIgAyACQiCIfCEDIAJC/////w+DIBAgGX58IQIgAyACQiCIfCEDIAJC/////w+DIBMgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAPIB1+fCECIAMgAkIgiHwhAyACQv////8PgyASIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAeIA5+fCECIAMgAkIgiHwhAyABIAI+AgQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBAgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBMgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBYgFn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyASIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBF+fCECIAMgAkIgiHwhAyABIAI+AgggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBMgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBYgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAVIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBR+fCECIAMgAkIgiHwhAyABIAI+AgwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBYgHH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBkgGX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAYIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBd+fCECIAMgAkIgiHwhAyABIAI+AhAgAyEEIARCIIghBUIAIQJCACED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AgAgBH58IQMgACADPgIAIAA1AgQgA0IgiHxByA41AgQgBH58IQMgACADPgIEIAA1AgggA0IgiHxByA41AgggBH58IQMgACADPgIIIAA1AgwgA0IgiHxByA41AgwgBH58IQMgACADPgIMIAA1AhAgA0IgiHxByA41AhAgBH58IQMgACADPgIQIAA1AhQgA0IgiHxByA41AhQgBH58IQMgACADPgIUIAA1AhggA0IgiHxByA41AhggBH58IQMgACADPgIYIAA1AhwgA0IgiHxByA41AhwgBH58IQMgACADPgIcQagRIANCIIg+AgBCACEDIAA1AgQgAn5C/////w+DIQQgADUCBCADQiCIfEHIDjUCACAEfnwhAyAAIAM+AgQgADUCCCADQiCIfEHIDjUCBCAEfnwhAyAAIAM+AgggADUCDCADQiCIfEHIDjUCCCAEfnwhAyAAIAM+AgwgADUCECADQiCIfEHIDjUCDCAEfnwhAyAAIAM+AhAgADUCFCADQiCIfEHIDjUCECAEfnwhAyAAIAM+AhQgADUCGCADQiCIfEHIDjUCFCAEfnwhAyAAIAM+AhggADUCHCADQiCIfEHIDjUCGCAEfnwhAyAAIAM+AhwgADUCICADQiCIfEHIDjUCHCAEfnwhAyAAIAM+AiBBqBEgA0IgiD4CBEIAIQMgADUCCCACfkL/////D4MhBCAANQIIIANCIIh8QcgONQIAIAR+fCEDIAAgAz4CCCAANQIMIANCIIh8QcgONQIEIAR+fCEDIAAgAz4CDCAANQIQIANCIIh8QcgONQIIIAR+fCEDIAAgAz4CECAANQIUIANCIIh8QcgONQIMIAR+fCEDIAAgAz4CFCAANQIYIANCIIh8QcgONQIQIAR+fCEDIAAgAz4CGCAANQIcIANCIIh8QcgONQIUIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QcgONQIYIAR+fCEDIAAgAz4CICAANQIkIANCIIh8QcgONQIcIAR+fCEDIAAgAz4CJEGoESADQiCIPgIIQgAhAyAANQIMIAJ+Qv////8PgyEEIAA1AgwgA0IgiHxByA41AgAgBH58IQMgACADPgIMIAA1AhAgA0IgiHxByA41AgQgBH58IQMgACADPgIQIAA1AhQgA0IgiHxByA41AgggBH58IQMgACADPgIUIAA1AhggA0IgiHxByA41AgwgBH58IQMgACADPgIYIAA1AhwgA0IgiHxByA41AhAgBH58IQMgACADPgIcIAA1AiAgA0IgiHxByA41AhQgBH58IQMgACADPgIgIAA1AiQgA0IgiHxByA41AhggBH58IQMgACADPgIkIAA1AiggA0IgiHxByA41AhwgBH58IQMgACADPgIoQagRIANCIIg+AgxCACEDIAA1AhAgAn5C/////w+DIQQgADUCECADQiCIfEHIDjUCACAEfnwhAyAAIAM+AhAgADUCFCADQiCIfEHIDjUCBCAEfnwhAyAAIAM+AhQgADUCGCADQiCIfEHIDjUCCCAEfnwhAyAAIAM+AhggADUCHCADQiCIfEHIDjUCDCAEfnwhAyAAIAM+AhwgADUCICADQiCIfEHIDjUCECAEfnwhAyAAIAM+AiAgADUCJCADQiCIfEHIDjUCFCAEfnwhAyAAIAM+AiQgADUCKCADQiCIfEHIDjUCGCAEfnwhAyAAIAM+AiggADUCLCADQiCIfEHIDjUCHCAEfnwhAyAAIAM+AixBqBEgA0IgiD4CEEIAIQMgADUCFCACfkL/////D4MhBCAANQIUIANCIIh8QcgONQIAIAR+fCEDIAAgAz4CFCAANQIYIANCIIh8QcgONQIEIAR+fCEDIAAgAz4CGCAANQIcIANCIIh8QcgONQIIIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QcgONQIMIAR+fCEDIAAgAz4CICAANQIkIANCIIh8QcgONQIQIAR+fCEDIAAgAz4CJCAANQIoIANCIIh8QcgONQIUIAR+fCEDIAAgAz4CKCAANQIsIANCIIh8QcgONQIYIAR+fCEDIAAgAz4CLCAANQIwIANCIIh8QcgONQIcIAR+fCEDIAAgAz4CMEGoESADQiCIPgIUQgAhAyAANQIYIAJ+Qv////8PgyEEIAA1AhggA0IgiHxByA41AgAgBH58IQMgACADPgIYIAA1AhwgA0IgiHxByA41AgQgBH58IQMgACADPgIcIAA1AiAgA0IgiHxByA41AgggBH58IQMgACADPgIgIAA1AiQgA0IgiHxByA41AgwgBH58IQMgACADPgIkIAA1AiggA0IgiHxByA41AhAgBH58IQMgACADPgIoIAA1AiwgA0IgiHxByA41AhQgBH58IQMgACADPgIsIAA1AjAgA0IgiHxByA41AhggBH58IQMgACADPgIwIAA1AjQgA0IgiHxByA41AhwgBH58IQMgACADPgI0QagRIANCIIg+AhhCACEDIAA1AhwgAn5C/////w+DIQQgADUCHCADQiCIfEHIDjUCACAEfnwhAyAAIAM+AhwgADUCICADQiCIfEHIDjUCBCAEfnwhAyAAIAM+AiAgADUCJCADQiCIfEHIDjUCCCAEfnwhAyAAIAM+AiQgADUCKCADQiCIfEHIDjUCDCAEfnwhAyAAIAM+AiggADUCLCADQiCIfEHIDjUCECAEfnwhAyAAIAM+AiwgADUCMCADQiCIfEHIDjUCFCAEfnwhAyAAIAM+AjAgADUCNCADQiCIfEHIDjUCGCAEfnwhAyAAIAM+AjQgADUCOCADQiCIfEHIDjUCHCAEfnwhAyAAIAM+AjhBqBEgA0IgiD4CHEGoESAAQSBqIAEQJgu+HyMBfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+Qv////8OIQUgA0L/////D4MgADUCACIGIAE1AgAiB358IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEIIANC/////w+DQQA1AsgOIgkgCH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AgQiC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AgQiCiAHfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCzA4iDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIQwgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCCCIPfnwhAyAEIANCIIh8IQQgA0L/////D4MgCiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIOIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQLQDiIRIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhECADQv////8PgyAJIBB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIMIhN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIMIhIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gEH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1AtQOIhUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEUIARC/////w+DIAkgFH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AhAiF358IQMgBCADQiCIfCEEIANC/////w+DIAogE358IQMgBCADQiCIfCEEIANC/////w+DIA4gD358IQMgBCADQiCIfCEEIANC/////w+DIBIgC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AhAiFiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUC2A4iGSAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRggA0L/////D4MgCSAYfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCFCIbfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgDiATfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgFiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIaIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQLcDiIdIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhHCAEQv////8PgyAJIBx+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIYIh9+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyASIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIYIh4gB358IQMgBCADQiCIfCEEIANC/////w+DIA0gHH58IQMgBCADQiCIfCEEIANC/////w+DIBEgGH58IQMgBCADQiCIfCEEIANC/////w+DIBUgFH58IQMgBCADQiCIfCEEIANC/////w+DIBkgEH58IQMgBCADQiCIfCEEIANC/////w+DIB0gDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AuAOIiEgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEgIANC/////w+DIAkgIH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhwiI358IQQgAyAEQiCIfCEDIARC/////w+DIAogH358IQQgAyAEQiCIfCEDIARC/////w+DIA4gG358IQQgAyAEQiCIfCEDIARC/////w+DIBIgF358IQQgAyAEQiCIfCEDIARC/////w+DIBYgE358IQQgAyAEQiCIfCEDIARC/////w+DIBogD358IQQgAyAEQiCIfCEDIARC/////w+DIB4gC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhwiIiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgESAcfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgISAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUC5A4iJSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DISQgBEL/////D4MgCSAkfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAogI358IQMgBCADQiCIfCEEIANC/////w+DIA4gH358IQMgBCADQiCIfCEEIANC/////w+DIBIgG358IQMgBCADQiCIfCEEIANC/////w+DIBYgF358IQMgBCADQiCIfCEEIANC/////w+DIBogE358IQMgBCADQiCIfCEEIANC/////w+DIB4gD358IQMgBCADQiCIfCEEIANC/////w+DICIgC358IQMgBCADQiCIfCEEIANC/////w+DIA0gJH58IQMgBCADQiCIfCEEIANC/////w+DIBEgIH58IQMgBCADQiCIfCEEIANC/////w+DIBUgHH58IQMgBCADQiCIfCEEIANC/////w+DIBkgGH58IQMgBCADQiCIfCEEIANC/////w+DIB0gFH58IQMgBCADQiCIfCEEIANC/////w+DICEgEH58IQMgBCADQiCIfCEEIANC/////w+DICUgDH58IQMgBCADQiCIfCEEIAIgAz4CACAEQiCIIQMgBEL/////D4MgDiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAffnwhBCADIARCIIh8IQMgBEL/////D4MgFiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgHiATfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgESAkfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgISAUfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAQfnwhBCADIARCIIh8IQMgAiAEPgIEIANCIIghBCADQv////8PgyASICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAVICR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAhIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAlIBR+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIBYgI358IQQgAyAEQiCIfCEDIARC/////w+DIBogH358IQQgAyAEQiCIfCEDIARC/////w+DIB4gG358IQQgAyAEQiCIfCEDIARC/////w+DICIgF358IQQgAyAEQiCIfCEDIARC/////w+DIBkgJH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gIH58IQQgAyAEQiCIfCEDIARC/////w+DICEgHH58IQQgAyAEQiCIfCEDIARC/////w+DICUgGH58IQQgAyAEQiCIfCEDIAIgBD4CDCADQiCIIQQgA0L/////D4MgGiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgIiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAcfnwhAyAEIANCIIh8IQQgAiADPgIQIARCIIghAyAEQv////8PgyAeICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlICB+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DICIgI358IQMgBCADQiCIfCEEIANC/////w+DICUgJH58IQMgBCADQiCIfCEEIAIgAz4CGCAEQiCIIQMgAiAEPgIcIAOnBEAgAkHIDiACEAcaBSACQcgOEAUEQCACQcgOIAIQBxoLCwu7IR0BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+Qv////8OIQZCACECQgAhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAANQIAIgcgB358IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEIIAJC/////w+DQQA1AsgOIgkgCH58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AgQiCn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8Pg0EANQLMDiIMIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhCyACQv////8PgyAJIAt+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIIIg1+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAKIAp+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUC0A4iDyAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQ4gAkL/////D4MgCSAOfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCDCIQfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiANfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgDn58IQIgAyACQiCIfCEDIAJC/////w+DIA8gC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AtQOIhIgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyERIAJC/////w+DIAkgEX58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhAiE358IQIgAyACQiCIfCEDIAJC/////w+DIAogEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA0gDX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAPIA5+fCECIAMgAkIgiHwhAyACQv////8PgyASIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLYDiIVIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhFCACQv////8PgyAJIBR+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIUIhZ+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBN+fCECIAMgAkIgiHwhAyACQv////8PgyANIBB+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyARfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUC3A4iGCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRcgAkL/////D4MgCSAXfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCGCIZfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSATfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgECAQfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgF358IQIgAyACQiCIfCEDIAJC/////w+DIA8gFH58IQIgAyACQiCIfCEDIAJC/////w+DIBIgEX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgDn58IQIgAyACQiCIfCEDIAJC/////w+DIBggC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AuAOIhsgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEaIAJC/////w+DIAkgGn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhwiHH58IQIgAyACQiCIfCEDIAJC/////w+DIAogGX58IQIgAyACQiCIfCEDIAJC/////w+DIA0gFn58IQIgAyACQiCIfCEDIAJC/////w+DIBAgE358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBd+fCECIAMgAkIgiHwhAyACQv////8PgyASIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAYIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAbIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLkDiIeIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhHSACQv////8PgyAJIB1+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCiAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgECAWfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgEyATfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgHX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gGn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgF358IQIgAyACQiCIfCEDIAJC/////w+DIBUgFH58IQIgAyACQiCIfCEDIAJC/////w+DIBggEX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgDn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gC358IQIgAyACQiCIfCEDIAEgAj4CACADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgDSAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgECAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAWfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIA8gHX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgGn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgF358IQIgAyACQiCIfCEDIAJC/////w+DIBggFH58IQIgAyACQiCIfCEDIAJC/////w+DIBsgEX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gDn58IQIgAyACQiCIfCEDIAEgAj4CBCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgECAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAZfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgFiAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBIgHX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgGn58IQIgAyACQiCIfCEDIAJC/////w+DIBggF358IQIgAyACQiCIfCEDIAJC/////w+DIBsgFH58IQIgAyACQiCIfCEDIAJC/////w+DIB4gEX58IQIgAyACQiCIfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgEyAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAZfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBUgHX58IQIgAyACQiCIfCEDIAJC/////w+DIBggGn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgF358IQIgAyACQiCIfCEDIAJC/////w+DIB4gFH58IQIgAyACQiCIfCEDIAEgAj4CDCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgFiAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgGSAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBggHX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgGn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gF358IQIgAyACQiCIfCEDIAEgAj4CECADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgGSAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBsgHX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gGn58IQIgAyACQiCIfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgHCAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIB4gHX58IQIgAyACQiCIfCEDIAEgAj4CGCADIQQgBEIgiCEFIAEgBD4CHCAFpwRAIAFByA4gARAHGgUgAUHIDhAFBEAgAUHIDiABEAcaCwsLCgAgACAAIAEQKgsLACAAQYgPIAEQKgsVACAAQagVEABByBUQAUGoFSABECkLEQAgAEHoFRAuQegVQYgQEAULJAAgABACBEBBAA8LIABBiBYQLkGIFkGIEBAFBEBBfw8LQQEPCxcAIAAgARAuIAFByA4gARAOIAEgARAtCwkAQagPIAAQAAvLAQQBfwF/AX8BfyACEAFBICEFIAAhAwJAA0AgBSABSw0BIAVBIEYEQEGoFhAyBUGoFkGID0GoFhAqCyADQagWQcgWECogAkHIFiACECYgA0EgaiEDIAVBIGohBQwACwsgAUEgcCEEIARFBEAPC0HIFhABQQAhBgJAA0AgBiAERg0BIAYgAy0AADoAyBYgA0EBaiEDIAZBAWohBgwACwsgBUEgRgRAQagWEDIFQagWQYgPQagWECoLQcgWQagWQcgWECog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EEGIJUHIJCACEBEgAkHIJSACEBEgAEEgakHIJEHoJRAUQeglQeglQeglEBBBqCUgAiACQSBqEBEgAkEgakHoJCACQSBqEBQgAkEgakHoJSACQSBqEBEgA0HIIyACQcAAahAQIAJBwABqIAJBwABqEBUgAkHAAGpByCIgAkHAAGoQESACQcAAakHoIyACQcAAahARC7wDAgF/AX8gAEHAAGohAyABQcAAaiEEIAAQQARAIAEgAhBEDwsgARBABEAgACACEEQPCyADEA8EQCABIAAgAhBMDwsgBBAPBEAgACABIAIQTA8LIANBiCYQFSAEQagmEBUgAEGoJkHIJhAUIAFBiCZB6CYQFCADQYgmQYgnEBQgBEGoJkGoJxAUIABBIGpBqCdByCcQFCABQSBqQYgnQegnEBRByCZB6CYQBARAQcgnQegnEAQEQCAAIAIQSg8LC0HoJkHIJkGIKBARQegnQcgnQagoEBFBiChBiChByCgQEEHIKEHIKBAVQYgoQcgoQegoEBRBqChBqChBiCkQEEHIJkHIKEHIKRAUQYgpQagpEBVByClByClB6CkQEEGoKUHoKCACEBEgAkHoKSACEBFByCdB6ChBiCoQFEGIKkGIKkGIKhAQQcgpIAIgAkEgahARIAJBIGpBiCkgAkEgahAUIAJBIGpBiCogAkEgahARIAMgBCACQcAAahAQIAJBwABqIAJBwABqEBUgAkHAAGpBiCYgAkHAAGoQESACQcAAakGoJiACQcAAahARIAJBwABqQYgoIAJBwABqEBQLFAAgACABEAAgAEEgaiABQSBqEBILIgAgACABEAAgAEEgaiABQSBqEBIgAEHAAGogAUHAAGoQAAsSACABQagqEE4gAEGoKiACEEsLEgAgAUGIKxBOIABBiCsgAhBMCxIAIAFB6CsQTyAAQegrIAIQTQsUACAAIAEQGCAAQSBqIAFBIGoQGAsiACAAIAEQGCAAQSBqIAFBIGoQGCAAQcAAaiABQcAAahAYCxQAIAAgARAXIABBIGogAUEgahAXCyIAIAAgARAXIABBIGogAUEgahAXIABBwABqIAFBwABqEBcLSwAgABBABEAgARABIAFBIGoQAQUgAEHAAGpByCwQG0HILEHoLBAVQcgsQegsQYgtEBQgAEHoLCABEBQgAEEgakGILSABQSBqEBQLCzEAIABB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AEGI4gAQhQFBiOIAQYjiABCMASAAQajgAEEgQcjgABCWAUHI4ABBiOEAEIkBIABBiOEAQYjhABCHAUGI4QBByOEAEI0BQcjhAEGI4QBByOEAEIcBQcjhAEGI4gAQkAEEQEEADwtBAQ8LEQAgABCCASAAQcAAahCCAXELCwAgAEGAAWoQggELEAAgABCEASAAQcAAahCEAQsZACAAEIQBIABBwABqEIUBIABBgAFqEIQBC6IBACABIAApAwA3AwAgASAAKQMINwMIIAEgACkDEDcDECABIAApAxg3AxggASAAKQMgNwMgIAEgACkDKDcDKCABIAApAzA3AzAgASAAKQM4NwM4IAEgACkDQDcDQCABIAApA0g3A0ggASAAKQNQNwNQIAEgACkDWDcDWCABIAApA2A3A2AgASAAKQNoNwNoIAEgACkDcDcDcCABIAApA3g3A3gLggIAIAEgACkDADcDACABIAApAwg3AwggASAAKQMQNwMQIAEgACkDGDcDGCABIAApAyA3AyAgASAAKQMoNwMoIAEgACkDMDcDMCABIAApAzg3AzggASAAKQNANwNAIAEgACkDSDcDSCABIAApA1A3A1AgASAAKQNYNwNYIAEgACkDYDcDYCABIAApA2g3A2ggASAAKQNwNwNwIAEgACkDeDcDeCABIAApA4ABNwOAASABIAApA4gBNwOIASABIAApA5ABNwOQASABIAApA5gBNwOYASABIAApA6ABNwOgASABIAApA6gBNwOoASABIAApA7ABNwOwASABIAApA7gBNwO4AQsvACAAEJkBBEAgARCcAQUgAUGAAWoQhQEgAEHAAGogAUHAAGoQhgEgACABEIYBCwscAQF/IAAgARCQASAAQcAAaiABQcAAahCQAXEPC4sBAQF/IABBgAFqIQIgABCaAQRAIAEQmQEPCyABEJkBBEBBAA8LIAIQgwEEQCAAIAEQoAEPCyACQYjjABCJASABQYjjAEHI4wAQhwEgAkGI4wBBiOQAEIcBIAFBwABqQYjkAEHI5AAQhwEgAEHI4wAQkAEEQCAAQcAAakHI5AAQkAEEQEEBDwsLQQAPC9kBAgF/AX8gAEGAAWohAiABQYABaiEDIAAQmgEEQCABEJoBDwsgARCaAQRAQQAPCyACEIMBBEAgASAAEKEBDwsgAxCDAQRAIAAgARChAQ8L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ACAAQeAAaiABQeAAahASIAFBwABqQbCFBCABQcAAahCHASAAQYABaiABQYABahAAIABBoAFqIAFBoAFqEBIgAUGAAWpB8IUEIAFBgAFqEIcBIABBwAFqIAFBwAFqEAAgAEHgAWogAUHgAWoQEiABQcABakGwhgQgAUHAAWoQhwEgAEGAAmogAUGAAmoQACAAQaACaiABQaACahASIAFBgAJqQfCGBCABQYACahCHASAAQcACaiABQcACahAAIABB4AJqIAFB4AJqEBIgAUHAAmpBsIcEIAFBwAJqEIcBC2wAIABB8IcEIAEQhwEgAEHAAGpBsIgEIAFBwABqEIcBIABBgAFqQfCIBCABQYABahCHASAAQcABakGwiQQgAUHAAWoQhwEgAEGAAmpB8IkEIAFBgAJqEIcBIABBwAJqQbCKBCABQcACahCHAQuKAgAgACABEAAgAEEgaiABQSBqEBIgAUHwigQgARCHASAAQcAAaiABQcAAahAAIABB4ABqIAFB4ABqEBIgAUHAAGpBsIsEIAFBwABqEIcBIABBgAFqIAFBgAFqEAAgAEGgAWogAUGgAWoQEiABQYABakHwiwQgAUGAAWoQhwEgAEHAAWogAUHAAWoQACAAQeABaiABQeABahASIAFBwAFqQbCMBCABQcABahCHASAAQYACaiABQYACahAAIABBoAJqIAFBoAJqEBIgAUGAAmpB8IwEIAFBgAJqEIcBIABBwAJqIAFBwAJqEAAgAEHgAmogAUHgAmoQEiABQcACakGwjQQgAUHAAmoQhwELbAAgAEHwjQQgARCHASAAQcAAakGwjgQgAUHAAGoQhwEgAEGAAWpB8I4EIAFBgAFqEIcBIABBwAFqQbCPBCABQcABahCHASAAQYACakHwjwQgAUGAAmoQhwEgAEHAAmpBsJAEIAFBwAJqEIcBC4oCACAAIAEQACAAQSBqIAFBIGoQEiABQfCQBCABEIcBIABBwABqIAFBwABqEAAgAEHgAGogAUHgAGoQEiABQcAAakGwkQQgAUHAAGoQhwEgAEGAAWogAUGAAWoQACAAQaABaiABQaABahASIAFBgAFqQfCRBCABQYABahCHASAAQcABaiABQcABahAAIABB4AFqIAFB4AFqEBIgAUHAAWpBsJIEIAFBwAFqEIcBIABBgAJqIAFBgAJqEAAgAEGgAmogAUGgAmoQEiABQYACakHwkgQgAUGAAmoQhwEgAEHAAmogAUHAAmoQACAAQeACaiABQeACahASIAFBwAJqQbCTBCABQcACahCHAQtsACAAQfCTBCABEIcBIABBwABqQbCUBCABQcAAahCHASAAQYABakHwlAQgAUGAAWoQhwEgAEHAAWpBsJUEIAFBwAFqEIcBIABBgAJqQfCVBCABQYACahCHASAAQcACakGwlgQgAUHAAmoQhwELigIAIAAgARAAIABBIGogAUEgahASIAFB8JYEIAEQhwEgAEHAAGogAUHAAGoQACAAQeAAaiABQeAAahASIAFBwABqQbCXBCABQcAAahCHASAAQYABaiABQYABahAAIABBoAFqIAFBoAFqEBIgAUGAAWpB8JcEIAFBgAFqEIcBIABBwAFqIAFBwAFqEAAgAEHgAWogAUHgAWoQEiABQcABakGwmAQgAUHAAWoQhwEgAEGAAmogAUGAAmoQACAAQaACaiABQaACahASIAFBgAJqQfCYBCABQYACahCHASAAQcACaiABQcACahAAIABB4AJqIAFB4AJqEBIgAUHAAmpBsJkEIAFBwAJqEIcBC2wAIABB8JkEIAEQhwEgAEHAAGpBsJoEIAFBwABqEIcBIABBgAFqQfCaBCABQYABahCHASAAQcABakGwmwQgAUHAAWoQhwEgAEGAAmpB8JsEIAFBgAJqEIcBIABBwAJqQbCcBCABQcACahCHAQuKAgAgACABEAAgAEEgaiABQSBqEBIgAUHwnAQgARCHASAAQcAAaiABQcAAahAAIABB4ABqIAFB4ABqEBIgAUHAAGpBsJ0EIAFBwABqEIcBIABBgAFqIAFBgAFqEAAgAEGgAWogAUGgAWoQEiABQYABakHwnQQgAUGAAWoQhwEgAEHAAWogAUHAAWoQACAAQeABaiABQeABahASIAFBwAFqQbCeBCABQcABahCHASAAQYACaiABQYACahAAIABBoAJqIAFBoAJqEBIgAUGAAmpB8J4EIAFBgAJqEIcBIABBwAJqIAFBwAJqEAAgAEHgAmogAUHgAmoQEiABQcACakGwnwQgAUHAAmoQhwELEAAgAEHwnwRB4AIgARCWAgtIACAAQdCiBBDyASAAQcABakGQpAQQ9wEgAEHQpQQQkQJB0KIEQdClBEHQqAQQhwJB0KgE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",pq:520,pr:1864,pG1gen:31592,pG1zero:31688,pG1b:3240,pG2gen:31784,pG2zero:31976,pG2b:12616,pOneT:32168,prePSize:192,preQSize:19776,n8q:32,n8r:32,q:"21888242871839275222246405745257275088696311157297823662689037894645226208583",r:"21888242871839275222246405745257275088548364400416034343698204186575808495617"},bls12381_wasm:{code:"AGFzbQEAAAABlAESYAJ/fwBgAX8AYAF/AX9gAn9/AX9gA39/fwF/YAN/f38AYAN/fn8AYAJ/fgBgBH9/f38AYAV/f39/fwBgBH9/f38Bf2AHf39/f39/fwBgBn9/f39/fwBgCn9/f39/f39/f38AYAV/f39/fwF/YAd/f39/f39/AX9gCX9/f39/f39/fwF/YAt/f39/f39/f39/fwF/Ag8BA2VudgZtZW1vcnkCABkDywLJAgABAgEDAwQEBQAABgcIBQIFBQAABQAAAAACAgABBQgJBQUIAAIAAQIBAwMEBAUAAAYHCAUCBQUAAAUAAAAAAgIAAQUICQUFCAACBQAAAgICAQEAAAADAwMAAAUFBQAABQUFAAAAAAACAgUABQAAAAAFBQUFBQoACwkKAAsJCAgDAAgIAgAACQwMBQUMAAgNCQgCAgEBAAUFAAUFAAAAAAMACAICCQgAAgICAQEAAAADAwMAAAUFBQAABQUFAAAAAAACAgUABQAAAAAFBQUFBQoACwkKAAsJCAgFAwAICAIAAAkMDAUFDAUDAAgIAgAACQwMBQUMBQUJCQkJCQACAgEBAAUABQUAAgAAAwAIAgkIAAICAQEABQUABQUAAAAAAwAIAgIJCAACBQgJBQAAAAAAAAAAAAACAgICBQAAAAUAAAAABA4PEBEFB/gmugIJaW50cV9jb3B5AAAJaW50cV96ZXJvAAEIaW50cV9vbmUAAwtpbnRxX2lzWmVybwACB2ludHFfZXEABAhpbnRxX2d0ZQAFCGludHFfYWRkAAYIaW50cV9zdWIABwhpbnRxX211bAAIC2ludHFfc3F1YXJlAAkOaW50cV9zcXVhcmVPbGQACghpbnRxX2RpdgAND2ludHFfaW52ZXJzZU1vZAAOCGYxbV9jb3B5AAAIZjFtX3plcm8AAQpmMW1faXNaZXJvAAIGZjFtX2VxAAQHZjFtX2FkZAAQB2YxbV9zdWIAEQdmMW1fbmVnABIOZjFtX2lzTmVnYXRpdmUAGQlmMW1faXNPbmUADwhmMW1fc2lnbgAaC2YxbV9tUmVkdWN0ABMHZjFtX211bAAUCmYxbV9zcXVhcmUAFQ1mMW1fc3F1YXJlT2xkABYSZjFtX2Zyb21Nb250Z29tZXJ5ABgQZjFtX3RvTW9udGdvbWVyeQAXC2YxbV9pbnZlcnNlABsHZjFtX29uZQAcCGYxbV9sb2FkAB0PZjFtX3RpbWVzU2NhbGFyAB4HZjFtX2V4cAAiEGYxbV9iYXRjaEludmVyc2UAHwhmMW1fc3FydAAjDGYxbV9pc1NxdWFyZQAkFWYxbV9iYXRjaFRvTW9udGdvbWVyeQAgF2YxbV9iYXRjaEZyb21Nb250Z29tZXJ5ACEJaW50cl9jb3B5ACUJaW50cl96ZXJvACYIaW50cl9vbmUAKAtpbnRyX2lzWmVybwAnB2ludHJfZXEAKQhpbnRyX2d0ZQAqCGludHJfYWRkACsIaW50cl9zdWIALAhpbnRyX211bAAtC2ludHJfc3F1YXJlAC4OaW50cl9zcXVhcmVPbGQALwhpbnRyX2RpdgAyD2ludHJfaW52ZXJzZU1vZAAzCGZybV9jb3B5ACUIZnJtX3plcm8AJgpmcm1faXNaZXJvACcGZnJtX2VxACkHZnJtX2FkZAA1B2ZybV9zdWIANgdmcm1fbmVnADcOZnJtX2lzTmVnYXRpdmUAPglmcm1faXNPbmUANAhmcm1fc2lnbgA/C2ZybV9tUmVkdWN0ADgHZnJtX211bAA5CmZybV9zcXVhcmUAOg1mcm1fc3F1YXJlT2xkADsSZnJtX2Zyb21Nb250Z29tZXJ5AD0QZnJtX3RvTW9udGdvbWVyeQA8C2ZybV9pbnZlcnNlAEAHZnJtX29uZQBBCGZybV9sb2FkAEIPZnJtX3RpbWVzU2NhbGFyAEMHZnJtX2V4cABHEGZybV9iYXRjaEludmVyc2UARAhmcm1fc3FydABIDGZybV9pc1NxdWFyZQBJFWZybV9iYXRjaFRvTW9udGdvbWVyeQBFF2ZybV9iYXRjaEZyb21Nb250Z29tZXJ5AEYGZnJfYWRkADUGZnJfc3ViADYGZnJfbmVnADcGZnJfbXVsAEoJZnJfc3F1YXJlAEsKZnJfaW52ZXJzZQBMDWZyX2lzTmVnYXRpdmUATQdmcl9jb3B5ACUHZnJfemVybwAmBmZyX29uZQBBCWZyX2lzWmVybwAnBWZyX2VxACkMZzFtX211bHRpZXhwAHgSZzFtX211bHRpZXhwX2NodW5rAHcSZzFtX211bHRpZXhwQWZmaW5lAHwYZzFtX211bHRpZXhwQWZmaW5lX2NodW5rAHsKZzFtX2lzWmVybwBPEGcxbV9pc1plcm9BZmZpbmUATgZnMW1fZXEAVwtnMW1fZXFNaXhlZABWDGcxbV9lcUFmZmluZQBVCGcxbV9jb3B5AFMOZzFtX2NvcHlBZmZpbmUAUghnMW1femVybwBRDmcxbV96ZXJvQWZmaW5lAFAKZzFtX2RvdWJsZQBZEGcxbV9kb3VibGVBZmZpbmUAWAdnMW1fYWRkAFwMZzFtX2FkZE1peGVkAFsNZzFtX2FkZEFmZmluZQBaB2cxbV9uZWcAXg1nMW1fbmVnQWZmaW5lAF0HZzFtX3N1YgBhDGcxbV9zdWJNaXhlZABgDWcxbV9zdWJBZmZpbmUAXxJnMW1fZnJvbU1vbnRnb21lcnkAYxhnMW1fZnJvbU1vbnRnb21lcnlBZmZpbmUAYhBnMW1fdG9Nb250Z29tZXJ5AGUWZzFtX3RvTW9udGdvbWVyeUFmZmluZQBkD2cxbV90aW1lc1NjYWxhcgB9FWcxbV90aW1lc1NjYWxhckFmZmluZQB+DWcxbV9ub3JtYWxpemUAagpnMW1fTEVNdG9VAGwKZzFtX0xFTXRvQwBtCmcxbV9VdG9MRU0AbgpnMW1fQ3RvTEVNAG8PZzFtX2JhdGNoTEVNdG9VAHAPZzFtX2JhdGNoTEVNdG9DAHEPZzFtX2JhdGNoVXRvTEVNAHIPZzFtX2JhdGNoQ3RvTEVNAHMMZzFtX3RvQWZmaW5lAGYOZzFtX3RvSmFjb2JpYW4AVBFnMW1fYmF0Y2hUb0FmZmluZQBpE2cxbV9iYXRjaFRvSmFjb2JpYW4AdAtnMW1faW5DdXJ2ZQBoEWcxbV9pbkN1cnZlQWZmaW5lAGcHZnJtX2ZmdACEAQhmcm1faWZmdACFAQpmcm1fcmF3ZmZ0AIIBC2ZybV9mZnRKb2luAIYBDmZybV9mZnRKb2luRXh0AIcBEWZybV9mZnRKb2luRXh0SW52AIgBCmZybV9mZnRNaXgAiQEMZnJtX2ZmdEZpbmFsAIoBHWZybV9wcmVwYXJlTGFncmFuZ2VFdmFsdWF0aW9uAIsBCHBvbF96ZXJvAIwBD3BvbF9jb25zdHJ1Y3RMQwCNAQxxYXBfYnVpbGRBQkMAjgELcWFwX2pvaW5BQkMAjwEMcWFwX2JhdGNoQWRkAJABCmYybV9pc1plcm8AkQEJZjJtX2lzT25lAJIBCGYybV96ZXJvAJMBB2YybV9vbmUAlAEIZjJtX2NvcHkAlQEHZjJtX211bACWAQhmMm1fbXVsMQCXAQpmMm1fc3F1YXJlAJgBB2YybV9hZGQAmQEHZjJtX3N1YgCaAQdmMm1fbmVnAJsBCGYybV9zaWduAKIBDWYybV9jb25qdWdhdGUAnAESZjJtX2Zyb21Nb250Z29tZXJ5AJ4BEGYybV90b01vbnRnb21lcnkAnQEGZjJtX2VxAJ8BC2YybV9pbnZlcnNlAKABB2YybV9leHAApQEPZjJtX3RpbWVzU2NhbGFyAKEBEGYybV9iYXRjaEludmVyc2UApAEIZjJtX3NxcnQApgEMZjJtX2lzU3F1YXJlAKcBDmYybV9pc05lZ2F0aXZlAKMBDGcybV9tdWx0aWV4cADSARJnMm1fbXVsdGlleHBfY2h1bmsA0QESZzJtX211bHRpZXhwQWZmaW5lANYBGGcybV9tdWx0aWV4cEFmZmluZV9jaHVuawDVAQpnMm1faXNaZXJvAKkBEGcybV9pc1plcm9BZmZpbmUAqAEGZzJtX2VxALEBC2cybV9lcU1peGVkALABDGcybV9lcUFmZmluZQCvAQhnMm1fY29weQCtAQ5nMm1fY29weUFmZmluZQCsAQhnMm1femVybwCrAQ5nMm1femVyb0FmZmluZQCqAQpnMm1fZG91YmxlALMBEGcybV9kb3VibGVBZmZpbmUAsgEHZzJtX2FkZAC2AQxnMm1fYWRkTWl4ZWQAtQENZzJtX2FkZEFmZmluZQC0AQdnMm1fbmVnALgBDWcybV9uZWdBZmZpbmUAtwEHZzJtX3N1YgC7AQxnMm1fc3ViTWl4ZWQAugENZzJtX3N1YkFmZmluZQC5ARJnMm1fZnJvbU1vbnRnb21lcnkAvQEYZzJtX2Zyb21Nb250Z29tZXJ5QWZmaW5lALwBEGcybV90b01vbnRnb21lcnkAvwEWZzJtX3RvTW9udGdvbWVyeUFmZmluZQC+AQ9nMm1fdGltZXNTY2FsYXIA1wEVZzJtX3RpbWVzU2NhbGFyQWZmaW5lANgBDWcybV9ub3JtYWxpemUAxAEKZzJtX0xFTXRvVQDGAQpnMm1fTEVNdG9DAMcBCmcybV9VdG9MRU0AyAEKZzJtX0N0b0xFTQDJAQ9nMm1fYmF0Y2hMRU10b1UAygEPZzJtX2JhdGNoTEVNdG9DAMsBD2cybV9iYXRjaFV0b0xFTQDMAQ9nMm1fYmF0Y2hDdG9MRU0AzQEMZzJtX3RvQWZmaW5lAMABDmcybV90b0phY29iaWFuAK4BEWcybV9iYXRjaFRvQWZmaW5lAMMBE2cybV9iYXRjaFRvSmFjb2JpYW4AzgELZzJtX2luQ3VydmUAwgERZzJtX2luQ3VydmVBZmZpbmUAwQELZzFtX3RpbWVzRnIA2QEHZzFtX2ZmdADfAQhnMW1faWZmdADgAQpnMW1fcmF3ZmZ0AN0BC2cxbV9mZnRKb2luAOEBDmcxbV9mZnRKb2luRXh0AOIBEWcxbV9mZnRKb2luRXh0SW52AOMBCmcxbV9mZnRNaXgA5AEMZzFtX2ZmdEZpbmFsAOUBHWcxbV9wcmVwYXJlTGFncmFuZ2VFdmFsdWF0aW9uAOYBC2cybV90aW1lc0ZyAOcBB2cybV9mZnQA7QEIZzJtX2lmZnQA7gEKZzJtX3Jhd2ZmdADrAQtnMm1fZmZ0Sm9pbgDvAQ5nMm1fZmZ0Sm9pbkV4dADwARFnMm1fZmZ0Sm9pbkV4dEludgDxAQpnMm1fZmZ0TWl4APIBDGcybV9mZnRGaW5hbADzAR1nMm1fcHJlcGFyZUxhZ3JhbmdlRXZhbHVhdGlvbgD0ARFnMW1fdGltZXNGckFmZmluZQD1ARFnMm1fdGltZXNGckFmZmluZQD2ARFmcm1fYmF0Y2hBcHBseUtleQD3ARFnMW1fYmF0Y2hBcHBseUtleQD4ARZnMW1fYmF0Y2hBcHBseUtleU1peGVkAPkBEWcybV9iYXRjaEFwcGx5S2V5APoBFmcybV9iYXRjaEFwcGx5S2V5TWl4ZWQA+wEKZjZtX2lzWmVybwD9AQlmNm1faXNPbmUA/gEIZjZtX3plcm8A/wEHZjZtX29uZQCAAghmNm1fY29weQCBAgdmNm1fbXVsAIICCmY2bV9zcXVhcmUAgwIHZjZtX2FkZACEAgdmNm1fc3ViAIUCB2Y2bV9uZWcAhgIIZjZtX3NpZ24AhwISZjZtX2Zyb21Nb250Z29tZXJ5AIkCEGY2bV90b01vbnRnb21lcnkAiAIGZjZtX2VxAIoCC2Y2bV9pbnZlcnNlAIsCB2Y2bV9leHAAjwIPZjZtX3RpbWVzU2NhbGFyAIwCEGY2bV9iYXRjaEludmVyc2UAjgIOZjZtX2lzTmVnYXRpdmUAjQIKZnRtX2lzWmVybwCRAglmdG1faXNPbmUAkgIIZnRtX3plcm8AkwIHZnRtX29uZQCUAghmdG1fY29weQCVAgdmdG1fbXVsAJYCCGZ0bV9tdWwxAJcCCmZ0bV9zcXVhcmUAmAIHZnRtX2FkZACZAgdmdG1fc3ViAJoCB2Z0bV9uZWcAmwIIZnRtX3NpZ24AogINZnRtX2Nvbmp1Z2F0ZQCcAhJmdG1fZnJvbU1vbnRnb21lcnkAngIQZnRtX3RvTW9udGdvbWVyeQCdAgZmdG1fZXEAnwILZnRtX2ludmVyc2UAoAIHZnRtX2V4cAClAg9mdG1fdGltZXNTY2FsYXIAoQIQZnRtX2JhdGNoSW52ZXJzZQCkAghmdG1fc3FydACmAgxmdG1faXNTcXVhcmUApwIOZnRtX2lzTmVnYXRpdmUAowIRZnRtX2Zyb2Jlbml1c01hcDAArAIRZnRtX2Zyb2Jlbml1c01hcDEArQIRZnRtX2Zyb2Jlbml1c01hcDIArgIRZnRtX2Zyb2Jlbml1c01hcDMArwIRZnRtX2Zyb2Jlbml1c01hcDQAsAIRZnRtX2Zyb2Jlbml1c01hcDUAsQIRZnRtX2Zyb2Jlbml1c01hcDYAsgIRZnRtX2Zyb2Jlbml1c01hcDcAswIRZnRtX2Zyb2Jlbml1c01hcDgAtAIRZnRtX2Zyb2Jlbml1c01hcDkAtQITYmxzMTIzODFfcGFpcmluZ0VxMQDDAhNibHMxMjM4MV9wYWlyaW5nRXEyAMQCE2JsczEyMzgxX3BhaXJpbmdFcTMAxQITYmxzMTIzODFfcGFpcmluZ0VxNADGAhNibHMxMjM4MV9wYWlyaW5nRXE1AMcCEGJsczEyMzgxX3BhaXJpbmcAyAISYmxzMTIzODFfcHJlcGFyZUcxALwCEmJsczEyMzgxX3ByZXBhcmVHMgC9AhNibHMxMjM4MV9taWxsZXJMb29wAL4CHGJsczEyMzgxX2ZpbmFsRXhwb25lbnRpYXRpb24AwgIfYmxzMTIzODFfZmluYWxFeHBvbmVudGlhdGlvbk9sZAC/AhpibHMxMjM4MV9fY3ljbG90b21pY1NxdWFyZQDAAhpibHMxMjM4MV9fY3ljbG90b21pY0V4cF93MADBAghmNm1fbXVsMQCoAglmNm1fbXVsMDEAqQIKZnRtX211bDAxNACqAhFnMW1faW5Hcm91cEFmZmluZQC2AgtnMW1faW5Hcm91cAC3AhFnMm1faW5Hcm91cEFmZmluZQC4AgtnMm1faW5Hcm91cAC5AgqEkQXJAj4AIAEgACkDADcDACABIAApAwg3AwggASAAKQMQNwMQIAEgACkDGDcDGCABIAApAyA3AyAgASAAKQMoNwMoCywAIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoC00AIAApAyhQBEAgACkDIFAEQCAAKQMYUARAIAApAxBQBEAgACkDCFAEQCAAKQMAUA8FQQAPCwVBAA8LBUEADwsFQQAPCwVBAA8LQQAPCywAIABCATcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoC2sAIAApAyggASkDKFEEQCAAKQMgIAEpAyBRBEAgACkDGCABKQMYUQRAIAApAxAgASkDEFEEQCAAKQMIIAEpAwhRBEAgACkDACABKQMAUQ8FQQAPCwVBAA8LBUEADwsFQQAPCwVBAA8LQQAPC8UBACAAKQMoIAEpAyhUBEBBAA8FIAApAyggASkDKFYEQEEBDwUgACkDICABKQMgVARAQQAPBSAAKQMgIAEpAyBWBEBBAQ8FIAApAxggASkDGFQEQEEADwUgACkDGCABKQMYVgRAQQEPBSAAKQMQIAEpAxBUBEBBAA8FIAApAxAgASkDEFYEQEEBDwUgACkDCCABKQMIVARAQQAPBSAAKQMIIAEpAwhWBEBBAQ8FIAApAwAgASkDAFoPCwsLCwsLCwsLC0EADwu8AgEBfiAANQIAIAE1AgB8IQMgAiADPgIAIAA1AgQgATUCBHwgA0IgiHwhAyACIAM+AgQgADUCCCABNQIIfCADQiCIfCEDIAIgAz4CCCAANQIMIAE1Agx8IANCIIh8IQMgAiADPgIMIAA1AhAgATUCEHwgA0IgiHwhAyACIAM+AhAgADUCFCABNQIUfCADQiCIfCEDIAIgAz4CFCAANQIYIAE1Ahh8IANCIIh8IQMgAiADPgIYIAA1AhwgATUCHHwgA0IgiHwhAyACIAM+AhwgADUCICABNQIgfCADQiCIfCEDIAIgAz4CICAANQIkIAE1AiR8IANCIIh8IQMgAiADPgIkIAA1AiggATUCKHwgA0IgiHwhAyACIAM+AiggADUCLCABNQIsfCADQiCIfCEDIAIgAz4CLCADQiCIpwuQAwEBfiAANQIAIAE1AgB9IQMgAiADQv////8Pgz4CACAANQIEIAE1AgR9IANCIId8IQMgAiADQv////8Pgz4CBCAANQIIIAE1Agh9IANCIId8IQMgAiADQv////8Pgz4CCCAANQIMIAE1Agx9IANCIId8IQMgAiADQv////8Pgz4CDCAANQIQIAE1AhB9IANCIId8IQMgAiADQv////8Pgz4CECAANQIUIAE1AhR9IANCIId8IQMgAiADQv////8Pgz4CFCAANQIYIAE1Ahh9IANCIId8IQMgAiADQv////8Pgz4CGCAANQIcIAE1Ahx9IANCIId8IQMgAiADQv////8Pgz4CHCAANQIgIAE1AiB9IANCIId8IQMgAiADQv////8Pgz4CICAANQIkIAE1AiR9IANCIId8IQMgAiADQv////8Pgz4CJCAANQIoIAE1Aih9IANCIId8IQMgAiADQv////8Pgz4CKCAANQIsIAE1Aix9IANCIId8IQMgAiADQv////8Pgz4CLCADQiCHpwunIhoBfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+IANC/////w+DIAA1AgAiBSABNQIAIgZ+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIAUgATUCBCIIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCBCIHIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgQgA0IgiCEEIANC/////w+DIAUgATUCCCIKfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIJIAZ+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIAUgATUCDCIMfnwhBCADIARCIIh8IQMgBEL/////D4MgByAKfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCILIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIAUgATUCECIOfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCECINIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhAgBEIgiCEDIARC/////w+DIAUgATUCFCIQfnwhBCADIARCIIh8IQMgBEL/////D4MgByAOfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIPIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DIAUgATUCGCISfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIRIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIARC/////w+DIAUgATUCHCIUfnwhBCADIARCIIh8IQMgBEL/////D4MgByASfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgESAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCHCITIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhwgA0IgiCEEIANC/////w+DIAUgATUCICIWfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCICIVIAZ+fCEDIAQgA0IgiHwhBCACIAM+AiAgBEIgiCEDIARC/////w+DIAUgATUCJCIYfnwhBCADIARCIIh8IQMgBEL/////D4MgByAWfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgCyASfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgESAMfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCJCIXIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AiQgA0IgiCEEIANC/////w+DIAUgATUCKCIafnwhAyAEIANCIIh8IQQgA0L/////D4MgByAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAWfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgFyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCKCIZIAZ+fCEDIAQgA0IgiHwhBCACIAM+AiggBEIgiCEDIARC/////w+DIAUgATUCLCIcfnwhBCADIARCIIh8IQMgBEL/////D4MgByAafnwhBCADIARCIIh8IQMgBEL/////D4MgCSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAWfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgDyASfnwhBCADIARCIIh8IQMgBEL/////D4MgESAQfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgFyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCLCIbIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AiwgA0IgiCEEIANC/////w+DIAcgHH58IQMgBCADQiCIfCEEIANC/////w+DIAkgGn58IQMgBCADQiCIfCEEIANC/////w+DIAsgGH58IQMgBCADQiCIfCEEIANC/////w+DIA0gFn58IQMgBCADQiCIfCEEIANC/////w+DIA8gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEn58IQMgBCADQiCIfCEEIANC/////w+DIBMgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDn58IQMgBCADQiCIfCEEIANC/////w+DIBcgDH58IQMgBCADQiCIfCEEIANC/////w+DIBkgCn58IQMgBCADQiCIfCEEIANC/////w+DIBsgCH58IQMgBCADQiCIfCEEIAIgAz4CMCAEQiCIIQMgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAafnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAWfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgEyASfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgFyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgGyAKfnwhBCADIARCIIh8IQMgAiAEPgI0IANCIIghBCADQv////8PgyALIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBp+fCEDIAQgA0IgiHwhBCADQv////8PgyAPIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBZ+fCEDIAQgA0IgiHwhBCADQv////8PgyATIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBJ+fCEDIAQgA0IgiHwhBCADQv////8PgyAXIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIA5+fCEDIAQgA0IgiHwhBCADQv////8PgyAbIAx+fCEDIAQgA0IgiHwhBCACIAM+AjggBEIgiCEDIARC/////w+DIA0gHH58IQQgAyAEQiCIfCEDIARC/////w+DIA8gGn58IQQgAyAEQiCIfCEDIARC/////w+DIBEgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBMgFn58IQQgAyAEQiCIfCEDIARC/////w+DIBUgFH58IQQgAyAEQiCIfCEDIARC/////w+DIBcgEn58IQQgAyAEQiCIfCEDIARC/////w+DIBkgEH58IQQgAyAEQiCIfCEDIARC/////w+DIBsgDn58IQQgAyAEQiCIfCEDIAIgBD4CPCADQiCIIQQgA0L/////D4MgDyAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAafnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAWfnwhAyAEIANCIIh8IQQgA0L/////D4MgFyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgGyAQfnwhAyAEIANCIIh8IQQgAiADPgJAIARCIIghAyAEQv////8PgyARIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyATIBp+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAXIBZ+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAbIBJ+fCEEIAMgBEIgiHwhAyACIAQ+AkQgA0IgiCEEIANC/////w+DIBMgHH58IQMgBCADQiCIfCEEIANC/////w+DIBUgGn58IQMgBCADQiCIfCEEIANC/////w+DIBcgGH58IQMgBCADQiCIfCEEIANC/////w+DIBkgFn58IQMgBCADQiCIfCEEIANC/////w+DIBsgFH58IQMgBCADQiCIfCEEIAIgAz4CSCAEQiCIIQMgBEL/////D4MgFSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgFyAafnwhBCADIARCIIh8IQMgBEL/////D4MgGSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgGyAWfnwhBCADIARCIIh8IQMgAiAEPgJMIANCIIghBCADQv////8PgyAXIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBp+fCEDIAQgA0IgiHwhBCADQv////8PgyAbIBh+fCEDIAQgA0IgiHwhBCACIAM+AlAgBEIgiCEDIARC/////w+DIBkgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBsgGn58IQQgAyAEQiCIfCEDIAIgBD4CVCADQiCIIQQgA0L/////D4MgGyAcfnwhAyAEIANCIIh8IQQgAiADPgJYIARCIIghAyACIAQ+AlwLziAQAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5CACECQgAhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAANQIAIgYgBn58IQIgAyACQiCIfCEDIAEgAj4CACADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIEIgd+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIEIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AggiCH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAcgB358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AgggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCDCIJfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAIfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CDCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIQIgp+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAl+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAIIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIQIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhQiC358IQIgAyACQiCIfCEDIAJC/////w+DIAcgCn58IQIgAyACQiCIfCEDIAJC/////w+DIAggCX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCGCIMfnwhAiADIAJCIIh8IQMgAkL/////D4MgByALfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCAKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCSAJfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CGCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIcIg1+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAx+fCECIAMgAkIgiHwhAyACQv////8PgyAIIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAJIAp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIcIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AiAiDn58IQIgAyACQiCIfCEDIAJC/////w+DIAcgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAggDH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCJCIPfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCSAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiALfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CJCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIoIhB+fCECIAMgAkIgiHwhAyACQv////8PgyAHIA9+fCECIAMgAkIgiHwhAyACQv////8PgyAIIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAJIA1+fCECIAMgAkIgiHwhAyACQv////8PgyAKIAx+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyALIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIoIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AiwiEX58IQIgAyACQiCIfCEDIAJC/////w+DIAcgEH58IQIgAyACQiCIfCEDIAJC/////w+DIAggD358IQIgAyACQiCIfCEDIAJC/////w+DIAkgDn58IQIgAyACQiCIfCEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgEX58IQIgAyACQiCIfCEDIAJC/////w+DIAggEH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgD358IQIgAyACQiCIfCEDIAJC/////w+DIAogDn58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAwgDH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAggEX58IQIgAyACQiCIfCEDIAJC/////w+DIAkgEH58IQIgAyACQiCIfCEDIAJC/////w+DIAogD358IQIgAyACQiCIfCEDIAJC/////w+DIAsgDn58IQIgAyACQiCIfCEDIAJC/////w+DIAwgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAkgEX58IQIgAyACQiCIfCEDIAJC/////w+DIAogEH58IQIgAyACQiCIfCEDIAJC/////w+DIAsgD358IQIgAyACQiCIfCEDIAJC/////w+DIAwgDn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA0gDX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogEX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgEH58IQIgAyACQiCIfCEDIAJC/////w+DIAwgD358IQIgAyACQiCIfCEDIAJC/////w+DIA0gDn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAsgEX58IQIgAyACQiCIfCEDIAJC/////w+DIAwgEH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gD358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA4gDn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAwgEX58IQIgAyACQiCIfCEDIAJC/////w+DIA0gEH58IQIgAyACQiCIfCEDIAJC/////w+DIA4gD358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA0gEX58IQIgAyACQiCIfCEDIAJC/////w+DIA4gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA8gD358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA4gEX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA8gEX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBAgEH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AlAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBAgEX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AlQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBEgEX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwg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D4MgDSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCgAYiESAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRAgA0L/////D4MgCSAQfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCDCITfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgDiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCISIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQKEBiIVIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhFCAEQv////8PgyAJIBR+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIQIhd+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIQIhYgB358IQMgBCADQiCIfCEEIANC/////w+DIA0gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AogGIhkgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEYIANC/////w+DIAkgGH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhQiG358IQQgAyAEQiCIfCEDIARC/////w+DIAogF358IQQgAyAEQiCIfCEDIARC/////w+DIA4gE358IQQgAyAEQiCIfCEDIARC/////w+DIBIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBYgC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhQiGiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCjAYiHSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIRwgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCGCIffnwhAyAEIANCIIh8IQQgA0L/////D4MgCiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgEiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgGiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIeIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQKQBiIhIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhICADQv////8PgyAJICB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIcIiN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIcIiIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgFH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gEH58IQQgAyAEQiCIfCEDIARC/////w+DICEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1ApQGIiUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEkIARC/////w+DIAkgJH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AiAiJ358IQMgBCADQiCIfCEEIANC/////w+DIAogI358IQMgBCADQiCIfCEEIANC/////w+DIA4gH358IQMgBCADQiCIfCEEIANC/////w+DIBIgG358IQMgBCADQiCIfCEEIANC/////w+DIBYgF358IQMgBCADQiCIfCEEIANC/////w+DIBogE358IQMgBCADQiCIfCEEIANC/////w+DIB4gD358IQMgBCADQiCIfCEEIANC/////w+DICIgC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AiAiJiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCmAYiKSAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DISggA0L/////D4MgCSAofnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCJCIrfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAnfnwhBCADIARCIIh8IQMgBEL/////D4MgDiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAffnwhBCADIARCIIh8IQMgBEL/////D4MgFiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgHiATfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgJiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCJCIqIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANICh+fCEEIAMgBEIgiHwhAyAEQv////8PgyARICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyApIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQKcBiItIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhLCAEQv////8PgyAJICx+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIoIi9+fCEDIAQgA0IgiHwhBCADQv////8PgyAKICt+fCEDIAQgA0IgiHwhBCADQv////8PgyAOICd+fCEDIAQgA0IgiHwhBCADQv////8PgyASICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAmIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAqIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIoIi4gB358IQMgBCADQiCIfCEEIANC/////w+DIA0gLH58IQMgBCADQiCIfCEEIANC/////w+DIBEgKH58IQMgBCADQiCIfCEEIANC/////w+DIBUgJH58IQMgBCADQiCIfCEEIANC/////w+DIBkgIH58IQMgBCADQiCIfCEEIANC/////w+DIB0gHH58IQMgBCADQiCIfCEEIANC/////w+DICEgGH58IQMgBCADQiCIfCEEIANC/////w+DICUgFH58IQMgBCADQiCIfCEEIANC/////w+DICkgEH58IQMgBCADQiCIfCEEIANC/////w+DIC0gDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AqAGIjEgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEwIANC/////w+DIAkgMH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AiwiM358IQQgAyAEQiCIfCEDIARC/////w+DIAogL358IQQgAyAEQiCIfCEDIARC/////w+DIA4gK358IQQgAyAEQiCIfCEDIARC/////w+DIBIgJ358IQQgAyAEQiCIfCEDIARC/////w+DIBYgI358IQQgAyAEQiCIfCEDIARC/////w+DIBogH358IQQgAyAEQiCIfCEDIARC/////w+DIB4gG358IQQgAyAEQiCIfCEDIARC/////w+DICIgF358IQQgAyAEQiCIfCEDIARC/////w+DICYgE358IQQgAyAEQiCIfCEDIARC/////w+DICogD358IQQgAyAEQiCIfCEDIARC/////w+DIC4gC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AiwiMiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAwfnwhBCADIARCIIh8IQMgBEL/////D4MgESAsfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAofnwhBCADIARCIIh8IQMgBEL/////D4MgGSAkfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgISAcfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgKSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgLSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgMSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCpAYiNSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DITQgBEL/////D4MgCSA0fnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAogM358IQMgBCADQiCIfCEEIANC/////w+DIA4gL358IQMgBCADQiCIfCEEIANC/////w+DIBIgK358IQMgBCADQiCIfCEEIANC/////w+DIBYgJ358IQMgBCADQiCIfCEEIANC/////w+DIBogI358IQMgBCADQiCIfCEEIANC/////w+DIB4gH358IQMgBCADQiCIfCEEIANC/////w+DICIgG358IQMgBCADQiCIfCEEIANC/////w+DICYgF358IQMgBCADQiCIfCEEIANC/////w+DICogE358IQMgBCADQiCIfCEEIANC/////w+DIC4gD358IQMgBCADQiCIfCEEIANC/////w+DIDIgC358IQMgBCADQiCIfCEEIANC/////w+DIA0gNH58IQMgBCADQiCIfCEEIANC/////w+DIBEgMH58IQMgBCADQiCIfCEEIANC/////w+DIBUgLH58IQMgBCADQiCIfCEEIANC/////w+DIBkgKH58IQMgBCADQiCIfCEEIANC/////w+DIB0gJH58IQMgBCADQiCIfCEEIANC/////w+DICEgIH58IQMgBCADQiCIfCEEIANC/////w+DICUgHH58IQMgBCADQiCIfCEEIANC/////w+DICkgGH58IQMgBCADQiCIfCEEIANC/////w+DIC0gFH58IQMgBCADQiCIfCEEIANC/////w+DIDEgEH58IQMgBCADQiCIfCEEIANC/////w+DIDUgDH58IQMgBCADQiCIfCEEIAIgAz4CACAEQiCIIQMgBEL/////D4MgDiAzfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAvfnwhBCADIARCIIh8IQMgBEL/////D4MgFiArfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAnfnwhBCADIARCIIh8IQMgBEL/////D4MgHiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAffnwhBCADIARCIIh8IQMgBEL/////D4MgJiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgKiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgLiATfnwhBCADIARCIIh8IQMgBEL/////D4MgMiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgESA0fnwhBCADIARCIIh8IQMgBEL/////D4MgFSAwfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAsfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAofnwhBCADIARCIIh8IQMgBEL/////D4MgISAkfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgKSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgLSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgMSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgNSAQfnwhBCADIARCIIh8IQMgAiAEPgIEIANCIIghBCADQv////8PgyASIDN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIC9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaICt+fCEDIAQgA0IgiHwhBCADQv////8PgyAeICd+fCEDIAQgA0IgiHwhBCADQv////8PgyAiICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAmIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAqIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAuIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAyIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIDR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIDB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdICx+fCEDIAQgA0IgiHwhBCADQv////8PgyAhICh+fCEDIAQgA0IgiHwhBCADQv////8PgyAlICR+fCEDIAQgA0IgiHwhBCADQv////8PgyApICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAtIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAxIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyA1IBR+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIBYgM358IQQgAyAEQiCIfCEDIARC/////w+DIBogL358IQQgAyAEQiCIfCEDIARC/////w+DIB4gK358IQQgAyAEQiCIfCEDIARC/////w+DICIgJ358IQQgAyAEQiCIfCEDIARC/////w+DICYgI358IQQgAyAEQiCIfCEDIARC/////w+DICogH358IQQgAyAEQiCIfCEDIARC/////w+DIC4gG358IQQgAyAEQiCIfCEDIARC/////w+DIDIgF358IQQgAyAEQiCIfCEDIARC/////w+DIBkgNH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gMH58IQQgAyAEQiCIfCEDIARC/////w+DICEgLH58IQQgAyAEQiCIfCEDIARC/////w+DICUgKH58IQQgAyAEQiCIfCEDIARC/////w+DICkgJH58IQQgAyAEQiCIfCEDIARC/////w+DIC0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIDEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIDUgGH58IQQgAyAEQiCIfCEDIAIgBD4CDCADQiCIIQQgA0L/////D4MgGiAzfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAvfnwhAyAEIANCIIh8IQQgA0L/////D4MgIiArfnwhAyAEIANCIIh8IQQgA0L/////D4MgJiAnfnwhAyAEIANCIIh8IQQgA0L/////D4MgKiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgLiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgMiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSA0fnwhAyAEIANCIIh8IQQgA0L/////D4MgISAwfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAsfnwhAyAEIANCIIh8IQQgA0L/////D4MgKSAofnwhAyAEIANCIIh8IQQgA0L/////D4MgLSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgMSAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgNSAcfnwhAyAEIANCIIh8IQQgAiADPgIQIARCIIghAyAEQv////8PgyAeIDN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIC9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAmICt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAqICd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAuICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAyIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIDR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIDB+fCEEIAMgBEIgiHwhAyAEQv////8PgyApICx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAtICh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAxICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyA1ICB+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DICIgM358IQMgBCADQiCIfCEEIANC/////w+DICYgL358IQMgBCADQiCIfCEEIANC/////w+DICogK358IQMgBCADQiCIfCEEIANC/////w+DIC4gJ358IQMgBCADQiCIfCEEIANC/////w+DIDIgI358IQMgBCADQiCIfCEEIANC/////w+DICUgNH58IQMgBCADQiCIfCEEIANC/////w+DICkgMH58IQMgBCADQiCIfCEEIANC/////w+DIC0gLH58IQMgBCADQiCIfCEEIANC/////w+DIDEgKH58IQMgBCADQiCIfCEEIANC/////w+DIDUgJH58IQMgBCADQiCIfCEEIAIgAz4CGCAEQiCIIQMgBEL/////D4MgJiAzfnwhBCADIARCIIh8IQMgBEL/////D4MgKiAvfnwhBCADIARCIIh8IQMgBEL/////D4MgLiArfnwhBCADIARCIIh8IQMgBEL/////D4MgMiAnfnwhBCADIARCIIh8IQMgBEL/////D4MgKSA0fnwhBCADIARCIIh8IQMgBEL/////D4MgLSAwfnwhBCADIARCIIh8IQMgBEL/////D4MgMSAsfnwhBCADIARCIIh8IQMgBEL/////D4MgNSAofnwhBCADIARCIIh8IQMgAiAEPgIcIANCIIghBCADQv////8PgyAqIDN+fCEDIAQgA0IgiHwhBCADQv////8PgyAuIC9+fCEDIAQgA0IgiHwhBCADQv////8PgyAyICt+fCEDIAQgA0IgiHwhBCADQv////8PgyAtIDR+fCEDIAQgA0IgiHwhBCADQv////8PgyAxIDB+fCEDIAQgA0IgiHwhBCADQv////8PgyA1ICx+fCEDIAQgA0IgiHwhBCACIAM+AiAgBEIgiCEDIARC/////w+DIC4gM358IQQgAyAEQiCIfCEDIARC/////w+DIDIgL358IQQgAyAEQiCIfCEDIARC/////w+DIDEgNH58IQQgAyAEQiCIfCEDIARC/////w+DIDUgMH58IQQgAyAEQiCIfCEDIAIgBD4CJCADQiCIIQQgA0L/////D4MgMiAzfnwhAyAEIANCIIh8IQQgA0L/////D4MgNSA0fnwhAyAEIANCIIh8IQQgAiADPgIoIARCIIghAyACIAQ+AiwgA6cEQCACQfgFIAIQBxoFIAJB+AUQBQRAIAJB+AUgAhAHGgsLC81BKQF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5C/f/z/w8hBkIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAA1AgAiByAHfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQggAkL/////D4NBADUC+AUiCSAIfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCBCIKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DQQA1AvwFIgwgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyELIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AggiDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKABiIPIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhDiACQv////8PgyAJIA5+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIMIhB+fCECIAMgAkIgiHwhAyACQv////8PgyAKIA1+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUChAYiEiAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIREgAkL/////D4MgCSARfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCECITfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAQfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgDSANfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgEX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gDn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AogGIhUgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEUIAJC/////w+DIAkgFH58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhQiFn58IQIgAyACQiCIfCEDIAJC/////w+DIAogE358IQIgAyACQiCIfCEDIAJC/////w+DIA0gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBF+fCECIAMgAkIgiHwhAyACQv////8PgyASIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAVIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKMBiIYIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhFyACQv////8PgyAJIBd+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIYIhl+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyANIBN+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAQIBB+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiARfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCkAYiGyAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRogAkL/////D4MgCSAafnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCHCIcfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgECATfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgGn58IQIgAyACQiCIfCEDIAJC/////w+DIA8gF358IQIgAyACQiCIfCEDIAJC/////w+DIBIgFH58IQIgAyACQiCIfCEDIAJC/////w+DIBUgEX58IQIgAyACQiCIfCEDIAJC/////w+DIBggDn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1ApQGIh4gCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEdIAJC/////w+DIAkgHX58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AiAiH358IQIgAyACQiCIfCEDIAJC/////w+DIAogHH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gGX58IQIgAyACQiCIfCEDIAJC/////w+DIBAgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBMgE358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBp+fCECIAMgAkIgiHwhAyACQv////8PgyASIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAbIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAeIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKYBiIhIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhICACQv////8PgyAJICB+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIkIiJ+fCECIAMgAkIgiHwhAyACQv////8PgyAKIB9+fCECIAMgAkIgiHwhAyACQv////8PgyANIBx+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBl+fCECIAMgAkIgiHwhAyACQv////8PgyATIBZ+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAgfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAafnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyARfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgISALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCnAYiJCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DISMgAkL/////D4MgCSAjfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCKCIlfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAifnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAffnwhAiADIAJCIIh8IQMgAkL/////D4MgECAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAZfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgFiAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgI358IQIgAyACQiCIfCEDIAJC/////w+DIA8gIH58IQIgAyACQiCIfCEDIAJC/////w+DIBIgHX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgGn58IQIgAyACQiCIfCEDIAJC/////w+DIBggF358IQIgAyACQiCIfCEDIAJC/////w+DIBsgFH58IQIgAyACQiCIfCEDIAJC/////w+DIB4gEX58IQIgAyACQiCIfCEDIAJC/////w+DICEgDn58IQIgAyACQiCIfCEDIAJC/////w+DICQgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AqAGIicgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEmIAJC/////w+DIAkgJn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AiwiKH58IQIgAyACQiCIfCEDIAJC/////w+DIAogJX58IQIgAyACQiCIfCEDIAJC/////w+DIA0gIn58IQIgAyACQiCIfCEDIAJC/////w+DIBAgH358IQIgAyACQiCIfCEDIAJC/////w+DIBMgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBYgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMICZ+fCECIAMgAkIgiHwhAyACQv////8PgyAPICN+fCECIAMgAkIgiHwhAyACQv////8PgyASICB+fCECIAMgAkIgiHwhAyACQv////8PgyAVIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAhIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAkIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAnIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKkBiIqIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhKSACQv////8PgyAJICl+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCiAofnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgECAifnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAffnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgGSAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgKX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gJn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgI358IQIgAyACQiCIfCEDIAJC/////w+DIBUgIH58IQIgAyACQiCIfCEDIAJC/////w+DIBggHX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgGn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gF358IQIgAyACQiCIfCEDIAJC/////w+DICEgFH58IQIgAyACQiCIfCEDIAJC/////w+DICQgEX58IQIgAyACQiCIfCEDIAJC/////w+DICcgDn58IQIgAyACQiCIfCEDIAJC/////w+DICogC358IQIgAyACQiCIfCEDIAEgAj4CACADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgDSAofnwhAiADIAJCIIh8IQMgAkL/////D4MgECAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAifnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAffnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIA8gKX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgJn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgI358IQIgAyACQiCIfCEDIAJC/////w+DIBggIH58IQIgAyACQiCIfCEDIAJC/////w+DIBsgHX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gGn58IQIgAyACQiCIfCEDIAJC/////w+DICEgF358IQIgAyACQiCIfCEDIAJC/////w+DICQgFH58IQIgAyACQiCIfCEDIAJC/////w+DICcgEX58IQIgAyACQiCIfCEDIAJC/////w+DICogDn58IQIgAyACQiCIfCEDIAEgAj4CBCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgECAofnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAifnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAffnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgHCAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBIgKX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgJn58IQIgAyACQiCIfCEDIAJC/////w+DIBggI358IQIgAyACQiCIfCEDIAJC/////w+DIBsgIH58IQIgAyACQiCIfCEDIAJC/////w+DIB4gHX58IQIgAyACQiCIfCEDIAJC/////w+DICEgGn58IQIgAyACQiCIfCEDIAJC/////w+DICQgF358IQIgAyACQiCIfCEDIAJC/////w+DICcgFH58IQIgAyACQiCIfCEDIAJC/////w+DICogEX58IQIgAyACQiCIfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgEyAofnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAifnwhAiADIAJCIIh8IQMgAkL/////D4MgHCAffnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBUgKX58IQIgAyACQiCIfCEDIAJC/////w+DIBggJn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgI358IQIgAyACQiCIfCEDIAJC/////w+DIB4gIH58IQIgAyACQiCIfCEDIAJC/////w+DICEgHX58IQIgAyACQiCIfCEDIAJC/////w+DICQgGn58IQIgAyACQiCIfCEDIAJC/////w+DICcgF358IQIgAyACQiCIfCEDIAJC/////w+DICogFH58IQIgAyACQiCIfCEDIAEgAj4CDCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgFiAofnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgHCAifnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgHyAffnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBggKX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgJn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gI358IQIgAyACQiCIfCEDIAJC/////w+DICEgIH58IQIgAyACQiCIfCEDIAJC/////w+DICQgHX58IQIgAyACQiCIfCEDIAJC/////w+DICcgGn58IQIgAyACQiCIfCEDIAJC/////w+DICogF358IQIgAyACQiCIfCEDIAEgAj4CECADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgGSAofnwhAiADIAJCIIh8IQMgAkL/////D4MgHCAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgHyAifnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBsgKX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gJn58IQIgAyACQiCIfCEDIAJC/////w+DICEgI358IQIgAyACQiCIfCEDIAJC/////w+DICQgIH58IQIgAyACQiCIfCEDIAJC/////w+DICcgHX58IQIgAyACQiCIfCEDIAJC/////w+DICogGn58IQIgAyACQiCIfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgHCAofnwhAiADIAJCIIh8IQMgAkL/////D4MgHyAlfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgIiAifnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIB4gKX58IQIgAyACQiCIfCEDIAJC/////w+DICEgJn58IQIgAyACQiCIfCEDIAJC/////w+DICQgI358IQIgAyACQiCIfCEDIAJC/////w+DICcgIH58IQIgAyACQiCIfCEDIAJC/////w+DICogHX58IQIgAyACQiCIfCEDIAEgAj4CGCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgHyAofnwhAiADIAJCIIh8IQMgAkL/////D4MgIiAlfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICEgKX58IQIgAyACQiCIfCEDIAJC/////w+DICQgJn58IQIgAyACQiCIfCEDIAJC/////w+DICcgI358IQIgAyACQiCIfCEDIAJC/////w+DICogIH58IQIgAyACQiCIfCEDIAEgAj4CHCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgIiAofnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgJSAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICQgKX58IQIgAyACQiCIfCEDIAJC/////w+DICcgJn58IQIgAyACQiCIfCEDIAJC/////w+DICogI358IQIgAyACQiCIfCEDIAEgAj4CICADIQQgBEIgiCEF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QgA3AwggAEIANwMQIABCADcDGAtHACAAKQMYIAEpAxhRBEAgACkDECABKQMQUQRAIAApAwggASkDCFEEQCAAKQMAIAEpAwBRDwVBAA8LBUEADwsFQQAPC0EADwt9ACAAKQMYIAEpAxhUBEBBAA8FIAApAxggASkDGFYEQEEBDwUgACkDECABKQMQVARAQQAPBSAAKQMQIAEpAxBWBEBBAQ8FIAApAwggASkDCFQEQEEADwUgACkDCCABKQMIVgRAQQEPBSAAKQMAIAEpAwBaDwsLCwsLC0EADwvUAQEBfiAANQIAIAE1AgB8IQMgAiADPgIAIAA1AgQgATUCBHwgA0IgiHwhAyACIAM+AgQgADUCCCABNQIIfCADQiCIfCEDIAIgAz4CCCAANQIMIAE1Agx8IANCIIh8IQMgAiADPgIMIAA1AhAgATUCEHwgA0IgiHwhAyACIAM+AhAgADUCFCABNQIUfCADQiCIfCEDIAIgAz4CFCAANQIYIAE1Ahh8IANCIIh8IQMgAiADPgIYIAA1AhwgATUCHHwgA0IgiHwhAyACIAM+AhwgA0IgiKcLjAIBAX4gADUCACABNQIAfSEDIAIgA0L/////D4M+AgAgADUCBCABNQIEfSADQiCHfCEDIAIgA0L/////D4M+AgQgADUCCCABNQIIfSADQiCHfCEDIAIgA0L/////D4M+AgggADUCDCABNQIMfSADQiCHfCEDIAIgA0L/////D4M+AgwgADUCECABNQIQfSADQiCHfCEDIAIgA0L/////D4M+AhAgADUCFCABNQIUfSADQiCHfCEDIAIgA0L/////D4M+AhQgADUCGCABNQIYfSADQiCHfCEDIAIgA0L/////D4M+AhggADUCHCABNQIcfSADQiCHfCEDIAIgA0L/////D4M+AhwgA0Igh6cLjxASAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+IANC/////w+DIAA1AgAiBSABNQIAIgZ+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIAUgATUCBCIIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCBCIHIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgQgA0IgiCEEIANC/////w+DIAUgATUCCCIKfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIJIAZ+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIAUgATUCDCIMfnwhBCADIARCIIh8IQMgBEL/////D4MgByAKfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCILIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIAUgATUCECIOfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCECINIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhAgBEIgiCEDIARC/////w+DIAUgATUCFCIQfnwhBCADIARCIIh8IQMgBEL/////D4MgByAOfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIPIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DIAUgATUCGCISfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIRIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIARC/////w+DIAUgATUCHCIUfnwhBCADIARCIIh8IQMgBEL/////D4MgByASfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgESAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCHCITIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhwgA0IgiCEEIANC/////w+DIAcgFH58IQMgBCADQiCIfCEEIANC/////w+DIAkgEn58IQMgBCADQiCIfCEEIANC/////w+DIAsgEH58IQMgBCADQiCIfCEEIANC/////w+DIA0gDn58IQMgBCADQiCIfCEEIANC/////w+DIA8gDH58IQMgBCADQiCIfCEEIANC/////w+DIBEgCn58IQMgBCADQiCIfCEEIANC/////w+DIBMgCH58IQMgBCADQiCIfCEEIAIgAz4CICAEQiCIIQMgBEL/////D4MgCSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgCyASfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgESAMfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAKfnwhBCADIARCIIh8IQMgAiAEPgIkIANCIIghBCADQv////8PgyALIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBJ+fCEDIAQgA0IgiHwhBCADQv////8PgyAPIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyARIA5+fCEDIAQgA0IgiHwhBCADQv////8PgyATIAx+fCEDIAQgA0IgiHwhBCACIAM+AiggBEIgiCEDIARC/////w+DIA0gFH58IQQgAyAEQiCIfCEDIARC/////w+DIA8gEn58IQQgAyAEQiCIfCEDIARC/////w+DIBEgEH58IQQgAyAEQiCIfCEDIARC/////w+DIBMgDn58IQQgAyAEQiCIfCEDIAIgBD4CLCADQiCIIQQgA0L/////D4MgDyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgESASfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAQfnwhAyAEIANCIIh8IQQgAiADPgIwIARCIIghAyAEQv////8PgyARIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyATIBJ+fCEEIAMgBEIgiHwhAyACIAQ+AjQgA0IgiCEEIANC/////w+DIBMgFH58IQMgBCADQiCIfCEEIAIgAz4COCAEQiCIIQMgAiAEPgI8C4wSDAF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAA1AgAiBiAGfnwhAiADIAJCIIh8IQMgASACPgIAIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AgQiB358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AgQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCCCIIfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgByAHfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIMIgl+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAh+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIMIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhAiCn58IQIgAyACQiCIfCEDIAJC/////w+DIAcgCX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAggCH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCFCILfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCAJfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIYIgx+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAIIAp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAJIAl+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIYIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhwiDX58IQIgAyACQiCIfCEDIAJC/////w+DIAcgDH58IQIgAyACQiCIfCEDIAJC/////w+DIAggC358IQIgAyACQiCIfCEDIAJC/////w+DIAkgCn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAggDH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAggDX58IQIgAyACQiCIfCEDIAJC/////w+DIAkgDH58IQIgAyACQiCIfCEDIAJC/////w+DIAogC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAkgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAogDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAsgC358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAsgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAwgDH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAwgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA0gDX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjggAyEEIARCIIghBSABIAQ+AjwLCgAgACAAIAEQLQu2AQEBfiAANQAAIAF+IQMgAiADPgAAIAA1AAQgAX4gA0IgiHwhAyACIAM+AAQgADUACCABfiADQiCIfCEDIAIgAz4ACCAANQAMIAF+IANCIIh8IQMgAiADPgAMIAA1ABAgAX4gA0IgiHwhAyACIAM+ABAgADUAFCABfiADQiCIfCEDIAIgAz4AFCAANQAYIAF+IANCIIh8IQMgAiADPgAYIAA1ABwgAX4gA0IgiHwhAyACIAM+ABwLTgIBfgF/IAAhAyADNQAAIAF8IQIgAyACPgAAIAJCIIghAgJAA0AgAlANASADQQRqIQMgAzUAACACfCECIAMgAj4AACACQiCIIQIMAAsLC7ACBwF/AX8BfwF/AX4BfgF/IAIEQCACIQUFQZgZIQULIAMEQCADIQQF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IAA1AiggA0IgiHxBuBw1AgwgBH58IQMgACADPgIoIAA1AiwgA0IgiHxBuBw1AhAgBH58IQMgACADPgIsIAA1AjAgA0IgiHxBuBw1AhQgBH58IQMgACADPgIwIAA1AjQgA0IgiHxBuBw1AhggBH58IQMgACADPgI0IAA1AjggA0IgiHxBuBw1AhwgBH58IQMgACADPgI4QZgfIANCIIg+AhxBmB8gAEEgaiABEDULvh8jAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkL/////DyEFIANC/////w+DIAA1AgAiBiABNQIAIgd+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhCCADQv////8Pg0EANQK4HCIJIAh+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIEIgt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIEIgogB358IQQgAyAEQiCIfCEDIARC/////w+DQQA1ArwcIg0gCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEMIARC/////w+DIAkgDH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AggiD358IQMgBCADQiCIfCEEIANC/////w+DIAogC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AggiDiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCwBwiESAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRAgA0L/////D4MgCSAQfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCDCITfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgDiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCISIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQLEHCIVIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhFCAEQv////8PgyAJIBR+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIQIhd+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIQIhYgB358IQMgBCADQiCIfCEEIANC/////w+DIA0gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AsgcIhkgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEYIANC/////w+DIAkgGH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhQiG358IQQgAyAEQiCIfCEDIARC/////w+DIAogF358IQQgAyAEQiCIfCEDIARC/////w+DIA4gE358IQQgAyAEQiCIfCEDIARC/////w+DIBIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBYgC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhQiGiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCzBwiHSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIRwgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCGCIffnwhAyAEIANCIIh8IQQgA0L/////D4MgCiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgEiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgGiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIeIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQLQHCIhIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhICADQv////8PgyAJICB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIcIiN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIcIiIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgFH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gEH58IQQgAyAEQiCIfCEDIARC/////w+DICEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1AtQcIiUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEkIARC/////w+DIAkgJH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAKICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyANICR+fCEDIAQgA0IgiHwhBCADQv////8PgyARICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAhIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAlIAx+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIA4gI358IQQgAyAEQiCIfCEDIARC/////w+DIBIgH358IQQgAyAEQiCIfCEDIARC/////w+DIBYgG358IQQgAyAEQiCIfCEDIARC/////w+DIBogF358IQQgAyAEQiCIfCEDIARC/////w+DIB4gE358IQQgAyAEQiCIfCEDIARC/////w+DICIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBEgJH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgIH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgHH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gGH58IQQgAyAEQiCIfCEDIARC/////w+DICEgFH58IQQgAyAEQiCIfCEDIARC/////w+DICUgEH58IQQgAyAEQiCIfCEDIAIgBD4CBCADQiCIIQQgA0L/////D4MgEiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgGiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgIiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAUfnwhAyAEIANCIIh8IQQgAiADPgIIIARCIIghAyAEQv////8PgyAWICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIBh+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIBogI358IQMgBCADQiCIfCEEIANC/////w+DIB4gH358IQMgBCADQiCIfCEEIANC/////w+DICIgG358IQMgBCADQiCIfCEEIANC/////w+DIB0gJH58IQMgBCADQiCIfCEEIANC/////w+DICEgIH58IQMgBCADQiCIfCEEIANC/////w+DICUgHH58IQMgBCADQiCIfCEEIAIgAz4CECAEQiCIIQMgBEL/////D4MgHiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAffnwhBCADIARCIIh8IQMgBEL/////D4MgISAkfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAgfnwhBCADIARCIIh8IQMgAiAEPgIUIANCIIghBCADQv////8PgyAiICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAlICR+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIAIgBD4CHCADpwRAIAJBuBwgAhAsGgUgAkG4HBAqBEAgAkG4HCACECwaCwsLuyEdAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkL/////DyEGQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgADUCACIHIAd+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhCCACQv////8Pg0EANQK4HCIJIAh+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIEIgp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4NBADUCvBwiDCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQsgAkL/////D4MgCSALfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCCCINfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCiAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AsAcIg8gCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEOIAJC/////w+DIAkgDn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AgwiEH58IQIgAyACQiCIfCEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAPIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLEHCISIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhESACQv////8PgyAJIBF+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIQIhN+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBB+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyANIA1+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCARfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCyBwiFSAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRQgAkL/////D4MgCSAUfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCFCIWfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiATfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAQfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgFH58IQIgAyACQiCIfCEDIAJC/////w+DIA8gEX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgDn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AswcIhggCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEXIAJC/////w+DIAkgF358IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhgiGX58IQIgAyACQiCIfCEDIAJC/////w+DIAogFn58IQIgAyACQiCIfCEDIAJC/////w+DIA0gE358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBAgEH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBR+fCECIAMgAkIgiHwhAyACQv////8PgyASIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAVIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAYIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLQHCIbIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhGiACQv////8PgyAJIBp+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIcIhx+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBl+fCECIAMgAkIgiHwhAyACQv////8PgyANIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBN+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAafnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSARfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUC1BwiHiAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIR0gAkL/////D4MgCSAdfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogHH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gGX58IQIgAyACQiCIfCEDIAJC/////w+DIBAgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBMgE358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBp+fCECIAMgAkIgiHwhAyACQv////8PgyASIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAbIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAeIAt+fCECIAMgAkIgiHwhAyABIAI+AgAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA0gHH58IQIgAyACQiCIfCEDIAJC/////w+DIBAgGX58IQIgAyACQiCIfCEDIAJC/////w+DIBMgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAPIB1+fCECIAMgAkIgiHwhAyACQv////8PgyASIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAeIA5+fCECIAMgAkIgiHwhAyABIAI+AgQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBAgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBMgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBYgFn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyASIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBF+fCECIAMgAkIgiHwhAyABIAI+AgggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBMgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBYgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAVIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBR+fCECIAMgAkIgiHwhAyABIAI+AgwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBYgHH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBkgGX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAYIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBp+fCECIAMgAkIgiHwhAyACQv////8P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2IEBIAEQlgELC2kAQeiFARCUAUHohQFB6IUBEJsBIABBmIMBQTBByIMBEKUBQciDAUGohAEQmAEgAEGohAFBqIQBEJYBQaiEAUGIhQEQnAFBiIUBQaiEAUGIhQEQlgFBiIUBQeiFARCfAQRAQQAPC0EBDwsRACAAEJEBIABB4ABqEJEBcQsLACAAQcABahCRAQsQACAAEJMBIABB4ABqEJMBCxkAIAAQkwEgAEHgAGoQlAEgAEHAAWoQkwELggIAIAEgACkDADcDACABIAApAwg3AwggASAAKQMQNwMQIAEgACkDGDcDGCABIAApAyA3AyAgASAAKQMoNwMoIAEgACkDMDcDMCABIAApAzg3AzggASAAKQNANwNAIAEgACkDSDcDSCABIAApA1A3A1AgASAAKQNYNwNYIAEgACkDYDcDYCABIAApA2g3A2ggASAAKQNwNwNwIAEgACkDeDcDeCABIAApA4ABNwOAASABIAApA4gBNwOIASABIAApA5ABNwOQASABIAApA5gBNwOYASABIAApA6ABNwOgASABIAApA6gBNwOoASABIAApA7ABNwOwASABIAApA7gBNwO4AQuSAwAgASAAKQMANwMAIAEgACkDCDcDCCABIAApAxA3AxAgASAAKQMYNwMYIAEgACkDIDcDICABIAApAyg3AyggASAAKQMwNwMwIAEgACkDODcDOCABIAApA0A3A0AgASAAKQNINwNIIAEgACkDUDcDUCABIAApA1g3A1ggASAAKQNgNwNgIAEgACkDaDcDaCABIAApA3A3A3AgASAAKQN4NwN4IAEgACkDgAE3A4ABIAEgACkDiAE3A4gBIAEgACkDkAE3A5ABIAEgACkDmAE3A5gBIAEgACkDoAE3A6ABIAEgACkDqAE3A6gBIAEgACkDsAE3A7ABIAEgACkDuAE3A7gBIAEgACkDwAE3A8ABIAEgACkDyAE3A8gBIAEgACkD0AE3A9ABIAEgACkD2AE3A9gBIAEgACkD4AE3A+ABIAEgACkD6AE3A+gBIAEgACkD8AE3A/ABIAEgACkD+AE3A/gBIAEgACkDgAI3A4ACIAEgACkDiAI3A4gCIAEgACkDkAI3A5ACIAEgACkDmAI3A5gCCy8AIAAQqAEEQCABEKsBBSABQcABahCUASAAQeAAaiABQeAAahCVASAAIAEQlQELCxwBAX8gACABEJ8BIABB4ABqIAFB4ABqEJ8BcQ8LiwEBAX8gAEHAAWohAiAAEKkBBEAgARCoAQ8LIAEQqAEEQEEADwsgAhCSAQRAIAAgARCvAQ8LIAJBqIcBEJgBIAFBqIcBQYiIARCWASACQaiHAUHoiAEQlgEgAUHgAGpB6IgBQciJARCWASAAQYiIARCfAQRAIABB4ABqQciJARCfAQRAQQEPCwtBAA8L2QECAX8BfyAAQcABaiECIAFBwAFqIQMgABCpAQRAIAEQqQEPCyABEKkBBEBBAA8LIAIQkgEEQCABIAAQsAEPCyADEJIBBEAgACABELABDwsgAkGoigEQmAEgA0GIiwEQmAEgAEGIiwFB6IsBEJYBIAFBqIoBQciMARCWASACQaiKAUGojQEQlgEgA0GIiwFBiI4BEJYBIABB4ABqQYiOAUHojgEQlgEgAUHgAGpBqI0BQciPARCWAUHoiwFByIwBEJ8BBEBB6I4BQciPARCfAQRAQQEPCwtBAA8LrAIAIAAQqAEEQCAAIAEQrgEPCyAAQaiQARCYASAAQeAAakGIkQEQmAFBiJEBQeiRARCYASAAQYiRAUHIkgEQmQFByJIBQciSARCYAUHIkgFBqJABQciSARCaAUHIkgFB6JEBQciSARCaAUHIkgFByJIBQciSARCZAUGokAFBqJABQaiTARCZAUGokwFBqJABQaiTARCZASAAQeAAaiAAQeAAaiABQcABahCZAUGokwEgARCYASABQciSASABEJoBIAFByJIBIAEQmgFB6JEBQeiRAUGIlAEQmQFBiJQBQYiUAUGIlAEQmQFBiJQBQYiUAUGIlAEQmQFByJIBIAEgAUHgAGoQmgEgAUHgAGpBqJMBIAFB4ABqEJYBIAFB4ABqQYiUASABQeAAahCaAQvUAgAgABCpAQRAIAAgARCtAQ8LIABBwAFqEJIBBEAgACABELIBDw8LIABB6JQBEJgBIABB4ABqQciVARCYAUHIlQFBqJYBEJgBIABByJUBQYiXARCZAUGIlwFBiJcBEJgBQYiXAUHolAFBiJcBEJoBQYiXAUGolgFBiJcBEJoBQYiXAUGIlwFBiJcBEJkBQeiUAUHolAFB6JcBEJkBQeiXAUHolAFB6JcBEJkBQeiXAUHImAEQmAEgAEHgAGogAEHAAWpBqJkBEJYBQYiXAUGIlwEgARCZAUHImAEgASABEJoBQaiWAUGolgFBiJoBEJkBQYiaAUGImgFBiJoBEJkBQYiaAUGImgFBiJoBEJkBQYiXASABIAFB4ABqEJoBIAFB4ABqQeiXASABQeAAahCWASABQeAAakGImgEgAUHgAGoQmgFBqJkBQaiZASABQcABahCZAQvsAgEBfyAAQcABaiEDIAAQqAEEQCABIAIQrAEgAkHAAWoQlAEPCyABEKgBBEAgACACEKwBIAJBwAFqEJQBDwsgACABEJ8BBEAgAEHgAGogAUHgAGoQnwEEQCABIAIQsgEPCwsgASAAQeiaARCaASABQeAAaiAAQeAAakGonAEQmgFB6JoBQcibARCYAUHImwFByJsBQYidARCZAUGInQFBiJ0BQYidARCZAUHomgFBiJ0BQeidARCWAUGonAFBqJwBQcieARCZASAAQYidAUGIoAEQlgFByJ4BQaifARCYAUGIoAFBiKABQeigARCZAUGonwFB6J0BIAIQmgEgAkHooAEgAhCaASAAQeAAakHonQFByKEBEJYBQcihAUHIoQFByKEBEJkBQYigASACIAJB4ABqEJoBIAJB4ABqQcieASACQeAAahCWASACQeAAakHIoQEgAkHgAGoQmgFB6JoBQeiaASACQcABahCZAQvcAwEBfyAAQcABaiEDIAAQqQEEQCABIAIQrAEgAkHAAWoQlAEPCyABEKgBBEAgACACEK0BDwsgAxCSAQRAIAAgASACELQBDwsgA0GoogEQmAEgAUGoogFBiKMBEJYBIANBqKIBQeijARCWASABQeAAakHoowFByKQBEJYBIABBiKMBEJ8BBEAgAEHgAGpByKQBEJ8BBEAgASACELIBDwsLQYijASAAQailARCaAUHIpAEgAEHgAGpB6KYBEJoBQailAUGIpgEQmAFBiKYBQYimAUHIpwEQmQFByKcBQcinAUHIpwEQmQFBqKUBQcinAUGoqAEQlgFB6KYBQeimAUGIqQEQmQEgAEHIpwFByKoBEJYBQYipAUHoqQEQmAFByKoBQciqAUGoqwEQmQFB6KkBQaioASACEJoBIAJBqKsBIAIQmgEgAEHgAGpBqKgBQYisARCWAUGIrAFBiKwBQYisARCZAUHIqgEgAiACQeAAahCaASACQeAAakGIqQEgAkHgAGoQlgEgAkHgAGpBiKwBIAJB4ABqEJoBIANBqKUBIAJBwAFqEJkBIAJBwAFqIAJBwAFqEJgBIAJBwAFqQaiiASACQcABahCaASACQcABakGIpgEgAkHAAWoQmgELpQQCAX8BfyAAQcABaiEDIAFBwAFqIQQgABCpAQRAIAEgAhCtAQ8LIAEQqQEEQCAAIAIQrQEPCyADEJIBBEAgASAAIAIQtQEPCyAEEJIBBEAgACABIAIQtQEPCyADQeisARCYASAEQcitARCYASAAQcitAUGorgEQlgEgAUHorAFBiK8BEJYBIANB6KwBQeivARCWASAEQcitAUHIsAEQlgEgAEHgAGpByLABQaixARCWASABQeAAakHorwFBiLIBEJYBQaiuAUGIrwEQnwEEQEGosQFBiLIBEJ8BBEAgACACELMBDwsLQYivAUGorgFB6LIBEJoBQYiyAUGosQFByLMBEJoBQeiyAUHosgFBqLQBEJkBQai0AUGotAEQmAFB6LIBQai0AUGItQEQlgFByLMBQcizAUHotQEQmQFBqK4BQai0AUGotwEQlgFB6LUBQci2ARCYAUGotwFBqLcBQYi4ARCZAUHItgFBiLUBIAIQmgEgAkGIuAEgAhCaAUGosQFBiLUBQei4ARCWAUHouAFB6LgBQei4ARCZAUGotwEgAiACQeAAahCaASACQeAAakHotQEgAkHgAGoQlgEgAkHgAGpB6LgBIAJB4ABqEJoBIAMgBCACQcABahCZASACQcABaiACQcABahCYASACQcABakHorAEgAkHAAWoQmgEgAkHAAWpByK0BIAJBwAFqEJoBIAJBwAFqQeiyASACQcABahCWAQsYACAAIAEQlQEgAEHgAGogAUHgAGoQmwELJwAgACABEJUBIABB4ABqIAFB4ABqEJsBIABBwAFqIAFBwAFqEJUBCxYAIAFByLkBELcBIABByLkBIAIQtAELFgAgAUHouwEQtwEgAEHouwEgAhC1AQsWACABQYi+ARC4ASAAQYi+ASACELYBCxgAIAAgARCeASAAQeAAaiABQeAAahCeAQsnACAAIAEQngEgAEHgAGogAUHgAGoQngEgAEHAAWogAUHAAWoQngELGAAgACABEJ0BIABB4ABqIAFB4ABqEJ0BCycAIAAgARCdASAAQeAAaiABQeAAahCdASAAQcABaiABQcABahCdAQteACAAEKkB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7gJBmOwCIAEQlgFBuO4CQfjsAiABQeAAahCWAUG47gJB2O0CIAFBwAFqEJYBCzMAIAAgASACIAMQoQEgAEHgAGogASACIANB4ABqEKEBIABBwAFqIAEgAiADQcABahChAQs1ACAAQcABahCRAQRAIABB4ABqEJEBBEAgABCjAQ8FIABB4ABqEKMBDwsLIABBwAFqEKMBDwuPAgQBfwF/AX8Bf0EAKAIAIQVBACAFIAJBAWpBoAJsajYCACAFEIACIAAhBiAFQaACaiEFQQAhCAJAA0AgCCACRg0BIAYQ/QEEQCAFQaACayAFEIECBSAGIAVBoAJrIAUQggILIAYgAWohBiAFQaACaiEFIAhBAWohCAwACwsgBiABayEGIAVBoAJrIQUgAyACQQFrIARsaiEHIAUgBRCLAgJAA0AgCEUNASAGEP0BBEAgBSAFQaACaxCBAiAHEP8BBSAFQaACa0H47wIQgQIgBSAGIAVBoAJrEIICIAVB+O8CIAcQggILIAYgAWshBiAHIARrIQcgBUGgAmshBSAIQQFrIQgMAAsLQQAgBTYCAAvOAgIBfwF/IAJFBEAgAxCAAg8LIABBmPICEIECIAMQgAIgAiEEAkADQCAEQQFrIQQgASAEai0AACEFIAMgAxCDAiAFQYABTwRAIAVBgAFrIQUgA0GY8gIgAxCCAgsgAyADEIMCIAVBwABPBEAgBUHAAGshBSADQZjyAiADEIICCyADIAMQgwIgBUEgTwRAIAVBIGshBSADQZjyAiADEIICCyADIAMQgwIgBUEQTwRAIAVBEGshBSADQZjyAiADEIICCyADIAMQgwIgBUEITwRAIAVBCGshBSADQZjyAiADEIICCyADIAMQgwIgBUEETwRAIAVBBGshBSADQZjyAiADEIICCyADIAMQgwIgBUECTwRAIAVBAmshBSADQZjyAiADEIICCyADIAMQgwIgBUEBTwRAIAVBAWshBSADQZjyAiADEIICCyAERQ0BDAALCwsyACAAQbj0AhCVASAAQcABaiABEPwBIABB4ABqIAFBwAFqEJUBQbj0AiABQeAAahCVAQsRACAAEP0BIABBoAJqEP0BcQsSACAAEP4BIABBoAJqEP0BcQ8LEAAgABD/ASAAQaACahD/AQsQACAAEIACIABBoAJqEP8BCxgAIAAgARCBAiAAQaACaiAB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QeAAaiAAQcABaiADEJkBIAMgAiADEJYBIANB2M8DIAMQmgEgAyADEPwBIANB+M4DIAMQmQEgASACIANB4ABqEJkBIANB4ABqQbjQAyADQeAAahCWASADQeAAakH4zgMgA0HgAGoQmgEgA0HgAGpB2M8DIANB4ABqEJoBQZjRAyABIANBwAFqEJYBIANBwAFqQfjOAyADQcABahCaASADQcABakHYzwMgA0HAAWoQmQELkAEAIAAgASACQfjRAxCpAiAAQaACaiADQZjUAxCoAiACIANBuNYDEJkBIABBoAJqIAAgBEGgAmoQhAIgBEGgAmogAUG41gMgBEGgAmoQqQIgBEGgAmpB+NEDIARBoAJqEIUCIARBoAJqQZjUAyAEQaACahCFAkGY1AMgBBCBAiAEIAQQkAIgBEH40QMgBBCEAgtQACABIABBMGpBmNcDEBQgAUEwaiAAQTBqQcjXAxAUIAFB4ABqIABB+NcDEBQgAUGQAWogAEGo2AMQFCACIAFBwAFqQfjXA0GY1wMgAhCqAgtsACAAQdj6BCABEJYBIABB4ABqQbj7BCABQeAAahCWASAAQcABakGY/AQgAUHAAWoQlgEgAEGgAmpB+PwEIAFBoAJqEJYBIABBgANqQdj9BCABQYADahCWASAAQeADakG4/gQgAUHgA2oQlgELigIAIAAgARAAIABBMGogAUEwahASIAFBmP8EIAEQlgEgAEHgAGogAUHgAGoQACAAQZABaiABQZABahASIAFB4ABqQfj/BCABQeAAahCWASAAQcABaiABQcABahAAIABB8AFqIAFB8AFqEBIgAUHAAWpB2IAFIAFBwAFqEJYBIABBoAJqIAFBoAJqEAAgAEHQAmogAUHQAmoQEiABQaACakG4gQUgAUGgAmoQlgEgAEGAA2ogAUGAA2oQACAAQbADaiABQbADahASIAFBgANqQZiCBSABQYADahCWASAAQeADaiABQeADahAAIABBkARqIAFBkARqEBIgAUHgA2pB+IIFIAFB4ANqEJYBC2wAIABB2IMFIAEQlgEgAEHgAGpBuIQFIAFB4ABqEJYBIABBwAFqQZiFBSABQcABahCWASAAQaACakH4hQUgAUGgAmoQlgEgAEGAA2pB2IYFIAFBgANqEJYBIABB4ANqQbiHBSABQeADahCWAQuKAgAgACABEAAgAEEwaiABQTBqEBIgAUGYiAUgARCWASAAQeAAaiABQeAAahAAIABBkAFqIAFBkAFqEBIgAUHgAGpB+IgFIAFB4ABqEJYBIABBwAFqIAFBwAFqEAAgAEHwAWogAUHwAWoQEiABQcABakHYiQUgAUHAAWoQlgEgAEGgAmogAUGgAmoQACAAQdACaiABQdACahASIAFBoAJqQbiKBSABQaACahCWASAAQYADaiABQYADahAAIABBsANqIAFBsANqEBIgAUGAA2pBmIsFIAFBgANqEJYBIABB4ANqIAFB4ANqEAAgAEGQBGogAUGQBGoQEiABQeADakH4iwUgAUHgA2oQlgELbAAgAEHYjAUgARCWASAAQeAAakG4jQUgAUHgAGoQlgEgAEHAAWpBmI4FIAFBwAFqEJYBIABBoAJqQfiOBSABQaACahCWASAAQYADakHYjwUgAUGAA2oQlgEgAEHgA2pBuJAFIAFB4ANqEJYBC4oCACAAIAEQACAAQTBqIAFBMGoQEiABQZiRBSABEJYBIABB4ABqIAFB4ABqEAAgAEGQAWogAUGQAWoQEiABQeAAakH4kQUgAUHgAGoQlgEgAEHAAWogAUHAAWoQACAAQfABaiABQfABahASIAFBwAFqQdiSBSABQcABahCWASAAQaACaiABQaACahAAIABB0AJqIAFB0AJqEBIgAUGgAmpBuJMFIAFBoAJqEJYBIABBgANqIAFBgANqEAAgAEGwA2ogAUGwA2oQEiABQYADakGYlAUgAUGAA2oQlgEgAEHgA2ogAUHgA2oQACAAQZAEaiABQZAEahASIAFB4ANqQfiUBSABQeADahCWAQtsACAAQdiVBSABEJYBIABB4ABqQbiWBSABQeAAahCWASAAQcABakGYlwUgAUHAAWoQlgEgAEGgAmpB+JcFIAFBoAJqEJYBIABBgANqQdiYBSABQYADahCWASAAQeADakG4mQUgAUHgA2oQlgELigIAIAAgARAAIABBMGogAUEwahASIAFBmJoFIAEQlgEgAEHgAGogAUHgAGoQACAAQZABaiABQZABahASIAFB4ABqQfiaBSABQeAAahCWASAAQcABaiABQcABahAAIABB8AFqIAFB8AFqEBIgAUHAAWpB2JsFIAFBwAFqEJYBIABBoAJqIAFBoAJqEAAgAEHQAmogAUHQAmoQEiAB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",pq:760,pr:3640,pG1gen:42344,pG1zero:42488,pG1b:5016,pG2gen:42632,pG2zero:42920,pG2b:17224,pOneT:43208,prePSize:288,preQSize:20448,n8q:48,n8r:32,q:"4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787",r:"52435875175126190479447740508185965837690552500527637822603658699938581184513"}};var cA=Object.freeze({__proto__:null,stringifyBigInts:function A(t){if("bigint"==typeof t||void 0!==t.eq)return t.toString(10);if(t instanceof Uint8Array)return p(t,0);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},unstringifyBigInts:function A(t){if("string"==typeof t&&/^[0-9]+$/.test(t))return BigInt(t);if(Array.isArray(t))return t.map(A);if("object"==typeof t){if(null===t)return null;const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},beBuff2int:function(A){let t=BigInt(0),I=A.length,i=0;const g=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;I>0;)I>=4?(I-=4,t+=BigInt(g.getUint32(I))<<BigInt(8*i),i+=4):I>=2?(I-=2,t+=BigInt(g.getUint16(I))<<BigInt(8*i),i+=2):(I-=1,t+=BigInt(g.getUint8(I))<<BigInt(8*i),i+=1);return t},beInt2Buff:function(A,t){let I=A;const i=new Uint8Array(t),g=new DataView(i.buffer);let e=t;for(;e>0;)e-4>=0?(e-=4,g.setUint32(e,Number(I&BigInt(4294967295))),I>>=BigInt(32)):e-2>=0?(e-=2,g.setUint16(e,Number(I&BigInt(65535))),I>>=BigInt(16)):(e-=1,g.setUint8(e,Number(I&BigInt(255))),I>>=BigInt(8));if(I)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let t=BigInt(0),I=0;const i=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;I<A.length;)I+4<=A.length?(t+=BigInt(i.getUint32(I,!0))<<BigInt(8*I),I+=4):I+4<=A.length?(t+=BigInt(i.getUint16(I,!0))<<BigInt(8*I),I+=2):(t+=BigInt(i.getUint8(I,!0))<<BigInt(8*I),I+=1);return t},leInt2Buff:function(A,t){let I=A;void 0===t&&0==(t=Math.floor((L(A)-1)/8)+1)&&(t=1);const i=new Uint8Array(t),g=new DataView(i.buffer);let e=0;for(;e<t;)e+4<=t?(g.setUint32(e,Number(I&BigInt(4294967295)),!0),e+=4,I>>=BigInt(32)):e+2<=t?(g.setUint16(Number(e,I&BigInt(65535)),!0),e+=2,I>>=BigInt(16)):(g.setUint8(Number(e,I&BigInt(255)),!0),e+=1,I>>=BigInt(8));if(I)throw new Error("Number does not fit in this length");return i}});var DA=Object.freeze({__proto__:null,stringifyBigInts:function A(t){if("bigint"==typeof t||void 0!==t.eq)return t.toString(10);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},unstringifyBigInts:function A(t){if("string"==typeof t&&/^[0-9]+$/.test(t))return o(t);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},beBuff2int:function(A){let t=o.zero;for(let I=0;I<A.length;I++){const i=o(A[A.length-I-1]);t=t.add(i.shiftLeft(8*I))}return t},beInt2Buff:function(A,t){let I=A,i=t-1;const g=new Uint8Array(t);for(;I.gt(o.zero)&&i>=0;){let A=Number(I.and(o("255")));g[i]=A,i--,I=I.shiftRight(8)}if(!I.eq(o.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let t=o.zero;for(let I=0;I<A.length;I++){const i=o(A[I]);t=t.add(i.shiftLeft(8*I))}return t},leInt2Buff:function(A,t){let I=A,i=0;const g=new Uint8Array(t);for(;I.gt(o.zero)&&i<g.length;){let A=Number(I.and(o(255)));g[i]=A,i++,I=I.shiftRight(8)}if(!I.eq(o.zero))throw new Error("Number does not fit in this length");return g}});let uA={};"function"==typeof BigInt?Object.assign(uA,cA):Object.assign(uA,DA);const lA=[];for(let A=0;A<256;A++)lA[A]=yA(A,8);function yA(A,t){let I=0,i=A;for(let A=0;A<t;A++)I<<=1,I|=1&i,i>>=1;return I}uA.bitReverse=function(A,t){return(lA[A>>>24]|lA[A>>>16&255]<<8|lA[A>>>8&255]<<16|lA[255&A]<<24)>>>32-t},uA.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},uA.buffReverseBits=function(A,t){const I=A.byteLength/t,i=uA.log2(I);if(I!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<I;g++){const I=uA.bitReverse(g,i);if(g>I){const i=A.slice(g*t,(g+1)*t);A.set(A.slice(I*t,(I+1)*t),g*t),A.set(i,I*t)}}};const pA=1<<30;class FA{constructor(A){this.buffers=[],this.byteLength=A;for(let t=0;t<A;t+=pA){const I=Math.min(A-t,pA);this.buffers.push(new Uint8Array(I))}}slice(A,t){void 0===t&&(t=this.byteLength),void 0===A&&(A=0);const I=t-A,i=Math.floor(A/pA);if(i==Math.floor((A+I-1)/pA)||0==I)return this.buffers[i].slice(A%pA,A%pA+I);let g,e=i,n=A%pA,C=I;for(;C>0;){const A=n+C>pA?pA-n:C,t=new Uint8Array(this.buffers[e].buffer,this.buffers[e].byteOffset+n,A);if(A==I)return t.slice();g||(g=I<=pA?new Uint8Array(I):new FA(I)),g.set(t,I-C),C-=A,e++,n=0}return g}set(A,t){void 0===t&&(t=0);const I=A.byteLength;if(0==I)return;const i=Math.floor(t/pA);if(i==Math.floor((t+I-1)/pA))return A instanceof FA&&1==A.buffers.length?this.buffers[i].set(A.buffers[0],t%pA):this.buffers[i].set(A,t%pA);let g=i,e=t%pA,n=I;for(;n>0;){const t=e+n>pA?pA-e:n,i=A.slice(I-n,I-n+t);new Uint8Array(this.buffers[g].buffer,this.buffers[g].byteOffset+e,t).set(i),n-=t,g++,e=0}}}var MA,mA={},dA=Worker;MA="("+function(A){const t=32767;let I,i;async function g(A){const g=new Uint8Array(A.code),e=await WebAssembly.compile(g);i=new WebAssembly.Memory({initial:A.init,maximum:t}),I=await WebAssembly.instantiate(e,{env:{memory:i}})}function e(A){const I=new Uint32Array(i.buffer,0,1);for(;3&I[0];)I[0]++;const g=I[0];if(I[0]+=A,I[0]+A>i.buffer.byteLength){const g=i.buffer.byteLength/65536;let e=Math.floor((I[0]+A)/65536)+1;e>t&&(e=t),i.grow(e-g)}return g}function n(A){const t=e(A.byteLength);return Q(t,A),t}function C(A,t){const I=new Uint8Array(i.buffer);return new Uint8Array(I.buffer,I.byteOffset+A,t)}function Q(A,t){new Uint8Array(i.buffer).set(new Uint8Array(t),A)}function B(A){if("INIT"==A[0].cmd)return g(A[0]);const t={vars:[],out:[]},B=new Uint32Array(i.buffer,0,1)[0];for(let i=0;i<A.length;i++)switch(A[i].cmd){case"ALLOCSET":t.vars[A[i].var]=n(A[i].buff);break;case"ALLOC":t.vars[A[i].var]=e(A[i].len);break;case"SET":Q(t.vars[A[i].var],A[i].buff);break;case"CALL":{const g=[];for(let I=0;I<A[i].params.length;I++){const e=A[i].params[I];void 0!==e.var?g.push(t.vars[e.var]+(e.offset||0)):void 0!==e.val&&g.push(e.val)}I.exports[A[i].fnName](...g);break}case"GET":t.out[A[i].out]=C(t.vars[A[i].var],A[i].len).slice();break;default:throw new Error("Invalid cmd")}return new Uint32Array(i.buffer,0,1)[0]=B,t.out}return A&&(A.onmessage=function(t){let I;if(I=t.data?t.data:t,"INIT"==I[0].cmd)g(I[0]).then((function(){A.postMessage(I.result)}));else if("TERMINATE"==I[0].cmd)process.exit();else{const t=B(I);A.postMessage(t)}}),B}.toString()+")(self)",window.btoa(MA),fA.curve_bn128=null,fA.curve_bls12381=null,H("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),H("21888242871839275222246405745257275088548364400416034343698204186575808495617"),H("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),H("21888242871839275222246405745257275088696311157297823662689037894645226208583");const GA=EA;var bA={};async function HA(A,t,I,i){if(I=I||262144,["w+","wx+","r","ax+","a+"].indexOf(t)<0)throw new Error("Invalid open option");const g=await bA.promises.open(A,t),e=await g.stat();return new UA(g,e,I,i,A)}class UA{constructor(A,t,I,i,g){for(this.fileName=g,this.fd=A,this.pos=0,this.pageSize=i||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(I/this.pageSize)+1,this.pages={},this.pendingLoads=[],this.writing=!1,this.reading=!1,this.avBuffs=[],this.history={}}_loadPage(A){const t=this,I=new Promise(((I,i)=>{t.pendingLoads.push({page:A,resolve:I,reject:i})}));return t.__statusPage("After Load request: ",A),I}__statusPage(A,t){const I=[],i=this;if(!i.logHistory)return;I.push("=="+A+" "+t);let g="";for(let A=0;A<i.pendingLoads.length;A++)i.pendingLoads[A].page==t&&(g=g+" "+A);if(g&&I.push("Pending loads:"+g),void 0!==i.pages[t]){const A=i.pages[t];I.push("Loaded"),I.push("pendingOps: "+A.pendingOps),A.loading&&I.push("loading: "+A.loading),A.writing&&I.push("writing"),A.dirty&&I.push("dirty")}I.push("=="),i.history[t]||(i.history[t]=[]),i.history[t].push(I)}__printHistory(A){const t=this;t.history[A]||console.log("Empty History ",A),console.log("History "+A);for(let I=0;I<t.history[A].length;I++)for(let i=0;i<t.history[A][I].length;i++)console.log("-> "+t.history[A][I][i])}_triggerLoad(){const A=this;if(A.reading)return;if(0==A.pendingLoads.length)return;const t=Object.keys(A.pages),I=[];for(let i=0;i<t.length;i++){const g=A.pages[parseInt(t[i])];0!=g.dirty||0!=g.pendingOps||g.writing||g.loading||I.push(parseInt(t[i]))}let i=A.maxPagesLoaded-t.length;const g=[];for(;A.pendingLoads.length>0&&(void 0!==A.pages[A.pendingLoads[0].page]||i>0||I.length>0);){const t=A.pendingLoads.shift();if(void 0!==A.pages[t.page]){A.pages[t.page].pendingOps++;const i=I.indexOf(t.page);i>=0&&I.splice(i,1),A.pages[t.page].loading?A.pages[t.page].loading.push(t):t.resolve(),A.__statusPage("After Load (cached): ",t.page)}else{if(i)i--;else{const t=I.shift();A.__statusPage("Before Unload: ",t),A.avBuffs.unshift(A.pages[t]),delete A.pages[t],A.__statusPage("After Unload: ",t)}t.page>=A.totalPages?(A.pages[t.page]=e(),t.resolve(),A.__statusPage("After Load (new): ",t.page)):(A.reading=!0,A.pages[t.page]=e(),A.pages[t.page].loading=[t],g.push(A.fd.read(A.pages[t.page].buff,0,A.pageSize,t.page*A.pageSize).then((I=>{A.pages[t.page].size=I.bytesRead;const i=A.pages[t.page].loading;delete A.pages[t.page].loading;for(let A=0;A<i.length;A++)i[A].resolve();return A.__statusPage("After Load (loaded): ",t.page),I}),(A=>{t.reject(A)}))),A.__statusPage("After Load (loading): ",t.page))}}function e(){if(A.avBuffs.length>0){const t=A.avBuffs.shift();return t.dirty=!1,t.pendingOps=1,t.size=0,t}return{dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0}}Promise.all(g).then((()=>{A.reading=!1,A.pendingLoads.length>0&&setImmediate(A._triggerLoad.bind(A)),A._tryClose()}))}_triggerWrite(){const A=this;if(A.writing)return;const t=Object.keys(A.pages),I=[];for(let i=0;i<t.length;i++){const g=A.pages[parseInt(t[i])];g.dirty&&(g.dirty=!1,g.writing=!0,A.writing=!0,I.push(A.fd.write(g.buff,0,g.size,parseInt(t[i])*A.pageSize).then((()=>{g.writing=!1}),(t=>{console.log("ERROR Writing: "+t),A.error=t,A._tryClose()}))))}A.writing&&Promise.all(I).then((()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),A._tryClose(),A.pendingLoads.length>0&&setImmediate(A._triggerLoad.bind(A))}))}_getDirtyPage(){for(let A in this.pages)if(this.pages[A].dirty)return A;return-1}async write(A,t){if(0==A.byteLength)return;const I=this;if(void 0===t&&(t=I.pos),I.pos=t+A.byteLength,I.totalSize<t+A.byteLength&&(I.totalSize=t+A.byteLength),I.pendingClose)throw new Error("Writing a closing file");const i=Math.floor(t/I.pageSize),g=Math.floor((t+A.byteLength-1)/I.pageSize),e=[];for(let A=i;A<=g;A++)e.push(I._loadPage(A));I._triggerLoad();let n=i,C=t%I.pageSize,Q=A.byteLength;for(;Q>0;){await e[n-i];const t=C+Q>I.pageSize?I.pageSize-C:Q,g=A.slice(A.byteLength-Q,A.byteLength-Q+t);new Uint8Array(I.pages[n].buff.buffer,C,t).set(g),I.pages[n].dirty=!0,I.pages[n].pendingOps--,I.pages[n].size=Math.max(C+t,I.pages[n].size),n>=I.totalPages&&(I.totalPages=n+1),Q-=t,n++,C=0,I.writing||setImmediate(I._triggerWrite.bind(I))}}async read(A,t){let I=new Uint8Array(A);return await this.readToBuffer(I,0,A,t),I}async readToBuffer(A,t,I,i){if(0==I)return;const g=this;if(I>g.pageSize*g.maxPagesLoaded*.8){const A=Math.floor(1.1*I);this.maxPagesLoaded=Math.floor(A/g.pageSize)+1}if(void 0===i&&(i=g.pos),g.pos=i+I,g.pendingClose)throw new Error("Reading a closing file");const e=Math.floor(i/g.pageSize),n=Math.floor((i+I-1)/g.pageSize),C=[];for(let A=e;A<=n;A++)C.push(g._loadPage(A));g._triggerLoad();let Q=e,B=i%g.pageSize,r=i+I>g.totalSize?I-(i+I-g.totalSize):I;for(;r>0;){await C[Q-e],g.__statusPage("After Await (read): ",Q);const i=B+r>g.pageSize?g.pageSize-B:r,n=new Uint8Array(g.pages[Q].buff.buffer,g.pages[Q].buff.byteOffset+B,i);A.set(n,t+I-r),g.pages[Q].pendingOps--,g.__statusPage("After Op done: ",Q),r-=i,Q++,B=0,g.pendingLoads.length>0&&setImmediate(g._triggerLoad.bind(g))}this.pos=i+I}_tryClose(){const A=this;if(!A.pendingClose)return;A.error&&A.pendingCloseReject(A.error);A._getDirtyPage()>=0||A.writing||A.reading||A.pendingLoads.length>0||A.pendingClose()}close(){const A=this;if(A.pendingClose)throw new Error("Closing the file twice");return new Promise(((t,I)=>{A.pendingClose=t,A.pendingCloseReject=I,A._tryClose()})).then((()=>{A.fd.close()}),(t=>{throw A.fd.close(),t}))}async discard(){await this.close(),await bA.promises.unlink(this.fileName)}async writeULE32(A,t){const I=new Uint8Array(4);new DataView(I.buffer).setUint32(0,A,!0),await this.write(I,t)}async writeUBE32(A,t){const I=new Uint8Array(4);new DataView(I.buffer).setUint32(0,A,!1),await this.write(I,t)}async writeULE64(A,t){const I=new Uint8Array(8),i=new DataView(I.buffer);i.setUint32(0,4294967295&A,!0),i.setUint32(4,Math.floor(A/4294967296),!0),await this.write(I,t)}async readULE32(A){const t=await this.read(4,A);return new Uint32Array(t.buffer)[0]}async readUBE32(A){const t=await this.read(4,A);return new DataView(t.buffer).getUint32(0,!1)}async readULE64(A){const t=await this.read(8,A),I=new Uint32Array(t.buffer);return 4294967296*I[1]+I[0]}}const LA=new Uint8Array(4),NA=new DataView(LA.buffer),kA=new Uint8Array(8),JA=new DataView(kA.buffer);class SA{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A>this.allocSize){const t=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),A),I=new Uint8Array(t);I.set(this.o.data),this.o.data=I,this.allocSize=t}}async write(A,t){if(void 0===t&&(t=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(t+A.byteLength),this.o.data.set(A.slice(),t),t+A.byteLength>this.totalSize&&(this.totalSize=t+A.byteLength),this.pos=t+A.byteLength}async readToBuffer(A,t,I,i){if(void 0===i&&(i=this.pos),this.readOnly&&i+I>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(i+I);const g=new Uint8Array(this.o.data.buffer,this.o.data.byteOffset+i,I);A.set(g,t),this.pos=i+I}async read(A,t){const I=new Uint8Array(A);return await this.readToBuffer(I,0,A,t),I}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,t){NA.setUint32(0,A,!0),await this.write(LA,t)}async writeUBE32(A,t){NA.setUint32(0,A,!1),await this.write(LA,t)}async writeULE64(A,t){JA.setUint32(0,4294967295&A,!0),JA.setUint32(4,Math.floor(A/4294967296),!0),await this.write(kA,t)}async readULE32(A){const t=await this.read(4,A);return new Uint32Array(t.buffer)[0]}async readUBE32(A){const t=await this.read(4,A);return new DataView(t.buffer).getUint32(0,!1)}async readULE64(A){const t=await this.read(8,A),I=new Uint32Array(t.buffer);return 4294967296*I[1]+I[0]}}const vA=1<<22;const RA=new Uint8Array(4),qA=new DataView(RA.buffer),YA=new Uint8Array(8),xA=new DataView(YA.buffer);class PA{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A<=this.totalSize)return;if(this.readOnly)throw new Error("Reading out of file bounds");const t=Math.floor((A-1)/vA)+1;for(let I=Math.max(this.o.data.length-1,0);I<t;I++){const i=new Uint8Array(I<t-1?vA:A-(t-1)*vA);I==this.o.data.length-1&&i.set(this.o.data[I]),this.o.data[I]=i}this.totalSize=A}async write(A,t){const I=this;if(void 0===t&&(t=I.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(t+A.byteLength);let i=Math.floor(t/vA),g=t%vA,e=A.byteLength;for(;e>0;){const t=g+e>vA?vA-g:e,n=A.slice(A.byteLength-e,A.byteLength-e+t);new Uint8Array(I.o.data[i].buffer,g,t).set(n),e-=t,i++,g=0}this.pos=t+A.byteLength}async readToBuffer(A,t,I,i){const g=this;if(void 0===i&&(i=g.pos),this.readOnly&&i+I>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(i+I);let e=Math.floor(i/vA),n=i%vA,C=I;for(;C>0;){const i=n+C>vA?vA-n:C,Q=new Uint8Array(g.o.data[e].buffer,n,i);A.set(Q,t+I-C),C-=i,e++,n=0}this.pos=i+I}async read(A,t){const I=new Uint8Array(A);return await this.readToBuffer(I,0,A,t),I}close(){}async discard(){}async writeULE32(A,t){qA.setUint32(0,A,!0),await this.write(RA,t)}async writeUBE32(A,t){qA.setUint32(0,A,!1),await this.write(RA,t)}async writeULE64(A,t){xA.setUint32(0,4294967295&A,!0),xA.setUint32(4,Math.floor(A/4294967296),!0),await this.write(YA,t)}async readULE32(A){const t=await this.read(4,A);return new Uint32Array(t.buffer)[0]}async readUBE32(A){const t=await this.read(4,A);return new DataView(t.buffer).getUint32(0,!1)}async readULE64(A){const t=await this.read(8,A),I=new Uint32Array(t.buffer);return 4294967296*I[1]+I[0]}}async function XA(A,t,I){if("string"==typeof A&&(A={type:"file",fileName:A,cacheSize:t||65536,pageSize:I||8192}),"file"==A.type)return await HA(A.fileName,"w+",A.cacheSize,A.pageSize);if("mem"==A.type)return function(A){const t=A.initialSize||1<<20,I=new SA;return I.o=A,I.o.data=new Uint8Array(t),I.allocSize=t,I.totalSize=0,I.readOnly=!1,I.pos=0,I}(A);if("bigMem"==A.type)return function(A){const t=A.initialSize||0,I=new PA;I.o=A;const i=t?Math.floor((t-1)/vA)+1:0;I.o.data=[];for(let A=0;A<i-1;A++)I.o.data.push(new Uint8Array(vA));return i&&I.o.data.push(new Uint8Array(t-vA*(i-1))),I.totalSize=0,I.readOnly=!1,I.pos=0,I}(A);throw new Error("Invalid FastFile type: "+A.type)}async function OA(A,t,I){if(A instanceof Uint8Array&&(A={type:"mem",data:A}),"string"==typeof A){A={type:"mem",data:await fetch(A).then((function(A){return A.arrayBuffer()})).then((function(A){return new Uint8Array(A)}))}}if("file"==A.type)return await HA(A.fileName,"r",A.cacheSize,A.pageSize);if("mem"==A.type)return await function(A){const t=new SA;return t.o=A,t.allocSize=A.data.byteLength,t.totalSize=A.data.byteLength,t.readOnly=!0,t.pos=0,t}(A);if("bigMem"==A.type)return await function(A){const t=new PA;return t.o=A,t.totalSize=(A.data.length-1)*vA+A.data[A.data.length-1].byteLength,t.readOnly=!0,t.pos=0,t}(A);throw new Error("Invalid FastFile type: "+A.type)}async function ZA(A,t,I,i,g){const e=await OA(A),n=await e.read(4);let C="";for(let A=0;A<4;A++)C+=String.fromCharCode(n[A]);if(C!=t)throw new Error(A+": Invalid File format");if(await e.readULE32()>I)throw new Error("Version not supported");const Q=await e.readULE32();let B=[];for(let A=0;A<Q;A++){let A=await e.readULE32(),t=await e.readULE64();void 0===B[A]&&(B[A]=[]),B[A].push({p:e.pos,size:t}),e.pos+=t}return{fd:e,sections:B}}async function VA(A,t,I,i,g,e){const n=await XA(A,g,e),C=new Uint8Array(4);for(let A=0;A<4;A++)C[A]=t.charCodeAt(A);return await n.write(C,0),await n.writeULE32(I),await n.writeULE32(i),n}async function KA(A,t){if(void 0!==A.writingSection)throw new Error("Already writing a section");await A.writeULE32(t),A.writingSection={pSectionSize:A.pos},await A.writeULE64(0)}async function jA(A){if(void 0===A.writingSection)throw new Error("Not writing a section");const t=A.pos-A.writingSection.pSectionSize-8,I=A.pos;A.pos=A.writingSection.pSectionSize,await A.writeULE64(t),A.pos=I,delete A.writingSection}async function zA(A,t,I){if(void 0!==A.readingSection)throw new Error("Already reading a section");if(!t[I])throw new Error(A.fileName+": Missing section "+I);if(t[I].length>1)throw new Error(A.fileName+": Section Duplicated "+I);A.pos=t[I][0].p,A.readingSection=t[I][0]}async function WA(A,t){if(void 0===A.readingSection)throw new Error("Not reading a section");if(!t&&A.pos-A.readingSection.p!=A.readingSection.size)throw new Error("Invalid section size reading");delete A.readingSection}async function TA(A,t,I,i){const g=new Uint8Array(I);GA.toRprLE(g,0,t,I),await A.write(g,i)}async function _A(A,t,I){const i=await A.read(t,I);return GA.fromRprLE(i,0,t)}async function $A(A,t,I,i,g){void 0===g&&(g=t[i][0].size);const e=A.pageSize;await zA(A,t,i),await KA(I,i);for(let t=0;t<g;t+=e){const i=Math.min(g-t,e),n=await A.read(i);await I.write(n)}await jA(I),await WA(A,g!=t[i][0].size)}async function At(A,t,I,i,g){if((i=void 0===i?0:i)+(g=void 0===g?t[I][0].size-i:g)>t[I][0].size)throw new Error("Reading out of the range of the section");let e;return e=g<1<<30?new Uint8Array(g):new FA(g),await A.readToBuffer(e,0,g,t[I][0].p+i),e}async function tt(A,t,I,i,g){const e=16*A.pageSize;if(await zA(A,t,g),await zA(I,i,g),t[g][0].size!=i[g][0].size)return!1;const n=t[g][0].size;for(let t=0;t<n;t+=e){const i=Math.min(n-t,e),g=await A.read(i),C=await I.read(i);for(let A=0;A<i;A++)if(g[A]!=C[A])return!1}return await WA(A),await WA(I),!0}const It=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function it(A,t){return t&&10!=t?16==t?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const gt=it;function et(A,t){return BigInt(A)<<BigInt(t)}function nt(A,t){return BigInt(A)>>BigInt(t)}const Ct=et,Qt=nt;var Bt=Object.freeze({__proto__:null,fromString:it,e:gt,fromArray:function(A,t){let I=0n;t=BigInt(t);for(let i=0;i<A.length;i++)I=I*t+BigInt(A[i]);return I},bitLength:function(A){const t=A.toString(16);return 4*(t.length-1)+It[parseInt(t[0],16)]},isNegative:function(A){return BigInt(A)<0n},isZero:function(A){return!A},shiftLeft:et,shiftRight:nt,shl:Ct,shr:Qt,isOdd:function(A){return 1n==(1n&BigInt(A))},naf:function(A){let t=BigInt(A);const I=[];for(;t;){if(1n&t){const A=2-Number(t%4n);I.push(A),t-=BigInt(A)}else I.push(0);t>>=1n}return I},bits:function(A){let t=BigInt(A);const I=[];for(;t;)1n&t?I.push(1):I.push(0),t>>=1n;return I},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,t){const I=[];let i=BigInt(A);for(t=BigInt(t);i;)I.unshift(Number(i%t)),i/=t;return I},add:function(A,t){return BigInt(A)+BigInt(t)},sub:function(A,t){return BigInt(A)-BigInt(t)},neg:function(A){return-BigInt(A)},mul:function(A,t){return BigInt(A)*BigInt(t)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,t){return BigInt(A)**BigInt(t)},exp:function(A,t){return BigInt(A)**BigInt(t)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,t){return BigInt(A)/BigInt(t)},mod:function(A,t){return BigInt(A)%BigInt(t)},eq:function(A,t){return BigInt(A)==BigInt(t)},neq:function(A,t){return BigInt(A)!=BigInt(t)},lt:function(A,t){return BigInt(A)<BigInt(t)},gt:function(A,t){return BigInt(A)>BigInt(t)},leq:function(A,t){return BigInt(A)<=BigInt(t)},geq:function(A,t){return BigInt(A)>=BigInt(t)},band:function(A,t){return BigInt(A)&BigInt(t)},bor:function(A,t){return BigInt(A)|BigInt(t)},bxor:function(A,t){return BigInt(A)^BigInt(t)},land:function(A,t){return BigInt(A)&&BigInt(t)},lor:function(A,t){return BigInt(A)||BigInt(t)},lnot:function(A){return!BigInt(A)}});function rt(A,t){return"string"==typeof A&&"0x"==A.slice(0,2)?o(A.slice(2),16):o(A,t)}const ot=rt;function Et(A,t){return o(A).shiftLeft(t)}function at(A,t){return o(A).shiftRight(t)}const st=Et,ht=at;var ft=Object.freeze({__proto__:null,fromString:rt,e:ot,fromArray:function(A,t){return o.fromArray(A,t)},bitLength:function(A){return o(A).bitLength()},isNegative:function(A){return o(A).isNegative()},isZero:function(A){return o(A).isZero()},shiftLeft:Et,shiftRight:at,shl:st,shr:ht,isOdd:function(A){return o(A).isOdd()},naf:function(A){let t=o(A);const I=[];for(;t.gt(o.zero);){if(t.isOdd()){const A=2-t.mod(4).toJSNumber();I.push(A),t=t.minus(A)}else I.push(0);t=t.shiftRight(1)}return I},bits:function(A){let t=o(A);const I=[];for(;t.gt(o.zero);)t.isOdd()?I.push(1):I.push(0),t=t.shiftRight(1);return I},toNumber:function(A){if(!A.lt(o("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,t){return o(A).toArray(t)},add:function(A,t){return o(A).add(o(t))},sub:function(A,t){return o(A).minus(o(t))},neg:function(A){return o.zero.minus(o(A))},mul:function(A,t){return o(A).times(o(t))},square:function(A){return o(A).square()},pow:function(A,t){return o(A).pow(o(t))},exp:function(A,t){return o(A).pow(o(t))},abs:function(A){return o(A).abs()},div:function(A,t){return o(A).divide(o(t))},mod:function(A,t){return o(A).mod(o(t))},eq:function(A,t){return o(A).eq(o(t))},neq:function(A,t){return o(A).neq(o(t))},lt:function(A,t){return o(A).lt(o(t))},gt:function(A,t){return o(A).gt(o(t))},leq:function(A,t){return o(A).leq(o(t))},geq:function(A,t){return o(A).geq(o(t))},band:function(A,t){return o(A).and(o(t))},bor:function(A,t){return o(A).or(o(t))},bxor:function(A,t){return o(A).xor(o(t))},land:function(A,t){return!o(A).isZero()&&!o(t).isZero()},lor:function(A,t){return!o(A).isZero()||!o(t).isZero()},lnot:function(A){return o(A).isZero()}});const wt="function"==typeof BigInt;let ct={};wt?Object.assign(ct,Bt):Object.assign(ct,ft),ct.toRprLE=function(A,t,I,i){const g="0000000"+I.toString(16),e=new Uint32Array(A.buffer,t,i/4),n=1+(4*(g.length-7)-1>>5);for(let A=0;A<n;A++)e[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=n;A<e.length;A++)e[A]=0;for(let t=4*e.length;t<i;t++)A[t]=ct.toNumber(ct.band(ct.shiftRight(I,8*t),255))},ct.toRprBE=function(A,t,I,i){const g="0000000"+I.toString(16),e=new DataView(A.buffer,A.byteOffset+t,i),n=1+(4*(g.length-7)-1>>5);for(let A=0;A<n;A++)e.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-n;A++)e[A]=0},ct.fromRprLE=function(A,t,I){I=I||A.byteLength,t=t||0;const i=new Uint32Array(A.buffer,t,I/4),g=new Array(I/4);return i.forEach(((A,t)=>g[g.length-t-1]=A.toString(16).padStart(8,"0"))),ct.fromString(g.join(""),16)},ct.fromRprBE=function(A,t,I){I=I||A.byteLength,t=t||0;const i=new DataView(A.buffer,A.byteOffset+t,I),g=new Array(I/4);for(let A=0;A<I/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return ct.fromString(g.join(""),16)},ct.toString=function(A,t){return A.toString(t)},ct.toLEBuff=function(A){const t=new Uint8Array(Math.floor((ct.bitLength(A)-1)/8)+1);return ct.toRprLE(t,0,A,t.byteLength),t},ct.zero=ct.e(0),ct.one=ct.e(1);let{toRprLE:Dt,toRprBE:ut,fromRprLE:lt,fromRprBE:yt,toString:pt,toLEBuff:Ft,zero:Mt,one:mt,fromString:dt,e:Gt,fromArray:bt,bitLength:Ht,isNegative:Ut,isZero:Lt,shiftLeft:Nt,shiftRight:kt,shl:Jt,shr:St,isOdd:vt,naf:Rt,bits:qt,toNumber:Yt,toArray:xt,add:Pt,sub:Xt,neg:Ot,mul:Zt,square:Vt,pow:Kt,exp:jt,abs:zt,div:Wt,mod:Tt,eq:_t,neq:$t,lt:AI,gt:tI,leq:II,geq:iI,band:gI,bor:eI,bxor:nI,land:CI,lor:QI,lnot:BI}=ct;var rI=Object.freeze({__proto__:null,toRprLE:Dt,toRprBE:ut,fromRprLE:lt,fromRprBE:yt,toString:pt,toLEBuff:Ft,zero:Mt,one:mt,fromString:dt,e:Gt,fromArray:bt,bitLength:Ht,isNegative:Ut,isZero:Lt,shiftLeft:Nt,shiftRight:kt,shl:Jt,shr:St,isOdd:vt,naf:Rt,bits:qt,toNumber:Yt,toArray:xt,add:Pt,sub:Xt,neg:Ot,mul:Zt,square:Vt,pow:Kt,exp:jt,abs:zt,div:Wt,mod:Tt,eq:_t,neq:$t,lt:AI,gt:tI,leq:II,geq:iI,band:gI,bor:eI,bxor:nI,land:CI,lor:QI,lnot:BI});const oI=[];for(let A=0;A<256;A++)oI[A]=EI(A,8);function EI(A,t){let I=0,i=A;for(let A=0;A<t;A++)I<<=1,I|=1&i,i>>=1;return I}function aI(A,t,I){if(Lt(I))return A.one;const i=qt(I);if(0==i.legth)return A.one;let g=t;for(let I=i.length-2;I>=0;I--)g=A.square(g),i[I]&&(g=A.mul(g,t));return g}function sI(A){if(A.m%2==1)if(_t(Tt(A.p,4),1))if(_t(Tt(A.p,8),1))if(_t(Tt(A.p,16),1))!function(A){A.sqrt_q=Kt(A.p,A.m),A.sqrt_s=0,A.sqrt_t=Xt(A.sqrt_q,1);for(;!vt(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=Wt(A.sqrt_t,2);let t=A.one;for(;A.eq(t,A.one);){const I=A.random();A.sqrt_z=A.pow(I,A.sqrt_t),t=A.pow(A.sqrt_z,2**(A.sqrt_s-1))}A.sqrt_tm1d2=Wt(Xt(A.sqrt_t,1),2),A.sqrt=function(A){const t=this;if(t.isZero(A))return t.zero;let I=t.pow(A,t.sqrt_tm1d2);const i=t.pow(t.mul(t.square(I),A),2**(t.sqrt_s-1));if(t.eq(i,t.negone))return null;let g=t.sqrt_s,e=t.mul(A,I),n=t.mul(e,I),C=t.sqrt_z;for(;!t.eq(n,t.one);){let A=t.square(n),i=1;for(;!t.eq(A,t.one);)A=t.square(A),i++;I=C;for(let A=0;A<g-i-1;A++)I=t.square(I);C=t.square(I),n=t.mul(n,C),e=t.mul(e,I),g=i}return t.geq(e,t.zero)?e:t.neg(e)}}(A);else{if(!_t(Tt(A.p,16),9))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 4 not implemented")}}(A)}else{if(!_t(Tt(A.p,8),5))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 3 not implemented")}}(A)}else _t(Tt(A.p,4),3)&&function(A){A.sqrt_q=Kt(A.p,A.m),A.sqrt_e1=Wt(Xt(A.sqrt_q,3),4),A.sqrt=function(t){if(this.isZero(t))return this.zero;const I=this.pow(t,this.sqrt_e1),i=this.mul(this.square(I),t);if(this.eq(i,this.negone))return null;const g=this.mul(I,t);return A.geq(g,A.zero)?g:A.neg(g)}}(A);else{const t=Tt(Kt(A.p,A.m/2),4);1==t?function(A){A.sqrt=function(){throw new Error("Sqrt alg 10 not implemented")}}(A):3==t?function(A){A.sqrt_q=Kt(A.p,A.m/2),A.sqrt_e34=Wt(Xt(A.sqrt_q,3),4),A.sqrt_e12=Wt(Xt(A.sqrt_q,1),2),A.frobenius=function(t,I){return t%2==1?A.conjugate(I):I},A.sqrt=function(A){const t=this,I=t.pow(A,t.sqrt_e34),i=t.mul(t.square(I),A),g=t.mul(t.frobenius(1,i),i);if(t.eq(g,t.negone))return null;const e=t.mul(I,A);let n;if(t.eq(i,t.negone))n=t.mul(e,[t.F.zero,t.F.one]);else{const A=t.pow(t.add(t.one,i),t.sqrt_e12);n=t.mul(A,e)}return t.geq(n,t.zero)?n:t.neg(n)}}(A):function(A){A.sqrt=function(){throw new Error("Sqrt alg 8 not implemented")}}(A)}}function hI(A,t,I,i,g){A[t]=A[t]+A[I]>>>0,A[g]=(A[g]^A[t])>>>0,A[g]=(A[g]<<16|A[g]>>>16&65535)>>>0,A[i]=A[i]+A[g]>>>0,A[I]=(A[I]^A[i])>>>0,A[I]=(A[I]<<12|A[I]>>>20&4095)>>>0,A[t]=A[t]+A[I]>>>0,A[g]=(A[g]^A[t])>>>0,A[g]=(A[g]<<8|A[g]>>>24&255)>>>0,A[i]=A[i]+A[g]>>>0,A[I]=(A[I]^A[i])>>>0,A[I]=(A[I]<<7|A[I]>>>25&127)>>>0}class fI{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return Pt(Zt(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let t=0;t<10;t++)hI(A=this.buff,0,4,8,12),hI(A,1,5,9,13),hI(A,2,6,10,14),hI(A,3,7,11,15),hI(A,0,5,10,15),hI(A,1,6,11,12),hI(A,2,7,8,13),hI(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}function wI(A){let t=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(t);else for(let I=0;I<A;I++)t[I]=4294967296*Math.random()>>>0;else hA.randomFillSync(t);return t}let cI=null;function DI(){return cI||(cI=new fI(function(){const A=wI(32),t=new Uint32Array(A.buffer),I=[];for(let A=0;A<8;A++)I.push(t[A]);return I}()),cI)}class uI{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=Ht(this.p),this.mask=(1n<<BigInt(this.bitLength))-1n,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(1n<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const t=this.negone>>1n;this.nqr=this.two;let I=this.pow(this.nqr,t);for(;!this.eq(I,this.negone);)this.nqr=this.nqr+1n,I=this.pow(this.nqr,t);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),sI(this)}e(A,t){let I;if(t?16==t&&(I=BigInt("0x"+A)):I=BigInt(A),I<0){let A=-I;return A>=this.p&&(A%=this.p),this.p-A}return I>=this.p?I%this.p:I}add(A,t){const I=A+t;return I>=this.p?I-this.p:I}sub(A,t){return A>=t?A-t:this.p-t+A}neg(A){return A?this.p-A:A}mul(A,t){return A*t%this.p}mulScalar(A,t){return A*this.e(t)%this.p}square(A){return A*A%this.p}eq(A,t){return A==t}neq(A,t){return A!=t}lt(A,t){return(A>this.half?A-this.p:A)<(t>this.half?t-this.p:t)}gt(A,t){return(A>this.half?A-this.p:A)>(t>this.half?t-this.p:t)}leq(A,t){return(A>this.half?A-this.p:A)<=(t>this.half?t-this.p:t)}geq(A,t){return(A>this.half?A-this.p:A)>=(t>this.half?t-this.p:t)}div(A,t){return this.mul(A,this.inv(t))}idiv(A,t){if(!t)throw new Error("Division by zero");return A/t}inv(A){if(!A)throw new Error("Division by zero");let t=0n,I=this.p,i=1n,g=A%this.p;for(;g;){let A=I/g;[t,i]=[i,t-A*i],[I,g]=[g,I-A*g]}return t<0n&&(t+=this.p),t}mod(A,t){return A%t}pow(A,t){return aI(this,A,t)}exp(A,t){return aI(this,A,t)}band(A,t){const I=A&t&this.mask;return I>=this.p?I-this.p:I}bor(A,t){const I=(A|t)&this.mask;return I>=this.p?I-this.p:I}bxor(A,t){const I=(A^t)&this.mask;return I>=this.p?I-this.p:I}bnot(A){const t=A^this.mask;return t>=this.p?t-this.p:t}shl(A,t){if(Number(t)<this.bitLength){const I=A<<t&this.mask;return I>=this.p?I-this.p:I}{const I=this.p-t;return Number(I)<this.bitLength?A>>I:0n}}shr(A,t){if(Number(t)<this.bitLength)return A>>t;{const I=this.p-t;if(Number(I)<this.bitLength){const t=A<<I&this.mask;return t>=this.p?t-this.p:t}return 0}}land(A,t){return A&&t?1n:0n}lor(A,t){return A||t?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let t=this.s,I=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),e=1;for(;1n!=A;)e++,A=this.square(A);let n=I;for(let A=0;A<t-e-1;A++)n=this.square(n);t=e,I=this.square(n),i=this.mul(i,I),g=this.mul(g,n)}return g>this.p>>1n&&(g=this.neg(g)),g}normalize(A,t){if((A=BigInt(A,t))<0){let t=-A;return t>=this.p&&(t%=this.p),this.p-t}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let t=0n;for(let I=0;I<A;I++)t=(t<<8n)+BigInt(wI(1)[0]);return t%this.p}toString(A,t){let I;if(A>this.half){I="-"+(this.p-A).toString(t)}else I=A.toString(t);return I}isZero(A){return 0n==A}fromRng(A){let t;do{t=0n;for(let I=0;I<this.n64;I++)t+=A.nextU64()<<BigInt(64*I);t&=this.mask}while(t>=this.p);return t=t*this.Ri%this.p,t}}class lI{constructor(A){this.type="F1",this.one=o.one,this.zero=o.zero,this.p=o(A),this.m=1,this.negone=this.p.minus(o.one),this.two=o(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=o.one.shiftLeft(this.bitLength).minus(o.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=o.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const t=this.negone.shiftRight(this.one);this.nqr=this.two;let I=this.pow(this.nqr,t);for(;!I.equals(this.negone);)this.nqr=this.nqr.add(this.one),I=this.pow(this.nqr,t);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),sI(this)}e(A,t){const I=o(A,t);return this.normalize(I)}add(A,t){let I=A.add(t);return I.geq(this.p)&&(I=I.minus(this.p)),I}sub(A,t){return A.geq(t)?A.minus(t):this.p.minus(t.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,t){return A.times(t).mod(this.p)}mulScalar(A,t){return A.times(o(t)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,t){return A.eq(t)}neq(A,t){return A.neq(t)}lt(A,t){const I=A.gt(this.half)?A.minus(this.p):A,i=t.gt(this.half)?t.minus(this.p):t;return I.lt(i)}gt(A,t){const I=A.gt(this.half)?A.minus(this.p):A,i=t.gt(this.half)?t.minus(this.p):t;return I.gt(i)}leq(A,t){const I=A.gt(this.half)?A.minus(this.p):A,i=t.gt(this.half)?t.minus(this.p):t;return I.leq(i)}geq(A,t){const I=A.gt(this.half)?A.minus(this.p):A,i=t.gt(this.half)?t.minus(this.p):t;return I.geq(i)}div(A,t){if(t.isZero())throw new Error("Division by zero");return A.times(t.modInv(this.p)).mod(this.p)}idiv(A,t){if(t.isZero())throw new Error("Division by zero");return A.divide(t)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,t){return A.mod(t)}pow(A,t){return A.modPow(t,this.p)}exp(A,t){return A.modPow(t,this.p)}band(A,t){return A.and(t).and(this.mask).mod(this.p)}bor(A,t){return A.or(t).and(this.mask).mod(this.p)}bxor(A,t){return A.xor(t).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,t){if(t.lt(this.bitLength))return A.shiftLeft(t).and(this.mask).mod(this.p);{const I=this.p.minus(t);return I.lt(this.bitLength)?this.shr(A,I):o.zero}}shr(A,t){if(t.lt(this.bitLength))return A.shiftRight(t);{const I=this.p.minus(t);return I.lt(this.bitLength)?this.shl(A,I):o.zero}}land(A,t){return A.isZero()||t.isZero()?o.zero:o.one}lor(A,t){return A.isZero()&&t.isZero()?o.zero:o.one}lnot(A){return A.isZero()?o.one:o.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let t=parseInt(this.s),I=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),e=1;for(;!A.equals(this.one);)e++,A=this.square(A);let n=I;for(let A=0;A<t-e-1;A++)n=this.square(n);t=e,I=this.square(n),i=this.mul(i,I),g=this.mul(g,n)}return g.greater(this.p.shiftRight(this.one))&&(g=this.neg(g)),g}normalize(A){return(A=o(A)).isNegative()?this.p.minus(A.abs().mod(this.p)):A.mod(this.p)}random(){let A=o(0),t=o(this.p.square());for(;!t.isZero();)A=A.shiftLeft(8).add(o(wI(1)[0])),t=t.shiftRight(8);return A.mod(this.p)}toString(A,t){let I;if(A.lesserOrEquals(this.p.shiftRight(o(1))))I=A.toString(t);else{I="-"+this.p.minus(A).toString(t)}return I}isZero(A){return A.isZero()}fromRng(A){let t;do{t=o(0);for(let I=0;I<this.n64;I++)t=t.add(t,A.nextU64().shiftLeft(64*I));t=t.and(this.mask)}while(t.geq(this.p));return t=t.times(this.Ri).mod(this.q),t}}const yI="function"==typeof BigInt;let pI;pI=yI?uI:lI;class FI extends pI{toRprLE(A,t,I){Dt(A,t,I,8*this.n64)}toRprBE(A,t,I){ut(A,t,I,8*this.n64)}toRprBEM(A,t,I){return this.toRprBE(A,t,this.mul(this.R,I))}toRprLEM(A,t,I){return this.toRprLE(A,t,this.mul(this.R,I))}fromRprLE(A,t){return lt(A,t,this.n8)}fromRprBE(A,t){return yt(A,t,this.n8)}fromRprLEM(A,t){return this.mul(this.fromRprLE(A,t),this.Ri)}fromRprBEM(A,t){return this.mul(this.fromRprBE(A,t),this.Ri)}}var MI=Object.freeze({__proto__:null,stringifyBigInts:function A(t){if("bigint"==typeof t||void 0!==t.eq)return t.toString(10);if(t instanceof Uint8Array)return lt(t,0);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},unstringifyBigInts:function A(t){if("string"==typeof t&&/^[0-9]+$/.test(t))return BigInt(t);if(Array.isArray(t))return t.map(A);if("object"==typeof t){if(null===t)return null;const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},beBuff2int:function(A){let t=0n,I=A.length,i=0;const g=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;I>0;)I>=4?(I-=4,t+=BigInt(g.getUint32(I))<<BigInt(8*i),i+=4):I>=2?(I-=2,t+=BigInt(g.getUint16(I))<<BigInt(8*i),i+=2):(I-=1,t+=BigInt(g.getUint8(I))<<BigInt(8*i),i+=1);return t},beInt2Buff:function(A,t){let I=A;const i=new Uint8Array(t),g=new DataView(i.buffer);let e=t;for(;e>0;)e-4>=0?(e-=4,g.setUint32(e,Number(0xFFFFFFFFn&I)),I>>=32n):e-2>=0?(e-=2,g.setUint16(e,Number(0xFFFFn&I)),I>>=16n):(e-=1,g.setUint8(e,Number(0xFFn&I)),I>>=8n);if(I)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let t=0n,I=0;const i=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;I<A.length;)I+4<=A.length?(t+=BigInt(i.getUint32(I,!0))<<BigInt(8*I),I+=4):I+4<=A.length?(t+=BigInt(i.getUint16(I,!0))<<BigInt(8*I),I+=2):(t+=BigInt(i.getUint8(I,!0))<<BigInt(8*I),I+=1);return t},leInt2Buff:function(A,t){let I=A;void 0===t&&0==(t=Math.floor((Ht(A)-1)/8)+1)&&(t=1);const i=new Uint8Array(t),g=new DataView(i.buffer);let e=0;for(;e<t;)e+4<=t?(g.setUint32(e,Number(0xFFFFFFFFn&I),!0),e+=4,I>>=32n):e+2<=t?(g.setUint16(Number(e,0xFFFFn&I),!0),e+=2,I>>=16n):(g.setUint8(Number(e,0xFFn&I),!0),e+=1,I>>=8n);if(I)throw new Error("Number does not fit in this length");return i}});var mI=Object.freeze({__proto__:null,stringifyBigInts:function A(t){if("bigint"==typeof t||void 0!==t.eq)return t.toString(10);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},unstringifyBigInts:function A(t){if("string"==typeof t&&/^[0-9]+$/.test(t))return o(t);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},beBuff2int:function(A){let t=o.zero;for(let I=0;I<A.length;I++){const i=o(A[A.length-I-1]);t=t.add(i.shiftLeft(8*I))}return t},beInt2Buff:function(A,t){let I=A,i=t-1;const g=new Uint8Array(t);for(;I.gt(o.zero)&&i>=0;){let A=Number(I.and(o("255")));g[i]=A,i--,I=I.shiftRight(8)}if(!I.eq(o.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let t=o.zero;for(let I=0;I<A.length;I++){const i=o(A[I]);t=t.add(i.shiftLeft(8*I))}return t},leInt2Buff:function(A,t){let I=A,i=0;const g=new Uint8Array(t);for(;I.gt(o.zero)&&i<g.length;){let A=Number(I.and(o(255)));g[i]=A,i++,I=I.shiftRight(8)}if(!I.eq(o.zero))throw new Error("Number does not fit in this length");return g}});let dI={};"function"==typeof BigInt?Object.assign(dI,MI):Object.assign(dI,mI);const GI=[];for(let A=0;A<256;A++)GI[A]=bI(A,8);function bI(A,t){let I=0,i=A;for(let A=0;A<t;A++)I<<=1,I|=1&i,i>>=1;return I}dI.bitReverse=function(A,t){return(GI[A>>>24]|GI[A>>>16&255]<<8|GI[A>>>8&255]<<16|GI[255&A]<<24)>>>32-t},dI.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},dI.buffReverseBits=function(A,t){const I=A.byteLength/t,i=dI.log2(I);if(I!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<I;g++){const I=dI.bitReverse(g,i);if(g>I){const i=A.slice(g*t,(g+1)*t);A.set(A.slice(I*t,(I+1)*t),g*t),A.set(i,I*t)}}};let{bitReverse:HI,log2:UI,buffReverseBits:LI,stringifyBigInts:NI,unstringifyBigInts:kI,beBuff2int:JI,beInt2Buff:SI,leBuff2int:vI,leInt2Buff:RI}=dI;var qI=Object.freeze({__proto__:null,bitReverse:HI,log2:UI,buffReverseBits:LI,stringifyBigInts:NI,unstringifyBigInts:kI,beBuff2int:JI,beInt2Buff:SI,leBuff2int:vI,leInt2Buff:RI});const YI=1<<30;class xI{constructor(A){this.buffers=[],this.byteLength=A;for(let t=0;t<A;t+=YI){const I=Math.min(A-t,YI);this.buffers.push(new Uint8Array(I))}}slice(A,t){void 0===t&&(t=this.byteLength),void 0===A&&(A=0);const I=t-A,i=Math.floor(A/YI);if(i==Math.floor((A+I-1)/YI)||0==I)return this.buffers[i].slice(A%YI,A%YI+I);let g,e=i,n=A%YI,C=I;for(;C>0;){const A=n+C>YI?YI-n:C,t=new Uint8Array(this.buffers[e].buffer,this.buffers[e].byteOffset+n,A);if(A==I)return t.slice();g||(g=I<=YI?new Uint8Array(I):new xI(I)),g.set(t,I-C),C-=A,e++,n=0}return g}set(A,t){void 0===t&&(t=0);const I=A.byteLength;if(0==I)return;const i=Math.floor(t/YI);if(i==Math.floor((t+I-1)/YI))return A instanceof xI&&1==A.buffers.length?this.buffers[i].set(A.buffers[0],t%YI):this.buffers[i].set(A,t%YI);let g=i,e=t%YI,n=I;for(;n>0;){const t=e+n>YI?YI-e:n,i=A.slice(I-n,I-n+t);new Uint8Array(this.buffers[g].buffer,this.buffers[g].byteOffset+e,t).set(i),n-=t,g++,e=0}}}function PI(A,t,I,i){return async function(g){const e=Math.floor(g.byteLength/I);if(e*I!==g.byteLength)throw new Error("Invalid buffer size");const n=Math.floor(e/A.concurrency),C=[];for(let Q=0;Q<A.concurrency;Q++){let B;if(B=Q<A.concurrency-1?n:e-Q*n,0==B)continue;const r=[{cmd:"ALLOCSET",var:0,buff:g.slice(Q*n*I,Q*n*I+B*I)},{cmd:"ALLOC",var:1,len:i*B},{cmd:"CALL",fnName:t,params:[{var:0},{val:B},{var:1}]},{cmd:"GET",out:0,var:1,len:i*B}];C.push(A.queueAction(r))}const Q=await Promise.all(C);let B;B=g instanceof xI?new xI(e*i):new Uint8Array(e*i);let r=0;for(let A=0;A<Q.length;A++)B.set(Q[A][0],r),r+=Q[A][0].byteLength;return B}}class XI{constructor(A,t,I,i){if(this.tm=A,this.prefix=t,this.p=i,this.n8=I,this.type="F1",this.m=1,this.half=kt(i,mt),this.bitLength=Ht(i),this.mask=Xt(Nt(mt,this.bitLength),mt),this.pOp1=A.alloc(I),this.pOp2=A.alloc(I),this.pOp3=A.alloc(I),this.tm.instance.exports[t+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,this.n8),this.tm.instance.exports[t+"_one"](this.pOp1),this.one=this.tm.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.n64=Math.floor(I/8),this.n32=Math.floor(I/4),8*this.n64!=this.n8)throw new Error("n8 must be a multiple of 8");this.half=kt(this.p,mt),this.nqr=this.two;let g=this.exp(this.nqr,this.half);for(;!this.eq(g,this.negone);)this.nqr=this.add(this.nqr,this.one),g=this.exp(this.nqr,this.half);this.shift=this.mul(this.nqr,this.nqr),this.shiftInv=this.inv(this.shift),this.s=0;let e=Xt(this.p,mt);for(;!vt(e);)this.s=this.s+1,e=kt(e,mt);this.w=[],this.w[this.s]=this.exp(this.nqr,e);for(let A=this.s-1;A>=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=PI(A,t+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=PI(A,t+"_batchFromMontgomery",this.n8,this.n8)}op2(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,t){return this.op2("_add",A,t)}eq(A,t){return this.op2Bool("_eq",A,t)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,t){return this.op2("_sub",A,t)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,t){return this.op2("_mul",A,t)}div(A,t){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,t){return t instanceof Uint8Array||(t=Ft(Gt(t))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,t){if(A instanceof Uint8Array)return A;let I=Gt(A,t);Ut(I)?(I=Ot(I),tI(I,this.p)&&(I=Tt(I,this.p)),I=Xt(this.p,I)):tI(I,this.p)&&(I=Tt(I,this.p));const i=RI(I,this.n8);return this.toMontgomery(i)}toString(A,t){const I=this.fromMontgomery(A),i=lt(I,0);return pt(i,t)}fromRng(A){let t;const I=new Uint8Array(this.n8);do{t=Mt;for(let I=0;I<this.n64;I++)t=Pt(t,Nt(A.nextU64(),64*I));t=gI(t,this.mask)}while(iI(t,this.p));return Dt(I,0,t,this.n8),I}random(){return this.fromRng(DI())}toObject(A){const t=this.fromMontgomery(A);return lt(t,0)}fromObject(A){const t=new Uint8Array(this.n8);return Dt(t,0,A,this.n8),this.toMontgomery(t)}toRprLE(A,t,I){A.set(this.fromMontgomery(I),t)}toRprBE(A,t,I){const i=this.fromMontgomery(I);for(let A=0;A<this.n8/2;A++){const t=i[A];i[A]=i[this.n8-1-A],i[this.n8-1-A]=t}A.set(i,t)}fromRprLE(A,t){t=t||0;const I=A.slice(t,t+this.n8);return this.toMontgomery(I)}async batchInverse(A){const t=this.n8,I=this.n8,i=Math.floor(A.byteLength/t);if(i*t!==A.byteLength)throw new Error("Invalid buffer size");const g=Math.floor(i/this.tm.concurrency),e=[];for(let n=0;n<this.tm.concurrency;n++){let C;if(C=n<this.tm.concurrency-1?g:i-n*g,0==C)continue;const Q=[{cmd:"ALLOCSET",var:0,buff:A.slice(n*g*t,n*g*t+C*t)},{cmd:"ALLOC",var:1,len:I*C},{cmd:"CALL",fnName:this.prefix+"_batchInverse",params:[{var:0},{val:t},{val:C},{var:1},{val:I}]},{cmd:"GET",out:0,var:1,len:I*C}];e.push(this.tm.queueAction(Q))}const n=await Promise.all(e);let C;C=A instanceof xI?new xI(i*I):new Uint8Array(i*I);let Q=0;for(let A=0;A<n.length;A++)C.set(n[A][0],Q),Q+=n[A][0].byteLength;return C}}class OI{constructor(A,t,I){this.tm=A,this.prefix=t,this.F=I,this.type="F2",this.m=2*I.m,this.n8=2*this.F.n8,this.n32=2*this.F.n32,this.n64=2*this.F.n64,this.pOp1=A.alloc(2*I.n8),this.pOp2=A.alloc(2*I.n8),this.pOp3=A.alloc(2*I.n8),this.tm.instance.exports[t+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[t+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,t){return this.op2("_add",A,t)}eq(A,t){return this.op2Bool("_eq",A,t)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,t){return this.op2("_sub",A,t)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,t){return this.op2("_mul",A,t)}mul1(A,t){return this.op2("_mul1",A,t)}div(A,t){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,t){return t instanceof Uint8Array||(t=Ft(Gt(t))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}e(A,t){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&2==A.length){const I=this.F.e(A[0],t),i=this.F.e(A[1],t),g=new Uint8Array(2*this.F.n8);return g.set(I),g.set(i,2*this.F.n8),g}throw new Error("invalid F2")}toString(A,t){return`[${this.F.toString(A.slice(0,this.F.n8),t)}, ${this.F.toString(A.slice(this.F.n8),t)}]`}fromRng(A){const t=this.F.fromRng(A),I=this.F.fromRng(A),i=new Uint8Array(2*this.F.n8);return i.set(t),i.set(I,this.F.n8),i}random(){return this.fromRng(DI())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8))]}fromObject(A){const t=new Uint8Array(2*this.F.n8),I=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]);return t.set(I),t.set(i,this.F.n8),t}c1(A){return A.slice(0,this.F.n8)}c2(A){return A.slice(this.F.n8)}}class ZI{constructor(A,t,I){this.tm=A,this.prefix=t,this.F=I,this.type="F3",this.m=3*I.m,this.n8=3*this.F.n8,this.n32=3*this.F.n32,this.n64=3*this.F.n64,this.pOp1=A.alloc(3*I.n8),this.pOp2=A.alloc(3*I.n8),this.pOp3=A.alloc(3*I.n8),this.tm.instance.exports[t+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[t+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}eq(A,t){return this.op2Bool("_eq",A,t)}isZero(A){return this.op1Bool("_isZero",A)}add(A,t){return this.op2("_add",A,t)}sub(A,t){return this.op2("_sub",A,t)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,t){return this.op2("_mul",A,t)}div(A,t){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,t){return t instanceof Uint8Array||(t=Ft(Gt(t))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.getBuff(this.pOp3,this.n8)}e(A,t){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&3==A.length){const I=this.F.e(A[0],t),i=this.F.e(A[1],t),g=this.F.e(A[2],t),e=new Uint8Array(3*this.F.n8);return e.set(I),e.set(i,this.F.n8),e.set(g,2*this.F.n8),e}throw new Error("invalid F3")}toString(A,t){return`[${this.F.toString(A.slice(0,this.F.n8),t)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),t)}, ${this.F.toString(A.slice(2*this.F.n8),t)}]`}fromRng(A){const t=this.F.fromRng(A),I=this.F.fromRng(A),i=this.F.fromRng(A),g=new Uint8Array(3*this.F.n8);return g.set(t),g.set(I,this.F.n8),g.set(i,2*this.F.n8),g}random(){return this.fromRng(DI())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8)),this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8))]}fromObject(A){const t=new Uint8Array(3*this.F.n8),I=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]),g=this.F.fromObject(A[2]);return t.set(I),t.set(i,this.F.n8),t.set(g,2*this.F.n8),t}c1(A){return A.slice(0,this.F.n8)}c2(A){return A.slice(this.F.n8,2*this.F.n8)}c3(A){return A.slice(2*this.F.n8)}}class VI{constructor(A,t,I,i,g,e){this.tm=A,this.prefix=t,this.F=I,this.pOp1=A.alloc(3*I.n8),this.pOp2=A.alloc(3*I.n8),this.pOp3=A.alloc(3*I.n8),this.tm.instance.exports[t+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,3*I.n8),this.tm.instance.exports[t+"_zeroAffine"](this.pOp1),this.zeroAffine=this.tm.getBuff(this.pOp1,2*I.n8),this.one=this.tm.getBuff(i,3*I.n8),this.g=this.one,this.oneAffine=this.tm.getBuff(i,2*I.n8),this.gAffine=this.oneAffine,this.b=this.tm.getBuff(g,I.n8),e&&(this.cofactor=Ft(e)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=PI(A,t+"_batchLEMtoC",2*I.n8,I.n8),this.batchLEMtoU=PI(A,t+"_batchLEMtoU",2*I.n8,2*I.n8),this.batchCtoLEM=PI(A,t+"_batchCtoLEM",I.n8,2*I.n8),this.batchUtoLEM=PI(A,t+"_batchUtoLEM",2*I.n8,2*I.n8),this.batchToJacobian=PI(A,t+"_batchToJacobian",2*I.n8,3*I.n8),this.batchToAffine=PI(A,t+"_batchToAffine",3*I.n8,2*I.n8)}op2(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op2bool(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3)}op1(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op1Affine(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,2*this.F.n8)}op1Bool(A,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,t){if(A.byteLength==3*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2("_add",A,t);if(t.byteLength==2*this.F.n8)return this.op2("_addMixed",A,t);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2("_addMixed",t,A);if(t.byteLength==2*this.F.n8)return this.op2("_addAffine",A,t);throw new Error("invalid point size")}throw new Error("invalid point size")}sub(A,t){if(A.byteLength==3*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2("_sub",A,t);if(t.byteLength==2*this.F.n8)return this.op2("_subMixed",A,t);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2("_subMixed",t,A);if(t.byteLength==2*this.F.n8)return this.op2("_subAffine",A,t);throw new Error("invalid point size")}throw new Error("invalid point size")}neg(A){if(A.byteLength==3*this.F.n8)return this.op1("_neg",A);if(A.byteLength==2*this.F.n8)return this.op1Affine("_negAffine",A);throw new Error("invalid point size")}double(A){if(A.byteLength==3*this.F.n8)return this.op1("_double",A);if(A.byteLength==2*this.F.n8)return this.op1("_doubleAffine",A);throw new Error("invalid point size")}isZero(A){if(A.byteLength==3*this.F.n8)return this.op1Bool("_isZero",A);if(A.byteLength==2*this.F.n8)return this.op1Bool("_isZeroAffine",A);throw new Error("invalid point size")}timesScalar(A,t){let I;if(t instanceof Uint8Array||(t=Ft(Gt(t))),A.byteLength==3*this.F.n8)I=this.prefix+"_timesScalar";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");I=this.prefix+"_timesScalarAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[I](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}timesFr(A,t){let I;if(A.byteLength==3*this.F.n8)I=this.prefix+"_timesFr";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");I=this.prefix+"_timesFrAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[I](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}eq(A,t){if(A.byteLength==3*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2bool("_eq",A,t);if(t.byteLength==2*this.F.n8)return this.op2bool("_eqMixed",A,t);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2bool("_eqMixed",t,A);if(t.byteLength==2*this.F.n8)return this.op2bool("_eqAffine",A,t);throw new Error("invalid point size")}throw new Error("invalid point size")}toAffine(A){if(A.byteLength==3*this.F.n8)return this.op1Affine("_toAffine",A);if(A.byteLength==2*this.F.n8)return A;throw new Error("invalid point size")}toJacobian(A){if(A.byteLength==3*this.F.n8)return A;if(A.byteLength==2*this.F.n8)return this.op1("_toJacobian",A);throw new Error("invalid point size")}toRprUncompressed(A,t,I){if(this.tm.setBuff(this.pOp1,I),I.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(I.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoU"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,t)}fromRprUncompressed(A,t){const I=A.slice(t,t+2*this.F.n8);return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+"_UtoLEM"](this.pOp1,this.pOp1),this.tm.getBuff(this.pOp1,2*this.F.n8)}toRprCompressed(A,t,I){if(this.tm.setBuff(this.pOp1,I),I.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(I.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoC"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,this.F.n8);A.set(i,t)}fromRprCompressed(A,t){const I=A.slice(t,t+this.F.n8);return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+"_CtoLEM"](this.pOp1,this.pOp2),this.tm.getBuff(this.pOp2,2*this.F.n8)}toUncompressed(A){const t=new Uint8Array(2*this.F.n8);return this.toRprUncompressed(t,0,A),t}toRprLEM(A,t,I){if(I.byteLength!=2*this.F.n8){if(I.byteLength!=3*this.F.n8)throw new Error("invalid point size");{this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,t)}}else A.set(I,t)}fromRprLEM(A,t){return t=t||0,A.slice(t,t+2*this.F.n8)}toString(A,t){if(A.byteLength==3*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),t)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),t)}, ${this.F.toString(A.slice(2*this.F.n8),t)} ]`}if(A.byteLength==2*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),t)}, ${this.F.toString(A.slice(this.F.n8),t)} ]`}throw new Error("invalid point size")}isValid(A){if(this.isZero(A))return!0;const t=this.F,I=this.toAffine(A),i=I.slice(0,this.F.n8),g=I.slice(this.F.n8,2*this.F.n8),e=t.add(t.mul(t.square(i),i),this.b),n=t.square(g);return t.eq(e,n)}fromRng(A){const t=this.F;let I,i,g=[];do{g[0]=t.fromRng(A),I=A.nextBool(),i=t.add(t.mul(t.square(g[0]),g[0]),this.b)}while(!t.isSquare(i));g[1]=t.sqrt(i);I^t.isNegative(g[1])&&(g[1]=t.neg(g[1]));let e=new Uint8Array(2*this.F.n8);return e.set(g[0]),e.set(g[1],this.F.n8),this.cofactor&&(e=this.timesScalar(e,this.cofactor)),e}toObject(A){if(this.isZero(A))return[this.F.toObject(this.F.zero),this.F.toObject(this.F.one),this.F.toObject(this.F.zero)];const t=this.F.toObject(A.slice(0,this.F.n8)),I=this.F.toObject(A.slice(this.F.n8,2*this.F.n8));let i;return i=A.byteLength==3*this.F.n8?this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8)):this.F.toObject(this.F.one),[t,I,i]}fromObject(A){const t=this.F.fromObject(A[0]),I=this.F.fromObject(A[1]);let i;if(i=3==A.length?this.F.fromObject(A[2]):this.F.one,this.F.isZero(i,this.F.one))return this.zeroAffine;if(this.F.eq(i,this.F.one)){const A=new Uint8Array(2*this.F.n8);return A.set(t),A.set(I,this.F.n8),A}{const A=new Uint8Array(3*this.F.n8);return A.set(t),A.set(I,this.F.n8),A.set(i,2*this.F.n8),A}}e(A){return A instanceof Uint8Array?A:this.fromObject(A)}x(A){return this.toAffine(A).slice(0,this.F.n8)}y(A){return this.toAffine(A).slice(this.F.n8)}}function KI(A){const t=32767;let I,i;async function g(A){const g=new Uint8Array(A.code),e=await WebAssembly.compile(g);i=new WebAssembly.Memory({initial:A.init,maximum:t}),I=await WebAssembly.instantiate(e,{env:{memory:i}})}function e(A){const I=new Uint32Array(i.buffer,0,1);for(;3&I[0];)I[0]++;const g=I[0];if(I[0]+=A,I[0]+A>i.buffer.byteLength){const g=i.buffer.byteLength/65536;let e=Math.floor((I[0]+A)/65536)+1;e>t&&(e=t),i.grow(e-g)}return g}function n(A){const t=e(A.byteLength);return Q(t,A),t}function C(A,t){const I=new Uint8Array(i.buffer);return new Uint8Array(I.buffer,I.byteOffset+A,t)}function Q(A,t){new Uint8Array(i.buffer).set(new Uint8Array(t),A)}function B(A){if("INIT"==A[0].cmd)return g(A[0]);const t={vars:[],out:[]},B=new Uint32Array(i.buffer,0,1)[0];for(let i=0;i<A.length;i++)switch(A[i].cmd){case"ALLOCSET":t.vars[A[i].var]=n(A[i].buff);break;case"ALLOC":t.vars[A[i].var]=e(A[i].len);break;case"SET":Q(t.vars[A[i].var],A[i].buff);break;case"CALL":{const g=[];for(let I=0;I<A[i].params.length;I++){const e=A[i].params[I];void 0!==e.var?g.push(t.vars[e.var]+(e.offset||0)):void 0!==e.val&&g.push(e.val)}I.exports[A[i].fnName](...g);break}case"GET":t.out[A[i].out]=C(t.vars[A[i].var],A[i].len).slice();break;default:throw new Error("Invalid cmd")}return new Uint32Array(i.buffer,0,1)[0]=B,t.out}return A&&(A.onmessage=function(t){let I;if(I=t.data?t.data:t,"INIT"==I[0].cmd)g(I[0]).then((function(){A.postMessage(I.result)}));else if("TERMINATE"==I[0].cmd)process.exit();else{const t=B(I);A.postMessage(t)}}),B}class jI{constructor(){this.promise=new Promise(((A,t)=>{this.reject=t,this.resolve=A}))}}function zI(A){for(var t=window.atob(A),I=t.length,i=new Uint8Array(I),g=0;g<I;g++)i[g]=t.charCodeAt(g);return i}const WI="data:application/javascript;base64,"+function(A){return window.btoa(A)}("("+KI.toString()+")(self)");class TI{constructor(){this.actionQueue=[],this.oldPFree=0}startSyncOp(){if(0!=this.oldPFree)throw new Error("Sync operation in progress");this.oldPFree=this.u32[0]}endSyncOp(){if(0==this.oldPFree)throw new Error("No sync operation in progress");this.u32[0]=this.oldPFree,this.oldPFree=0}postAction(A,t,I,i){if(this.working[A])throw new Error("Posting a job t a working worker");return this.working[A]=!0,this.pendingDeferreds[A]=i||new jI,this.workers[A].postMessage(t,I),this.pendingDeferreds[A].promise}processWorks(){for(let A=0;A<this.workers.length&&this.actionQueue.length>0;A++)if(0==this.working[A]){const t=this.actionQueue.shift();this.postAction(A,t.data,t.transfers,t.deferred)}}queueAction(A,t){const I=new jI;if(this.singleThread){const t=this.taskManager(A);I.resolve(t)}else this.actionQueue.push({data:A,transfers:t,deferred:I}),this.processWorks();return I.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const t=this.alloc(A.byteLength);return this.setBuff(t,A),t}getBuff(A,t){return this.u8.slice(A,A+t)}setBuff(A,t){this.u8.set(new Uint8Array(t),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const t=this.u32[0];return this.u32[0]+=A,t}async terminate(){for(let A=0;A<this.workers.length;A++)this.workers[A].postMessage([{cmd:"TERMINATE"}]);var A;await(A=200,new Promise((t=>setTimeout(t,A))))}}function _I(A,t){const I=A[t],i=A.Fr,g=A.tm;A[t].batchApplyKey=async function(A,e,n,C,Q){let B,r,o,E,a;if(C=C||"affine",Q=Q||"affine","G1"==t)"jacobian"==C?(o=3*I.F.n8,B="g1m_batchApplyKey"):(o=2*I.F.n8,B="g1m_batchApplyKeyMixed"),E=3*I.F.n8,"jacobian"==Q?a=3*I.F.n8:(r="g1m_batchToAffine",a=2*I.F.n8);else if("G2"==t)"jacobian"==C?(o=3*I.F.n8,B="g2m_batchApplyKey"):(o=2*I.F.n8,B="g2m_batchApplyKeyMixed"),E=3*I.F.n8,"jacobian"==Q?a=3*I.F.n8:(r="g2m_batchToAffine",a=2*I.F.n8);else{if("Fr"!=t)throw new Error("Invalid group: "+t);B="frm_batchApplyKey",o=I.n8,E=I.n8,a=I.n8}const s=Math.floor(A.byteLength/o),h=Math.floor(s/g.concurrency),f=[];n=i.e(n);let w=i.e(e);for(let t=0;t<g.concurrency;t++){let I;if(I=t<g.concurrency-1?h:s-t*h,0==I)continue;const e=[];e.push({cmd:"ALLOCSET",var:0,buff:A.slice(t*h*o,t*h*o+I*o)}),e.push({cmd:"ALLOCSET",var:1,buff:w}),e.push({cmd:"ALLOCSET",var:2,buff:n}),e.push({cmd:"ALLOC",var:3,len:I*Math.max(E,a)}),e.push({cmd:"CALL",fnName:B,params:[{var:0},{val:I},{var:1},{var:2},{var:3}]}),r&&e.push({cmd:"CALL",fnName:r,params:[{var:3},{val:I},{var:3}]}),e.push({cmd:"GET",out:0,var:3,len:I*a}),f.push(g.queueAction(e)),w=i.mul(w,i.exp(n,I))}const c=await Promise.all(f);let D;D=A instanceof xI?new xI(s*a):new Uint8Array(s*a);let u=0;for(let A=0;A<c.length;A++)D.set(c[A][0],u),u+=c[A][0].byteLength;return D}}const $I=[1,1,1,1,2,3,4,5,6,7,7,8,9,10,11,12,13,13,14,15,16,16,17,17,17,17,17,17,17,17,17,17];function Ai(A,t){const I=A[t],i=I.tm;async function g(A,i,g,e,n){if(!(A instanceof Uint8Array))throw e&&e.error(`${n} _multiExpChunk buffBases is not Uint8Array`),new Error(`${n} _multiExpChunk buffBases is not Uint8Array`);if(!(i instanceof Uint8Array))throw e&&e.error(`${n} _multiExpChunk buffScalars is not Uint8Array`),new Error(`${n} _multiExpChunk buffScalars is not Uint8Array`);let C,Q;if(g=g||"affine","G1"==t)"affine"==g?(Q="g1m_multiexpAffine_chunk",C=2*I.F.n8):(Q="g1m_multiexp_chunk",C=3*I.F.n8);else{if("G2"!=t)throw new Error("Invalid group");"affine"==g?(Q="g2m_multiexpAffine_chunk",C=2*I.F.n8):(Q="g2m_multiexp_chunk",C=3*I.F.n8)}const B=Math.floor(A.byteLength/C);if(0==B)return I.zero;const r=Math.floor(i.byteLength/B);if(r*B!=i.byteLength)throw new Error("Scalar size does not match");const o=$I[UI(B)],E=Math.floor((8*r-1)/o)+1,a=[];for(let t=0;t<E;t++){const g=[{cmd:"ALLOCSET",var:0,buff:A},{cmd:"ALLOCSET",var:1,buff:i},{cmd:"ALLOC",var:2,len:3*I.F.n8},{cmd:"CALL",fnName:Q,params:[{var:0},{var:1},{val:r},{val:B},{val:t*o},{val:Math.min(8*r-t*o,o)},{var:2}]},{cmd:"GET",out:0,var:2,len:3*I.F.n8}];a.push(I.tm.queueAction(g))}const s=await Promise.all(a);let h=I.zero;for(let A=s.length-1;A>=0;A--){if(!I.isZero(h))for(let A=0;A<o;A++)h=I.double(h);h=I.add(h,s[A][0])}return h}async function e(A,e,n,C,Q){const B=1<<22;let r;if("G1"==t)r="affine"==n?2*I.F.n8:3*I.F.n8;else{if("G2"!=t)throw new Error("Invalid group");r="affine"==n?2*I.F.n8:3*I.F.n8}const o=Math.floor(A.byteLength/r),E=Math.floor(e.byteLength/o);if(E*o!=e.byteLength)throw new Error("Scalar size does not match");const a=$I[UI(o)],s=Math.floor((8*E-1)/a)+1;let h;h=Math.floor(o/(i.concurrency/s)),h>B&&(h=B),h<1024&&(h=1024);const f=[];for(let t=0;t<o;t+=h){C&&C.debug(`Multiexp start: ${Q}: ${t}/${o}`);const I=Math.min(o-t,h),i=A.slice(t*r,(t+I)*r),B=e.slice(t*E,(t+I)*E);f.push(g(i,B,n,C,Q).then((A=>(C&&C.debug(`Multiexp end: ${Q}: ${t}/${o}`),A))))}const w=await Promise.all(f);let c=I.zero;for(let A=w.length-1;A>=0;A--)c=I.add(c,w[A]);return c}I.multiExp=async function(A,t,I,i){return await e(A,t,"jacobian",I,i)},I.multiExpAffine=async function(A,t,I,i){return await e(A,t,"affine",I,i)}}function ti(A,t){const I=A[t],i=A.Fr,g=I.tm;async function e(C,Q,B,r,o,E){B=B||"affine",r=r||"affine";let a,s,h,f,w,c,D,u;"G1"==t?("affine"==B?(a=2*I.F.n8,f="g1m_batchToJacobian"):a=3*I.F.n8,s=3*I.F.n8,Q&&(u="g1m_fftFinal"),D="g1m_fftJoin",c="g1m_fftMix","affine"==r?(h=2*I.F.n8,w="g1m_batchToAffine"):h=3*I.F.n8):"G2"==t?("affine"==B?(a=2*I.F.n8,f="g2m_batchToJacobian"):a=3*I.F.n8,s=3*I.F.n8,Q&&(u="g2m_fftFinal"),D="g2m_fftJoin",c="g2m_fftMix","affine"==r?(h=2*I.F.n8,w="g2m_batchToAffine"):h=3*I.F.n8):"Fr"==t&&(a=I.n8,s=I.n8,h=I.n8,Q&&(u="frm_fftFinal"),c="frm_fftMix",D="frm_fftJoin");let l=!1;Array.isArray(C)?(C=A.array2buffer(C,a),l=!0):C=C.slice(0,C.byteLength);const y=C.byteLength/a,p=UI(y);if(1<<p!=y)throw new Error("fft must be multiple of 2");if(p==i.s+1){let t;return t=Q?await async function(A,t,I,g,C){let Q,B;Q=A.slice(0,A.byteLength/2),B=A.slice(A.byteLength/2,A.byteLength);const r=[];r.push(e(Q,!0,t,"jacobian",g,C)),r.push(e(B,!0,t,"jacobian",g,C)),[Q,B]=await Promise.all(r);const o=await n(Q,B,"fftJoinExtInv",i.one,i.shiftInv,"jacobian",I,g,C);let E;E=o[0].byteLength>1<<28?new xI(2*o[0].byteLength):new Uint8Array(2*o[0].byteLength);return E.set(o[0]),E.set(o[1],o[0].byteLength),E}(C,B,r,o,E):await async function(A,t,I,g,C){let Q,B;Q=A.slice(0,A.byteLength/2),B=A.slice(A.byteLength/2,A.byteLength);const r=[];[Q,B]=await n(Q,B,"fftJoinExt",i.one,i.shift,t,"jacobian",g,C),r.push(e(Q,!1,"jacobian",I,g,C)),r.push(e(B,!1,"jacobian",I,g,C));const o=await Promise.all(r);let E;E=o[0].byteLength>1<<28?new xI(2*o[0].byteLength):new Uint8Array(2*o[0].byteLength);return E.set(o[0]),E.set(o[1],o[0].byteLength),E}(C,B,r,o,E),l?A.buffer2array(t,h):t}let F,M,m;Q&&(F=i.inv(i.e(y))),LI(C,a);let d=Math.min(16384,y),G=y/d;for(;G<g.concurrency&&d>=16;)G*=2,d/=2;const b=UI(d),H=[];for(let A=0;A<G;A++){o&&o.debug(`${E}: fft ${p} mix start: ${A}/${G}`);const t=[];t.push({cmd:"ALLOC",var:0,len:s*d});const I=C.slice(d*A*a,d*(A+1)*a);t.push({cmd:"SET",var:0,buff:I}),f&&t.push({cmd:"CALL",fnName:f,params:[{var:0},{val:d},{var:0}]});for(let A=1;A<=b;A++)t.push({cmd:"CALL",fnName:c,params:[{var:0},{val:d},{val:A}]});b==p?(u&&(t.push({cmd:"ALLOCSET",var:1,buff:F}),t.push({cmd:"CALL",fnName:u,params:[{var:0},{val:d},{var:1}]})),w&&t.push({cmd:"CALL",fnName:w,params:[{var:0},{val:d},{var:0}]}),t.push({cmd:"GET",out:0,var:0,len:d*h})):t.push({cmd:"GET",out:0,var:0,len:s*d}),H.push(g.queueAction(t).then((t=>(o&&o.debug(`${E}: fft ${p} mix end: ${A}/${G}`),t))))}m=await Promise.all(H);for(let A=0;A<G;A++)m[A]=m[A][0];for(let A=b+1;A<=p;A++){o&&o.debug(`${E}: fft ${p} join: ${A}/${p}`);const t=1<<p-A,I=G/t,e=[];for(let n=0;n<t;n++)for(let C=0;C<I/2;C++){const Q=i.exp(i.w[A],C*d),B=i.w[A],r=n*I+C,a=n*I+C+I/2,f=[];f.push({cmd:"ALLOCSET",var:0,buff:m[r]}),f.push({cmd:"ALLOCSET",var:1,buff:m[a]}),f.push({cmd:"ALLOCSET",var:2,buff:Q}),f.push({cmd:"ALLOCSET",var:3,buff:B}),f.push({cmd:"CALL",fnName:D,params:[{var:0},{var:1},{val:d},{var:2},{var:3}]}),A==p?(u&&(f.push({cmd:"ALLOCSET",var:4,buff:F}),f.push({cmd:"CALL",fnName:u,params:[{var:0},{val:d},{var:4}]}),f.push({cmd:"CALL",fnName:u,params:[{var:1},{val:d},{var:4}]})),w&&(f.push({cmd:"CALL",fnName:w,params:[{var:0},{val:d},{var:0}]}),f.push({cmd:"CALL",fnName:w,params:[{var:1},{val:d},{var:1}]})),f.push({cmd:"GET",out:0,var:0,len:d*h}),f.push({cmd:"GET",out:1,var:1,len:d*h})):(f.push({cmd:"GET",out:0,var:0,len:d*s}),f.push({cmd:"GET",out:1,var:1,len:d*s})),e.push(g.queueAction(f).then((i=>(o&&o.debug(`${E}: fft ${p} join ${A}/${p} ${n+1}/${t} ${C}/${I/2}`),i))))}const n=await Promise.all(e);for(let A=0;A<t;A++)for(let t=0;t<I/2;t++){const i=A*I+t,g=A*I+t+I/2,e=n.shift();m[i]=e[0],m[g]=e[1]}}if(M=C instanceof xI?new xI(y*h):new Uint8Array(y*h),Q){M.set(m[0].slice((d-1)*h));let A=h;for(let t=G-1;t>0;t--)M.set(m[t],A),A+=d*h,delete m[t];M.set(m[0].slice(0,(d-1)*h),A),delete m[0]}else for(let A=0;A<G;A++)M.set(m[A],d*h*A),delete m[A];return l?A.buffer2array(M,h):M}async function n(A,e,n,C,Q,B,r,o,E){let a,s,h,f,w,c;if("G1"==t)"affine"==B?(w=2*I.F.n8,s="g1m_batchToJacobian"):w=3*I.F.n8,c=3*I.F.n8,a="g1m_"+n,"affine"==r?(h="g1m_batchToAffine",f=2*I.F.n8):f=3*I.F.n8;else if("G2"==t)"affine"==B?(w=2*I.F.n8,s="g2m_batchToJacobian"):w=3*I.F.n8,a="g2m_"+n,c=3*I.F.n8,"affine"==r?(h="g2m_batchToAffine",f=2*I.F.n8):f=3*I.F.n8;else{if("Fr"!=t)throw new Error("Invalid group");w=i.n8,f=i.n8,c=i.n8,a="frm_"+n}if(A.byteLength!=e.byteLength)throw new Error("Invalid buffer size");const D=Math.floor(A.byteLength/w);if(D!=1<<UI(D))throw new Error("Invalid number of points");let u=Math.floor(D/g.concurrency);u<16&&(u=16),u>65536&&(u=65536);const l=[];for(let t=0;t<D;t+=u){o&&o.debug(`${E}: fftJoinExt Start: ${t}/${D}`);const I=Math.min(D-t,u),n=i.mul(C,i.exp(Q,t)),B=[],r=A.slice(t*w,(t+I)*w),y=e.slice(t*w,(t+I)*w);B.push({cmd:"ALLOC",var:0,len:c*I}),B.push({cmd:"SET",var:0,buff:r}),B.push({cmd:"ALLOC",var:1,len:c*I}),B.push({cmd:"SET",var:1,buff:y}),B.push({cmd:"ALLOCSET",var:2,buff:n}),B.push({cmd:"ALLOCSET",var:3,buff:Q}),s&&(B.push({cmd:"CALL",fnName:s,params:[{var:0},{val:I},{var:0}]}),B.push({cmd:"CALL",fnName:s,params:[{var:1},{val:I},{var:1}]})),B.push({cmd:"CALL",fnName:a,params:[{var:0},{var:1},{val:I},{var:2},{var:3},{val:i.s}]}),h&&(B.push({cmd:"CALL",fnName:h,params:[{var:0},{val:I},{var:0}]}),B.push({cmd:"CALL",fnName:h,params:[{var:1},{val:I},{var:1}]})),B.push({cmd:"GET",out:0,var:0,len:I*f}),B.push({cmd:"GET",out:1,var:1,len:I*f}),l.push(g.queueAction(B).then((A=>(o&&o.debug(`${E}: fftJoinExt End: ${t}/${D}`),A))))}const y=await Promise.all(l);let p,F;D*f>1<<28?(p=new xI(D*f),F=new xI(D*f)):(p=new Uint8Array(D*f),F=new Uint8Array(D*f));let M=0;for(let A=0;A<y.length;A++)p.set(y[A][0],M),F.set(y[A][1],M),M+=y[A][0].byteLength;return[p,F]}I.fft=async function(A,t,I,i,g){return await e(A,!1,t,I,i,g)},I.ifft=async function(A,t,I,i,g){return await e(A,!0,t,I,i,g)},I.lagrangeEvaluations=async function(A,g,C,Q,B){let r;if(g=g||"affine",C=C||"affine","G1"==t)r="affine"==g?2*I.F.n8:3*I.F.n8;else if("G2"==t)r="affine"==g?2*I.F.n8:3*I.F.n8;else{if("Fr"!=t)throw new Error("Invalid group");r=i.n8}const o=A.byteLength/r,E=UI(o);if(2**E*r!=A.byteLength)throw Q&&Q.error("lagrangeEvaluations iinvalid input size"),new Error("lagrangeEvaluations invalid Input size");if(E<=i.s)return await I.ifft(A,g,C,Q,B);if(E>i.s+1)throw Q&&Q.error("lagrangeEvaluations input too big"),new Error("lagrangeEvaluations input too big");let a=A.slice(0,A.byteLength/2),s=A.slice(A.byteLength/2,A.byteLength);const h=i.exp(i.shift,o/2),f=i.inv(i.sub(i.one,h));[a,s]=await n(a,s,"prepareLagrangeEvaluation",f,i.shiftInv,g,"jacobian",Q,B+" prep");const w=[];let c;return w.push(e(a,!0,"jacobian",C,Q,B+" t0")),w.push(e(s,!0,"jacobian",C,Q,B+" t1")),[a,s]=await Promise.all(w),c=a.byteLength>1<<28?new xI(2*a.byteLength):new Uint8Array(2*a.byteLength),c.set(a),c.set(s,a.byteLength),c},I.fftMix=async function(A){const e=3*I.F.n8;let n,C;if("G1"==t)n="g1m_fftMix",C="g1m_fftJoin";else if("G2"==t)n="g2m_fftMix",C="g2m_fftJoin";else{if("Fr"!=t)throw new Error("Invalid group");n="frm_fftMix",C="frm_fftJoin"}const Q=Math.floor(A.byteLength/e),B=UI(Q);let r=1<<UI(g.concurrency);Q<=2*r&&(r=1);const o=Q/r,E=UI(o),a=[];for(let t=0;t<r;t++){const I=[],i=A.slice(t*o*e,(t+1)*o*e);I.push({cmd:"ALLOCSET",var:0,buff:i});for(let A=1;A<=E;A++)I.push({cmd:"CALL",fnName:n,params:[{var:0},{val:o},{val:A}]});I.push({cmd:"GET",out:0,var:0,len:o*e}),a.push(g.queueAction(I))}const s=await Promise.all(a),h=[];for(let A=0;A<s.length;A++)h[A]=s[A][0];for(let A=E+1;A<=B;A++){const t=1<<B-A,I=r/t,n=[];for(let Q=0;Q<t;Q++)for(let t=0;t<I/2;t++){const B=i.exp(i.w[A],t*o),r=i.w[A],E=Q*I+t,a=Q*I+t+I/2,s=[];s.push({cmd:"ALLOCSET",var:0,buff:h[E]}),s.push({cmd:"ALLOCSET",var:1,buff:h[a]}),s.push({cmd:"ALLOCSET",var:2,buff:B}),s.push({cmd:"ALLOCSET",var:3,buff:r}),s.push({cmd:"CALL",fnName:C,params:[{var:0},{var:1},{val:o},{var:2},{var:3}]}),s.push({cmd:"GET",out:0,var:0,len:o*e}),s.push({cmd:"GET",out:1,var:1,len:o*e}),n.push(g.queueAction(s))}const Q=await Promise.all(n);for(let A=0;A<t;A++)for(let t=0;t<I/2;t++){const i=A*I+t,g=A*I+t+I/2,e=Q.shift();h[i]=e[0],h[g]=e[1]}}let f;f=A instanceof xI?new xI(Q*e):new Uint8Array(Q*e);let w=0;for(let A=0;A<r;A++)f.set(h[A],w),w+=h[A].byteLength;return f},I.fftJoin=async function(A,e,n,C){const Q=3*I.F.n8;let B;if("G1"==t)B="g1m_fftJoin";else if("G2"==t)B="g2m_fftJoin";else{if("Fr"!=t)throw new Error("Invalid group");B="frm_fftJoin"}if(A.byteLength!=e.byteLength)throw new Error("Invalid buffer size");const r=Math.floor(A.byteLength/Q);if(r!=1<<UI(r))throw new Error("Invalid number of points");let o=1<<UI(g.concurrency);r<=2*o&&(o=1);const E=r/o,a=[];for(let t=0;t<o;t++){const I=[],r=i.mul(n,i.exp(C,t*E)),o=A.slice(t*E*Q,(t+1)*E*Q),s=e.slice(t*E*Q,(t+1)*E*Q);I.push({cmd:"ALLOCSET",var:0,buff:o}),I.push({cmd:"ALLOCSET",var:1,buff:s}),I.push({cmd:"ALLOCSET",var:2,buff:r}),I.push({cmd:"ALLOCSET",var:3,buff:C}),I.push({cmd:"CALL",fnName:B,params:[{var:0},{var:1},{val:E},{var:2},{var:3}]}),I.push({cmd:"GET",out:0,var:0,len:E*Q}),I.push({cmd:"GET",out:1,var:1,len:E*Q}),a.push(g.queueAction(I))}const s=await Promise.all(a);let h,f;A instanceof xI?(h=new xI(r*Q),f=new xI(r*Q)):(h=new Uint8Array(r*Q),f=new Uint8Array(r*Q));let w=0;for(let A=0;A<s.length;A++)h.set(s[A][0],w),f.set(s[A][1],w),w+=s[A][0].byteLength;return[h,f]},I.fftFinal=async function(A,i){const e=3*I.F.n8,n=2*I.F.n8;let C,Q;if("G1"==t)C="g1m_fftFinal",Q="g1m_batchToAffine";else{if("G2"!=t)throw new Error("Invalid group");C="g2m_fftFinal",Q="g2m_batchToAffine"}const B=Math.floor(A.byteLength/e);if(B!=1<<UI(B))throw new Error("Invalid number of points");const r=Math.floor(B/g.concurrency),o=[];for(let t=0;t<g.concurrency;t++){let I;if(I=t<g.concurrency-1?r:B-t*r,0==I)continue;const E=[],a=A.slice(t*r*e,(t*r+I)*e);E.push({cmd:"ALLOCSET",var:0,buff:a}),E.push({cmd:"ALLOCSET",var:1,buff:i}),E.push({cmd:"CALL",fnName:C,params:[{var:0},{val:I},{var:1}]}),E.push({cmd:"CALL",fnName:Q,params:[{var:0},{val:I},{var:0}]}),E.push({cmd:"GET",out:0,var:0,len:I*n}),o.push(g.queueAction(E))}const E=await Promise.all(o);let a;a=A instanceof xI?new xI(B*n):new Uint8Array(B*n);let s=0;for(let A=E.length-1;A>=0;A--)a.set(E[A][0],s),s+=E[A][0].byteLength;return a}}async function Ii(A){const t=await async function(A,t){const I=new TI;I.memory=new WebAssembly.Memory({initial:25}),I.u8=new Uint8Array(I.memory.buffer),I.u32=new Uint32Array(I.memory.buffer);const i=await WebAssembly.compile(zI(A.code));if(I.instance=await WebAssembly.instantiate(i,{env:{memory:I.memory}}),I.singleThread=t,I.initalPFree=I.u32[0],I.pq=A.pq,I.pr=A.pr,I.pG1gen=A.pG1gen,I.pG1zero=A.pG1zero,I.pG2gen=A.pG2gen,I.pG2zero=A.pG2zero,I.pOneT=A.pOneT,t)I.code=zI(A.code),I.taskManager=KI(),await I.taskManager([{cmd:"INIT",init:25,code:I.code.slice()}]),I.concurrency=1;else{let t;if(I.workers=[],I.pendingDeferreds=[],I.working=[],"object"==typeof navigator&&navigator.hardwareConcurrency)t=navigator.hardwareConcurrency;else try{t=mA.cpus().length}catch{t=8}t>64&&(t=64),I.concurrency=t;for(let A=0;A<t;A++)I.workers[A]=new dA(WI),I.workers[A].addEventListener("message",g(A)),I.working[A]=!1;const i=[];for(let t=0;t<I.workers.length;t++){const g=zI(A.code).slice();i.push(I.postAction(t,[{cmd:"INIT",init:25,code:g}],[g.buffer]))}await Promise.all(i)}return I;function g(A){return function(t){let i;i=t&&t.data?t.data:t,I.working[A]=!1,I.pendingDeferreds[A].resolve(i),I.processWorks()}}}(A.wasm,A.singleThread),I={};return I.q=Gt(A.wasm.q),I.r=Gt(A.wasm.r),I.name=A.name,I.tm=t,I.prePSize=A.wasm.prePSize,I.preQSize=A.wasm.preQSize,I.Fr=new XI(t,"frm",A.n8r,A.r),I.F1=new XI(t,"f1m",A.n8q,A.q),I.F2=new OI(t,"f2m",I.F1),I.G1=new VI(t,"g1m",I.F1,A.wasm.pG1gen,A.wasm.pG1b,A.cofactorG1),I.G2=new VI(t,"g2m",I.F2,A.wasm.pG2gen,A.wasm.pG2b,A.cofactorG2),I.F6=new ZI(t,"f6m",I.F2),I.F12=new OI(t,"ftm",I.F6),I.Gt=I.F12,_I(I,"G1"),_I(I,"G2"),_I(I,"Fr"),Ai(I,"G1"),Ai(I,"G2"),ti(I,"G1"),ti(I,"G2"),ti(I,"Fr"),function(A){const t=A.tm;A.pairing=function(I,i){t.startSyncOp();const g=t.allocBuff(A.G1.toJacobian(I)),e=t.allocBuff(A.G2.toJacobian(i)),n=t.alloc(A.Gt.n8);t.instance.exports[A.name+"_pairing"](g,e,n);const C=t.getBuff(n,A.Gt.n8);return t.endSyncOp(),C},A.pairingEq=async function(){let I,i;arguments.length%2==1?(I=arguments[arguments.length-1],i=(arguments.length-1)/2):(I=A.Gt.one,i=arguments.length/2);const g=[];for(let I=0;I<i;I++){const i=[],e=A.G1.toJacobian(arguments[2*I]);i.push({cmd:"ALLOCSET",var:0,buff:e}),i.push({cmd:"ALLOC",var:1,len:A.prePSize});const n=A.G2.toJacobian(arguments[2*I+1]);i.push({cmd:"ALLOCSET",var:2,buff:n}),i.push({cmd:"ALLOC",var:3,len:A.preQSize}),i.push({cmd:"ALLOC",var:4,len:A.Gt.n8}),i.push({cmd:"CALL",fnName:A.name+"_prepareG1",params:[{var:0},{var:1}]}),i.push({cmd:"CALL",fnName:A.name+"_prepareG2",params:[{var:2},{var:3}]}),i.push({cmd:"CALL",fnName:A.name+"_millerLoop",params:[{var:1},{var:3},{var:4}]}),i.push({cmd:"GET",out:0,var:4,len:A.Gt.n8}),g.push(t.queueAction(i))}const e=await Promise.all(g);t.startSyncOp();const n=t.alloc(A.Gt.n8);t.instance.exports.ftm_one(n);for(let A=0;A<e.length;A++){const I=t.allocBuff(e[A][0]);t.instance.exports.ftm_mul(n,I,n)}t.instance.exports[A.name+"_finalExponentiation"](n,n);const C=t.allocBuff(I),Q=!!t.instance.exports.ftm_eq(n,C);return t.endSyncOp(),Q},A.prepareG1=function(A){this.tm.startSyncOp();const t=this.tm.allocBuff(A),I=this.tm.alloc(this.prePSize);this.tm.instance.exports[this.name+"_prepareG1"](t,I);const i=this.tm.getBuff(I,this.prePSize);return this.tm.endSyncOp(),i},A.prepareG2=function(A){this.tm.startSyncOp();const t=this.tm.allocBuff(A),I=this.tm.alloc(this.preQSize);this.tm.instance.exports[this.name+"_prepareG2"](t,I);const i=this.tm.getBuff(I,this.preQSize);return this.tm.endSyncOp(),i},A.millerLoop=function(A,t){this.tm.startSyncOp();const I=this.tm.allocBuff(A),i=this.tm.allocBuff(t),g=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_millerLoop"](I,i,g);const e=this.tm.getBuff(g,this.Gt.n8);return this.tm.endSyncOp(),e},A.finalExponentiation=function(A){this.tm.startSyncOp();const t=this.tm.allocBuff(A),I=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_finalExponentiation"](t,I);const i=this.tm.getBuff(I,this.Gt.n8);return this.tm.endSyncOp(),i}}(I),I.array2buffer=function(A,t){const I=new Uint8Array(t*A.length);for(let i=0;i<A.length;i++)I.set(A[i],i*t);return I},I.buffer2array=function(A,t){const I=A.byteLength/t,i=new Array(I);for(let g=0;g<I;g++)i[g]=A.slice(g*t,g*t+t);return i},I}async function ii(A){if(!A&&fA.curve_bn128)return fA.curve_bn128;const t={name:"bn128",wasm:wA.bn128_wasm,q:Gt("21888242871839275222246405745257275088696311157297823662689037894645226208583"),r:Gt("21888242871839275222246405745257275088548364400416034343698204186575808495617"),n8q:32,n8r:32,cofactorG2:Gt("30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d",16),singleThread:!!A},I=await Ii(t);return I.terminate=async function(){t.singleThread||(fA.curve_bn128=null,await this.tm.terminate())},A||(fA.curve_bn128=I),I}async function gi(A){if(!A&&fA.curve_bls12381)return fA.curve_bls12381;const t={name:"bls12381",wasm:wA.bls12381_wasm,q:Gt("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),r:Gt("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),n8q:48,n8r:32,cofactorG1:Gt("0x396c8c005555e1568c00aaab0000aaab",16),cofactorG2:Gt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5",16),singleThread:!!A},I=await Ii(t);return I.terminate=async function(){t.singleThread||(fA.curve_bls12381=null,await this.tm.terminate())},I}fA.curve_bn128=null,fA.curve_bls12381=null,Gt("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),Gt("21888242871839275222246405745257275088548364400416034343698204186575808495617"),Gt("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),Gt("21888242871839275222246405745257275088696311157297823662689037894645226208583");const ei=rI,ni=qI;ei.e("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),ei.e("21888242871839275222246405745257275088548364400416034343698204186575808495617");const Ci=ei.e("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),Qi=ei.e("21888242871839275222246405745257275088696311157297823662689037894645226208583");async function Bi(A){let t;if(ei.eq(A,Qi))t=await ii();else{if(!ei.eq(A,Ci))throw new Error(`Curve not supported: ${ei.toString(A)}`);t=await gi()}return t}async function ri(A){let t;const I=A.toUpperCase().match(/[A-Za-z0-9]+/g).join("");if(["BN128","BN254","ALTBN128"].indexOf(I)>=0)t=await ii();else{if(!(["BLS12381"].indexOf(I)>=0))throw new Error(`Curve not supported: ${A}`);t=await gi()}return t}Ei.notEqual=function(A,t,I){Ei(A!=t,I)},Ei.notOk=function(A,t){Ei(!A,t)},Ei.equal=function(A,t,I){Ei(A==t,I)},Ei.ok=Ei;var oi=Ei;function Ei(A,t){if(!A)throw new Error(t||"AssertionError")}var ai=si;function si(A){if(!si.supported)return null;var t,I=A&&A.imports,i=(t="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","function"==typeof atob?new Uint8Array(atob(t).split("").map(hi)):function(A){throw new Error('Could not dynamically require "'+A+'". Please configure the dynamicRequireTargets option of @rollup/plugin-commonjs appropriately for this require call to behave properly.')}("buffer").Buffer.from(t,"base64")),g=null,e={buffer:i,memory:null,exports:null,realloc:function(A){e.exports.memory.grow(Math.max(0,Math.ceil(Math.abs(A-e.memory.length)/65536))),e.memory=new Uint8Array(e.exports.memory.buffer)},onload:n};return n((function(){})),e;function n(t){if(e.exports)return t();if(g)g.then(t.bind(null,null)).catch(t);else{try{if(A&&A.async)throw new Error("async");C({instance:new WebAssembly.Instance(new WebAssembly.Module(i),I)})}catch(A){g=WebAssembly.instantiate(i,I).then(C)}n(t)}}function C(A){e.exports=A.instance.exports,e.memory=e.exports.memory&&e.exports.memory.buffer&&new Uint8Array(e.exports.memory.buffer)}}function hi(A){return A.charCodeAt(0)}si.supported="undefined"!=typeof WebAssembly;var fi=r((function(A){var t=ai(),I=64,i=[];A.exports=r;var g=A.exports.BYTES_MIN=16,e=A.exports.BYTES_MAX=64;A.exports.BYTES=32;var n=A.exports.KEYBYTES_MIN=16,C=A.exports.KEYBYTES_MAX=64;A.exports.KEYBYTES=32;var Q=A.exports.SALTBYTES=16,B=A.exports.PERSONALBYTES=16;function r(A,o,E,a,s){if(!(this instanceof r))return new r(A,o,E,a,s);if(!t||!t.exports)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");A||(A=32),!0!==s&&(oi(A>=g,"digestLength must be at least "+g+", was given "+A),oi(A<=e,"digestLength must be at most "+e+", was given "+A),null!=o&&(oi(o instanceof Uint8Array,"key must be Uint8Array or Buffer"),oi(o.length>=n,"key must be at least "+n+", was given "+o.length),oi(o.length<=C,"key must be at least "+C+", was given "+o.length)),null!=E&&(oi(E instanceof Uint8Array,"salt must be Uint8Array or Buffer"),oi(E.length===Q,"salt must be exactly "+Q+", was given "+E.length)),null!=a&&(oi(a instanceof Uint8Array,"personal must be Uint8Array or Buffer"),oi(a.length===B,"personal must be exactly "+B+", was given "+a.length))),i.length||(i.push(I),I+=216),this.digestLength=A,this.finalized=!1,this.pointer=i.pop(),t.memory.fill(0,0,64),t.memory[0]=this.digestLength,t.memory[1]=o?o.length:0,t.memory[2]=1,t.memory[3]=1,E&&t.memory.set(E,32),a&&t.memory.set(a,48),this.pointer+216>t.memory.length&&t.realloc(this.pointer+216),t.exports.blake2b_init(this.pointer,this.digestLength),o&&(this.update(o),t.memory.fill(0,I,I+o.length),t.memory[this.pointer+200]=128)}function o(){}function E(A){return A<16?"0"+A.toString(16):A.toString(16)}r.prototype.update=function(A){return oi(!1===this.finalized,"Hash instance finalized"),oi(A instanceof Uint8Array,"input must be Uint8Array or Buffer"),I+A.length>t.memory.length&&t.realloc(I+A.length),t.memory.set(A,I),t.exports.blake2b_update(this.pointer,I,I+A.length),this},r.prototype.getPartialHash=function(){return t.memory.slice(this.pointer,this.pointer+216)},r.prototype.setPartialHash=function(A){t.memory.set(A,this.pointer)},r.prototype.digest=function(A){if(oi(!1===this.finalized,"Hash instance finalized"),this.finalized=!0,i.push(this.pointer),t.exports.blake2b_final(this.pointer),!A||"binary"===A)return t.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if("hex"===A)return function(A,t,I){for(var i="",g=0;g<I;g++)i+=E(A[t+g]);return i}(t.memory,this.pointer+128,this.digestLength);oi(A instanceof Uint8Array&&A.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var I=0;I<this.digestLength;I++)A[I]=t.memory[this.pointer+128+I];return A},r.prototype.final=r.prototype.digest,r.WASM=t&&t.buffer,r.SUPPORTED="undefined"!=typeof WebAssembly,r.ready=function(A){return A||(A=o),t?new Promise((function(I,i){t.onload((function(t){t?i():I(),A(t)}))})):A(new Error("WebAssembly not supported"))},r.prototype.ready=r.ready}));const wi=[];for(let A=0;A<256;A++)wi[A]=ci(A,8);function ci(A,t){let I=0,i=A;for(let A=0;A<t;A++)I<<=1,I|=1&i,i>>=1;return I}function Di(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)}function ui(A,t){const I=new DataView(A.buffer,A.byteOffset,A.byteLength);let i="";for(let A=0;A<4;A++){A>0&&(i+="\n"),i+="\t\t";for(let t=0;t<4;t++)t>0&&(i+=" "),i+=I.getUint32(16*A+4*t).toString(16).padStart(8,"0")}return t&&(i=t+"\n"+i),i}function li(A,t){if(A.byteLength!=t.byteLength)return!1;for(var I=new Int8Array(A),i=new Int8Array(t),g=0;g!=A.byteLength;g++)if(I[g]!=i[g])return!1;return!0}function yi(A){const t=A.getPartialHash(),I=fi(64);return I.setPartialHash(t),I}async function pi(A,t,I,i,g){if(A.G1.isZero(t))return!1;if(A.G1.isZero(I))return!1;if(A.G2.isZero(i))return!1;if(A.G2.isZero(g))return!1;return await A.pairingEq(t,g,A.G1.neg(I),i)}async function Fi(A){for(;!A;)A=await window.prompt("Enter a random text. (Entropy): ","");const t=fi(64);t.update(hA.randomBytes(64));const I=new TextEncoder;t.update(I.encode(A));const i=Buffer.from(t.digest()),g=[];for(let A=0;A<8;A++)g[A]=i.readUInt32BE(4*A);return new fI(g)}function Mi(A,t){let I,i;t<32?(I=1<<t>>>0,i=1):(I=4294967296,i=1<<t-32>>>0);let g=A;for(let A=0;A<i;A++)for(let A=0;A<I;A++)g=hA.createHash("sha256").update(g).digest();const e=new DataView(g.buffer,g.byteOffset,g.byteLength),n=[];for(let A=0;A<8;A++)n[A]=e.getUint32(4*A,!1);return new fI(n)}function mi(A){return A instanceof Uint8Array?A:("0x"==A.slice(0,2)&&(A=A.slice(2)),new Uint8Array(A.match(/[\da-f]{2}/gi).map((function(A){return parseInt(A,16)}))))}function di(A){return Array.prototype.map.call(A,(function(A){return("0"+(255&A).toString(16)).slice(-2)})).join("")}async function Gi(A,t){await KA(A,1),await A.writeULE32(1),await jA(A);const I=await Bi(t.q);await KA(A,2);const i=I.q,g=8*(Math.floor((ei.bitLength(i)-1)/64)+1),e=I.r,n=8*(Math.floor((ei.bitLength(e)-1)/64)+1);await A.writeULE32(g),await TA(A,i,g),await A.writeULE32(n),await TA(A,e,n),await A.writeULE32(t.nVars),await A.writeULE32(t.nPublic),await A.writeULE32(t.domainSize),await bi(A,I,t.vk_alpha_1),await bi(A,I,t.vk_beta_1),await Hi(A,I,t.vk_beta_2),await Hi(A,I,t.vk_gamma_2),await bi(A,I,t.vk_delta_1),await Hi(A,I,t.vk_delta_2),await jA(A)}async function bi(A,t,I){const i=new Uint8Array(2*t.G1.F.n8);t.G1.toRprLEM(i,0,I),await A.write(i)}async function Hi(A,t,I){const i=new Uint8Array(2*t.G2.F.n8);t.G2.toRprLEM(i,0,I),await A.write(i)}async function Ui(A,t,I){const i=await A.read(2*t.G1.F.n8),g=t.G1.fromRprLEM(i,0);return I?t.G1.toObject(g):g}async function Li(A,t,I){const i=await A.read(2*t.G2.F.n8),g=t.G2.fromRprLEM(i,0);return I?t.G2.toObject(g):g}async function Ni(A,t,I){await zA(A,t,1);const i=await A.readULE32();if(await WA(A),1==i)return await async function(A,t,I){const i={protocol:"groth16"};await zA(A,t,2);const g=await A.readULE32();i.n8q=g,i.q=await _A(A,g);const e=await A.readULE32();i.n8r=e,i.r=await _A(A,e);let n=await Bi(i.q);return i.nVars=await A.readULE32(),i.nPublic=await A.readULE32(),i.domainSize=await A.readULE32(),i.power=Di(i.domainSize),i.vk_alpha_1=await Ui(A,n,I),i.vk_beta_1=await Ui(A,n,I),i.vk_beta_2=await Li(A,n,I),i.vk_gamma_2=await Li(A,n,I),i.vk_delta_1=await Ui(A,n,I),i.vk_delta_2=await Li(A,n,I),await WA(A),i}(A,t,I);if(2==i)return await async function(A,t,I,i){const g={protocol:"plonk"};await zA(A,t,2);const e=await A.readULE32();g.n8q=e,g.q=await _A(A,e);const n=await A.readULE32();g.n8r=n,g.r=await _A(A,n);let C=await Bi(g.q);return g.nVars=await A.readULE32(),g.nPublic=await A.readULE32(),g.domainSize=await A.readULE32(),g.power=Di(g.domainSize),g.nAdditions=await A.readULE32(),g.nConstrains=await A.readULE32(),g.k1=await A.read(n),g.k2=await A.read(n),g.Qm=await Ui(A,C,i),g.Ql=await Ui(A,C,i),g.Qr=await Ui(A,C,i),g.Qo=await Ui(A,C,i),g.Qc=await Ui(A,C,i),g.S1=await Ui(A,C,i),g.S2=await Ui(A,C,i),g.S3=await Ui(A,C,i),g.X_2=await Li(A,C,i),await WA(A),g}(A,t);throw new Error("Protocol not supported: ")}async function ki(A,t,I){const i={delta:{}};i.deltaAfter=await Ui(A,t,I),i.delta.g1_s=await Ui(A,t,I),i.delta.g1_sx=await Ui(A,t,I),i.delta.g2_spx=await Li(A,t,I),i.transcript=await A.read(64),i.type=await A.readULE32();const g=await A.readULE32(),e=A.pos;let n=0;for(;A.pos-e<g;){const t=await A.read(1);if(t[0]<=n)throw new Error("Parameters in the contribution must be sorted");if(n=t[0],1==t[0]){const t=await A.read(1),I=await A.read(t[0]);i.name=(new TextDecoder).decode(I)}else if(2==t[0]){const t=await A.read(1);i.numIterationsExp=t[0]}else{if(3!=t[0])throw new Error("Parameter not recognized");{const t=await A.read(1);i.beaconHash=await A.read(t[0])}}}if(A.pos!=e+g)throw new Error("Parametes do not match");return i}async function Ji(A,t,I){await zA(A,I,10);const i={contributions:[]};i.csHash=await A.read(64);const g=await A.readULE32();for(let I=0;I<g;I++){const I=await ki(A,t);i.contributions.push(I)}return await WA(A),i}async function Si(A,t,I){await bi(A,t,I.deltaAfter),await bi(A,t,I.delta.g1_s),await bi(A,t,I.delta.g1_sx),await Hi(A,t,I.delta.g2_spx),await A.write(I.transcript),await A.writeULE32(I.type||0);const i=[];if(I.name){i.push(1);const A=new TextEncoder("utf-8").encode(I.name.substring(0,64));i.push(A.byteLength);for(let t=0;t<A.byteLength;t++)i.push(A[t])}if(1==I.type){i.push(2),i.push(I.numIterationsExp),i.push(3),i.push(I.beaconHash.byteLength);for(let A=0;A<I.beaconHash.byteLength;A++)i.push(I.beaconHash[A])}if(i.length>0){const t=new Uint8Array(i);await A.writeULE32(t.byteLength),await A.write(t)}else await A.writeULE32(0)}async function vi(A,t,I){await KA(A,10),await A.write(I.csHash),await A.writeULE32(I.contributions.length);for(let i=0;i<I.contributions.length;i++)await Si(A,t,I.contributions[i]);await jA(A)}function Ri(A,t,I){const i=new Uint8Array(2*t.G1.F.n8);t.G1.toRprUncompressed(i,0,I),A.update(i)}function qi(A,t,I){Ri(A,t,I.deltaAfter),Ri(A,t,I.delta.g1_s),Ri(A,t,I.delta.g1_sx),function(A,t,I){const i=new Uint8Array(2*t.G2.F.n8);t.G2.toRprUncompressed(i,0,I),A.update(i)}(A,t,I.delta.g2_spx),A.update(I.transcript)}async function Yi(A,t){await zA(A,t,1);const I=await A.readULE32(),i=await _A(A,I),g=await A.readULE32();return await WA(A),{n8:I,q:i,nWitness:g}}const{stringifyBigInts:xi}=ni;async function Pi(A,t,I){const{fd:i,sections:g}=await ZA(t,"wtns",2),e=await Yi(i,g),{fd:n,sections:C}=await ZA(A,"zkey",2),Q=await Ni(n,C);if("groth16"!=Q.protocol)throw new Error("zkey file is not groth16");if(!ei.eq(Q.r,e.q))throw new Error("Curve of the witness does not match the curve of the proving key");if(e.nWitness!=Q.nVars)throw new Error(`Invalid witness length. Circuit: ${Q.nVars}, witness: ${e.nWitness}`);const B=await Bi(Q.q),r=B.Fr,o=B.G1,E=B.G2,a=Di(Q.domainSize);I&&I.debug("Reading Wtns");const s=await At(i,g,2);I&&I.debug("Reading Coeffs");const h=await At(n,C,4);I&&I.debug("Building ABC");const[f,w,c]=await async function(A,t,I,i,g){const e=A.Fr.n8,n=12+t.n8r,C=(i.byteLength-4)/n,Q=new xI(t.domainSize*e),B=new xI(t.domainSize*e),r=new xI(t.domainSize*e),o=[Q,B];for(let t=0;t<C;t++){g&&t%1e6==0&&g.debug(`QAP AB: ${t}/${C}`);const Q=i.slice(4+t*n,4+t*n+n),B=new DataView(Q.buffer),r=B.getUint32(0,!0),E=B.getUint32(4,!0),a=B.getUint32(8,!0),s=Q.slice(12,12+e);o[r].set(A.Fr.add(o[r].slice(E*e,E*e+e),A.Fr.mul(s,I.slice(a*e,a*e+e))),E*e)}for(let I=0;I<t.domainSize;I++)g&&I%1e6==0&&g.debug(`QAP C: ${I}/${t.domainSize}`),r.set(A.Fr.mul(Q.slice(I*e,I*e+e),B.slice(I*e,I*e+e)),I*e);return[Q,B,r]}(B,Q,s,h,I),D=a==r.s?B.Fr.shift:B.Fr.w[a+1],u=await r.ifft(f,"","",I,"IFFT_A"),l=await r.batchApplyKey(u,r.e(1),D),y=await r.fft(l,"","",I,"FFT_A"),p=await r.ifft(w,"","",I,"IFFT_B"),F=await r.batchApplyKey(p,r.e(1),D),M=await r.fft(F,"","",I,"FFT_B"),m=await r.ifft(c,"","",I,"IFFT_C"),d=await r.batchApplyKey(m,r.e(1),D),G=await r.fft(d,"","",I,"FFT_C");I&&I.debug("Join ABC");const b=await async function(A,t,I,i,g,e){const n=1<<22,C=A.Fr.n8,Q=Math.floor(I.byteLength/A.Fr.n8),B=[];for(let t=0;t<Q;t+=n){e&&e.debug(`JoinABC: ${t}/${Q}`);const r=Math.min(Q-t,n),o=[],E=I.slice(t*C,(t+r)*C),a=i.slice(t*C,(t+r)*C),s=g.slice(t*C,(t+r)*C);o.push({cmd:"ALLOCSET",var:0,buff:E}),o.push({cmd:"ALLOCSET",var:1,buff:a}),o.push({cmd:"ALLOCSET",var:2,buff:s}),o.push({cmd:"ALLOC",var:3,len:r*C}),o.push({cmd:"CALL",fnName:"qap_joinABC",params:[{var:0},{var:1},{var:2},{val:r},{var:3}]}),o.push({cmd:"CALL",fnName:"frm_batchFromMontgomery",params:[{var:3},{val:r},{var:3}]}),o.push({cmd:"GET",out:0,var:3,len:r*C}),B.push(A.tm.queueAction(o))}const r=await Promise.all(B);let o;o=I instanceof xI?new xI(I.byteLength):new Uint8Array(I.byteLength);let E=0;for(let A=0;A<r.length;A++)o.set(r[A][0],E),E+=r[A][0].byteLength;return o}(B,0,y,M,G,I);let H={};I&&I.debug("Reading A Points");const U=await At(n,C,5);H.pi_a=await B.G1.multiExpAffine(U,s,I,"multiexp A"),I&&I.debug("Reading B1 Points");const L=await At(n,C,6);let N=await B.G1.multiExpAffine(L,s,I,"multiexp B1");I&&I.debug("Reading B2 Points");const k=await At(n,C,7);H.pi_b=await B.G2.multiExpAffine(k,s,I,"multiexp B2"),I&&I.debug("Reading C Points");const J=await At(n,C,8);H.pi_c=await B.G1.multiExpAffine(J,s.slice((Q.nPublic+1)*B.Fr.n8),I,"multiexp C"),I&&I.debug("Reading H Points");const S=await At(n,C,9),v=await B.G1.multiExpAffine(S,b,I,"multiexp H"),R=B.Fr.random(),q=B.Fr.random();H.pi_a=o.add(H.pi_a,Q.vk_alpha_1),H.pi_a=o.add(H.pi_a,o.timesFr(Q.vk_delta_1,R)),H.pi_b=E.add(H.pi_b,Q.vk_beta_2),H.pi_b=E.add(H.pi_b,E.timesFr(Q.vk_delta_2,q)),N=o.add(N,Q.vk_beta_1),N=o.add(N,o.timesFr(Q.vk_delta_1,q)),H.pi_c=o.add(H.pi_c,v),H.pi_c=o.add(H.pi_c,o.timesFr(H.pi_a,q)),H.pi_c=o.add(H.pi_c,o.timesFr(N,R)),H.pi_c=o.add(H.pi_c,o.timesFr(Q.vk_delta_1,r.neg(r.mul(R,q))));let Y=[];for(let A=1;A<=Q.nPublic;A++){const t=s.slice(A*r.n8,A*r.n8+r.n8);Y.push(ei.fromRprLE(t))}return H.pi_a=o.toObject(o.toAffine(H.pi_a)),H.pi_b=E.toObject(E.toAffine(H.pi_b)),H.pi_c=o.toObject(o.toAffine(H.pi_c)),H.protocol="groth16",H.curve=B.name,await n.close(),await i.close(),H=xi(H),Y=xi(Y),{proof:H,publicSignals:Y}}var Xi=r((function(A){var t=function(){var A,t,I,i,g,e,n,C,Q=[],B=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],r="1a",o=!1,E="chongo <Landon Curt Noll> /\\../\\",a=52,s={32:{offset:0},64:{offset:[0,0,0,0]},128:{offset:[0,0,0,0,0,0,0,0]},256:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},512:{offset:[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,0]},1024:{offset:[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,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,0,0]}};for(A=0;A<256;A++)Q[A]=(A>>4&15).toString(16)+(15&A).toString(16);function h(A,t){var I,i,g,e=[0],n="";for(i=0;i<A.length;i+=2){for(I=parseInt(A.substr(i,2),16),g=0;g<e.length;g++)I+=e[g]<<8,e[g]=I%t,I=I/t|0;for(;I>0;)e.push(I%t),I=I/t|0}for(i=e.length-1;i>=0;--i)n+="0123456789abcdefghijklmnopqrstuvwxyz"[e[i]];return n}function f(A,t){return{bits:t,value:A,dec:function(){return h(A,10)},hex:function(){return A},str:function(){return h(A,36)}}}function w(A,t){return{bits:t,value:A,dec:function(){return A.toString()},hex:function(){return Q[A>>>24]+Q[A>>>16&255]+Q[A>>>8&255]+Q[255&A]},str:function(){return A.toString(36)}}}function c(A,t){return{bits:t,value:A,dec:function(){return A.toString()},hex:function(){return("0000000000000000"+A.toString(16)).substr(-13)},str:function(){return A.toString(36)}}}function D(A,Q){var B="object"==typeof A?JSON.stringify(A):A;switch(Q||a){case 32:return t(B);case 64:return i(B);case 128:return g(B);case 256:return e(B);case 512:return n(B);case 1024:return C(B);default:return I(B)}}function u(A){if("1a"===A)r=A,t=o?M:p,I=o?b:d,i=o?N:U,g=o?v:J,e=o?x:q,n=o?Z:X,C=o?z:K;else{if("1"!==A)throw new Error("Supported FNV versions: 1, 1a");r=A,t=o?m:F,I=o?H:G,i=o?k:L,g=o?R:S,e=o?P:Y,n=o?V:O,C=o?W:j}}function l(A){A?(o=!0,t="1a"==r?M:m,I="1a"==r?b:H,i="1a"==r?N:k,g="1a"==r?v:R,e="1a"==r?x:P,n="1a"==r?Z:V,C="1a"==r?z:W):(o=!1,t="1a"==r?p:F,I="1a"==r?d:G,i="1a"==r?U:L,g="1a"==r?J:S,e="1a"==r?q:Y,n="1a"==r?X:O,C="1a"==r?K:j)}function y(A){var t,I,i=r;for(var g in(A=A||0===A?A:E)===E&&u("1"),s){for(s[g].offset=[],I=0;I<g/16;I++)s[g].offset[I]=0;for(t=D(A,parseInt(g,10)).hex(),I=0;I<g/16;I++)s[g].offset[I]=parseInt(t.substr(4*I,4),16)}u(i)}function p(A){var t,I=A.length-3,i=s[32].offset,g=0,e=0|i[1],n=0,C=0|i[0];for(t=0;t<I;)n=403*C,n+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),n+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),n+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),C=(n+=(e^=A.charCodeAt(t++))<<8)+((g=403*e)>>>16)&65535,e=65535&g;for(;t<I+3;)n=403*C,C=(n+=(e^=A.charCodeAt(t++))<<8)+((g=403*e)>>>16)&65535,e=65535&g;return w((C<<16>>>0)+e,32)}function F(A){var t,I=A.length-3,i=s[32].offset,g=0,e=0|i[1],n=0,C=0|i[0];for(t=0;t<I;)n=403*C,n+=e<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),n+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),n+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),C=(n+=(e^=A.charCodeAt(t++))<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=A.charCodeAt(t++);for(;t<I+3;)n=403*C,C=(n+=e<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=A.charCodeAt(t++);return w((C<<16>>>0)+e,32)}function M(A){var t,I,i=A.length,g=s[32].offset,e=0,n=0|g[1],C=0,Q=0|g[0];for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=403*Q,Q=(C+=(n^=t>>6|192)<<8)+((e=403*n)>>>16)&65535,n=65535&e,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=403*Q,C+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,n=65535&(e=403*n),C=403*(Q=C+(e>>>16)&65535),C+=(n^=t>>12&63|128)<<8,n=65535&(e=403*n),C=403*(Q=C+(e>>>16)&65535),Q=(C+=(n^=t>>6&63|128)<<8)+((e=403*n)>>>16)&65535,n=65535&e,n^=63&t|128):(C=403*Q,C+=(n^=t>>12|224)<<8,n=65535&(e=403*n),C=403*(Q=C+(e>>>16)&65535),Q=(C+=(n^=t>>6&63|128)<<8)+((e=403*n)>>>16)&65535,n=65535&e,n^=63&t|128),C=403*Q,Q=(C+=n<<8)+((e=403*n)>>>16)&65535,n=65535&e;return w((Q<<16>>>0)+n,32)}function m(A){var t,I,i=A.length,g=s[32].offset,e=0,n=0|g[1],C=0,Q=0|g[0];for(I=0;I<i;I++)C=403*Q,Q=(C+=n<<8)+((e=403*n)>>>16)&65535,n=65535&e,(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=403*Q,Q=(C+=(n^=t>>6|192)<<8)+((e=403*n)>>>16)&65535,n=65535&e,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=403*Q,C+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,n=65535&(e=403*n),C=403*(Q=C+(e>>>16)&65535),C+=(n^=t>>12&63|128)<<8,n=65535&(e=403*n),C=403*(Q=C+(e>>>16)&65535),Q=(C+=(n^=t>>6&63|128)<<8)+((e=403*n)>>>16)&65535,n=65535&e,n^=63&t|128):(C=403*Q,C+=(n^=t>>12|224)<<8,n=65535&(e=403*n),C=403*(Q=C+(e>>>16)&65535),Q=(C+=(n^=t>>6&63|128)<<8)+((e=403*n)>>>16)&65535,n=65535&e,n^=63&t|128);return w((Q<<16>>>0)+n,32)}function d(A){var t,I=A.length-3,i=s[64].offset,g=0,e=0|i[3],n=0,C=0|i[2],Q=0,B=0|i[1],r=0,o=0|i[0];for(t=0;t<I;)n=435*C,Q=435*B,r=435*o,Q+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),o=(r+=C<<8)+((Q+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),o=(r+=C<<8)+((Q+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),o=(r+=C<<8)+((Q+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(t++))<<8,r+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),o=r+((Q+=n>>>16)>>>16)&65535,B=65535&Q;for(;t<I+3;)n=435*C,Q=435*B,r=435*o,Q+=(e^=A.charCodeAt(t++))<<8,r+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),o=r+((Q+=n>>>16)>>>16)&65535,B=65535&Q;return c(281474976710656*(15&o)+4294967296*B+65536*C+(e^o>>4),52)}function G(A){var t,I=A.length-3,i=s[64].offset,g=0,e=0|i[3],n=0,C=0|i[2],Q=0,B=0|i[1],r=0,o=0|i[0];for(t=0;t<I;)n=435*C,Q=435*B,r=435*o,Q+=e<<8,e=65535&(g=435*e),o=(r+=C<<8)+((Q+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),o=(r+=C<<8)+((Q+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),o=(r+=C<<8)+((Q+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(t++))<<8,r+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),o=r+((Q+=n>>>16)>>>16)&65535,B=65535&Q,e^=A.charCodeAt(t++);for(;t<I+3;)n=435*C,Q=435*B,r=435*o,Q+=e<<8,r+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),o=r+((Q+=n>>>16)>>>16)&65535,B=65535&Q,e^=A.charCodeAt(t++);return c(281474976710656*(15&o)+4294967296*B+65536*C+(e^o>>4),52)}function b(A){var t,I,i=A.length,g=s[64].offset,e=0,n=0|g[3],C=0,Q=0|g[2],B=0,r=0|g[1],o=0,E=0|g[0];for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=435*Q,B=435*r,o=435*E,B+=(n^=t>>6|192)<<8,o+=Q<<8,n=65535&(e=435*n),Q=65535&(C+=e>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=435*Q,B=435*r,o=435*E,B+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,n=65535&(e=435*n),E=(o+=Q<<8)+((B+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),B=435*(r=65535&B),o=435*E,B+=(n^=t>>12&63|128)<<8,n=65535&(e=435*n),E=(o+=Q<<8)+((B+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),B=435*(r=65535&B),o=435*E,B+=(n^=t>>6&63|128)<<8,o+=Q<<8,n=65535&(e=435*n),Q=65535&(C+=e>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,n^=63&t|128):(C=435*Q,B=435*r,o=435*E,B+=(n^=t>>12|224)<<8,n=65535&(e=435*n),E=(o+=Q<<8)+((B+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),B=435*(r=65535&B),o=435*E,B+=(n^=t>>6&63|128)<<8,o+=Q<<8,n=65535&(e=435*n),Q=65535&(C+=e>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,n^=63&t|128),C=435*Q,B=435*r,o=435*E,B+=n<<8,o+=Q<<8,n=65535&(e=435*n),Q=65535&(C+=e>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B;return c(281474976710656*(15&E)+4294967296*r+65536*Q+(n^E>>4),52)}function H(A){var t,I,i=A.length,g=s[64].offset,e=0,n=0|g[3],C=0,Q=0|g[2],B=0,r=0|g[1],o=0,E=0|g[0];for(I=0;I<i;I++)C=435*Q,B=435*r,o=435*E,B+=n<<8,o+=Q<<8,n=65535&(e=435*n),Q=65535&(C+=e>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=435*Q,B=435*r,o=435*E,B+=(n^=t>>6|192)<<8,o+=Q<<8,n=65535&(e=435*n),Q=65535&(C+=e>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=435*Q,B=435*r,o=435*E,B+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,n=65535&(e=435*n),E=(o+=Q<<8)+((B+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),B=435*(r=65535&B),o=435*E,B+=(n^=t>>12&63|128)<<8,n=65535&(e=435*n),E=(o+=Q<<8)+((B+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),B=435*(r=65535&B),o=435*E,B+=(n^=t>>6&63|128)<<8,o+=Q<<8,n=65535&(e=435*n),Q=65535&(C+=e>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,n^=63&t|128):(C=435*Q,B=435*r,o=435*E,B+=(n^=t>>12|224)<<8,n=65535&(e=435*n),E=(o+=Q<<8)+((B+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),B=435*(r=65535&B),o=435*E,B+=(n^=t>>6&63|128)<<8,o+=Q<<8,n=65535&(e=435*n),Q=65535&(C+=e>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,n^=63&t|128);return c(281474976710656*(15&E)+4294967296*r+65536*Q+(n^E>>4),52)}function U(A){var t,I=A.length-3,i=s[64].offset,g=0,e=0|i[3],n=0,C=0|i[2],B=0,r=0|i[1],o=0,E=0|i[0];for(t=0;t<I;)n=435*C,B=435*r,o=435*E,B+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),E=(o+=C<<8)+((B+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),E=(o+=C<<8)+((B+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),E=(o+=C<<8)+((B+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(t++))<<8,o+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B;for(;t<I+3;)n=435*C,B=435*r,o=435*E,B+=(e^=A.charCodeAt(t++))<<8,o+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B;return f(Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],64)}function L(A){var t,I=A.length-3,i=s[64].offset,g=0,e=0|i[3],n=0,C=0|i[2],B=0,r=0|i[1],o=0,E=0|i[0];for(t=0;t<I;)n=435*C,B=435*r,o=435*E,B+=e<<8,e=65535&(g=435*e),E=(o+=C<<8)+((B+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),E=(o+=C<<8)+((B+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(t++))<<8,e=65535&(g=435*e),E=(o+=C<<8)+((B+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(t++))<<8,o+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,e^=A.charCodeAt(t++);for(;t<I+3;)n=435*C,B=435*r,o=435*E,B+=e<<8,o+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,e^=A.charCodeAt(t++);return f(Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],64)}function N(A){var t,I,i=A.length,g=s[64].offset,e=0,n=0|g[3],C=0,B=0|g[2],r=0,o=0|g[1],E=0,a=0|g[0];for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=435*B,r=435*o,E=435*a,r+=(n^=t>>6|192)<<8,E+=B<<8,n=65535&(e=435*n),B=65535&(C+=e>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=435*B,r=435*o,E=435*a,r+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,n=65535&(e=435*n),a=(E+=B<<8)+((r+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(B=65535&C),r=435*(o=65535&r),E=435*a,r+=(n^=t>>12&63|128)<<8,n=65535&(e=435*n),a=(E+=B<<8)+((r+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(B=65535&C),r=435*(o=65535&r),E=435*a,r+=(n^=t>>6&63|128)<<8,E+=B<<8,n=65535&(e=435*n),B=65535&(C+=e>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,n^=63&t|128):(C=435*B,r=435*o,E=435*a,r+=(n^=t>>12|224)<<8,n=65535&(e=435*n),a=(E+=B<<8)+((r+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(B=65535&C),r=435*(o=65535&r),E=435*a,r+=(n^=t>>6&63|128)<<8,E+=B<<8,n=65535&(e=435*n),B=65535&(C+=e>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,n^=63&t|128),C=435*B,r=435*o,E=435*a,r+=n<<8,E+=B<<8,n=65535&(e=435*n),B=65535&(C+=e>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r;return f(Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],64)}function k(A){var t,I,i=A.length,g=s[64].offset,e=0,n=0|g[3],C=0,B=0|g[2],r=0,o=0|g[1],E=0,a=0|g[0];for(I=0;I<i;I++)C=435*B,r=435*o,E=435*a,r+=n<<8,E+=B<<8,n=65535&(e=435*n),B=65535&(C+=e>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=435*B,r=435*o,E=435*a,r+=(n^=t>>6|192)<<8,E+=B<<8,n=65535&(e=435*n),B=65535&(C+=e>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=435*B,r=435*o,E=435*a,r+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,n=65535&(e=435*n),a=(E+=B<<8)+((r+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(B=65535&C),r=435*(o=65535&r),E=435*a,r+=(n^=t>>12&63|128)<<8,n=65535&(e=435*n),a=(E+=B<<8)+((r+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(B=65535&C),r=435*(o=65535&r),E=435*a,r+=(n^=t>>6&63|128)<<8,E+=B<<8,n=65535&(e=435*n),B=65535&(C+=e>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,n^=63&t|128):(C=435*B,r=435*o,E=435*a,r+=(n^=t>>12|224)<<8,n=65535&(e=435*n),a=(E+=B<<8)+((r+=(C+=e>>>16)>>>16)>>>16)&65535,C=435*(B=65535&C),r=435*(o=65535&r),E=435*a,r+=(n^=t>>6&63|128)<<8,E+=B<<8,n=65535&(e=435*n),B=65535&(C+=e>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,n^=63&t|128);return f(Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],64)}function J(A){var t,I=A.length-3,i=s[128].offset,g=0,e=0|i[7],n=0,C=0|i[6],B=0,r=0|i[5],o=0,E=0|i[4],a=0,h=0|i[3],w=0,c=0|i[2],D=0,u=0|i[1],l=0,y=0|i[0];for(t=0;t<I;)n=315*C,B=315*r,o=315*E,a=315*h,w=315*c,D=315*u,l=315*y,w+=(e^=A.charCodeAt(t++))<<8,D+=C<<8,e=65535&(g=315*e),y=(l+=r<<8)+((D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(C=65535&n),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(c=65535&w),D=315*(u=65535&D),l=315*y,w+=(e^=A.charCodeAt(t++))<<8,D+=C<<8,e=65535&(g=315*e),y=(l+=r<<8)+((D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(C=65535&n),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(c=65535&w),D=315*(u=65535&D),l=315*y,w+=(e^=A.charCodeAt(t++))<<8,D+=C<<8,e=65535&(g=315*e),y=(l+=r<<8)+((D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(C=65535&n),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(c=65535&w),D=315*(u=65535&D),l=315*y,w+=(e^=A.charCodeAt(t++))<<8,D+=C<<8,l+=r<<8,e=65535&(g=315*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),y=l+((D+=w>>>16)>>>16)&65535,u=65535&D;for(;t<I+3;)n=315*C,B=315*r,o=315*E,a=315*h,w=315*c,D=315*u,l=315*y,w+=(e^=A.charCodeAt(t++))<<8,D+=C<<8,l+=r<<8,e=65535&(g=315*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),y=l+((D+=w>>>16)>>>16)&65535,u=65535&D;return f(Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[c>>8]+Q[255&c]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],128)}function S(A){var t,I=A.length-3,i=s[128].offset,g=0,e=0|i[7],n=0,C=0|i[6],B=0,r=0|i[5],o=0,E=0|i[4],a=0,h=0|i[3],w=0,c=0|i[2],D=0,u=0|i[1],l=0,y=0|i[0];for(t=0;t<I;)n=315*C,B=315*r,o=315*E,a=315*h,w=315*c,D=315*u,l=315*y,w+=e<<8,D+=C<<8,e=65535&(g=315*e),y=(l+=r<<8)+((D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(C=65535&n),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(c=65535&w),D=315*(u=65535&D),l=315*y,w+=(e^=A.charCodeAt(t++))<<8,D+=C<<8,e=65535&(g=315*e),y=(l+=r<<8)+((D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(C=65535&n),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(c=65535&w),D=315*(u=65535&D),l=315*y,w+=(e^=A.charCodeAt(t++))<<8,D+=C<<8,e=65535&(g=315*e),y=(l+=r<<8)+((D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(C=65535&n),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(c=65535&w),D=315*(u=65535&D),l=315*y,w+=(e^=A.charCodeAt(t++))<<8,D+=C<<8,l+=r<<8,e=65535&(g=315*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),y=l+((D+=w>>>16)>>>16)&65535,u=65535&D,e^=A.charCodeAt(t++);for(;t<I+3;)n=315*C,B=315*r,o=315*E,a=315*h,w=315*c,D=315*u,l=315*y,w+=e<<8,D+=C<<8,l+=r<<8,e=65535&(g=315*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),y=l+((D+=w>>>16)>>>16)&65535,u=65535&D,e^=A.charCodeAt(t++);return f(Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[c>>8]+Q[255&c]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],128)}function v(A){var t,I,i=A.length,g=s[128].offset,e=0,n=0|g[7],C=0,B=0|g[6],r=0,o=0|g[5],E=0,a=0|g[4],h=0,w=0|g[3],c=0,D=0|g[2],u=0,l=0|g[1],y=0,p=0|g[0];for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=315*B,r=315*o,E=315*a,h=315*w,c=315*D,u=315*l,y=315*p,c+=(n^=t>>6|192)<<8,u+=B<<8,y+=o<<8,n=65535&(e=315*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),p=y+((u+=c>>>16)>>>16)&65535,l=65535&u,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=315*B,r=315*o,E=315*a,h=315*w,c=315*D,u=315*l,y=315*p,c+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,u+=B<<8,n=65535&(e=315*n),p=(y+=o<<8)+((u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(B=65535&C),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),c=315*(D=65535&c),u=315*(l=65535&u),y=315*p,c+=(n^=t>>12&63|128)<<8,u+=B<<8,n=65535&(e=315*n),p=(y+=o<<8)+((u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(B=65535&C),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),c=315*(D=65535&c),u=315*(l=65535&u),y=315*p,c+=(n^=t>>6&63|128)<<8,u+=B<<8,y+=o<<8,n=65535&(e=315*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),p=y+((u+=c>>>16)>>>16)&65535,l=65535&u,n^=63&t|128):(C=315*B,r=315*o,E=315*a,h=315*w,c=315*D,u=315*l,y=315*p,c+=(n^=t>>12|224)<<8,u+=B<<8,n=65535&(e=315*n),p=(y+=o<<8)+((u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(B=65535&C),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),c=315*(D=65535&c),u=315*(l=65535&u),y=315*p,c+=(n^=t>>6&63|128)<<8,u+=B<<8,y+=o<<8,n=65535&(e=315*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),p=y+((u+=c>>>16)>>>16)&65535,l=65535&u,n^=63&t|128),C=315*B,r=315*o,E=315*a,h=315*w,c=315*D,u=315*l,y=315*p,c+=n<<8,u+=B<<8,y+=o<<8,n=65535&(e=315*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),p=y+((u+=c>>>16)>>>16)&65535,l=65535&u;return f(Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[D>>8]+Q[255&D]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],128)}function R(A){var t,I,i=A.length,g=s[128].offset,e=0,n=0|g[7],C=0,B=0|g[6],r=0,o=0|g[5],E=0,a=0|g[4],h=0,w=0|g[3],c=0,D=0|g[2],u=0,l=0|g[1],y=0,p=0|g[0];for(I=0;I<i;I++)C=315*B,r=315*o,E=315*a,h=315*w,c=315*D,u=315*l,y=315*p,c+=n<<8,u+=B<<8,y+=o<<8,n=65535&(e=315*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),p=y+((u+=c>>>16)>>>16)&65535,l=65535&u,(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=315*B,r=315*o,E=315*a,h=315*w,c=315*D,u=315*l,y=315*p,c+=(n^=t>>6|192)<<8,u+=B<<8,y+=o<<8,n=65535&(e=315*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),p=y+((u+=c>>>16)>>>16)&65535,l=65535&u,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=315*B,r=315*o,E=315*a,h=315*w,c=315*D,u=315*l,y=315*p,c+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,u+=B<<8,n=65535&(e=315*n),p=(y+=o<<8)+((u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(B=65535&C),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),c=315*(D=65535&c),u=315*(l=65535&u),y=315*p,c+=(n^=t>>12&63|128)<<8,u+=B<<8,n=65535&(e=315*n),p=(y+=o<<8)+((u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(B=65535&C),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),c=315*(D=65535&c),u=315*(l=65535&u),y=315*p,c+=(n^=t>>6&63|128)<<8,u+=B<<8,y+=o<<8,n=65535&(e=315*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),p=y+((u+=c>>>16)>>>16)&65535,l=65535&u,n^=63&t|128):(C=315*B,r=315*o,E=315*a,h=315*w,c=315*D,u=315*l,y=315*p,c+=(n^=t>>12|224)<<8,u+=B<<8,n=65535&(e=315*n),p=(y+=o<<8)+((u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(B=65535&C),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),c=315*(D=65535&c),u=315*(l=65535&u),y=315*p,c+=(n^=t>>6&63|128)<<8,u+=B<<8,y+=o<<8,n=65535&(e=315*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),p=y+((u+=c>>>16)>>>16)&65535,l=65535&u,n^=63&t|128);return f(Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[D>>8]+Q[255&D]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],128)}function q(A){var t,I=A.length-3,i=s[256].offset,g=0,e=0|i[15],n=0,C=0|i[14],B=0,r=0|i[13],o=0,E=0|i[12],a=0,h=0|i[11],w=0,c=0|i[10],D=0,u=0|i[9],l=0,y=0|i[8],p=0,F=0|i[7],M=0,m=0|i[6],d=0,G=0|i[5],b=0,H=0|i[4],U=0,L=0|i[3],N=0,k=0|i[2],J=0,S=0|i[1],v=0,R=0|i[0];for(t=0;t<I;)n=355*C,B=355*r,o=355*E,a=355*h,w=355*c,D=355*u,l=355*y,p=355*F,M=355*m,d=355*G,b=355*H,U=355*L,N=355*k,J=355*S,v=355*R,d+=(e^=A.charCodeAt(t++))<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=c<<8)+((J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(C=65535&n),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(c=65535&w),D=355*(u=65535&D),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),b=355*(H=65535&b),U=355*(L=65535&U),N=355*(k=65535&N),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(t++))<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=c<<8)+((J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(C=65535&n),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(c=65535&w),D=355*(u=65535&D),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),b=355*(H=65535&b),U=355*(L=65535&U),N=355*(k=65535&N),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(t++))<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=c<<8)+((J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(C=65535&n),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(c=65535&w),D=355*(u=65535&D),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),b=355*(H=65535&b),U=355*(L=65535&U),N=355*(k=65535&N),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(t++))<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,v+=c<<8,e=65535&(g=355*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),R=v+((J+=N>>>16)>>>16)&65535,S=65535&J;for(;t<I+3;)n=355*C,B=355*r,o=355*E,a=355*h,w=355*c,D=355*u,l=355*y,p=355*F,M=355*m,d=355*G,b=355*H,U=355*L,N=355*k,J=355*S,v=355*R,d+=(e^=A.charCodeAt(t++))<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,v+=c<<8,e=65535&(g=355*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),R=v+((J+=N>>>16)>>>16)&65535,S=65535&J;return f(Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[k>>8]+Q[255&k]+Q[L>>8]+Q[255&L]+Q[H>>8]+Q[255&H]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[c>>8]+Q[255&c]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],256)}function Y(A){var t,I=A.length-3,i=s[256].offset,g=0,e=0|i[15],n=0,C=0|i[14],B=0,r=0|i[13],o=0,E=0|i[12],a=0,h=0|i[11],w=0,c=0|i[10],D=0,u=0|i[9],l=0,y=0|i[8],p=0,F=0|i[7],M=0,m=0|i[6],d=0,G=0|i[5],b=0,H=0|i[4],U=0,L=0|i[3],N=0,k=0|i[2],J=0,S=0|i[1],v=0,R=0|i[0];for(t=0;t<I;)n=355*C,B=355*r,o=355*E,a=355*h,w=355*c,D=355*u,l=355*y,p=355*F,M=355*m,d=355*G,b=355*H,U=355*L,N=355*k,J=355*S,v=355*R,d+=e<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=c<<8)+((J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(C=65535&n),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(c=65535&w),D=355*(u=65535&D),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),b=355*(H=65535&b),U=355*(L=65535&U),N=355*(k=65535&N),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(t++))<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=c<<8)+((J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(C=65535&n),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(c=65535&w),D=355*(u=65535&D),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),b=355*(H=65535&b),U=355*(L=65535&U),N=355*(k=65535&N),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(t++))<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=c<<8)+((J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(C=65535&n),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(c=65535&w),D=355*(u=65535&D),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),b=355*(H=65535&b),U=355*(L=65535&U),N=355*(k=65535&N),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(t++))<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,v+=c<<8,e=65535&(g=355*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),R=v+((J+=N>>>16)>>>16)&65535,S=65535&J,e^=A.charCodeAt(t++);for(;t<I+3;)n=355*C,B=355*r,o=355*E,a=355*h,w=355*c,D=355*u,l=355*y,p=355*F,M=355*m,d=355*G,b=355*H,U=355*L,N=355*k,J=355*S,v=355*R,d+=e<<8,b+=C<<8,U+=r<<8,N+=E<<8,J+=h<<8,v+=c<<8,e=65535&(g=355*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),R=v+((J+=N>>>16)>>>16)&65535,S=65535&J,e^=A.charCodeAt(t++);return f(Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[k>>8]+Q[255&k]+Q[L>>8]+Q[255&L]+Q[H>>8]+Q[255&H]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[c>>8]+Q[255&c]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],256)}function x(A){var t,I,i=A.length,g=s[256].offset,e=0,n=0|g[15],C=0,B=0|g[14],r=0,o=0|g[13],E=0,a=0|g[12],h=0,w=0|g[11],c=0,D=0|g[10],u=0,l=0|g[9],y=0,p=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],G=0,b=0|g[5],H=0,U=0|g[4],L=0,N=0|g[3],k=0,J=0|g[2],S=0,v=0|g[1],R=0,q=0|g[0];for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=355*B,r=355*o,E=355*a,h=355*w,c=355*D,u=355*l,y=355*p,F=355*M,m=355*d,G=355*b,H=355*U,L=355*N,k=355*J,S=355*v,R=355*q,G+=(n^=t>>6|192)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,R+=D<<8,n=65535&(e=355*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),q=R+((S+=k>>>16)>>>16)&65535,v=65535&S,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=355*B,r=355*o,E=355*a,h=355*w,c=355*D,u=355*l,y=355*p,F=355*M,m=355*d,G=355*b,H=355*U,L=355*N,k=355*J,S=355*v,R=355*q,G+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,n=65535&(e=355*n),q=(R+=D<<8)+((S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(B=65535&C),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),c=355*(D=65535&c),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(b=65535&G),H=355*(U=65535&H),L=355*(N=65535&L),k=355*(J=65535&k),S=355*(v=65535&S),R=355*q,G+=(n^=t>>12&63|128)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,n=65535&(e=355*n),q=(R+=D<<8)+((S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(B=65535&C),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),c=355*(D=65535&c),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(b=65535&G),H=355*(U=65535&H),L=355*(N=65535&L),k=355*(J=65535&k),S=355*(v=65535&S),R=355*q,G+=(n^=t>>6&63|128)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,R+=D<<8,n=65535&(e=355*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),q=R+((S+=k>>>16)>>>16)&65535,v=65535&S,n^=63&t|128):(C=355*B,r=355*o,E=355*a,h=355*w,c=355*D,u=355*l,y=355*p,F=355*M,m=355*d,G=355*b,H=355*U,L=355*N,k=355*J,S=355*v,R=355*q,G+=(n^=t>>12|224)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,n=65535&(e=355*n),q=(R+=D<<8)+((S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(B=65535&C),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),c=355*(D=65535&c),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(b=65535&G),H=355*(U=65535&H),L=355*(N=65535&L),k=355*(J=65535&k),S=355*(v=65535&S),R=355*q,G+=(n^=t>>6&63|128)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,R+=D<<8,n=65535&(e=355*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),q=R+((S+=k>>>16)>>>16)&65535,v=65535&S,n^=63&t|128),C=355*B,r=355*o,E=355*a,h=355*w,c=355*D,u=355*l,y=355*p,F=355*M,m=355*d,G=355*b,H=355*U,L=355*N,k=355*J,S=355*v,R=355*q,G+=n<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,R+=D<<8,n=65535&(e=355*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),q=R+((S+=k>>>16)>>>16)&65535,v=65535&S;return f(Q[q>>8]+Q[255&q]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[N>>8]+Q[255&N]+Q[U>>8]+Q[255&U]+Q[b>>8]+Q[255&b]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[D>>8]+Q[255&D]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],256)}function P(A){var t,I,i=A.length,g=s[256].offset,e=0,n=0|g[15],C=0,B=0|g[14],r=0,o=0|g[13],E=0,a=0|g[12],h=0,w=0|g[11],c=0,D=0|g[10],u=0,l=0|g[9],y=0,p=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],G=0,b=0|g[5],H=0,U=0|g[4],L=0,N=0|g[3],k=0,J=0|g[2],S=0,v=0|g[1],R=0,q=0|g[0];for(I=0;I<i;I++)C=355*B,r=355*o,E=355*a,h=355*w,c=355*D,u=355*l,y=355*p,F=355*M,m=355*d,G=355*b,H=355*U,L=355*N,k=355*J,S=355*v,R=355*q,G+=n<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,R+=D<<8,n=65535&(e=355*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),q=R+((S+=k>>>16)>>>16)&65535,v=65535&S,(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=355*B,r=355*o,E=355*a,h=355*w,c=355*D,u=355*l,y=355*p,F=355*M,m=355*d,G=355*b,H=355*U,L=355*N,k=355*J,S=355*v,R=355*q,G+=(n^=t>>6|192)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,R+=D<<8,n=65535&(e=355*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),q=R+((S+=k>>>16)>>>16)&65535,v=65535&S,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=355*B,r=355*o,E=355*a,h=355*w,c=355*D,u=355*l,y=355*p,F=355*M,m=355*d,G=355*b,H=355*U,L=355*N,k=355*J,S=355*v,R=355*q,G+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,n=65535&(e=355*n),q=(R+=D<<8)+((S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(B=65535&C),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),c=355*(D=65535&c),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(b=65535&G),H=355*(U=65535&H),L=355*(N=65535&L),k=355*(J=65535&k),S=355*(v=65535&S),R=355*q,G+=(n^=t>>12&63|128)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,n=65535&(e=355*n),q=(R+=D<<8)+((S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(B=65535&C),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),c=355*(D=65535&c),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(b=65535&G),H=355*(U=65535&H),L=355*(N=65535&L),k=355*(J=65535&k),S=355*(v=65535&S),R=355*q,G+=(n^=t>>6&63|128)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,R+=D<<8,n=65535&(e=355*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),q=R+((S+=k>>>16)>>>16)&65535,v=65535&S,n^=63&t|128):(C=355*B,r=355*o,E=355*a,h=355*w,c=355*D,u=355*l,y=355*p,F=355*M,m=355*d,G=355*b,H=355*U,L=355*N,k=355*J,S=355*v,R=355*q,G+=(n^=t>>12|224)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,n=65535&(e=355*n),q=(R+=D<<8)+((S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(B=65535&C),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),c=355*(D=65535&c),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(b=65535&G),H=355*(U=65535&H),L=355*(N=65535&L),k=355*(J=65535&k),S=355*(v=65535&S),R=355*q,G+=(n^=t>>6&63|128)<<8,H+=B<<8,L+=o<<8,k+=a<<8,S+=w<<8,R+=D<<8,n=65535&(e=355*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),q=R+((S+=k>>>16)>>>16)&65535,v=65535&S,n^=63&t|128);return f(Q[q>>8]+Q[255&q]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[N>>8]+Q[255&N]+Q[U>>8]+Q[255&U]+Q[b>>8]+Q[255&b]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[D>>8]+Q[255&D]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],256)}function X(A){var t,I=A.length-3,i=s[512].offset,g=0,e=0|i[31],n=0,C=0|i[30],B=0,r=0|i[29],o=0,E=0|i[28],a=0,h=0|i[27],w=0,c=0|i[26],D=0,u=0|i[25],l=0,y=0|i[24],p=0,F=0|i[23],M=0,m=0|i[22],d=0,G=0|i[21],b=0,H=0|i[20],U=0,L=0|i[19],N=0,k=0|i[18],J=0,S=0|i[17],v=0,R=0|i[16],q=0,Y=0|i[15],x=0,P=0|i[14],X=0,O=0|i[13],Z=0,V=0|i[12],K=0,j=0|i[11],z=0,W=0|i[10],T=0,_=0|i[9],$=0,AA=0|i[8],tA=0,IA=0|i[7],iA=0,gA=0|i[6],eA=0,nA=0|i[5],CA=0,QA=0|i[4],BA=0,rA=0|i[3],oA=0,EA=0|i[2],aA=0,sA=0|i[1],hA=0,fA=0|i[0];for(t=0;t<I;)n=343*C,B=343*r,o=343*E,a=343*h,w=343*c,D=343*u,l=343*y,p=343*F,M=343*m,d=343*G,b=343*H,U=343*L,N=343*k,J=343*S,v=343*R,q=343*Y,x=343*P,X=343*O,Z=343*V,K=343*j,z=343*W,T=343*_,$=343*AA,tA=343*IA,iA=343*gA,eA=343*nA,CA=343*QA,BA=343*rA,oA=343*EA,aA=343*sA,hA=343*fA,z+=(e^=A.charCodeAt(t++))<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=343*(C=65535&n),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(c=65535&w),D=343*(u=65535&D),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),b=343*(H=65535&b),U=343*(L=65535&U),N=343*(k=65535&N),J=343*(S=65535&J),v=343*(R=65535&v),q=343*(Y=65535&q),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),tA=343*(IA=65535&tA),iA=343*(gA=65535&iA),eA=343*(nA=65535&eA),CA=343*(QA=65535&CA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(t++))<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=343*(C=65535&n),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(c=65535&w),D=343*(u=65535&D),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),b=343*(H=65535&b),U=343*(L=65535&U),N=343*(k=65535&N),J=343*(S=65535&J),v=343*(R=65535&v),q=343*(Y=65535&q),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),tA=343*(IA=65535&tA),iA=343*(gA=65535&iA),eA=343*(nA=65535&eA),CA=343*(QA=65535&CA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(t++))<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=343*(C=65535&n),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(c=65535&w),D=343*(u=65535&D),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),b=343*(H=65535&b),U=343*(L=65535&U),N=343*(k=65535&N),J=343*(S=65535&J),v=343*(R=65535&v),q=343*(Y=65535&q),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),tA=343*(IA=65535&tA),iA=343*(gA=65535&iA),eA=343*(nA=65535&eA),CA=343*(QA=65535&CA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(t++))<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,hA+=G<<8,e=65535&(g=343*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),S=65535&(J+=N>>>16),R=65535&(v+=J>>>16),Y=65535&(q+=v>>>16),P=65535&(x+=q>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),IA=65535&(tA+=$>>>16),gA=65535&(iA+=tA>>>16),nA=65535&(eA+=iA>>>16),QA=65535&(CA+=eA>>>16),rA=65535&(BA+=CA>>>16),EA=65535&(oA+=BA>>>16),fA=hA+((aA+=oA>>>16)>>>16)&65535,sA=65535&aA;for(;t<I+3;)n=343*C,B=343*r,o=343*E,a=343*h,w=343*c,D=343*u,l=343*y,p=343*F,M=343*m,d=343*G,b=343*H,U=343*L,N=343*k,J=343*S,v=343*R,q=343*Y,x=343*P,X=343*O,Z=343*V,K=343*j,z=343*W,T=343*_,$=343*AA,tA=343*IA,iA=343*gA,eA=343*nA,CA=343*QA,BA=343*rA,oA=343*EA,aA=343*sA,hA=343*fA,z+=(e^=A.charCodeAt(t++))<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,hA+=G<<8,e=65535&(g=343*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),S=65535&(J+=N>>>16),R=65535&(v+=J>>>16),Y=65535&(q+=v>>>16),P=65535&(x+=q>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),IA=65535&(tA+=$>>>16),gA=65535&(iA+=tA>>>16),nA=65535&(eA+=iA>>>16),QA=65535&(CA+=eA>>>16),rA=65535&(BA+=CA>>>16),EA=65535&(oA+=BA>>>16),fA=hA+((aA+=oA>>>16)>>>16)&65535,sA=65535&aA;return f(Q[fA>>8]+Q[255&fA]+Q[sA>>8]+Q[255&sA]+Q[EA>>8]+Q[255&EA]+Q[rA>>8]+Q[255&rA]+Q[QA>>8]+Q[255&QA]+Q[nA>>8]+Q[255&nA]+Q[gA>>8]+Q[255&gA]+Q[IA>>8]+Q[255&IA]+Q[AA>>8]+Q[255&AA]+Q[_>>8]+Q[255&_]+Q[W>>8]+Q[255&W]+Q[j>>8]+Q[255&j]+Q[V>>8]+Q[255&V]+Q[O>>8]+Q[255&O]+Q[P>>8]+Q[255&P]+Q[Y>>8]+Q[255&Y]+Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[k>>8]+Q[255&k]+Q[L>>8]+Q[255&L]+Q[H>>8]+Q[255&H]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[c>>8]+Q[255&c]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],512)}function O(A){var t,I=A.length-3,i=s[512].offset,g=0,e=0|i[31],n=0,C=0|i[30],B=0,r=0|i[29],o=0,E=0|i[28],a=0,h=0|i[27],w=0,c=0|i[26],D=0,u=0|i[25],l=0,y=0|i[24],p=0,F=0|i[23],M=0,m=0|i[22],d=0,G=0|i[21],b=0,H=0|i[20],U=0,L=0|i[19],N=0,k=0|i[18],J=0,S=0|i[17],v=0,R=0|i[16],q=0,Y=0|i[15],x=0,P=0|i[14],X=0,O=0|i[13],Z=0,V=0|i[12],K=0,j=0|i[11],z=0,W=0|i[10],T=0,_=0|i[9],$=0,AA=0|i[8],tA=0,IA=0|i[7],iA=0,gA=0|i[6],eA=0,nA=0|i[5],CA=0,QA=0|i[4],BA=0,rA=0|i[3],oA=0,EA=0|i[2],aA=0,sA=0|i[1],hA=0,fA=0|i[0];for(t=0;t<I;)n=343*C,B=343*r,o=343*E,a=343*h,w=343*c,D=343*u,l=343*y,p=343*F,M=343*m,d=343*G,b=343*H,U=343*L,N=343*k,J=343*S,v=343*R,q=343*Y,x=343*P,X=343*O,Z=343*V,K=343*j,z=343*W,T=343*_,$=343*AA,tA=343*IA,iA=343*gA,eA=343*nA,CA=343*QA,BA=343*rA,oA=343*EA,aA=343*sA,hA=343*fA,z+=e<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=343*(C=65535&n),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(c=65535&w),D=343*(u=65535&D),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),b=343*(H=65535&b),U=343*(L=65535&U),N=343*(k=65535&N),J=343*(S=65535&J),v=343*(R=65535&v),q=343*(Y=65535&q),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),tA=343*(IA=65535&tA),iA=343*(gA=65535&iA),eA=343*(nA=65535&eA),CA=343*(QA=65535&CA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(t++))<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=343*(C=65535&n),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(c=65535&w),D=343*(u=65535&D),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),b=343*(H=65535&b),U=343*(L=65535&U),N=343*(k=65535&N),J=343*(S=65535&J),v=343*(R=65535&v),q=343*(Y=65535&q),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),tA=343*(IA=65535&tA),iA=343*(gA=65535&iA),eA=343*(nA=65535&eA),CA=343*(QA=65535&CA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(t++))<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=343*(C=65535&n),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(c=65535&w),D=343*(u=65535&D),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),b=343*(H=65535&b),U=343*(L=65535&U),N=343*(k=65535&N),J=343*(S=65535&J),v=343*(R=65535&v),q=343*(Y=65535&q),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),tA=343*(IA=65535&tA),iA=343*(gA=65535&iA),eA=343*(nA=65535&eA),CA=343*(QA=65535&CA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(t++))<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,hA+=G<<8,e=65535&(g=343*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),S=65535&(J+=N>>>16),R=65535&(v+=J>>>16),Y=65535&(q+=v>>>16),P=65535&(x+=q>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),IA=65535&(tA+=$>>>16),gA=65535&(iA+=tA>>>16),nA=65535&(eA+=iA>>>16),QA=65535&(CA+=eA>>>16),rA=65535&(BA+=CA>>>16),EA=65535&(oA+=BA>>>16),fA=hA+((aA+=oA>>>16)>>>16)&65535,sA=65535&aA,e^=A.charCodeAt(t++);for(;t<I+3;)n=343*C,B=343*r,o=343*E,a=343*h,w=343*c,D=343*u,l=343*y,p=343*F,M=343*m,d=343*G,b=343*H,U=343*L,N=343*k,J=343*S,v=343*R,q=343*Y,x=343*P,X=343*O,Z=343*V,K=343*j,z=343*W,T=343*_,$=343*AA,tA=343*IA,iA=343*gA,eA=343*nA,CA=343*QA,BA=343*rA,oA=343*EA,aA=343*sA,hA=343*fA,z+=e<<8,T+=C<<8,$+=r<<8,tA+=E<<8,iA+=h<<8,eA+=c<<8,CA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,hA+=G<<8,e=65535&(g=343*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),S=65535&(J+=N>>>16),R=65535&(v+=J>>>16),Y=65535&(q+=v>>>16),P=65535&(x+=q>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),IA=65535&(tA+=$>>>16),gA=65535&(iA+=tA>>>16),nA=65535&(eA+=iA>>>16),QA=65535&(CA+=eA>>>16),rA=65535&(BA+=CA>>>16),EA=65535&(oA+=BA>>>16),fA=hA+((aA+=oA>>>16)>>>16)&65535,sA=65535&aA,e^=A.charCodeAt(t++);return f(Q[fA>>8]+Q[255&fA]+Q[sA>>8]+Q[255&sA]+Q[EA>>8]+Q[255&EA]+Q[rA>>8]+Q[255&rA]+Q[QA>>8]+Q[255&QA]+Q[nA>>8]+Q[255&nA]+Q[gA>>8]+Q[255&gA]+Q[IA>>8]+Q[255&IA]+Q[AA>>8]+Q[255&AA]+Q[_>>8]+Q[255&_]+Q[W>>8]+Q[255&W]+Q[j>>8]+Q[255&j]+Q[V>>8]+Q[255&V]+Q[O>>8]+Q[255&O]+Q[P>>8]+Q[255&P]+Q[Y>>8]+Q[255&Y]+Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[k>>8]+Q[255&k]+Q[L>>8]+Q[255&L]+Q[H>>8]+Q[255&H]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[c>>8]+Q[255&c]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],512)}function Z(A){var t,I,i=A.length,g=s[512].offset,e=0,n=0|g[31],C=0,B=0|g[30],r=0,o=0|g[29],E=0,a=0|g[28],h=0,w=0|g[27],c=0,D=0|g[26],u=0,l=0|g[25],y=0,p=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],G=0,b=0|g[21],H=0,U=0|g[20],L=0,N=0|g[19],k=0,J=0|g[18],S=0,v=0|g[17],R=0,q=0|g[16],Y=0,x=0|g[15],P=0,X=0|g[14],O=0,Z=0|g[13],V=0,K=0|g[12],j=0,z=0|g[11],W=0,T=0|g[10],_=0,$=0|g[9],AA=0,tA=0|g[8],IA=0,iA=0|g[7],gA=0,eA=0|g[6],nA=0,CA=0|g[5],QA=0,BA=0|g[4],rA=0,oA=0|g[3],EA=0,aA=0|g[2],sA=0,hA=0|g[1],fA=0,wA=0|g[0];for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=343*B,r=343*o,E=343*a,h=343*w,c=343*D,u=343*l,y=343*p,F=343*M,m=343*d,G=343*b,H=343*U,L=343*N,k=343*J,S=343*v,R=343*q,Y=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*tA,IA=343*iA,gA=343*eA,nA=343*CA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=(n^=t>>6|192)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=b<<8,n=65535&(e=343*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=343*B,r=343*o,E=343*a,h=343*w,c=343*D,u=343*l,y=343*p,F=343*M,m=343*d,G=343*b,H=343*U,L=343*N,k=343*J,S=343*v,R=343*q,Y=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*tA,IA=343*iA,gA=343*eA,nA=343*CA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,n=65535&(e=343*n),wA=(fA+=b<<8)+((sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=343*(B=65535&C),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),c=343*(D=65535&c),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(b=65535&G),H=343*(U=65535&H),L=343*(N=65535&L),k=343*(J=65535&k),S=343*(v=65535&S),R=343*(q=65535&R),Y=343*(x=65535&Y),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(tA=65535&AA),IA=343*(iA=65535&IA),gA=343*(eA=65535&gA),nA=343*(CA=65535&nA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(n^=t>>12&63|128)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,n=65535&(e=343*n),wA=(fA+=b<<8)+((sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=343*(B=65535&C),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),c=343*(D=65535&c),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(b=65535&G),H=343*(U=65535&H),L=343*(N=65535&L),k=343*(J=65535&k),S=343*(v=65535&S),R=343*(q=65535&R),Y=343*(x=65535&Y),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(tA=65535&AA),IA=343*(iA=65535&IA),gA=343*(eA=65535&gA),nA=343*(CA=65535&nA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(n^=t>>6&63|128)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=b<<8,n=65535&(e=343*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,n^=63&t|128):(C=343*B,r=343*o,E=343*a,h=343*w,c=343*D,u=343*l,y=343*p,F=343*M,m=343*d,G=343*b,H=343*U,L=343*N,k=343*J,S=343*v,R=343*q,Y=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*tA,IA=343*iA,gA=343*eA,nA=343*CA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=(n^=t>>12|224)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,n=65535&(e=343*n),wA=(fA+=b<<8)+((sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=343*(B=65535&C),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),c=343*(D=65535&c),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(b=65535&G),H=343*(U=65535&H),L=343*(N=65535&L),k=343*(J=65535&k),S=343*(v=65535&S),R=343*(q=65535&R),Y=343*(x=65535&Y),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(tA=65535&AA),IA=343*(iA=65535&IA),gA=343*(eA=65535&gA),nA=343*(CA=65535&nA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(n^=t>>6&63|128)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=b<<8,n=65535&(e=343*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,n^=63&t|128),C=343*B,r=343*o,E=343*a,h=343*w,c=343*D,u=343*l,y=343*p,F=343*M,m=343*d,G=343*b,H=343*U,L=343*N,k=343*J,S=343*v,R=343*q,Y=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*tA,IA=343*iA,gA=343*eA,nA=343*CA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=n<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=b<<8,n=65535&(e=343*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA;return f(Q[wA>>8]+Q[255&wA]+Q[hA>>8]+Q[255&hA]+Q[aA>>8]+Q[255&aA]+Q[oA>>8]+Q[255&oA]+Q[BA>>8]+Q[255&BA]+Q[CA>>8]+Q[255&CA]+Q[eA>>8]+Q[255&eA]+Q[iA>>8]+Q[255&iA]+Q[tA>>8]+Q[255&tA]+Q[$>>8]+Q[255&$]+Q[T>>8]+Q[255&T]+Q[z>>8]+Q[255&z]+Q[K>>8]+Q[255&K]+Q[Z>>8]+Q[255&Z]+Q[X>>8]+Q[255&X]+Q[x>>8]+Q[255&x]+Q[q>>8]+Q[255&q]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[N>>8]+Q[255&N]+Q[U>>8]+Q[255&U]+Q[b>>8]+Q[255&b]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[D>>8]+Q[255&D]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],512)}function V(A){var t,I,i=A.length,g=s[512].offset,e=0,n=0|g[31],C=0,B=0|g[30],r=0,o=0|g[29],E=0,a=0|g[28],h=0,w=0|g[27],c=0,D=0|g[26],u=0,l=0|g[25],y=0,p=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],G=0,b=0|g[21],H=0,U=0|g[20],L=0,N=0|g[19],k=0,J=0|g[18],S=0,v=0|g[17],R=0,q=0|g[16],Y=0,x=0|g[15],P=0,X=0|g[14],O=0,Z=0|g[13],V=0,K=0|g[12],j=0,z=0|g[11],W=0,T=0|g[10],_=0,$=0|g[9],AA=0,tA=0|g[8],IA=0,iA=0|g[7],gA=0,eA=0|g[6],nA=0,CA=0|g[5],QA=0,BA=0|g[4],rA=0,oA=0|g[3],EA=0,aA=0|g[2],sA=0,hA=0|g[1],fA=0,wA=0|g[0];for(I=0;I<i;I++)C=343*B,r=343*o,E=343*a,h=343*w,c=343*D,u=343*l,y=343*p,F=343*M,m=343*d,G=343*b,H=343*U,L=343*N,k=343*J,S=343*v,R=343*q,Y=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*tA,IA=343*iA,gA=343*eA,nA=343*CA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=n<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=b<<8,n=65535&(e=343*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=343*B,r=343*o,E=343*a,h=343*w,c=343*D,u=343*l,y=343*p,F=343*M,m=343*d,G=343*b,H=343*U,L=343*N,k=343*J,S=343*v,R=343*q,Y=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*tA,IA=343*iA,gA=343*eA,nA=343*CA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=(n^=t>>6|192)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=b<<8,n=65535&(e=343*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=343*B,r=343*o,E=343*a,h=343*w,c=343*D,u=343*l,y=343*p,F=343*M,m=343*d,G=343*b,H=343*U,L=343*N,k=343*J,S=343*v,R=343*q,Y=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*tA,IA=343*iA,gA=343*eA,nA=343*CA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,n=65535&(e=343*n),wA=(fA+=b<<8)+((sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=343*(B=65535&C),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),c=343*(D=65535&c),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(b=65535&G),H=343*(U=65535&H),L=343*(N=65535&L),k=343*(J=65535&k),S=343*(v=65535&S),R=343*(q=65535&R),Y=343*(x=65535&Y),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(tA=65535&AA),IA=343*(iA=65535&IA),gA=343*(eA=65535&gA),nA=343*(CA=65535&nA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(n^=t>>12&63|128)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,n=65535&(e=343*n),wA=(fA+=b<<8)+((sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=343*(B=65535&C),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),c=343*(D=65535&c),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(b=65535&G),H=343*(U=65535&H),L=343*(N=65535&L),k=343*(J=65535&k),S=343*(v=65535&S),R=343*(q=65535&R),Y=343*(x=65535&Y),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(tA=65535&AA),IA=343*(iA=65535&IA),gA=343*(eA=65535&gA),nA=343*(CA=65535&nA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(n^=t>>6&63|128)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=b<<8,n=65535&(e=343*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,n^=63&t|128):(C=343*B,r=343*o,E=343*a,h=343*w,c=343*D,u=343*l,y=343*p,F=343*M,m=343*d,G=343*b,H=343*U,L=343*N,k=343*J,S=343*v,R=343*q,Y=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*tA,IA=343*iA,gA=343*eA,nA=343*CA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=(n^=t>>12|224)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,n=65535&(e=343*n),wA=(fA+=b<<8)+((sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=343*(B=65535&C),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),c=343*(D=65535&c),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(b=65535&G),H=343*(U=65535&H),L=343*(N=65535&L),k=343*(J=65535&k),S=343*(v=65535&S),R=343*(q=65535&R),Y=343*(x=65535&Y),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(tA=65535&AA),IA=343*(iA=65535&IA),gA=343*(eA=65535&gA),nA=343*(CA=65535&nA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(n^=t>>6&63|128)<<8,_+=B<<8,AA+=o<<8,IA+=a<<8,gA+=w<<8,nA+=D<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=b<<8,n=65535&(e=343*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,n^=63&t|128);return f(Q[wA>>8]+Q[255&wA]+Q[hA>>8]+Q[255&hA]+Q[aA>>8]+Q[255&aA]+Q[oA>>8]+Q[255&oA]+Q[BA>>8]+Q[255&BA]+Q[CA>>8]+Q[255&CA]+Q[eA>>8]+Q[255&eA]+Q[iA>>8]+Q[255&iA]+Q[tA>>8]+Q[255&tA]+Q[$>>8]+Q[255&$]+Q[T>>8]+Q[255&T]+Q[z>>8]+Q[255&z]+Q[K>>8]+Q[255&K]+Q[Z>>8]+Q[255&Z]+Q[X>>8]+Q[255&X]+Q[x>>8]+Q[255&x]+Q[q>>8]+Q[255&q]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[N>>8]+Q[255&N]+Q[U>>8]+Q[255&U]+Q[b>>8]+Q[255&b]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[D>>8]+Q[255&D]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],512)}function K(A){var t,I=A.length-3,i=s[1024].offset,g=0,e=0|i[63],n=0,C=0|i[62],B=0,r=0|i[61],o=0,E=0|i[60],a=0,h=0|i[59],w=0,c=0|i[58],D=0,u=0|i[57],l=0,y=0|i[56],p=0,F=0|i[55],M=0,m=0|i[54],d=0,G=0|i[53],b=0,H=0|i[52],U=0,L=0|i[51],N=0,k=0|i[50],J=0,S=0|i[49],v=0,R=0|i[48],q=0,Y=0|i[47],x=0,P=0|i[46],X=0,O=0|i[45],Z=0,V=0|i[44],K=0,j=0|i[43],z=0,W=0|i[42],T=0,_=0|i[41],$=0,AA=0|i[40],tA=0,IA=0|i[39],iA=0,gA=0|i[38],eA=0,nA=0|i[37],CA=0,QA=0|i[36],BA=0,rA=0|i[35],oA=0,EA=0|i[34],aA=0,sA=0|i[33],hA=0,fA=0|i[32],wA=0,cA=0|i[31],DA=0,uA=0|i[30],lA=0,yA=0|i[29],pA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,GA=0|i[26],bA=0,HA=0|i[25],UA=0,LA=0|i[24],NA=0,kA=0|i[23],JA=0,SA=0|i[22],vA=0,RA=0|i[21],qA=0,YA=0|i[20],xA=0,PA=0|i[19],XA=0,OA=0|i[18],ZA=0,VA=0|i[17],KA=0,jA=0|i[16],zA=0,WA=0|i[15],TA=0,_A=0|i[14],$A=0,At=0|i[13],tt=0,It=0|i[12],it=0,gt=0|i[11],et=0,nt=0|i[10],Ct=0,Qt=0|i[9],Bt=0,rt=0|i[8],ot=0,Et=0|i[7],at=0,st=0|i[6],ht=0,ft=0|i[5],wt=0,ct=0|i[4],Dt=0,ut=0|i[3],lt=0,yt=0|i[2],pt=0,Ft=0|i[1],Mt=0,mt=0|i[0];for(t=0;t<I;)n=397*C,B=397*r,o=397*E,a=397*h,w=397*c,D=397*u,l=397*y,p=397*F,M=397*m,d=397*G,b=397*H,U=397*L,N=397*k,J=397*S,v=397*R,q=397*Y,x=397*P,X=397*O,Z=397*V,K=397*j,z=397*W,T=397*_,$=397*AA,tA=397*IA,iA=397*gA,eA=397*nA,CA=397*QA,BA=397*rA,oA=397*EA,aA=397*sA,hA=397*fA,wA=397*cA,DA=397*uA,lA=397*yA,pA=397*FA,MA=397*mA,dA=397*GA,bA=397*HA,UA=397*LA,NA=397*kA,JA=397*SA,vA=397*RA,qA=397*YA,xA=397*PA,XA=397*OA,ZA=397*VA,KA=397*jA,zA=397*WA,TA=397*_A,$A=397*At,tt=397*It,it=397*gt,et=397*nt,Ct=397*Qt,Bt=397*rt,ot=397*Et,at=397*st,ht=397*ft,wt=397*ct,Dt=397*ut,lt=397*yt,pt=397*Ft,Mt=397*mt,vA+=(e^=A.charCodeAt(t++))<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,e=65535&(g=397*e),mt=(Mt+=W<<8)+((pt+=(lt+=(Dt+=(wt+=(ht+=(at+=(ot+=(Bt+=(Ct+=(et+=(it+=(tt+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(qA+=(vA+=(JA+=(NA+=(UA+=(bA+=(dA+=(MA+=(pA+=(lA+=(DA+=(wA+=(hA+=(aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=397*(C=65535&n),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(c=65535&w),D=397*(u=65535&D),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),b=397*(H=65535&b),U=397*(L=65535&U),N=397*(k=65535&N),J=397*(S=65535&J),v=397*(R=65535&v),q=397*(Y=65535&q),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),tA=397*(IA=65535&tA),iA=397*(gA=65535&iA),eA=397*(nA=65535&eA),CA=397*(QA=65535&CA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(cA=65535&wA),DA=397*(uA=65535&DA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),bA=397*(HA=65535&bA),UA=397*(LA=65535&UA),NA=397*(kA=65535&NA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),qA=397*(YA=65535&qA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(At=65535&$A),tt=397*(It=65535&tt),it=397*(gt=65535&it),et=397*(nt=65535&et),Ct=397*(Qt=65535&Ct),Bt=397*(rt=65535&Bt),ot=397*(Et=65535&ot),at=397*(st=65535&at),ht=397*(ft=65535&ht),wt=397*(ct=65535&wt),Dt=397*(ut=65535&Dt),lt=397*(yt=65535<),pt=397*(Ft=65535&pt),Mt=397*mt,vA+=(e^=A.charCodeAt(t++))<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,e=65535&(g=397*e),mt=(Mt+=W<<8)+((pt+=(lt+=(Dt+=(wt+=(ht+=(at+=(ot+=(Bt+=(Ct+=(et+=(it+=(tt+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(qA+=(vA+=(JA+=(NA+=(UA+=(bA+=(dA+=(MA+=(pA+=(lA+=(DA+=(wA+=(hA+=(aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=397*(C=65535&n),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(c=65535&w),D=397*(u=65535&D),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),b=397*(H=65535&b),U=397*(L=65535&U),N=397*(k=65535&N),J=397*(S=65535&J),v=397*(R=65535&v),q=397*(Y=65535&q),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),tA=397*(IA=65535&tA),iA=397*(gA=65535&iA),eA=397*(nA=65535&eA),CA=397*(QA=65535&CA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(cA=65535&wA),DA=397*(uA=65535&DA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),bA=397*(HA=65535&bA),UA=397*(LA=65535&UA),NA=397*(kA=65535&NA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),qA=397*(YA=65535&qA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(At=65535&$A),tt=397*(It=65535&tt),it=397*(gt=65535&it),et=397*(nt=65535&et),Ct=397*(Qt=65535&Ct),Bt=397*(rt=65535&Bt),ot=397*(Et=65535&ot),at=397*(st=65535&at),ht=397*(ft=65535&ht),wt=397*(ct=65535&wt),Dt=397*(ut=65535&Dt),lt=397*(yt=65535<),pt=397*(Ft=65535&pt),Mt=397*mt,vA+=(e^=A.charCodeAt(t++))<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,e=65535&(g=397*e),mt=(Mt+=W<<8)+((pt+=(lt+=(Dt+=(wt+=(ht+=(at+=(ot+=(Bt+=(Ct+=(et+=(it+=(tt+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(qA+=(vA+=(JA+=(NA+=(UA+=(bA+=(dA+=(MA+=(pA+=(lA+=(DA+=(wA+=(hA+=(aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=397*(C=65535&n),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(c=65535&w),D=397*(u=65535&D),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),b=397*(H=65535&b),U=397*(L=65535&U),N=397*(k=65535&N),J=397*(S=65535&J),v=397*(R=65535&v),q=397*(Y=65535&q),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),tA=397*(IA=65535&tA),iA=397*(gA=65535&iA),eA=397*(nA=65535&eA),CA=397*(QA=65535&CA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(cA=65535&wA),DA=397*(uA=65535&DA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),bA=397*(HA=65535&bA),UA=397*(LA=65535&UA),NA=397*(kA=65535&NA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),qA=397*(YA=65535&qA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(At=65535&$A),tt=397*(It=65535&tt),it=397*(gt=65535&it),et=397*(nt=65535&et),Ct=397*(Qt=65535&Ct),Bt=397*(rt=65535&Bt),ot=397*(Et=65535&ot),at=397*(st=65535&at),ht=397*(ft=65535&ht),wt=397*(ct=65535&wt),Dt=397*(ut=65535&Dt),lt=397*(yt=65535<),pt=397*(Ft=65535&pt),Mt=397*mt,vA+=(e^=A.charCodeAt(t++))<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,Mt+=W<<8,e=65535&(g=397*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),S=65535&(J+=N>>>16),R=65535&(v+=J>>>16),Y=65535&(q+=v>>>16),P=65535&(x+=q>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),IA=65535&(tA+=$>>>16),gA=65535&(iA+=tA>>>16),nA=65535&(eA+=iA>>>16),QA=65535&(CA+=eA>>>16),rA=65535&(BA+=CA>>>16),EA=65535&(oA+=BA>>>16),sA=65535&(aA+=oA>>>16),fA=65535&(hA+=aA>>>16),cA=65535&(wA+=hA>>>16),uA=65535&(DA+=wA>>>16),yA=65535&(lA+=DA>>>16),FA=65535&(pA+=lA>>>16),mA=65535&(MA+=pA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(bA+=dA>>>16),LA=65535&(UA+=bA>>>16),kA=65535&(NA+=UA>>>16),SA=65535&(JA+=NA>>>16),RA=65535&(vA+=JA>>>16),YA=65535&(qA+=vA>>>16),PA=65535&(xA+=qA>>>16),OA=65535&(XA+=xA>>>16),VA=65535&(ZA+=XA>>>16),jA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),At=65535&($A+=TA>>>16),It=65535&(tt+=$A>>>16),gt=65535&(it+=tt>>>16),nt=65535&(et+=it>>>16),Qt=65535&(Ct+=et>>>16),rt=65535&(Bt+=Ct>>>16),Et=65535&(ot+=Bt>>>16),st=65535&(at+=ot>>>16),ft=65535&(ht+=at>>>16),ct=65535&(wt+=ht>>>16),ut=65535&(Dt+=wt>>>16),yt=65535&(lt+=Dt>>>16),mt=Mt+((pt+=lt>>>16)>>>16)&65535,Ft=65535&pt;for(;t<I+3;)n=397*C,B=397*r,o=397*E,a=397*h,w=397*c,D=397*u,l=397*y,p=397*F,M=397*m,d=397*G,b=397*H,U=397*L,N=397*k,J=397*S,v=397*R,q=397*Y,x=397*P,X=397*O,Z=397*V,K=397*j,z=397*W,T=397*_,$=397*AA,tA=397*IA,iA=397*gA,eA=397*nA,CA=397*QA,BA=397*rA,oA=397*EA,aA=397*sA,hA=397*fA,wA=397*cA,DA=397*uA,lA=397*yA,pA=397*FA,MA=397*mA,dA=397*GA,bA=397*HA,UA=397*LA,NA=397*kA,JA=397*SA,vA=397*RA,qA=397*YA,xA=397*PA,XA=397*OA,ZA=397*VA,KA=397*jA,zA=397*WA,TA=397*_A,$A=397*At,tt=397*It,it=397*gt,et=397*nt,Ct=397*Qt,Bt=397*rt,ot=397*Et,at=397*st,ht=397*ft,wt=397*ct,Dt=397*ut,lt=397*yt,pt=397*Ft,Mt=397*mt,vA+=(e^=A.charCodeAt(t++))<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,Mt+=W<<8,e=65535&(g=397*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),S=65535&(J+=N>>>16),R=65535&(v+=J>>>16),Y=65535&(q+=v>>>16),P=65535&(x+=q>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),IA=65535&(tA+=$>>>16),gA=65535&(iA+=tA>>>16),nA=65535&(eA+=iA>>>16),QA=65535&(CA+=eA>>>16),rA=65535&(BA+=CA>>>16),EA=65535&(oA+=BA>>>16),sA=65535&(aA+=oA>>>16),fA=65535&(hA+=aA>>>16),cA=65535&(wA+=hA>>>16),uA=65535&(DA+=wA>>>16),yA=65535&(lA+=DA>>>16),FA=65535&(pA+=lA>>>16),mA=65535&(MA+=pA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(bA+=dA>>>16),LA=65535&(UA+=bA>>>16),kA=65535&(NA+=UA>>>16),SA=65535&(JA+=NA>>>16),RA=65535&(vA+=JA>>>16),YA=65535&(qA+=vA>>>16),PA=65535&(xA+=qA>>>16),OA=65535&(XA+=xA>>>16),VA=65535&(ZA+=XA>>>16),jA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),At=65535&($A+=TA>>>16),It=65535&(tt+=$A>>>16),gt=65535&(it+=tt>>>16),nt=65535&(et+=it>>>16),Qt=65535&(Ct+=et>>>16),rt=65535&(Bt+=Ct>>>16),Et=65535&(ot+=Bt>>>16),st=65535&(at+=ot>>>16),ft=65535&(ht+=at>>>16),ct=65535&(wt+=ht>>>16),ut=65535&(Dt+=wt>>>16),yt=65535&(lt+=Dt>>>16),mt=Mt+((pt+=lt>>>16)>>>16)&65535,Ft=65535&pt;return f(Q[mt>>8]+Q[255&mt]+Q[Ft>>8]+Q[255&Ft]+Q[yt>>8]+Q[255&yt]+Q[ut>>8]+Q[255&ut]+Q[ct>>8]+Q[255&ct]+Q[ft>>8]+Q[255&ft]+Q[st>>8]+Q[255&st]+Q[Et>>8]+Q[255&Et]+Q[rt>>8]+Q[255&rt]+Q[Qt>>8]+Q[255&Qt]+Q[nt>>8]+Q[255&nt]+Q[gt>>8]+Q[255>]+Q[It>>8]+Q[255&It]+Q[At>>8]+Q[255&At]+Q[_A>>8]+Q[255&_A]+Q[WA>>8]+Q[255&WA]+Q[jA>>8]+Q[255&jA]+Q[VA>>8]+Q[255&VA]+Q[OA>>8]+Q[255&OA]+Q[PA>>8]+Q[255&PA]+Q[YA>>8]+Q[255&YA]+Q[RA>>8]+Q[255&RA]+Q[SA>>8]+Q[255&SA]+Q[kA>>8]+Q[255&kA]+Q[LA>>8]+Q[255&LA]+Q[HA>>8]+Q[255&HA]+Q[GA>>8]+Q[255&GA]+Q[mA>>8]+Q[255&mA]+Q[FA>>8]+Q[255&FA]+Q[yA>>8]+Q[255&yA]+Q[uA>>8]+Q[255&uA]+Q[cA>>8]+Q[255&cA]+Q[fA>>8]+Q[255&fA]+Q[sA>>8]+Q[255&sA]+Q[EA>>8]+Q[255&EA]+Q[rA>>8]+Q[255&rA]+Q[QA>>8]+Q[255&QA]+Q[nA>>8]+Q[255&nA]+Q[gA>>8]+Q[255&gA]+Q[IA>>8]+Q[255&IA]+Q[AA>>8]+Q[255&AA]+Q[_>>8]+Q[255&_]+Q[W>>8]+Q[255&W]+Q[j>>8]+Q[255&j]+Q[V>>8]+Q[255&V]+Q[O>>8]+Q[255&O]+Q[P>>8]+Q[255&P]+Q[Y>>8]+Q[255&Y]+Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[k>>8]+Q[255&k]+Q[L>>8]+Q[255&L]+Q[H>>8]+Q[255&H]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[c>>8]+Q[255&c]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],1024)}function j(A){var t,I=A.length-3,i=s[1024].offset,g=0,e=0|i[63],n=0,C=0|i[62],B=0,r=0|i[61],o=0,E=0|i[60],a=0,h=0|i[59],w=0,c=0|i[58],D=0,u=0|i[57],l=0,y=0|i[56],p=0,F=0|i[55],M=0,m=0|i[54],d=0,G=0|i[53],b=0,H=0|i[52],U=0,L=0|i[51],N=0,k=0|i[50],J=0,S=0|i[49],v=0,R=0|i[48],q=0,Y=0|i[47],x=0,P=0|i[46],X=0,O=0|i[45],Z=0,V=0|i[44],K=0,j=0|i[43],z=0,W=0|i[42],T=0,_=0|i[41],$=0,AA=0|i[40],tA=0,IA=0|i[39],iA=0,gA=0|i[38],eA=0,nA=0|i[37],CA=0,QA=0|i[36],BA=0,rA=0|i[35],oA=0,EA=0|i[34],aA=0,sA=0|i[33],hA=0,fA=0|i[32],wA=0,cA=0|i[31],DA=0,uA=0|i[30],lA=0,yA=0|i[29],pA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,GA=0|i[26],bA=0,HA=0|i[25],UA=0,LA=0|i[24],NA=0,kA=0|i[23],JA=0,SA=0|i[22],vA=0,RA=0|i[21],qA=0,YA=0|i[20],xA=0,PA=0|i[19],XA=0,OA=0|i[18],ZA=0,VA=0|i[17],KA=0,jA=0|i[16],zA=0,WA=0|i[15],TA=0,_A=0|i[14],$A=0,At=0|i[13],tt=0,It=0|i[12],it=0,gt=0|i[11],et=0,nt=0|i[10],Ct=0,Qt=0|i[9],Bt=0,rt=0|i[8],ot=0,Et=0|i[7],at=0,st=0|i[6],ht=0,ft=0|i[5],wt=0,ct=0|i[4],Dt=0,ut=0|i[3],lt=0,yt=0|i[2],pt=0,Ft=0|i[1],Mt=0,mt=0|i[0];for(t=0;t<I;)n=397*C,B=397*r,o=397*E,a=397*h,w=397*c,D=397*u,l=397*y,p=397*F,M=397*m,d=397*G,b=397*H,U=397*L,N=397*k,J=397*S,v=397*R,q=397*Y,x=397*P,X=397*O,Z=397*V,K=397*j,z=397*W,T=397*_,$=397*AA,tA=397*IA,iA=397*gA,eA=397*nA,CA=397*QA,BA=397*rA,oA=397*EA,aA=397*sA,hA=397*fA,wA=397*cA,DA=397*uA,lA=397*yA,pA=397*FA,MA=397*mA,dA=397*GA,bA=397*HA,UA=397*LA,NA=397*kA,JA=397*SA,vA=397*RA,qA=397*YA,xA=397*PA,XA=397*OA,ZA=397*VA,KA=397*jA,zA=397*WA,TA=397*_A,$A=397*At,tt=397*It,it=397*gt,et=397*nt,Ct=397*Qt,Bt=397*rt,ot=397*Et,at=397*st,ht=397*ft,wt=397*ct,Dt=397*ut,lt=397*yt,pt=397*Ft,Mt=397*mt,vA+=e<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,e=65535&(g=397*e),mt=(Mt+=W<<8)+((pt+=(lt+=(Dt+=(wt+=(ht+=(at+=(ot+=(Bt+=(Ct+=(et+=(it+=(tt+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(qA+=(vA+=(JA+=(NA+=(UA+=(bA+=(dA+=(MA+=(pA+=(lA+=(DA+=(wA+=(hA+=(aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=397*(C=65535&n),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(c=65535&w),D=397*(u=65535&D),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),b=397*(H=65535&b),U=397*(L=65535&U),N=397*(k=65535&N),J=397*(S=65535&J),v=397*(R=65535&v),q=397*(Y=65535&q),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),tA=397*(IA=65535&tA),iA=397*(gA=65535&iA),eA=397*(nA=65535&eA),CA=397*(QA=65535&CA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(cA=65535&wA),DA=397*(uA=65535&DA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),bA=397*(HA=65535&bA),UA=397*(LA=65535&UA),NA=397*(kA=65535&NA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),qA=397*(YA=65535&qA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(At=65535&$A),tt=397*(It=65535&tt),it=397*(gt=65535&it),et=397*(nt=65535&et),Ct=397*(Qt=65535&Ct),Bt=397*(rt=65535&Bt),ot=397*(Et=65535&ot),at=397*(st=65535&at),ht=397*(ft=65535&ht),wt=397*(ct=65535&wt),Dt=397*(ut=65535&Dt),lt=397*(yt=65535<),pt=397*(Ft=65535&pt),Mt=397*mt,vA+=(e^=A.charCodeAt(t++))<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,e=65535&(g=397*e),mt=(Mt+=W<<8)+((pt+=(lt+=(Dt+=(wt+=(ht+=(at+=(ot+=(Bt+=(Ct+=(et+=(it+=(tt+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(qA+=(vA+=(JA+=(NA+=(UA+=(bA+=(dA+=(MA+=(pA+=(lA+=(DA+=(wA+=(hA+=(aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=397*(C=65535&n),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(c=65535&w),D=397*(u=65535&D),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),b=397*(H=65535&b),U=397*(L=65535&U),N=397*(k=65535&N),J=397*(S=65535&J),v=397*(R=65535&v),q=397*(Y=65535&q),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),tA=397*(IA=65535&tA),iA=397*(gA=65535&iA),eA=397*(nA=65535&eA),CA=397*(QA=65535&CA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(cA=65535&wA),DA=397*(uA=65535&DA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),bA=397*(HA=65535&bA),UA=397*(LA=65535&UA),NA=397*(kA=65535&NA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),qA=397*(YA=65535&qA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(At=65535&$A),tt=397*(It=65535&tt),it=397*(gt=65535&it),et=397*(nt=65535&et),Ct=397*(Qt=65535&Ct),Bt=397*(rt=65535&Bt),ot=397*(Et=65535&ot),at=397*(st=65535&at),ht=397*(ft=65535&ht),wt=397*(ct=65535&wt),Dt=397*(ut=65535&Dt),lt=397*(yt=65535<),pt=397*(Ft=65535&pt),Mt=397*mt,vA+=(e^=A.charCodeAt(t++))<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,e=65535&(g=397*e),mt=(Mt+=W<<8)+((pt+=(lt+=(Dt+=(wt+=(ht+=(at+=(ot+=(Bt+=(Ct+=(et+=(it+=(tt+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(qA+=(vA+=(JA+=(NA+=(UA+=(bA+=(dA+=(MA+=(pA+=(lA+=(DA+=(wA+=(hA+=(aA+=(oA+=(BA+=(CA+=(eA+=(iA+=(tA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(q+=(v+=(J+=(N+=(U+=(b+=(d+=(M+=(p+=(l+=(D+=(w+=(a+=(o+=(B+=(n+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=397*(C=65535&n),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(c=65535&w),D=397*(u=65535&D),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),b=397*(H=65535&b),U=397*(L=65535&U),N=397*(k=65535&N),J=397*(S=65535&J),v=397*(R=65535&v),q=397*(Y=65535&q),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),tA=397*(IA=65535&tA),iA=397*(gA=65535&iA),eA=397*(nA=65535&eA),CA=397*(QA=65535&CA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(cA=65535&wA),DA=397*(uA=65535&DA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),bA=397*(HA=65535&bA),UA=397*(LA=65535&UA),NA=397*(kA=65535&NA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),qA=397*(YA=65535&qA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(At=65535&$A),tt=397*(It=65535&tt),it=397*(gt=65535&it),et=397*(nt=65535&et),Ct=397*(Qt=65535&Ct),Bt=397*(rt=65535&Bt),ot=397*(Et=65535&ot),at=397*(st=65535&at),ht=397*(ft=65535&ht),wt=397*(ct=65535&wt),Dt=397*(ut=65535&Dt),lt=397*(yt=65535<),pt=397*(Ft=65535&pt),Mt=397*mt,vA+=(e^=A.charCodeAt(t++))<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,Mt+=W<<8,e=65535&(g=397*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),S=65535&(J+=N>>>16),R=65535&(v+=J>>>16),Y=65535&(q+=v>>>16),P=65535&(x+=q>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),IA=65535&(tA+=$>>>16),gA=65535&(iA+=tA>>>16),nA=65535&(eA+=iA>>>16),QA=65535&(CA+=eA>>>16),rA=65535&(BA+=CA>>>16),EA=65535&(oA+=BA>>>16),sA=65535&(aA+=oA>>>16),fA=65535&(hA+=aA>>>16),cA=65535&(wA+=hA>>>16),uA=65535&(DA+=wA>>>16),yA=65535&(lA+=DA>>>16),FA=65535&(pA+=lA>>>16),mA=65535&(MA+=pA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(bA+=dA>>>16),LA=65535&(UA+=bA>>>16),kA=65535&(NA+=UA>>>16),SA=65535&(JA+=NA>>>16),RA=65535&(vA+=JA>>>16),YA=65535&(qA+=vA>>>16),PA=65535&(xA+=qA>>>16),OA=65535&(XA+=xA>>>16),VA=65535&(ZA+=XA>>>16),jA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),At=65535&($A+=TA>>>16),It=65535&(tt+=$A>>>16),gt=65535&(it+=tt>>>16),nt=65535&(et+=it>>>16),Qt=65535&(Ct+=et>>>16),rt=65535&(Bt+=Ct>>>16),Et=65535&(ot+=Bt>>>16),st=65535&(at+=ot>>>16),ft=65535&(ht+=at>>>16),ct=65535&(wt+=ht>>>16),ut=65535&(Dt+=wt>>>16),yt=65535&(lt+=Dt>>>16),mt=Mt+((pt+=lt>>>16)>>>16)&65535,Ft=65535&pt,e^=A.charCodeAt(t++);for(;t<I+3;)n=397*C,B=397*r,o=397*E,a=397*h,w=397*c,D=397*u,l=397*y,p=397*F,M=397*m,d=397*G,b=397*H,U=397*L,N=397*k,J=397*S,v=397*R,q=397*Y,x=397*P,X=397*O,Z=397*V,K=397*j,z=397*W,T=397*_,$=397*AA,tA=397*IA,iA=397*gA,eA=397*nA,CA=397*QA,BA=397*rA,oA=397*EA,aA=397*sA,hA=397*fA,wA=397*cA,DA=397*uA,lA=397*yA,pA=397*FA,MA=397*mA,dA=397*GA,bA=397*HA,UA=397*LA,NA=397*kA,JA=397*SA,vA=397*RA,qA=397*YA,xA=397*PA,XA=397*OA,ZA=397*VA,KA=397*jA,zA=397*WA,TA=397*_A,$A=397*At,tt=397*It,it=397*gt,et=397*nt,Ct=397*Qt,Bt=397*rt,ot=397*Et,at=397*st,ht=397*ft,wt=397*ct,Dt=397*ut,lt=397*yt,pt=397*Ft,Mt=397*mt,vA+=e<<8,qA+=C<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=c<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,tt+=m<<8,it+=G<<8,et+=H<<8,Ct+=L<<8,Bt+=k<<8,ot+=S<<8,at+=R<<8,ht+=Y<<8,wt+=P<<8,Dt+=O<<8,lt+=V<<8,pt+=j<<8,Mt+=W<<8,e=65535&(g=397*e),C=65535&(n+=g>>>16),r=65535&(B+=n>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),c=65535&(w+=a>>>16),u=65535&(D+=w>>>16),y=65535&(l+=D>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),H=65535&(b+=d>>>16),L=65535&(U+=b>>>16),k=65535&(N+=U>>>16),S=65535&(J+=N>>>16),R=65535&(v+=J>>>16),Y=65535&(q+=v>>>16),P=65535&(x+=q>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),IA=65535&(tA+=$>>>16),gA=65535&(iA+=tA>>>16),nA=65535&(eA+=iA>>>16),QA=65535&(CA+=eA>>>16),rA=65535&(BA+=CA>>>16),EA=65535&(oA+=BA>>>16),sA=65535&(aA+=oA>>>16),fA=65535&(hA+=aA>>>16),cA=65535&(wA+=hA>>>16),uA=65535&(DA+=wA>>>16),yA=65535&(lA+=DA>>>16),FA=65535&(pA+=lA>>>16),mA=65535&(MA+=pA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(bA+=dA>>>16),LA=65535&(UA+=bA>>>16),kA=65535&(NA+=UA>>>16),SA=65535&(JA+=NA>>>16),RA=65535&(vA+=JA>>>16),YA=65535&(qA+=vA>>>16),PA=65535&(xA+=qA>>>16),OA=65535&(XA+=xA>>>16),VA=65535&(ZA+=XA>>>16),jA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),At=65535&($A+=TA>>>16),It=65535&(tt+=$A>>>16),gt=65535&(it+=tt>>>16),nt=65535&(et+=it>>>16),Qt=65535&(Ct+=et>>>16),rt=65535&(Bt+=Ct>>>16),Et=65535&(ot+=Bt>>>16),st=65535&(at+=ot>>>16),ft=65535&(ht+=at>>>16),ct=65535&(wt+=ht>>>16),ut=65535&(Dt+=wt>>>16),yt=65535&(lt+=Dt>>>16),mt=Mt+((pt+=lt>>>16)>>>16)&65535,Ft=65535&pt,e^=A.charCodeAt(t++);return f(Q[mt>>8]+Q[255&mt]+Q[Ft>>8]+Q[255&Ft]+Q[yt>>8]+Q[255&yt]+Q[ut>>8]+Q[255&ut]+Q[ct>>8]+Q[255&ct]+Q[ft>>8]+Q[255&ft]+Q[st>>8]+Q[255&st]+Q[Et>>8]+Q[255&Et]+Q[rt>>8]+Q[255&rt]+Q[Qt>>8]+Q[255&Qt]+Q[nt>>8]+Q[255&nt]+Q[gt>>8]+Q[255>]+Q[It>>8]+Q[255&It]+Q[At>>8]+Q[255&At]+Q[_A>>8]+Q[255&_A]+Q[WA>>8]+Q[255&WA]+Q[jA>>8]+Q[255&jA]+Q[VA>>8]+Q[255&VA]+Q[OA>>8]+Q[255&OA]+Q[PA>>8]+Q[255&PA]+Q[YA>>8]+Q[255&YA]+Q[RA>>8]+Q[255&RA]+Q[SA>>8]+Q[255&SA]+Q[kA>>8]+Q[255&kA]+Q[LA>>8]+Q[255&LA]+Q[HA>>8]+Q[255&HA]+Q[GA>>8]+Q[255&GA]+Q[mA>>8]+Q[255&mA]+Q[FA>>8]+Q[255&FA]+Q[yA>>8]+Q[255&yA]+Q[uA>>8]+Q[255&uA]+Q[cA>>8]+Q[255&cA]+Q[fA>>8]+Q[255&fA]+Q[sA>>8]+Q[255&sA]+Q[EA>>8]+Q[255&EA]+Q[rA>>8]+Q[255&rA]+Q[QA>>8]+Q[255&QA]+Q[nA>>8]+Q[255&nA]+Q[gA>>8]+Q[255&gA]+Q[IA>>8]+Q[255&IA]+Q[AA>>8]+Q[255&AA]+Q[_>>8]+Q[255&_]+Q[W>>8]+Q[255&W]+Q[j>>8]+Q[255&j]+Q[V>>8]+Q[255&V]+Q[O>>8]+Q[255&O]+Q[P>>8]+Q[255&P]+Q[Y>>8]+Q[255&Y]+Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[k>>8]+Q[255&k]+Q[L>>8]+Q[255&L]+Q[H>>8]+Q[255&H]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[c>>8]+Q[255&c]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e],1024)}function z(A){var t,I,i=A.length,g=s[1024].offset,e=0,n=0|g[63],C=0,B=0|g[62],r=0,o=0|g[61],E=0,a=0|g[60],h=0,w=0|g[59],c=0,D=0|g[58],u=0,l=0|g[57],y=0,p=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],G=0,b=0|g[53],H=0,U=0|g[52],L=0,N=0|g[51],k=0,J=0|g[50],S=0,v=0|g[49],R=0,q=0|g[48],Y=0,x=0|g[47],P=0,X=0|g[46],O=0,Z=0|g[45],V=0,K=0|g[44],j=0,z=0|g[43],W=0,T=0|g[42],_=0,$=0|g[41],AA=0,tA=0|g[40],IA=0,iA=0|g[39],gA=0,eA=0|g[38],nA=0,CA=0|g[37],QA=0,BA=0|g[36],rA=0,oA=0|g[35],EA=0,aA=0|g[34],sA=0,hA=0|g[33],fA=0,wA=0|g[32],cA=0,DA=0|g[31],uA=0,lA=0|g[30],yA=0,pA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],GA=0,bA=0|g[26],HA=0,UA=0|g[25],LA=0,NA=0|g[24],kA=0,JA=0|g[23],SA=0,vA=0|g[22],RA=0,qA=0|g[21],YA=0,xA=0|g[20],PA=0,XA=0|g[19],OA=0,ZA=0|g[18],VA=0,KA=0|g[17],jA=0,zA=0|g[16],WA=0,TA=0|g[15],_A=0,$A=0|g[14],At=0,tt=0|g[13],It=0,it=0|g[12],gt=0,et=0|g[11],nt=0,Ct=0|g[10],Qt=0,Bt=0|g[9],rt=0,ot=0|g[8],Et=0,at=0|g[7],st=0,ht=0|g[6],ft=0,wt=0|g[5],ct=0,Dt=0|g[4],ut=0,lt=0|g[3],yt=0,pt=0|g[2],Ft=0,Mt=0|g[1],mt=0,dt=0|g[0];for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=397*B,r=397*o,E=397*a,h=397*w,c=397*D,u=397*l,y=397*p,F=397*M,m=397*d,G=397*b,H=397*U,L=397*N,k=397*J,S=397*v,R=397*q,Y=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*tA,IA=397*iA,gA=397*eA,nA=397*CA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,cA=397*DA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*bA,HA=397*UA,LA=397*NA,kA=397*JA,SA=397*vA,RA=397*qA,YA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,At=397*tt,It=397*it,gt=397*et,nt=397*Ct,Qt=397*Bt,rt=397*ot,Et=397*at,st=397*ht,ft=397*wt,ct=397*Dt,ut=397*lt,yt=397*pt,Ft=397*Mt,mt=397*dt,RA+=(n^=t>>6|192)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,mt+=T<<8,n=65535&(e=397*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),DA=65535&(cA+=fA>>>16),lA=65535&(uA+=cA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),bA=65535&(GA+=mA>>>16),UA=65535&(HA+=GA>>>16),NA=65535&(LA+=HA>>>16),JA=65535&(kA+=LA>>>16),vA=65535&(SA+=kA>>>16),qA=65535&(RA+=SA>>>16),xA=65535&(YA+=RA>>>16),XA=65535&(PA+=YA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),tt=65535&(At+=_A>>>16),it=65535&(It+=At>>>16),et=65535&(gt+=It>>>16),Ct=65535&(nt+=gt>>>16),Bt=65535&(Qt+=nt>>>16),ot=65535&(rt+=Qt>>>16),at=65535&(Et+=rt>>>16),ht=65535&(st+=Et>>>16),wt=65535&(ft+=st>>>16),Dt=65535&(ct+=ft>>>16),lt=65535&(ut+=ct>>>16),pt=65535&(yt+=ut>>>16),dt=mt+((Ft+=yt>>>16)>>>16)&65535,Mt=65535&Ft,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=397*B,r=397*o,E=397*a,h=397*w,c=397*D,u=397*l,y=397*p,F=397*M,m=397*d,G=397*b,H=397*U,L=397*N,k=397*J,S=397*v,R=397*q,Y=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*tA,IA=397*iA,gA=397*eA,nA=397*CA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,cA=397*DA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*bA,HA=397*UA,LA=397*NA,kA=397*JA,SA=397*vA,RA=397*qA,YA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,At=397*tt,It=397*it,gt=397*et,nt=397*Ct,Qt=397*Bt,rt=397*ot,Et=397*at,st=397*ht,ft=397*wt,ct=397*Dt,ut=397*lt,yt=397*pt,Ft=397*Mt,mt=397*dt,RA+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,n=65535&(e=397*n),dt=(mt+=T<<8)+((Ft+=(yt+=(ut+=(ct+=(ft+=(st+=(Et+=(rt+=(Qt+=(nt+=(gt+=(It+=(At+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(YA+=(RA+=(SA+=(kA+=(LA+=(HA+=(GA+=(mA+=(FA+=(yA+=(uA+=(cA+=(fA+=(sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=397*(B=65535&C),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),c=397*(D=65535&c),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(b=65535&G),H=397*(U=65535&H),L=397*(N=65535&L),k=397*(J=65535&k),S=397*(v=65535&S),R=397*(q=65535&R),Y=397*(x=65535&Y),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(tA=65535&AA),IA=397*(iA=65535&IA),gA=397*(eA=65535&gA),nA=397*(CA=65535&nA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),cA=397*(DA=65535&cA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(bA=65535&GA),HA=397*(UA=65535&HA),LA=397*(NA=65535&LA),kA=397*(JA=65535&kA),SA=397*(vA=65535&SA),RA=397*(qA=65535&RA),YA=397*(xA=65535&YA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),At=397*(tt=65535&At),It=397*(it=65535&It),gt=397*(et=65535>),nt=397*(Ct=65535&nt),Qt=397*(Bt=65535&Qt),rt=397*(ot=65535&rt),Et=397*(at=65535&Et),st=397*(ht=65535&st),ft=397*(wt=65535&ft),ct=397*(Dt=65535&ct),ut=397*(lt=65535&ut),yt=397*(pt=65535&yt),Ft=397*(Mt=65535&Ft),mt=397*dt,RA+=(n^=t>>12&63|128)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,n=65535&(e=397*n),dt=(mt+=T<<8)+((Ft+=(yt+=(ut+=(ct+=(ft+=(st+=(Et+=(rt+=(Qt+=(nt+=(gt+=(It+=(At+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(YA+=(RA+=(SA+=(kA+=(LA+=(HA+=(GA+=(mA+=(FA+=(yA+=(uA+=(cA+=(fA+=(sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=397*(B=65535&C),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),c=397*(D=65535&c),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(b=65535&G),H=397*(U=65535&H),L=397*(N=65535&L),k=397*(J=65535&k),S=397*(v=65535&S),R=397*(q=65535&R),Y=397*(x=65535&Y),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(tA=65535&AA),IA=397*(iA=65535&IA),gA=397*(eA=65535&gA),nA=397*(CA=65535&nA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),cA=397*(DA=65535&cA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(bA=65535&GA),HA=397*(UA=65535&HA),LA=397*(NA=65535&LA),kA=397*(JA=65535&kA),SA=397*(vA=65535&SA),RA=397*(qA=65535&RA),YA=397*(xA=65535&YA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),At=397*(tt=65535&At),It=397*(it=65535&It),gt=397*(et=65535>),nt=397*(Ct=65535&nt),Qt=397*(Bt=65535&Qt),rt=397*(ot=65535&rt),Et=397*(at=65535&Et),st=397*(ht=65535&st),ft=397*(wt=65535&ft),ct=397*(Dt=65535&ct),ut=397*(lt=65535&ut),yt=397*(pt=65535&yt),Ft=397*(Mt=65535&Ft),mt=397*dt,RA+=(n^=t>>6&63|128)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,mt+=T<<8,n=65535&(e=397*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),DA=65535&(cA+=fA>>>16),lA=65535&(uA+=cA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),bA=65535&(GA+=mA>>>16),UA=65535&(HA+=GA>>>16),NA=65535&(LA+=HA>>>16),JA=65535&(kA+=LA>>>16),vA=65535&(SA+=kA>>>16),qA=65535&(RA+=SA>>>16),xA=65535&(YA+=RA>>>16),XA=65535&(PA+=YA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),tt=65535&(At+=_A>>>16),it=65535&(It+=At>>>16),et=65535&(gt+=It>>>16),Ct=65535&(nt+=gt>>>16),Bt=65535&(Qt+=nt>>>16),ot=65535&(rt+=Qt>>>16),at=65535&(Et+=rt>>>16),ht=65535&(st+=Et>>>16),wt=65535&(ft+=st>>>16),Dt=65535&(ct+=ft>>>16),lt=65535&(ut+=ct>>>16),pt=65535&(yt+=ut>>>16),dt=mt+((Ft+=yt>>>16)>>>16)&65535,Mt=65535&Ft,n^=63&t|128):(C=397*B,r=397*o,E=397*a,h=397*w,c=397*D,u=397*l,y=397*p,F=397*M,m=397*d,G=397*b,H=397*U,L=397*N,k=397*J,S=397*v,R=397*q,Y=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*tA,IA=397*iA,gA=397*eA,nA=397*CA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,cA=397*DA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*bA,HA=397*UA,LA=397*NA,kA=397*JA,SA=397*vA,RA=397*qA,YA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,At=397*tt,It=397*it,gt=397*et,nt=397*Ct,Qt=397*Bt,rt=397*ot,Et=397*at,st=397*ht,ft=397*wt,ct=397*Dt,ut=397*lt,yt=397*pt,Ft=397*Mt,mt=397*dt,RA+=(n^=t>>12|224)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,n=65535&(e=397*n),dt=(mt+=T<<8)+((Ft+=(yt+=(ut+=(ct+=(ft+=(st+=(Et+=(rt+=(Qt+=(nt+=(gt+=(It+=(At+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(YA+=(RA+=(SA+=(kA+=(LA+=(HA+=(GA+=(mA+=(FA+=(yA+=(uA+=(cA+=(fA+=(sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=397*(B=65535&C),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),c=397*(D=65535&c),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(b=65535&G),H=397*(U=65535&H),L=397*(N=65535&L),k=397*(J=65535&k),S=397*(v=65535&S),R=397*(q=65535&R),Y=397*(x=65535&Y),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(tA=65535&AA),IA=397*(iA=65535&IA),gA=397*(eA=65535&gA),nA=397*(CA=65535&nA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),cA=397*(DA=65535&cA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(bA=65535&GA),HA=397*(UA=65535&HA),LA=397*(NA=65535&LA),kA=397*(JA=65535&kA),SA=397*(vA=65535&SA),RA=397*(qA=65535&RA),YA=397*(xA=65535&YA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),At=397*(tt=65535&At),It=397*(it=65535&It),gt=397*(et=65535>),nt=397*(Ct=65535&nt),Qt=397*(Bt=65535&Qt),rt=397*(ot=65535&rt),Et=397*(at=65535&Et),st=397*(ht=65535&st),ft=397*(wt=65535&ft),ct=397*(Dt=65535&ct),ut=397*(lt=65535&ut),yt=397*(pt=65535&yt),Ft=397*(Mt=65535&Ft),mt=397*dt,RA+=(n^=t>>6&63|128)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,mt+=T<<8,n=65535&(e=397*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),DA=65535&(cA+=fA>>>16),lA=65535&(uA+=cA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),bA=65535&(GA+=mA>>>16),UA=65535&(HA+=GA>>>16),NA=65535&(LA+=HA>>>16),JA=65535&(kA+=LA>>>16),vA=65535&(SA+=kA>>>16),qA=65535&(RA+=SA>>>16),xA=65535&(YA+=RA>>>16),XA=65535&(PA+=YA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),tt=65535&(At+=_A>>>16),it=65535&(It+=At>>>16),et=65535&(gt+=It>>>16),Ct=65535&(nt+=gt>>>16),Bt=65535&(Qt+=nt>>>16),ot=65535&(rt+=Qt>>>16),at=65535&(Et+=rt>>>16),ht=65535&(st+=Et>>>16),wt=65535&(ft+=st>>>16),Dt=65535&(ct+=ft>>>16),lt=65535&(ut+=ct>>>16),pt=65535&(yt+=ut>>>16),dt=mt+((Ft+=yt>>>16)>>>16)&65535,Mt=65535&Ft,n^=63&t|128),C=397*B,r=397*o,E=397*a,h=397*w,c=397*D,u=397*l,y=397*p,F=397*M,m=397*d,G=397*b,H=397*U,L=397*N,k=397*J,S=397*v,R=397*q,Y=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*tA,IA=397*iA,gA=397*eA,nA=397*CA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,cA=397*DA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*bA,HA=397*UA,LA=397*NA,kA=397*JA,SA=397*vA,RA=397*qA,YA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,At=397*tt,It=397*it,gt=397*et,nt=397*Ct,Qt=397*Bt,rt=397*ot,Et=397*at,st=397*ht,ft=397*wt,ct=397*Dt,ut=397*lt,yt=397*pt,Ft=397*Mt,mt=397*dt,RA+=n<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,mt+=T<<8,n=65535&(e=397*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),DA=65535&(cA+=fA>>>16),lA=65535&(uA+=cA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),bA=65535&(GA+=mA>>>16),UA=65535&(HA+=GA>>>16),NA=65535&(LA+=HA>>>16),JA=65535&(kA+=LA>>>16),vA=65535&(SA+=kA>>>16),qA=65535&(RA+=SA>>>16),xA=65535&(YA+=RA>>>16),XA=65535&(PA+=YA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),tt=65535&(At+=_A>>>16),it=65535&(It+=At>>>16),et=65535&(gt+=It>>>16),Ct=65535&(nt+=gt>>>16),Bt=65535&(Qt+=nt>>>16),ot=65535&(rt+=Qt>>>16),at=65535&(Et+=rt>>>16),ht=65535&(st+=Et>>>16),wt=65535&(ft+=st>>>16),Dt=65535&(ct+=ft>>>16),lt=65535&(ut+=ct>>>16),pt=65535&(yt+=ut>>>16),dt=mt+((Ft+=yt>>>16)>>>16)&65535,Mt=65535&Ft;return f(Q[dt>>8]+Q[255&dt]+Q[Mt>>8]+Q[255&Mt]+Q[pt>>8]+Q[255&pt]+Q[lt>>8]+Q[255<]+Q[Dt>>8]+Q[255&Dt]+Q[wt>>8]+Q[255&wt]+Q[ht>>8]+Q[255&ht]+Q[at>>8]+Q[255&at]+Q[ot>>8]+Q[255&ot]+Q[Bt>>8]+Q[255&Bt]+Q[Ct>>8]+Q[255&Ct]+Q[et>>8]+Q[255&et]+Q[it>>8]+Q[255&it]+Q[tt>>8]+Q[255&tt]+Q[$A>>8]+Q[255&$A]+Q[TA>>8]+Q[255&TA]+Q[zA>>8]+Q[255&zA]+Q[KA>>8]+Q[255&KA]+Q[ZA>>8]+Q[255&ZA]+Q[XA>>8]+Q[255&XA]+Q[xA>>8]+Q[255&xA]+Q[qA>>8]+Q[255&qA]+Q[vA>>8]+Q[255&vA]+Q[JA>>8]+Q[255&JA]+Q[NA>>8]+Q[255&NA]+Q[UA>>8]+Q[255&UA]+Q[bA>>8]+Q[255&bA]+Q[dA>>8]+Q[255&dA]+Q[MA>>8]+Q[255&MA]+Q[pA>>8]+Q[255&pA]+Q[lA>>8]+Q[255&lA]+Q[DA>>8]+Q[255&DA]+Q[wA>>8]+Q[255&wA]+Q[hA>>8]+Q[255&hA]+Q[aA>>8]+Q[255&aA]+Q[oA>>8]+Q[255&oA]+Q[BA>>8]+Q[255&BA]+Q[CA>>8]+Q[255&CA]+Q[eA>>8]+Q[255&eA]+Q[iA>>8]+Q[255&iA]+Q[tA>>8]+Q[255&tA]+Q[$>>8]+Q[255&$]+Q[T>>8]+Q[255&T]+Q[z>>8]+Q[255&z]+Q[K>>8]+Q[255&K]+Q[Z>>8]+Q[255&Z]+Q[X>>8]+Q[255&X]+Q[x>>8]+Q[255&x]+Q[q>>8]+Q[255&q]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[N>>8]+Q[255&N]+Q[U>>8]+Q[255&U]+Q[b>>8]+Q[255&b]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[D>>8]+Q[255&D]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],1024)}function W(A){var t,I,i=A.length,g=s[1024].offset,e=0,n=0|g[63],C=0,B=0|g[62],r=0,o=0|g[61],E=0,a=0|g[60],h=0,w=0|g[59],c=0,D=0|g[58],u=0,l=0|g[57],y=0,p=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],G=0,b=0|g[53],H=0,U=0|g[52],L=0,N=0|g[51],k=0,J=0|g[50],S=0,v=0|g[49],R=0,q=0|g[48],Y=0,x=0|g[47],P=0,X=0|g[46],O=0,Z=0|g[45],V=0,K=0|g[44],j=0,z=0|g[43],W=0,T=0|g[42],_=0,$=0|g[41],AA=0,tA=0|g[40],IA=0,iA=0|g[39],gA=0,eA=0|g[38],nA=0,CA=0|g[37],QA=0,BA=0|g[36],rA=0,oA=0|g[35],EA=0,aA=0|g[34],sA=0,hA=0|g[33],fA=0,wA=0|g[32],cA=0,DA=0|g[31],uA=0,lA=0|g[30],yA=0,pA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],GA=0,bA=0|g[26],HA=0,UA=0|g[25],LA=0,NA=0|g[24],kA=0,JA=0|g[23],SA=0,vA=0|g[22],RA=0,qA=0|g[21],YA=0,xA=0|g[20],PA=0,XA=0|g[19],OA=0,ZA=0|g[18],VA=0,KA=0|g[17],jA=0,zA=0|g[16],WA=0,TA=0|g[15],_A=0,$A=0|g[14],At=0,tt=0|g[13],It=0,it=0|g[12],gt=0,et=0|g[11],nt=0,Ct=0|g[10],Qt=0,Bt=0|g[9],rt=0,ot=0|g[8],Et=0,at=0|g[7],st=0,ht=0|g[6],ft=0,wt=0|g[5],ct=0,Dt=0|g[4],ut=0,lt=0|g[3],yt=0,pt=0|g[2],Ft=0,Mt=0|g[1],mt=0,dt=0|g[0];for(I=0;I<i;I++)C=397*B,r=397*o,E=397*a,h=397*w,c=397*D,u=397*l,y=397*p,F=397*M,m=397*d,G=397*b,H=397*U,L=397*N,k=397*J,S=397*v,R=397*q,Y=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*tA,IA=397*iA,gA=397*eA,nA=397*CA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,cA=397*DA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*bA,HA=397*UA,LA=397*NA,kA=397*JA,SA=397*vA,RA=397*qA,YA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,At=397*tt,It=397*it,gt=397*et,nt=397*Ct,Qt=397*Bt,rt=397*ot,Et=397*at,st=397*ht,ft=397*wt,ct=397*Dt,ut=397*lt,yt=397*pt,Ft=397*Mt,mt=397*dt,RA+=n<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,mt+=T<<8,n=65535&(e=397*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),DA=65535&(cA+=fA>>>16),lA=65535&(uA+=cA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),bA=65535&(GA+=mA>>>16),UA=65535&(HA+=GA>>>16),NA=65535&(LA+=HA>>>16),JA=65535&(kA+=LA>>>16),vA=65535&(SA+=kA>>>16),qA=65535&(RA+=SA>>>16),xA=65535&(YA+=RA>>>16),XA=65535&(PA+=YA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),tt=65535&(At+=_A>>>16),it=65535&(It+=At>>>16),et=65535&(gt+=It>>>16),Ct=65535&(nt+=gt>>>16),Bt=65535&(Qt+=nt>>>16),ot=65535&(rt+=Qt>>>16),at=65535&(Et+=rt>>>16),ht=65535&(st+=Et>>>16),wt=65535&(ft+=st>>>16),Dt=65535&(ct+=ft>>>16),lt=65535&(ut+=ct>>>16),pt=65535&(yt+=ut>>>16),dt=mt+((Ft+=yt>>>16)>>>16)&65535,Mt=65535&Ft,(t=A.charCodeAt(I))<128?n^=t:t<2048?(C=397*B,r=397*o,E=397*a,h=397*w,c=397*D,u=397*l,y=397*p,F=397*M,m=397*d,G=397*b,H=397*U,L=397*N,k=397*J,S=397*v,R=397*q,Y=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*tA,IA=397*iA,gA=397*eA,nA=397*CA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,cA=397*DA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*bA,HA=397*UA,LA=397*NA,kA=397*JA,SA=397*vA,RA=397*qA,YA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,At=397*tt,It=397*it,gt=397*et,nt=397*Ct,Qt=397*Bt,rt=397*ot,Et=397*at,st=397*ht,ft=397*wt,ct=397*Dt,ut=397*lt,yt=397*pt,Ft=397*Mt,mt=397*dt,RA+=(n^=t>>6|192)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,mt+=T<<8,n=65535&(e=397*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),DA=65535&(cA+=fA>>>16),lA=65535&(uA+=cA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),bA=65535&(GA+=mA>>>16),UA=65535&(HA+=GA>>>16),NA=65535&(LA+=HA>>>16),JA=65535&(kA+=LA>>>16),vA=65535&(SA+=kA>>>16),qA=65535&(RA+=SA>>>16),xA=65535&(YA+=RA>>>16),XA=65535&(PA+=YA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),tt=65535&(At+=_A>>>16),it=65535&(It+=At>>>16),et=65535&(gt+=It>>>16),Ct=65535&(nt+=gt>>>16),Bt=65535&(Qt+=nt>>>16),ot=65535&(rt+=Qt>>>16),at=65535&(Et+=rt>>>16),ht=65535&(st+=Et>>>16),wt=65535&(ft+=st>>>16),Dt=65535&(ct+=ft>>>16),lt=65535&(ut+=ct>>>16),pt=65535&(yt+=ut>>>16),dt=mt+((Ft+=yt>>>16)>>>16)&65535,Mt=65535&Ft,n^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(C=397*B,r=397*o,E=397*a,h=397*w,c=397*D,u=397*l,y=397*p,F=397*M,m=397*d,G=397*b,H=397*U,L=397*N,k=397*J,S=397*v,R=397*q,Y=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*tA,IA=397*iA,gA=397*eA,nA=397*CA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,cA=397*DA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*bA,HA=397*UA,LA=397*NA,kA=397*JA,SA=397*vA,RA=397*qA,YA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,At=397*tt,It=397*it,gt=397*et,nt=397*Ct,Qt=397*Bt,rt=397*ot,Et=397*at,st=397*ht,ft=397*wt,ct=397*Dt,ut=397*lt,yt=397*pt,Ft=397*Mt,mt=397*dt,RA+=(n^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,n=65535&(e=397*n),dt=(mt+=T<<8)+((Ft+=(yt+=(ut+=(ct+=(ft+=(st+=(Et+=(rt+=(Qt+=(nt+=(gt+=(It+=(At+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(YA+=(RA+=(SA+=(kA+=(LA+=(HA+=(GA+=(mA+=(FA+=(yA+=(uA+=(cA+=(fA+=(sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=397*(B=65535&C),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),c=397*(D=65535&c),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(b=65535&G),H=397*(U=65535&H),L=397*(N=65535&L),k=397*(J=65535&k),S=397*(v=65535&S),R=397*(q=65535&R),Y=397*(x=65535&Y),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(tA=65535&AA),IA=397*(iA=65535&IA),gA=397*(eA=65535&gA),nA=397*(CA=65535&nA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),cA=397*(DA=65535&cA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(bA=65535&GA),HA=397*(UA=65535&HA),LA=397*(NA=65535&LA),kA=397*(JA=65535&kA),SA=397*(vA=65535&SA),RA=397*(qA=65535&RA),YA=397*(xA=65535&YA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),At=397*(tt=65535&At),It=397*(it=65535&It),gt=397*(et=65535>),nt=397*(Ct=65535&nt),Qt=397*(Bt=65535&Qt),rt=397*(ot=65535&rt),Et=397*(at=65535&Et),st=397*(ht=65535&st),ft=397*(wt=65535&ft),ct=397*(Dt=65535&ct),ut=397*(lt=65535&ut),yt=397*(pt=65535&yt),Ft=397*(Mt=65535&Ft),mt=397*dt,RA+=(n^=t>>12&63|128)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,n=65535&(e=397*n),dt=(mt+=T<<8)+((Ft+=(yt+=(ut+=(ct+=(ft+=(st+=(Et+=(rt+=(Qt+=(nt+=(gt+=(It+=(At+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(YA+=(RA+=(SA+=(kA+=(LA+=(HA+=(GA+=(mA+=(FA+=(yA+=(uA+=(cA+=(fA+=(sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=397*(B=65535&C),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),c=397*(D=65535&c),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(b=65535&G),H=397*(U=65535&H),L=397*(N=65535&L),k=397*(J=65535&k),S=397*(v=65535&S),R=397*(q=65535&R),Y=397*(x=65535&Y),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(tA=65535&AA),IA=397*(iA=65535&IA),gA=397*(eA=65535&gA),nA=397*(CA=65535&nA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),cA=397*(DA=65535&cA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(bA=65535&GA),HA=397*(UA=65535&HA),LA=397*(NA=65535&LA),kA=397*(JA=65535&kA),SA=397*(vA=65535&SA),RA=397*(qA=65535&RA),YA=397*(xA=65535&YA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),At=397*(tt=65535&At),It=397*(it=65535&It),gt=397*(et=65535>),nt=397*(Ct=65535&nt),Qt=397*(Bt=65535&Qt),rt=397*(ot=65535&rt),Et=397*(at=65535&Et),st=397*(ht=65535&st),ft=397*(wt=65535&ft),ct=397*(Dt=65535&ct),ut=397*(lt=65535&ut),yt=397*(pt=65535&yt),Ft=397*(Mt=65535&Ft),mt=397*dt,RA+=(n^=t>>6&63|128)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,mt+=T<<8,n=65535&(e=397*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),DA=65535&(cA+=fA>>>16),lA=65535&(uA+=cA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),bA=65535&(GA+=mA>>>16),UA=65535&(HA+=GA>>>16),NA=65535&(LA+=HA>>>16),JA=65535&(kA+=LA>>>16),vA=65535&(SA+=kA>>>16),qA=65535&(RA+=SA>>>16),xA=65535&(YA+=RA>>>16),XA=65535&(PA+=YA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),tt=65535&(At+=_A>>>16),it=65535&(It+=At>>>16),et=65535&(gt+=It>>>16),Ct=65535&(nt+=gt>>>16),Bt=65535&(Qt+=nt>>>16),ot=65535&(rt+=Qt>>>16),at=65535&(Et+=rt>>>16),ht=65535&(st+=Et>>>16),wt=65535&(ft+=st>>>16),Dt=65535&(ct+=ft>>>16),lt=65535&(ut+=ct>>>16),pt=65535&(yt+=ut>>>16),dt=mt+((Ft+=yt>>>16)>>>16)&65535,Mt=65535&Ft,n^=63&t|128):(C=397*B,r=397*o,E=397*a,h=397*w,c=397*D,u=397*l,y=397*p,F=397*M,m=397*d,G=397*b,H=397*U,L=397*N,k=397*J,S=397*v,R=397*q,Y=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*tA,IA=397*iA,gA=397*eA,nA=397*CA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,cA=397*DA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*bA,HA=397*UA,LA=397*NA,kA=397*JA,SA=397*vA,RA=397*qA,YA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,At=397*tt,It=397*it,gt=397*et,nt=397*Ct,Qt=397*Bt,rt=397*ot,Et=397*at,st=397*ht,ft=397*wt,ct=397*Dt,ut=397*lt,yt=397*pt,Ft=397*Mt,mt=397*dt,RA+=(n^=t>>12|224)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,n=65535&(e=397*n),dt=(mt+=T<<8)+((Ft+=(yt+=(ut+=(ct+=(ft+=(st+=(Et+=(rt+=(Qt+=(nt+=(gt+=(It+=(At+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(YA+=(RA+=(SA+=(kA+=(LA+=(HA+=(GA+=(mA+=(FA+=(yA+=(uA+=(cA+=(fA+=(sA+=(EA+=(rA+=(QA+=(nA+=(gA+=(IA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(Y+=(R+=(S+=(k+=(L+=(H+=(G+=(m+=(F+=(y+=(u+=(c+=(h+=(E+=(r+=(C+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=397*(B=65535&C),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),c=397*(D=65535&c),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(b=65535&G),H=397*(U=65535&H),L=397*(N=65535&L),k=397*(J=65535&k),S=397*(v=65535&S),R=397*(q=65535&R),Y=397*(x=65535&Y),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(tA=65535&AA),IA=397*(iA=65535&IA),gA=397*(eA=65535&gA),nA=397*(CA=65535&nA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),cA=397*(DA=65535&cA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(bA=65535&GA),HA=397*(UA=65535&HA),LA=397*(NA=65535&LA),kA=397*(JA=65535&kA),SA=397*(vA=65535&SA),RA=397*(qA=65535&RA),YA=397*(xA=65535&YA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),At=397*(tt=65535&At),It=397*(it=65535&It),gt=397*(et=65535>),nt=397*(Ct=65535&nt),Qt=397*(Bt=65535&Qt),rt=397*(ot=65535&rt),Et=397*(at=65535&Et),st=397*(ht=65535&st),ft=397*(wt=65535&ft),ct=397*(Dt=65535&ct),ut=397*(lt=65535&ut),yt=397*(pt=65535&yt),Ft=397*(Mt=65535&Ft),mt=397*dt,RA+=(n^=t>>6&63|128)<<8,YA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=D<<8,WA+=l<<8,_A+=p<<8,At+=M<<8,It+=d<<8,gt+=b<<8,nt+=U<<8,Qt+=N<<8,rt+=J<<8,Et+=v<<8,st+=q<<8,ft+=x<<8,ct+=X<<8,ut+=Z<<8,yt+=K<<8,Ft+=z<<8,mt+=T<<8,n=65535&(e=397*n),B=65535&(C+=e>>>16),o=65535&(r+=C>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),D=65535&(c+=h>>>16),l=65535&(u+=c>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),b=65535&(G+=m>>>16),U=65535&(H+=G>>>16),N=65535&(L+=H>>>16),J=65535&(k+=L>>>16),v=65535&(S+=k>>>16),q=65535&(R+=S>>>16),x=65535&(Y+=R>>>16),X=65535&(P+=Y>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),tA=65535&(AA+=_>>>16),iA=65535&(IA+=AA>>>16),eA=65535&(gA+=IA>>>16),CA=65535&(nA+=gA>>>16),BA=65535&(QA+=nA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),DA=65535&(cA+=fA>>>16),lA=65535&(uA+=cA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),bA=65535&(GA+=mA>>>16),UA=65535&(HA+=GA>>>16),NA=65535&(LA+=HA>>>16),JA=65535&(kA+=LA>>>16),vA=65535&(SA+=kA>>>16),qA=65535&(RA+=SA>>>16),xA=65535&(YA+=RA>>>16),XA=65535&(PA+=YA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),tt=65535&(At+=_A>>>16),it=65535&(It+=At>>>16),et=65535&(gt+=It>>>16),Ct=65535&(nt+=gt>>>16),Bt=65535&(Qt+=nt>>>16),ot=65535&(rt+=Qt>>>16),at=65535&(Et+=rt>>>16),ht=65535&(st+=Et>>>16),wt=65535&(ft+=st>>>16),Dt=65535&(ct+=ft>>>16),lt=65535&(ut+=ct>>>16),pt=65535&(yt+=ut>>>16),dt=mt+((Ft+=yt>>>16)>>>16)&65535,Mt=65535&Ft,n^=63&t|128);return f(Q[dt>>8]+Q[255&dt]+Q[Mt>>8]+Q[255&Mt]+Q[pt>>8]+Q[255&pt]+Q[lt>>8]+Q[255<]+Q[Dt>>8]+Q[255&Dt]+Q[wt>>8]+Q[255&wt]+Q[ht>>8]+Q[255&ht]+Q[at>>8]+Q[255&at]+Q[ot>>8]+Q[255&ot]+Q[Bt>>8]+Q[255&Bt]+Q[Ct>>8]+Q[255&Ct]+Q[et>>8]+Q[255&et]+Q[it>>8]+Q[255&it]+Q[tt>>8]+Q[255&tt]+Q[$A>>8]+Q[255&$A]+Q[TA>>8]+Q[255&TA]+Q[zA>>8]+Q[255&zA]+Q[KA>>8]+Q[255&KA]+Q[ZA>>8]+Q[255&ZA]+Q[XA>>8]+Q[255&XA]+Q[xA>>8]+Q[255&xA]+Q[qA>>8]+Q[255&qA]+Q[vA>>8]+Q[255&vA]+Q[JA>>8]+Q[255&JA]+Q[NA>>8]+Q[255&NA]+Q[UA>>8]+Q[255&UA]+Q[bA>>8]+Q[255&bA]+Q[dA>>8]+Q[255&dA]+Q[MA>>8]+Q[255&MA]+Q[pA>>8]+Q[255&pA]+Q[lA>>8]+Q[255&lA]+Q[DA>>8]+Q[255&DA]+Q[wA>>8]+Q[255&wA]+Q[hA>>8]+Q[255&hA]+Q[aA>>8]+Q[255&aA]+Q[oA>>8]+Q[255&oA]+Q[BA>>8]+Q[255&BA]+Q[CA>>8]+Q[255&CA]+Q[eA>>8]+Q[255&eA]+Q[iA>>8]+Q[255&iA]+Q[tA>>8]+Q[255&tA]+Q[$>>8]+Q[255&$]+Q[T>>8]+Q[255&T]+Q[z>>8]+Q[255&z]+Q[K>>8]+Q[255&K]+Q[Z>>8]+Q[255&Z]+Q[X>>8]+Q[255&X]+Q[x>>8]+Q[255&x]+Q[q>>8]+Q[255&q]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[N>>8]+Q[255&N]+Q[U>>8]+Q[255&U]+Q[b>>8]+Q[255&b]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[D>>8]+Q[255&D]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n],1024)}return t=p,I=d,i=U,g=J,e=q,n=X,C=K,u("1a"),l(!1),y(),{hash:D,setKeyspace:function(A){if(52!==A&&!s[A])throw new Error("Supported FNV keyspacs: 32, 52, 64, 128, 256, 512, and 1024 bit");a=A},version:u,useUTF8:l,seed:y,fast1a32:function(A){var t,I=A.length-3,i=0,g=40389,e=0,n=33052;for(t=0;t<I;)e=403*n,e+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=403*g),e=403*(n=e+(i>>>16)&65535),e+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=403*g),e=403*(n=e+(i>>>16)&65535),e+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=403*g),e=403*(n=e+(i>>>16)&65535),n=(e+=(g^=A.charCodeAt(t++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;t<I+3;)e=403*n,n=(e+=(g^=A.charCodeAt(t++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;return(n<<16>>>0)+g},fast1a32hex:function(A){var t,I=A.length-3,i=0,g=40389,e=0,n=33052;for(t=0;t<I;)e=403*n,e+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=403*g),e=403*(n=e+(i>>>16)&65535),e+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=403*g),e=403*(n=e+(i>>>16)&65535),e+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=403*g),e=403*(n=e+(i>>>16)&65535),n=(e+=(g^=A.charCodeAt(t++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;t<I+3;)e=403*n,n=(e+=(g^=A.charCodeAt(t++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;return Q[n>>>8&255]+Q[255&n]+Q[g>>>8&255]+Q[255&g]},fast1a52:function(A){var t,I=A.length-3,i=0,g=8997,e=0,n=33826,C=0,Q=40164,B=0,r=52210;for(t=0;t<I;)e=435*n,C=435*Q,B=435*r,C+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=435*g),r=(B+=n<<8)+((C+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),C=435*(Q=65535&C),B=435*r,C+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=435*g),r=(B+=n<<8)+((C+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),C=435*(Q=65535&C),B=435*r,C+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=435*g),r=(B+=n<<8)+((C+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),C=435*(Q=65535&C),B=435*r,C+=(g^=A.charCodeAt(t++))<<8,B+=n<<8,g=65535&(i=435*g),n=65535&(e+=i>>>16),r=B+((C+=e>>>16)>>>16)&65535,Q=65535&C;for(;t<I+3;)e=435*n,C=435*Q,B=435*r,C+=(g^=A.charCodeAt(t++))<<8,B+=n<<8,g=65535&(i=435*g),n=65535&(e+=i>>>16),r=B+((C+=e>>>16)>>>16)&65535,Q=65535&C;return 281474976710656*(15&r)+4294967296*Q+65536*n+(g^r>>4)},fast1a52hex:function(A){var t,I=A.length-3,i=0,g=8997,e=0,n=33826,C=0,r=40164,o=0,E=52210;for(t=0;t<I;)e=435*n,C=435*r,o=435*E,C+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=435*g),E=(o+=n<<8)+((C+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),C=435*(r=65535&C),o=435*E,C+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=435*g),E=(o+=n<<8)+((C+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),C=435*(r=65535&C),o=435*E,C+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=435*g),E=(o+=n<<8)+((C+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),C=435*(r=65535&C),o=435*E,C+=(g^=A.charCodeAt(t++))<<8,o+=n<<8,g=65535&(i=435*g),n=65535&(e+=i>>>16),E=o+((C+=e>>>16)>>>16)&65535,r=65535&C;for(;t<I+3;)e=435*n,C=435*r,o=435*E,C+=(g^=A.charCodeAt(t++))<<8,o+=n<<8,g=65535&(i=435*g),n=65535&(e+=i>>>16),E=o+((C+=e>>>16)>>>16)&65535,r=65535&C;return B[15&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[g>>8^E>>12]+Q[255&(g^E>>4)]},fast1a64:function(A){var t,I=A.length-3,i=0,g=8997,e=0,n=33826,C=0,B=40164,r=0,o=52210;for(t=0;t<I;)e=435*n,C=435*B,r=435*o,C+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=435*g),o=(r+=n<<8)+((C+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),C=435*(B=65535&C),r=435*o,C+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=435*g),o=(r+=n<<8)+((C+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),C=435*(B=65535&C),r=435*o,C+=(g^=A.charCodeAt(t++))<<8,g=65535&(i=435*g),o=(r+=n<<8)+((C+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),C=435*(B=65535&C),r=435*o,C+=(g^=A.charCodeAt(t++))<<8,r+=n<<8,g=65535&(i=435*g),n=65535&(e+=i>>>16),o=r+((C+=e>>>16)>>>16)&65535,B=65535&C;for(;t<I+3;)e=435*n,C=435*B,r=435*o,C+=(g^=A.charCodeAt(t++))<<8,r+=n<<8,g=65535&(i=435*g),n=65535&(e+=i>>>16),o=r+((C+=e>>>16)>>>16)&65535,B=65535&C;return Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[n>>8]+Q[255&n]+Q[g>>8]+Q[255&g]},fast1a32utf:function(A){var t,I,i=A.length,g=0,e=40389,n=0,C=33052;for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?e^=t:t<2048?(n=403*C,C=(n+=(e^=t>>6|192)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(n=403*C,n+=(e^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),n+=(e^=t>>12&63|128)<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),C=(n+=(e^=t>>6&63|128)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&t|128):(n=403*C,n+=(e^=t>>12|224)<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),C=(n+=(e^=t>>6&63|128)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&t|128),n=403*C,C=(n+=e<<8)+((g=403*e)>>>16)&65535,e=65535&g;return(C<<16>>>0)+e},fast1a32hexutf:function(A){var t,I,i=A.length,g=0,e=40389,n=0,C=33052;for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?e^=t:t<2048?(n=403*C,C=(n+=(e^=t>>6|192)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(n=403*C,n+=(e^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),n+=(e^=t>>12&63|128)<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),C=(n+=(e^=t>>6&63|128)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&t|128):(n=403*C,n+=(e^=t>>12|224)<<8,e=65535&(g=403*e),n=403*(C=n+(g>>>16)&65535),C=(n+=(e^=t>>6&63|128)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&t|128),n=403*C,C=(n+=e<<8)+((g=403*e)>>>16)&65535,e=65535&g;return Q[C>>>8&255]+Q[255&C]+Q[e>>>8&255]+Q[255&e]},fast1a52utf:function(A){var t,I,i=A.length,g=0,e=8997,n=0,C=33826,Q=0,B=40164,r=0,o=52210;for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?e^=t:t<2048?(n=435*C,Q=435*B,r=435*o,Q+=(e^=t>>6|192)<<8,r+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),o=r+((Q+=n>>>16)>>>16)&65535,B=65535&Q,e^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(n=435*C,Q=435*B,r=435*o,Q+=(e^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,e=65535&(g=435*e),o=(r+=C<<8)+((Q+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),Q=435*(B=65535&Q),r=435*o,Q+=(e^=t>>12&63|128)<<8,e=65535&(g=435*e),o=(r+=C<<8)+((Q+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),Q=435*(B=65535&Q),r=435*o,Q+=(e^=t>>6&63|128)<<8,r+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),o=r+((Q+=n>>>16)>>>16)&65535,B=65535&Q,e^=63&t|128):(n=435*C,Q=435*B,r=435*o,Q+=(e^=t>>12|224)<<8,e=65535&(g=435*e),o=(r+=C<<8)+((Q+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),Q=435*(B=65535&Q),r=435*o,Q+=(e^=t>>6&63|128)<<8,r+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),o=r+((Q+=n>>>16)>>>16)&65535,B=65535&Q,e^=63&t|128),n=435*C,Q=435*B,r=435*o,Q+=e<<8,r+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),o=r+((Q+=n>>>16)>>>16)&65535,B=65535&Q;return 281474976710656*(15&o)+4294967296*B+65536*C+(e^o>>4)},fast1a52hexutf:function(A){var t,I,i=A.length,g=0,e=8997,n=0,C=33826,r=0,o=40164,E=0,a=52210;for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?e^=t:t<2048?(n=435*C,r=435*o,E=435*a,r+=(e^=t>>6|192)<<8,E+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,e^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(n=435*C,r=435*o,E=435*a,r+=(e^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,e=65535&(g=435*e),a=(E+=C<<8)+((r+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),r=435*(o=65535&r),E=435*a,r+=(e^=t>>12&63|128)<<8,e=65535&(g=435*e),a=(E+=C<<8)+((r+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),r=435*(o=65535&r),E=435*a,r+=(e^=t>>6&63|128)<<8,E+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,e^=63&t|128):(n=435*C,r=435*o,E=435*a,r+=(e^=t>>12|224)<<8,e=65535&(g=435*e),a=(E+=C<<8)+((r+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),r=435*(o=65535&r),E=435*a,r+=(e^=t>>6&63|128)<<8,E+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,e^=63&t|128),n=435*C,r=435*o,E=435*a,r+=e<<8,E+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r;return B[15&a]+Q[o>>8]+Q[255&o]+Q[C>>8]+Q[255&C]+Q[e>>8^a>>12]+Q[255&(e^a>>4)]},fast1a64utf:function(A){var t,I,i=A.length,g=0,e=8997,n=0,C=33826,B=0,r=40164,o=0,E=52210;for(I=0;I<i;I++)(t=A.charCodeAt(I))<128?e^=t:t<2048?(n=435*C,B=435*r,o=435*E,B+=(e^=t>>6|192)<<8,o+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,e^=63&t|128):55296==(64512&t)&&I+1<i&&56320==(64512&A.charCodeAt(I+1))?(n=435*C,B=435*r,o=435*E,B+=(e^=(t=65536+((1023&t)<<10)+(1023&A.charCodeAt(++I)))>>18|240)<<8,e=65535&(g=435*e),E=(o+=C<<8)+((B+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),B=435*(r=65535&B),o=435*E,B+=(e^=t>>12&63|128)<<8,e=65535&(g=435*e),E=(o+=C<<8)+((B+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),B=435*(r=65535&B),o=435*E,B+=(e^=t>>6&63|128)<<8,o+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,e^=63&t|128):(n=435*C,B=435*r,o=435*E,B+=(e^=t>>12|224)<<8,e=65535&(g=435*e),E=(o+=C<<8)+((B+=(n+=g>>>16)>>>16)>>>16)&65535,n=435*(C=65535&n),B=435*(r=65535&B),o=435*E,B+=(e^=t>>6&63|128)<<8,o+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,e^=63&t|128),n=435*C,B=435*r,o=435*E,B+=e<<8,o+=C<<8,e=65535&(g=435*e),C=65535&(n+=g>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B;return Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[e>>8]+Q[255&e]}}}();A.exports=t}));const Oi=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function Zi(A,t){return t&&10!=t?16==t?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const Vi=Zi;function Ki(A,t){return BigInt(A)<<BigInt(t)}function ji(A,t){return BigInt(A)>>BigInt(t)}const zi=Ki,Wi=ji;var Ti=Object.freeze({__proto__:null,fromString:Zi,e:Vi,fromArray:function(A,t){let I=0n;t=BigInt(t);for(let i=0;i<A.length;i++)I=I*t+BigInt(A[i]);return I},bitLength:function(A){const t=A.toString(16);return 4*(t.length-1)+Oi[parseInt(t[0],16)]},isNegative:function(A){return BigInt(A)<0n},isZero:function(A){return!A},shiftLeft:Ki,shiftRight:ji,shl:zi,shr:Wi,isOdd:function(A){return 1n==(1n&BigInt(A))},naf:function(A){let t=BigInt(A);const I=[];for(;t;){if(1n&t){const A=2-Number(t%4n);I.push(A),t-=BigInt(A)}else I.push(0);t>>=1n}return I},bits:function(A){let t=BigInt(A);const I=[];for(;t;)1n&t?I.push(1):I.push(0),t>>=1n;return I},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,t){const I=[];let i=BigInt(A);for(t=BigInt(t);i;)I.unshift(Number(i%t)),i/=t;return I},add:function(A,t){return BigInt(A)+BigInt(t)},sub:function(A,t){return BigInt(A)-BigInt(t)},neg:function(A){return-BigInt(A)},mul:function(A,t){return BigInt(A)*BigInt(t)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,t){return BigInt(A)**BigInt(t)},exp:function(A,t){return BigInt(A)**BigInt(t)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,t){return BigInt(A)/BigInt(t)},mod:function(A,t){return BigInt(A)%BigInt(t)},eq:function(A,t){return BigInt(A)==BigInt(t)},neq:function(A,t){return BigInt(A)!=BigInt(t)},lt:function(A,t){return BigInt(A)<BigInt(t)},gt:function(A,t){return BigInt(A)>BigInt(t)},leq:function(A,t){return BigInt(A)<=BigInt(t)},geq:function(A,t){return BigInt(A)>=BigInt(t)},band:function(A,t){return BigInt(A)&BigInt(t)},bor:function(A,t){return BigInt(A)|BigInt(t)},bxor:function(A,t){return BigInt(A)^BigInt(t)},land:function(A,t){return BigInt(A)&&BigInt(t)},lor:function(A,t){return BigInt(A)||BigInt(t)},lnot:function(A){return!BigInt(A)}});function _i(A,t){return"string"==typeof A&&"0x"==A.slice(0,2)?o(A.slice(2),16):o(A,t)}const $i=_i;function Ag(A,t){return o(A).shiftLeft(t)}function tg(A,t){return o(A).shiftRight(t)}const Ig=Ag,ig=tg;var gg=Object.freeze({__proto__:null,fromString:_i,e:$i,fromArray:function(A,t){return o.fromArray(A,t)},bitLength:function(A){return o(A).bitLength()},isNegative:function(A){return o(A).isNegative()},isZero:function(A){return o(A).isZero()},shiftLeft:Ag,shiftRight:tg,shl:Ig,shr:ig,isOdd:function(A){return o(A).isOdd()},naf:function(A){let t=o(A);const I=[];for(;t.gt(o.zero);){if(t.isOdd()){const A=2-t.mod(4).toJSNumber();I.push(A),t=t.minus(A)}else I.push(0);t=t.shiftRight(1)}return I},bits:function(A){let t=o(A);const I=[];for(;t.gt(o.zero);)t.isOdd()?I.push(1):I.push(0),t=t.shiftRight(1);return I},toNumber:function(A){if(!A.lt(o("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,t){return o(A).toArray(t)},add:function(A,t){return o(A).add(o(t))},sub:function(A,t){return o(A).minus(o(t))},neg:function(A){return o.zero.minus(o(A))},mul:function(A,t){return o(A).times(o(t))},square:function(A){return o(A).square()},pow:function(A,t){return o(A).pow(o(t))},exp:function(A,t){return o(A).pow(o(t))},abs:function(A){return o(A).abs()},div:function(A,t){return o(A).divide(o(t))},mod:function(A,t){return o(A).mod(o(t))},eq:function(A,t){return o(A).eq(o(t))},neq:function(A,t){return o(A).neq(o(t))},lt:function(A,t){return o(A).lt(o(t))},gt:function(A,t){return o(A).gt(o(t))},leq:function(A,t){return o(A).leq(o(t))},geq:function(A,t){return o(A).geq(o(t))},band:function(A,t){return o(A).and(o(t))},bor:function(A,t){return o(A).or(o(t))},bxor:function(A,t){return o(A).xor(o(t))},land:function(A,t){return!o(A).isZero()&&!o(t).isZero()},lor:function(A,t){return!o(A).isZero()||!o(t).isZero()},lnot:function(A){return o(A).isZero()}});const eg="function"==typeof BigInt;let ng={};eg?Object.assign(ng,Ti):Object.assign(ng,gg),ng.toRprLE=function(A,t,I,i){const g="0000000"+I.toString(16),e=new Uint32Array(A.buffer,t,i/4),n=1+(4*(g.length-7)-1>>5);for(let A=0;A<n;A++)e[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=n;A<e.length;A++)e[A]=0;for(let t=4*e.length;t<i;t++)A[t]=ng.toNumber(ng.band(ng.shiftRight(I,8*t),255))},ng.toRprBE=function(A,t,I,i){const g="0000000"+I.toString(16),e=new DataView(A.buffer,A.byteOffset+t,i),n=1+(4*(g.length-7)-1>>5);for(let A=0;A<n;A++)e.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-n;A++)e[A]=0},ng.fromRprLE=function(A,t,I){I=I||A.byteLength;const i=new Uint32Array(A.buffer,t,I/4),g=new Array(I/4);return i.forEach(((A,t)=>g[g.length-t-1]=A.toString(16).padStart(8,"0"))),ng.fromString(g.join(""),16)},ng.fromRprBE=function(A,t,I){I=I||A.byteLength;const i=new DataView(A.buffer,A.byteOffset+t,I),g=new Array(I/4);for(let A=0;A<I/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return ng.fromString(g.join(""),16)},ng.toString=function(A,t){return A.toString(t)},ng.toLEBuff=function(A){const t=new Uint8Array(Math.floor((ng.bitLength(A)-1)/8)+1);return ng.toRprLE(t,0,A,t.byteLength),t},ng.zero=ng.e(0),ng.one=ng.e(1);let{toRprLE:Cg,toRprBE:Qg,fromRprLE:Bg,fromRprBE:rg,toString:og,toLEBuff:Eg,zero:ag,one:sg,fromString:hg,e:fg,fromArray:wg,bitLength:cg,isNegative:Dg,isZero:ug,shiftLeft:lg,shiftRight:yg,shl:pg,shr:Fg,isOdd:Mg,naf:mg,bits:dg,toNumber:Gg,toArray:bg,add:Hg,sub:Ug,neg:Lg,mul:Ng,square:kg,pow:Jg,exp:Sg,abs:vg,div:Rg,mod:qg,eq:Yg,neq:xg,lt:Pg,gt:Xg,leq:Og,geq:Zg,band:Vg,bor:Kg,bxor:jg,land:zg,lor:Wg,lnot:Tg}=ng;var _g=Object.freeze({__proto__:null,toRprLE:Cg,toRprBE:Qg,fromRprLE:Bg,fromRprBE:rg,toString:og,toLEBuff:Eg,zero:ag,one:sg,fromString:hg,e:fg,fromArray:wg,bitLength:cg,isNegative:Dg,isZero:ug,shiftLeft:lg,shiftRight:yg,shl:pg,shr:Fg,isOdd:Mg,naf:mg,bits:dg,toNumber:Gg,toArray:bg,add:Hg,sub:Ug,neg:Lg,mul:Ng,square:kg,pow:Jg,exp:Sg,abs:vg,div:Rg,mod:qg,eq:Yg,neq:xg,lt:Pg,gt:Xg,leq:Og,geq:Zg,band:Vg,bor:Kg,bxor:jg,land:zg,lor:Wg,lnot:Tg});const $g=[];for(let A=0;A<256;A++)$g[A]=Ae(A,8);function Ae(A,t){let I=0,i=A;for(let A=0;A<t;A++)I<<=1,I|=1&i,i>>=1;return I}function te(A,t,I){if(ug(I))return A.one;const i=dg(I);if(0==i.legth)return A.one;let g=t;for(let I=i.length-2;I>=0;I--)g=A.square(g),i[I]&&(g=A.mul(g,t));return g}function Ie(A){if(A.m%2==1)if(Yg(qg(A.p,4),1))if(Yg(qg(A.p,8),1))if(Yg(qg(A.p,16),1))!function(A){A.sqrt_q=Jg(A.p,A.m),A.sqrt_s=0,A.sqrt_t=Ug(A.sqrt_q,1);for(;!Mg(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=Rg(A.sqrt_t,2);let t=A.one;for(;A.eq(t,A.one);){const I=A.random();A.sqrt_z=A.pow(I,A.sqrt_t),t=A.pow(A.sqrt_z,2**(A.sqrt_s-1))}A.sqrt_tm1d2=Rg(Ug(A.sqrt_t,1),2),A.sqrt=function(A){const t=this;if(t.isZero(A))return t.zero;let I=t.pow(A,t.sqrt_tm1d2);const i=t.pow(t.mul(t.square(I),A),2**(t.sqrt_s-1));if(t.eq(i,t.negone))return null;let g=t.sqrt_s,e=t.mul(A,I),n=t.mul(e,I),C=t.sqrt_z;for(;!t.eq(n,t.one);){let A=t.square(n),i=1;for(;!t.eq(A,t.one);)A=t.square(A),i++;I=C;for(let A=0;A<g-i-1;A++)I=t.square(I);C=t.square(I),n=t.mul(n,C),e=t.mul(e,I),g=i}return t.geq(e,t.zero)?e:t.neg(e)}}(A);else{if(!Yg(qg(A.p,16),9))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 4 not implemented")}}(A)}else{if(!Yg(qg(A.p,8),5))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 3 not implemented")}}(A)}else Yg(qg(A.p,4),3)&&function(A){A.sqrt_q=Jg(A.p,A.m),A.sqrt_e1=Rg(Ug(A.sqrt_q,3),4),A.sqrt=function(t){if(this.isZero(t))return this.zero;const I=this.pow(t,this.sqrt_e1),i=this.mul(this.square(I),t);if(this.eq(i,this.negone))return null;const g=this.mul(I,t);return A.geq(g,A.zero)?g:A.neg(g)}}(A);else{const t=qg(Jg(A.p,A.m/2),4);1==t?function(A){A.sqrt=function(){throw new Error("Sqrt alg 10 not implemented")}}(A):3==t?function(A){A.sqrt_q=Jg(A.p,A.m/2),A.sqrt_e34=Rg(Ug(A.sqrt_q,3),4),A.sqrt_e12=Rg(Ug(A.sqrt_q,1),2),A.frobenius=function(t,I){return t%2==1?A.conjugate(I):I},A.sqrt=function(A){const t=this,I=t.pow(A,t.sqrt_e34),i=t.mul(t.square(I),A),g=t.mul(t.frobenius(1,i),i);if(t.eq(g,t.negone))return null;const e=t.mul(I,A);let n;if(t.eq(i,t.negone))n=t.mul(e,[t.F.zero,t.F.one]);else{const A=t.pow(t.add(t.one,i),t.sqrt_e12);n=t.mul(A,e)}return t.geq(n,t.zero)?n:t.neg(n)}}(A):function(A){A.sqrt=function(){throw new Error("Sqrt alg 8 not implemented")}}(A)}}function ie(A){let t=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(t);else for(let I=0;I<A;I++)t[I]=4294967296*Math.random()>>>0;else hA.randomFillSync(t);return t}class ge{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=cg(this.p),this.mask=(1n<<BigInt(this.bitLength))-1n,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(1n<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const t=this.negone>>1n;this.nqr=this.two;let I=this.pow(this.nqr,t);for(;!this.eq(I,this.negone);)this.nqr=this.nqr+1n,I=this.pow(this.nqr,t);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),Ie(this)}e(A,t){let I;if(t?16==t&&(I=BigInt("0x"+A)):I=BigInt(A),I<0){let A=-I;return A>=this.p&&(A%=this.p),this.p-A}return I>=this.p?I%this.p:I}add(A,t){const I=A+t;return I>=this.p?I-this.p:I}sub(A,t){return A>=t?A-t:this.p-t+A}neg(A){return A?this.p-A:A}mul(A,t){return A*t%this.p}mulScalar(A,t){return A*this.e(t)%this.p}square(A){return A*A%this.p}eq(A,t){return A==t}neq(A,t){return A!=t}lt(A,t){return(A>this.half?A-this.p:A)<(t>this.half?t-this.p:t)}gt(A,t){return(A>this.half?A-this.p:A)>(t>this.half?t-this.p:t)}leq(A,t){return(A>this.half?A-this.p:A)<=(t>this.half?t-this.p:t)}geq(A,t){return(A>this.half?A-this.p:A)>=(t>this.half?t-this.p:t)}div(A,t){return this.mul(A,this.inv(t))}idiv(A,t){if(!t)throw new Error("Division by zero");return A/t}inv(A){if(!A)throw new Error("Division by zero");let t=0n,I=this.p,i=1n,g=A%this.p;for(;g;){let A=I/g;[t,i]=[i,t-A*i],[I,g]=[g,I-A*g]}return t<0n&&(t+=this.p),t}mod(A,t){return A%t}pow(A,t){return te(this,A,t)}exp(A,t){return te(this,A,t)}band(A,t){const I=A&t&this.mask;return I>=this.p?I-this.p:I}bor(A,t){const I=(A|t)&this.mask;return I>=this.p?I-this.p:I}bxor(A,t){const I=(A^t)&this.mask;return I>=this.p?I-this.p:I}bnot(A){const t=A^this.mask;return t>=this.p?t-this.p:t}shl(A,t){if(Number(t)<this.bitLength){const I=A<<t&this.mask;return I>=this.p?I-this.p:I}{const I=this.p-t;return Number(I)<this.bitLength?A>>I:0n}}shr(A,t){if(Number(t)<this.bitLength)return A>>t;{const I=this.p-t;if(Number(I)<this.bitLength){const t=A<<I&this.mask;return t>=this.p?t-this.p:t}return 0}}land(A,t){return A&&t?1n:0n}lor(A,t){return A||t?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let t=this.s,I=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),e=1;for(;1n!=A;)e++,A=this.square(A);let n=I;for(let A=0;A<t-e-1;A++)n=this.square(n);t=e,I=this.square(n),i=this.mul(i,I),g=this.mul(g,n)}return g>this.p>>1n&&(g=this.neg(g)),g}normalize(A,t){if((A=BigInt(A,t))<0){let t=-A;return t>=this.p&&(t%=this.p),this.p-t}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let t=0n;for(let I=0;I<A;I++)t=(t<<8n)+BigInt(ie(1)[0]);return t%this.p}toString(A,t){let I;if(A>this.half){I="-"+(this.p-A).toString(t)}else I=A.toString(t);return I}isZero(A){return 0n==A}fromRng(A){let t;do{t=0n;for(let I=0;I<this.n64;I++)t+=A.nextU64()<<BigInt(64*I);t&=this.mask}while(t>=this.p);return t=t*this.Ri%this.p,t}}class ee{constructor(A){this.type="F1",this.one=o.one,this.zero=o.zero,this.p=o(A),this.m=1,this.negone=this.p.minus(o.one),this.two=o(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=o.one.shiftLeft(this.bitLength).minus(o.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=o.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const t=this.negone.shiftRight(this.one);this.nqr=this.two;let I=this.pow(this.nqr,t);for(;!I.equals(this.negone);)this.nqr=this.nqr.add(this.one),I=this.pow(this.nqr,t);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),Ie(this)}e(A,t){const I=o(A,t);return this.normalize(I)}add(A,t){let I=A.add(t);return I.geq(this.p)&&(I=I.minus(this.p)),I}sub(A,t){return A.geq(t)?A.minus(t):this.p.minus(t.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,t){return A.times(t).mod(this.p)}mulScalar(A,t){return A.times(o(t)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,t){return A.eq(t)}neq(A,t){return A.neq(t)}lt(A,t){const I=A.gt(this.half)?A.minus(this.p):A,i=t.gt(this.half)?t.minus(this.p):t;return I.lt(i)}gt(A,t){const I=A.gt(this.half)?A.minus(this.p):A,i=t.gt(this.half)?t.minus(this.p):t;return I.gt(i)}leq(A,t){const I=A.gt(this.half)?A.minus(this.p):A,i=t.gt(this.half)?t.minus(this.p):t;return I.leq(i)}geq(A,t){const I=A.gt(this.half)?A.minus(this.p):A,i=t.gt(this.half)?t.minus(this.p):t;return I.geq(i)}div(A,t){if(t.isZero())throw new Error("Division by zero");return A.times(t.modInv(this.p)).mod(this.p)}idiv(A,t){if(t.isZero())throw new Error("Division by zero");return A.divide(t)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,t){return A.mod(t)}pow(A,t){return A.modPow(t,this.p)}exp(A,t){return A.modPow(t,this.p)}band(A,t){return A.and(t).and(this.mask).mod(this.p)}bor(A,t){return A.or(t).and(this.mask).mod(this.p)}bxor(A,t){return A.xor(t).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,t){if(t.lt(this.bitLength))return A.shiftLeft(t).and(this.mask).mod(this.p);{const I=this.p.minus(t);return I.lt(this.bitLength)?this.shr(A,I):o.zero}}shr(A,t){if(t.lt(this.bitLength))return A.shiftRight(t);{const I=this.p.minus(t);return I.lt(this.bitLength)?this.shl(A,I):o.zero}}land(A,t){return A.isZero()||t.isZero()?o.zero:o.one}lor(A,t){return A.isZero()&&t.isZero()?o.zero:o.one}lnot(A){return A.isZero()?o.one:o.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let t=parseInt(this.s),I=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),e=1;for(;!A.equals(this.one);)e++,A=this.square(A);let n=I;for(let A=0;A<t-e-1;A++)n=this.square(n);t=e,I=this.square(n),i=this.mul(i,I),g=this.mul(g,n)}return g.greater(this.p.shiftRight(this.one))&&(g=this.neg(g)),g}normalize(A){return(A=o(A)).isNegative()?this.p.minus(A.abs().mod(this.p)):A.mod(this.p)}random(){let A=o(0),t=o(this.p.square());for(;!t.isZero();)A=A.shiftLeft(8).add(o(ie(1)[0])),t=t.shiftRight(8);return A.mod(this.p)}toString(A,t){let I;if(A.lesserOrEquals(this.p.shiftRight(o(1))))I=A.toString(t);else{I="-"+this.p.minus(A).toString(t)}return I}isZero(A){return A.isZero()}fromRng(A){let t;do{t=o(0);for(let I=0;I<this.n64;I++)t=t.add(t,A.nextU64().shiftLeft(64*I));t=t.and(this.mask)}while(t.geq(this.p));return t=t.times(this.Ri).mod(this.q),t}}const ne="function"==typeof BigInt;let Ce;Ce=ne?ge:ee;class Qe extends Ce{toRprLE(A,t,I){Cg(A,t,I,8*this.n64)}toRprBE(A,t,I){Qg(A,t,I,8*this.n64)}toRprBEM(A,t,I){return this.toRprBE(A,t,this.mul(this.R,I))}toRprLEM(A,t,I){return this.toRprLE(A,t,this.mul(this.R,I))}fromRprLE(A,t){return Bg(A,t,this.n8)}fromRprBE(A,t){return rg(A,t,this.n8)}fromRprLEM(A,t){return this.mul(this.fromRprLE(A,t),this.Ri)}fromRprBEM(A,t){return this.mul(this.fromRprBE(A,t),this.Ri)}}var Be=Object.freeze({__proto__:null,stringifyBigInts:function A(t){if("bigint"==typeof t||void 0!==t.eq)return t.toString(10);if(t instanceof Uint8Array)return Bg(t,0);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},unstringifyBigInts:function A(t){if("string"==typeof t&&/^[0-9]+$/.test(t))return BigInt(t);if(Array.isArray(t))return t.map(A);if("object"==typeof t){if(null===t)return null;const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},beBuff2int:function(A){let t=0n,I=A.length,i=0;const g=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;I>0;)I>=4?(I-=4,t+=BigInt(g.getUint32(I))<<BigInt(8*i),i+=4):I>=2?(I-=2,t+=BigInt(g.getUint16(I))<<BigInt(8*i),i+=2):(I-=1,t+=BigInt(g.getUint8(I))<<BigInt(8*i),i+=1);return t},beInt2Buff:function(A,t){let I=A;const i=new Uint8Array(t),g=new DataView(i.buffer);let e=t;for(;e>0;)e-4>=0?(e-=4,g.setUint32(e,Number(0xFFFFFFFFn&I)),I>>=32n):e-2>=0?(e-=2,g.setUint16(e,Number(0xFFFFn&I)),I>>=16n):(e-=1,g.setUint8(e,Number(0xFFn&I)),I>>=8n);if(I)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let t=0n,I=0;const i=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;I<A.length;)I+4<=A.length?(t+=BigInt(i.getUint32(I,!0))<<BigInt(8*I),I+=4):I+4<=A.length?(t+=BigInt(i.getUint16(I,!0))<<BigInt(8*I),I+=2):(t+=BigInt(i.getUint8(I,!0))<<BigInt(8*I),I+=1);return t},leInt2Buff:function(A,t){let I=A;void 0===t&&0==(t=Math.floor((cg(A)-1)/8)+1)&&(t=1);const i=new Uint8Array(t),g=new DataView(i.buffer);let e=0;for(;e<t;)e+4<=t?(g.setUint32(e,Number(0xFFFFFFFFn&I),!0),e+=4,I>>=32n):e+2<=t?(g.setUint16(Number(e,0xFFFFn&I),!0),e+=2,I>>=16n):(g.setUint8(Number(e,0xFFn&I),!0),e+=1,I>>=8n);if(I)throw new Error("Number does not fit in this length");return i}});var re=Object.freeze({__proto__:null,stringifyBigInts:function A(t){if("bigint"==typeof t||void 0!==t.eq)return t.toString(10);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},unstringifyBigInts:function A(t){if("string"==typeof t&&/^[0-9]+$/.test(t))return o(t);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},beBuff2int:function(A){let t=o.zero;for(let I=0;I<A.length;I++){const i=o(A[A.length-I-1]);t=t.add(i.shiftLeft(8*I))}return t},beInt2Buff:function(A,t){let I=A,i=t-1;const g=new Uint8Array(t);for(;I.gt(o.zero)&&i>=0;){let A=Number(I.and(o("255")));g[i]=A,i--,I=I.shiftRight(8)}if(!I.eq(o.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let t=o.zero;for(let I=0;I<A.length;I++){const i=o(A[I]);t=t.add(i.shiftLeft(8*I))}return t},leInt2Buff:function(A,t){let I=A,i=0;const g=new Uint8Array(t);for(;I.gt(o.zero)&&i<g.length;){let A=Number(I.and(o(255)));g[i]=A,i++,I=I.shiftRight(8)}if(!I.eq(o.zero))throw new Error("Number does not fit in this length");return g}});let oe={};"function"==typeof BigInt?Object.assign(oe,Be):Object.assign(oe,re);const Ee=[];for(let A=0;A<256;A++)Ee[A]=ae(A,8);function ae(A,t){let I=0,i=A;for(let A=0;A<t;A++)I<<=1,I|=1&i,i>>=1;return I}oe.bitReverse=function(A,t){return(Ee[A>>>24]|Ee[A>>>16&255]<<8|Ee[A>>>8&255]<<16|Ee[255&A]<<24)>>>32-t},oe.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},oe.buffReverseBits=function(A,t){const I=A.byteLength/t,i=oe.log2(I);if(I!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<I;g++){const I=oe.bitReverse(g,i);if(g>I){const i=A.slice(g*t,(g+1)*t);A.set(A.slice(I*t,(I+1)*t),g*t),A.set(i,I*t)}}},function(A){window.btoa(A)}("("+function(A){const t=32767;let I,i;async function g(A){const g=new Uint8Array(A.code),e=await WebAssembly.compile(g);i=new WebAssembly.Memory({initial:A.init,maximum:t}),I=await WebAssembly.instantiate(e,{env:{memory:i}})}function e(A){const I=new Uint32Array(i.buffer,0,1);for(;3&I[0];)I[0]++;const g=I[0];if(I[0]+=A,I[0]+A>i.buffer.byteLength){const g=i.buffer.byteLength/65536;let e=Math.floor((I[0]+A)/65536)+1;e>t&&(e=t),i.grow(e-g)}return g}function n(A){const t=e(A.byteLength);return Q(t,A),t}function C(A,t){const I=new Uint8Array(i.buffer);return new Uint8Array(I.buffer,I.byteOffset+A,t)}function Q(A,t){new Uint8Array(i.buffer).set(new Uint8Array(t),A)}function B(A){if("INIT"==A[0].cmd)return g(A[0]);const t={vars:[],out:[]},B=new Uint32Array(i.buffer,0,1)[0];for(let i=0;i<A.length;i++)switch(A[i].cmd){case"ALLOCSET":t.vars[A[i].var]=n(A[i].buff);break;case"ALLOC":t.vars[A[i].var]=e(A[i].len);break;case"SET":Q(t.vars[A[i].var],A[i].buff);break;case"CALL":{const g=[];for(let I=0;I<A[i].params.length;I++){const e=A[i].params[I];void 0!==e.var?g.push(t.vars[e.var]+(e.offset||0)):void 0!==e.val&&g.push(e.val)}I.exports[A[i].fnName](...g);break}case"GET":t.out[A[i].out]=C(t.vars[A[i].var],A[i].len).slice();break;default:throw new Error("Invalid cmd")}return new Uint32Array(i.buffer,0,1)[0]=B,t.out}return A&&(A.onmessage=function(t){let I;if(I=t.data?t.data:t,"INIT"==I[0].cmd)g(I[0]).then((function(){A.postMessage(I.result)}));else if("TERMINATE"==I[0].cmd)process.exit();else{const t=B(I);A.postMessage(t)}}),B}.toString()+")(self)"),fA.curve_bn128=null,fA.curve_bls12381=null,fg("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),fg("21888242871839275222246405745257275088548364400416034343698204186575808495617"),fg("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),fg("21888242871839275222246405745257275088696311157297823662689037894645226208583");const se=_g;async function he(A,t){t=t||{};let I,i=32767,g=!1;for(;!g;)try{I=new WebAssembly.Memory({initial:i}),g=!0}catch(A){if(1===i)throw A;console.warn("Could not allocate "+1024*i*64+" bytes. This may cause severe instability. Trying with "+1024*i*64/2+" bytes"),i=Math.floor(i/2)}const e=await WebAssembly.compile(A);let n;const C=await WebAssembly.instantiate(e,{env:{memory:I},runtime:{error:function(A,I,i,g,e,C){let Q;throw Q=7==A?B(I)+" "+n.getFr(g).toString()+" != "+n.getFr(e).toString()+" "+B(C):9==A?B(I)+" "+n.getFr(g).toString()+" "+B(e):5==A&&t.sym?B(I)+" "+t.sym.labelIdx2Name[e]:B(I)+" "+i+" "+g+" "+e+" "+C,console.log("ERROR: ",A,Q),new Error(Q)},log:function(A){console.log(n.getFr(A).toString())},logGetSignal:function(A,I){t.logGetSignal&&t.logGetSignal(A,n.getFr(I))},logSetSignal:function(A,I){t.logSetSignal&&t.logSetSignal(A,n.getFr(I))},logStartComponent:function(A){t.logStartComponent&&t.logStartComponent(A)},logFinishComponent:function(A){t.logFinishComponent&&t.logFinishComponent(A)}}}),Q=t&&(t.sanityCheck||t.logGetSignal||t.logSetSignal||t.logStartComponent||t.logFinishComponent);return n=new fe(I,C,Q),n;function B(A){const t=new Uint8Array(I.buffer),i=[];for(let I=0;t[A+I]>0;I++)i.push(t[A+I]);return String.fromCharCode.apply(null,i)}}class fe{constructor(A,t,I){this.memory=A,this.i32=new Uint32Array(A.buffer),this.instance=t,this.n32=(this.instance.exports.getFrLen()>>2)-2;const i=this.instance.exports.getPRawPrime(),g=new Array(this.n32);for(let A=0;A<this.n32;A++)g[this.n32-1-A]=this.i32[(i>>2)+A];this.prime=se.fromArray(g,4294967296),this.Fr=new Qe(this.prime),this.mask32=se.fromString("FFFFFFFF",16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(se.shiftLeft(1,64*this.n64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=I}async _doCalculateWitness(A,t){this.instance.exports.init(this.sanityCheck||t?1:0);const I=this.allocInt(),i=this.allocFr();Object.keys(A).forEach((t=>{const g=function(A){return Xi.hash(A,64).hex()}(t),e=parseInt(g.slice(0,8),16),n=parseInt(g.slice(8,16),16);try{this.instance.exports.getSignalOffset32(I,0,e,n)}catch(A){throw new Error(`Signal ${t} is not an input of the circuit.`)}const C=this.getInt(I),Q=(B=A[t],function A(t,I){if(Array.isArray(I))for(let i=0;i<I.length;i++)A(t,I[i]);else t.push(I)}(r=[],B),r);var B,r;for(let A=0;A<Q.length;A++)this.setFr(i,Q[A]),this.instance.exports.setSignal(0,0,C+A,i)}))}async calculateWitness(A,t){const I=this,i=I.i32[0],g=[];await I._doCalculateWitness(A,t);for(let A=0;A<I.NVars;A++){const t=I.instance.exports.getPWitness(A);g.push(I.getFr(t))}return I.i32[0]=i,g}async calculateBinWitness(A,t){const I=this,i=I.i32[0];await I._doCalculateWitness(A,t);const g=I.instance.exports.getWitnessBuffer();I.i32[0]=i;const e=I.memory.buffer.slice(g,g+I.NVars*I.n64*8);return new Uint8Array(e)}allocInt(){const A=this.i32[0];return this.i32[0]=A+8,A}allocFr(){const A=this.i32[0];return this.i32[0]=A+4*this.n32+8,A}getInt(A){return this.i32[A>>2]}setInt(A,t){this.i32[A>>2]=t}getFr(A){const t=this,I=A>>2;if(2147483648&t.i32[I+1]){const A=new Array(t.n32);for(let i=0;i<t.n32;i++)A[t.n32-1-i]=t.i32[I+2+i];const g=t.Fr.e(se.fromArray(A,4294967296));return 1073741824&t.i32[I+1]?(i=g,t.Fr.mul(t.RInv,i)):g}return 2147483648&t.i32[I]?t.Fr.e(t.i32[I]-4294967296):t.Fr.e(t.i32[I]);var i}setFr(A,t){const I=this;t=I.Fr.e(t);const i=I.Fr.neg(I.Fr.e("80000000",16)),g=I.Fr.e("7FFFFFFF",16);if(I.Fr.geq(t,i)&&I.Fr.leq(t,g)){let g;return I.Fr.geq(t,I.Fr.zero)?g=se.toNumber(t):(g=se.toNumber(I.Fr.sub(t,i)),g-=2147483648,g=4294967296+g),I.i32[A>>2]=g,void(I.i32[1+(A>>2)]=0)}I.i32[A>>2]=0,I.i32[1+(A>>2)]=2147483648;const e=se.toArray(t,4294967296);for(let t=0;t<I.n32;t++){const i=e.length-1-t;I.i32[2+(A>>2)+t]=i>=0?e[i]:0}}}async function we(A,t,I,i){const g=await OA(t),e=await g.read(g.totalSize);await g.close();const n=await he(e,i),C=await n.calculateBinWitness(A),Q=await VA(I,"wtns",2,2);await async function(A,t,I){await KA(A,1);const i=8*(Math.floor((ei.bitLength(I)-1)/64)+1);if(await A.writeULE32(i),await TA(A,I,i),t.byteLength%i!=0)throw new Error("Invalid witness length");await A.writeULE32(t.byteLength/i),await jA(A),await KA(A,2),await A.write(t),await jA(A)}(Q,C,n.prime),await Q.close()}const{unstringifyBigInts:ce}=ni;function De(A){let t=A.toString(16);for(;t.length<64;)t="0"+t;return t=`"0x${t}"`,t}var ue=Object.freeze({__proto__:null,fullProve:async function(A,t,I,i){const g={type:"mem"};return await we(A,t,g,{sanityCheck:!0}),await Pi(I,g,i)},prove:Pi,verify:async function(A,t,I,i){A=ce(A),I=ce(I),t=ce(t);const g=await ri(A.curve),e=g.G1.fromObject(A.IC[0]),n=new Uint8Array(2*g.G1.F.n8*t.length),C=new Uint8Array(g.Fr.n8*t.length);for(let I=0;I<t.length;I++){const i=g.G1.fromObject(A.IC[I+1]);n.set(i,I*g.G1.F.n8*2),ei.toRprLE(C,g.Fr.n8*I,t[I],g.Fr.n8)}let Q=await g.G1.multiExpAffine(n,C);Q=g.G1.add(Q,e);const B=g.G1.fromObject(I.pi_a),r=g.G2.fromObject(I.pi_b),o=g.G1.fromObject(I.pi_c),E=g.G2.fromObject(A.vk_gamma_2),a=g.G2.fromObject(A.vk_delta_2),s=g.G1.fromObject(A.vk_alpha_1),h=g.G2.fromObject(A.vk_beta_2);return await g.pairingEq(g.G1.neg(B),r,Q,E,o,a,s,h)?(i&&i.info("OK!"),!0):(i&&i.error("Invalid proof"),!1)},exportSolidityCallData:async function(A,t){let I,i="";for(let A=0;A<t.length;A++)""!=i&&(i+=","),i+=De(t[A]);return I=`[${De(A.pi_a[0])}, ${De(A.pi_a[1])}],[[${De(A.pi_b[0][1])}, ${De(A.pi_b[0][0])}],[${De(A.pi_b[1][1])}, ${De(A.pi_b[1][0])}]],[${De(A.pi_c[0])}, ${De(A.pi_c[1])}],[${i}]`,I}});function le(A,t){const I=new DataView(t.buffer,t.byteOffset,t.byteLength),i=[];for(let A=0;A<8;A++)i[A]=I.getUint32(4*A);const g=new fI(i);return A.G2.fromRng(g)}function ye(A,t,I,i,g){const e=fi(64),n=new Uint8Array([t]);e.update(n),e.update(I);const C=A.G1.toUncompressed(i);e.update(C);const Q=A.G1.toUncompressed(g);e.update(Q);return le(A,e.digest())}function pe(A,t,I,i,g){return A.g1_s=t.G1.toAffine(t.G1.fromRng(g)),A.g1_sx=t.G1.toAffine(t.G1.timesFr(A.g1_s,A.prvKey)),A.g2_sp=t.G2.toAffine(ye(t,I,i,A.g1_s,A.g1_sx)),A.g2_spx=t.G2.toAffine(t.G2.timesFr(A.g2_sp,A.prvKey)),A}function Fe(A,t,I){const i={tau:{},alpha:{},beta:{}};return i.tau.prvKey=A.Fr.fromRng(I),i.alpha.prvKey=A.Fr.fromRng(I),i.beta.prvKey=A.Fr.fromRng(I),pe(i.tau,A,0,t,I),pe(i.alpha,A,1,t,I),pe(i.beta,A,2,t,I),i}async function Me(A,t,I,i){i||(i=I),await A.writeULE32(1);const g=A.pos;await A.writeULE64(0),await A.writeULE32(8*t.F1.n64);const e=new Uint8Array(t.F1.n8);ei.toRprLE(e,0,t.q,t.F1.n8),await A.write(e),await A.writeULE32(I),await A.writeULE32(i);const n=A.pos-g-8,C=A.pos;await A.writeULE64(n,g),A.pos=C}async function me(A,t){if(!t[1])throw new Error(A.fileName+": File has no header");if(t[1].length>1)throw new Error(A.fileName+": File has more than one header");A.pos=t[1][0].p;const I=await A.readULE32(),i=await A.read(I),g=ei.fromRprLE(i),e=await Bi(g);if(8*e.F1.n64!=I)throw new Error(A.fileName+": Invalid size");const n=await A.readULE32(),C=await A.readULE32();if(A.pos-t[1][0].p!=t[1][0].size)throw new Error("Invalid PTau header size");return{curve:e,power:n,ceremonyPower:C}}function de(A,t,I,i){const g={tau:{},alpha:{},beta:{}};return g.tau.g1_s=e(),g.tau.g1_sx=e(),g.alpha.g1_s=e(),g.alpha.g1_sx=e(),g.beta.g1_s=e(),g.beta.g1_sx=e(),g.tau.g2_spx=n(),g.alpha.g2_spx=n(),g.beta.g2_spx=n(),g;function e(){let g;return g=i?I.G1.fromRprLEM(A,t):I.G1.fromRprUncompressed(A,t),t+=2*I.G1.F.n8,g}function n(){let g;return g=i?I.G2.fromRprLEM(A,t):I.G2.fromRprUncompressed(A,t),t+=2*I.G2.F.n8,g}}function Ge(A,t,I,i,g){async function e(i){g?I.G1.toRprLEM(A,t,i):I.G1.toRprUncompressed(A,t,i),t+=2*I.F1.n8}async function n(i){g?I.G2.toRprLEM(A,t,i):I.G2.toRprUncompressed(A,t,i),t+=2*I.F2.n8}return e(i.tau.g1_s),e(i.tau.g1_sx),e(i.alpha.g1_s),e(i.alpha.g1_sx),e(i.beta.g1_s),e(i.beta.g1_sx),n(i.tau.g2_spx),n(i.alpha.g2_spx),n(i.beta.g2_spx),A}async function be(A,t){const I={};I.tauG1=await Q(),I.tauG2=await B(),I.alphaG1=await Q(),I.betaG1=await Q(),I.betaG2=await B(),I.key=await async function(A,t,I){return de(await A.read(2*t.F1.n8*6+2*t.F2.n8*3),0,t,I)}(A,t,!0),I.partialHash=await A.read(216),I.nextChallenge=await A.read(64),I.type=await A.readULE32();const i=new Uint8Array(2*t.G1.F.n8*6+2*t.G2.F.n8*3);Ge(i,0,t,I.key,!1);const g=fi(64);g.setPartialHash(I.partialHash),g.update(i),I.responseHash=g.digest();const e=await A.readULE32(),n=A.pos;let C=0;for(;A.pos-n<e;){const A=await r(1);if(A[0]<=C)throw new Error("Parameters in the contribution must be sorted");if(C=A[0],1==A[0]){const A=await r(1),t=await r(A[0]);I.name=(new TextDecoder).decode(t)}else if(2==A[0]){const A=await r(1);I.numIterationsExp=A[0]}else{if(3!=A[0])throw new Error("Parameter not recognized");{const A=await r(1);I.beaconHash=await r(A[0])}}}if(A.pos!=n+e)throw new Error("Parametes do not match");return I;async function Q(){const I=await A.read(2*t.G1.F.n8);return t.G1.fromRprLEM(I)}async function B(){const I=await A.read(2*t.G2.F.n8);return t.G2.fromRprLEM(I)}async function r(t){const I=await A.read(t);return new Uint8Array(I)}}async function He(A,t,I){if(!I[7])throw new Error(A.fileName+": File has no contributions");if(I[7][0].length>1)throw new Error(A.fileName+": File has more than one contributions section");A.pos=I[7][0].p;const i=await A.readULE32(),g=[];for(let I=0;I<i;I++){const i=await be(A,t);i.id=I+1,g.push(i)}if(A.pos-I[7][0].p!=I[7][0].size)throw new Error("Invalid contribution section size");return g}async function Ue(A,t,I){const i=new Uint8Array(2*t.F1.n8),g=new Uint8Array(2*t.F2.n8);await n(I.tauG1),await C(I.tauG2),await n(I.alphaG1),await n(I.betaG1),await C(I.betaG2),await async function(A,t,I,i){const g=new Uint8Array(2*t.F1.n8*6+2*t.F2.n8*3);Ge(g,0,t,I,i),await A.write(g)}(A,t,I.key,!0),await A.write(I.partialHash),await A.write(I.nextChallenge),await A.writeULE32(I.type||0);const e=[];if(I.name){e.push(1);const A=new TextEncoder("utf-8").encode(I.name.substring(0,64));e.push(A.byteLength);for(let t=0;t<A.byteLength;t++)e.push(A[t])}if(1==I.type){e.push(2),e.push(I.numIterationsExp),e.push(3),e.push(I.beaconHash.byteLength);for(let A=0;A<I.beaconHash.byteLength;A++)e.push(I.beaconHash[A])}if(e.length>0){const t=new Uint8Array(e);await A.writeULE32(t.byteLength),await A.write(t)}else await A.writeULE32(0);async function n(I){t.G1.toRprLEM(i,0,I),await A.write(i)}async function C(I){t.G2.toRprLEM(g,0,I),await A.write(g)}}async function Le(A,t,I){await A.writeULE32(7);const i=A.pos;await A.writeULE64(0),await A.writeULE32(I.length);for(let i=0;i<I.length;i++)await Ue(A,t,I[i]);const g=A.pos-i-8,e=A.pos;await A.writeULE64(g,i),A.pos=e}function Ne(A,t,I){I&&I.debug("Calculating First Challenge Hash");const i=new fi(64),g=new Uint8Array(2*A.G1.F.n8),e=new Uint8Array(2*A.G2.F.n8);let n;return A.G1.toRprUncompressed(g,0,A.G1.g),A.G2.toRprUncompressed(e,0,A.G2.g),i.update(fi(64).digest()),n=2**t*2-1,I&&I.debug("Calculate Initial Hash: tauG1"),C(g,n),n=2**t,I&&I.debug("Calculate Initial Hash: tauG2"),C(e,n),I&&I.debug("Calculate Initial Hash: alphaTauG1"),C(g,n),I&&I.debug("Calculate Initial Hash: betaTauG1"),C(g,n),i.update(e),i.digest();function C(A,t){const g=5e5,e=Math.floor(t/g),n=t%g,C=new Uint8Array(g*A.byteLength);for(let t=0;t<g;t++)C.set(A,t*A.byteLength);for(let A=0;A<e;A++)i.update(C),I&&I.debug("Initial hash: "+A*g);for(let t=0;t<n;t++)i.update(A)}}function ke(A,t,I,i){return Fe(A,t,Mi(I,i))}const Je=pi;async function Se(A,t,I,i){let g;if(1==t.type){const g=ke(A,I.nextChallenge,t.beaconHash,t.numIterationsExp);if(!A.G1.eq(t.key.tau.g1_s,g.tau.g1_s))return i&&i.error(`BEACON key (tauG1_s) is not generated correctly in challenge #${t.id} ${t.name||""}`),!1;if(!A.G1.eq(t.key.tau.g1_sx,g.tau.g1_sx))return i&&i.error(`BEACON key (tauG1_sx) is not generated correctly in challenge #${t.id} ${t.name||""}`),!1;if(!A.G2.eq(t.key.tau.g2_spx,g.tau.g2_spx))return i&&i.error(`BEACON key (tauG2_spx) is not generated correctly in challenge #${t.id} ${t.name||""}`),!1;if(!A.G1.eq(t.key.alpha.g1_s,g.alpha.g1_s))return i&&i.error(`BEACON key (alphaG1_s) is not generated correctly in challenge #${t.id} ${t.name||""}`),!1;if(!A.G1.eq(t.key.alpha.g1_sx,g.alpha.g1_sx))return i&&i.error(`BEACON key (alphaG1_sx) is not generated correctly in challenge #${t.id} ${t.name||""}`),!1;if(!A.G2.eq(t.key.alpha.g2_spx,g.alpha.g2_spx))return i&&i.error(`BEACON key (alphaG2_spx) is not generated correctly in challenge #${t.id} ${t.name||""}`),!1;if(!A.G1.eq(t.key.beta.g1_s,g.beta.g1_s))return i&&i.error(`BEACON key (betaG1_s) is not generated correctly in challenge #${t.id} ${t.name||""}`),!1;if(!A.G1.eq(t.key.beta.g1_sx,g.beta.g1_sx))return i&&i.error(`BEACON key (betaG1_sx) is not generated correctly in challenge #${t.id} ${t.name||""}`),!1;if(!A.G2.eq(t.key.beta.g2_spx,g.beta.g2_spx))return i&&i.error(`BEACON key (betaG2_spx) is not generated correctly in challenge #${t.id} ${t.name||""}`),!1}return t.key.tau.g2_sp=A.G2.toAffine(ye(A,0,I.nextChallenge,t.key.tau.g1_s,t.key.tau.g1_sx)),t.key.alpha.g2_sp=A.G2.toAffine(ye(A,1,I.nextChallenge,t.key.alpha.g1_s,t.key.alpha.g1_sx)),t.key.beta.g2_sp=A.G2.toAffine(ye(A,2,I.nextChallenge,t.key.beta.g1_s,t.key.beta.g1_sx)),g=await Je(A,t.key.tau.g1_s,t.key.tau.g1_sx,t.key.tau.g2_sp,t.key.tau.g2_spx),!0!==g?(i&&i.error("INVALID key (tau) in challenge #"+t.id),!1):(g=await Je(A,t.key.alpha.g1_s,t.key.alpha.g1_sx,t.key.alpha.g2_sp,t.key.alpha.g2_spx),!0!==g?(i&&i.error("INVALID key (alpha) in challenge #"+t.id),!1):(g=await Je(A,t.key.beta.g1_s,t.key.beta.g1_sx,t.key.beta.g2_sp,t.key.beta.g2_spx),!0!==g?(i&&i.error("INVALID key (beta) in challenge #"+t.id),!1):(g=await Je(A,I.tauG1,t.tauG1,t.key.tau.g2_sp,t.key.tau.g2_spx),!0!==g?(i&&i.error("INVALID tau*G1. challenge #"+t.id+" It does not follow the previous contribution"),!1):(g=await Je(A,t.key.tau.g1_s,t.key.tau.g1_sx,I.tauG2,t.tauG2),!0!==g?(i&&i.error("INVALID tau*G2. challenge #"+t.id+" It does not follow the previous contribution"),!1):(g=await Je(A,I.alphaG1,t.alphaG1,t.key.alpha.g2_sp,t.key.alpha.g2_spx),!0!==g?(i&&i.error("INVALID alpha*G1. challenge #"+t.id+" It does not follow the previous contribution"),!1):(g=await Je(A,I.betaG1,t.betaG1,t.key.beta.g2_sp,t.key.beta.g2_spx),!0!==g?(i&&i.error("INVALID beta*G1. challenge #"+t.id+" It does not follow the previous contribution"),!1):(g=await Je(A,t.key.beta.g1_s,t.key.beta.g1_sx,I.betaG2,t.betaG2),!0!==g?(i&&i.error("INVALID beta*G2. challenge #"+t.id+"It does not follow the previous contribution"),!1):(i&&i.info("Powers Of tau file OK!"),!0))))))))}async function ve(A,t,I,i,g,e,n,C,Q,B){const r=g[e],o=2*r.F.n8,E=t[i][0].size/o;await zA(A,t,i),await KA(I,i);let a=n;for(let t=0;t<E;t+=65536){B&&B.debug(`Applying key: ${Q}: ${t}/${E}`);const i=Math.min(E-t,65536);let e;e=await A.read(i*o),e=await r.batchApplyKey(e,a,C),await I.write(e),a=g.Fr.mul(a,g.Fr.exp(C,i))}await jA(I),await WA(A)}async function Re(A,t,I,i,g,e,n,C,Q,B,r){const o=i[g],E=2*o.F.n8,a=Math.floor((1<<20)/E);let s=n;for(let g=0;g<e;g+=a){r&&r.debug(`Applying key ${B}: ${g}/${e}`);const n=Math.min(e-g,a),h=await A.read(n*E),f=await o.batchUtoLEM(h),w=await o.batchApplyKey(f,s,C);let c;c="COMPRESSED"==Q?await o.batchLEMtoC(w):await o.batchLEMtoU(w),I&&I.update(c),await t.write(c),s=i.Fr.mul(s,i.Fr.exp(C,n))}}var qe=Object.freeze({__proto__:null,newAccumulator:async function(A,t,I,i){await fi.ready();const g=await VA(I,"ptau",1,7);await Me(g,A,t,0);const e=A.G1.oneAffine,n=A.G2.oneAffine;await KA(g,2);const C=2**t*2-1;for(let A=0;A<C;A++)await g.write(e),i&&A%1e5==0&&A&&i.log("tauG1: "+A);await jA(g),await KA(g,3);const Q=2**t;for(let A=0;A<Q;A++)await g.write(n),i&&A%1e5==0&&A&&i.log("tauG2: "+A);await jA(g),await KA(g,4);const B=2**t;for(let A=0;A<B;A++)await g.write(e),i&&A%1e5==0&&A&&i.log("alphaTauG1: "+A);await jA(g),await KA(g,5);const r=2**t;for(let A=0;A<r;A++)await g.write(e),i&&A%1e5==0&&A&&i.log("betaTauG1: "+A);await jA(g),await KA(g,6),await g.write(n),await jA(g),await KA(g,7),await g.writeULE32(0),await jA(g),await g.close();const o=Ne(A,t,i);return i&&i.debug(ui(fi(64).digest(),"Blank Contribution Hash:")),i&&i.info(ui(o,"First Contribution Hash:")),o},exportChallenge:async function(A,t,I){await fi.ready();const{fd:i,sections:g}=await ZA(A,"ptau",1),{curve:e,power:n}=await me(i,g),C=await He(i,e,g);let Q,B;0==C.length?(Q=fi(64).digest(),B=Ne(e,n)):(Q=C[C.length-1].responseHash,B=C[C.length-1].nextChallenge),I&&I.info(ui(Q,"Last Response Hash: ")),I&&I.info(ui(B,"New Challenge Hash: "));const r=await XA(t),o=fi(64);await r.write(Q),o.update(Q),await a(2,"G1",2**n*2-1,"tauG1"),await a(3,"G2",2**n,"tauG2"),await a(4,"G1",2**n,"alphaTauG1"),await a(5,"G1",2**n,"betaTauG1"),await a(6,"G2",1,"betaG2"),await i.close(),await r.close();const E=o.digest();if(!li(B,E))throw I&&I.info(ui(E,"Calc Curret Challenge Hash: ")),I&&I.error("PTau file is corrupted. Calculated new challenge hash does not match with the eclared one"),new Error("PTau file is corrupted. Calculated new challenge hash does not match with the eclared one");return B;async function a(A,t,n,C){const Q=e[t],B=2*Q.F.n8,E=Math.floor((1<<24)/B);await zA(i,g,A);for(let A=0;A<n;A+=E){I&&I.debug(`Exporting ${C}: ${A}/${n}`);const t=Math.min(n-A,E);let g;g=await i.read(t*B),g=await Q.batchLEMtoU(g),await r.write(g),o.update(g)}await WA(i)}},importResponse:async function(A,t,I,i,g,e){await fi.ready();const n=new Uint8Array(64);for(let A=0;A<64;A++)n[A]=255;const{fd:C,sections:Q}=await ZA(A,"ptau",1),{curve:B,power:r}=await me(C,Q),o=await He(C,B,Q),E={};i&&(E.name=i);const a=2*B.F1.n8,s=B.F1.n8,h=2*B.F2.n8,f=B.F2.n8,w=await OA(t);if(w.totalSize!=64+(2**r*2-1)*s+2**r*f+2**r*s+2**r*s+f+6*a+3*h)throw new Error("Size of the contribution is invalid");let c;c=o.length>0?o[o.length-1].nextChallenge:Ne(B,r,e);const D=await VA(I,"ptau",1,g?7:2);await Me(D,B,r);const u=await w.read(64);if(li(n,c)&&(c=u,o[o.length-1].nextChallenge=c),!li(u,c))throw new Error("Wrong contribution. this contribution is not based on the previus hash");const l=new fi(64);l.update(u);const y=[];let p;p=await m(w,D,"G1",2,2**r*2-1,[1],"tauG1"),E.tauG1=p[0],p=await m(w,D,"G2",3,2**r,[1],"tauG2"),E.tauG2=p[0],p=await m(w,D,"G1",4,2**r,[0],"alphaG1"),E.alphaG1=p[0],p=await m(w,D,"G1",5,2**r,[0],"betaG1"),E.betaG1=p[0],p=await m(w,D,"G2",6,1,[0],"betaG2"),E.betaG2=p[0],E.partialHash=l.getPartialHash();const F=await w.read(2*B.F1.n8*6+2*B.F2.n8*3);E.key=de(F,0,B,!1),l.update(new Uint8Array(F));const M=l.digest();if(e&&e.info(ui(M,"Contribution Response Hash imported: ")),g){const A=new fi(64);A.update(M),await d(A,D,"G1",2,2**r*2-1,"tauG1",e),await d(A,D,"G2",3,2**r,"tauG2",e),await d(A,D,"G1",4,2**r,"alphaTauG1",e),await d(A,D,"G1",5,2**r,"betaTauG1",e),await d(A,D,"G2",6,1,"betaG2",e),E.nextChallenge=A.digest(),e&&e.info(ui(E.nextChallenge,"Next Challenge Hash: "))}else E.nextChallenge=n;return o.push(E),await Le(D,B,o),await w.close(),await D.close(),await C.close(),E.nextChallenge;async function m(A,t,I,i,n,C,Q){return g?await async function(A,t,I,i,g,n,C){const Q=B[I],r=Q.F.n8,o=2*Q.F.n8,E=[];await KA(t,i);const a=Math.floor((1<<24)/o);y[i]=t.pos;for(let I=0;I<g;I+=a){e&&e.debug(`Importing ${C}: ${I}/${g}`);const i=Math.min(g-I,a),B=await A.read(i*r);l.update(B);const s=await Q.batchCtoLEM(B);await t.write(s);for(let A=0;A<n.length;A++){const t=n[A];if(t>=I&&t<I+i){const A=Q.fromRprLEM(s,(t-I)*o);E.push(A)}}}return await jA(t),E}(A,t,I,i,n,C,Q):await async function(A,t,I,i,g,n,C){const Q=B[I],r=Q.F.n8,o=[],E=Math.floor((1<<24)/r);for(let t=0;t<g;t+=E){e&&e.debug(`Importing ${C}: ${t}/${g}`);const I=Math.min(g-t,E),i=await A.read(I*r);l.update(i);for(let A=0;A<n.length;A++){const g=n[A];if(g>=t&&g<t+I){const A=Q.fromRprCompressed(i,(g-t)*r);o.push(A)}}}return o}(A,0,I,0,n,C,Q)}async function d(A,t,I,i,g,e,n){const C=B[I],Q=2*C.F.n8,r=Math.floor((1<<24)/Q),o=t.pos;t.pos=y[i];for(let I=0;I<g;I+=r){n&&n.debug(`Hashing ${e}: ${I}/${g}`);const i=Math.min(g-I,r),B=await t.read(i*Q),o=await C.batchLEMtoU(B);A.update(o)}t.pos=o}},verify:async function(A,t){let I;await fi.ready();const{fd:i,sections:g}=await ZA(A,"ptau",1),{curve:e,power:n,ceremonyPower:C}=await me(i,g),Q=await He(i,e,g);t&&t.debug("power: 2**"+n),t&&t.debug("Computing initial contribution hash");const B={tauG1:e.G1.g,tauG2:e.G2.g,alphaG1:e.G1.g,betaG1:e.G1.g,betaG2:e.G2.g,nextChallenge:Ne(e,C,t),responseHash:fi(64).digest()};if(0==Q.length)return t&&t.error("This file has no contribution! It cannot be used in production"),!1;let r;r=Q.length>1?Q[Q.length-2]:B;const o=Q[Q.length-1];if(t&&t.debug("Validating contribution #"+Q[Q.length-1].id),!await Se(e,o,r,t))return!1;const E=fi(64);E.update(o.responseHash),t&&t.debug("Verifying powers in tau*G1 section");const a=await u(2,"G1","tauG1",2**n*2-1,[0,1],t);if(I=await Je(e,a.R1,a.R2,e.G2.g,o.tauG2),!0!==I)return t&&t.error("tauG1 section. Powers do not match"),!1;if(!e.G1.eq(e.G1.g,a.singularPoints[0]))return t&&t.error("First element of tau*G1 section must be the generator"),!1;if(!e.G1.eq(o.tauG1,a.singularPoints[1]))return t&&t.error("Second element of tau*G1 section does not match the one in the contribution section"),!1;t&&t.debug("Verifying powers in tau*G2 section");const s=await u(3,"G2","tauG2",2**n,[0,1],t);if(I=await Je(e,e.G1.g,o.tauG1,s.R1,s.R2),!0!==I)return t&&t.error("tauG2 section. Powers do not match"),!1;if(!e.G2.eq(e.G2.g,s.singularPoints[0]))return t&&t.error("First element of tau*G2 section must be the generator"),!1;if(!e.G2.eq(o.tauG2,s.singularPoints[1]))return t&&t.error("Second element of tau*G2 section does not match the one in the contribution section"),!1;t&&t.debug("Verifying powers in alpha*tau*G1 section");const h=await u(4,"G1","alphatauG1",2**n,[0],t);if(I=await Je(e,h.R1,h.R2,e.G2.g,o.tauG2),!0!==I)return t&&t.error("alphaTauG1 section. Powers do not match"),!1;if(!e.G1.eq(o.alphaG1,h.singularPoints[0]))return t&&t.error("First element of alpha*tau*G1 section (alpha*G1) does not match the one in the contribution section"),!1;t&&t.debug("Verifying powers in beta*tau*G1 section");const f=await u(5,"G1","betatauG1",2**n,[0],t);if(I=await Je(e,f.R1,f.R2,e.G2.g,o.tauG2),!0!==I)return t&&t.error("betaTauG1 section. Powers do not match"),!1;if(!e.G1.eq(o.betaG1,f.singularPoints[0]))return t&&t.error("First element of beta*tau*G1 section (beta*G1) does not match the one in the contribution section"),!1;const w=await async function(A){const t=e.G2,I=2*t.F.n8,n=new Uint8Array(I);if(!g[6])throw A.error("File has no BetaG2 section"),new Error("File has no BetaG2 section");if(g[6].length>1)throw A.error("File has no BetaG2 section"),new Error("File has more than one GetaG2 section");i.pos=g[6][0].p;const C=await i.read(I),Q=t.fromRprLEM(C);return t.toRprUncompressed(n,0,Q),E.update(n),Q}(t);if(!e.G2.eq(o.betaG2,w))return t&&t.error("betaG2 element in betaG2 section does not match the one in the contribution section"),!1;const c=E.digest();if(n==C&&!li(c,o.nextChallenge))return t&&t.error("Hash of the values does not match the next challenge of the last contributor in the contributions section"),!1;t&&t.info(ui(c,"Next challenge hash: ")),D(o,r);for(let A=Q.length-2;A>=0;A--){const I=Q[A],i=A>0?Q[A-1]:B;if(!await Se(e,I,i,t))return!1;D(I,i)}if(t&&t.info("-----------------------------------------------------"),g[12]&&g[13]&&g[14]&&g[15]){let A;if(A=await l("G1",2,12,"tauG1",t),!A)return!1;if(A=await l("G2",3,13,"tauG2",t),!A)return!1;if(A=await l("G1",4,14,"alphaTauG1",t),!A)return!1;if(A=await l("G1",5,15,"betaTauG1",t),!A)return!1}else t&&t.warn('this file does not contain phase2 precalculated values. Please run: \n snarkjs "powersoftau preparephase2" to prepare this file to be used in the phase2 ceremony.');return await i.close(),t&&t.info("Powers of Tau Ok!"),!0;function D(A,I){if(!t)return;t.info("-----------------------------------------------------"),t.info(`Contribution #${A.id}: ${A.name||""}`),t.info(ui(A.nextChallenge,"Next Challenge: "));const i=new Uint8Array(2*e.G1.F.n8*6+2*e.G2.F.n8*3);Ge(i,0,e,A.key,!1);const g=fi(64);g.setPartialHash(A.partialHash),g.update(i);const n=g.digest();t.info(ui(n,"Response Hash:")),t.info(ui(I.nextChallenge,"Response Hash:")),1==A.type&&(t.info(`Beacon generator: ${di(A.beaconHash)}`),t.info(`Beacon iterations Exp: ${A.numIterationsExp}`))}async function u(A,t,I,n,C,Q){const B=e[t],r=2*B.F.n8;await zA(i,g,A);const o=[];let a=B.zero,s=B.zero,h=B.zero;for(let A=0;A<n;A+=65536){Q&&Q.debug(`points relations: ${I}: ${A}/${n} `);const t=Math.min(n-A,65536),g=await i.read(t*r),e=await B.batchLEMtoU(g);E.update(e);const f=new Uint8Array(4*(t-1));if(hA.randomFillSync(f),A>0){const A=B.fromRprLEM(g,0),t=hA.randomBytes(4).readUInt32BE(0,!0);a=B.add(a,B.timesScalar(h,t)),s=B.add(s,B.timesScalar(A,t))}const w=await B.multiExpAffine(g.slice(0,(t-1)*r),f),c=await B.multiExpAffine(g.slice(r),f);a=B.add(a,w),s=B.add(s,c),h=B.fromRprLEM(g,(t-1)*r);for(let I=0;I<C.length;I++){const i=C[I];if(i>=A&&i<A+t){const t=B.fromRprLEM(g,(i-A)*r);o.push(t)}}}return await WA(i),{R1:a,R2:s,singularPoints:o}}async function l(A,t,I,C,Q){Q&&Q.debug(`Verifying phase2 calculated values ${C}...`);const B=e[A],r=2*B.F.n8,o=new Array(8);for(let A=0;A<8;A++)o[A]=hA.randomBytes(4).readUInt32BE(0,!0);for(let A=0;A<=n;A++){if(!await E(A))return!1}if(2==t){if(!await E(n+1))return!1}return!0;async function E(A){Q&&Q.debug(`Power ${A}...`);const E=e.Fr.n8,a=2**A;let s,h=new Uint32Array(a),f=new fI(o);Q&&Q.debug(`Creating random numbers Powers${A}...`);for(let t=0;t<a;t++)h[t]=A==n+1&&t==a-1?0:f.nextU32();h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength),Q&&Q.debug(`reading points Powers${A}...`),await zA(i,g,t),s=new xI(a*r),A==n+1?(await i.readToBuffer(s,0,(a-1)*r),s.set(e.G1.zeroAffine,(a-1)*r)):await i.readToBuffer(s,0,a*r),await WA(i,!0);const w=await B.multiExpAffine(s,h,Q,C+"_"+A);h=new xI(a*E),f=new fI(o);const c=new Uint8Array(4),D=new DataView(c.buffer);Q&&Q.debug(`Creating random numbers Powers${A}...`);for(let t=0;t<a;t++)t==a-1&&A==n+1||(D.setUint32(0,f.nextU32(),!0),h.set(c,t*E));Q&&Q.debug(`batchToMontgomery ${A}...`),h=await e.Fr.batchToMontgomery(h),Q&&Q.debug(`fft ${A}...`),h=await e.Fr.fft(h),Q&&Q.debug(`batchFromMontgomery ${A}...`),h=await e.Fr.batchFromMontgomery(h),Q&&Q.debug(`reading points Lagrange${A}...`),await zA(i,g,I),i.pos+=r*(2**A-1),await i.readToBuffer(s,0,a*r),await WA(i,!0);const u=await B.multiExpAffine(s,h,Q,C+"_"+A+"_transformed");return!!B.eq(w,u)||(Q&&Q.error("Phase2 caclutation does not match with powers of tau"),!1)}}},challengeContribute:async function(A,t,I,i,g){await fi.ready();const e=await OA(t),n=8*A.F1.n64*2,C=8*A.F2.n64*2,Q=(e.totalSize+n-64-C)/(4*n+C);let B=Q,r=0;for(;B>1;)B/=2,r+=1;if(2**r!=Q)throw new Error("Invalid file size");g&&g.debug("Power to tau size: "+r);const o=await Fi(i),E=await XA(I),a=fi(64);for(let A=0;A<e.totalSize;A+=e.pageSize){g&&g.debug(`Hashing challenge ${A}/${e.totalSize}`);const t=Math.min(e.totalSize-A,e.pageSize),I=await e.read(t);a.update(I)}const s=await e.read(64,0);g&&g.info(ui(s,"Claimed Previous Response Hash: "));const h=a.digest();g&&g.info(ui(h,"Current Challenge Hash: "));const f=Fe(A,h,o);g&&["tau","alpha","beta"].forEach((t=>{g.debug(t+".g1_s: "+A.G1.toString(f[t].g1_s,16)),g.debug(t+".g1_sx: "+A.G1.toString(f[t].g1_sx,16)),g.debug(t+".g2_sp: "+A.G2.toString(f[t].g2_sp,16)),g.debug(t+".g2_spx: "+A.G2.toString(f[t].g2_spx,16)),g.debug("")}));const w=fi(64);await E.write(h),w.update(h),await Re(e,E,w,A,"G1",2**r*2-1,A.Fr.one,f.tau.prvKey,"COMPRESSED","tauG1",g),await Re(e,E,w,A,"G2",2**r,A.Fr.one,f.tau.prvKey,"COMPRESSED","tauG2",g),await Re(e,E,w,A,"G1",2**r,f.alpha.prvKey,f.tau.prvKey,"COMPRESSED","alphaTauG1",g),await Re(e,E,w,A,"G1",2**r,f.beta.prvKey,f.tau.prvKey,"COMPRESSED","betaTauG1",g),await Re(e,E,w,A,"G2",1,f.beta.prvKey,f.tau.prvKey,"COMPRESSED","betaTauG2",g);const c=new Uint8Array(2*A.F1.n8*6+2*A.F2.n8*3);Ge(c,0,A,f,!1),await E.write(c),w.update(c);const D=w.digest();g&&g.info(ui(D,"Contribution Response Hash: ")),await E.close(),await e.close()},beacon:async function(A,t,I,i,g,e){const n=mi(i);if(0==n.byteLength||2*n.byteLength!=i.length)return e&&e.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(n.length>=256)return e&&e.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return e&&e.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;await fi.ready();const{fd:C,sections:Q}=await ZA(A,"ptau",1),{curve:B,power:r,ceremonyPower:o}=await me(C,Q);if(r!=o)return e&&e.error("This file has been reduced. You cannot contribute into a reduced file."),!1;Q[12]&&e&&e.warn("Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const E=await He(C,B,Q),a={name:I,type:1,numIterationsExp:g,beaconHash:n};let s;s=E.length>0?E[E.length-1].nextChallenge:Ne(B,r,e),a.key=ke(B,s,n,g);const h=new fi(64);h.update(s);const f=await VA(t,"ptau",1,7);await Me(f,B,r);const w=[];let c;c=await y(2,"G1",2**r*2-1,B.Fr.e(1),a.key.tau.prvKey,"tauG1",e),a.tauG1=c[1],c=await y(3,"G2",2**r,B.Fr.e(1),a.key.tau.prvKey,"tauG2",e),a.tauG2=c[1],c=await y(4,"G1",2**r,a.key.alpha.prvKey,a.key.tau.prvKey,"alphaTauG1",e),a.alphaG1=c[0],c=await y(5,"G1",2**r,a.key.beta.prvKey,a.key.tau.prvKey,"betaTauG1",e),a.betaG1=c[0],c=await y(6,"G2",1,a.key.beta.prvKey,a.key.tau.prvKey,"betaTauG2",e),a.betaG2=c[0],a.partialHash=h.getPartialHash();const D=new Uint8Array(2*B.F1.n8*6+2*B.F2.n8*3);Ge(D,0,B,a.key,!1),h.update(new Uint8Array(D));const u=h.digest();e&&e.info(ui(u,"Contribution Response Hash imported: "));const l=new fi(64);return l.update(u),await p(f,"G1",2,2**r*2-1,"tauG1",e),await p(f,"G2",3,2**r,"tauG2",e),await p(f,"G1",4,2**r,"alphaTauG1",e),await p(f,"G1",5,2**r,"betaTauG1",e),await p(f,"G2",6,1,"betaG2",e),a.nextChallenge=l.digest(),e&&e.info(ui(a.nextChallenge,"Next Challenge Hash: ")),E.push(a),await Le(f,B,E),await C.close(),await f.close(),u;async function y(A,t,I,i,g,e,n){const r=[];C.pos=Q[A][0].p,await KA(f,A),w[A]=f.pos;const o=B[t],E=2*o.F.n8,a=Math.floor((1<<20)/E);let s=i;for(let A=0;A<I;A+=a){n&&n.debug(`applying key${e}: ${A}/${I}`);const t=Math.min(I-A,a),i=await C.read(t*E),Q=await o.batchApplyKey(i,s,g),w=f.write(Q),c=await o.batchLEMtoC(Q);if(h.update(c),await w,0==A)for(let A=0;A<Math.min(2,I);A++)r.push(o.fromRprLEM(Q,A*E));s=B.Fr.mul(s,B.Fr.exp(g,t))}return await jA(f),r}async function p(A,t,I,i,g,e){const n=B[t],C=2*n.F.n8,Q=Math.floor((1<<24)/C),r=A.pos;A.pos=w[I];for(let t=0;t<i;t+=Q){e&&e.debug(`Hashing ${g}: ${t}/${i}`);const I=Math.min(i-t,Q),B=await A.read(I*C),r=await n.batchLEMtoU(B);l.update(r)}A.pos=r}},contribute:async function(A,t,I,i,g){await fi.ready();const{fd:e,sections:n}=await ZA(A,"ptau",1),{curve:C,power:Q,ceremonyPower:B}=await me(e,n);if(Q!=B)throw g&&g.error("This file has been reduced. You cannot contribute into a reduced file."),new Error("This file has been reduced. You cannot contribute into a reduced file.");n[12]&&g&&g.warn("WARNING: Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const r=await He(e,C,n),o={name:I,type:0};let E;const a=await Fi(i);E=r.length>0?r[r.length-1].nextChallenge:Ne(C,Q,g),o.key=Fe(C,E,a);const s=new fi(64);s.update(E);const h=await VA(t,"ptau",1,7);await Me(h,C,Q);const f=[];let w;w=await l(2,"G1",2**Q*2-1,C.Fr.e(1),o.key.tau.prvKey,"tauG1"),o.tauG1=w[1],w=await l(3,"G2",2**Q,C.Fr.e(1),o.key.tau.prvKey,"tauG2"),o.tauG2=w[1],w=await l(4,"G1",2**Q,o.key.alpha.prvKey,o.key.tau.prvKey,"alphaTauG1"),o.alphaG1=w[0],w=await l(5,"G1",2**Q,o.key.beta.prvKey,o.key.tau.prvKey,"betaTauG1"),o.betaG1=w[0],w=await l(6,"G2",1,o.key.beta.prvKey,o.key.tau.prvKey,"betaTauG2"),o.betaG2=w[0],o.partialHash=s.getPartialHash();const c=new Uint8Array(2*C.F1.n8*6+2*C.F2.n8*3);Ge(c,0,C,o.key,!1),s.update(new Uint8Array(c));const D=s.digest();g&&g.info(ui(D,"Contribution Response Hash imported: "));const u=new fi(64);return u.update(D),await y(h,"G1",2,2**Q*2-1,"tauG1"),await y(h,"G2",3,2**Q,"tauG2"),await y(h,"G1",4,2**Q,"alphaTauG1"),await y(h,"G1",5,2**Q,"betaTauG1"),await y(h,"G2",6,1,"betaG2"),o.nextChallenge=u.digest(),g&&g.info(ui(o.nextChallenge,"Next Challenge Hash: ")),r.push(o),await Le(h,C,r),await e.close(),await h.close(),D;async function l(A,t,I,i,Q,B){const r=[];e.pos=n[A][0].p,await KA(h,A),f[A]=h.pos;const o=C[t],E=2*o.F.n8,a=Math.floor((1<<20)/E);let w=i;for(let A=0;A<I;A+=a){g&&g.debug(`processing: ${B}: ${A}/${I}`);const t=Math.min(I-A,a),i=await e.read(t*E),n=await o.batchApplyKey(i,w,Q),f=h.write(n),c=await o.batchLEMtoC(n);if(s.update(c),await f,0==A)for(let A=0;A<Math.min(2,I);A++)r.push(o.fromRprLEM(n,A*E));w=C.Fr.mul(w,C.Fr.exp(Q,t))}return await jA(h),r}async function y(A,t,I,i,e){const n=C[t],Q=2*n.F.n8,B=Math.floor((1<<24)/Q),r=A.pos;A.pos=f[I];for(let t=0;t<i;t+=B){g&&t&&g.debug(`Hashing ${e}: `+t);const I=Math.min(i-t,B),C=await A.read(I*Q),r=await n.batchLEMtoU(C);u.update(r)}A.pos=r}},preparePhase2:async function(A,t,I){const{fd:i,sections:g}=await ZA(A,"ptau",1),{curve:e,power:n}=await me(i,g),C=await VA(t,"ptau",1,11);return await Me(C,e,n),await $A(i,g,C,2),await $A(i,g,C,3),await $A(i,g,C,4),await $A(i,g,C,5),await $A(i,g,C,6),await $A(i,g,C,7),await Q(2,12,"G1","tauG1"),await Q(3,13,"G2","tauG2"),await Q(4,14,"G1","alphaTauG1"),await Q(5,15,"G1","betaTauG1"),await i.close(),void await C.close();async function Q(A,t,Q,B){I&&I.debug("Starting section: "+B),await KA(C,t);for(let A=0;A<=n;A++)await r(A);async function r(t){const r=2**t,o=e[Q];e.Fr;const E=2*o.F.n8;let a;o.F.n8,a=new xI(r*E),await zA(i,g,A),2==A&&t==n+1?(await i.readToBuffer(a,0,(r-1)*E),a.set(e.G1.zeroAffine,(r-1)*E)):await i.readToBuffer(a,0,r*E),await WA(i,!0),a=await o.lagrangeEvaluations(a,"affine","affine",I,B),await C.write(a)}2==A&&await r(n+1),await jA(C)}},truncate:async function(A,t,I){const{fd:i,sections:g}=await ZA(A,"ptau",1),{curve:e,power:n,ceremonyPower:C}=await me(i,g),Q=2*e.G1.F.n8,B=2*e.G2.F.n8;for(let A=1;A<n;A++)await r(A);return await i.close(),!0;async function r(A){let n=A.toString();for(;n.length<2;)n="0"+n;I&&I.debug("Writing Power: "+n);const r=await VA(t+n+".ptau","ptau",1,11);await Me(r,e,A,C),await $A(i,g,r,2,(2**A*2-1)*Q),await $A(i,g,r,3,2**A*B),await $A(i,g,r,4,2**A*Q),await $A(i,g,r,5,2**A*Q),await $A(i,g,r,6,B),await $A(i,g,r,7),await $A(i,g,r,12,(2**(A+1)*2-1)*Q),await $A(i,g,r,13,(2**A*2-1)*B),await $A(i,g,r,14,(2**A*2-1)*Q),await $A(i,g,r,15,(2**A*2-1)*Q),await r.close()}},convert:async function(A,t,I){const{fd:i,sections:g}=await ZA(A,"ptau",1),{curve:e,power:n}=await me(i,g),C=await VA(t,"ptau",1,11);return await Me(C,e,n),await $A(i,g,C,2),await $A(i,g,C,3),await $A(i,g,C,4),await $A(i,g,C,5),await $A(i,g,C,6),await $A(i,g,C,7),await async function(A,t,Q,B){I&&I.debug("Starting section: "+B);await KA(C,t);const r=g[t][0].size,o=i.pageSize;await zA(i,g,t);for(let A=0;A<r;A+=o){const t=Math.min(r-A,o),I=await i.read(t);await C.write(I)}await WA(i),2==A&&await async function(t){const r=2**t,o=e[Q],E=2*o.F.n8;let a;a=new xI(r*E),await zA(i,g,A),2==A&&t==n+1?(await i.readToBuffer(a,0,(r-1)*E),a.set(e.G1.zeroAffine,(r-1)*E)):await i.readToBuffer(a,0,r*E);await WA(i,!0),a=await o.lagrangeEvaluations(a,"affine","affine",I,B),await C.write(a)}(n+1);await jA(C)}(2,12,"G1","tauG1"),await $A(i,g,C,13),await $A(i,g,C,14),await $A(i,g,C,15),await i.close(),void await C.close()},exportJson:async function(A,t){const{fd:I,sections:i}=await ZA(A,"ptau",1),{curve:g,power:e}=await me(I,i),n={};return n.q=g.q,n.power=e,n.contributions=await He(I,g,i),n.tauG1=await C(2,"G1",2**e*2-1,"tauG1"),n.tauG2=await C(3,"G2",2**e,"tauG2"),n.alphaTauG1=await C(4,"G1",2**e,"alphaTauG1"),n.betaTauG1=await C(5,"G1",2**e,"betaTauG1"),n.betaG2=await C(6,"G2",1,"betaG2"),n.lTauG1=await Q(12,"G1","lTauG1"),n.lTauG2=await Q(13,"G2","lTauG2"),n.lAlphaTauG1=await Q(14,"G1","lAlphaTauG2"),n.lBetaTauG1=await Q(15,"G1","lBetaTauG2"),await I.close(),n;async function C(A,e,n,C){const Q=g[e],B=2*Q.F.n8,r=[];await zA(I,i,A);for(let A=0;A<n;A++){t&&A&&A%1e4==0&&console.log(`${C}: `+A);const i=await I.read(B);r.push(Q.fromRprLEM(i,0))}return await WA(I),r}async function Q(A,n,C){const Q=g[n],B=2*Q.F.n8,r=[];await zA(I,i,A);for(let A=0;A<=e;A++){t&&console.log(`${C}: Power: ${A}`),r[A]=[];const i=2**A;for(let g=0;g<i;g++){t&&g&&g%1e4==0&&console.log(`${C}: ${g}/${i}`);const e=await I.read(B);r[A].push(Q.fromRprLEM(e,0))}}return await WA(I),r}}});const Ye=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function xe(A,t){return t&&10!=t?16==t?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const Pe=xe;function Xe(A,t){return BigInt(A)<<BigInt(t)}function Oe(A,t){return BigInt(A)>>BigInt(t)}const Ze=Xe,Ve=Oe;var Ke=Object.freeze({__proto__:null,fromString:xe,e:Pe,fromArray:function(A,t){let I=0n;t=BigInt(t);for(let i=0;i<A.length;i++)I=I*t+BigInt(A[i]);return I},bitLength:function(A){const t=A.toString(16);return 4*(t.length-1)+Ye[parseInt(t[0],16)]},isNegative:function(A){return BigInt(A)<0n},isZero:function(A){return!A},shiftLeft:Xe,shiftRight:Oe,shl:Ze,shr:Ve,isOdd:function(A){return 1n==(1n&BigInt(A))},naf:function(A){let t=BigInt(A);const I=[];for(;t;){if(1n&t){const A=2-Number(t%4n);I.push(A),t-=BigInt(A)}else I.push(0);t>>=1n}return I},bits:function(A){let t=BigInt(A);const I=[];for(;t;)1n&t?I.push(1):I.push(0),t>>=1n;return I},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,t){const I=[];let i=BigInt(A);for(t=BigInt(t);i;)I.unshift(Number(i%t)),i/=t;return I},add:function(A,t){return BigInt(A)+BigInt(t)},sub:function(A,t){return BigInt(A)-BigInt(t)},neg:function(A){return-BigInt(A)},mul:function(A,t){return BigInt(A)*BigInt(t)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,t){return BigInt(A)**BigInt(t)},exp:function(A,t){return BigInt(A)**BigInt(t)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,t){return BigInt(A)/BigInt(t)},mod:function(A,t){return BigInt(A)%BigInt(t)},eq:function(A,t){return BigInt(A)==BigInt(t)},neq:function(A,t){return BigInt(A)!=BigInt(t)},lt:function(A,t){return BigInt(A)<BigInt(t)},gt:function(A,t){return BigInt(A)>BigInt(t)},leq:function(A,t){return BigInt(A)<=BigInt(t)},geq:function(A,t){return BigInt(A)>=BigInt(t)},band:function(A,t){return BigInt(A)&BigInt(t)},bor:function(A,t){return BigInt(A)|BigInt(t)},bxor:function(A,t){return BigInt(A)^BigInt(t)},land:function(A,t){return BigInt(A)&&BigInt(t)},lor:function(A,t){return BigInt(A)||BigInt(t)},lnot:function(A){return!BigInt(A)}});function je(A,t){return"string"==typeof A&&"0x"==A.slice(0,2)?o(A.slice(2),16):o(A,t)}const ze=je;function We(A,t){return o(A).shiftLeft(t)}function Te(A,t){return o(A).shiftRight(t)}const _e=We,$e=Te;var An=Object.freeze({__proto__:null,fromString:je,e:ze,fromArray:function(A,t){return o.fromArray(A,t)},bitLength:function(A){return o(A).bitLength()},isNegative:function(A){return o(A).isNegative()},isZero:function(A){return o(A).isZero()},shiftLeft:We,shiftRight:Te,shl:_e,shr:$e,isOdd:function(A){return o(A).isOdd()},naf:function(A){let t=o(A);const I=[];for(;t.gt(o.zero);){if(t.isOdd()){const A=2-t.mod(4).toJSNumber();I.push(A),t=t.minus(A)}else I.push(0);t=t.shiftRight(1)}return I},bits:function(A){let t=o(A);const I=[];for(;t.gt(o.zero);)t.isOdd()?I.push(1):I.push(0),t=t.shiftRight(1);return I},toNumber:function(A){if(!A.lt(o("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,t){return o(A).toArray(t)},add:function(A,t){return o(A).add(o(t))},sub:function(A,t){return o(A).minus(o(t))},neg:function(A){return o.zero.minus(o(A))},mul:function(A,t){return o(A).times(o(t))},square:function(A){return o(A).square()},pow:function(A,t){return o(A).pow(o(t))},exp:function(A,t){return o(A).pow(o(t))},abs:function(A){return o(A).abs()},div:function(A,t){return o(A).divide(o(t))},mod:function(A,t){return o(A).mod(o(t))},eq:function(A,t){return o(A).eq(o(t))},neq:function(A,t){return o(A).neq(o(t))},lt:function(A,t){return o(A).lt(o(t))},gt:function(A,t){return o(A).gt(o(t))},leq:function(A,t){return o(A).leq(o(t))},geq:function(A,t){return o(A).geq(o(t))},band:function(A,t){return o(A).and(o(t))},bor:function(A,t){return o(A).or(o(t))},bxor:function(A,t){return o(A).xor(o(t))},land:function(A,t){return!o(A).isZero()&&!o(t).isZero()},lor:function(A,t){return!o(A).isZero()||!o(t).isZero()},lnot:function(A){return o(A).isZero()}});const tn="function"==typeof BigInt;let In={};tn?Object.assign(In,Ke):Object.assign(In,An),In.toRprLE=function(A,t,I,i){const g="0000000"+I.toString(16),e=new Uint32Array(A.buffer,t,i/4),n=1+(4*(g.length-7)-1>>5);for(let A=0;A<n;A++)e[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=n;A<e.length;A++)e[A]=0;for(let t=4*e.length;t<i;t++)A[t]=In.toNumber(In.band(In.shiftRight(I,8*t),255))},In.toRprBE=function(A,t,I,i){const g="0000000"+I.toString(16),e=new DataView(A.buffer,A.byteOffset+t,i),n=1+(4*(g.length-7)-1>>5);for(let A=0;A<n;A++)e.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-n;A++)e[A]=0},In.fromRprLE=function(A,t,I){I=I||A.byteLength;const i=new Uint32Array(A.buffer,t,I/4),g=new Array(I/4);return i.forEach(((A,t)=>g[g.length-t-1]=A.toString(16).padStart(8,"0"))),In.fromString(g.join(""),16)},In.fromRprBE=function(A,t,I){I=I||A.byteLength;const i=new DataView(A.buffer,A.byteOffset+t,I),g=new Array(I/4);for(let A=0;A<I/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return In.fromString(g.join(""),16)},In.toString=function(A,t){return A.toString(t)},In.toLEBuff=function(A){const t=new Uint8Array(Math.floor((In.bitLength(A)-1)/8)+1);return In.toRprLE(t,0,A,t.byteLength),t},In.zero=In.e(0),In.one=In.e(1);let{toRprLE:gn,toRprBE:en,fromRprLE:nn,fromRprBE:Cn,toString:Qn,toLEBuff:Bn,zero:rn,one:on,fromString:En,e:an,fromArray:sn,bitLength:hn,isNegative:fn,isZero:wn,shiftLeft:cn,shiftRight:Dn,shl:un,shr:ln,isOdd:yn,naf:pn,bits:Fn,toNumber:Mn,toArray:mn,add:dn,sub:Gn,neg:bn,mul:Hn,square:Un,pow:Ln,exp:Nn,abs:kn,div:Jn,mod:Sn,eq:vn,neq:Rn,lt:qn,gt:Yn,leq:xn,geq:Pn,band:Xn,bor:On,bxor:Zn,land:Vn,lor:Kn,lnot:jn}=In;const zn=[];for(let A=0;A<256;A++)zn[A]=Wn(A,8);function Wn(A,t){let I=0,i=A;for(let A=0;A<t;A++)I<<=1,I|=1&i,i>>=1;return I}function Tn(A,t,I,i,g){A[t]=A[t]+A[I]>>>0,A[g]=(A[g]^A[t])>>>0,A[g]=(A[g]<<16|A[g]>>>16&65535)>>>0,A[i]=A[i]+A[g]>>>0,A[I]=(A[I]^A[i])>>>0,A[I]=(A[I]<<12|A[I]>>>20&4095)>>>0,A[t]=A[t]+A[I]>>>0,A[g]=(A[g]^A[t])>>>0,A[g]=(A[g]<<8|A[g]>>>24&255)>>>0,A[i]=A[i]+A[g]>>>0,A[I]=(A[I]^A[i])>>>0,A[I]=(A[I]<<7|A[I]>>>25&127)>>>0}class _n{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return dn(Hn(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let t=0;t<10;t++)Tn(A=this.buff,0,4,8,12),Tn(A,1,5,9,13),Tn(A,2,6,10,14),Tn(A,3,7,11,15),Tn(A,0,5,10,15),Tn(A,1,6,11,12),Tn(A,2,7,8,13),Tn(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}function $n(){const A=function(A){let t=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(t);else for(let I=0;I<A;I++)t[I]=4294967296*Math.random()>>>0;else hA.randomFillSync(t);return t}(32),t=new Uint32Array(A.buffer),I=[];for(let A=0;A<8;A++)I.push(t[A]);return I}let AC=null;function tC(){return AC||(AC=new _n($n()),AC)}var IC=Object.freeze({__proto__:null,stringifyBigInts:function A(t){if("bigint"==typeof t||void 0!==t.eq)return t.toString(10);if(t instanceof Uint8Array)return nn(t,0);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},unstringifyBigInts:function A(t){if("string"==typeof t&&/^[0-9]+$/.test(t))return BigInt(t);if(Array.isArray(t))return t.map(A);if("object"==typeof t){if(null===t)return null;const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},beBuff2int:function(A){let t=0n,I=A.length,i=0;const g=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;I>0;)I>=4?(I-=4,t+=BigInt(g.getUint32(I))<<BigInt(8*i),i+=4):I>=2?(I-=2,t+=BigInt(g.getUint16(I))<<BigInt(8*i),i+=2):(I-=1,t+=BigInt(g.getUint8(I))<<BigInt(8*i),i+=1);return t},beInt2Buff:function(A,t){let I=A;const i=new Uint8Array(t),g=new DataView(i.buffer);let e=t;for(;e>0;)e-4>=0?(e-=4,g.setUint32(e,Number(0xFFFFFFFFn&I)),I>>=32n):e-2>=0?(e-=2,g.setUint16(e,Number(0xFFFFn&I)),I>>=16n):(e-=1,g.setUint8(e,Number(0xFFn&I)),I>>=8n);if(I)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let t=0n,I=0;const i=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;I<A.length;)I+4<=A.length?(t+=BigInt(i.getUint32(I,!0))<<BigInt(8*I),I+=4):I+4<=A.length?(t+=BigInt(i.getUint16(I,!0))<<BigInt(8*I),I+=2):(t+=BigInt(i.getUint8(I,!0))<<BigInt(8*I),I+=1);return t},leInt2Buff:function(A,t){let I=A;void 0===t&&0==(t=Math.floor((hn(A)-1)/8)+1)&&(t=1);const i=new Uint8Array(t),g=new DataView(i.buffer);let e=0;for(;e<t;)e+4<=t?(g.setUint32(e,Number(0xFFFFFFFFn&I),!0),e+=4,I>>=32n):e+2<=t?(g.setUint16(Number(e,0xFFFFn&I),!0),e+=2,I>>=16n):(g.setUint8(Number(e,0xFFn&I),!0),e+=1,I>>=8n);if(I)throw new Error("Number does not fit in this length");return i}});var iC=Object.freeze({__proto__:null,stringifyBigInts:function A(t){if("bigint"==typeof t||void 0!==t.eq)return t.toString(10);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},unstringifyBigInts:function A(t){if("string"==typeof t&&/^[0-9]+$/.test(t))return o(t);if(Array.isArray(t))return t.map(A);if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=A(t[i])})),I}return t},beBuff2int:function(A){let t=o.zero;for(let I=0;I<A.length;I++){const i=o(A[A.length-I-1]);t=t.add(i.shiftLeft(8*I))}return t},beInt2Buff:function(A,t){let I=A,i=t-1;const g=new Uint8Array(t);for(;I.gt(o.zero)&&i>=0;){let A=Number(I.and(o("255")));g[i]=A,i--,I=I.shiftRight(8)}if(!I.eq(o.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let t=o.zero;for(let I=0;I<A.length;I++){const i=o(A[I]);t=t.add(i.shiftLeft(8*I))}return t},leInt2Buff:function(A,t){let I=A,i=0;const g=new Uint8Array(t);for(;I.gt(o.zero)&&i<g.length;){let A=Number(I.and(o(255)));g[i]=A,i++,I=I.shiftRight(8)}if(!I.eq(o.zero))throw new Error("Number does not fit in this length");return g}});let gC={};"function"==typeof BigInt?Object.assign(gC,IC):Object.assign(gC,iC);const eC=[];for(let A=0;A<256;A++)eC[A]=nC(A,8);function nC(A,t){let I=0,i=A;for(let A=0;A<t;A++)I<<=1,I|=1&i,i>>=1;return I}gC.bitReverse=function(A,t){return(eC[A>>>24]|eC[A>>>16&255]<<8|eC[A>>>8&255]<<16|eC[255&A]<<24)>>>32-t},gC.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},gC.buffReverseBits=function(A,t){const I=A.byteLength/t,i=gC.log2(I);if(I!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<I;g++){const I=gC.bitReverse(g,i);if(g>I){const i=A.slice(g*t,(g+1)*t);A.set(A.slice(I*t,(I+1)*t),g*t),A.set(i,I*t)}}};let{bitReverse:CC,log2:QC,buffReverseBits:BC,stringifyBigInts:rC,unstringifyBigInts:oC,beBuff2int:EC,beInt2Buff:aC,leBuff2int:sC,leInt2Buff:hC}=gC;const fC=1<<30;class wC{constructor(A){this.buffers=[],this.byteLength=A;for(let t=0;t<A;t+=fC){const I=Math.min(A-t,fC);this.buffers.push(new Uint8Array(I))}}slice(A,t){void 0===t&&(t=this.byteLength),void 0===A&&(A=0);const I=t-A,i=Math.floor(A/fC);if(i==Math.floor((A+I-1)/fC)||0==I)return this.buffers[i].slice(A%fC,A%fC+I);let g,e=i,n=A%fC,C=I;for(;C>0;){const A=n+C>fC?fC-n:C,t=new Uint8Array(this.buffers[e].buffer,this.buffers[e].byteOffset+n,A);if(A==I)return t.slice();g||(g=I<=fC?new Uint8Array(I):new wC(I)),g.set(t,I-C),C-=A,e++,n=0}return g}set(A,t){void 0===t&&(t=0);const I=A.byteLength;if(0==I)return;const i=Math.floor(t/fC);if(i==Math.floor((t+I-1)/fC))return this.buffers[i].set(A,t%fC);let g=i,e=t%fC,n=I;for(;n>0;){const t=e+n>fC?fC-e:n,i=A.slice(I-n,I-n+t);new Uint8Array(this.buffers[g].buffer,this.buffers[g].byteOffset+e,t).set(i),n-=t,g++,e=0}}}function cC(A,t,I,i){return async function(g){const e=Math.floor(g.byteLength/I);if(e*I!==g.byteLength)throw new Error("Invalid buffer size");const n=Math.floor(e/A.concurrency),C=[];for(let Q=0;Q<A.concurrency;Q++){let B;if(B=Q<A.concurrency-1?n:e-Q*n,0==B)continue;const r=[{cmd:"ALLOCSET",var:0,buff:g.slice(Q*n*I,Q*n*I+B*I)},{cmd:"ALLOC",var:1,len:i*B},{cmd:"CALL",fnName:t,params:[{var:0},{val:B},{var:1}]},{cmd:"GET",out:0,var:1,len:i*B}];C.push(A.queueAction(r))}const Q=await Promise.all(C);let B;B=g instanceof wC?new wC(e*i):new Uint8Array(e*i);let r=0;for(let A=0;A<Q.length;A++)B.set(Q[A][0],r),r+=Q[A][0].byteLength;return B}}class DC{constructor(A,t,I,i){if(this.tm=A,this.prefix=t,this.p=i,this.n8=I,this.type="F1",this.m=1,this.half=Dn(i,on),this.bitLength=hn(i),this.mask=Gn(cn(on,this.bitLength),on),this.pOp1=A.alloc(I),this.pOp2=A.alloc(I),this.pOp3=A.alloc(I),this.tm.instance.exports[t+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,this.n8),this.tm.instance.exports[t+"_one"](this.pOp1),this.one=this.tm.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.n64=Math.floor(I/8),this.n32=Math.floor(I/4),8*this.n64!=this.n8)throw new Error("n8 must be a multiple of 8");this.half=Dn(this.p,on),this.nqr=this.two;let g=this.exp(this.nqr,this.half);for(;!this.eq(g,this.negone);)this.nqr=this.add(this.nqr,this.one),g=this.exp(this.nqr,this.half);this.shift=this.mul(this.nqr,this.nqr),this.shiftInv=this.inv(this.shift),this.s=0;let e=Gn(this.p,on);for(;!yn(e);)this.s=this.s+1,e=Dn(e,on);this.w=[],this.w[this.s]=this.exp(this.nqr,e);for(let A=this.s-1;A>=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=cC(A,t+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=cC(A,t+"_batchFromMontgomery",this.n8,this.n8)}op2(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,t){return this.op2("_add",A,t)}eq(A,t){return this.op2Bool("_eq",A,t)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,t){return this.op2("_sub",A,t)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,t){return this.op2("_mul",A,t)}div(A,t){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,t){return t instanceof Uint8Array||(t=Bn(an(t))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,t){if(A instanceof Uint8Array)return A;let I=an(A,t);fn(I)?(I=bn(I),Yn(I,this.p)&&(I=Sn(I,this.p)),I=Gn(this.p,I)):Yn(I,this.p)&&(I=Sn(I,this.p));const i=hC(I,this.n8);return this.toMontgomery(i)}toString(A,t){const I=this.fromMontgomery(A),i=nn(I,0);return Qn(i,t)}fromRng(A){let t;const I=new Uint8Array(this.n8);do{t=rn;for(let I=0;I<this.n64;I++)t=dn(t,cn(A.nextU64(),64*I));t=Xn(t,this.mask)}while(Pn(t,this.p));return gn(I,0,t,this.n8),I}random(){return this.fromRng(tC())}toObject(A){const t=this.fromMontgomery(A);return nn(t,0)}fromObject(A){const t=new Uint8Array(this.n8);return gn(t,0,A,this.n8),this.toMontgomery(t)}toRprLE(A,t,I){A.set(this.fromMontgomery(I),t)}fromRprLE(A,t){t=t||0;const I=A.slice(t,t+this.n8);return this.toMontgomery(I)}}class uC{constructor(A,t,I){this.tm=A,this.prefix=t,this.F=I,this.type="F2",this.m=2*I.m,this.n8=2*this.F.n8,this.n32=2*this.F.n32,this.n64=2*this.F.n64,this.pOp1=A.alloc(2*I.n8),this.pOp2=A.alloc(2*I.n8),this.pOp3=A.alloc(2*I.n8),this.tm.instance.exports[t+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[t+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,t){return this.op2("_add",A,t)}eq(A,t){return this.op2Bool("_eq",A,t)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,t){return this.op2("_sub",A,t)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,t){return this.op2("_mul",A,t)}mul1(A,t){return this.op2("_mul1",A,t)}div(A,t){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,t){return t instanceof Uint8Array||(t=Bn(an(t))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}e(A,t){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&2==A.length){const I=this.F.e(A[0],t),i=this.F.e(A[1],t),g=new Uint8Array(2*this.F.n8);return g.set(I),g.set(i,2*this.F.n8),g}throw new Error("invalid F2")}toString(A,t){return`[${this.F.toString(A.slice(0,this.F.n8),t)}, ${this.F.toString(A.slice(this.F.n8),t)}]`}fromRng(A){const t=this.F.fromRng(A),I=this.F.fromRng(A),i=new Uint8Array(2*this.F.n8);return i.set(t),i.set(I,this.F.n8),i}random(){return this.fromRng(tC())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8))]}fromObject(A){const t=new Uint8Array(2*this.F.n8),I=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]);return t.set(I),t.set(i,this.F.n8),t}c1(A){return A.slice(0,this.F.n8)}c2(A){return A.slice(this.F.n8)}}class lC{constructor(A,t,I){this.tm=A,this.prefix=t,this.F=I,this.type="F3",this.m=3*I.m,this.n8=3*this.F.n8,this.n32=3*this.F.n32,this.n64=3*this.F.n64,this.pOp1=A.alloc(3*I.n8),this.pOp2=A.alloc(3*I.n8),this.pOp3=A.alloc(3*I.n8),this.tm.instance.exports[t+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[t+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}eq(A,t){return this.op2Bool("_eq",A,t)}isZero(A){return this.op1Bool("_isZero",A)}add(A,t){return this.op2("_add",A,t)}sub(A,t){return this.op2("_sub",A,t)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,t){return this.op2("_mul",A,t)}div(A,t){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,t){return t instanceof Uint8Array||(t=Bn(an(t))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.getBuff(this.pOp3,this.n8)}e(A,t){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&3==A.length){const I=this.F.e(A[0],t),i=this.F.e(A[1],t),g=this.F.e(A[2],t),e=new Uint8Array(3*this.F.n8);return e.set(I),e.set(i,this.F.n8),e.set(g,2*this.F.n8),e}throw new Error("invalid F3")}toString(A,t){return`[${this.F.toString(A.slice(0,this.F.n8),t)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),t)}, ${this.F.toString(A.slice(2*this.F.n8),t)}]`}fromRng(A){const t=this.F.fromRng(A),I=this.F.fromRng(A),i=this.F.fromRng(A),g=new Uint8Array(3*this.F.n8);return g.set(t),g.set(I,this.F.n8),g.set(i,2*this.F.n8),g}random(){return this.fromRng(tC())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8)),this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8))]}fromObject(A){const t=new Uint8Array(3*this.F.n8),I=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]),g=this.F.fromObject(A[2]);return t.set(I),t.set(i,this.F.n8),t.set(g,2*this.F.n8),t}c1(A){return A.slice(0,this.F.n8)}c2(A){return A.slice(this.F.n8,2*this.F.n8)}c3(A){return A.slice(2*this.F.n8)}}class yC{constructor(A,t,I,i,g,e){this.tm=A,this.prefix=t,this.F=I,this.pOp1=A.alloc(3*I.n8),this.pOp2=A.alloc(3*I.n8),this.pOp3=A.alloc(3*I.n8),this.tm.instance.exports[t+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,3*I.n8),this.tm.instance.exports[t+"_zeroAffine"](this.pOp1),this.zeroAffine=this.tm.getBuff(this.pOp1,2*I.n8),this.one=this.tm.getBuff(i,3*I.n8),this.g=this.one,this.oneAffine=this.tm.getBuff(i,2*I.n8),this.gAffine=this.oneAffine,this.b=this.tm.getBuff(g,I.n8),e&&(this.cofactor=Bn(e)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=cC(A,t+"_batchLEMtoC",2*I.n8,I.n8),this.batchLEMtoU=cC(A,t+"_batchLEMtoU",2*I.n8,2*I.n8),this.batchCtoLEM=cC(A,t+"_batchCtoLEM",I.n8,2*I.n8),this.batchUtoLEM=cC(A,t+"_batchUtoLEM",2*I.n8,2*I.n8),this.batchToJacobian=cC(A,t+"_batchToJacobian",2*I.n8,3*I.n8),this.batchToAffine=cC(A,t+"_batchToAffine",3*I.n8,2*I.n8)}op2(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op2bool(A,t,I){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3)}op1(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op1Affine(A,t){return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,2*this.F.n8)}op1Bool(A,t){return this.tm.setBuff(this.pOp1,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,t){if(A.byteLength==3*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2("_add",A,t);if(t.byteLength==2*this.F.n8)return this.op2("_addMixed",A,t);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2("_addMixed",t,A);if(t.byteLength==2*this.F.n8)return this.op2("_addAffine",A,t);throw new Error("invalid point size")}throw new Error("invalid point size")}sub(A,t){if(A.byteLength==3*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2("_sub",A,t);if(t.byteLength==2*this.F.n8)return this.op2("_subMixed",A,t);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2("_subMixed",t,A);if(t.byteLength==2*this.F.n8)return this.op2("_subAffine",A,t);throw new Error("invalid point size")}throw new Error("invalid point size")}neg(A){if(A.byteLength==3*this.F.n8)return this.op1("_neg",A);if(A.byteLength==2*this.F.n8)return this.op1Affine("_negAffine",A);throw new Error("invalid point size")}double(A){if(A.byteLength==3*this.F.n8)return this.op1("_double",A);if(A.byteLength==2*this.F.n8)return this.op1("_doubleAffine",A);throw new Error("invalid point size")}isZero(A){if(A.byteLength==3*this.F.n8)return this.op1Bool("_isZero",A);if(A.byteLength==2*this.F.n8)return this.op1Bool("_isZeroAffine",A);throw new Error("invalid point size")}timesScalar(A,t){let I;if(t instanceof Uint8Array||(t=Bn(an(t))),A.byteLength==3*this.F.n8)I=this.prefix+"_timesScalar";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");I=this.prefix+"_timesScalarAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[I](this.pOp1,this.pOp2,t.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}timesFr(A,t){let I;if(A.byteLength==3*this.F.n8)I=this.prefix+"_timesFr";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");I=this.prefix+"_timesFrAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[I](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}eq(A,t){if(A.byteLength==3*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2bool("_eq",A,t);if(t.byteLength==2*this.F.n8)return this.op2bool("_eqMixed",A,t);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(t.byteLength==3*this.F.n8)return this.op2bool("_eqMixed",t,A);if(t.byteLength==2*this.F.n8)return this.op2bool("_eqAffine",A,t);throw new Error("invalid point size")}throw new Error("invalid point size")}toAffine(A){if(A.byteLength==3*this.F.n8)return this.op1Affine("_toAffine",A);if(A.byteLength==2*this.F.n8)return A;throw new Error("invalid point size")}toJacobian(A){if(A.byteLength==3*this.F.n8)return A;if(A.byteLength==2*this.F.n8)return this.op1("_toJacobian",A);throw new Error("invalid point size")}toRprUncompressed(A,t,I){if(this.tm.setBuff(this.pOp1,I),I.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(I.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoU"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,t)}fromRprUncompressed(A,t){const I=A.slice(t,t+2*this.F.n8);return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+"_UtoLEM"](this.pOp1,this.pOp1),this.tm.getBuff(this.pOp1,2*this.F.n8)}toRprCompressed(A,t,I){if(this.tm.setBuff(this.pOp1,I),I.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(I.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoC"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,this.F.n8);A.set(i,t)}fromRprCompressed(A,t){const I=A.slice(t,t+this.F.n8);return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+"_CtoLEM"](this.pOp1,this.pOp2),this.tm.getBuff(this.pOp2,2*this.F.n8)}toUncompressed(A){const t=new Uint8Array(2*this.F.n8);return this.toRprUncompressed(t,0,A),t}toRprLEM(A,t,I){if(I.byteLength!=2*this.F.n8){if(I.byteLength!=3*this.F.n8)throw new Error("invalid point size");{this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,t)}}else A.set(I,t)}fromRprLEM(A,t){return t=t||0,A.slice(t,t+2*this.F.n8)}toString(A,t){if(A.byteLength==3*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),t)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),t)}, ${this.F.toString(A.slice(2*this.F.n8),t)} ]`}if(A.byteLength==2*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),t)}, ${this.F.toString(A.slice(this.F.n8),t)} ]`}throw new Error("invalid point size")}fromRng(A){const t=this.F;let I,i,g=[];do{g[0]=t.fromRng(A),I=A.nextBool(),i=t.add(t.mul(t.square(g[0]),g[0]),this.b)}while(!t.isSquare(i));g[1]=t.sqrt(i);I^t.isNegative(g[1])&&(g[1]=t.neg(g[1]));let e=new Uint8Array(2*this.F.n8);return e.set(g[0]),e.set(g[1],this.F.n8),this.cofactor&&(e=this.timesScalar(e,this.cofactor)),e}toObject(A){if(this.isZero(A))return[this.F.toObject(this.F.zero),this.F.toObject(this.F.one),this.F.toObject(this.F.zero)];const t=this.F.toObject(A.slice(0,this.F.n8)),I=this.F.toObject(A.slice(this.F.n8,2*this.F.n8));let i;return i=A.byteLength==3*this.F.n8?this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8)):this.F.toObject(this.F.one),[t,I,i]}fromObject(A){const t=this.F.fromObject(A[0]),I=this.F.fromObject(A[1]);let i;if(i=3==A.length?this.F.fromObject(A[2]):this.F.one,this.F.isZero(i,this.F.one))return this.zeroAffine;if(this.F.eq(i,this.F.one)){const A=new Uint8Array(2*this.F.n8);return A.set(t),A.set(I,this.F.n8),A}{const A=new Uint8Array(3*this.F.n8);return A.set(t),A.set(I,this.F.n8),A.set(i,2*this.F.n8),A}}e(A){return A instanceof Uint8Array?A:this.fromObject(A)}x(A){return this.toAffine(A).slice(0,this.F.n8)}y(A){return this.toAffine(A).slice(this.F.n8)}}function pC(A){const t=32767;let I,i;async function g(A){const g=new Uint8Array(A.code),e=await WebAssembly.compile(g);i=new WebAssembly.Memory({initial:A.init,maximum:t}),I=await WebAssembly.instantiate(e,{env:{memory:i}})}function e(A){const I=new Uint32Array(i.buffer,0,1);for(;3&I[0];)I[0]++;const g=I[0];if(I[0]+=A,I[0]+A>i.buffer.byteLength){const g=i.buffer.byteLength/65536;let e=Math.floor((I[0]+A)/65536)+1;e>t&&(e=t),i.grow(e-g)}return g}function n(A){const t=e(A.byteLength);return Q(t,A),t}function C(A,t){const I=new Uint8Array(i.buffer);return new Uint8Array(I.buffer,I.byteOffset+A,t)}function Q(A,t){new Uint8Array(i.buffer).set(new Uint8Array(t),A)}function B(A){if("INIT"==A[0].cmd)return g(A[0]);const t={vars:[],out:[]},B=new Uint32Array(i.buffer,0,1)[0];for(let i=0;i<A.length;i++)switch(A[i].cmd){case"ALLOCSET":t.vars[A[i].var]=n(A[i].buff);break;case"ALLOC":t.vars[A[i].var]=e(A[i].len);break;case"SET":Q(t.vars[A[i].var],A[i].buff);break;case"CALL":{const g=[];for(let I=0;I<A[i].params.length;I++){const e=A[i].params[I];void 0!==e.var?g.push(t.vars[e.var]+(e.offset||0)):void 0!==e.val&&g.push(e.val)}I.exports[A[i].fnName](...g);break}case"GET":t.out[A[i].out]=C(t.vars[A[i].var],A[i].len).slice();break;default:throw new Error("Invalid cmd")}return new Uint32Array(i.buffer,0,1)[0]=B,t.out}return A&&(A.onmessage=function(t){let I;if(I=t.data?t.data:t,"INIT"==I[0].cmd)g(I[0]).then((function(){A.postMessage(I.result)}));else if("TERMINATE"==I[0].cmd)process.exit();else{const t=B(I);A.postMessage(t)}}),B}class FC{constructor(){this.promise=new Promise(((A,t)=>{this.reject=t,this.resolve=A}))}}function MC(A){for(var t=window.atob(A),I=t.length,i=new Uint8Array(I),g=0;g<I;g++)i[g]=t.charCodeAt(g);return i}const mC="data:application/javascript;base64,"+function(A){return window.btoa(A)}("("+pC.toString()+")(self)");class dC{constructor(){this.actionQueue=[],this.oldPFree=0}startSyncOp(){if(0!=this.oldPFree)throw new Error("Sync operation in progress");this.oldPFree=this.u32[0]}endSyncOp(){if(0==this.oldPFree)throw new Error("No sync operation in progress");this.u32[0]=this.oldPFree,this.oldPFree=0}postAction(A,t,I,i){if(this.working[A])throw new Error("Posting a job t a working worker");return this.working[A]=!0,this.pendingDeferreds[A]=i||new FC,this.workers[A].postMessage(t,I),this.pendingDeferreds[A].promise}processWorks(){for(let A=0;A<this.workers.length&&this.actionQueue.length>0;A++)if(0==this.working[A]){const t=this.actionQueue.shift();this.postAction(A,t.data,t.transfers,t.deferred)}}queueAction(A,t){const I=new FC;if(this.singleThread){const t=this.taskManager(A);I.resolve(t)}else this.actionQueue.push({data:A,transfers:t,deferred:I}),this.processWorks();return I.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const t=this.alloc(A.byteLength);return this.setBuff(t,A),t}getBuff(A,t){return this.u8.slice(A,A+t)}setBuff(A,t){this.u8.set(new Uint8Array(t),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const t=this.u32[0];return this.u32[0]+=A,t}async terminate(){for(let A=0;A<this.workers.length;A++)this.workers[A].postMessage([{cmd:"TERMINATE"}]);var A;await(A=200,new Promise((t=>setTimeout(t,A))))}}function GC(A,t){const I=A[t],i=A.Fr,g=A.tm;A[t].batchApplyKey=async function(A,e,n,C,Q){let B,r,o,E,a;if(C=C||"affine",Q=Q||"affine","G1"==t)"jacobian"==C?(o=3*I.F.n8,B="g1m_batchApplyKey"):(o=2*I.F.n8,B="g1m_batchApplyKeyMixed"),E=3*I.F.n8,"jacobian"==Q?a=3*I.F.n8:(r="g1m_batchToAffine",a=2*I.F.n8);else if("G2"==t)"jacobian"==C?(o=3*I.F.n8,B="g2m_batchApplyKey"):(o=2*I.F.n8,B="g2m_batchApplyKeyMixed"),E=3*I.F.n8,"jacobian"==Q?a=3*I.F.n8:(r="g2m_batchToAffine",a=2*I.F.n8);else{if("Fr"!=t)throw new Error("Invalid group: "+t);B="frm_batchApplyKey",o=I.n8,E=I.n8,a=I.n8}const s=Math.floor(A.byteLength/o),h=Math.floor(s/g.concurrency),f=[];n=i.e(n);let w=i.e(e);for(let t=0;t<g.concurrency;t++){let I;if(I=t<g.concurrency-1?h:s-t*h,0==I)continue;const e=[];e.push({cmd:"ALLOCSET",var:0,buff:A.slice(t*h*o,t*h*o+I*o)}),e.push({cmd:"ALLOCSET",var:1,buff:w}),e.push({cmd:"ALLOCSET",var:2,buff:n}),e.push({cmd:"ALLOC",var:3,len:I*Math.max(E,a)}),e.push({cmd:"CALL",fnName:B,params:[{var:0},{val:I},{var:1},{var:2},{var:3}]}),r&&e.push({cmd:"CALL",fnName:r,params:[{var:3},{val:I},{var:3}]}),e.push({cmd:"GET",out:0,var:3,len:I*a}),f.push(g.queueAction(e)),w=i.mul(w,i.exp(n,I))}const c=await Promise.all(f);let D;D=A instanceof wC?new wC(s*a):new Uint8Array(s*a);let u=0;for(let A=0;A<c.length;A++)D.set(c[A][0],u),u+=c[A][0].byteLength;return D}}const bC=[1,1,1,1,2,3,4,5,6,7,7,8,9,10,11,12,13,13,14,15,16,16,17,17,17,17,17,17,17,17,17,17];function HC(A,t){const I=A[t],i=I.tm;async function g(A,i,g,e,n){if(!(A instanceof Uint8Array))throw e&&e.error(`${n} _multiExpChunk buffBases is not Uint8Array`),new Error(`${n} _multiExpChunk buffBases is not Uint8Array`);if(!(i instanceof Uint8Array))throw e&&e.error(`${n} _multiExpChunk buffScalars is not Uint8Array`),new Error(`${n} _multiExpChunk buffScalars is not Uint8Array`);let C,Q;if(g=g||"affine","G1"==t)"affine"==g?(Q="g1m_multiexpAffine_chunk",C=2*I.F.n8):(Q="g1m_multiexp_chunk",C=3*I.F.n8);else{if("G2"!=t)throw new Error("Invalid group");"affine"==g?(Q="g2m_multiexpAffine_chunk",C=2*I.F.n8):(Q="g2m_multiexp_chunk",C=3*I.F.n8)}const B=Math.floor(A.byteLength/C);if(0==B)return I.zero;const r=Math.floor(i.byteLength/B);if(r*B!=i.byteLength)throw new Error("Scalar size does not match");const o=bC[QC(B)],E=Math.floor((8*r-1)/o)+1,a=[];for(let t=0;t<E;t++){const g=[{cmd:"ALLOCSET",var:0,buff:A},{cmd:"ALLOCSET",var:1,buff:i},{cmd:"ALLOC",var:2,len:3*I.F.n8},{cmd:"CALL",fnName:Q,params:[{var:0},{var:1},{val:r},{val:B},{val:t*o},{val:Math.min(8*r-t*o,o)},{var:2}]},{cmd:"GET",out:0,var:2,len:3*I.F.n8}];a.push(I.tm.queueAction(g))}const s=await Promise.all(a);let h=I.zero;for(let A=s.length-1;A>=0;A--){if(!I.isZero(h))for(let A=0;A<o;A++)h=I.double(h);h=I.add(h,s[A][0])}return h}async function e(A,e,n,C,Q){const B=1<<22;let r;if("G1"==t)r="affine"==n?2*I.F.n8:3*I.F.n8;else{if("G2"!=t)throw new Error("Invalid group");r="affine"==n?2*I.F.n8:3*I.F.n8}const o=Math.floor(A.byteLength/r),E=Math.floor(e.byteLength/o);if(E*o!=e.byteLength)throw new Error("Scalar size does not match");const a=bC[QC(o)],s=Math.floor((8*E-1)/a)+1;let h;h=Math.floor(o/(i.concurrency/s)),h>B&&(h=B),h<1024&&(h=1024);const f=[];for(let t=0;t<o;t+=h){C&&C.debug(`Multiexp start: ${Q}: ${t}/${o}`);const I=Math.min(o-t,h),i=A.slice(t*r,(t+I)*r),B=e.slice(t*E,(t+I)*E);f.push(g(i,B,n,C,Q).then((A=>(C&&C.debug(`Multiexp end: ${Q}: ${t}/${o}`),A))))}const w=await Promise.all(f);let c=I.zero;for(let A=w.length-1;A>=0;A--)c=I.add(c,w[A]);return c}I.multiExp=async function(A,t,I,i){return await e(A,t,"jacobian",I,i)},I.multiExpAffine=async function(A,t,I,i){return await e(A,t,"affine",I,i)}}function UC(A,t){const I=A[t],i=A.Fr,g=I.tm;async function e(C,Q,B,r,o,E){B=B||"affine",r=r||"affine";let a,s,h,f,w,c,D,u;"G1"==t?("affine"==B?(a=2*I.F.n8,f="g1m_batchToJacobian"):a=3*I.F.n8,s=3*I.F.n8,Q&&(u="g1m_fftFinal"),D="g1m_fftJoin",c="g1m_fftMix","affine"==r?(h=2*I.F.n8,w="g1m_batchToAffine"):h=3*I.F.n8):"G2"==t?("affine"==B?(a=2*I.F.n8,f="g2m_batchToJacobian"):a=3*I.F.n8,s=3*I.F.n8,Q&&(u="g2m_fftFinal"),D="g2m_fftJoin",c="g2m_fftMix","affine"==r?(h=2*I.F.n8,w="g2m_batchToAffine"):h=3*I.F.n8):"Fr"==t&&(a=I.n8,s=I.n8,h=I.n8,Q&&(u="frm_fftFinal"),c="frm_fftMix",D="frm_fftJoin");let l=!1;Array.isArray(C)&&(C=A.array2buffer(C,a),l=!0);const y=C.byteLength/a,p=QC(y);if(1<<p!=y)throw new Error("fft must be multiple of 2");if(p==i.s+1){let t;return t=Q?await async function(A,t,I,g,C){let Q,B;Q=A.slice(0,A.byteLength/2),B=A.slice(A.byteLength/2,A.byteLength);const r=[];r.push(e(Q,!0,t,"jacobian",g,C)),r.push(e(B,!0,t,"jacobian",g,C)),[Q,B]=await Promise.all(r);const o=await n(Q,B,"fftJoinExtInv",i.one,i.shiftInv,"jacobian",I,g,C);let E;E=o[0].byteLength>1<<28?new wC(2*o[0].byteLength):new Uint8Array(2*o[0].byteLength);return E.set(o[0]),E.set(o[1],o[0].byteLength),E}(C,B,r,o,E):await async function(A,t,I,g,C){let Q,B;Q=A.slice(0,A.byteLength/2),B=A.slice(A.byteLength/2,A.byteLength);const r=[];[Q,B]=await n(Q,B,"fftJoinExt",i.one,i.shift,t,"jacobian",g,C),r.push(e(Q,!1,"jacobian",I,g,C)),r.push(e(B,!1,"jacobian",I,g,C));const o=await Promise.all(r);let E;E=o[0].byteLength>1<<28?new wC(2*o[0].byteLength):new Uint8Array(2*o[0].byteLength);return E.set(o[0]),E.set(o[1],o[0].byteLength),E}(C,B,r,o,E),l?A.buffer2array(t,h):t}let F,M,m;Q&&(F=i.inv(i.e(y))),BC(C,a);let d=Math.min(16384,y),G=y/d;for(;G<g.concurrency&&d>=16;)G*=2,d/=2;const b=QC(d),H=[];for(let A=0;A<G;A++){o&&o.debug(`${E}: fft ${p} mix start: ${A}/${G}`);const t=[];t.push({cmd:"ALLOC",var:0,len:s*d});const I=C.slice(d*A*a,d*(A+1)*a);t.push({cmd:"SET",var:0,buff:I}),f&&t.push({cmd:"CALL",fnName:f,params:[{var:0},{val:d},{var:0}]});for(let A=1;A<=b;A++)t.push({cmd:"CALL",fnName:c,params:[{var:0},{val:d},{val:A}]});b==p?(u&&(t.push({cmd:"ALLOCSET",var:1,buff:F}),t.push({cmd:"CALL",fnName:u,params:[{var:0},{val:d},{var:1}]})),w&&t.push({cmd:"CALL",fnName:w,params:[{var:0},{val:d},{var:0}]}),t.push({cmd:"GET",out:0,var:0,len:d*h})):t.push({cmd:"GET",out:0,var:0,len:s*d}),H.push(g.queueAction(t).then((t=>(o&&o.debug(`${E}: fft ${p} mix end: ${A}/${G}`),t))))}m=await Promise.all(H);for(let A=0;A<G;A++)m[A]=m[A][0];for(let A=b+1;A<=p;A++){o&&o.debug(`${E}: fft ${p} join: ${A}/${p}`);const t=1<<p-A,I=G/t,e=[];for(let n=0;n<t;n++)for(let C=0;C<I/2;C++){const Q=i.exp(i.w[A],C*d),B=i.w[A],r=n*I+C,a=n*I+C+I/2,f=[];f.push({cmd:"ALLOCSET",var:0,buff:m[r]}),f.push({cmd:"ALLOCSET",var:1,buff:m[a]}),f.push({cmd:"ALLOCSET",var:2,buff:Q}),f.push({cmd:"ALLOCSET",var:3,buff:B}),f.push({cmd:"CALL",fnName:D,params:[{var:0},{var:1},{val:d},{var:2},{var:3}]}),A==p?(u&&(f.push({cmd:"ALLOCSET",var:4,buff:F}),f.push({cmd:"CALL",fnName:u,params:[{var:0},{val:d},{var:4}]}),f.push({cmd:"CALL",fnName:u,params:[{var:1},{val:d},{var:4}]})),w&&(f.push({cmd:"CALL",fnName:w,params:[{var:0},{val:d},{var:0}]}),f.push({cmd:"CALL",fnName:w,params:[{var:1},{val:d},{var:1}]})),f.push({cmd:"GET",out:0,var:0,len:d*h}),f.push({cmd:"GET",out:1,var:1,len:d*h})):(f.push({cmd:"GET",out:0,var:0,len:d*s}),f.push({cmd:"GET",out:1,var:1,len:d*s})),e.push(g.queueAction(f).then((i=>(o&&o.debug(`${E}: fft ${p} join ${A}/${p} ${n+1}/${t} ${C}/${I/2}`),i))))}const n=await Promise.all(e);for(let A=0;A<t;A++)for(let t=0;t<I/2;t++){const i=A*I+t,g=A*I+t+I/2,e=n.shift();m[i]=e[0],m[g]=e[1]}}if(M=C instanceof wC?new wC(y*h):new Uint8Array(y*h),Q){M.set(m[0].slice((d-1)*h));let A=h;for(let t=G-1;t>0;t--)M.set(m[t],A),A+=d*h,delete m[t];M.set(m[0].slice(0,(d-1)*h),A),delete m[0]}else for(let A=0;A<G;A++)M.set(m[A],d*h*A),delete m[A];return l?A.buffer2array(M,h):M}async function n(A,e,n,C,Q,B,r,o,E){let a,s,h,f,w,c;if("G1"==t)"affine"==B?(w=2*I.F.n8,s="g1m_batchToJacobian"):w=3*I.F.n8,c=3*I.F.n8,a="g1m_"+n,"affine"==r?(h="g1m_batchToAffine",f=2*I.F.n8):f=3*I.F.n8;else if("G2"==t)"affine"==B?(w=2*I.F.n8,s="g2m_batchToJacobian"):w=3*I.F.n8,a="g2m_"+n,c=3*I.F.n8,"affine"==r?(h="g2m_batchToAffine",f=2*I.F.n8):f=3*I.F.n8;else{if("Fr"!=t)throw new Error("Invalid group");w=i.n8,f=i.n8,c=i.n8,a="frm_"+n}if(A.byteLength!=e.byteLength)throw new Error("Invalid buffer size");const D=Math.floor(A.byteLength/w);if(D!=1<<QC(D))throw new Error("Invalid number of points");let u=Math.floor(D/g.concurrency);u<16&&(u=16),u>65536&&(u=65536);const l=[];for(let t=0;t<D;t+=u){o&&o.debug(`${E}: fftJoinExt Start: ${t}/${D}`);const I=Math.min(D-t,u),n=i.mul(C,i.exp(Q,t)),B=[],r=A.slice(t*w,(t+I)*w),y=e.slice(t*w,(t+I)*w);B.push({cmd:"ALLOC",var:0,len:c*I}),B.push({cmd:"SET",var:0,buff:r}),B.push({cmd:"ALLOC",var:1,len:c*I}),B.push({cmd:"SET",var:1,buff:y}),B.push({cmd:"ALLOCSET",var:2,buff:n}),B.push({cmd:"ALLOCSET",var:3,buff:Q}),s&&(B.push({cmd:"CALL",fnName:s,params:[{var:0},{val:I},{var:0}]}),B.push({cmd:"CALL",fnName:s,params:[{var:1},{val:I},{var:1}]})),B.push({cmd:"CALL",fnName:a,params:[{var:0},{var:1},{val:I},{var:2},{var:3},{val:i.s}]}),h&&(B.push({cmd:"CALL",fnName:h,params:[{var:0},{val:I},{var:0}]}),B.push({cmd:"CALL",fnName:h,params:[{var:1},{val:I},{var:1}]})),B.push({cmd:"GET",out:0,var:0,len:I*f}),B.push({cmd:"GET",out:1,var:1,len:I*f}),l.push(g.queueAction(B).then((A=>(o&&o.debug(`${E}: fftJoinExt End: ${t}/${D}`),A))))}const y=await Promise.all(l);let p,F;D*f>1<<28?(p=new wC(D*f),F=new wC(D*f)):(p=new Uint8Array(D*f),F=new Uint8Array(D*f));let M=0;for(let A=0;A<y.length;A++)p.set(y[A][0],M),F.set(y[A][1],M),M+=y[A][0].byteLength;return[p,F]}I.fft=async function(A,t,I,i,g){return await e(A,!1,t,I,i,g)},I.ifft=async function(A,t,I,i,g){return await e(A,!0,t,I,i,g)},I.lagrangeEvaluations=async function(A,g,C,Q,B){let r;if(g=g||"affine",C=C||"affine","G1"==t)r="affine"==g?2*I.F.n8:3*I.F.n8;else if("G2"==t)r="affine"==g?2*I.F.n8:3*I.F.n8;else{if("Fr"!=t)throw new Error("Invalid group");r=i.n8}const o=A.byteLength/r,E=QC(o);if(2**E*r!=A.byteLength)throw Q&&Q.error("lagrangeEvaluations iinvalid input size"),new Error("lagrangeEvaluations invalid Input size");if(E<=i.s)return await I.ifft(A,g,C,Q,B);if(E>i.s+1)throw Q&&Q.error("lagrangeEvaluations input too big"),new Error("lagrangeEvaluations input too big");let a=A.slice(0,A.byteLength/2),s=A.slice(A.byteLength/2,A.byteLength);const h=i.exp(i.shift,o/2),f=i.inv(i.sub(i.one,h));[a,s]=await n(a,s,"prepareLagrangeEvaluation",f,i.shiftInv,g,"jacobian",Q,B+" prep");const w=[];let c;return w.push(e(a,!0,"jacobian",C,Q,B+" t0")),w.push(e(s,!0,"jacobian",C,Q,B+" t1")),[a,s]=await Promise.all(w),c=a.byteLength>1<<28?new wC(2*a.byteLength):new Uint8Array(2*a.byteLength),c.set(a),c.set(s,a.byteLength),c},I.fftMix=async function(A){const e=3*I.F.n8;let n,C;if("G1"==t)n="g1m_fftMix",C="g1m_fftJoin";else if("G2"==t)n="g2m_fftMix",C="g2m_fftJoin";else{if("Fr"!=t)throw new Error("Invalid group");n="frm_fftMix",C="frm_fftJoin"}const Q=Math.floor(A.byteLength/e),B=QC(Q);let r=1<<QC(g.concurrency);Q<=2*r&&(r=1);const o=Q/r,E=QC(o),a=[];for(let t=0;t<r;t++){const I=[],i=A.slice(t*o*e,(t+1)*o*e);I.push({cmd:"ALLOCSET",var:0,buff:i});for(let A=1;A<=E;A++)I.push({cmd:"CALL",fnName:n,params:[{var:0},{val:o},{val:A}]});I.push({cmd:"GET",out:0,var:0,len:o*e}),a.push(g.queueAction(I))}const s=await Promise.all(a),h=[];for(let A=0;A<s.length;A++)h[A]=s[A][0];for(let A=E+1;A<=B;A++){const t=1<<B-A,I=r/t,n=[];for(let Q=0;Q<t;Q++)for(let t=0;t<I/2;t++){const B=i.exp(i.w[A],t*o),r=i.w[A],E=Q*I+t,a=Q*I+t+I/2,s=[];s.push({cmd:"ALLOCSET",var:0,buff:h[E]}),s.push({cmd:"ALLOCSET",var:1,buff:h[a]}),s.push({cmd:"ALLOCSET",var:2,buff:B}),s.push({cmd:"ALLOCSET",var:3,buff:r}),s.push({cmd:"CALL",fnName:C,params:[{var:0},{var:1},{val:o},{var:2},{var:3}]}),s.push({cmd:"GET",out:0,var:0,len:o*e}),s.push({cmd:"GET",out:1,var:1,len:o*e}),n.push(g.queueAction(s))}const Q=await Promise.all(n);for(let A=0;A<t;A++)for(let t=0;t<I/2;t++){const i=A*I+t,g=A*I+t+I/2,e=Q.shift();h[i]=e[0],h[g]=e[1]}}let f;f=A instanceof wC?new wC(Q*e):new Uint8Array(Q*e);let w=0;for(let A=0;A<r;A++)f.set(h[A],w),w+=h[A].byteLength;return f},I.fftJoin=async function(A,e,n,C){const Q=3*I.F.n8;let B;if("G1"==t)B="g1m_fftJoin";else if("G2"==t)B="g2m_fftJoin";else{if("Fr"!=t)throw new Error("Invalid group");B="frm_fftJoin"}if(A.byteLength!=e.byteLength)throw new Error("Invalid buffer size");const r=Math.floor(A.byteLength/Q);if(r!=1<<QC(r))throw new Error("Invalid number of points");let o=1<<QC(g.concurrency);r<=2*o&&(o=1);const E=r/o,a=[];for(let t=0;t<o;t++){const I=[],r=i.mul(n,i.exp(C,t*E)),o=A.slice(t*E*Q,(t+1)*E*Q),s=e.slice(t*E*Q,(t+1)*E*Q);I.push({cmd:"ALLOCSET",var:0,buff:o}),I.push({cmd:"ALLOCSET",var:1,buff:s}),I.push({cmd:"ALLOCSET",var:2,buff:r}),I.push({cmd:"ALLOCSET",var:3,buff:C}),I.push({cmd:"CALL",fnName:B,params:[{var:0},{var:1},{val:E},{var:2},{var:3}]}),I.push({cmd:"GET",out:0,var:0,len:E*Q}),I.push({cmd:"GET",out:1,var:1,len:E*Q}),a.push(g.queueAction(I))}const s=await Promise.all(a);let h,f;A instanceof wC?(h=new wC(r*Q),f=new wC(r*Q)):(h=new Uint8Array(r*Q),f=new Uint8Array(r*Q));let w=0;for(let A=0;A<s.length;A++)h.set(s[A][0],w),f.set(s[A][1],w),w+=s[A][0].byteLength;return[h,f]},I.fftFinal=async function(A,i){const e=3*I.F.n8,n=2*I.F.n8;let C,Q;if("G1"==t)C="g1m_fftFinal",Q="g1m_batchToAffine";else{if("G2"!=t)throw new Error("Invalid group");C="g2m_fftFinal",Q="g2m_batchToAffine"}const B=Math.floor(A.byteLength/e);if(B!=1<<QC(B))throw new Error("Invalid number of points");const r=Math.floor(B/g.concurrency),o=[];for(let t=0;t<g.concurrency;t++){let I;if(I=t<g.concurrency-1?r:B-t*r,0==I)continue;const E=[],a=A.slice(t*r*e,(t*r+I)*e);E.push({cmd:"ALLOCSET",var:0,buff:a}),E.push({cmd:"ALLOCSET",var:1,buff:i}),E.push({cmd:"CALL",fnName:C,params:[{var:0},{val:I},{var:1}]}),E.push({cmd:"CALL",fnName:Q,params:[{var:0},{val:I},{var:0}]}),E.push({cmd:"GET",out:0,var:0,len:I*n}),o.push(g.queueAction(E))}const E=await Promise.all(o);let a;a=A instanceof wC?new wC(B*n):new Uint8Array(B*n);let s=0;for(let A=E.length-1;A>=0;A--)a.set(E[A][0],s),s+=E[A][0].byteLength;return a}}async function LC(A){const t=await async function(A,t){const I=new dC;I.memory=new WebAssembly.Memory({initial:25}),I.u8=new Uint8Array(I.memory.buffer),I.u32=new Uint32Array(I.memory.buffer);const i=await WebAssembly.compile(MC(A.code));if(I.instance=await WebAssembly.instantiate(i,{env:{memory:I.memory}}),I.singleThread=t,I.initalPFree=I.u32[0],I.pq=A.pq,I.pr=A.pr,I.pG1gen=A.pG1gen,I.pG1zero=A.pG1zero,I.pG2gen=A.pG2gen,I.pG2zero=A.pG2zero,I.pOneT=A.pOneT,t)I.code=MC(A.code),I.taskManager=pC(),await I.taskManager([{cmd:"INIT",init:25,code:I.code.slice()}]),I.concurrency=1;else{let t;I.workers=[],I.pendingDeferreds=[],I.working=[],t="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:mA.cpus().length,t>64&&(t=64),I.concurrency=t;for(let A=0;A<t;A++)I.workers[A]=new dA(mC),I.workers[A].addEventListener("message",g(A)),I.working[A]=!1;const i=[];for(let t=0;t<I.workers.length;t++){const g=MC(A.code).slice();i.push(I.postAction(t,[{cmd:"INIT",init:25,code:g}],[g.buffer]))}await Promise.all(i)}return I;function g(A){return function(t){let i;i=t&&t.data?t.data:t,I.working[A]=!1,I.pendingDeferreds[A].resolve(i),I.processWorks()}}}(A.wasm,A.singleThread),I={};return I.q=an(A.wasm.q),I.r=an(A.wasm.r),I.name=A.name,I.tm=t,I.prePSize=A.wasm.prePSize,I.preQSize=A.wasm.preQSize,I.Fr=new DC(t,"frm",A.n8r,A.r),I.F1=new DC(t,"f1m",A.n8q,A.q),I.F2=new uC(t,"f2m",I.F1),I.G1=new yC(t,"g1m",I.F1,A.wasm.pG1gen,A.wasm.pG1b,A.cofactorG1),I.G2=new yC(t,"g2m",I.F2,A.wasm.pG2gen,A.wasm.pG2b,A.cofactorG2),I.F6=new lC(t,"f6m",I.F2),I.F12=new uC(t,"ftm",I.F6),I.Gt=I.F12,GC(I,"G1"),GC(I,"G2"),GC(I,"Fr"),HC(I,"G1"),HC(I,"G2"),UC(I,"G1"),UC(I,"G2"),UC(I,"Fr"),function(A){const t=A.tm;A.pairing=function(I,i){t.startSyncOp();const g=t.allocBuff(A.G1.toJacobian(I)),e=t.allocBuff(A.G2.toJacobian(i)),n=t.alloc(A.Gt.n8);t.instance.exports[A.name+"_pairing"](g,e,n);const C=t.getBuff(n,A.Gt.n8);return t.endSyncOp(),C},A.pairingEq=async function(){let I,i;arguments.length%2==1?(I=arguments[arguments.length-1],i=(arguments.length-1)/2):(I=A.Gt.one,i=arguments.length/2);const g=[];for(let I=0;I<i;I++){const i=[],e=A.G1.toJacobian(arguments[2*I]);i.push({cmd:"ALLOCSET",var:0,buff:e}),i.push({cmd:"ALLOC",var:1,len:A.prePSize});const n=A.G2.toJacobian(arguments[2*I+1]);i.push({cmd:"ALLOCSET",var:2,buff:n}),i.push({cmd:"ALLOC",var:3,len:A.preQSize}),i.push({cmd:"ALLOC",var:4,len:A.Gt.n8}),i.push({cmd:"CALL",fnName:A.name+"_prepareG1",params:[{var:0},{var:1}]}),i.push({cmd:"CALL",fnName:A.name+"_prepareG2",params:[{var:2},{var:3}]}),i.push({cmd:"CALL",fnName:A.name+"_millerLoop",params:[{var:1},{var:3},{var:4}]}),i.push({cmd:"GET",out:0,var:4,len:A.Gt.n8}),g.push(t.queueAction(i))}const e=await Promise.all(g);t.startSyncOp();const n=t.alloc(A.Gt.n8);t.instance.exports.ftm_one(n);for(let A=0;A<e.length;A++){const I=t.allocBuff(e[A][0]);t.instance.exports.ftm_mul(n,I,n)}t.instance.exports[A.name+"_finalExponentiation"](n,n);const C=t.allocBuff(I),Q=!!t.instance.exports.ftm_eq(n,C);return t.endSyncOp(),Q},A.prepareG1=function(A){this.tm.startSyncOp();const t=this.tm.allocBuff(A),I=this.tm.alloc(this.prePSize);this.tm.instance.exports[this.name+"_prepareG1"](t,I);const i=this.tm.getBuff(I,this.prePSize);return this.tm.endSyncOp(),i},A.prepareG2=function(A){this.tm.startSyncOp();const t=this.tm.allocBuff(A),I=this.tm.alloc(this.preQSize);this.tm.instance.exports[this.name+"_prepareG2"](t,I);const i=this.tm.getBuff(I,this.preQSize);return this.tm.endSyncOp(),i},A.millerLoop=function(A,t){this.tm.startSyncOp();const I=this.tm.allocBuff(A),i=this.tm.allocBuff(t),g=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_millerLoop"](I,i,g);const e=this.tm.getBuff(g,this.Gt.n8);return this.tm.endSyncOp(),e},A.finalExponentiation=function(A){this.tm.startSyncOp();const t=this.tm.allocBuff(A),I=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_finalExponentiation"](t,I);const i=this.tm.getBuff(I,this.Gt.n8);return this.tm.endSyncOp(),i}}(I),I.array2buffer=function(A,t){const I=new Uint8Array(t*A.length);for(let i=0;i<A.length;i++)I.set(A[i],i*t);return I},I.buffer2array=function(A,t){const I=A.byteLength/t,i=new Array(I);for(let g=0;g<I;g++)i[g]=A.slice(g*t,g*t+t);return i},I}async function NC(A){if(!A&&fA.curve_bn128)return fA.curve_bn128;const t={name:"bn128",wasm:wA.bn128_wasm,q:an("21888242871839275222246405745257275088696311157297823662689037894645226208583"),r:an("21888242871839275222246405745257275088548364400416034343698204186575808495617"),n8q:32,n8r:32,cofactorG2:an("30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d",16),singleThread:!!A},I=await LC(t);return I.terminate=async function(){t.singleThread||(fA.curve_bn128=null,await this.tm.terminate())},A||(fA.curve_bn128=I),I}fA.curve_bn128=null,fA.curve_bls12381=null;const kC=an("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),JC=an("21888242871839275222246405745257275088548364400416034343698204186575808495617");an("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),an("21888242871839275222246405745257275088696311157297823662689037894645226208583");const SC=262144,vC={get:function(A,t){return isNaN(t)?A[t]:A.getElement(t)},set:function(A,t,I){return isNaN(t)?(A[t]=I,!0):A.setElement(t,I)}};class RC{constructor(A){this.length=A||0,this.arr=new Array(SC);for(let t=0;t<A;t+=SC)this.arr[t/SC]=new Array(Math.min(SC,A-t));return this}push(){for(let A=0;A<arguments.length;A++)this.setElement(this.length,arguments[A])}slice(A,t){const I=new Array(t-A);for(let i=A;i<t;i++)I[i-A]=this.getElement(i);return I}getElement(A){A=parseInt(A);const t=Math.floor(A/SC),I=A%SC;return this.arr[t]?this.arr[t][I]:void 0}setElement(A,t){A=parseInt(A);const I=Math.floor(A/SC);this.arr[I]||(this.arr[I]=new Array(SC));const i=A%SC;return this.arr[I][i]=t,A>=this.length&&(this.length=A+1),!0}getKeys(){const A=new qC;for(let t=0;t<this.arr.length;t++)if(this.arr[t])for(let I=0;I<this.arr[t].length;I++)void 0!==this.arr[t][I]&&A.push(t*SC+I);return A}}class qC{constructor(A){const t=new RC(A);return new Proxy(t,vC)}}async function YC(A,t,I){const i={};return await zA(A,t,1),i.n8=await A.readULE32(),i.prime=await _A(A,i.n8),i.curve=await async function(A,t){let I;if(vn(A,JC))I=await NC(t);else{if(!vn(A,kC))throw new Error(`Curve not supported: ${Qn(A)}`);I=await NC(t)}return I}(i.prime,I),i.nVars=await A.readULE32(),i.nOutputs=await A.readULE32(),i.nPubInputs=await A.readULE32(),i.nPrvInputs=await A.readULE32(),i.nLabels=await A.readULE64(),i.nConstraints=await A.readULE32(),await WA(A),i}async function xC(A,t,I,i,g,e){const{fd:n,sections:C}=await ZA(A,"r1cs",1),Q=await YC(n,C,i);return t&&(Q.constraints=await async function(A,t,I,i,g){const e=await At(A,t,2);let n,C=0;n=I.nConstraints>1<<20?new qC:[];for(let A=0;A<I.nConstraints;A++){i&&A%1e5==0&&i.info(`${g}: Loading constraints: ${A}/${I.nConstraints}`);const t=Q();n.push(t)}return n;function Q(){const A=[];return A[0]=B(),A[1]=B(),A[2]=B(),A}function B(){const A={},t=e.slice(C,C+4);C+=4;const i=new DataView(t.buffer).getUint32(0,!0),g=e.slice(C,C+(4+I.n8)*i);C+=(4+I.n8)*i;const n=new DataView(g.buffer);for(let t=0;t<i;t++){const i=n.getUint32(t*(4+I.n8),!0),e=I.curve.Fr.fromRprLE(g,t*(4+I.n8)+4);A[i]=e}return A}}(n,C,Q,g,e)),I&&(Q.map=await async function(A,t,I,i,g){const e=await At(A,t,3);let n,C=0;n=I.nVars>1<<20?new qC:[];for(let A=0;A<I.nVars;A++){i&&A%1e4==0&&i.info(`${g}: Loading map: ${A}/${I.nVars}`);const t=Q();n.push(t)}return n;function Q(){const A=e.slice(C,C+8);C+=8;const t=new DataView(A.buffer),I=t.getUint32(0,!0);return 4294967296*t.getUint32(4,!0)+I}}(n,C,Q,g,e)),await n.close(),Q}const PC=ei.e("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),XC=ei.e("21888242871839275222246405745257275088548364400416034343698204186575808495617");function OC(A,t){if(t instanceof Uint8Array)return A.toString(t);if(Array.isArray(t))return t.map(OC.bind(null,A));if("object"==typeof t){const I={};return Object.keys(t).forEach((i=>{I[i]=OC(A,t[i])})),I}return"bigint"==typeof t||void 0!==t.eq?t.toString(10):t}var ZC=Object.freeze({__proto__:null,print:function(A,t,I){for(let t=0;t<A.constraints.length;t++)i(A.constraints[t]);function i(i){const g=I=>{let i="";return Object.keys(I).forEach((g=>{let e=t.varIdx2Name[g];"one"==e&&(e="");let n=A.curve.Fr.toString(I[g]);"1"==n&&(n=""),"-1"==n&&(n="-"),""!=i&&"-"!=n[0]&&(n="+"+n),""!=i&&(n=" "+n),i=i+n+e})),i},e=`[ ${g(i[0])} ] * [ ${g(i[1])} ] - [ ${g(i[2])} ] = 0`;I&&I.info(e)}},info:async function(A,t){const I=await xC(A);return ei.eq(I.prime,XC)?t&&t.info("Curve: bn-128"):ei.eq(I.prime,PC)?t&&t.info("Curve: bls12-381"):t&&t.info(`Unknown Curve. Prime: ${ei.toString(I.prime)}`),t&&t.info(`# of Wires: ${I.nVars}`),t&&t.info(`# of Constraints: ${I.nConstraints}`),t&&t.info(`# of Private Inputs: ${I.nPrvInputs}`),t&&t.info(`# of Public Inputs: ${I.nPubInputs}`),t&&t.info(`# of Labels: ${I.nLabels}`),t&&t.info(`# of Outputs: ${I.nOutputs}`),I},exportJson:async function(A,t){const I=await xC(A,!0,!0,!0,t),i=I.curve.Fr;return delete I.curve,OC(i,I)}});async function VC(A){const t={labelIdx2Name:["one"],varIdx2Name:["one"],componentIdx2Name:[]},I=await OA(A),i=await I.read(I.totalSize),g=new TextDecoder("utf-8").decode(i).split("\n");for(let A=0;A<g.length;A++){const I=g[A].split(",");4==I.length&&(t.varIdx2Name[I[1]]?t.varIdx2Name[I[1]]+="|"+I[3]:t.varIdx2Name[I[1]]=I[3],t.labelIdx2Name[I[0]]=I[3],t.componentIdx2Name[I[2]]||(t.componentIdx2Name[I[2]]=e(I[3])))}return await I.close(),t;function e(A){const t=A.split(".");return t.pop(),t.join(".")}}var KC=Object.freeze({__proto__:null,calculate:we,debug:async function(A,t,I,i,g,e){const n=await OA(t),C=await n.read(n.totalSize);await n.close();let Q={sanityCheck:!0},B=await VC(i);g.set&&(B||(B=await VC(i)),Q.logSetSignal=function(A,t){e&&e.info("SET "+B.labelIdx2Name[A]+" <-- "+t.toString())}),g.get&&(B||(B=await VC(i)),Q.logGetSignal=function(A,t){e&&e.info("GET "+B.labelIdx2Name[A]+" --\x3e "+t.toString())}),g.trigger&&(B||(B=await VC(i)),Q.logStartComponent=function(A){e&&e.info("START: "+B.componentIdx2Name[A])},Q.logFinishComponent=function(A){e&&e.info("FINISH: "+B.componentIdx2Name[A])}),Q.sym=B;const r=await he(C,Q),o=await r.calculateWitness(A),E=await VA(I,"wtns",2,2);await async function(A,t,I){await KA(A,1);const i=8*(Math.floor((ei.bitLength(I)-1)/64)+1);await A.writeULE32(i),await TA(A,I,i),await A.writeULE32(t.length),await jA(A),await KA(A,2);for(let I=0;I<t.length;I++)await TA(A,t[I],i);await jA(A)}(E,o,r.prime),await E.close()},exportJson:async function(A){return await async function(A){const{fd:t,sections:I}=await ZA(A,"wtns",2),{n8:i,nWitness:g}=await Yi(t,I);await zA(t,I,2);const e=[];for(let A=0;A<g;A++){const A=await _A(t,i);e.push(A)}return await WA(t),await t.close(),e}(A)}});const jC=262144,zC={get:function(A,t){return isNaN(t)?A[t]:A.getElement(t)},set:function(A,t,I){return isNaN(t)?(A[t]=I,!0):A.setElement(t,I)}};class WC{constructor(A){this.length=A||0,this.arr=new Array(jC);for(let t=0;t<A;t+=jC)this.arr[t/jC]=new Array(Math.min(jC,A-t));return this}push(){for(let A=0;A<arguments.length;A++)this.setElement(this.length,arguments[A])}slice(A,t){const I=new Array(t-A);for(let i=A;i<t;i++)I[i-A]=this.getElement(i);return I}getElement(A){A=parseInt(A);const t=Math.floor(A/jC),I=A%jC;return this.arr[t]?this.arr[t][I]:void 0}setElement(A,t){A=parseInt(A);const I=Math.floor(A/jC);this.arr[I]||(this.arr[I]=new Array(jC));const i=A%jC;return this.arr[I][i]=t,A>=this.length&&(this.length=A+1),!0}getKeys(){const A=new TC;for(let t=0;t<this.arr.length;t++)if(this.arr[t])for(let I=0;I<this.arr[t].length;I++)void 0!==this.arr[t][I]&&A.push(t*jC+I);return A}}class TC{constructor(A){const t=new WC(A);return new Proxy(t,zC)}}async function _C(A,t,I,i){await fi.ready();const g=fi(64),{fd:e,sections:n}=await ZA(t,"ptau",1),{curve:C,power:Q}=await me(e,n),{fd:B,sections:r}=await ZA(A,"r1cs",1),o=await YC(B,r,!1),E=await VA(I,"zkey",1,10,1<<22,1<<24),a=2*C.G1.F.n8,s=2*C.G2.F.n8;if(o.prime!=C.r)return i&&i.error("r1cs curve does not match powers of tau ceremony curve"),-1;const h=Di(o.nConstraints+o.nPubInputs+o.nOutputs+1-1)+1;if(h>Q)return i&&i.error(`circuit too big for this power of tau ceremony. ${o.nConstraints}*2 > 2**${Q}`),-1;if(!n[12])return i&&i.error("Powers of tau is not prepared."),-1;const f=o.nOutputs+o.nPubInputs,w=2**h;await KA(E,1),await E.writeULE32(1),await jA(E),await KA(E,2);const c=C.q,D=8*(Math.floor((ei.bitLength(c)-1)/64)+1),u=C.r,l=8*(Math.floor((ei.bitLength(u)-1)/64)+1),y=ei.mod(ei.shl(1,8*l),u),p=C.Fr.e(ei.mod(ei.mul(y,y),u));let F,M,m;await E.writeULE32(D),await TA(E,c,D),await E.writeULE32(l),await TA(E,u,l),await E.writeULE32(o.nVars),await E.writeULE32(f),await E.writeULE32(w),F=await e.read(a,n[4][0].p),await E.write(F),F=await C.G1.batchLEMtoU(F),g.update(F),M=await e.read(a,n[5][0].p),await E.write(M),M=await C.G1.batchLEMtoU(M),g.update(M),m=await e.read(s,n[6][0].p),await E.write(m),m=await C.G2.batchLEMtoU(m),g.update(m);const d=new Uint8Array(a);C.G1.toRprLEM(d,0,C.G1.g);const G=new Uint8Array(s);C.G2.toRprLEM(G,0,C.G2.g);const b=new Uint8Array(a);C.G1.toRprUncompressed(b,0,C.G1.g);const H=new Uint8Array(s);C.G2.toRprUncompressed(H,0,C.G2.g),await E.write(G),await E.write(d),await E.write(G),g.update(H),g.update(b),g.update(H),await jA(E),i&&i.info("Reading r1cs");let U=await At(B,r,2);const L=new TC(o.nVars),N=new TC(o.nVars),k=new TC(o.nVars),J=new TC(o.nVars-f-1),S=new Array(f+1);i&&i.info("Reading tauG1");let v=await At(e,n,12,(w-1)*a,w*a);i&&i.info("Reading tauG2");let R=await At(e,n,13,(w-1)*s,w*s);i&&i.info("Reading alphatauG1");let q=await At(e,n,14,(w-1)*a,w*a);i&&i.info("Reading betatauG1");let Y=await At(e,n,15,(w-1)*a,w*a);await async function(){const A=new Uint8Array(12+C.Fr.n8),t=new DataView(A.buffer),I=new Uint8Array(C.Fr.n8);C.Fr.toRprLE(I,0,C.Fr.e(1));let g=0;function e(){const A=U.slice(g,g+4);g+=4;return new DataView(A.buffer).getUint32(0,!0)}const n=new TC;for(let A=0;A<o.nConstraints;A++){i&&A%1e4==0&&i.debug(`processing constraints: ${A}/${o.nConstraints}`);const t=e();for(let I=0;I<t;I++){const t=e(),I=g;g+=C.Fr.n8;const i=0,Q=a*A,B=3,r=a*A;void 0===L[t]&&(L[t]=[]),L[t].push([i,Q,I]),t<=f?(void 0===S[t]&&(S[t]=[]),S[t].push([B,r,I])):(void 0===J[t-f-1]&&(J[t-f-1]=[]),J[t-f-1].push([B,r,I])),n.push([0,A,t,I])}const I=e();for(let t=0;t<I;t++){const t=e(),I=g;g+=C.Fr.n8;const i=0,Q=a*A,B=1,r=s*A,o=2,E=a*A;void 0===N[t]&&(N[t]=[]),N[t].push([i,Q,I]),void 0===k[t]&&(k[t]=[]),k[t].push([B,r,I]),t<=f?(void 0===S[t]&&(S[t]=[]),S[t].push([o,E,I])):(void 0===J[t-f-1]&&(J[t-f-1]=[]),J[t-f-1].push([o,E,I])),n.push([1,A,t,I])}const Q=e();for(let t=0;t<Q;t++){const t=e(),I=g;g+=C.Fr.n8;const i=0,n=a*A;t<=f?(void 0===S[t]&&(S[t]=[]),S[t].push([i,n,I])):(void 0===J[t-f-1]&&(J[t-f-1]=[]),J[t-f-1].push([i,n,I]))}}for(let A=0;A<=f;A++){const t=0,I=a*(o.nConstraints+A),i=3,g=a*(o.nConstraints+A);void 0===L[A]&&(L[A]=[]),L[A].push([t,I,-1]),void 0===S[A]&&(S[A]=[]),S[A].push([i,g,-1]),n.push([0,o.nConstraints+A,A,-1])}await KA(E,4);const Q=new xI(n.length*(12+C.Fr.n8)+4),B=new Uint8Array(4);new DataView(B.buffer).setUint32(0,n.length,!0),Q.set(B);let r=4;for(let A=0;A<n.length;A++)i&&A%1e5==0&&i.debug(`writing coeffs: ${A}/${n.length}`),h(n[A]);function h(i){let g;t.setUint32(0,i[0],!0),t.setUint32(4,i[1],!0),t.setUint32(8,i[2],!0),g=i[3]>=0?C.Fr.fromRprLE(U.slice(i[3],i[3]+C.Fr.n8),0):C.Fr.fromRprLE(I,0);const e=C.Fr.mul(g,p);C.Fr.toRprLE(A,12,e),Q.set(A,r),r+=A.length}await E.write(Q),await jA(E)}(),await P(3,"G1",S,"IC"),await async function(){await KA(E,9);const A=new xI(w*a);if(h<C.Fr.s){let t=await At(e,n,12,(2*w-1)*a,2*w*a);for(let I=0;I<w;I++){i&&I%1e4==0&&i.debug(`spliting buffer: ${I}/${w}`);const g=t.slice((2*I+1)*a,(2*I+1)*a+a);A.set(g,I*a)}}else{if(h!=C.Fr.s)throw i&&i.error("Circuit too big"),new Error("Circuit too big for this curve");{const t=n[12][0].p+(2**(h+1)-1)*a;await e.readToBuffer(A,0,w*a,t+w*a)}}await E.write(A),await jA(E)}(),await async function(){V(w-1);for(let A=0;A<w-1;A+=16384){i&&i.debug(`HashingHPoints: ${A}/${w}`);const t=Math.min(w-1,16384);await O(A,t)}}(),await P(8,"G1",J,"C"),await P(5,"G1",L,"A"),await P(6,"G1",N,"B1"),await P(7,"G2",k,"B2");const x=g.digest();return await KA(E,10),await E.write(x),await E.writeULE32(0),await jA(E),i&&i.info(ui(x,"Circuit hash: ")),await E.close(),await B.close(),await e.close(),x;async function P(A,t,I,e){const n=C[t];V(I.length),await KA(E,A);let Q=[],B=0;for(;B<I.length;){let A=0;for(;B<I.length&&A<C.tm.concurrency;){i&&i.debug(`Writing points start ${e}: ${B}/${I.length}`);let g=1,n=I[B]?I[B].length:0;for(;B+g<I.length&&n+(I[B+g]?I[B+g].length:0)<32768&&g<32768;)n+=I[B+g]?I[B+g].length:0,g++;const C=I.slice(B,B+g),r=B;Q.push(X(t,C,i,e).then((A=>(i&&i.debug(`Writing points end ${e}: ${r}/${I.length}`),A)))),B+=g,A++}const r=await Promise.all(Q);for(let A=0;A<r.length;A++){await E.write(r[A][0]);const t=await n.batchLEMtoU(r[A][0]);g.update(t)}Q=[]}await jA(E)}async function X(A,t,I,i){const g=C[A],e=2*g.F.n8,n=3*g.F.n8,Q=2*g.F.n8;let B,r,o,E;if("G1"==A)B="g1m_timesScalarAffine",r="g1m_multiexpAffine",o="g1m_batchToAffine",E="g1m_zero";else{if("G2"!=A)throw new Error("Invalid group");B="g2m_timesScalarAffine",r="g2m_multiexpAffine",o="g2m_batchToAffine",E="g2m_zero"}let a,s,h=0;for(let A=0;A<t.length;A++)h+=t[A]?t[A].length:0;h>32768?(a=new xI(h*e),s=new xI(h*C.Fr.n8)):(a=new Uint8Array(h*e),s=new Uint8Array(h*C.Fr.n8));let f=0,w=0;const c=[v,R,q,Y],D=new Uint8Array(C.Fr.n8);C.Fr.toRprLE(D,0,C.Fr.e(1));let u=0;for(let A=0;A<t.length;A++)if(t[A])for(let g=0;g<t[A].length;g++)I&&g&&g%1e4==0&&I.debug(`Configuring big array ${i}: ${g}/${t[A].length}`),a.set(c[t[A][g][0]].slice(t[A][g][1],t[A][g][1]+e),u*e),t[A][g][2]>=0?s.set(U.slice(t[A][g][2],t[A][g][2]+C.Fr.n8),u*C.Fr.n8):s.set(D,u*C.Fr.n8),u++;if(t.length>1){const A=[];A.push({cmd:"ALLOCSET",var:0,buff:a}),A.push({cmd:"ALLOCSET",var:1,buff:s}),A.push({cmd:"ALLOC",var:2,len:t.length*n}),f=0,w=0;let I=0;for(let i=0;i<t.length;i++)t[i]?(1==t[i].length?A.push({cmd:"CALL",fnName:B,params:[{var:0,offset:f},{var:1,offset:w},{val:C.Fr.n8},{var:2,offset:I}]}):A.push({cmd:"CALL",fnName:r,params:[{var:0,offset:f},{var:1,offset:w},{val:C.Fr.n8},{val:t[i].length},{var:2,offset:I}]}),f+=e*t[i].length,w+=C.Fr.n8*t[i].length,I+=n):(A.push({cmd:"CALL",fnName:E,params:[{var:2,offset:I}]}),I+=n);A.push({cmd:"CALL",fnName:o,params:[{var:2},{val:t.length},{var:2}]}),A.push({cmd:"GET",out:0,var:2,len:t.length*Q});return await C.tm.queueAction(A)}{let A=await g.multiExpAffine(a,s,I,i);return A=[g.toAffine(A)],A}}async function O(A,t){const I=await e.read(t*a,n[2][0].p+(A+w)*a),i=await e.read(t*a,n[2][0].p+A*a),Q=C.tm.concurrency,B=Math.floor(t/Q),r=[];for(let A=0;A<Q;A++){let g;if(g=A<Q-1?B:t-A*B,0==g)continue;const e=I.slice(A*B*a,(A*B+g)*a),n=i.slice(A*B*a,(A*B+g)*a);r.push(Z(e,n))}const o=await Promise.all(r);for(let A=0;A<o.length;A++)g.update(o[A][0])}async function Z(A,t){const I=A.byteLength/a,i=3*C.G1.F.n8,g=[];g.push({cmd:"ALLOCSET",var:0,buff:A}),g.push({cmd:"ALLOCSET",var:1,buff:t}),g.push({cmd:"ALLOC",var:2,len:I*i});for(let A=0;A<I;A++)g.push({cmd:"CALL",fnName:"g1m_subAffine",params:[{var:0,offset:A*a},{var:1,offset:A*a},{var:2,offset:A*i}]});g.push({cmd:"CALL",fnName:"g1m_batchToAffine",params:[{var:2},{val:I},{var:2}]}),g.push({cmd:"CALL",fnName:"g1m_batchLEMtoU",params:[{var:2},{val:I},{var:2}]}),g.push({cmd:"GET",out:0,var:2,len:I*a});return await C.tm.queueAction(g)}function V(A){const t=new Uint8Array(4);new DataView(t.buffer,t.byteOffset,t.byteLength).setUint32(0,A,!1),g.update(t)}}const $C=pi;async function AQ(A,t,I,i){let g;await fi.ready();const{fd:e,sections:n}=await ZA(I,"zkey",2),C=await Ni(e,n,!1);if("groth16"!=C.protocol)throw new Error("zkey file is not groth16");const Q=await Bi(C.q),B=2*Q.G1.F.n8,r=await Ji(e,Q,n),o=fi(64);o.update(r.csHash);let E=Q.G1.g;for(let A=0;A<r.contributions.length;A++){const t=r.contributions[A],I=yi(o);if(Ri(I,Q,t.delta.g1_s),Ri(I,Q,t.delta.g1_sx),!li(I.digest(),t.transcript))return console.log(`INVALID(${A}): Inconsistent transcript `),!1;const i=le(Q,t.transcript);if(g=await $C(Q,t.delta.g1_s,t.delta.g1_sx,i,t.delta.g2_spx),!0!==g)return console.log(`INVALID(${A}): public key G1 and G2 do not have the same ration `),!1;if(g=await $C(Q,E,t.deltaAfter,i,t.delta.g2_spx),!0!==g)return console.log(`INVALID(${A}): deltaAfter does not fillow the public key `),!1;if(1==t.type){const I=Mi(t.beaconHash,t.numIterationsExp),i=Q.Fr.fromRng(I),g=Q.G1.toAffine(Q.G1.fromRng(I)),e=Q.G1.toAffine(Q.G1.timesFr(g,i));if(!0!==Q.G1.eq(g,t.delta.g1_s))return console.log(`INVALID(${A}): Key of the beacon does not match. g1_s `),!1;if(!0!==Q.G1.eq(e,t.delta.g1_sx))return console.log(`INVALID(${A}): Key of the beacon does not match. g1_sx `),!1}qi(o,Q,t);const e=fi(64);qi(e,Q,t),t.contributionHash=e.digest(),E=t.deltaAfter}const{fd:a,sections:s}=await ZA(A,"zkey",2),h=await Ni(a,s,!1);if("groth16"!=h.protocol)throw new Error("zkeyinit file is not groth16");if(!ei.eq(h.q,C.q)||!ei.eq(h.r,C.r)||h.n8q!=C.n8q||h.n8r!=C.n8r)return i&&i.error("INVALID: Different curves"),!1;if(h.nVars!=C.nVars||h.nPublic!=C.nPublic||h.domainSize!=C.domainSize)return i&&i.error("INVALID: Different circuit parameters"),!1;if(!Q.G1.eq(C.vk_alpha_1,h.vk_alpha_1))return i&&i.error("INVALID: Invalid alpha1"),!1;if(!Q.G1.eq(C.vk_beta_1,h.vk_beta_1))return i&&i.error("INVALID: Invalid beta1"),!1;if(!Q.G2.eq(C.vk_beta_2,h.vk_beta_2))return i&&i.error("INVALID: Invalid beta2"),!1;if(!Q.G2.eq(C.vk_gamma_2,h.vk_gamma_2))return i&&i.error("INVALID: Invalid gamma2"),!1;if(!Q.G1.eq(C.vk_delta_1,E))return i&&i.error("INVALID: Invalid delta1"),!1;if(g=await $C(Q,Q.G1.g,E,Q.G2.g,C.vk_delta_2),!0!==g)return i&&i.error("INVALID: Invalid delta2"),!1;const f=await Ji(a,Q,s);if(!li(r.csHash,f.csHash))return i&&i.error("INVALID: Circuit does not match"),!1;if(n[8][0].size!=B*(C.nVars-C.nPublic-1))return i&&i.error("INVALID: Invalid L section size"),!1;if(n[9][0].size!=B*C.domainSize)return i&&i.error("INVALID: Invalid H section size"),!1;let w;if(w=await tt(e,n,a,s,3),!w)return i&&i.error("INVALID: IC section is not identical"),!1;if(w=await tt(e,n,a,s,4),!w)return i&&i.error("Coeffs section is not identical"),!1;if(w=await tt(e,n,a,s,5),!w)return i&&i.error("A section is not identical"),!1;if(w=await tt(e,n,a,s,6),!w)return i&&i.error("B1 section is not identical"),!1;if(w=await tt(e,n,a,s,7),!w)return i&&i.error("B2 section is not identical"),!1;if(g=await async function(A,t,I,e,n,C,B,r,o){const E=1<<20,a=Q[A],s=2*a.F.n8;await zA(t,I,C),await zA(e,n,C);let h=a.zero,f=a.zero;const w=I[C][0].size/s;for(let A=0;A<w;A+=E){i&&i.debug(`Same ratio check ${o}: ${A}/${w}`);const I=Math.min(w-A,E),g=await t.read(I*s),n=await e.read(I*s),C=new Uint8Array(4*I);hA.randomFillSync(C);const Q=await a.multiExpAffine(g,C),B=await a.multiExpAffine(n,C);h=a.add(h,Q),f=a.add(f,B)}return await WA(t),await WA(e),0==w||(g=await $C(Q,h,f,B,r),!0===g)}("G1",a,s,e,n,8,C.vk_delta_2,h.vk_delta_2,"L section"),!0!==g)return i&&i.error("L section does not match"),!1;if(g=await async function(){const A=1<<20,I=Q.G1,B=Q.Fr,r=2*I.F.n8,{fd:o,sections:E}=await ZA(t,"ptau",1);let a=new xI(C.domainSize*C.n8r);const s=new Array(8);for(let A=0;A<8;A++)s[A]=hA.randomBytes(4).readUInt32BE(0,!0);const f=new fI(s);for(let A=0;A<C.domainSize-1;A++){const t=B.fromRng(f);B.toRprLE(a,A*C.n8r,t)}B.toRprLE(a,(C.domainSize-1)*C.n8r,B.zero);let w,D=I.zero;for(let t=0;t<C.domainSize;t+=A){i&&i.debug(`H Verificaition(tau): ${t}/${C.domainSize}`);const g=Math.min(C.domainSize-t,A),e=await o.read(r*g,E[2][0].p+C.domainSize*r+t*r),n=await o.read(r*g,E[2][0].p+t*r),Q=await c(e,n),B=a.slice(t*C.n8r,(t+g)*C.n8r),s=await I.multiExpAffine(Q,B);D=I.add(D,s)}if(a=await B.batchToMontgomery(a),C.power<B.s)w=B.neg(B.e(2));else{const A=2**B.s,t=B.exp(B.shift,A);w=B.sub(t,B.one)}const u=C.power<B.s?B.w[C.power+1]:B.shift;a=await B.batchApplyKey(a,w,u),a=await B.fft(a),a=await B.batchFromMontgomery(a),await zA(e,n,9);let l=I.zero;for(let t=0;t<C.domainSize;t+=A){i&&i.debug(`H Verificaition(lagrange): ${t}/${C.domainSize}`);const g=Math.min(C.domainSize-t,A),n=await e.read(r*g),Q=a.slice(t*C.n8r,(t+g)*C.n8r),B=await I.multiExpAffine(n,Q);l=I.add(l,B)}return await WA(e),g=await $C(Q,D,l,C.vk_delta_2,h.vk_delta_2),!0===g}(),!0!==g)return i&&i.error("H section does not match"),!1;i&&i.info(ui(r.csHash,"Circuit Hash: ")),await e.close(),await a.close();for(let A=r.contributions.length-1;A>=0;A--){const t=r.contributions[A];i&&i.info("-------------------------"),i&&i.info(ui(t.contributionHash,`contribution #${A+1} ${t.name?t.name:""}:`)),1==t.type&&(i&&i.info(`Beacon generator: ${di(t.beaconHash)}`),i&&i.info(`Beacon iterations Exp: ${t.numIterationsExp}`))}return i&&i.info("-------------------------"),i&&i.info("ZKey Ok!"),!0;async function c(A,t){const I=2*Q.G1.F.n8,i=A.byteLength/I,g=Q.tm.concurrency,e=Math.floor(i/g),n=[];for(let I=0;I<g;I++){let C;if(C=I<g-1?e:i-I*e,0==C)continue;const Q=A.slice(I*e*B,(I*e+C)*B),r=t.slice(I*e*B,(I*e+C)*B);n.push(D(Q,r))}const C=await Promise.all(n),r=new Uint8Array(i*I);let o=0;for(let A=0;A<C.length;A++)r.set(C[A][0],o),o+=C[A][0].byteLength;return r}async function D(A,t){const I=2*Q.G1.F.n8,i=3*Q.G1.F.n8,g=A.byteLength/I,e=[];e.push({cmd:"ALLOCSET",var:0,buff:A}),e.push({cmd:"ALLOCSET",var:1,buff:t}),e.push({cmd:"ALLOC",var:2,len:g*i});for(let A=0;A<g;A++)e.push({cmd:"CALL",fnName:"g1m_subAffine",params:[{var:0,offset:A*I},{var:1,offset:A*I},{var:2,offset:A*i}]});e.push({cmd:"CALL",fnName:"g1m_batchToAffine",params:[{var:2},{val:g},{var:2}]}),e.push({cmd:"GET",out:0,var:2,len:g*I});return await Q.tm.queueAction(e)}}const{stringifyBigInts:tQ}=ni;async function IQ(A){const{fd:t,sections:I}=await ZA(A,"zkey",2),i=await Ni(t,I);let g;if("groth16"==i.protocol)g=await async function(A,t,I){const i=await Bi(A.q),g=2*i.G1.F.n8,e=await i.pairing(A.vk_alpha_1,A.vk_beta_2);let n={protocol:A.protocol,curve:i.name,nPublic:A.nPublic,vk_alpha_1:i.G1.toObject(A.vk_alpha_1),vk_beta_2:i.G2.toObject(A.vk_beta_2),vk_gamma_2:i.G2.toObject(A.vk_gamma_2),vk_delta_2:i.G2.toObject(A.vk_delta_2),vk_alphabeta_12:i.Gt.toObject(e)};await zA(t,I,3),n.IC=[];for(let I=0;I<=A.nPublic;I++){const A=await t.read(g),I=i.G1.toObject(A);n.IC.push(I)}return await WA(t),n=tQ(n),n}(i,t,I);else{if("plonk"!=i.protocol)throw new Error("zkey file is not groth16");g=await async function(A){const t=await Bi(A.q);let I={protocol:A.protocol,curve:t.name,nPublic:A.nPublic,power:A.power,k1:t.Fr.toObject(A.k1),k2:t.Fr.toObject(A.k2),Qm:t.G1.toObject(A.Qm),Ql:t.G1.toObject(A.Ql),Qr:t.G1.toObject(A.Qr),Qo:t.G1.toObject(A.Qo),Qc:t.G1.toObject(A.Qc),S1:t.G1.toObject(A.S1),S2:t.G1.toObject(A.S2),S3:t.G1.toObject(A.S3),X_2:t.G2.toObject(A.X_2),w:t.Fr.toObject(t.Fr.w[A.power])};return I=tQ(I),I}(i)}return await t.close(),g}var iQ={};var gQ=Object.freeze({__proto__:null,newZKey:_C,exportBellman:async function(A,t,I){const{fd:i,sections:g}=await ZA(A,"zkey",2),e=await Ni(i,g);if("groth16"!=e.protocol)throw new Error("zkey file is not groth16");const n=await Bi(e.q),C=2*n.G1.F.n8,Q=2*n.G2.F.n8,B=await Ji(i,n,g),r=await XA(t);let o;await c(e.vk_alpha_1),await c(e.vk_beta_1),await D(e.vk_beta_2),await D(e.vk_gamma_2),await c(e.vk_delta_1),await D(e.vk_delta_2),o=await At(i,g,3),o=await n.G1.batchLEMtoU(o),await u("G1",o);const E=await At(i,g,9);let a,s,h,f,w;a=await n.G1.fft(E,"affine","jacobian",I),a=await n.G1.batchApplyKey(a,n.Fr.neg(n.Fr.e(2)),n.Fr.w[e.power+1],"jacobian","affine",I),a=a.slice(0,a.byteLength-C),a=await n.G1.batchLEMtoU(a),await u("G1",a),s=await At(i,g,8),s=await n.G1.batchLEMtoU(s),await u("G1",s),h=await At(i,g,5),h=await n.G1.batchLEMtoU(h),await u("G1",h),f=await At(i,g,6),f=await n.G1.batchLEMtoU(f),await u("G1",f),w=await At(i,g,7),w=await n.G2.batchLEMtoU(w),await u("G2",w),await r.write(B.csHash),await async function(A){const t=new Uint8Array(4);new DataView(t.buffer,t.byteOffset,t.byteLength).setUint32(0,A,!1),await r.write(t)}(B.contributions.length);for(let A=0;A<B.contributions.length;A++){const t=B.contributions[A];await c(t.deltaAfter),await c(t.delta.g1_s),await c(t.delta.g1_sx),await D(t.delta.g2_spx),await r.write(t.transcript)}async function c(A){const t=new Uint8Array(C);n.G1.toRprUncompressed(t,0,A),await r.write(t)}async function D(A){const t=new Uint8Array(Q);n.G2.toRprUncompressed(t,0,A),await r.write(t)}async function u(A,t){let I;I="G1"==A?C:Q;const i=new Uint8Array(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,t.byteLength/I,!1),await r.write(i),await r.write(t)}await i.close(),await r.close()},importBellman:async function(A,t,I,i,g){const{fd:e,sections:n}=await ZA(A,"zkey",2),C=await Ni(e,n,!1);if("groth16"!=C.protocol)throw new Error("zkey file is not groth16");const Q=await Bi(C.q),B=2*Q.G1.F.n8,r=2*Q.G2.F.n8,o=await Ji(e,Q,n),E={},a=await OA(t);a.pos=3*B+3*r+8+B*C.nVars+4+B*(C.domainSize-1)+4+B*C.nVars+4+B*C.nVars+4+r*C.nVars,E.csHash=await a.read(64);const s=await a.readUBE32();E.contributions=[];for(let A=0;A<s;A++){const t={delta:{}};t.deltaAfter=await y(a),t.delta.g1_s=await y(a),t.delta.g1_sx=await y(a),t.delta.g2_spx=await p(a),t.transcript=await a.read(64),A<o.contributions.length&&(t.type=o.contributions[A].type,1==t.type&&(t.beaconHash=o.contributions[A].beaconHash,t.numIterationsExp=o.contributions[A].numIterationsExp),o.contributions[A].name&&(t.name=o.contributions[A].name)),E.contributions.push(t)}if(!li(E.csHash,o.csHash))return g&&g.error("Hash of the original circuit does not match with the MPC one"),!1;if(o.contributions.length>E.contributions.length)return g&&g.error("The impoerted file does not include new contributions"),!1;for(let A=0;A<o.contributions.length;A++)if(!F(o.contributions[A],E.contributions[A]))return g&&g.error(`Previos contribution ${A} does not match`),!1;if(i)for(let A=o.contributions.length;A<E.contributions.length;A++)E.contributions[A].name=i;const h=await VA(I,"zkey",1,10);if(a.pos=0,a.pos+=B,a.pos+=B,a.pos+=r,a.pos+=r,C.vk_delta_1=await y(a),C.vk_delta_2=await p(a),await Gi(h,C),await a.readUBE32()!=C.nPublic+1)return g&&g.error("Invalid number of points in IC"),await h.discard(),!1;if(a.pos+=B*(C.nPublic+1),await $A(e,n,h,3),await $A(e,n,h,4),await a.readUBE32()!=C.domainSize-1)return g&&g.error("Invalid number of points in H"),await h.discard(),!1;let f;const w=await a.read(B*(C.domainSize-1)),c=await Q.G1.batchUtoLEM(w);f=new Uint8Array(C.domainSize*B),f.set(c),Q.G1.toRprLEM(f,B*(C.domainSize-1),Q.G1.zeroAffine);const D=Q.Fr.neg(Q.Fr.inv(Q.Fr.e(2))),u=Q.Fr.inv(Q.Fr.w[C.power+1]);if(f=await Q.G1.batchApplyKey(f,D,u,"affine","jacobian",g),f=await Q.G1.ifft(f,"jacobian","affine",g),await KA(h,9),await h.write(f),await jA(h),await a.readUBE32()!=C.nVars-C.nPublic-1)return g&&g.error("Invalid number of points in L"),await h.discard(),!1;let l;return l=await a.read(B*(C.nVars-C.nPublic-1)),l=await Q.G1.batchUtoLEM(l),await KA(h,8),await h.write(l),await jA(h),await a.readUBE32()!=C.nVars?(g&&g.error("Invalid number of points in A"),await h.discard(),!1):(a.pos+=B*C.nVars,await $A(e,n,h,5),await a.readUBE32()!=C.nVars?(g&&g.error("Invalid number of points in B1"),await h.discard(),!1):(a.pos+=B*C.nVars,await $A(e,n,h,6),await a.readUBE32()!=C.nVars?(g&&g.error("Invalid number of points in B2"),await h.discard(),!1):(a.pos+=r*C.nVars,await $A(e,n,h,7),await vi(h,Q,E),await a.close(),await h.close(),await e.close(),!0)));async function y(A){const t=await A.read(2*Q.G1.F.n8);return Q.G1.fromRprUncompressed(t,0)}async function p(A){const t=await A.read(2*Q.G2.F.n8);return Q.G2.fromRprUncompressed(t,0)}function F(A,t){return!!Q.G1.eq(A.deltaAfter,t.deltaAfter)&&(!!Q.G1.eq(A.delta.g1_s,t.delta.g1_s)&&(!!Q.G1.eq(A.delta.g1_sx,t.delta.g1_sx)&&(!!Q.G2.eq(A.delta.g2_spx,t.delta.g2_spx)&&!!li(A.transcript,t.transcript))))}},verifyFromR1cs:async function(A,t,I,i){const g={type:"bigMem"};return await _C(A,t,g,i),await AQ(g,t,I,i)},verifyFromInit:AQ,contribute:async function(A,t,I,i,g){await fi.ready();const{fd:e,sections:n}=await ZA(A,"zkey",2),C=await Ni(e,n);if("groth16"!=C.protocol)throw new Error("zkey file is not groth16");const Q=await Bi(C.q),B=await Ji(e,Q,n),r=await VA(t,"zkey",1,10),o=await Fi(i),E=fi(64);E.update(B.csHash);for(let A=0;A<B.contributions.length;A++)qi(E,Q,B.contributions[A]);const a={delta:{}};a.delta.prvKey=Q.Fr.fromRng(o),a.delta.g1_s=Q.G1.toAffine(Q.G1.fromRng(o)),a.delta.g1_sx=Q.G1.toAffine(Q.G1.timesFr(a.delta.g1_s,a.delta.prvKey)),Ri(E,Q,a.delta.g1_s),Ri(E,Q,a.delta.g1_sx),a.transcript=E.digest(),a.delta.g2_sp=le(Q,a.transcript),a.delta.g2_spx=Q.G2.toAffine(Q.G2.timesFr(a.delta.g2_sp,a.delta.prvKey)),C.vk_delta_1=Q.G1.timesFr(C.vk_delta_1,a.delta.prvKey),C.vk_delta_2=Q.G2.timesFr(C.vk_delta_2,a.delta.prvKey),a.deltaAfter=C.vk_delta_1,a.type=0,I&&(a.name=I),B.contributions.push(a),await Gi(r,C),await $A(e,n,r,3),await $A(e,n,r,4),await $A(e,n,r,5),await $A(e,n,r,6),await $A(e,n,r,7);const s=Q.Fr.inv(a.delta.prvKey);await ve(e,n,r,8,Q,"G1",s,Q.Fr.e(1),"L Section",g),await ve(e,n,r,9,Q,"G1",s,Q.Fr.e(1),"H Section",g),await vi(r,Q,B),await e.close(),await r.close();const h=fi(64);qi(h,Q,a);const f=h.digest();return g&&g.info(ui(B.csHash,"Circuit Hash: ")),g&&g.info(ui(f,"Contribution Hash: ")),f},beacon:async function(A,t,I,i,g,e){await fi.ready();const n=mi(i);if(0==n.byteLength||2*n.byteLength!=i.length)return e&&e.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(n.length>=256)return e&&e.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return e&&e.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;const{fd:C,sections:Q}=await ZA(A,"zkey",2),B=await Ni(C,Q);if("groth16"!=B.protocol)throw new Error("zkey file is not groth16");const r=await Bi(B.q),o=await Ji(C,r,Q),E=await VA(t,"zkey",1,10),a=await Mi(n,g),s=fi(64);s.update(o.csHash);for(let A=0;A<o.contributions.length;A++)qi(s,r,o.contributions[A]);const h={delta:{}};h.delta.prvKey=r.Fr.fromRng(a),h.delta.g1_s=r.G1.toAffine(r.G1.fromRng(a)),h.delta.g1_sx=r.G1.toAffine(r.G1.timesFr(h.delta.g1_s,h.delta.prvKey)),Ri(s,r,h.delta.g1_s),Ri(s,r,h.delta.g1_sx),h.transcript=s.digest(),h.delta.g2_sp=le(r,h.transcript),h.delta.g2_spx=r.G2.toAffine(r.G2.timesFr(h.delta.g2_sp,h.delta.prvKey)),B.vk_delta_1=r.G1.timesFr(B.vk_delta_1,h.delta.prvKey),B.vk_delta_2=r.G2.timesFr(B.vk_delta_2,h.delta.prvKey),h.deltaAfter=B.vk_delta_1,h.type=1,h.numIterationsExp=g,h.beaconHash=n,I&&(h.name=I),o.contributions.push(h),await Gi(E,B),await $A(C,Q,E,3),await $A(C,Q,E,4),await $A(C,Q,E,5),await $A(C,Q,E,6),await $A(C,Q,E,7);const f=r.Fr.inv(h.delta.prvKey);await ve(C,Q,E,8,r,"G1",f,r.Fr.e(1),"L Section",e),await ve(C,Q,E,9,r,"G1",f,r.Fr.e(1),"H Section",e),await vi(E,r,o),await C.close(),await E.close();const w=fi(64);qi(w,r,h);const c=w.digest();return e&&e.info(ui(c,"Contribution Hash: ")),c},exportJson:async function(A){return await async function(A,t){const{fd:I,sections:i}=await ZA(A,"zkey",1),g=await Ni(I,i,"groth16"),e=new FI(g.r),n=ei.mod(ei.shl(1,8*g.n8r),g.r),C=e.inv(n),Q=e.mul(C,C);let B=await Bi(g.q);await zA(I,i,3),g.IC=[];for(let A=0;A<=g.nPublic;A++){const A=await Ui(I,B,t);g.IC.push(A)}await WA(I),await zA(I,i,4);const r=await I.readULE32();g.ccoefs=[];for(let A=0;A<r;A++){const A=await I.readULE32(),t=await I.readULE32(),i=await I.readULE32(),e=await o();g.ccoefs.push({matrix:A,constraint:t,signal:i,value:e})}await WA(I),await zA(I,i,5),g.A=[];for(let A=0;A<g.nVars;A++){const i=await Ui(I,B,t);g.A[A]=i}await WA(I),await zA(I,i,6),g.B1=[];for(let A=0;A<g.nVars;A++){const i=await Ui(I,B,t);g.B1[A]=i}await WA(I),await zA(I,i,7),g.B2=[];for(let A=0;A<g.nVars;A++){const i=await Li(I,B,t);g.B2[A]=i}await WA(I),await zA(I,i,8),g.C=[];for(let A=g.nPublic+1;A<g.nVars;A++){const i=await Ui(I,B,t);g.C[A]=i}await WA(I),await zA(I,i,9),g.hExps=[];for(let A=0;A<g.domainSize;A++){const A=await Ui(I,B,t);g.hExps.push(A)}return await WA(I),await I.close(),g;async function o(){const A=await _A(I,g.n8r);return e.mul(A,Q)}}(A,!0)},bellmanContribute:async function(A,t,I,i,g){await fi.ready();const e=await Fi(i),n=A.Fr.fromRng(e),C=A.Fr.inv(n),Q=2*A.G1.F.n8,B=2*A.G2.F.n8,r=await OA(t),o=await XA(I);await G(Q),await G(Q),await G(B),await G(B);const E=await b(),a=A.G1.timesFr(E,n);await U(a);const s=await H(),h=A.G2.timesFr(s,n);await L(h);const f=await r.readUBE32();await o.writeUBE32(f),await G(f*Q);const w=await r.readUBE32();await o.writeUBE32(w),await Re(r,o,null,A,"G1",w,C,A.Fr.e(1),"UNCOMPRESSED","H",g);const c=await r.readUBE32();await o.writeUBE32(c),await Re(r,o,null,A,"G1",c,C,A.Fr.e(1),"UNCOMPRESSED","L",g);const D=await r.readUBE32();await o.writeUBE32(D),await G(D*Q);const u=await r.readUBE32();await o.writeUBE32(u),await G(u*Q);const l=await r.readUBE32();await o.writeUBE32(l),await G(l*B);const y=fi(64),p={};p.csHash=await r.read(64),y.update(p.csHash);const F=await r.readUBE32();p.contributions=[];for(let t=0;t<F;t++){const t={delta:{}};t.deltaAfter=await b(),t.delta.g1_s=await b(),t.delta.g1_sx=await b(),t.delta.g2_spx=await H(),t.transcript=await r.read(64),p.contributions.push(t),qi(y,A,t)}const M={delta:{}};M.delta.prvKey=n,M.delta.g1_s=A.G1.toAffine(A.G1.fromRng(e)),M.delta.g1_sx=A.G1.toAffine(A.G1.timesFr(M.delta.g1_s,n)),Ri(y,A,M.delta.g1_s),Ri(y,A,M.delta.g1_sx),M.transcript=y.digest(),M.delta.g2_sp=le(A,M.transcript),M.delta.g2_spx=A.G2.toAffine(A.G2.timesFr(M.delta.g2_sp,n)),M.deltaAfter=a,M.type=0,p.contributions.push(M),await o.write(p.csHash),await o.writeUBE32(p.contributions.length);for(let A=0;A<p.contributions.length;A++){const t=p.contributions[A];await U(t.deltaAfter),await U(t.delta.g1_s),await U(t.delta.g1_sx),await L(t.delta.g2_spx),await o.write(t.transcript)}const m=fi(64);qi(m,A,M);const d=m.digest();return g&&g.info(ui(d,"Contribution Hash: ")),await o.close(),await r.close(),d;async function G(A){const t=2*r.pageSize;for(let I=0;I<A;I+=t){const i=Math.min(A-I,t),g=await r.read(i);await o.write(g)}}async function b(){const t=await r.read(2*A.G1.F.n8);return A.G1.fromRprUncompressed(t,0)}async function H(){const t=await r.read(2*A.G2.F.n8);return A.G2.fromRprUncompressed(t,0)}async function U(t){const I=new Uint8Array(Q);A.G1.toRprUncompressed(I,0,t),await o.write(I)}async function L(t){const I=new Uint8Array(B);A.G2.toRprUncompressed(I,0,t),await o.write(I)}},exportVerificationKey:IQ,exportSolidityVerifier:async function(A,t,I){const i=await IQ(A);let g=t[i.protocol];return iQ.render(g,i)}});
|
|
/**
|
|
* [js-sha3]{@link https://github.com/emn178/js-sha3}
|
|
*
|
|
* @version 0.8.0
|
|
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
* @copyright Chen, Yi-Cyuan 2015-2018
|
|
* @license MIT
|
|
*/
|
|
var eQ=r((function(A){!function(){var t="input is invalid type",I="object"==typeof window,i=I?window:{};i.JS_SHA3_NO_WINDOW&&(I=!1);var g=!I&&"object"==typeof self;!i.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node?i=B:g&&(i=self);var e=!i.JS_SHA3_NO_COMMON_JS&&A.exports,n=!i.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,C="0123456789abcdef".split(""),Q=[4,1024,262144,67108864],r=[0,8,16,24],o=[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],E=[224,256,384,512],a=[128,256],s=["hex","buffer","arrayBuffer","array","digest"],h={128:168,256:136};!i.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(A){return"[object Array]"===Object.prototype.toString.call(A)}),!n||!i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(A){return"object"==typeof A&&A.buffer&&A.buffer.constructor===ArrayBuffer});for(var f=function(A,t,I){return function(i){return new U(A,t,A).update(i)[I]()}},w=function(A,t,I){return function(i,g){return new U(A,t,g).update(i)[I]()}},c=function(A,t,I){return function(t,i,g,e){return p["cshake"+A].update(t,i,g,e)[I]()}},D=function(A,t,I){return function(t,i,g,e){return p["kmac"+A].update(t,i,g,e)[I]()}},u=function(A,t,I,i){for(var g=0;g<s.length;++g){var e=s[g];A[e]=t(I,i,e)}return A},l=function(A,t){var I=f(A,t,"hex");return I.create=function(){return new U(A,t,A)},I.update=function(A){return I.create().update(A)},u(I,f,A,t)},y=[{name:"keccak",padding:[1,256,65536,16777216],bits:E,createMethod:l},{name:"sha3",padding:[6,1536,393216,100663296],bits:E,createMethod:l},{name:"shake",padding:[31,7936,2031616,520093696],bits:a,createMethod:function(A,t){var I=w(A,t,"hex");return I.create=function(I){return new U(A,t,I)},I.update=function(A,t){return I.create(t).update(A)},u(I,w,A,t)}},{name:"cshake",padding:Q,bits:a,createMethod:function(A,t){var I=h[A],i=c(A,0,"hex");return i.create=function(i,g,e){return g||e?new U(A,t,i).bytepad([g,e],I):p["shake"+A].create(i)},i.update=function(A,t,I,g){return i.create(t,I,g).update(A)},u(i,c,A,t)}},{name:"kmac",padding:Q,bits:a,createMethod:function(A,t){var I=h[A],i=D(A,0,"hex");return i.create=function(i,g,e){return new L(A,t,g).bytepad(["KMAC",e],I).bytepad([i],I)},i.update=function(A,t,I,g){return i.create(A,I,g).update(t)},u(i,D,A,t)}}],p={},F=[],M=0;M<y.length;++M)for(var m=y[M],d=m.bits,G=0;G<d.length;++G){var b=m.name+"_"+d[G];if(F.push(b),p[b]=m.createMethod(d[G],m.padding),"sha3"!==m.name){var H=m.name+d[G];F.push(H),p[H]=p[b]}}function U(A,t,I){this.blocks=[],this.s=[],this.padding=t,this.outputBits=I,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(A<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=I>>5,this.extraBytes=(31&I)>>3;for(var i=0;i<50;++i)this.s[i]=0}function L(A,t,I){U.call(this,A,t,I)}U.prototype.update=function(A){if(this.finalized)throw new Error("finalize already called");var I,i=typeof A;if("string"!==i){if("object"!==i)throw new Error(t);if(null===A)throw new Error(t);if(n&&A.constructor===ArrayBuffer)A=new Uint8Array(A);else if(!(Array.isArray(A)||n&&ArrayBuffer.isView(A)))throw new Error(t);I=!0}for(var g,e,C=this.blocks,Q=this.byteCount,B=A.length,o=this.blockCount,E=0,a=this.s;E<B;){if(this.reset)for(this.reset=!1,C[0]=this.block,g=1;g<o+1;++g)C[g]=0;if(I)for(g=this.start;E<B&&g<Q;++E)C[g>>2]|=A[E]<<r[3&g++];else for(g=this.start;E<B&&g<Q;++E)(e=A.charCodeAt(E))<128?C[g>>2]|=e<<r[3&g++]:e<2048?(C[g>>2]|=(192|e>>6)<<r[3&g++],C[g>>2]|=(128|63&e)<<r[3&g++]):e<55296||e>=57344?(C[g>>2]|=(224|e>>12)<<r[3&g++],C[g>>2]|=(128|e>>6&63)<<r[3&g++],C[g>>2]|=(128|63&e)<<r[3&g++]):(e=65536+((1023&e)<<10|1023&A.charCodeAt(++E)),C[g>>2]|=(240|e>>18)<<r[3&g++],C[g>>2]|=(128|e>>12&63)<<r[3&g++],C[g>>2]|=(128|e>>6&63)<<r[3&g++],C[g>>2]|=(128|63&e)<<r[3&g++]);if(this.lastByteIndex=g,g>=Q){for(this.start=g-Q,this.block=C[o],g=0;g<o;++g)a[g]^=C[g];N(a),this.reset=!0}else this.start=g}return this},U.prototype.encode=function(A,t){var I=255&A,i=1,g=[I];for(I=255&(A>>=8);I>0;)g.unshift(I),I=255&(A>>=8),++i;return t?g.push(i):g.unshift(i),this.update(g),g.length},U.prototype.encodeString=function(A){var I,i=typeof A;if("string"!==i){if("object"!==i)throw new Error(t);if(null===A)throw new Error(t);if(n&&A.constructor===ArrayBuffer)A=new Uint8Array(A);else if(!(Array.isArray(A)||n&&ArrayBuffer.isView(A)))throw new Error(t);I=!0}var g=0,e=A.length;if(I)g=e;else for(var C=0;C<A.length;++C){var Q=A.charCodeAt(C);Q<128?g+=1:Q<2048?g+=2:Q<55296||Q>=57344?g+=3:(Q=65536+((1023&Q)<<10|1023&A.charCodeAt(++C)),g+=4)}return g+=this.encode(8*g),this.update(A),g},U.prototype.bytepad=function(A,t){for(var I=this.encode(t),i=0;i<A.length;++i)I+=this.encodeString(A[i]);var g=t-I%t,e=[];return e.length=g,this.update(e),this},U.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var A=this.blocks,t=this.lastByteIndex,I=this.blockCount,i=this.s;if(A[t>>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(A[0]=A[I],t=1;t<I+1;++t)A[t]=0;for(A[I-1]|=2147483648,t=0;t<I;++t)i[t]^=A[t];N(i)}},U.prototype.toString=U.prototype.hex=function(){this.finalize();for(var A,t=this.blockCount,I=this.s,i=this.outputBlocks,g=this.extraBytes,e=0,n=0,Q="";n<i;){for(e=0;e<t&&n<i;++e,++n)A=I[e],Q+=C[A>>4&15]+C[15&A]+C[A>>12&15]+C[A>>8&15]+C[A>>20&15]+C[A>>16&15]+C[A>>28&15]+C[A>>24&15];n%t==0&&(N(I),e=0)}return g&&(A=I[e],Q+=C[A>>4&15]+C[15&A],g>1&&(Q+=C[A>>12&15]+C[A>>8&15]),g>2&&(Q+=C[A>>20&15]+C[A>>16&15])),Q},U.prototype.arrayBuffer=function(){this.finalize();var A,t=this.blockCount,I=this.s,i=this.outputBlocks,g=this.extraBytes,e=0,n=0,C=this.outputBits>>3;A=g?new ArrayBuffer(i+1<<2):new ArrayBuffer(C);for(var Q=new Uint32Array(A);n<i;){for(e=0;e<t&&n<i;++e,++n)Q[n]=I[e];n%t==0&&N(I)}return g&&(Q[e]=I[e],A=A.slice(0,C)),A},U.prototype.buffer=U.prototype.arrayBuffer,U.prototype.digest=U.prototype.array=function(){this.finalize();for(var A,t,I=this.blockCount,i=this.s,g=this.outputBlocks,e=this.extraBytes,n=0,C=0,Q=[];C<g;){for(n=0;n<I&&C<g;++n,++C)A=C<<2,t=i[n],Q[A]=255&t,Q[A+1]=t>>8&255,Q[A+2]=t>>16&255,Q[A+3]=t>>24&255;C%I==0&&N(i)}return e&&(A=C<<2,t=i[n],Q[A]=255&t,e>1&&(Q[A+1]=t>>8&255),e>2&&(Q[A+2]=t>>16&255)),Q},L.prototype=new U,L.prototype.finalize=function(){return this.encode(this.outputBits,!0),U.prototype.finalize.call(this)};var N=function(A){var t,I,i,g,e,n,C,Q,B,r,E,a,s,h,f,w,c,D,u,l,y,p,F,M,m,d,G,b,H,U,L,N,k,J,S,v,R,q,Y,x,P,X,O,Z,V,K,j,z,W,T,_,$,AA,tA,IA,iA,gA,eA,nA,CA,QA,BA,rA;for(i=0;i<48;i+=2)g=A[0]^A[10]^A[20]^A[30]^A[40],e=A[1]^A[11]^A[21]^A[31]^A[41],n=A[2]^A[12]^A[22]^A[32]^A[42],C=A[3]^A[13]^A[23]^A[33]^A[43],Q=A[4]^A[14]^A[24]^A[34]^A[44],B=A[5]^A[15]^A[25]^A[35]^A[45],r=A[6]^A[16]^A[26]^A[36]^A[46],E=A[7]^A[17]^A[27]^A[37]^A[47],t=(a=A[8]^A[18]^A[28]^A[38]^A[48])^(n<<1|C>>>31),I=(s=A[9]^A[19]^A[29]^A[39]^A[49])^(C<<1|n>>>31),A[0]^=t,A[1]^=I,A[10]^=t,A[11]^=I,A[20]^=t,A[21]^=I,A[30]^=t,A[31]^=I,A[40]^=t,A[41]^=I,t=g^(Q<<1|B>>>31),I=e^(B<<1|Q>>>31),A[2]^=t,A[3]^=I,A[12]^=t,A[13]^=I,A[22]^=t,A[23]^=I,A[32]^=t,A[33]^=I,A[42]^=t,A[43]^=I,t=n^(r<<1|E>>>31),I=C^(E<<1|r>>>31),A[4]^=t,A[5]^=I,A[14]^=t,A[15]^=I,A[24]^=t,A[25]^=I,A[34]^=t,A[35]^=I,A[44]^=t,A[45]^=I,t=Q^(a<<1|s>>>31),I=B^(s<<1|a>>>31),A[6]^=t,A[7]^=I,A[16]^=t,A[17]^=I,A[26]^=t,A[27]^=I,A[36]^=t,A[37]^=I,A[46]^=t,A[47]^=I,t=r^(g<<1|e>>>31),I=E^(e<<1|g>>>31),A[8]^=t,A[9]^=I,A[18]^=t,A[19]^=I,A[28]^=t,A[29]^=I,A[38]^=t,A[39]^=I,A[48]^=t,A[49]^=I,h=A[0],f=A[1],K=A[11]<<4|A[10]>>>28,j=A[10]<<4|A[11]>>>28,b=A[20]<<3|A[21]>>>29,H=A[21]<<3|A[20]>>>29,CA=A[31]<<9|A[30]>>>23,QA=A[30]<<9|A[31]>>>23,X=A[40]<<18|A[41]>>>14,O=A[41]<<18|A[40]>>>14,J=A[2]<<1|A[3]>>>31,S=A[3]<<1|A[2]>>>31,w=A[13]<<12|A[12]>>>20,c=A[12]<<12|A[13]>>>20,z=A[22]<<10|A[23]>>>22,W=A[23]<<10|A[22]>>>22,U=A[33]<<13|A[32]>>>19,L=A[32]<<13|A[33]>>>19,BA=A[42]<<2|A[43]>>>30,rA=A[43]<<2|A[42]>>>30,tA=A[5]<<30|A[4]>>>2,IA=A[4]<<30|A[5]>>>2,v=A[14]<<6|A[15]>>>26,R=A[15]<<6|A[14]>>>26,D=A[25]<<11|A[24]>>>21,u=A[24]<<11|A[25]>>>21,T=A[34]<<15|A[35]>>>17,_=A[35]<<15|A[34]>>>17,N=A[45]<<29|A[44]>>>3,k=A[44]<<29|A[45]>>>3,M=A[6]<<28|A[7]>>>4,m=A[7]<<28|A[6]>>>4,iA=A[17]<<23|A[16]>>>9,gA=A[16]<<23|A[17]>>>9,q=A[26]<<25|A[27]>>>7,Y=A[27]<<25|A[26]>>>7,l=A[36]<<21|A[37]>>>11,y=A[37]<<21|A[36]>>>11,$=A[47]<<24|A[46]>>>8,AA=A[46]<<24|A[47]>>>8,Z=A[8]<<27|A[9]>>>5,V=A[9]<<27|A[8]>>>5,d=A[18]<<20|A[19]>>>12,G=A[19]<<20|A[18]>>>12,eA=A[29]<<7|A[28]>>>25,nA=A[28]<<7|A[29]>>>25,x=A[38]<<8|A[39]>>>24,P=A[39]<<8|A[38]>>>24,p=A[48]<<14|A[49]>>>18,F=A[49]<<14|A[48]>>>18,A[0]=h^~w&D,A[1]=f^~c&u,A[10]=M^~d&b,A[11]=m^~G&H,A[20]=J^~v&q,A[21]=S^~R&Y,A[30]=Z^~K&z,A[31]=V^~j&W,A[40]=tA^~iA&eA,A[41]=IA^~gA&nA,A[2]=w^~D&l,A[3]=c^~u&y,A[12]=d^~b&U,A[13]=G^~H&L,A[22]=v^~q&x,A[23]=R^~Y&P,A[32]=K^~z&T,A[33]=j^~W&_,A[42]=iA^~eA&CA,A[43]=gA^~nA&QA,A[4]=D^~l&p,A[5]=u^~y&F,A[14]=b^~U&N,A[15]=H^~L&k,A[24]=q^~x&X,A[25]=Y^~P&O,A[34]=z^~T&$,A[35]=W^~_&AA,A[44]=eA^~CA&BA,A[45]=nA^~QA&rA,A[6]=l^~p&h,A[7]=y^~F&f,A[16]=U^~N&M,A[17]=L^~k&m,A[26]=x^~X&J,A[27]=P^~O&S,A[36]=T^~$&Z,A[37]=_^~AA&V,A[46]=CA^~BA&tA,A[47]=QA^~rA&IA,A[8]=p^~h&w,A[9]=F^~f&c,A[18]=N^~M&d,A[19]=k^~m&G,A[28]=X^~J&v,A[29]=O^~S&R,A[38]=$^~Z&K,A[39]=AA^~V&j,A[48]=BA^~tA&iA,A[49]=rA^~IA&gA,A[0]^=o[i],A[1]^=o[i+1]};if(e)A.exports=p;else for(M=0;M<F.length;++M)i[F[M]]=p[F[M]]}()}));const{stringifyBigInts:nQ}=ni,{keccak256:CQ}=eQ;async function QQ(A,t,I){const{fd:i,sections:g}=await ZA(t,"wtns",2),e=await Yi(i,g),{fd:n,sections:C}=await ZA(A,"zkey",2),Q=await Ni(n,C);if("plonk"!=Q.protocol)throw new Error("zkey file is not groth16");if(!ei.eq(Q.r,e.q))throw new Error("Curve of the witness does not match the curve of the proving key");if(e.nWitness!=Q.nVars-Q.nAdditions)throw new Error(`Invalid witness length. Circuit: ${Q.nVars}, witness: ${e.nWitness}, ${Q.nAdditions}`);const B=await Bi(Q.q),r=B.Fr,o=B.G1,E=B.Fr.n8;I&&I.debug("Reading Wtns");const a=await At(i,g,2);a.set(r.zero,0);const s=new xI(E*Q.nAdditions);let h,f,w,c,D,u,l,y,p,F,M,m,d,G;await async function(){const A=await At(n,C,3),t=8+2*B.Fr.n8;for(let I=0;I<Q.nAdditions;I++){const i=v(A,I*t),g=v(A,I*t+4),e=A.slice(I*t+8,I*t+8+E),n=A.slice(I*t+8+E,I*t+8+2*E),C=R(i),Q=R(g),r=B.Fr.add(B.Fr.mul(e,C),B.Fr.mul(n,Q));s.set(r,E*I)}}();let b={};const H=new xI(Q.domainSize*E*4*3);let U=C[12][0].p+Q.domainSize*E;await n.readToBuffer(H,0,Q.domainSize*E*4,U),U+=Q.domainSize*E*5,await n.readToBuffer(H,Q.domainSize*E*4,Q.domainSize*E*4,U),U+=Q.domainSize*E*5,await n.readToBuffer(H,Q.domainSize*E*8,Q.domainSize*E*4,U);const L=new xI(Q.domainSize*E);await n.readToBuffer(L,0,Q.domainSize*E,C[12][0].p);const N=new xI(Q.domainSize*E);await n.readToBuffer(N,0,Q.domainSize*E,C[12][0].p+5*Q.domainSize*E);const k=await At(n,C,14),J={};await async function(){J.b=[];for(let A=1;A<=9;A++)J.b[A]=B.Fr.random();[h,f,w]=await async function(){let A=new xI(Q.domainSize*E),t=new xI(Q.domainSize*E),I=new xI(Q.domainSize*E);const i=await At(n,C,4),g=await At(n,C,5),e=await At(n,C,6);for(let n=0;n<Q.nConstrains;n++){const C=v(i,4*n);A.set(R(C),n*E);const Q=v(g,4*n);t.set(R(Q),n*E);const B=v(e,4*n);I.set(R(B),n*E)}return A=await r.batchToMontgomery(A),t=await r.batchToMontgomery(t),I=await r.batchToMontgomery(I),[A,t,I]}(),[p,D]=await X(h,[J.b[2],J.b[1]]),[F,u]=await X(f,[J.b[4],J.b[3]]),[M,l]=await X(w,[J.b[6],J.b[5]]),b.A=await P(p,"multiexp A"),b.B=await P(F,"multiexp B"),b.C=await P(M,"multiexp C")}(),await async function(){const A=new Uint8Array(2*o.F.n8*3);o.toRprUncompressed(A,0,b.A),o.toRprUncompressed(A,2*o.F.n8,b.B),o.toRprUncompressed(A,4*o.F.n8,b.C),J.beta=q(A),I&&I.debug("beta: "+r.toString(J.beta));const t=new Uint8Array(E);r.toRprBE(t,0,J.beta),J.gamma=q(t),I&&I.debug("gamma: "+r.toString(J.gamma));let i=new xI(r.n8*Q.domainSize),g=new xI(r.n8*Q.domainSize);i.set(r.one,0),g.set(r.one,0);let e=r.one;for(let A=0;A<Q.domainSize;A++){let t=h.slice(A*E,(A+1)*E);t=r.add(t,r.mul(J.beta,e)),t=r.add(t,J.gamma);let I=f.slice(A*E,(A+1)*E);I=r.add(I,r.mul(Q.k1,r.mul(J.beta,e))),I=r.add(I,J.gamma);let n=w.slice(A*E,(A+1)*E);n=r.add(n,r.mul(Q.k2,r.mul(J.beta,e))),n=r.add(n,J.gamma);const C=r.mul(t,r.mul(I,n));let B=h.slice(A*E,(A+1)*E);B=r.add(B,r.mul(H.slice(A*E*4,A*E*4+E),J.beta)),B=r.add(B,J.gamma);let o=f.slice(A*E,(A+1)*E);o=r.add(o,r.mul(H.slice(4*(Q.domainSize+A)*E,4*(Q.domainSize+A)*E+E),J.beta)),o=r.add(o,J.gamma);let a=w.slice(A*E,(A+1)*E);a=r.add(a,r.mul(H.slice(4*(2*Q.domainSize+A)*E,4*(2*Q.domainSize+A)*E+E),J.beta)),a=r.add(a,J.gamma);const s=r.mul(B,r.mul(o,a));i.set(r.mul(i.slice(A*E,(A+1)*E),C),(A+1)%Q.domainSize*E),g.set(r.mul(g.slice(A*E,(A+1)*E),s),(A+1)%Q.domainSize*E),e=r.mul(e,r.w[Q.power])}g=await r.batchInverse(g);for(let A=0;A<Q.domainSize;A++)i.set(r.mul(i.slice(A*E,(A+1)*E),g.slice(A*E,(A+1)*E)),A*E);if(!r.eq(i.slice(0,E),r.one))throw new Error("Copy constraints does not match");c=i,[m,y]=await X(c,[J.b[9],J.b[8],J.b[7]]),b.Z=await P(m,"multiexp Z")}(),await async function(){I&&I.debug("phse3: Reading QM4");const A=new xI(4*Q.domainSize*E);await n.readToBuffer(A,0,Q.domainSize*E*4,C[7][0].p+Q.domainSize*E),I&&I.debug("phse3: Reading QL4");const t=new xI(4*Q.domainSize*E);await n.readToBuffer(t,0,Q.domainSize*E*4,C[8][0].p+Q.domainSize*E),I&&I.debug("phse3: Reading QR4");const i=new xI(4*Q.domainSize*E);await n.readToBuffer(i,0,Q.domainSize*E*4,C[9][0].p+Q.domainSize*E),I&&I.debug("phse3: Reading QO4");const g=new xI(4*Q.domainSize*E);await n.readToBuffer(g,0,Q.domainSize*E*4,C[10][0].p+Q.domainSize*E),I&&I.debug("phse3: Reading QC4");const e=new xI(4*Q.domainSize*E);await n.readToBuffer(e,0,Q.domainSize*E*4,C[11][0].p+Q.domainSize*E);const B=await At(n,C,13),a=new Uint8Array(2*o.F.n8);o.toRprUncompressed(a,0,b.Z),J.alpha=q(a),I&&I.debug("alpha: "+r.toString(J.alpha));const s=[r.zero,r.add(r.e(-1),r.w[2]),r.e(-2),r.sub(r.e(-1),r.w[2])],f=[r.zero,r.add(r.zero,r.mul(r.e(-2),r.w[2])),r.e(4),r.sub(r.zero,r.mul(r.e(-2),r.w[2]))],w=[r.zero,r.add(r.e(2),r.mul(r.e(2),r.w[2])),r.e(-8),r.sub(r.e(2),r.mul(r.e(2),r.w[2]))],c=new xI(4*Q.domainSize*E),p=new xI(4*Q.domainSize*E);let F=r.one;for(let n=0;n<4*Q.domainSize;n++){n%4096==0&&I&&I.debug(`calculating t ${n}/${4*Q.domainSize}`);const C=D.slice(n*E,n*E+E),o=u.slice(n*E,n*E+E),a=l.slice(n*E,n*E+E),s=y.slice(n*E,n*E+E),f=y.slice((n+4*Q.domainSize+4)%(4*Q.domainSize)*E,(n+4*Q.domainSize+4)%(4*Q.domainSize)*E+E),w=A.slice(n*E,n*E+E),M=t.slice(n*E,n*E+E),m=i.slice(n*E,n*E+E),d=g.slice(n*E,n*E+E),b=e.slice(n*E,n*E+E),L=H.slice(n*E,n*E+E),N=H.slice((n+4*Q.domainSize)*E,(n+4*Q.domainSize)*E+E),k=H.slice((n+8*Q.domainSize)*E,(n+8*Q.domainSize)*E+E),S=r.add(J.b[2],r.mul(J.b[1],F)),v=r.add(J.b[4],r.mul(J.b[3],F)),R=r.add(J.b[6],r.mul(J.b[5],F)),q=r.square(F),Y=r.add(r.add(r.mul(J.b[7],q),r.mul(J.b[8],F)),J.b[9]),x=r.mul(F,r.w[Q.power]),P=r.square(x),X=r.add(r.add(r.mul(J.b[7],P),r.mul(J.b[8],x)),J.b[9]);let O=r.zero;for(let A=0;A<Q.nPublic;A++)O=r.sub(O,r.mul(B.slice((5*A*Q.domainSize+Q.domainSize+n)*E,(5*A*Q.domainSize+Q.domainSize+n+1)*E),h.slice(A*E,(A+1)*E)));let[Z,V]=G(C,o,S,v,n%4);Z=r.mul(Z,w),V=r.mul(V,w),Z=r.add(Z,r.mul(C,M)),V=r.add(V,r.mul(S,M)),Z=r.add(Z,r.mul(o,m)),V=r.add(V,r.mul(v,m)),Z=r.add(Z,r.mul(a,d)),V=r.add(V,r.mul(R,d)),Z=r.add(Z,O),Z=r.add(Z,b);const K=r.mul(J.beta,F);let j=C;j=r.add(j,K),j=r.add(j,J.gamma);let z=o;z=r.add(z,r.mul(K,Q.k1)),z=r.add(z,J.gamma);let W=a;W=r.add(W,r.mul(K,Q.k2)),W=r.add(W,J.gamma);let T=s,[_,$]=U(j,z,W,T,S,v,R,Y,n%4);_=r.mul(_,J.alpha),$=r.mul($,J.alpha);let AA=C;AA=r.add(AA,r.mul(J.beta,L)),AA=r.add(AA,J.gamma);let tA=o;tA=r.add(tA,r.mul(J.beta,N)),tA=r.add(tA,J.gamma);let IA=a;IA=r.add(IA,r.mul(J.beta,k)),IA=r.add(IA,J.gamma);let iA=f,[gA,eA]=U(AA,tA,IA,iA,S,v,R,X,n%4);gA=r.mul(gA,J.alpha),eA=r.mul(eA,J.alpha);let nA=r.sub(s,r.one);nA=r.mul(nA,B.slice((Q.domainSize+n)*E,(Q.domainSize+n+1)*E)),nA=r.mul(nA,r.mul(J.alpha,J.alpha));let CA=r.mul(Y,B.slice((Q.domainSize+n)*E,(Q.domainSize+n+1)*E));CA=r.mul(CA,r.mul(J.alpha,J.alpha));let QA=r.add(r.sub(r.add(Z,_),gA),nA),BA=r.add(r.sub(r.add(V,$),eA),CA);c.set(QA,n*E),p.set(BA,n*E),F=r.mul(F,r.w[Q.power+2])}I&&I.debug("ifft T");let M=await r.ifft(c);I&&I.debug("dividing T/Z");for(let A=0;A<Q.domainSize;A++)M.set(r.neg(M.slice(A*E,A*E+E)),A*E);for(let A=Q.domainSize;A<4*Q.domainSize;A++){const t=r.sub(M.slice((A-Q.domainSize)*E,(A-Q.domainSize)*E+E),M.slice(A*E,A*E+E));if(M.set(t,A*E),A>3*Q.domainSize-4&&!r.isZero(t))throw new Error("T Polynomial is not divisible")}I&&I.debug("ifft Tz");const m=await r.ifft(p);for(let A=0;A<4*Q.domainSize;A++){const t=m.slice(A*E,(A+1)*E);if(A>3*Q.domainSize+5){if(!r.isZero(t))throw new Error("Tz Polynomial is not well calculated")}else M.set(r.add(M.slice(A*E,(A+1)*E),t),A*E)}function G(A,t,I,i,g){let e,n;const C=r.mul(A,t),Q=r.mul(A,i),B=r.mul(I,t);e=C;let o=r.mul(I,i);return n=r.add(Q,B),g&&(n=r.add(n,r.mul(s[g],o))),[e,n]}function U(A,t,I,i,g,e,n,C,Q){let B,o;const E=r.mul(A,t),a=r.mul(A,e),h=r.mul(g,t),c=r.mul(g,e),D=r.mul(I,i),u=r.mul(I,C),l=r.mul(n,i),y=r.mul(n,C);B=r.mul(E,D);let p=r.mul(h,D);p=r.add(p,r.mul(a,D)),p=r.add(p,r.mul(E,l)),p=r.add(p,r.mul(E,u));let F=r.mul(c,D);F=r.add(F,r.mul(h,l)),F=r.add(F,r.mul(h,u)),F=r.add(F,r.mul(a,l)),F=r.add(F,r.mul(a,u)),F=r.add(F,r.mul(E,y));let M=r.mul(a,y);M=r.add(M,r.mul(h,y)),M=r.add(M,r.mul(c,u)),M=r.add(M,r.mul(c,l));let m=r.mul(c,y);return o=p,Q&&(o=r.add(o,r.mul(s[Q],F)),o=r.add(o,r.mul(f[Q],M)),o=r.add(o,r.mul(w[Q],m))),[B,o]}d=M.slice(0,(3*Q.domainSize+6)*E),b.T1=await P(M.slice(0,Q.domainSize*E),"multiexp T1"),b.T2=await P(M.slice(Q.domainSize*E,2*Q.domainSize*E),"multiexp T2"),b.T3=await P(M.slice(2*Q.domainSize*E,(3*Q.domainSize+6)*E),"multiexp T3")}(),await async function(){const A=new xI(Q.domainSize*E);await n.readToBuffer(A,0,Q.domainSize*E,C[7][0].p);const t=new xI(Q.domainSize*E);await n.readToBuffer(t,0,Q.domainSize*E,C[8][0].p);const i=new xI(Q.domainSize*E);await n.readToBuffer(i,0,Q.domainSize*E,C[9][0].p);const g=new xI(Q.domainSize*E);await n.readToBuffer(g,0,Q.domainSize*E,C[10][0].p);const e=new xI(Q.domainSize*E);await n.readToBuffer(e,0,Q.domainSize*E,C[11][0].p);const B=new xI(Q.domainSize*E);await n.readToBuffer(B,0,Q.domainSize*E,C[12][0].p+10*Q.domainSize*E);const a=new Uint8Array(2*o.F.n8*3);o.toRprUncompressed(a,0,b.T1),o.toRprUncompressed(a,2*o.F.n8,b.T2),o.toRprUncompressed(a,4*o.F.n8,b.T3),J.xi=q(a),I&&I.debug("xi: "+r.toString(J.xi));b.eval_a=Y(p,J.xi),b.eval_b=Y(F,J.xi),b.eval_c=Y(M,J.xi),b.eval_s1=Y(L,J.xi),b.eval_s2=Y(N,J.xi),b.eval_t=Y(d,J.xi),b.eval_zw=Y(m,r.mul(J.xi,r.w[Q.power]));const s=r.mul(b.eval_a,b.eval_b);let h=b.eval_a;const f=r.mul(J.beta,J.xi);h=r.add(h,f),h=r.add(h,J.gamma);let w=b.eval_b;w=r.add(w,r.mul(f,Q.k1)),w=r.add(w,J.gamma);let c=b.eval_c;c=r.add(c,r.mul(f,Q.k2)),c=r.add(c,J.gamma);const D=r.mul(r.mul(r.mul(h,w),c),J.alpha);let u=b.eval_a;u=r.add(u,r.mul(J.beta,b.eval_s1)),u=r.add(u,J.gamma);let l=b.eval_b;l=r.add(l,r.mul(J.beta,b.eval_s2)),l=r.add(l,J.gamma);let y=r.mul(u,l);y=r.mul(y,J.beta),y=r.mul(y,b.eval_zw),y=r.mul(y,J.alpha),J.xim=J.xi;for(let A=0;A<Q.power;A++)J.xim=r.mul(J.xim,J.xim);const H=r.div(r.sub(J.xim,r.one),r.mul(r.sub(J.xi,r.one),r.e(Q.domainSize))),U=r.mul(H,r.mul(J.alpha,J.alpha)),k=y,S=r.add(D,U);G=new xI((Q.domainSize+3)*E);for(let I=0;I<Q.domainSize+3;I++){let n=r.mul(S,m.slice(I*E,(I+1)*E));I<Q.domainSize&&(n=r.add(n,r.mul(s,A.slice(I*E,(I+1)*E))),n=r.add(n,r.mul(b.eval_a,t.slice(I*E,(I+1)*E))),n=r.add(n,r.mul(b.eval_b,i.slice(I*E,(I+1)*E))),n=r.add(n,r.mul(b.eval_c,g.slice(I*E,(I+1)*E))),n=r.add(n,e.slice(I*E,(I+1)*E)),n=r.sub(n,r.mul(k,B.slice(I*E,(I+1)*E)))),G.set(n,I*E)}b.eval_r=Y(G,J.xi)}(),await async function(){const A=new Uint8Array(7*E);r.toRprBE(A,0,b.eval_a),r.toRprBE(A,E,b.eval_b),r.toRprBE(A,2*E,b.eval_c),r.toRprBE(A,3*E,b.eval_s1),r.toRprBE(A,4*E,b.eval_s2),r.toRprBE(A,5*E,b.eval_zw),r.toRprBE(A,6*E,b.eval_r),J.v=[],J.v[1]=q(A),I&&I.debug("v: "+r.toString(J.v[1]));for(let A=2;A<=6;A++)J.v[A]=r.mul(J.v[A-1],J.v[1]);let t=new xI((Q.domainSize+6)*E);const i=r.mul(J.xim,J.xim);for(let A=0;A<Q.domainSize+6;A++){let I=r.zero;I=r.add(I,r.mul(i,d.slice((2*Q.domainSize+A)*E,(2*Q.domainSize+A+1)*E))),A<Q.domainSize+3&&(I=r.add(I,r.mul(J.v[1],G.slice(A*E,(A+1)*E)))),A<Q.domainSize+2&&(I=r.add(I,r.mul(J.v[2],p.slice(A*E,(A+1)*E))),I=r.add(I,r.mul(J.v[3],F.slice(A*E,(A+1)*E))),I=r.add(I,r.mul(J.v[4],M.slice(A*E,(A+1)*E)))),A<Q.domainSize&&(I=r.add(I,d.slice(A*E,(A+1)*E)),I=r.add(I,r.mul(J.xim,d.slice((Q.domainSize+A)*E,(Q.domainSize+A+1)*E))),I=r.add(I,r.mul(J.v[5],L.slice(A*E,(A+1)*E))),I=r.add(I,r.mul(J.v[6],N.slice(A*E,(A+1)*E)))),t.set(I,A*E)}let g=t.slice(0,E);g=r.sub(g,b.eval_t),g=r.sub(g,r.mul(J.v[1],b.eval_r)),g=r.sub(g,r.mul(J.v[2],b.eval_a)),g=r.sub(g,r.mul(J.v[3],b.eval_b)),g=r.sub(g,r.mul(J.v[4],b.eval_c)),g=r.sub(g,r.mul(J.v[5],b.eval_s1)),g=r.sub(g,r.mul(J.v[6],b.eval_s2)),t.set(g,0),t=x(t,J.xi),b.Wxi=await P(t,"multiexp Wxi");let e=new xI((Q.domainSize+3)*E);for(let A=0;A<Q.domainSize+3;A++){const t=m.slice(A*E,(A+1)*E);e.set(t,A*E)}g=e.slice(0,E),g=r.sub(g,b.eval_zw),e.set(g,0),e=x(e,r.mul(J.xi,r.w[Q.power])),b.Wxiw=await P(e,"multiexp Wxiw")}(),b.protocol="plonk",b.curve=B.name,await n.close(),await i.close();let S=[];for(let A=1;A<=Q.nPublic;A++){const t=a.slice(A*r.n8,A*r.n8+r.n8);S.push(ei.fromRprLE(t))}return b.A=o.toObject(b.A),b.B=o.toObject(b.B),b.C=o.toObject(b.C),b.Z=o.toObject(b.Z),b.T1=o.toObject(b.T1),b.T2=o.toObject(b.T2),b.T3=o.toObject(b.T3),b.eval_a=r.toObject(b.eval_a),b.eval_b=r.toObject(b.eval_b),b.eval_c=r.toObject(b.eval_c),b.eval_s1=r.toObject(b.eval_s1),b.eval_s2=r.toObject(b.eval_s2),b.eval_zw=r.toObject(b.eval_zw),b.eval_t=r.toObject(b.eval_t),b.eval_r=r.toObject(b.eval_r),b.Wxi=o.toObject(b.Wxi),b.Wxiw=o.toObject(b.Wxiw),delete b.eval_t,b=nQ(b),S=nQ(S),{proof:b,publicSignals:S};function v(A,t){const I=A.slice(t,t+4);return new DataView(I.buffer,I.byteOffset,I.byteLength).getUint32(0,!0)}function R(A){return A<Q.nVars-Q.nAdditions?a.slice(A*E,A*E+E):A<Q.nVars?s.slice((A-(Q.nVars-Q.nAdditions))*E,(A-(Q.nVars-Q.nAdditions))*E+E):B.Fr.zero}function q(A){const t=ei.fromRprBE(new Uint8Array(CQ.arrayBuffer(A)));return r.e(t)}function Y(A,t){const I=A.byteLength/E;if(0==I)return r.zero;let i=A.slice((I-1)*E,I*E);for(let g=I-2;g>=0;g--)i=r.add(r.mul(i,t),A.slice(g*E,(g+1)*E));return i}function x(A,t){const I=A.byteLength/E,i=new xI(I*E);i.set(r.zero,(I-1)*E),i.set(A.slice((I-1)*E,I*E),(I-2)*E);for(let g=I-3;g>=0;g--)i.set(r.add(A.slice((g+1)*E,(g+2)*E),r.mul(t,i.slice((g+1)*E,(g+2)*E))),g*E);if(!r.eq(A.slice(0,E),r.mul(r.neg(t),i.slice(0,E))))throw new Error("Polinomial does not divide");return i}async function P(A,t){const i=A.byteLength/E,g=k.slice(0,i*B.G1.F.n8*2),e=await B.Fr.batchFromMontgomery(A);let n=await B.G1.multiExpAffine(g,e,I,t);return n=B.G1.toAffine(n),n}async function X(A,t){t=t||[];let I=await r.ifft(A);const i=new xI(E*Q.domainSize*4);i.set(I,0);const g=new xI(E*(Q.domainSize+t.length));g.set(I,0);for(let A=0;A<t.length;A++)g.set(r.add(g.slice((Q.domainSize+A)*E,(Q.domainSize+A+1)*E),t[A]),(Q.domainSize+A)*E),g.set(r.sub(g.slice(A*E,(A+1)*E),t[A]),A*E);return[g,await r.fft(i)]}}const{unstringifyBigInts:BQ}=ni,{keccak256:rQ}=eQ;function oQ(A,t){const I=ei.fromRprBE(new Uint8Array(rQ.arrayBuffer(t)));return A.Fr.e(I)}function EQ(A){return("0"+A.toString(16)).slice(-2)}function aQ(A){let t=A.toString(16);for(;t.length<64;)t="0"+t;return t=`"0x${t}"`,t}var sQ=Object.freeze({__proto__:null,setup:async function(A,t,I,i){await fi.ready();const{fd:g,sections:e}=await ZA(t,"ptau",1),{curve:n,power:C}=await me(g,e),{fd:Q,sections:B}=await ZA(A,"r1cs",1),r=await YC(Q,B,!1),o=2*n.G1.F.n8,E=n.G1,a=2*n.G2.F.n8,s=n.Fr,h=n.Fr.n8;i&&i.info("Reading r1cs");let f=await At(Q,B,2);const w=new TC,c=new TC;let D=r.nVars;const u=r.nOutputs+r.nPubInputs;await async function(){let A=0;function t(){const t=f.slice(A,A+4);A+=4;return new DataView(t.buffer).getUint32(0,!0)}function I(){const t=s.fromRprLE(f.slice(A,A+n.Fr.n8));return A+=n.Fr.n8,t}function g(){const A=[],i={k:n.Fr.zero},g=t();for(let e=0;e<g;e++){const g=t(),e=I();0==g?i.k=e:A.push([g,e])}const C=e(A);return i.s=C[0],i.coef=C[1],i}function e(A){if(0==A.length)return[0,n.Fr.zero];if(1==A.length)return A[0];const t=A.slice(0,A.length>>1),I=A.slice(A.length>>1),i=e(t),g=e(I),C=i[0],Q=g[0],B=D++,r=n.Fr.zero,o=s.neg(i[1]),E=s.neg(g[1]),a=n.Fr.one,h=n.Fr.zero;return w.push([C,Q,B,r,o,E,a,h]),c.push([C,Q,i[1],g[1]]),[B,n.Fr.one]}for(let A=1;A<=u;A++){const t=A,I=0,i=0,g=n.Fr.zero,e=n.Fr.one,C=n.Fr.zero,Q=n.Fr.zero,B=n.Fr.zero;w.push([t,I,i,g,e,C,Q,B])}for(let A=0;A<r.nConstraints;A++){i&&A%1e4==0&&i.debug(`processing constraints: ${A}/${r.nConstraints}`);const t=g(),I=g(),e=g(),C=t.s,Q=I.s,B=e.s,o=n.Fr.mul(t.coef,I.coef),E=n.Fr.mul(t.coef,I.k),a=n.Fr.mul(t.k,I.coef),s=n.Fr.neg(e.coef),h=n.Fr.sub(n.Fr.mul(t.k,I.k),e.k);w.push([C,Q,B,o,E,a,s,h])}}();const l=await VA(I,"zkey",1,14,1<<22,1<<24);if(r.prime!=n.r)return i&&i.error("r1cs curve does not match powers of tau ceremony curve"),-1;let y=Di(w.length-1)+1;y<3&&(y=3);const p=2**y;if(i&&i.info("Plonk constraints: "+w.length),y>C)return i&&i.error(`circuit too big for this power of tau ceremony. ${w.length} > 2**${C}`),-1;if(!e[12])return i&&i.error("Powers of tau is not prepared."),-1;const F=new xI(p*o),M=e[12][0].p+(2**y-1)*o;await g.readToBuffer(F,0,p*o,M);const[m,d]=function(){let A=s.two;for(;I(A,[],y);)s.add(A,s.one);let t=s.add(A,s.one);for(;I(t,[A],y);)s.add(t,s.one);return[A,t];function I(A,t,I){const i=2**I;let g=s.one;for(let e=0;e<i;e++){if(s.eq(A,g))return!0;for(let I=0;I<t.length;I++)if(s.eq(A,s.mul(t[I],g)))return!0;g=s.mul(g,s.w[I])}return!1}}(),G={};await async function(A,t){await KA(l,A);const I=new Uint8Array(8+2*h),g=new DataView(I.buffer);for(let A=0;A<c.length;A++){const e=c[A];let n=0;g.setUint32(n,e[0],!0),n+=4,g.setUint32(n,e[1],!0),n+=4,I.set(e[2],n),n+=h,I.set(e[3],n),n+=h,await l.write(I),i&&A%1e6==0&&i.debug(`writing ${t}: ${A}/${c.length}`)}await jA(l)}(3,"Additions"),await H(4,0,"Amap"),await H(5,1,"Bmap"),await H(6,2,"Cmap"),await U(7,3,"Qm"),await U(8,4,"Ql"),await U(9,5,"Qr"),await U(10,6,"Qo"),await U(11,7,"Qc"),await async function(A,t){const I=new xI(h*p*3),g=new TC(D),e=new TC(D);let C=s.one;for(let A=0;A<p;A++)A<w.length?(o(w[A][0],A),o(w[A][1],p+A),o(w[A][2],2*p+A)):(o(0,A),o(0,p+A),o(0,2*p+A)),C=s.mul(C,s.w[y]),i&&A%1e6==0&&i.debug(`writing ${t} phase1: ${A}/${w.length}`);for(let A=0;A<D;A++){if(void 0===e[A])throw new Error("Variable not used");I.set(g[A],e[A]*h),i&&A%1e6==0&&i.debug(`writing ${t} phase2: ${A}/${D}`)}await KA(l,A);let Q=I.slice(0,p*h);await L(Q);let B=I.slice(p*h,p*h*2);await L(B);let r=I.slice(p*h*2,p*h*3);function o(A,t){let i;void 0===g[A]?e[A]=t:I.set(g[A],t*h),i=t<p?C:t<2*p?s.mul(C,m):s.mul(C,d),g[A]=i}await L(r),await jA(l),Q=await s.batchFromMontgomery(Q),B=await s.batchFromMontgomery(B),r=await s.batchFromMontgomery(r),G.S1=await n.G1.multiExpAffine(F,Q,i,"multiexp S1"),G.S2=await n.G1.multiExpAffine(F,B,i,"multiexp S2"),G.S3=await n.G1.multiExpAffine(F,r,i,"multiexp S3")}(12,"sigma"),await async function(A,t){await KA(l,A);const I=Math.max(u,1);for(let A=0;A<I;A++){let g=new xI(p*h);g.set(s.one,A*h),await L(g),i&&i.debug(`writing ${t} ${A}/${I}`)}await jA(l)}(13,"lagrange polynomials"),await KA(l,14);const b=new xI((p+6)*o);return await g.readToBuffer(b,0,(p+6)*o,e[2][0].p),await l.write(b),await jA(l),await async function(){await KA(l,1),await l.writeULE32(2),await jA(l),await KA(l,2);const A=n.q,t=8*(Math.floor((ei.bitLength(A)-1)/64)+1),I=n.r,i=8*(Math.floor((ei.bitLength(I)-1)/64)+1);let C;await l.writeULE32(t),await TA(l,A,t),await l.writeULE32(i),await TA(l,I,i),await l.writeULE32(D),await l.writeULE32(u),await l.writeULE32(p),await l.writeULE32(c.length),await l.writeULE32(w.length),await l.write(m),await l.write(d),await l.write(E.toAffine(G.Qm)),await l.write(E.toAffine(G.Ql)),await l.write(E.toAffine(G.Qr)),await l.write(E.toAffine(G.Qo)),await l.write(E.toAffine(G.Qc)),await l.write(E.toAffine(G.S1)),await l.write(E.toAffine(G.S2)),await l.write(E.toAffine(G.S3)),C=await g.read(a,e[3][0].p+a),await l.write(C),await jA(l)}(),await l.close(),await Q.close(),await g.close(),void(i&&i.info("Setup Finished"));async function H(A,t,I){await KA(l,A);for(let A=0;A<w.length;A++)await l.writeULE32(w[A][t]),i&&A%1e6==0&&i.debug(`writing ${I}: ${A}/${w.length}`);await jA(l)}async function U(A,t,I){let g=new xI(p*h);for(let A=0;A<w.length;A++)g.set(w[A][t],A*h),i&&A%1e6==0&&i.debug(`writing ${I}: ${A}/${w.length}`);await KA(l,A),await L(g),await jA(l),g=await s.batchFromMontgomery(g),G[I]=await n.G1.multiExpAffine(F,g,i,"multiexp "+I)}async function L(A){const t=await s.ifft(A),I=new xI(p*h*4);I.set(t,0);const i=await s.fft(I);await l.write(t),await l.write(i)}},fullProve:async function(A,t,I,i){const g={type:"mem"};return await we(A,t,g),await QQ(I,g,i)},prove:QQ,verify:async function(A,t,I,i){A=BQ(A),I=BQ(I),t=BQ(t);const g=await ri(A.curve),e=g.Fr,n=g.G1;if(I=function(A,t){const I=A.G1,i=A.Fr,g={};return g.A=I.fromObject(t.A),g.B=I.fromObject(t.B),g.C=I.fromObject(t.C),g.Z=I.fromObject(t.Z),g.T1=I.fromObject(t.T1),g.T2=I.fromObject(t.T2),g.T3=I.fromObject(t.T3),g.eval_a=i.fromObject(t.eval_a),g.eval_b=i.fromObject(t.eval_b),g.eval_c=i.fromObject(t.eval_c),g.eval_zw=i.fromObject(t.eval_zw),g.eval_s1=i.fromObject(t.eval_s1),g.eval_s2=i.fromObject(t.eval_s2),g.eval_r=i.fromObject(t.eval_r),g.Wxi=I.fromObject(t.Wxi),g.Wxiw=I.fromObject(t.Wxiw),g}(g,I),A=function(A,t){const I=A.G1,i=A.G2,g=A.Fr,e=t;return e.Qm=I.fromObject(t.Qm),e.Ql=I.fromObject(t.Ql),e.Qr=I.fromObject(t.Qr),e.Qo=I.fromObject(t.Qo),e.Qc=I.fromObject(t.Qc),e.S1=I.fromObject(t.S1),e.S2=I.fromObject(t.S2),e.S3=I.fromObject(t.S3),e.k1=g.fromObject(t.k1),e.k2=g.fromObject(t.k2),e.X_2=i.fromObject(t.X_2),e}(g,A),!function(A,t){const I=A.G1;return!!I.isValid(t.A)&&(!!I.isValid(t.B)&&(!!I.isValid(t.C)&&(!!I.isValid(t.Z)&&(!!I.isValid(t.T1)&&(!!I.isValid(t.T2)&&(!!I.isValid(t.T3)&&(!!I.isValid(t.Wxi)&&!!I.isValid(t.Wxiw))))))))}(g,I))return i.error("Proof is not well constructed"),!1;const C=function(A,t){const I=A.G1,i=A.Fr,g=A.Fr.n8,e={},n=new Uint8Array(2*I.F.n8*3);I.toRprUncompressed(n,0,t.A),I.toRprUncompressed(n,2*I.F.n8,t.B),I.toRprUncompressed(n,4*I.F.n8,t.C),e.beta=oQ(A,n);const C=new Uint8Array(g);i.toRprBE(C,0,e.beta),e.gamma=oQ(A,C);const Q=new Uint8Array(2*I.F.n8);I.toRprUncompressed(Q,0,t.Z),e.alpha=oQ(A,Q);const B=new Uint8Array(2*I.F.n8*3);I.toRprUncompressed(B,0,t.T1),I.toRprUncompressed(B,2*I.F.n8,t.T2),I.toRprUncompressed(B,4*I.F.n8,t.T3),e.xi=oQ(A,B);const r=new Uint8Array(7*g);i.toRprBE(r,0,t.eval_a),i.toRprBE(r,g,t.eval_b),i.toRprBE(r,2*g,t.eval_c),i.toRprBE(r,3*g,t.eval_s1),i.toRprBE(r,4*g,t.eval_s2),i.toRprBE(r,5*g,t.eval_zw),i.toRprBE(r,6*g,t.eval_r),e.v=[],e.v[1]=oQ(A,r);for(let A=2;A<=6;A++)e.v[A]=i.mul(e.v[A-1],e.v[1]);const o=new Uint8Array(2*I.F.n8*2);return I.toRprUncompressed(o,0,t.Wxi),I.toRprUncompressed(o,2*I.F.n8,t.Wxiw),e.u=oQ(A,o),e}(g,I);i&&(i.debug("beta: "+e.toString(C.beta,16)),i.debug("gamma: "+e.toString(C.gamma,16)),i.debug("alpha: "+e.toString(C.alpha,16)),i.debug("xi: "+e.toString(C.xi,16)),i.debug("v1: "+e.toString(C.v[1],16)),i.debug("v6: "+e.toString(C.v[6],16)),i.debug("u: "+e.toString(C.u,16)));const Q=function(A,t,I){const i=A.Fr;let g=t.xi,e=1;for(let A=0;A<I.power;A++)g=i.square(g),e*=2;t.xin=g,t.zh=i.sub(g,i.one);const n=[],C=i.e(e);let Q=i.one;for(let A=1;A<=Math.max(1,I.nPublic);A++)n[A]=i.div(i.mul(Q,t.zh),i.mul(C,i.sub(t.xi,Q))),Q=i.mul(Q,i.w[I.power]);return n}(g,C,A);if(i){i.debug("Lagrange Evaluations: ");for(let A=1;A<Q.length;A++)i.debug(`L${A}(xi)=`+e.toString(Q[A],16))}if(t.length!=A.nPublic)return i.error("Number of public signals does not match with vk"),!1;const B=function(A,t,I){const i=A.Fr;let g=i.zero;for(let A=0;A<t.length;A++){const e=i.e(t[A]);g=i.sub(g,i.mul(e,I[A+1]))}return g}(g,t,Q);i&&i.debug("Pl: "+e.toString(B,16));const r=function(A,t,I,i,g){const e=A.Fr;let n=t.eval_r;n=e.add(n,i);let C=t.eval_a;C=e.add(C,e.mul(I.beta,t.eval_s1)),C=e.add(C,I.gamma);let Q=t.eval_b;Q=e.add(Q,e.mul(I.beta,t.eval_s2)),Q=e.add(Q,I.gamma);let B=t.eval_c;B=e.add(B,I.gamma);let r=e.mul(e.mul(C,Q),B);r=e.mul(r,t.eval_zw),r=e.mul(r,I.alpha),n=e.sub(n,r),n=e.sub(n,e.mul(g,e.square(I.alpha)));return e.div(n,I.zh)}(g,I,C,B,Q[1]);i&&i.debug("t: "+e.toString(r,16));const o=function(A,t,I,i,g){const e=A.G1,n=A.Fr;let C=n.mul(n.mul(t.eval_a,t.eval_b),I.v[1]),Q=e.timesFr(i.Qm,C),B=n.mul(t.eval_a,I.v[1]);Q=e.add(Q,e.timesFr(i.Ql,B));let r=n.mul(t.eval_b,I.v[1]);Q=e.add(Q,e.timesFr(i.Qr,r));let o=n.mul(t.eval_c,I.v[1]);Q=e.add(Q,e.timesFr(i.Qo,o)),Q=e.add(Q,e.timesFr(i.Qc,I.v[1]));const E=n.mul(I.beta,I.xi);let a=t.eval_a;a=n.add(a,E),a=n.add(a,I.gamma);let s=t.eval_b;s=n.add(s,n.mul(E,i.k1)),s=n.add(s,I.gamma);let h=t.eval_c;h=n.add(h,n.mul(E,i.k2)),h=n.add(h,I.gamma);let f=n.mul(n.mul(a,s),h);f=n.mul(f,n.mul(I.alpha,I.v[1]));let w=n.mul(n.mul(g,n.square(I.alpha)),I.v[1]);f=n.add(f,w),f=n.add(f,I.u),Q=e.add(Q,e.timesFr(t.Z,f));let c=t.eval_a;c=n.add(c,n.mul(I.beta,t.eval_s1)),c=n.add(c,I.gamma);let D=t.eval_b;D=n.add(D,n.mul(I.beta,t.eval_s2)),D=n.add(D,I.gamma);let u=n.mul(c,D);return u=n.mul(u,I.alpha),u=n.mul(u,I.v[1]),u=n.mul(u,I.beta),u=n.mul(u,t.eval_zw),Q=e.sub(Q,e.timesFr(i.S3,u)),Q}(g,I,C,A,Q[1]);i&&i.debug("D: "+n.toString(n.toAffine(o),16));const E=function(A,t,I,i,g){const e=A.G1,n=A.Fr;let C=t.T1;return C=e.add(C,e.timesFr(t.T2,I.xin)),C=e.add(C,e.timesFr(t.T3,n.square(I.xin))),C=e.add(C,g),C=e.add(C,e.timesFr(t.A,I.v[2])),C=e.add(C,e.timesFr(t.B,I.v[3])),C=e.add(C,e.timesFr(t.C,I.v[4])),C=e.add(C,e.timesFr(i.S1,I.v[5])),C=e.add(C,e.timesFr(i.S2,I.v[6])),C}(g,I,C,A,o);i&&i.debug("F: "+n.toString(n.toAffine(E),16));const a=function(A,t,I,i,g){const e=A.G1,n=A.Fr;let C=g;C=n.add(C,n.mul(I.v[1],t.eval_r)),C=n.add(C,n.mul(I.v[2],t.eval_a)),C=n.add(C,n.mul(I.v[3],t.eval_b)),C=n.add(C,n.mul(I.v[4],t.eval_c)),C=n.add(C,n.mul(I.v[5],t.eval_s1)),C=n.add(C,n.mul(I.v[6],t.eval_s2)),C=n.add(C,n.mul(I.u,t.eval_zw));return e.timesFr(e.one,C)}(g,I,C,0,r);i&&i.debug("E: "+n.toString(n.toAffine(a),16));const s=await async function(A,t,I,i,g,e){const n=A.G1,C=A.Fr;let Q=t.Wxi;Q=n.add(Q,n.timesFr(t.Wxiw,I.u));let B=n.timesFr(t.Wxi,I.xi);const r=C.mul(C.mul(I.u,I.xi),C.w[i.power]);B=n.add(B,n.timesFr(t.Wxiw,r)),B=n.add(B,e),B=n.sub(B,g);return await A.pairingEq(n.neg(Q),i.X_2,B,A.G2.one)}(g,I,C,A,a,E);return i&&(s?i.info("OK!"):i.warn("Invalid Proof")),s},exportSolidityCallData:async function(A,t){const I=await ri(A.curve),i=I.G1,g=I.Fr;let e="";for(let A=0;A<t.length;A++)""!=e&&(e+=","),e+=aQ(t[A]);const n=new Uint8Array(2*i.F.n8*9+7*g.n8);return i.toRprUncompressed(n,0,i.e(A.A)),i.toRprUncompressed(n,2*i.F.n8,i.e(A.B)),i.toRprUncompressed(n,4*i.F.n8,i.e(A.C)),i.toRprUncompressed(n,6*i.F.n8,i.e(A.Z)),i.toRprUncompressed(n,8*i.F.n8,i.e(A.T1)),i.toRprUncompressed(n,10*i.F.n8,i.e(A.T2)),i.toRprUncompressed(n,12*i.F.n8,i.e(A.T3)),i.toRprUncompressed(n,14*i.F.n8,i.e(A.Wxi)),i.toRprUncompressed(n,16*i.F.n8,i.e(A.Wxiw)),g.toRprBE(n,18*i.F.n8,g.e(A.eval_a)),g.toRprBE(n,18*i.F.n8+g.n8,g.e(A.eval_b)),g.toRprBE(n,18*i.F.n8+2*g.n8,g.e(A.eval_c)),g.toRprBE(n,18*i.F.n8+3*g.n8,g.e(A.eval_s1)),g.toRprBE(n,18*i.F.n8+4*g.n8,g.e(A.eval_s2)),g.toRprBE(n,18*i.F.n8+5*g.n8,g.e(A.eval_zw)),g.toRprBE(n,18*i.F.n8+6*g.n8,g.e(A.eval_r)),"0x"+Array.from(n).map(EQ).join("")+",["+e+"]"}});return A.groth16=ue,A.plonk=sQ,A.powersOfTau=qe,A.r1cs=ZC,A.wtns=KC,A.zKey=gQ,Object.defineProperty(A,"__esModule",{value:!0}),A}({}); |