Transaction 84dcdfe35eb3643ccba9b651c983f856612c2b71e5b84c807fe05942df442260
2 Input
- 84a7c2da2273f6c69d540c9bc5e8c0d6db6de0aeaf2220d9e2b7cc29241af33a:0
-
a4f6c9d2f1dbe86bb126edb9ef6453ca54d74253f650d605182c825f6ad6b247:0
OP_DATA_32(32) 306a3dd974534bebd82c039c57b3c9b108661202984dda1880e373c4c1c3c583OP_CHECKSIG(172)OP_0(0)OP_IF(99)OP_DATA_3(3) ordOP_DATA_1(1)OP_DATA_15(15) text/javascriptOP_DATA_1(1)OP_DATA_32(32) :$)̷ "mśTs"§OP_DATA_1(1)OP_DATA_2(2) 'OP_DATA_1(1)OP_PUSHDATA2(77) etitleiFrontlinefartistmAlexis AndrékdescriptionyThere is no perfect world. There is no good without bad. What matters is where to draw the frontline. Frontline is Alexis André's first work on Bitcoin. André's generative art has gained global recognition, showcased at prestigious events such as Art Basel, Siggraph, and COP26. His works have been featured in auctions at Sotheby's and Christie's. Frontline was created in collaboration with OnChainMonkey, and linked on-chain to OCM Genesis' Inscription 20219.OP_0(0)OP_PUSHDATA2(77) // // Frontline by Alexis André // // There is no perfect world. There is no good without bad. What matters is where to draw the frontline. // // Frontline is Alexis André's first work on Bitcoin. André's generative art has gained global recognition, showcased at prestigious events such as Art Basel, Siggraph, and COP26. His works have been featured in auctions at Sotheby's and Christie's. Frontline was created in collaboration with OnChainMonkey, and linked on-chain to OCM Genesis' Inscription 20219. // let dOP_PUSHDATA2(77) =document; window.onload=(async function(){ d.body=d.createElement("body") d.body.innerHTML=`<!doctype html><html lang=en><meta charset=utf-8><title>Frontline</title><body style=background:#000>`; const childScript=`let a=document.querySelector("script[t]").getAttribute("t");class URLSearchParams{get=k=>k=="tokenID"?a:0}`; const parentScript='async function onOcmGenesisLoad(){var a=853420;try {let A=await (await fetch(`/r/blockhash/${a}`)).text();if(!A.length||A.includes("not found"))throw Error("Frontline not reveOP_PUSHDATA2(77) aled.");for(const _ of document.querySelectorAll("button#random"))_.remove();renderFrontline(A.substring(1,A.length-1),urlParams.get("tokenID"))} catch (A) {renderFrontline("",0);let b=document.createElement("div");b.style="display: flex; position: absolute; z-index: 3; justify-content: center; align-items: center; height: 100vh; width: 100vw; background: black; opacity: 0.8;";let c=document.createElement("h1");c.style="color: white;";c.innerHTML=A.message;b.appendChild(c);document.body.appendChild(b);console.errorOP_PUSHDATA2(77) (A)}}'; let renderFrontlineScript='function renderFrontline(hash, tokenId){"use strict";{const w=e=>new Float32Array(e),R=Math.PI,F=2*R,B=Math.cos,_=Math.sin,P=Math.pow,S=Math.sqrt,N=Math.floor,M=(Math.ceil,Math.abs),L=Math.min,k=Math.max,U=1/3,I=1/6,C=new Float32Array([1,1,0,-1,1,0,1,-1,0,-1,-1,0,1,0,1,-1,0,1,1,0,-1,-1,0,-1,0,1,1,0,-1,1,0,1,-1,0,-1,-1]);class H{constructor(e,t,r,i){this.direction=1,this.x=e,this.y=t,this.life=8,this.frac=r,this.s=i,this.frac4=1,this.family=0,this.count=0,this.dx=0,this.dy=0,this.cOP_PUSHDATA2(77) losest=-1}}const O={init(e){this.r=this.alea(e),this.p=this.bp(this.r),this.perm=new Uint8Array(512),this.p12=new Uint8Array(512);for(var t=0;t<512;t++)this.perm[t]=this.p[255&t],this.p12[t]=this.perm[t]%12},bp(e){var t,r=new Uint8Array(256);for(t=0;t<256;t++)r[t]=t;for(t=0;t<255;t++){var i=t+~~(e()*(256-t)),a=r[t];r[t]=r[i],r[i]=a}return r},masher(){var e=4022871197;return function(t){t=t.toString();for(var r=0;r<t.length;r++){var i=.02519603282416938*(e+=t.charCodeAt(r));i-=e=i>>>0,e=(i*=e)>>>0,e+=4294967296*(i-=OP_PUSHDATA2(77) e)}return 2.3283064365386963e-10*(e>>>0)}},alea(){var e=0,t=0,r=0,i=1,a=this.masher();e=a(" "),t=a(" "),r=a(" ");for(var n=0;n<arguments.length;n++)(e-=a(arguments[n]))<0&&(e+=1),(t-=a(arguments[n]))<0&&(t+=1),(r-=a(arguments[n]))<0&&(r+=1);return a=null,function(){var a=2091639*e+2.3283064365386963e-10*i;return e=t,t=r,r=a-(i=0|a)}},n3(e,t,r){var i,a,n,l,o,f,s,c,u,h,v=this.p12,b=this.perm,d=(e+t+r)*U,y=N(e+d),x=N(t+d),m=N(r+d),g=(y+x+m)*I,p=e-(y-g),A=t-(x-g),E=r-(m-g);p>=A?A>=E?(o=1,f=0,s=0,c=1,u=1,h=0):p>=E?(o=1,OP_PUSHDATA2(77) f=0,s=0,c=1,u=0,h=1):(o=0,f=0,s=1,c=1,u=0,h=1):A<E?(o=0,f=0,s=1,c=0,u=1,h=1):p<E?(o=0,f=1,s=0,c=0,u=1,h=1):(o=0,f=1,s=0,c=1,u=1,h=0);var D=p-o+I,T=A-f+I,w=E-s+I,R=p-c+2*I,F=A-u+2*I,B=E-h+2*I,_=p-1+3*I,P=A-1+3*I,S=E-1+3*I,M=255&y,L=255&x,k=255&m,H=.6-p*p-A*A-E*E;if(H<0)i=0;else{var O=3*v[M+b[L+b[k]]];i=(H*=H)*H*(C[O]*p+C[O+1]*A+C[O+2]*E)}var G=.6-D*D-T*T-w*w;if(G<0)a=0;else{var V=3*v[M+o+b[L+f+b[k+s]]];a=(G*=G)*G*(C[V]*D+C[V+1]*T+C[V+2]*w)}var z=.6-R*R-F*F-B*B;if(z<0)n=0;else{var W=3*v[M+c+b[L+u+b[k+h]]];n=(z*=z)*z*OP_PUSHDATA2(77) (C[W]*R+C[W+1]*F+C[W+2]*B)}var X=.6-_*_-P*P-S*S;if(X<0)l=0;else{var Y=3*v[M+1+b[L+1+b[k+1]]];l=(X*=X)*X*(C[Y]*_+C[Y+1]*P+C[Y+2]*S)}return 32*(i+a+n+l)}},G=(o=[[1961,1706,170,153,120,1094,4,4,1895,1639,1542,2663,2564,2822,2696,3398,3654,3703,3753,3734,2676,3530,3238,3748,2982,2746],[785,1552,4090,2624,3459,4090,120],[4095,3985,2541,715,869,18],[0,291,4001,3822,4095,869,1465],[2115,3685,3990,4041,3274,3566],[3021,682,120,86,2236,4044,3805,3959,4072,4023,546],[1589,3977,2749,89,36],[311,2815,3920,4095,0],[3838,3021,16OP_PUSHDATA2(77) 75,1145,600,54,2],[512,1794,3141,3957,3989,3635],[3654,4054,218,395,52],[3937,3894,750,532,2],[0,679,120,3324,341,50,34],[3171,2131,3478,4023,4093,2455,546,308,18],[3892,3106,2050,1536,768,512],[0,4095,3549,0],[4042,3447,2425,1111,563,2748],[19,1110,2218,2505,3290,3943],[3546,3490,3456,1364,0],[18,375,1688,4041,3619],[1722,2779,3836,3978,1109],[3994,3976,514,3419,4015,1338,514,787,3766],[819,86,4083,108,143],[495,1768,3825,3745,3921],[3622,3975,1302,1369,2234,804]],f=[],{geti:function(e){e<0&&(e*=-1),e%=1;let t=f.lOP_PUSHDATA2(77) ength,r=N(t*e),i=(r+1)%t,a=t*e-r,n=f[r],l=f[i],o=1-a,s=1/2.2;return[P(P(l[0],s)*a+o*P(n[0],s),2.2),P(P(l[1],s)*a+o*P(n[1],s),2.2),P(P(l[2],s)*a+o*P(n[2],s),2.2)]},init:function(e,t){for(var r=0;r<o[e].length;++r){let i=o[e][r],a=(15&i)/16,n=(i>>4&15)/16,l=(i>>8&15)/16;t&&(a=k(0,L(1,a+.05*Ee()-.025)),n=k(0,L(1,n+.05*Ee()-.025)),l=k(0,L(1,l+.05*Ee()-.025))),f.push([l,n,a])}}}),V=document.createElement("canvas");V.style="z-index:1; background: rgba(255,255,255,255);position:absolute;top:0;left:0;right:0;bottom:0;margiOP_PUSHDATA2(77) n:auto;",document.body.prepend(V);const z=document.createElement("canvas");z.style="z-index:2; background: rgba(255,255,255,0);position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;",document.body.append(z);var e=!1;const W=z.getContext("2d");window.addEventListener("keydown",(t=>{"m"==t.key&&(e=!e),"s"==t.key&&0==X&&(X=!0,Y=0,$=tr,ar(10,!0)),"+"==t.key&&ar(tr+1),"-"==t.key&&tr>1&&ar(tr-1)}));let X=!1,Y=0,$=1;const q=function(){const e=document.createElement("a");return document.body.appendChild(e),e.style.diOP_PUSHDATA2(77) splay="none",function(t,r){const i=window.URL.createObjectURL(t);e.href=i,e.download=r,e.click()}}(),Q=V.getContext("webgl2",{alpha:!0});Q.getExtension("EXT_color_buffer_float"),Q.getExtension("OES_texture_float_linear"),Q.getExtension("EXT_float_blend");const j=Q.TRIANGLES,J=Q.FRAMEBUFFER,K=Q.FLOAT,Z=(Q.UNSIGNED_BYTE,Q.RGBA,Q.TEXTURE_2D),ee=Q.COLOR_BUFFER_BIT|Q.DEPTH_BUFFER_BIT,te=Q.ARRAY_BUFFER,re=Q.STATIC_DRAW,ie=Q.DYNAMIC_DRAW,ae=Q.ONE,ne=Q.ONE_MINUS_SRC_ALPHA,le=Q.SRC_ALPHA,oe=(e,t,r)=>e.getAttribLocation(t,r)OP_PUSHDATA2(77) ,fe=(e,t,r)=>e.getUniformLocation(t,r),se=()=>Q.createBuffer();let ce,ue,he,ve,be,de,ye=[],xe=[],me=[],ge=tokenId,pe=randomOne(ge),Ae=keccak_256(hash+ge);O.init(Ae);let Ee=O.r,De=Ee()>.05?pe.fur:N(6*Ee())+19,Te=Ee()>.9;G.init(De,Te);let we=2*(1+N(Ee()*Ee()*8)),Re=.5+10*P(Ee(),5),Fe=Ee()>.7?100:3+N(4*Ee()),Be=Ee()>.7?100:3+N(4*Ee()),_e=.002+Ee()*Ee()*.0015,Pe=.002+Ee()*Ee()*.0015,Se=Ee()>.95,Ne=Ee()>.95,Me=Ee()>.9,Le=30+(Ee()>.9?270:0),ke=Ee()>.5?0:1,Ue=Ee()>.8,Ie=pe.earring>=3||Ee()>.9;if(Ie)var t=new H(Ee()-.5,.5*OP_PUSHDATA2(77) (Ee()-.5),Ee(),.03+Ee()*Ee()*.15);const Ce={};let He=["NB","Ocre Waves","T-Y Gamma","Patina","Rust","Story Time","Boy/Girl","Flutter","Icy Blues","Dark Peach","Fantastic","Outrun","Lazy Greens","Smart Fox","Bloody Reds","Black & White","From the Forge","Macha Strawberry","In the library with a wrench","Time for Blood","Miami","Jimy","Little Blue and Little Yellow","Veggies","Purple Burn"];Ce.Palette=He[De],Ce.Grit=Se&&Ne?"All over":Se||Ne?"One-Sided":"None",100==Fe?Ce.SideA="Free":3==Fe?Ce.SideA="Tri":4==Fe?Ce.SideOP_PUSHDATA2(77) A="Qua":5==Fe?Ce.SideA="Pen":6==Fe&&(Ce.SideA="Hex"),100==Be?Ce.SideB="Free":3==Be?Ce.SideB="Tri":4==Be?Ce.SideB="Qua":5==Be?Ce.SideB="Pen":6==Be&&(Ce.SideB="Hex"),Ce.Personality=Ie?"With a friend":"Alone",Ce.Regularity=Ue?"Low":"High",console.log(Ce);let Oe=Ee(),Ge=Ee()*F,Ve=Ee()*F,ze=Ee()*Ee()*3,We=Ee()*Ee(),Xe=2.85,Ye=.5*Ee(),$e=[],qe=2;for(let wr=0;wr<we;++wr){let Rr=!0,Fr=(.75*Ee()+.2)*qe;wr%2==ke&&(Fr*=-1);let Br=Ee()-.5,_r=new H(Fr,Br,wr%2*.5,.001);if(_r.family=wr%2,Ie){let Pr=t.x-Fr,Sr=t.y-Br;S(Pr*Pr+Sr*Sr)OP_PUSHDATA2(77) <2.2*t.s&&(Rr=!1)}Rr?$e.push(_r):wr--}let Qe=!1,je=0;for(;!Qe&&je<200;){Xe=100*Ee();let Nr=!1,Mr=!1;for(let Lr=0;Lr<we;++Lr){let kr=$e[Lr];O.n3(kr.x*Re,kr.y*Re,Xe)>0&&(Lr%2==0?Nr=!0:Mr=!0)}Qe=Nr&&Mr,je+=1}let Je=[],Ke=[];for(var r=0;r<30;++r){let Ur=r/30,Ir=G.geti(Oe+.6*Ur);Je.push(Ir[0],Ir[1],Ir[2],1),Ir=G.geti(Oe+.5+.6*Ur),Ke.push(Ir[0],Ir[1],Ir[2],1)}let Ze=window.innerWidth,et=window.innerHeight,tt=Ze/qe,rt=!1;if(Ze>=et?et>tt?et=tt:Ze=et*qe:(rt=!0,tt=et/qe,Ze>tt?Ze=tt:et=Ze*qe),V.width=Ze,V.height=et,z.width=ZeOP_PUSHDATA2(77) ,z.height=et,rt){let Cr=Ze;Ze=et,et=Cr}const it=V.clientWidth,at=V.clientHeight;let nt=Math.min(it,at),lt=it,ot=at,ft=[],st=100;for(r=0;r<st*st;++r)ft.push([]);function ct(e,t,r,i){let a=N((t+qe)/(2*qe)*st),n=N((r+1)/2*st);a>=0&&a<st&&n>=0&&n<st&&e[a*st+n].push(i)}function ut(e,t){let r=1e4,i=-1;for(var a=0;a<Dr.length;++a){let n=Dr[a].x,l=Dr[a].y,o=(e-n)*(e-n)+(t-l)*(t-l);o<r&&(r=o,i=a)}return i}function ht(e,t,r,i=-1){if(M(t)>qe||M(r)>1)return!1;let a=[],n=N((t+qe)/(2*qe)*st),l=N((r+1)/2*st),o=k(0,n-4),f=k(0,l-6)OP_PUSHDATA2(77) ,s=L(st-1,n+4),c=L(st-1,l+6);for(var u=o;u<=s;++u)for(var h=f;h<=c;++h)for(var v=0;v<e[u*st+h].length;++v)a.push(e[u*st+h][v]);let b=10,d=-1;for(v=0;v<a.length;++v){let e=a[v];if(e!=i){let i=Dr[e].x,a=Dr[e].y,n=(t-i)*(t-i)+(r-a)*(r-a);n<b&&(b=n,d=e)}}return d}function vt(){let e=Q.createTexture();Q.bindTexture(Z,e),Q.texImage2D(Z,0,Q.RGBA32F,be,de,0,Q.RGBA,K,null),Q.texParameteri(Z,Q.TEXTURE_MIN_FILTER,Q.LINEAR),Q.texParameteri(Z,Q.TEXTURE_MAG_FILTER,Q.LINEAR),Q.texParameteri(Z,Q.TEXTURE_WRAP_S,Q.CLAMP_TO_EDGE),Q.tOP_PUSHDATA2(77) exParameteri(Z,Q.TEXTURE_WRAP_T,Q.CLAMP_TO_EDGE);let t=Q.createFramebuffer();Q.bindFramebuffer(J,t),Q.framebufferTexture2D(J,Q.COLOR_ATTACHMENT0,Z,e,0);const r=Q.createRenderbuffer();return Q.bindRenderbuffer(Q.RENDERBUFFER,r),Q.renderbufferStorage(Q.RENDERBUFFER,Q.DEPTH_COMPONENT16,be,de),Q.framebufferRenderbuffer(Q.FRAMEBUFFER,Q.DEPTH_ATTACHMENT,Q.RENDERBUFFER,r),36053!=Q.checkFramebufferStatus(Q.FRAMEBUFFER)&&(e=-1),[e,t]}function bt(e,t,r){let i=e.createShader(t);e.shaderSource(i,r),e.compileShader(i);const a=eOP_PUSHDATA2(77) .getShaderInfoLog(i);if(a.length>0)throw console.log(r),a;return i}function dt(e,t,r){let i=e.createProgram();return e.attachShader(i,t),e.attachShader(i,r),e.linkProgram(i),i}function yt(e,t){Q.disable(Q.DEPTH_TEST);let r=(Oe+.01*yr)%1,i=200,a=[];for(var n=0;n<i;++n){let e=n/i;G.geti(r+e),a.push(0,0,0)}Q.bindBuffer(te,er),Q.bufferData(te,w(a),ie),Q.useProgram(_t),Q.bindBuffer(te,ur),Q.enableVertexAttribArray(Ht),Q.vertexAttribPointer(Ht,2,K,!1,0,0),Q.bindBuffer(te,er),Q.enableVertexAttribArray(Ot),Q.vertexAttribPoOP_PUSHDATA2(77) inter(Ot,3,K,!1,0,0),Q.vertexAttribDivisor(Ot,1),Q.uniform1f(Vt,e),Q.uniform1f(zt,t);let l=[];for(n=0;n<i;++n){let e=(n+.5)/i;l.push(2*e-1,1.1/i)}Q.bindBuffer(te,Kt),Q.bufferData(te,w(l),ie),Q.enableVertexAttribArray(Gt),Q.vertexAttribPointer(Gt,2,K,!1,0,0),Q.vertexAttribDivisor(Gt,1),Q.drawArraysInstanced(j,0,6,i),Q.vertexAttribDivisor(Ot,0),Q.vertexAttribDivisor(Gt,0)}let xt="x",mt="y";rt&&(xt="y",mt="x");var i=`precision highp float;attribute vec4 ap;attribute vec4 ac;attribute vec4 as;attribute vec2 al;varyingOP_PUSHDATA2(77) vec4 vc;uniform vec2 d;uniform vec4 cols[30];uniform vec4 cols2[30];vec4 get(float l, float m) { l=30.0*l;float i0 = (mod(l,30.0));int i1 = int(mod(i0+1.0,30.0));float f = fract(l);vec4 col0 = cols[int(i0)];vec4 col1 = cols[i1];if(m>0.5){col0=cols2[int(i0)];col1=cols2[i1];}return mix(col0, col1,f)*0.08;} void main(){ vc=get(fract(ac.x+ap.z*ac.z),al.y);if(al.x>1.0) vc.xyz=vec3(1.0); vc.a=ac.w;if(al.x>10.0) vc=vec4(1.0,1.0,1.0,0.5);mat2 rot = mat2(cos(ac.y), sin(ac.y), -sin(ac.y), cos(ac.y));vec2 pos = rot*ap.xy;gl_POP_PUSHDATA2(77) osition=vec4((as.w*pos.x+as.${xt})/d.x,(as.w*pos.y+as.${mt})/d.y,as.z,1.0);}`;const gt=Q.VERTEX_SHADER,pt=Q.FRAGMENT_SHADER,At=bt(Q,gt,i),Et=bt(Q,pt,"precision highp float;varying vec4 vc;void main(){gl_FragColor=vc;}"),Dt=bt(Q,gt,"precision highp float;attribute vec4 ap;attribute vec2 at;varying vec2 t;void main(){ gl_Position=vec4(ap.xyz,1.0);t=at;}"),Tt=bt(Q,pt,"precision highp float;varying vec2 t;uniform sampler2D u;uniform vec2 d;uniform float b;void main(){float h=d.x*b;float v=d.y*b;vec4 s=vec4(0.0);s+=textOP_PUSHDATA2(77) ure2D(u,vec2(t.x-4.0*h,t.y-4.0*v))*0.016216;s+=texture2D(u,vec2(t.x-3.0*h,t.y-3.0*v))*0.054054;s+=texture2D(u,vec2(t.x-2.0*h,t.y-2.0*v))*0.121621;s+=texture2D(u,vec2(t.x-1.0*h,t.y-1.0*v))*0.194594;s+=texture2D(u,vec2(t.x,t.y))*0.227027;s+=texture2D(u,vec2(t.x+1.0*h,t.y+1.0*v))*0.194594;s+=texture2D(u,vec2(t.x+2.0*h,t.y+2.0*v))*0.121621;s+=texture2D(u,vec2(t.x+3.0*h,t.y+3.0*v))*0.054054;s+=texture2D(u,vec2(t.x+4.0*h,t.y+4.0*v))*0.016216;gl_FragColor=clamp(s,0.,1.);}"),wt=bt(Q,gt,"precision highp float;attribute vec2OP_PUSHDATA2(77) ap;attribute vec2 at;varying vec2 v;void main(){ gl_Position=vec4(ap,0.0,1.0);v=at;}"),Rt=bt(Q,pt,"precision highp float;varying vec2 v;uniform sampler2D t;void main(){ gl_FragColor=texture2D(t,v);}"),Ft=bt(Q,gt," attribute vec2 ap;attribute vec3 c0;attribute vec2 as;uniform float b;uniform float l;varying vec4 vc;void main(){ vc=vec4(c0,b);gl_Position=vec4(ap.x*l,(ap.y*as.y+as.x)*l,1.0,1.0);}"),Bt=dt(Q,At,Et),_t=dt(Q,Ft,Et),Pt=dt(Q,Dt,Tt),St=dt(Q,wt,Rt),Nt=oe(Q,Bt,"ap"),Mt=oe(Q,Bt,"ac"),Lt=oe(Q,Bt,"as"),kt=oe(Q,BOP_PUSHDATA2(77) t,"al"),Ut=fe(Q,Bt,"d"),It=fe(Q,Bt,"cols"),Ct=fe(Q,Bt,"cols2"),Ht=oe(Q,_t,"ap"),Ot=oe(Q,_t,"c0"),Gt=oe(Q,_t,"as"),Vt=fe(Q,_t,"b"),zt=fe(Q,_t,"l"),Wt=oe(Q,Pt,"ap"),Xt=oe(Q,Pt,"at"),Yt=fe(Q,Pt,"d"),$t=fe(Q,Pt,"b"),qt=oe(Q,St,"ap"),Qt=oe(Q,St,"at"),jt=se(),Jt=se(),Kt=se(),Zt=se(),er=se();let tr=1,rr="",ir=0;function ar(e,t=!1){tr=e,be=2*lt*tr,de=2*ot*tr,[ce,ue]=vt(),[he,ve]=vt(),-1==he&&(t||(rr="Hitting GPU Limits, reverting to safe size...",ir=Date.now()),tr-=1,tr<=0&&(tr=.5),ar(tr,t))}ar(1);let nr=[],lr=40,or=3*lr;fOP_PUSHDATA2(77) or(r=0;r<lr;++r){let Hr=r/lr*F,Or=2*r/lr;Or>1&&(Or=2-Or);let Gr=2*(r+1)/lr;Gr>1&&(Gr=2-Gr);let Vr=(r+1)/lr*F;nr.push(0,0,0,0,B(Hr),_(Hr),Or,Or,B(Vr),_(Vr),Gr,Gr)}Q.bindBuffer(te,jt);let fr=w(nr);Q.bufferData(te,fr,ie);const sr=se();Q.bindBuffer(te,sr);const cr=w([-1,-1,-1,1,1,-1,1,1,-1,1,1,-1]);Q.bufferData(te,cr,re);const ur=se();Q.bindBuffer(te,ur),Q.bufferData(te,cr,re);const hr=se();Q.bindBuffer(te,hr),Q.bufferData(te,w([0,0,0,1,1,0,1,1,0,1,1,0]),re),xe=[],me=[],ye=[];let vr=w(xe),br=w(me),dr=w(ye),yr=0,xr=[];fOP_PUSHDATA2(77) or(let zr=0;zr<Le;++zr){let Wr=2*(Ee()-.5)*qe,Xr=2*(Ee()-.5),Yr=Ee()*Ee()*.4+.1,$r=Ee(),qr=new H(Wr,Xr,$r,Yr);xr.push(qr)}var a=Re;Q.clearColor(0,0,0,0),Q.clear(ee),Q.enable(Q.BLEND),Q.blendFuncSeparate(le,ne,ae,ne);let mr=0,gr=0,pr=0,Ar=[],Er=2600;for(let Qr=0;Qr<Er;++Qr){let jr=Qr/Er,Jr=1.9*(Ee()-.5)*qe,Kr=1.9*(Ee()-.5),Zr=new H(Jr,Kr,jr,.05);Zr.frac4=.4*O.n3(Jr*a*.3,Kr*a*.3,5.78)+.5;let ei=O.n3(Jr*a,Kr*a,Xe),ti=!0;if(Ie){let ri=t.x-Jr,ii=t.y-Kr;S(ri*ri+ii*ii)<2.2*t.s&&(ti=!1)}ti&&ei>0&&Ar.push(Zr)}let Dr=[];for(OP_PUSHDATA2(77) let ai=0;ai<we;++ai){let ni=$e[ai];Dr.push(ni),ct(ft,ni.x,ni.y,gr++)}Dr.length;var n=0,l=[];function Tr(r){if(requestAnimationFrame(Tr),W.clearRect(0,0,z.width,z.height),e){W.strokeStyle="none",W.fillStyle="rgb(0,0,0)",W.fillRect(0,0,z.width,z.height),W.fillStyle="rgb(255,255,255)";let e=N(nt/1e3*30);W.font=`${e}px serif`,W.textAlign="left",W.fillText("Metadata",10,50);let t=0;for(var i in Ce)Ce.hasOwnProperty(i)&&(W.fillText(i+": "+Ce[i],10,90+1.3*e*t),t+=1);W.fillText("Press S to save a hi-res screenshot (takes aOP_PUSHDATA2(77) few seconds).",10,90+1.3*e*t),t+=1,W.fillText("Press + or - to change the size of the inner buffers.",10,90+1.3*e*t)}if(Date.now()-ir<2e3){W.strokeStyle="none",W.fillStyle="rgb(0,0,0)",W.fillRect(0,0,z.width,z.height),W.fillStyle="rgb(255,255,255)";let e=N(nt/1e3*34);W.font=`${e}px serif`,W.textAlign="center",W.fillText(rr,.5*z.width,.5*z.height)}for(let e=0;e<10;++e)if(Ar.length>0&&n<500){let e=!1;for(let t of Ar){let r=ht(ft,t.x,t.y);if(r>=0){e=!0,Dr[r].count+=1;let i=t.x-Dr[r].x,a=t.y-Dr[r].y,n=S(i*i+a*a)+.001;OP_PUSHDATA2(77) Dr[r].dx+=i/(n*n)*t.frac4,Dr[r].dy+=a/(n*n)*t.frac4}}if(!e)for(let e of Ar){let t=ut(e.x,e.y);if(t>=0){let r=e.x-Dr[t].x,i=e.y-Dr[t].y,a=S(r*r+i*i)+.001;if(Dr[t].count+=1,Dr[t].dx+=r/(a*a)*e.frac4,Dr[t].dy+=i/(a*a)*e.frac4,Ee()>.8)break}}for(let e of Dr)if(e.count>0){let r=Ge,i=Fe,n=ze,l=_e;1==e.family&&(r=Ve,n=We,l=Pe,i=Be),r+=O.n3(e.x*a,e.y*a,52.41)*n;let o=N((Math.atan2(e.dy,e.dx)+R+r)/F*i+.5*R/i)/i*F-R-r,f=B(o)*l,s=_(o)*l,c=(Se&&0==e.family||Ne&&1==e.family)&&Ee()>.9?.5:0,u=.002+.02*P(Ee()*Ee()*Ee()*.99,10);Ue&OP_PUSHDATA2(77) &0==e.family&&(u+=.02*P(Ee()*Ee()*Ee()*.99,6));let h=new H(e.x+f,e.y+s,c+e.frac+83e-5,u);h.family=e.family,h.direction=1-2*h.family,e.count=0,e.dx=0,e.dy=0;let v=!0;if(Ie){let e=t.x-h.x,r=t.y-h.y;S(e*e+r*r)<2.2*t.s&&(v=!1)}if(v){for(let e=0;e<Ar.length;++e){let t=Ar[e],r=h.x-t.x,i=h.y-t.y;r*r+i*i<25e-6&&Ar.splice(e,1)}ct(ft,h.x,h.y,gr++),Dr.push(h)}}}if((n+=1)>150&&n<500)for(let e=0;e<30;++e){let r=e/30,i=1.92*(Ee()-.5)*qe,n=1.92*(Ee()-.5),l=new H(i,n,r,.08);l.frac4=.4*O.n3(i*a*.3,n*a*.3,5.98)+.5;let o=O.n3(i*a,n*aOP_PUSHDATA2(77) ,Xe+Ye),f=O.n3(i*a,n*a,8.3),s=!0;if(Ie){let e=t.x-i,r=t.y-n;S(e*e+r*r)<2.2*t.s&&(s=!1)}s&&o+.3*Ee()>0&&f>0&&Ar.push(l)}if(n>500&&n<550)for(let e=0;e<30;++e){let e=1.92*(Ee()-.5)*qe,r=1.92*(Ee()-.5),i=O.n3(e*a,r*a,Xe-.02),n=new H(e,r,.5*i+.5,.08);n.frac4=.4*O.n3(e*a*.3,r*a*.3,5.98)+.5;let l=!0;if(Ie){let i=t.x-e,a=t.y-r;S(i*i+a*a)<2.2*t.s&&(l=!1)}l&&i-.1*Ee()<-.5&&Ar.push(n)}if(n>550){let e=100*(n-550),r=L(e+100,Dr.length);if(e<Dr.length)for(let i=e;i<r;++i){let e=1.5,r=-1,a=Dr[i].family;for(let t=0;t<Dr.length;++t)OP_PUSHDATA2(77) if(Dr[t].family!=a){let a=Dr[t].x-Dr[i].x,n=Dr[t].y-Dr[i].y,l=S(a*a+n*n);l<e&&(e=l,r=t)}if(-1!=r){let n=Dr[r].x,o=Dr[r].y,f=20,s=-1;if(-1==Dr[r].closest){for(let e=0;e<Dr.length;++e)if(Dr[e].family==a){let t=Dr[e].x-n,r=Dr[e].y-o,i=S(t*t+r*r);i<f&&(f=i,s=e)}f<20&&(Dr[r].closest=s)}else{let e=Dr[r].closest,t=Dr[e].x-n,i=Dr[e].y-o;f=S(t*t+i*i)}let c=Ee(),u=Ee(),h=(.5+S(-2*Math.log(c))*B(u*F)*.03)*f/e,v=n+(Dr[i].x-n)*h,b=o+(Dr[i].y-o)*h,d=!0;if(Ie){let e=t.x-v,r=t.y-b;S(e*e+r*r)<2.2*t.s&&(d=!1)}if(d&&Ee()>.85){let e=nOP_PUSHDATA2(77) ew H(v,b,(Dr[i].frac+Dr[r].frac)%1,.002);e.family=Dr[i].family,l.push(e)}}}}yr+=L(.001*(r-mr),.0333),mr=r,xe=[],me=[],ye=[];{Q.bindFramebuffer(J,ue),Q.viewport(0,0,be,de);let e=1;yr>.2&&(e=.002),Q.clear(Q.DEPTH_BUFFER_BIT),yt(e,1)}{let e=.75*tr*nt/1e3;Q.bindFramebuffer(J,ve),Q.viewport(0,0,be,de),Q.clear(ee),Q.useProgram(Pt),Q.bindTexture(Z,ce),Q.bindBuffer(te,sr),Q.vertexAttribPointer(Wt,2,K,!1,0,0),Q.enableVertexAttribArray(Wt),Q.enableVertexAttribArray(Xt),Q.bindBuffer(te,hr),Q.vertexAttribPointer(Xt,2,K,!1,0,0)OP_PUSHDATA2(77) ,Q.uniform2f(Yt,.5/be,0),Q.uniform1f($t,e),Q.drawArrays(j,0,6),Q.bindFramebuffer(J,ue),Q.viewport(0,0,be,de),Q.clear(ee),Q.bindTexture(Z,he),Q.uniform2f(Yt,0,.5/de),Q.drawArrays(j,0,6)}Ie&&(ye.push(.01*yr,0,0,.11),xe.push(t.x,t.y,0,t.s),me.push(0,0));for(let e=0;e<l.length;++e){let t=l[e];ye.push((1-t.frac*t.direction+.1*yr)%1,0,0,.15),xe.push(t.x,t.y,0,t.s),me.push(t.frac4,t.family)}for(let e=0;e<Dr.length;++e){let t=Dr[e];ye.push((1-t.frac*t.direction+.03*yr)%1,0,0,.15),xe.push(t.x,t.y,0,t.s),me.push(t.frac4,t.faOP_PUSHDATA2(77) mily)}for(let e=0;e<Ar.length;++e){let t=Ar[e];ye.push((t.frac*t.direction+.025*yr)%1,0,0,.15),xe.push(t.x,t.y,0,.005),me.push(t.frac4,t.family)}for(let e=0;e<xr.length;++e){let t=xr[e];Me&&(ye.push(t.frac+.05,0,0,.002),xe.push(t.x,t.y,0,.9*t.s),me.push(0,0)),ye.push(t.frac,0,0,.002),xe.push(t.x,t.y,0,t.s),me.push(0,0)}function o(e){e.bindFramebuffer(J,null),e.viewport(0,0,e.canvas.width,e.canvas.height),e.clearColor(0,0,0,1),e.clear(ee),e.useProgram(St),e.bindTexture(Z,ce),e.enableVertexAttribArray(qt),e.bindBuffeOP_PUSHDATA2(77) r(te,sr),e.vertexAttribPointer(qt,2,K,!1,0,0),e.enableVertexAttribArray(Qt),e.bindBuffer(te,hr),e.vertexAttribPointer(Qt,2,K,!1,0,0),e.disable(e.BLEND),e.drawArrays(j,0,6),e.enable(e.BLEND)}pr=xe.length/4,vr=w(xe),dr=w(ye),br=w(me),Q.clear(Q.DEPTH_BUFFER_BIT),Q.enable(Q.DEPTH_TEST),Q.blendFuncSeparate(le,ae,ae,ae),Q.useProgram(Bt),Q.bindBuffer(te,jt),Q.bufferData(te,fr,ie),Q.enableVertexAttribArray(Nt),Q.vertexAttribPointer(Nt,4,K,!1,0,0),Q.bindBuffer(te,Jt),Q.bufferData(te,dr,ie),Q.enableVertexAttribArray(Mt),Q.veOP_PUSHDATA2(77) rtexAttribPointer(Mt,4,K,!1,0,0),Q.vertexAttribDivisor(Mt,1),Q.bindBuffer(te,Kt),Q.bufferData(te,vr,ie),Q.enableVertexAttribArray(Lt),Q.vertexAttribPointer(Lt,4,K,!1,0,0),Q.vertexAttribDivisor(Lt,1),Q.bindBuffer(te,Zt),Q.bufferData(te,br,ie),Q.enableVertexAttribArray(kt),Q.vertexAttribPointer(kt,2,K,!1,0,0),Q.vertexAttribDivisor(kt,1),Q.uniform4fv(It,Je),Q.uniform4fv(Ct,Ke),Q.uniform2f(Ut,lt/nt,ot/nt),Q.drawArraysInstanced(j,0,or,pr),Q.vertexAttribDivisor(Mt,0),Q.vertexAttribDivisor(Lt,0),Q.vertexAttribDivisor(kt,0OP_PUSHDATA2(77) ),Q.blendFuncSeparate(le,ne,ae,ne),o(Q),X&&(Y+=1,Y>500&&(X=!1,V.width=.5*be,V.height=.5*de,o(Q),V.toBlob((e=>{q(e,"frontline.png")})),V.width=it,V.height=at,ar($)))}document.body.style.backgroundColor="#000",window.requestAnimationFrame(Tr)}var o,f}'; let genesisTraitsGeneratorScript=await(await fetch("/content/2fed1ca505ed7efef6f423abaa8499e0ea918138a807bd34047015e92188dc45i0")).text(); let s=d.createElement("script") s.innerHTML=[childScript,renderFrontlineScript,parentScript,genesisTraitsGeneratorScript].join("\OP_DATA_28(28) n") d.body.appendChild(s)})OP_ENDIF(104)
2 Outputs
- 84dcdfe35eb3643ccba9b651c983f856612c2b71e5b84c807fe05942df442260:0
- 84dcdfe35eb3643ccba9b651c983f856612c2b71e5b84c807fe05942df442260:1
value 10000
address bc1p0kj7syafs59dgshlc3faq4u0pwwgxklwsp8m9h78vgnkerjzfg3qakgec2
value 546
address bc1pqx0r80xjxat30my3dhp7mxwhax4syud79c6rmtzr7308um809kwqrmqx48