memoscan
← all memos

Memo 0x8096f12f…787342 on Ethereum

!function(){"use strict";var e=Math.exp,t=Math.cos,c=Math.sin,r=Math.PI,n=Math.pow,o=Math.min,a=Math.max,f=Math.abs,l=Math.sqrt,i=Math.floor;class s{constructor(){this.useA=!1;let e=function(e){let t=parseInt(e.substring(0,8),16),c=parseInt(e.substring(8,16),16),r=parseInt(e.substring(16,24),16),n=parseInt(e.substring(24,32),16);return function(){t|=0,c|=0,r|=0,n|=0;let e=0|(0|t+c)+n;return n=0|n+1,t=c^c>>>9,c=0|r+(r<<3),r=r<<21|r>>>11,r=0|r+e,(e>>>0)/4294967296}};this.prngA=new e(tokenData.hash.substring(2,34)),this.prngB=new e(tokenData.hash.substring(34,66));for(let e=0;1e6>e;e+=2)this.prngA(),this.prngB()}rd(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}rn(e,t){return e+(t-e)*this.rd()}ri(e,t){return i(this.rn(e,t+1))}rc(e){return e[this.ri(0,e.length-1)]}rp(e){let t=0;return Object.entries(e).reduce(((e,[c,r])=>(t+=r,e.concat(Array(r).fill(0).map((()=>c))))),[])[this.ri(0,t-1)]}}let v=new s;const u=480,d=1800,g=120,x=l(2),b=e=>2*i(e/2),m=(e,t,c)=>.2125*e+.7154*t+.0721*c,p=e=>2*f(e-i(e+.5)),y=(e,t)=>{if(e=e||window.innerWidth,(t=t||window.innerHeight)<=e){const e=b(t);let c=i(e);return[c,e,c+c%2,e,!1]}{const t=b(e);let c=i(t);return[t,c,t,c+c%2,!0]}},h=(e,t,c,r)=>{const n=a(e,t,c),f=n-o(e,t,c),l=0===f?0:f&&(n===e?(t-c)/f:n===t?2+(c-e)/f:4+(e-t)/f);r[0]=(0>l?l+6:l)/6,r[1]=n&&f/n,r[2]=n},E=(e,t,c,r)=>{if(0===t)r[0]=r[1]=r[2]=c;else{const n=(e,t,c)=>(0>c&&(c+=1),1<c&&(c-=1),c<1/6?e+6*(t-e)*c:c<.5?t:c<2/3?e+(t-e)*(2/3-c)*6:e);let o=.5>c?c*(1+t):c+t-c*t,a=2*c-o;r[0]=n(a,o,e+1/3),r[1]=n(a,o,e),r[2]=n(a,o,e-1/3)}},R=(...e)=>new THREE.Vector3(...e),w={Hessonite:[3,[1,.727,.521],[.337,.392,.667],[.4,.3,.2],[.45,.5],[.49,.56,.75],[.9,.8,.9],2.3,2.1,1.3,.025,.95],Aquamarine:[1,[.01,.08,.48],[.312,.611,.541],[.4,.1,.4],[.25,.6],[.517,.768,.56],[.9,1,.8],2.2,1.5,1.15,.015,1.1],Labradorite:[3,[.345,.624,.973],[.87,.76,.27],[.5,.3,.3],[.176,.77],[2,.9,.9],[.85,.75,1],2.3,1.1,1.5,.02,1.05],VerdeDarno:[3,[.345,.614,.823],[.87,.76,.27],[.5,.2,0],[.156,.57],[1,.9,.85],[1,1,.8],2.2,1.1,1.4,.02,1.03],DendriticAgate:[3,[.345,.624,.973],[.87,.76,.27],[.5,.3,.3],[.16,.7],[.9,.81,.81],[1,.8,.4],2.2,1.1,1.6,.04,1.1],Amethyst:[3,[.474,.749,.856],[.728,.658,.784],[.6,.5,.2],[.13,1.5],[.8,.704,.704],[.7,1,.9],2.1,1.1,2.2,.019,1.02],Ammolite:[2,[.8,.744,.604],[.41,.49,.29],[.25,.1,.5],[.18,.59],[.488,.31,.136],[.85,.95,.7],2.6,2.1,1.15,.01,1.05],"Unakite-a":[3,[.6,.6143,.3997],[.137,.442,.727],[.64,.56,.16],[.3,.42],[.66,.396,.35],[1,.9,.8],2.3,2.2,1.3,.02,1],Peridot:[4,[.6,.6143,.3997],[.037,.442,.767],[.64,.56,.16],[.28,.45],[.5,.43,.4],[1,.9,.8],2.3,2.1,1.3,.025,1.05],"Ametrine-a":[2,[.896,.698,.39],[.192,.162,.312],[.3,.2,0],[.3,.5],[.493,.489,.72],[.8,.8,1],2.2,2,1.3,.015,1.02],"Ametrine-b":[3,[.945,.768,.598],[.282,.149,.384],[.227,.122,.31],[.4,.56],[.59,.54,.9],[1,.9,.7],2.25,1.9,1.44,.02,.9],"Unakite-b":[1,[.522,.46,.29],[.304,.536,.375],[0,.2,.4],[.13,.7],[.524,.069,.068],[1,1,.5],2.3,2.1,.85,.012,1.05]},T=[(e,t,c)=>v.rd()>c,(e,t,c)=>v.rd()>c+5e-5*(1-t)-.001*e,(e,t,c)=>v.rd()>c+5e-5*(1-t)-.01*e],M=[(e,t)=>1*(v.rd()>t+.25*(1-t)-e*(1-t)*.5),e=>1*(v.rd()>.025*e+.975)],F=(e,t,c,r,o,a,f,l)=>{z(e,t,a,f,l,n(r,2-.75*(o+1-c[3]))*a[4]+(1-a[4]))},z=(e,t,c,r,n,o)=>{const a=(r*c[2]*n+c[2])/1080;e[0]+=t[0]*(a/o*.7),e[1]+=t[1]*(a/o*.7)},U=()=>{const e=(v=new s,{Palette:v.rp(Object.fromEntries(Object.keys(w).map((e=>[e,w[e][0]])))),Rendering:v.rp({Default:5,Light:4,Flat:1,"Cluttered-1":3,"Cluttered-2":3,Tall:4}),Scene:v.rp({Default:12,Arch:5,Dendrite:4})}),t={Default:(()=>{const e=v.rc([[[-1,2,5],[-24,9,-1],[-24,4,-2],[[.8,.9],[1.1,1.2]],[.5,1,.2]],[[-.5,5,0],[-24,6,-6],[-24,2,-6.1],[[.6,.9],[1.1,1.4]],[.5,1,.2]],[[0,7,0],[-26,5,-2],[-26.1,-2,-3],[[.6,.9],[1.1,1.6]],[0,1,0]],[[0,5,1],[-24,4,0],[-24.2,-2,-.8],[[.6,.9],[1.1,1.5]],[0,1,0]],[[-1,7,2],[-28.5,5,0],[-29,1,-1],[[.6,.9],[1.1,1.6]],[0,1,.5]]]);let[t,c]=[[0,[.8,1.2]],[1,[.8,.9]]][.9>v.rd()?0:1];return[1,A(-.02).multiply(k(.04)),e[0],e[1],e[2],e[3],c,0,[e[4]],t]})(),Arch:(()=>{const e=v.rc([[[-1,5,1],[-28.8,4,0],[-29.8,1,-1]]]);return[1,A(-.02).multiply(k(.04)),e[0],e[1],e[2],[[1.1,1.4]],[1.1,1.5],0,[[0,1,2]],2]})(),Dendrite:(()=>{const e=v.rc([[[2,2,-5],[-13,5,3],[-11,-2,-4]],[[2,2,-6],[-13,5,3],[-11,-3,-6]]]);return[0,A(-.025).multiply(C(-.05)).multiply(k(.07)),e[0],e[1],e[2],[[.7,.9]],[1.1,1.4],0,[[0,1,1]],0]})()}[e.Scene];t[8].push(...w[e.Palette]);const o={Default:[[[25,0,.7,1,.7],[90,.2,2,4,.1]],[.98,.5,40,T[1]],[.99,.9991,6,M[1]],[.9995,.9991,1,.5,90],F,v.rc([-.05,0,0,0,.04,.1,.18])],Light:[[[100,0,.5,1,.1],[100,.6,1.4,3,.495]],[.98,.5,50,T[1]],[.99,.9982,8,M[1]],[.9998,.9991,15,.5,150],(e,t,n,o,a,f,l,i)=>{z(e,t,f,l,i,.8*(.5*c(a*r-r/2)+.5+.5*c(o*r-r/2)+.5)*f[4]+(1-f[4]))},v.rc([-.2,-.1,0,0,.05,.1,.2,.25])],Flat:[[[100,.1,.55,1.3,.8],[50,.3,9,2,-.3]],[.992,.5,50,T[0]],[.989,.997,50,M[0]],[.9991,.9996,5,.5,150],(e,t,o,a,f,l,i,s)=>{z(e,t,l,i,s,n(a,2-.75*(f+1-.5*c(o[3]*r-r/2)+.5))*l[4]+(1-l[4]))},0],"Cluttered-1":[[[70,0,1.3,1.3,.03],[65,.6,2,2.5,2]],[.99,.75,45,T[2]],[.99,.9997,6,M[1]],[.998,.9998,20,.5,150],F,v.rc([-.15,-.1,0,0,.05,.1,.2])],"Cluttered-2":[[[60,0,.9,1.2,.05],[65,.6,1.9,2.7,2]],[.99,.75,45,T[2]],[.994,.9997,6,M[1]],[.9989,.9998,20,.5,100],F,v.rc([-.15,-.08,0,0,.08,.2])],Tall:[[[50,.1,.5,1.1,.5],[5,.1,6,4,.9]],[.98,.5,90,T[1]],[.97,.998,10,M[0]],[1,.982,3,.5,20],(e,t,c,r,o,a,f,l)=>{z(e,t,a,f,l,n(r,2-.5*o)*a[4]+(1-a[4]))},v.rc([-.3,-.2,-.1,0,0,0,.1,.2])]}[e.Rendering],a=.5<v.rd(),f=+v.rp({".9992":1,".9997":2,"1.":3}),l=i(99999*v.rd()*1e3)/1e3;return t[7]=B(R(...t[3]),R(3,-1,-10),t[1],R(...t[2])),[t,o[5],o[0],o[4],o[1],o[2],o[3],f,a,l]},C=e=>{const n=c(-e*r*2),o=t(-e*r*2),a=new THREE.Matrix3;return a.set(1,0,0,0,o,-n,0,n,o),a},k=e=>{const n=c(-e*r*2),o=t(-e*r*2),a=new THREE.Matrix3;return a.set(o,0,n,0,1,0,-n,0,o),a},A=e=>{const n=c(-e*r*2),o=t(-e*r*2),a=new THREE.Matrix3;return a.set(o,-n,0,n,o,0,0,0,1),a},B=(e,t,c,r)=>{const n=c.clone().transpose();return i(100*e.clone().applyMatrix3(n).add(r).add(t).length())/100};var S="uniform float uF;uniform vec3 uR;out vec2 vU;out vec2 vF;void main(){vU=uv;vF=vec2(uv.x,uv.y*.5+.5*mod(uF+1.,2.));gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.);}",L="uniform float uF;uniform vec3 uR;uniform sampler2D uT;uniform sampler2D uB;in vec2 vU;const float C=/*!F:C*/;const float E=/*!F:E*/;const float S=/*!F:S*/;vec3 b(vec3 e,float g){return vec3(step(e.x,g),step(e.y,g),step(e.z,g));}vec3 c(vec3 h){h=clamp(h,0.,1.);return mix(pow(h,vec3(.4166))*1.055-.055,h*12.92,b(h,.0031308));}vec3 d(vec3 j){return clamp((j*(2.51*j+.03))/(j*(2.43*j+.59)+.14),0.,1.);}void main(){vec4 k;if(vU.y>.5){k=texelFetch(uT,ivec2(floor(vU.x*uR.x),floor((vU.y*2.-1.)*uR.y)),0);}else{k=texelFetch(uB,ivec2(floor(vU.x*uR.x),floor((vU.y*2.)*uR.y)),0);}k.rgb/=float(uF)/2.+1.;vec3 l=vec3(dot(k.rgb,vec3(.2125,.7154,.0721)));k.rgb=c(d(clamp(pow(mix(l,k.rgb,S)*E,vec3(C)),0.,1.)));gl_FragColor=vec4(clamp(k.rgb,0.,1.),k.a);}";const P=(e,t,c,r=!1)=>new THREE.ShaderMaterial({uniforms:Object.fromEntries(c.map((e=>[e[0],{value:e[1]}]))),vertexShader:e,fragmentShader:t,transparent:!1,depthTest:r,depthWrite:r}),D=(e,t,c)=>{const r=`/*!S:${t}`,n=[`${r}`,`${r}:${c}*/`,`${r}:${c+1}*/`,`${r}:END*/`],o=n.map((t=>e.indexOf(t)));return-1===o[1]||-1===o[3]?e:e.slice(0,o[0])+e.slice(o[1]+n[1].length,void 0===o[2]?o[3]:0<=o[2]?o[2]:o[3])+e.slice(o[3]+n[3].length)},H=(e,t,c)=>{const r=`/*!F:${t}*/`,n=e.indexOf(r);return-1===n?e:`${e.slice(0,n)}${c}${0==i(c)-c?".":""}${e.slice(n+r.length)}`},I=(e,t,c)=>{const r=`/*!V3:${t}*/`,n=e.indexOf(r);return-1===n?e:`${e.slice(0,n)}vec3(${c.x},${c.y},${c.z})${e.slice(n+r.length)}`},j=(e,t)=>{e[0]=t[0],e[1]=t[1]};(()=>{let s,b,w,T,M,F,z,C,k,A,B,V,N,K,O,X,G,$,q,W,J,Z,_,Q=window,Y=document,ee=0,te=1+2*v.rd(),ce=-1;W=J=Z=!1,k=A=B=V=N=null;const re=i(15),ne=(e,t,c,r)=>{let n=new THREE.OrthographicCamera(e,t,c,r,.01,100);return n.position.z=.1,n.lookAt(R(0,0,0)),n},oe=(e,n,o)=>{let f;[K,O,G,$,f]=y(e,n),q=O/1080;let l=Q.devicePixelRatio??1;s.setRenderTarget(null),s.setPixelRatio(Q.devicePixelRatio),s.setClearColor(0,1),s.setSize(K*l,O*l),s.clear();let g=1*(o??f),m=["width","height"];X.style=`aspect-ratio:1;${m[1-g]}:100%;${m[g]}:max-content;margin:auto;padding:0;display:block;position:absolute;inset:0;`,b=ne(-240,240,240,-240),w=ne(-240,240,120,-120),T=ne(0,G,$,0),[C,z,k,A,M,F]=((e,t)=>{const c=THREE.NearestFilter,n=THREE.ClampToEdgeWrapping,o={type:THREE.FloatType,format:THREE.RGBAFormat,antialias:!1,precision:"highp",stencilBuffer:!1,depthBuffer:!1,minFilter:c,magFilter:c,wrapS:n,wrapT:n,alpha:!1,encoding:THREE.sRGBEncoding},f=[,,,,].fill(0).map((()=>new THREE.WebGLRenderTarget(u,240,o)));f.forEach((e=>e.texture.generateMipmaps=!1));const l=new THREE.WebGLRenderTarget(480,480,o);l.texture.generateMipmaps=!1,e.setRenderTarget(l),e.clearColor();let i=t[0][8],s=1===t[0][5].length,g="uniform float uF;uniform int uI;uniform float uS;uniform vec3 uR;uniform sampler2D uP;uniform float uT;uniform mat3 uC;in vec2 vU;in vec2 vF;\n#define k normalize\n#define C fract\n#define E floor\nconst float PI=3.1416;const float TAU=6.2832;const float MD=.002;const float Mat1=1.;const float Mat2=2.;const vec2 B=vec2(10.,0.);struct j{vec3 e;float r;float p;vec3 c;float s;float ss;};uint G(uint Rb){Rb^=Rb>>17;Rb*=0xed5ad4bbU;Rb^=Rb>>11;Rb*=0xac4c1b51U;Rb^=Rb>>15;Rb*=0x31848babU;Rb^=Rb>>14;return Rb;}uvec2 s1=uvec2(0);void H(){s1=uvec2(vF*uR.xy*84.67)+uvec2(uS,float(E(uF/2.))*84.67);}float I(){s1+=uvec2(1);return float(G(s1.x+G(s1.y)))/float(0xffffffffU);}uvec2 s2=uvec2(0);void J(int Vb){s2=uvec2(uS*84.67,uS*84.67+float(Vb)*13.31);}float K(){s1+=uvec2(1);return float(G(s2.x+G(s2.y)))/float(0xffffffffU);}uint L(uvec2 Xb){Xb=1103515245U*((Xb>>1U)^Xb.yx);uint Zb=1103515245U*(Xb.x^(Xb.y>>3U));return Zb^(Zb>>16);}vec2 N(uvec2 bc){uint dc=L(bc);return vec2((uvec2(dc,dc*48271U)>>1)&uvec2(0x7fffffffU))/float(0x7fffffff);}float P(vec2 fc){return dot(fc,fc);}float Q(vec2 hc){uvec2 kc=uvec2(int(E(hc.x)),int(E(hc.y)));vec2 mc=C(hc);float oc=1e10;vec3 qc=vec3(-1.,0.,1.);uvec3 sc=uvec3(-1,0,1);oc=min(P(qc.xx-mc+N(kc+sc.xx)),oc);oc=min(P(qc.xy-mc+N(kc+sc.xy)),oc);oc=min(P(qc.xz-mc+N(kc+sc.xz)),oc);oc=min(P(qc.yx-mc+N(kc+sc.yx)),oc);oc=min(P(qc.yy-mc+N(kc+sc.yy)),oc);oc=min(P(qc.yz-mc+N(kc+sc.yz)),oc);oc=min(P(qc.zx-mc+N(kc+sc.zx)),oc);oc=min(P(qc.zy-mc+N(kc+sc.zy)),oc);oc=min(P(qc.zz-mc+N(kc+sc.zz)),oc);return sqrt(oc);}vec2 R(float uc){vec2 wc=C(vec2(.5,1.)-uc*2.)*2.-1.;vec2 yc=sign(.5-C(vec2(.25,.5)-uc));return(20./(wc*wc+4.)-4.)*yc;}vec2 U(float Ac){return vec2(cos(Ac*TAU),sin(Ac*TAU));}mat3 V(float Cc){vec4 Ec=vec4(R(Cc),0.,1.);return mat3(Ec.wzz,vec3(Ec.zx,-Ec[1]),Ec.zyx);}mat3 W(float Gc){vec4 Ic=vec4(R(Gc),0.,1.);return mat3(Ic.xzy,Ic.zwz,vec3(-Ic[1],Ic.zx));}mat3 X(float Kc){vec4 Mc=vec4(R(Kc),0.,1.);return mat3(vec3(Mc.x,-Mc[1],Mc.z),Mc.yxz,Mc.zzw);}mat3 Y(vec3 Oc,vec3 Qc){vec3 Sc=k(Qc-Oc);vec3 Uc=k(cross(vec3(0.,1.,0.),Sc));vec3 Wc=cross(Sc,Uc);return mat3(Uc,Wc,Sc);}vec3 Z(vec3 Yc,float ad){return vec3(step(Yc.x,ad),step(Yc.y,ad),step(Yc.z,ad));}vec3 ab(vec3 cd){cd=clamp(cd,0.,1.);return mix(pow(((cd+.055)/1.055),vec3(2.4)),cd/12.92,Z(cd,.04045));}vec2 cb(vec3 ed,vec3 gd,float jd){vec3 ld=abs(ed)-gd;return vec2(length(max(ld,0.))+min(max(ld.x,max(ld.y,ld.z)),0.),jd);}vec2 eb(vec2 nd,vec2 pd){return step(nd.x,pd.x)*nd+step(pd.x,nd.x)*pd;}vec2 gb(vec2 td,vec2 vd){return step(-td.x,vd.x)*vd+step(vd.x,-td.x)*vec2(-td.x,td.y);}vec3 jb(vec2 xd,float zd){float Bd=atan(xd.y,xd.x);float Dd=C(E(Bd/TAU*zd+.5)/zd)/zd*(zd+1.);zd=PI/zd;Bd=mod(Bd+zd,zd*2.)-zd;vec2 Fd=length(xd)*U(Bd/TAU);return vec3(Fd.x-.5,Fd.y,Dd);}vec3 lb(vec3 Hd,float Jd,vec3 Ld,vec3 Nd){return Hd-Jd*clamp(round(Hd/Jd),Ld,Nd);}vec2 nb(vec2 Pd,vec3 Rd,vec3 Td,vec3 Vd,float Xd,float Zd,float be){return eb(Pd,cb(lb(vec3(abs(Rd.x),Rd.yz),Xd,-Td,Td)*W(Zd),Vd,be));}vec2 pb(vec2 de,vec3 fe,vec3 he){vec3 ke=lb(fe,5.,-B.xyx,B.xyx);ke.xz=jb(ke.xz,6.).xz;ke.x-=2.;return eb(de,cb(ke,he,Mat1));}vec3 rb(vec3 me,float oe,float qe){vec3 se=me;se.xz=jb(se.xz,oe).xy;se.x-=qe;return se;}vec2 tb(vec3 we){vec2 ye=vec2(99.);/*!S:S:0*/const float Ae=10.;we=(we*uC)/1.2+/*!V3:ST*/;ye=eb(ye,cb(rb(we,15.,Ae),vec3(.8,7.,.4),Mat2));vec3 Ce=we;Ce.xz=jb(Ce.xz,15.).xy;Ce.y+=.3;ye=eb(ye,cb(Ce,vec3(Ae,.4,2.),Mat2));vec3 Ee=rb(we,120.,Ae-5.);Ce=rb(we,20.,Ae-5.)+vec3(-0.,-3.,0.);Ce.xy=jb(Ce.xy,60.).xy;Ce.x-=Ae-7.5;ye=eb(ye,cb(Ce,vec3(.25,.2,.2),Mat1));ye=eb(ye,gb(cb(Ee+vec3(0.,-1.,0.),vec3(Ae-8.5,3.,2.),Mat1),cb(Ee+vec3(0.,1.,0.),vec3(Ae-7.,3.5,2.),Mat1)));ye=nb(ye,we+vec3(0.,-4.,0.),B.xyx,vec3(10.,.5,.25),2.,0.,Mat1);return vec2(ye.x*1.2,ye.y);/*!S:S:1*/we=(we*uC)/1.5+/*!V3:ST*/;ye=nb(ye,we+vec3(8.,-6.,-2.),B.yyx,vec3(1.5,10.,1.5),5.,.165,Mat2);ye=pb(ye,we+vec3(2.5,-6.,2.5),vec3(.2,1.,3.));ye=pb(ye,we+vec3(0.,-3.,1.),vec3(.2,.2,3.));return vec2(ye.x*1.5,ye.y);/*!S:S:END*/}vec3 vb(vec3 Ge,vec3 Ie){float Ke=MD;vec2 Me;int Oe=0;while(Oe<60){Me=tb(Ge+Ke*Ie);Ke+=Me.x;if(abs(Me.x)<MD*Ke || Ke>30.){break;}Oe++;}return vec3(step(Ke,30.)*vec2(Ke,Me.y),Oe);}float xb(vec3 Qe,vec3 Se){float Ue=MD;int We=0;while(We<60){float Ye=tb(Qe+Ue*Se).x;Ue+=Ye;if(Ye<MD*Ue || Ue>30.){break;}We++;}return step(30.,Ue);}vec3 zb(vec3 af){vec2 cf=vec2(.03,-.03);return k(cf.xyy*tb(af+cf.xyy).x+cf.yyx*tb(af+cf.yyx).x+cf.yxy*tb(af+cf.yxy).x+cf.xxx*tb(af+cf.xxx).x);}vec3 Bb(){float ef=I()*2.-1.;return pow(I(),.33)*vec3(sqrt(1.-ef*ef)*U(I()).yx,ef);}vec3 Db(vec3 gf){float jf=I()*2.-1.;return k(gf+vec3(sqrt(1.-jf*jf)*U(I()),jf));}vec3 Fb(vec3 lf,float nf){float pf=K()*nf*2.-1.;return k(lf+vec3(sqrt(1.-pf*pf)*U(K()),pf));}vec3 Hb(vec3 rf,vec3 tf){float vf=/*!F:LS2*/;float xf=dot(rf,tf);return step(xf,1.-vf)*/*!V3:LB*/+step(1.-vf,xf)*mix(/*!V3:LC1*/,/*!V3:LC2*/,clamp(1./(1.+exp((-(1.-xf)/vf+/*!F:LS1*//vf)*42.)),0.,1.));}vec4 Jb(vec2 zf,vec3 Bf,vec3 Df,vec3 Ff){vec3 Hf=Bf;vec3 Jf=vec3(0.);vec3 Lf=vec3(1.);vec3 Nf;vec3 Pf;int Rf=0;while(Rf<3){Nf=vb(Bf,Df);if(Nf.x<MD){if(Rf==0){return vec4(0.);}Jf+=ab(Hb(Df,Ff))*Lf;break;}Bf=Bf+Df*Nf.x;vec3 Tf=zb(Bf);if(Rf==0){Pf=Tf;}float Vf=xb(Bf+Tf*3e-2,Ff+Db(Ff)*.04);j Xf;if(Nf.y>Mat2-.5){Xf=j(/*!V3:LE*/,0.,.2,vec3(1.),1.,0.);}else{Xf=j(vec3(0.),.81,.14,vec3(.91),256.,.7);}float Zf=step(I(),Xf.p);float bg=Zf*Xf.p+(1.-Zf)*(1.-Xf.p);bg=max(bg,1e-3);vec3 dg=vec3(Xf.ss)*pow(max(0.,dot(k(Hf-Bf),-reflect(Ff,Tf))),Xf.s);vec3 fg=k(Tf+Bb());vec3 hg=reflect(Df,Tf);hg=k(mix(hg,fg,Xf.r*Xf.r));Df=mix(fg,hg,Zf);Jf+=(Xf.e+dg*Vf)*Lf;Lf*=mix(vec3(.96),Xf.c,Zf);Lf/=bg;Lf*=Vf;Lf*=exp(length(Hf-Bf)*-/*!F:F*/);float kg=max(Lf.r,max(Lf.g,Lf.b));if(I()>kg){break;}Lf*=1./kg;Bf+=Tf*(1e-3/abs(dot(Df,Tf)));Rf++;}return vec4(Jf,dot(Pf,k(vec3(.7071,-.7071,0.))));}vec2 Lb(vec2 mg,float og){mg.xy=pow(length(mg),og)*U(atan(mg.y,mg.x)/TAU);return mg;}vec3 Nb(vec3 sg){return sg*X(.09*pow(max(Q(sg.zz*3.)+E(uF/2.)*.006,1e-4),2.5));}vec4 Pb(vec2 ug){if(uI==-1){float wg=/*!F:SS*/;J(int(E(ug.y*wg))*int(wg)+int(E(ug.x*wg)));ug=C(ug*wg);}else{J(uI);}float yg=/*!F:A*/+K()*.4-.2;vec3 Ag=/*!V3:O*/;vec3 Cg=/*!V3:T*/;vec2 Eg=U(K());/*!S:BT:0*/ug=Lb(ug-Eg,(/*!F:B1*/+K()*/*!F:B2*/))+Eg;/*!S:BT:1*/ug=Lb(ug-Eg,(K()>.5?/*!F:B1*/+K()*/*!F:B2*/:/*!F:B3*/+K()*/*!F:B4*/))+Eg;/*!S:BT:END*/vec3 Gg=k(Cg-Ag);vec3 Ig=k(cross(Gg,vec3(0.,0.,1.)));vec2 Kg=ug+Bb().xz/uR.zz;vec3 Mg=k(vec3((Kg*2.-1.)*(/*!F:FM*/+K()*/*!F:FS*/),1.))*X(yg);vec2 Og=U(I())*sqrt(I())*.036;vec3 Qg=Ag+vec3(Og.x*Ig+Og.y*cross(Ig,Gg));Mg=k((Ag+/*!F:FL*/*Mg*Y(Ag,Cg))-Qg);vec3 Sg=Fb(k(/*!V3:LP*/),.125);/*!S:D:0*/Mg=Nb(Mg);/*!S:D:1*/Mg=Nb(Mg)*W(.15*(Q(sin(Mg.zz*PI)*1.5)-.5));/*!S:D:2*/Mg=Nb(Mg)*V(.125*Mg.z-.1);/*!S:D:END*/return Jb(ug,Qg,Mg,Sg);}void main(){H();vec4 Ug=(uF<2.?vec4(0.):texelFetch(uP,ivec2(E(vU.x*uR.x/2.),E(vU.y*uR.y/4.)),0));vec4 Wg=Pb(vF);gl_FragColor=vec4(Ug.xyz+clamp(Wg.xyz,0.,1.),Wg.w);}";g=D(g,"S",t[0][0]),g=D(g,"D",t[0][9]),g=D(g,"BT",s?0:1),g=H(g,"B1",t[0][5][0][0]),g=H(g,"B2",a(t[0][5][0][1]-t[0][5][0][0],0)),s||(g=H(g,"B3",t[0][5][1][0]),g=H(g,"B4",a(t[0][5][1][1]-t[0][5][1][0],0))),g=I(g,"LP",R(...i[0])),g=I(g,"LC1",R(...i[2])),g=I(g,"LC2",R(...i[3])),g=I(g,"LB",R(...i[4])),g=H(g,"LS1",i[5][0]),g=H(g,"LS2",i[5][1]),g=I(g,"LE",R(...i[6])),g=H(g,"F",i[11]),g=I(g,"O",R(...t[0][3])),g=I(g,"T",R(...t[0][4])),g=I(g,"ST",R(...t[0][2])),g=H(g,"FL",t[0][7]),g=H(g,"FM",t[0][6][0]),g=H(g,"FS",a(t[0][6][1]-t[0][6][0],0)),g=H(g,"A",v.rd()*r*2),g=H(g,"SS",10);const x=new THREE.PlaneBufferGeometry(480,240),b=P(S,g,[["uS",t[9]],["uF",0],["uI",-1],["uR",R(960,960,d)],["uP",null],["uT",60],["uC",t[0][1]]]),m=new THREE.Mesh(x,b);let p=L;p=H(L,"C",i[8]),p=H(p,"E",i[9]),p=H(p,"S",i[10]);const y=P(S,p,[["uF",0],["uR",R(480,240,d)],["uT",null],["uB",null]]),h=new THREE.PlaneBufferGeometry(480,480);return[b,m,y,new THREE.Mesh(h,y),f,l]})(s,_),B=((e,n,o,a)=>{let f="uniform float uS;uniform vec3 uR;in vec2 vU;in vec3 vC;in vec3 vP;float s=1.;void b(vec2 d){s=uS*2.3e-4;}float c(){vec3 e=fract(vec3((vU.xyx*uR.xyx+vP.xyx+s)*14.67)*.1031);s=e.y;e+=dot(e,e.yzx+33.33);return fract((e.x+e.y)*e.z);}void main(){b(vU);gl_FragColor=vec4(clamp(vC+pow(vec3(c(),c(),c())*.2+c()*.8,max(/*!V3:C*/+dot(vC.rgb,vec3(.2125,.7154,.0721)),1e-4))*.1,0.,1.),1.);}";f=I(f,"C",R(...e[0][8][7]));const l=P("out vec2 vU;out vec3 vC;out vec3 vP;void main(){vU=position.xy;vC=instanceColor;vP=(instanceMatrix*vec4(1.)).xyz;gl_Position=projectionMatrix*modelViewMatrix*instanceMatrix*vec4(position,1.);}",f,[["uS",e[9]],["uR",R(n,o,d)]],!0),s=((e,n=4)=>{let o=[],a=[];const f=i(n);o.push(0,0,-1);for(let n=0;n<f;n++){const l=n/f*r*2;o.push(e*t(l+r/4),e*c(l+r/4),-1),a.push(0,n+1,(n+1)%f+1)}let l=new THREE.BufferGeometry;return l.setAttribute("position",new THREE.BufferAttribute(new Float32Array(o),3)),l.setIndex(new THREE.BufferAttribute(new Uint16Array(a),1)),l})(x*a);return new THREE.InstancedMesh(s,l,3e5)})(_,G,$,q)},ae=(e,t,c)=>{_=U(),s.setAnimationLoop(ve),ee=0,ce=-1,te=1+2*v.rd(),W=Z=!1,C=k=z=A=V=M=F=N=null,B&&(B.clear(),B.dispose()),s.dispose(),oe(e,t,c)},fe=(e,t,c=!1)=>{ee<e?le():(null===N&&(N=((e,t=4,c=4,r=null)=>{let n=0,o=0,a=0,f=0,l=0,s=0,v=[];return{read:i=>{var u=Math.ceil;if(0===a&&(n=i.width,o=i.height,f=u(i.height/t),l=f*c*n,s=f-(f*t-i.height)),a<t){let c=new Float32Array(l);const o=a===t-1?s:f;return e.readRenderTargetPixels(i,0,a*f,n,o,c),v.push(r?c.map(((e,t)=>r(e,t))):c),a++,a<t}return!1},getValues:(e,t)=>{let r=i(p(.5*t[0])*(n-1));const a=(i(p(.5*t[1])*(o-1))*n+r)*c,f=i(a/l),s=a%l;e[0]=v[f][s],e[1]=v[f][s+1],e[2]=v[f][s+2],e[3]=v[f][s+3]},reset:()=>{v=[],a=0}}})(s,4,4)),!N.read(F)&&(ce=t,c&&s.clear(),ee=0))},le=()=>{s.autoClearColor=!1;const e=ee%2;C.uniforms.uF.value=ee,C.uniforms.uP.value=M[e].texture,C.needsUpdate=!0,s.setRenderTarget(M[e+2]),s.render(z,w),k.uniforms.uF.value=ee,k.uniforms.uT.value=M[2-e%2*2].texture,k.uniforms.uB.value=M[1+e%2*2].texture,k.needsUpdate=!0,0!=e&&(s.setRenderTarget(F),s.render(A,b)),[M[e],M[e+2]]=[M[e+2],M[e]],ee++},ie=function(){const e=new THREE.Matrix4,t=new THREE.Color,c=[0,0],r=[0,0],f=[0,0,0,0],u=[0,0,0,0];let d=0,x=[-1,_[1]];return((e,t)=>{let c=t[0]*t[0]+t[1]*t[1];0<c&&(c=1/l(c),e[0]=t[0]*c,e[1]=t[1]*c)})(x,x),function(){var l=Math.sign;if(N){let b=l(v.rd()-.5),p=i(15e4/_[2][0][0]);for(let l,s=0;s<p;s++){l=n(2,4+i(4*v.rd())),c[0]=1.02*v.rd(),c[1]=1-ee/g-(v.rd()-.5)*(1/g*2);let s=i(c[0]*V[0].length),p=i(c[1]*V.length);const y=e=>p+3<re&&V[p][s]>=e&&V[p+1][s]<e&&V[p+2][s]<e&&V[p+3][s]<e||0<=p-3&&V[p][s]>=e&&V[p-1][s]<e&&V[p-2][s]<e&&V[p-3][s]<e;let R=y(.5)&&v.rd()>_[6][0],w=y(.25)&&v.rd()>_[6][1];j(r,c),N.getValues(f,c);let T=m(...f);const M=_[5][3](f[3],_[5][0]),F=_[4][3](ee/g,T,_[4][0]);let z=!1;!Z&&3<=s&&s<re-3&&3<=p&&p<re-5&&(p+3<re&&.6>V[p][s]&&.6<=V[p+1][s]&&.6<=V[p+2][s]&&.6<=V[p+3][s]||0<=p-3&&.6>V[p][s]&&.6<=V[p-1][s]&&.6<=V[p-2][s]&&.6<=V[p-3][s])&&.96<v.rd()&&(z=!0,Z=!0);let U=_[2][M|1*z],C=a(.6*n(f[0],2),.2)*U[3]*_[0][8][12];C*=v.rd()>_[5][1]&!F&!R&!w?_[5][2]:1;let k=i(n(T+.2,U[1])*U[0]);for(let c=0;c<k;c++){const c=!!(1>_[7])&&v.rd()>_[7];if(-.03>r[0]||-.03>r[1]||1.03<=r[0]||1.03<=r[1])break;N.getValues(u,r);let n=m(u[0],u[1],u[2]);_[3](r,x,f,T,n,U,R|w|z,_[6][2]-z*_[6][2]*.95);let s=C*(F?_[4][1]:1)*(R|w?_[6][3]:1),g=C*(F?_[4][2]:1)*(R|w?_[6][4]:1);z&&(g=C*_[4][2]*te),R&&(s=o(a(C*_[6][3],.25),1.5),g=C*_[6][4]*.5),w&&(r[0]=i(r[0]*l)/l,s=o(a(C*_[6][3],.25),1.5),g=C*_[6][4]*1.8),e.makeScale(s,g,1),_[8]?R?e.setPosition(K-3*i(r[0]*K/3),r[1]*O,-8+M+2*F):e.setPosition(K-r[0]*K,r[1]*O,-8+M+2*F):R?e.setPosition(3*i(r[0]*K/3),r[1]*O,-8+M+2*F):e.setPosition(r[0]*K,r[1]*O,-8+M+2*F),B.setMatrixAt(d,e);let p=R?[0,0,0]:w?[1,1,1]:[f[0],f[1],f[2]];if(z){let e=[0,0,0];h(f[0],f[1],f[2],e),e[0]=(e[0]+.04*b)%1,e[1]=o(1.3*(e[1]+.1),1),e[2]=o(1.1*e[2],1),E(...e,p)}p=c?[1,1,1]:p,t.setRGB(...p),B.setColorAt(d,t),d++}}0<d&&(((e,t)=>{e.count=t,e.instanceMatrix.needsUpdate=!0,e.instanceColor.needsUpdate=!0})(B,d),s.setRenderTarget(null),s.render(B,T)),ee++}}()},se=function(){const e=[0,0],t=[0,0],c=[0,0,0,0];return function(){if(N){V=Array(re).fill(0).map((()=>Array(re).fill(0)));for(let r=0;r<re*re;r++){e[0]=r%re*32,e[1]=32*i(r/re),j(t,e);let n=0;for(let r=0;r<32;r++)for(let o=0;o<32;o++)e[0]=(t[0]+o)/u,e[1]=(t[1]+r)/u,N.getValues(c,e),n+=m(...c);V[i(r/re)][r%re]=n/1024}ee++}}()},ve=()=>{(()=>{if(0===ee&&-1===ce&&(ce=0),0===ce)fe(120,1);else if(1===ce){let t=(t=>{const c=[0,0],r=[0,0,0],n=[0,0,0,0];return(()=>{if(t){let a=i(48),l=a*a,s=[];for(let v=0;v<100;v++){let d=v%10*a,g=i(v/10)*a,x=0,b=0,p=Array(21).fill(0).reduce(((e,t,c)=>(e[5*c]=0,e)),{}),y={};for(let e=g;e<g+a;e++)for(let o=d;o<d+a;o++){c[0]=o/u,c[1]=e/u,t.getValues(n,c),x+=m(n[0],n[1],n[2]),h(n[0],n[1],n[2],r),b+=r[1];const a=5*i(21*r[2]);++p[a];const f=15*i(25*(5<a&&95>a?r[0]:0));y[f]=y[f]?y[f]+1:1}x/=l,b/=l,Object.keys(y).forEach((e=>{4>=y[e]&&delete y[e]})),Object.keys(p).forEach((e=>{p[e]/=l}));let E=0,R=p[0]+p[5];E+=.3*(.85-1/(1+e(-3*(f(R-.33)-.15)*8)))*(1/(1+e(-1*(R-.45+.2)*8))),E+=.15*Object.keys(p).reduce(((e,t)=>e+(30<=t&&60>=t?p[t]:0)),0);let w=.11-(p[95]+p[100]);E+=.25*(w*(w>0?0:1)+1-1/(1+e(12*-(1*w-.15)))),E-=.02*b,E-=.01*x,E+=.3*Object.keys(y).length/24,s.push((o=E,Math.round(1e3*o)/1e3))}return s=s.map(((e,t)=>[e,t])).sort(((e,t)=>t[0]-e[0]+1e-5*(t[1]-e[1]))),s[0][1]}var o})()})(N);C.uniforms.uI.value=t,C.uniforms.uT.value=80,C.needsUpdate=!0,s.render(A,b),ce=2,N=null}else 2===ce?fe(160,3,!0):3===ce?(0===ee&&se(),ee<g?ie():ce=4):W?W&&J&&ge():W=!0})(),requestAnimationFrame(ve)},ue=(e,t)=>{let c;[e,t,G,$,c]=y(e,t),t===O||(s.setAnimationLoop(ve),ae(e,t,c))},de=(e,t)=>{J=!0,ue(e,t)},ge=()=>{const e=s.domElement.toDataURL("image/png"),t=be(".png");xe(t,e),ue(),J=!1},xe=(e,t)=>{const c=(e=>{const t=Q.atob(e.split(",")[1]),c=t.length,r=new Uint8Array(c);for(let e=0;e<c;e++)r[e]=t.charCodeAt(e);return new Q.Blob([r])})(t),r=Y.createElement("a");r.download=e,r.href=Q.URL.createObjectURL(c),r.click()},be=e=>`${(new Date).toLocaleDateString()} at ${(new Date).toLocaleTimeString()}${e}`.replace(/\//g,"-").replace(/:/g,".");let me;Q.addEventListener("resize",(()=>{Q.clearTimeout(me),me=Q.setTimeout(ue,500)}),!1),Q.addEventListener("keydown",(e=>{switch(e.code){case"KeyS":de(Q.innerWidth,Q.innerHeight);break;case"KeyH":de(2400,1200)}})),(()=>{X=Y.createElement("canvas");const e=X.getContext("webgl2",{antialias:!1,precision:"highp",stencil:!1,depth:!1,preserveDrawingBuffer:!0,alpha:!1,premultipliedAlpha:!1});s=new THREE.WebGLRenderer({canvas:X,context:e});const t=s.getContext();t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.getExtension("EXT_color_buffer_float"),s.outputEncoding=THREE.sRGBEncoding,s.autoClear=!1,Y.body.appendChild(s.domElement),ae(),ve()})()})()}();