let e,t,r,a,n,i,o,s=(t,r)=>(void 0===t?(t=0,r=1):r=r||0,t+e()*(r-t)),f=(e,t)=>~~s(e,t),l=(e=1,t=0)=>{if(i){i=0;let r=n;return n=null,t+e*r}{let r=0,a=0,o=0;do{r=s(-1,1),a=s(-1,1),o=r*r+a*a}while(o>=1||0===o);let f=M.sqrt(-2*M.log(o)/o);return n=a*f,i=1,t+e*r*f}},c=e=>s()<e,d=(e,t,r)=>M.max(M.min(e,r),t),m=(e,t,r,a,n)=>(e-t)*(n-a)/(r-t)+a,u="fefdfb1d1517302332dd2e26f87d68fcc2cbf55b4dfcc79ef7d86ea0b8acb4aab2-f8f9fae9ecefdee2e6ced4daadb5bd6c757d495057343a40212529-de2c2cfff8e8fcd581d52941990d35-d726383f88c5f49d37140f2df22b29-183945116973F67C1FD82B03F2F2F2-a31621bfdbf7053c5e1f7a8cdb222a-1e90ffff514eff7700f7e3d569b6682b9091486abd282e39-b8b8d15b5f97319177ffc145ffe0a0fffffbffb5b4ff6b6c-1b3b4bd40000b68762eef2f6e6e0dae0b299eda67de2725b-0505041d34611f487d237ba133b2cce6e6e6fdd692fb3640-1d2f53ec5c23fdc449f5f1ebf8b8a03cb8a472c1c65898c1-ffbb33f1faeea8dadc457b9d1d3557031927424b54042a2b-26437fffcc00d2292effffff0000001884bffefddfd9381e-ccdbdc9ad1d480ced7007ea70032493d5a80ee6c4d293241-d00000fefefa3f88c5032b43136f6337323e96c8a2001242-05668d02809000a89602c39af0f3bdf7e7cefffaf000bbd8-3f3f37d6d6b1f2e0b6e6a100f24500-7500009e0000bd0000c70000d10000db0000e60000fa0000ff00007500009e0000bd0000c70000d10000db0000e60000fa0000ff00007500009e0000bd0000c70000d10000db0000e60000fa0000ff0000ffffff-f2bf58ffdd8ce37f445458737660654e342b45414a120d0e-247ba033b2ccfdd692ffcc33ff8c00fb364000563fff91af-d3cdc3F03000f78355ee7749F03C004b3934260c1a252422-40190617171af0a000f0c630f0d9a5f0d0c0ff0015cceeff-095c842e84a68eaccbe7eef5e1bf9bc48e1b876930241e05283224-7fa0c2336cbc60d7a2c8f354eee349ffffffe83b83e03a2eee8534e5d694-31b3936cde7ea0e6be6ad0be35ccc800a5cc60b3ef8a99e9ffbff4ff73d0-887499aba6c4d66e7fbb697ffe683cfca13bfcf115fbc9b2a244301b151".split`-`.map((e=>e.match(/.{6}/g).map((e=>"#"+e)))),p=e=>{let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return[parseInt(t[1],16)/255,parseInt(t[2],16)/255,parseInt(t[3],16)/255,1]},b=(e=1)=>{let t=[];o=[];for(let r=0;e>r;r++){let e=f(u.length);o.push(...u[e]),t.push(e)}return o=(e=>{let t=[...o],r=t.length,a=0;for(;0!=r;)a=~~(s()*r),r--,[t[r],t[a]]=[t[a],t[r]];return t})(),t},h=e=>{return(t=o)[f(t.length)];var t},g={};const v={width:6e3,height:7500,colorSpace:"display-p3"},y=(e,t={})=>{let r={};r.canvas=D.createElement("canvas"),r.context=r.canvas.getContext(e,{colorSpace:v.colorSpace,alpha:1,...t});let{canvas:a,context:n}=r;return r.stSz=(e=1)=>{let t=v.width/v.height,n=W.innerWidth,i=W.innerHeight;r.density=W.devicePixelRatio,i*t>n?(r.width=n,r.height=n/t,r.scale=n/v.width):(r.width=i*t,r.height=i,r.scale=i/v.height),a.width=~~(r.width*r.density*e),a.height=~~(r.height*r.density*e);let o=a.style;o.width=~~r.width+"px",o.height=~~r.height+"px",o.imageRendering="pixelated"},r.sv=e=>{a.toBlob((t=>{let r=URL.createObjectURL(t),a=D.createElement("a");a.href=r,a.download=`${tokenData.hash}.png`,a.click(),e&&e()}),"image/png",1)},r.dstry=e=>{r.width=r.height=a.width=a.height=1,r.clr(),a.remove(),delete r.canvas,delete r.context,a=n=r=null},r},x=e=>{let t=y("2d",e),{context:r}=t,a={fill:0,stroke:0,blend:"source-over"},n=(e,t,n)=>{a[e]=((e,t)=>`rgba(${255*e[0]}, ${255*e[1]}, ${255*e[2]}, ${t||e[3]||1})`)(t,n),r[`${e}Style`]=a[e]},i=e=>{a.fill&&r.fill(),a.stroke&&r.stroke()};return t.djstDnsty=e=>r.scale(t.density,t.density),t.drw=(e,a)=>{r.save(),t.djstDnsty();let n=e(t,a);return r.restore(),n},t.blndMd=e=>{a.blend=e,r.globalCompositeOperation=e},t.stOpcty=e=>r.globalAlpha=e,t.clr=e=>r.clearRect(0,0,t.width*t.density,t.height*t.density),t.fll=(e,t)=>n("fill",e,t),t.strk=(e,t)=>n("stroke",e,t),t.nFll=e=>a.fill=0,t.nStrk=e=>a.stroke=0,t.strkWght=e=>r.lineWidth=e*((t.scale+t.scale)/2),t.trns=(e,a)=>r.translate(e*t.scale,a*t.scale),t.psh=e=>r.save(),t.pp=e=>r.restore(),t.rct=(e,a,n,o)=>{r.beginPath(),r.rect(e*t.scale,a*t.scale,n*t.scale,(o||n)*t.scale),i()},t.plygn=(e,a=1)=>{r.beginPath(),r.moveTo(e[0][0]*t.scale,e[0][1]*t.scale);for(let a of e)r.lineTo(a[0]*t.scale,a[1]*t.scale);a&&r.lineTo(e[0][0]*t.scale,e[0][1]*t.scale),i()},t.crvdPlygn=(e,a=1)=>{if(e.length>3){let n=[...e];a&&n.push(e[0],e[1],e[2]);let o,s=[];for(r.beginPath(),r.moveTo(n[1][0]*t.scale,n[1][1]*t.scale),o=1;o+2<n.length;o++){let e=n[o];s[0]=[e[0],e[1]],s[1]=[e[0]+(n[o+1][0]-n[o-1][0])/6,e[1]+(n[o+1][1]-n[o-1][1])/6],s[2]=[n[o+1][0]+(n[o][0]-n[o+2][0])/6,n[o+1][1]+(n[o][1]-n[o+2][1])/6],s[3]=[n[o+1][0],n[o+1][1]],r.bezierCurveTo(s[1][0]*t.scale,s[1][1]*t.scale,s[2][0]*t.scale,s[2][1]*t.scale,s[3][0]*t.scale,s[3][1]*t.scale)}i()}},t.drwPnts=e=>{r.beginPath();for(let a=e.length-1;a>=0;a--)r.rect(e[a][0]*t.scale,e[a][1]*t.scale,e[a][2]*t.scale,e[a][2]*t.scale);i()},t.img=(e,a=0,n=0,i,o)=>r.drawImage(e,a*t.scale,n*t.scale,t.canvas.width/t.density,t.canvas.height/t.density),t.gtImg=e=>createImageBitmap(r.getImageData(0,0,t.canvas.width,t.canvas.height,{colorSpaceConversion:"none",resizeQuality:"high",premultiplyAlpha:"none"})),t};let E,T=(e,t,r)=>(E||(E=_(s(98765,34567876))),E(e,t,r)),R=e=>{let t=new U32(1);return t[0]=1664525*e[0]+1013904223,t},S=1/3,w=(e,t,r,a)=>({dx:-t-e*S,dy:-r-e*S,dz:-a-e*S,xsb:t,ysb:r,zsb:a}),_=e=>{let t=[];for(let e=0;e<P.length;e+=9){let r=A[P[e]],a=null,n=null;for(let i=0;i<r.length;i+=4)n=w(r[i],r[i+1],r[i+2],r[i+3]),null===a?t[e/9]=n:a.next=n,a=n;n&&(n.next=w(P[e+1],P[e+2],P[e+3],P[e+4]),n.next.next=w(P[e+5],P[e+6],P[e+7],P[e+8]))}let r=[];for(let e=0;e<z.length;e+=2)r[z[e]]=t[z[e+1]];let a=new U8(256),n=new U8(256),i=new U8(256);for(let e=0;256>e;e++)i[e]=e;let o=new U32(1);o[0]=e,o=R(R(R(o)));for(let e=255;e>=0;e--){o=R(o);let t=new U32(1);t[0]=(o[0]+31)%(e+1),0>t[0]&&(t[0]+=e+1),a[e]=i[t[0]],n[e]=a[e]%24*3,i[t[0]]=i[e]}return(e,t,i)=>{let o=-.16666666666666666*(e+t+i),s=e+o,f=t+o,l=i+o,c=M.floor(s),d=M.floor(f),m=M.floor(l),u=(c+d+m)*S,p=e-(c+u),b=t-(d+u),h=i-(m+u),g=s-c,v=f-d,y=l-m,x=g+v+y,E=0;for(let e=r[v-y+1|g-v+1<<1|g-y+1<<2|x<<3|x+y<<5|x+v<<7|x+g<<9];void 0!==e;e=e.next){let t=p+e.dx,r=b+e.dy,i=h+e.dz,o=2-t*t-r*r-i*i;if(o>0){let s=c+e.xsb,f=d+e.ysb,l=m+e.zsb,u=a[255&s],p=a[u+f&255],b=n[p+l&255];E+=o*o*o*o*(U[b]*t+U[b+1]*r+U[b+2]*i)}}return.009708737864077669*E}},A=[[0,0,0,0,1,1,0,0,1,0,1,0,1,0,0,1],[2,1,1,0,2,1,0,1,2,0,1,1,3,1,1,1],[1,1,0,0,1,0,1,0,1,0,0,1,2,1,1,0,2,1,0,1,2,0,1,1]],U=[-11,4,4,-4,11,4,-4,4,11,11,4,4,4,11,4,4,4,11,-11,-4,4,-4,-11,4,-4,-4,11,11,-4,4,4,-11,4,4,-4,11,-11,4,-4,-4,11,-4,-4,4,-11,11,4,-4,4,11,-4,4,4,-11,-11,-4,-4,-4,-11,-4,-4,-4,-11,11,-4,-4,4,-11,-4,4,-4,-11],z=[0,2,1,1,2,2,5,1,6,0,7,0,32,2,34,2,129,1,133,1,160,5,161,5,518,0,519,0,546,4,550,4,645,3,647,3,672,5,673,5,674,4,677,3,678,4,679,3,680,13,681,13,682,12,685,14,686,12,687,14,712,20,714,18,809,21,813,23,840,20,841,21,1198,19,1199,22,1226,18,1230,19,1325,23,1327,22,1352,15,1353,17,1354,15,1357,17,1358,16,1359,16,1360,11,1361,10,1362,11,1365,10,1366,9,1367,9,1392,11,1394,11,1489,10,1493,10,1520,8,1521,8,1878,9,1879,9,1906,7,1910,7,2005,6,2007,6,2032,8,2033,8,2034,7,2037,6,2038,7,2039,6],P=[0,0,1,-1,0,0,1,0,-1,0,0,-1,1,0,0,0,1,-1,0,0,-1,0,1,0,0,-1,1,0,2,1,1,0,1,1,1,-1,0,2,1,0,1,1,1,-1,1,0,2,0,1,1,1,-1,1,1,1,3,2,1,0,3,1,2,0,1,3,2,0,1,3,1,0,2,1,3,0,2,1,3,0,1,2,1,1,1,0,0,2,2,0,0,1,1,0,1,0,2,0,2,0,1,1,0,0,1,2,0,0,2,2,0,0,0,0,1,1,-1,1,2,0,0,0,0,1,-1,1,1,2,0,0,0,0,1,1,1,-1,2,3,1,1,1,2,0,0,2,2,3,1,1,1,2,2,0,0,2,3,1,1,1,2,0,2,0,2,1,1,-1,1,2,0,0,2,2,1,1,-1,1,2,2,0,0,2,1,-1,1,1,2,0,0,2,2,1,-1,1,1,2,0,2,0,2,1,1,1,-1,2,2,0,0,2,1,1,1,-1,2,0,2,0],B="#version 300 es",I=`${B}\nprecision highp float;in vec2 position;out vec4 color;uniform sampler2D image;uniform vec2 resolution;`,N="float hash13(vec2 p,float s,float t){vec3 p3=vec3(p.x,p.y,s+t);p3=fract(p3*.1031);p3+=dot(p3,p3.zyx+31.32);return fract((p3.x+p3.y)*p3.z);}",C=e=>{let t=2*M.PI,r=e=>e%1?e:e+".",a=(e=t)=>`vec3(${[0,0,0].map((t=>r(s(e))))})`,n=(e=1)=>`vec3(${[0,0,0].map((t=>r(e*2**(s(.6)-.3))))})`;return`float wobbly(vec3 p){return dot(sin(p.xyz*${n()}+2.*sin(p.yzx*${n()}+${a()})+${a()}),sin(p.zyx*${n()}+3.*sin(p.zxy*${n()}+${a()})+${a()}));}`},k=e=>`float getNoise(int o,float p,float f,vec3 c){float a=1.;float m=0.;float s=0.;for(int i=0;i<o;++i){s+=a*${e}(c*f);f*=2.;m+=a;a*=p;}return (s/m)*.5+.5;}`;const L=`${B}\nin vec2 a_position,a_texCoord;uniform mat3 u_textureMatrix;out vec2 position;void main(){position=(u_textureMatrix*vec3(a_texCoord,1)).xy;gl_Position=vec4(a_position*2.-vec2(1),0,1);}`;let $=e=>`${I}uniform float dist,intensity;mat3 k=mat3(${e});float f=0.;void main(){vec2 i=position;vec4 v=vec4(0);for(int e=-1;e<2;e++)for(int m=-1;m<2;m++){vec4 b=texture(image,i+vec2(e,m)/(resolution/9.)*dist);float d=k[m+1][e+1];v+=b*d;f+=d;}color=mix(texture(image,i),v/f,intensity);}`;const O=(e,t)=>{let r="-1.,-.5,0.,-.5,1.,.5,0.,.5,1.",a="convolution";return"sharpen"===e&&(r="0.,-1.,0.,-1.,5.,-1.,0.,-1.,0.",a+="Sharpen"),"gaussian"===e&&(r=".00625,.125,.00625,.125,.25,.125,.00625,.125,.00625",a+="Gaussian"),t&&(a+=t),{name:a,vertex:L,fragment:$(r),uniforms:[{name:"dist",type:"uniform1f"},{name:"intensity",type:"uniform1f"}]}},X={name:"shift",vertex:L,fragment:`${I}${N}uniform float time,seed,energy,randomness,density;uniform vec2 squareSize;void main(){vec2 e=position;bool s=false;vec2 h=position-2.,r=resolution,d=floor(h*r)/r;for(int i=0;i<200;i++){vec2 f=floor(d/squareSize)*squareSize,t=vec2(hash13(f*1e3,seed/12.+float(i)*randomness,time)*2.-1.,hash13(f*1e3,seed/36.+float(i)*randomness,time)*2.-1.);if(i==0)t*=5.;if(hash13(f*1e3,seed/24.,time)<density)e.xy+=t*hash13(f*1e3,seed/6.,time)*energy,s=true;}color=texture(image,e);if(!s)color.w=0.;}`,uniforms:[{name:"time",type:"uniform1f"},{name:"seed",type:"uniform1f"},{name:"energy",type:"uniform1f"},{name:"randomness",type:"uniform1f"},{name:"density",type:"uniform1f"},{name:"squareSize",type:"uniform2f"}]};let G=e=>`${I}${e}float map(float v,float a,float b,float c,float d){return c+(v-a)*(d-c)/(b-a);}${k("wobbly")}uniform sampler2D mask;uniform float seed,noiseSize,frequency;void main(){vec2 i=position;i.y=1.-i.y;vec4 m=texture(mask,i);i=m.xy*2.-1.+position;float y=map(m.z,0.,1.,35.,1.),f=map(m.w,0.,1.,1.,10.),s=getNoise(8,.6,2.,vec3(position.xy,seed+3e4)),p=getNoise(16,.4,frequency/f,vec3(position.xy,seed))*2.-1.,v=getNoise(16,.4,frequency/f,vec3(position.xy,seed+1e4))*2.-1.;i+=vec2(p,v)/(noiseSize/y)*s/10.;if(i.x<0.)i.x=abs(i.x);if(i.y<0.)i.y=abs(i.y);if(i.x>1.)i.x=1.-i.x+1.;if(i.y>1.)i.y=1.-i.y+1.;color=texture(image,i);if(m.w==0.)color.w=0.;}`,q=e=>`${I}${N}${e}${k("wobbly")}vec4 e(vec4 n){float y=0.,v=0.,c=0.,p=n.x,g=n.y,z=n.z,r=min(p,min(g,z)),m=max(p,max(g,z));c=(m+r)/2.;if(m>r){float x=m-r;v=c<0.?x/(m+r):x/(2.-m-r);y=p==m?(g-z)/x:g==m?2.+(z-p)/x:4.+(p-g)/x;if(y<0.)y+=6.;y/=6.;}return vec4(y,v,c,n.w);}vec4 p(vec4 n){return vec4(vec3(n.z+n.y*(clamp(abs(mod(n.x*6.+vec3(0,4,2),6.)-3.)-1.,0.,1.)-.5)*(1.-abs(2.*n.z-1.))),n.w);}void main(){vec2 n=position;n.x+=(getNoise(8,1.,50.,vec3(n.xy,0))*2.-1.)/4e2;n.y+=(getNoise(8,1.,50.,vec3(n.xy,1))*2.-1.)/4e2;color=texture(image,position);vec4 v=texture(image,n);vec2 g=position,c=resolution;v.xyz+=(getNoise(8,10.,50.,vec3(position.x/7.,position.y/7.,color.x*color.y*color.z))*2.-1.)*.01;v=e(v);v.x=clamp(v.x+(getNoise(4,.8,25.,vec3(position.x/10.,position.y/10.,color))*2.-1.)*.02,0.,1.);v.y=clamp(v.y+(getNoise(4,1.,25.,vec3(position.x/10.,position.y/10.,color.y))*2.-.8)*.05,0.,1.);v.z=clamp(v.z+(getNoise(8,1.,25.,vec3(position.x/10.,position.y/10.,color.z))*2.-.5)*.03,0.,1.);v.xyz+=(hash13(floor(g*c)/c*1e3,0.,v.x*v.y*v.z)*2.-1.)/20.;color=mix(p(v),color,.6);}`,H=(e,t,r)=>{let a=e.createShader(r);return e.shaderSource(a,t),e.compileShader(a),e.getShaderParameter(a,e.COMPILE_STATUS)||e.deleteShader(a),a},Y=e=>{let t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.MIRRORED_REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.MIRRORED_REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),t};const j={name:"post",vertex:L,fragment:`${I}uniform float brightness,contrast,saturation;mat4 v(float m){return mat4(1,0,0,0,0,1,0,0,0,0,1,0,m,m,m,1);}mat4 m(float m){float b=(1.-m)/2.;return mat4(m,0,0,0,0,m,0,0,0,0,m,0,b,b,b,1);}mat4 b(float m){vec3 b=vec3(.3086,.6094,.082);float n=1.-m;vec3 f=vec3(b.x*n);f+=vec3(m,0,0);vec3 v=vec3(b.y*n);v+=vec3(0,m,0);vec3 r=vec3(b.z*n);r+=vec3(0,0,m);return mat4(f,0,v,0,r,0,0,0,0,1);}void main(){color=v(brightness)*m(contrast)*b(saturation)*texture(image,position);}`,uniforms:[{name:"brightness",type:"uniform1f"},{name:"contrast",type:"uniform1f"},{name:"saturation",type:"uniform1f"}]},K=(e,t=[])=>{let r,a=x(),n={engine:a,blndMd:"source-over",completed:0};return a.stSz(),t.length&&(r=(e=>{let t=y("webgl2",{colorSpace:"display-p3",powerPreference:"high-performance",preserveDrawingBuffer:1}),{context:r,canvas:a}=t;"drawingBufferColorSpace"in r&&(r.drawingBufferColorSpace=v.colorSpace),"unpackColorSpace"in r&&(r.unpackColorSpace=v.colorSpace);let n,i=[],o=(e,t)=>((e,t,r,a,n,i=1)=>{let{width:o,height:s}=e.canvas,f=new F([0,0,1,0,0,1,0,1,1,0,1,1]),l=((e,t,r)=>{let a=e.createProgram(),n=H(e,t,e.VERTEX_SHADER),i=H(e,r,e.FRAGMENT_SHADER);return e.attachShader(a,n),e.attachShader(a,i),e.linkProgram(a),e.getProgramParameter(a,e.LINK_STATUS)||e.deleteProgram(a),a})(e,t,r);e.useProgram(l);let c=e.getAttribLocation(l,"a_position"),d=e.getAttribLocation(l,"a_texCoord"),m=e.getUniformLocation(l,"u_textureMatrix"),u=new F([1,0,0,0,1,0,0,0,1]),p=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,p),e.vertexAttribPointer(c,2,e.FLOAT,0,0,0),e.enableVertexAttribArray(c),e.vertexAttribPointer(d,2,e.FLOAT,0,0,0),e.enableVertexAttribArray(d),e.uniformMatrix3fv(m,0,u),e.bufferData(e.ARRAY_BUFFER,f,e.STATIC_DRAW);let b={};for(let t of a)b[t.name]={type:t.type,location:e.getUniformLocation(l,t.name),texture:t.texture};let h=[];for(let t=0;i>t;t++)h.push(Y(e));let g=e.createFramebuffer();return e.bindFramebuffer(e.FRAMEBUFFER,g),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,o,s,0,e.RGBA,e.UNSIGNED_BYTE,null),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,h[0],0),{name:n,getTexture:(e=0)=>h[e],draw(t){e.useProgram(l);let r=1;for(let[a,n]of Object.entries(t))n=Array.isArray(n)?n:[n],b[a].texture?(e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,h[r]),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,...n),e[b[a].type](b[a].location,r),r++):e[b[a].type](b[a].location,...n);e.bindBuffer(e.ARRAY_BUFFER,p),e.drawArrays(e.TRIANGLES,0,6)},set(){e.bindFramebuffer(e.FRAMEBUFFER,g)},reset(){({width:o,height:s}=e.canvas),g&&(e.bindTexture(e.TEXTURE_2D,h[0]),e.bindFramebuffer(e.FRAMEBUFFER,g),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,o,s,0,e.RGBA,e.UNSIGNED_BYTE,null),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,h[0],0))}}})(r,e.vertex,e.fragment,[{type:"uniform1i",name:"image"},{type:"uniform2f",name:"resolution"},...e.uniforms],e.name,t);r.clear(r.COLOR_BUFFER_BIT),r.disable(r.DEPTH_TEST),r.enable(r.BLEND),r.blendFunc(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1),r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,r.NONE),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,1);for(let t=0;t<e.length;t++)i.push(o(e[t],e[t].textures));n=o(j);let s=t.stSz;return t.stSz=e=>{s(),r.viewport(0,0,t.width*t.density,t.height*t.density);for(let e of[...i,n])e.reset()},t.drw=(e,t)=>{let{uniforms:a,blendModeGL:o,post:s={}}=t,{brightness:f=0,contrast:l=1,saturation:c=1}=s,d={image:0,resolution:[v.width,v.height]};for(let t=0;t<i.length;t++)r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,i[t].getTexture()),0===t&&r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e),t+1<i.length?i[t+1].set():n.set(),i[t].draw({...d,...a[i[t].name]});n.set(),r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,n.getTexture()),r.bindFramebuffer(r.FRAMEBUFFER,null),n.draw({...d,brightness:f,contrast:l,saturation:c})},t.clr=e=>r.clear(r.COLOR_BUFFER_BIT|r.DEPTH_BUFFER_BIT|r.STENCIL_BUFFER_BIT),t})(t),r.stSz(),n.engine=r,n.engine2D=a),n.draw=t=>{let i=a.drw(e,t);r&&r.drw(a.canvas,i);for(let[e,t]of Object.entries(i))n[e]=t},n.setSize=e=>{a.stSz(),r.stSz()},n.destroy=e=>{a.dstry(),r&&r.dstry()},n};let V=([e,t,r=0],[a,n,i=0])=>M.sqrt((a-e)**2+(n-t)**2+(i-r)**2),Q=(e,t)=>[e[0]+t[0],e[1]+t[1],e[2]+t[2]||0],J=([e,t,r=0],a)=>[e*a,t*a,r*a];const Z=(e,t)=>{let r=s(10,50)/t,a=(e=>{let t,r,[a,n,i]=p(e),o=M.max(a,n,i),s=M.min(a,n,i),f=(o+s)/2;if(o==s)t=r=0;else{let e=o-s;switch(r=f>.5?e/(2-o-s):e/(o+s),o){case a:t=(n-i)/e+(i>n?6:0);break;case n:t=(i-a)/e+2;break;case i:t=(a-n)/e+4}t/=6}return t*=360,r*=100,f*=100,[t,r,f,1]})(h()),n=s(.5,2),i=n/s(5,20),o=(s(123849132),f(1,10),1-s()*s()),c=[];return r*=f(10)*f(10),{calculatePoints(){c=[];for(let t=0;25>t;t++)c.push([l(r,e[0]),l(r,e[1]),M.abs(l(i,n))])},draw(e){e.fll((e=>{let t=e[0],r=e[1]/100,a=e[2]/100,n=e[3]||1,i=(1-M.abs(2*a-1))*r,o=i*(1-M.abs(t/60%2-1)),s=a-i/2,f=0,l=0,c=0;return t>=0&&60>t?(f=i,l=o,c=0):t>=60&&120>t?(f=o,l=i,c=0):t>=120&&180>t?(f=0,l=i,c=o):t>=180&&240>t?(f=0,l=o,c=i):t>=240&&300>t?(f=o,l=0,c=i):t>=300&&360>t&&(f=i,l=0,c=o),f+=s,l+=s,c+=s,[f,l,c,n]})(((e,t=.5,r,a)=>{let n=360+e[0],i=e[1],o=e[2];return r=r||e[3],n=l(t*=4,n)%360,i=d(l(t,i),.01,100),o=d(l(t,o),.01,100),a||(r=d(l(t/20,r),1e-4,1)),[n,i,o,r]})(a,1)),o),e.drwPnts(c)}}};let ee=e=>e.reduce((({t:e,b:t,r:r,l:a},[n,i])=>({t:i<e[1]?[n,i]:e,b:i>t[1]?[n,i]:t,r:n>r[0]?[n,i]:r,l:n<a[0]?[n,i]:a})),{t:e[0],b:e[0],r:e[0],l:e[0]});const te=(e,t)=>{let[r,a]=e,n=c(.5),i=n?25:f(3,7),o=360/i*(M.PI/180),d=M.PI*f(5),u=[],b=l(),v=s(20,200),y=p(h()),[x,E,R]=y,S=s(.1,.5),w=c(.7)?1:0;for(let e=0;i>e;e++)u.push([M.cos(o*e+d),M.sin(o*e+d)]);if(!n||c(.9))for(let e=0;e<g.chaos;e++)u.forEach((e=>{e[0]+=T(r/v+e[0],a/v+e[1],b)*t/500,e[1]+=T(r/v+e[0],a/v+e[1],b+531284)*t/500}));return{pos:e,radius:t,extremes:ee(u.map((r=>Q(J(r,t),e)))),draw(e){let i=n?e.crvdPlygn:e.plygn;e.psh(),e.trns(r,a),e.nStrk();for(let r=0;t>r;r++){let a=m(r,0,t,1,.5);e.fll([x,E,R,S*a]),i(u.map((e=>J(e,r))))}e.pp()},drawSilouette(e){let i=n?e.crvdPlygn:e.plygn;e.psh(),e.trns(r,a);let o=.25*t;e.nFll(),e.strkWght(.5),e.blndMd(w?"screen":"multiply");for(let r=t;t+o>r;r++){let a=m(r,t,t+o,.3,0);e.strk([w,w,w,a]),i(u.map((e=>J(e,r))))}e.pp()}}};(o=>{window.W=window,W.D=document,W.S=D.body.style,W.M=Math,W.U32=Uint32Array,W.U8=Uint8Array,W.F=Float32Array;let d,u,y,R,S,w,_,A,U=(e=>{let t=[];return{addLayers(e){t.push(...e),D.body.appendChild(t[t.length-1].engine.canvas)},render(e){let r=1;for(let a of t)a.completed||(r=0,a.draw(e));return r},reset(){t.forEach((e=>e.destroy())),t=[]},save(e){t[t.length-1].engine.sv(e)}}})(),F=e=>{A||(_=W.requestAnimationFrame(F),R=e,w=R-S,w>u&&(S=R-w%u,A=U.render({frameCount:d}),d++))},z=o=>{_&&W.cancelAnimationFrame(_),((o="tx piter")=>{e=t=r=a=n=i=null,t=U32.from([0,1,r=a=2,3].map((e=>parseInt(o.substr(8*e+2,8),16)))),e=e=>(a=t[3],t[3]=t[2],t[2]=t[1],t[1]=r=t[0],a^=a<<11,t[0]^=a^a>>>8^r>>>19,t[0]/2**32)})(tokenData.hash),E=null,U.reset(),g={palettes:b(f(2)+1),background:c(.75)?h():"#fafafa",padding:.15,exposure:f(600,1200),noiseSize:s(4,12),frequency:f(4,9),seed:50*s(7e4,9e4),wobblySeed:s(),chaos:f(4),speed:f(1e3,6e3),energy:s(.5,1)/500,randomness:c(.1)?0:s(),density:s(.15,.8),size:[s(.05,.5),s(.05,.5)],shiftSquare:s(.01,.25),shapeSize:s(.55),numberOfBlocks:f(15,35)},g.background=p(g.background),g.chaos=(g.chaos+1)**2,d=0,u=1e3/60,S=W.performance.now(),y=S,A=0,U.addLayers((e=>{let{padding:t,background:r,exposure:a,noiseSize:n,frequency:i,seed:o,wobblySeed:d,speed:u,energy:p,randomness:b,density:h,size:y,shiftSquare:E,shapeSize:R,numberOfBlocks:S}=g,{width:w,height:_}=v;t*=w;let A=w-2*t,U=_-2*t,F=[],z=f(32,64);for(let e=0;z>e;e++)for(let e=0;6>e;e++)F.push(Z([s(A),s(U)],3>e?1>e?1:2:10));let D=(e,t,r=[])=>{let a=[],n=U*t;for(;a.length<e;){let e=s(n/100,n/10),t=[s(A),s(U)],i=te(t,e),o=1;for(let e of[...a,...r])V(i.pos,e.pos)<M.max(e.radius,i.radius)&&(o=0);o&&a.push(i)}return a},P=D(S,.9+R),B=D(f(10,20),.25,P),I=[],N=[],k=[],$=[];for(let e of P){let{t:t,b:r,l:a,r:n}=e.extremes;I.push(t),N.push(r),k.push(a),$.push(n)}let{t:W}=ee(I),{b:H}=ee(N),{l:Y}=ee(k),{r:j}=ee($),J=[(Y[0]+j[0])/2,(W[1]+H[1])/2],re=Q([(ae=[A/2,U/2])[0]-(ne=J)[0],ae[1]-ne[1],ae[2]-ne[2]||0],[l(50),l(50)]);var ae,ne;let ie=y,oe=K(((e,{frameCount:r})=>{e.trns(t,t),e.nStrk();for(let t of F)t.calculatePoints(),t.draw(e);return c(E)&&(ie=[m(T(ie[0]/500,ie[1]/500,r/500),-1,1,y[0]/10,y[0]),m(T(ie[0]/500,ie[1]/500,28123412+r/500),-1,1,y[1]/10,y[1])]),{completed:r===a,uniforms:{shift:{time:r/u,seed:o,energy:p,randomness:b,density:h,squareSize:ie}}}}),[X,X]),se=K(((e,{frameCount:t})=>(e.stOpcty(.5),e.img(oe.engine.canvas),{completed:t===a,visible:0,post:{saturation:1.4,contrast:1.2,brightness:-.2},uniforms:{noise:{seed:d+t/1e3,noiseSize:n,frequency:i,mask:fe[0]}}})),[{name:"noise",vertex:L,fragment:G(C()),textures:2,uniforms:[{name:"seed",type:"uniform1f"},{name:"noiseSize",type:"uniform1f"},{name:"frequency",type:"uniform1f"},{name:"mask",type:"uniform1i",texture:1}]}]),fe=[],le=x({willReadFrequently:true});le.stSz(),le.djstDnsty();let ce=e=>{le.clr(),le.psh(),le.trns(t+re[0],t+re[1]);for(let t of e)t(le);le.gtImg().then((e=>fe.push(e))),le.pp()};ce(P.map((e=>e.draw))),ce(B.map((e=>e.draw))),ce(P.map((e=>e.drawSilouette))),P=B=null,le.dstry();let de=K(((e,{frameCount:t})=>{e.fll(r),e.rct(0,0,w,_),[oe.engine.canvas,fe[1],se.engine.canvas].forEach((t=>e.img(t)));let n=t/300;return 1>n&&e.stOpcty(n),e.img(fe[2]),{completed:t===a,post:{saturation:1.5,contrast:.9},uniforms:{convolutionGaussian:{dist:.5,intensity:.2},convolution:{dist:.5,intensity:.06},convolutionSharpen:{dist:.5,intensity:.04}}}}),[O("gaussian"),{name:"oilNoise",vertex:L,fragment:q(C()),uniforms:[]},O(),O("sharpen")]);return[oe,se,de]})()),F()};navigator.userAgent.includes("HeadlessChrome")||(W.addEventListener("resize",z),W.addEventListener("keydown",(e=>"s"===e.key?U.save():""))),z()})();
↓ show full (21,761 bytes)