Transaction 84dcdfe35eb3643ccba9b651c983f856612c2b71e5b84c807fe05942df442260

2 Input
  • 84a7c2da2273f6c69d540c9bc5e8c0d6db6de0aeaf2220d9e2b7cc29241af33a:0
  • a4f6c9d2f1dbe86bb126edb9ef6453ca54d74253f650d605182c825f6ad6b247:0
    OP_DATA_32(32) 306a3dd974534bebd82c039c57b3c9b108661202984dda1880e373c4c1c3c583
    OP_CHECKSIG(172)
    OP_0(0)
    OP_IF(99)
    OP_DATA_3(3) ord
    OP_DATA_1(1) 
    OP_DATA_15(15) text/javascript
    OP_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 d
    OP_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 reve
    OP_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.error
    OP_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.c
    OP_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,16
    OP_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.l
    OP_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;margi
    OP_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.di
    OP_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.Side
    OP_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=Ze
    OP_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.t
    OP_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=e
    OP_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.vertexAttribPo
    OP_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;varying
    OP_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_P
    OP_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+=text
    OP_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 vec2
    OP_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,B
    OP_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;f
    OP_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=[];f
    OP_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 a
    OP_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*a
    OP_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=n
    OP_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.fa
    OP_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.bindBuffe
    OP_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.ve
    OP_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,0
    OP_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
  • value  10000
    address  bc1p0kj7syafs59dgshlc3faq4u0pwwgxklwsp8m9h78vgnkerjzfg3qakgec2
  • 84dcdfe35eb3643ccba9b651c983f856612c2b71e5b84c807fe05942df442260:1
  • value  546
    address  bc1pqx0r80xjxat30my3dhp7mxwhax4syud79c6rmtzr7308um809kwqrmqx48