0x7e6d4810…cbbasent to0x1353fd9d…e4e8·#17,120,232·0x16e4a9df…6254eb
(()=>{var d=Math.sin,b=Math.cos,n=Math.abs;let s=window,F=document;const D=F.body.appendChild(F.createElement("canvas")),S=D.getContext("2d",{colorSpace:"srgb",willReadFrequently:!0});let k,j,z,G,J,K=1,V=2400,X=1800,Z=52e3,Q=!0;const Y=2*Math.PI,$=3,_=4,ee=5,ae=8,ce=9,fe=10,te=12;let de={ci:0,ns:9,accs:0,fs:0,arch:-1,nl:1,oct2:.5,ca:1,maxa:2,perm:.5,yStr:1,vSpr:2,wind:0,fra:!1,cw:0,seq:[],felt:1,vamp:0,acol:"",aamp:0,astr:1,asty:0,bg:"#000000",pal:[],lum:0,accel:0,cont:0,rating:0,version:0};console.log(navigator.userAgent);let be=/Chrome/.test(navigator.userAgent),ne=/\bHeadlessChrome/.test(navigator.userAgent);console.log("isChrome="+be+", isHeadless="+ne);let se=!be,le=!0,re=0;const oe=(e=!0,a=!0,c=!1)=>{e&&(W=N()),pe(W,a),Pe(c)},ie=()=>{G=((e=Math.random)=>{const a=(e=>{const a=new Uint8Array(512);for(let e=0;e<256;e++)a[e]=e;for(let c=0;c<255;c++){const f=c+~~(e()*(256-c)),t=a[c];a[c]=a[f],a[f]=t}for(let e=256;e<512;e++)a[e]=a[e-256];return a})(e),c=new Float64Array(a).map((e=>T[e%12*3])),f=new Float64Array(a).map((e=>T[e%12*3+1])),t=new Float64Array(a).map((e=>T[e%12*3+2]));return(e,d,b)=>{let n,s,l,r;const o=(e+d+b)*(1/3),i=R(e+o),p=R(d+o),m=R(b+o),w=(i+p+m)*U,h=e-(i-w),g=d-(p-w),v=b-(m-w);let u,F,C,y,D,S;h>=g?g>=v?(u=1,F=0,C=0,y=1,D=1,S=0):h>=v?(u=1,F=0,C=0,y=1,D=0,S=1):(u=0,F=0,C=1,y=1,D=0,S=1):g<v?(u=0,F=0,C=1,y=0,D=1,S=1):h<v?(u=0,F=1,C=0,y=0,D=1,S=1):(u=0,F=1,C=0,y=1,D=1,S=0);const A=h-u+U,B=g-F+U,E=v-C+U,k=h-y+2*U,x=g-D+2*U,M=v-S+2*U,O=h-1+.5,q=g-1+.5,I=v-1+.5,T=255&i,L=255&p,P=255&m;let H=.6-h*h-g*g-v*v;if(0>H)n=0;else{const e=T+a[L+a[P]];H*=H,n=H*H*(c[e]*h+f[e]*g+t[e]*v)}let N=.6-A*A-B*B-E*E;if(0>N)s=0;else{const e=T+u+a[L+F+a[P+C]];N*=N,s=N*N*(c[e]*A+f[e]*B+t[e]*E)}let W=.6-k*k-x*x-M*M;if(0>W)l=0;else{const e=T+y+a[L+D+a[P+S]];W*=W,l=W*W*(c[e]*k+f[e]*x+t[e]*M)}let j=.6-O*O-q*q-I*I;if(0>j)r=0;else{const e=T+1+a[L+1+a[P+1]];j*=j,r=j*j*(c[e]*O+f[e]*q+t[e]*I)}return 32*(n+s+l+r)}})(i)},pe=(e,a=!0,c=0)=>{console.log(e),console.log("darker="+se),console.time("t"),((e,a)=>{if(0==a%7){let f=0>(c=~~(a/7))||c>=~~(H.length/4)?null:H.substr(4*c,4);null!=f&&(e="0x"+f)}var c;(e=>{o=!1,r=null;const a=~~((e.length-2)/2),c=[];for(let f=0;f<a;f++){const a=2+2*f;c.push(parseInt(e.slice(a,a+2),16))}const f=p(c,1690382925),t=p(c,72970470);l.setUint32(0,f),l.setUint32(4,t)})(e)})(e.hash,e.tokenId%1e5),ie(),ve(!a,c),console.log(de)},me=e=>{let a=0;return e.forEach((e=>{let c=L(B(e))[2];a+=c})),y(a/e.length)},we=(e,a=0)=>{de.ci=e,de.bg="#"+g(q);let c=0>e?ge():O[e].map((e=>"#"+e)),t=me(c);se&&(a=-.04),102>t&&(a+=(113-f(t))/100),de.pal=0==a?c:he(c,a),de.acol=de.pal[0]},he=(e,a)=>(console.log("ADJUSTING COLORS: "+a),e.map((e=>{let c,f=B(e),d=L(f);var b;c=C(d[2]*(1+a),0,255),se&&(c=255*(.5>(b=c/255)?8*b*b*b*b:1-t(-2*b+2,4)/2)),d[2]=c,0>a&&(d[1]=C(.94*d[1],-1,0));let n=P(d);return E(n)}))),ge=()=>{let e,a=y(i()),c=[],f=.03;for(let t,d=0;8>d;d++)t=[a,.7-.08*d,.88-d*f],e=M(P(t)),c.push(E(e)),f+=.01;let t=a+.5;return 1<t&&(t-=1),e=M(P([t,.1,.1])),c.unshift(E(e)),e=M(P([t,.08,.22])),c.push(E(e)),e=M(P([a,.7,.95])),c.unshift(E(e)),c},ve=(e=!1,a=0)=>{de.cw=v([50,1,2,2]),e||(de.pal=[],de.ci=m(.97)?h(0,O.length):-1,we(de.ci),de.acol=de.pal[m(.8)?0:de.pal.length-1]),de.fs=v([26,6,6,0,3,3,1,1]),de.wind=m(.1)?m()?-1:1:0,de.vSpr=y(j/V*(m(.05)?w(10,20):w(0,10)));let c=de.fs>=ae?[0,22]:[0,43];if(de.ns=28+h(...c),de.felt=h(0,5-f((70-de.ns)/10)),0<=[ae,ce,fe].indexOf(de.fs)?de.accs=0:10<de.ns&&m(.5)&&(de.accs=h(1,3)),de.maxa=y(w(1.1,1.6)+de.ns/100),Fe(),de.nl=y(w(.4,.6)),de.oct2=y(w(0,.15)),de.perm=y(w(.45,.72)),de.vamp=.02>de.ca?0:.05*v([3,2,2,2,2,1]),de.arch=-1,m(.75)){let e=I.map((e=>e.weight));de.arch=v(e);let a=I[de.arch];console.log(a.name),Object.keys(a).forEach((e=>{if(a[e])switch(e){case"ns":de[e]=h(a[e][0],a[e][1]);break;case"accs":case"felt":case"vamp":de[e]=g(a[e]);break;case"cw":case"fs":de[e]=v(a[e]);break;case"astr":case"ca":case"maxa":case"nl":case"perm":case"yStr":case"oct2":case"vSpr":de[e]=y(w(a[e][0],a[e][1])),"ca"==e&&(de.maxa=a[e][1]);break;case"wind":de[e]=m(a[e])?1:0;break;case"pals":let c=g(a[e]);we(c)}}))}de.lum=me(de.pal),de.asty=0<=[ae,ce].indexOf(de.fs)?0:de.fs,de.rating=0,de.version=11,de.spiralDepth=de.fs==ce?g([-20,40,100,160,180]):0,de.fra=0==de.fs&&.2<de.ca&&33<de.ns&&m(.3);let t=0<de.ca?0:1;if(de.fs==ce)t=1;else if(de.fs!=$&&0==de.ca){let e=v([0,4,3,1,1]);de.fs==ee?t=0==de.wind?e:1:de.fs==_?t=0==de.wind?e:2:0==de.fs&&(t=0==de.wind?e:1)}if(de.accel=t,1==de.cw)de.seq=ue(de.pal,de.ns);else if(3==de.cw){let e=m(.95);de.seq=ue(de.pal,de.ns,!0,!1,e)}},ue=(e,a,c=!1,f=!0,t=!1)=>{let d=[];if(c){let c=f?0:2,b=e.length,n=Math.ceil(a/b),s=c,l=s,r=0,o=0;for(let e=0;e<a;e++)r++,r>n?(s++,s>=b&&(s=c),l=s,o=t?0:l,r=0):o=0==e?t?0:l:r==n&&t?1:l,d.push(o)}else for(let c=0;c<a;c++)d.push(c%e.length);return d},Fe=()=>{de.ca=m(.2)&&de.fs!=$?0:y(w(.36,0!=de.wind||de.fs==$?.85:de.maxa)),de.yStr=y(w(.5,2.2)),de.aamp=.02>de.ca?0:de.ca*g([.5,.6,1,1.1,1.2]),de.astr=y(w(.5,2))};let Ce,ye;const De=2;let Se={0:(e,a,c,f,t)=>[e,a+t*c],1:(e,a,c,f,t)=>[e+.2*f*c,a+t*c],2:(e,a,c,f,t)=>[e+-.2*f*c,a+t*c],3:(e,a,c,f)=>[e+f*c,a],4:(e,a,c,f,t,d)=>[e+f*c*d,a-t*c],5:(e,a,c,f,t,d)=>[e+f*c*d,a+t*c],6:(e,a,c,f,t)=>[e+.56*f*c,a+t*c],7:(e,a,c,f,t)=>[e+-.56*f*c,a+t*c],8:(e,a,c,f,t,n)=>[e+d(c*Y-.3)*n,a+b(c*Y)*n*1.5],9:(e,a,f,t,n,s,l)=>[de.spiralDepth*t/X*(2-2*f)+e+d(l+(.02*f+.98*c(f+.01))*Y)*s*1.32,a+b(l+(.02*f+.98*c(f+.01))*Y)*s*2],10:(e,a,c,f,t,n)=>[e+d(.1+n*Y)*c*f*.76,a+b(n*Y)*c*t*.76],11:(e,a,c,f,t,n)=>[e+d((c+.25)*Y-.35)*n,a+b((c+.25)*Y)*n*.75],12:(e,a,c,f,t)=>.25>c?[e,a-t*c*2.4]:.75>c?[f/4+e-d((c+0)*Y)*(f/4),t/2.48+b((c+0)*Y)*(f/2)]:[e+f/2,a-t*(1-c)*2.4]};const Ae=(e,a)=>{let c=L(B(e));return c[2]*=1-a,E(P(c))};let Be,Ee,ke=0,xe=.1,Me=.05;const Oe=(a,f,t,s,l,r,o=!1)=>{let i=null;if(o)Be=de.acol;else if(1==de.cw||3==de.cw)de.seq&&de.seq.length>=de.ns?(ke=(ke+1)%de.seq.length,Be=de.pal[de.seq[ke]]):(ke=(ke+1)%de.pal.length,Be=de.pal[ke]);else{let e=h(0,de.pal.length);Be=de.pal[e],2==de.cw&&(i=de.pal[(e+1)%de.pal.length])}let p=f,v=t,F=0;o?(F=de.fs==ae||11==de.fs?.2:de.fs==ce?.8:g([.3,.35,.4]),p=f+(a+F)*s/de.accs):de.fs<ae||de.fs>=te?de.fs==$?v=t+(a+.5)*Ee:p=f+(a+.5)*Ee:11==de.fs&&(v=t-(a+.5)*Ee/2),((a,f,t,s,l,r,o=0,i=.1,p=.05,h=1,g=0,v=.1,F=0,C=0,D=!1,A=null)=>{let k,x,M,O=o;de.fra&&(.15>C||.85<C)&&(O=.2),J=function(a,f,t,s,l,r,o,i=0,p=.1,h=.05,g=1,v=0,F=.1,C=0,D=0,S=null){let A=Se[a],k=~~(.99*f),x=c(k/100),M=de.fs>=ae&&de.fs<te?.113:.073;se||(M+=.02),70<de.ns&&(M-=.01),M+=.04*z,M=y(M);let O,q=Ae(t,.5),I=re+80+10*de.felt,U=de.nl,R=2*U,T=de.oct2,L=.11*z;return Array(f).fill().map(((f,P,H)=>{const N=1>=H.length?0:P/(H.length-1),W=N*Y,j=b(W),J=d(W),K=h+w(0,.5);let V=0==de.accel?i:1==de.accel?.1+2.2*(1-N):2==de.accel?.1+2*N:3==de.accel?.2+2.4*e(.04,n(.5-N)):.2+2.4*e(.04,.5-n(N-.5));O=G(U*j*K,U*J*K*g,F);let X=G(R*j*K,R*J*K*g,F);O=O*(1-T)+X*T;const Z=.5*O+.5,Q=u(0,p)*z,te=0<=[_,ee,fe].indexOf(de.fs)?D:de.fs==ce?r*N/2:C,be=A(s,l,N,r,o,te,D*Y),ne=0!=v&&P<=k&&de.fs<ae?v*(x-c(P/100))*120:0,se=11>de.ns?.03:.004;let le,re,oe;return a==$?(le=be[0]+Q,re=be[1]+z*O*V*150):(le=be[0]+z*O*V*150+ne,re=be[1]+Q),oe=null==S?de.fs==ce&&m(.5-.5*N)?q:t:((e,a,c)=>{e=B(e),a=B(a);for(var f=0;3>f;f++)a[f]=a[f]*c+e[f]*(1-c);return E(a)})(t,S,N),{a:y(e(se,w(0,M)*(1-Z))),c:oe,lw:y(w(.2,.7))+L,l:y(u()*Z*I*z*(de.fs==fe?.5+3.6*N:1.2)),an:y(u()),x:le,y:re}}))}(D?de.asty:de.fs,a,f,t,s,l,r,O,i,p,h,g,v,F,C,A),J.forEach((a=>{S.save(),S.beginPath(),k=e(1,n(a.l)),x=k/2,M=k,S.ellipse(a.x,a.y,x,M,a.an,0,Y,!1),S.lineWidth=a.lw,S.strokeStyle=a.c,S.globalAlpha=a.a,S.stroke(),S.restore()}))})(r,Be,p,v,s,l,o?de.aamp:de.ca,de.vSpr,Me,o?de.astr:de.yStr,de.wind,xe,de.fs<ae?0:de.fs==te?s/4:de.fs<11?a*Ee*.5:.44*s,o?F:a/de.ns,o,i),m(de.perm)?(ie(),xe+=1,m(de.vamp)&&Fe()):Me+=.02},qe=(e,a)=>{let[c,f,t,d]=Ie(de.asty,e,a);for(var b=0;b<de.accs;b++)Oe(b,c,f,t,a,Z,!0)},Ie=(e,a,c)=>{let f=0,t=0,d=a;return 1===e?(d=1.2*a,f=.25*-a):2===e?(d=1.2*a,f=0):e===$?f=0:e===_?(d=.9*a,f=0,t=c):e===ee?(d=.9*a,f=0,t=0):6===e?(d=1.8*a,f=.9*-a):7===e?(d=1.8*a,f=.1*a):11===e?(f=a/2,t=.75*c):e===ae||e===ce?(f=a/2,t=c/2):e===fe?(f=a/2,t=~~(.42*c)):e===te&&(f=0,t=c),[f,t,d,c]};let Ue=0,Re=0,Te=0,Le=0;const Pe=async(e=!1)=>{(async(e,c,d,b=!1)=>{console.log("w,h = %d,%d",c,d),e.globalCompositeOperation="source-over",e.fillStyle=de.bg,e.fillRect(0,0,c,d),Me=.05,ke=0,xe=.1,[Ue,Re,Te,Le]=Ie(de.fs,c,d),Ee=(de.fs==$||11==de.fs?Le:Te)/de.ns,de.fs==te&&(Ee/=2);let s=Z;for(var l=0;l<de.ns;l++)de.fs==ae?s=~~(Z*(l+1)/de.ns):de.fs==te?s=62400:11>de.ns&&(s=78e3),Oe(l,Ue,Re,Te,d,s);0<de.accs&&Q&&qe(c,d),le&&await async function(e){let c=e.canvas.width,d=e.canvas.height,b=await(async(e,a,c,t=256,d=2)=>{let b=e.getImageData(0,0,a,c);d=~~(d*z);const n=b.data;Ce=Array(t).fill(0),ye=Array(t).fill(0);let s=0,l=0,r=0,o=255,i=0,p=0,m=0,w=0,h=1,g=0,v=0,u=100,F=0,C=0;for(let e=0;e<c;e+=d)for(let c=0;c<a;c+=d)C++,s=c+e*a,l=L([n[4*s],n[4*s+1],n[4*s+2],n[4*s+3]])[2],i+=l,m=x([n[4*s],n[4*s+1],n[4*s+2],n[4*s+3]])[0],p+=m,g=A([n[4*s],n[4*s+1],n[4*s+2],n[4*s+3]]),F+=g,Ce[f(l)]+=1,l>r&&(r=l),l<o&&(o=l),ye[~~(m*t)]+=1,m>w&&(w=m),m<h&&(h=m),g>v&&(v=g),g<u&&(u=g);let D=y(i/C),S=y(p/C),B=y(F/C);return{lum:[D,o,r,y(Ce[~~o]/C),y(Ce[~~r]/C)],ok:[S,h,w],rel:[B,u,v],sampleCount:C}})(e,c,d,256,4),s=b.lum,l=b.sampleCount;const r=e.getImageData(0,0,c,d),o=r.data;let i,p,m=0,w=~~(3e-4*l),h=0,g=f(s[De]);for(;h<w;)h+=Ce[g--];h=0;let v=0;for(;h<2*w;)h+=Ce[v++];if(244>g||12<v){10>v&&(v=0);let f=g-v,b=0<=[1,4,8,10,12,14,21,22,25,27,31,44,47,53,66].indexOf(de.ci)?.85:.94;se&&(b+=.04,v+=16),1<z&&(b+=.02*z,v+=~~(2*z));let s=a(2.5,y(256*b/f));de.cont=s;let l=1;if(1.02<s){for(let e=0;e<d;e++)for(let a=0;a<c;a++)m=a+e*c,i=L([o[4*m],o[4*m+1],o[4*m+2]]),1<z&&(l=1-t(n(128-i[2])/256,1.4)),se&&(i[1]=C(i[1]-.04,-1,1)),i[2]=C(-v+i[2]*s*l,0,255),p=P(i),o[4*m]=p[0],o[4*m+1]=p[1],o[4*m+2]=p[2];await e.putImageData(r,0,0)}}}(e)})(S,k,j,e),console.timeEnd("t")};let He=1;const Ne=(e,a,c)=>{K=e,D.height=j=~~(c*K),D.width=k=~~(a*K),S.scale(1,1),z=j/c,console.log("scale="+z);let f=D.style;f.position="absolute",f.display="block",f.top=f.left=f.right=f.bottom="0",f.width=f.margin="auto",f.height="100%",f.boxShadow="0 24px 24px 0 rgba(0, 0, 0, 0.64)"};Ne(K,X,V),pe(tokenData),Pe(),s.addEventListener("keydown",(e=>{68===e.keyCode?(console.log("D - darken/lighten"),e.preventDefault(),se=!se,oe(!1,!0,!1)):70===e.keyCode?(e.preventDefault(),re+=70,70<re&&(re=0),console.log("F - felting "+(0==re?"OFF":"ON")),oe(!1,!0,!1)):90===e.keyCode?(e.preventDefault(),He++,3<He&&(He=1),console.log("Z - zoom level "+He+"x"),((e=2)=>{D.style.transform="scale("+e+")"})(He)):88===e.keyCode?(console.log("X - toggle accents"),e.preventDefault(),Q=!Q,oe(!1,!0,!1)):67===e.keyCode?(console.log("C - toggle auto-contrast"),e.preventDefault(),le=!le,oe(!1,!0,!1)):83===e.keyCode?(e.preventDefault(),(async()=>{var e=D.toDataURL("image/png"),a=document.createElement("a");a.href=e,a.download="ww-"+W.tokenId+".png",document.body.appendChild(a),a.click()})()):85===e.keyCode&&(e.preventDefault(),3>K?K++:K=1,Ne(K,X,V),oe(!1,!0,!1))}))})()})();