0x20ec…9635

All memos sent from and to 0x20ec…9635.

jb_mass_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
jb_mass_main2te(c,3));i.deleteAttribute('normal');i.deleteAttribute('uv');i.setIndex(n);i.computeVertexNormals();return i}function makeCone(e,t,a,i,n,r,o,s,l,c){const d=createConeGeometry(t,a,i,n,c,r);const u=new THREE.ConeGeometry(t,a,i,n);d.setAttribute('uv',u.getAttribute('uv'));d.uvsNeedUpdate=true;d.normalsNeedUpdate=true;const p=new THREE.Mesh(d,e);if(s){p.position.set(s[0],s[1],s[2])}if(o){p.scale.set(o[0],o[1],o[2])}if(l){p.rotation.set(THREE.MathUtils.degToRad(l[0]*2),THREE.MathUtils.degToRad(l[1]),THREE.MathUtils.degToRad(l[2]))}if(enableShadows){p.castShadow=true;p.receiveShadow=true}p.userData.material=e;return p}function meanPositionOfPivots(e){let t=e.map(e=>e.position.x);t=t.reduce((e,t)=>e+t,0)/t.length;let a=e.map(e=>e.position.y);a=a.reduce((e,t)=>e+t,0)/a.length;let i=e.map(e=>e.position.z);i=i.reduce((e,t)=>e+t,0)/i.length;return[t,a,i]}function meanRotationOfPivots(e){let t=e.map(e=>e.rotation.x);t=t.reduce((e,t)=>e+t,0)/t.length;let a=e.map(e=>e.rotation.y);a=a.reduce((e,t)=>e+t,0)/a.length;let i=e.map(e=>e.rotation.z);i=i.reduce((e,t)=>e+t,0)/i.length;return[t,a,i]}function createNegativeSpace(a,e=undefined,t=true,i=0,n=0){a.creatingNegativeSpace=true;setTimeout(()=>{a.creatingNegativeSpace=false},3e4);let r=randFromRange(a.negativeSpaceX);let o=randFromRange(a.negativeSpaceY);let s=randFromRange(a.negativeSpaceZ);let l=randFromRange(a.negativeSpaceSizeX);let c=randFromRange(a.negativeSpaceSizeY);let d=randFromRange(a.negativeSpaceSizeZ);if(e==undefined){e=pick(a.negativeSpaceType)}let u=undefined;if(e=="triangle"){u=[new THREE.Plane(new THREE.Vector3(1,.5,0),0),new THREE.Plane(new THREE.Vector3(-1,.5,0),0),new THREE.Plane(new THREE.Vector3(0,-1,0),0),new THREE.Plane(new THREE.Vector3(0,0,-1),0),new THREE.Plane(new THREE.Vector3(0,0,1),0)];u[0].translate(new THREE.Vector3(l+r,0,0));u[1].translate(new THREE.Vector3(-l+r,0,0));u[2].translate(new THREE.Vector3(0,-c+o,0));u[3].translate(new THREE.Vector3(0,0,-d+s));u[4].translate(new THREE.Vector3(0,0,d+s))}else if(e=="triangle_flip"){u=[new THREE.Plane(new THREE.Vector3(1,-.5,0),0),new THREE.Plane(new THREE.Vector3(-1,-.5,0),0),new THREE.Plane(new THREE.Vector3(0,1,0),0),new THREE.Plane(new THREE.Vector3(0,0,-1),0),new THREE.Plane(new THREE.Vector3(0,0,1),0)];u[0].translate(new THREE.Vector3(l+r,0,0));u[1].translate(new THREE.Vector3(-l+r,0,0));u[2].translate(new THREE.Vector3(0,c+o,0));u[3].translate(new THREE.Vector3(0,0,-d+s));u[4].translate(new THREE.Vector3(0,0,d+s))}else if(e=="diamond"){u=[new THREE.Plane(new THREE.Vector3(1,-.5,0),0),new THREE.Plane(new THREE.Vector3(-1,.5,0),0),new THREE.Plane(new THREE.Vector3(.5,-1,0),0),new THREE.Plane(new THREE.Vector3(-.5,1,0),0),new THREE.Plane(new THREE.Vector3(0,0,-1),0),new THREE.Plane(new THREE.Vector3(0,0,1),0)];u[0].translate(new THREE.Vector3(l+r,0,0));u[1].translate(new THREE.Vector3(-l+r,0,0));u[2].translate(new THREE.Vector3(0,-c+o,0));u[3].translate(new THREE.Vector3(0,c+o,0));u[4].translate(new THREE.Vector3(0,0,-d+s));u[5].translate(new THREE.Vector3(0,0,d+s));var p=new THREE.Quaternion;p.setFromAxisAngle(new THREE.Vector3(0,0,1),THREE.MathUtils.degToRad(n));u[0].normal.applyQuaternion(p);u[1].normal.applyQuaternion(p);u[2].normal.applyQuaternion(p);u[3].normal.applyQuaternion(p)}let f=e=="triangle"?3:4;for(let e=0;e<f;e++){u[e].userData={originalConstant:u[e].constant,currentConstrain:t?5:u[e].constant,desiredConstant:u[e].constant};if(t){u[e].constant=5}}a.clipPlanes=u;nShapesLeftOutside=0;if(a.pivots){for(let e of a.pivots){if(nShapesLeftOutside<i&&rand(0,1,.01)>.5){nShapesLeftOutside++;continue}for(let t of e.children){if(t.material){t.material.clippingPlanes=a.clipPlanes;t.material.clipIntersection=true}for(let e of t.children){if(e.material){e.material.clippingPlanes=a.clipPlanes;e.material.clipIntersection=true}}}}}}function removeNegativeSpace(t){t.removingNegativeSpace=true;for(let e=0;e<t.clipPlanes.length;e++){if(t.clipPlanes[e].userData){t.clipPlanes[e].userData.desiredConstant=5}}setTimeout(()=>{if(t.pivots){for(let e of t.pivots){for(let t of e.children){if(t.material){t.material.clippingPlanes=[];t.material.needsUpdate=true}for(let e of t.children){if(e.material){e.material.clippingPlanes=[];e.material.needsUpdate=true}}}}}for(let e=0;e<t.clipPlanes.length;e++){SCENE.scene.remove(t.clipPlanes[e])}t.clipPlanes=undefined;delete t.clipPlanes;t.removingNegativeSpace=false},2e4)}function initOBJLoader(){const F=/^[og]\s*(.+)?/;const _=/^mtllib /;const j=/^usemtl /;const B=/^usemap /;const I=/\s+/;const r=new THREE.Vector3;const o=new THREE.Vector3;const s=new THREE.Vector3;const l=new THREE.Vector3;const c=new THREE.Vector3;const L=new THREE.Color;function Q(){const e={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(e,t){if(this.object&&this.object.fromDeclaration===false){this.object.name=e;this.object.fromDeclaration=t!==false;return}const a=this.object&&typeof this.object.currentMaterial==='function'?this.object.currentMaterial():undefined;if(this.object&&typeof this.object._finalize==='function'){this.object._finalize(true)}this.object={name:e||'',fromDeclaration:t!==false,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:false},materials:[],smooth:true,startMaterial:function(e,t){const a=this._finalize(false);if(a&&(a.inherited||a.groupCount<=0)){this.materials.splice(a.index,1)}const i={index:this.materials.length,name:e||'',mtllib:Array.isArray(t)&&t.length>0?t[t.length-1]:'',smooth:a!==undefined?a.smooth:this.smooth,groupStart:a!==undefined?a.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:false,clone:function(e){const t={index:typeof e==='number'?e:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:false};t.clone=this.clone.bind(t);return t}};this.materials.push(i);return i},currentMaterial:function(){if(this.materials.length>0){return this.materials[this.materials.length-1]}return undefined},_finalize:function(e){const t=this.currentMaterial();if(t&&t.groupEnd===-1){t.groupEnd=this.geometry.vertices.length/3;t.groupCount=t.groupEnd-t.groupStart;t.inherited=false}if(e&&this.materials.length>1){for(let e=this.materials.length-1;e>=0;e--){if(this.materials[e].groupCount<=0){this.materials.splice(e,1)}}}if(e&&this.materials.length===0){this.materials.push({name:'',smooth:this.smooth})}return t}};if(a&&a.name&&typeof a.clone==='function'){const i=a.clone(0);i.inherited=true;this.object.materials.push(i)}this.objects.push(this.object)},finalize:function(){if(this.object&&typeof this.object._finalize==='function'){this.object._finalize(true)}},parseVertexIndex:function(e,t){const a=parseInt(e,10);return(a>=0?a-1:a+t/3)*3},parseNormalIndex:function(e,t){const a=parseInt(e,10);return(a>=0?a-1:a+t/3)*3},parseUVIndex:function(e,t){const a=parseInt(e,10);return(a>=0?a-1:a+t/2)*2},addVertex:function(e,t,a){const i=this.vertices;const n=this.object.geometry.vertices;n.push(i[e+0],i[e+1],i[e+2]);n.push(i[t+0],i[t+1],i[t+2]);n.push(i[a+0],i[a+1],i[a+2])},addVertexPoint:function(e){const t=this.vertices;const a=this.object.geometry.vertices;a.push(t[e+0],t[e+1],t[e+2])},addVertexLine:function(e){const t=this.vertices;const a=this.object.geometry.vertices;a.push(t[e+0],t[e+1],t[e+2])},addNormal:function(e,t,a){const i=this.normals;const n=this.object.geometry.normals;n.push(i[e+0],i[e+1],i[e+2]);n.push(i[t+0],i[t+1],i[t+2]);n.push(i[a+0],i[a+1],i[a+2])},addFaceNormal:function(e,t,a){const i=this.vertices;const n=this.object.geometry.normals;r.fromArray(i,e);o.fromArray(i,t);s.fromArray(i,a);c.subVectors(s,o);l.subVectors(r,o);c.cross(l);c.normalize();n.push(c.x,c.y,c.z);n.push(c.x,c.y,c.z);n.push(c.x,c.y,c.z)},addColor:function(e,t,a){const i=this.colors;const n=this.object.geometry.colors;if(i[e]!==undefined)n.push(i[e+0],i[e+1],i[e+2]);if(i[t]!==undefined)n.push(i[t+0],i[t+1],i[t+2]);if(i[a]!==undefined)n.push(i[a+0],i[a+1],i[a+2])},addUV:function(e,t,a){const i=this.uvs;const n=this.object.geometry.uvs;n.push(i[e+0],i[e+1]);n.push(i[t+0],i[t+1]);n.push(i[a+0],i[a+1])},addDefaultUV:function(){const e=this.object.geometry.uvs;e.push(0,0);e.push(0,0);e.push(0,0)},addUVLine:function(e){const t=this.uvs;const a=this.object.geometry.uvs;a.push(t[e+0],t[e+1])},addFace:function(e,t,a,i,n,r,o,s,l){const c=this.vertices.length;let d=this.parseVertexIndex(e,c);let u=this.parseVertexIndex(t,c);let p=this.parseVertexIndex(a,c);this.addVertex(d,u,p);this.addColor(d,u,p);if(o!==undefined&&o!==''){const f=this.normals.length;d=this.parseNormalIndex(o,f);u=this.parseNormalIndex(s,f);p=this.parseNormalIndex(l,f);this.addNormal(d,u,p)}else{this.addFaceNormal(d,u,p)}if(i!==undefined&&i!==''){const m=this.uvs.length;d=this.parseUVIndex(i,m);u=this.parseUVIndex(n,m);p=this.parseUVIndex(r,m);this.addUV(d,u,p);this.object.geometry.hasUVIndices=true}else{this.addDefaultUV()}},addPointGeometry:function(a){this.object.geometry.type='Points';const i=this.vertices.length;for(let e=0,t=a.length;e<t;e++){const n=this.parseVertexIndex(a[e],i);this.addVertexPoint(n);this.addColor(n)}},addLineGeometry:function(a,i){this.object.geometry.type='Line';const n=this.vertices.length;const r=this.uvs.length;for(let e=0,t=a.length;e<t;e++){this.addVertexLine(this.parseVertexIndex(a[e],n))}for(let e=0,t=i.length;e<t;e++){this.addUVLine(this.parseUVIndex(i[e],r))}}};e.startObject('',false);return e}class e extends THREE.Loader{constructor(e){super(e);this.materials=null}load(a,i,e,n){const r=this;const t=new THREE.FileLoader(this.manager);t.setPath(this.path);t.setRequestHeader(this.requestHeader);t.setWithCredentials(this.withCredentials);t.load(a,function(e){try{i(r.parse(e))}catch(t){if(n){n(t)}else{}r.manager.itemError(a)}},e,n)}setMaterials(e){this.materials=e;return this}parse(e){const i=new Q;if(e.indexOf('\r\n')!==-1){e=e.replace(/\r\n/g,'\n')}if(e.indexOf('\\\n')!==-1){e=e.replace(/\\\n/g,'')}const a=e.split('\n');let n=[];for(let e=0,t=a.length;e<t;e++){const o=a[e].trimStart();if(o.length===0)continue;const s=o.charAt(0);if(s==='#')continue;if(s==='v'){const l=o.split(I);switch(l[0]){case'v':i.vertices.push(parseFloat(l[1]),parseFloat(l[2]),parseFloat(l[3]));if(l.length>=7){L.setRGB(parseFloat(l[4]),parseFloat(l[5]),parseFloat(l[6])).convertSRGBToLinear();i.colors.push(L.r,L.g,L.b)}else{i.colors.push(undefined,undefined,undefined)}break;case'vn':i.normals.push(parseFloat(l[1]),parseFloat(l[2]),parseFloat(l[3]));break;case'vt':i.uvs.push(parseFloat(l[1]),parseFloat(l[2]));break}}else if(s==='f'){const c=o.slice(1).trim();const d=c.split(I);const u=[];for(let e=0,t=d.length;e<t;e++){const f=d[e];if(f.length>0){const m=f.split('/');u.push(m)}}const p=u[0];for(let e=1,t=u.length-1;e<t;e++){const h=u[e];const E=u[e+1];i.addFace(p[0],h[0],E[0],p[1],h[1],E[1],p[2],h[2],E[2])}}else if(s==='l'){const g=o.substring(1).trim().split(' ');let a=[];const S=[];if(o.indexOf('/')===-1){a=g}else{for(let e=0,t=g.length;e<t;e++){const T=g[e].split('/');if(T[0]!=='')a.push(T[0]);if(T[1]!=='')S.push(T[1])}}i.addLineGeometry(a,S)}else if(s==='p'){const c=o.slice(1).trim();const x=c.split(' ');i.addPointGeometry(x)}else if((n=F.exec(o))!==null){const v=(' '+n[0].slice(1).trim()).slice(1);i.startObject(v)}else if(j.test(o)){i.object.startMaterial(o.substring(7).trim(),i.materialLibraries)}else if(_.test(o)){i.materialLibraries.push(o.substring(7).trim())}else if(B.test(o)){}else if(s==='s'){n=o.split(' ');if(n.length>1){const R=n[1].trim().toLowerCase();i.object.smooth=R!=='0'&&R!=='off'}else{i.object.smooth=true}const A=i.object.currentMaterial();if(A)A.smooth=i.object.smooth}else{if(o==='\0')continue}}i.finalize();const r=new THREE.Group;r.materialLibraries=[].concat(i.materialLibraries);const t=!(i.objects.length===1&&i.objects[0].geometry.vertices.length===0);if(t===true){for(let t=0,e=i.objects.length;t<e;t++){const D=i.objects[t];const N=D.geometry;const b=D.materials;const C=N.type==='Line';const y=N.type==='Points';let a=false;if(N.vertices.length===0)continue;const w=new THREE.BufferGeometry;w.setAttribute('position',new THREE.Float32BufferAttribute(N.vertices,3));if(N.normals.length>0){w.setAttribute('normal',new THREE.Float32BufferAttribute(N.normals,3))}if(N.colors.length>0){a=true;w.setAttribute('color',new THREE.Float32BufferAttribute(N.colors,3))}if(N.hasUVIndices===true){w.setAttribute('uv',new THREE.Float32BufferAttribute(N.uvs,2))}const P=[];for(let t=0,e=b.length;t<e;t++){const M=b[t];const O=M.name+'_'+M.smooth+'_'+a;let e=i.materials[O];if(this.materials!==null){e=this.materials.create(M.name);if(C&&e&&!(e instanceof THREE.LineBasicMaterial)){const U=new THREE.LineBasicMaterial;THREE.Material.prototype.copy.call(U,e);U.color.copy(e.color);e=U}else if(y&&e&&!(e instanceof THREE.PointsMaterial)){const k=new THREE.PointsMaterial({size:10,sizeAttenuation:false});THREE.Material.prototype.copy.call(k,e);k.color.copy(e.color);k.map=e.map;e=k}}if(e===undefined){if(C){e=new THREE.LineBasicMaterial}else if(y){e=new THREE.PointsMaterial({size:1,sizeAttenuation:false})}else{e=new THREE.MeshPhongMaterial({color:"#000000"})}e.name=M.name;e.flatShading=M.smooth?false:true;e.vertexColors=a;i.materials[O]=e}P.push(e)}let e;if(P.length>1){for(let e=0,t=b.length;e<t;e++){const M=b[e];w.addGroup(M.groupStart,M.groupCount,e)}if(C){e=new THREE.LineSegments(w,P)}else if(y){e=new THREE.Points(w,P)}else{e=new THREE.Mesh(w,P)}}else{if(C){e=new THREE.LineSegments(w,P[0])}else if(y){e=new THREE.Points(w,P[0])}else{e=new THREE.Mesh(w,P[0])}}e.name=D.name;r.add(e)}}else{if(i.vertices.length>0){const A=new THREE.PointsMaterial({size:1,sizeAttenuation:false});const w=new THREE.BufferGeometry;w.setAttribute('position',new THREE.Float32BufferAttribute(i.vertices,3));if(i.colors.length>0&&i.colors[0]!==undefined){w.setAttribute('color',new THREE.Float32BufferAttribute(i.colors,3));A.vertexColors=true}const H=new THREE.Points(w,A);r.add(H)}}return r}}THREE.OBJLoader=e}function initImprovedNoise(){const v=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];for(let e=0;e<256;e++){v[256+e]=v[e]}function A(e){return e*e*e*(e*(e*6-15)+10)}function R(e,t,a){return t+e*(a-t)}function D(e,t,a,i){const n=e&15;const r=n<8?t:a,o=n<4?a:n==12||n==14?t:i;return((n&1)==0?r:-r)+((n&2)==0?o:-o)}class e{noise(e,t,a){const i=Math.floor(e),n=Math.floor(t),r=Math.floor(a);const o=i&255,s=n&255,l=r&255;e-=i;t-=n;a-=r;const c=e-1,d=t-1,u=a-1;const p=A(e),f=A(t),m=A(a);const h=v[o]+s,E=v[h]+l,g=v[h+1]+l,S=v[o+1]+s,T=v[S]+l,x=v[S+1]+l;return R(m,R(f,R(p,D(v[E],e,t,a),D(v[T],c,t,a)),R(p,D(v[g],e,d,a),D(v[x],c,d,a))),R(f,R(p,D(v[E+1],e,t,u),D(v[T+1],c,t,u)),R(p,D(v[g+1],e,d,u),D(v[x+1],c,d,u))))}}THREE.ImprovedNoise=e}function stringToHexadecimal(t){let a='';for(let e=0;e<t.length;e++){const i=t.charCodeAt(e).toString(16);a+=('00'+i).slice(-2)}return a}async function callProvider(e){callPayload={method:"POST",body:JSON.stringify(e)};let a;for(let t=0;t<NODE_URLS.length;t++){for(let e=0;e<2;e++){try{a=await fetch(NODE_URLS[t],callPayload);if(a.ok){let e=await a.json();return e}else{}}catch(i){await new Promise(e=>setTimeout(e,2e3))}}}}function getValueByBlockNumber(t,a){if(a==undefined){return t[0][2]}let i=t[0][2];try{for(let e=0;e<t.length;e++){if(t[e][0]<a&&t[e][1]>=a){i=t[e][2];return i}}return i}catch(e){console.error("Error in getValueByBlockNumber:",e);return i}}async function getLastBlockReceipts(t){let e=await callProvider({method:"eth_blockNumber",params:[],id:2,jsonrpc:"2.0"});let a=await callProvider({method:"eth_getBlockReceipts",params:[e.result],id:2,jsonrpc:"2.0"});SCENE.nBlocks=SCENE.nBlocks==undefined?1:SCENE.nBlocks+1;let i=getValueByBlockNumber(inverseRandomUpdateProbabilities,SCENE.nBlocks);SCENE.invertedRandomUpdate=rand(0,1,.001)>1-i;for(let e of a.result){if(t=="ANYWALLET"){const n=JSON.stringify(e,null,2);return n}if(t.indexOf(e.from)>-1||t.indexOf(e.to)>-1){const n=JSON.stringify(e,null,2);SCENE.invertedRandomUpdate=false;return n}}}async function receiptsWrapper(){try{await getLastBlockReceipts()}catch(e){}}async function getContractData(){for(let t=0;t<NODE_URLS.length;t++){for(let e=0;e<2;e++){try{var a=await fetch(NODE_URLS[t],{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:contractAddress,data:jsonRpcCallDataContract},"latest"],id:2,jsonrpc:"2.0"})});if(a.ok){let e=await a.json();let t=hexToArray(e.result);try{t=splitArray(t,[1,200,1,200,1,400,400,1,300])}catch(i){t=splitArray(t,[1,200,1,200,1,400,400,1])}return t}else{}}catch(i){await new Promise(e=>setTimeout(e,2e3))}}}}function hexToUnicode(e){let t=e.match(/.{1,2}/g)||[];let a=t.map(e=>String.fromCharCode(parseInt(e,16)));let i=a.join('');return i.replace(/\u0000/g,'')}function hexToArray(e){const t=e.slice(2);const a=[];for(let e=0;e<t.length;e+=64){if(e>=77200){const i=hexToUnicode(t.slice(e,e+128),16);if(i.length>=37&&i[0]==0){a.push(i)}}else{const n=parseInt(t.slice(e,e+64),16);a.push(n)}}return a}function splitArray(t,a){const i=[];let n=0;for(let e=0;e<a.length;e++){const r=a[e];const o=t.slice(n,n+r);i.push(o);n+=r}if(n<t.length){const e=t.slice(n);i.push(e)}return i}function getCurrentTs(){return(new Date).getTime()/1e3}function generateUUID(){return'xyxxyxxxyxxyxx'.replace(/[xy]/g,function(e){var t=Math.random()*16|0,a=e=='x'?t:t&3|8;return a.toString(16)})}
jb_mass_main21}let t=true;a.visible=true;for(let e of["x","y","z"]){if(a.children[0].scale[e]<a.children[0].userData.originalScale[e]){a.children[0].scale[e]+=a.userData.growUp;t=false}else{a.children[0].scale[e]=a.children[0].userData.originalScale[e]}}if(t){a.userData.growUp=undefined}}}async function getThreeJS(){for(let t=0;t<NODE_URLS.length;t++){try{var a=await fetch(NODE_URLS[t],{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:"0x16cc845d144A283D1b0687FBAC8B0601cC47A6C3",data:"0x43920d7d0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001074687265652e6a7320302e3134342e3000000000000000000000000000000000"},"latest"],id:2,jsonrpc:"2.0"})});let e=await a.json();return hexToString(e.result)}catch(e){}}}function hexToString(t){if(t.startsWith("0x")){t=t.slice(2)}let a='';for(let e=0;e<t.length;e+=2){const i=parseInt(t.substr(e,2),16);a+=String.fromCharCode(i)}return a}async function dataUpdate(){if(document.hidden){try{SCENE.data.contract.tiers.royalty_received_tier.changed=false;SCENE.data.contract.tiers.contract_activity_tier.changed=false;SCENE.data.contract.tiers.sends_tier.changed=false;SCENE.data.contract.tiers.approvals_tier.changed=false}catch(e){}return}NODE_URLS=shuffle(NODE_URLS);SCENE.data.contractPrev=SCENE.data.contract;SCENE.data.contract=await getContractData();if(getCurrentTs()>contractMintTimestamp+receiptsFetchingOffset){NODE_URLS=shuffle(NODE_URLS);SCENE.data.wallets=await walletActivityUpdates(SCENE.data.contract[SCENE.data.contract.length-1])}else{}SCENE.data.contract.tiers=SCENE.data.contractPrev.tiers;calculateTiers(SCENE.data.contract);calculateContractDataUpdates()}function init(){SCENE={data:{wallet:{},contract:{}},specialObjects:{},updateStartTimesAndValues:{}};if(tokenHash){populatePalette();populateAbstractMaterials();populateAxisExtraShapes();overwriteAxis()}SCENE.camera=makeCamera();SCENE.scene=makeScene();SCENE.renderer=makeRenderer();for(let n of Axis){n.mainPivot=new THREE.Object3D;n.mainPivot.name=n.name;var a=[];for(let e in n.coneTypes){n.coneTypes[e][e]=true;a.push(n.coneTypes[e])}shuffle(a);n.axisArrayConeTypes=a;if(n.enableNegativeSpace){createNegativeSpace(n,undefined,true)}n.pivots=[];let i=n.growShapes.onStartup?n.growShapes.speed:undefined;for(let a in n.extraShapes){let t=n.extraShapes[a];for(let e=0;e<t.numberOfShapes;e++){if(t.cone){addConeToAxis(n,`cone${e}`,t,i,a)}else{addExtraShapeToAxis(n,`${a}${e}`,a,t,i)}}}let e=meanPositionOfPivots(n.pivots);let t=meanRotationOfPivots(n.pivots);n.centraRodPosition=e;n.centralRodRotation=t;if(n.addCentralRod){n.rodMaterial=new THREE.MeshBasicMaterial({color:n.centralRodColor,side:THREE.FrontSide,wireframe:false});const s=new THREE.BoxGeometry(n.centralRodWidth,n.centralRodLength,n.centralRodWidth);n.rod=new THREE.Mesh(s,n.rodMaterial);n.rod.position.set(e[0],e[1],e[2]);n.rod.rotation.z=t[2];n.mainPivot.add(n.rod)}SCENE.scene.add(n.mainPivot);if(!n.enabled){setAxisInvisibleAndDisabled(n)}}for(let e of Lights){makeLight(e);SCENE.scene.add(e.light)}if(enableWorldGradient){makeWorldPlane()}SCENE.renderer.render(SCENE.scene,SCENE.camera);if(enableShadows){SCENE.renderer.shadowMap.enabled=true;SCENE.renderer.shadowMap.type=THREE.PCFShadowMap}let i=new THREE.Clock;let n=0;let r=1/animationFPS;SCENE.cameraMovementSpeed={x:0,y:0,z:0};const o=e=>{requestAnimationFrame(o);try{if(document.hidden){return}}catch(t){}n+=i.getDelta();animateFog();for(let a of Axis){if(a.mainPivot.userData.animationQueue&&a.mainPivot.userData.animationQueue.length>0){processAnimationQueue(a.mainPivot)}for(let t of a.pivots){processShrinkAndGrow(t);t.rotateY(THREE.MathUtils.degToRad(t.userData.rotationSpeed*n));if(t.userData.animationQueue&&t.userData.animationQueue.length>0){processAnimationQueue(t)}if(t.userData.animationLoop){processAnimationLoop(t)}for(let e of t.children){if(e.userData.animationQueue&&e.userData.animationQueue.length>0){processAnimationQueue(e)}if(e.userData.animationLoop){processAnimationLoop(e)}}}if(a.enableNegativeSpaceAnimation){animateAxisNegativeSpace(a,n)}try{if(a.clipPlanes){for(let e of a.clipPlanes){if(e.userData){if(e.userData.desiredConstant>e.constant){e.constant+=negativeSpaceAnimationSpeed}else if(e.userData.desiredConstant<e.constant){e.constant-=negativeSpaceAnimationSpeed}}}}}catch(t){}}if(SCENE.worldPlane.userData.animationQueue&&SCENE.worldPlane.userData.animationQueue.length>0){processAnimationQueue(SCENE.worldPlane)}if(SCENE.camera.userData.animationQueue&&SCENE.camera.userData.animationQueue.length>0){processAnimationQueue(SCENE.camera)}if(enableWorldGradientAnimation){animateWorldPlane()}if(enableFog){processAnimationQueue(SCENE.scene.fog)}if(SCENE.cameraMovementSpeed.y!=0){SCENE.camera.position.y+=SCENE.cameraMovementSpeed.y;SCENE.cameraMovementSpeed.y*=.98}if(SCENE.cameraMovementSpeed.x!=0){SCENE.camera.position.x+=SCENE.cameraMovementSpeed.x;SCENE.cameraMovementSpeed.x*=.98}if(SCENE.cameraMovementSpeed.z!=0){SCENE.camera.position.z+=SCENE.cameraMovementSpeed.z;SCENE.cameraMovementSpeed.z*=.98}SCENE.renderer.render(SCENE.scene,SCENE.camera);n=n%r};requestAnimationFrame(o);function e(){let e=window.innerWidth/window.innerHeight;SCENE.camera.aspect=e;SCENE.renderer.setSize(window.innerWidth,window.innerHeight);SCENE.camera.updateProjectionMatrix()}window.addEventListener('resize',e,false);e();document.addEventListener("keydown",function(e){if(e.key==="o"){if(SCENE.camera.zoom>.6){SCENE.camera.zoom-=.003;SCENE.camera.updateProjectionMatrix()}}if(e.key==="i"){if(SCENE.camera.zoom<2.5){SCENE.camera.zoom+=.003;SCENE.camera.updateProjectionMatrix()}}})}INITIALUPDATE=true;initImprovedNoise();initOBJLoader();init();setTimeout(2e3,dataUpdate());setInterval(dataUpdate,12e3);setInterval(updateScene,12e3);window.onkeydown=function(e){if(e.keyCode===77){document.querySelector("body").insertAdjacentHTML('afterend',`<div id="prompt-container" class="prompt-container"><p>Change node URL:</p><input id="prompt" class="prompt" value="${NODE_URLS[0]}"/></div>`)}else if(e.keyCode===13){p=document.getElementById('prompt');NODE_URLS=[p.value];pc=document.getElementById('prompt-container');pc.remove()}else if(e.keyCode===27){pc=document.getElementById('prompt-container');pc.remove()}};function hashString(t){let a=5381;for(let e=0;e<t.length;e++){a=a*33^t.charCodeAt(e)}return a>>>0}function rand(t,a,e=.001){if(t==a){return t}if(t>a){let e=t;t=a;a=e}const i=randomNumberGenerator.random();const n=(a-t)/e+e;const r=Math.floor(i*n)*e;return t+r}function randS(t,a,e=.001){if(t==a){return t}if(t>a){let e=t;t=a;a=e}const i=randomNumberGeneratorSeeded.random();const n=(a-t)/e+e;const r=Math.floor(i*n)*e;return t+r}function randFromRange(e){return rand(e[0],e[1],e[2])}function randFromRangeS(e){let t=randS(e[0],e[1],e[2]);return[t,t,1]}function randFromRangeS2(e){return randS(e[0],e[1],e[2])}function shuffle(t){for(let e=t.length-1;e>0;e--){const a=Math.floor(randomNumberGenerator.random()*(e+1));[t[e],t[a]]=[t[a],t[e]]}return t}function shuffleS(t){for(let e=t.length-1;e>0;e--){const a=Math.floor(randS(0,1,.01)*e);[t[e],t[a]]=[t[a],t[e]]}return t}function pick(e){return e[rand(0,e.length-1,1)]}function pickS(e){return e[randS(0,e.length-1,1)]}function pickS2(e){let t=JSON.parse(JSON.stringify(e));shuffleS(t);if(t.length==1){let e=t.pop();return[e,e]}v1=t.pop();v2=t.pop();v3=v2;while(v1==v2){if(t.length==0){v2=v3;break}v2=t.pop()}return[v1,v2]}function numberOfShapesMinMax(e){return Array.isArray(e)?randFromRangeS(e)[0]:e}function pickFromProbabilityArrayS(e){let t=JSON.parse(JSON.stringify(e));shuffleS(t);let a=0;let i=-1;let n=null;let r=randS(0,1,.01);for(let e=0;e<t.length;e++){a+=t[e][0];if(r<a){return t[e][1]}else if(t[e][0]>i){i=t[e][0];n=t[e]}}return n[1]}function pickFromProbabilityMapS(e){let t=JSON.parse(JSON.stringify(e));shuffleS(t);let a=0;let i=-1;let n=null;let r=randS(0,1,.01);for(let e=0;e<t.length;e++){a+=t[e].probability;if(r<a){return t[e]}else if(t[e].probability>i){i=t[e].probability;n=t[e]}}return n}function smallerRange(e,t){e=randFromRangeS(e);return[e[0]-t,e[0]+t,e[2]]}function overwriteAxis(){let e=randFromRangeS(hashOverwrites.axisAngle)[0];let t=randFromRangeS(hashOverwrites.axisAngle)[0];let i=shuffleS([[e-2,e+2,1],[e-2,e+2,1],[e-2,e+2,1],[t-2,t+2,1],[t-2,t+2,1],[t-2,t+2,1],[t-2,t+2,1]]);for(let a=0;a<Axis.length;a++){let e=Axis[a];let t=i.pop();e.name=`axis${a+1}`;e.axisAngle=t;e.originalAxisAngle=t;e.axisExtremeAngle=undefined;e.extremeAngleEnabledTimestamp=undefined;e.axisX=smallerRange(hashOverwrites.axisX,5);e.axisY=smallerRange(hashOverwrites.axisY,5);e.axisZ=smallerRange(hashOverwrites.axisZ,5)}}function populatePalette(){if(traitsPalette){SCENE.palette=palettes[traitsPalette[0]]}else{palettes=shuffleS(palettes);SCENE.palette=palettes.pop()}worldGradientColors=[[SCENE.palette.gradient[2],SCENE.palette.gradient[0]],[SCENE.palette.gradient[3],SCENE.palette.gradient[1]]];fogColor=pickS(SCENE.palette.colors.filter(e=>{return e!=SCENE.palette.gradient[0]&&e!=SCENE.palette.gradient[1]}))}function populateAxisExtraShapes(){let t=Object.keys(materialTemplates);let a=-1;for(shapeType in extraShapes){a++;shapeParams=extraShapes[shapeType];shapeParams.originalNumberOfShapes=shapeParams.numberOfShapes;shapeParams.numberOfShapes=randS(shapeParams.numberOfShapes[0],shapeParams.numberOfShapes[1]||shapeParams.numberOfShapes[0],1);shapeParams.material=pickFromProbabilityArrayS(shapeParams.material);if(traitsObjects){for(let e=0;e<traitsObjects.length;e+=3){if(traitsObjects[e]==a){shapeParams.axisToBeAddedTo=[pick(shapeParams.axis)];shapeParams.material=t[traitsObjects[e+1]]}}}else{for(let e=0;e<Axis.length;e++){shapeParams.axisToBeAddedTo=[pick(shapeParams.axis)]}}if(shapeParams.extraAxis&&shapeParams.extraAxis.length>0){if(!shapeParams.axisToBeAddedTo){shapeParams.axisToBeAddedTo=[pick(shapeParams.extraAxis)]}else{shapeParams.axisToBeAddedTo.push(pick(shapeParams.extraAxis))}}if(shapeParams.secondColor){let e=pickS(SCENE.palette.colors);if(Array.isArray(e)){e=e[0]}shapeParams.secondColor=e}}for(shapeType in extraShapes){if(shapeType=="knot"){shapeParams=extraShapes[shapeType];if(Array.isArray(shapeParams.material)){shapeParams.material=pickFromProbabilityArrayS(shapeParams.material)}}}for(let e=0;e<Axis.length;e++){Axis[e].extraShapes={};for(shapeType in extraShapes){shapeParams=JSON.parse(JSON.stringify(extraShapes[shapeType]));if(shapeParams.axisToBeAddedTo&&shapeParams.axisToBeAddedTo.indexOf(e+1)>-1){if(!traitsObjects&&randS(0,1,.01)<1-shapeParams.probability){continue}Axis[e].extraShapes[shapeType]=shapeParams}}}}function populateAbstractMaterials(){for(let u in materialTemplates){let t=materialTemplates[u];t={color:t[0],wireframe:t[2],shininess:t[1],enableTexture:t[3],textureColorVariant:pickS(t[4]),textureSize:t[13],textureNoiseSize:t[14],textureBase:t[11],textureMultiplier:t[12],textureBumpAmount:t[16],enableTextureBump:t[15],textureOffset:t[10],textureScale:t[8],textureRecolor:t[7],textureRotation:t[9],useTextureTransparency:t[6],textureBumpVariant:t[5]};let e=pickS2(SCENE.palette.colors);let a=e[0];let i=e[1];t.color=a;t.textureRecolor=i;let n=[undefined,undefined];let r=t.color;let o=false;if(typeof t.wireframe=="boolean"){o=t.wireframe}else{o=randS(0,1,.01)>1-t.wireframe}let s=t.shininess;let l=undefined;if(typeof t.enableTexture=="number"){t.enableTexture=randS(0,1,.001)>1-t.enableTexture}if(t.enableTexture){if(["simple","perlin3","simplex3"].indexOf(t.textureColorVariant)>=0){let e=makePerlinTexture(t.textureSize[0],t.textureSize[1],t.textureNoiseSize[0],t.textureNoiseSize[1],t.textureBase,t.textureMultiplier,true,t.textureBumpAmount,t.textureColorVariant);n[0]=e[0];if(t.enableTextureBump){n[1]=e[1]}}else if(t.textureColorVariant in base64Textures){let e=loadTextureRecolor(t.textureColorVariant,t.textureOffset[0],t.textureOffset[1],t.textureScale[0],t.textureScale[1],t.textureRecolor,r,t.textureRotation);if(t.useTextureTransparency){l=loadTextureRecolor(t.textureColorVariant,t.textureOffset[0],t.textureOffset[1],t.textureScale[0],t.textureScale[1],"#FFFFFF","#000000",t.textureRotation)}n[0]=e;if(t.enableTextureBump){if(t.textureColorVariant==t.textureBumpVariant){n[1]=e}else{let e=makePerlinTexture(t.textureSize[0],t.textureSize[1],t.textureNoiseSize[0],t.textureNoiseSize[1],t.textureBase,t.textureMultiplier,true,t.textureBumpAmount,t.textureColorVariant);n[1]=e[0]}}}}let c={type:"phong",color:r,side:THREE.DoubleSide,wireframe:o,shininess:s,map:n[0],bumpMap:n[1],alphaMap:l};let d=makeMaterial(c);d.userData.name=u;materialTemplates[u]=d}}function vertexIndexSequence(n){n-=1;let r=[];for(let i=0;i<n;i++){let e=i;let t=i+1;let a=n-i;if(t==a){t++}r=r.concat(e,t,a)}return r}function makeExtrudeShapeMesh(e,t,a,i){function n(t){let a=new THREE.Shape;for(let e=0;e<t.length;e++){if(e==0){a.moveTo(t[e][0],t[e][1])}else{a.lineTo(t[e][0],t[e][1])}}return a}let r=n(e);if(t.length>0){let e=n(t);r.holes.push(e)}let o=new THREE.ExtrudeGeometry(r,a);let s=new THREE.Mesh(o,i);return s}function makeFrame(e,t,a,i,n,r,o,s){let l=[[t,a],[t,-a],[-t,-a],[-t,a]];let c={steps:2,depth:n,bevelEnabled:false};let d=[];for(let a of l){let e=a[0]<0?a[0]+i:a[0]-i;let t=a[1]<0?a[1]+i:a[1]-i;d.push([e,t])}let u=makeExtrudeShapeMesh(l,d,c,e);if(o){u.position.set(o[0],o[1],o[2])}if(r){u.scale.set(r[0],r[1],r[2])}if(s){u.rotation.set(THREE.MathUtils.degToRad(s[0]),THREE.MathUtils.degToRad(s[1]),THREE.MathUtils.degToRad(s[2]))}return u}function makeRectangle(e,t,a,i,n,r,o){let s=[[t,a],[t,-a],[-t,-a],[-t,a]];let l={steps:2,depth:i,bevelEnabled:false};let c=makeExtrudeShapeMesh(s,[],l,e);if(r){c.position.set(r[0],r[1],r[2])}if(n){c.scale.set(n[0],n[1],n[2])}if(o){c.rotation.set(THREE.MathUtils.degToRad(o[0]),THREE.MathUtils.degToRad(o[1]),THREE.MathUtils.degToRad(o[2]))}return c}function makeArrow(e,t,a,i,n,r,o,s,l=0){if(l==0){var c=[[4.23,.1],[.65,8.65],[-3.48,-.71],[-.4,.84],[-.97,-6.59],[.73,-6.52],[1.02,1.08]]}else if(l==1){var c=[[-4-.13,0-1],[.65,8.65],[-3.48,-.71],[-.4,-.84],[-.07,-.09],[.73,-.52],[1.02,1.08]]}else if(l==2){var c=[[-4-.13,0-1],[.65,1.55,8.65,3.56,.22],[-3.48,-.71],[-.4,-.84],[-.07,-.09],[.73,-.52],[1.02,1.08]]}else if(l==3){var c=[[-14-.13,10-1],[.65,-1.55,8.65,-3.56,.22],[-13.48,10.71],[-20.4,-.84],[-.07,-.09],[2.73,-.52],[1.02,1.08]]}let d={steps:2,depth:t,bevelEnabled:true,bevelThickness:a,bevelSize:i,bevelOffset:0,bevelSegments:n};let u=makeExtrudeShapeMesh(c,[],d,e);if(o){u.position.set(o[0],o[1],o[2])}if(r){u.scale.set(r[0],r[1],r[2])}if(s){u.rotation.set(THREE.MathUtils.degToRad(s[0]),THREE.MathUtils.degToRad(s[1]),THREE.MathUtils.degToRad(s[2]))}return u}function makeKnot(e,t,a,i,n,r,o,s,l,c){const d=new THREE.TorusKnotGeometry(t,a,i,n,r,o);d.computeVertexNormals();const u=new THREE.Mesh(d,e);if(l){u.position.set(l[0],l[1],l[2])}if(s){u.scale.set(s[0],s[1],s[2])}if(c){u.rotation.set(THREE.MathUtils.degToRad(c[0]),THREE.MathUtils.degToRad(c[1]),THREE.MathUtils.degToRad(c[2]))}return u}function makeMaterial(e={type:undefined,color:undefined,side:undefined,wireframe:undefined,shininess:undefined,map:undefined,bumpMap:undefined,alphaMap:undefined}){let t={color:e.color?e.color:"#FFFFFF",side:e.side,wireframe:e.wireframe,shininess:e.shininess};if(e.map){t.map=e.map;if(e.alphaMap){t.alphaMap=e.alphaMap;t.alphaTest=.8;t.premultipliedAlpha=true}}if(e.bumpMap){t.bumpMap=e.bumpMap}let a=new THREE.MeshPhongMaterial(t);a.userData.used=false;return a}function loadTextureRecolor(e,t,a,i,n,r=undefined,o=undefined,s=undefined){var l=document.createElement("canvas");l.width=128;l.height=128;var c=l.getContext("2d");var d=new THREE.Texture(l);var u=new Image;u.src=`data:image/png;base64,${base64Textures[e]}`;u.onload=function(){c.globalCompositeOperation="copy";c.drawImage(u,0,0,l.width,l.height);if(r){c.globalCompositeOperation="source-in";c.fillStyle=r;c.fillRect(0,0,l.width,l.height)}c.globalCompositeOperation="destination-atop";c.fillStyle=o;c.fillRect(0,0,l.width,l.height);d.wrapS=THREE.RepeatWrapping;d.wrapT=THREE.RepeatWrapping;if(t&&a){d.offset.set(t,a)}if(i&&n){d.repeat.set(i,n)}if(s){d.rotation=THREE.MathUtils.degToRad(s)}d.needsUpdate=true};return d}function generateHeight(t,e){let a=Math.PI/4;window.Math.random=function(){const e=Math.sin(a++)*1e4;return e-Math.floor(e)};const i=t*e,n=new Uint8Array(i);const r=new THREE.ImprovedNoise,o=Math.random()*100;let s=1;for(let e=0;e<4;e++){for(let e=0;e<i;e++){const l=e%t,c=~~(e/t);n[e]+=Math.abs(r.noise(l/s,c/s,o)*s*1.75)}s*=5}return n}function makeTerrain(e,t,i,n,a,r,o,s=0,l,c){const d=t,u=i;if(s==0){const h=generateHeight(d,u);var p=new THREE.PlaneGeometry(t,i,d-1,u-1);const E=p.attributes.position.array;p.rotateX(-Math.PI/2);for(let e=0,t=0,a=E.length;e<a;e++,t+=3){E[t+1]=h[e]*n}}else if(s==1){var p=new THREE.BoxGeometry(t,i,c,d-1,u-1,1);p.rotateX(-Math.PI/2);const E=p.attributes.position.array;let a={};for(let t=0;t<E.length-3;t++){let e=`${E[t]}_${E[t+1]}_${E[t+2]}`;if(a[e]){a[e].push(t)}else{a[e]=[t]}}let n=[];for(let e of Object.keys(a)){if(a[e].length>1){n.push(a[e])}}for(let e=0,i=0,t=E.length;e<t;e++,i+=3){let e=false;let a=randFromRange(l);for(let t=0;t<n.length;t++){if(n[t]&&n[t].indexOf(i)>-1){for(let e of n[t]){E[e+1]+=a}e=true}}if(!e){E[i+1]+=randFromRange(l)}}}let f=new THREE.Mesh(p,e);let m=n*100;if(r){f.position.set(r[0]-d/10,r[1]-m,r[2])}if(a){f.scale.set(a[0],a[1],a[2])}if(o){f.rotation.set(THREE.MathUtils.degToRad(o[0]),THREE.MathUtils.degToRad(o[1]),THREE.MathUtils.degToRad(o[2]))}return f}function makeCloud(t,a,i,n,r,o,e,s,l){let c=new THREE.Group;const d=new THREE.SphereGeometry(1,16,16);for(let e=0;e<r;e++){const u=new THREE.Mesh(d,t);const p=Math.random()*a;const f=Math.random()*i;const m=Math.random()*n;u.position.set(p,f,m);let e=randFromRange(o);u.scale.set(e,e,e);c.add(u)}if(s){c.position.set(s[0],s[1],s[2])}if(e){c.scale.set(e[0],e[1],e[2])}if(l){c.rotation.set(THREE.MathUtils.degToRad(l[0]),THREE.MathUtils.degToRad(l[1]),THREE.MathUtils.degToRad(l[2]))}return c}function makeAnimationForQueue(e,t,a,i,n,r=.3){n=n<0?n*-1:n;let o={attribute:e,from:t,current:t,to:a,"final":i,speed:n,counter:0,curve:r};if(e=="color"){t=typeof t==="string"?t:"#"+t.getHex().toString(16);a=Array.isArray(a)?a:[a];o.colorInterpolator=new ColorInterpolator([t].concat(a),n)}return o}function processAnimationQueue(t){if(t.userData.animationQueue==undefined||t.userData.animationQueue.length==0){return}if(t.isCamera){if(t.position.z<25||t.position.z>155){t.userData.animationQueue.splice(0,1);return}}if(!t.userData.animationQueue[0].direction){if(Array.isArray(t.userData.animationQueue[0].from)){t.userData.animationQueue[0].direction=[];for(let e=0;e<t.userData.animationQueue[0].from.length;e++){t.userData.animationQueue[0].direction.push(t.userData.animationQueue[0].from[e]>t.userData.animationQueue[0].to[e]?-1:1)}}else{t.userData.animationQueue[0].direction=t.userData.animationQueue[0].from>t.userData.animationQueue[0].to?-1:1}}let a=t.userData.animationQueue[0];if(a.counter>1e4){t.userData.animationQueue.splice(0,1);return}else{a.counter++}if(a.attribute=="color"){if(t.color){let e=new THREE.Color(a.colorInterpolator.nextColor());t.color=e;if(a.colorInterpolator.looped){t.userData.animationQueue.splice(0,1);return}}else{}return}if(Array.isArray(a.from)){for(let e=0;e<a.from.length;e++){if(a.direction[e]==-1&&a.current[e]<=a.to[e]||a.direction[e]==1&&a.current[e]>=a.to[e]){t.userData.animationQueue.splice(0,1);return}if(a.from[e]>a.to[e]){a.current[e]-=a.speed}else{a.current[e]+=a.speed}}}else{if(a.attribute=="scale"){a.current=Math.max(t.scale.x,t.scale.y,t.scale.z)}else if(a.attribute=="rotationSpeed"){a.current=t.userData.rotationSpeed}else if(a.attribute=="distance"){a.current=t.position.x}else if(a.attribute=="x"){a.current=t.position.x}else if(a.attribute=="y"){a.current=t.position.y}else if(a.attribute=="z"){a.current=t.position.z}else if(a.attribute=="near-far"){a.current[0]=t.near;a.current[1]=t.far}else if(a.attribute=="angleX"){a.current=t.rotation.x}else if(a.attribute=="angleY"){a.current=t.rotation.y}else if(a.attribute=="angleZ"){a.current=t.rotation.z}if(a.direction==-1&&a.current<=a.to||a.direction==1&&a.current>=a.to){t.userData.animationQueue.splice(0,1);return}if(a.from>=a.to){a.current-=a.speed}else{a.current+=a.speed}}if(t.userData.name=="camera"){a.current=Number(a.current.toFixed(5))}if(a.attribute=="scale"){if(Array.isArray(a.from)){t.scale.set(a.current[0],a.current[1],a.current[2])}else{t.scale.set(a.current,a.current,a.current)}if(Array.isArray(t.material)){for(let e=0;e<t.material.length;e++){if(t.material[e].map){t.material[e].map.needsUpdate=true}}}else{if(t.material&&t.material.map){t.material.map.needsUpdate=true}}}else if(a.attribute=="rotationSpeed"){t.userData.rotationSpeed=a.current}else if(a.attribute=="distance"){t.position.x=a.current}else if(a.attribute=="x"){t.position.x=a.current}else if(a.attribute=="y"){t.position.y=a.current}else if(a.attribute=="z"){t.position.z=a.current}else if(a.attribute=="near-far"){t.near=a.current[0];t.far=a.current[1]}else if(a.attribute=="angleX"){t.rotation.x=a.current}else if(a.attribute=="angleY"){t.rotation.y=a.current}else if(a.attribute=="angleZ"){t.rotation.z=a.current}}function processAnimationLoop(a){if(a.userData.animationLoop.length==0){return}for(let t of a.userData.animationLoop){if(t.attribute=="color"){if(a.color){let e=new THREE.Color(t.colorInterpolator.nextColor());a.color=e;if(t.colorInterpolator.looped){a.userData.animationQueue.splice(0,1);return}}else{}return}if(t.attribute=="scale"){t.current=Math.max(a.scale.x,a.scale.y,a.scale.z)}else if(t.attribute=="rotationSpeed"){t.current=a.userData.rotationSpeed}else if(t.attribute=="distance"){t.current=a.position.x}else if(t.attribute=="x"){t.current=a.position.x}else if(t.attribute=="y"){t.current=a.position.y}else if(t.attribute=="z"){t.current=a.position.z}else if(t.attribute=="near-far"){t.current[0]=a.near;t.current[1]=a.far}else if(t.attribute=="angleX"){t.current=a.rotation.x}else if(t.attribute=="angleY"){t.current=a.rotation.y}else if(t.attribute=="angleZ"){t.current=a.rotation.z}if(t.from>=t.to){t.current-=t.speed}else{t.current+=t.speed}if(t.attribute=="scale"){a.scale.set(t.current,t.current,t.current);if(Array.isArray(a.material)){for(let e=0;e<a.material.length;e++){if(a.material[e].map){a.material[e].map.needsUpdate=true}}}else{if(a.material.map){a.material.map.needsUpdate=true}}}else if(t.attribute=="rotationSpeed"){a.userData.rotationSpeed=t.current}else if(t.attribute=="distance"){a.position.x=t.current}else if(t.attribute=="x"){a.position.x=t.current}else if(t.attribute=="y"){a.position.y=t.current}else if(t.attribute=="z"){a.position.z=t.current}else if(t.attribute=="near-far"){a.near=t.current[0];a.far=t.current[1]}else if(t.attribute=="angleX"){a.rotation.x=t.current}else if(t.attribute=="angleY"){a.rotation.y=t.current}else if(t.attribute=="angleZ"){a.rotation.z=t.current}}}function interpolateColors(e,t,i){const a=e=>[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)];const n=e=>"#"+e.map(e=>Math.round(e).toString(16).padStart(2,"0")).join("");const r=a(e);const o=a(t);const s=r.map((e,t)=>{const a=o[t];return Math.round(e+(a-e)*i)});return n(s)}class ColorInterpolator{constructor(e,t){this.colorsArray=e;this.activePairIndex=[0,1];this.speed=t;this.state=0;this.looped=false}nextColor(){let e=interpolateColors(this.colorsArray[this.activePairIndex[0]],this.colorsArray[this.activePairIndex[1]],this.state);this.state+=this.speed;if(this.state>=1){this.state=0;if(this.activePairIndex[1]>=this.colorsArray.length){this.activePairIndex=this.activePairIndex.map(e=>e+1)}else{this.activePairIndex=[0,1];this.looped=true}}return e}}function createConeGeometry(e,t,o,s,l,a){if(!l){l={}}const i=new THREE.BufferGeometry;let c=[];let n=[];const d=0;const u=e;for(let r=0;r<=s;r++){const E=r/s*t;const g=u+E/t*(d-u);for(let n=0;n<=o;n++){let t=E;let e=n/o*Math.PI*2;let a=g*Math.cos(e);let i=g*Math.sin(e);if(l.curveBaseCone){let e=(s-r)*l.baseCurveFactor;t-=Math.abs(Math.pow(a,2))*e}c.push(a,t,i)}}for(let t=0;t<s;t++){for(let e=0;e<o;e++){const S=t*(o+1)+e;const T=S+o+1;if(e==0){var r=S;var p=T}if(e<o-1){n.push(S,T,S+1);n.push(T,T+1,S+1)}else{n.push(S,T,r);n.push(T,p,r)}}}let f=0;let m=100;let h=0;for(let e=2;e<o*3;e+=3){h++;if(c[e]<f){f=h;m=c[e]}}c.indexOf(Math.min(c.slice(0,o)));if(!a){c=c.slice(0,o*3).concat(c);n=n.map(e=>e+o);let t=Math.abs(o/2);if(l.curveBaseCone){n=n.concat(vertexIndexSequence(o))}else{for(let e=0;e<t;e+=1){n.push(e,e+1,t);n.push(e+t,e+t+1,t)}}}i.setAttribute('position',new THREE.Float32BufferAttribu
jb_mass_main2("scale",[e.scale.x,e.scale.y,e.scale.z],[t,t,t],[t,t,t],a,i);if(e.userData.animationQueue==undefined){e.userData.animationQueue=[]}e.userData.animationQueue.push(n)}function addNewShape(e,t,a,i,n=false){for(ax of Axis){shapeParams=extraShapes[a];if(ax.name==e){if(n){let t=false;for(let e of ax.pivots){if(e.userData.name.slice(0,a.length)==a){t=true;break}}if(!t){continue}}if(shapeParams.cone){addConeToAxis(ax,t,shapeParams,i,a);return}else{if(a.includes("terrain")){i*=terrainsAppearAndDisappearMultiplier}if(a.includes("knot")){i*=knotsAppearAndDisappearMultiplier}addExtraShapeToAxis(ax,t,a,shapeParams,i)}}}}function rotateAxis(t,a,i,n,r=1,o=.1){for(let e of Axis){if(e.name==t){if(e.mainPivot.userData.animationQueue==undefined){e.mainPivot.userData.animationQueue=[]}if(a!==undefined){a=THREE.MathUtils.degToRad(a);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("angleX",e.mainPivot.rotation.x,a,a,r,o))}if(i!==undefined){i=THREE.MathUtils.degToRad(i);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("angleY",e.mainPivot.rotation.y,i,i,r,o))}if(n!==undefined){n=THREE.MathUtils.degToRad(n);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("angleZ",e.mainPivot.rotation.z,n,n,r,o))}}}}function moveAxis(t,a,i,n,r=1,o=.1){for(let e of Axis){if(e.name==t){if(e.mainPivot.userData.animationQueue==undefined){e.mainPivot.userData.animationQueue=[]}if(a!==undefined){a=THREE.MathUtils.degToRad(a);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("x",e.mainPivot.position.x,a,a,r,o))}if(i!==undefined){i=THREE.MathUtils.degToRad(i);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("y",e.mainPivot.position.y,i,i,r,.1))}if(n!==undefined){n=THREE.MathUtils.degToRad(n);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("z",e.mainPivot.position.z,n,n,r,.1))}}}}function getObjectVertexXYZ(e,a,i){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==a){for(child of e.children){let e=child.geometry.getAttribute('position');if(i==undefined){i=rand(0,e.count,1)}let t=new THREE.Vector3(e.getX(i),e.getY(i),e.getZ(i));t.applyMatrix4(child.matrixWorld);return t}}}}}}function addRotationLoop(a,e,n,r){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==a){for(let i of e.children){if(i.userData.name==a){let e;let t;if(n=="X"){e="angleX";t=i.rotation.x}else if(n=="Y"){e="angleY";t=i.rotation.y}else if(n=="Z"){e="angleZ";t=i.rotation.z}let a=makeAnimationForQueue(e,t,t+1,t+1,r,undefined);if(i.userData.animationLoop===undefined){i.userData.animationLoop=[]}i.userData.animationLoop.push(a)}}}}}}}function removeRotationLoop(i,e,n){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==i){for(let a of e.children){if(a.userData.name==i){if(a.userData.animationLoop){let t;if(n=="X"){t="angleX"}else if(n=="Y"){t="angleY"}else if(n=="Z"){t="angleZ"}for(let e=0;e<a.userData.animationLoop.length;e++){if(a.userData.animationLoop[e].attribute==t){a.userData.animationLoop.splice(e,1);return}}}}}}}}}}async function walletActivityUpdates(e){try{return await getLastBlockReceipts(e)}catch(t){}}function disableAxis(t,a=.01){t.enabled=false;for(let e of t.pivots){if(!e.userData.originalScale){e.userData.originalScale=e.scale.x}updateObjectScale2(e,0,a)}}function enableAxis(e,a=.01){e.enabled=true;for(let t of e.pivots){t.scale.set(0,0,0);updateObjectScale2(t,t.userData.originalScale,a);for(let e of t.children){e.visible=true}}}function axisHasAnimatingPivots(t){for(let e of t.pivots){if(e.userData.animationQueue&&e.userData.animationQueue.length>0){return true}}return false}function setAxisInvisibleAndDisabled(e){e.enabled=false;for(let t of e.pivots){t.userData.originalScale=t.scale.x;t.scale.set(0,0,0);for(let e of t.children){e.visible=false}}}function disappearPivot(e,t=.01,a=false,i=undefined,n=undefined){e.userData.disabled=true;if(a){e.userData.toBeRemovedAfterShrink=true}if(!e.children[0].userData.originalScale){e.children[0].userData.originalScale=JSON.parse(JSON.stringify(e.children[0].scale))}if(e.userData.name.includes("terrain")){t*=terrainsAppearAndDisappearMultiplier}if(e.userData.name.includes("knot")){t*=knotsAppearAndDisappearMultiplier}if(i){e.userData.delayedDisappear=true;setTimeout(()=>{e.userData.shrinkDown=t;e.userData.delayedDisappear=false;e.userData.disappearCallback=n},rand(i[0],i[1],1))}else{e.userData.shrinkDown=t;e.userData.disappearCallback=n}}function disappearObjects(i,n=.01,r=false,o=undefined,s=undefined,l=undefined){let c=0;for(let e=0;e<500;e++){let e=Axis[rand(0,Axis.length-1,1)];if(!e.enabled||!e.pivots||e.pivots.length==0){continue}let t=rand(0,e.pivots.length-1,1);let a=e.pivots[t];if(a.userData.shrinkDown||a.userData.growUp){if(o!="E"){continue}}if(s&&a.userData.shapeType!=s){continue}if(o&&a.userData.name.slice(0,o.length)!=o){continue}if(a.userData.disabled){if(o!="E"&&!r){continue}}if(a.userData.delayedDisappear||a.userData.delayedAppear){continue}disappearPivot(a,n,r,l);c++;if(c>=i){return c}}return c}function disappearObjectsByType(e,t=.01,a=false,i=undefined,n=undefined,r=undefined){let o=0;for(ax of Axis){for(pivot of ax.pivots){if(n&&pivot.userData.shapeType!=n){continue}if(i&&pivot.userData.name.slice(0,i.length)!=i){continue}pivot.userData.growUp=undefined;disappearPivot(pivot,t,a,r);o++;if(e){if(o>=e){return o}}}}return o}function appearObjects(a,i=.01,e=.3,n=undefined){let r=0;for(let e=0;e<500;e++){let e=Axis[rand(0,Axis.length-1,1)];if(!e.enabled||!e.pivots||e.pivots.length==0){continue}let t=e.pivots[rand(0,e.pivots.length-1,1)];if(t.userData.shrinkDown||t.userData.growUp){continue}if(t.userData.delayedDisappear||t.userData.delayedAppear){continue}if(!t.userData.disabled){continue}t.userData.disabled=false;if(t.userData.name.includes("terrain")){i*=terrainsAppearAndDisappearMultiplier}if(t.userData.name.includes("knot")){i*=knotsAppearAndDisappearMultiplier}if(n){t.userData.delayedAppear=true;setTimeout(()=>{t.userData.growUp=i;t.userData.delayedAppear=false},rand(n[0],n[1],1))}else{t.userData.growUp=i}r++;if(r>=a){break}continue}return r}function pickAxis(t,a=[],i=false,n=false){for(let e=0;e<100;e++){let e=rand(0,Axis.length-1,1);if(!Axis[e].pivots||Axis[e].pivots.length==0){continue}if(n&&Axis[e].extraShapes.size==0){continue}if(a.indexOf(e)!=-1||i&&Axis[e].extremeAngle){continue}if(Axis[e].enabled==t){return Axis[e]}}}function getLoopingObjects(){let a=[];for(let t of Axis){if(t.enabled){for(let e of t.pivots){if(e.children[0].userData.animationLoop||e.userData.animationLoop){a.push([t.name,e])}}}}return a}function getNotLoopingObjects(){let a=[];for(let t of Axis){if(t.enabled){for(let e of t.pivots){if(!e.children[0].animationLoop){a.push([t.name,e])}}}}return a}function animateFog(){if(SCENE.scene.fog.userData){if(SCENE.scene.fog.userData.nearTo){if(SCENE.scene.fog.near<SCENE.scene.fog.userData.nearTo){SCENE.scene.fog.near+=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.near=parseFloat(SCENE.scene.fog.near.toFixed(5))}else if(SCENE.scene.fog.near>SCENE.scene.fog.userData.nearTo){SCENE.scene.fog.near-=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.near=parseFloat(SCENE.scene.fog.near.toFixed(5))}else{SCENE.scene.fog.userData.nearTo=undefined}}if(SCENE.scene.fog.userData.farTo){if(SCENE.scene.fog.far<SCENE.scene.fog.userData.farTo){SCENE.scene.fog.far+=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.far=parseFloat(SCENE.scene.fog.far.toFixed(5))}else if(SCENE.scene.fog.far>SCENE.scene.fog.userData.farTo){SCENE.scene.fog.far-=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.far=parseFloat(SCENE.scene.fog.far.toFixed(5))}else{SCENE.scene.fog.userData.farTo=undefined}}if(SCENE.scene.fog.near>SCENE.scene.fog.far){SCENE.scene.fog.far=SCENE.scene.fog.near+1}else if(SCENE.scene.fog.far-SCENE.scene.fog.near<1){SCENE.scene.fog.far=SCENE.scene.fog.near+1}}}function getNShapesWithTypes(){let t=Object.keys(extraShapes);let a={};for(let e of t){a[e]=0}for(let e of Axis){if(e.enabled){for(pivot of e.pivots){if(!pivot.userData.disabled){for(let e of t){if(pivot.userData.shapeType==e){if(a[e]){a[e]++}else{a[e]=1}}}}}}}return a}function pickAxisForShape(t){let a=[];for(let e=0;e<Axis.length;e++){if(Axis[e].enabled&&extraShapes[t].axis.indexOf(e+1)>-1){a.push(e)}}if(a.length>0){return Axis[pick(a)]}}function pivotNotAnimating(e){for(child of e.children){if(child.userData.animationQueue&&child.userData.animationQueue.length>0){return false}}return e.userData.animationQueue&&e.userData.animationQueue.length==0}function pivotIsAppearingOrDisappearing(e){return Boolean(e.userData.shrinkDown||e.userData.growUp||e.userData.delayedDisappear||e.userData.delayedAppear)}function processUpdateTimers(){let t=getCurrentTs();for(let e=0;e<Axis.length;e++){ax=Axis[e];if(e==5||e==6){if(ax.enabled&&ax.TS_ENABLED&&t>ax.TS_ENABLED){disableAxis(ax,dynamicUpdateAnimationSpeeds.axisAppearAndDisappear.speed);ax.TS_ENABLED=undefined}}if(ax.TS_ROTATED&&t>ax.TS_ROTATED){rotateAxis(ax.name,undefined,undefined,ax.originalAngle,dynamicUpdateAnimationSpeeds.axisAngle.speed,dynamicUpdateAnimationSpeeds.axisAngle.curve);ax.TS_ROTATED=undefined}if(ax.TS_ROTATED_EXTREME&&t>ax.TS_ROTATED_EXTREME){rotateAxis(ax.name,undefined,undefined,ax.originalAngle,dynamicUpdateAnimationSpeeds.axisExtremeAngle.speed,dynamicUpdateAnimationSpeeds.axisExtremeAngle.curve);ax.TS_ROTATED_EXTREME=undefined}if(ax.TS_POSITION&&t>ax.TS_POSITION){moveAxis(ax.name,ax.originalPosition[0],ax.originalPosition[1],ax.originalPosition[2],dynamicUpdateAnimationSpeeds.axisPosition.speed,dynamicUpdateAnimationSpeeds.axisPosition.curve);ax.TS_POSITION=undefined}if(ax.TS_NEGATIVESPACE&&t>ax.TS_NEGATIVESPACE){try{removeNegativeSpace(ax);ax.TS_NEGATIVESPACE=undefined}catch(a){}}if(ax.TS_NUMBEROFKNOTS&&t>ax.TS_NUMBEROFKNOTS){let e=0;for(p of ax.pivots){if(p.userData.shapeType=="knot"){e++}}let t=e-ax.originalNumberOfKnots;if(t>0){disappearObjectsByType(300,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,"E","knot")}ax.TS_NUMBEROFKNOTS=undefined}for(let e of ax.pivots){if(e.userData.TS_SPINNING&&t>e.userData.TS_SPINNING){removeRotationLoop(e.userData.name,ax.name,e.userData.spinningAxis);e.userData.TS_SPINNING=undefined}if(ax.TS_KNOTSPQ&&t>ax.TS_KNOTSPQ&&e.userData.name[0]=="E"){extraShapes.knot.p=extraShapes.knot.originalP;extraShapes.knot.q=extraShapes.knot.originalQ;disappearPivot(e,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,()=>{addNewShape(ax.name,`knot_1`,"knot",dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed)});setTimeout(e=>{e.TS_KNOTSPQ=undefined},1e3,ax)}if(e.userData.TS_ROTATIONDIRECTION&&t>e.userData.TS_ROTATIONDIRECTION){switchObjectRotationDirection(e.userData.name,ax.name,dynamicUpdateAnimationSpeeds.axisRotationDirection.speed,dynamicUpdateAnimationSpeeds.axisRotationDirection.curve);e.userData.TS_ROTATIONDIRECTION=undefined}}if(ax.TS_EXTRAOBJECTCLASS&&t>ax.TS_EXTRAOBJECTCLASS){for(pivot of ax.pivots){if(pivot.userData.name.includes("update17")){disappearPivot(pivot,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true)}}ax.TS_EXTRAOBJECTCLASS=undefined}}if(SCENE.camera.userData.TS_POSITION&&t>SCENE.camera.userData.TS_POSITION){updateCameraPosition(undefined,undefined,SCENE.camera.userData.originalPositionZ,dynamicUpdateAnimationSpeeds.cameraPosition.speed,dynamicUpdateAnimationSpeeds.cameraPosition.curve);SCENE.camera.userData.TS_POSITION=undefined}if(SCENE.scene.fog.userData.TS_ENABLED&&t>SCENE.scene.fog.userData.TS_ENABLED){if(SCENE.scene.fog.userData.nearTo){}else{SCENE.scene.fog.userData={nearTo:100,farTo:100};SCENE.scene.fog.enabled=false;SCENE.scene.fog.userData.TS_ENABLED=undefined}}}function updateScene(){try{if(document.hidden){return}}catch(c){}addOrRemoveAxisUpdateTimeout=getValueByBlockNumber(addOrRemoveAxisUpdateTimeoutRanges,SCENE.nBlocks);axisAngleUpdateTimeout=getValueByBlockNumber(axisAngleUpdateTimeoutRanges,SCENE.nBlocks);axisExtremeAngleUpdateTimeout=getValueByBlockNumber(axisExtremeAngleUpdateTimeoutRanges,SCENE.nBlocks);axisPositionUpdateTimeout=getValueByBlockNumber(axisPositionUpdateTimeoutRanges,SCENE.nBlocks);objectSpinningUpdateTimeout=getValueByBlockNumber(objectSpinningUpdateTimeoutRanges,SCENE.nBlocks);cameraPositionUpdateTimeout=getValueByBlockNumber(cameraPositionUpdateTimeoutRanges,SCENE.nBlocks);fogUpdateTimeout=getValueByBlockNumber(fogUpdateTimeoutRanges,SCENE.nBlocks);axisRotationDirectionUpdateTimeout=getValueByBlockNumber(axisRotationDirectionUpdateTimeoutRanges,SCENE.nBlocks);objectClassUpdateTimeout=getValueByBlockNumber(objectClassUpdateTimeoutRanges,SCENE.nBlocks);negativeSpaceUpdateTimeout=getValueByBlockNumber(negativeSpaceUpdateTimeoutRanges,SCENE.nBlocks);numberOfKnotsUpdateTimeout=getValueByBlockNumber(numberOfKnotsUpdateTimeoutRanges,SCENE.nBlocks);knotsPQUpdateTimeout=getValueByBlockNumber(knotsPQUpdateTimeoutRanges,SCENE.nBlocks);try{processUpdateTimers()}catch(c){}for(let t of Axis){for(let e of t.pivots){if(e.userData.toBeRemoved&&!(e.userData.growUp||e.userData.shrinkDown)){SCENE.scene.remove(e);e.userData.alreadyRemoved=true}}t.pivots=t.pivots.filter(e=>!e.userData.alreadyRemoved)}let l="";if(l){}var e=SCENE.data.contract.tiers.royalty_received_tier;var t=SCENE.data.contract.tiers.contract_activity_tier;var a=SCENE.data.contract.tiers.sends_tier;var i=SCENE.data.contract.tiers.approvals_tier;l="";let n=shuffle([1,2,3,4,8,9,10,11,14,16,17]);let r=[];let o=true;if(SCENE.data.memory){if(!SCENE.data.memoryPossibleUpdatesRandom){SCENE.data.memoryPossibleUpdatesRandom=n}for(let t=0;t<SCENE.data.memory;t++){SCENE.data.memory--;let e=SCENE.data.memoryPossibleUpdatesRandom.pop();r.push(e);if(t>=1){break}}}else{if(SCENE.data.wallets&&n.length>0){r.push(n.pop());SCENE.data.wallets=undefined;o=false}}if(o==true){if(SCENE.invertedRandomUpdate==true){let e=n.pop();r.push(e);SCENE.invertedRandomUpdate=false}}if(e.changed){r.push(5)}if(t.changed){r.push(13)}if(a.changed){r.push(6)}if(i.changed){r.push(7)}if(r.length==0){r.push(0)}if(r.indexOf(0)!=-1){let a=0;let i=0;for(let t of Axis){for(let e of t.pivots){if(e.userData.disabled){i++}else{a++}}}let e=rand(10,20,1);let t=rand(1,10,1);try{if(a/i<4){t=0}}catch{t=0}l+=`nObjectsToAppear: ${e} nObjectsToDisappear: ${t}`;let n=0;let r=0;n=appearObjects(e,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed);if(t){r=disappearObjects(t,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed)}l+=`Appeared objects:${n} Dissapeared objects:${r} (${a},${i})\n`}if(r.indexOf(1)!=-1){let e=Axis[pick([5,6])];if(e.enabled){disableAxis(e,dynamicUpdateAnimationSpeeds.axisAppearAndDisappear.speed);l+=`Disabled axis:${e.name}\n`}else{enableAxis(e,dynamicUpdateAnimationSpeeds.axisAppearAndDisappear.speed);l+=`Enabled axis:${e.name}\n`;e.TS_ENABLED=getCurrentTs()+addOrRemoveAxisUpdateTimeout}}if(r.indexOf(2)!=-1){let e=pickAxis(true,[],true);if(e==undefined){return}let t=randFromRange(hashOverwrites.axisAngle);let a=THREE.MathUtils.radToDeg(e.mainPivot.rotation.z);if(!e.originalAngle){e.originalAngle=a}rotateAxis(e.name,undefined,undefined,t,dynamicUpdateAnimationSpeeds.axisAngle.speed,dynamicUpdateAnimationSpeeds.axisAngle.curve);l+=`Changed ${e.name} angle from ${a} to ${t}\n`;e.TS_ROTATED=getCurrentTs()+axisAngleUpdateTimeout}if(r.indexOf(3)!=-1){let e=pickAxis(true,[],true);if(e==undefined){return}let t=THREE.MathUtils.radToDeg(e.centralRodRotation[2]);let a=rand(0,1,.001)>.5?rand(-90,-30,1):rand(30,90,1);let i=THREE.MathUtils.radToDeg(e.mainPivot.rotation.z);if(e.originalAngle==undefined){e.originalAngle=i}e.extremeAngle=a;e.axisAngle=[a,a,1];e.extremeAngleEnabledTimestamp=getCurrentTs();rotateAxis(e.name,undefined,undefined,a,dynamicUpdateAnimationSpeeds.axisExtremeAngle.speed,dynamicUpdateAnimationSpeeds.axisExtremeAngle.curve);l+=`Changed ${e.name} extreme angle from ${t} to ${a}\n`;e.TS_ROTATED_EXTREME=getCurrentTs()+axisExtremeAngleUpdateTimeout}if(r.indexOf(4)!=-1){let e=pickAxis(true,[],false);let t=`${e.centraRodPosition[0]} ${e.centraRodPosition[1]} ${e.centraRodPosition[2]}`;if(!e.originalPosition){e.originalPosition=JSON.parse(JSON.stringify(e.centraRodPosition))}let a=undefined;let i=undefined;let n=undefined;let r=rand(0,2,1);if(r==0){a=randFromRange(hashOverwrites.axisX)}else if(r==1){i=randFromRange(hashOverwrites.axisY)}else{n=randFromRange(hashOverwrites.axisZ)}let o=`${a/20} ${i/20} ${n/20}`;moveAxis(e.name,a,i,n,dynamicUpdateAnimationSpeeds.axisPosition.speed,dynamicUpdateAnimationSpeeds.axisPosition.curve);l+=`Changed ${e.name} position from ${t} to ${o}\n`;e.TS_POSITION=getCurrentTs()+axisPositionUpdateTimeout}if(r.indexOf(5)!=-1){let a=tierToValue(tiersStructure.royalty,e.value);let i=pickAxis(true,[],false);for(let t of i.pivots){let e=t.userData.originalRotationSpeed*a;updateObjectRotationSpeed(t.userData.name,i.name,e,dynamicUpdateAnimationSpeeds.objectRotationSpeed.speed,dynamicUpdateAnimationSpeeds.objectRotationSpeed.curve);l+=`Changed ${i.name} ${t.userData.name} rotation speed from ${t.userData.originalRotationSpeed} to ${e}\n`}}if(r.indexOf(6)!=-1){let i=tierToValue(tiersStructure.sends,a.value);for(ax of Axis){if(ax.enabled){for(let a of ax.pivots){let e=a.userData.originalPosition[0];let t=e*i;updateObjectDistanceFromAxis(a.userData.name,ax.name,t,dynamicUpdateAnimationSpeeds.objectPosition.speed,dynamicUpdateAnimationSpeeds.objectPosition.curve);l+=`Changed ${ax.name} ${a.userData.name} distance from axis from ${e} to ${t}\n`}}}}if(r.indexOf(7)!=-1){let e=tierToValue(tiersStructure.approvals,i.value);if(!SCENE.worldPlane.userData.originalScaleX){SCENE.worldPlane.userData.originalScaleX=SCENE.worldPlane.scale.x}let t=SCENE.worldPlane.userData.originalScaleX*e;updateBackgroundGradientScale(t,dynamicUpdateAnimationSpeeds.gradientScale.speed,dynamicUpdateAnimationSpeeds.gradientScale.curve);l+=`Changed gradient scale from ${SCENE.worldPlane.scale.x} to ${t}\n`}if(r.indexOf(8)!=-1){let r=getLoopingObjects().length;let t=getNotLoopingObjects();shuffle(t);let o=randFromRange(spinningObjectsRange);l+=`N spinning objects: ${r} Desired N spinning objects: ${o}\n`;let s=false;for(let e=0;e<500;e++){for(let n of t){let e=n[0];let t=n[1];if(t.userData.name.includes("terrain")){continue}let a=randFromRange(dynamicUpdateAnimationSpeeds.objectRotationSpeed2.speed);let i="Y";if(t.userData.name.includes("cone")){i="Z";a*=conesSpinningSpeedMultiplier}else if(t.userData.name.includes("knot")){a*=knotsSpinningSpeedMultiplier}if(t.children[0].userData.animationLoop==undefined||t.children[0].userData.animationLoop.length==0){addRotationLoop(t.userData.name,e,i,a);l+=`Adding rotation loop to ${e} ${t.userData.name} speed: ${a}\n`;t.userData.spinningAxis=i;t.userData.TS_SPINNING=getCurrentTs()+objectSpinningUpdateTimeout;r++;if(r>=o){s=true;break}break}}if(s){break}}}if(r.indexOf(9)!=-1){if(SCENE.camera.userData.animationQueue&&SCENE.camera.userData.animationQueue.length>0){}else{if(!SCENE.camera.userData.originalPositionZ){SCENE.camera.userData.originalPositionZ=SCENE.camera.position.z}SCENE.camera.userData.positionUpdateTimestamp=getCurrentTs();let e=rand(30,cameraZ-5,1);if(rand(0,1,.01)>.5){e=rand(cameraZ+5,150,1)}updateCameraPosition(undefined,undefined,e,dynamicUpdateAnimationSpeeds.cameraPosition.speed,dynamicUpdateAnimationSpeeds.cameraPosition.curve);l+=`Changed camera position to ${e}\n`;SCENE.camera.userData.TS_POSITION=getCurrentTs()+cameraPositionUpdateTimeout}}if(r.indexOf(10)!=-1){if(!SCENE.scene.fog.enabled){if(SCENE.scene.fog.userData.nearTo){}else{SCENE.scene.fog.userData={nearTo:fogNear,farTo:fogFar};SCENE.scene.fog.enabled=true;l+=`Enabled fog\n`;SCENE.scene.fog.userData.TS_ENABLED=getCurrentTs()+fogUpdateTimeout}}else{if(SCENE.scene.fog.userData.nearTo){}else{SCENE.scene.fog.userData={nearTo:250,farTo:260};SCENE.scene.fog.enabled=false;l+=`Disabled fog\n`}}}if(r.indexOf(11)!=-1){let t=pickAxis(true,[],false);for(let e of t.pivots){t.rotationDirectionSwitchTimestamp=getCurrentTs();switchObjectRotationDirection(e.userData.name,t.name,dynamicUpdateAnimationSpeeds.axisRotationDirection.speed,dynamicUpdateAnimationSpeeds.axisRotationDirection.curve);e.userData.TS_ROTATIONDIRECTION=getCurrentTs()+axisRotationDirectionUpdateTimeout}l+=`Changed axis rotation direction ${t.name} \n`}if(r.indexOf(13)!=-1){let a=0;for(let e of Axis){if(e.enabled){a+=e.pivots.map(e=>!e.userData.disabled).length}}let i=getNShapesWithTypes();if(!SCENE.originalNumberOfShapes){SCENE.originalNumberOfShapes=a;SCENE.originalNumberOfShapesByType=i}let e=tierToValue(tiersStructure.contract,t.value);for(let t of Object.keys(SCENE.originalNumberOfShapesByType)){if(t=="terrain"||t=="knot"){continue}if(SCENE.originalNumberOfShapesByType[t]){var s=SCENE.originalNumberOfShapesByType[t]*e}else{var s=i[t]*e}if(i[t]!=s){l+=`${t} current: ${i[t]} desired: ${s}\n`}if(a<300&&s>i[t]){for(let e=0;e<s-i[t];e++){let e=pickAxisForShape(t);if(!e){continue}setTimeout(()=>{addNewShape(e.name,`E_${t}_${generateUUID()}`,t,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed);l+=`Added shape ${t} to ${e.name} \n`},randFromRange(addOrRemoveObjectsTieredTimeSpreadRange))}}else if(a>20&&s<i[t]){let e=disappearObjects(Math.abs(i[t]-s),dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,t,addOrRemoveObjectsTieredTimeSpreadRange);l+=`Removed ${e}\n`}else{}}}if(r.indexOf(17)!=-1){let a={};let i=[];for(let t of Axis){if(t.enabled){for(let e of t.pivots){if(a[e.userData.shapeType]){a[e.userData.shapeType]++}else{a[e.userData.shapeType]=1}if(e.userData.name.includes("update17")&&i.indexOf(e.userData.shapeType)==-1){i.push(e.userData.shapeType)}}}}if(!SCENE.originalNumberOfShapeTypes){SCENE.originalNumberOfShapeTypes=sizeOfMapping(a)}let e=pick([0,1]);if(e==1&&i.length<=2||i.length==0){for(let i of shuffle(Object.keys(extraShapes))){if(!a[i]){let t=extraShapes[i].numberOfShapes;let a=Axis[pick(extraShapes[i].axis)-1];if(a.pivots.map(e=>e.userData.shapeType==i).length){continue}for(let e=0;e<t;e++){addNewShape(a.name,`E_${i}_update17_${generateUUID()}`,i,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed);a.TS_EXTRAOBJECTCLASS=getCurrentTs()+objectClassUpdateTimeout}break}}}else if(e==0&&i.length>0){let e=pick(i);let t=disappearObjectsByType(undefined,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,e)}}if(r.indexOf(14)!=-1){let t=pick(["triangle","diamond"]);let a=randFromRange(nObjectsLeftOutsideOfNegativeSpace);let i=pick(diamondNegativeSpaceAngles);for(let e of Axis){if(e.clipPlanes==undefined||e.clipPlanes.length==0){createNegativeSpace(e,t,true,a,i);l+=`Added ${t} negative space to ${e.name}\n`;e.TS_NEGATIVESPACE=getCurrentTs()+negativeSpaceUpdateTimeout}else{if(e.removingNegativeSpace||e.creatingNegativeSpace){}else{removeNegativeSpace(e);l+=`Removed negative space from ${e.name}\n`}}}}if(r.indexOf(16)!=-1){if(extraShapes.knot.originalP==undefined){extraShapes.knot.originalP=extraShapes.knot.p}extraShapes.knot.p=knotsDynamicPRange;if(extraShapes.knot.originalQ==undefined){extraShapes.knot.originalQ=extraShapes.knot.q}extraShapes.knot.q=knotsDynamicQRange;for(let t of Axis){if(!t.addingKnots){for(let e of t.pivots){if(e.userData.name.includes("knot")&&e.userData.name[0]!="E"){if(!pivotIsAppearingOrDisappearing(e)){l+=`Changing q and p of ${t.name} ${e.userData.name}\n`;t.addingKnots=true;disappearPivot(e,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,()=>{addNewShape(t.name,`E_knot_${generateUUID()}`,"knot",dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed)});t.TS_KNOTSPQ=getCurrentTs()+knotsPQUpdateTimeout;setTimeout(()=>{t.addingKnots=false},6e4)}}}}}}}function getPivotsWithSmallShapes(i){for(let a of Axis){if(a.enabled){for(let t=0;t<a.pivots.length;t++){let e=a.pivots[t];if(e.children[0].scale.x<i&&e.children[0].scale.x!=0){}}}}}function processShrinkAndGrow(a){let i=.005;if(a.userData.shapeType=="terrain"||a.userData.shapeType=="smallterrain"){i=.01}if(a.userData.shrinkDown){if(a.userData.shrinkDown<1e-6){a.userData.shrinkDown=1e-6}if(a.userData.shrinkDown>.1){a.userData.shrinkDown=.1}let t=true;for(let e of["x","y","z"]){if(a.children[0].scale[e]>i){a.children[0].scale[e]-=a.userData.shrinkDown;if(a.children[0].scale[e]<i){a.children[0].scale[e]=i}t=false}else{a.children[0].scale[e]=i;a.userData.toBeRemoved=a.userData.toBeRemovedAfterShrink}}if(t){a.userData.shrinkDown=undefined;a.visible=false;if(a.userData.disappearCallback){a.userData.disappearCallback()}}}if(a.userData.growUp){if(a.userData.growUp<1e-6){a.userData.growUp=1e-6}if(a.userData.growUp>.1){a.userData.growUp=.
jb_mass_main2const placeholderSalePrice=25e16;const placeholderRoyaltyReceived=5e14;{var MersenneTwister=function(e){if(e==undefined){e=(new Date).getTime()}this.N=624;this.M=397;this.MATRIX_A=2567483615;this.UPPER_MASK=2147483648;this.LOWER_MASK=2147483647;this.mt=new Array(this.N);this.mti=this.N+1;if(e.constructor==Array){this.init_by_array(e,e.length)}else{this.init_seed(e)}};MersenneTwister.prototype.init_seed=function(e){this.mt[0]=e>>>0;for(this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti;this.mt[this.mti]>>>=0}};MersenneTwister.prototype.init_by_array=function(e,t){var a,i,n;this.init_seed(19650218);a=1;i=0;n=this.N>t?this.N:t;for(;n;n--){var r=this.mt[a-1]^this.mt[a-1]>>>30;this.mt[a]=(this.mt[a]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i;this.mt[a]>>>=0;a++;i++;if(a>=this.N){this.mt[0]=this.mt[this.N-1];a=1}if(i>=t)i=0}for(n=this.N-1;n;n--){var r=this.mt[a-1]^this.mt[a-1]>>>30;this.mt[a]=(this.mt[a]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-a;this.mt[a]>>>=0;a++;if(a>=this.N){this.mt[0]=this.mt[this.N-1];a=1}}this.mt[0]=2147483648};MersenneTwister.prototype.random_int=function(){var e;var t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var a;if(this.mti==this.N+1)this.init_seed(5489);for(a=0;a<this.N-this.M;a++){e=this.mt[a]&this.UPPER_MASK|this.mt[a+1]&this.LOWER_MASK;this.mt[a]=this.mt[a+this.M]^e>>>1^t[e&1]}for(;a<this.N-1;a++){e=this.mt[a]&this.UPPER_MASK|this.mt[a+1]&this.LOWER_MASK;this.mt[a]=this.mt[a+(this.M-this.N)]^e>>>1^t[e&1]}e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK;this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1];this.mti=0}e=this.mt[this.mti++];e^=e>>>11;e^=e<<7&2636928640;e^=e<<15&4022730752;e^=e>>>18;return e>>>0};MersenneTwister.prototype.random_int31=function(){return this.random_int()>>>1};MersenneTwister.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};MersenneTwister.prototype.random=function(){return this.random_int()*(1/4294967296)};MersenneTwister.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};MersenneTwister.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)}}(function(e){var t=e.noise={};function a(e,t,a){this.x=e;this.y=t;this.z=a}a.prototype.dot2=function(e,t){return this.x*e+this.y*t};a.prototype.dot3=function(e,t,a){return this.x*e+this.y*t+this.z*a};var i=[new a(1,1,0),new a(-1,1,0),new a(1,-1,0),new a(-1,-1,0),new a(1,0,1),new a(-1,0,1),new a(1,0,-1),new a(-1,0,-1),new a(0,1,1),new a(0,-1,1),new a(0,1,-1),new a(0,-1,-1)];var n=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];var j=new Array(512);var B=new Array(512);t.seed=function(e){if(e>0&&e<1){e*=65536}e=Math.floor(e);if(e<256){e|=e<<8}for(var t=0;t<256;t++){var a;if(t&1){a=n[t]^e&255}else{a=n[t]^e>>8&255}j[t]=j[t+256]=a;B[t]=B[t+256]=i[a%12]}};t.seed(0);var R=.5*(Math.sqrt(3)-1);var D=(3-Math.sqrt(3))/6;var I=1/3;var L=1/6;t.simplex2=function(e,t){var a,i,n;var r=(e+t)*R;var o=Math.floor(e+r);var s=Math.floor(t+r);var l=(o+s)*D;var c=e-o+l;var d=t-s+l;var u,p;if(c>d){u=1;p=0}else{u=0;p=1}var f=c-u+D;var m=d-p+D;var h=c-1+2*D;var E=d-1+2*D;o&=255;s&=255;var g=B[o+j[s]];var S=B[o+u+j[s+p]];var T=B[o+1+j[s+1]];var x=.5-c*c-d*d;if(x<0){a=0}else{x*=x;a=x*x*g.dot2(c,d)}var v=.5-f*f-m*m;if(v<0){i=0}else{v*=v;i=v*v*S.dot2(f,m)}var A=.5-h*h-E*E;if(A<0){n=0}else{A*=A;n=A*A*T.dot2(h,E)}return 70*(a+i+n)};t.simplex3=function(e,t,a){var i,n,r,o;var s=(e+t+a)*I;var l=Math.floor(e+s);var c=Math.floor(t+s);var d=Math.floor(a+s);var u=(l+c+d)*L;var p=e-l+u;var f=t-c+u;var m=a-d+u;var h,E,g;var S,T,x;if(p>=f){if(f>=m){h=1;E=0;g=0;S=1;T=1;x=0}else if(p>=m){h=1;E=0;g=0;S=1;T=0;x=1}else{h=0;E=0;g=1;S=1;T=0;x=1}}else{if(f<m){h=0;E=0;g=1;S=0;T=1;x=1}else if(p<m){h=0;E=1;g=0;S=0;T=1;x=1}else{h=0;E=1;g=0;S=1;T=1;x=0}}var v=p-h+L;var A=f-E+L;var R=m-g+L;var D=p-S+2*L;var N=f-T+2*L;var b=m-x+2*L;var C=p-1+3*L;var y=f-1+3*L;var w=m-1+3*L;l&=255;c&=255;d&=255;var P=B[l+j[c+j[d]]];var M=B[l+h+j[c+E+j[d+g]]];var F=B[l+S+j[c+T+j[d+x]]];var _=B[l+1+j[c+1+j[d+1]]];var O=.6-p*p-f*f-m*m;if(O<0){i=0}else{O*=O;i=O*O*P.dot3(p,f,m)}var U=.6-v*v-A*A-R*R;if(U<0){n=0}else{U*=U;n=U*U*M.dot3(v,A,R)}var k=.6-D*D-N*N-b*b;if(k<0){r=0}else{k*=k;r=k*k*F.dot3(D,N,b)}var H=.6-C*C-y*y-w*w;if(H<0){o=0}else{H*=H;o=H*H*_.dot3(C,y,w)}return 32*(i+n+r+o)};function g(e){return e*e*e*(e*(e*6-15)+10)}function S(e,t,a){return(1-a)*e+a*t}t.perlin2=function(e,t){var a=Math.floor(e),i=Math.floor(t);e=e-a;t=t-i;a=a&255;i=i&255;var n=B[a+j[i]].dot2(e,t);var r=B[a+j[i+1]].dot2(e,t-1);var o=B[a+1+j[i]].dot2(e-1,t);var s=B[a+1+j[i+1]].dot2(e-1,t-1);var l=g(e);return S(S(n,o,l),S(r,s,l),g(t))};t.perlin3=function(e,t,a){var i=Math.floor(e),n=Math.floor(t),r=Math.floor(a);e=e-i;t=t-n;a=a-r;i=i&255;n=n&255;r=r&255;var o=B[i+j[n+j[r]]].dot3(e,t,a);var s=B[i+j[n+j[r+1]]].dot3(e,t,a-1);var l=B[i+j[n+1+j[r]]].dot3(e,t-1,a);var c=B[i+j[n+1+j[r+1]]].dot3(e,t-1,a-1);var d=B[i+1+j[n+j[r]]].dot3(e-1,t,a);var u=B[i+1+j[n+j[r+1]]].dot3(e-1,t,a-1);var p=B[i+1+j[n+1+j[r]]].dot3(e-1,t-1,a);var f=B[i+1+j[n+1+j[r+1]]].dot3(e-1,t-1,a-1);var m=g(e);var h=g(t);var E=g(a);return S(S(S(o,d,m),S(s,u,m),E),S(S(l,p,m),S(c,f,m),E),h)}})(this);function getTier(e,t,a=undefined){if(e.length==0){return 0}if(e.length==1){e=[t].concat(e)}let i=e.sort();let n=0;for(let e=1;e<i.length;e++){n+=Math.abs(i[e]-i[e-1])}let=avgGap=n/(i.length-1);let r=t-i[i.length-1];let o=r/avgGap;let s=Math.ceil(3-o);if(a!=undefined){if(s<0){s=0}else if(a<0){s*=-1}else if(a==0){s=0}}if(s==-4){s=-2}else if(s==-5){s=-1}else if(s<-5){s=0}if(s==-0){s=0}return s}function calculateTiers(e){if(!e){return}let t={royalty:[[-.4,-.3,-.1,0,.1,.3,.6],[-3,-2,-1,0,1,2,3]],contract_activity:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],clustering_mode:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],approvals:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]]};let i=(new Date).getTime()/1e3;let n=e[1].filter((e,t)=>e>0);let r=e[3].filter((e,t)=>e>0);let a=e[5];let o=e[6];let s=a.concat(o);let l=s.filter((e,t)=>t%2===0&&e>0);let c=s.filter((e,t)=>t%2!==0&&e>0);r=[...new Set(r)];n=[...new Set(n)];l=[...new Set(l)];r.sort();n.sort();l.sort();if(SCENE.data.memory==undefined){try{let a=i-memoryLookbackPeriod;SCENE.data.memory=r.filter((e,t)=>e>=a).length+n.filter((e,t)=>e>=a).length+l.filter((e,t)=>e>=a).length;SCENE.data.memory=Math.min(SCENE.data.memory,11)}catch(R){}}if(resetTimestamp){r=r.filter(e=>e>resetTimestamp);n=n.filter(e=>e>resetTimestamp);l=l.filter(e=>e>resetTimestamp)}let d=Array.from(n);let u=Array.from(l);let p=Array.from(r);let f=Array.from(c);if(r.length<=1){p=[contractMintTimestamp].concat(r)}if(n.length<=1){d=[contractMintTimestamp].concat(n)}if(l.length<=1){u=[contractMintTimestamp].concat(l)}if(c.length<=1){f=[placeholderRoyaltyReceived].concat(c)}r=r.filter(e=>l.indexOf(e)==-1);try{r=r.slice(-4)}catch{}try{n=n.slice(-4)}catch{}try{l=l.slice(-4)}catch{}if(resetTimestamp){r=r.filter(e=>e>resetTimestamp);n=n.filter(e=>e>resetTimestamp);l=l.filter(e=>e>resetTimestamp)}let m=0;if(f.length>1){m=f[f.length-1]/(f.slice(0,-1).reduce((e,t)=>e+t)/(f.length-1))-1}let h=getTier(r,i);let E=getTier(n,i);let g=getTier(r.concat(n).sort().slice(-4),i);let S=getTier(l,i,m);let T=S!=0;let x=g!=0;let v=h!=0;let A=E!=0;if(SCENE.data.contract.tiers&&Object.keys(SCENE.data.contract.tiers).length>0){T=SCENE.data.contract.tiers.royalty_received_tier.value!=S;x=SCENE.data.contract.tiers.contract_activity_tier.value!=g;v=SCENE.data.contract.tiers.sends_tier.value!=h;A=SCENE.data.contract.tiers.approvals_tier.value!=E}SCENE.data.contract.tiers={royalty_received_tier:{value:S,changed:T},contract_activity_tier:{value:g,changed:x},sends_tier:{value:h,changed:v},approvals_tier:{value:E,changed:A}}}function calculateContractDataUpdates(){if(!SCENE.data.contractUpdates){SCENE.data.contractUpdates={}}SCENE.data.firstContractDataUpdate=true;if(!SCENE.data.contractPrev||!(SCENE.data.contractPrev.length||SCENE.data.contractPrev.size)){SCENE.data.contractUpdates.approvalCount=true;SCENE.data.contractUpdates.transferCount=true;SCENE.data.contractUpdates.holderCount=true;SCENE.data.contractUpdates.royalty=true;return}SCENE.data.firstContractDataUpdate=false;SCENE.data.contractUpdates.approvalCount=SCENE.data.contractPrev[0][0]!=SCENE.data.contract[0][0];SCENE.data.contractUpdates.transferCount=SCENE.data.contractPrev[2][0]!=SCENE.data.contract[2][0];SCENE.data.contractUpdates.holderCount=SCENE.data.contractPrev[4][0]!=SCENE.data.contract[4][0];try{SCENE.data.contractUpdates.royalty=SCENE.data.contractPrev[5].slice(SCENE.data.contractPrev[5].length-2,SCENE.data.contractPrev[5].length-1).pop()!=SCENE.data.contract[5].slice(SCENE.data.contract[5].length-2,SCENE.data.contract[5].length-1).pop()||SCENE.data.contractPrev[6].slice(SCENE.data.contractPrev[6].length-2,SCENE.data.contractPrev[6].length-1).pop()!=SCENE.data.contract[5].slice(SCENE.data.contract[6].length-2,SCENE.data.contract[6].length-1).pop()}catch{}}function tierToValue(e,t){let a=[-3,-2,-1,0,1,2,3,4];let i=a.indexOf(t);return e[i]}var randomNumberGenerator=new MersenneTwister((new Date).getTime());var randomNumberGeneratorSeeded=new MersenneTwister(hashString(`${tokenHash}`));function sizeOfMapping(e){return Object.keys(e).length}function makeGradientPlane(e,t,a,i,n){const r=document.createElement('canvas');r.width=256;r.height=256;const o=r.getContext('2d');if(a=='linear'){var s=o.createLinearGradient(0,0,0,r.height)}else if(a=='radial'){var s=o.createRadialGradient(r.width/2,r.height/2,0,r.width/2,r.height/2,r.width/2)}for(let e of i){s.addColorStop(e[0],e[1])}o.fillStyle=s;o.fillRect(0,0,r.width,r.height);const l=new THREE.CanvasTexture(r);const c=new THREE.PlaneGeometry(e,t);const d=new THREE.MeshBasicMaterial({map:l,fog:n});const u=new THREE.Mesh(c,d);return u}function makePerlinTexture(e,t,i,n,r,o,s,l,c="perlin3"){const a=document.createElement('canvas');a.setAttribute("id","canvas1");a.width=e;a.height=t;const d=a.getContext('2d');if(s){var u=document.createElement('canvas');u.width=e;u.height=t;var p=u.getContext('2d')}noise.seed(Math.random());let f=0;for(var m=0;m<a.width;m++){for(var h=0;h<a.height;h++){f++;if(c=='perlin3'){var E=noise.perlin3(m/i,h/n,m^h%150);var g=Math.abs(E*o)*256+r}else if(c=='simplex3'){var E=noise.simplex3(m/i,h/n,m^h%150);var g=Math.abs(E*o)*256+r}else if(c=='simple'){var g=Math.random()*255*o+r}let e=g;let t=g;let a=g;d.fillStyle="rgb("+e+","+t+","+a+")";d.fillRect(m,h,1,1);if(s){a=g/l;p.fillStyle="rgb("+a+","+a+","+a+")";p.fillRect(m,h,1,1)}}}const S=new THREE.CanvasTexture(a);S.wrapS=S.wrapT=THREE.RepeatWrapping;if(s){const T=new THREE.CanvasTexture(u);T.wrapS=T.wrapT=THREE.RepeatWrapping;return[S,T]}else{return S}}function makeLight(e,t=true){if(e.type=="point"){e.light=new THREE.PointLight(e.color,e.power,e.size);if(t){e.light.position.set(e.positionX,e.positionY,e.positionZ)}if(enableShadows){e.light.castShadow=true;e.light.shadow.mapSize.width=512;e.light.shadow.mapSize.height=512;e.light.shadow.camera.near=.5;e.light.shadow.camera.far=500;e.light.shadow.normalBias=.5}}else if(e.type=="hemisphere"){e.light=new THREE.HemisphereLight(e.color1,e.color2,e.power)}else if(e.type=="ambient"){e.light=new THREE.AmbientLight(e.color)}else if(e.type=="directional"){e.light=new THREE.DirectionalLight(e.color,e.power);e.light.position.set(e.positionX,e.positionY,e.positionZ);e.light.rotation.set(e.rotationX,e.rotationY,e.rotationZ);if(enableShadows){e.light.castShadow=true;e.light.shadow.mapSize.width=512;e.light.shadow.mapSize.height=512;e.light.shadow.camera.near=.5;e.light.shadow.camera.far=500;e.light.shadow.normalBias=.5}}}function animateAxisNegativeSpace(t,e){if(t.userData==undefined){t.userData={};t.userData.negativeSpaceTargetX=rand(t.negativeSpaceAnimationX[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationX[2]);t.userData.negativeSpaceTargetY=rand(t.negativeSpaceAnimationY[0],t.negativeSpaceAnimationY[1],t.negativeSpaceAnimationY[2]);t.userData.negativeSpaceCurrentX=0;t.userData.negativeSpaceCurrentY=0}let a=0;let i=0;let n=t.negativeSpaceAnimationSpeedX*e;let r=t.negativeSpaceAnimationSpeedY*e;if(t.userData.negativeSpaceCurrentX<t.userData.negativeSpaceTargetX){a=n;t.userData.negativeSpaceCurrentX+=n}else if(t.userData.negativeSpaceCurrentX>t.userData.negativeSpaceTargetX){a=-n;t.userData.negativeSpaceCurrentX-=n}if(t.userData.negativeSpaceCurrentY<t.userData.negativeSpaceTargetY){i=r;t.userData.negativeSpaceCurrentY+=r}else if(t.userData.negativeSpaceCurrentY>t.userData.negativeSpaceTargetY){i=-r;t.userData.negativeSpaceCurrentY-=r}if(t.userData.negativeSpaceTargetX>=0&&t.userData.negativeSpaceCurrentX>t.userData.negativeSpaceTargetX||t.userData.negativeSpaceTargetX<=0&&t.userData.negativeSpaceCurrentX<t.userData.negativeSpaceTargetX){t.userData.negativeSpaceTargetX=rand(t.negativeSpaceAnimationX[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationX[2])}if(t.userData.negativeSpaceTargetY>=0&&t.userData.negativeSpaceCurrentY>t.userData.negativeSpaceTargetY||t.userData.negativeSpaceTargetY<=0&&t.userData.negativeSpaceCurrentY<t.userData.negativeSpaceTargetY){t.userData.negativeSpaceTargetY=rand(t.negativeSpaceAnimationY[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationY[2])}if(a!=0||i!=0){for(let e in t.clipPlanes){t.clipPlanes[e].translate(new THREE.Vector3(a,i,0))}}}function makeCamera(){if(cameraType=='perspective'){var e=new THREE.PerspectiveCamera(fieldOfView,cameraAspect,cameraNear,cameraFar);e.aspect=rendererWidth/rendererHeight}else{var e=new THREE.OrthographicCamera(rendererWidth/-orthographicCameraScale,rendererWidth/orthographicCameraScale,rendererHeight/orthographicCameraScale,rendererHeight/-orthographicCameraScale,cameraNear,cameraFar)}cameraZ=randFromRange(cameraZ);e.position.x=cameraX;e.position.y=cameraY;e.position.z=cameraZ;e.updateProjectionMatrix();e.userData.animationQueue=[];e.userData.originalFocalLength=e.getFocalLength();return e}function makeScene(){const e=new THREE.Scene;e.fog=new THREE.Fog(fogColor,fogNear,fogFar);e.fog.userData={animationQueue:[]};e.fog.enabled=enableFog;if(!enableFog){e.fog.near=150;e.fog.far=155;e.fog.enabled=false}e.background=new THREE.Color(worldGradientColors[worldGradientColors.length-1][1]);return e}function makeRenderer(){const e=new THREE.WebGLRenderer({antialias:rendererAntialias,premultipliedAlpha:true});e.setSize(rendererWidth,rendererHeight,false);e.setPixelRatio(window.devicePixelRatio);e.toneMapping=THREE[rendererToneMapping];e.localClippingEnabled=true;if(enableShadows){e.shadowMap.enabled=true;e.shadowMap.type=THREE.PCFShadowMap}document.body.appendChild(e.domElement);return e}function loadOBJ(e,t,a,i,n){const r=new THREE.OBJLoader;object=r.parse(atob(e));object.traverse(function(e){e.material=t});object.scale.set(a[0],a[1],a[2]);object.position.set(i[0],i[1],i[2]);object.rotation.set(THREE.MathUtils.degToRad(n[0]),THREE.MathUtils.degToRad(n[1]),THREE.MathUtils.degToRad(n[2]));return object}function addPivotToAxis(e,t,a,i=undefined,n=undefined){let r=new THREE.Object3D;r.userData.name=a;r.userData.shapeType=t.userData.shapeType;var o=rand(e.axisX[0],e.axisX[1],e.axisX[2]);if(i){var s=randFromRange(i)}else{var s=rand(e.axisY[0],e.axisY[1],e.axisY[2])}var l=rand(e.axisZ[0],e.axisZ[1],e.axisZ[2]);r.userData.rotationSpeed=rand(e.coneRotationSpeed[0],e.coneRotationSpeed[1],e.coneRotationSpeed[2]);r.userData.originalRotationSpeed=r.userData.rotationSpeed;r.rotation.z=THREE.MathUtils.degToRad(rand(e.axisAngle[0],e.axisAngle[1],e.axisAngle[2]));r.userData.originalPosition=[o,s,l];r.position.set(o,s,l);r.add(t);e.pivots.push(r);e.mainPivot.add(r);if(n==undefined){return}if(r.userData.name.includes("terrain")){n*=terrainsAppearAndDisappearMultiplier}if(r.userData.name.includes("knot")){n*=knotsAppearAndDisappearMultiplier}r.children[0].userData.originalScale=JSON.parse(JSON.stringify(r.children[0].scale));r.userData.growUp=n;r.children[0].scale.set(0,0,0)}function addConeToAxis(e,t,a,i=undefined,n=undefined){let r=rand(a.radius[0],a.radius[1],a.radius[2]);let o=rand(a.height[0],a.height[1],a.height[2]);let s=rand(a.scale[0],a.scale[1],a.scale[2]);let l=s+rand(a.scaleX[0],a.scaleX[1],a.scaleX[2]);let c=s+rand(a.scaleY[0],a.scaleY[1],a.scaleY[2]);let d=s+rand(a.scaleZ[0],a.scaleZ[1],a.scaleZ[2]);let u=rand(a.positionX[0],a.positionX[1],a.positionX[2]);let p=rand(a.positionY[0],a.positionY[1],a.positionY[2]);let f=rand(a.positionZ[0],a.positionZ[1],a.positionZ[2]);let m=rand(a.rotationX[0],a.rotationX[1],a.rotationX[2]);let h=rand(a.rotationY[0],a.rotationY[1],a.rotationY[2]);let E=rand(a.rotationZ[0],a.rotationZ[1],a.rotationZ[2]);let g=a.numberOfRadialSegments;let S=a.numberOfHeightSegments;let T=a.openEnded;if(e.ellipseMode){u*=Math.pow(20-Math.abs(p),e.ellipseModePowerOf)*e.ellipseModeMultiplier;f*=Math.pow(20-Math.abs(p),e.ellipseModePowerOf)*e.ellipseModeMultiplier}if(e.enableScaleEllipseMode){l*=Math.pow(e.scaleEllipseModeBaseX-Math.abs(p),e.scaleEllipseModePowerOfX)*e.scaleEllipseModeMultiplierX;c*=Math.pow(e.scaleEllipseModeBaseY-Math.abs(p),e.scaleEllipseModePowerOfY)*e.scaleEllipseModeMultiplierY;d*=Math.pow(e.scaleEllipseModeBaseZ-Math.abs(p),e.scaleEllipseModePowerOfZ)*e.scaleEllipseModeMultiplierZ}let x={};for(let e=0;e<100;e++){let e=a.types[randS(0,a.types.length-1,1)];if(randS(0,1,.1)>1-e.probability){x=e;break}}try{var v=materialTemplates[a.material].clone()}catch(R){var v=materialTemplates[pick(a.material)[1]].clone()}if(a.wireframeProbability&&randS(0,1,.01)>1-a.wireframeProbability){v.wireframe=true;g=5;S=5;T=true}else{v.wireframe=false}if(e.clipPlanes&&e.clipPlanes.length>0){v.clippingPlanes=e.clipPlanes}let A=makeCone(v,r,o,g,S,T,[l,c,d],[u,p,f],[m,h,m],x);if(i){let e=Math.max(l,c,d);let t=e/100*i;t=Math.max(t,1e-7);A.scale.set(0,0,0);A.userData.animationQueue=[makeAnimationForQueue("scale",0,e,e,t)]}if(e.enableNegativeSpace){A.material.clippingPlanes=e.clipPlanes;A.material.clipIntersection=true}A.userData.name=t;A.userData.shapeType=n;addPivotToAxis(e,A,t)}function animateWorldPlane(){if(!SCENE.worldPlane.userData.animationQueue){if(SCENE.worldPlane.scale.x>1+SCENE.worldPlane.userData.scaleAmount&&SCENE.worldPlane.userData.scaleFactor>0||SCENE.worldPlane.scale.x<1&&SCENE.worldPlane.userData.scaleFactor<0){SCENE.worldPlane.userData.scaleFactor*=-1}SCENE.worldPlane.scale.set(SCENE.worldPlane.scale.x+SCENE.worldPlane.userData.scaleFactor,SCENE.worldPlane.scale.y+SCENE.worldPlane.userData.scaleFactor,1)}}function makeWorldPlane(){worldPlane=makeGradientPlane(rendererWidth*3,rendererWidth*3,worldGradientType,worldGradientColors,false);worldPlane.userData.name="worldPlane";worldPlane.position.z=-rendererWidth;worldPlane.z=-100;worldPlane.userData.scaleFactor=rand(worldGradientAnimationSpeed[0],worldGradientAnimationSpeed[1],worldGradientAnimationSpeed[2]);worldPlane.userData.scaleAmount=rand(worldGradientAnimationScale[0],worldGradientAnimationScale[1],worldGradientAnimationScale[2]);worldPlane.userData.animationQueue=[];SCENE.worldPlane=worldPlane;SCENE.scene.add(SCENE.worldPlane)}function addExtraShapeToAxis(e,t,a,o,i=undefined){let n=a;let r=randFromRange(o.scale);let s=r+randFromRange(o.scaleX);let l=r+randFromRange(o.scaleY);let c=r+randFromRange(o.scaleZ);let d=randFromRangeS2(o.positionX);let u=randFromRangeS2(o.positionY);let p=randFromRangeS2(o.positionZ);let f=randFromRange(o.rotationX);let m=randFromRange(o.rotationY);let h=randFromRange(o.rotationZ);if(o.material){if(!materialTemplates[o.material]){}else{var E=materialTemplates[o.material].clone()}}else{var E=e.coneMaterial.clone();if(e.coneMaterial.map){if(o.textureScale){E.map.repeat.x=o.textureScale[0];E.map.repeat.y=o.textureScale[1]}if(o.textureRotation){E.map.rotation=THREE.MathUtils.degToRad(o.textureRotation);E.map.rotation=true}}if(o.color){E.color=new THREE.Color(o.color);E.color.needsUpdate=true}}if(e.clipPlanes&&e.clipPlanes.length>0){E.clippingPlanes=e.clipPlanes}if(n=="flower1"){E.map=undefined;E.bumpMap=undefined;let t=E.clone();if(SCENE.palette.special){E.color=new THREE.Color(SCENE.palette.special.flower[0]);t.color=new THREE.Color(SCENE.palette.special.flower[1])}else{let e=pickS2(SCENE.palette.colors);E.color=new THREE.Color(e[0]);t.color=new THREE.Color(e[1])}E=[E,t]}let g=undefined;if(n=="terrain"){let e=randFromRange(o.heightScale);g=makeTerrain(E,o.worldSizeX,o.worldSizeY,e,[s,l,c],[d,u,p],[f,m,h])}if(n=="smallterrain"){let e=randFromRange(o.heightScale);g=makeTerrain(E,o.worldSizeX,o.worldSizeY,e,[s,l,c],[d,u,p],[f,m,h],1,o.bumpsRange,o.depth)}else if(n=="cloud"){let e=randFromRange(o.sizeX);let t=randFromRange(o.sizeY);let a=randFromRange(o.sizeZ);let i=randFromRange(o.nSpheres);g=makeCloud(E,e,t,a,i,o.spheresScale,[s,l,c],[d,u,p],[f,m,h])}else if(n=="frame"){let e=randFromRange(o.height);let t=randFromRange(o.width);let a=randFromRange(o.thickness);let i=randFromRange(o.depth);g=makeFrame(E,e,t,a,i,[s,l,c],[d,u,p],[f,m,h])}else if(n=="rectangle"){let e=randFromRange(o.height);let t=randFromRange(o.width);let a=randFromRange(o.depth);g=makeRectangle(E,e,t,a,[s,l,c],[d,u,p],[f,m,h])}else if(n=="arrow"){let e=randFromRange(o.depth);let t=randFromRange(o.bevelThickness);let a=randFromRange(o.bevelSize);let i=randFromRange(o.bevelSegments);let n=o.type||0;g=makeArrow(E,e,t,a,i,[s,l,c],[d,u,p],[f,m,h],n)}else if(n=="knot"){let e=randFromRange(o.radius);let t=randFromRange(o.tube);let a=randFromRange(o.tubularSegments);let i=randFromRange(o.radialSegments);let n=randFromRange(o.p);let r=randFromRange(o.q);g=makeKnot(E,e,t,a,i,n,r,[s,l,c],[d,u,p],[f,m,h])}else if(n in base64Objects){g=loadOBJ(base64Objects[n],E,[s,l,c],[d,u,p],[f,m,h])}g.userData.name=t;g.name=t;g.userData.shapeType=n;if(e.enableNegativeSpace){g.material.clippingPlanes=e.clipPlanes;g.material.clipIntersection=true}addPivotToAxis(e,g,t,o.yAxisRangeOverwrite,i)}function updateObjectRotationSpeed(t,a,i,n=1,r=.1){for(let e of Axis){if(e.name==a){for(let a of e.pivots){if(a.userData.name==t){let e=a.userData.rotationSpeed;if(e===undefined){e=0}let t=makeAnimationForQueue("rotationSpeed",e,i,i,n,r);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t);return}}}}}function switchObjectRotationDirection(t,a,i=1,n=.1){for(let e of Axis){if(e.name==a){for(let a of e.pivots){if(a.userData.name==t){let e=a.userData.rotationSpeed;if(e===undefined){e=0}let t=makeAnimationForQueue("rotationSpeed",e,e*-1,e*-1,i,n);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t);return}}}}}function updateObjectDistanceFromAxis(i,e,n,r=1,o=.1){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==i){for(let a of e.children){if(a.userData.name==i){let e=a.position.x;let t=makeAnimationForQueue("distance",e,n,n,r,o);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t)}}}}}}}function updateBackgroundGradientScale(e,t=1,a=.1){let i=Math.max(SCENE.worldPlane.scale.x,SCENE.worldPlane.scale.y);SCENE.worldPlane.userData.animationQueue.push(makeAnimationForQueue("scale",i,e,e,t,a))}function updateCameraPosition(e,t,a,i=1,n=.1){if(e!==undefined){SCENE.camera.userData.animationQueue.push(makeAnimationForQueue("x",SCENE.camera.position.x,e,e,i,n))}if(t!==undefined){SCENE.camera.userData.animationQueue.push(makeAnimationForQueue("y",SCENE.camera.position.y,t,t,i,n))}if(a!==undefined){SCENE.camera.userData.animationQueue.push(makeAnimationForQueue("z",SCENE.camera.position.z,a,a,i,n))}}function updateObjectScale2(e,t,a=1,i=.1){let n=makeAnimationForQueue
jb_mass_main1gativeSpaceY);let s=randFromRange(a.negativeSpaceZ);let l=randFromRange(a.negativeSpaceSizeX);let c=randFromRange(a.negativeSpaceSizeY);let f=randFromRange(a.negativeSpaceSizeZ);if(e==undefined){e=pick(a.negativeSpaceType)}let p=undefined;if(e=="triangle"){p=[new THREE.Plane(new THREE.Vector3(1,.5,0),0),new THREE.Plane(new THREE.Vector3(-1,.5,0),0),new THREE.Plane(new THREE.Vector3(0,-1,0),0),new THREE.Plane(new THREE.Vector3(0,0,-1),0),new THREE.Plane(new THREE.Vector3(0,0,1),0)];p[0].translate(new THREE.Vector3(l+r,0,0));p[1].translate(new THREE.Vector3(-l+r,0,0));p[2].translate(new THREE.Vector3(0,-c+o,0));p[3].translate(new THREE.Vector3(0,0,-f+s));p[4].translate(new THREE.Vector3(0,0,f+s))}else if(e=="triangle_flip"){p=[new THREE.Plane(new THREE.Vector3(1,-.5,0),0),new THREE.Plane(new THREE.Vector3(-1,-.5,0),0),new THREE.Plane(new THREE.Vector3(0,1,0),0),new THREE.Plane(new THREE.Vector3(0,0,-1),0),new THREE.Plane(new THREE.Vector3(0,0,1),0)];p[0].translate(new THREE.Vector3(l+r,0,0));p[1].translate(new THREE.Vector3(-l+r,0,0));p[2].translate(new THREE.Vector3(0,c+o,0));p[3].translate(new THREE.Vector3(0,0,-f+s));p[4].translate(new THREE.Vector3(0,0,f+s))}else if(e=="diamond"){p=[new THREE.Plane(new THREE.Vector3(1,-.5,0),0),new THREE.Plane(new THREE.Vector3(-1,.5,0),0),new THREE.Plane(new THREE.Vector3(.5,-1,0),0),new THREE.Plane(new THREE.Vector3(-.5,1,0),0),new THREE.Plane(new THREE.Vector3(0,0,-1),0),new THREE.Plane(new THREE.Vector3(0,0,1),0)];p[0].translate(new THREE.Vector3(l+r,0,0));p[1].translate(new THREE.Vector3(-l+r,0,0));p[2].translate(new THREE.Vector3(0,-c+o,0));p[3].translate(new THREE.Vector3(0,c+o,0));p[4].translate(new THREE.Vector3(0,0,-f+s));p[5].translate(new THREE.Vector3(0,0,f+s));var d=new THREE.Quaternion;d.setFromAxisAngle(new THREE.Vector3(0,0,1),THREE.MathUtils.degToRad(n));p[0].normal.applyQuaternion(d);p[1].normal.applyQuaternion(d);p[2].normal.applyQuaternion(d);p[3].normal.applyQuaternion(d)}let u=e=="triangle"?3:4;for(let e=0;e<u;e++){p[e].userData={originalConstant:p[e].constant,currentConstrain:t?5:p[e].constant,desiredConstant:p[e].constant};if(t){p[e].constant=5}}a.clipPlanes=p;nShapesLeftOutside=0;if(a.pivots){for(let e of a.pivots){if(nShapesLeftOutside<i&&rand(0,1,.01)>.5){nShapesLeftOutside++;continue}for(let t of e.children){if(t.material){t.material.clippingPlanes=a.clipPlanes;t.material.clipIntersection=true}for(let e of t.children){if(e.material){e.material.clippingPlanes=a.clipPlanes;e.material.clipIntersection=true}}}}}}function removeNegativeSpace(t){t.removingNegativeSpace=true;for(let e=0;e<t.clipPlanes.length;e++){if(t.clipPlanes[e].userData){t.clipPlanes[e].userData.desiredConstant=5}}setTimeout(()=>{if(t.pivots){for(let e of t.pivots){for(let t of e.children){if(t.material){t.material.clippingPlanes=[];t.material.needsUpdate=true}for(let e of t.children){if(e.material){e.material.clippingPlanes=[];e.material.needsUpdate=true}}}}}for(let e=0;e<t.clipPlanes.length;e++){SCENE.scene.remove(t.clipPlanes[e])}t.clipPlanes=undefined;delete t.clipPlanes;t.removingNegativeSpace=false},2e4)}function initOBJLoader(){const U=/^[og]\s*(.+)?/;const X=/^mtllib /;const Y=/^usemtl /;const Z=/^usemap /;const _=/\s+/;const r=new THREE.Vector3;const o=new THREE.Vector3;const s=new THREE.Vector3;const l=new THREE.Vector3;const c=new THREE.Vector3;const j=new THREE.Color;function z(){const e={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(e,t){if(this.object&&this.object.fromDeclaration===false){this.object.name=e;this.object.fromDeclaration=t!==false;return}const a=this.object&&typeof this.object.currentMaterial==="function"?this.object.currentMaterial():undefined;if(this.object&&typeof this.object._finalize==="function"){this.object._finalize(true)}this.object={name:e||"",fromDeclaration:t!==false,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:false},materials:[],smooth:true,startMaterial:function(e,t){const a=this._finalize(false);if(a&&(a.inherited||a.groupCount<=0)){this.materials.splice(a.index,1)}const i={index:this.materials.length,name:e||"",mtllib:Array.isArray(t)&&t.length>0?t[t.length-1]:"",smooth:a!==undefined?a.smooth:this.smooth,groupStart:a!==undefined?a.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:false,clone:function(e){const t={index:typeof e==="number"?e:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:false};t.clone=this.clone.bind(t);return t}};this.materials.push(i);return i},currentMaterial:function(){if(this.materials.length>0){return this.materials[this.materials.length-1]}return undefined},_finalize:function(e){const t=this.currentMaterial();if(t&&t.groupEnd===-1){t.groupEnd=this.geometry.vertices.length/3;t.groupCount=t.groupEnd-t.groupStart;t.inherited=false}if(e&&this.materials.length>1){for(let e=this.materials.length-1;e>=0;e--){if(this.materials[e].groupCount<=0){this.materials.splice(e,1)}}}if(e&&this.materials.length===0){this.materials.push({name:"",smooth:this.smooth})}return t}};if(a&&a.name&&typeof a.clone==="function"){const i=a.clone(0);i.inherited=true;this.object.materials.push(i)}this.objects.push(this.object)},finalize:function(){if(this.object&&typeof this.object._finalize==="function"){this.object._finalize(true)}},parseVertexIndex:function(e,t){const a=parseInt(e,10);return(a>=0?a-1:a+t/3)*3},parseNormalIndex:function(e,t){const a=parseInt(e,10);return(a>=0?a-1:a+t/3)*3},parseUVIndex:function(e,t){const a=parseInt(e,10);return(a>=0?a-1:a+t/2)*2},addVertex:function(e,t,a){const i=this.vertices;const n=this.object.geometry.vertices;n.push(i[e+0],i[e+1],i[e+2]);n.push(i[t+0],i[t+1],i[t+2]);n.push(i[a+0],i[a+1],i[a+2])},addVertexPoint:function(e){const t=this.vertices;const a=this.object.geometry.vertices;a.push(t[e+0],t[e+1],t[e+2])},addVertexLine:function(e){const t=this.vertices;const a=this.object.geometry.vertices;a.push(t[e+0],t[e+1],t[e+2])},addNormal:function(e,t,a){const i=this.normals;const n=this.object.geometry.normals;n.push(i[e+0],i[e+1],i[e+2]);n.push(i[t+0],i[t+1],i[t+2]);n.push(i[a+0],i[a+1],i[a+2])},addFaceNormal:function(e,t,a){const i=this.vertices;const n=this.object.geometry.normals;r.fromArray(i,e);o.fromArray(i,t);s.fromArray(i,a);c.subVectors(s,o);l.subVectors(r,o);c.cross(l);c.normalize();n.push(c.x,c.y,c.z);n.push(c.x,c.y,c.z);n.push(c.x,c.y,c.z)},addColor:function(e,t,a){const i=this.colors;const n=this.object.geometry.colors;if(i[e]!==undefined)n.push(i[e+0],i[e+1],i[e+2]);if(i[t]!==undefined)n.push(i[t+0],i[t+1],i[t+2]);if(i[a]!==undefined)n.push(i[a+0],i[a+1],i[a+2])},addUV:function(e,t,a){const i=this.uvs;const n=this.object.geometry.uvs;n.push(i[e+0],i[e+1]);n.push(i[t+0],i[t+1]);n.push(i[a+0],i[a+1])},addDefaultUV:function(){const e=this.object.geometry.uvs;e.push(0,0);e.push(0,0);e.push(0,0)},addUVLine:function(e){const t=this.uvs;const a=this.object.geometry.uvs;a.push(t[e+0],t[e+1])},addFace:function(e,t,a,i,n,r,o,s,l){const c=this.vertices.length;let f=this.parseVertexIndex(e,c);let p=this.parseVertexIndex(t,c);let d=this.parseVertexIndex(a,c);this.addVertex(f,p,d);this.addColor(f,p,d);if(o!==undefined&&o!==""){const u=this.normals.length;f=this.parseNormalIndex(o,u);p=this.parseNormalIndex(s,u);d=this.parseNormalIndex(l,u);this.addNormal(f,p,d)}else{this.addFaceNormal(f,p,d)}if(i!==undefined&&i!==""){const m=this.uvs.length;f=this.parseUVIndex(i,m);p=this.parseUVIndex(n,m);d=this.parseUVIndex(r,m);this.addUV(f,p,d);this.object.geometry.hasUVIndices=true}else{this.addDefaultUV()}},addPointGeometry:function(a){this.object.geometry.type="Points";const i=this.vertices.length;for(let e=0,t=a.length;e<t;e++){const n=this.parseVertexIndex(a[e],i);this.addVertexPoint(n);this.addColor(n)}},addLineGeometry:function(a,i){this.object.geometry.type="Line";const n=this.vertices.length;const r=this.uvs.length;for(let e=0,t=a.length;e<t;e++){this.addVertexLine(this.parseVertexIndex(a[e],n))}for(let e=0,t=i.length;e<t;e++){this.addUVLine(this.parseUVIndex(i[e],r))}}};e.startObject("",false);return e}class e extends THREE.Loader{constructor(e){super(e);this.materials=null}load(a,i,e,n){const r=this;const t=new THREE.FileLoader(this.manager);t.setPath(this.path);t.setRequestHeader(this.requestHeader);t.setWithCredentials(this.withCredentials);t.load(a,function(e){try{i(r.parse(e))}catch(t){if(n){n(t)}else{}r.manager.itemError(a)}},e,n)}setMaterials(e){this.materials=e;return this}parse(e){const i=new z;if(e.indexOf("\r\n")!==-1){e=e.replace(/\r\n/g,"\n")}if(e.indexOf("\\\n")!==-1){e=e.replace(/\\\n/g,"")}const a=e.split("\n");let n=[];for(let e=0,t=a.length;e<t;e++){const o=a[e].trimStart();if(o.length===0)continue;const s=o.charAt(0);if(s==="#")continue;if(s==="v"){const l=o.split(_);switch(l[0]){case"v":i.vertices.push(parseFloat(l[1]),parseFloat(l[2]),parseFloat(l[3]));if(l.length>=7){j.setRGB(parseFloat(l[4]),parseFloat(l[5]),parseFloat(l[6])).convertSRGBToLinear();i.colors.push(j.r,j.g,j.b)}else{i.colors.push(undefined,undefined,undefined)}break;case"vn":i.normals.push(parseFloat(l[1]),parseFloat(l[2]),parseFloat(l[3]));break;case"vt":i.uvs.push(parseFloat(l[1]),parseFloat(l[2]));break}}else if(s==="f"){const c=o.slice(1).trim();const f=c.split(_);const p=[];for(let e=0,t=f.length;e<t;e++){const u=f[e];if(u.length>0){const m=u.split("/");p.push(m)}}const d=p[0];for(let e=1,t=p.length-1;e<t;e++){const g=p[e];const h=p[e+1];i.addFace(d[0],g[0],h[0],d[1],g[1],h[1],d[2],g[2],h[2])}}else if(s==="l"){const E=o.substring(1).trim().split(" ");let a=[];const S=[];if(o.indexOf("/")===-1){a=E}else{for(let e=0,t=E.length;e<t;e++){const v=E[e].split("/");if(v[0]!=="")a.push(v[0]);if(v[1]!=="")S.push(v[1])}}i.addLineGeometry(a,S)}else if(s==="p"){const c=o.slice(1).trim();const x=c.split(" ");i.addPointGeometry(x)}else if((n=U.exec(o))!==null){const T=(" "+n[0].slice(1).trim()).slice(1);i.startObject(T)}else if(Y.test(o)){i.object.startMaterial(o.substring(7).trim(),i.materialLibraries)}else if(X.test(o)){i.materialLibraries.push(o.substring(7).trim())}else if(Z.test(o)){}else if(s==="s"){n=o.split(" ");if(n.length>1){const A=n[1].trim().toLowerCase();i.object.smooth=A!=="0"&&A!=="off"}else{i.object.smooth=true}const b=i.object.currentMaterial();if(b)b.smooth=i.object.smooth}else{if(o==="\0")continue}}i.finalize();const r=new THREE.Group;r.materialLibraries=[].concat(i.materialLibraries);const t=!(i.objects.length===1&&i.objects[0].geometry.vertices.length===0);if(t===true){for(let t=0,e=i.objects.length;t<e;t++){const w=i.objects[t];const R=w.geometry;const y=w.materials;const D=R.type==="Line";const C=R.type==="Points";let a=false;if(R.vertices.length===0)continue;const N=new THREE.BufferGeometry;N.setAttribute("position",new THREE.Float32BufferAttribute(R.vertices,3));if(R.normals.length>0){N.setAttribute("normal",new THREE.Float32BufferAttribute(R.normals,3))}if(R.colors.length>0){a=true;N.setAttribute("color",new THREE.Float32BufferAttribute(R.colors,3))}if(R.hasUVIndices===true){N.setAttribute("uv",new THREE.Float32BufferAttribute(R.uvs,2))}const M=[];for(let t=0,e=y.length;t<e;t++){const P=y[t];const O=P.name+"_"+P.smooth+"_"+a;let e=i.materials[O];if(this.materials!==null){e=this.materials.create(P.name);if(D&&e&&!(e instanceof THREE.LineBasicMaterial)){const F=new THREE.LineBasicMaterial;THREE.Material.prototype.copy.call(F,e);F.color.copy(e.color);e=F}else if(C&&e&&!(e instanceof THREE.PointsMaterial)){const H=new THREE.PointsMaterial({size:10,sizeAttenuation:false});THREE.Material.prototype.copy.call(H,e);H.color.copy(e.color);H.map=e.map;e=H}}if(e===undefined){if(D){e=new THREE.LineBasicMaterial}else if(C){e=new THREE.PointsMaterial({size:1,sizeAttenuation:false})}else{e=new THREE.MeshPhongMaterial({color:"#000000"})}e.name=P.name;e.flatShading=P.smooth?false:true;e.vertexColors=a;i.materials[O]=e}M.push(e)}let e;if(M.length>1){for(let e=0,t=y.length;e<t;e++){const P=y[e];N.addGroup(P.groupStart,P.groupCount,e)}if(D){e=new THREE.LineSegments(N,M)}else if(C){e=new THREE.Points(N,M)}else{e=new THREE.Mesh(N,M)}}else{if(D){e=new THREE.LineSegments(N,M[0])}else if(C){e=new THREE.Points(N,M[0])}else{e=new THREE.Mesh(N,M[0])}}e.name=w.name;r.add(e)}}else{if(i.vertices.length>0){const b=new THREE.PointsMaterial({size:1,sizeAttenuation:false});const N=new THREE.BufferGeometry;N.setAttribute("position",new THREE.Float32BufferAttribute(i.vertices,3));if(i.colors.length>0&&i.colors[0]!==undefined){N.setAttribute("color",new THREE.Float32BufferAttribute(i.colors,3));b.vertexColors=true}const k=new THREE.Points(N,b);r.add(k)}}return r}}THREE.OBJLoader=e}function initImprovedNoise(){const T=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];for(let e=0;e<256;e++){T[256+e]=T[e]}function b(e){return e*e*e*(e*(e*6-15)+10)}function A(e,t,a){return t+e*(a-t)}function w(e,t,a,i){const n=e&15;const r=n<8?t:a,o=n<4?a:n==12||n==14?t:i;return((n&1)==0?r:-r)+((n&2)==0?o:-o)}class e{noise(e,t,a){const i=Math.floor(e),n=Math.floor(t),r=Math.floor(a);const o=i&255,s=n&255,l=r&255;e-=i;t-=n;a-=r;const c=e-1,f=t-1,p=a-1;const d=b(e),u=b(t),m=b(a);const g=T[o]+s,h=T[g]+l,E=T[g+1]+l,S=T[o+1]+s,v=T[S]+l,x=T[S+1]+l;return A(m,A(u,A(d,w(T[h],e,t,a),w(T[v],c,t,a)),A(d,w(T[E],e,f,a),w(T[x],c,f,a))),A(u,A(d,w(T[h+1],e,t,p),w(T[v+1],c,t,p)),A(d,w(T[E+1],e,f,p),w(T[x+1],c,f,p))))}}THREE.ImprovedNoise=e}function stringToHexadecimal(t){let a="";for(let e=0;e<t.length;e++){const i=t.charCodeAt(e).toString(16);a+=("00"+i).slice(-2)}return a}async function callProvider(e){callPayload={method:"POST",body:JSON.stringify(e)};let a;for(let t=0;t<NODE_URLS.length;t++){for(let e=0;e<2;e++){try{a=await fetch(NODE_URLS[t],callPayload);if(a.ok){let e=await a.json();return e}else{}}catch(i){await new Promise(e=>setTimeout(e,2e3))}}}}async function getLastBlockReceipts(t){let e=await callProvider({method:"eth_blockNumber",params:[],id:2,jsonrpc:"2.0"});let a=await callProvider({method:"eth_getBlockReceipts",params:[e.result],id:2,jsonrpc:"2.0"});for(let e of a.result){if(t=="ANYWALLET"){const i=JSON.stringify(e,null,2);return i}if(t.indexOf(e.from)>-1||t.indexOf(e.to)>-1){const i=JSON.stringify(e,null,2);return i}}}async function receiptsWrapper(){try{await getLastBlockReceipts()}catch(e){}}async function getContractData(){for(let t=0;t<NODE_URLS.length;t++){for(let e=0;e<2;e++){try{var a=await fetch(NODE_URLS[t],{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:contractAddress,data:jsonRpcCallDataContract},"latest"],id:2,jsonrpc:"2.0"})});if(a.ok){let e=await a.json();let t=hexToArray(e.result);try{t=splitArray(t,[1,200,1,200,1,400,400,1,300])}catch(i){t=splitArray(t,[1,200,1,200,1,400,400,1])}return t}else{}}catch(i){await new Promise(e=>setTimeout(e,2e3))}}}}function hexToUnicode(e){let t=e.match(/.{1,2}/g)||[];let a=t.map(e=>String.fromCharCode(parseInt(e,16)));let i=a.join("");return i.replace(/\u0000/g,"")}function hexToArray(e){const t=e.slice(2);const a=[];for(let e=0;e<t.length;e+=64){if(e>=77200){const i=hexToUnicode(t.slice(e,e+128),16);if(i.length>=37&&i[0]==0){a.push(i)}}else{const n=parseInt(t.slice(e,e+64),16);a.push(n)}}return a}function splitArray(t,a){const i=[];let n=0;for(let e=0;e<a.length;e++){const r=a[e];const o=t.slice(n,n+r);i.push(o);n+=r}if(n<t.length){const e=t.slice(n);i.push(e)}return i}function getCurrentTs(){return(new Date).getTime()/1e3}function generateUUID(){return"xyxxyxxxyxxyxx".replace(/[xy]/g,function(e){var t=Math.random()*16|0,a=e=="x"?t:t&3|8;return a.toString(16)})}
jb_mass_main1act;SCENE.data.contract=await getContractData();if(getCurrentTs()>contractMintTimestamp+receiptsFetchingOffset){NODE_URLS=shuffle(NODE_URLS);SCENE.data.wallets=await walletActivityUpdates(SCENE.data.contract[SCENE.data.contract.length-1])}else{}SCENE.data.contract.tiers=SCENE.data.contractPrev.tiers;calculateTiers(SCENE.data.contract);calculateContractDataUpdates()}function init(){SCENE={data:{wallet:{},contract:{}},specialObjects:{},updateStartTimesAndValues:{}};if(tokenHash){populatePalette();populateAbstractMaterials();populateAxisExtraShapes();overwriteAxis()}SCENE.camera=makeCamera();SCENE.scene=makeScene();SCENE.renderer=makeRenderer();for(let n of Axis){n.mainPivot=new THREE.Object3D;n.mainPivot.name=n.name;var a=[];for(let e in n.coneTypes){n.coneTypes[e][e]=true;a.push(n.coneTypes[e])}shuffle(a);n.axisArrayConeTypes=a;if(n.enableNegativeSpace){createNegativeSpace(n,undefined,true)}n.pivots=[];let i=n.growShapes.onStartup?n.growShapes.speed:undefined;for(let a in n.extraShapes){let t=n.extraShapes[a];for(let e=0;e<t.numberOfShapes;e++){if(t.cone){addConeToAxis(n,`cone${e}`,t,i,a)}else{addExtraShapeToAxis(n,`${a}${e}`,a,t,i)}}}let e=meanPositionOfPivots(n.pivots);let t=meanRotationOfPivots(n.pivots);n.centraRodPosition=e;n.centralRodRotation=t;if(n.addCentralRod){n.rodMaterial=new THREE.MeshBasicMaterial({color:n.centralRodColor,side:THREE.FrontSide,wireframe:false});const s=new THREE.BoxGeometry(n.centralRodWidth,n.centralRodLength,n.centralRodWidth);n.rod=new THREE.Mesh(s,n.rodMaterial);n.rod.position.set(e[0],e[1],e[2]);n.rod.rotation.z=t[2];n.mainPivot.add(n.rod)}SCENE.scene.add(n.mainPivot);if(!n.enabled){setAxisInvisibleAndDisabled(n)}}for(let e of Lights){makeLight(e);SCENE.scene.add(e.light)}if(enableWorldGradient){makeWorldPlane()}SCENE.renderer.render(SCENE.scene,SCENE.camera);if(enableShadows){SCENE.renderer.shadowMap.enabled=true;SCENE.renderer.shadowMap.type=THREE.PCFShadowMap}let i=new THREE.Clock;let n=0;let r=1/animationFPS;SCENE.cameraMovementSpeed={x:0,y:0,z:0};const o=e=>{requestAnimationFrame(o);try{if(document.hidden){return}}catch(t){}n+=i.getDelta();animateFog();for(let a of Axis){if(a.mainPivot.userData.animationQueue&&a.mainPivot.userData.animationQueue.length>0){processAnimationQueue(a.mainPivot)}for(let t of a.pivots){processShrinkAndGrow(t);t.rotateY(THREE.MathUtils.degToRad(t.userData.rotationSpeed*n));if(t.userData.animationQueue&&t.userData.animationQueue.length>0){processAnimationQueue(t)}if(t.userData.animationLoop){processAnimationLoop(t)}for(let e of t.children){if(e.userData.animationQueue&&e.userData.animationQueue.length>0){processAnimationQueue(e)}if(e.userData.animationLoop){processAnimationLoop(e)}}}if(a.enableNegativeSpaceAnimation){animateAxisNegativeSpace(a,n)}try{if(a.clipPlanes){for(let e of a.clipPlanes){if(e.userData){if(e.userData.desiredConstant>e.constant){e.constant+=negativeSpaceAnimationSpeed}else if(e.userData.desiredConstant<e.constant){e.constant-=negativeSpaceAnimationSpeed}}}}}catch(t){}}if(SCENE.worldPlane.userData.animationQueue&&SCENE.worldPlane.userData.animationQueue.length>0){processAnimationQueue(SCENE.worldPlane)}if(SCENE.camera.userData.animationQueue&&SCENE.camera.userData.animationQueue.length>0){processAnimationQueue(SCENE.camera)}if(enableWorldGradientAnimation){animateWorldPlane()}if(enableFog){processAnimationQueue(SCENE.scene.fog)}if(SCENE.cameraMovementSpeed.y!=0){SCENE.camera.position.y+=SCENE.cameraMovementSpeed.y;SCENE.cameraMovementSpeed.y*=.98}if(SCENE.cameraMovementSpeed.x!=0){SCENE.camera.position.x+=SCENE.cameraMovementSpeed.x;SCENE.cameraMovementSpeed.x*=.98}if(SCENE.cameraMovementSpeed.z!=0){SCENE.camera.position.z+=SCENE.cameraMovementSpeed.z;SCENE.cameraMovementSpeed.z*=.98}SCENE.renderer.render(SCENE.scene,SCENE.camera);n=n%r};requestAnimationFrame(o);function e(){let e=window.innerWidth/window.innerHeight;SCENE.camera.aspect=e;SCENE.renderer.setSize(window.innerWidth,window.innerHeight);SCENE.camera.updateProjectionMatrix()}window.addEventListener("resize",e,false);e();document.addEventListener("keydown",function(e){if(e.key==="o"){if(SCENE.camera.zoom>.6){SCENE.camera.zoom-=.003;SCENE.camera.updateProjectionMatrix()}}if(e.key==="i"){if(SCENE.camera.zoom<2.5){SCENE.camera.zoom+=.003;SCENE.camera.updateProjectionMatrix()}}})}getThreeJS().then(t=>{eval(t.slice(156,t.length-22));initImprovedNoise();initOBJLoader();init();setTimeout(2e3,dataUpdate());setInterval(dataUpdate,12e3);setInterval(updateScene,12e3)});window.onkeydown=function(e){if(e.keyCode===77){document.querySelector("body").insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change node URL:</p><input id="prompt" class="prompt" value="${NODE_URLS[0]}"/></div>`)}else if(e.keyCode===13){p=document.getElementById("prompt");NODE_URLS=[p.value];pc=document.getElementById("prompt-container");pc.remove()}else if(e.keyCode===27){pc=document.getElementById("prompt-container");pc.remove()}};function hashString(t){let a=5381;for(let e=0;e<t.length;e++){a=a*33^t.charCodeAt(e)}return a>>>0}function rand(t,a,e=.001){if(t==a){return t}if(t>a){let e=t;t=a;a=e}const i=randomNumberGenerator.random();const n=(a-t)/e+e;const r=Math.floor(i*n)*e;return t+r}function randS(t,a,e=.001){if(t==a){return t}if(t>a){let e=t;t=a;a=e}const i=randomNumberGeneratorSeeded.random();const n=(a-t)/e+e;const r=Math.floor(i*n)*e;return t+r}function randFromRange(e){return rand(e[0],e[1],e[2])}function randFromRangeS(e){let t=randS(e[0],e[1],e[2]);return[t,t,1]}function randFromRangeS2(e){return randS(e[0],e[1],e[2])}function shuffle(t){for(let e=t.length-1;e>0;e--){const a=Math.floor(randomNumberGenerator.random()*(e+1));[t[e],t[a]]=[t[a],t[e]]}return t}function shuffleS(t){for(let e=t.length-1;e>0;e--){const a=Math.floor(randS(0,1,.01)*e);[t[e],t[a]]=[t[a],t[e]]}return t}function pick(e){return e[rand(0,e.length-1,1)]}function pickS(e){return e[randS(0,e.length-1,1)]}function pickS2(e){let t=JSON.parse(JSON.stringify(e));shuffleS(t);if(t.length==1){let e=t.pop();return[e,e]}v1=t.pop();v2=t.pop();v3=v2;while(v1==v2){if(t.length==0){v2=v3;break}v2=t.pop()}return[v1,v2]}function numberOfShapesMinMax(e){return Array.isArray(e)?randFromRangeS(e)[0]:e}function pickFromProbabilityArrayS(e){let t=JSON.parse(JSON.stringify(e));shuffleS(t);let a=0;let i=-1;let n=null;let r=randS(0,1,.01);for(let e=0;e<t.length;e++){a+=t[e][0];if(r<a){return t[e][1]}else if(t[e][0]>i){i=t[e][0];n=t[e]}}return n[1]}function pickFromProbabilityMapS(e){let t=JSON.parse(JSON.stringify(e));shuffleS(t);let a=0;let i=-1;let n=null;let r=randS(0,1,.01);for(let e=0;e<t.length;e++){a+=t[e].probability;if(r<a){return t[e]}else if(t[e].probability>i){i=t[e].probability;n=t[e]}}return n}function smallerRange(e,t){e=randFromRangeS(e);return[e[0]-t,e[0]+t,e[2]]}function overwriteAxis(){let e=randFromRangeS(hashOverwrites.axisAngle)[0];let t=randFromRangeS(hashOverwrites.axisAngle)[0];let i=shuffleS([[e-2,e+2,1],[e-2,e+2,1],[e-2,e+2,1],[t-2,t+2,1],[t-2,t+2,1],[t-2,t+2,1],[t-2,t+2,1]]);for(let a=0;a<Axis.length;a++){let e=Axis[a];let t=i.pop();e.name=`axis${a+1}`;e.axisAngle=t;e.originalAxisAngle=t;e.axisExtremeAngle=undefined;e.extremeAngleEnabledTimestamp=undefined;e.axisX=smallerRange(hashOverwrites.axisX,5);e.axisY=smallerRange(hashOverwrites.axisY,5);e.axisZ=smallerRange(hashOverwrites.axisZ,5)}}function populatePalette(){if(traitsPalette){SCENE.palette=palettes[traitsPalette[0]]}else{palettes=shuffleS(palettes);SCENE.palette=palettes.pop()}worldGradientColors=[[SCENE.palette.gradient[2],SCENE.palette.gradient[0]],[SCENE.palette.gradient[3],SCENE.palette.gradient[1]]];fogColor=pickS(SCENE.palette.colors.filter(e=>{return e!=SCENE.palette.gradient[0]&&e!=SCENE.palette.gradient[1]}))}function populateAxisExtraShapes(){let t=Object.keys(materialTemplates);let a=-1;for(shapeType in extraShapes){a++;shapeParams=extraShapes[shapeType];shapeParams.originalNumberOfShapes=shapeParams.numberOfShapes;shapeParams.numberOfShapes=randS(shapeParams.numberOfShapes[0],shapeParams.numberOfShapes[1]||shapeParams.numberOfShapes[0],1);shapeParams.material=pickFromProbabilityArrayS(shapeParams.material);if(traitsObjects){for(let e=0;e<traitsObjects.length;e+=3){if(traitsObjects[e]==a){shapeParams.axisToBeAddedTo=[pick(shapeParams.axis)];shapeParams.material=t[traitsObjects[e+1]]}}}else{for(let e=0;e<Axis.length;e++){shapeParams.axisToBeAddedTo=[pick(shapeParams.axis)]}}if(shapeParams.extraAxis&&shapeParams.extraAxis.length>0){if(!shapeParams.axisToBeAddedTo){shapeParams.axisToBeAddedTo=[pick(shapeParams.extraAxis)]}else{shapeParams.axisToBeAddedTo.push(pick(shapeParams.extraAxis))}}if(shapeParams.secondColor){let e=pickS(SCENE.palette.colors);if(Array.isArray(e)){e=e[0]}shapeParams.secondColor=e}}for(shapeType in extraShapes){if(shapeType=="knot"){shapeParams=extraShapes[shapeType];if(Array.isArray(shapeParams.material)){shapeParams.material=pickFromProbabilityArrayS(shapeParams.material)}}}for(let e=0;e<Axis.length;e++){Axis[e].extraShapes={};for(shapeType in extraShapes){shapeParams=JSON.parse(JSON.stringify(extraShapes[shapeType]));if(shapeParams.axisToBeAddedTo&&shapeParams.axisToBeAddedTo.indexOf(e+1)>-1){if(!traitsObjects&&randS(0,1,.01)<1-shapeParams.probability){continue}Axis[e].extraShapes[shapeType]=shapeParams}}}}function populateAbstractMaterials(){for(let p in materialTemplates){let t=materialTemplates[p];t={color:t[0],wireframe:t[2],shininess:t[1],enableTexture:t[3],textureColorVariant:pickS(t[4]),textureSize:t[13],textureNoiseSize:t[14],textureBase:t[11],textureMultiplier:t[12],textureBumpAmount:t[16],enableTextureBump:t[15],textureOffset:t[10],textureScale:t[8],textureRecolor:t[7],textureRotation:t[9],useTextureTransparency:t[6],textureBumpVariant:t[5]};let e=pickS2(SCENE.palette.colors);let a=e[0];let i=e[1];t.color=a;t.textureRecolor=i;let n=[undefined,undefined];let r=t.color;let o=false;if(typeof t.wireframe=="boolean"){o=t.wireframe}else{o=randS(0,1,.01)>1-t.wireframe}let s=t.shininess;let l=undefined;if(typeof t.enableTexture=="number"){t.enableTexture=randS(0,1,.001)>1-t.enableTexture}if(t.enableTexture){if(["simple","perlin3","simplex3"].indexOf(t.textureColorVariant)>=0){let e=makePerlinTexture(t.textureSize[0],t.textureSize[1],t.textureNoiseSize[0],t.textureNoiseSize[1],t.textureBase,t.textureMultiplier,true,t.textureBumpAmount,t.textureColorVariant);n[0]=e[0];if(t.enableTextureBump){n[1]=e[1]}}else if(t.textureColorVariant in base64Textures){let e=loadTextureRecolor(t.textureColorVariant,t.textureOffset[0],t.textureOffset[1],t.textureScale[0],t.textureScale[1],t.textureRecolor,r,t.textureRotation);if(t.useTextureTransparency){l=loadTextureRecolor(t.textureColorVariant,t.textureOffset[0],t.textureOffset[1],t.textureScale[0],t.textureScale[1],"#FFFFFF","#000000",t.textureRotation)}n[0]=e;if(t.enableTextureBump){if(t.textureColorVariant==t.textureBumpVariant){n[1]=e}else{let e=makePerlinTexture(t.textureSize[0],t.textureSize[1],t.textureNoiseSize[0],t.textureNoiseSize[1],t.textureBase,t.textureMultiplier,true,t.textureBumpAmount,t.textureColorVariant);n[1]=e[0]}}}}let c={type:"phong",color:r,side:THREE.DoubleSide,wireframe:o,shininess:s,map:n[0],bumpMap:n[1],alphaMap:l};let f=makeMaterial(c);f.userData.name=p;materialTemplates[p]=f}}function vertexIndexSequence(n){n-=1;let r=[];for(let i=0;i<n;i++){let e=i;let t=i+1;let a=n-i;if(t==a){t++}r=r.concat(e,t,a)}return r}function makeExtrudeShapeMesh(e,t,a,i){function n(t){let a=new THREE.Shape;for(let e=0;e<t.length;e++){if(e==0){a.moveTo(t[e][0],t[e][1])}else{a.lineTo(t[e][0],t[e][1])}}return a}let r=n(e);if(t.length>0){let e=n(t);r.holes.push(e)}let o=new THREE.ExtrudeGeometry(r,a);let s=new THREE.Mesh(o,i);return s}function makeFrame(e,t,a,i,n,r,o,s){let l=[[t,a],[t,-a],[-t,-a],[-t,a]];let c={steps:2,depth:n,bevelEnabled:false};let f=[];for(let a of l){let e=a[0]<0?a[0]+i:a[0]-i;let t=a[1]<0?a[1]+i:a[1]-i;f.push([e,t])}let p=makeExtrudeShapeMesh(l,f,c,e);if(o){p.position.set(o[0],o[1],o[2])}if(r){p.scale.set(r[0],r[1],r[2])}if(s){p.rotation.set(THREE.MathUtils.degToRad(s[0]),THREE.MathUtils.degToRad(s[1]),THREE.MathUtils.degToRad(s[2]))}return p}function makeRectangle(e,t,a,i,n,r,o){let s=[[t,a],[t,-a],[-t,-a],[-t,a]];let l={steps:2,depth:i,bevelEnabled:false};let c=makeExtrudeShapeMesh(s,[],l,e);if(r){c.position.set(r[0],r[1],r[2])}if(n){c.scale.set(n[0],n[1],n[2])}if(o){c.rotation.set(THREE.MathUtils.degToRad(o[0]),THREE.MathUtils.degToRad(o[1]),THREE.MathUtils.degToRad(o[2]))}return c}function makeArrow(e,t,a,i,n,r,o,s,l=0){if(l==0){var c=[[4.23,.1],[.65,8.65],[-3.48,-.71],[-.4,.84],[-.97,-6.59],[.73,-6.52],[1.02,1.08]]}else if(l==1){var c=[[-4-.13,0-1],[.65,8.65],[-3.48,-.71],[-.4,-.84],[-.07,-.09],[.73,-.52],[1.02,1.08]]}else if(l==2){var c=[[-4-.13,0-1],[.65,1.55,8.65,3.56,.22],[-3.48,-.71],[-.4,-.84],[-.07,-.09],[.73,-.52],[1.02,1.08]]}else if(l==3){var c=[[-14-.13,10-1],[.65,-1.55,8.65,-3.56,.22],[-13.48,10.71],[-20.4,-.84],[-.07,-.09],[2.73,-.52],[1.02,1.08]]}let f={steps:2,depth:t,bevelEnabled:true,bevelThickness:a,bevelSize:i,bevelOffset:0,bevelSegments:n};let p=makeExtrudeShapeMesh(c,[],f,e);if(o){p.position.set(o[0],o[1],o[2])}if(r){p.scale.set(r[0],r[1],r[2])}if(s){p.rotation.set(THREE.MathUtils.degToRad(s[0]),THREE.MathUtils.degToRad(s[1]),THREE.MathUtils.degToRad(s[2]))}return p}function makeKnot(e,t,a,i,n,r,o,s,l,c){const f=new THREE.TorusKnotGeometry(t,a,i,n,r,o);f.computeVertexNormals();const p=new THREE.Mesh(f,e);if(l){p.position.set(l[0],l[1],l[2])}if(s){p.scale.set(s[0],s[1],s[2])}if(c){p.rotation.set(THREE.MathUtils.degToRad(c[0]),THREE.MathUtils.degToRad(c[1]),THREE.MathUtils.degToRad(c[2]))}return p}function makeMaterial(e={type:undefined,color:undefined,side:undefined,wireframe:undefined,shininess:undefined,map:undefined,bumpMap:undefined,alphaMap:undefined}){let t={color:e.color?e.color:"#FFFFFF",side:e.side,wireframe:e.wireframe,shininess:e.shininess};if(e.map){t.map=e.map;if(e.alphaMap){t.alphaMap=e.alphaMap;t.alphaTest=.8;t.premultipliedAlpha=true}}if(e.bumpMap){t.bumpMap=e.bumpMap}let a=new THREE.MeshPhongMaterial(t);a.userData.used=false;return a}function loadTextureRecolor(e,t,a,i,n,r=undefined,o=undefined,s=undefined){var l=document.createElement("canvas");l.width=128;l.height=128;var c=l.getContext("2d");var f=new THREE.Texture(l);var p=new Image;p.src=`data:image/png;base64,${base64Textures[e]}`;p.onload=function(){c.globalCompositeOperation="copy";c.drawImage(p,0,0,l.width,l.height);if(r){c.globalCompositeOperation="source-in";c.fillStyle=r;c.fillRect(0,0,l.width,l.height)}c.globalCompositeOperation="destination-atop";c.fillStyle=o;c.fillRect(0,0,l.width,l.height);f.wrapS=THREE.RepeatWrapping;f.wrapT=THREE.RepeatWrapping;if(t&&a){f.offset.set(t,a)}if(i&&n){f.repeat.set(i,n)}if(s){f.rotation=THREE.MathUtils.degToRad(s)}f.needsUpdate=true};return f}function generateHeight(t,e){let a=Math.PI/4;window.Math.random=function(){const e=Math.sin(a++)*1e4;return e-Math.floor(e)};const i=t*e,n=new Uint8Array(i);const r=new THREE.ImprovedNoise,o=Math.random()*100;let s=1;for(let e=0;e<4;e++){for(let e=0;e<i;e++){const l=e%t,c=~~(e/t);n[e]+=Math.abs(r.noise(l/s,c/s,o)*s*1.75)}s*=5}return n}function makeTerrain(e,t,i,n,a,r,o,s=0,l,c){const f=t,p=i;if(s==0){const g=generateHeight(f,p);var d=new THREE.PlaneGeometry(t,i,f-1,p-1);const h=d.attributes.position.array;d.rotateX(-Math.PI/2);for(let e=0,t=0,a=h.length;e<a;e++,t+=3){h[t+1]=g[e]*n}}else if(s==1){var d=new THREE.BoxGeometry(t,i,c,f-1,p-1,1);d.rotateX(-Math.PI/2);const h=d.attributes.position.array;let a={};for(let t=0;t<h.length-3;t++){let e=`${h[t]}_${h[t+1]}_${h[t+2]}`;if(a[e]){a[e].push(t)}else{a[e]=[t]}}let n=[];for(let e of Object.keys(a)){if(a[e].length>1){n.push(a[e])}}for(let e=0,i=0,t=h.length;e<t;e++,i+=3){let e=false;let a=randFromRange(l);for(let t=0;t<n.length;t++){if(n[t]&&n[t].indexOf(i)>-1){for(let e of n[t]){h[e+1]+=a}e=true}}if(!e){h[i+1]+=randFromRange(l)}}}let u=new THREE.Mesh(d,e);let m=n*100;if(r){u.position.set(r[0]-f/10,r[1]-m,r[2])}if(a){u.scale.set(a[0],a[1],a[2])}if(o){u.rotation.set(THREE.MathUtils.degToRad(o[0]),THREE.MathUtils.degToRad(o[1]),THREE.MathUtils.degToRad(o[2]))}return u}function makeCloud(t,a,i,n,r,o,e,s,l){let c=new THREE.Group;const f=new THREE.SphereGeometry(1,16,16);for(let e=0;e<r;e++){const p=new THREE.Mesh(f,t);const d=Math.random()*a;const u=Math.random()*i;const m=Math.random()*n;p.position.set(d,u,m);let e=randFromRange(o);p.scale.set(e,e,e);c.add(p)}if(s){c.position.set(s[0],s[1],s[2])}if(e){c.scale.set(e[0],e[1],e[2])}if(l){c.rotation.set(THREE.MathUtils.degToRad(l[0]),THREE.MathUtils.degToRad(l[1]),THREE.MathUtils.degToRad(l[2]))}return c}function makeAnimationForQueue(e,t,a,i,n,r=.3){n=n<0?n*-1:n;let o={attribute:e,from:t,current:t,to:a,"final":i,speed:n,counter:0,curve:r};if(e=="color"){t=typeof t==="string"?t:"#"+t.getHex().toString(16);a=Array.isArray(a)?a:[a];o.colorInterpolator=new ColorInterpolator([t].concat(a),n)}return o}function processAnimationQueue(t){if(t.userData.animationQueue==undefined||t.userData.animationQueue.length==0){return}if(t.isCamera){if(t.position.z<25||t.position.z>155){t.userData.animationQueue.splice(0,1);return}}if(!t.userData.animationQueue[0].direction){if(Array.isArray(t.userData.animationQueue[0].from)){t.userData.animationQueue[0].direction=[];for(let e=0;e<t.userData.animationQueue[0].from.length;e++){t.userData.animationQueue[0].direction.push(t.userData.animationQueue[0].from[e]>t.userData.animationQueue[0].to[e]?-1:1)}}else{t.userData.animationQueue[0].direction=t.userData.animationQueue[0].from>t.userData.animationQueue[0].to?-1:1}}let a=t.userData.animationQueue[0];if(a.counter>1e4){t.userData.animationQueue.splice(0,1);return}else{a.counter++}if(a.attribute=="color"){if(t.color){let e=new THREE.Color(a.colorInterpolator.nextColor());t.color=e;if(a.colorInterpolator.looped){t.userData.animationQueue.splice(0,1);return}}else{}return}if(Array.isArray(a.from)){for(let e=0;e<a.from.length;e++){if(a.direction[e]==-1&&a.current[e]<=a.to[e]||a.direction[e]==1&&a.current[e]>=a.to[e]){t.userData.animationQueue.splice(0,1);return}if(a.from[e]>a.to[e]){a.current[e]-=a.speed}else{a.current[e]+=a.speed}}}else{if(a.attribute=="scale"){a.current=Math.max(t.scale.x,t.scale.y,t.scale.z)}else if(a.attribute=="rotationSpeed"){a.current=t.userData.rotationSpeed}else if(a.attribute=="distance"){a.current=t.position.x}else if(a.attribute=="x"){a.current=t.position.x}else if(a.attribute=="y"){a.current=t.position.y}else if(a.attribute=="z"){a.current=t.position.z}else if(a.attribute=="near-far"){a.current[0]=t.near;a.current[1]=t.far}else if(a.attribute=="angleX"){a.current=t.rotation.x}else if(a.attribute=="angleY"){a.current=t.rotation.y}else if(a.attribute=="angleZ"){a.current=t.rotation.z}if(a.direction==-1&&a.current<=a.to||a.direction==1&&a.current>=a.to){t.userData.animationQueue.splice(0,1);return}if(a.from>=a.to){a.current-=a.speed}else{a.current+=a.speed}}if(t.userData.name=="camera"){a.current=Number(a.current.toFixed(5))}if(a.attribute=="scale"){if(Array.isArray(a.from)){t.scale.set(a.current[0],a.current[1],a.current[2])}else{t.scale.set(a.current,a.current,a.current)}if(Array.isArray(t.material)){for(let e=0;e<t.material.length;e++){if(t.material[e].map){t.material[e].map.needsUpdate=true}}}else{if(t.material&&t.material.map){t.material.map.needsUpdate=true}}}else if(a.attribute=="rotationSpeed"){t.userData.rotationSpeed=a.current}else if(a.attribute=="distance"){t.position.x=a.current}else if(a.attribute=="x"){t.position.x=a.current}else if(a.attribute=="y"){t.position.y=a.current}else if(a.attribute=="z"){t.position.z=a.current}else if(a.attribute=="near-far"){t.near=a.current[0];t.far=a.current[1]}else if(a.attribute=="angleX"){t.rotation.x=a.current}else if(a.attribute=="angleY"){t.rotation.y=a.current}else if(a.attribute=="angleZ"){t.rotation.z=a.current}}function processAnimationLoop(a){if(a.userData.animationLoop.length==0){return}for(let t of a.userData.animationLoop){if(t.attribute=="color"){if(a.color){let e=new THREE.Color(t.colorInterpolator.nextColor());a.color=e;if(t.colorInterpolator.looped){a.userData.animationQueue.splice(0,1);return}}else{}return}if(t.attribute=="scale"){t.current=Math.max(a.scale.x,a.scale.y,a.scale.z)}else if(t.attribute=="rotationSpeed"){t.current=a.userData.rotationSpeed}else if(t.attribute=="distance"){t.current=a.position.x}else if(t.attribute=="x"){t.current=a.position.x}else if(t.attribute=="y"){t.current=a.position.y}else if(t.attribute=="z"){t.current=a.position.z}else if(t.attribute=="near-far"){t.current[0]=a.near;t.current[1]=a.far}else if(t.attribute=="angleX"){t.current=a.rotation.x}else if(t.attribute=="angleY"){t.current=a.rotation.y}else if(t.attribute=="angleZ"){t.current=a.rotation.z}if(t.from>=t.to){t.current-=t.speed}else{t.current+=t.speed}if(t.attribute=="scale"){a.scale.set(t.current,t.current,t.current);if(Array.isArray(a.material)){for(let e=0;e<a.material.length;e++){if(a.material[e].map){a.material[e].map.needsUpdate=true}}}else{if(a.material.map){a.material.map.needsUpdate=true}}}else if(t.attribute=="rotationSpeed"){a.userData.rotationSpeed=t.current}else if(t.attribute=="distance"){a.position.x=t.current}else if(t.attribute=="x"){a.position.x=t.current}else if(t.attribute=="y"){a.position.y=t.current}else if(t.attribute=="z"){a.position.z=t.current}else if(t.attribute=="near-far"){a.near=t.current[0];a.far=t.current[1]}else if(t.attribute=="angleX"){a.rotation.x=t.current}else if(t.attribute=="angleY"){a.rotation.y=t.current}else if(t.attribute=="angleZ"){a.rotation.z=t.current}}}function interpolateColors(e,t,i){const a=e=>[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)];const n=e=>"#"+e.map(e=>Math.round(e).toString(16).padStart(2,"0")).join("");const r=a(e);const o=a(t);const s=r.map((e,t)=>{const a=o[t];return Math.round(e+(a-e)*i)});return n(s)}class ColorInterpolator{constructor(e,t){this.colorsArray=e;this.activePairIndex=[0,1];this.speed=t;this.state=0;this.looped=false}nextColor(){let e=interpolateColors(this.colorsArray[this.activePairIndex[0]],this.colorsArray[this.activePairIndex[1]],this.state);this.state+=this.speed;if(this.state>=1){this.state=0;if(this.activePairIndex[1]>=this.colorsArray.length){this.activePairIndex=this.activePairIndex.map(e=>e+1)}else{this.activePairIndex=[0,1];this.looped=true}}return e}}function createConeGeometry(e,t,o,s,l,a){if(!l){l={}}const i=new THREE.BufferGeometry;let c=[];let n=[];const f=0;const p=e;for(let r=0;r<=s;r++){const h=r/s*t;const E=p+h/t*(f-p);for(let n=0;n<=o;n++){let t=h;let e=n/o*Math.PI*2;let a=E*Math.cos(e);let i=E*Math.sin(e);if(l.curveBaseCone){let e=(s-r)*l.baseCurveFactor;t-=Math.abs(Math.pow(a,2))*e}c.push(a,t,i)}}for(let t=0;t<s;t++){for(let e=0;e<o;e++){const S=t*(o+1)+e;const v=S+o+1;if(e==0){var r=S;var d=v}if(e<o-1){n.push(S,v,S+1);n.push(v,v+1,S+1)}else{n.push(S,v,r);n.push(v,d,r)}}}let u=0;let m=100;let g=0;for(let e=2;e<o*3;e+=3){g++;if(c[e]<u){u=g;m=c[e]}}c.indexOf(Math.min(c.slice(0,o)));if(!a){c=c.slice(0,o*3).concat(c);n=n.map(e=>e+o);let t=Math.abs(o/2);if(l.curveBaseCone){n=n.concat(vertexIndexSequence(o))}else{for(let e=0;e<t;e+=1){n.push(e,e+1,t);n.push(e+t,e+t+1,t)}}}i.setAttribute("position",new THREE.Float32BufferAttribute(c,3));i.deleteAttribute("normal");i.deleteAttribute("uv");i.setIndex(n);i.computeVertexNormals();return i}function makeCone(e,t,a,i,n,r,o,s,l,c){const f=createConeGeometry(t,a,i,n,c,r);const p=new THREE.ConeGeometry(t,a,i,n);f.setAttribute("uv",p.getAttribute("uv"));f.uvsNeedUpdate=true;f.normalsNeedUpdate=true;const d=new THREE.Mesh(f,e);if(s){d.position.set(s[0],s[1],s[2])}if(o){d.scale.set(o[0],o[1],o[2])}if(l){d.rotation.set(THREE.MathUtils.degToRad(l[0]*2),THREE.MathUtils.degToRad(l[1]),THREE.MathUtils.degToRad(l[2]))}if(enableShadows){d.castShadow=true;d.receiveShadow=true}d.userData.material=e;return d}function meanPositionOfPivots(e){let t=e.map(e=>e.position.x);t=t.reduce((e,t)=>e+t,0)/t.length;let a=e.map(e=>e.position.y);a=a.reduce((e,t)=>e+t,0)/a.length;let i=e.map(e=>e.position.z);i=i.reduce((e,t)=>e+t,0)/i.length;return[t,a,i]}function meanRotationOfPivots(e){let t=e.map(e=>e.rotation.x);t=t.reduce((e,t)=>e+t,0)/t.length;let a=e.map(e=>e.rotation.y);a=a.reduce((e,t)=>e+t,0)/a.length;let i=e.map(e=>e.rotation.z);i=i.reduce((e,t)=>e+t,0)/i.length;return[t,a,i]}function createNegativeSpace(a,e=undefined,t=true,i=0,n=0){a.creatingNegativeSpace=true;setTimeout(()=>{a.creatingNegativeSpace=false},3e4);let r=randFromRange(a.negativeSpaceX);let o=randFromRange(a.ne
jb_mass_main1scale",[e.scale.x,e.scale.y,e.scale.z],[t,t,t],[t,t,t],a,i);if(e.userData.animationQueue==undefined){e.userData.animationQueue=[]}e.userData.animationQueue.push(n)}function addNewShape(e,t,a,i,n=false){for(ax of Axis){shapeParams=extraShapes[a];if(ax.name==e){if(n){let t=false;for(let e of ax.pivots){if(e.userData.name.slice(0,a.length)==a){t=true;break}}if(!t){continue}}if(shapeParams.cone){addConeToAxis(ax,t,shapeParams,i,a);return}else{if(a.includes("terrain")){i*=terrainsAppearAndDisappearMultiplier}if(a.includes("knot")){i*=knotsAppearAndDisappearMultiplier}addExtraShapeToAxis(ax,t,a,shapeParams,i)}}}}function rotateAxis(t,a,i,n,r=1,o=.1){for(let e of Axis){if(e.name==t){if(e.mainPivot.userData.animationQueue==undefined){e.mainPivot.userData.animationQueue=[]}if(a!==undefined){a=THREE.MathUtils.degToRad(a);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("angleX",e.mainPivot.rotation.x,a,a,r,o))}if(i!==undefined){i=THREE.MathUtils.degToRad(i);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("angleY",e.mainPivot.rotation.y,i,i,r,o))}if(n!==undefined){n=THREE.MathUtils.degToRad(n);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("angleZ",e.mainPivot.rotation.z,n,n,r,o))}}}}function moveAxis(t,a,i,n,r=1,o=.1){for(let e of Axis){if(e.name==t){if(e.mainPivot.userData.animationQueue==undefined){e.mainPivot.userData.animationQueue=[]}if(a!==undefined){a=THREE.MathUtils.degToRad(a);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("x",e.mainPivot.position.x,a,a,r,o))}if(i!==undefined){i=THREE.MathUtils.degToRad(i);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("y",e.mainPivot.position.y,i,i,r,.1))}if(n!==undefined){n=THREE.MathUtils.degToRad(n);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("z",e.mainPivot.position.z,n,n,r,.1))}}}}function getObjectVertexXYZ(e,a,i){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==a){for(child of e.children){let e=child.geometry.getAttribute("position");if(i==undefined){i=rand(0,e.count,1)}let t=new THREE.Vector3(e.getX(i),e.getY(i),e.getZ(i));t.applyMatrix4(child.matrixWorld);return t}}}}}}function addRotationLoop(a,e,n,r){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==a){for(let i of e.children){if(i.userData.name==a){let e;let t;if(n=="X"){e="angleX";t=i.rotation.x}else if(n=="Y"){e="angleY";t=i.rotation.y}else if(n=="Z"){e="angleZ";t=i.rotation.z}let a=makeAnimationForQueue(e,t,t+1,t+1,r,undefined);if(i.userData.animationLoop===undefined){i.userData.animationLoop=[]}i.userData.animationLoop.push(a)}}}}}}}function removeRotationLoop(i,e,n){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==i){for(let a of e.children){if(a.userData.name==i){if(a.userData.animationLoop){let t;if(n=="X"){t="angleX"}else if(n=="Y"){t="angleY"}else if(n=="Z"){t="angleZ"}for(let e=0;e<a.userData.animationLoop.length;e++){if(a.userData.animationLoop[e].attribute==t){a.userData.animationLoop.splice(e,1);return}}}}}}}}}}async function walletActivityUpdates(e){try{return await getLastBlockReceipts(e)}catch(t){}}function disableAxis(t,a=.01){t.enabled=false;for(let e of t.pivots){if(!e.userData.originalScale){e.userData.originalScale=e.scale.x}updateObjectScale2(e,0,a)}}function enableAxis(e,a=.01){e.enabled=true;for(let t of e.pivots){t.scale.set(0,0,0);updateObjectScale2(t,t.userData.originalScale,a);for(let e of t.children){e.visible=true}}}function axisHasAnimatingPivots(t){for(let e of t.pivots){if(e.userData.animationQueue&&e.userData.animationQueue.length>0){return true}}return false}function setAxisInvisibleAndDisabled(e){e.enabled=false;for(let t of e.pivots){t.userData.originalScale=t.scale.x;t.scale.set(0,0,0);for(let e of t.children){e.visible=false}}}function disappearPivot(e,t=.01,a=false,i=undefined,n=undefined){e.userData.disabled=true;if(a){e.userData.toBeRemovedAfterShrink=true}if(!e.children[0].userData.originalScale){e.children[0].userData.originalScale=JSON.parse(JSON.stringify(e.children[0].scale))}if(e.userData.name.includes("terrain")){t*=terrainsAppearAndDisappearMultiplier}if(e.userData.name.includes("knot")){t*=knotsAppearAndDisappearMultiplier}if(i){e.userData.delayedDisappear=true;setTimeout(()=>{e.userData.shrinkDown=t;e.userData.delayedDisappear=false;e.userData.disappearCallback=n},rand(i[0],i[1],1))}else{e.userData.shrinkDown=t;e.userData.disappearCallback=n}}function disappearObjects(i,n=.01,r=false,o=undefined,s=undefined,l=undefined){let c=0;for(let e=0;e<500;e++){let e=Axis[rand(0,Axis.length-1,1)];if(!e.enabled||!e.pivots||e.pivots.length==0){continue}let t=rand(0,e.pivots.length-1,1);let a=e.pivots[t];if(a.userData.shrinkDown||a.userData.growUp){if(o!="E"){continue}}if(s&&a.userData.shapeType!=s){continue}if(o&&a.userData.name.slice(0,o.length)!=o){continue}if(a.userData.disabled){if(o!="E"&&!r){continue}}if(a.userData.delayedDisappear||a.userData.delayedAppear){continue}disappearPivot(a,n,r,l);c++;if(c>=i){return c}}return c}function disappearObjectsByType(e,t=.01,a=false,i=undefined,n=undefined,r=undefined){let o=0;for(ax of Axis){for(pivot of ax.pivots){if(n&&pivot.userData.shapeType!=n){continue}if(i&&pivot.userData.name.slice(0,i.length)!=i){continue}pivot.userData.growUp=undefined;disappearPivot(pivot,t,a,r);o++;if(e){if(o>=e){return o}}}}return o}function appearObjects(a,i=.01,e=.3,n=undefined){let r=0;for(let e=0;e<500;e++){let e=Axis[rand(0,Axis.length-1,1)];if(!e.enabled||!e.pivots||e.pivots.length==0){continue}let t=e.pivots[rand(0,e.pivots.length-1,1)];if(t.userData.shrinkDown||t.userData.growUp){continue}if(t.userData.delayedDisappear||t.userData.delayedAppear){continue}if(!t.userData.disabled){continue}t.userData.disabled=false;if(t.userData.name.includes("terrain")){i*=terrainsAppearAndDisappearMultiplier}if(t.userData.name.includes("knot")){i*=knotsAppearAndDisappearMultiplier}if(n){t.userData.delayedAppear=true;setTimeout(()=>{t.userData.growUp=i;t.userData.delayedAppear=false},rand(n[0],n[1],1))}else{t.userData.growUp=i}r++;if(r>=a){break}continue}return r}function pickAxis(t,a=[],i=false,n=false){for(let e=0;e<100;e++){let e=rand(0,Axis.length-1,1);if(!Axis[e].pivots||Axis[e].pivots.length==0){continue}if(n&&Axis[e].extraShapes.size==0){continue}if(a.indexOf(e)!=-1||i&&Axis[e].extremeAngle){continue}if(Axis[e].enabled==t){return Axis[e]}}}function getLoopingObjects(){let a=[];for(let t of Axis){if(t.enabled){for(let e of t.pivots){if(e.children[0].userData.animationLoop||e.userData.animationLoop){a.push([t.name,e])}}}}return a}function getNotLoopingObjects(){let a=[];for(let t of Axis){if(t.enabled){for(let e of t.pivots){if(!e.children[0].animationLoop){a.push([t.name,e])}}}}return a}function animateFog(){if(SCENE.scene.fog.userData){if(SCENE.scene.fog.userData.nearTo){if(SCENE.scene.fog.near<SCENE.scene.fog.userData.nearTo){SCENE.scene.fog.near+=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.near=parseFloat(SCENE.scene.fog.near.toFixed(5))}else if(SCENE.scene.fog.near>SCENE.scene.fog.userData.nearTo){SCENE.scene.fog.near-=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.near=parseFloat(SCENE.scene.fog.near.toFixed(5))}else{SCENE.scene.fog.userData.nearTo=undefined}}if(SCENE.scene.fog.userData.farTo){if(SCENE.scene.fog.far<SCENE.scene.fog.userData.farTo){SCENE.scene.fog.far+=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.far=parseFloat(SCENE.scene.fog.far.toFixed(5))}else if(SCENE.scene.fog.far>SCENE.scene.fog.userData.farTo){SCENE.scene.fog.far-=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.far=parseFloat(SCENE.scene.fog.far.toFixed(5))}else{SCENE.scene.fog.userData.farTo=undefined}}if(SCENE.scene.fog.near>SCENE.scene.fog.far){SCENE.scene.fog.far=SCENE.scene.fog.near+1}else if(SCENE.scene.fog.far-SCENE.scene.fog.near<1){SCENE.scene.fog.far=SCENE.scene.fog.near+1}}}function getNShapesWithTypes(){let t=Object.keys(extraShapes);let a={};for(let e of t){a[e]=0}for(let e of Axis){if(e.enabled){for(pivot of e.pivots){if(!pivot.userData.disabled){for(let e of t){if(pivot.userData.shapeType==e){if(a[e]){a[e]++}else{a[e]=1}}}}}}}return a}function pickAxisForShape(t){let a=[];for(let e=0;e<Axis.length;e++){if(Axis[e].enabled&&extraShapes[t].axis.indexOf(e+1)>-1){a.push(e)}}if(a.length>0){return Axis[pick(a)]}}function pivotNotAnimating(e){for(child of e.children){if(child.userData.animationQueue&&child.userData.animationQueue.length>0){return false}}return e.userData.animationQueue&&e.userData.animationQueue.length==0}function pivotIsAppearingOrDisappearing(e){return Boolean(e.userData.shrinkDown||e.userData.growUp||e.userData.delayedDisappear||e.userData.delayedAppear)}function processUpdateTimers(){let t=getCurrentTs();for(let e=0;e<Axis.length;e++){ax=Axis[e];if(e==5||e==6){if(ax.enabled&&ax.TS_ENABLED&&t>ax.TS_ENABLED){disableAxis(ax,dynamicUpdateAnimationSpeeds.axisAppearAndDisappear.speed);ax.TS_ENABLED=undefined}}if(ax.TS_ROTATED&&t>ax.TS_ROTATED){rotateAxis(ax.name,undefined,undefined,ax.originalAngle,dynamicUpdateAnimationSpeeds.axisAngle.speed,dynamicUpdateAnimationSpeeds.axisAngle.curve);ax.TS_ROTATED=undefined}if(ax.TS_ROTATED_EXTREME&&t>ax.TS_ROTATED_EXTREME){rotateAxis(ax.name,undefined,undefined,ax.originalAngle,dynamicUpdateAnimationSpeeds.axisExtremeAngle.speed,dynamicUpdateAnimationSpeeds.axisExtremeAngle.curve);ax.TS_ROTATED_EXTREME=undefined}if(ax.TS_POSITION&&t>ax.TS_POSITION){moveAxis(ax.name,ax.originalPosition[0],ax.originalPosition[1],ax.originalPosition[2],dynamicUpdateAnimationSpeeds.axisPosition.speed,dynamicUpdateAnimationSpeeds.axisPosition.curve);ax.TS_POSITION=undefined}if(ax.TS_NEGATIVESPACE&&t>ax.TS_NEGATIVESPACE){try{removeNegativeSpace(ax);ax.TS_NEGATIVESPACE=undefined}catch(a){}}if(ax.TS_NUMBEROFKNOTS&&t>ax.TS_NUMBEROFKNOTS){let e=0;for(p of ax.pivots){if(p.userData.shapeType=="knot"){e++}}let t=e-ax.originalNumberOfKnots;if(t>0){disappearObjectsByType(300,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,"E","knot")}ax.TS_NUMBEROFKNOTS=undefined}for(let e of ax.pivots){if(e.userData.TS_SPINNING&&t>e.userData.TS_SPINNING){removeRotationLoop(e.userData.name,ax.name,e.userData.spinningAxis);e.userData.TS_SPINNING=undefined}if(ax.TS_KNOTSPQ&&t>ax.TS_KNOTSPQ&&e.userData.name[0]=="E"){extraShapes.knot.p=extraShapes.knot.originalP;extraShapes.knot.q=extraShapes.knot.originalQ;disappearPivot(e,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,()=>{addNewShape(ax.name,`knot_1`,"knot",dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed)});setTimeout(e=>{e.TS_KNOTSPQ=undefined},1e3,ax)}if(e.userData.TS_ROTATIONDIRECTION&&t>e.userData.TS_ROTATIONDIRECTION){switchObjectRotationDirection(e.userData.name,ax.name,dynamicUpdateAnimationSpeeds.axisRotationDirection.speed,dynamicUpdateAnimationSpeeds.axisRotationDirection.curve);e.userData.TS_ROTATIONDIRECTION=undefined}}if(ax.TS_EXTRAOBJECTCLASS&&t>ax.TS_EXTRAOBJECTCLASS){for(pivot of ax.pivots){if(pivot.userData.name.includes("update17")){disappearPivot(pivot,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true)}}ax.TS_EXTRAOBJECTCLASS=undefined}}if(SCENE.camera.userData.TS_POSITION&&t>SCENE.camera.userData.TS_POSITION){updateCameraPosition(undefined,undefined,SCENE.camera.userData.originalPositionZ,dynamicUpdateAnimationSpeeds.cameraPosition.speed,dynamicUpdateAnimationSpeeds.cameraPosition.curve);SCENE.camera.userData.TS_POSITION=undefined}if(SCENE.scene.fog.userData.TS_ENABLED&&t>SCENE.scene.fog.userData.TS_ENABLED){if(SCENE.scene.fog.userData.nearTo){}else{SCENE.scene.fog.userData={nearTo:100,farTo:100};SCENE.scene.fog.enabled=false;SCENE.scene.fog.userData.TS_ENABLED=undefined}}}function updateScene(){try{if(document.hidden){return}}catch(s){}try{processUpdateTimers()}catch(s){}for(let t of Axis){for(let e of t.pivots){if(e.userData.toBeRemoved&&!(e.userData.growUp||e.userData.shrinkDown)){SCENE.scene.remove(e);e.userData.alreadyRemoved=true}}t.pivots=t.pivots.filter(e=>!e.userData.alreadyRemoved)}let l="";if(l){}var e=SCENE.data.contract.tiers.royalty_received_tier;var t=SCENE.data.contract.tiers.contract_activity_tier;var a=SCENE.data.contract.tiers.sends_tier;var i=SCENE.data.contract.tiers.approvals_tier;l="";let n=shuffle([1,2,3,4,8,9,10,11,14,16,17]);let r=[];if(SCENE.data.memory){if(!SCENE.data.memoryPossibleUpdatesRandom){SCENE.data.memoryPossibleUpdatesRandom=n}for(let t=0;t<SCENE.data.memory;t++){SCENE.data.memory--;let e=SCENE.data.memoryPossibleUpdatesRandom.pop();r.push(e);if(t>=1){break}}}else{if(SCENE.data.wallets&&n.length>0){r.push(n.pop());SCENE.data.wallets=undefined}}if(e.changed){r.push(5)}if(t.changed){r.push(13)}if(a.changed){r.push(6)}if(i.changed){r.push(7)}if(r.length==0){r.push(0)}if(r.indexOf(0)!=-1){let a=0;let i=0;for(let t of Axis){for(let e of t.pivots){if(e.userData.disabled){i++}else{a++}}}let e=rand(10,20,1);let t=rand(1,10,1);try{if(a/i<4){t=0}}catch{t=0}let n=0;let r=0;n=appearObjects(e,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed);if(t){r=disappearObjects(t,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed)}l+=`Appeared objects:${n} Dissapeared objects:${r} (${a},${i})\n`}if(r.indexOf(1)!=-1){let e=Axis[pick([5,6])];if(e.enabled){disableAxis(e,dynamicUpdateAnimationSpeeds.axisAppearAndDisappear.speed);l+=`Disabled axis:${e.name}\n`}else{enableAxis(e,dynamicUpdateAnimationSpeeds.axisAppearAndDisappear.speed);l+=`Enabled axis:${e.name}\n`;e.TS_ENABLED=getCurrentTs()+addOrRemoveAxisUpdateTimeout}}if(r.indexOf(2)!=-1){let e=pickAxis(true,[],true);if(e==undefined){return}let t=randFromRange(hashOverwrites.axisAngle);let a=THREE.MathUtils.radToDeg(e.mainPivot.rotation.z);if(!e.originalAngle){e.originalAngle=a}rotateAxis(e.name,undefined,undefined,t,dynamicUpdateAnimationSpeeds.axisAngle.speed,dynamicUpdateAnimationSpeeds.axisAngle.curve);l+=`Changed ${e.name} angle from ${a} to ${t}\n`;e.TS_ROTATED=getCurrentTs()+axisAngleUpdateTimeout}if(r.indexOf(3)!=-1){let e=pickAxis(true,[],true);if(e==undefined){return}let t=THREE.MathUtils.radToDeg(e.centralRodRotation[2]);let a=rand(0,1,.001)>.5?rand(-90,-30,1):rand(30,90,1);let i=THREE.MathUtils.radToDeg(e.mainPivot.rotation.z);if(e.originalAngle==undefined){e.originalAngle=i}e.extremeAngle=a;e.axisAngle=[a,a,1];e.extremeAngleEnabledTimestamp=getCurrentTs();rotateAxis(e.name,undefined,undefined,a,dynamicUpdateAnimationSpeeds.axisExtremeAngle.speed,dynamicUpdateAnimationSpeeds.axisExtremeAngle.curve);l+=`Changed ${e.name} extreme angle from ${t} to ${a}\n`;e.TS_ROTATED_EXTREME=getCurrentTs()+axisExtremeAngleUpdateTimeout}if(r.indexOf(4)!=-1){let e=pickAxis(true,[],false);let t=`${e.centraRodPosition[0]} ${e.centraRodPosition[1]} ${e.centraRodPosition[2]}`;if(!e.originalPosition){e.originalPosition=JSON.parse(JSON.stringify(e.centraRodPosition))}let a=undefined;let i=undefined;let n=undefined;let r=rand(0,2,1);if(r==0){a=randFromRange(hashOverwrites.axisX)}else if(r==1){i=randFromRange(hashOverwrites.axisY)}else{n=randFromRange(hashOverwrites.axisZ)}let o=`${a/20} ${i/20} ${n/20}`;moveAxis(e.name,a,i,n,dynamicUpdateAnimationSpeeds.axisPosition.speed,dynamicUpdateAnimationSpeeds.axisPosition.curve);l+=`Changed ${e.name} position from ${t} to ${o}\n`;e.TS_POSITION=getCurrentTs()+axisPositionUpdateTimeout}if(r.indexOf(5)!=-1){let a=tierToValue(tiersStructure.royalty,e.value);let i=pickAxis(true,[],false);for(let t of i.pivots){let e=t.userData.originalRotationSpeed*a;updateObjectRotationSpeed(t.userData.name,i.name,e,dynamicUpdateAnimationSpeeds.objectRotationSpeed.speed,dynamicUpdateAnimationSpeeds.objectRotationSpeed.curve);l+=`Changed ${i.name} ${t.userData.name} rotation speed from ${t.userData.originalRotationSpeed} to ${e}\n`}}if(r.indexOf(6)!=-1){let i=tierToValue(tiersStructure.sends,a.value);for(ax of Axis){if(ax.enabled){for(let a of ax.pivots){let e=a.userData.originalPosition[0];let t=e*i;updateObjectDistanceFromAxis(a.userData.name,ax.name,t,dynamicUpdateAnimationSpeeds.objectPosition.speed,dynamicUpdateAnimationSpeeds.objectPosition.curve);l+=`Changed ${ax.name} ${a.userData.name} distance from axis from ${e} to ${t}\n`}}}}if(r.indexOf(7)!=-1){let e=tierToValue(tiersStructure.approvals,i.value);if(!SCENE.worldPlane.userData.originalScaleX){SCENE.worldPlane.userData.originalScaleX=SCENE.worldPlane.scale.x}let t=SCENE.worldPlane.userData.originalScaleX*e;updateBackgroundGradientScale(t,dynamicUpdateAnimationSpeeds.gradientScale.speed,dynamicUpdateAnimationSpeeds.gradientScale.curve);l+=`Changed gradient scale from ${SCENE.worldPlane.scale.x} to ${t}\n`}if(r.indexOf(8)!=-1){let r=getLoopingObjects().length;let t=getNotLoopingObjects();shuffle(t);let o=randFromRange(spinningObjectsRange);l+=`N spinning objects: ${r} Desired N spinning objects: ${o}\n`;let s=false;for(let e=0;e<500;e++){for(let n of t){let e=n[0];let t=n[1];if(t.userData.name.includes("terrain")){continue}let a=randFromRange(dynamicUpdateAnimationSpeeds.objectRotationSpeed2.speed);let i="Y";if(t.userData.name.includes("cone")){i="Z";a*=conesSpinningSpeedMultiplier}else if(t.userData.name.includes("knot")){a*=knotsSpinningSpeedMultiplier}if(t.children[0].userData.animationLoop==undefined||t.children[0].userData.animationLoop.length==0){addRotationLoop(t.userData.name,e,i,a);l+=`Adding rotation loop to ${e} ${t.userData.name} speed: ${a}\n`;t.userData.spinningAxis=i;t.userData.TS_SPINNING=getCurrentTs()+objectSpinningUpdateTimeout;r++;if(r>=o){s=true;break}break}}if(s){break}}}if(r.indexOf(9)!=-1){if(SCENE.camera.userData.animationQueue&&SCENE.camera.userData.animationQueue.length>0){}else{if(!SCENE.camera.userData.originalPositionZ){SCENE.camera.userData.originalPositionZ=SCENE.camera.position.z}SCENE.camera.userData.positionUpdateTimestamp=getCurrentTs();let e=rand(30,cameraZ-5,1);if(rand(0,1,.01)>.5){e=rand(cameraZ+5,150,1)}updateCameraPosition(undefined,undefined,e,dynamicUpdateAnimationSpeeds.cameraPosition.speed,dynamicUpdateAnimationSpeeds.cameraPosition.curve);l+=`Changed camera position to ${e}\n`;SCENE.camera.userData.TS_POSITION=getCurrentTs()+cameraPositionUpdateTimeout}}if(r.indexOf(10)!=-1){if(!SCENE.scene.fog.enabled){if(SCENE.scene.fog.userData.nearTo){}else{SCENE.scene.fog.userData={nearTo:fogNear,farTo:fogFar};SCENE.scene.fog.enabled=true;l+=`Enabled fog\n`;SCENE.scene.fog.userData.TS_ENABLED=getCurrentTs()+fogUpdateTimeout}}else{if(SCENE.scene.fog.userData.nearTo){}else{SCENE.scene.fog.userData={nearTo:250,farTo:260};SCENE.scene.fog.enabled=false;l+=`Disabled fog\n`}}}if(r.indexOf(11)!=-1){let t=pickAxis(true,[],false);for(let e of t.pivots){t.rotationDirectionSwitchTimestamp=getCurrentTs();switchObjectRotationDirection(e.userData.name,t.name,dynamicUpdateAnimationSpeeds.axisRotationDirection.speed,dynamicUpdateAnimationSpeeds.axisRotationDirection.curve);e.userData.TS_ROTATIONDIRECTION=getCurrentTs()+axisRotationDirectionUpdateTimeout}l+=`Changed axis rotation direction ${t.name} \n`}if(r.indexOf(13)!=-1){let a=0;for(let e of Axis){if(e.enabled){a+=e.pivots.map(e=>!e.userData.disabled).length}}let i=getNShapesWithTypes();if(!SCENE.originalNumberOfShapes){SCENE.originalNumberOfShapes=a;SCENE.originalNumberOfShapesByType=i}let e=tierToValue(tiersStructure.contract,t.value);for(let t of Object.keys(SCENE.originalNumberOfShapesByType)){if(t=="terrain"||t=="knot"){continue}if(SCENE.originalNumberOfShapesByType[t]){var o=SCENE.originalNumberOfShapesByType[t]*e}else{var o=i[t]*e}if(i[t]!=o){l+=`${t} current: ${i[t]} desired: ${o}\n`}if(a<300&&o>i[t]){for(let e=0;e<o-i[t];e++){let e=pickAxisForShape(t);if(!e){continue}setTimeout(()=>{addNewShape(e.name,`E_${t}_${generateUUID()}`,t,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed);l+=`Added shape ${t} to ${e.name} \n`},randFromRange(addOrRemoveObjectsTieredTimeSpreadRange))}}else if(a>20&&o<i[t]){let e=disappearObjects(Math.abs(i[t]-o),dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,t,addOrRemoveObjectsTieredTimeSpreadRange);l+=`Removed ${e}\n`}else{}}}if(r.indexOf(17)!=-1){let a={};let i=[];for(let t of Axis){if(t.enabled){for(let e of t.pivots){if(a[e.userData.shapeType]){a[e.userData.shapeType]++}else{a[e.userData.shapeType]=1}if(e.userData.name.includes("update17")&&i.indexOf(e.userData.shapeType)==-1){i.push(e.userData.shapeType)}}}}if(!SCENE.originalNumberOfShapeTypes){SCENE.originalNumberOfShapeTypes=sizeOfMapping(a)}let e=pick([0,1]);if(e==1&&i.length<=2||i.length==0){for(let i of shuffle(Object.keys(extraShapes))){if(!a[i]){let t=extraShapes[i].numberOfShapes;let a=Axis[pick(extraShapes[i].axis)-1];if(a.pivots.map(e=>e.userData.shapeType==i).length){continue}for(let e=0;e<t;e++){addNewShape(a.name,`E_${i}_update17_${generateUUID()}`,i,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed);a.TS_EXTRAOBJECTCLASS=getCurrentTs()+objectClassUpdateTimeout}break}}}else if(e==0&&i.length>0){let e=pick(i);let t=disappearObjectsByType(undefined,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,e)}}if(r.indexOf(14)!=-1){let t=pick(["triangle","diamond"]);let a=randFromRange(nObjectsLeftOutsideOfNegativeSpace);let i=pick(diamondNegativeSpaceAngles);for(let e of Axis){if(e.clipPlanes==undefined||e.clipPlanes.length==0){createNegativeSpace(e,t,true,a,i);l+=`Added ${t} negative space to ${e.name}\n`;e.TS_NEGATIVESPACE=getCurrentTs()+negativeSpaceUpdateTimeout}else{if(e.removingNegativeSpace||e.creatingNegativeSpace){}else{removeNegativeSpace(e);l+=`Removed negative space from ${e.name}\n`}}}}if(r.indexOf(16)!=-1){if(extraShapes.knot.originalP==undefined){extraShapes.knot.originalP=extraShapes.knot.p}extraShapes.knot.p=knotsDynamicPRange;if(extraShapes.knot.originalQ==undefined){extraShapes.knot.originalQ=extraShapes.knot.q}extraShapes.knot.q=knotsDynamicQRange;for(let t of Axis){if(!t.addingKnots){for(let e of t.pivots){if(e.userData.name.includes("knot")&&e.userData.name[0]!="E"){if(!pivotIsAppearingOrDisappearing(e)){l+=`Changing q and p of ${t.name} ${e.userData.name}\n`;t.addingKnots=true;disappearPivot(e,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,()=>{addNewShape(t.name,`E_knot_${generateUUID()}`,"knot",dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed)});t.TS_KNOTSPQ=getCurrentTs()+knotsPQUpdateTimeout;setTimeout(()=>{t.addingKnots=false},6e4)}}}}}}}function getPivotsWithSmallShapes(i){for(let a of Axis){if(a.enabled){for(let t=0;t<a.pivots.length;t++){let e=a.pivots[t];if(e.children[0].scale.x<i&&e.children[0].scale.x!=0){}}}}}function processShrinkAndGrow(a){let i=.005;if(a.userData.shapeType=="terrain"||a.userData.shapeType=="smallterrain"){i=.01}if(a.userData.shrinkDown){if(a.userData.shrinkDown<1e-6){a.userData.shrinkDown=1e-6}if(a.userData.shrinkDown>.1){a.userData.shrinkDown=.1}let t=true;for(let e of["x","y","z"]){if(a.children[0].scale[e]>i){a.children[0].scale[e]-=a.userData.shrinkDown;if(a.children[0].scale[e]<i){a.children[0].scale[e]=i}t=false}else{a.children[0].scale[e]=i;a.userData.toBeRemoved=a.userData.toBeRemovedAfterShrink}}if(t){a.userData.shrinkDown=undefined;a.visible=false;if(a.userData.disappearCallback){a.userData.disappearCallback()}}}if(a.userData.growUp){if(a.userData.growUp<1e-6){a.userData.growUp=1e-6}if(a.userData.growUp>.1){a.userData.growUp=.1}let t=true;a.visible=true;for(let e of["x","y","z"]){if(a.children[0].scale[e]<a.children[0].userData.originalScale[e]){a.children[0].scale[e]+=a.userData.growUp;t=false}else{a.children[0].scale[e]=a.children[0].userData.originalScale[e]}}if(t){a.userData.growUp=undefined}}}async function getThreeJS(){for(let t=0;t<NODE_URLS.length;t++){try{var a=await fetch(NODE_URLS[t],{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:"0x16cc845d144A283D1b0687FBAC8B0601cC47A6C3",data:"0x43920d7d0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001074687265652e6a7320302e3134342e3000000000000000000000000000000000"},"latest"],id:2,jsonrpc:"2.0"})});let e=await a.json();return hexToString(e.result)}catch(e){}}}function hexToString(t){if(t.startsWith("0x")){t=t.slice(2)}let a="";for(let e=0;e<t.length;e+=2){const i=parseInt(t.substr(e,2),16);a+=String.fromCharCode(i)}return a}async function dataUpdate(){if(document.hidden){try{SCENE.data.contract.tiers.royalty_received_tier.changed=false;SCENE.data.contract.tiers.contract_activity_tier.changed=false;SCENE.data.contract.tiers.sends_tier.changed=false;SCENE.data.contract.tiers.approvals_tier.changed=false}catch(e){}return}NODE_URLS=shuffle(NODE_URLS);SCENE.data.contractPrev=SCENE.data.contr
jb_mass_main1const placeholderSalePrice=25e16;const placeholderRoyaltyReceived=5e14;{var MersenneTwister=function(e){if(e==undefined){e=(new Date).getTime()}this.N=624;this.M=397;this.MATRIX_A=2567483615;this.UPPER_MASK=2147483648;this.LOWER_MASK=2147483647;this.mt=new Array(this.N);this.mti=this.N+1;if(e.constructor==Array){this.init_by_array(e,e.length)}else{this.init_seed(e)}};MersenneTwister.prototype.init_seed=function(e){this.mt[0]=e>>>0;for(this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti;this.mt[this.mti]>>>=0}};MersenneTwister.prototype.init_by_array=function(e,t){var a,i,n;this.init_seed(19650218);a=1;i=0;n=this.N>t?this.N:t;for(;n;n--){var r=this.mt[a-1]^this.mt[a-1]>>>30;this.mt[a]=(this.mt[a]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i;this.mt[a]>>>=0;a++;i++;if(a>=this.N){this.mt[0]=this.mt[this.N-1];a=1}if(i>=t)i=0}for(n=this.N-1;n;n--){var r=this.mt[a-1]^this.mt[a-1]>>>30;this.mt[a]=(this.mt[a]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-a;this.mt[a]>>>=0;a++;if(a>=this.N){this.mt[0]=this.mt[this.N-1];a=1}}this.mt[0]=2147483648};MersenneTwister.prototype.random_int=function(){var e;var t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var a;if(this.mti==this.N+1)this.init_seed(5489);for(a=0;a<this.N-this.M;a++){e=this.mt[a]&this.UPPER_MASK|this.mt[a+1]&this.LOWER_MASK;this.mt[a]=this.mt[a+this.M]^e>>>1^t[e&1]}for(;a<this.N-1;a++){e=this.mt[a]&this.UPPER_MASK|this.mt[a+1]&this.LOWER_MASK;this.mt[a]=this.mt[a+(this.M-this.N)]^e>>>1^t[e&1]}e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK;this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1];this.mti=0}e=this.mt[this.mti++];e^=e>>>11;e^=e<<7&2636928640;e^=e<<15&4022730752;e^=e>>>18;return e>>>0};MersenneTwister.prototype.random_int31=function(){return this.random_int()>>>1};MersenneTwister.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};MersenneTwister.prototype.random=function(){return this.random_int()*(1/4294967296)};MersenneTwister.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};MersenneTwister.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)}}(function(e){var t=e.noise={};function a(e,t,a){this.x=e;this.y=t;this.z=a}a.prototype.dot2=function(e,t){return this.x*e+this.y*t};a.prototype.dot3=function(e,t,a){return this.x*e+this.y*t+this.z*a};var i=[new a(1,1,0),new a(-1,1,0),new a(1,-1,0),new a(-1,-1,0),new a(1,0,1),new a(-1,0,1),new a(1,0,-1),new a(-1,0,-1),new a(0,1,1),new a(0,-1,1),new a(0,1,-1),new a(0,-1,-1)];var n=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];var Y=new Array(512);var Z=new Array(512);t.seed=function(e){if(e>0&&e<1){e*=65536}e=Math.floor(e);if(e<256){e|=e<<8}for(var t=0;t<256;t++){var a;if(t&1){a=n[t]^e&255}else{a=n[t]^e>>8&255}Y[t]=Y[t+256]=a;Z[t]=Z[t+256]=i[a%12]}};t.seed(0);var A=.5*(Math.sqrt(3)-1);var w=(3-Math.sqrt(3))/6;var _=1/3;var j=1/6;t.simplex2=function(e,t){var a,i,n;var r=(e+t)*A;var o=Math.floor(e+r);var s=Math.floor(t+r);var l=(o+s)*w;var c=e-o+l;var f=t-s+l;var p,d;if(c>f){p=1;d=0}else{p=0;d=1}var u=c-p+w;var m=f-d+w;var g=c-1+2*w;var h=f-1+2*w;o&=255;s&=255;var E=Z[o+Y[s]];var S=Z[o+p+Y[s+d]];var v=Z[o+1+Y[s+1]];var x=.5-c*c-f*f;if(x<0){a=0}else{x*=x;a=x*x*E.dot2(c,f)}var T=.5-u*u-m*m;if(T<0){i=0}else{T*=T;i=T*T*S.dot2(u,m)}var b=.5-g*g-h*h;if(b<0){n=0}else{b*=b;n=b*b*v.dot2(g,h)}return 70*(a+i+n)};t.simplex3=function(e,t,a){var i,n,r,o;var s=(e+t+a)*_;var l=Math.floor(e+s);var c=Math.floor(t+s);var f=Math.floor(a+s);var p=(l+c+f)*j;var d=e-l+p;var u=t-c+p;var m=a-f+p;var g,h,E;var S,v,x;if(d>=u){if(u>=m){g=1;h=0;E=0;S=1;v=1;x=0}else if(d>=m){g=1;h=0;E=0;S=1;v=0;x=1}else{g=0;h=0;E=1;S=1;v=0;x=1}}else{if(u<m){g=0;h=0;E=1;S=0;v=1;x=1}else if(d<m){g=0;h=1;E=0;S=0;v=1;x=1}else{g=0;h=1;E=0;S=1;v=1;x=0}}var T=d-g+j;var b=u-h+j;var A=m-E+j;var w=d-S+2*j;var R=u-v+2*j;var y=m-x+2*j;var D=d-1+3*j;var C=u-1+3*j;var N=m-1+3*j;l&=255;c&=255;f&=255;var M=Z[l+Y[c+Y[f]]];var P=Z[l+g+Y[c+h+Y[f+E]]];var U=Z[l+S+Y[c+v+Y[f+x]]];var X=Z[l+1+Y[c+1+Y[f+1]]];var O=.6-d*d-u*u-m*m;if(O<0){i=0}else{O*=O;i=O*O*M.dot3(d,u,m)}var F=.6-T*T-b*b-A*A;if(F<0){n=0}else{F*=F;n=F*F*P.dot3(T,b,A)}var H=.6-w*w-R*R-y*y;if(H<0){r=0}else{H*=H;r=H*H*U.dot3(w,R,y)}var k=.6-D*D-C*C-N*N;if(k<0){o=0}else{k*=k;o=k*k*X.dot3(D,C,N)}return 32*(i+n+r+o)};function E(e){return e*e*e*(e*(e*6-15)+10)}function S(e,t,a){return(1-a)*e+a*t}t.perlin2=function(e,t){var a=Math.floor(e),i=Math.floor(t);e=e-a;t=t-i;a=a&255;i=i&255;var n=Z[a+Y[i]].dot2(e,t);var r=Z[a+Y[i+1]].dot2(e,t-1);var o=Z[a+1+Y[i]].dot2(e-1,t);var s=Z[a+1+Y[i+1]].dot2(e-1,t-1);var l=E(e);return S(S(n,o,l),S(r,s,l),E(t))};t.perlin3=function(e,t,a){var i=Math.floor(e),n=Math.floor(t),r=Math.floor(a);e=e-i;t=t-n;a=a-r;i=i&255;n=n&255;r=r&255;var o=Z[i+Y[n+Y[r]]].dot3(e,t,a);var s=Z[i+Y[n+Y[r+1]]].dot3(e,t,a-1);var l=Z[i+Y[n+1+Y[r]]].dot3(e,t-1,a);var c=Z[i+Y[n+1+Y[r+1]]].dot3(e,t-1,a-1);var f=Z[i+1+Y[n+Y[r]]].dot3(e-1,t,a);var p=Z[i+1+Y[n+Y[r+1]]].dot3(e-1,t,a-1);var d=Z[i+1+Y[n+1+Y[r]]].dot3(e-1,t-1,a);var u=Z[i+1+Y[n+1+Y[r+1]]].dot3(e-1,t-1,a-1);var m=E(e);var g=E(t);var h=E(a);return S(S(S(o,f,m),S(s,p,m),h),S(S(l,d,m),S(c,u,m),h),g)}})(this);function getTier(e,t,a=undefined){if(e.length==0){return 0}if(e.length==1){e=[t].concat(e)}let i=e.sort();let n=0;for(let e=1;e<i.length;e++){n+=Math.abs(i[e]-i[e-1])}let=avgGap=n/(i.length-1);let r=t-i[i.length-1];let o=r/avgGap;let s=Math.ceil(3-o);if(a!=undefined){if(s<0){s=0}else if(a<0){s*=-1}else if(a==0){s=0}}if(s==-4){s=-2}else if(s==-5){s=-1}else if(s<-5){s=0}if(s==-0){s=0}return s}function calculateTiers(e){if(!e){return}let t={royalty:[[-.4,-.3,-.1,0,.1,.3,.6],[-3,-2,-1,0,1,2,3]],contract_activity:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],clustering_mode:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],approvals:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]]};let i=(new Date).getTime()/1e3;let n=e[1].filter((e,t)=>e>0);let r=e[3].filter((e,t)=>e>0);let a=e[5];let o=e[6];let s=a.concat(o);let l=s.filter((e,t)=>t%2===0&&e>0);let c=s.filter((e,t)=>t%2!==0&&e>0);r=[...new Set(r)];n=[...new Set(n)];l=[...new Set(l)];r.sort();n.sort();l.sort();if(SCENE.data.memory==undefined){try{let a=i-memoryLookbackPeriod;SCENE.data.memory=r.filter((e,t)=>e>=a).length+n.filter((e,t)=>e>=a).length+l.filter((e,t)=>e>=a).length;SCENE.data.memory=Math.min(SCENE.data.memory,11)}catch(A){}}if(resetTimestamp){r=r.filter(e=>e>resetTimestamp);n=n.filter(e=>e>resetTimestamp);l=l.filter(e=>e>resetTimestamp)}let f=Array.from(n);let p=Array.from(l);let d=Array.from(r);let u=Array.from(c);if(r.length<=1){d=[contractMintTimestamp].concat(r)}if(n.length<=1){f=[contractMintTimestamp].concat(n)}if(l.length<=1){p=[contractMintTimestamp].concat(l)}if(c.length<=1){u=[placeholderRoyaltyReceived].concat(c)}r=r.filter(e=>l.indexOf(e)==-1);try{r=r.slice(-4)}catch{}try{n=n.slice(-4)}catch{}try{l=l.slice(-4)}catch{}if(resetTimestamp){r=r.filter(e=>e>resetTimestamp);n=n.filter(e=>e>resetTimestamp);l=l.filter(e=>e>resetTimestamp)}let m=0;if(u.length>1){m=u[u.length-1]/(u.slice(0,-1).reduce((e,t)=>e+t)/(u.length-1))-1}let g=getTier(r,i);let h=getTier(n,i);let E=getTier(r.concat(n).sort().slice(-4),i);let S=getTier(l,i,m);let v=S!=0;let x=E!=0;let T=g!=0;let b=h!=0;if(SCENE.data.contract.tiers&&Object.keys(SCENE.data.contract.tiers).length>0){v=SCENE.data.contract.tiers.royalty_received_tier.value!=S;x=SCENE.data.contract.tiers.contract_activity_tier.value!=E;T=SCENE.data.contract.tiers.sends_tier.value!=g;b=SCENE.data.contract.tiers.approvals_tier.value!=h}SCENE.data.contract.tiers={royalty_received_tier:{value:S,changed:v},contract_activity_tier:{value:E,changed:x},sends_tier:{value:g,changed:T},approvals_tier:{value:h,changed:b}}}function calculateContractDataUpdates(){if(!SCENE.data.contractUpdates){SCENE.data.contractUpdates={}}SCENE.data.firstContractDataUpdate=true;if(!SCENE.data.contractPrev||!(SCENE.data.contractPrev.length||SCENE.data.contractPrev.size)){SCENE.data.contractUpdates.approvalCount=true;SCENE.data.contractUpdates.transferCount=true;SCENE.data.contractUpdates.holderCount=true;SCENE.data.contractUpdates.royalty=true;return}SCENE.data.firstContractDataUpdate=false;SCENE.data.contractUpdates.approvalCount=SCENE.data.contractPrev[0][0]!=SCENE.data.contract[0][0];SCENE.data.contractUpdates.transferCount=SCENE.data.contractPrev[2][0]!=SCENE.data.contract[2][0];SCENE.data.contractUpdates.holderCount=SCENE.data.contractPrev[4][0]!=SCENE.data.contract[4][0];try{SCENE.data.contractUpdates.royalty=SCENE.data.contractPrev[5].slice(SCENE.data.contractPrev[5].length-2,SCENE.data.contractPrev[5].length-1).pop()!=SCENE.data.contract[5].slice(SCENE.data.contract[5].length-2,SCENE.data.contract[5].length-1).pop()||SCENE.data.contractPrev[6].slice(SCENE.data.contractPrev[6].length-2,SCENE.data.contractPrev[6].length-1).pop()!=SCENE.data.contract[5].slice(SCENE.data.contract[6].length-2,SCENE.data.contract[6].length-1).pop()}catch{}}function tierToValue(e,t){let a=[-3,-2,-1,0,1,2,3];let i=a.indexOf(t);return e[i]}var randomNumberGenerator=new MersenneTwister((new Date).getTime());var randomNumberGeneratorSeeded=new MersenneTwister(hashString(`${tokenHash}`));function sizeOfMapping(e){return Object.keys(e).length}function makeGradientPlane(e,t,a,i,n){const r=document.createElement("canvas");r.width=256;r.height=256;const o=r.getContext("2d");if(a=="linear"){var s=o.createLinearGradient(0,0,0,r.height)}else if(a=="radial"){var s=o.createRadialGradient(r.width/2,r.height/2,0,r.width/2,r.height/2,r.width/2)}for(let e of i){s.addColorStop(e[0],e[1])}o.fillStyle=s;o.fillRect(0,0,r.width,r.height);const l=new THREE.CanvasTexture(r);const c=new THREE.PlaneGeometry(e,t);const f=new THREE.MeshBasicMaterial({map:l,fog:n});const p=new THREE.Mesh(c,f);return p}function makePerlinTexture(e,t,i,n,r,o,s,l,c="perlin3"){const a=document.createElement("canvas");a.setAttribute("id","canvas1");a.width=e;a.height=t;const f=a.getContext("2d");if(s){var p=document.createElement("canvas");p.width=e;p.height=t;var d=p.getContext("2d")}noise.seed(Math.random());let u=0;for(var m=0;m<a.width;m++){for(var g=0;g<a.height;g++){u++;if(c=="perlin3"){var h=noise.perlin3(m/i,g/n,m^g%150);var E=Math.abs(h*o)*256+r}else if(c=="simplex3"){var h=noise.simplex3(m/i,g/n,m^g%150);var E=Math.abs(h*o)*256+r}else if(c=="simple"){var E=Math.random()*255*o+r}let e=E;let t=E;let a=E;f.fillStyle="rgb("+e+","+t+","+a+")";f.fillRect(m,g,1,1);if(s){a=E/l;d.fillStyle="rgb("+a+","+a+","+a+")";d.fillRect(m,g,1,1)}}}const S=new THREE.CanvasTexture(a);S.wrapS=S.wrapT=THREE.RepeatWrapping;if(s){const v=new THREE.CanvasTexture(p);v.wrapS=v.wrapT=THREE.RepeatWrapping;return[S,v]}else{return S}}function makeLight(e,t=true){if(e.type=="point"){e.light=new THREE.PointLight(e.color,e.power,e.size);if(t){e.light.position.set(e.positionX,e.positionY,e.positionZ)}if(enableShadows){e.light.castShadow=true;e.light.shadow.mapSize.width=512;e.light.shadow.mapSize.height=512;e.light.shadow.camera.near=.5;e.light.shadow.camera.far=500;e.light.shadow.normalBias=.5}}else if(e.type=="hemisphere"){e.light=new THREE.HemisphereLight(e.color1,e.color2,e.power)}else if(e.type=="ambient"){e.light=new THREE.AmbientLight(e.color)}else if(e.type=="directional"){e.light=new THREE.DirectionalLight(e.color,e.power);e.light.position.set(e.positionX,e.positionY,e.positionZ);e.light.rotation.set(e.rotationX,e.rotationY,e.rotationZ);if(enableShadows){e.light.castShadow=true;e.light.shadow.mapSize.width=512;e.light.shadow.mapSize.height=512;e.light.shadow.camera.near=.5;e.light.shadow.camera.far=500;e.light.shadow.normalBias=.5}}}function animateAxisNegativeSpace(t,e){if(t.userData==undefined){t.userData={};t.userData.negativeSpaceTargetX=rand(t.negativeSpaceAnimationX[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationX[2]);t.userData.negativeSpaceTargetY=rand(t.negativeSpaceAnimationY[0],t.negativeSpaceAnimationY[1],t.negativeSpaceAnimationY[2]);t.userData.negativeSpaceCurrentX=0;t.userData.negativeSpaceCurrentY=0}let a=0;let i=0;let n=t.negativeSpaceAnimationSpeedX*e;let r=t.negativeSpaceAnimationSpeedY*e;if(t.userData.negativeSpaceCurrentX<t.userData.negativeSpaceTargetX){a=n;t.userData.negativeSpaceCurrentX+=n}else if(t.userData.negativeSpaceCurrentX>t.userData.negativeSpaceTargetX){a=-n;t.userData.negativeSpaceCurrentX-=n}if(t.userData.negativeSpaceCurrentY<t.userData.negativeSpaceTargetY){i=r;t.userData.negativeSpaceCurrentY+=r}else if(t.userData.negativeSpaceCurrentY>t.userData.negativeSpaceTargetY){i=-r;t.userData.negativeSpaceCurrentY-=r}if(t.userData.negativeSpaceTargetX>=0&&t.userData.negativeSpaceCurrentX>t.userData.negativeSpaceTargetX||t.userData.negativeSpaceTargetX<=0&&t.userData.negativeSpaceCurrentX<t.userData.negativeSpaceTargetX){t.userData.negativeSpaceTargetX=rand(t.negativeSpaceAnimationX[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationX[2])}if(t.userData.negativeSpaceTargetY>=0&&t.userData.negativeSpaceCurrentY>t.userData.negativeSpaceTargetY||t.userData.negativeSpaceTargetY<=0&&t.userData.negativeSpaceCurrentY<t.userData.negativeSpaceTargetY){t.userData.negativeSpaceTargetY=rand(t.negativeSpaceAnimationY[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationY[2])}if(a!=0||i!=0){for(let e in t.clipPlanes){t.clipPlanes[e].translate(new THREE.Vector3(a,i,0))}}}function makeCamera(){if(cameraType=="perspective"){var e=new THREE.PerspectiveCamera(fieldOfView,cameraAspect,cameraNear,cameraFar);e.aspect=rendererWidth/rendererHeight}else{var e=new THREE.OrthographicCamera(rendererWidth/-orthographicCameraScale,rendererWidth/orthographicCameraScale,rendererHeight/orthographicCameraScale,rendererHeight/-orthographicCameraScale,cameraNear,cameraFar)}cameraZ=randFromRange(cameraZ);e.position.x=cameraX;e.position.y=cameraY;e.position.z=cameraZ;e.updateProjectionMatrix();e.userData.animationQueue=[];e.userData.originalFocalLength=e.getFocalLength();return e}function makeScene(){const e=new THREE.Scene;e.fog=new THREE.Fog(fogColor,fogNear,fogFar);e.fog.userData={animationQueue:[]};e.fog.enabled=enableFog;if(!enableFog){e.fog.near=150;e.fog.far=155;e.fog.enabled=false}e.background=new THREE.Color(worldGradientColors[worldGradientColors.length-1][1]);return e}function makeRenderer(){const e=new THREE.WebGLRenderer({antialias:rendererAntialias,premultipliedAlpha:true});e.setSize(rendererWidth,rendererHeight,false);e.setPixelRatio(window.devicePixelRatio);e.toneMapping=THREE[rendererToneMapping];e.localClippingEnabled=true;if(enableShadows){e.shadowMap.enabled=true;e.shadowMap.type=THREE.PCFShadowMap}document.body.appendChild(e.domElement);return e}function loadOBJ(e,t,a,i,n){const r=new THREE.OBJLoader;object=r.parse(atob(e));object.traverse(function(e){e.material=t});object.scale.set(a[0],a[1],a[2]);object.position.set(i[0],i[1],i[2]);object.rotation.set(THREE.MathUtils.degToRad(n[0]),THREE.MathUtils.degToRad(n[1]),THREE.MathUtils.degToRad(n[2]));return object}function addPivotToAxis(e,t,a,i=undefined,n=undefined){let r=new THREE.Object3D;r.userData.name=a;r.userData.shapeType=t.userData.shapeType;var o=rand(e.axisX[0],e.axisX[1],e.axisX[2]);if(i){var s=randFromRange(i)}else{var s=rand(e.axisY[0],e.axisY[1],e.axisY[2])}var l=rand(e.axisZ[0],e.axisZ[1],e.axisZ[2]);r.userData.rotationSpeed=rand(e.coneRotationSpeed[0],e.coneRotationSpeed[1],e.coneRotationSpeed[2]);r.userData.originalRotationSpeed=r.userData.rotationSpeed;r.rotation.z=THREE.MathUtils.degToRad(rand(e.axisAngle[0],e.axisAngle[1],e.axisAngle[2]));r.userData.originalPosition=[o,s,l];r.position.set(o,s,l);r.add(t);e.pivots.push(r);e.mainPivot.add(r);if(n==undefined){return}if(r.userData.name.includes("terrain")){n*=terrainsAppearAndDisappearMultiplier}if(r.userData.name.includes("knot")){n*=knotsAppearAndDisappearMultiplier}r.children[0].userData.originalScale=JSON.parse(JSON.stringify(r.children[0].scale));r.userData.growUp=n;r.children[0].scale.set(0,0,0)}function addConeToAxis(e,t,a,i=undefined,n=undefined){let r=rand(a.radius[0],a.radius[1],a.radius[2]);let o=rand(a.height[0],a.height[1],a.height[2]);let s=rand(a.scale[0],a.scale[1],a.scale[2]);let l=s+rand(a.scaleX[0],a.scaleX[1],a.scaleX[2]);let c=s+rand(a.scaleY[0],a.scaleY[1],a.scaleY[2]);let f=s+rand(a.scaleZ[0],a.scaleZ[1],a.scaleZ[2]);let p=rand(a.positionX[0],a.positionX[1],a.positionX[2]);let d=rand(a.positionY[0],a.positionY[1],a.positionY[2]);let u=rand(a.positionZ[0],a.positionZ[1],a.positionZ[2]);let m=rand(a.rotationX[0],a.rotationX[1],a.rotationX[2]);let g=rand(a.rotationY[0],a.rotationY[1],a.rotationY[2]);let h=rand(a.rotationZ[0],a.rotationZ[1],a.rotationZ[2]);let E=a.numberOfRadialSegments;let S=a.numberOfHeightSegments;let v=a.openEnded;if(e.ellipseMode){p*=Math.pow(20-Math.abs(d),e.ellipseModePowerOf)*e.ellipseModeMultiplier;u*=Math.pow(20-Math.abs(d),e.ellipseModePowerOf)*e.ellipseModeMultiplier}if(e.enableScaleEllipseMode){l*=Math.pow(e.scaleEllipseModeBaseX-Math.abs(d),e.scaleEllipseModePowerOfX)*e.scaleEllipseModeMultiplierX;c*=Math.pow(e.scaleEllipseModeBaseY-Math.abs(d),e.scaleEllipseModePowerOfY)*e.scaleEllipseModeMultiplierY;f*=Math.pow(e.scaleEllipseModeBaseZ-Math.abs(d),e.scaleEllipseModePowerOfZ)*e.scaleEllipseModeMultiplierZ}let x={};for(let e=0;e<100;e++){let e=a.types[randS(0,a.types.length-1,1)];if(randS(0,1,.1)>1-e.probability){x=e;break}}try{var T=materialTemplates[a.material].clone()}catch(A){var T=materialTemplates[pick(a.material)[1]].clone()}if(a.wireframeProbability&&randS(0,1,.01)>1-a.wireframeProbability){T.wireframe=true;E=5;S=5;v=true}else{T.wireframe=false}if(e.clipPlanes&&e.clipPlanes.length>0){T.clippingPlanes=e.clipPlanes}let b=makeCone(T,r,o,E,S,v,[l,c,f],[p,d,u],[m,g,m],x);if(i){let e=Math.max(l,c,f);let t=e/100*i;t=Math.max(t,1e-7);b.scale.set(0,0,0);b.userData.animationQueue=[makeAnimationForQueue("scale",0,e,e,t)]}if(e.enableNegativeSpace){b.material.clippingPlanes=e.clipPlanes;b.material.clipIntersection=true}b.userData.name=t;b.userData.shapeType=n;addPivotToAxis(e,b,t)}function animateWorldPlane(){if(!SCENE.worldPlane.userData.animationQueue){if(SCENE.worldPlane.scale.x>1+SCENE.worldPlane.userData.scaleAmount&&SCENE.worldPlane.userData.scaleFactor>0||SCENE.worldPlane.scale.x<1&&SCENE.worldPlane.userData.scaleFactor<0){SCENE.worldPlane.userData.scaleFactor*=-1}SCENE.worldPlane.scale.set(SCENE.worldPlane.scale.x+SCENE.worldPlane.userData.scaleFactor,SCENE.worldPlane.scale.y+SCENE.worldPlane.userData.scaleFactor,1)}}function makeWorldPlane(){worldPlane=makeGradientPlane(rendererWidth*3,rendererWidth*3,worldGradientType,worldGradientColors,false);worldPlane.userData.name="worldPlane";worldPlane.position.z=-rendererWidth;worldPlane.z=-100;worldPlane.userData.scaleFactor=rand(worldGradientAnimationSpeed[0],worldGradientAnimationSpeed[1],worldGradientAnimationSpeed[2]);worldPlane.userData.scaleAmount=rand(worldGradientAnimationScale[0],worldGradientAnimationScale[1],worldGradientAnimationScale[2]);worldPlane.userData.animationQueue=[];SCENE.worldPlane=worldPlane;SCENE.scene.add(SCENE.worldPlane)}function addExtraShapeToAxis(e,t,a,o,i=undefined){let n=a;let r=randFromRange(o.scale);let s=r+randFromRange(o.scaleX);let l=r+randFromRange(o.scaleY);let c=r+randFromRange(o.scaleZ);let f=randFromRangeS2(o.positionX);let p=randFromRangeS2(o.positionY);let d=randFromRangeS2(o.positionZ);let u=randFromRange(o.rotationX);let m=randFromRange(o.rotationY);let g=randFromRange(o.rotationZ);if(o.material){if(!materialTemplates[o.material]){}else{var h=materialTemplates[o.material].clone()}}else{var h=e.coneMaterial.clone();if(e.coneMaterial.map){if(o.textureScale){h.map.repeat.x=o.textureScale[0];h.map.repeat.y=o.textureScale[1]}if(o.textureRotation){h.map.rotation=THREE.MathUtils.degToRad(o.textureRotation);h.map.rotation=true}}if(o.color){h.color=new THREE.Color(o.color);h.color.needsUpdate=true}}if(e.clipPlanes&&e.clipPlanes.length>0){h.clippingPlanes=e.clipPlanes}if(n=="flower1"){h.map=undefined;h.bumpMap=undefined;let t=h.clone();if(SCENE.palette.special){h.color=new THREE.Color(SCENE.palette.special.flower[0]);t.color=new THREE.Color(SCENE.palette.special.flower[1])}else{let e=pickS2(SCENE.palette.colors);h.color=new THREE.Color(e[0]);t.color=new THREE.Color(e[1])}h=[h,t]}let E=undefined;if(n=="terrain"){let e=randFromRange(o.heightScale);E=makeTerrain(h,o.worldSizeX,o.worldSizeY,e,[s,l,c],[f,p,d],[u,m,g])}if(n=="smallterrain"){let e=randFromRange(o.heightScale);E=makeTerrain(h,o.worldSizeX,o.worldSizeY,e,[s,l,c],[f,p,d],[u,m,g],1,o.bumpsRange,o.depth)}else if(n=="cloud"){let e=randFromRange(o.sizeX);let t=randFromRange(o.sizeY);let a=randFromRange(o.sizeZ);let i=randFromRange(o.nSpheres);E=makeCloud(h,e,t,a,i,o.spheresScale,[s,l,c],[f,p,d],[u,m,g])}else if(n=="frame"){let e=randFromRange(o.height);let t=randFromRange(o.width);let a=randFromRange(o.thickness);let i=randFromRange(o.depth);E=makeFrame(h,e,t,a,i,[s,l,c],[f,p,d],[u,m,g])}else if(n=="rectangle"){let e=randFromRange(o.height);let t=randFromRange(o.width);let a=randFromRange(o.depth);E=makeRectangle(h,e,t,a,[s,l,c],[f,p,d],[u,m,g])}else if(n=="arrow"){let e=randFromRange(o.depth);let t=randFromRange(o.bevelThickness);let a=randFromRange(o.bevelSize);let i=randFromRange(o.bevelSegments);let n=o.type||0;E=makeArrow(h,e,t,a,i,[s,l,c],[f,p,d],[u,m,g],n)}else if(n=="knot"){let e=randFromRange(o.radius);let t=randFromRange(o.tube);let a=randFromRange(o.tubularSegments);let i=randFromRange(o.radialSegments);let n=randFromRange(o.p);let r=randFromRange(o.q);E=makeKnot(h,e,t,a,i,n,r,[s,l,c],[f,p,d],[u,m,g])}else if(n in base64Objects){E=loadOBJ(base64Objects[n],h,[s,l,c],[f,p,d],[u,m,g])}E.userData.name=t;E.name=t;E.userData.shapeType=n;if(e.enableNegativeSpace){E.material.clippingPlanes=e.clipPlanes;E.material.clipIntersection=true}addPivotToAxis(e,E,t,o.yAxisRangeOverwrite,i)}function updateObjectRotationSpeed(t,a,i,n=1,r=.1){for(let e of Axis){if(e.name==a){for(let a of e.pivots){if(a.userData.name==t){let e=a.userData.rotationSpeed;if(e===undefined){e=0}let t=makeAnimationForQueue("rotationSpeed",e,i,i,n,r);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t);return}}}}}function switchObjectRotationDirection(t,a,i=1,n=.1){for(let e of Axis){if(e.name==a){for(let a of e.pivots){if(a.userData.name==t){let e=a.userData.rotationSpeed;if(e===undefined){e=0}let t=makeAnimationForQueue("rotationSpeed",e,e*-1,e*-1,i,n);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t);return}}}}}function updateObjectDistanceFromAxis(i,e,n,r=1,o=.1){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==i){for(let a of e.children){if(a.userData.name==i){let e=a.position.x;let t=makeAnimationForQueue("distance",e,n,n,r,o);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t)}}}}}}}function updateBackgroundGradientScale(e,t=1,a=.1){let i=Math.max(SCENE.worldPlane.scale.x,SCENE.worldPlane.scale.y);SCENE.worldPlane.userData.animationQueue.push(makeAnimationForQueue("scale",i,e,e,t,a))}function updateCameraPosition(e,t,a,i=1,n=.1){if(e!==undefined){SCENE.camera.userData.animationQueue.push(makeAnimationForQueue("x",SCENE.camera.position.x,e,e,i,n))}if(t!==undefined){SCENE.camera.userData.animationQueue.push(makeAnimationForQueue("y",SCENE.camera.position.y,t,t,i,n))}if(a!==undefined){SCENE.camera.userData.animationQueue.push(makeAnimationForQueue("z",SCENE.camera.position.z,a,a,i,n))}}function updateObjectScale2(e,t,a=1,i=.1){let n=makeAnimationForQueue("
jb_mass_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
jb_mass_base1(() => { const css = `body, html{ margin: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } .prompt-container{ position: absolute; background: #ffffff; width: 50ch; padding: 10px; padding-top: 0; font-family: Helvetica; font-weight: bold; } .prompt{ border-style: solid; border-width: 3px; border-color: black; background: #ffffff; width: 75ch; font-family: Helvetica; font-weight: bold; width: 98%; }`; const head = document.head; document.prepend( document.createComment(`Mass by James Bloom. Minted May 15th 2024 with code on-chain on Ethereum L1. Made with javascript ES2023 and three.js 0.144.0. Compatible with Google Chrome 124.0.6367.119 and Safari 17.4.1 (both desktop and phone). Press M to change Ethereum node. I and O to zoom in and out.`) ); const style = document.createElement("style"); head.appendChild(style); if (style.styleSheet) { style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); } })();
jb_nodesH4sIAAAAAAAAA5XMy5KaQBSA4b1P0eVmNlEuohOTymKQHhUBQa4mlbK4NM1F6KEbEObp41SegLM5Vef89XEcgG2GKOoqUJMEgTisQfRcWVhjlIBoBM836HP0QBS0BIT/M5J+3XP6DEkeo6/ugyLG8hqDF/1lZpwVeHMvmg1+gT8z8Jx51rYf7AfHoTZbVGFe16hd4mV4jzNUjcuYVFwvcoVRHI7yCeeNJZOOXuPUe1tRFo0m3++CB5p/m4ANp4t06zrHKKHg04CVqtkFqwtkpLYoUZxJmDP6+u+jbQw7i7eisqwEa/Gm8HIrnz/1/ffHJGwsJK3CwyetLvsbs4tbet0Ye3peHEwBOSGbhOke3hetQQ6tX2NDzRKYGWG4eD83mqBrdzoJk4p1HwTqQ5aKUSSd5x2vjQrNY2BQBY9NMQl7VbT+lkNFNRY5W3tiE4lp4gsbnBeubffxJCyIiFtuIa9hcdsm/kHsUvN9Za/dO+v8TedOwposuHoYjo0sOds1HIdVsRs22DwxiG2b1+ezvz//Ae4Z8z0cAwAA
jb_mass_maint.userData.animationQueue.splice(0,1);return}if(a.from>=a.to){a.current-=a.speed}else{a.current+=a.speed}}if(t.userData.name=="camera"){a.current=Number(a.current.toFixed(5))}if(a.attribute=="scale"){if(Array.isArray(a.from)){t.scale.set(a.current[0],a.current[1],a.current[2])}else{t.scale.set(a.current,a.current,a.current)}if(Array.isArray(t.material)){for(let e=0;e<t.material.length;e++){if(t.material[e].map){t.material[e].map.needsUpdate=true}}}else{if(t.material&&t.material.map){t.material.map.needsUpdate=true}}}else if(a.attribute=="rotationSpeed"){t.userData.rotationSpeed=a.current}else if(a.attribute=="distance"){t.position.x=a.current}else if(a.attribute=="x"){t.position.x=a.current}else if(a.attribute=="y"){t.position.y=a.current}else if(a.attribute=="z"){t.position.z=a.current}else if(a.attribute=="near-far"){t.near=a.current[0];t.far=a.current[1]}else if(a.attribute=="angleX"){t.rotation.x=a.current}else if(a.attribute=="angleY"){t.rotation.y=a.current}else if(a.attribute=="angleZ"){t.rotation.z=a.current}}function processAnimationLoop(a){if(a.userData.animationLoop.length==0){return}for(let t of a.userData.animationLoop){if(t.attribute=="color"){if(a.color){let e=new THREE.Color(t.colorInterpolator.nextColor());a.color=e;if(t.colorInterpolator.looped){a.userData.animationQueue.splice(0,1);return}}else{console.error("Shape has no color attribute")}return}if(t.attribute=="scale"){t.current=Math.max(a.scale.x,a.scale.y,a.scale.z)}else if(t.attribute=="rotationSpeed"){t.current=a.userData.rotationSpeed}else if(t.attribute=="distance"){t.current=a.position.x}else if(t.attribute=="x"){t.current=a.position.x}else if(t.attribute=="y"){t.current=a.position.y}else if(t.attribute=="z"){t.current=a.position.z}else if(t.attribute=="near-far"){t.current[0]=a.near;t.current[1]=a.far}else if(t.attribute=="angleX"){t.current=a.rotation.x}else if(t.attribute=="angleY"){t.current=a.rotation.y}else if(t.attribute=="angleZ"){t.current=a.rotation.z}if(t.from>=t.to){t.current-=t.speed}else{t.current+=t.speed}if(t.attribute=="scale"){a.scale.set(t.current,t.current,t.current);if(Array.isArray(a.material)){for(let e=0;e<a.material.length;e++){if(a.material[e].map){a.material[e].map.needsUpdate=true}}}else{if(a.material.map){a.material.map.needsUpdate=true}}}else if(t.attribute=="rotationSpeed"){a.userData.rotationSpeed=t.current}else if(t.attribute=="distance"){a.position.x=t.current}else if(t.attribute=="x"){a.position.x=t.current}else if(t.attribute=="y"){a.position.y=t.current}else if(t.attribute=="z"){a.position.z=t.current}else if(t.attribute=="near-far"){a.near=t.current[0];a.far=t.current[1]}else if(t.attribute=="angleX"){a.rotation.x=t.current}else if(t.attribute=="angleY"){a.rotation.y=t.current}else if(t.attribute=="angleZ"){a.rotation.z=t.current}}}function interpolateColors(e,t,i){const a=e=>[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)];const n=e=>"#"+e.map(e=>Math.round(e).toString(16).padStart(2,"0")).join("");const r=a(e);const o=a(t);const s=r.map((e,t)=>{const a=o[t];return Math.round(e+(a-e)*i)});return n(s)}class ColorInterpolator{constructor(e,t){this.colorsArray=e;this.activePairIndex=[0,1];this.speed=t;this.state=0;this.looped=false}nextColor(){let e=interpolateColors(this.colorsArray[this.activePairIndex[0]],this.colorsArray[this.activePairIndex[1]],this.state);this.state+=this.speed;if(this.state>=1){this.state=0;if(this.activePairIndex[1]>=this.colorsArray.length){this.activePairIndex=this.activePairIndex.map(e=>e+1)}else{this.activePairIndex=[0,1];this.looped=true}}return e}}function createConeGeometry(e,t,o,s,l,a){if(!l){l={}}const i=new THREE.BufferGeometry;let c=[];let n=[];const p=0;const f=e;for(let r=0;r<=s;r++){const h=r/s*t;const E=f+h/t*(p-f);for(let n=0;n<=o;n++){let t=h;let e=n/o*Math.PI*2;let a=E*Math.cos(e);let i=E*Math.sin(e);if(l.curveBaseCone){let e=(s-r)*l.baseCurveFactor;t-=Math.abs(Math.pow(a,2))*e}c.push(a,t,i)}}for(let t=0;t<s;t++){for(let e=0;e<o;e++){const S=t*(o+1)+e;const v=S+o+1;if(e==0){var r=S;var d=v}if(e<o-1){n.push(S,v,S+1);n.push(v,v+1,S+1)}else{n.push(S,v,r);n.push(v,d,r)}}}let u=0;let m=100;let g=0;for(let e=2;e<o*3;e+=3){g++;if(c[e]<u){u=g;m=c[e]}}c.indexOf(Math.min(c.slice(0,o)));if(!a){c=c.slice(0,o*3).concat(c);n=n.map(e=>e+o);let t=Math.abs(o/2);if(l.curveBaseCone){n=n.concat(vertexIndexSequence(o))}else{for(let e=0;e<t;e+=1){n.push(e,e+1,t);n.push(e+t,e+t+1,t)}}}i.setAttribute("position",new THREE.Float32BufferAttribute(c,3));i.deleteAttribute("normal");i.deleteAttribute("uv");i.setIndex(n);i.computeVertexNormals();return i}function makeCone(e,t,a,i,n,r,o,s,l,c){const p=createConeGeometry(t,a,i,n,c,r);const f=new THREE.ConeGeometry(t,a,i,n);p.setAttribute("uv",f.getAttribute("uv"));p.uvsNeedUpdate=true;p.normalsNeedUpdate=true;const d=new THREE.Mesh(p,e);if(s){d.position.set(s[0],s[1],s[2])}if(o){d.scale.set(o[0],o[1],o[2])}if(l){d.rotation.set(THREE.MathUtils.degToRad(l[0]*2),THREE.MathUtils.degToRad(l[1]),THREE.MathUtils.degToRad(l[2]))}if(enableShadows){d.castShadow=true;d.receiveShadow=true}d.userData.material=e;return d}function meanPositionOfPivots(e){let t=e.map(e=>e.position.x);t=t.reduce((e,t)=>e+t,0)/t.length;let a=e.map(e=>e.position.y);a=a.reduce((e,t)=>e+t,0)/a.length;let i=e.map(e=>e.position.z);i=i.reduce((e,t)=>e+t,0)/i.length;return[t,a,i]}function meanRotationOfPivots(e){let t=e.map(e=>e.rotation.x);t=t.reduce((e,t)=>e+t,0)/t.length;let a=e.map(e=>e.rotation.y);a=a.reduce((e,t)=>e+t,0)/a.length;let i=e.map(e=>e.rotation.z);i=i.reduce((e,t)=>e+t,0)/i.length;return[t,a,i]}function createNegativeSpace(a,e=undefined,t=true,i=0,n=0){a.creatingNegativeSpace=true;setTimeout(()=>{a.creatingNegativeSpace=false},3e4);let r=randFromRange(a.negativeSpaceX);let o=randFromRange(a.negativeSpaceY);let s=randFromRange(a.negativeSpaceZ);let l=randFromRange(a.negativeSpaceSizeX);let c=randFromRange(a.negativeSpaceSizeY);let p=randFromRange(a.negativeSpaceSizeZ);if(e==undefined){e=pick(a.negativeSpaceType)}let f=undefined;if(e=="triangle"){f=[new THREE.Plane(new THREE.Vector3(1,.5,0),0),new THREE.Plane(new THREE.Vector3(-1,.5,0),0),new THREE.Plane(new THREE.Vector3(0,-1,0),0),new THREE.Plane(new THREE.Vector3(0,0,-1),0),new THREE.Plane(new THREE.Vector3(0,0,1),0)];f[0].translate(new THREE.Vector3(l+r,0,0));f[1].translate(new THREE.Vector3(-l+r,0,0));f[2].translate(new THREE.Vector3(0,-c+o,0));f[3].translate(new THREE.Vector3(0,0,-p+s));f[4].translate(new THREE.Vector3(0,0,p+s))}else if(e=="triangle_flip"){f=[new THREE.Plane(new THREE.Vector3(1,-.5,0),0),new THREE.Plane(new THREE.Vector3(-1,-.5,0),0),new THREE.Plane(new THREE.Vector3(0,1,0),0),new THREE.Plane(new THREE.Vector3(0,0,-1),0),new THREE.Plane(new THREE.Vector3(0,0,1),0)];f[0].translate(new THREE.Vector3(l+r,0,0));f[1].translate(new THREE.Vector3(-l+r,0,0));f[2].translate(new THREE.Vector3(0,c+o,0));f[3].translate(new THREE.Vector3(0,0,-p+s));f[4].translate(new THREE.Vector3(0,0,p+s))}else if(e=="diamond"){f=[new THREE.Plane(new THREE.Vector3(1,-.5,0),0),new THREE.Plane(new THREE.Vector3(-1,.5,0),0),new THREE.Plane(new THREE.Vector3(.5,-1,0),0),new THREE.Plane(new THREE.Vector3(-.5,1,0),0),new THREE.Plane(new THREE.Vector3(0,0,-1),0),new THREE.Plane(new THREE.Vector3(0,0,1),0)];f[0].translate(new THREE.Vector3(l+r,0,0));f[1].translate(new THREE.Vector3(-l+r,0,0));f[2].translate(new THREE.Vector3(0,-c+o,0));f[3].translate(new THREE.Vector3(0,c+o,0));f[4].translate(new THREE.Vector3(0,0,-p+s));f[5].translate(new THREE.Vector3(0,0,p+s));var d=new THREE.Quaternion;d.setFromAxisAngle(new THREE.Vector3(0,0,1),THREE.MathUtils.degToRad(n));f[0].normal.applyQuaternion(d);f[1].normal.applyQuaternion(d);f[2].normal.applyQuaternion(d);f[3].normal.applyQuaternion(d)}let u=e=="triangle"?3:4;for(let e=0;e<u;e++){f[e].userData={originalConstant:f[e].constant,currentConstrain:t?5:f[e].constant,desiredConstant:f[e].constant};if(t){f[e].constant=5}}a.clipPlanes=f;nShapesLeftOutside=0;if(a.pivots){for(let e of a.pivots){if(nShapesLeftOutside<i&&rand(0,1,.01)>.5){nShapesLeftOutside++;continue}for(let t of e.children){if(t.material){t.material.clippingPlanes=a.clipPlanes;t.material.clipIntersection=true}for(let e of t.children){if(e.material){e.material.clippingPlanes=a.clipPlanes;e.material.clipIntersection=true}}}}}console.log(nShapesLeftOutside,"objects left outside of negative space on axis",a.name)}function removeNegativeSpace(t){t.removingNegativeSpace=true;for(let e=0;e<t.clipPlanes.length;e++){if(t.clipPlanes[e].userData){t.clipPlanes[e].userData.desiredConstant=5}}setTimeout(()=>{if(t.pivots){for(let e of t.pivots){for(let t of e.children){if(t.material){t.material.clippingPlanes=[];t.material.needsUpdate=true}for(let e of t.children){if(e.material){e.material.clippingPlanes=[];e.material.needsUpdate=true}}}}}for(let e=0;e<t.clipPlanes.length;e++){SCENE.scene.remove(t.clipPlanes[e])}t.clipPlanes=undefined;delete t.clipPlanes;t.removingNegativeSpace=false},2e4)}function initOBJLoader(){const H=/^[og]\s*(.+)?/;const X=/^mtllib /;const _=/^usemtl /;const Y=/^usemap /;const Z=/\s+/;const r=new THREE.Vector3;const o=new THREE.Vector3;const s=new THREE.Vector3;const l=new THREE.Vector3;const c=new THREE.Vector3;const j=new THREE.Color;function z(){const e={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(e,t){if(this.object&&this.object.fromDeclaration===false){this.object.name=e;this.object.fromDeclaration=t!==false;return}const a=this.object&&typeof this.object.currentMaterial==="function"?this.object.currentMaterial():undefined;if(this.object&&typeof this.object._finalize==="function"){this.object._finalize(true)}this.object={name:e||"",fromDeclaration:t!==false,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:false},materials:[],smooth:true,startMaterial:function(e,t){const a=this._finalize(false);if(a&&(a.inherited||a.groupCount<=0)){this.materials.splice(a.index,1)}const i={index:this.materials.length,name:e||"",mtllib:Array.isArray(t)&&t.length>0?t[t.length-1]:"",smooth:a!==undefined?a.smooth:this.smooth,groupStart:a!==undefined?a.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:false,clone:function(e){const t={index:typeof e==="number"?e:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:false};t.clone=this.clone.bind(t);return t}};this.materials.push(i);return i},currentMaterial:function(){if(this.materials.length>0){return this.materials[this.materials.length-1]}return undefined},_finalize:function(e){const t=this.currentMaterial();if(t&&t.groupEnd===-1){t.groupEnd=this.geometry.vertices.length/3;t.groupCount=t.groupEnd-t.groupStart;t.inherited=false}if(e&&this.materials.length>1){for(let e=this.materials.length-1;e>=0;e--){if(this.materials[e].groupCount<=0){this.materials.splice(e,1)}}}if(e&&this.materials.length===0){this.materials.push({name:"",smooth:this.smooth})}return t}};if(a&&a.name&&typeof a.clone==="function"){const i=a.clone(0);i.inherited=true;this.object.materials.push(i)}this.objects.push(this.object)},finalize:function(){if(this.object&&typeof this.object._finalize==="function"){this.object._finalize(true)}},parseVertexIndex:function(e,t){const a=parseInt(e,10);return(a>=0?a-1:a+t/3)*3},parseNormalIndex:function(e,t){const a=parseInt(e,10);return(a>=0?a-1:a+t/3)*3},parseUVIndex:function(e,t){const a=parseInt(e,10);return(a>=0?a-1:a+t/2)*2},addVertex:function(e,t,a){const i=this.vertices;const n=this.object.geometry.vertices;n.push(i[e+0],i[e+1],i[e+2]);n.push(i[t+0],i[t+1],i[t+2]);n.push(i[a+0],i[a+1],i[a+2])},addVertexPoint:function(e){const t=this.vertices;const a=this.object.geometry.vertices;a.push(t[e+0],t[e+1],t[e+2])},addVertexLine:function(e){const t=this.vertices;const a=this.object.geometry.vertices;a.push(t[e+0],t[e+1],t[e+2])},addNormal:function(e,t,a){const i=this.normals;const n=this.object.geometry.normals;n.push(i[e+0],i[e+1],i[e+2]);n.push(i[t+0],i[t+1],i[t+2]);n.push(i[a+0],i[a+1],i[a+2])},addFaceNormal:function(e,t,a){const i=this.vertices;const n=this.object.geometry.normals;r.fromArray(i,e);o.fromArray(i,t);s.fromArray(i,a);c.subVectors(s,o);l.subVectors(r,o);c.cross(l);c.normalize();n.push(c.x,c.y,c.z);n.push(c.x,c.y,c.z);n.push(c.x,c.y,c.z)},addColor:function(e,t,a){const i=this.colors;const n=this.object.geometry.colors;if(i[e]!==undefined)n.push(i[e+0],i[e+1],i[e+2]);if(i[t]!==undefined)n.push(i[t+0],i[t+1],i[t+2]);if(i[a]!==undefined)n.push(i[a+0],i[a+1],i[a+2])},addUV:function(e,t,a){const i=this.uvs;const n=this.object.geometry.uvs;n.push(i[e+0],i[e+1]);n.push(i[t+0],i[t+1]);n.push(i[a+0],i[a+1])},addDefaultUV:function(){const e=this.object.geometry.uvs;e.push(0,0);e.push(0,0);e.push(0,0)},addUVLine:function(e){const t=this.uvs;const a=this.object.geometry.uvs;a.push(t[e+0],t[e+1])},addFace:function(e,t,a,i,n,r,o,s,l){const c=this.vertices.length;let p=this.parseVertexIndex(e,c);let f=this.parseVertexIndex(t,c);let d=this.parseVertexIndex(a,c);this.addVertex(p,f,d);this.addColor(p,f,d);if(o!==undefined&&o!==""){const u=this.normals.length;p=this.parseNormalIndex(o,u);f=this.parseNormalIndex(s,u);d=this.parseNormalIndex(l,u);this.addNormal(p,f,d)}else{this.addFaceNormal(p,f,d)}if(i!==undefined&&i!==""){const m=this.uvs.length;p=this.parseUVIndex(i,m);f=this.parseUVIndex(n,m);d=this.parseUVIndex(r,m);this.addUV(p,f,d);this.object.geometry.hasUVIndices=true}else{this.addDefaultUV()}},addPointGeometry:function(a){this.object.geometry.type="Points";const i=this.vertices.length;for(let e=0,t=a.length;e<t;e++){const n=this.parseVertexIndex(a[e],i);this.addVertexPoint(n);this.addColor(n)}},addLineGeometry:function(a,i){this.object.geometry.type="Line";const n=this.vertices.length;const r=this.uvs.length;for(let e=0,t=a.length;e<t;e++){this.addVertexLine(this.parseVertexIndex(a[e],n))}for(let e=0,t=i.length;e<t;e++){this.addUVLine(this.parseUVIndex(i[e],r))}}};e.startObject("",false);return e}class e extends THREE.Loader{constructor(e){super(e);this.materials=null}load(a,i,e,n){const r=this;const t=new THREE.FileLoader(this.manager);t.setPath(this.path);t.setRequestHeader(this.requestHeader);t.setWithCredentials(this.withCredentials);t.load(a,function(e){try{i(r.parse(e))}catch(t){if(n){n(t)}else{console.error(t)}r.manager.itemError(a)}},e,n)}setMaterials(e){this.materials=e;return this}parse(e){const i=new z;if(e.indexOf("\r\n")!==-1){e=e.replace(/\r\n/g,"\n")}if(e.indexOf("\\\n")!==-1){e=e.replace(/\\\n/g,"")}const a=e.split("\n");let n=[];for(let e=0,t=a.length;e<t;e++){const o=a[e].trimStart();if(o.length===0)continue;const s=o.charAt(0);if(s==="#")continue;if(s==="v"){const l=o.split(Z);switch(l[0]){case"v":i.vertices.push(parseFloat(l[1]),parseFloat(l[2]),parseFloat(l[3]));if(l.length>=7){j.setRGB(parseFloat(l[4]),parseFloat(l[5]),parseFloat(l[6])).convertSRGBToLinear();i.colors.push(j.r,j.g,j.b)}else{i.colors.push(undefined,undefined,undefined)}break;case"vn":i.normals.push(parseFloat(l[1]),parseFloat(l[2]),parseFloat(l[3]));break;case"vt":i.uvs.push(parseFloat(l[1]),parseFloat(l[2]));break}}else if(s==="f"){const c=o.slice(1).trim();const p=c.split(Z);const f=[];for(let e=0,t=p.length;e<t;e++){const u=p[e];if(u.length>0){const m=u.split("/");f.push(m)}}const d=f[0];for(let e=1,t=f.length-1;e<t;e++){const g=f[e];const h=f[e+1];i.addFace(d[0],g[0],h[0],d[1],g[1],h[1],d[2],g[2],h[2])}}else if(s==="l"){const E=o.substring(1).trim().split(" ");let a=[];const S=[];if(o.indexOf("/")===-1){a=E}else{for(let e=0,t=E.length;e<t;e++){const v=E[e].split("/");if(v[0]!=="")a.push(v[0]);if(v[1]!=="")S.push(v[1])}}i.addLineGeometry(a,S)}else if(s==="p"){const c=o.slice(1).trim();const T=c.split(" ");i.addPointGeometry(T)}else if((n=H.exec(o))!==null){const x=(" "+n[0].slice(1).trim()).slice(1);i.startObject(x)}else if(_.test(o)){i.object.startMaterial(o.substring(7).trim(),i.materialLibraries)}else if(X.test(o)){i.materialLibraries.push(o.substring(7).trim())}else if(Y.test(o)){console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.')}else if(s==="s"){n=o.split(" ");if(n.length>1){const A=n[1].trim().toLowerCase();i.object.smooth=A!=="0"&&A!=="off"}else{i.object.smooth=true}const b=i.object.currentMaterial();if(b)b.smooth=i.object.smooth}else{if(o==="\0")continue;console.warn('THREE.OBJLoader: Unexpected line: "'+o+'"')}}i.finalize();const r=new THREE.Group;r.materialLibraries=[].concat(i.materialLibraries);const t=!(i.objects.length===1&&i.objects[0].geometry.vertices.length===0);if(t===true){for(let t=0,e=i.objects.length;t<e;t++){const y=i.objects[t];const R=y.geometry;const w=y.materials;const D=R.type==="Line";const C=R.type==="Points";let a=false;if(R.vertices.length===0)continue;const N=new THREE.BufferGeometry;N.setAttribute("position",new THREE.Float32BufferAttribute(R.vertices,3));if(R.normals.length>0){N.setAttribute("normal",new THREE.Float32BufferAttribute(R.normals,3))}if(R.colors.length>0){a=true;N.setAttribute("color",new THREE.Float32BufferAttribute(R.colors,3))}if(R.hasUVIndices===true){N.setAttribute("uv",new THREE.Float32BufferAttribute(R.uvs,2))}const M=[];for(let t=0,e=w.length;t<e;t++){const P=w[t];const O=P.name+"_"+P.smooth+"_"+a;let e=i.materials[O];if(this.materials!==null){e=this.materials.create(P.name);if(D&&e&&!(e instanceof THREE.LineBasicMaterial)){const U=new THREE.LineBasicMaterial;THREE.Material.prototype.copy.call(U,e);U.color.copy(e.color);e=U}else if(C&&e&&!(e instanceof THREE.PointsMaterial)){const F=new THREE.PointsMaterial({size:10,sizeAttenuation:false});THREE.Material.prototype.copy.call(F,e);F.color.copy(e.color);F.map=e.map;e=F}}if(e===undefined){if(D){e=new THREE.LineBasicMaterial}else if(C){e=new THREE.PointsMaterial({size:1,sizeAttenuation:false})}else{e=new THREE.MeshPhongMaterial({color:"#000000"})}e.name=P.name;e.flatShading=P.smooth?false:true;e.vertexColors=a;i.materials[O]=e}M.push(e)}let e;if(M.length>1){for(let e=0,t=w.length;e<t;e++){const P=w[e];N.addGroup(P.groupStart,P.groupCount,e)}if(D){e=new THREE.LineSegments(N,M)}else if(C){e=new THREE.Points(N,M)}else{e=new THREE.Mesh(N,M)}}else{if(D){e=new THREE.LineSegments(N,M[0])}else if(C){e=new THREE.Points(N,M[0])}else{e=new THREE.Mesh(N,M[0])}}e.name=y.name;r.add(e)}}else{if(i.vertices.length>0){const b=new THREE.PointsMaterial({size:1,sizeAttenuation:false});const N=new THREE.BufferGeometry;N.setAttribute("position",new THREE.Float32BufferAttribute(i.vertices,3));if(i.colors.length>0&&i.colors[0]!==undefined){N.setAttribute("color",new THREE.Float32BufferAttribute(i.colors,3));b.vertexColors=true}const k=new THREE.Points(N,b);r.add(k)}}return r}}THREE.OBJLoader=e}function initImprovedNoise(){const x=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];for(let e=0;e<256;e++){x[256+e]=x[e]}function b(e){return e*e*e*(e*(e*6-15)+10)}function A(e,t,a){return t+e*(a-t)}function y(e,t,a,i){const n=e&15;const r=n<8?t:a,o=n<4?a:n==12||n==14?t:i;return((n&1)==0?r:-r)+((n&2)==0?o:-o)}class e{noise(e,t,a){const i=Math.floor(e),n=Math.floor(t),r=Math.floor(a);const o=i&255,s=n&255,l=r&255;e-=i;t-=n;a-=r;const c=e-1,p=t-1,f=a-1;const d=b(e),u=b(t),m=b(a);const g=x[o]+s,h=x[g]+l,E=x[g+1]+l,S=x[o+1]+s,v=x[S]+l,T=x[S+1]+l;return A(m,A(u,A(d,y(x[h],e,t,a),y(x[v],c,t,a)),A(d,y(x[E],e,p,a),y(x[T],c,p,a))),A(u,A(d,y(x[h+1],e,t,f),y(x[v+1],c,t,f)),A(d,y(x[E+1],e,p,f),y(x[T+1],c,p,f))))}}THREE.ImprovedNoise=e}function stringToHexadecimal(t){let a="";for(let e=0;e<t.length;e++){const i=t.charCodeAt(e).toString(16);a+=("00"+i).slice(-2)}return a}async function callProvider(e){callPayload={method:"POST",body:JSON.stringify(e)};let a;for(let t=0;t<NODE_URLS.length;t++){for(let e=0;e<2;e++){try{a=await fetch(NODE_URLS[t],callPayload);if(a.ok){let e=await a.json();return e}else{console.error(a)}}catch(i){console.warn("Failed node provider URL:",NODE_URLS[t]);await new Promise(e=>setTimeout(e,2e3));console.log("Retrying")}}}}async function getLastBlockReceipts(t){let e=await callProvider({method:"eth_blockNumber",params:[],id:2,jsonrpc:"2.0"});let a=await callProvider({method:"eth_getBlockReceipts",params:[e.result],id:2,jsonrpc:"2.0"});for(let e of a.result){if(t=="ANYWALLET"){const i=JSON.stringify(e,null,2);return i}if(t.indexOf(e.from)>-1||t.indexOf(e.to)>-1){const i=JSON.stringify(e,null,2);return i}}}async function receiptsWrapper(){try{await getLastBlockReceipts()}catch(e){console.error(e)}}async function getContractData(){for(let t=0;t<NODE_URLS.length;t++){for(let e=0;e<2;e++){try{var a=await fetch(NODE_URLS[t],{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:contractAddress,data:jsonRpcCallDataContract},"latest"],id:2,jsonrpc:"2.0"})});if(a.ok){let e=await a.json();let t=hexToArray(e.result);try{t=splitArray(t,[1,200,1,200,1,400,400,1,300])}catch(i){console.error(i);t=splitArray(t,[1,200,1,200,1,400,400,1])}console.debug("contract_data:",t);return t}else{console.error(a)}}catch(i){console.log("Node failed:",NODE_URLS[t]);await new Promise(e=>setTimeout(e,2e3));console.log("Retrying...")}}}}function hexToUnicode(e){let t=e.match(/.{1,2}/g)||[];let a=t.map(e=>String.fromCharCode(parseInt(e,16)));let i=a.join("");return i.replace(/\u0000/g,"")}function hexToArray(e){const t=e.slice(2);const a=[];for(let e=0;e<t.length;e+=64){if(e>=77200){const i=hexToUnicode(t.slice(e,e+128),16);if(i.length>=37&&i[0]==0){a.push(i)}}else{const n=parseInt(t.slice(e,e+64),16);a.push(n)}}return a}function splitArray(t,a){const i=[];let n=0;for(let e=0;e<a.length;e++){const r=a[e];const o=t.slice(n,n+r);i.push(o);n+=r}if(n<t.length){const e=t.slice(n);i.push(e)}return i}function getCurrentTs(){return(new Date).getTime()/1e3}function generateUUID(){return"xyxxyxxxyxxyxx".replace(/[xy]/g,function(e){var t=Math.random()*16|0,a=e=="x"?t:t&3|8;return a.toString(16)})}
jb_mass_mainShapes;let a=Axis[pick(extraShapes[i].axis)-1];if(a.pivots.map(e=>e.userData.shapeType==i).length){console.warn("Can't add",i,"to axis",a.name);continue}console.log("Adding",t,i,"to",a.name);for(let e=0;e<t;e++){addNewShape(a.name,`E_${i}_update17_${generateUUID()}`,i,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed);a.TS_EXTRAOBJECTCLASS=getCurrentTs()+objectClassUpdateTimeout}break}}}else if(e==0&&i.length>0){let e=pick(i);console.log("Removing existing shape type",e);let t=disappearObjectsByType(undefined,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,e);console.log("nDisappeared",t)}}if(r.indexOf(14)!=-1){let t=pick(["triangle","diamond"]);let a=randFromRange(nObjectsLeftOutsideOfNegativeSpace);let i=pick(diamondNegativeSpaceAngles);for(let e of Axis){if(e.clipPlanes==undefined||e.clipPlanes.length==0){createNegativeSpace(e,t,true,a,i);l+=`Added ${t} negative space to ${e.name}\n`;e.TS_NEGATIVESPACE=getCurrentTs()+negativeSpaceUpdateTimeout}else{if(e.removingNegativeSpace||e.creatingNegativeSpace){console.log(`Negative space for ${e.name} already being animated.`)}else{removeNegativeSpace(e);l+=`Removed negative space from ${e.name}\n`}}}}if(r.indexOf(16)!=-1){if(extraShapes.knot.originalP==undefined){extraShapes.knot.originalP=extraShapes.knot.p}extraShapes.knot.p=knotsDynamicPRange;if(extraShapes.knot.originalQ==undefined){extraShapes.knot.originalQ=extraShapes.knot.q}extraShapes.knot.q=knotsDynamicQRange;for(let t of Axis){if(!t.addingKnots){for(let e of t.pivots){if(e.userData.name.includes("knot")&&e.userData.name[0]!="E"){if(!pivotIsAppearingOrDisappearing(e)){l+=`Changing q and p of ${t.name} ${e.userData.name}\n`;t.addingKnots=true;disappearPivot(e,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,()=>{addNewShape(t.name,`E_knot_${generateUUID()}`,"knot",dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed)});t.TS_KNOTSPQ=getCurrentTs()+knotsPQUpdateTimeout;setTimeout(()=>{t.addingKnots=false},6e4)}}}}}}console.log(l)}function getPivotsWithSmallShapes(i){for(let a of Axis){if(a.enabled){for(let t=0;t<a.pivots.length;t++){let e=a.pivots[t];if(e.children[0].scale.x<i&&e.children[0].scale.x!=0){console.log(a.name,t,e.userData.name)}}}}}function processShrinkAndGrow(a){let i=.005;if(a.userData.shapeType=="terrain"||a.userData.shapeType=="smallterrain"){i=.01}if(a.userData.shrinkDown){if(a.userData.shrinkDown<1e-6){a.userData.shrinkDown=1e-6}if(a.userData.shrinkDown>.1){a.userData.shrinkDown=.1}let t=true;for(let e of["x","y","z"]){if(a.children[0].scale[e]>i){a.children[0].scale[e]-=a.userData.shrinkDown;if(a.children[0].scale[e]<i){a.children[0].scale[e]=i}t=false}else{a.children[0].scale[e]=i;a.userData.toBeRemoved=a.userData.toBeRemovedAfterShrink}}if(t){a.userData.shrinkDown=undefined;a.visible=false;if(a.userData.disappearCallback){a.userData.disappearCallback()}}}if(a.userData.growUp){if(a.userData.growUp<1e-6){a.userData.growUp=1e-6}if(a.userData.growUp>.1){a.userData.growUp=.1}let t=true;a.visible=true;for(let e of["x","y","z"]){if(a.children[0].scale[e]<a.children[0].userData.originalScale[e]){a.children[0].scale[e]+=a.userData.growUp;t=false}else{a.children[0].scale[e]=a.children[0].userData.originalScale[e]}}if(t){a.userData.growUp=undefined}}}async function getThreeJS(){for(let t=0;t<NODE_URLS.length;t++){try{var a=await fetch(NODE_URLS[t],{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:"0x16cc845d144A283D1b0687FBAC8B0601cC47A6C3",data:"0x43920d7d0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001074687265652e6a7320302e3134342e3000000000000000000000000000000000"},"latest"],id:2,jsonrpc:"2.0"})});let e=await a.json();return hexToString(e.result)}catch(e){console.log("Node failed.",NODE_URLS[t])}}}function hexToString(t){if(t.startsWith("0x")){t=t.slice(2)}let a="";for(let e=0;e<t.length;e+=2){const i=parseInt(t.substr(e,2),16);a+=String.fromCharCode(i)}return a}async function dataUpdate(){if(document.hidden){console.log("Tab is not on focus, no data updates");try{SCENE.data.contract.tiers.royalty_received_tier.changed=false;SCENE.data.contract.tiers.contract_activity_tier.changed=false;SCENE.data.contract.tiers.sends_tier.changed=false;SCENE.data.contract.tiers.approvals_tier.changed=false}catch(e){}return}NODE_URLS=shuffle(NODE_URLS);SCENE.data.contractPrev=SCENE.data.contract;SCENE.data.contract=await getContractData();if(getCurrentTs()>contractMintTimestamp+receiptsFetchingOffset){NODE_URLS=shuffle(NODE_URLS);SCENE.data.wallets=await walletActivityUpdates(SCENE.data.contract[SCENE.data.contract.length-1])}else{console.log("Receipts fetching will start at",contractMintTimestamp+receiptsFetchingOffset)}SCENE.data.contract.tiers=SCENE.data.contractPrev.tiers;calculateTiers(SCENE.data.contract);calculateContractDataUpdates();console.debug("Tiers:",SCENE.data.contract.tiers);console.debug("Data updates:",[SCENE.data.contractUpdates.approvalCount,SCENE.data.contractUpdates.transferCount,SCENE.data.contractUpdates.holderCount,SCENE.data.contractUpdates.royalty]);if(!LIVE_MODE){SCENE.data.contract=randomContractData();calculateContractDataUpdates();SCENE.data.contract.tiers={royalty_received_tier:{changed:pick([true,false]),value:rand(-3,3,1)},contract_activity_tier:{changed:pick([true,false]),value:rand(-3,3,1)},sends_tier:{changed:pick([true,false]),value:rand(-3,3,1)},approvals_tier:{changed:pick([true,false]),value:rand(-3,3,1)}};console.debug("Random Tiers:",SCENE.data.contract.tiers);console.debug("Random data updates:",[SCENE.data.contractUpdates.approvalCount,SCENE.data.contractUpdates.transferCount,SCENE.data.contractUpdates.holderCount,SCENE.data.contractUpdates.royalty])}}function init(){SCENE={data:{wallet:{},contract:{}},specialObjects:{},updateStartTimesAndValues:{}};if(tokenHash){populatePalette();populateAbstractMaterials();populateAxisExtraShapes();overwriteAxis();logDebugMessage()}SCENE.camera=makeCamera();SCENE.scene=makeScene();SCENE.renderer=makeRenderer();for(let n of Axis){n.mainPivot=new THREE.Object3D;n.mainPivot.name=n.name;var a=[];for(let e in n.coneTypes){n.coneTypes[e][e]=true;a.push(n.coneTypes[e])}shuffle(a);n.axisArrayConeTypes=a;if(n.enableNegativeSpace){createNegativeSpace(n,undefined,true)}n.pivots=[];let i=n.growShapes.onStartup?n.growShapes.speed:undefined;for(let a in n.extraShapes){let t=n.extraShapes[a];for(let e=0;e<t.numberOfShapes;e++){if(t.cone){addConeToAxis(n,`cone${e}`,t,i,a)}else{addExtraShapeToAxis(n,`${a}${e}`,a,t,i)}}}let e=meanPositionOfPivots(n.pivots);let t=meanRotationOfPivots(n.pivots);n.centraRodPosition=e;n.centralRodRotation=t;if(n.addCentralRod){n.rodMaterial=new THREE.MeshBasicMaterial({color:n.centralRodColor,side:THREE.FrontSide,wireframe:false});const s=new THREE.BoxGeometry(n.centralRodWidth,n.centralRodLength,n.centralRodWidth);n.rod=new THREE.Mesh(s,n.rodMaterial);n.rod.position.set(e[0],e[1],e[2]);n.rod.rotation.z=t[2];n.mainPivot.add(n.rod)}SCENE.scene.add(n.mainPivot);if(!n.enabled){setAxisInvisibleAndDisabled(n)}}for(let e of Lights){makeLight(e);SCENE.scene.add(e.light)}if(enableWorldGradient){makeWorldPlane()}SCENE.renderer.render(SCENE.scene,SCENE.camera);if(enableShadows){SCENE.renderer.shadowMap.enabled=true;SCENE.renderer.shadowMap.type=THREE.PCFShadowMap}let i=new THREE.Clock;let n=0;let r=1/animationFPS;SCENE.cameraMovementSpeed={x:0,y:0,z:0};const o=e=>{requestAnimationFrame(o);try{if(document.hidden){return}}catch(t){}n+=i.getDelta();animateFog();for(let a of Axis){if(a.mainPivot.userData.animationQueue&&a.mainPivot.userData.animationQueue.length>0){processAnimationQueue(a.mainPivot)}for(let t of a.pivots){processShrinkAndGrow(t);t.rotateY(THREE.MathUtils.degToRad(t.userData.rotationSpeed*n));if(t.userData.animationQueue&&t.userData.animationQueue.length>0){processAnimationQueue(t)}if(t.userData.animationLoop){processAnimationLoop(t)}for(let e of t.children){if(e.userData.animationQueue&&e.userData.animationQueue.length>0){processAnimationQueue(e)}if(e.userData.animationLoop){processAnimationLoop(e)}}}if(a.enableNegativeSpaceAnimation){animateAxisNegativeSpace(a,n)}try{if(a.clipPlanes){for(let e of a.clipPlanes){if(e.userData){if(e.userData.desiredConstant>e.constant){e.constant+=negativeSpaceAnimationSpeed}else if(e.userData.desiredConstant<e.constant){e.constant-=negativeSpaceAnimationSpeed}}}}}catch(t){console.error("Animating negative space failed")}}if(SCENE.worldPlane.userData.animationQueue&&SCENE.worldPlane.userData.animationQueue.length>0){processAnimationQueue(SCENE.worldPlane)}if(SCENE.camera.userData.animationQueue&&SCENE.camera.userData.animationQueue.length>0){processAnimationQueue(SCENE.camera)}if(enableWorldGradientAnimation){animateWorldPlane()}if(enableFog){processAnimationQueue(SCENE.scene.fog)}if(SCENE.cameraMovementSpeed.y!=0){SCENE.camera.position.y+=SCENE.cameraMovementSpeed.y;SCENE.cameraMovementSpeed.y*=.98}if(SCENE.cameraMovementSpeed.x!=0){SCENE.camera.position.x+=SCENE.cameraMovementSpeed.x;SCENE.cameraMovementSpeed.x*=.98}if(SCENE.cameraMovementSpeed.z!=0){SCENE.camera.position.z+=SCENE.cameraMovementSpeed.z;SCENE.cameraMovementSpeed.z*=.98}SCENE.renderer.render(SCENE.scene,SCENE.camera);n=n%r};requestAnimationFrame(o);function e(){let e=window.innerWidth/window.innerHeight;SCENE.camera.aspect=e;SCENE.renderer.setSize(window.innerWidth,window.innerHeight);SCENE.camera.updateProjectionMatrix()}window.addEventListener("resize",e,false);e();document.addEventListener("keydown",function(e){if(e.key==="o"){if(SCENE.camera.zoom>.6){SCENE.camera.zoom-=.003;SCENE.camera.updateProjectionMatrix()}}if(e.key==="i"){if(SCENE.camera.zoom<2.5){SCENE.camera.zoom+=.003;SCENE.camera.updateProjectionMatrix()}}})}INITIALUPDATE=true;if(LIVE_MODE){getThreeJS().then(t=>{eval(t.slice(156,t.length-22));initImprovedNoise();initOBJLoader();init();setTimeout(2e3,dataUpdate());setInterval(dataUpdate,12e3);setInterval(updateScene,12e3)})}else{initImprovedNoise();initOBJLoader();init();dataUpdate();setInterval(dataUpdate,12e3);setInterval(updateScene,12e3)}window.onkeydown=function(e){if(e.keyCode===77){document.querySelector("body").insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change node URL:</p><input id="prompt" class="prompt" value="${NODE_URLS[0]}"/></div>`)}else if(e.keyCode===13){p=document.getElementById("prompt");NODE_URLS=[p.value];console.log(NODE_URLS);pc=document.getElementById("prompt-container");pc.remove()}else if(e.keyCode===27){pc=document.getElementById("prompt-container");pc.remove()}};function hashString(t){let a=5381;for(let e=0;e<t.length;e++){a=a*33^t.charCodeAt(e)}return a>>>0}function rand(t,a,e=.001){if(t==a){return t}if(t>a){let e=t;t=a;a=e}const i=randomNumberGenerator.random();const n=(a-t)/e+e;const r=Math.floor(i*n)*e;return t+r}function randS(t,a,e=.001){if(t==a){return t}if(t>a){let e=t;t=a;a=e}const i=randomNumberGeneratorSeeded.random();const n=(a-t)/e+e;const r=Math.floor(i*n)*e;return t+r}function randFromRange(e){return rand(e[0],e[1],e[2])}function randFromRangeS(e){let t=randS(e[0],e[1],e[2]);return[t,t,1]}function randFromRangeS2(e){return randS(e[0],e[1],e[2])}function shuffle(t){for(let e=t.length-1;e>0;e--){const a=Math.floor(randomNumberGenerator.random()*(e+1));[t[e],t[a]]=[t[a],t[e]]}return t}function shuffleS(t){for(let e=t.length-1;e>0;e--){const a=Math.floor(randS(0,1,.01)*e);[t[e],t[a]]=[t[a],t[e]]}return t}function pick(e){return e[rand(0,e.length-1,1)]}function pickS(e){return e[randS(0,e.length-1,1)]}function pickS2(e){let t=JSON.parse(JSON.stringify(e));shuffleS(t);if(t.length==1){let e=t.pop();return[e,e]}v1=t.pop();v2=t.pop();v3=v2;while(v1==v2){if(t.length==0){v2=v3;break}v2=t.pop()}return[v1,v2]}function numberOfShapesMinMax(e){return Array.isArray(e)?randFromRangeS(e)[0]:e}function pickFromProbabilityArrayS(e){let t=JSON.parse(JSON.stringify(e));shuffleS(t);let a=0;let i=-1;let n=null;let r=randS(0,1,.01);for(let e=0;e<t.length;e++){a+=t[e][0];if(r<a){return t[e][1]}else if(t[e][0]>i){i=t[e][0];n=t[e]}}return n[1]}function pickFromProbabilityMapS(e){let t=JSON.parse(JSON.stringify(e));shuffleS(t);let a=0;let i=-1;let n=null;let r=randS(0,1,.01);for(let e=0;e<t.length;e++){a+=t[e].probability;if(r<a){return t[e]}else if(t[e].probability>i){i=t[e].probability;n=t[e]}}return n}function smallerRange(e,t){e=randFromRangeS(e);return[e[0]-t,e[0]+t,e[2]]}function overwriteAxis(){let e=randFromRangeS(hashOverwrites.axisAngle)[0];let t=randFromRangeS(hashOverwrites.axisAngle)[0];let i=shuffleS([[e-2,e+2,1],[e-2,e+2,1],[e-2,e+2,1],[t-2,t+2,1],[t-2,t+2,1],[t-2,t+2,1],[t-2,t+2,1]]);for(let a=0;a<Axis.length;a++){let e=Axis[a];let t=i.pop();e.name=`axis${a+1}`;e.axisAngle=t;e.originalAxisAngle=t;e.axisExtremeAngle=undefined;e.extremeAngleEnabledTimestamp=undefined;e.axisX=smallerRange(hashOverwrites.axisX,5);e.axisY=smallerRange(hashOverwrites.axisY,5);e.axisZ=smallerRange(hashOverwrites.axisZ,5)}}function populatePalette(){if(traitsPalette){SCENE.palette=palettes[traitsPalette[0]]}else{palettes=shuffleS(palettes);SCENE.palette=palettes.pop()}worldGradientColors=[[SCENE.palette.gradient[2],SCENE.palette.gradient[0]],[SCENE.palette.gradient[3],SCENE.palette.gradient[1]]];fogColor=pickS(SCENE.palette.colors.filter(e=>{return e!=SCENE.palette.gradient[0]&&e!=SCENE.palette.gradient[1]}));console.log(fogColor)}function populateAxisExtraShapes(){let t=Object.keys(materialTemplates);let a=-1;for(shapeType in extraShapes){a++;shapeParams=extraShapes[shapeType];shapeParams.originalNumberOfShapes=shapeParams.numberOfShapes;shapeParams.numberOfShapes=randS(shapeParams.numberOfShapes[0],shapeParams.numberOfShapes[1]||shapeParams.numberOfShapes[0],1);shapeParams.material=pickFromProbabilityArrayS(shapeParams.material);if(traitsObjects){for(let e=0;e<traitsObjects.length;e+=3){if(traitsObjects[e]==a){shapeParams.axisToBeAddedTo=[pick(shapeParams.axis)];shapeParams.material=t[traitsObjects[e+1]]}}}else{for(let e=0;e<Axis.length;e++){shapeParams.axisToBeAddedTo=[pick(shapeParams.axis)]}}if(shapeParams.extraAxis&&shapeParams.extraAxis.length>0){if(!shapeParams.axisToBeAddedTo){shapeParams.axisToBeAddedTo=[pick(shapeParams.extraAxis)]}else{shapeParams.axisToBeAddedTo.push(pick(shapeParams.extraAxis))}}if(shapeParams.secondColor){let e=pickS(SCENE.palette.colors);if(Array.isArray(e)){e=e[0]}shapeParams.secondColor=e}}for(shapeType in extraShapes){if(shapeType=="knot"){shapeParams=extraShapes[shapeType];if(Array.isArray(shapeParams.material)){shapeParams.material=pickFromProbabilityArrayS(shapeParams.material)}}}for(let e=0;e<Axis.length;e++){Axis[e].extraShapes={};for(shapeType in extraShapes){shapeParams=JSON.parse(JSON.stringify(extraShapes[shapeType]));if(shapeParams.axisToBeAddedTo&&shapeParams.axisToBeAddedTo.indexOf(e+1)>-1){if(!traitsObjects&&randS(0,1,.01)<1-shapeParams.probability){continue}Axis[e].extraShapes[shapeType]=shapeParams}}}}function populateAbstractMaterials(){for(let f in materialTemplates){let t=materialTemplates[f];t={color:t[0],wireframe:t[2],shininess:t[1],enableTexture:t[3],textureColorVariant:pickS(t[4]),textureSize:t[13],textureNoiseSize:t[14],textureBase:t[11],textureMultiplier:t[12],textureBumpAmount:t[16],enableTextureBump:t[15],textureOffset:t[10],textureScale:t[8],textureRecolor:t[7],textureRotation:t[9],useTextureTransparency:t[6],textureBumpVariant:t[5]};let e=pickS2(SCENE.palette.colors);let a=e[0];let i=e[1];t.color=a;t.textureRecolor=i;let n=[undefined,undefined];let r=t.color;let o=false;if(typeof t.wireframe=="boolean"){o=t.wireframe}else{o=randS(0,1,.01)>1-t.wireframe;console.log(t.wireframe,o)}let s=t.shininess;let l=undefined;if(typeof t.enableTexture=="number"){t.enableTexture=randS(0,1,.001)>1-t.enableTexture}if(t.enableTexture){if(["simple","perlin3","simplex3"].indexOf(t.textureColorVariant)>=0){let e=makePerlinTexture(t.textureSize[0],t.textureSize[1],t.textureNoiseSize[0],t.textureNoiseSize[1],t.textureBase,t.textureMultiplier,true,t.textureBumpAmount,t.textureColorVariant);n[0]=e[0];if(t.enableTextureBump){n[1]=e[1]}}else if(t.textureColorVariant in base64Textures){let e=loadTextureRecolor(t.textureColorVariant,t.textureOffset[0],t.textureOffset[1],t.textureScale[0],t.textureScale[1],t.textureRecolor,r,t.textureRotation);if(t.useTextureTransparency){l=loadTextureRecolor(t.textureColorVariant,t.textureOffset[0],t.textureOffset[1],t.textureScale[0],t.textureScale[1],"#FFFFFF","#000000",t.textureRotation)}n[0]=e;if(t.enableTextureBump){if(t.textureColorVariant==t.textureBumpVariant){n[1]=e}else{let e=makePerlinTexture(t.textureSize[0],t.textureSize[1],t.textureNoiseSize[0],t.textureNoiseSize[1],t.textureBase,t.textureMultiplier,true,t.textureBumpAmount,t.textureColorVariant);n[1]=e[0]}}}}let c={type:"phong",color:r,side:THREE.DoubleSide,wireframe:o,shininess:s,map:n[0],bumpMap:n[1],alphaMap:l};let p=makeMaterial(c);p.userData.name=f;materialTemplates[f]=p}}function vertexIndexSequence(n){n-=1;let r=[];for(let i=0;i<n;i++){let e=i;let t=i+1;let a=n-i;if(t==a){t++}r=r.concat(e,t,a)}return r}function makeExtrudeShapeMesh(e,t,a,i){function n(t){let a=new THREE.Shape;for(let e=0;e<t.length;e++){if(e==0){a.moveTo(t[e][0],t[e][1])}else{a.lineTo(t[e][0],t[e][1])}}return a}let r=n(e);if(t.length>0){let e=n(t);r.holes.push(e)}let o=new THREE.ExtrudeGeometry(r,a);let s=new THREE.Mesh(o,i);return s}function makeFrame(e,t,a,i,n,r,o,s){let l=[[t,a],[t,-a],[-t,-a],[-t,a]];let c={steps:2,depth:n,bevelEnabled:false};let p=[];for(let a of l){let e=a[0]<0?a[0]+i:a[0]-i;let t=a[1]<0?a[1]+i:a[1]-i;p.push([e,t])}let f=makeExtrudeShapeMesh(l,p,c,e);if(o){f.position.set(o[0],o[1],o[2])}if(r){f.scale.set(r[0],r[1],r[2])}if(s){f.rotation.set(THREE.MathUtils.degToRad(s[0]),THREE.MathUtils.degToRad(s[1]),THREE.MathUtils.degToRad(s[2]))}return f}function makeRectangle(e,t,a,i,n,r,o){let s=[[t,a],[t,-a],[-t,-a],[-t,a]];let l={steps:2,depth:i,bevelEnabled:false};let c=makeExtrudeShapeMesh(s,[],l,e);if(r){c.position.set(r[0],r[1],r[2])}if(n){c.scale.set(n[0],n[1],n[2])}if(o){c.rotation.set(THREE.MathUtils.degToRad(o[0]),THREE.MathUtils.degToRad(o[1]),THREE.MathUtils.degToRad(o[2]))}return c}function makeArrow(e,t,a,i,n,r,o,s,l=0){if(l==0){var c=[[4.23,.1],[.65,8.65],[-3.48,-.71],[-.4,.84],[-.97,-6.59],[.73,-6.52],[1.02,1.08]]}else if(l==1){var c=[[-4-.13,0-1],[.65,8.65],[-3.48,-.71],[-.4,-.84],[-.07,-.09],[.73,-.52],[1.02,1.08]]}else if(l==2){var c=[[-4-.13,0-1],[.65,1.55,8.65,3.56,.22],[-3.48,-.71],[-.4,-.84],[-.07,-.09],[.73,-.52],[1.02,1.08]]}else if(l==3){var c=[[-14-.13,10-1],[.65,-1.55,8.65,-3.56,.22],[-13.48,10.71],[-20.4,-.84],[-.07,-.09],[2.73,-.52],[1.02,1.08]]}let p={steps:2,depth:t,bevelEnabled:true,bevelThickness:a,bevelSize:i,bevelOffset:0,bevelSegments:n};let f=makeExtrudeShapeMesh(c,[],p,e);if(o){f.position.set(o[0],o[1],o[2])}if(r){f.scale.set(r[0],r[1],r[2])}if(s){f.rotation.set(THREE.MathUtils.degToRad(s[0]),THREE.MathUtils.degToRad(s[1]),THREE.MathUtils.degToRad(s[2]))}return f}function makeKnot(e,t,a,i,n,r,o,s,l,c){const p=new THREE.TorusKnotGeometry(t,a,i,n,r,o);p.computeVertexNormals();const f=new THREE.Mesh(p,e);if(l){f.position.set(l[0],l[1],l[2])}if(s){f.scale.set(s[0],s[1],s[2])}if(c){f.rotation.set(THREE.MathUtils.degToRad(c[0]),THREE.MathUtils.degToRad(c[1]),THREE.MathUtils.degToRad(c[2]))}return f}function makeMaterial(e={type:undefined,color:undefined,side:undefined,wireframe:undefined,shininess:undefined,map:undefined,bumpMap:undefined,alphaMap:undefined}){let t={color:e.color?e.color:"#FFFFFF",side:e.side,wireframe:e.wireframe,shininess:e.shininess};if(e.map){t.map=e.map;if(e.alphaMap){t.alphaMap=e.alphaMap;t.alphaTest=.8;t.premultipliedAlpha=true}}if(e.bumpMap){t.bumpMap=e.bumpMap}let a=new THREE.MeshPhongMaterial(t);a.userData.used=false;return a}function loadTextureRecolor(e,t,a,i,n,r=undefined,o=undefined,s=undefined){var l=document.createElement("canvas");l.width=128;l.height=128;var c=l.getContext("2d");var p=new THREE.Texture(l);var f=new Image;f.src=`data:image/png;base64,${base64Textures[e]}`;f.onload=function(){c.globalCompositeOperation="copy";c.drawImage(f,0,0,l.width,l.height);if(r){c.globalCompositeOperation="source-in";c.fillStyle=r;c.fillRect(0,0,l.width,l.height)}c.globalCompositeOperation="destination-atop";c.fillStyle=o;c.fillRect(0,0,l.width,l.height);p.wrapS=THREE.RepeatWrapping;p.wrapT=THREE.RepeatWrapping;if(t&&a){p.offset.set(t,a)}if(i&&n){p.repeat.set(i,n)}if(s){p.rotation=THREE.MathUtils.degToRad(s)}p.needsUpdate=true};return p}function generateHeight(t,e){let a=Math.PI/4;window.Math.random=function(){const e=Math.sin(a++)*1e4;return e-Math.floor(e)};const i=t*e,n=new Uint8Array(i);const r=new THREE.ImprovedNoise,o=Math.random()*100;let s=1;for(let e=0;e<4;e++){for(let e=0;e<i;e++){const l=e%t,c=~~(e/t);n[e]+=Math.abs(r.noise(l/s,c/s,o)*s*1.75)}s*=5}return n}function makeTerrain(e,t,i,n,a,r,o,s=0,l,c){const p=t,f=i;if(s==0){const g=generateHeight(p,f);var d=new THREE.PlaneGeometry(t,i,p-1,f-1);const h=d.attributes.position.array;d.rotateX(-Math.PI/2);for(let e=0,t=0,a=h.length;e<a;e++,t+=3){h[t+1]=g[e]*n}}else if(s==1){var d=new THREE.BoxGeometry(t,i,c,p-1,f-1,1);d.rotateX(-Math.PI/2);const h=d.attributes.position.array;let a={};for(let t=0;t<h.length-3;t++){let e=`${h[t]}_${h[t+1]}_${h[t+2]}`;if(a[e]){a[e].push(t)}else{a[e]=[t]}}let n=[];for(let e of Object.keys(a)){if(a[e].length>1){n.push(a[e])}}for(let e=0,i=0,t=h.length;e<t;e++,i+=3){let e=false;let a=randFromRange(l);for(let t=0;t<n.length;t++){if(n[t]&&n[t].indexOf(i)>-1){for(let e of n[t]){h[e+1]+=a}e=true}}if(!e){h[i+1]+=randFromRange(l)}}}let u=new THREE.Mesh(d,e);let m=n*100;if(r){u.position.set(r[0]-p/10,r[1]-m,r[2])}if(a){u.scale.set(a[0],a[1],a[2])}if(o){u.rotation.set(THREE.MathUtils.degToRad(o[0]),THREE.MathUtils.degToRad(o[1]),THREE.MathUtils.degToRad(o[2]))}return u}function makeCloud(t,a,i,n,r,o,e,s,l){let c=new THREE.Group;const p=new THREE.SphereGeometry(1,16,16);for(let e=0;e<r;e++){const f=new THREE.Mesh(p,t);const d=Math.random()*a;const u=Math.random()*i;const m=Math.random()*n;f.position.set(d,u,m);let e=randFromRange(o);f.scale.set(e,e,e);c.add(f)}if(s){c.position.set(s[0],s[1],s[2])}if(e){c.scale.set(e[0],e[1],e[2])}if(l){c.rotation.set(THREE.MathUtils.degToRad(l[0]),THREE.MathUtils.degToRad(l[1]),THREE.MathUtils.degToRad(l[2]))}return c}function makeAnimationForQueue(e,t,a,i,n,r=.3){n=n<0?n*-1:n;let o={attribute:e,from:t,current:t,to:a,"final":i,speed:n,counter:0,curve:r};if(e=="color"){t=typeof t==="string"?t:"#"+t.getHex().toString(16);a=Array.isArray(a)?a:[a];o.colorInterpolator=new ColorInterpolator([t].concat(a),n)}return o}function processAnimationQueue(t){if(t.userData.animationQueue==undefined||t.userData.animationQueue.length==0){return}if(t.isCamera){if(t.position.z<25||t.position.z>155){t.userData.animationQueue.splice(0,1);return}}if(!t.userData.animationQueue[0].direction){if(Array.isArray(t.userData.animationQueue[0].from)){t.userData.animationQueue[0].direction=[];for(let e=0;e<t.userData.animationQueue[0].from.length;e++){t.userData.animationQueue[0].direction.push(t.userData.animationQueue[0].from[e]>t.userData.animationQueue[0].to[e]?-1:1)}}else{t.userData.animationQueue[0].direction=t.userData.animationQueue[0].from>t.userData.animationQueue[0].to?-1:1}}let a=t.userData.animationQueue[0];if(a.counter>1e4){t.userData.animationQueue.splice(0,1);return}else{a.counter++}if(a.attribute=="color"){if(t.color){let e=new THREE.Color(a.colorInterpolator.nextColor());t.color=e;if(a.colorInterpolator.looped){t.userData.animationQueue.splice(0,1);return}}else{console.error("Shape has no color attribute")}return}if(Array.isArray(a.from)){for(let e=0;e<a.from.length;e++){if(a.direction[e]==-1&&a.current[e]<=a.to[e]||a.direction[e]==1&&a.current[e]>=a.to[e]){t.userData.animationQueue.splice(0,1);return}if(a.from[e]>a.to[e]){a.current[e]-=a.speed}else{a.current[e]+=a.speed}}}else{if(a.attribute=="scale"){a.current=Math.max(t.scale.x,t.scale.y,t.scale.z)}else if(a.attribute=="rotationSpeed"){a.current=t.userData.rotationSpeed}else if(a.attribute=="distance"){a.current=t.position.x}else if(a.attribute=="x"){a.current=t.position.x}else if(a.attribute=="y"){a.current=t.position.y}else if(a.attribute=="z"){a.current=t.position.z}else if(a.attribute=="near-far"){a.current[0]=t.near;a.current[1]=t.far}else if(a.attribute=="angleX"){a.current=t.rotation.x}else if(a.attribute=="angleY"){a.current=t.rotation.y}else if(a.attribute=="angleZ"){a.current=t.rotation.z}if(a.direction==-1&&a.current<=a.to||a.direction==1&&a.current>=a.to){
jb_mass_mainf e.children){if(a.userData.name==i){let e=a.position.x;let t=makeAnimationForQueue("distance",e,n,n,r,o);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t)}}}}}}}function updateBackgroundGradientScale(e,t=1,a=.1){let i=Math.max(SCENE.worldPlane.scale.x,SCENE.worldPlane.scale.y);SCENE.worldPlane.userData.animationQueue.push(makeAnimationForQueue("scale",i,e,e,t,a))}function updateCameraPosition(e,t,a,i=1,n=.1){if(e!==undefined){SCENE.camera.userData.animationQueue.push(makeAnimationForQueue("x",SCENE.camera.position.x,e,e,i,n))}if(t!==undefined){SCENE.camera.userData.animationQueue.push(makeAnimationForQueue("y",SCENE.camera.position.y,t,t,i,n))}if(a!==undefined){SCENE.camera.userData.animationQueue.push(makeAnimationForQueue("z",SCENE.camera.position.z,a,a,i,n))}}function updateObjectScale2(e,t,a=1,i=.1){let n=makeAnimationForQueue("scale",[e.scale.x,e.scale.y,e.scale.z],[t,t,t],[t,t,t],a,i);if(e.userData.animationQueue==undefined){e.userData.animationQueue=[]}e.userData.animationQueue.push(n)}function addNewShape(e,t,a,i,n=false){for(ax of Axis){shapeParams=extraShapes[a];if(ax.name==e){if(n){let t=false;for(let e of ax.pivots){if(e.userData.name.slice(0,a.length)==a){t=true;break}}if(!t){continue}}if(shapeParams.cone){addConeToAxis(ax,t,shapeParams,i,a);return}else{if(a.includes("terrain")){i*=terrainsAppearAndDisappearMultiplier}if(a.includes("knot")){i*=knotsAppearAndDisappearMultiplier}addExtraShapeToAxis(ax,t,a,shapeParams,i)}}}}function rotateAxis(t,a,i,n,r=1,o=.1){for(let e of Axis){if(e.name==t){if(e.mainPivot.userData.animationQueue==undefined){e.mainPivot.userData.animationQueue=[]}if(a!==undefined){a=THREE.MathUtils.degToRad(a);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("angleX",e.mainPivot.rotation.x,a,a,r,o))}if(i!==undefined){i=THREE.MathUtils.degToRad(i);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("angleY",e.mainPivot.rotation.y,i,i,r,o))}if(n!==undefined){n=THREE.MathUtils.degToRad(n);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("angleZ",e.mainPivot.rotation.z,n,n,r,o))}}}}function moveAxis(t,a,i,n,r=1,o=.1){for(let e of Axis){if(e.name==t){if(e.mainPivot.userData.animationQueue==undefined){e.mainPivot.userData.animationQueue=[]}if(a!==undefined){a=THREE.MathUtils.degToRad(a);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("x",e.mainPivot.position.x,a,a,r,o))}if(i!==undefined){i=THREE.MathUtils.degToRad(i);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("y",e.mainPivot.position.y,i,i,r,.1))}if(n!==undefined){n=THREE.MathUtils.degToRad(n);e.mainPivot.userData.animationQueue.push(makeAnimationForQueue("z",e.mainPivot.position.z,n,n,r,.1))}}}}function getObjectVertexXYZ(e,a,i){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==a){for(child of e.children){let e=child.geometry.getAttribute("position");if(i==undefined){i=rand(0,e.count,1)}let t=new THREE.Vector3(e.getX(i),e.getY(i),e.getZ(i));t.applyMatrix4(child.matrixWorld);return t}}}}}}function addRotationLoop(a,e,n,r){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==a){for(let i of e.children){if(i.userData.name==a){let e;let t;if(n=="X"){e="angleX";t=i.rotation.x}else if(n=="Y"){e="angleY";t=i.rotation.y}else if(n=="Z"){e="angleZ";t=i.rotation.z}let a=makeAnimationForQueue(e,t,t+1,t+1,r,undefined);if(i.userData.animationLoop===undefined){i.userData.animationLoop=[]}i.userData.animationLoop.push(a)}}}}}}}function removeRotationLoop(i,e,n){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==i){for(let a of e.children){if(a.userData.name==i){if(a.userData.animationLoop){let t;if(n=="X"){t="angleX"}else if(n=="Y"){t="angleY"}else if(n=="Z"){t="angleZ"}for(let e=0;e<a.userData.animationLoop.length;e++){if(a.userData.animationLoop[e].attribute==t){a.userData.animationLoop.splice(e,1);return}}}}}}}}}}function logDebugMessage(){let t=`Hash: ${tokenHash} Randomness:`;for(let e=0;e<5;e++){t+=" "+randS(1,100,1)}t+=`\nPalette: ${JSON.stringify(SCENE.palette)}`;t+="\nAxis shapes:";for(let e of Axis){t+="\n"+e.name+":";for(shape in e.extraShapes){t+=" "+shape+` [${e.extraShapes[shape].numberOfShapes} ${e.extraShapes[shape].material}]`}}console.log(t)}async function walletActivityUpdates(e){try{return await getLastBlockReceipts(e)}catch(t){console.error(t)}}function disableAxis(t,a=.01){t.enabled=false;for(let e of t.pivots){if(!e.userData.originalScale){e.userData.originalScale=e.scale.x}updateObjectScale2(e,0,a)}}function enableAxis(e,a=.01){e.enabled=true;for(let t of e.pivots){t.scale.set(0,0,0);updateObjectScale2(t,t.userData.originalScale,a);for(let e of t.children){e.visible=true}}}function axisHasAnimatingPivots(t){for(let e of t.pivots){if(e.userData.animationQueue&&e.userData.animationQueue.length>0){return true}}return false}function setAxisInvisibleAndDisabled(e){e.enabled=false;for(let t of e.pivots){t.userData.originalScale=t.scale.x;t.scale.set(0,0,0);for(let e of t.children){e.visible=false}}}function disappearPivot(e,t=.01,a=false,i=undefined,n=undefined){e.userData.disabled=true;if(a){e.userData.toBeRemovedAfterShrink=true}if(!e.children[0].userData.originalScale){e.children[0].userData.originalScale=JSON.parse(JSON.stringify(e.children[0].scale))}if(e.userData.name.includes("terrain")){t*=terrainsAppearAndDisappearMultiplier}if(e.userData.name.includes("knot")){t*=knotsAppearAndDisappearMultiplier}if(i){e.userData.delayedDisappear=true;setTimeout(()=>{e.userData.shrinkDown=t;e.userData.delayedDisappear=false;e.userData.disappearCallback=n},rand(i[0],i[1],1))}else{e.userData.shrinkDown=t;e.userData.disappearCallback=n}}function disappearObjects(i,n=.01,r=false,o=undefined,s=undefined,l=undefined){let c=0;for(let e=0;e<500;e++){let e=Axis[rand(0,Axis.length-1,1)];if(!e.enabled||!e.pivots||e.pivots.length==0){continue}let t=rand(0,e.pivots.length-1,1);let a=e.pivots[t];if(a.userData.shrinkDown||a.userData.growUp){if(o!="E"){continue}}if(s&&a.userData.shapeType!=s){continue}if(o&&a.userData.name.slice(0,o.length)!=o){continue}if(a.userData.disabled){if(o!="E"&&!r){continue}}if(a.userData.delayedDisappear||a.userData.delayedAppear){continue}disappearPivot(a,n,r,l);c++;if(c>=i){return c}}return c}function disappearObjectsByType(e,t=.01,a=false,i=undefined,n=undefined,r=undefined){let o=0;for(ax of Axis){for(pivot of ax.pivots){if(n&&pivot.userData.shapeType!=n){continue}if(i&&pivot.userData.name.slice(0,i.length)!=i){continue}pivot.userData.growUp=undefined;disappearPivot(pivot,t,a,r);o++;if(e){if(o>=e){return o}}}}return o}function appearObjects(a,i=.01,n=.3,r=undefined){let o=0;for(let e=0;e<500;e++){let e=Axis[rand(0,Axis.length-1,1)];if(!e.enabled||!e.pivots||e.pivots.length==0){continue}let t=e.pivots[rand(0,e.pivots.length-1,1)];if(t.userData.shrinkDown||t.userData.growUp){continue}if(t.userData.delayedDisappear||t.userData.delayedAppear){continue}if(!t.userData.disabled){continue}t.userData.disabled=false;if(t.userData.name.includes("terrain")){i*=terrainsAppearAndDisappearMultiplier}if(t.userData.name.includes("knot")){i*=knotsAppearAndDisappearMultiplier}if(r){t.userData.delayedAppear=true;setTimeout(()=>{t.userData.growUp=i;t.userData.delayedAppear=false},rand(r[0],r[1],1))}else{t.userData.growUp=i}o++;if(o>=a){break}continue;if(t.children[0].userData.animationQueue&&t.children[0].userData.animationQueue.length>0){continue}if(t.userData.animationQueue&&t.userData.animationQueue.length>0){continue}if(t.userData.disabledWithTimeout){continue}if(t.children[0].userData.name.includes("terrain")){i*=terrainsAppearAndDisappearMultiplier}if(t.children[0].userData.name.includes("knot")){i*=knotsAppearAndDisappearMultiplier}if(t.userData.disabled){updateObjectScale2(t.children[0],t.children[0].userData.originalScale,i,n);t.visible=true;t.userData.disabled=false;o++;if(o>=a){break}}}return o}function randomContractData(){let e=[rand(0,1e3,1)];let t=[];let a=[rand(0,1e3,1)];let i=[];let n=[rand(20,300,1)];let r=[];let o=[];let s=[300];let l=1681510366;let c=1681510366;let p=1681510366;let f=1681510366;for(let e=0;e<200;e++){l+=rand(1e3,1e6,1);c+=rand(1e3,1e6,1);p+=rand(1e3,1e6,1);f+=rand(1e3,1e6,1);t.push(l);i.push(c);r.push(p);r.push(rand(3e15,6e15,1));o.push(f);o.push(rand(3e15,6e15,1))}return[e,t,a,i,n,r,o,s]}function pickAxis(t,a=[],i=false,n=false){for(let e=0;e<100;e++){let e=rand(0,Axis.length-1,1);if(!Axis[e].pivots||Axis[e].pivots.length==0){continue}if(n&&Axis[e].extraShapes.size==0){continue}if(a.indexOf(e)!=-1||i&&Axis[e].extremeAngle){continue}if(Axis[e].enabled==t){return Axis[e]}}}function getLoopingObjects(){let a=[];for(let t of Axis){if(t.enabled){for(let e of t.pivots){if(e.children[0].userData.animationLoop||e.userData.animationLoop){a.push([t.name,e])}}}}return a}function getNotLoopingObjects(){let a=[];for(let t of Axis){if(t.enabled){for(let e of t.pivots){if(!e.children[0].animationLoop){a.push([t.name,e])}}}}return a}function animateFog(){if(SCENE.scene.fog.userData){if(SCENE.scene.fog.userData.nearTo){if(SCENE.scene.fog.near<SCENE.scene.fog.userData.nearTo){SCENE.scene.fog.near+=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.near=parseFloat(SCENE.scene.fog.near.toFixed(5))}else if(SCENE.scene.fog.near>SCENE.scene.fog.userData.nearTo){SCENE.scene.fog.near-=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.near=parseFloat(SCENE.scene.fog.near.toFixed(5))}else{SCENE.scene.fog.userData.nearTo=undefined}}if(SCENE.scene.fog.userData.farTo){if(SCENE.scene.fog.far<SCENE.scene.fog.userData.farTo){SCENE.scene.fog.far+=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.far=parseFloat(SCENE.scene.fog.far.toFixed(5))}else if(SCENE.scene.fog.far>SCENE.scene.fog.userData.farTo){SCENE.scene.fog.far-=dynamicUpdateAnimationSpeeds.fog.speed;SCENE.scene.fog.far=parseFloat(SCENE.scene.fog.far.toFixed(5))}else{SCENE.scene.fog.userData.farTo=undefined}}if(SCENE.scene.fog.near>SCENE.scene.fog.far){SCENE.scene.fog.far=SCENE.scene.fog.near+1}else if(SCENE.scene.fog.far-SCENE.scene.fog.near<1){SCENE.scene.fog.far=SCENE.scene.fog.near+1}}}function getNShapesWithTypes(){let t=Object.keys(extraShapes);let a={};for(let e of t){a[e]=0}for(let e of Axis){if(e.enabled){for(pivot of e.pivots){if(!pivot.userData.disabled){for(let e of t){if(pivot.userData.shapeType==e){if(a[e]){a[e]++}else{a[e]=1}}}}}}}return a}function pickAxisForShape(t){let a=[];for(let e=0;e<Axis.length;e++){if(Axis[e].enabled&&extraShapes[t].axis.indexOf(e+1)>-1){a.push(e)}}if(a.length>0){return Axis[pick(a)]}}function pivotNotAnimating(e){for(child of e.children){if(child.userData.animationQueue&&child.userData.animationQueue.length>0){return false}}return e.userData.animationQueue&&e.userData.animationQueue.length==0}function pivotIsAppearingOrDisappearing(e){return Boolean(e.userData.shrinkDown||e.userData.growUp||e.userData.delayedDisappear||e.userData.delayedAppear)}function processUpdateTimers(){let t=getCurrentTs();for(let e=0;e<Axis.length;e++){ax=Axis[e];if(e==5||e==6){if(ax.enabled&&ax.TS_ENABLED&&t>ax.TS_ENABLED){disableAxis(ax,dynamicUpdateAnimationSpeeds.axisAppearAndDisappear.speed);ax.TS_ENABLED=undefined;console.log("Normalized number of axis")}}if(ax.TS_ROTATED&&t>ax.TS_ROTATED){rotateAxis(ax.name,undefined,undefined,ax.originalAngle,dynamicUpdateAnimationSpeeds.axisAngle.speed,dynamicUpdateAnimationSpeeds.axisAngle.curve);ax.TS_ROTATED=undefined;console.log("Normalized axis rotation")}if(ax.TS_ROTATED_EXTREME&&t>ax.TS_ROTATED_EXTREME){rotateAxis(ax.name,undefined,undefined,ax.originalAngle,dynamicUpdateAnimationSpeeds.axisExtremeAngle.speed,dynamicUpdateAnimationSpeeds.axisExtremeAngle.curve);ax.TS_ROTATED_EXTREME=undefined;console.log("Normalized axis extreme rotation")}if(ax.TS_POSITION&&t>ax.TS_POSITION){moveAxis(ax.name,ax.originalPosition[0],ax.originalPosition[1],ax.originalPosition[2],dynamicUpdateAnimationSpeeds.axisPosition.speed,dynamicUpdateAnimationSpeeds.axisPosition.curve);ax.TS_POSITION=undefined;console.log("Normalized axis position")}if(ax.TS_NEGATIVESPACE&&t>ax.TS_NEGATIVESPACE){removeNegativeSpace(ax);ax.TS_NEGATIVESPACE=undefined;console.log("Normalized negative space")}if(ax.TS_NUMBEROFKNOTS&&t>ax.TS_NUMBEROFKNOTS){let e=0;for(p of ax.pivots){if(p.userData.shapeType=="knot"){e++}}let t=e-ax.originalNumberOfKnots;if(t>0){disappearObjectsByType(300,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,"E","knot")}ax.TS_NUMBEROFKNOTS=undefined;console.log("Normalized number of knots")}for(let e of ax.pivots){if(e.userData.TS_SPINNING&&t>e.userData.TS_SPINNING){removeRotationLoop(e.userData.name,ax.name,e.userData.spinningAxis);e.userData.TS_SPINNING=undefined;console.log("Normalized spinning obj")}if(ax.TS_KNOTSPQ&&t>ax.TS_KNOTSPQ&&e.userData.name[0]=="E"){extraShapes.knot.p=extraShapes.knot.originalP;extraShapes.knot.q=extraShapes.knot.originalQ;disappearPivot(e,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,()=>{addNewShape(ax.name,`knot_1`,"knot",dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed)});setTimeout(e=>{e.TS_KNOTSPQ=undefined},5e3,ax);console.log("Normalized knot p q")}if(e.userData.TS_ROTATIONDIRECTION&&t>e.userData.TS_ROTATIONDIRECTION){switchObjectRotationDirection(e.userData.name,ax.name,dynamicUpdateAnimationSpeeds.axisRotationDirection.speed,dynamicUpdateAnimationSpeeds.axisRotationDirection.curve);e.userData.TS_ROTATIONDIRECTION=undefined;console.log("Normalized axis rotation")}}if(ax.TS_EXTRAOBJECTCLASS&&t>ax.TS_EXTRAOBJECTCLASS){for(pivot of ax.pivots){if(pivot.userData.name.includes("update17")){disappearPivot(pivot,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true)}}ax.TS_EXTRAOBJECTCLASS=undefined;console.log("Normalized extra obj class")}}if(SCENE.camera.userData.TS_POSITION&&t>SCENE.camera.userData.TS_POSITION){updateCameraPosition(undefined,undefined,SCENE.camera.userData.originalPositionZ,dynamicUpdateAnimationSpeeds.cameraPosition.speed,dynamicUpdateAnimationSpeeds.cameraPosition.curve);SCENE.camera.userData.TS_POSITION=undefined;console.log("Normalized camera position")}if(SCENE.scene.fog.userData.TS_ENABLED&&t>SCENE.scene.fog.userData.TS_ENABLED){if(SCENE.scene.fog.userData.nearTo){console.log("Fog is already animating")}else{SCENE.scene.fog.userData={nearTo:100,farTo:100};SCENE.scene.fog.enabled=false;SCENE.scene.fog.userData.TS_ENABLED=undefined;console.log("Normalized fog")}}}function updateScene(){try{if(document.hidden){return}}catch(s){}try{processUpdateTimers()}catch(s){console.error(s)}for(let t of Axis){for(let e of t.pivots){if(e.userData.toBeRemoved&&!(e.userData.growUp||e.userData.shrinkDown)){console.log(`Removed pivots: ${t.name} - ${e.userData.name}`);SCENE.scene.remove(e);e.userData.alreadyRemoved=true}}t.pivots=t.pivots.filter(e=>!e.userData.alreadyRemoved)}let l="";if(l){console.log(l)}var e=SCENE.data.contract.tiers.royalty_received_tier;var t=SCENE.data.contract.tiers.contract_activity_tier;var a=SCENE.data.contract.tiers.sends_tier;var i=SCENE.data.contract.tiers.approvals_tier;console.log(`Tiers: royalty: ${e.value} contract: ${t.value} sends: ${a.value} approvals: ${i.value}`);l="";let n=shuffle([1,2,3,4,8,9,10,11,14,16,17]);let r=[];if(SCENE.data.memory){if(!SCENE.data.memoryPossibleUpdatesRandom){SCENE.data.memoryPossibleUpdatesRandom=n}for(let t=0;t<SCENE.data.memory;t++){SCENE.data.memory--;let e=SCENE.data.memoryPossibleUpdatesRandom.pop();console.log("Update",e,"recreated from memory");r.push(e);if(t>=1){break}}}else{if(SCENE.data.wallets&&n.length>0){r.push(n.pop());SCENE.data.wallets=undefined}}if(e.changed){console.log("royalty_received_tier triggered");r.push(5)}if(t.changed){console.log("contract_activity_tier triggered");r.push(13)}if(a.changed){console.log("sends_tier triggered");r.push(6)}if(i.changed){console.log("approvals_tier triggered");r.push(7)}if(r.length==0){r.push(0)}if(DEBUG_UPDATE_SOURCE=="random"){r=[rand(0,16,1)]}if(DEBUG_UPDATE_SOURCE!=undefined&&DEBUG_UPDATE_SOURCE!="random"){r=Array.isArray(DEBUG_UPDATE_SOURCE)?DEBUG_UPDATE_SOURCE:[DEBUG_UPDATE_SOURCE]}console.log("updateType",r);try{if(DEBUG_STOP_UPDATES){console.warn("Updates are stopped");return}}catch{}if(r.indexOf(0)!=-1){let a=0;let i=0;for(let t of Axis){for(let e of t.pivots){if(e.userData.disabled){i++}else{a++}}}let e=rand(10,20,1);let t=rand(1,10,1);try{if(a/i<4){t=0}}catch{t=0}console.log("nObjectsToAppear",e,"nObjectsToDisappear",t);let n=0;let r=0;n=appearObjects(e,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed);if(t){r=disappearObjects(t,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed)}l+=`Appeared objects:${n} Dissapeared objects:${r} (${a},${i})\n`}if(r.indexOf(1)!=-1){let e=Axis[pick([5,6])];if(e.enabled){disableAxis(e,dynamicUpdateAnimationSpeeds.axisAppearAndDisappear.speed);l+=`Disabled axis:${e.name}\n`}else{enableAxis(e,dynamicUpdateAnimationSpeeds.axisAppearAndDisappear.speed);l+=`Enabled axis:${e.name}\n`;e.TS_ENABLED=getCurrentTs()+addOrRemoveAxisUpdateTimeout}}if(r.indexOf(2)!=-1){let e=pickAxis(true,[],true);if(e==undefined){console.log("No axis for angle change found");return}let t=randFromRange(hashOverwrites.axisAngle);let a=THREE.MathUtils.radToDeg(e.mainPivot.rotation.z);if(!e.originalAngle){e.originalAngle=a}rotateAxis(e.name,undefined,undefined,t,dynamicUpdateAnimationSpeeds.axisAngle.speed,dynamicUpdateAnimationSpeeds.axisAngle.curve);l+=`Changed ${e.name} angle from ${a} to ${t}\n`;e.TS_ROTATED=getCurrentTs()+axisAngleUpdateTimeout}if(r.indexOf(3)!=-1){let e=pickAxis(true,[],true);if(e==undefined){console.log("No axis for extreme angle change found");return}let t=THREE.MathUtils.radToDeg(e.centralRodRotation[2]);let a=rand(0,1,.001)>.5?rand(-90,-30,1):rand(30,90,1);let i=THREE.MathUtils.radToDeg(e.mainPivot.rotation.z);if(e.originalAngle==undefined){e.originalAngle=i}e.extremeAngle=a;e.axisAngle=[a,a,1];e.extremeAngleEnabledTimestamp=getCurrentTs();rotateAxis(e.name,undefined,undefined,a,dynamicUpdateAnimationSpeeds.axisExtremeAngle.speed,dynamicUpdateAnimationSpeeds.axisExtremeAngle.curve);l+=`Changed ${e.name} extreme angle from ${t} to ${a}\n`;e.TS_ROTATED_EXTREME=getCurrentTs()+axisExtremeAngleUpdateTimeout}if(r.indexOf(4)!=-1){let e=pickAxis(true,[],false);let t=`${e.centraRodPosition[0]} ${e.centraRodPosition[1]} ${e.centraRodPosition[2]}`;if(!e.originalPosition){e.originalPosition=JSON.parse(JSON.stringify(e.centraRodPosition))}let a=undefined;let i=undefined;let n=undefined;let r=rand(0,2,1);if(r==0){a=randFromRange(hashOverwrites.axisX)}else if(r==1){i=randFromRange(hashOverwrites.axisY)}else{n=randFromRange(hashOverwrites.axisZ)}let o=`${a/20} ${i/20} ${n/20}`;moveAxis(e.name,a,i,n,dynamicUpdateAnimationSpeeds.axisPosition.speed,dynamicUpdateAnimationSpeeds.axisPosition.curve);l+=`Changed ${e.name} position from ${t} to ${o}\n`;e.TS_POSITION=getCurrentTs()+axisPositionUpdateTimeout}if(r.indexOf(5)!=-1){console.log("royalty tier triggered");let a=tierToValue(tiersStructure.royalty,e.value);let i=pickAxis(true,[],false);for(let t of i.pivots){let e=t.userData.originalRotationSpeed*a;updateObjectRotationSpeed(t.userData.name,i.name,e,dynamicUpdateAnimationSpeeds.objectRotationSpeed.speed,dynamicUpdateAnimationSpeeds.objectRotationSpeed.curve);l+=`Changed ${i.name} ${t.userData.name} rotation speed from ${t.userData.originalRotationSpeed} to ${e}\n`}}if(r.indexOf(6)!=-1){console.log("sends tier triggered");let i=tierToValue(tiersStructure.sends,a.value);for(ax of Axis){if(ax.enabled){for(let a of ax.pivots){let e=a.userData.originalPosition[0];let t=e*i;updateObjectDistanceFromAxis(a.userData.name,ax.name,t,dynamicUpdateAnimationSpeeds.objectPosition.speed,dynamicUpdateAnimationSpeeds.objectPosition.curve);l+=`Changed ${ax.name} ${a.userData.name} distance from axis from ${e} to ${t}\n`}}}}if(r.indexOf(7)!=-1){console.log("sends approvals triggered");let e=tierToValue(tiersStructure.approvals,i.value);if(!SCENE.worldPlane.userData.originalScaleX){SCENE.worldPlane.userData.originalScaleX=SCENE.worldPlane.scale.x}let t=SCENE.worldPlane.userData.originalScaleX*e;updateBackgroundGradientScale(t,dynamicUpdateAnimationSpeeds.gradientScale.speed,dynamicUpdateAnimationSpeeds.gradientScale.curve);l+=`Changed gradient scale from ${SCENE.worldPlane.scale.x} to ${t}\n`}if(r.indexOf(8)!=-1){let r=getLoopingObjects().length;let t=getNotLoopingObjects();shuffle(t);console.log(t);let o=randFromRange(spinningObjectsRange);l+=`N spinning objects: ${r} Desired N spinning objects: ${o}\n`;let s=false;for(let e=0;e<500;e++){for(let n of t){let e=n[0];let t=n[1];if(t.userData.name.includes("terrain")){continue}let a=randFromRange(dynamicUpdateAnimationSpeeds.objectRotationSpeed2.speed);let i="Y";if(t.userData.name.includes("cone")){i="Z";a*=conesSpinningSpeedMultiplier}else if(t.userData.name.includes("knot")){a*=knotsSpinningSpeedMultiplier}if(t.children[0].userData.animationLoop==undefined||t.children[0].userData.animationLoop.length==0){addRotationLoop(t.userData.name,e,i,a);l+=`Adding rotation loop to ${e} ${t.userData.name} speed: ${a}\n`;t.userData.spinningAxis=i;t.userData.TS_SPINNING=getCurrentTs()+objectSpinningUpdateTimeout;r++;if(r>=o){s=true;break}break}}if(s){break}}}if(r.indexOf(9)!=-1){if(SCENE.camera.userData.animationQueue&&SCENE.camera.userData.animationQueue.length>0){console.log("Camera is already animating",SCENE.camera.userData.animationQueue)}else{if(!SCENE.camera.userData.originalPositionZ){SCENE.camera.userData.originalPositionZ=SCENE.camera.position.z}SCENE.camera.userData.positionUpdateTimestamp=getCurrentTs();let e=rand(30,cameraZ-5,1);if(rand(0,1,.01)>.5){e=rand(cameraZ+5,150,1)}updateCameraPosition(undefined,undefined,e,dynamicUpdateAnimationSpeeds.cameraPosition.speed,dynamicUpdateAnimationSpeeds.cameraPosition.curve);l+=`Changed camera position to ${e}\n`;SCENE.camera.userData.TS_POSITION=getCurrentTs()+cameraPositionUpdateTimeout}}if(r.indexOf(10)!=-1){if(!SCENE.scene.fog.enabled){if(SCENE.scene.fog.userData.nearTo){console.log("Fog is already animating")}else{SCENE.scene.fog.userData={nearTo:fogNear,farTo:fogFar};SCENE.scene.fog.enabled=true;l+=`Enabled fog\n`;SCENE.scene.fog.userData.TS_ENABLED=getCurrentTs()+fogUpdateTimeout}}else{if(SCENE.scene.fog.userData.nearTo){console.log("Fog is already animating")}else{SCENE.scene.fog.userData={nearTo:250,farTo:260};SCENE.scene.fog.enabled=false;l+=`Disabled fog\n`}}}if(r.indexOf(11)!=-1){let t=pickAxis(true,[],false);for(let e of t.pivots){t.rotationDirectionSwitchTimestamp=getCurrentTs();switchObjectRotationDirection(e.userData.name,t.name,dynamicUpdateAnimationSpeeds.axisRotationDirection.speed,dynamicUpdateAnimationSpeeds.axisRotationDirection.curve);e.userData.TS_ROTATIONDIRECTION=getCurrentTs()+axisRotationDirectionUpdateTimeout}l+=`Changed axis rotation direction ${t.name} \n`}if(r.indexOf(13)!=-1){console.log("sends activity triggered");let a=0;for(let e of Axis){if(e.enabled){a+=e.pivots.map(e=>!e.userData.disabled).length}}let i=getNShapesWithTypes();console.log("nShapesByType:",i);if(!SCENE.originalNumberOfShapes){SCENE.originalNumberOfShapes=a;SCENE.originalNumberOfShapesByType=i}let e=tierToValue(tiersStructure.contract,t.value);for(let t of Object.keys(SCENE.originalNumberOfShapesByType)){if(t=="terrain"||t=="knot"){continue}if(SCENE.originalNumberOfShapesByType[t]){var o=SCENE.originalNumberOfShapesByType[t]*e}else{var o=i[t]*e}if(i[t]!=o){l+=`${t} current: ${i[t]} desired: ${o}\n`}if(a<300&&o>i[t]){for(let e=0;e<o-i[t];e++){let e=pickAxisForShape(t);if(!e){console.warn("No axis picked for",t);continue}setTimeout(()=>{addNewShape(e.name,`E_${t}_${generateUUID()}`,t,dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed);l+=`Added shape ${t} to ${e.name} \n`},randFromRange(addOrRemoveObjectsTieredTimeSpreadRange))}}else if(a>20&&o<i[t]){let e=disappearObjects(Math.abs(i[t]-o),dynamicUpdateAnimationSpeeds.objectAppearAndDisappear.speed,true,undefined,t,addOrRemoveObjectsTieredTimeSpreadRange);l+=`Removed ${e}\n`}else{console.debug("Can't add or remove shapes")}}}if(r.indexOf(17)!=-1){let a={};let i=[];for(let t of Axis){if(t.enabled){for(let e of t.pivots){if(a[e.userData.shapeType]){a[e.userData.shapeType]++}else{a[e.userData.shapeType]=1}if(e.userData.name.includes("update17")&&i.indexOf(e.userData.shapeType)==-1){i.push(e.userData.shapeType)}}}}if(!SCENE.originalNumberOfShapeTypes){SCENE.originalNumberOfShapeTypes=sizeOfMapping(a)}let e=pick([0,1]);if(e==1&&i.length<=2||i.length==0){for(let i of shuffle(Object.keys(extraShapes))){if(!a[i]){let t=extraShapes[i].numberOf
jb_mass_mainconst LIVE_MODE=true;if(!LIVE_MODE){tokenHash=(new Date).getTime();traitsPalette=undefined;traitsObjects=undefined}const placeholderSalePrice=3e17;const placeholderRoyaltyReceived=5e14;{var MersenneTwister=function(e){if(e==undefined){e=(new Date).getTime()}this.N=624;this.M=397;this.MATRIX_A=2567483615;this.UPPER_MASK=2147483648;this.LOWER_MASK=2147483647;this.mt=new Array(this.N);this.mti=this.N+1;if(e.constructor==Array){this.init_by_array(e,e.length)}else{this.init_seed(e)}};MersenneTwister.prototype.init_seed=function(e){this.mt[0]=e>>>0;for(this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti;this.mt[this.mti]>>>=0}};MersenneTwister.prototype.init_by_array=function(e,t){var a,i,n;this.init_seed(19650218);a=1;i=0;n=this.N>t?this.N:t;for(;n;n--){var r=this.mt[a-1]^this.mt[a-1]>>>30;this.mt[a]=(this.mt[a]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i;this.mt[a]>>>=0;a++;i++;if(a>=this.N){this.mt[0]=this.mt[this.N-1];a=1}if(i>=t)i=0}for(n=this.N-1;n;n--){var r=this.mt[a-1]^this.mt[a-1]>>>30;this.mt[a]=(this.mt[a]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-a;this.mt[a]>>>=0;a++;if(a>=this.N){this.mt[0]=this.mt[this.N-1];a=1}}this.mt[0]=2147483648};MersenneTwister.prototype.random_int=function(){var e;var t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var a;if(this.mti==this.N+1)this.init_seed(5489);for(a=0;a<this.N-this.M;a++){e=this.mt[a]&this.UPPER_MASK|this.mt[a+1]&this.LOWER_MASK;this.mt[a]=this.mt[a+this.M]^e>>>1^t[e&1]}for(;a<this.N-1;a++){e=this.mt[a]&this.UPPER_MASK|this.mt[a+1]&this.LOWER_MASK;this.mt[a]=this.mt[a+(this.M-this.N)]^e>>>1^t[e&1]}e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK;this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1];this.mti=0}e=this.mt[this.mti++];e^=e>>>11;e^=e<<7&2636928640;e^=e<<15&4022730752;e^=e>>>18;return e>>>0};MersenneTwister.prototype.random_int31=function(){return this.random_int()>>>1};MersenneTwister.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};MersenneTwister.prototype.random=function(){return this.random_int()*(1/4294967296)};MersenneTwister.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};MersenneTwister.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)}}(function(e){var t=e.noise={};function a(e,t,a){this.x=e;this.y=t;this.z=a}a.prototype.dot2=function(e,t){return this.x*e+this.y*t};a.prototype.dot3=function(e,t,a){return this.x*e+this.y*t+this.z*a};var i=[new a(1,1,0),new a(-1,1,0),new a(1,-1,0),new a(-1,-1,0),new a(1,0,1),new a(-1,0,1),new a(1,0,-1),new a(-1,0,-1),new a(0,1,1),new a(0,-1,1),new a(0,1,-1),new a(0,-1,-1)];var n=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];var _=new Array(512);var Y=new Array(512);t.seed=function(e){if(e>0&&e<1){e*=65536}e=Math.floor(e);if(e<256){e|=e<<8}for(var t=0;t<256;t++){var a;if(t&1){a=n[t]^e&255}else{a=n[t]^e>>8&255}_[t]=_[t+256]=a;Y[t]=Y[t+256]=i[a%12]}};t.seed(0);var A=.5*(Math.sqrt(3)-1);var y=(3-Math.sqrt(3))/6;var Z=1/3;var j=1/6;t.simplex2=function(e,t){var a,i,n;var r=(e+t)*A;var o=Math.floor(e+r);var s=Math.floor(t+r);var l=(o+s)*y;var c=e-o+l;var p=t-s+l;var f,d;if(c>p){f=1;d=0}else{f=0;d=1}var u=c-f+y;var m=p-d+y;var g=c-1+2*y;var h=p-1+2*y;o&=255;s&=255;var E=Y[o+_[s]];var S=Y[o+f+_[s+d]];var v=Y[o+1+_[s+1]];var T=.5-c*c-p*p;if(T<0){a=0}else{T*=T;a=T*T*E.dot2(c,p)}var x=.5-u*u-m*m;if(x<0){i=0}else{x*=x;i=x*x*S.dot2(u,m)}var b=.5-g*g-h*h;if(b<0){n=0}else{b*=b;n=b*b*v.dot2(g,h)}return 70*(a+i+n)};t.simplex3=function(e,t,a){var i,n,r,o;var s=(e+t+a)*Z;var l=Math.floor(e+s);var c=Math.floor(t+s);var p=Math.floor(a+s);var f=(l+c+p)*j;var d=e-l+f;var u=t-c+f;var m=a-p+f;var g,h,E;var S,v,T;if(d>=u){if(u>=m){g=1;h=0;E=0;S=1;v=1;T=0}else if(d>=m){g=1;h=0;E=0;S=1;v=0;T=1}else{g=0;h=0;E=1;S=1;v=0;T=1}}else{if(u<m){g=0;h=0;E=1;S=0;v=1;T=1}else if(d<m){g=0;h=1;E=0;S=0;v=1;T=1}else{g=0;h=1;E=0;S=1;v=1;T=0}}var x=d-g+j;var b=u-h+j;var A=m-E+j;var y=d-S+2*j;var R=u-v+2*j;var w=m-T+2*j;var D=d-1+3*j;var C=u-1+3*j;var N=m-1+3*j;l&=255;c&=255;p&=255;var M=Y[l+_[c+_[p]]];var P=Y[l+g+_[c+h+_[p+E]]];var H=Y[l+S+_[c+v+_[p+T]]];var X=Y[l+1+_[c+1+_[p+1]]];var O=.6-d*d-u*u-m*m;if(O<0){i=0}else{O*=O;i=O*O*M.dot3(d,u,m)}var U=.6-x*x-b*b-A*A;if(U<0){n=0}else{U*=U;n=U*U*P.dot3(x,b,A)}var F=.6-y*y-R*R-w*w;if(F<0){r=0}else{F*=F;r=F*F*H.dot3(y,R,w)}var k=.6-D*D-C*C-N*N;if(k<0){o=0}else{k*=k;o=k*k*X.dot3(D,C,N)}return 32*(i+n+r+o)};function E(e){return e*e*e*(e*(e*6-15)+10)}function S(e,t,a){return(1-a)*e+a*t}t.perlin2=function(e,t){var a=Math.floor(e),i=Math.floor(t);e=e-a;t=t-i;a=a&255;i=i&255;var n=Y[a+_[i]].dot2(e,t);var r=Y[a+_[i+1]].dot2(e,t-1);var o=Y[a+1+_[i]].dot2(e-1,t);var s=Y[a+1+_[i+1]].dot2(e-1,t-1);var l=E(e);return S(S(n,o,l),S(r,s,l),E(t))};t.perlin3=function(e,t,a){var i=Math.floor(e),n=Math.floor(t),r=Math.floor(a);e=e-i;t=t-n;a=a-r;i=i&255;n=n&255;r=r&255;var o=Y[i+_[n+_[r]]].dot3(e,t,a);var s=Y[i+_[n+_[r+1]]].dot3(e,t,a-1);var l=Y[i+_[n+1+_[r]]].dot3(e,t-1,a);var c=Y[i+_[n+1+_[r+1]]].dot3(e,t-1,a-1);var p=Y[i+1+_[n+_[r]]].dot3(e-1,t,a);var f=Y[i+1+_[n+_[r+1]]].dot3(e-1,t,a-1);var d=Y[i+1+_[n+1+_[r]]].dot3(e-1,t-1,a);var u=Y[i+1+_[n+1+_[r+1]]].dot3(e-1,t-1,a-1);var m=E(e);var g=E(t);var h=E(a);return S(S(S(o,p,m),S(s,f,m),h),S(S(l,d,m),S(c,u,m),h),g)}})(this);function average_delta_array(t){let a=0;for(let e=1;e<t.length;e++){a+=Math.abs(t[e]-t[e-1])}return a/(t.length-1)}function map_scale(t,a,i){if(i<=t[0]){return a[0]}if(i>=t[t.length-1]){return a[a.length-1]}for(let e=0;e<a.length-1;e++){if(i>=t[e]&i<t[e+1]){return a[e]}}}function delta_gap(e,t){let a=average_delta_array(t);let i=e-t[t.length-1];let n=a/i-1;if(n===undefined||n===null||isNaN(n)){return 0}else{return n}}let adjust_tier=(e,t)=>{if(t==0){return t}let a=t<0?-1:1;t=Math.abs(t);if(e>=0){t-=1}if(e>=1){t-=2}if(e>=2){t-=3}t=Math.max(0,t)*a;return t==-0?0:t};function getTier(e,t,a=undefined){if(e.length==0){return 0}if(e.length==1){e=[t].concat(e)}let i=e.sort();let n=0;for(let e=1;e<i.length;e++){n+=Math.abs(i[e]-i[e-1])}let=avgGap=n/(i.length-1);let r=t-i[i.length-1];let o=r/avgGap;let s=Math.ceil(3-o);if(a!=undefined){if(s<0){s=0}else if(a<0){s*=-1}else if(a==0){s=0}}if(s==-4){s=-2}else if(s==-5){s=-1}else if(s<-5){s=0}if(s==-0){s=0}console.log("avgGap:",avgGap,"currentGap:",r,"ratio:",o,"tier:",s);return s}function calculateTiers(e){if(!e){console.warn("No data");return}let t={royalty:[[-.4,-.3,-.1,0,.1,.3,.6],[-3,-2,-1,0,1,2,3]],contract_activity:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],clustering_mode:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],approvals:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]]};let i=(new Date).getTime()/1e3;let n=e[1].filter((e,t)=>e>0);let r=e[3].filter((e,t)=>e>0);let a=e[5];let o=e[6];let s=a.concat(o);let l=s.filter((e,t)=>t%2===0&&e>0);let c=s.filter((e,t)=>t%2!==0&&e>0);r=[...new Set(r)];n=[...new Set(n)];l=[...new Set(l)];r.sort();n.sort();l.sort();if(SCENE.data.memory==undefined){try{let a=i-memoryLookbackPeriod;SCENE.data.memory=r.filter((e,t)=>e>=a).length+n.filter((e,t)=>e>=a).length+l.filter((e,t)=>e>=a).length;SCENE.data.memory=Math.min(SCENE.data.memory,11)}catch(A){console.warn(A)}}if(resetTimestamp){console.log("Resetting to",resetTimestamp);r=r.filter(e=>e>resetTimestamp);n=n.filter(e=>e>resetTimestamp);l=l.filter(e=>e>resetTimestamp)}let p=Array.from(n);let f=Array.from(l);let d=Array.from(r);let u=Array.from(c);if(r.length<=1){d=[contractMintTimestamp].concat(r)}if(n.length<=1){p=[contractMintTimestamp].concat(n)}if(l.length<=1){f=[contractMintTimestamp].concat(l)}if(c.length<=1){u=[placeholderRoyaltyReceived].concat(c)}try{r=r.slice(-4)}catch{}try{n=n.slice(-4)}catch{}try{l=l.slice(-4)}catch{}if(resetTimestamp){console.log("Resetting to",resetTimestamp);r=r.filter(e=>e>resetTimestamp);n=n.filter(e=>e>resetTimestamp);l=l.filter(e=>e>resetTimestamp)}let m=0;if(u.length>1){m=u[u.length-1]/(u.slice(0,-1).reduce((e,t)=>e+t)/(u.length-1))-1}let g=getTier(r,i);let h=getTier(n,i);let E=getTier(r.concat(n).sort().slice(-4),i);let S=getTier(l,i,m);let v=S!=0;let T=E!=0;let x=g!=0;let b=h!=0;if(SCENE.data.contract.tiers&&Object.keys(SCENE.data.contract.tiers).length>0){v=SCENE.data.contract.tiers.royalty_received_tier.value!=S;T=SCENE.data.contract.tiers.contract_activity_tier.value!=E;x=SCENE.data.contract.tiers.sends_tier.value!=g;b=SCENE.data.contract.tiers.approvals_tier.value!=h}SCENE.data.contract.tiers={royalty_received_tier:{value:S,changed:v},contract_activity_tier:{value:E,changed:T},sends_tier:{value:g,changed:x},approvals_tier:{value:h,changed:b}}}function calculateContractDataUpdates(){if(!SCENE.data.contractUpdates){SCENE.data.contractUpdates={}}SCENE.data.firstContractDataUpdate=true;if(!SCENE.data.contractPrev||!(SCENE.data.contractPrev.length||SCENE.data.contractPrev.size)){SCENE.data.contractUpdates.approvalCount=true;SCENE.data.contractUpdates.transferCount=true;SCENE.data.contractUpdates.holderCount=true;SCENE.data.contractUpdates.royalty=true;return}SCENE.data.firstContractDataUpdate=false;SCENE.data.contractUpdates.approvalCount=SCENE.data.contractPrev[0][0]!=SCENE.data.contract[0][0];SCENE.data.contractUpdates.transferCount=SCENE.data.contractPrev[2][0]!=SCENE.data.contract[2][0];SCENE.data.contractUpdates.holderCount=SCENE.data.contractPrev[4][0]!=SCENE.data.contract[4][0];try{SCENE.data.contractUpdates.royalty=SCENE.data.contractPrev[5].slice(SCENE.data.contractPrev[5].length-2,SCENE.data.contractPrev[5].length-1).pop()!=SCENE.data.contract[5].slice(SCENE.data.contract[5].length-2,SCENE.data.contract[5].length-1).pop()||SCENE.data.contractPrev[6].slice(SCENE.data.contractPrev[6].length-2,SCENE.data.contractPrev[6].length-1).pop()!=SCENE.data.contract[5].slice(SCENE.data.contract[6].length-2,SCENE.data.contract[6].length-1).pop()}catch{}}function tierToValue(e,t){let a=[-3,-2,-1,0,1,2,3];let i=a.indexOf(t);return e[i]}var randomNumberGenerator=new MersenneTwister((new Date).getTime());var randomNumberGeneratorSeeded=new MersenneTwister(hashString(`${tokenHash}`));function sizeOfMapping(e){return Object.keys(e).length}function makeGradientPlane(e,t,a,i,n){const r=document.createElement("canvas");r.width=256;r.height=256;const o=r.getContext("2d");if(a=="linear"){var s=o.createLinearGradient(0,0,0,r.height)}else if(a=="radial"){var s=o.createRadialGradient(r.width/2,r.height/2,0,r.width/2,r.height/2,r.width/2)}for(let e of i){s.addColorStop(e[0],e[1])}o.fillStyle=s;o.fillRect(0,0,r.width,r.height);const l=new THREE.CanvasTexture(r);const c=new THREE.PlaneGeometry(e,t);const p=new THREE.MeshBasicMaterial({map:l,fog:n});const f=new THREE.Mesh(c,p);return f}function makePerlinTexture(e,t,i,n,r,o,s,l,c="perlin3"){const a=document.createElement("canvas");a.setAttribute("id","canvas1");a.width=e;a.height=t;const p=a.getContext("2d");if(s){var f=document.createElement("canvas");f.width=e;f.height=t;var d=f.getContext("2d")}noise.seed(Math.random());let u=0;for(var m=0;m<a.width;m++){for(var g=0;g<a.height;g++){u++;if(c=="perlin3"){var h=noise.perlin3(m/i,g/n,m^g%150);var E=Math.abs(h*o)*256+r}else if(c=="simplex3"){var h=noise.simplex3(m/i,g/n,m^g%150);var E=Math.abs(h*o)*256+r}else if(c=="simple"){var E=Math.random()*255*o+r}let e=E;let t=E;let a=E;p.fillStyle="rgb("+e+","+t+","+a+")";p.fillRect(m,g,1,1);if(s){a=E/l;d.fillStyle="rgb("+a+","+a+","+a+")";d.fillRect(m,g,1,1)}}}const S=new THREE.CanvasTexture(a);S.wrapS=S.wrapT=THREE.RepeatWrapping;if(s){const v=new THREE.CanvasTexture(f);v.wrapS=v.wrapT=THREE.RepeatWrapping;return[S,v]}else{return S}}function makeLight(e,t=true){if(e.type=="point"){e.light=new THREE.PointLight(e.color,e.power,e.size);if(t){e.light.position.set(e.positionX,e.positionY,e.positionZ)}if(enableShadows){e.light.castShadow=true;e.light.shadow.mapSize.width=512;e.light.shadow.mapSize.height=512;e.light.shadow.camera.near=.5;e.light.shadow.camera.far=500;e.light.shadow.normalBias=.5}}else if(e.type=="hemisphere"){e.light=new THREE.HemisphereLight(e.color1,e.color2,e.power)}else if(e.type=="ambient"){e.light=new THREE.AmbientLight(e.color)}else if(e.type=="directional"){e.light=new THREE.DirectionalLight(e.color,e.power);e.light.position.set(e.positionX,e.positionY,e.positionZ);e.light.rotation.set(e.rotationX,e.rotationY,e.rotationZ);if(enableShadows){e.light.castShadow=true;e.light.shadow.mapSize.width=512;e.light.shadow.mapSize.height=512;e.light.shadow.camera.near=.5;e.light.shadow.camera.far=500;e.light.shadow.normalBias=.5}}}function animateAxisNegativeSpace(t,e){if(t.userData==undefined){t.userData={};t.userData.negativeSpaceTargetX=rand(t.negativeSpaceAnimationX[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationX[2]);t.userData.negativeSpaceTargetY=rand(t.negativeSpaceAnimationY[0],t.negativeSpaceAnimationY[1],t.negativeSpaceAnimationY[2]);t.userData.negativeSpaceCurrentX=0;t.userData.negativeSpaceCurrentY=0}let a=0;let i=0;let n=t.negativeSpaceAnimationSpeedX*e;let r=t.negativeSpaceAnimationSpeedY*e;if(t.userData.negativeSpaceCurrentX<t.userData.negativeSpaceTargetX){a=n;t.userData.negativeSpaceCurrentX+=n}else if(t.userData.negativeSpaceCurrentX>t.userData.negativeSpaceTargetX){a=-n;t.userData.negativeSpaceCurrentX-=n}if(t.userData.negativeSpaceCurrentY<t.userData.negativeSpaceTargetY){i=r;t.userData.negativeSpaceCurrentY+=r}else if(t.userData.negativeSpaceCurrentY>t.userData.negativeSpaceTargetY){i=-r;t.userData.negativeSpaceCurrentY-=r}if(t.userData.negativeSpaceTargetX>=0&&t.userData.negativeSpaceCurrentX>t.userData.negativeSpaceTargetX||t.userData.negativeSpaceTargetX<=0&&t.userData.negativeSpaceCurrentX<t.userData.negativeSpaceTargetX){t.userData.negativeSpaceTargetX=rand(t.negativeSpaceAnimationX[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationX[2])}if(t.userData.negativeSpaceTargetY>=0&&t.userData.negativeSpaceCurrentY>t.userData.negativeSpaceTargetY||t.userData.negativeSpaceTargetY<=0&&t.userData.negativeSpaceCurrentY<t.userData.negativeSpaceTargetY){t.userData.negativeSpaceTargetY=rand(t.negativeSpaceAnimationY[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationY[2])}if(a!=0||i!=0){for(let e in t.clipPlanes){t.clipPlanes[e].translate(new THREE.Vector3(a,i,0))}}}function makeCamera(){if(cameraType=="perspective"){var e=new THREE.PerspectiveCamera(fieldOfView,cameraAspect,cameraNear,cameraFar);e.aspect=rendererWidth/rendererHeight}else{var e=new THREE.OrthographicCamera(rendererWidth/-orthographicCameraScale,rendererWidth/orthographicCameraScale,rendererHeight/orthographicCameraScale,rendererHeight/-orthographicCameraScale,cameraNear,cameraFar)}cameraZ=randFromRange(cameraZ);e.position.x=cameraX;e.position.y=cameraY;e.position.z=cameraZ;e.updateProjectionMatrix();e.userData.animationQueue=[];e.userData.originalFocalLength=e.getFocalLength();return e}function makeScene(){const e=new THREE.Scene;e.fog=new THREE.Fog(fogColor,fogNear,fogFar);e.fog.userData={animationQueue:[]};e.fog.enabled=enableFog;if(!enableFog){e.fog.near=150;e.fog.far=155;e.fog.enabled=false}e.background=new THREE.Color(worldGradientColors[worldGradientColors.length-1][1]);return e}function makeRenderer(){const e=new THREE.WebGLRenderer({antialias:rendererAntialias,premultipliedAlpha:true});e.setSize(rendererWidth,rendererHeight,false);e.setPixelRatio(window.devicePixelRatio);e.toneMapping=THREE[rendererToneMapping];e.localClippingEnabled=true;if(enableShadows){e.shadowMap.enabled=true;e.shadowMap.type=THREE.PCFShadowMap}document.body.appendChild(e.domElement);return e}function loadOBJ(e,t,a,i,n){const r=new THREE.OBJLoader;object=r.parse(atob(e));object.traverse(function(e){e.material=t});object.scale.set(a[0],a[1],a[2]);object.position.set(i[0],i[1],i[2]);object.rotation.set(THREE.MathUtils.degToRad(n[0]),THREE.MathUtils.degToRad(n[1]),THREE.MathUtils.degToRad(n[2]));return object}function addPivotToAxis(e,t,a,i=undefined,n=undefined){let r=new THREE.Object3D;r.userData.name=a;r.userData.shapeType=t.userData.shapeType;var o=rand(e.axisX[0],e.axisX[1],e.axisX[2]);if(i){var s=randFromRange(i)}else{var s=rand(e.axisY[0],e.axisY[1],e.axisY[2])}var l=rand(e.axisZ[0],e.axisZ[1],e.axisZ[2]);r.userData.rotationSpeed=rand(e.coneRotationSpeed[0],e.coneRotationSpeed[1],e.coneRotationSpeed[2]);r.userData.originalRotationSpeed=r.userData.rotationSpeed;r.rotation.z=THREE.MathUtils.degToRad(rand(e.axisAngle[0],e.axisAngle[1],e.axisAngle[2]));r.userData.originalPosition=[o,s,l];r.position.set(o,s,l);r.add(t);e.pivots.push(r);e.mainPivot.add(r);if(n==undefined){return}if(r.userData.name.includes("terrain")){n*=terrainsAppearAndDisappearMultiplier}if(r.userData.name.includes("knot")){n*=knotsAppearAndDisappearMultiplier}r.children[0].userData.originalScale=JSON.parse(JSON.stringify(r.children[0].scale));r.userData.growUp=n;r.children[0].scale.set(0,0,0)}function addConeToAxis(e,t,a,i=undefined,n=undefined){let r=rand(a.radius[0],a.radius[1],a.radius[2]);let o=rand(a.height[0],a.height[1],a.height[2]);let s=rand(a.scale[0],a.scale[1],a.scale[2]);let l=s+rand(a.scaleX[0],a.scaleX[1],a.scaleX[2]);let c=s+rand(a.scaleY[0],a.scaleY[1],a.scaleY[2]);let p=s+rand(a.scaleZ[0],a.scaleZ[1],a.scaleZ[2]);let f=rand(a.positionX[0],a.positionX[1],a.positionX[2]);let d=rand(a.positionY[0],a.positionY[1],a.positionY[2]);let u=rand(a.positionZ[0],a.positionZ[1],a.positionZ[2]);let m=rand(a.rotationX[0],a.rotationX[1],a.rotationX[2]);let g=rand(a.rotationY[0],a.rotationY[1],a.rotationY[2]);let h=rand(a.rotationZ[0],a.rotationZ[1],a.rotationZ[2]);let E=a.numberOfRadialSegments;let S=a.numberOfHeightSegments;let v=a.openEnded;if(e.ellipseMode){f*=Math.pow(20-Math.abs(d),e.ellipseModePowerOf)*e.ellipseModeMultiplier;u*=Math.pow(20-Math.abs(d),e.ellipseModePowerOf)*e.ellipseModeMultiplier}if(e.enableScaleEllipseMode){l*=Math.pow(e.scaleEllipseModeBaseX-Math.abs(d),e.scaleEllipseModePowerOfX)*e.scaleEllipseModeMultiplierX;c*=Math.pow(e.scaleEllipseModeBaseY-Math.abs(d),e.scaleEllipseModePowerOfY)*e.scaleEllipseModeMultiplierY;p*=Math.pow(e.scaleEllipseModeBaseZ-Math.abs(d),e.scaleEllipseModePowerOfZ)*e.scaleEllipseModeMultiplierZ}let T={};for(let e=0;e<100;e++){let e=a.types[randS(0,a.types.length-1,1)];if(randS(0,1,.1)>1-e.probability){T=e;break}}try{var x=materialTemplates[a.material].clone()}catch(A){console.warn(a);var x=materialTemplates[pick(a.material)[1]].clone()}if(a.wireframeProbability&&randS(0,1,.01)>1-a.wireframeProbability){x.wireframe=true;E=5;S=5;v=true}else{x.wireframe=false}if(e.clipPlanes&&e.clipPlanes.length>0){x.clippingPlanes=e.clipPlanes}let b=makeCone(x,r,o,E,S,v,[l,c,p],[f,d,u],[m,g,m],T);if(i){let e=Math.max(l,c,p);let t=e/100*i;t=Math.max(t,1e-7);b.scale.set(0,0,0);b.userData.animationQueue=[makeAnimationForQueue("scale",0,e,e,t)]}if(e.enableNegativeSpace){b.material.clippingPlanes=e.clipPlanes;b.material.clipIntersection=true}b.userData.name=t;b.userData.shapeType=n;addPivotToAxis(e,b,t)}function animateWorldPlane(){if(!SCENE.worldPlane.userData.animationQueue){if(SCENE.worldPlane.scale.x>1+SCENE.worldPlane.userData.scaleAmount&&SCENE.worldPlane.userData.scaleFactor>0||SCENE.worldPlane.scale.x<1&&SCENE.worldPlane.userData.scaleFactor<0){SCENE.worldPlane.userData.scaleFactor*=-1}SCENE.worldPlane.scale.set(SCENE.worldPlane.scale.x+SCENE.worldPlane.userData.scaleFactor,SCENE.worldPlane.scale.y+SCENE.worldPlane.userData.scaleFactor,1)}}function makeWorldPlane(){worldPlane=makeGradientPlane(rendererWidth*3,rendererWidth*3,worldGradientType,worldGradientColors,false);worldPlane.userData.name="worldPlane";worldPlane.position.z=-rendererWidth;worldPlane.z=-100;worldPlane.userData.scaleFactor=rand(worldGradientAnimationSpeed[0],worldGradientAnimationSpeed[1],worldGradientAnimationSpeed[2]);worldPlane.userData.scaleAmount=rand(worldGradientAnimationScale[0],worldGradientAnimationScale[1],worldGradientAnimationScale[2]);worldPlane.userData.animationQueue=[];SCENE.worldPlane=worldPlane;SCENE.scene.add(SCENE.worldPlane)}function addExtraShapeToAxis(e,t,a,o,i=undefined){let n=a;let r=randFromRange(o.scale);let s=r+randFromRange(o.scaleX);let l=r+randFromRange(o.scaleY);let c=r+randFromRange(o.scaleZ);let p=randFromRangeS2(o.positionX);let f=randFromRangeS2(o.positionY);let d=randFromRangeS2(o.positionZ);let u=randFromRange(o.rotationX);let m=randFromRange(o.rotationY);let g=randFromRange(o.rotationZ);if(o.material){if(!materialTemplates[o.material]){console.warn("Object has no material",o)}else{var h=materialTemplates[o.material].clone()}}else{var h=e.coneMaterial.clone();if(e.coneMaterial.map){if(o.textureScale){h.map.repeat.x=o.textureScale[0];h.map.repeat.y=o.textureScale[1]}if(o.textureRotation){h.map.rotation=THREE.MathUtils.degToRad(o.textureRotation);h.map.rotation=true}}if(o.color){h.color=new THREE.Color(o.color);h.color.needsUpdate=true}}if(e.clipPlanes&&e.clipPlanes.length>0){h.clippingPlanes=e.clipPlanes}if(n=="flower1"){h.map=undefined;h.bumpMap=undefined;let t=h.clone();if(SCENE.palette.special){h.color=new THREE.Color(SCENE.palette.special.flower[0]);t.color=new THREE.Color(SCENE.palette.special.flower[1])}else{let e=pickS2(SCENE.palette.colors);h.color=new THREE.Color(e[0]);t.color=new THREE.Color(e[1])}h=[h,t]}let E=undefined;if(n=="terrain"){let e=randFromRange(o.heightScale);E=makeTerrain(h,o.worldSizeX,o.worldSizeY,e,[s,l,c],[p,f,d],[u,m,g])}if(n=="smallterrain"){let e=randFromRange(o.heightScale);E=makeTerrain(h,o.worldSizeX,o.worldSizeY,e,[s,l,c],[p,f,d],[u,m,g],1,o.bumpsRange,o.depth)}else if(n=="cloud"){let e=randFromRange(o.sizeX);let t=randFromRange(o.sizeY);let a=randFromRange(o.sizeZ);let i=randFromRange(o.nSpheres);E=makeCloud(h,e,t,a,i,o.spheresScale,[s,l,c],[p,f,d],[u,m,g])}else if(n=="frame"){let e=randFromRange(o.height);let t=randFromRange(o.width);let a=randFromRange(o.thickness);let i=randFromRange(o.depth);E=makeFrame(h,e,t,a,i,[s,l,c],[p,f,d],[u,m,g])}else if(n=="rectangle"){let e=randFromRange(o.height);let t=randFromRange(o.width);let a=randFromRange(o.depth);E=makeRectangle(h,e,t,a,[s,l,c],[p,f,d],[u,m,g])}else if(n=="arrow"){let e=randFromRange(o.depth);let t=randFromRange(o.bevelThickness);let a=randFromRange(o.bevelSize);let i=randFromRange(o.bevelSegments);let n=o.type||0;E=makeArrow(h,e,t,a,i,[s,l,c],[p,f,d],[u,m,g],n)}else if(n=="knot"){let e=randFromRange(o.radius);let t=randFromRange(o.tube);let a=randFromRange(o.tubularSegments);let i=randFromRange(o.radialSegments);let n=randFromRange(o.p);let r=randFromRange(o.q);E=makeKnot(h,e,t,a,i,n,r,[s,l,c],[p,f,d],[u,m,g])}else if(n in base64Objects){E=loadOBJ(base64Objects[n],h,[s,l,c],[p,f,d],[u,m,g])}E.userData.name=t;E.name=t;E.userData.shapeType=n;if(e.enableNegativeSpace){E.material.clippingPlanes=e.clipPlanes;E.material.clipIntersection=true}addPivotToAxis(e,E,t,o.yAxisRangeOverwrite,i)}function updateObjectRotationSpeed(t,a,i,n=1,r=.1){for(let e of Axis){if(e.name==a){for(let a of e.pivots){if(a.userData.name==t){let e=a.userData.rotationSpeed;if(e===undefined){e=0}let t=makeAnimationForQueue("rotationSpeed",e,i,i,n,r);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t);return}}}}}function switchObjectRotationDirection(t,a,i=1,n=.1){for(let e of Axis){if(e.name==a){for(let a of e.pivots){if(a.userData.name==t){let e=a.userData.rotationSpeed;if(e===undefined){e=0}let t=makeAnimationForQueue("rotationSpeed",e,e*-1,e*-1,i,n);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t);return}}}}}function updateObjectDistanceFromAxis(i,e,n,r=1,o=.1){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==i){for(let a o
jb_mass_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
jb_mass_main14const LIVE_MODE=true;if(!LIVE_MODE){tokenHash=(new Date).getTime();traitsPalette=undefined;traitsObjects=undefined}const placeholderSalePrice=3e17;const placeholderRoyaltyReceived=5e14;{var MersenneTwister=function(e){if(e==undefined){e=(new Date).getTime()}this.N=624;this.M=397;this.MATRIX_A=2567483615;this.UPPER_MASK=2147483648;this.LOWER_MASK=2147483647;this.mt=new Array(this.N);this.mti=this.N+1;if(e.constructor==Array){this.init_by_array(e,e.length)}else{this.init_seed(e)}};MersenneTwister.prototype.init_seed=function(e){this.mt[0]=e>>>0;for(this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti;this.mt[this.mti]>>>=0}};MersenneTwister.prototype.init_by_array=function(e,t){var a,i,n;this.init_seed(19650218);a=1;i=0;n=this.N>t?this.N:t;for(;n;n--){var r=this.mt[a-1]^this.mt[a-1]>>>30;this.mt[a]=(this.mt[a]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i;this.mt[a]>>>=0;a++;i++;if(a>=this.N){this.mt[0]=this.mt[this.N-1];a=1}if(i>=t)i=0}for(n=this.N-1;n;n--){var r=this.mt[a-1]^this.mt[a-1]>>>30;this.mt[a]=(this.mt[a]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-a;this.mt[a]>>>=0;a++;if(a>=this.N){this.mt[0]=this.mt[this.N-1];a=1}}this.mt[0]=2147483648};MersenneTwister.prototype.random_int=function(){var e;var t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var a;if(this.mti==this.N+1)this.init_seed(5489);for(a=0;a<this.N-this.M;a++){e=this.mt[a]&this.UPPER_MASK|this.mt[a+1]&this.LOWER_MASK;this.mt[a]=this.mt[a+this.M]^e>>>1^t[e&1]}for(;a<this.N-1;a++){e=this.mt[a]&this.UPPER_MASK|this.mt[a+1]&this.LOWER_MASK;this.mt[a]=this.mt[a+(this.M-this.N)]^e>>>1^t[e&1]}e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK;this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1];this.mti=0}e=this.mt[this.mti++];e^=e>>>11;e^=e<<7&2636928640;e^=e<<15&4022730752;e^=e>>>18;return e>>>0};MersenneTwister.prototype.random_int31=function(){return this.random_int()>>>1};MersenneTwister.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};MersenneTwister.prototype.random=function(){return this.random_int()*(1/4294967296)};MersenneTwister.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};MersenneTwister.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)}}(function(e){var t=e.noise={};function a(e,t,a){this.x=e;this.y=t;this.z=a}a.prototype.dot2=function(e,t){return this.x*e+this.y*t};a.prototype.dot3=function(e,t,a){return this.x*e+this.y*t+this.z*a};var i=[new a(1,1,0),new a(-1,1,0),new a(1,-1,0),new a(-1,-1,0),new a(1,0,1),new a(-1,0,1),new a(1,0,-1),new a(-1,0,-1),new a(0,1,1),new a(0,-1,1),new a(0,1,-1),new a(0,-1,-1)];var n=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];var _=new Array(512);var Y=new Array(512);t.seed=function(e){if(e>0&&e<1){e*=65536}e=Math.floor(e);if(e<256){e|=e<<8}for(var t=0;t<256;t++){var a;if(t&1){a=n[t]^e&255}else{a=n[t]^e>>8&255}_[t]=_[t+256]=a;Y[t]=Y[t+256]=i[a%12]}};t.seed(0);var A=.5*(Math.sqrt(3)-1);var y=(3-Math.sqrt(3))/6;var Z=1/3;var j=1/6;t.simplex2=function(e,t){var a,i,n;var r=(e+t)*A;var o=Math.floor(e+r);var s=Math.floor(t+r);var l=(o+s)*y;var c=e-o+l;var p=t-s+l;var f,d;if(c>p){f=1;d=0}else{f=0;d=1}var u=c-f+y;var m=p-d+y;var g=c-1+2*y;var h=p-1+2*y;o&=255;s&=255;var E=Y[o+_[s]];var S=Y[o+f+_[s+d]];var v=Y[o+1+_[s+1]];var T=.5-c*c-p*p;if(T<0){a=0}else{T*=T;a=T*T*E.dot2(c,p)}var x=.5-u*u-m*m;if(x<0){i=0}else{x*=x;i=x*x*S.dot2(u,m)}var b=.5-g*g-h*h;if(b<0){n=0}else{b*=b;n=b*b*v.dot2(g,h)}return 70*(a+i+n)};t.simplex3=function(e,t,a){var i,n,r,o;var s=(e+t+a)*Z;var l=Math.floor(e+s);var c=Math.floor(t+s);var p=Math.floor(a+s);var f=(l+c+p)*j;var d=e-l+f;var u=t-c+f;var m=a-p+f;var g,h,E;var S,v,T;if(d>=u){if(u>=m){g=1;h=0;E=0;S=1;v=1;T=0}else if(d>=m){g=1;h=0;E=0;S=1;v=0;T=1}else{g=0;h=0;E=1;S=1;v=0;T=1}}else{if(u<m){g=0;h=0;E=1;S=0;v=1;T=1}else if(d<m){g=0;h=1;E=0;S=0;v=1;T=1}else{g=0;h=1;E=0;S=1;v=1;T=0}}var x=d-g+j;var b=u-h+j;var A=m-E+j;var y=d-S+2*j;var R=u-v+2*j;var w=m-T+2*j;var D=d-1+3*j;var C=u-1+3*j;var N=m-1+3*j;l&=255;c&=255;p&=255;var M=Y[l+_[c+_[p]]];var P=Y[l+g+_[c+h+_[p+E]]];var H=Y[l+S+_[c+v+_[p+T]]];var X=Y[l+1+_[c+1+_[p+1]]];var O=.6-d*d-u*u-m*m;if(O<0){i=0}else{O*=O;i=O*O*M.dot3(d,u,m)}var U=.6-x*x-b*b-A*A;if(U<0){n=0}else{U*=U;n=U*U*P.dot3(x,b,A)}var F=.6-y*y-R*R-w*w;if(F<0){r=0}else{F*=F;r=F*F*H.dot3(y,R,w)}var k=.6-D*D-C*C-N*N;if(k<0){o=0}else{k*=k;o=k*k*X.dot3(D,C,N)}return 32*(i+n+r+o)};function E(e){return e*e*e*(e*(e*6-15)+10)}function S(e,t,a){return(1-a)*e+a*t}t.perlin2=function(e,t){var a=Math.floor(e),i=Math.floor(t);e=e-a;t=t-i;a=a&255;i=i&255;var n=Y[a+_[i]].dot2(e,t);var r=Y[a+_[i+1]].dot2(e,t-1);var o=Y[a+1+_[i]].dot2(e-1,t);var s=Y[a+1+_[i+1]].dot2(e-1,t-1);var l=E(e);return S(S(n,o,l),S(r,s,l),E(t))};t.perlin3=function(e,t,a){var i=Math.floor(e),n=Math.floor(t),r=Math.floor(a);e=e-i;t=t-n;a=a-r;i=i&255;n=n&255;r=r&255;var o=Y[i+_[n+_[r]]].dot3(e,t,a);var s=Y[i+_[n+_[r+1]]].dot3(e,t,a-1);var l=Y[i+_[n+1+_[r]]].dot3(e,t-1,a);var c=Y[i+_[n+1+_[r+1]]].dot3(e,t-1,a-1);var p=Y[i+1+_[n+_[r]]].dot3(e-1,t,a);var f=Y[i+1+_[n+_[r+1]]].dot3(e-1,t,a-1);var d=Y[i+1+_[n+1+_[r]]].dot3(e-1,t-1,a);var u=Y[i+1+_[n+1+_[r+1]]].dot3(e-1,t-1,a-1);var m=E(e);var g=E(t);var h=E(a);return S(S(S(o,p,m),S(s,f,m),h),S(S(l,d,m),S(c,u,m),h),g)}})(this);function average_delta_array(t){let a=0;for(let e=1;e<t.length;e++){a+=Math.abs(t[e]-t[e-1])}return a/(t.length-1)}function map_scale(t,a,i){if(i<=t[0]){return a[0]}if(i>=t[t.length-1]){return a[a.length-1]}for(let e=0;e<a.length-1;e++){if(i>=t[e]&i<t[e+1]){return a[e]}}}function delta_gap(e,t){let a=average_delta_array(t);let i=e-t[t.length-1];let n=a/i-1;if(n===undefined||n===null||isNaN(n)){return 0}else{return n}}let adjust_tier=(e,t)=>{if(t==0){return t}let a=t<0?-1:1;t=Math.abs(t);if(e>=0){t-=1}if(e>=1){t-=2}if(e>=2){t-=3}t=Math.max(0,t)*a;return t==-0?0:t};function getTier(e,t,a=undefined){if(e.length==0){return 0}if(e.length==1){e=[t].concat(e)}let i=e.sort();let n=0;for(let e=1;e<i.length;e++){n+=Math.abs(i[e]-i[e-1])}let=avgGap=n/(i.length-1);let r=t-i[i.length-1];let o=r/avgGap;let s=Math.ceil(3-o);if(a!=undefined){if(s<0){s=0}else if(a<0){s*=-1}else if(a==0){s=0}}if(s==-4){s=-2}else if(s==-5){s=-1}else if(s<-5){s=0}if(s==-0){s=0}console.log("avgGap:",avgGap,"currentGap:",r,"ratio:",o,"tier:",s);return s}function calculateTiers(e){if(!e){console.warn("No data");return}let t={royalty:[[-.4,-.3,-.1,0,.1,.3,.6],[-3,-2,-1,0,1,2,3]],contract_activity:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],clustering_mode:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],approvals:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]]};let i=(new Date).getTime()/1e3;let n=e[1].filter((e,t)=>e>0);let r=e[3].filter((e,t)=>e>0);let a=e[5];let o=e[6];let s=a.concat(o);let l=s.filter((e,t)=>t%2===0&&e>0);let c=s.filter((e,t)=>t%2!==0&&e>0);r=[...new Set(r)];n=[...new Set(n)];l=[...new Set(l)];r.sort();n.sort();l.sort();if(SCENE.data.memory==undefined){try{let a=i-memoryLookbackPeriod;SCENE.data.memory=r.filter((e,t)=>e>=a).length+n.filter((e,t)=>e>=a).length+l.filter((e,t)=>e>=a).length;SCENE.data.memory=Math.min(SCENE.data.memory,11)}catch(A){console.warn(A)}}if(resetTimestamp){console.log("Resetting to",resetTimestamp);r=r.filter(e=>e>resetTimestamp);n=n.filter(e=>e>resetTimestamp);l=l.filter(e=>e>resetTimestamp)}let p=Array.from(n);let f=Array.from(l);let d=Array.from(r);let u=Array.from(c);if(r.length<=1){d=[contractMintTimestamp].concat(r)}if(n.length<=1){p=[contractMintTimestamp].concat(n)}if(l.length<=1){f=[contractMintTimestamp].concat(l)}if(c.length<=1){u=[placeholderRoyaltyReceived].concat(c)}try{r=r.slice(-4)}catch{}try{n=n.slice(-4)}catch{}try{l=l.slice(-4)}catch{}if(resetTimestamp){console.log("Resetting to",resetTimestamp);r=r.filter(e=>e>resetTimestamp);n=n.filter(e=>e>resetTimestamp);l=l.filter(e=>e>resetTimestamp)}let m=0;if(u.length>1){m=u[u.length-1]/(u.slice(0,-1).reduce((e,t)=>e+t)/(u.length-1))-1}let g=getTier(r,i);let h=getTier(n,i);let E=getTier(r.concat(n).sort().slice(-4),i);let S=getTier(l,i,m);let v=S!=0;let T=E!=0;let x=g!=0;let b=h!=0;if(SCENE.data.contract.tiers&&Object.keys(SCENE.data.contract.tiers).length>0){v=SCENE.data.contract.tiers.royalty_received_tier.value!=S;T=SCENE.data.contract.tiers.contract_activity_tier.value!=E;x=SCENE.data.contract.tiers.sends_tier.value!=g;b=SCENE.data.contract.tiers.approvals_tier.value!=h}SCENE.data.contract.tiers={royalty_received_tier:{value:S,changed:v},contract_activity_tier:{value:E,changed:T},sends_tier:{value:g,changed:x},approvals_tier:{value:h,changed:b}}}function calculateContractDataUpdates(){if(!SCENE.data.contractUpdates){SCENE.data.contractUpdates={}}SCENE.data.firstContractDataUpdate=true;if(!SCENE.data.contractPrev||!(SCENE.data.contractPrev.length||SCENE.data.contractPrev.size)){SCENE.data.contractUpdates.approvalCount=true;SCENE.data.contractUpdates.transferCount=true;SCENE.data.contractUpdates.holderCount=true;SCENE.data.contractUpdates.royalty=true;return}SCENE.data.firstContractDataUpdate=false;SCENE.data.contractUpdates.approvalCount=SCENE.data.contractPrev[0][0]!=SCENE.data.contract[0][0];SCENE.data.contractUpdates.transferCount=SCENE.data.contractPrev[2][0]!=SCENE.data.contract[2][0];SCENE.data.contractUpdates.holderCount=SCENE.data.contractPrev[4][0]!=SCENE.data.contract[4][0];try{SCENE.data.contractUpdates.royalty=SCENE.data.contractPrev[5].slice(SCENE.data.contractPrev[5].length-2,SCENE.data.contractPrev[5].length-1).pop()!=SCENE.data.contract[5].slice(SCENE.data.contract[5].length-2,SCENE.data.contract[5].length-1).pop()||SCENE.data.contractPrev[6].slice(SCENE.data.contractPrev[6].length-2,SCENE.data.contractPrev[6].length-1).pop()!=SCENE.data.contract[5].slice(SCENE.data.contract[6].length-2,SCENE.data.contract[6].length-1).pop()}catch{}}function tierToValue(e,t){let a=[-3,-2,-1,0,1,2,3];let i=a.indexOf(t);return e[i]}var randomNumberGenerator=new MersenneTwister((new Date).getTime());var randomNumberGeneratorSeeded=new MersenneTwister(hashString(`${tokenHash}`));function sizeOfMapping(e){return Object.keys(e).length}function makeGradientPlane(e,t,a,i,n){const r=document.createElement("canvas");r.width=256;r.height=256;const o=r.getContext("2d");if(a=="linear"){var s=o.createLinearGradient(0,0,0,r.height)}else if(a=="radial"){var s=o.createRadialGradient(r.width/2,r.height/2,0,r.width/2,r.height/2,r.width/2)}for(let e of i){s.addColorStop(e[0],e[1])}o.fillStyle=s;o.fillRect(0,0,r.width,r.height);const l=new THREE.CanvasTexture(r);const c=new THREE.PlaneGeometry(e,t);const p=new THREE.MeshBasicMaterial({map:l,fog:n});const f=new THREE.Mesh(c,p);return f}function makePerlinTexture(e,t,i,n,r,o,s,l,c="perlin3"){const a=document.createElement("canvas");a.setAttribute("id","canvas1");a.width=e;a.height=t;const p=a.getContext("2d");if(s){var f=document.createElement("canvas");f.width=e;f.height=t;var d=f.getContext("2d")}noise.seed(Math.random());let u=0;for(var m=0;m<a.width;m++){for(var g=0;g<a.height;g++){u++;if(c=="perlin3"){var h=noise.perlin3(m/i,g/n,m^g%150);var E=Math.abs(h*o)*256+r}else if(c=="simplex3"){var h=noise.simplex3(m/i,g/n,m^g%150);var E=Math.abs(h*o)*256+r}else if(c=="simple"){var E=Math.random()*255*o+r}let e=E;let t=E;let a=E;p.fillStyle="rgb("+e+","+t+","+a+")";p.fillRect(m,g,1,1);if(s){a=E/l;d.fillStyle="rgb("+a+","+a+","+a+")";d.fillRect(m,g,1,1)}}}const S=new THREE.CanvasTexture(a);S.wrapS=S.wrapT=THREE.RepeatWrapping;if(s){const v=new THREE.CanvasTexture(f);v.wrapS=v.wrapT=THREE.RepeatWrapping;return[S,v]}else{return S}}function makeLight(e,t=true){if(e.type=="point"){e.light=new THREE.PointLight(e.color,e.power,e.size);if(t){e.light.position.set(e.positionX,e.positionY,e.positionZ)}if(enableShadows){e.light.castShadow=true;e.light.shadow.mapSize.width=512;e.light.shadow.mapSize.height=512;e.light.shadow.camera.near=.5;e.light.shadow.camera.far=500;e.light.shadow.normalBias=.5}}else if(e.type=="hemisphere"){e.light=new THREE.HemisphereLight(e.color1,e.color2,e.power)}else if(e.type=="ambient"){e.light=new THREE.AmbientLight(e.color)}else if(e.type=="directional"){e.light=new THREE.DirectionalLight(e.color,e.power);e.light.position.set(e.positionX,e.positionY,e.positionZ);e.light.rotation.set(e.rotationX,e.rotationY,e.rotationZ);if(enableShadows){e.light.castShadow=true;e.light.shadow.mapSize.width=512;e.light.shadow.mapSize.height=512;e.light.shadow.camera.near=.5;e.light.shadow.camera.far=500;e.light.shadow.normalBias=.5}}}function animateAxisNegativeSpace(t,e){if(t.userData==undefined){t.userData={};t.userData.negativeSpaceTargetX=rand(t.negativeSpaceAnimationX[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationX[2]);t.userData.negativeSpaceTargetY=rand(t.negativeSpaceAnimationY[0],t.negativeSpaceAnimationY[1],t.negativeSpaceAnimationY[2]);t.userData.negativeSpaceCurrentX=0;t.userData.negativeSpaceCurrentY=0}let a=0;let i=0;let n=t.negativeSpaceAnimationSpeedX*e;let r=t.negativeSpaceAnimationSpeedY*e;if(t.userData.negativeSpaceCurrentX<t.userData.negativeSpaceTargetX){a=n;t.userData.negativeSpaceCurrentX+=n}else if(t.userData.negativeSpaceCurrentX>t.userData.negativeSpaceTargetX){a=-n;t.userData.negativeSpaceCurrentX-=n}if(t.userData.negativeSpaceCurrentY<t.userData.negativeSpaceTargetY){i=r;t.userData.negativeSpaceCurrentY+=r}else if(t.userData.negativeSpaceCurrentY>t.userData.negativeSpaceTargetY){i=-r;t.userData.negativeSpaceCurrentY-=r}if(t.userData.negativeSpaceTargetX>=0&&t.userData.negativeSpaceCurrentX>t.userData.negativeSpaceTargetX||t.userData.negativeSpaceTargetX<=0&&t.userData.negativeSpaceCurrentX<t.userData.negativeSpaceTargetX){t.userData.negativeSpaceTargetX=rand(t.negativeSpaceAnimationX[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationX[2])}if(t.userData.negativeSpaceTargetY>=0&&t.userData.negativeSpaceCurrentY>t.userData.negativeSpaceTargetY||t.userData.negativeSpaceTargetY<=0&&t.userData.negativeSpaceCurrentY<t.userData.negativeSpaceTargetY){t.userData.negativeSpaceTargetY=rand(t.negativeSpaceAnimationY[0],t.negativeSpaceAnimationX[1],t.negativeSpaceAnimationY[2])}if(a!=0||i!=0){for(let e in t.clipPlanes){t.clipPlanes[e].translate(new THREE.Vector3(a,i,0))}}}function makeCamera(){if(cameraType=="perspective"){var e=new THREE.PerspectiveCamera(fieldOfView,cameraAspect,cameraNear,cameraFar);e.aspect=rendererWidth/rendererHeight}else{var e=new THREE.OrthographicCamera(rendererWidth/-orthographicCameraScale,rendererWidth/orthographicCameraScale,rendererHeight/orthographicCameraScale,rendererHeight/-orthographicCameraScale,cameraNear,cameraFar)}cameraZ=randFromRange(cameraZ);e.position.x=cameraX;e.position.y=cameraY;e.position.z=cameraZ;e.updateProjectionMatrix();e.userData.animationQueue=[];e.userData.originalFocalLength=e.getFocalLength();return e}function makeScene(){const e=new THREE.Scene;e.fog=new THREE.Fog(fogColor,fogNear,fogFar);e.fog.userData={animationQueue:[]};e.fog.enabled=enableFog;if(!enableFog){e.fog.near=150;e.fog.far=155;e.fog.enabled=false}e.background=new THREE.Color(worldGradientColors[worldGradientColors.length-1][1]);return e}function makeRenderer(){const e=new THREE.WebGLRenderer({antialias:rendererAntialias,premultipliedAlpha:true});e.setSize(rendererWidth,rendererHeight,false);e.setPixelRatio(window.devicePixelRatio);e.toneMapping=THREE[rendererToneMapping];e.localClippingEnabled=true;if(enableShadows){e.shadowMap.enabled=true;e.shadowMap.type=THREE.PCFShadowMap}document.body.appendChild(e.domElement);return e}function loadOBJ(e,t,a,i,n){const r=new THREE.OBJLoader;object=r.parse(atob(e));object.traverse(function(e){e.material=t});object.scale.set(a[0],a[1],a[2]);object.position.set(i[0],i[1],i[2]);object.rotation.set(THREE.MathUtils.degToRad(n[0]),THREE.MathUtils.degToRad(n[1]),THREE.MathUtils.degToRad(n[2]));return object}function addPivotToAxis(e,t,a,i=undefined,n=undefined){let r=new THREE.Object3D;r.userData.name=a;r.userData.shapeType=t.userData.shapeType;var o=rand(e.axisX[0],e.axisX[1],e.axisX[2]);if(i){var s=randFromRange(i)}else{var s=rand(e.axisY[0],e.axisY[1],e.axisY[2])}var l=rand(e.axisZ[0],e.axisZ[1],e.axisZ[2]);r.userData.rotationSpeed=rand(e.coneRotationSpeed[0],e.coneRotationSpeed[1],e.coneRotationSpeed[2]);r.userData.originalRotationSpeed=r.userData.rotationSpeed;r.rotation.z=THREE.MathUtils.degToRad(rand(e.axisAngle[0],e.axisAngle[1],e.axisAngle[2]));r.userData.originalPosition=[o,s,l];r.position.set(o,s,l);r.add(t);e.pivots.push(r);e.mainPivot.add(r);if(n==undefined){return}if(r.userData.name.includes("terrain")){n*=terrainsAppearAndDisappearMultiplier}if(r.userData.name.includes("knot")){n*=knotsAppearAndDisappearMultiplier}r.children[0].userData.originalScale=JSON.parse(JSON.stringify(r.children[0].scale));r.userData.growUp=n;r.children[0].scale.set(0,0,0)}function addConeToAxis(e,t,a,i=undefined,n=undefined){let r=rand(a.radius[0],a.radius[1],a.radius[2]);let o=rand(a.height[0],a.height[1],a.height[2]);let s=rand(a.scale[0],a.scale[1],a.scale[2]);let l=s+rand(a.scaleX[0],a.scaleX[1],a.scaleX[2]);let c=s+rand(a.scaleY[0],a.scaleY[1],a.scaleY[2]);let p=s+rand(a.scaleZ[0],a.scaleZ[1],a.scaleZ[2]);let f=rand(a.positionX[0],a.positionX[1],a.positionX[2]);let d=rand(a.positionY[0],a.positionY[1],a.positionY[2]);let u=rand(a.positionZ[0],a.positionZ[1],a.positionZ[2]);let m=rand(a.rotationX[0],a.rotationX[1],a.rotationX[2]);let g=rand(a.rotationY[0],a.rotationY[1],a.rotationY[2]);let h=rand(a.rotationZ[0],a.rotationZ[1],a.rotationZ[2]);let E=a.numberOfRadialSegments;let S=a.numberOfHeightSegments;let v=a.openEnded;if(e.ellipseMode){f*=Math.pow(20-Math.abs(d),e.ellipseModePowerOf)*e.ellipseModeMultiplier;u*=Math.pow(20-Math.abs(d),e.ellipseModePowerOf)*e.ellipseModeMultiplier}if(e.enableScaleEllipseMode){l*=Math.pow(e.scaleEllipseModeBaseX-Math.abs(d),e.scaleEllipseModePowerOfX)*e.scaleEllipseModeMultiplierX;c*=Math.pow(e.scaleEllipseModeBaseY-Math.abs(d),e.scaleEllipseModePowerOfY)*e.scaleEllipseModeMultiplierY;p*=Math.pow(e.scaleEllipseModeBaseZ-Math.abs(d),e.scaleEllipseModePowerOfZ)*e.scaleEllipseModeMultiplierZ}let T={};for(let e=0;e<100;e++){let e=a.types[randS(0,a.types.length-1,1)];if(randS(0,1,.1)>1-e.probability){T=e;break}}try{var x=materialTemplates[a.material].clone()}catch(A){console.warn(a);var x=materialTemplates[pick(a.material)[1]].clone()}if(a.wireframeProbability&&randS(0,1,.01)>1-a.wireframeProbability){x.wireframe=true;E=5;S=5;v=true}else{x.wireframe=false}if(e.clipPlanes&&e.clipPlanes.length>0){x.clippingPlanes=e.clipPlanes}let b=makeCone(x,r,o,E,S,v,[l,c,p],[f,d,u],[m,g,m],T);if(i){let e=Math.max(l,c,p);let t=e/100*i;t=Math.max(t,1e-7);b.scale.set(0,0,0);b.userData.animationQueue=[makeAnimationForQueue("scale",0,e,e,t)]}if(e.enableNegativeSpace){b.material.clippingPlanes=e.clipPlanes;b.material.clipIntersection=true}b.userData.name=t;b.userData.shapeType=n;addPivotToAxis(e,b,t)}function animateWorldPlane(){if(!SCENE.worldPlane.userData.animationQueue){if(SCENE.worldPlane.scale.x>1+SCENE.worldPlane.userData.scaleAmount&&SCENE.worldPlane.userData.scaleFactor>0||SCENE.worldPlane.scale.x<1&&SCENE.worldPlane.userData.scaleFactor<0){SCENE.worldPlane.userData.scaleFactor*=-1}SCENE.worldPlane.scale.set(SCENE.worldPlane.scale.x+SCENE.worldPlane.userData.scaleFactor,SCENE.worldPlane.scale.y+SCENE.worldPlane.userData.scaleFactor,1)}}function makeWorldPlane(){worldPlane=makeGradientPlane(rendererWidth*3,rendererWidth*3,worldGradientType,worldGradientColors,false);worldPlane.userData.name="worldPlane";worldPlane.position.z=-rendererWidth;worldPlane.z=-100;worldPlane.userData.scaleFactor=rand(worldGradientAnimationSpeed[0],worldGradientAnimationSpeed[1],worldGradientAnimationSpeed[2]);worldPlane.userData.scaleAmount=rand(worldGradientAnimationScale[0],worldGradientAnimationScale[1],worldGradientAnimationScale[2]);worldPlane.userData.animationQueue=[];SCENE.worldPlane=worldPlane;SCENE.scene.add(SCENE.worldPlane)}function addExtraShapeToAxis(e,t,a,o,i=undefined){let n=a;let r=randFromRange(o.scale);let s=r+randFromRange(o.scaleX);let l=r+randFromRange(o.scaleY);let c=r+randFromRange(o.scaleZ);let p=randFromRangeS2(o.positionX);let f=randFromRangeS2(o.positionY);let d=randFromRangeS2(o.positionZ);let u=randFromRange(o.rotationX);let m=randFromRange(o.rotationY);let g=randFromRange(o.rotationZ);if(o.material){if(!materialTemplates[o.material]){console.warn("Object has no material",o)}else{var h=materialTemplates[o.material].clone()}}else{var h=e.coneMaterial.clone();if(e.coneMaterial.map){if(o.textureScale){h.map.repeat.x=o.textureScale[0];h.map.repeat.y=o.textureScale[1]}if(o.textureRotation){h.map.rotation=THREE.MathUtils.degToRad(o.textureRotation);h.map.rotation=true}}if(o.color){h.color=new THREE.Color(o.color);h.color.needsUpdate=true}}if(e.clipPlanes&&e.clipPlanes.length>0){h.clippingPlanes=e.clipPlanes}if(n=="flower1"){h.map=undefined;h.bumpMap=undefined;let t=h.clone();if(SCENE.palette.special){h.color=new THREE.Color(SCENE.palette.special.flower[0]);t.color=new THREE.Color(SCENE.palette.special.flower[1])}else{let e=pickS2(SCENE.palette.colors);h.color=new THREE.Color(e[0]);t.color=new THREE.Color(e[1])}h=[h,t]}let E=undefined;if(n=="terrain"){let e=randFromRange(o.heightScale);E=makeTerrain(h,o.worldSizeX,o.worldSizeY,e,[s,l,c],[p,f,d],[u,m,g])}if(n=="smallterrain"){let e=randFromRange(o.heightScale);E=makeTerrain(h,o.worldSizeX,o.worldSizeY,e,[s,l,c],[p,f,d],[u,m,g],1,o.bumpsRange,o.depth)}else if(n=="cloud"){let e=randFromRange(o.sizeX);let t=randFromRange(o.sizeY);let a=randFromRange(o.sizeZ);let i=randFromRange(o.nSpheres);E=makeCloud(h,e,t,a,i,o.spheresScale,[s,l,c],[p,f,d],[u,m,g])}else if(n=="frame"){let e=randFromRange(o.height);let t=randFromRange(o.width);let a=randFromRange(o.thickness);let i=randFromRange(o.depth);E=makeFrame(h,e,t,a,i,[s,l,c],[p,f,d],[u,m,g])}else if(n=="rectangle"){let e=randFromRange(o.height);let t=randFromRange(o.width);let a=randFromRange(o.depth);E=makeRectangle(h,e,t,a,[s,l,c],[p,f,d],[u,m,g])}else if(n=="arrow"){let e=randFromRange(o.depth);let t=randFromRange(o.bevelThickness);let a=randFromRange(o.bevelSize);let i=randFromRange(o.bevelSegments);let n=o.type||0;E=makeArrow(h,e,t,a,i,[s,l,c],[p,f,d],[u,m,g],n)}else if(n=="knot"){let e=randFromRange(o.radius);let t=randFromRange(o.tube);let a=randFromRange(o.tubularSegments);let i=randFromRange(o.radialSegments);let n=randFromRange(o.p);let r=randFromRange(o.q);E=makeKnot(h,e,t,a,i,n,r,[s,l,c],[p,f,d],[u,m,g])}else if(n in base64Objects){E=loadOBJ(base64Objects[n],h,[s,l,c],[p,f,d],[u,m,g])}E.userData.name=t;E.name=t;E.userData.shapeType=n;if(e.enableNegativeSpace){E.material.clippingPlanes=e.clipPlanes;E.material.clipIntersection=true}addPivotToAxis(e,E,t,o.yAxisRangeOverwrite,i)}function updateObjectRotationSpeed(t,a,i,n=1,r=.1){for(let e of Axis){if(e.name==a){for(let a of e.pivots){if(a.userData.name==t){let e=a.userData.rotationSpeed;if(e===undefined){e=0}let t=makeAnimationForQueue("rotationSpeed",e,i,i,n,r);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t);return}}}}}function switchObjectRotationDirection(t,a,i=1,n=.1){for(let e of Axis){if(e.name==a){for(let a of e.pivots){if(a.userData.name==t){let e=a.userData.rotationSpeed;if(e===undefined){e=0}let t=makeAnimationForQueue("rotationSpeed",e,e*-1,e*-1,i,n);if(a.userData.animationQueue===undefined){a.userData.animationQueue=[]}a.userData.animationQueue.push(t);return}}}}}function updateObjectDistanceFromAxis(i,e,n,r=1,o=.1){for(let t of Axis){if(t.name==e){for(let e of t.pivots){if(e.userData.name==i){for(let a o
jb_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
jb_mass_base(() => { const css = `body, html{ margin: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } .prompt-container{ position: absolute; background: #ffffff; width: 50ch; padding: 10px; padding-top: 0; font-family: Helvetica; font-weight: bold; } .prompt{ border-style: solid; border-width: 3px; border-color: black; background: #ffffff; width: 75ch; font-family: Helvetica; font-weight: bold; width: 98%; }`; const head = document.head; const style = document.createElement("style"); head.appendChild(style); if (style.styleSheet) { style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); } })();
jb_mass_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
jb_mass_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
jb_mass_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
jb_mass_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
jb_mass_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
jb_mass_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
crashblossom_gold_main_v1.2ath.abs(e),_-r-e<fe&&(e=_-r-fe),Re(h,e=Math.min(e,m)),r+=e):0<e&&(e=Math.abs(e),Fe(h,e=_+l+e>ue?ue-(_+l):e,"plate"),l+=e)}}if("tier_sends"==e){var g=t,y=document.querySelectorAll("g.cluster:not(.special_no_add)"),b=y.length;let r=0,l=0;var S=document.querySelectorAll("path.cluster:not(.special_no_add)").length;for(let t=0;t<b;t++){var v=y[t],A=v.querySelectorAll(".svg").length,L=A-parseInt(v.getAttribute("initial_number_of_shapes"));let e=g*me-L;e<0?(e=Math.abs(e),S-r-e<de&&(e=S-r-de),Re(v,e=Math.min(e,A)),r+=e):0<e&&(e=Math.abs(e),Fe(v,e=S+l+e>pe?pe-(S+l):e,"cluster"),l+=e)}}if("tier_approvals"==e){let e=-3==t?1.9:-2==t?1.5:-1==t?1.25:1==t?.75:2==t?.5:3==t?.3:0;var w=e;for(let e of document.querySelectorAll("linearGradient")){var N=e.querySelectorAll(".animation");for(let r=0;r<N.length;r++){let e=N[r].getAttribute("dur"),t=(e=Number.parseFloat(e.slice(0,e.length-1)),parseFloat(N[r].getAttribute("original_duration")));var q=0==w?t:Math.round(t*w);q=Math.max(10,q),e!=q&&(N[r].old_dur=e,N[r].new_dur=q,N[r].onrepeat=function(){this.setAttribute("begin",this.getCurrentTime()),this.setAttribute("dur",this.new_dur+"s"),this.onrepeat=void 0})}}await 0}"remove_flip_layer"==e&&T("flip")}async function Qe(e,t,r){try{var l,a,n=document.querySelector(".frame"),i=document.querySelector("#background"),o=n.cloneNode(!0),s=(o.classList.add(t),i.cloneNode(!0)),c=(s.classList.add(r),o.setAttribute("fill","url(#gradient_bg_mirror_read_and_black)"),s.setAttribute("fill","url(#gradient_bg_read_and_black)"),document.querySelector("#gradient_bg_mirror")),f=document.querySelector("#gradient_bg"),u=c.cloneNode(!0),d=f.cloneNode(!0),p=(u.setAttribute("id","gradient_bg_mirror_read_and_black"),d.setAttribute("id","gradient_bg_read_and_black"),Array.from(e));for(l of u.querySelectorAll("stop")){var _=l.querySelector("animate");_.setAttribute("values",p.pop()),_.setAttribute("dur","20s")}for(a of d.querySelectorAll("stop")){var h=a.querySelector("animate");h.setAttribute("values",p.pop()),h.setAttribute("dur","30s")}c.after(u),f.after(d),o.setAttribute("opacity","0"),o.animate([{opacity:"1"}],{duration:5e3,iterations:1,fill:"forwards"}),n.after(o),s.setAttribute("opacity","0"),s.animate([{opacity:"1"}],{duration:5e3,iterations:1,fill:"forwards"}),i.after(s)}catch(e){}}async function M(e,t){let r=document.querySelector("."+e);document.querySelector("#gradient_bg_mirror");r.setAttribute("opacity","1");let l=r.animate([{opacity:"0"}],{duration:5e3,iterations:1,fill:"forwards"}),a=(l.onfinish=function(){r.remove()},document.querySelector("."+t));a.setAttribute("opacity","1"),(l=a.animate([{opacity:"0"}],{duration:5e3,iterations:1,fill:"forwards"})).onfinish=function(){a.remove()},await new Promise(e=>setTimeout(e,6e3))}function Ge(t,r,l){for(let e of q)e.type==t&&(null==e.original_change_positions_chance&&(e.original_change_positions_chance=e.change_positions_chance),e.change_positions_chance=r,setTimeout(()=>{e.change_positions_chance=e=e.original_change_positions_chance},l))}async function Re(r,e){let l=F(r.querySelectorAll("svg"));for(let t=0;t<e;t++){let e=q.filter(e=>e.id==r.id.split("-")[1])[0];null==(e=null==e?S.filter(e=>e.id==r.id.split("-")[1])[0]:e).svg_prototype&&(e.svg_prototype=l[t]),l[t].classList.contains("removing")||(l[t].animate([{opacity:"0"}],{duration:5e3,iterations:1,fill:"forwards"}).onfinish=e=>{l[t].remove()}),l[t].classList.add("removing")}}async function Fe(r,t,l){for(let e=0;e<t;e++)if("cluster"==l){let t=R(r.querySelectorAll(".svg.cluster"));if(null==t){let e=q.filter(e=>e.id==r.id.split("-")[1])[0];null==e&&(e=S.filter(e=>e.id==r.id.split("-")[1])[0]),t=e.svg_prototype}var a=t.cloneNode(!0);try{o=(r.classList.contains("special")?S.filter(e=>r.classList.contains(e.id)):q.filter(e=>r.classList.contains(e.id)))[0],a.querySelector("path").setAttribute("d",R(o.paths))}catch(e){}var n=He(R(C),o.number_of_visible_shapes,G(o.clustering_density[0],o.clustering_density[1]),.5,[3,6],o.clustering_density),n=R(n),i=n[0],n=n[1],i=(a.setAttribute("x",i+"%"),a.setAttribute("y",n+"%"),a.classList.add("animating"),a.animate([{opacity:"0"},{opacity:"1"}],{duration:se,iterations:1,fill:"forwards"}));r.appendChild(a),i.onfinish=function(){a.classList.remove("animating")}}else if("plate"==l){let t=r.querySelector("svg");if(null==t){let e=q.filter(e=>e.id==r.id.split("-")[1])[0];null==e&&(e=S.filter(e=>e.id==r.id.split("-")[1])[0]),t=e.svg_prototype}let e=t.cloneNode(!0);try{var o;o=(r.classList.contains("special")?S.filter(e=>r.classList.contains(e.id)):q.filter(e=>r.classList.contains(e.id)))[0],e.querySelector("path").setAttribute("d",R(o.paths))}catch(e){}var n=G(_e[0],_e[1],.1),i=e.querySelector("path"),s=G(o.scale[0],o.scale[1],.1),s=(i.setAttribute("transform",`scale(${s*n}, ${s*n})`),parseFloat(e.getAttribute("x").split("%")[0])+G(-20,20)),c=parseFloat(e.getAttribute("y").split("%")[0])+G(-20,20);s*=he,c*=he,e.setAttribute("x",s+"%"),e.setAttribute("y",c+"%"),e.classList.add("animating"),e.classList.add("dynamic_add"),r.appendChild(e),e.animate([{opacity:"0"},{opacity:"1"}],{duration:se,iterations:1,fill:"forwards"}).onfinish=function(){e.classList.remove("animating")}}}function T(e){var t;for(t of document.querySelectorAll("g."+e)){let e=t.animate([{opacity:1},{opacity:0}],{duration:5e3,iterations:1,fill:"forwards"});e.layer=t,e.onfinish=t=>{q=q.filter(e=>e.id!=t.target.layer.id),e.layer.remove()}}}async function O(t=.5,r=5,l=2,a=!1){var n=document.querySelectorAll(".group.layer"),n=Array.from(n).filter(e=>!e.classList.contains("special")),i=document.querySelector("#main-svg");let o=0;for(let e=2;e<n.length&&!(o>=l);e+=2)z()>1-t&&(_([n[e],n[e+1]],r,e=>{e[0].insertBefore(e[2],e[3]),e[0].insertBefore(e[1],e[2])},[i,n[e],n[e+1],n[0]]),o+=1,a)&&await new Promise(e=>setTimeout(e,1e3*G(3,6)));setTimeout(function(){var r=[],l=document.querySelectorAll(".group.layer");for(let t=0;t<l.length;t++)for(let e=0;e<q.length;e++)if(l[t].getAttribute("class").includes(q[e].id)){r.push(q[e]);break}q=r},2*r*1e3)}async function Je(r=5,t="both",l=4,a=!1,n=!1){for(let e=0;e<q.length;e++){var i=q[e];if(!("both"!=t&t!=i.type)){var o=k.querySelector(".group."+i.id);if(null==o)i.delete=!0;else{var s,c,f,u=o.querySelectorAll("svg");"cluster"==i.type&&F(s=He(R(C),i.number_of_visible_shapes,G(i.clustering_density[0],i.clustering_density[1]),.5,[3,6],i.clustering_density));let t=0;for(let e=0;e<u.length&&!(t>=l);e++)if((!!a||z()>1-i.change_positions_chance)&!u[e].classList.contains("animating")){for(u[e].classList.add("animating"),f="cluster"==i.type?(c=s[e][0],s[e][1]):(c=G(i.coordinates[0][0],i.coordinates[0][1])/i.current_scale,G(i.coordinates[1][0],i.coordinates[1][1])/i.current_scale),Math.abs(i.current_x-c)<10&&(c=i.current_x+G(10,20)),Math.abs(i.current_y-f)<10&&(f=i.current_y+G(10,20)),i.current_x=c,i.current_y=f;;)if(R(i.paths)!=i.current_path){i.current_path=R(i.paths);break}_([u[e]],r,e=>{e[0].setAttributeNS(null,"x",e[1]+"%"),e[0].setAttributeNS(null,"y",e[2]+"%"),e[0].querySelector("path").setAttributeNS(null,"d",e[3])},[u[e],c,f,i.current_path]),n&&await new Promise(e=>setTimeout(e,1e3*Q(2,8))),t++}}}}q=q.filter(e=>1!=e.delete)}async function _(t,e,r,l,a=0){t=t.filter(e=>null!=e),0!=a&&await new Promise(e=>setTimeout(e,a));let n={duration:1e3*e,iterations:1,fill:"forwards"};for(let e=0;e<t.length;e++)t[e].animate({opacity:"0"},n);setTimeout(function(){r(l);for(let e=0;e<t.length;e++)t[e].animate({opacity:"1"},n),t[e].classList.remove("animating")},1e3*e)}function B(t,e="top"){var r,l=document.querySelector("#main-svg").querySelector("#defs"),a=R(S.filter(e=>-1!=e.classes.indexOf(t))),n=R(a.color_combinations_list),i=`g-${a.id}-`+a.type,o=G(a.color_duration[0],a.color_duration[1]),s=Ke(a.gradient_coordinates,i),c=(a.current_scale=G(a.scale[0],a.scale[1],.01),s.setAttributeNS(null,"class",`gradient ${a.type} `+a.id),D(0,n[0])),f=D(1,n[1]),u=I(n[0],o),n=I(n[1],o),d=(c.appendChild(u),f.appendChild(n),s.appendChild(c),s.appendChild(f),l.appendChild(s),document.createElementNS(L,"g"));d.setAttributeNS(null,"id",`g-${a.id}-`+a.type),d.setAttributeNS(null,"class",`layer group ${a.type} `+a.id),"cluster"==a.type&&(r=He(R(C),a.number_of_visible_shapes,G(a.clustering_density[0],a.clustering_density[1]),.5,[3,6],a.clustering_density));for(let t=0;t<a.number_of_visible_shapes;t++){var p,_,h=`p-${a.id}-${a.type}-`+t,m=`s-${a.id}-${a.type}-`+t;let e=1;"plate"==a.type?(p=Q(a.coordinates[0][0],a.coordinates[0][1])/a.current_scale,_=Q(a.coordinates[1][0],a.coordinates[1][1])/a.current_scale,a.current_x=p,a.current_y=_,a.current_path=R(a.paths,$e)):(p=r[t][0],_=r[t][1],a.current_x=p,a.current_y=_,a.current_path=R(a.paths,$e),w.length&&(e=G(w[0],w[1],.01)));var g,y=document.createElementNS(L,"path"),b=(y.setAttributeNS(null,"transform",`scale(${a.current_scale*e}, ${a.current_scale*e})`),y.setAttributeNS(null,"d",a.current_path),y.setAttributeNS(null,"fill",`url(#${i})`),y.setAttributeNS(null,"id",h),y.setAttributeNS(null,"class",`layer path ${a.type} ${a.id} special`),document.createElementNS(L,"svg"));b.setAttributeNS(null,"x",p+"%"),b.setAttributeNS(null,"y",_+"%"),b.setAttributeNS(null,"transform-origin","center"),b.setAttributeNS(null,"id",m),b.setAttributeNS(null,"class",`layer svg ${a.type} ${a.id} special`);for(g of a.classes)b.classList.add(g),d.classList.add(g);b.appendChild(y),d.appendChild(b)}d.setAttribute("initial_number_of_shapes",a.number_of_visible_shapes),d.animate([{opacity:"0"},{opacity:"1"}],{duration:ce,iterations:1,fill:"forwards"}),"top"==e?(o=document.querySelectorAll(".group"))[o.length-1].after(d):document.querySelector(".group").before(d)}function D(e,t){var r=document.createElementNS(L,"stop");return r.setAttributeNS(null,"offset",e),r.setAttributeNS(null,"stop-color",t),r}function I(e,t){var r=document.createElementNS(L,"animate");return r.setAttributeNS(null,"attributeName","stop-color"),r.setAttributeNS(null,"values",e),r.setAttributeNS(null,"dur",t+"s"),r.setAttributeNS(null,"repeatCount","indefinite"),r.setAttributeNS(null,"class","animation"),r.setAttributeNS(null,"original_duration",t),r}function Ke(e,t){var r=document.createElementNS(L,"linearGradient");return r.setAttributeNS(null,"id",t),r.setAttributeNS(null,"x1",e[0]+"%"),r.setAttributeNS(null,"x2",e[2]+"%"),r.setAttributeNS(null,"y1",e[1]+"%"),r.setAttributeNS(null,"y2",e[3]+"%"),r}function z(){var e=1e4*Math.sin(g++);return e-Math.floor(e)}function s(){return(y+=h)%100/100}function Xe(){return(y=(1664525*y+h)%89652912)%101}function Q(e,t,r=!0){return e=Math.ceil(e),t=Math.floor(t),r?Math.floor(z()*(t+1-e)+e):Math.floor(s()*(t+1-e)+e)}function G(e,t,r=1,l=3,a=!0){a=a?z()*(t+r-e)+e:s()*(t+r-e)+e;return t=(t=l)||0,Math.floor(a*Math.pow(10,t))/Math.pow(10,t)}function R(e,t=!0){return e[Q(0,e.length-1,t)]}function F(e,t=!0){let r=e.length,l;for(;0!=r;)l=t?Math.floor(z()*r):Math.floor(s()*r),r--,[e[r],e[l]]=[e[l],e[r]];return e}function He(e,t,r=0,l=0,a=[3,8],n=[1,3],i=0,o=[-200,300]){var s,c,f,u,d,p,_,h,m,g,y;if(0==e&&(c=A(45,95,40,10,r+10,t+1),f=A(30,55,40,20,r+20,t+1),u=A(40,0,40,30,r+30,t+1)),1==e&&(c=A(60,0,90,30,r+40,t+1),f=A(20,40,20,40,r+20,t+1),u=A(40,70,100,50,r+30,t+1)),5==e&&(u=A(10,5,5,10,r+10,t+1),c=A(20,10,1,50,r+50,t+1),f=A(30,30,-5,20,r+20,t+1)),3==e&&(u=A(90,0,160,0,r+20,t+1),f=A(50,50,160,0,r+30,t+1),c=A(10,70,160,0,r+40,t+1)),6==e&&(c=A(50,50,10,10,r+30,t+1),f=A(50,20,20,10,r+5,t+1),u=A(50,50,30,10,r+10,t+1)),2==e&&(c=A(0,10,20,10,r+5,t+1),f=A(80,40,10,20,r+10,t+1),u=A(90,30,40,30,r+30,t+1)),4==e){for(s=[],_=t/100,v=0;v<t;v++)d=b=v/_,d+=G(-(p=v|b&d)%10,p%10)+Math.sin(b)*p%30,p+=G(-v%10,v%10),s.push({x:d%110,y:p%110});u=f=c=s}7==e&&(c=A(95,30,-40,13,r+10,2*t),f=A(90,40,-35,20,r+20,t+1),u=A(80,50,-30,30,r+30,t+1)),8==e&&(c=A(60,50,-10,10,r+10,t+1),f=A(70,50,10,20,r+20,t+1),u=A(80,50,20,30,r+30,t+1)),9==e&&(c=A(5,40,.1,2,r+30,t+1),f=A(40,50,.3,2,r+10,t+1),u=A(60,45,.3,2,r+40,t+1)),10==e&&(c=A(3,10,-5,20,r+10,t+1),f=A(10,80,-10,20,r+20,t+1),u=A(80,20,-20,10,r+30,t+1)),11==e&&(c=A(15,10,-5,30,r+40,t+1),f=A(50,80,-10,26,r+30,t+1),u=A(80,40,-10,15,r+20,t+1)),h=[],s=(s=(s=c.filter(e=>0<e.x&e.x<100&0<e.y&e.y<101)).concat(f.filter(e=>0<e.x&e.x<100&0<e.y&e.y<101))).concat(u.filter(e=>0<e.x&e.x<100&0<e.y&e.y<101));for(let e=0;e<t;e++)h.push(R(s));if(0<l)for(m=!1,v=y=g=0;v<h.length;v++)m?(v<y&&(h[v].x=h[g].x+G(-_,_),h[v].y=h[g].y+G(-_,_)),y<v&&(m=!1)):z()>l&&(m=!0,y=(g=v)+Q(a),_=G(n[0],n[1]));for(var S=[],v=0;v<h.length;v++)h[v].x<o[0]|h[v].x>o[1]&&(h[v].x=G(0,100,3)),h[v].y<o[0]|h[v].y>o[1]&&(h[v].y=G(0,100,3)),0<i&&z()>1-i&&(h[v].x=G(0,100,3),h[v].y=G(0,100,3)),S.push([h[v].x,h[v].y]);return S}function A(t,r,e,l,a,n){var i=Math.tan(e),o=Math.cos(e)*l,s=Math.sin(e)*l,c=[];for(let e=0;e<n;e++){var f=(z()-.5)*a,u=(z()-.5)*a,f=t+o+f;c.push({x:f,y:r+i*(f-t)+s+u})}return c}function f(e){try{return paths[e].slice(1,paths[e].length-1)}catch{e=R(Object.keys(paths));return paths[e].slice(1,paths[e].length-1)}}function Ue(e){var r=["LS - range","LS - splash","LS - plane","LS - streetlight","LS - glass","LS - left","LS - right","LS - map","LS - fracture","LS - liquid","LS - mosaic","LS - cumulus","S - recall fragment","LS - pointer","LS - cliff","LS - hill","LS - city","LS - sign","S - ship","LS - plus","S - recall flock","S - bug","LS - honeycomb","L - ice large","LS - path","S - footprint small","LS - planet","LS - logo","LS - multiplier","S - fragment","LS - stratus","S - flock","LS - river","S - candle","L - girder","L - elevation","L - urban","L - plan","L - floor","L - ruin","L - corridor","L - wall ","L - pie chart","L - house","L - pod","L - ceiling","L - window displaced","L - modern","L - blueprint","L - road","L - bell curve","L - beam thick","L - perspective","L - flame","L - window pane","L - window poly","L - window frame","L - frame","L - future","L - body","L - beam medium","L - head","L - rural","L - beam thin","L - ripple","L - brain","L - flame high","L - foothill","L - mnemonic","L - jet","L - mountain","L - rockies","L - fingerprint","L - haze","L - skeleton","L - skyline","L - comic","L - ribbon","L - wave","L - footprint large","S - ice small"],l=[11,34,35,2,37,38,39,40,41,43,14,23,36,3,42],a=[2,4,4,4,4,4,4,4,4,4,6,11,15,15,15],n=[0,7,2,6,5,1,3,4],i=[2,7,10,10,12,14,20,25],o=[0,54,44,45,46,48,5,53,6,7,4,51,52,47,10,50,13,1,49],s=[2,2,4,4,4,4,4,4,4,4,5,5,5,7,7,7,8,10,10],f=[12,8,14,9,15,11,16,13,10],u=[2,4,4,10,10,15,15,18,22],d=[59,8,55,56,57,9,58,60,15,62,63,16,64,66,19,26,22,61,65],p=[2,4,4,4,4,4,4,4,4,4,4,4,4,4,10,10,10,10,10],_=[20,22,18,21,17,24,80,25,19],h=[2,4,5,5,8,10,15,25,26],m=[70,30,67,32,17,71,72,24,77,78,69,73,75,74,27,76,79,68,28],g=[2,2,4,4,4,4,4,4,4,4,5,5,5,6,7,7,7,10,12],y=[30,29,31,32,27,28,26,33],b=[2,10,10,10,12,16,20,20],S=[6,71,5,7,8,67,17,0,59,24,52,9,64,75,78,15,32,45,1,62,70,69,11,49,4,22,16,73,65,27,76,74,61,68,3,10,13,19,26,28,30,58],v=[6,6,7,7,7,7,7,8,8,9,10,10,10,10,10,11,11,12,12,12,12,13,15,15,15,15,15,15,16,16,16,17,18,18,20,20,20,20,20,20,20,25],A=[21,18,14,2,7,0,5,6,8,9,15,17,24,27,32,1,4,11,16,22,3,10,13,19,26,28,30,31,29,33],L=[3,4,5,7,7,8,10,10,10,10,10,10,10,10,10,12,15,15,15,15,20,20,20,20,20,20,20,20,25,27],t=[1,8,16,4,2,3],w=[5,5,5,10,20,50],N=["rhodium","palladium","vegas","platinum","ipanema","malibu","venicebeach","cannes","maldives","dusk","sunset","mist","southbeach","night","ibiza","dawn","goldenhour"],q=[3,4,4,5,5,5,5,5,6,7,7,8,10,12,20,30,40];if("number_of_colors"==e){for(let e=0;e<300;e++)for(let e=0;e<t.length;e++)if(Xe()>100-w[e])return t[e];return 2}if("layer_paths"==e){var k=[],x=["regular","hodl","milestone"];for(let t=0;t<x.length;t++)for(let e=0;e<8;e++){"regular"==x[t]?0==e?(C=l,M=a):1==e?(C=n,M=i):2==e?(C=o,M=s):3==e?(C=f,M=u):4==e?(C=d,M=p):5==e?(C=_,M=h):6==e?(C=m,M=g):7==e&&(C=y,M=b):"hodl"==x[t]?(C=S,M=v):"milestone"==x[t]&&(C=A,M=L);for(var C,M,T=300;0<T;)for(let e=0;e<M.length;e++){T--;var $=Xe(),E=r[C[e]];if($>100-M[e]&&!k.includes(E)){T=0;break}}k.push(E)}return k}if("color_names"==e){var j=[];for(let e=0;e<re;e++){let t=300;for(;0<t;){t--;for(let e=0;e<q.length;e++)if(c=N[e],Xe()>100-q[e]&&!j.includes(c)){t=0;break}}j.push(c)}return j}}function We(t,r,l){if(l<=t[0])return r[0];if(l>=t[t.length-1])return r[r.length-1];for(let e=0;e<r.length-1;e++)if(l>=t[e]&l<t[e+1])return r[e]}function Ve(e){return null!=e&&e==e}function Ye(e,t,r=!0){e*={years:31536e3,months:2592e3,hours:3600,minutes:60}[t];return r?Math.round(e):e}function Ze(e,t,r){return(t-e)/Ye(1,r,!1)}function et(e,t){var r=function(t){let r=0;for(let e=1;e<t.length;e++)r+=Math.abs(t[e]-t[e-1]);return r/(t.length-1)}(t),e=(e-t[t.length-1])/r-1;return null===e||isNaN(e)?0:e}window.onkeydown=function(e){71===e.keyCode?(d=document.querySelector("#main-svg")).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change node URL:</p><input id="prompt" class="prompt" value="${N}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),N=p.value,(pc=document.getElementById("prompt-container")).remove())};let tt=void 0;async function rt(){try{var i=await fetch(N,{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:J,data:K},"latest"],id:2,jsonrpc:"2.0"})})}catch{return e=(e=0==e.length?Array.from(W):e).filter(e=>e!=N),void(N=1==e.length?e[0]:R(e.slice(0,-1)))}i=await i.json();if(null==i.error){(i=te(Z(i.result),[1,200,1,200,1,400,400,1]))[0];let e=i[1];i[2];let l=i[3];var o=i[4];let r=ee(i[5]),t=ee(i[6]);V=i[7][0];(i=te(Z((await(await fetch(N,{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:J,data:function(e){{if("string"==typeof e)return e=/^0x/i.test(e)?e:"0x"+e;if("number"==typeof e)return"0x"+e.toString(16);throw new Error("Unsupported value type: "+typeof e)}}(X+function(e){let t=e.toString(16);return 0<(e=64-t.length)&&(e="0".repeat(e),t=e+t),t}(H))},"latest"],id:2,jsonrpc:"2.0"})})).json()).result),[1,200,1,1,1,1]))[0][0];let a=i[1];var s,c,f,u,d,p=i[2][0],_=(i[3][0],i[4][0]),i=i[5][0],h=(new Date).getTime()/1e3;r=r.filter(e=>0!=e[0]),t=t.filter(e=>0!=e[0]),l=l.filter(e=>0!=e),e=e.filter(e=>0!=e),a=a.filter(e=>0!=e);for(s of l);for(c of e);for(f of r);for(u of t);for(d of a);r.sort((e,t)=>e[0]-t[0]),t.sort((e,t)=>e[0]-t[0]);r.map(e=>e[1]),t.map(e=>e[1]);l.sort(),e.sort(),a.sort();let n=[];for(let t of r){var m=l.filter(e=>e==t[0]).length;if(m<=1)n.push(t);else{var g=t[1]/m;for(let e=0;e<m;e++)n.push([t[0],g])}}for(let r of t){let t=l.filter(e=>e<r[0]).slice(-1)[0];var y=l.filter(e=>e==t).length;if(y<=1)n.push(r);else{var b=r[1]/y;for(let e=0;e<y;e++)n.push([r[0],b])}}n.sort((e,t)=>e[0]-t[0]),n=n.map(e=>e[1]);var S,v,A=[],L=[];for(S of r){A.push(S[0]);for(let e=a.length-1;0<=e;e--)if(a[e]==S[0]){L.push(a[e]);break}}for(v of t)for(let t=l.length-1;0<=t;t--)if(l[t]<v[0]){A.push(l[t]),a.includes(l[t])&&l.filter(e=>e==l[t]).length<=1&&L.push(l[t]);break}var w=Array.from(L);return tt=[h,l,e,A,n,o,a,w,_,p,i]}e=(e=0==e.length?Array.from(W):e).filter(e=>e!=N),N=1==e.length?e[0]:R(e.slice(0,-1))}async function lt(g){if(null!=(g=tt)){var y=g[0];let e=g[1],t=g[2],r=g[3],l=g[4];var b=g[5];let a=g[6],n=g[7];var S=g[8],g=(g[9],g[10]),v=Ye(3,"months");e=[...new Set(e)],t=[...new Set(t)],r=[...new Set(r)],a=[...new Set(a)],e.sort(),t.sort(),r.sort(),a.sort(),e=null==e?[]:e,t=null==t?[]:t,r=null==r?[]:r,a=null==a?[]:a,n=null==n?[]:n,l=null==l?[]:l,e=e.filter(e=>0!=e).slice(-5),t=t.filter(e=>0!=e).slice(-5),r=r.filter(e=>0!=e).slice(-5),5<(a=a.filter(e=>0!=e)).length&&(a=a.slice(-5)),10<(n=n.filter(e=>0!=e)).length&&(n=n.slice(-10)),l=l.filter(e=>0!=e).slice(-5);let i=Array.from(t),o=Array.from(r),s=Array.from(e),c=Array.from(l);e.length<=1&&(s=[$].concat(e)),a.length<=1&&(a=[$].concat(a)),t.length<=1&&(i=[$].concat(t)),r.length<=1&&(o=[$].concat(r)),l.length<=1&&(c=[5e17*U].concat(l));var A=et(y,1<e.length?e:s),L=et(y,1<t.length?t:i),w=et(y,1<r.length?r:o);let f=0;1<c.length&&(f=c[c.length-1]/(c.slice(0,-1).reduce((e,t)=>e+t)/(c.length-1))-1);var N=et(y,e.concat(i).sort().slice(-5));let u=Ze(r[r.length-1],y,"minutes")<10,d=Ze(e[e.length-1],y,"minutes")<10,p=Ze(t[t.length-1],y,"minutes")<10;var b=.51<=b/V,q=!b;let _=-1,h=0;for(let e=0;e<Y.length;e++){var k=y-Y[e];0<k&&(_=e),(0<k&&k<86400||0<k&&e==Y.length-1)&&(h=Y[e]+86400)}S=S-1;let m=Array.from(n);var x,C,M,T,v=1<(m=n.length<2?[$].concat(n):m).length&&y-m[m.length-1]<v&&m[m.length-1]-m[m.length-2]<v;for(x of e);for(C of t);for(M of r);for(T of l);b&&document.querySelectorAll("g,.frame")[0].classList.contains("layer")&&await P("high_holder_distribution"),q&&document.querySelectorAll("g,.frame")[0].classList.contains("layer")&&await P("low_holder_distribution"),-1<_&&(y>h?(await P("contract_milestone_no_celebration",_),await P("stop_contract_milestone")):await P("contract_milestone",_)),S!=j&&(j=S),v?await P("flipped_x_times"):await P("remove_flip_layer"),g>document.querySelectorAll(".hodl").length&&P("time_hodld",g),Ve(A)&&(b=ze(w,We(E.royalty[0],E.royalty[1],f)),q=ze(A,We(E.contract_activity[0],E.contract_activity[1],-1*N)),S=ze(A,We(E.clustering_mode[0],E.clustering_mode[1],-1*A)),v=ze(L,We(E.approvals[0],E.approvals[1],-1*L)),await P("tier_royalty",b),await P("tier_contract_activity",q),await P("tier_sends",S),await P("tier_approvals",v)),u&&d&&(r[r.length-1]<e[e.length-1]?u=!1:d=!1),d&&p&&(t[t.length-1]<e[e.length-1]?p=!1:d=!1),u&&p&&(r[r.length-1]<t[t.length-1]?u=!1:p=!1),u?await P("sale"):await P("stop_sale"),d?await P("send"):await P("stop_send"),p?await P("approval"):await P("stop_approval")}}
crashblossom_gold_main_v1.2let m=!1,e=["https://eth-mainnet.g.alchemy.com/v2/jNjHIBKgiqQBourYcfVA3rsbyP0vCXwe","https://eth-mainnet.g.alchemy.com/v2/TyWMZISNxCQ0Qbkkm1Q-AD0BtBOzMG8w","https://eth-mainnet.g.alchemy.com/v2/xKR4_uuTNkE1WrXskJPuX3REsonQroDT","https://eth-mainnet.g.alchemy.com/v2/0GCs4ch_MzzNTLLL62iRGR-7TM3KTgQe"],W=Array.from(e),V=500;U/=100;var t=(new Date).getTime();let g=(new Date).getTime(),L="http://www.w3.org/2000/svg",k=document.querySelector("#main-svg");let Y=[1703167200,1718974800,1750510800,1845205200,2002971600,2318504400],N=R(e.slice(0,-1));function Z(e){var t=e.slice(2),r=[];for(let e=0;e<t.length;e+=64){var l=t.slice(e,e+64),l=parseInt(l,16);r.push(l)}return r}function ee(t){var r=[];for(let e=0;e<t.length;e+=2)r.push(t.slice(e,e+2));return r}function te(t,r){var e,l=[];let a=0;for(let e=0;e<r.length;e++){var n=r[e],i=t.slice(a,a+n);l.push(i),a+=n}return a<t.length&&(e=t.slice(a),l.push(e)),l}let re=Ue("number_of_colors");var v,r=Ue("color_names"),le={goldenhour:{chance:.1,colors:["#ff1249;#6b6cff;#c80085;#ffe112;#ff1249","#6b6cff;#ff1249;#ffe112;#c80085;#6b6cff"]},dawn:{chance:.1,colors:["#ff4637;#83a9ff;#e91278;#fff149;#ff4637","#9ab0fe;#ff5252;#fffb57;#f23662;#9ab0fe"]},ibiza:{chance:.1,colors:["#b2004e;#573fcd;#990086;#ec7d1a;#b2004e","#442dbe;#c2045c;#d26b0a;#a80094;#442dbe"]},southbeach:{chance:.1,colors:["#f72585;#4cc9f0;#11a7d4;#fa6bab;#f72585","#4cc9f0;#f72585;#fa6bab;#11a7d4;#4cc9f0"]},mist:{chance:.1,colors:["#ff6494;#98e8ed;#ffe6ff;#80ffff;#ff6494","#9affff;#ff6277;#80ffff;#ffe6ff;#9affff"]},dusk:{chance:.1,colors:["#c4107c;#1d5fb6;#a50d68;#4d88ff;#c4107c","#5981d9;#f042aa;#2f62d0;#b40d85;#5981d9"]},platinum:{chance:.1,colors:["#080808;#828282;#d2d2d2;#202020;#7d7d7d;#080808","#efefef;#353535;#161616;#b2b2b2;#383838;#f5f5f5"]},palladium:{chance:.1,colors:["#f5f5f5;#808080;#666666;#f2f2f2;#787878;#f5f5f5","#4d4d4d;#949494;#ffffff;#595959;#939393;#4d4d4d"]},rhodium:{chance:.1,colors:["#000000;#4f4f4f;#818181;#000000;#515151;#000000","#929292;#000000;#0f0f0f;#898989;#000000;#929292"]},ipanema:{chance:.1,colors:["#a7c3ff;#ff0066;#ffa9bd;#ff0066;#a7c3ff","#ff9ea1;#0000ff;#68b6ff;#0000ff;#ff9ea1"]},malibu:{chance:.1,colors:["#c0d5ff;#ff6666;#ffe1db;#150070;#c0d5ff","#fee3dc;#ff66ff;#c9e9ff;#ff66ff;#fee3dc"]},night:{chance:.1,colors:["#0000ff;#000080;#ff2a5b;#000080;#0000ff","#dd3a3f;#03000f;#0062be;#03000f;#dd3a3f"]},maldives:{chance:.1,colors:["#ffff99;#ff668a;#ffff33;#ffe6f2;#ffff99","#ff668a;#ffff99;#ffe6f2;#ffff33;#ff668a"]},venicebeach:{chance:.1,colors:["#ff66ff;#ccffff;#ffbb33;#ffff66;#ff66ff;","#ffbb33;#ff66ff;#ffff66;#ccffff;#ffbb33"]},sunset:{chance:.1,colors:["#809fff;#ff4d4d;#4d79ff;#ff7733;#809fff","#ff5500;#809fff;#ff4d4d;#4d79ff;#ff5500"]},vegas:{chance:.1,colors:["#3366ff;#ff99ff;#ff0066;#ff8533;#3366ff","#ffccff;#ff0066;#000099;#3333ff;#ffccff"]},cannes:{chance:.1,colors:["#ffe112;#ff668a;#ffff80;#ff1a4f;#ffe112","#ff668a;#ffe112;#ff1a4f;#ffff80;#ff668a"]},special_sends:{chance:.1,colors:["#ffb380;#e60036;#ffcc00;#ff003c;#ffb380","#e60036;#ffb380;#cc0030;#ff6600;#e60036"]},special_sales:{chance:.1,colors:["#ffff33;#ff0066;#ffff00;#ff6600;#ffff33","#ff4d4d;#ffe112;#e6005c;#ff6666;#ff4d4d"]},special_approval:{chance:.1,colors:["#4d4dff;#98e8ed;#0039e6;#80ffff;#4d4dff","#ccffff;#b3f0ff;#80ffff;#3366ff;#ccffff"]}};let ae=[];for(v of r)ae.push(le[v]);let ne=[50,80],w=[];let x={increased:[7,3,1],decreased:[0,4,8],neutral:[6,2,10,5,9,11]};let u=15,ie=t,oe=5;let se=5e3;let ce=5e3,fe=1,ue=80,de=2,pe=3e3,_e=[.7,.8],he=1.3,E={royalty:[[-.4,-.3,-.1,0,.1,.3,.6],[-3,-2,-1,0,1,2,3]],contract_activity:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],clustering_mode:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],approvals:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]]};let me=5;var l=[],ge=F(Array.from(ae));for(let e=0;e<40;e++)l.push(ge[e%ge.length]);let ye=[l.pop()],j=3,be=0,Se=["#ff944d;#e60036;#ff884d;#ff003c;#ff944d","#e60036;#ff944d;#cc0030;#ff6600;#e60036","#e60036;#ff944d;#cc0030;#ff6600;#e60036","#ff944d;#e60036;#ff884d;#ff003c;#ff944d"],ve=["#ffe112;#ff4d4d;#ffff66;#ff9933;#ffe112","#e67300;#ffe112;#e65c00;#ffff66;#e67300","#e67300;#ffe112;#e65c00;#ffff66;#e67300","#ffe112;#ff4d4d;#ffff66;#ff9933;#ffe112"],Ae=["#9affff;#4d4dff;#80ffff;#3366ff;#9affff","#4d4dff;#98e8ed;#3366ff;#80ffff;#4d4dff","#4d4dff;#98e8ed;#3366ff;#80ffff;#4d4dff","#9affff;#4d4dff;#80ffff;#3366ff;#9affff"],Le=["#ffff00;#ff0000;#ffff00;#ff0000;#ffffff;#0000ff;#ffff00","#ff0000;#ffff00;#0000ff;#ffff00;#ff0000;#ffffff;#ff0000","#ff0000;#ffff00;#0000ff;#ffff00;#ff0000;#ffffff;#ff0000","#ffff00;#ff0000;#ffff00;#ff0000;#ffffff;#0000ff;#ffff00"];var we,Ne,qe,ke,r=Ue("layer_paths"),t=r.slice(0,8),xe=r.slice(8,16),Ce=r.slice(16,24);let q=[{id:"lp0",type:"plate",paths:f(t[0]),paths_group_name:t[0],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.7,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc0",type:"cluster",paths:f(t[1]),paths_group_name:t[1],color_duration:[30,60],coordinates:[[-30,30],[-10,10]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0]},{id:"lp1",type:"plate",paths:f(t[2]),paths_group_name:t[2],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.6,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc1",type:"cluster",paths:f(t[3]),paths_group_name:t[3],color_duration:[30,60],coordinates:[[-10,10],[-30,30]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0]},{id:"lp2",type:"plate",paths:f(t[4]),paths_group_name:t[4],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.5,.9],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc2",type:"cluster",paths:f(t[5]),paths_group_name:t[5],color_duration:[30,60],coordinates:[[-10,80],[-10,30]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0]},{id:"lp3",type:"plate",paths:f(t[6]),paths_group_name:t[6],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.4,.9],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc3",type:"cluster",paths:f(t[7]),paths_group_name:t[7],color_duration:[30,60],coordinates:[[-30,10],[-30,50]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0]}],S=[{id:"s_lp0",type:"plate",paths:f("L - send"),paths_group_name:"L - send",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.5,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[le.special_sends.colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","send","special_no_add"]},{id:"s_lp1",type:"plate",paths:f("L - sale"),paths_group_name:"L - sale",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.7,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[le.special_sales.colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","sale","special_no_add"]},{id:"s_lp2",type:"plate",paths:f("L - approval"),paths_group_name:"L - approval",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.45,.75],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[le.special_approval.colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","approval","special_no_add"]},{id:"s_lp3",type:"plate",paths:f("L - flip"),paths_group_name:"L - flip",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.6,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","flip","special_no_add"]}];for(let e=0;e<7;e++){var Me=xe[e];S.push({id:"hodl_lp_"+e,type:"plate",paths:f(Me),paths_group_name:Me,color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.5,.8],number_of_visible_shapes:1,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","hodl","time_hodld_"+e]})}for(let e=0;e<7;e++)selected_path=Ce[e],S.push({id:"milestone_lc_"+e,type:"cluster",paths:f(selected_path),paths_group_name:selected_path,color_duration:[30,60],coordinates:[[-10,10],[-30,30]],scale:[.06,.1],number_of_visible_shapes:10,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0],classes:["special","contract_milestones","milestone_"+e]});let Te={4:{0:{1:2,2:2,3:2,4:2,5:0,6:0,7:0,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:0,6:0,7:0,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:0,6:0,7:0,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:0,6:0,7:0,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:0,6:0,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:0,6:0,7:0,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:0,6:0,7:0,8:0,9:0,10:0}},5:{0:{1:2,2:2,3:2,4:2,5:1,6:0,7:0,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:0,7:0,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:0,7:0,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:0,7:0,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:0,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:0,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:0,7:0,8:0,9:0,10:0}},6:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:0,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:0,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:0,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:2,7:0,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:0,6:1,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:0,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:0,8:0,9:0,10:0}},7:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:2,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:2,7:3,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:0,9:0,10:0}},8:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:1,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:2,8:2,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:2,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:2,7:3,8:2,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:1,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:1,9:0,10:0}},9:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:1,9:1,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:2,8:2,9:2,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:2,9:2,10:0},4:{1:3,2:3,3:4,4:4,5:3,6:2,7:3,8:2,9:3,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:1,9:1,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:1,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:1,9:1,10:0}},10:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:2,9:1,10:1},1:{1:2,2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2,10:2},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:2,9:3,10:3},3:{1:4,2:3,3:4,4:4,5:3,6:2,7:3,8:2,9:4,10:3},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:1,9:1,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:1,10:1},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:1,9:1,10:1}}};for(we of S)we.paths_unlocked=!1;for(Ne of q)Ne.paths_unlocked=!1;for(qe of q)if("plate"==qe.type){if(--j<0)break;qe.paths_unlocked=!0}for(ke of q)ke.classes=[];q.filter(e=>"plate"==e.type).length;let $e=!0;(new Date).getTime();var r=F(Object.keys(paths),!1),Ee=r.filter(e=>"L "==e.slice(0,2)),je=r.filter(e=>"S "==e.slice(0,2)),Pe=r.filter(e=>"LS"==e.slice(0,2)),a=[];for(let e=0;e<5;e++)for(var Oe of Ee.concat(Pe))for(layer_name of paths[Oe][0].split(","))if(layer_name=="plate layer "+(e+1))try{a[e].push(Oe)}catch{a.push([]),a[e].push(Oe)}var n=[];for(let e=0;e<5;e++)for(var Be of je.concat(Pe))for(layer_name of paths[Be][0].split(","))if(layer_name=="cluster layer "+(e+1))try{n[e].push(Be)}catch{n.push([]),n[e].push(Be)}for(let e=0;e<4;e++)a[e]=a[e].map(e=>({value:e,sort:s()})).sort((e,t)=>e.sort-t.sort).map(({value:e})=>e),n[e]=n[e].map(e=>({value:e,sort:s()})).sort((e,t)=>e.sort-t.sort).map(({value:e})=>e);var De,i,o,t=x.neutral[Q(0,x.neutral.length-1)];let C=[t,t];r=document.querySelector("#main-svg"),(t=document.createElementNS(L,"defs")).setAttributeNS(null,"id","defs"),r.appendChild(t);{let e=document.querySelector("#main-svg"),t=R(ne),r=F(R(ye).colors),l=e.querySelector("#defs"),a=Ke([0,0,100,0],"gradient_bg"),n=D(0,"#000000"),i=D(1,"#000000"),o=I(r[0],t),s=I(r[1],t),c=(n.appendChild(o),i.appendChild(s),a.appendChild(n),a.appendChild(i),l.appendChild(a),a=Ke([0,0,100,0],"gradient_bg_mirror"),n=D(0,"#000000"),i=D(1,"#000000"),o=I(r[1],t),s=I(r[0],t),n.appendChild(o),i.appendChild(s),a.appendChild(n),a.appendChild(i),l.appendChild(a),document.createElementNS(L,"svg")),f=(c.classList.add("background"),c.setAttributeNS(null,"width","100%"),c.setAttributeNS(null,"height","100%"),c.setAttributeNS(null,"x",0),c.setAttributeNS(null,"y",0),document.createElementNS(L,"rect"));f.setAttributeNS(null,"width","100%"),f.setAttributeNS(null,"height","100%"),f.setAttributeNS(null,"x",0),f.setAttributeNS(null,"y",0),f.setAttributeNS(null,"fill","url(#gradient_bg)"),f.setAttributeNS(null,"id","background"),c.appendChild(f),e.appendChild(c)}!function(t=-1,r="bottom"){var l=document.querySelector("#main-svg"),a=l.querySelector("#defs");F(Array.from(ae));for(let e=0;e<q.length;e++)if(!(-1!=t&e!=t)){var n,i=q[e],o=("cluster"==i.type&&(o=q[e-1],z(),o.current_x,o.current_scale,G(i.coordinates[0][0],i.coordinates[0][1]),o.current_y,o.current_scale,G(i.coordinates[1][0],i.coordinates[1][1])),R(i.color_combinations_list)),s=`g-${i.id}-`+i.type,c=G(i.color_duration[0],i.color_duration[1]),f=(i.current_scale=G(i.scale[0],i.scale[1],.01),Ke(i.gradient_coordinates,s)),u=(f.setAttributeNS(null,"class",`gradient ${i.type} `+i.id),D(0,o[0][0])),d=D(1,o[1][0]),p=I(o[0],c),c=I(o[1],c),_=(u.appendChild(p),d.appendChild(c),f.appendChild(u),f.appendChild(d),a.appendChild(f),document.createElementNS(L,"g")),h=(_.setAttributeNS(null,"id",`g-${i.id}-${i.type}-`+e),_.setAttributeNS(null,"class",`layer group ${i.type} `+i.id),"cluster"==i.type&&(n=He(R(C),i.number_of_visible_shapes,G(i.clustering_density[0],i.clustering_density[1]),.5,[3,6],i.clustering_density)),F(Array.from(i.paths),i.paths_unlocked));for(let t=0;t<i.number_of_visible_shapes;t++){var m,g,y=`p-${i.id}-${i.type}-`+t,b=`s-${i.id}-${i.type}-`+t;let e=1;"plate"==i.type?(m=Q(i.coordinates[0][0],i.coordinates[0][1])/i.current_scale,g=Q(i.coordinates[1][0],i.coordinates[1][1])/i.current_scale,i.current_x=m,i.current_y=g,i.current_path=h[t%h.length]):(m=n[t][0],g=n[t][1],i.current_x=m,i.current_y=g,i.current_path=h[t%h.length],w.length&&(e=G(w[0],w[1],.01)));var S,v=document.createElementNS(L,"path"),A=(v.setAttributeNS(null,"transform",`scale(${i.current_scale*e}, ${i.current_scale*e})`),v.setAttributeNS(null,"d",i.current_path),v.setAttributeNS(null,"fill",`url(#${s})`),v.setAttributeNS(null,"id",y),v.setAttributeNS(null,"class",`layer path ${i.type} `+i.id),document.createElementNS(L,"svg"));A.setAttributeNS(null,"x",m+"%"),A.setAttributeNS(null,"y",g+"%"),A.setAttributeNS(null,"transform-origin","center"),A.setAttributeNS(null,"id",b),A.setAttributeNS(null,"class",`layer svg ${i.type} `+i.id);for(S of i.classes)A.classList.add(S),_.classList.add(S);A.appendChild(v),_.appendChild(A)}if(_.setAttribute("initial_number_of_shapes",i.number_of_visible_shapes),-1!=t)return _.animate([{opacity:"0"},{opacity:"1"}],{duration:ce,iterations:1,fill:"forwards"}),"top"==r?(p=document.querySelectorAll(".group.plate"))[p.length-1].after(_):document.querySelector(".group.plate").before(_);l.appendChild(_)}}(),r=document.querySelector("#main-svg"),t=r.querySelector("#defs"),(De=document.createElementNS(L,"mask")).setAttributeNS(null,"id","bg_border_clip_path"),(i=document.createElementNS(L,"rect")).setAttributeNS(null,"width","101%"),i.setAttributeNS(null,"height","101%"),i.setAttributeNS(null,"x","0"),i.setAttributeNS(null,"y","0"),i.setAttributeNS(null,"fill","white"),(o=document.createElementNS(L,"rect")).setAttributeNS(null,"width","94%"),o.setAttributeNS(null,"height","95.3%"),o.setAttributeNS(null,"x","3%"),o.setAttributeNS(null,"y","2.5%"),o.setAttributeNS(null,"fill","black"),De.appendChild(i),De.appendChild(o),t.appendChild(De),(i=document.createElementNS(L,"rect")).setAttributeNS(null,"width","100%"),i.setAttributeNS(null,"height","100%"),i.setAttributeNS(null,"x","0"),i.setAttributeNS(null,"y","0"),i.setAttributeNS(null,"fill","url(#gradient_bg_mirror)"),i.setAttributeNS(null,"mask","url(#bg_border_clip_path)"),i.setAttributeNS(null,"class","frame"),r.appendChild(i);setTimeout(async function e(l,a=!1,n=10){let t=F(Array.from(q).concat(S));for(var i of t)if("cluster"==i.type){let e=k.querySelector(".group."+i.id);if(null!=e){let r=e.querySelectorAll("svg");var o=He(R(C),r.length,G(i.clustering_density[0],i.clustering_density[1]),.5,[3,6],i.clustering_density);for(let t=0;t<r.length;t++)if(z()>1-i.change_positions_chance&&!r[t].classList.contains("animating")&&!r[t].classList.contains("removing")){r[t].classList.add("animating");var s=o[t][0],c=o[t][1];s<0&&(s+=Q(1,10)),0<s&&(s-=Q(1,10)),c<0&&(c+=Q(1,10)),0<c&&(c-=Q(1,10)),i.current_x=s,i.current_y=c,a&&(i.current_path=R(i.paths));let e=e=>{e[0].classList.contains("removing")?e[0].remove():(e[0].setAttributeNS(null,"x",e[1]+"%"),e[0].setAttributeNS(null,"y",e[2]+"%"),e[4]&&e[0].querySelector("path").setAttributeNS(null,"d",e[3]))};0==n?_([r[t]],l,e,[r[t],s,c,i.current_path,a]):setTimeout(_,1e3*Q(0,n),[r[t]],l,e,[r[t],s,c,i.current_path,a])}}}0;setTimeout(e,5e3,5,a,n)},5e3,5,!0,5),setTimeout(async function e(l,a=!1,n=10){864e5<(new Date).getTime()-ie&&(ie=(new Date).getTime(),--u,u=Math.max(u,5),oe=u);let i=!1;let o=Array.from(q).concat(S);let t=F(Array.from(q).concat(S));for(var s of t){if("plate"==s.type){let e=k.querySelector(".group."+s.id);if(null==e)continue;let r=e.querySelectorAll("svg");for(let t=0;t<r.length;t++){if(z()>1-s.change_positions_chance&&!r[t].classList.contains("animating")&&!r[t].classList.contains("removing")){if(r[t].classList.add("animating"),0<j&&be<j)for(let e=0;e<o.length;e++)if(e<Math.min(j,10)-be){be++,a=!0;break}Math.abs(s.current_x-c)<10&&(c=s.current_x+G(-20,20)),Math.abs(s.current_y-f)<10&&(f=s.current_y+G(-20,20));var c=G(s.coordinates[0][0],s.coordinates[0][1])/s.current_scale,f=G(s.coordinates[1][0],s.coordinates[1][1])/s.current_scale;s.current_x=c,s.current_y=f,a&&(s.current_path=R(s.paths));let e=e=>{e[0].classList.contains("removing")?e[0].remove():(e[0].setAttributeNS(null,"x",e[1]+"%"),e[0].setAttributeNS(null,"y",e[2]+"%"),e[4]&&e[0].querySelector("path").setAttributeNS(null,"d",e[3]))};0==n?_([r[t]],l,e,[r[t],c,f,s.current_path,a]):setTimeout(_,1e3*Q(0,n),[r[t]],l,e,[r[t],c,f,s.current_path,a]),i=!0;break}if(i)break}if(i)break}if(i)break}0;setTimeout(e,1e3*u,oe,a,n)},5e3,oe,!0,5);var Ie=!1;!async function e(){try{if(m)return;m=!0,rt().then(e=>lt(tt))}catch(e){}m=!1;Ie||(setInterval(e,1e4),Ie=!0)}();let ze=(e,t)=>{var r;return 0!=t&&(r=t<0?-1:1,t=Math.abs(t),0<=e&&--t,1<=e&&(t-=2),2<=e&&(t-=3),-0==(t=Math.max(0,t)*r))?0:t};async function P(e,t){if("send"==e){if(0<document.querySelectorAll(".sale").length&&(T("sale"),await M("special_frame_sale","special_background_sale")),0<document.querySelectorAll(".approval").length&&(T("approval"),await M("special_frame_approval","special_background_approval")),0<document.querySelectorAll(".send").length)return void O(1,5,20,!0);0<document.querySelectorAll(".special_frame_contract_milestone").length&&await M("special_frame_contract_milestone","special_background_contract_milestone"),B("send"),Ge("cluster",1,2e4),await Qe(Se,"special_frame_send","special_background_send"),O(1,5,20,!0)}if("stop_send"==e&&(0<document.querySelectorAll(".send").length&&T("send"),0<document.querySelectorAll(".special_frame_send").length||0<document.querySelectorAll(".special_background_send").length)&&await M("special_frame_send","special_background_send"),"sale"==e){if(0<document.querySelectorAll(".send").length&&(T("send"),await M("special_frame_send","special_background_send")),0<document.querySelectorAll(".approval").length&&(T("approval"),await M("special_frame_approval","special_background_approval")),0<document.querySelectorAll(".sale").length)return void await Je(5,"plate",20,!0,!0);0<document.querySelectorAll(".special_frame_contract_milestone").length&&await M("special_frame_contract_milestone","special_background_contract_milestone"),B("sale"),Je(5,"plate",20,!0,!0),await Qe(ve,"special_frame_sale","special_background_sale"),O(1,5,20,!0),Ge("cluster",1,2e4)}if("stop_sale"==e&&(0<document.querySelectorAll(".sale").length&&T("sale"),0<document.querySelectorAll(".special_frame_sale").length||0<document.querySelectorAll(".special_background_sale").length)&&await M("special_frame_sale","special_background_sale"),"approval"==e){if(0<document.querySelectorAll(".send").length&&(T("send"),await M("special_frame_send","special_background_send")),0<document.querySelectorAll(".sale").length&&(T("sale"),await M("special_frame_sale","special_background_sale")),0<document.querySelectorAll(".approval").length)return void await O(1,5,20,!0);0<document.querySelectorAll(".special_frame_contract_milestone").length&&await M("special_frame_contract_milestone","special_background_contract_milestone"),B("approval"),await Qe(Ae,"special_frame_approval","special_background_approval"),O(1,5,20,!0)}var r;if("stop_approval"==e&&(0<document.querySelectorAll(".approval").length&&T("approval"),0<document.querySelectorAll(".special_frame_approval").length||0<document.querySelectorAll(".special_background_approval").length)&&await M("special_frame_approval","special_background_approval"),"high_holder_distribution"==e&&(r=k.querySelectorAll("*"))[r.length-1].classList.contains("frame")&&(c=(r=document.querySelector(".frame")).cloneNode(!0),document.querySelector("g.group").before(c),r.animate({opacity:"0"},{duration:5e3,iterations:1,fill:"forwards"}),setTimeout(e=>e.remove(),5e3,r),await new Promise(e=>setTimeout(e,5e3))),"low_holder_distribution"!=e||(c=k.querySelectorAll("*"))[c.length-1].classList.contains("frame")||(c=(r=document.querySelector(".frame")).cloneNode(!0),(f=document.querySelectorAll("g.group"))[f.length-1].after(c),c.animate([{opacity:"0"},{opacity:"1"}],{duration:5e3,iterations:1,fill:"forwards"}),setTimeout(e=>e.remove(),5e3,r),await new Promise(e=>setTimeout(e,5e3))),"contract_milestone"==e){var l=document.querySelectorAll("g.contract_milestones").length,a=t+1-l;if(0<a){if(0<document.querySelectorAll(".send").length)return;if(0<document.querySelectorAll(".sale").length)return;if(0<document.querySelectorAll(".approval").length)return}for(let e=l;e<l+a;e++)B("milestone_"+e);if(Ve(document.querySelector(".special_frame_contract_milestone")))return;await Qe(Le,"special_frame_contract_milestone","special_background_contract_milestone"),Je(5,"plate",100,!0,!0)}if("stop_contract_milestone"==e&&0<document.querySelectorAll(".special_frame_contract_milestone").length&&await M("special_frame_contract_milestone","special_background_contract_milestone"),"contract_milestone_no_celebration"==e){var n=document.querySelectorAll("g.contract_milestones").length,i=t+1-n;for(let e=n;e<n+i;e++)B("milestone_"+e)}if("time_hodld"==e){var o=document.querySelectorAll("g.hodl"),s=t-o.length;if(0<s)for(let e=0;e<Math.abs(s);e++)B("time_hodld_"+e);else if(s<0)for(let e=0;e<Math.abs(s);e++)!function(e){var t=e.animate([{opacity:0}],{duration:5e3,iterations:1,fill:"forwards"});t.onfinish=()=>{e.remove()}}(o[e])}if("wallet_holds_multiple"==e&&(j=t-1),"flipped_x_times"==e&&null==document.querySelector(".flip")&&B("flip"),"hodld_after_flipped_x_times"==e&&T("flip"),"tier_royalty"==e){var c,f=t;let e=x.neutral;if(0<f?e=x.increased:f<0&&(e=x.decreased),-1!=e.indexOf(C[0])&&(0==f||e[Math.abs(f)-1]==C[0]))return;c=0==f?R(e):e[Math.abs(f)-1],C=[c,c]}if("tier_contract_activity"==e){var u=t,d=document.querySelectorAll("g.plate:not(.special_no_add)"),p=d.length;let r=0,l=0;var _=document.querySelectorAll("path.plate:not(.special_no_add)").length;for(let t=0;t<d.length;t++){var h=d[t],m=h.querySelectorAll(".svg").length;parseInt(h.getAttribute("initial_number_of_shapes"));let e=Te[p][u][t+1]-m;e<0?(e=M
crashblossom_gold_main_v1.1ath.abs(e),_-r-e<fe&&(e=_-r-fe),Re(h,e=Math.min(e,m)),r+=e):0<e&&(e=Math.abs(e),Fe(h,e=_+l+e>ue?ue-(_+l):e,"plate"),l+=e)}}if("tier_sends"==e){var g=t,y=document.querySelectorAll("g.cluster:not(.special_no_add)"),b=y.length;let r=0,l=0;var S=document.querySelectorAll("path.cluster:not(.special_no_add)").length;for(let t=0;t<b;t++){var v=y[t],A=v.querySelectorAll(".svg").length,L=A-parseInt(v.getAttribute("initial_number_of_shapes"));let e=g*me-L;e<0?(e=Math.abs(e),S-r-e<de&&(e=S-r-de),Re(v,e=Math.min(e,A)),r+=e):0<e&&(e=Math.abs(e),Fe(v,e=S+l+e>pe?pe-(S+l):e,"cluster"),l+=e)}}if("tier_approvals"==e){let e=-3==t?1.9:-2==t?1.5:-1==t?1.25:1==t?.75:2==t?.5:3==t?.3:0;var w=e;for(let e of document.querySelectorAll("linearGradient")){var N=e.querySelectorAll(".animation");for(let r=0;r<N.length;r++){let e=N[r].getAttribute("dur"),t=(e=Number.parseFloat(e.slice(0,e.length-1)),parseFloat(N[r].getAttribute("original_duration")));var q=0==w?t:Math.round(t*w);q=Math.max(10,q),e!=q&&(N[r].old_dur=e,N[r].new_dur=q,N[r].onrepeat=function(){this.setAttribute("begin",this.getCurrentTime()),this.setAttribute("dur",this.new_dur+"s"),this.onrepeat=void 0})}}await 0}"remove_flip_layer"==e&&T("flip")}async function Qe(e,t,r){try{var l,a,n=document.querySelector(".frame"),i=document.querySelector("#background"),o=n.cloneNode(!0),s=(o.classList.add(t),i.cloneNode(!0)),c=(s.classList.add(r),o.setAttribute("fill","url(#gradient_bg_mirror_read_and_black)"),s.setAttribute("fill","url(#gradient_bg_read_and_black)"),document.querySelector("#gradient_bg_mirror")),f=document.querySelector("#gradient_bg"),u=c.cloneNode(!0),d=f.cloneNode(!0),p=(u.setAttribute("id","gradient_bg_mirror_read_and_black"),d.setAttribute("id","gradient_bg_read_and_black"),Array.from(e));for(l of u.querySelectorAll("stop")){var _=l.querySelector("animate");_.setAttribute("values",p.pop()),_.setAttribute("dur","20s")}for(a of d.querySelectorAll("stop")){var h=a.querySelector("animate");h.setAttribute("values",p.pop()),h.setAttribute("dur","30s")}c.after(u),f.after(d),o.setAttribute("opacity","0"),o.animate([{opacity:"1"}],{duration:5e3,iterations:1,fill:"forwards"}),n.after(o),s.setAttribute("opacity","0"),s.animate([{opacity:"1"}],{duration:5e3,iterations:1,fill:"forwards"}),i.after(s)}catch(e){}}async function M(e,t){let r=document.querySelector("."+e);document.querySelector("#gradient_bg_mirror");r.setAttribute("opacity","1");let l=r.animate([{opacity:"0"}],{duration:5e3,iterations:1,fill:"forwards"}),a=(l.onfinish=function(){r.remove()},document.querySelector("."+t));a.setAttribute("opacity","1"),(l=a.animate([{opacity:"0"}],{duration:5e3,iterations:1,fill:"forwards"})).onfinish=function(){a.remove()},await new Promise(e=>setTimeout(e,6e3))}function Ge(t,r,l){for(let e of q)e.type==t&&(null==e.original_change_positions_chance&&(e.original_change_positions_chance=e.change_positions_chance),e.change_positions_chance=r,setTimeout(()=>{e.change_positions_chance=e=e.original_change_positions_chance},l))}async function Re(r,e){let l=F(r.querySelectorAll("svg"));for(let t=0;t<e;t++){let e=q.filter(e=>e.id==r.id.split("-")[1])[0];null==(e=null==e?S.filter(e=>e.id==r.id.split("-")[1])[0]:e).svg_prototype&&(e.svg_prototype=l[t]),l[t].classList.contains("removing")||(l[t].animate([{opacity:"0"}],{duration:5e3,iterations:1,fill:"forwards"}).onfinish=e=>{l[t].remove()}),l[t].classList.add("removing")}}async function Fe(r,t,l){for(let e=0;e<t;e++)if("cluster"==l){let t=R(r.querySelectorAll(".svg.cluster"));if(null==t){let e=q.filter(e=>e.id==r.id.split("-")[1])[0];null==e&&(e=S.filter(e=>e.id==r.id.split("-")[1])[0]),t=e.svg_prototype}var a=t.cloneNode(!0);try{o=(r.classList.contains("special")?S.filter(e=>r.classList.contains(e.id)):q.filter(e=>r.classList.contains(e.id)))[0],a.querySelector("path").setAttribute("d",R(o.paths))}catch(e){}var n=He(R(C),o.number_of_visible_shapes,G(o.clustering_density[0],o.clustering_density[1]),.5,[3,6],o.clustering_density),n=R(n),i=n[0],n=n[1],i=(a.setAttribute("x",i+"%"),a.setAttribute("y",n+"%"),a.classList.add("animating"),a.animate([{opacity:"0"},{opacity:"1"}],{duration:se,iterations:1,fill:"forwards"}));r.appendChild(a),i.onfinish=function(){a.classList.remove("animating")}}else if("plate"==l){let t=r.querySelector("svg");if(null==t){let e=q.filter(e=>e.id==r.id.split("-")[1])[0];null==e&&(e=S.filter(e=>e.id==r.id.split("-")[1])[0]),t=e.svg_prototype}let e=t.cloneNode(!0);try{var o;o=(r.classList.contains("special")?S.filter(e=>r.classList.contains(e.id)):q.filter(e=>r.classList.contains(e.id)))[0],e.querySelector("path").setAttribute("d",R(o.paths))}catch(e){}var n=G(_e[0],_e[1],.1),i=e.querySelector("path"),s=G(o.scale[0],o.scale[1],.1),s=(i.setAttribute("transform",`scale(${s*n}, ${s*n})`),parseFloat(e.getAttribute("x").split("%")[0])+G(-20,20)),c=parseFloat(e.getAttribute("y").split("%")[0])+G(-20,20);s*=he,c*=he,e.setAttribute("x",s+"%"),e.setAttribute("y",c+"%"),e.classList.add("animating"),e.classList.add("dynamic_add"),r.appendChild(e),e.animate([{opacity:"0"},{opacity:"1"}],{duration:se,iterations:1,fill:"forwards"}).onfinish=function(){e.classList.remove("animating")}}}function T(e){var t;for(t of document.querySelectorAll("g."+e)){let e=t.animate([{opacity:1},{opacity:0}],{duration:5e3,iterations:1,fill:"forwards"});e.layer=t,e.onfinish=t=>{q=q.filter(e=>e.id!=t.target.layer.id),e.layer.remove()}}}async function O(t=.5,r=5,l=2,a=!1){var n=document.querySelectorAll(".group.layer"),n=Array.from(n).filter(e=>!e.classList.contains("special")),i=document.querySelector("#main-svg");let o=0;for(let e=2;e<n.length&&!(o>=l);e+=2)z()>1-t&&(_([n[e],n[e+1]],r,e=>{e[0].insertBefore(e[2],e[3]),e[0].insertBefore(e[1],e[2])},[i,n[e],n[e+1],n[0]]),o+=1,a)&&await new Promise(e=>setTimeout(e,1e3*G(3,6)));setTimeout(function(){var r=[],l=document.querySelectorAll(".group.layer");for(let t=0;t<l.length;t++)for(let e=0;e<q.length;e++)if(l[t].getAttribute("class").includes(q[e].id)){r.push(q[e]);break}q=r},2*r*1e3)}async function Je(r=5,t="both",l=4,a=!1,n=!1){for(let e=0;e<q.length;e++){var i=q[e];if(!("both"!=t&t!=i.type)){var o=k.querySelector(".group."+i.id);if(null==o)i.delete=!0;else{var s,c,f,u=o.querySelectorAll("svg");"cluster"==i.type&&F(s=He(R(C),i.number_of_visible_shapes,G(i.clustering_density[0],i.clustering_density[1]),.5,[3,6],i.clustering_density));let t=0;for(let e=0;e<u.length&&!(t>=l);e++)if((!!a||z()>1-i.change_positions_chance)&!u[e].classList.contains("animating")){for(u[e].classList.add("animating"),f="cluster"==i.type?(c=s[e][0],s[e][1]):(c=G(i.coordinates[0][0],i.coordinates[0][1])/i.current_scale,G(i.coordinates[1][0],i.coordinates[1][1])/i.current_scale),Math.abs(i.current_x-c)<10&&(c=i.current_x+G(10,20)),Math.abs(i.current_y-f)<10&&(f=i.current_y+G(10,20)),i.current_x=c,i.current_y=f;;)if(R(i.paths)!=i.current_path){i.current_path=R(i.paths);break}_([u[e]],r,e=>{e[0].setAttributeNS(null,"x",e[1]+"%"),e[0].setAttributeNS(null,"y",e[2]+"%"),e[0].querySelector("path").setAttributeNS(null,"d",e[3])},[u[e],c,f,i.current_path]),n&&await new Promise(e=>setTimeout(e,1e3*Q(2,8))),t++}}}}q=q.filter(e=>1!=e.delete)}async function _(t,e,r,l,a=0){t=t.filter(e=>null!=e),0!=a&&await new Promise(e=>setTimeout(e,a));let n={duration:1e3*e,iterations:1,fill:"forwards"};for(let e=0;e<t.length;e++)t[e].animate({opacity:"0"},n);setTimeout(function(){r(l);for(let e=0;e<t.length;e++)t[e].animate({opacity:"1"},n),t[e].classList.remove("animating")},1e3*e)}function B(t,e="top"){var r,l=document.querySelector("#main-svg").querySelector("#defs"),a=R(S.filter(e=>-1!=e.classes.indexOf(t))),n=R(a.color_combinations_list),i=`g-${a.id}-`+a.type,o=G(a.color_duration[0],a.color_duration[1]),s=Ke(a.gradient_coordinates,i),c=(a.current_scale=G(a.scale[0],a.scale[1],.01),s.setAttributeNS(null,"class",`gradient ${a.type} `+a.id),D(0,n[0])),f=D(1,n[1]),u=I(n[0],o),n=I(n[1],o),d=(c.appendChild(u),f.appendChild(n),s.appendChild(c),s.appendChild(f),l.appendChild(s),document.createElementNS(L,"g"));d.setAttributeNS(null,"id",`g-${a.id}-`+a.type),d.setAttributeNS(null,"class",`layer group ${a.type} `+a.id),"cluster"==a.type&&(r=He(R(C),a.number_of_visible_shapes,G(a.clustering_density[0],a.clustering_density[1]),.5,[3,6],a.clustering_density));for(let t=0;t<a.number_of_visible_shapes;t++){var p,_,h=`p-${a.id}-${a.type}-`+t,m=`s-${a.id}-${a.type}-`+t;let e=1;"plate"==a.type?(p=Q(a.coordinates[0][0],a.coordinates[0][1])/a.current_scale,_=Q(a.coordinates[1][0],a.coordinates[1][1])/a.current_scale,a.current_x=p,a.current_y=_,a.current_path=R(a.paths,$e)):(p=r[t][0],_=r[t][1],a.current_x=p,a.current_y=_,a.current_path=R(a.paths,$e),w.length&&(e=G(w[0],w[1],.01)));var g,y=document.createElementNS(L,"path"),b=(y.setAttributeNS(null,"transform",`scale(${a.current_scale*e}, ${a.current_scale*e})`),y.setAttributeNS(null,"d",a.current_path),y.setAttributeNS(null,"fill",`url(#${i})`),y.setAttributeNS(null,"id",h),y.setAttributeNS(null,"class",`layer path ${a.type} ${a.id} special`),document.createElementNS(L,"svg"));b.setAttributeNS(null,"x",p+"%"),b.setAttributeNS(null,"y",_+"%"),b.setAttributeNS(null,"transform-origin","center"),b.setAttributeNS(null,"id",m),b.setAttributeNS(null,"class",`layer svg ${a.type} ${a.id} special`);for(g of a.classes)b.classList.add(g),d.classList.add(g);b.appendChild(y),d.appendChild(b)}d.setAttribute("initial_number_of_shapes",a.number_of_visible_shapes),d.animate([{opacity:"0"},{opacity:"1"}],{duration:ce,iterations:1,fill:"forwards"}),"top"==e?(o=document.querySelectorAll(".group"))[o.length-1].after(d):document.querySelector(".group").before(d)}function D(e,t){var r=document.createElementNS(L,"stop");return r.setAttributeNS(null,"offset",e),r.setAttributeNS(null,"stop-color",t),r}function I(e,t){var r=document.createElementNS(L,"animate");return r.setAttributeNS(null,"attributeName","stop-color"),r.setAttributeNS(null,"values",e),r.setAttributeNS(null,"dur",t+"s"),r.setAttributeNS(null,"repeatCount","indefinite"),r.setAttributeNS(null,"class","animation"),r.setAttributeNS(null,"original_duration",t),r}function Ke(e,t){var r=document.createElementNS(L,"linearGradient");return r.setAttributeNS(null,"id",t),r.setAttributeNS(null,"x1",e[0]+"%"),r.setAttributeNS(null,"x2",e[2]+"%"),r.setAttributeNS(null,"y1",e[1]+"%"),r.setAttributeNS(null,"y2",e[3]+"%"),r}function z(){var e=1e4*Math.sin(g++);return e-Math.floor(e)}function s(){return(y+=h)%100/100}function Xe(){return(y=(1664525*y+h)%89652912)%101}function Q(e,t,r=!0){return e=Math.ceil(e),t=Math.floor(t),r?Math.floor(z()*(t+1-e)+e):Math.floor(s()*(t+1-e)+e)}function G(e,t,r=1,l=3,a=!0){a=a?z()*(t+r-e)+e:s()*(t+r-e)+e;return t=(t=l)||0,Math.floor(a*Math.pow(10,t))/Math.pow(10,t)}function R(e,t=!0){return e[Q(0,e.length-1,t)]}function F(e,t=!0){let r=e.length,l;for(;0!=r;)l=t?Math.floor(z()*r):Math.floor(s()*r),r--,[e[r],e[l]]=[e[l],e[r]];return e}function He(e,t,r=0,l=0,a=[3,8],n=[1,3],i=0,o=[-200,300]){var s,c,f,u,d,p,_,h,m,g,y;if(0==e&&(c=A(45,95,40,10,r+10,t+1),f=A(30,55,40,20,r+20,t+1),u=A(40,0,40,30,r+30,t+1)),1==e&&(c=A(60,0,90,30,r+40,t+1),f=A(20,40,20,40,r+20,t+1),u=A(40,70,100,50,r+30,t+1)),5==e&&(u=A(10,5,5,10,r+10,t+1),c=A(20,10,1,50,r+50,t+1),f=A(30,30,-5,20,r+20,t+1)),3==e&&(u=A(90,0,160,0,r+20,t+1),f=A(50,50,160,0,r+30,t+1),c=A(10,70,160,0,r+40,t+1)),6==e&&(c=A(50,50,10,10,r+30,t+1),f=A(50,20,20,10,r+5,t+1),u=A(50,50,30,10,r+10,t+1)),2==e&&(c=A(0,10,20,10,r+5,t+1),f=A(80,40,10,20,r+10,t+1),u=A(90,30,40,30,r+30,t+1)),4==e){for(s=[],_=t/100,v=0;v<t;v++)d=b=v/_,d+=G(-(p=v|b&d)%10,p%10)+Math.sin(b)*p%30,p+=G(-v%10,v%10),s.push({x:d%110,y:p%110});u=f=c=s}7==e&&(c=A(95,30,-40,13,r+10,2*t),f=A(90,40,-35,20,r+20,t+1),u=A(80,50,-30,30,r+30,t+1)),8==e&&(c=A(60,50,-10,10,r+10,t+1),f=A(70,50,10,20,r+20,t+1),u=A(80,50,20,30,r+30,t+1)),9==e&&(c=A(5,40,.1,2,r+30,t+1),f=A(40,50,.3,2,r+10,t+1),u=A(60,45,.3,2,r+40,t+1)),10==e&&(c=A(3,10,-5,20,r+10,t+1),f=A(10,80,-10,20,r+20,t+1),u=A(80,20,-20,10,r+30,t+1)),11==e&&(c=A(15,10,-5,30,r+40,t+1),f=A(50,80,-10,26,r+30,t+1),u=A(80,40,-10,15,r+20,t+1)),h=[],s=(s=(s=c.filter(e=>0<e.x&e.x<100&0<e.y&e.y<101)).concat(f.filter(e=>0<e.x&e.x<100&0<e.y&e.y<101))).concat(u.filter(e=>0<e.x&e.x<100&0<e.y&e.y<101));for(let e=0;e<t;e++)h.push(R(s));if(0<l)for(m=!1,v=y=g=0;v<h.length;v++)m?(v<y&&(h[v].x=h[g].x+G(-_,_),h[v].y=h[g].y+G(-_,_)),y<v&&(m=!1)):z()>l&&(m=!0,y=(g=v)+Q(a),_=G(n[0],n[1]));for(var S=[],v=0;v<h.length;v++)h[v].x<o[0]|h[v].x>o[1]&&(h[v].x=G(0,100,3)),h[v].y<o[0]|h[v].y>o[1]&&(h[v].y=G(0,100,3)),0<i&&z()>1-i&&(h[v].x=G(0,100,3),h[v].y=G(0,100,3)),S.push([h[v].x,h[v].y]);return S}function A(t,r,e,l,a,n){var i=Math.tan(e),o=Math.cos(e)*l,s=Math.sin(e)*l,c=[];for(let e=0;e<n;e++){var f=(z()-.5)*a,u=(z()-.5)*a,f=t+o+f;c.push({x:f,y:r+i*(f-t)+s+u})}return c}function f(e){try{return paths[e].slice(1,paths[e].length-1)}catch{e=R(Object.keys(paths));return paths[e].slice(1,paths[e].length-1)}}function Ue(e){var r=["LS - range","LS - splash","LS - plane","LS - streetlight","LS - glass","LS - left","LS - right","LS - map","LS - fracture","LS - liquid","LS - mosaic","LS - cumulus","S - recall fragment","LS - pointer","LS - cliff","LS - hill","LS - city","LS - sign","S - ship","LS - plus","S - recall flock","S - bug","LS - honeycomb","L - ice large","LS - path","S - footprint small","LS - planet","LS - logo","LS - multiplier","S - fragment","LS - stratus","S - flock","LS - river","S - candle","L - girder","L - elevation","L - urban","L - plan","L - floor","L - ruin","L - corridor","L - wall ","L - pie chart","L - house","L - pod","L - ceiling","L - window displaced","L - modern","L - blueprint","L - road","L - bell curve","L - beam thick","L - perspective","L - flame","L - window pane","L - window poly","L - window frame","L - frame","L - future","L - body","L - beam medium","L - head","L - rural","L - beam thin","L - ripple","L - brain","L - flame high","L - foothill","L - mnemonic","L - jet","L - mountain","L - rockies","L - fingerprint","L - haze","L - skeleton","L - skyline","L - comic","L - ribbon","L - wave","L - footprint large","S - ice small"],l=[11,34,35,2,37,38,39,40,41,43,14,23,36,3,42],a=[2,4,4,4,4,4,4,4,4,4,6,11,15,15,15],n=[0,7,2,6,5,1,3,4],i=[2,7,10,10,12,14,20,25],o=[0,54,44,45,46,48,5,53,6,7,4,51,52,47,10,50,13,1,49],s=[2,2,4,4,4,4,4,4,4,4,5,5,5,7,7,7,8,10,10],f=[12,8,14,9,15,11,16,13,10],u=[2,4,4,10,10,15,15,18,22],d=[59,8,55,56,57,9,58,60,15,62,63,16,64,66,19,26,22,61,65],p=[2,4,4,4,4,4,4,4,4,4,4,4,4,4,10,10,10,10,10],_=[20,22,18,21,17,24,80,25,19],h=[2,4,5,5,8,10,15,25,26],m=[70,30,67,32,17,71,72,24,77,78,69,73,75,74,27,76,79,68,28],g=[2,2,4,4,4,4,4,4,4,4,5,5,5,6,7,7,7,10,12],y=[30,29,31,32,27,28,26,33],b=[2,10,10,10,12,16,20,20],S=[6,71,5,7,8,67,17,0,59,24,52,9,64,75,78,15,32,45,1,62,70,69,11,49,4,22,16,73,65,27,76,74,61,68,3,10,13,19,26,28,30,58],v=[6,6,7,7,7,7,7,8,8,9,10,10,10,10,10,11,11,12,12,12,12,13,15,15,15,15,15,15,16,16,16,17,18,18,20,20,20,20,20,20,20,25],A=[21,18,14,2,7,0,5,6,8,9,15,17,24,27,32,1,4,11,16,22,3,10,13,19,26,28,30,31,29,33],L=[3,4,5,7,7,8,10,10,10,10,10,10,10,10,10,12,15,15,15,15,20,20,20,20,20,20,20,20,25,27],t=[1,8,16,4,2,3],w=[5,5,5,10,20,50],N=["rhodium","palladium","vegas","platinum","ipanema","malibu","venicebeach","cannes","maldives","dusk","sunset","mist","southbeach","night","ibiza","dawn","goldenhour"],q=[3,4,4,5,5,5,5,5,6,7,7,8,10,12,20,30,40];if("number_of_colors"==e){for(let e=0;e<300;e++)for(let e=0;e<t.length;e++)if(Xe()>100-w[e])return t[e];return 2}if("layer_paths"==e){var k=[],x=["regular","hodl","milestone"];for(let t=0;t<x.length;t++)for(let e=0;e<8;e++){"regular"==x[t]?0==e?(C=l,M=a):1==e?(C=n,M=i):2==e?(C=o,M=s):3==e?(C=f,M=u):4==e?(C=d,M=p):5==e?(C=_,M=h):6==e?(C=m,M=g):7==e&&(C=y,M=b):"hodl"==x[t]?(C=S,M=v):"milestone"==x[t]&&(C=A,M=L);for(var C,M,T=300;0<T;)for(let e=0;e<M.length;e++){T--;var $=Xe(),E=r[C[e]];if($>100-M[e]&&!k.includes(E)){T=0;break}}k.push(E)}return k}if("color_names"==e){var j=[];for(let e=0;e<re;e++){let t=300;for(;0<t;){t--;for(let e=0;e<q.length;e++)if(c=N[e],Xe()>100-q[e]&&!j.includes(c)){t=0;break}}j.push(c)}return j}}function We(t,r,l){if(l<=t[0])return r[0];if(l>=t[t.length-1])return r[r.length-1];for(let e=0;e<r.length-1;e++)if(l>=t[e]&l<t[e+1])return r[e]}function Ve(e){return null!=e&&e==e}function Ye(e,t,r=!0){e*={years:31536e3,months:2592e3,hours:3600,minutes:60}[t];return r?Math.round(e):e}function Ze(e,t,r){return(t-e)/Ye(1,r,!1)}function et(e,t){var r=function(t){let r=0;for(let e=1;e<t.length;e++)r+=Math.abs(t[e]-t[e-1]);return r/(t.length-1)}(t),e=(e-t[t.length-1])/r-1;return null===e||isNaN(e)?0:e}window.onkeydown=function(e){71===e.keyCode?(d=document.querySelector("#main-svg")).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change node URL:</p><input id="prompt" class="prompt" value="${N}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),N=p.value,(pc=document.getElementById("prompt-container")).remove())};let tt=void 0;async function rt(){try{var i=await fetch(N,{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:J,data:K},"latest"],id:2,jsonrpc:"2.0"})})}catch{return e=(e=0==e.length?Array.from(W):e).filter(e=>e!=N),void(N=1==e.length?e[0]:R(e.slice(0,-1)))}i=await i.json();if(null==i.error){(i=te(Z(i.result),[1,200,1,200,1,400,400,1]))[0];let e=i[1];i[2];let l=i[3];var o=i[4];let r=ee(i[5]),t=ee(i[6]);V=i[7][0];(i=te(Z((await(await fetch(N,{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:J,data:function(e){{if("string"==typeof e)return e=/^0x/i.test(e)?e:"0x"+e;if("number"==typeof e)return"0x"+e.toString(16);throw new Error("Unsupported value type: "+typeof e)}}(X+function(e){let t=e.toString(16);return 0<(e=64-t.length)&&(e="0".repeat(e),t=e+t),t}(H))},"latest"],id:2,jsonrpc:"2.0"})})).json()).result),[1,200,1,1,1,1]))[0][0];let a=i[1];var s,c,f,u,d,p=i[2][0],_=(i[3][0],i[4][0]),i=i[5][0],h=(new Date).getTime()/1e3;r=r.filter(e=>0!=e[0]),t=t.filter(e=>0!=e[0]),l=l.filter(e=>0!=e),e=e.filter(e=>0!=e),a=a.filter(e=>0!=e);for(s of l);for(c of e);for(f of r);for(u of t);for(d of a);r.sort((e,t)=>e[0]-t[0]),t.sort((e,t)=>e[0]-t[0]);r.map(e=>e[1]),t.map(e=>e[1]);l.sort(),e.sort(),a.sort();let n=[];for(let t of r){var m=l.filter(e=>e==t[0]).length;if(m<=1)n.push(t);else{var g=t[1]/m;for(let e=0;e<m;e++)n.push([t[0],g])}}for(let r of t){let t=l.filter(e=>e<r[0]).slice(-1)[0];var y=l.filter(e=>e==t).length;if(y<=1)n.push(r);else{var b=r[1]/y;for(let e=0;e<y;e++)n.push([r[0],b])}}n.sort((e,t)=>e[0]-t[0]),n=n.map(e=>e[1]);var S,v,A=[],L=[];for(S of r){A.push(S[0]);for(let e=a.length-1;0<=e;e--)if(a[e]==S[0]){L.push(a[e]);break}}for(v of t)for(let t=l.length-1;0<=t;t--)if(l[t]<v[0]){A.push(l[t]),a.includes(l[t])&&l.filter(e=>e==l[t]).length<=1&&L.push(l[t]);break}var w=Array.from(L);return tt=[h,l,e,A,n,o,a,w,_,p,i]}e=(e=0==e.length?Array.from(W):e).filter(e=>e!=N),N=1==e.length?e[0]:R(e.slice(0,-1))}async function lt(g){if(null!=(g=tt)){var y=g[0];let e=g[1],t=g[2],r=g[3],l=g[4];var b=g[5];let a=g[6],n=g[7];var S=g[8],g=(g[9],g[10]),v=Ye(3,"months");e=[...new Set(e)],t=[...new Set(t)],r=[...new Set(r)],a=[...new Set(a)],e.sort(),t.sort(),r.sort(),a.sort(),e=null==e?[]:e,t=null==t?[]:t,r=null==r?[]:r,a=null==a?[]:a,n=null==n?[]:n,l=null==l?[]:l,e=e.filter(e=>0!=e).slice(-5),t=t.filter(e=>0!=e).slice(-5),r=r.filter(e=>0!=e).slice(-5),5<(a=a.filter(e=>0!=e)).length&&(a=a.slice(-5)),10<(n=n.filter(e=>0!=e)).length&&(n=n.slice(-10)),l=l.filter(e=>0!=e).slice(-5);let i=Array.from(t),o=Array.from(r),s=Array.from(e),c=Array.from(l);e.length<=1&&(s=[$].concat(e)),a.length<=1&&(a=[$].concat(a)),t.length<=1&&(i=[$].concat(t)),r.length<=1&&(o=[$].concat(r)),l.length<=1&&(c=[5e17*U].concat(l));var A=et(y,1<e.length?e:s),L=et(y,1<t.length?t:i),w=et(y,1<r.length?r:o);let f=0;1<c.length&&(f=c[c.length-1]/(c.slice(0,-1).reduce((e,t)=>e+t)/(c.length-1))-1);var N=et(y,e.concat(i).sort().slice(-5));let u=Ze(r[r.length-1],y,"minutes")<10,d=Ze(e[e.length-1],y,"minutes")<10,p=Ze(t[t.length-1],y,"minutes")<10;var b=.51<=b/V,q=!b;let _=-1,h=0;for(let e=0;e<Y.length;e++){var k=y-Y[e];(0<k&&k<86400||0<k&&e==Y.length-1)&&(_=e,h=Y[e]+86400)}S=S-1;let m=Array.from(n);var x,C,M,T,v=1<(m=n.length<2?[$].concat(n):m).length&&y-m[m.length-1]<v&&m[m.length-1]-m[m.length-2]<v;for(x of e);for(C of t);for(M of r);for(T of l);b&&document.querySelectorAll("g,.frame")[0].classList.contains("layer")&&await P("high_holder_distribution"),q&&document.querySelectorAll("g,.frame")[0].classList.contains("layer")&&await P("low_holder_distribution"),-1<_&&(y>h?(await P("contract_milestone_no_celebration",_),await P("stop_contract_milestone")):await P("contract_milestone",_)),S!=j&&(j=S),v?await P("flipped_x_times"):await P("remove_flip_layer"),g>document.querySelectorAll(".hodl").length&&P("time_hodld",g),Ve(A)&&(b=ze(w,We(E.royalty[0],E.royalty[1],f)),q=ze(A,We(E.contract_activity[0],E.contract_activity[1],-1*N)),S=ze(A,We(E.clustering_mode[0],E.clustering_mode[1],-1*A)),v=ze(L,We(E.approvals[0],E.approvals[1],-1*L)),await P("tier_royalty",b),await P("tier_contract_activity",q),await P("tier_sends",S),await P("tier_approvals",v)),u&&d&&(r[r.length-1]<e[e.length-1]?u=!1:d=!1),d&&p&&(t[t.length-1]<e[e.length-1]?p=!1:d=!1),u&&p&&(r[r.length-1]<t[t.length-1]?u=!1:p=!1),u?await P("sale"):await P("stop_sale"),d?await P("send"):await P("stop_send"),p?await P("approval"):await P("stop_approval")}}
crashblossom_gold_main_v1.1let m=!1,e=["https://eth-mainnet.g.alchemy.com/v2/jNjHIBKgiqQBourYcfVA3rsbyP0vCXwe","https://eth-mainnet.g.alchemy.com/v2/TyWMZISNxCQ0Qbkkm1Q-AD0BtBOzMG8w","https://eth-mainnet.g.alchemy.com/v2/xKR4_uuTNkE1WrXskJPuX3REsonQroDT","https://eth-mainnet.g.alchemy.com/v2/0GCs4ch_MzzNTLLL62iRGR-7TM3KTgQe"],W=Array.from(e),V=500;U/=100;var t=(new Date).getTime();let g=(new Date).getTime(),L="http://www.w3.org/2000/svg",k=document.querySelector("#main-svg");let Y=[1703167200,1718974800,1750510800,1845205200,2002971600,2318504400],N=R(e.slice(0,-1));function Z(e){var t=e.slice(2),r=[];for(let e=0;e<t.length;e+=64){var l=t.slice(e,e+64),l=parseInt(l,16);r.push(l)}return r}function ee(t){var r=[];for(let e=0;e<t.length;e+=2)r.push(t.slice(e,e+2));return r}function te(t,r){var e,l=[];let a=0;for(let e=0;e<r.length;e++){var n=r[e],i=t.slice(a,a+n);l.push(i),a+=n}return a<t.length&&(e=t.slice(a),l.push(e)),l}let re=Ue("number_of_colors");var v,r=Ue("color_names"),le={goldenhour:{chance:.1,colors:["#ff1249;#6b6cff;#c80085;#ffe112;#ff1249","#6b6cff;#ff1249;#ffe112;#c80085;#6b6cff"]},dawn:{chance:.1,colors:["#ff4637;#83a9ff;#e91278;#fff149;#ff4637","#9ab0fe;#ff5252;#fffb57;#f23662;#9ab0fe"]},ibiza:{chance:.1,colors:["#b2004e;#573fcd;#990086;#ec7d1a;#b2004e","#442dbe;#c2045c;#d26b0a;#a80094;#442dbe"]},southbeach:{chance:.1,colors:["#f72585;#4cc9f0;#11a7d4;#fa6bab;#f72585","#4cc9f0;#f72585;#fa6bab;#11a7d4;#4cc9f0"]},mist:{chance:.1,colors:["#ff6494;#98e8ed;#ffe6ff;#80ffff;#ff6494","#9affff;#ff6277;#80ffff;#ffe6ff;#9affff"]},dusk:{chance:.1,colors:["#c4107c;#1d5fb6;#a50d68;#4d88ff;#c4107c","#5981d9;#f042aa;#2f62d0;#b40d85;#5981d9"]},platinum:{chance:.1,colors:["#080808;#828282;#d2d2d2;#202020;#7d7d7d;#080808","#efefef;#353535;#161616;#b2b2b2;#383838;#f5f5f5"]},palladium:{chance:.1,colors:["#f5f5f5;#808080;#666666;#f2f2f2;#787878;#f5f5f5","#4d4d4d;#949494;#ffffff;#595959;#939393;#4d4d4d"]},rhodium:{chance:.1,colors:["#000000;#4f4f4f;#818181;#000000;#515151;#000000","#929292;#000000;#0f0f0f;#898989;#000000;#929292"]},ipanema:{chance:.1,colors:["#a7c3ff;#ff0066;#ffa9bd;#ff0066;#a7c3ff","#ff9ea1;#0000ff;#68b6ff;#0000ff;#ff9ea1"]},malibu:{chance:.1,colors:["#c0d5ff;#ff6666;#ffe1db;#150070;#c0d5ff","#fee3dc;#ff66ff;#c9e9ff;#ff66ff;#fee3dc"]},night:{chance:.1,colors:["#0000ff;#000080;#ff2a5b;#000080;#0000ff","#dd3a3f;#03000f;#0062be;#03000f;#dd3a3f"]},maldives:{chance:.1,colors:["#ffff99;#ff668a;#ffff33;#ffe6f2;#ffff99","#ff668a;#ffff99;#ffe6f2;#ffff33;#ff668a"]},venicebeach:{chance:.1,colors:["#ff66ff;#ccffff;#ffbb33;#ffff66;#ff66ff;","#ffbb33;#ff66ff;#ffff66;#ccffff;#ffbb33"]},sunset:{chance:.1,colors:["#809fff;#ff4d4d;#4d79ff;#ff7733;#809fff","#ff5500;#809fff;#ff4d4d;#4d79ff;#ff5500"]},vegas:{chance:.1,colors:["#3366ff;#ff99ff;#ff0066;#ff8533;#3366ff","#ffccff;#ff0066;#000099;#3333ff;#ffccff"]},cannes:{chance:.1,colors:["#ffe112;#ff668a;#ffff80;#ff1a4f;#ffe112","#ff668a;#ffe112;#ff1a4f;#ffff80;#ff668a"]},special_sends:{chance:.1,colors:["#ffb380;#e60036;#ffcc00;#ff003c;#ffb380","#e60036;#ffb380;#cc0030;#ff6600;#e60036"]},special_sales:{chance:.1,colors:["#ffff33;#ff0066;#ffff00;#ff6600;#ffff33","#ff4d4d;#ffe112;#e6005c;#ff6666;#ff4d4d"]},special_approval:{chance:.1,colors:["#4d4dff;#98e8ed;#0039e6;#80ffff;#4d4dff","#ccffff;#b3f0ff;#80ffff;#3366ff;#ccffff"]}};let ae=[];for(v of r)ae.push(le[v]);let ne=[50,80],w=[];let x={increased:[7,3,1],decreased:[0,4,8],neutral:[6,2,10,5,9,11]};let u=15,ie=t,oe=5;let se=5e3;let ce=5e3,fe=1,ue=80,de=2,pe=3e3,_e=[.7,.8],he=1.3,E={royalty:[[-.4,-.3,-.1,0,.1,.3,.6],[-3,-2,-1,0,1,2,3]],contract_activity:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],clustering_mode:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],approvals:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]]};let me=5;var l=[],ge=F(Array.from(ae));for(let e=0;e<40;e++)l.push(ge[e%ge.length]);let ye=[l.pop()],j=3,be=0,Se=["#ff944d;#e60036;#ff884d;#ff003c;#ff944d","#e60036;#ff944d;#cc0030;#ff6600;#e60036","#e60036;#ff944d;#cc0030;#ff6600;#e60036","#ff944d;#e60036;#ff884d;#ff003c;#ff944d"],ve=["#ffe112;#ff4d4d;#ffff66;#ff9933;#ffe112","#e67300;#ffe112;#e65c00;#ffff66;#e67300","#e67300;#ffe112;#e65c00;#ffff66;#e67300","#ffe112;#ff4d4d;#ffff66;#ff9933;#ffe112"],Ae=["#9affff;#4d4dff;#80ffff;#3366ff;#9affff","#4d4dff;#98e8ed;#3366ff;#80ffff;#4d4dff","#4d4dff;#98e8ed;#3366ff;#80ffff;#4d4dff","#9affff;#4d4dff;#80ffff;#3366ff;#9affff"],Le=["#ffff00;#ff0000;#ffff00;#ff0000;#ffffff;#0000ff;#ffff00","#ff0000;#ffff00;#0000ff;#ffff00;#ff0000;#ffffff;#ff0000","#ff0000;#ffff00;#0000ff;#ffff00;#ff0000;#ffffff;#ff0000","#ffff00;#ff0000;#ffff00;#ff0000;#ffffff;#0000ff;#ffff00"];var we,Ne,qe,ke,r=Ue("layer_paths"),t=r.slice(0,8),xe=r.slice(8,16),Ce=r.slice(16,24);let q=[{id:"lp0",type:"plate",paths:f(t[0]),paths_group_name:t[0],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.7,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc0",type:"cluster",paths:f(t[1]),paths_group_name:t[1],color_duration:[30,60],coordinates:[[-30,30],[-10,10]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0]},{id:"lp1",type:"plate",paths:f(t[2]),paths_group_name:t[2],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.6,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc1",type:"cluster",paths:f(t[3]),paths_group_name:t[3],color_duration:[30,60],coordinates:[[-10,10],[-30,30]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0]},{id:"lp2",type:"plate",paths:f(t[4]),paths_group_name:t[4],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.5,.9],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc2",type:"cluster",paths:f(t[5]),paths_group_name:t[5],color_duration:[30,60],coordinates:[[-10,80],[-10,30]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0]},{id:"lp3",type:"plate",paths:f(t[6]),paths_group_name:t[6],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.4,.9],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc3",type:"cluster",paths:f(t[7]),paths_group_name:t[7],color_duration:[30,60],coordinates:[[-30,10],[-30,50]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0]}],S=[{id:"s_lp0",type:"plate",paths:f("L - send"),paths_group_name:"L - send",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.5,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[le.special_sends.colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","send","special_no_add"]},{id:"s_lp1",type:"plate",paths:f("L - sale"),paths_group_name:"L - sale",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.7,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[le.special_sales.colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","sale","special_no_add"]},{id:"s_lp2",type:"plate",paths:f("L - approval"),paths_group_name:"L - approval",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.45,.75],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[le.special_approval.colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","approval","special_no_add"]},{id:"s_lp3",type:"plate",paths:f("L - flip"),paths_group_name:"L - flip",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.6,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","flip","special_no_add"]}];for(let e=0;e<7;e++){var Me=xe[e];S.push({id:"hodl_lp_"+e,type:"plate",paths:f(Me),paths_group_name:Me,color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.5,.8],number_of_visible_shapes:1,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","hodl","time_hodld_"+e]})}for(let e=0;e<7;e++)selected_path=Ce[e],S.push({id:"milestone_lc_"+e,type:"cluster",paths:f(selected_path),paths_group_name:selected_path,color_duration:[30,60],coordinates:[[-10,10],[-30,30]],scale:[.06,.1],number_of_visible_shapes:10,change_positions_chance:.5,color_combinations_list:[l.pop().colors],clustering_density:[7,9],gradient_coordinates:[0,0,100,0],classes:["special","contract_milestones","milestone_"+e]});let Te={4:{0:{1:2,2:2,3:2,4:2,5:0,6:0,7:0,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:0,6:0,7:0,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:0,6:0,7:0,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:0,6:0,7:0,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:0,6:0,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:0,6:0,7:0,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:0,6:0,7:0,8:0,9:0,10:0}},5:{0:{1:2,2:2,3:2,4:2,5:1,6:0,7:0,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:0,7:0,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:0,7:0,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:0,7:0,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:0,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:0,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:0,7:0,8:0,9:0,10:0}},6:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:0,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:0,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:0,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:2,7:0,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:0,6:1,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:0,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:0,8:0,9:0,10:0}},7:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:2,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:2,7:3,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:0,9:0,10:0}},8:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:1,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:2,8:2,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:2,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:2,7:3,8:2,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:1,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:1,9:0,10:0}},9:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:1,9:1,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:2,8:2,9:2,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:2,9:2,10:0},4:{1:3,2:3,3:4,4:4,5:3,6:2,7:3,8:2,9:3,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:1,9:1,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:1,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:1,9:1,10:0}},10:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:2,9:1,10:1},1:{1:2,2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2,10:2},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:2,9:3,10:3},3:{1:4,2:3,3:4,4:4,5:3,6:2,7:3,8:2,9:4,10:3},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:1,9:1,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:1,10:1},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:1,9:1,10:1}}};for(we of S)we.paths_unlocked=!1;for(Ne of q)Ne.paths_unlocked=!1;for(qe of q)if("plate"==qe.type){if(--j<0)break;qe.paths_unlocked=!0}for(ke of q)ke.classes=[];q.filter(e=>"plate"==e.type).length;let $e=!0;(new Date).getTime();var r=F(Object.keys(paths),!1),Ee=r.filter(e=>"L "==e.slice(0,2)),je=r.filter(e=>"S "==e.slice(0,2)),Pe=r.filter(e=>"LS"==e.slice(0,2)),a=[];for(let e=0;e<5;e++)for(var Oe of Ee.concat(Pe))for(layer_name of paths[Oe][0].split(","))if(layer_name=="plate layer "+(e+1))try{a[e].push(Oe)}catch{a.push([]),a[e].push(Oe)}var n=[];for(let e=0;e<5;e++)for(var Be of je.concat(Pe))for(layer_name of paths[Be][0].split(","))if(layer_name=="cluster layer "+(e+1))try{n[e].push(Be)}catch{n.push([]),n[e].push(Be)}for(let e=0;e<4;e++)a[e]=a[e].map(e=>({value:e,sort:s()})).sort((e,t)=>e.sort-t.sort).map(({value:e})=>e),n[e]=n[e].map(e=>({value:e,sort:s()})).sort((e,t)=>e.sort-t.sort).map(({value:e})=>e);var De,i,o,t=x.neutral[Q(0,x.neutral.length-1)];let C=[t,t];r=document.querySelector("#main-svg"),(t=document.createElementNS(L,"defs")).setAttributeNS(null,"id","defs"),r.appendChild(t);{let e=document.querySelector("#main-svg"),t=R(ne),r=F(R(ye).colors),l=e.querySelector("#defs"),a=Ke([0,0,100,0],"gradient_bg"),n=D(0,"#000000"),i=D(1,"#000000"),o=I(r[0],t),s=I(r[1],t),c=(n.appendChild(o),i.appendChild(s),a.appendChild(n),a.appendChild(i),l.appendChild(a),a=Ke([0,0,100,0],"gradient_bg_mirror"),n=D(0,"#000000"),i=D(1,"#000000"),o=I(r[1],t),s=I(r[0],t),n.appendChild(o),i.appendChild(s),a.appendChild(n),a.appendChild(i),l.appendChild(a),document.createElementNS(L,"svg")),f=(c.classList.add("background"),c.setAttributeNS(null,"width","100%"),c.setAttributeNS(null,"height","100%"),c.setAttributeNS(null,"x",0),c.setAttributeNS(null,"y",0),document.createElementNS(L,"rect"));f.setAttributeNS(null,"width","100%"),f.setAttributeNS(null,"height","100%"),f.setAttributeNS(null,"x",0),f.setAttributeNS(null,"y",0),f.setAttributeNS(null,"fill","url(#gradient_bg)"),f.setAttributeNS(null,"id","background"),c.appendChild(f),e.appendChild(c)}!function(t=-1,r="bottom"){var l=document.querySelector("#main-svg"),a=l.querySelector("#defs");F(Array.from(ae));for(let e=0;e<q.length;e++)if(!(-1!=t&e!=t)){var n,i=q[e],o=("cluster"==i.type&&(o=q[e-1],z(),o.current_x,o.current_scale,G(i.coordinates[0][0],i.coordinates[0][1]),o.current_y,o.current_scale,G(i.coordinates[1][0],i.coordinates[1][1])),R(i.color_combinations_list)),s=`g-${i.id}-`+i.type,c=G(i.color_duration[0],i.color_duration[1]),f=(i.current_scale=G(i.scale[0],i.scale[1],.01),Ke(i.gradient_coordinates,s)),u=(f.setAttributeNS(null,"class",`gradient ${i.type} `+i.id),D(0,o[0][0])),d=D(1,o[1][0]),p=I(o[0],c),c=I(o[1],c),_=(u.appendChild(p),d.appendChild(c),f.appendChild(u),f.appendChild(d),a.appendChild(f),document.createElementNS(L,"g")),h=(_.setAttributeNS(null,"id",`g-${i.id}-${i.type}-`+e),_.setAttributeNS(null,"class",`layer group ${i.type} `+i.id),"cluster"==i.type&&(n=He(R(C),i.number_of_visible_shapes,G(i.clustering_density[0],i.clustering_density[1]),.5,[3,6],i.clustering_density)),F(Array.from(i.paths),i.paths_unlocked));for(let t=0;t<i.number_of_visible_shapes;t++){var m,g,y=`p-${i.id}-${i.type}-`+t,b=`s-${i.id}-${i.type}-`+t;let e=1;"plate"==i.type?(m=Q(i.coordinates[0][0],i.coordinates[0][1])/i.current_scale,g=Q(i.coordinates[1][0],i.coordinates[1][1])/i.current_scale,i.current_x=m,i.current_y=g,i.current_path=h[t%h.length]):(m=n[t][0],g=n[t][1],i.current_x=m,i.current_y=g,i.current_path=h[t%h.length],w.length&&(e=G(w[0],w[1],.01)));var S,v=document.createElementNS(L,"path"),A=(v.setAttributeNS(null,"transform",`scale(${i.current_scale*e}, ${i.current_scale*e})`),v.setAttributeNS(null,"d",i.current_path),v.setAttributeNS(null,"fill",`url(#${s})`),v.setAttributeNS(null,"id",y),v.setAttributeNS(null,"class",`layer path ${i.type} `+i.id),document.createElementNS(L,"svg"));A.setAttributeNS(null,"x",m+"%"),A.setAttributeNS(null,"y",g+"%"),A.setAttributeNS(null,"transform-origin","center"),A.setAttributeNS(null,"id",b),A.setAttributeNS(null,"class",`layer svg ${i.type} `+i.id);for(S of i.classes)A.classList.add(S),_.classList.add(S);A.appendChild(v),_.appendChild(A)}if(_.setAttribute("initial_number_of_shapes",i.number_of_visible_shapes),-1!=t)return _.animate([{opacity:"0"},{opacity:"1"}],{duration:ce,iterations:1,fill:"forwards"}),"top"==r?(p=document.querySelectorAll(".group.plate"))[p.length-1].after(_):document.querySelector(".group.plate").before(_);l.appendChild(_)}}(),r=document.querySelector("#main-svg"),t=r.querySelector("#defs"),(De=document.createElementNS(L,"mask")).setAttributeNS(null,"id","bg_border_clip_path"),(i=document.createElementNS(L,"rect")).setAttributeNS(null,"width","101%"),i.setAttributeNS(null,"height","101%"),i.setAttributeNS(null,"x","0"),i.setAttributeNS(null,"y","0"),i.setAttributeNS(null,"fill","white"),(o=document.createElementNS(L,"rect")).setAttributeNS(null,"width","94%"),o.setAttributeNS(null,"height","95.3%"),o.setAttributeNS(null,"x","3%"),o.setAttributeNS(null,"y","2.5%"),o.setAttributeNS(null,"fill","black"),De.appendChild(i),De.appendChild(o),t.appendChild(De),(i=document.createElementNS(L,"rect")).setAttributeNS(null,"width","100%"),i.setAttributeNS(null,"height","100%"),i.setAttributeNS(null,"x","0"),i.setAttributeNS(null,"y","0"),i.setAttributeNS(null,"fill","url(#gradient_bg_mirror)"),i.setAttributeNS(null,"mask","url(#bg_border_clip_path)"),i.setAttributeNS(null,"class","frame"),r.appendChild(i);setTimeout(async function e(l,a=!1,n=10){let t=F(Array.from(q).concat(S));for(var i of t)if("cluster"==i.type){let e=k.querySelector(".group."+i.id);if(null!=e){let r=e.querySelectorAll("svg");var o=He(R(C),r.length,G(i.clustering_density[0],i.clustering_density[1]),.5,[3,6],i.clustering_density);for(let t=0;t<r.length;t++)if(z()>1-i.change_positions_chance&&!r[t].classList.contains("animating")&&!r[t].classList.contains("removing")){r[t].classList.add("animating");var s=o[t][0],c=o[t][1];s<0&&(s+=Q(1,10)),0<s&&(s-=Q(1,10)),c<0&&(c+=Q(1,10)),0<c&&(c-=Q(1,10)),i.current_x=s,i.current_y=c,a&&(i.current_path=R(i.paths));let e=e=>{e[0].classList.contains("removing")?e[0].remove():(e[0].setAttributeNS(null,"x",e[1]+"%"),e[0].setAttributeNS(null,"y",e[2]+"%"),e[4]&&e[0].querySelector("path").setAttributeNS(null,"d",e[3]))};0==n?_([r[t]],l,e,[r[t],s,c,i.current_path,a]):setTimeout(_,1e3*Q(0,n),[r[t]],l,e,[r[t],s,c,i.current_path,a])}}}0;setTimeout(e,5e3,5,a,n)},5e3,5,!0,5),setTimeout(async function e(l,a=!1,n=10){864e5<(new Date).getTime()-ie&&(ie=(new Date).getTime(),--u,u=Math.max(u,5),oe=u);let i=!1;let o=Array.from(q).concat(S);let t=F(Array.from(q).concat(S));for(var s of t){if("plate"==s.type){let e=k.querySelector(".group."+s.id);if(null==e)continue;let r=e.querySelectorAll("svg");for(let t=0;t<r.length;t++){if(z()>1-s.change_positions_chance&&!r[t].classList.contains("animating")&&!r[t].classList.contains("removing")){if(r[t].classList.add("animating"),0<j&&be<j)for(let e=0;e<o.length;e++)if(e<Math.min(j,10)-be){be++,a=!0;break}Math.abs(s.current_x-c)<10&&(c=s.current_x+G(-20,20)),Math.abs(s.current_y-f)<10&&(f=s.current_y+G(-20,20));var c=G(s.coordinates[0][0],s.coordinates[0][1])/s.current_scale,f=G(s.coordinates[1][0],s.coordinates[1][1])/s.current_scale;s.current_x=c,s.current_y=f,a&&(s.current_path=R(s.paths));let e=e=>{e[0].classList.contains("removing")?e[0].remove():(e[0].setAttributeNS(null,"x",e[1]+"%"),e[0].setAttributeNS(null,"y",e[2]+"%"),e[4]&&e[0].querySelector("path").setAttributeNS(null,"d",e[3]))};0==n?_([r[t]],l,e,[r[t],c,f,s.current_path,a]):setTimeout(_,1e3*Q(0,n),[r[t]],l,e,[r[t],c,f,s.current_path,a]),i=!0;break}if(i)break}if(i)break}if(i)break}0;setTimeout(e,1e3*u,oe,a,n)},5e3,oe,!0,5);var Ie=!1;!async function e(){try{if(m)return;m=!0,rt().then(e=>lt(tt))}catch(e){}m=!1;Ie||(setInterval(e,1e4),Ie=!0)}();let ze=(e,t)=>{var r;return 0!=t&&(r=t<0?-1:1,t=Math.abs(t),0<=e&&--t,1<=e&&(t-=2),2<=e&&(t-=3),-0==(t=Math.max(0,t)*r))?0:t};async function P(e,t){if("send"==e){if(0<document.querySelectorAll(".sale").length&&(T("sale"),await M("special_frame_sale","special_background_sale")),0<document.querySelectorAll(".approval").length&&(T("approval"),await M("special_frame_approval","special_background_approval")),0<document.querySelectorAll(".send").length)return void O(1,5,20,!0);0<document.querySelectorAll(".special_frame_contract_milestone").length&&await M("special_frame_contract_milestone","special_background_contract_milestone"),B("send"),Ge("cluster",1,2e4),await Qe(Se,"special_frame_send","special_background_send"),O(1,5,20,!0)}if("stop_send"==e&&(0<document.querySelectorAll(".send").length&&T("send"),0<document.querySelectorAll(".special_frame_send").length||0<document.querySelectorAll(".special_background_send").length)&&await M("special_frame_send","special_background_send"),"sale"==e){if(0<document.querySelectorAll(".send").length&&(T("send"),await M("special_frame_send","special_background_send")),0<document.querySelectorAll(".approval").length&&(T("approval"),await M("special_frame_approval","special_background_approval")),0<document.querySelectorAll(".sale").length)return void await Je(5,"plate",20,!0,!0);0<document.querySelectorAll(".special_frame_contract_milestone").length&&await M("special_frame_contract_milestone","special_background_contract_milestone"),B("sale"),Je(5,"plate",20,!0,!0),await Qe(ve,"special_frame_sale","special_background_sale"),O(1,5,20,!0),Ge("cluster",1,2e4)}if("stop_sale"==e&&(0<document.querySelectorAll(".sale").length&&T("sale"),0<document.querySelectorAll(".special_frame_sale").length||0<document.querySelectorAll(".special_background_sale").length)&&await M("special_frame_sale","special_background_sale"),"approval"==e){if(0<document.querySelectorAll(".send").length&&(T("send"),await M("special_frame_send","special_background_send")),0<document.querySelectorAll(".sale").length&&(T("sale"),await M("special_frame_sale","special_background_sale")),0<document.querySelectorAll(".approval").length)return void await O(1,5,20,!0);0<document.querySelectorAll(".special_frame_contract_milestone").length&&await M("special_frame_contract_milestone","special_background_contract_milestone"),B("approval"),await Qe(Ae,"special_frame_approval","special_background_approval"),O(1,5,20,!0)}var r;if("stop_approval"==e&&(0<document.querySelectorAll(".approval").length&&T("approval"),0<document.querySelectorAll(".special_frame_approval").length||0<document.querySelectorAll(".special_background_approval").length)&&await M("special_frame_approval","special_background_approval"),"high_holder_distribution"==e&&(r=k.querySelectorAll("*"))[r.length-1].classList.contains("frame")&&(c=(r=document.querySelector(".frame")).cloneNode(!0),document.querySelector("g.group").before(c),r.animate({opacity:"0"},{duration:5e3,iterations:1,fill:"forwards"}),setTimeout(e=>e.remove(),5e3,r),await new Promise(e=>setTimeout(e,5e3))),"low_holder_distribution"!=e||(c=k.querySelectorAll("*"))[c.length-1].classList.contains("frame")||(c=(r=document.querySelector(".frame")).cloneNode(!0),(f=document.querySelectorAll("g.group"))[f.length-1].after(c),c.animate([{opacity:"0"},{opacity:"1"}],{duration:5e3,iterations:1,fill:"forwards"}),setTimeout(e=>e.remove(),5e3,r),await new Promise(e=>setTimeout(e,5e3))),"contract_milestone"==e){var l=document.querySelectorAll("g.contract_milestones").length,a=t+1-l;if(0<a){if(0<document.querySelectorAll(".send").length)return;if(0<document.querySelectorAll(".sale").length)return;if(0<document.querySelectorAll(".approval").length)return}for(let e=l;e<l+a;e++)B("milestone_"+e);if(Ve(document.querySelector(".special_frame_contract_milestone")))return;await Qe(Le,"special_frame_contract_milestone","special_background_contract_milestone"),Je(5,"plate",100,!0,!0)}if("stop_contract_milestone"==e&&0<document.querySelectorAll(".special_frame_contract_milestone").length&&await M("special_frame_contract_milestone","special_background_contract_milestone"),"contract_milestone_no_celebration"==e){var n=document.querySelectorAll("g.contract_milestones").length,i=t+1-n;for(let e=n;e<n+i;e++)B("milestone_"+e)}if("time_hodld"==e){var o=document.querySelectorAll("g.hodl"),s=t-o.length;if(0<s)for(let e=0;e<Math.abs(s);e++)B("time_hodld_"+e);else if(s<0)for(let e=0;e<Math.abs(s);e++)!function(e){var t=e.animate([{opacity:0}],{duration:5e3,iterations:1,fill:"forwards"});t.onfinish=()=>{e.remove()}}(o[e])}if("wallet_holds_multiple"==e&&(j=t-1),"flipped_x_times"==e&&null==document.querySelector(".flip")&&B("flip"),"hodld_after_flipped_x_times"==e&&T("flip"),"tier_royalty"==e){var c,f=t;let e=x.neutral;if(0<f?e=x.increased:f<0&&(e=x.decreased),-1!=e.indexOf(C[0])&&(0==f||e[Math.abs(f)-1]==C[0]))return;c=0==f?R(e):e[Math.abs(f)-1],C=[c,c]}if("tier_contract_activity"==e){var u=t,d=document.querySelectorAll("g.plate:not(.special_no_add)"),p=d.length;let r=0,l=0;var _=document.querySelectorAll("path.plate:not(.special_no_add)").length;for(let t=0;t<d.length;t++){var h=d[t],m=h.querySelectorAll(".svg").length;parseInt(h.getAttribute("initial_number_of_shapes"));let e=Te[p][u][t+1]-m;e<0?(e=M
gunzipScripts-0.0.1"use strict";(()=>{var r=Uint8Array,e=Uint16Array,n=Uint32Array,a=new r([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),t=new r([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),o=new r([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),i=function(r,a){for(var t=new e(31),o=0;o<31;++o)t[o]=a+=1<<r[o-1];for(var i=new n(t[30]),o=1;o<30;++o)for(var f=t[o];f<t[o+1];++f)i[f]=f-t[o]<<5|o;return[t,i]},f=i(a,2),v=f[0],l=f[1];v[28]=258,l[258]=28;var c=i(t,0),u=c[0],d=c[1],s=new e(32768);for(p=0;p<32768;++p)w=(p&43690)>>>1|(p&21845)<<1,w=(w&52428)>>>2|(w&13107)<<2,w=(w&61680)>>>4|(w&3855)<<4,s[p]=((w&65280)>>>8|(w&255)<<8)>>>1;var w,p,h=function(r,n,a){for(var t=r.length,o=0,i=new e(n);o<t;++o)r[o]&&++i[r[o]-1];var f=new e(n);for(o=0;o<n;++o)f[o]=f[o-1]+i[o-1]<<1;var v;if(a){v=new e(1<<n);var l=15-n;for(o=0;o<t;++o)if(r[o])for(var c=o<<4|r[o],u=n-r[o],d=f[r[o]-1]++<<u,w=d|(1<<u)-1;d<=w;++d)v[s[d]>>>l]=c}else for(v=new e(t),o=0;o<t;++o)r[o]&&(v[o]=s[f[r[o]-1]++]>>>15-r[o]);return v},g=new r(288);for(p=0;p<144;++p)g[p]=8;var p;for(p=144;p<256;++p)g[p]=9;var p;for(p=256;p<280;++p)g[p]=7;var p;for(p=280;p<288;++p)g[p]=8;var p,b=new r(32);for(p=0;p<32;++p)b[p]=5;var p;var y=h(g,9,1);var E=h(b,5,1),m=function(r){for(var e=r[0],n=1;n<r.length;++n)r[n]>e&&(e=r[n]);return e},T=function(r,e,n){var a=e/8|0;return(r[a]|r[a+1]<<8)>>(e&7)&n},k=function(r,e){var n=e/8|0;return(r[n]|r[n+1]<<8|r[n+2]<<16)>>(e&7)},x=function(r){return(r+7)/8|0},S=function(a,t,o){(t==null||t<0)&&(t=0),(o==null||o>a.length)&&(o=a.length);var i=new(a.BYTES_PER_ELEMENT==2?e:a.BYTES_PER_ELEMENT==4?n:r)(o-t);return i.set(a.subarray(t,o)),i};var z=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],A=function(r,e,n){var a=new Error(e||z[r]);if(a.code=r,Error.captureStackTrace&&Error.captureStackTrace(a,A),!n)throw a;return a},U=function(e,n,i){var f=e.length;if(!f||i&&i.f&&!i.l)return n||new r(0);var l=!n||i,c=!i||i.i;i||(i={}),n||(n=new r(f*3));var d=function(e){var a=n.length;if(e>a){var t=new r(Math.max(a*2,e));t.set(n),n=t}},s=i.f||0,w=i.p||0,p=i.b||0,g=i.l,b=i.d,z=i.m,U=i.n,C=f*8;do{if(!g){s=T(e,w,1);var _=T(e,w+1,3);if(w+=3,_)if(_==1)g=y,b=E,z=9,U=5;else if(_==2){var D=T(e,w,31)+257,M=T(e,w+10,15)+4,N=D+T(e,w+5,31)+1;w+=14;for(var R=new r(N),B=new r(19),F=0;F<M;++F)B[o[F]]=T(e,w+F*3,7);w+=M*3;for(var L=m(B),P=(1<<L)-1,Y=h(B,L,1),F=0;F<N;){var j=Y[T(e,w,P)];w+=j&15;var q=j>>>4;if(q<16)R[F++]=q;else{var I=0,O=0;for(q==16?(O=3+T(e,w,3),w+=2,I=R[F-1]):q==17?(O=3+T(e,w,7),w+=3):q==18&&(O=11+T(e,w,127),w+=7);O--;)R[F++]=I}}var $=R.subarray(0,D),G=R.subarray(D);z=m($),U=m(G),g=h($,z,1),b=h(G,U,1)}else A(1);else{var q=x(w)+4,H=e[q-4]|e[q-3]<<8,J=q+H;if(J>f){c&&A(0);break}l&&d(p+H),n.set(e.subarray(q,J),p),i.b=p+=H,i.p=w=J*8,i.f=s;continue}if(w>C){c&&A(0);break}}l&&d(p+131072);for(var K=(1<<z)-1,Q=(1<<U)-1,V=w;;V=w){var I=g[k(e,w)&K],W=I>>>4;if(w+=I&15,w>C){c&&A(0);break}if(I||A(2),W<256)n[p++]=W;else if(W==256){V=w,g=null;break}else{var X=W-254;if(W>264){var F=W-257,Z=a[F];X=T(e,w,(1<<Z)-1)+v[F],w+=Z}var rr=b[k(e,w)&Q],er=rr>>>4;rr||A(3),w+=rr&15;var G=u[er];if(er>3){var Z=t[er];G+=k(e,w)&(1<<Z)-1,w+=Z}if(w>C){c&&A(0);break}l&&d(p+131072);for(var nr=p+X;p<nr;p+=4)n[p]=n[p-G],n[p+1]=n[p+1-G],n[p+2]=n[p+2-G],n[p+3]=n[p+3-G];p=nr}}i.l=g,i.p=V,i.b=p,i.f=s,g&&(s=1,i.m=z,i.d=b,i.n=U)}while(!s);return p==n.length?n:S(n,0,p)};var C=new r(0);var _=function(r){(r[0]!=31||r[1]!=139||r[2]!=8)&&A(6,"invalid gzip data");var e=r[3],n=10;e&4&&(n+=r[10]|(r[11]<<8)+2);for(var a=(e>>3&1)+(e>>4&1);a>0;a-=!r[n++]);return n+(e&2)},D=function(r){var e=r.length;return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0};function M(e,n){return U(e.subarray(_(e),-8),n||new r(D(e)))}var N=typeof TextDecoder<"u"&&new TextDecoder,R=0;try{N.decode(C,{stream:!0}),R=1}catch{}var B=()=>{var r;let e=document.querySelectorAll('script[type="text/javascript+gzip"][src]');for(let n of e)try{let e=n.src.match(/^data:(.*?)(?:;(base64))?,(.*)$/);if(!e)continue;let[a,t,o,i]=e,f=Uint8Array.from(o?atob(i):decodeURIComponent(i),(r=>r.charCodeAt(0))),v=(new TextDecoder).decode(M(f)),l=document.createElement("script");l.textContent=v,(r=n.parentNode)==null||r.replaceChild(l,n)}catch(r){console.error("Could not gunzip script",n,r)}};B();window.gunzipSync=M;window.gunzipScripts=B})();
crashblossom_gold_mainInt(b.getAttribute("initial_number_of_shapes"));let e=h*he-v;e<0?(e=Math.abs(e),y-r-e<ue&&(e=y-r-ue),Qe(b,e=Math.min(e,S)),r+=e):0<e&&(e=Math.abs(e),Ge(b,e=y+a+e>de?de-(y+a):e,"cluster"),a+=e)}}if("tier_sends"==e){var A,L=t;let e=C.neutral;if(0<L?e=C.increased:L<0&&(e=C.decreased),-1!=e.indexOf(T[0])&&(0==L||e[Math.abs(L)-1]==T[0]))return;A=0==L?F(e):e[Math.abs(L)-1],T=[A,A]}if("tier_approvals"==e){let e=-3==t?1.9:-2==t?1.5:-1==t?1.25:1==t?.75:2==t?.5:3==t?.3:0;var w=e;for(let e of document.querySelectorAll("linearGradient")){var N=e.querySelectorAll(".animation");for(let r=0;r<N.length;r++){let e=N[r].getAttribute("dur"),t=(e=Number.parseFloat(e.slice(0,e.length-1)),parseFloat(N[r].getAttribute("original_duration")));var q=0==w?t:Math.round(t*w);q=Math.max(10,q),e!=q&&(N[r].old_dur=e,N[r].new_dur=q,N[r].onrepeat=function(){this.setAttribute("begin",this.getCurrentTime()),this.setAttribute("dur",this.new_dur+"s"),this.onrepeat=void 0})}}await 0}"remove_flip_layer"==e&&B("flip")}async function Ie(e,t,r){try{var a,l,n=document.querySelector(".frame"),i=document.querySelector("#background"),o=n.cloneNode(!0),s=(o.classList.add(t),i.cloneNode(!0)),c=(s.classList.add(r),o.setAttribute("fill","url(#gradient_bg_mirror_read_and_black)"),s.setAttribute("fill","url(#gradient_bg_read_and_black)"),document.querySelector("#gradient_bg_mirror")),f=document.querySelector("#gradient_bg"),u=c.cloneNode(!0),d=f.cloneNode(!0),p=(u.setAttribute("id","gradient_bg_mirror_read_and_black"),d.setAttribute("id","gradient_bg_read_and_black"),Array.from(e));for(a of u.querySelectorAll("stop")){var _=a.querySelector("animate");_.setAttribute("values",p.pop()),_.setAttribute("dur","20s")}for(l of d.querySelectorAll("stop")){var h=l.querySelector("animate");h.setAttribute("values",p.pop()),h.setAttribute("dur","30s")}c.after(u),f.after(d),o.setAttribute("opacity","0"),o.animate([{opacity:"1"}],{duration:5e3,iterations:1,fill:"forwards"}),n.after(o),s.setAttribute("opacity","0"),s.animate([{opacity:"1"}],{duration:5e3,iterations:1,fill:"forwards"}),i.after(s)}catch(e){}}async function P(e,t){let r=document.querySelector("."+e);document.querySelector("#gradient_bg_mirror");r.setAttribute("opacity","1");let a=r.animate([{opacity:"0"}],{duration:5e3,iterations:1,fill:"forwards"}),l=(a.onfinish=function(){r.remove()},document.querySelector("."+t));l.setAttribute("opacity","1"),(a=l.animate([{opacity:"0"}],{duration:5e3,iterations:1,fill:"forwards"})).onfinish=function(){l.remove()},await new Promise(e=>setTimeout(e,6e3))}function ze(t,r,a){for(let e of M)e.type==t&&(null==e.original_change_positions_chance&&(e.original_change_positions_chance=e.change_positions_chance),e.change_positions_chance=r,setTimeout(()=>{e.change_positions_chance=e=e.original_change_positions_chance},a))}async function Qe(r,e){let a=K(r.querySelectorAll("svg"));for(let t=0;t<e;t++){let e=M.filter(e=>e.id==r.id.split("-")[1])[0];null==(e=null==e?S.filter(e=>e.id==r.id.split("-")[1])[0]:e).svg_prototype&&(e.svg_prototype=a[t]),a[t].classList.contains("removing")||(a[t].animate([{opacity:"0"}],{duration:5e3,iterations:1,fill:"forwards"}).onfinish=e=>{a[t].remove()}),a[t].classList.add("removing")}}async function Ge(r,t,a){for(let e=0;e<t;e++)if("cluster"==a){let t=F(r.querySelectorAll(".svg.cluster"));if(null==t){let e=M.filter(e=>e.id==r.id.split("-")[1])[0];null==e&&(e=S.filter(e=>e.id==r.id.split("-")[1])[0]),t=e.svg_prototype}var l=t.cloneNode(!0);try{o=(r.classList.contains("special")?S.filter(e=>r.classList.contains(e.id)):M.filter(e=>r.classList.contains(e.id)))[0],l.querySelector("path").setAttribute("d",F(o.paths))}catch(e){}var n=Ke(F(T),o.number_of_visible_shapes,R(o.clustering_density[0],o.clustering_density[1]),.5,[3,6],o.clustering_density),n=F(n),i=n[0],n=n[1],i=(l.setAttribute("x",i+"%"),l.setAttribute("y",n+"%"),l.classList.add("animating"),l.animate([{opacity:"0"},{opacity:"1"}],{duration:oe,iterations:1,fill:"forwards"}));r.appendChild(l),i.onfinish=function(){l.classList.remove("animating")}}else if("plate"==a){let t=r.querySelector("svg");if(null==t){let e=M.filter(e=>e.id==r.id.split("-")[1])[0];null==e&&(e=S.filter(e=>e.id==r.id.split("-")[1])[0]),t=e.svg_prototype}let e=t.cloneNode(!0);try{var o;o=(r.classList.contains("special")?S.filter(e=>r.classList.contains(e.id)):M.filter(e=>r.classList.contains(e.id)))[0],e.querySelector("path").setAttribute("d",F(o.paths))}catch(e){}var n=R(pe[0],pe[1],.1),i=e.querySelector("path"),s=R(o.scale[0],o.scale[1],.1),s=(i.setAttribute("transform",`scale(${s*n}, ${s*n})`),parseFloat(e.getAttribute("x").split("%")[0])+R(-20,20)),c=parseFloat(e.getAttribute("y").split("%")[0])+R(-20,20);s*=_e,c*=_e,e.setAttribute("x",s+"%"),e.setAttribute("y",c+"%"),e.classList.add("animating"),e.classList.add("dynamic_add"),r.appendChild(e),e.animate([{opacity:"0"},{opacity:"1"}],{duration:oe,iterations:1,fill:"forwards"}).onfinish=function(){e.classList.remove("animating")}}}function B(e){var t;for(t of document.querySelectorAll("g."+e)){let e=t.animate([{opacity:1},{opacity:0}],{duration:5e3,iterations:1,fill:"forwards"});e.layer=t,e.onfinish=t=>{M=M.filter(e=>e.id!=t.target.layer.id),e.layer.remove()}}}async function D(t=.5,r=5,a=2,l=!1){var n=document.querySelectorAll(".group.layer"),n=Array.from(n).filter(e=>!e.classList.contains("special")),i=document.querySelector("#main-svg");let o=0;for(let e=2;e<n.length&&!(o>=a);e+=2)G()>1-t&&(_([n[e],n[e+1]],r,e=>{e[0].insertBefore(e[2],e[3]),e[0].insertBefore(e[1],e[2])},[i,n[e],n[e+1],n[0]]),o+=1,l)&&await new Promise(e=>setTimeout(e,1e3*R(3,6)));setTimeout(function(){var r=[],a=document.querySelectorAll(".group.layer");for(let t=0;t<a.length;t++)for(let e=0;e<M.length;e++)if(a[t].getAttribute("class").includes(M[e].id)){r.push(M[e]);break}M=r},2*r*1e3)}async function Je(r=5,t="both",a=4,l=!1,n=!1){for(let e=0;e<M.length;e++){var i=M[e];if(!("both"!=t&t!=i.type)){var o=k.querySelector(".group."+i.id);if(null==o)i.delete=!0;else{var s,c,f,u=o.querySelectorAll("svg");"cluster"==i.type&&K(s=Ke(F(T),i.number_of_visible_shapes,R(i.clustering_density[0],i.clustering_density[1]),.5,[3,6],i.clustering_density));let t=0;for(let e=0;e<u.length&&!(t>=a);e++)if((!!l||G()>1-i.change_positions_chance)&!u[e].classList.contains("animating")){for(u[e].classList.add("animating"),f="cluster"==i.type?(c=s[e][0],s[e][1]):(c=R(i.coordinates[0][0],i.coordinates[0][1])/i.current_scale,R(i.coordinates[1][0],i.coordinates[1][1])/i.current_scale),Math.abs(i.current_x-c)<10&&(c=i.current_x+R(10,20)),Math.abs(i.current_y-f)<10&&(f=i.current_y+R(10,20)),i.current_x=c,i.current_y=f;;)if(F(i.paths)!=i.current_path){i.current_path=F(i.paths);break}_([u[e]],r,e=>{e[0].setAttributeNS(null,"x",e[1]+"%"),e[0].setAttributeNS(null,"y",e[2]+"%"),e[0].querySelector("path").setAttributeNS(null,"d",e[3])},[u[e],c,f,i.current_path]),n&&await new Promise(e=>setTimeout(e,1e3*J(2,8))),t++}}}}M=M.filter(e=>1!=e.delete)}async function _(t,e,r,a,l=0){t=t.filter(e=>null!=e),0!=l&&await new Promise(e=>setTimeout(e,l));let n={duration:1e3*e,iterations:1,fill:"forwards"};for(let e=0;e<t.length;e++)t[e].animate({opacity:"0"},n);setTimeout(function(){r(a);for(let e=0;e<t.length;e++)t[e].animate({opacity:"1"},n),t[e].classList.remove("animating")},1e3*e)}function I(t,e="top"){var r,a=document.querySelector("#main-svg").querySelector("#defs"),l=F(S.filter(e=>-1!=e.classes.indexOf(t))),n=F(l.color_combinations_list).colors,i=`g-${l.id}-`+l.type,o=R(l.color_duration[0],l.color_duration[1]),s=Re(l.gradient_coordinates,i),c=(l.current_scale=R(l.scale[0],l.scale[1],.01),s.setAttributeNS(null,"class",`gradient ${l.type} `+l.id),z(0,n[0])),f=z(1,n[1]),u=Q(n[0],o),n=Q(n[1],o),d=(c.appendChild(u),f.appendChild(n),s.appendChild(c),s.appendChild(f),a.appendChild(s),document.createElementNS(N,"g"));d.setAttributeNS(null,"id",`g-${l.id}-`+l.type),d.setAttributeNS(null,"class",`layer group ${l.type} `+l.id),"cluster"==l.type&&(r=Ke(F(T),l.number_of_visible_shapes,R(l.clustering_density[0],l.clustering_density[1]),.5,[3,6],l.clustering_density));for(let t=0;t<l.number_of_visible_shapes;t++){var p,_,h=`p-${l.id}-${l.type}-`+t,m=`s-${l.id}-${l.type}-`+t;let e=1;"plate"==l.type?(p=J(l.coordinates[0][0],l.coordinates[0][1])/l.current_scale,_=J(l.coordinates[1][0],l.coordinates[1][1])/l.current_scale,l.current_x=p,l.current_y=_,l.current_path=F(l.paths,Me)):(p=r[t][0],_=r[t][1],l.current_x=p,l.current_y=_,l.current_path=F(l.paths,Me),x.length&&(e=R(x[0],x[1],.01)));var g,y=document.createElementNS(N,"path"),b=(y.setAttributeNS(null,"transform",`scale(${l.current_scale*e}, ${l.current_scale*e})`),y.setAttributeNS(null,"d",l.current_path),y.setAttributeNS(null,"fill",`url(#${i})`),y.setAttributeNS(null,"id",h),y.setAttributeNS(null,"class",`layer path ${l.type} ${l.id} special`),document.createElementNS(N,"svg"));b.setAttributeNS(null,"x",p+"%"),b.setAttributeNS(null,"y",_+"%"),b.setAttributeNS(null,"transform-origin","center"),b.setAttributeNS(null,"id",m),b.setAttributeNS(null,"class",`layer svg ${l.type} ${l.id} special`);for(g of l.classes)b.classList.add(g),d.classList.add(g);b.appendChild(y),d.appendChild(b)}d.setAttribute("initial_number_of_shapes",l.number_of_visible_shapes),d.animate([{opacity:"0"},{opacity:"1"}],{duration:se,iterations:1,fill:"forwards"}),"top"==e?(o=document.querySelectorAll(".group"))[o.length-1].after(d):document.querySelector(".group").before(d)}function z(e,t){var r=document.createElementNS(N,"stop");return r.setAttributeNS(null,"offset",e),r.setAttributeNS(null,"stop-color",t),r}function Q(e,t){var r=document.createElementNS(N,"animate");return r.setAttributeNS(null,"attributeName","stop-color"),r.setAttributeNS(null,"values",e),r.setAttributeNS(null,"dur",t+"s"),r.setAttributeNS(null,"repeatCount","indefinite"),r.setAttributeNS(null,"class","animation"),r.setAttributeNS(null,"original_duration",t),r}function Re(e,t){var r=document.createElementNS(N,"linearGradient");return r.setAttributeNS(null,"id",t),r.setAttributeNS(null,"x1",e[0]+"%"),r.setAttributeNS(null,"x2",e[2]+"%"),r.setAttributeNS(null,"y1",e[1]+"%"),r.setAttributeNS(null,"y2",e[3]+"%"),r}function G(){var e=1e4*Math.sin(m++);return e-Math.floor(e)}function o(){return(g+=f)%100/100}function Fe(){return(g=(1664525*g+f)%89652912)%101}function J(e,t,r=!0){return e=Math.ceil(e),t=Math.floor(t),r?Math.floor(G()*(t+1-e)+e):Math.floor(o()*(t+1-e)+e)}function R(e,t,r=1,a=3,l=!0){l=l?G()*(t+r-e)+e:o()*(t+r-e)+e;return t=(t=a)||0,Math.floor(l*Math.pow(10,t))/Math.pow(10,t)}function F(e,t=!0){return e[J(0,e.length-1,t)]}function K(e,t=!0){let r=e.length,a;for(;0!=r;)a=t?Math.floor(G()*r):Math.floor(o()*r),r--,[e[r],e[a]]=[e[a],e[r]];return e}function Ke(e,t,r=0,a=0,l=[3,8],n=[1,3],i=0,o=[-200,300]){var s,c,f,u,d,p,_,h,m,g,y;if(0==e&&(c=A(45,95,40,10,r+10,t+1),f=A(30,55,40,20,r+20,t+1),u=A(40,0,40,30,r+30,t+1)),1==e&&(c=A(60,0,90,30,r+40,t+1),f=A(20,40,20,40,r+20,t+1),u=A(40,70,100,50,r+30,t+1)),5==e&&(u=A(10,5,5,10,r+10,t+1),c=A(20,10,1,50,r+50,t+1),f=A(30,30,-5,20,r+20,t+1)),3==e&&(u=A(90,0,160,0,r+20,t+1),f=A(50,50,160,0,r+30,t+1),c=A(10,70,160,0,r+40,t+1)),6==e&&(c=A(50,50,10,10,r+30,t+1),f=A(50,20,20,10,r+5,t+1),u=A(50,50,30,10,r+10,t+1)),2==e&&(c=A(0,10,20,10,r+5,t+1),f=A(80,40,10,20,r+10,t+1),u=A(90,30,40,30,r+30,t+1)),4==e){for(s=[],_=t/100,v=0;v<t;v++)d=b=v/_,d+=R(-(p=v|b&d)%10,p%10)+Math.sin(b)*p%30,p+=R(-v%10,v%10),s.push({x:d%110,y:p%110});u=f=c=s}7==e&&(c=A(95,30,-40,13,r+10,2*t),f=A(90,40,-35,20,r+20,t+1),u=A(80,50,-30,30,r+30,t+1)),8==e&&(c=A(60,50,-10,10,r+10,t+1),f=A(70,50,10,20,r+20,t+1),u=A(80,50,20,30,r+30,t+1)),9==e&&(c=A(5,40,.1,2,r+30,t+1),f=A(40,50,.3,2,r+10,t+1),u=A(60,45,.3,2,r+40,t+1)),10==e&&(c=A(3,10,-5,20,r+10,t+1),f=A(10,80,-10,20,r+20,t+1),u=A(80,20,-20,10,r+30,t+1)),11==e&&(c=A(15,10,-5,30,r+40,t+1),f=A(50,80,-10,26,r+30,t+1),u=A(80,40,-10,15,r+20,t+1)),h=[],s=(s=(s=c.filter(e=>0<e.x&e.x<100&0<e.y&e.y<101)).concat(f.filter(e=>0<e.x&e.x<100&0<e.y&e.y<101))).concat(u.filter(e=>0<e.x&e.x<100&0<e.y&e.y<101));for(let e=0;e<t;e++)h.push(F(s));if(0<a)for(m=!1,v=y=g=0;v<h.length;v++)m?(v<y&&(h[v].x=h[g].x+R(-_,_),h[v].y=h[g].y+R(-_,_)),y<v&&(m=!1)):G()>a&&(m=!0,y=(g=v)+J(l),_=R(n[0],n[1]));for(var S=[],v=0;v<h.length;v++)h[v].x<o[0]|h[v].x>o[1]&&(h[v].x=R(0,100,3)),h[v].y<o[0]|h[v].y>o[1]&&(h[v].y=R(0,100,3)),0<i&&G()>1-i&&(h[v].x=R(0,100,3),h[v].y=R(0,100,3)),S.push([h[v].x,h[v].y]);return S}function A(t,r,e,a,l,n){var i=Math.tan(e),o=Math.cos(e)*a,s=Math.sin(e)*a,c=[];for(let e=0;e<n;e++){var f=(G()-.5)*l,u=(G()-.5)*l,f=t+o+f;c.push({x:f,y:r+i*(f-t)+s+u})}return c}function s(e){try{return paths[e].slice(1,paths[e].length-1)}catch{e=F(Object.keys(paths));return paths[e].slice(1,paths[e].length-1)}}function Xe(e){var r=["LS - range","LS - splash","LS - plane","LS - streetlight","LS - glass","LS - left","LS - right","LS - map","LS - fracture","LS - liquid","LS - mosaic","LS - cumulus","S - recall fragment","LS - pointer","LS - cliff","LS - hill","LS - city","LS - sign","S - ship","LS - plus","S - recall flock","S - bug","LS - honeycomb","L - ice large","LS - path","S - footprint small","LS - planet","LS - logo","LS - multiplier","S - fragment","LS - stratus","S - flock","LS - river","S - candle","L - girder","L - elevation","L - urban","L - plan","L - floor","L - ruin","L - corridor","L - wall ","L - pie chart","L - house","L - pod","L - ceiling","L - window displaced","L - modern","L - blueprint","L - road","L - bell curve","L - beam thick","L - perspective","L - flame","L - window pane","L - window poly","L - window frame","L - frame","L - future","L - body","L - beam medium","L - head","L - rural","L - beam thin","L - ripple","L - brain","L - flame high","L - foothill","L - mnemonic","L - jet","L - mountain","L - rockies","L - fingerprint","L - haze","L - skeleton","L - skyline","L - comic","L - ribbon","L - wave","L - footprint large","S - ice small"],a=[11,34,35,2,37,38,39,40,41,43,14,23,36,3,42],l=[2,4,4,4,4,4,4,4,4,4,6,11,15,15,15],n=[0,7,2,6,5,1,3,4],i=[2,7,10,10,12,14,20,25],o=[0,54,44,45,46,48,5,53,6,7,4,51,52,47,10,50,13,1,49],s=[2,2,4,4,4,4,4,4,4,4,5,5,5,7,7,7,8,10,10],f=[12,8,14,9,15,11,16,13,10],u=[2,4,4,10,10,15,15,18,22],d=[59,8,55,56,57,9,58,60,15,62,63,16,64,66,19,26,22,61,65],p=[2,4,4,4,4,4,4,4,4,4,4,4,4,4,10,10,10,10,10],_=[20,22,18,21,17,24,80,25,19],h=[2,4,5,5,8,10,15,25,26],m=[70,30,67,32,17,71,72,24,77,78,69,73,75,74,27,76,79,68,28],g=[2,2,4,4,4,4,4,4,4,4,5,5,5,6,7,7,7,10,12],y=[30,29,31,32,27,28,26,33],b=[2,10,10,10,12,16,20,20],S=[6,71,5,7,8,67,17,0,59,24,52,9,64,75,78,15,32,45,1,62,70,69,11,49,4,22,16,73,65,27,76,74,61,68,3,10,13,19,26,28,30,58],v=[6,6,7,7,7,7,7,8,8,9,10,10,10,10,10,11,11,12,12,12,12,13,15,15,15,15,15,15,16,16,16,17,18,18,20,20,20,20,20,20,20,25],A=[21,18,14,2,7,0,5,6,8,9,15,17,24,27,32,1,4,11,16,22,3,10,13,19,26,28,30,31,29,33],L=[3,4,5,7,7,8,10,10,10,10,10,10,10,10,10,12,15,15,15,15,20,20,20,20,20,20,20,20,25,27],t=[1,8,16,4,2,3],w=[5,5,5,10,20,50],N=["rhodium","palladium","vegas","platinum","ipanema","malibu","venicebeach","cannes","maldives","dusk","sunset","mist","southbeach","night","ibiza","dawn","goldenhour"],q=[3,4,4,5,5,5,5,5,6,7,7,8,10,12,20,30,40];if("number_of_colors"==e){for(let e=0;e<300;e++)for(let e=0;e<t.length;e++)if(Fe()>100-w[e])return t[e];return 2}if("layer_paths"==e){var k=[],x=["regular","hodl","milestone"];for(let t=0;t<x.length;t++)for(let e=0;e<8;e++){"regular"==x[t]?0==e?(C=a,M=l):1==e?(C=n,M=i):2==e?(C=o,M=s):3==e?(C=f,M=u):4==e?(C=d,M=p):5==e?(C=_,M=h):6==e?(C=m,M=g):7==e&&(C=y,M=b):"hodl"==x[t]?(C=S,M=v):"milestone"==x[t]&&(C=A,M=L);for(var C,M,T=300;0<T;)for(let e=0;e<M.length;e++){T--;var $=Fe(),E=r[C[e]];if($>100-M[e]&&!k.includes(E)){T=0;break}}k.push(E)}return k}if("color_names"==e){var O=[];for(let e=0;e<re;e++){let t=300;for(;0<t;){t--;for(let e=0;e<q.length;e++)if(c=N[e],Fe()>100-q[e]&&!O.includes(c)){t=0;break}}O.push(c)}return O}}function He(t,r,a){if(a<=t[0])return r[0];if(a>=t[t.length-1])return r[r.length-1];for(let e=0;e<r.length-1;e++)if(a>=t[e]&a<t[e+1])return r[e]}function Ue(e){return null!=e&&e==e}function We(e,t,r=!0){e*={years:31536e3,months:2592e3,hours:3600,minutes:60}[t];return r?Math.round(e):e}function Ve(e,t,r){return(t-e)/We(1,r,!1)}function Ye(e,t){var r=function(t){let r=0;for(let e=1;e<t.length;e++)r+=Math.abs(t[e]-t[e-1]);return r/(t.length-1)}(t),e=(e-t[t.length-1])/r-1;return null===e||isNaN(e)?0:e}window.onkeydown=function(e){71===e.keyCode?(d=document.querySelector("#main-svg")).insertAdjacentHTML("afterend",`<div id="prompt-container" class="prompt-container"><p>Change node URL:</p><input id="prompt" class="prompt" value="${v}"/></div>`):13===e.keyCode&&(p=document.getElementById("prompt"),v=p.value,(pc=document.getElementById("prompt-container")).remove())};let Ze=void 0;async function et(){try{var i=await fetch(v,{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:L,data:w},"latest"],id:2,jsonrpc:"2.0"})})}catch{return e=(e=0==e.length?Array.from(W):e).filter(e=>e!=v),void(v=1==e.length?e[0]:F(e.slice(0,-1)))}i=await i.json();if(null==i.error){(i=te(Z(i.result),[1,200,1,200,1,400,400,1]))[0];let e=i[1];i[2];let r=i[3];var o=i[4];let t=ee(i[5]),a=ee(i[6]);V=i[7][0];(i=te(Z((await(await fetch(v,{method:"POST",body:JSON.stringify({method:"eth_call",params:[{to:L,data:function(e){{if("string"==typeof e)return e=/^0x/i.test(e)?e:"0x"+e;if("number"==typeof e)return"0x"+e.toString(16);throw new Error("Unsupported value type: "+typeof e)}}(X+function(e){let t=e.toString(16);return 0<(e=64-t.length)&&(e="0".repeat(e),t=e+t),t}(H))},"latest"],id:2,jsonrpc:"2.0"})})).json()).result),[1,200,1,1,1,1]))[0][0];let l=i[1];var s,c,f,u,d,p=i[2][0],_=(i[3][0],i[4][0]),i=i[5][0],h=(new Date).getTime()/1e3;t=t.filter(e=>0!=e[0]),a=a.filter(e=>0!=e[0]),r=r.filter(e=>0!=e),e=e.filter(e=>0!=e),l=l.filter(e=>0!=e);for(s of r);for(c of e);for(f of t);for(u of a);for(d of l);t.sort((e,t)=>e[0]-t[0]),a.sort((e,t)=>e[0]-t[0]);t.map(e=>e[1]),a.map(e=>e[1]);r.sort(),e.sort(),l.sort();let n=t.concat(a);n.sort((e,t)=>e[0]-t[0]),n=n.map(e=>e[1]);var m,g,y=[],b=[];for(m of t){y.push(m[0]);for(let e=l.length-1;0<=e;e--)if(l[e]==m[0]){b.push(l[e]);break}}for(g of a)for(let t=r.length-1;0<=t;t--)if(r[t]<g[0]){y.push(r[t]),l.includes(r[t])&&r.filter(e=>e==r[t]).length<=1&&b.push(r[t]);break}var S=Array.from(b);return Ze=[h,r,e,y,n,o,l,S,_,p,i]}e=(e=0==e.length?Array.from(W):e).filter(e=>e!=v),v=1==e.length?e[0]:F(e.slice(0,-1))}async function tt(g){if(null!=(g=Ze)){var y=g[0];let e=g[1],t=g[2],r=g[3],a=g[4];var b=g[5];let l=g[6],n=g[7];var S=g[8],g=(g[9],g[10]),v=We(3,"months");e=[...new Set(e)],t=[...new Set(t)],r=[...new Set(r)],l=[...new Set(l)],e.sort(),t.sort(),r.sort(),l.sort(),e=null==e?[]:e,t=null==t?[]:t,r=null==r?[]:r,l=null==l?[]:l,n=null==n?[]:n,a=null==a?[]:a,e=e.filter(e=>0!=e).slice(-5),t=t.filter(e=>0!=e).slice(-5),r=r.filter(e=>0!=e).slice(-5),5<(l=l.filter(e=>0!=e)).length&&(l=l.slice(-5)),10<(n=n.filter(e=>0!=e)).length&&(n=n.slice(-10)),a=a.filter(e=>0!=e).slice(-5);let i=Array.from(t),o=Array.from(r),s=Array.from(e),c=Array.from(a);e.length<=1&&(s=[$].concat(e)),l.length<=1&&(l=[$].concat(l)),t.length<=1&&(i=[$].concat(t)),r.length<=1&&(o=[$].concat(r)),a.length<=1&&(c=[5e17*U].concat(a));var A=Ye(y,1<e.length?e:s),L=Ye(y,1<t.length?t:i),w=Ye(y,1<r.length?r:o);let f=0;1<c.length&&(f=c[c.length-1]/(c.slice(0,-1).reduce((e,t)=>e+t)/(c.length-1))-1);var N=Ye(y,e.concat(i).sort().slice(-5));let u=Ve(r[r.length-1],y,"minutes")<10,d=Ve(e[e.length-1],y,"minutes")<10,p=Ve(t[t.length-1],y,"minutes")<10;var b=.51<=b/V,q=!b;let _=-1,h=0;for(let e=0;e<Y.length;e++){var k=y-Y[e];(0<k&&k<86400||0<k&&e==Y.length-1)&&(_=e,h=Y[e]+86400)}S=S-1;let m=Array.from(n);var x,C,M,T,v=1<(m=n.length<2?[$].concat(n):m).length&&y-m[m.length-1]<v&&m[m.length-1]-m[m.length-2]<v;for(x of e);for(C of t);for(M of r);for(T of a);b&&document.querySelectorAll("g,.frame")[0].classList.contains("layer")&&await j("high_holder_distribution"),q&&document.querySelectorAll("g,.frame")[0].classList.contains("layer")&&await j("low_holder_distribution"),-1<_&&(y>h?(await j("contract_milestone_no_celebration",_),await j("stop_contract_milestone")):await j("contract_milestone",_)),S!=O&&(O=S),v?await j("flipped_x_times"):await j("remove_flip_layer"),g>document.querySelectorAll(".hodl").length&&j("time_hodld",g),Ue(A)&&(b=De(w,He(E.royalty[0],E.royalty[1],f)),q=De(A,He(E.contract_activity[0],E.contract_activity[1],-1*N)),S=De(A,He(E.clustering_mode[0],E.clustering_mode[1],-1*A)),v=De(L,He(E.approvals[0],E.approvals[1],-1*L)),await j("tier_royalty",b),await j("tier_contract_activity",q),await j("tier_sends",S),await j("tier_approvals",v)),u&&d&&(r[r.length-1]<e[e.length-1]?u=!1:d=!1),d&&p&&(t[t.length-1]<e[e.length-1]?p=!1:d=!1),u&&p&&(r[r.length-1]<t[t.length-1]?u=!1:p=!1),u?await j("sale"):await j("stop_sale"),d?await j("send"):await j("stop_send"),p?await j("approval"):await j("stop_approval")}}
crashblossom_gold_mainlet h=!1,e=["https://eth-mainnet.g.alchemy.com/v2/jNjHIBKgiqQBourYcfVA3rsbyP0vCXwe","https://eth-mainnet.g.alchemy.com/v2/TyWMZISNxCQ0Qbkkm1Q-AD0BtBOzMG8w","https://eth-mainnet.g.alchemy.com/v2/xKR4_uuTNkE1WrXskJPuX3REsonQroDT","https://eth-mainnet.g.alchemy.com/v2/0GCs4ch_MzzNTLLL62iRGR-7TM3KTgQe"],W=Array.from(e),V=500;U/=100;var t=(new Date).getTime();let m=(new Date).getTime(),N="http://www.w3.org/2000/svg",k=document.querySelector("#main-svg");let Y=[1703167200,1718974800,1750510800,1845205200,2002971600,2318504400],v=F(e.slice(0,-1));function Z(e){var t=e.slice(2),r=[];for(let e=0;e<t.length;e+=64){var a=t.slice(e,e+64),a=parseInt(a,16);r.push(a)}return r}function ee(t){var r=[];for(let e=0;e<t.length;e+=2)r.push(t.slice(e,e+2));return r}function te(t,r){var e,a=[];let l=0;for(let e=0;e<r.length;e++){var n=r[e],i=t.slice(l,l+n);a.push(i),l+=n}return l<t.length&&(e=t.slice(l),a.push(e)),a}let re=Xe("number_of_colors");var y,r=Xe("color_names"),ae={goldenhour:{chance:.1,colors:["#ff1249;#6b6cff;#c80085;#ffe112;#ff1249","#6b6cff;#ff1249;#ffe112;#c80085;#6b6cff"]},dawn:{chance:.1,colors:["#ff4637;#83a9ff;#e91278;#fff149;#ff4637","#9ab0fe;#ff5252;#fffb57;#f23662;#9ab0fe"]},ibiza:{chance:.1,colors:["#b2004e;#573fcd;#990086;#ec7d1a;#b2004e","#442dbe;#c2045c;#d26b0a;#a80094;#442dbe"]},southbeach:{chance:.1,colors:["#f72585;#4cc9f0;#11a7d4;#fa6bab;#f72585","#4cc9f0;#f72585;#fa6bab;#11a7d4;#4cc9f0"]},mist:{chance:.1,colors:["#ff6494;#98e8ed;#ffe6ff;#80ffff;#ff6494","#9affff;#ff6277;#80ffff;#ffe6ff;#9affff"]},dusk:{chance:.1,colors:["#c4107c;#1d5fb6;#a50d68;#4d88ff;#c4107c","#5981d9;#f042aa;#2f62d0;#b40d85;#5981d9"]},platinum:{chance:.1,colors:["#080808;#828282;#d2d2d2;#202020;#7d7d7d;#080808","#efefef;#353535;#161616;#b2b2b2;#383838;#f5f5f5"]},palladium:{chance:.1,colors:["#f5f5f5;#808080;#666666;#f2f2f2;#787878;#f5f5f5","#4d4d4d;#949494;#ffffff;#595959;#939393;#4d4d4d"]},rhodium:{chance:.1,colors:["#000000;#4f4f4f;#818181;#000000;#515151;#000000","#929292;#000000;#0f0f0f;#898989;#000000;#929292"]},ipanema:{chance:.1,colors:["#a7c3ff;#ff0066;#ffa9bd;#ff0066;#a7c3ff","#ff9ea1;#0000ff;#68b6ff;#0000ff;#ff9ea1"]},malibu:{chance:.1,colors:["#c0d5ff;#ff6666;#ffe1db;#150070;#c0d5ff","#fee3dc;#ff66ff;#c9e9ff;#ff66ff;#fee3dc"]},night:{chance:.1,colors:["#0000ff;#000080;#ff2a5b;#000080;#0000ff","#dd3a3f;#03000f;#0062be;#03000f;#dd3a3f"]},maldives:{chance:.1,colors:["#ffff99;#ff668a;#ffff33;#ffe6f2;#ffff99","#ff668a;#ffff99;#ffe6f2;#ffff33;#ff668a"]},venicebeach:{chance:.1,colors:["#ff66ff;#ccffff;#ffbb33;#ffff66;#ff66ff;","#ffbb33;#ff66ff;#ffff66;#ccffff;#ffbb33"]},sunset:{chance:.1,colors:["#809fff;#ff4d4d;#4d79ff;#ff7733;#809fff","#ff5500;#809fff;#ff4d4d;#4d79ff;#ff5500"]},vegas:{chance:.1,colors:["#3366ff;#ff99ff;#ff0066;#ff8533;#3366ff","#ffccff;#ff0066;#000099;#3333ff;#ffccff"]},cannes:{chance:.1,colors:["#ffe112;#ff668a;#ffff80;#ff1a4f;#ffe112","#ff668a;#ffe112;#ff1a4f;#ffff80;#ff668a"]},special_sends:{chance:.1,colors:["#ffb380;#e60036;#ffcc00;#ff003c;#ffb380","#e60036;#ffb380;#cc0030;#ff6600;#e60036"]},special_sales:{chance:.1,colors:["#ffff33;#ff0066;#ffff00;#ff6600;#ffff33","#ff4d4d;#ffe112;#e6005c;#ff6666;#ff4d4d"]},special_approval:{chance:.1,colors:["#4d4dff;#98e8ed;#0039e6;#80ffff;#4d4dff","#ccffff;#b3f0ff;#80ffff;#3366ff;#ccffff"]}};let q=[];for(y of r)q.push(ae[y]);let le=[50,80],x=[];let C={increased:[7,3,1],decreased:[0,4,8],neutral:[6,2,10,5,9,11]};let u=15,ne=t,ie=5;let oe=5e3;let se=5e3,ce=1,fe=80,ue=2,de=3e3,pe=[.7,.8],_e=1.3,E={royalty:[[-.4,-.3,-.1,0,.1,.3,.6],[-3,-2,-1,0,1,2,3]],contract_activity:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],clustering_mode:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]],approvals:[[-1,-.5,-.25,0,.25,.5,.75],[-3,-2,-1,0,1,2,3]]};let he=5,me=[q[q.length-1]],O=3,ge=0,ye=["#ff944d;#e60036;#ff884d;#ff003c;#ff944d","#e60036;#ff944d;#cc0030;#ff6600;#e60036","#e60036;#ff944d;#cc0030;#ff6600;#e60036","#ff944d;#e60036;#ff884d;#ff003c;#ff944d"],be=["#ffe112;#ff4d4d;#ffff66;#ff9933;#ffe112","#e67300;#ffe112;#e65c00;#ffff66;#e67300","#e67300;#ffe112;#e65c00;#ffff66;#e67300","#ffe112;#ff4d4d;#ffff66;#ff9933;#ffe112"],Se=["#9affff;#4d4dff;#80ffff;#3366ff;#9affff","#4d4dff;#98e8ed;#3366ff;#80ffff;#4d4dff","#4d4dff;#98e8ed;#3366ff;#80ffff;#4d4dff","#9affff;#4d4dff;#80ffff;#3366ff;#9affff"],ve=["#ffff00;#ff0000;#ffff00;#ff0000;#ffffff;#0000ff;#ffff00","#ff0000;#ffff00;#0000ff;#ffff00;#ff0000;#ffffff;#ff0000","#ff0000;#ffff00;#0000ff;#ffff00;#ff0000;#ffffff;#ff0000","#ffff00;#ff0000;#ffff00;#ff0000;#ffffff;#0000ff;#ffff00"];var Ae,Le,we,Ne,r=Xe("layer_paths"),t=r.slice(0,8),qe=r.slice(8,16),ke=r.slice(16,24);let M=[{id:"lp0",type:"plate",paths:s(t[0]),paths_group_name:t[0],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.7,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:q,clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc0",type:"cluster",paths:s(t[1]),paths_group_name:t[1],color_duration:[30,60],coordinates:[[-30,30],[-10,10]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:q,clustering_density:[7,9],gradient_coordinates:[0,0,100,0]},{id:"lp1",type:"plate",paths:s(t[2]),paths_group_name:t[2],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.6,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:q,clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc1",type:"cluster",paths:s(t[3]),paths_group_name:t[3],color_duration:[30,60],coordinates:[[-10,10],[-30,30]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:q,clustering_density:[7,9],gradient_coordinates:[0,0,100,0]},{id:"lp2",type:"plate",paths:s(t[4]),paths_group_name:t[4],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.5,.9],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:q,clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc2",type:"cluster",paths:s(t[5]),paths_group_name:t[5],color_duration:[30,60],coordinates:[[-10,80],[-10,30]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:q,clustering_density:[7,9],gradient_coordinates:[0,0,100,0]},{id:"lp3",type:"plate",paths:s(t[6]),paths_group_name:t[6],color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.4,.9],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:q,clustering_density:[0,0],gradient_coordinates:[0,0,100,0]},{id:"lc3",type:"cluster",paths:s(t[7]),paths_group_name:t[7],color_duration:[30,60],coordinates:[[-30,10],[-30,50]],scale:[.06,.1],number_of_visible_shapes:17,change_positions_chance:.5,color_combinations_list:q,clustering_density:[7,9],gradient_coordinates:[0,0,100,0]}],S=[{id:"s_lp0",type:"plate",paths:s("L - send"),paths_group_name:"L - send",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.5,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[ae.special_sends],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","send","special_no_add"]},{id:"s_lp1",type:"plate",paths:s("L - sale"),paths_group_name:"L - sale",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.7,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[ae.special_sales],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","sale","special_no_add"]},{id:"s_lp2",type:"plate",paths:s("L - approval"),paths_group_name:"L - approval",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.45,.75],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:[ae.special_approval],clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","approval","special_no_add"]},{id:"s_lp3",type:"plate",paths:s("L - flip"),paths_group_name:"L - flip",color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.6,1],number_of_visible_shapes:2,change_positions_chance:.5,color_combinations_list:q,clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","flip","special_no_add"]}];for(let e=0;e<7;e++){var xe=qe[e];S.push({id:"hodl_lp_"+e,type:"plate",paths:s(xe),paths_group_name:xe,color_duration:[30,60],coordinates:[[0,20],[0,30]],scale:[.5,.8],number_of_visible_shapes:1,change_positions_chance:.5,color_combinations_list:q,clustering_density:[0,0],gradient_coordinates:[0,0,100,0],classes:["special","hodl","time_hodld_"+e]})}for(let e=0;e<7;e++)selected_path=ke[e],S.push({id:"milestone_lc_"+e,type:"cluster",paths:s(selected_path),paths_group_name:selected_path,color_duration:[30,60],coordinates:[[-10,10],[-30,30]],scale:[.06,.1],number_of_visible_shapes:10,change_positions_chance:.5,color_combinations_list:q,clustering_density:[7,9],gradient_coordinates:[0,0,100,0],classes:["special","contract_milestones","milestone_"+e]});let Ce={4:{0:{1:2,2:2,3:2,4:2,5:0,6:0,7:0,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:0,6:0,7:0,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:0,6:0,7:0,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:0,6:0,7:0,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:0,6:0,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:0,6:0,7:0,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:0,6:0,7:0,8:0,9:0,10:0}},5:{0:{1:2,2:2,3:2,4:2,5:1,6:0,7:0,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:0,7:0,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:0,7:0,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:0,7:0,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:0,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:0,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:0,7:0,8:0,9:0,10:0}},6:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:0,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:0,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:0,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:2,7:0,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:0,6:1,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:0,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:0,8:0,9:0,10:0}},7:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:0,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:2,8:0,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:0,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:2,7:3,8:0,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:0,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:0,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:0,9:0,10:0}},8:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:1,9:0,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:2,8:2,9:0,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:2,9:0,10:0},3:{1:3,2:3,3:4,4:4,5:3,6:2,7:3,8:2,9:0,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:1,9:0,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:0,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:1,9:0,10:0}},9:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:1,9:1,10:0},1:{1:2,2:3,3:2,4:3,5:2,6:1,7:2,8:2,9:2,10:0},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:2,9:2,10:0},4:{1:3,2:3,3:4,4:4,5:3,6:2,7:3,8:2,9:3,10:0},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:1,9:1,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:1,10:0},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:1,9:1,10:0}},10:{0:{1:2,2:2,3:2,4:2,5:1,6:1,7:2,8:2,9:1,10:1},1:{1:2,2:3,3:2,4:3,5:2,6:2,7:2,8:3,9:2,10:2},2:{1:3,2:3,3:3,4:3,5:2,6:2,7:3,8:2,9:3,10:3},3:{1:4,2:3,3:4,4:4,5:3,6:2,7:3,8:2,9:4,10:3},"-3":{1:1,2:0,3:0,4:1,5:1,6:1,7:0,8:1,9:1,10:0},"-2":{1:0,2:1,3:1,4:1,5:1,6:0,7:1,8:1,9:1,10:1},"-1":{1:2,2:1,3:2,4:1,5:1,6:1,7:2,8:1,9:1,10:1}}};for(Ae of S)Ae.paths_unlocked=!1;for(Le of M)Le.paths_unlocked=!1;for(we of M)if("plate"==we.type){if(--O<0)break;we.paths_unlocked=!0}for(Ne of M)Ne.classes=[];M.filter(e=>"plate"==e.type).length;let Me=!0;(new Date).getTime();var r=K(Object.keys(paths),!1),Te=r.filter(e=>"L "==e.slice(0,2)),$e=r.filter(e=>"S "==e.slice(0,2)),Ee=r.filter(e=>"LS"==e.slice(0,2)),a=[];for(let e=0;e<5;e++)for(var Oe of Te.concat(Ee))for(layer_name of paths[Oe][0].split(","))if(layer_name=="plate layer "+(e+1))try{a[e].push(Oe)}catch{a.push([]),a[e].push(Oe)}var l=[];for(let e=0;e<5;e++)for(var je of $e.concat(Ee))for(layer_name of paths[je][0].split(","))if(layer_name=="cluster layer "+(e+1))try{l[e].push(je)}catch{l.push([]),l[e].push(je)}for(let e=0;e<4;e++)a[e]=a[e].map(e=>({value:e,sort:o()})).sort((e,t)=>e.sort-t.sort).map(({value:e})=>e),l[e]=l[e].map(e=>({value:e,sort:o()})).sort((e,t)=>e.sort-t.sort).map(({value:e})=>e);var Pe,n,i,t=C.neutral[J(0,C.neutral.length-1)];let T=[t,t];r=document.querySelector("#main-svg"),(t=document.createElementNS(N,"defs")).setAttributeNS(null,"id","defs"),r.appendChild(t);{let e=document.querySelector("#main-svg"),t=F(le),r=K(F(me).colors),a=e.querySelector("#defs"),l=Re([0,0,100,0],"gradient_bg"),n=z(0,"#000000"),i=z(1,"#000000"),o=Q(r[0],t),s=Q(r[1],t),c=(n.appendChild(o),i.appendChild(s),l.appendChild(n),l.appendChild(i),a.appendChild(l),l=Re([0,0,100,0],"gradient_bg_mirror"),n=z(0,"#000000"),i=z(1,"#000000"),o=Q(r[1],t),s=Q(r[0],t),n.appendChild(o),i.appendChild(s),l.appendChild(n),l.appendChild(i),a.appendChild(l),document.createElementNS(N,"svg")),f=(c.classList.add("background"),c.setAttributeNS(null,"width","100%"),c.setAttributeNS(null,"height","100%"),c.setAttributeNS(null,"x",0),c.setAttributeNS(null,"y",0),document.createElementNS(N,"rect"));f.setAttributeNS(null,"width","100%"),f.setAttributeNS(null,"height","100%"),f.setAttributeNS(null,"x",0),f.setAttributeNS(null,"y",0),f.setAttributeNS(null,"fill","url(#gradient_bg)"),f.setAttributeNS(null,"id","background"),c.appendChild(f),e.appendChild(c)}!function(t=-1,r="bottom"){var a=document.querySelector("#main-svg"),l=a.querySelector("#defs"),n=K(Array.from(q)),i=[];for(let e=0;e<M.length;e++)if(!(-1!=t&e!=t)){var o,s=M[e],c=("cluster"==s.type&&(c=M[e-1],G(),c.current_x,c.current_scale,R(s.coordinates[0][0],s.coordinates[0][1]),c.current_y,c.current_scale,R(s.coordinates[1][0],s.coordinates[1][1])),n[e%n.length].colors),f=(i.includes(JSON.stringify(c)),i.push(JSON.stringify(c)),`g-${s.id}-`+s.type),u=R(s.color_duration[0],s.color_duration[1]),d=(s.current_scale=R(s.scale[0],s.scale[1],.01),Re(s.gradient_coordinates,f)),p=(d.setAttributeNS(null,"class",`gradient ${s.type} `+s.id),z(0,c[0][0])),_=z(1,c[1][0]),h=Q(c[0],u),u=Q(c[1],u),m=(p.appendChild(h),_.appendChild(u),d.appendChild(p),d.appendChild(_),l.appendChild(d),document.createElementNS(N,"g")),g=(m.setAttributeNS(null,"id",`g-${s.id}-${s.type}-`+e),m.setAttributeNS(null,"class",`layer group ${s.type} `+s.id),"cluster"==s.type&&(o=Ke(F(T),s.number_of_visible_shapes,R(s.clustering_density[0],s.clustering_density[1]),.5,[3,6],s.clustering_density)),K(Array.from(s.paths),s.paths_unlocked));for(let t=0;t<s.number_of_visible_shapes;t++){var y,b,S=`p-${s.id}-${s.type}-`+t,v=`s-${s.id}-${s.type}-`+t;let e=1;"plate"==s.type?(y=J(s.coordinates[0][0],s.coordinates[0][1])/s.current_scale,b=J(s.coordinates[1][0],s.coordinates[1][1])/s.current_scale,s.current_x=y,s.current_y=b,s.current_path=g[t%g.length]):(y=o[t][0],b=o[t][1],s.current_x=y,s.current_y=b,s.current_path=g[t%g.length],x.length&&(e=R(x[0],x[1],.01)));var A,L=document.createElementNS(N,"path"),w=(L.setAttributeNS(null,"transform",`scale(${s.current_scale*e}, ${s.current_scale*e})`),L.setAttributeNS(null,"d",s.current_path),L.setAttributeNS(null,"fill",`url(#${f})`),L.setAttributeNS(null,"id",S),L.setAttributeNS(null,"class",`layer path ${s.type} `+s.id),document.createElementNS(N,"svg"));w.setAttributeNS(null,"x",y+"%"),w.setAttributeNS(null,"y",b+"%"),w.setAttributeNS(null,"transform-origin","center"),w.setAttributeNS(null,"id",v),w.setAttributeNS(null,"class",`layer svg ${s.type} `+s.id);for(A of s.classes)w.classList.add(A),m.classList.add(A);w.appendChild(L),m.appendChild(w)}if(m.setAttribute("initial_number_of_shapes",s.number_of_visible_shapes),-1!=t)return m.animate([{opacity:"0"},{opacity:"1"}],{duration:se,iterations:1,fill:"forwards"}),"top"==r?(h=document.querySelectorAll(".group.plate"))[h.length-1].after(m):document.querySelector(".group.plate").before(m);a.appendChild(m)}}(),r=document.querySelector("#main-svg"),t=r.querySelector("#defs"),(Pe=document.createElementNS(N,"mask")).setAttributeNS(null,"id","bg_border_clip_path"),(n=document.createElementNS(N,"rect")).setAttributeNS(null,"width","101%"),n.setAttributeNS(null,"height","101%"),n.setAttributeNS(null,"x","0"),n.setAttributeNS(null,"y","0"),n.setAttributeNS(null,"fill","white"),(i=document.createElementNS(N,"rect")).setAttributeNS(null,"width","94%"),i.setAttributeNS(null,"height","95.3%"),i.setAttributeNS(null,"x","3%"),i.setAttributeNS(null,"y","2.5%"),i.setAttributeNS(null,"fill","black"),Pe.appendChild(n),Pe.appendChild(i),t.appendChild(Pe),(n=document.createElementNS(N,"rect")).setAttributeNS(null,"width","100%"),n.setAttributeNS(null,"height","100%"),n.setAttributeNS(null,"x","0"),n.setAttributeNS(null,"y","0"),n.setAttributeNS(null,"fill","url(#gradient_bg_mirror)"),n.setAttributeNS(null,"mask","url(#bg_border_clip_path)"),n.setAttributeNS(null,"class","frame"),r.appendChild(n);setTimeout(async function e(a,l=!1,n=10){let t=K(Array.from(M).concat(S));for(var i of t)if("cluster"==i.type){let e=k.querySelector(".group."+i.id);if(null!=e){let r=e.querySelectorAll("svg");var o=Ke(F(T),r.length,R(i.clustering_density[0],i.clustering_density[1]),.5,[3,6],i.clustering_density);for(let t=0;t<r.length;t++)if(G()>1-i.change_positions_chance&&!r[t].classList.contains("animating")&&!r[t].classList.contains("removing")){r[t].classList.add("animating");var s=o[t][0],c=o[t][1];s<0&&(s+=J(1,10)),0<s&&(s-=J(1,10)),c<0&&(c+=J(1,10)),0<c&&(c-=J(1,10)),i.current_x=s,i.current_y=c,l&&(i.current_path=F(i.paths));let e=e=>{e[0].classList.contains("removing")?e[0].remove():(e[0].setAttributeNS(null,"x",e[1]+"%"),e[0].setAttributeNS(null,"y",e[2]+"%"),e[4]&&e[0].querySelector("path").setAttributeNS(null,"d",e[3]))};0==n?_([r[t]],a,e,[r[t],s,c,i.current_path,l]):setTimeout(_,1e3*J(0,n),[r[t]],a,e,[r[t],s,c,i.current_path,l])}}}0;setTimeout(e,5e3,5,l,n)},5e3,5,!0,5),setTimeout(async function e(a,l=!1,n=10){864e5<(new Date).getTime()-ne&&(ne=(new Date).getTime(),--u,u=Math.max(u,5),ie=u);let i=!1;let o=Array.from(M).concat(S);let t=K(Array.from(M).concat(S));for(var s of t){if("plate"==s.type){let e=k.querySelector(".group."+s.id);if(null==e)continue;let r=e.querySelectorAll("svg");for(let t=0;t<r.length;t++){if(G()>1-s.change_positions_chance&&!r[t].classList.contains("animating")&&!r[t].classList.contains("removing")){if(r[t].classList.add("animating"),0<O&&ge<O)for(let e=0;e<o.length;e++)if(e<Math.min(O,10)-ge){ge++,l=!0;break}Math.abs(s.current_x-c)<10&&(c=s.current_x+R(-20,20)),Math.abs(s.current_y-f)<10&&(f=s.current_y+R(-20,20));var c=R(s.coordinates[0][0],s.coordinates[0][1])/s.current_scale,f=R(s.coordinates[1][0],s.coordinates[1][1])/s.current_scale;s.current_x=c,s.current_y=f,l&&(s.current_path=F(s.paths));let e=e=>{e[0].classList.contains("removing")?e[0].remove():(e[0].setAttributeNS(null,"x",e[1]+"%"),e[0].setAttributeNS(null,"y",e[2]+"%"),e[4]&&e[0].querySelector("path").setAttributeNS(null,"d",e[3]))};0==n?_([r[t]],a,e,[r[t],c,f,s.current_path,l]):setTimeout(_,1e3*J(0,n),[r[t]],a,e,[r[t],c,f,s.current_path,l]),i=!0;break}if(i)break}if(i)break}if(i)break}0;setTimeout(e,1e3*u,ie,l,n)},5e3,ie,!0,5);var Be=!1;!async function e(){try{if(h)return;h=!0,et().then(e=>tt(Ze))}catch(e){}h=!1;Be||(setInterval(e,1e4),Be=!0)}();let De=(e,t)=>{var r;return 0!=t&&(r=t<0?-1:1,t=Math.abs(t),0<=e&&--t,1<=e&&(t-=2),2<=e&&(t-=3),-0==(t=Math.max(0,t)*r))?0:t};async function j(e,t){if("send"==e){if(0<document.querySelectorAll(".sale").length&&(B("sale"),await P("special_frame_sale","special_background_sale")),0<document.querySelectorAll(".approval").length&&(B("approval"),await P("special_frame_approval","special_background_approval")),0<document.querySelectorAll(".send").length)return void D(1,5,20,!0);0<document.querySelectorAll(".special_frame_contract_milestone").length&&await P("special_frame_contract_milestone","special_background_contract_milestone"),I("send"),ze("cluster",1,2e4),await Ie(ye,"special_frame_send","special_background_send"),D(1,5,20,!0)}if("stop_send"==e&&(0<document.querySelectorAll(".send").length&&B("send"),0<document.querySelectorAll(".special_frame_send").length||0<document.querySelectorAll(".special_background_send").length)&&await P("special_frame_send","special_background_send"),"sale"==e){if(0<document.querySelectorAll(".send").length&&(B("send"),await P("special_frame_send","special_background_send")),0<document.querySelectorAll(".approval").length&&(B("approval"),await P("special_frame_approval","special_background_approval")),0<document.querySelectorAll(".sale").length)return void await Je(5,"plate",20,!0,!0);0<document.querySelectorAll(".special_frame_contract_milestone").length&&await P("special_frame_contract_milestone","special_background_contract_milestone"),I("sale"),Je(5,"plate",20,!0,!0),await Ie(be,"special_frame_sale","special_background_sale"),D(1,5,20,!0),ze("cluster",1,2e4)}if("stop_sale"==e&&(0<document.querySelectorAll(".sale").length&&B("sale"),0<document.querySelectorAll(".special_frame_sale").length||0<document.querySelectorAll(".special_background_sale").length)&&await P("special_frame_sale","special_background_sale"),"approval"==e){if(0<document.querySelectorAll(".send").length&&(B("send"),await P("special_frame_send","special_background_send")),0<document.querySelectorAll(".sale").length&&(B("sale"),await P("special_frame_sale","special_background_sale")),0<document.querySelectorAll(".approval").length)return void await D(1,5,20,!0);0<document.querySelectorAll(".special_frame_contract_milestone").length&&await P("special_frame_contract_milestone","special_background_contract_milestone"),I("approval"),await Ie(Se,"special_frame_approval","special_background_approval"),D(1,5,20,!0)}var r;if("stop_approval"==e&&(0<document.querySelectorAll(".approval").length&&B("approval"),0<document.querySelectorAll(".special_frame_approval").length||0<document.querySelectorAll(".special_background_approval").length)&&await P("special_frame_approval","special_background_approval"),"high_holder_distribution"==e&&(r=k.querySelectorAll("*"))[r.length-1].classList.contains("frame")&&(A=(r=document.querySelector(".frame")).cloneNode(!0),document.querySelector("g.group").before(A),r.animate({opacity:"0"},{duration:5e3,iterations:1,fill:"forwards"}),setTimeout(e=>e.remove(),5e3,r),await new Promise(e=>setTimeout(e,5e3))),"low_holder_distribution"!=e||(A=k.querySelectorAll("*"))[A.length-1].classList.contains("frame")||(A=(r=document.querySelector(".frame")).cloneNode(!0),(L=document.querySelectorAll("g.group"))[L.length-1].after(A),A.animate([{opacity:"0"},{opacity:"1"}],{duration:5e3,iterations:1,fill:"forwards"}),setTimeout(e=>e.remove(),5e3,r),await new Promise(e=>setTimeout(e,5e3))),"contract_milestone"==e){var a=document.querySelectorAll("g.contract_milestones").length,l=t+1-a;if(0<l){if(0<document.querySelectorAll(".send").length)return;if(0<document.querySelectorAll(".sale").length)return;if(0<document.querySelectorAll(".approval").length)return}for(let e=a;e<a+l;e++)I("milestone_"+e);if(Ue(document.querySelector(".special_frame_contract_milestone")))return;await Ie(ve,"special_frame_contract_milestone","special_background_contract_milestone"),Je(5,"plate",100,!0,!0)}if("stop_contract_milestone"==e&&0<document.querySelectorAll(".special_frame_contract_milestone").length&&await P("special_frame_contract_milestone","special_background_contract_milestone"),"contract_milestone_no_celebration"==e){var n=document.querySelectorAll("g.contract_milestones").length,i=t+1-n;for(let e=n;e<n+i;e++)I("milestone_"+e)}if("time_hodld"==e){var o=document.querySelectorAll("g.hodl"),s=t-o.length;if(0<s)for(let e=0;e<Math.abs(s);e++)I("time_hodld_"+e);else if(s<0)for(let e=0;e<Math.abs(s);e++)!function(e){var t=e.animate([{opacity:0}],{duration:5e3,iterations:1,fill:"forwards"});t.onfinish=()=>{e.remove()}}(o[e])}if("wallet_holds_multiple"==e&&(O=t-1),"flipped_x_times"==e&&null==document.querySelector(".flip")&&I("flip"),"hodld_after_flipped_x_times"==e&&B("flip"),"tier_royalty"==e){var c=t,f=document.querySelectorAll("g.plate:not(.special_no_add)"),u=f.length;let r=0,a=0;var d=document.querySelectorAll("path.plate:not(.special_no_add)").length;for(let t=0;t<f.length;t++){var p=f[t],_=p.querySelectorAll(".svg").length;parseInt(p.getAttribute("initial_number_of_shapes"));let e=Ce[u][c][t+1]-_;e<0?(e=Math.abs(e),d-r-e<ce&&(e=d-r-ce),Qe(p,e=Math.min(e,_)),r+=e):0<e&&(e=Math.abs(e),Ge(p,e=d+a+e>fe?fe-(d+a):e,"plate"),a+=e)}}if("tier_contract_activity"==e){var h=t,m=document.querySelectorAll("g.cluster:not(.special_no_add)"),g=m.length;let r=0,a=0;var y=document.querySelectorAll("path.cluster:not(.special_no_add)").length;for(let t=0;t<g;t++){var b=m[t],S=b.querySelectorAll(".svg").length,v=S-parse
1-50 of 60