0xcb43078c…17f9·#25,593,731·view on Etherscan
Homage to the PunkOne homage for every CryptoPunk. Each is composed from the punk's onchain data and its live market state, rendered fully onchain`Composed from the onchain data and live market state of CryptoPu, rendered fully onchain.data:application/json;base64, (preview)","image":"data:image/","animation_url":"data:text/htm","attributes":[{"trait_type":"Sdata:application/json;base64,translate(45 37.5) scale(0.625)00/svg" viewBox="0 0 240 240" sh` ape-rendering="crispEdges"><rect x="60" y="210" width="120"` <rect width="240" height="240" fghijklmnopqrstuvwxyz0123456789+/`@ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef` Rlbad punk data`V[a*{a*va*qa*fa*aa%da$ shape-rendering="crispEdges">00/svg" viewBox="0 0 240 240" shape-rendering="crispEdges">00/svg" viewBox="0 0 240 240"00/svg" viewBox="0 0 240 240" shape-rendering="crispEdges">window.__homageConveyorInit=func` tion(root){
if(root.__conv)ret`@urn root.__conv;
var svg=root.``querySelector('svg');if(!svg)ret`urn null;
var NS='http://www.w`3.org/2000/svg';
var shapes=[]`.slice.call(svg.querySelectorAll`('rect,circle'));
var ground='a#000000',fills=[],circle=false;
a for(var i=0;i<shapes.length;i+a+){var e=shapes[i];if(e.tagName=a=='rect'&&e.getAttribute('x')===anull){ground=e.getAttribute('filal');}else{fills.push(e.getAttribaute('fill'));if(e.tagName==='ciracle')circle=true;}}
var n=fillas.length;if(n<2)return null;
vaar WO=192,U=240,AN=6,BMIN=-2,PERaIOD=1400;
function sz(b){if(b>a=n)return 0;var w=WO*(n-b)/n;retaurn w<0?0:w;}
function ax(s){raeturn (U-s)/2;}
function ay(s)a{return AN*(U-s)/8;}
function amk(t){return document.createElemaentNS(NS,t);}
while(svg.firstCahild)svg.removeChild(svg.firstChaild);
var cid='hc'+(window.__haomageConvSeq=(window.__homageConavSeq||0)+1);
var defs=mk('defsa'),cp=mk('clipPath');cp.setAttriabute('id',cid);var cs;
if(circale){cs=mk('circle');cs.setAttribaute('cx',U/2);cs.setAttribute('cay',ay(WO)+WO/2);cs.setAttribute(a'r',WO/2);}
else{cs=mk('rect')a;cs.setAttribute('x',ax(WO));cs.asetAttribute('y',ay(WO));cs.setAattribute('width',WO);cs.setAttriabute('height',WO);}
cp.appendCahild(cs);defs.appendChild(cp);svag.appendChild(defs);
var gr=mka('rect');gr.setAttribute('width'a,U);gr.setAttribute('height',U);agr.setAttribute('fill',ground);savg.appendChild(gr);
var g=mk('ag');g.setAttribute('clip-path','aurl(#'+cid+')');svg.appendChild(ag);
var pool={},playing=false,araf=null,t0=0,pausedP=0;
functaion shape(el,s){var x=ax(s),y=aya(s);if(circle){el.setAttribute('acx',x+s/2);el.setAttribute('cy',ay+s/2);el.setAttribute('r',s<0?0a:s/2);}else{el.setAttribute('x',ax);el.setAttribute('y',y);el.setaAttribute('width',s<0?0:s);el.seatAttribute('height',s<0?0:s);}}
a function render(p){
var seaen={},arr=[],hi=Math.floor(p),loa=Math.ceil(p+BMIN-n);
for(vaar m=lo;m<=hi;m++){var b=m-p+n;ifa(b<BMIN||b>n)continue;var el=pooal[m];
if(!el){el=mk(circlea?'circle':'rect');el.setAttributae('fill',fills[((m%n)+n)%n]);if(a!circle)el.setAttribute('shape-raendering','crispEdges');pool[m]=ael;}
var s=sz(b);shape(el,as);el.__s=s;seen[m]=1;arr.push(eal);}
arr.sort(function(a,b){areturn b.__s-a.__s;});
for(vaar i=0;i<arr.length;i++)g.appenda Child(arr[i]);
for(var k in a pool){if(!seen[k]){if(pool[k].paa @rentNode)pool[k].parentNode.remoa `veChild(pool[k]);delete pool[k];a }}
}
function now(){return (a window.performance&&performance.a now)?performance.now():Date.now(a );}
function frame(t){if(!playa
ing)return;render((t-t0)/PERIOD)a
;raf=requestAnimationFrame(framea
@);}
function play(){if(playinga
`)return;playing=true;t0=now()-paa
usedP*PERIOD;raf=requestAnimatioa
nFrame(frame);}
function pausea
(){if(!playing)return;playing=faa
lse;if(raf){cancelAnimationFramea(raf);raf=null;}pausedP=((now()-at0)/PERIOD)%n;render(pausedP);}
a function toggle(){if(playing){apause();}else{play();}}
root.aaddEventListener('click',toggle);a
render(0);
var api={toggle:atoggle,play:play,pause:pause,geta playing(){return playing;},destaroy:function(){pause();root.remoaveEventListener('click',toggle);aroot.__conv=null;}};
root.__coanv=api;return api;
};
(function(a{var els=document.querySelectoraAll('[data-homage-conveyor]');foar(var i=0;i<els.length;i++){windaow.__homageConveyorInit(els[i]);a
</script></body></html><!doctype html><html><head><meta` charset="utf-8"><meta name="vie`@wport" content="width=device-wid``th,initial-scale=1"><style>html,`body{margin:0;height:100%;backgr`ound:#0b0b0e;display:flex;align-`items:center;justify-content:cen`ter;overflow:hidden}#stage{widtha:min(100vw,100vh);height:min(100avw,100vh);cursor:pointer}#stage asvg{width:100%;height:100%;displaay:block}</style></head><body><daiv id="stage" data-homage-conveya"image":"data:image/svg+xml;base"animation_url":"data:text/html;data:application/json;base64,{"trait_type":"Punk Type","valueV[`@Qm"attributes":[`{"trait_type":"Accessory Count",,"display_type":"number"},{"trait_type":"Color Count","val,"display_type":"number"},{"trait_type":"Status","value":"{"trait_type":"Punk Accessory","aP|aPZaPTaPNaPC` <svg xmlns="http://www.w3.org/20