function lightsBackDraw(){if(lightsOn){lightsBackColor=randLightC,background(lightsBackColor);for(let e=0;e<lightBack.length;e++)lightBack[e].draw(!0,0,0,0,0,0,0,0,0);for(let e=0;e<topLights.length;e++)topLights[e].draw(!0,0,0,0,0,-lightOffset,0,lightOffset,0),!showBackWalls&&reflectOn&&(push(),translate(0,1.2*height),scale(1,-1),topLights[e].draw(!0,0,0,0,0,-lightOffset,0,lightOffset,0),pop()),interactionOn&&lightsFlicker?topLights[e].flicker(!0):topLights[e].flicker(!1);showBackWalls&&(fill(40,10,20,.4),noStroke(),rect(rectX,rectY,rectS,rectS),fill(40,20,40,.5),beginShape(),curveVertex(rectX-rectS/2,rectY-rectS/2),curveVertex(rectX-rectS,rectY-rectS),curveVertex(0,.15*height),curveVertex(0,height),curveVertex(rectX-rectS,rectY+rectS),curveVertex(rectX-rectS/2,rectY+rectS/2),curveVertex(rectX-rectS/2,rectY),endShape(CLOSE),fill(50,15,40,.5),beginShape(),curveVertex(rectX+rectS/2,rectY-rectS/2),curveVertex(rectX+rectS,rectY-rectS),curveVertex(width,0),curveVertex(width,height),curveVertex(rectX+rectS,rectY+rectS),curveVertex(rectX+rectS/2,rectY+rectS/2),curveVertex(rectX+rectS/2,rectY),endShape(CLOSE),lightBack1.draw(!0,0,0,0,0,0,0,0,0),lightBack2.draw(!0,-globeScale,-globeScale,0,0,0,0,-globeScale,globeScale),lightBack3.draw(!0,0,0,globeScale,-globeScale,globeScale,globeScale,0,0))}}function lightsF(){a=.2,lightsColor2=[color(0,0,100,a),color(263,10,49,a),color(55,25,76,a),color(34,25,76,a),color(348,10,45,a)];let e=[color(45,5,100,.2),color(20,20,90,.2),color(40,10,95,.2)];for(let o=0;o<7;o++){lightCIndex=R.random_int(0,e.length-1),randLightC=e[lightCIndex];let t=width/10*o,i=R.random_num(.1*globeScale,.6*globeScale),l=R.random_num(.2*globeScale,1.2*globeScale),a=R.random_num(.3*globeScale,globeScale);lightScale=.01*globeScale,lightAmp=.1*globeScale,lightSkip=.02*globeScale,lightBack.push(new Squiggle(t,i,l,a,randLightC,randLightC,0,lightScale,lightAmp,lightSkip,0,0))}let o=6;showBackWalls||(o=20);for(let e=0;e<o;e++)for(let o=10;o>=0;o--){let t,i=.4*globeScale,l=i;lightScale=.001*globeScale,lightAmp=.015*globeScale,lightSkip=.02*globeScale,lightCIndex2=R.random_int(0,lightsColor2.length-1),randLightC2=lightsColor2[lightCIndex2],i*=1.5/(o+1.5),l=.4*i,rectX==xpos1&&(someFactor=.006*globeScale),rectX==xpos2&&(someFactor=.05*globeScale),rectX==xpos3&&(someFactor=.14*globeScale),showBackWalls||(someFactor=factorNum,tileSpace=.02*globeScale),lightX=e*i+o*someFactor,lightX+=i,t=o*(2*l+tileSpace),topLights.push(new Squiggle(lightX,t,i,l,randLightC2,randLightC2,0,lightScale,lightAmp,lightSkip,0,0))}let t=.07*globeScale,i=.02*globeScale,l=.05*globeScale,s=rectX-l;lightBack1=new Squiggle(s,rectY-l,rectS,rectS,randLightC,randLightC,0,lightScale,t,i,0,0),lightBack2=new Squiggle(s-rectS,rectY-l,rectS,rectS,randLightC,randLightC,0,lightScale,t,i,0,0),lightBack3=new Squiggle(s+rectS,rectY-l,rectS,rectS,randLightC,randLightC,0,lightScale,t,i,0,0)}function backFlies(){ranFlyImgIndex=R.random_int(0,flyImg.length-1),ranFlyImg=flyImg[ranFlyImgIndex],flies1=new Flies(ranFlyImg),paintC=color(R.random_num(0,360),R.random_num(20,65),R.random_num(30,90),.2);let e=R.random_num(3,10),o=R.random_num(3,10),t=globeScale*aspectRatio/o,i=globeScale/e,l=R.random_num(.7,2),a=R.random_num(.7,2),s=R.random_num(0,360),n=R.random_num(.005*globeScale,.02*globeScale),r=5e-4*globeScale,c=.015*globeScale;for(let h=0;h<e;h++)for(let e=0;e<o;e++)paintR=s*h,paintW=t*l,paintH=i*a,paintX=e*t+t,paintY=h*i+i,paint1.push(new Squiggle(paintX-t,paintY,paintW,paintH,paintC,0,0,r,n,c,paintR,0))}class Flies{constructor(e){this.mainScreenX=globeScale*aspectRatio*.36,this.mainScreenY=.53*globeScale,this.mainScreenW=1.2*globeScale,this.mainScreenH=.74*globeScale,this.scatterSpeed=2e-5*globeScale,this.speedX=.04*globeScale,this.speedY=.02*globeScale,this.flyBall=!1,this.flyTwitch=!1,this.flyScatter=!1,randFlyInteract<50?this.flyTwitch=!0:randFlyInteract>50&&randFlyInteract<90?this.flyScatter=!0:randFlyInteract>90&&randFlyInteract<=100&&(this.flyBall=!0),showFlies&&1==this.flyBall||showFlies&&1==this.flyTwitch||showFlies&&this.flyScatter,this.flyImg1=e,this.flySize2=R.random_num(.05*globeScale,.3*globeScale),this.flySize2>=.2*globeScale&&this.flySize2<.3?this.flyBall?this.numFlies=floor(R.random_num(10,20)):this.flyBall||(this.numFlies=floor(R.random_num(1,20))):this.flySize2<.2*globeScale&&this.flySize2>.1*globeScale?this.numFlies=floor(R.random_num(10,50)):this.flySize2<=.1*globeScale&&this.flySize2>.03*globeScale?this.numFlies=floor(R.random_num(50,100)):this.flySize2<.03*globeScale&&(this.numFlies=floor(R.random_num(100,200))),this.flyTwitch&&this.flySize2<.25*globeScale?this.numFlies=floor(R.random_num(5,200)):this.numFlies=floor(R.random_num(5,100)),this.interactFly=!1,this.flyC=R.random_num(0,80),this.r=R.random_num(0,180),this.flies=Array(this.numFlies).fill().map(((e,o)=>{let t=sin(R.random_num(0,TWO_PI))*globeScale*.7+this.mainScreenX,i=cos(R.random_num(0,TWO_PI))*globeScale*.35+this.mainScreenY,l=noise(o)*this.r;return{pos:createVector(t,i),x:t,y:i,originalX:t,originalY:i,rotation:l}}))}displayFlies(){for(let e of this.flies)push(),translate(e.pos.x,e.pos.y),rotate(e.rotation),tint(255,.7),image(this.flyImg1,0,0,this.flySize2,this.flySize2),pop(),noTint()}flyInteraction(){let e=globeScale*aspectRatio/2,o=2*globeScale,t=globeScale/2;if(endItOn&&mouseX>=buttonX-2*buttonS&&mouseX<=buttonX+2*buttonS&&mouseY>=buttonY-4*buttonS&&mouseY<=height||this.interactFly)for(let i of this.flies)this.flyBall&&(i.pos.x+=R.random_num(-this.speedX,this.speedX),i.pos.y+=R.random_num(-this.speedY,this.speedY),i.pos.x=lerp(i.pos.x,mouseX,.1),i.pos.y=lerp(i.pos.y,mouseY,.1)),this.flyTwitch&&(i.pos.x+=R.random_num(-this.speedX,this.speedX),i.pos.y+=R.random_num(-this.speedY,this.speedY)),this.flyScatter&&(i.pos.x+=R.random_num(-this.speedX,this.speedX),i.pos.y+=R.random_num(-this.speedY,this.speedY),i.pos.x<=e?i.pos.x=lerp(i.pos.x,-e,this.scatterSpeed):i.pos.x>=e&&(i.pos.x=lerp(i.pos.x,e,this.scatterSpeed)),i.pos.y<=t?i.pos.y=lerp(i.pos.y,-o,this.scatterSpeed):i.pos.y>=t&&(i.pos.y=lerp(i.pos.y,o,this.scatterSpeed)));else if(0==this.interactFly)for(let e of this.flies)e.pos.x=lerp(e.pos.x,e.originalX,.2),e.pos.y=lerp(e.pos.y,e.originalY,.2)}mousePressed(){mouseX>=0&&mouseX<=mainScreenX+1.21*mainScreenW&&mouseY>=mainScreenY-mainScreenH/2&&mouseY<=mainScreenY+mainScreenH/2&&(this.interactFly=!this.interactFly)}}function flyBackDraw(){if(fliesOn){background(flyBackColor);for(let e=0;e<paint1.length;e++)ranFlyShape<30?paint1[e].drawEllipse():paint1[e].draw(!1,0,0,0,0,0,0);showFlies&&(flies1.displayFlies(),interactionOn&&!endItTriggered&&flies1.flyInteraction())}}let finalScript1="we existed like parasites in the shared large intestine of a dying beast. aimlessly devouring a mass of inconsequence from feeding troughs filled with impotent directives from management. limping feebly towards some merciful demise. sometimes unable to determine who was responsible for consuming which pocket of strategic rot. or if they were meant to be consumed at all. perhaps left for the next sorry fuck to take our place under the stream of dehydrated piss and platitudes gushing from the screens we worshipped at. a salvation inducing waterfall of failure served conveniently into agape mouths with unbearable precision.\n\nwe ate to remember. we ate to forget. we ate because chewing was better than not chewing. and sometimes there was some vague illusion of flavor. or that the mechanical motion of our jaw would prompt a careless applause from someone whose marriage was collapsing for the sake of the company.\n\nkilling each other. living off of each other. breeding versions of ourselves that we couldn't recognize anymore. and watching them eat and shit. wondering when one of us would finally die. so the other could too.\n\nwe grilled memories on the fluorescent lights and watered the plastic office plants with fluid pouring from holes. molting yesterday's regret in agile meetings regarding reheated efficiency tactics from someone who succumbed to the quiet slaughter during the last corporate rebrand. or the rebrand before that rebrand.\n\nwe traded cubicles for basements and bedrooms. the nameless dread endured. eager to impregnate the floorboards and bedsheets of houses. we didn't come or go from misery anymore. there wasn't much motion left at all. existing as a daily sacrifice that would provide blood for the wheels of someone else's chair. and the faces broadcast through premium office networking software inhabited our dreams with the same cruel ubiquitousness required to climax into middle management.\n\nthere were sheet cakes during the good times though. I remember those sheet cakes. illuminated by the unreciprocated orgasm of a workstation orgy. under the trembling hands of the office administrator tasked with celebrating something unworthy of even the modest cafeteria offering. we'd watch the butcher's blade deflate the bounty of any lingering hope. and eyes fill with tears at the beauty of their life crumbling in unison with cake under a dull knife.",finalScript2="crumbs of funfetti gracing cracked lips to commemorate a life squandered.\n\nsome years we changed company colors and exchanged logos or fonts. other years we sat unmoving, in the 'keep warm' crockpot we worked from. hoping the water would evaporate and we could feel the air again.\n\nnonetheless. it was something to do. for all of those years it was something to do. some days passing quick. some years passing quicker. we met people who we called family. at least for a moment. strangers who were also encumbered with indifferently manufacturing digital waste. which functioned as adhesive for our flesh.\n\nthinking about those moments. those people. we sympathized with the parasite we existed with. and its ability to both deplete and replenish. in those moments our shared suffering was cherished.\n\nmost days we couldn't remember the last time we felt. and that maybe our nerves and limbs were incapable of such an indulgence anymore. anesthetized enough to persist for the sake of it. because the insect toil had grown familiar. and the lens of the camera sometimes smoothed our features. or paved over eyes that deviated from the screen.\n\nand there was comfort in waiting to be flaccidly carved off by the scalpel that had pried so many wounds before us. somehow fueled by the irrevocable dismantling. the muted incision. and the eternal meetings. and the numbness in a blinking cursor. that paid no attention. to the years lost.\n\na skin tag on the sagging ass of corporate america.";
function endItPage(){if(endItTriggered){num=.04*globeScale,bevel=.01*globeScale,noStroke(),fill(0,.3),rect(blueX+num/3,blueY+num/8,blueW+num,blueH+num,bevel),fill(ranC+3),zoomMeatOn&&fill(ranC+3,65,65),rect(blueX,blueY-num/4,blueW+num,blueH+num,bevel),fill(232,100,80,imageAlpha),noStroke(),rect(blueX,blueY,blueW,blueH),textAlign(LEFT,TOP),textSize(poemS),strokeWeight(7e-4*globeScale),textLeading(poemSpacing),stroke(255,textAlpha),fill(255,textAlpha),maxW=blueW,maxH=1.45*globeScale,text(finalScript1,blueX,endItPageY,.9*maxW,maxH),text(finalScript2,blueX,endItPageY+.52*maxH,.9*maxW),scrollIndicator();let e=blueW+num/1.5;new Squiggle(blueX-.0055*globeScale,blueY-blueH/1.95,e,.1*globeScale,ranC+3,0,0,noiseSZ,.018*globeScale,noiseSkip,0,.001*globeScale).draw(!1,0,0,0,0,0,0,0,0),rect(blueX,blueY+blueH/2,blueW+num,.1*globeScale);let o=color(0,65,100),t=.025*globeScale,i=blueX+blueW/2.05,l=blueY-blueH/2.05;dotR2=new Squiggle(i,l,t,t,o,0,iconScale,1,noiseAmpZ/2,iconSkip,0,.001*globeScale),dotR2.drawEllipse();let a=t;strokeWeight(.002*globeScale),stroke(ranC-3),fill(ranC-3),textAlign(CENTER,CENTER),textSize(a),text("X",i,l),mouseX>i-t/2&&mouseX<i+t/2&&mouseY>l-t/2&&mouseY<l+t/2?(cursorHand=!0,mouseIsPressed&&(showScroll=!0,endItTriggered=!1,endItPageY=blueY+blueH/2.7,scrollY=blueY-.5*blueH)):cursorHand=!1,scrollY<=scrollBarTop&&(endItPageY=lerp(endItPageY,blueY+blueH/2.7,.5)),scrollY>=scrollBarBottom&&(endItPageY=lerp(endItPageY,blueY-1.45*blueH,.5))}}function mouseWheel(e){if(endItTriggered)return e.delta<0?(scrollY-=.038*globeScale,endItPageY+=scrollY<=scrollBarTop?0:.1*globeScale):(scrollY+=.02*globeScale,scrollY>=scrollBarBottom?endItPageY+=0:endItPageY-=.05*globeScale),!1}function scrollIndicator(){scrollW=.015*globeScale,scrollH=.2*blueH,scrollY=constrain(scrollY,scrollBarTop,scrollBarBottom),noStroke(),fill(ranC-4),rect(blueX+blueW/2,blueY,scrollW,blueH,0,0,0,0),fill(255),rect(blueX+blueW/2,scrollY,.3*scrollW,scrollH)}function popUps(){let e=.5*globeScale;for(let o=0;o<popUpNum;o++){let o=globeScale*aspectRatio-e/1.2;popX=R.random_num(e,o),popY=R.random_num(e,globeScale-e/1.2),popPositions.push({x:popX,y:popY})}num=.04*globeScale,bevel=.01*globeScale;for(let o=0;o<popUpNum;o++){let t=popPositions[o];noStroke(),fill(0,.3),rect(t.x+num/3,t.y+num/8,e+num,e+num,bevel),fill(ranC+3),zoomMeatOn&&fill(ranC+3,65,65),rect(t.x,t.y-num/4,e+num,e+num,bevel),sixOn?image(sixsixsix,t.x,t.y,e,e):image(popImg[currentPopIndex],t.x,t.y,e,e);let i=.02*globeScale;new Squiggle(t.x,t.y-e/2-(i/2-2),e+num/2,i,ranC+3,0,0,noiseSZ,noiseAmpZ,noiseSkip,0,.001*globeScale).draw(!1,0,0,0,0,0,0,0,0);let l=color(0,65,100);dotR=new Squiggle(t.x+e/2,t.y-(e/2+dotH/1.5),dotW,dotH,l,0,iconScale,1,noiseAmpZ/2,iconSkip,0,.001*globeScale),dotR.drawEllipse()}}function popUpsInteraction(){interactionOn&&endItOn&&(endItOn&&!endItTriggered&&(mouseX>=buttonX-2*buttonS&&mouseX<=buttonX&&mouseY>=buttonY-4*buttonS&&mouseY<=width/aspectRatio?(moveColorOn=!0,mapMeatOn=!0,noiseAmpZ=(map(mouseX,buttonX-2*buttonS,buttonX,originalNoise,targetNoise)+map(mouseY,buttonY-4*buttonS,height,originalNoise,targetNoise))/2,endItWordsS=map(mouseX,buttonX-2*buttonS,buttonX,originalEndW,targetEndW),buttonS=map(mouseX,buttonX-2*buttonS,buttonX,.0415*globeScale,.14*globeScale),buttonY=map(mouseX,buttonX-2*buttonS,buttonX,.955*globeScale,.9*globeScale),textY=map(mouseX,buttonX-2*buttonS,buttonX,.955*globeScale,.9*globeScale),circleY=map(mouseX,buttonX-2*buttonS,buttonX,.956*globeScale,.9*globeScale),circleS=map(mouseX,buttonX-2*buttonS,buttonX,.004*globeScale,.009*globeScale)):mouseX>=buttonX&&mouseX<width&&mouseY>=buttonY-4*buttonS&&mouseY<=width/aspectRatio?(noiseAmpZ=map(mouseX,buttonX,width,targetNoise,originalNoise)+map(mouseY,height,buttonY-4*buttonS,targetNoise,originalNoise)/2,endItWordsS=map(mouseX,buttonX,width,targetEndW,originalEndW),buttonS=map(mouseX,buttonX,width,.14*globeScale,.0415*globeScale),buttonY=map(mouseX,buttonX,width,.9*globeScale,.955*globeScale),textY=map(mouseX,buttonX,width,.9*globeScale,.955*globeScale),circleY=map(mouseX,buttonX,width,.9*globeScale,.956*globeScale),circleS=map(mouseX,buttonX,width,.009*globeScale,.004*globeScale)):(moveColorOn=!1,mapMeatOn=!1,noiseAmpZ=originalNoise,endItWordsS=originalEndW,buttonS=orgButtonS,buttonY=.955*globeScale,textY=.955*globeScale,circleY=.956*globeScale,circleS=.004*globeScale),mouseX>=buttonX-buttonS/2&&mouseX<=buttonX+buttonS&&mouseY>=buttonY-buttonS/2&&mouseY<=buttonY+buttonS/2?(cursorHand=!0,buttonC=color(360,90,40)):(cursorHand=!1,buttonC=color(360,90,70))),endItTriggered&&(imageAlpha=1,endItPage())),endItTriggered||popSpamOn&&(popUps(),interactionOn&&(interactionOn=!interactionOn),keepSpam&&(popUpNum+=.5,popUpNum>=150&&(popUpNum=150)))}class Random{constructor(){this.useA=!1;let e=function(e){let o=parseInt(e.substring(0,8),16),t=parseInt(e.substring(8,16),16),i=parseInt(e.substring(16,24),16),l=parseInt(e.substring(24,32),16);return function(){o|=0,t|=0,i|=0,l|=0;let e=(o+t|0)+l|0;return l=l+1|0,o=t^t>>>9,t=i+(i<<3)|0,i=i<<21|i>>>11,i=i+e|0,(e>>>0)/4294967296}};this.prngA=new e(tokenData.hash.substring(2,34)),this.prngB=new e(tokenData.hash.substring(34,66));for(let e=0;e<1e6;e+=2)this.prngA(),this.prngB()}random_dec(){return this.useA=!this.useA,this.useA?this.prngA():this.prngB()}random_num(e,o){return e+(o-e)*this.random_dec()}random_int(e,o){return Math.floor(this.random_num(e,o+1))}random_bool(e){return this.random_dec()<e}random_choice(e){return e[this.random_int(0,e.length-1)]}}
function showAllSilsDraw(){showSils&&(showRatSil&&(push(),translate(ratSilX,ratSilY),scale(-1,1),ratSil1.silRat(),pop()),showSils5&&(ranReflect?(push(),translate(width/1.32,0),scale(-1,1),sils5.silFour(),pop()):sils5.silFour()),showSils4&&sils4.silThree(),showSils3&&(push(),translate(silsX2,silsY2),rotate(radians(-20)),sils3.silTwo(),pop()),showSils1&&sils1.silOne(),showSils2&&(push(),translate(width/1.32,0),scale(-1,1),sils2.silOne(),pop()),silsAnimOn&&!collapseMeatOn&&(sils1.animate(),sils2.animate(),sils3.animate(),sils4.animate(),sils5.animate(),ratSil1.animate()))}function silsF(){let e=R.random_num(0,1),o=R.random_num(0,1),t=R.random_num(0,1),i=R.random_num(0,1),l=R.random_num(0,1),a=R.random_num(0,1);if(e>.5&&(showSils1=!0),o>.5&&(showSils2=!0),t>.5&&(showSils3=!0),i>.5&&(showSils4=!0),l>.5&&(showSils5=!0),a>.5&&(showRatSil=!0),showSils5){R.random_num(0,1)>=.5?(ranReflect=!0,showSils1=!1,showSils4=!1):(ranReflect=!1,showSils2=!1,showSils3=!1)}R.random_num(0,100)<10&&(showSils=!1),silsW=.4*globeScale,silsH=.8*globeScale,silsX=0+silsW/4.5,silsY=R.random_num(.25*globeScale,.4*globeScale),silStrokeW=R.random_num(9e-4*globeScale,.015*globeScale),silsX2=1.15*globeScale,silsY2=R.random_num(.1*globeScale,.4*globeScale),silsW2=.6*globeScale,silsH2=1.5*silsW2,showSils2&&(silsY2=silsY-silsH/1.5),silsW3=.4*globeScale,silsH3=3*silsW3,silsX3=.04*width,silsY3=.2*globeScale,showSils1&&(silsY3-=silsH/1.5),silsW4=.6*globeScale,silsH4=2*silsW4,silsX4=1.14*globeScale,silsY4=.005*globeScale,ratSilW=.55*globeScale,ratSilH=2*ratSilW,ratSilX=1.2*globeScale,ratSilY=.35*globeScale,(showSils2||showSils3)&&(ratSilX=1.085*globeScale),showSils5&&!ranReflect&&(showRatSil=!1);let s=.019*globeScale,n=9e-4*globeScale,r=.02*globeScale,c=2e-4*globeScale;sils1=new Sils(silsX,silsY,silsW,silsH,silStrokeW,n,s,c,r),sils2=new Sils(silsX,silsY,silsW,silsH,silStrokeW,n,s,c,r),sils3=new Sils(0,0,silsW2,silsH2,silStrokeW,n,s,c,r),sils4=new Sils(silsX3,silsY3,silsW3,silsH3,silStrokeW,n,s,c,r),sils5=new Sils(silsX4,silsY4,silsW4,silsH4,silStrokeW,n,s,c,r),ratSil1=new Sils(0,0,ratSilW,ratSilH,silStrokeW,n,s,c,r)}class Sils{constructor(e,o,t,i,l,a,s,n,r){this.pos=createVector(e,o),this.w=t,this.h=i,this.xoff=0,this.yoff=1e3,this.noiseScale=a,this.noiseAmp=s,this.noiseSpeed=n,this.skip=r,this.stroke=255,this.strokeWeight=l,this.scaleFactor=R.random_num(.5,.8),this.offset=R.random_num(0,400),this.someValue=R.random_num(0,200),this.someValue2=R.random_num(0,20)}silOne(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:4,y:1512},{x:168,y:1480},{x:304,y:1592},{x:516,y:1636},{x:664,y:1884},{x:668,y:2048},{x:676,y:2136},{x:628,y:2192},{x:524,y:2096},{x:564,y:2192},{x:632,y:2232},{x:688,y:2220},{x:688,y:2160},{x:652,y:2116},{x:648,y:2008},{x:584,y:1984},{x:524,y:2052},{x:540,y:2128},{x:612,y:2132},{x:676,y:2124},{x:644,y:2276},{x:584,y:2248},{x:536,y:2108},{x:564,y:2280},{x:548,y:2244},{x:576,y:2268},{x:508,y:2288},{x:452,y:2264},{x:360,y:2332},{x:360,y:2280},{x:404,y:2300},{x:376,y:2320},{x:276,y:2084},{x:116,y:2012},{x:0,y:2136},{x:140,y:2264},{x:244,y:2200},{x:228,y:2132},{x:248,y:2340},{x:140,y:2424},{x:28,y:2292},{x:12,y:2204},{x:164,y:2340},{x:232,y:2232},{x:120,y:2320},{x:12,y:2204},{x:156,y:2260},{x:236,y:2196},{x:276,y:2116},{x:372,y:2324},{x:308,y:2492},{x:232,y:2504},{x:364,y:2436},{x:468,y:2388},{x:668,y:2592},{x:660,y:2344},{x:684,y:2176},{x:644,y:2552},{x:576,y:2476},{x:276,y:2500},{x:188,y:2580},{x:220,y:2420},{x:240,y:2588},{x:480,y:2696},{x:636,y:2536},{x:608,y:2724},{x:444,y:2788},{x:252,y:2668},{x:208,y:2588},{x:212,y:2792},{x:164,y:2900},{x:0,y:2812},{x:372,y:3036},{x:536,y:2912},{x:648,y:2536},{x:668,y:2048},{x:664,y:1884},{x:516,y:1636},{x:304,y:1592},{x:168,y:1480},{x:4,y:1512}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(this.scaleFactor),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t,r+.55*o)}endShape(CLOSE),pop()}silTwo(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill(),this.scale=.6;let e=this.w,o=this.h,t=[{x:699,y:303},{x:660,y:296},{x:602,y:340},{x:579,y:342},{x:577,y:335},{x:568,y:340},{x:564,y:359},{x:576,y:374},{x:582,y:368},{x:572,y:354},{x:562,y:365},{x:559,y:376},{x:545,y:388},{x:555,y:388},{x:563,y:396},{x:563,y:414},{x:503,y:469},{x:496,y:464},{x:502,y:460},{x:498,y:445},{x:541,y:401},{x:544,y:394},{x:560,y:418},{x:507,y:456},{x:499,y:448},{x:527,y:432},{x:543,y:396},{x:545,y:389},{x:563,y:395},{x:572,y:408},{x:592,y:423},{x:631,y:400},{x:641,y:356},{x:618,y:348},{x:596,y:363},{x:573,y:406},{x:595,y:424},{x:612,y:410},{x:583,y:408},{x:588,y:379},{x:612,y:350},{x:599,y:387},{x:612,y:407},{x:632,y:399},{x:609,y:388},{x:608,y:362},{x:622,y:348},{x:607,y:352},{x:583,y:380},{x:579,y:372},{x:572,y:372},{x:566,y:361},{x:562,y:364},{x:563,y:376},{x:545,y:388},{x:543,y:400},{x:496,y:448},{x:485,y:483},{x:585,y:502},{x:700,y:303},{x:660,y:296},{x:602,y:340},{x:579,y:342},{x:577,y:335},{x:568,y:340}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue2,o.y+=e*this.offset%this.someValue2;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(this.scaleFactor),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t,r+.55*o)}endShape(),pop()}silThree(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:0,y:1576},{x:76,y:1676},{x:108,y:1884},{x:344,y:1988},{x:412,y:2068},{x:400,y:2136},{x:536,y:2288},{x:763,y:2324},{x:832,y:2316},{x:924,y:2044},{x:916,y:1928},{x:940,y:1952},{x:776,y:2104},{x:584,y:1960},{x:436,y:1676},{x:540,y:1380},{x:852,y:1272},{x:984,y:1388},{x:940,y:1628},{x:976,y:1856},{x:784,y:2036},{x:704,y:1976},{x:540,y:1924},{x:432,y:1668},{x:784,y:2036},{x:704,y:1976},{x:540,y:1924},{x:432,y:1668},{x:580,y:1360},{x:660,y:1236},{x:612,y:1104},{x:568,y:1060},{x:548,y:952},{x:392,y:876},{x:236,y:884},{x:184,y:980},{x:272,y:1100},{x:408,y:1136},{x:524,y:1052},{x:520,y:992},{x:440,y:1068},{x:348,y:1068},{x:196,y:1008},{x:196,y:1068},{x:248,y:1164},{x:376,y:1224},{x:456,y:1200},{x:500,y:1168},{x:348,y:1184},{x:260,y:1144},{x:196,y:1048},{x:332,y:1164},{x:428,y:1188},{x:504,y:1164},{x:536,y:1032},{x:552,y:1076},{x:616,y:1064},{x:612,y:1168},{x:712,y:1188},{x:808,y:1188},{x:848,y:1136},{x:816,y:1120},{x:776,y:1092},{x:680,y:1132},{x:680,y:1184},{x:848,y:1208},{x:872,y:1224},{x:916,y:1188},{x:872,y:1160},{x:884,y:1236},{x:912,y:1232},{x:884,y:1172},{x:928,y:1108},{x:924,y:1056},{x:836,y:1016},{x:820,y:1024},{x:848,y:1036},{x:904,y:988},{x:824,y:944},{x:808,y:1004},{x:848,y:1028},{x:856,y:948},{x:792,y:868},{x:784,y:788},{x:508,y:588},{x:172,y:500},{x:0,y:600}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(this.scaleFactor),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t,r+.55*o)}endShape(),pop()}silFour(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:2924,y:360},{x:2860,y:616},{x:2880,y:956},{x:2876,y:1044},{x:2928,y:1080},{x:2996,y:1092},{x:3120,y:964},{x:3140,y:796},{x:3084,y:756},{x:2968,y:832},{x:2872,y:928},{x:2884,y:1044},{x:2956,y:1120},{x:3056,y:1112},{x:3092,y:1092},{x:3100,y:1004},{x:3092,y:952},{x:3088,y:1072},{x:3064,y:1140},{x:2984,y:1160},{x:2888,y:1048},{x:2916,y:1120},{x:2960,y:1180},{x:3036,y:1184},{x:3076,y:1120},{x:3080,y:1040},{x:3088,y:1184},{x:3096,y:1256},{x:3076,y:1248},{x:3076,y:1204},{x:3120,y:1232},{x:3292,y:1172},{x:3308,y:1116},{x:3348,y:1136},{x:3420,y:1084},{x:3436,y:1068},{x:3392,y:1032},{x:3372,y:1064},{x:3392,y:1084},{x:3440,y:1068},{x:3416,y:1044},{x:3436,y:1108},{x:3480,y:1076},{x:3504,y:988},{x:3580,y:900},{x:3592,y:792},{x:3668,y:616},{x:3716,y:584},{x:3740,y:640},{x:3764,y:720},{x:3940,y:784},{x:4004,y:756},{x:4068,y:752},{x:4088,y:692},{x:4060,y:676},{x:4024,y:768},{x:3924,y:744},{x:3832,y:748},{x:3760,y:688},{x:3728,y:572},{x:3816,y:684},{x:3960,y:744},{x:4036,y:728},{x:4056,y:656},{x:4052,y:568},{x:4036,y:660},{x:3928,y:692},{x:3820,y:656},{x:3760,y:660},{x:3724,y:596},{x:3688,y:600},{x:3640,y:640},{x:3584,y:812},{x:3580,y:900},{x:3500,y:1012},{x:3428,y:1096},{x:3384,y:1076},{x:3324,y:1120},{x:3300,y:1160},{x:3152,y:1228},{x:3100,y:1216},{x:3204,y:1324},{x:3208,y:1460},{x:3248,y:1488},{x:3248,y:1456},{x:3336,y:1404},{x:3352,y:1348},{x:3404,y:1368},{x:3440,y:1328},{x:3488,y:1328},{x:3704,y:1256},{x:3764,y:1228},{x:3804,y:1264},{x:4016,y:1264},{x:3960,y:1284},{x:3960,y:1324},{x:3916,y:1356},{x:3908,y:1388},{x:3892,y:1296},{x:3864,y:1276},{x:3892,y:1324},{x:3868,y:1388},{x:3824,y:1392},{x:3788,y:1276},{x:3820,y:1420},{x:3804,y:1464},{x:3780,y:1452},{x:3736,y:1300},{x:3780,y:1432},{x:3724,y:1472},{x:3664,y:1296},{x:3692,y:1408},{x:3672,y:1456},{x:3632,y:1436},{x:3596,y:1308},{x:3632,y:1444},{x:3604,y:1468},{x:3568,y:1452},{x:3516,y:1316},{x:3564,y:1480},{x:3532,y:1520},{x:3512,y:1516},{x:3444,y:1352},{x:3508,y:1508},{x:3492,y:1544},{x:3436,y:1548},{x:3380,y:1388},{x:3400,y:1488},{x:3428,y:1552},{x:3380,y:1568},{x:3376,y:1588},{x:3312,y:1448},{x:3360,y:1592},{x:3316,y:1628},{x:3272,y:1560},{x:3216,y:1480},{x:3264,y:1532},{x:3272,y:1580},{x:3312,y:1612},{x:3388,y:1748},{x:3448,y:1888},{x:3532,y:1920},{x:3680,y:1860},{x:3844,y:1684},{x:3952,y:1496},{x:3972,y:1280},{x:4044,y:1496},{x:4016,y:1620},{x:3940,y:1744},{x:3624,y:2060},{x:3464,y:1944},{x:3376,y:1840},{x:3300,y:1604},{x:3272,y:1564},{x:3272,y:1528},{x:3212,y:1464},{x:3216,y:1324},{x:3112,y:1212},{x:3080,y:1212},{x:3096,y:1264},{x:3088,y:1208},{x:3088,y:1160},{x:3080,y:1096},{x:3032,y:1176},{x:2976,y:1196},{x:2936,y:1164},{x:2932,y:1276},{x:2992,y:1352},{x:2996,y:1416},{x:3208,y:1412},{x:3264,y:1820},{x:3344,y:1968},{x:3460,y:2088},{x:3472,y:2136},{x:3788,y:2168},{x:3912,y:2152},{x:4100,y:1924},{x:4196,y:1904},{x:4304,y:1740},{x:4616,y:1468},{x:4684,y:1344},{x:3120,y:964}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(this.scaleFactor),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t,r+.55*o)}endShape(),pop()}silRat(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:1240,y:2515},{x:1220,y:2419},{x:1480,y:2039},{x:1480,y:2003},{x:1424,y:1983},{x:1336,y:1975},{x:1260,y:1879},{x:1188,y:1855},{x:1184,y:1783},{x:1224,y:1727},{x:1292,y:1719},{x:1420,y:1659},{x:1580,y:1723},{x:1516,y:1791},{x:1460,y:1839},{x:1348,y:1895},{x:1292,y:1963},{x:1392,y:1967},{x:1468,y:1895},{x:1504,y:1839},{x:1616,y:1759},{x:1520,y:1859},{x:1476,y:2007},{x:1536,y:1875},{x:1648,y:1727},{x:1684,y:1631},{x:1664,y:1723},{x:1768,y:1759},{x:1880,y:1727},{x:1968,y:1639},{x:1972,y:1571},{x:1944,y:1555},{x:1856,y:1539},{x:1716,y:1583},{x:1692,y:1659},{x:1676,y:1779},{x:1756,y:1827},{x:1904,y:1807},{x:1964,y:1739},{x:1976,y:1635},{x:1948,y:1527},{x:2020,y:1671},{x:2020,y:1831},{x:1912,y:1915},{x:1752,y:1831},{x:1676,y:1747},{x:1652,y:1695},{x:1672,y:1635},{x:1852,y:1543},{x:2008,y:1439},{x:2140,y:1423},{x:2176,y:1383},{x:2056,y:1447},{x:2124,y:1439},{x:2240,y:1315},{x:2464,y:1287},{x:2404,y:1315},{x:2464,y:1367},{x:2480,y:1335},{x:2460,y:1315},{x:2448,y:1315},{x:2452,y:1335},{x:2484,y:1335},{x:2524,y:1335},{x:2564,y:1343},{x:2584,y:1311},{x:2544,y:1319},{x:2604,y:1355},{x:2592,y:1371},{x:2616,y:1455},{x:2596,y:1547},{x:2616,y:1599},{x:2536,y:1647},{x:2560,y:1535},{x:2560,y:1427},{x:2564,y:1371},{x:2592,y:1363},{x:2508,y:1391},{x:2516,y:1451},{x:2504,y:1511},{x:2504,y:1587},{x:2484,y:1619},{x:2548,y:1603},{x:2548,y:1523},{x:2548,y:1455},{x:2568,y:1379},{x:2484,y:1387},{x:2408,y:1319},{x:2488,y:1403},{x:2428,y:1415},{x:2476,y:1383},{x:2300,y:1631},{x:2228,y:1803},{x:2316,y:1971},{x:2492,y:2037},{x:2544,y:2083},{x:2564,y:2011},{x:2604,y:1947},{x:2600,y:1863},{x:2652,y:1863},{x:2632,y:1943},{x:2620,y:2075},{x:2523,y:2103},{x:2676,y:2079},{x:2672,y:2043},{x:2696,y:1975},{x:2656,y:1903},{x:2624,y:1903},{x:2620,y:2067},{x:2652,y:2099},{x:2712,y:1999},{x:2668,y:1859},{x:2640,y:1811},{x:2684,y:1691},{x:2696,y:1651},{x:2668,y:1563},{x:2688,y:1487},{x:2652,y:1415},{x:2588,y:1363},{x:2620,y:1347},{x:2620,y:1295},{x:2572,y:1263},{x:2480,y:1259},{x:2416,y:1295},{x:2412,y:1363},{x:2496,y:1411},{x:2560,y:1379},{x:2616,y:1359},{x:2572,y:1319},{x:2532,y:1351},{x:2560,y:1343},{x:2580,y:1327},{x:2612,y:1355},{x:2656,y:1355},{x:2688,y:1451},{x:2676,y:1603},{x:2700,y:1655},{x:2696,y:1775},{x:2752,y:1855},{x:2812,y:1867},{x:2840,y:2103},{x:2780,y:2135},{x:2788,y:2187},{x:2828,y:2219},{x:2876,y:2235},{x:2924,y:2339},{x:2948,y:2479},{x:2920,y:2507}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(this.scaleFactor),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t,r+.55*o)}endShape(CLOSE),pop()}animate(){this.xoff+=this.noiseSpeed,this.yoff+=this.noiseSpeed}}
function meatBackDraw(){if(meatOn){background(255),fill(9,72,100,.3),rect(width/2,height/2,width,height);let e=!(ranCurve<50);for(let o=0;o<meat1.length;o++)purpleOn&&meat1[o].drawStriations(1,!1),meat2[o].draw(e,0,0,0,0,0,0,0,0),meat1[o].draw(e,0,0,0,0,0,0,0,0),interactionOn&&(collapseMeatOn&&(meat2[o].collapse(),meat1[o].collapse()),mapMeatOn&&(meat1[o].mapMeat(),meat2[o].mapMeat()))}}class Colleagues{constructor(e,o,t,i,l,a,s,n,r){this.pos=createVector(e,o),this.w=t,this.h=i,this.xoff=0,this.yoff=1e3,this.noiseScale=a,this.noiseAmp=s,this.noiseSpeed=n,this.skip=r,this.stroke=255,this.strokeWeight=l,this.offset=R.random_num(0,4*globeScale),this.someValue;let c=!1;R.random_num(0,1)>=.8&&(c=!0),this.someValue=c?R.random_num(50,100):R.random_num(0,50)}frame(){let e=this.w/2,o=this.h/2;strokeWeight(this.strokeWeight),stroke(this.stroke),noFill(),beginShape();for(let t=this.pos.x-e;t<=this.pos.x+e;t+=this.skip){let e=this.pos.y-o+noise(t*this.noiseScale+this.xoff)*this.noiseAmp;vertex(t,e)}for(let t=this.pos.y-o;t<=this.pos.y+o;t+=this.skip){let o=this.pos.x+e+noise(t*this.noiseScale+this.yoff)*this.noiseAmp;vertex(o,t)}for(let t=this.pos.x+e;t>=this.pos.x-e;t-=this.skip){let e=this.pos.y+o+noise(t*this.noiseScale+this.xoff)*this.noiseAmp;vertex(t,e)}for(let t=this.pos.y+o;t>=this.pos.y-o;t-=this.skip){let o=this.pos.x-e+noise(t*this.noiseScale+this.yoff)*this.noiseAmp;vertex(o,t)}endShape(CLOSE)}bodyL(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:375,y:657},{x:400,y:466},{x:481,y:453},{x:508,y:536},{x:540,y:552},{x:578,y:538},{x:574,y:478},{x:677,y:471},{x:684,y:528},{x:726,y:550},{x:763,y:520},{x:780,y:462},{x:854,y:468},{x:914,y:526},{x:930,y:661}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(.5);let n=o/2,r=e/2,c=.55*o;beginShape();for(let e of t){let o=map(e.x,i,l,-r,r)+noise(e.x*this.noiseScale+this.xoff)*this.noiseAmp,t=map(e.y,a,s,-n,n)+noise(e.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(o,t+c)}endShape(CLOSE),pop()}headL(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:375,y:657},{x:400,y:466},{x:481,y:453},{x:457,y:435},{x:447,y:440},{x:440,y:432},{x:442,y:445},{x:436,y:388},{x:454,y:344},{x:464,y:348},{x:464,y:336},{x:497,y:344},{x:497,y:364},{x:478,y:389},{x:483,y:352},{x:464,y:352},{x:522,y:251},{x:581,y:219},{x:666,y:211},{x:752,y:207},{x:785,y:247},{x:796,y:381},{x:795,y:350},{x:843,y:360},{x:846,y:407},{x:821,y:431},{x:788,y:375},{x:781,y:380},{x:706,y:352},{x:677,y:379},{x:696,y:428},{x:740,y:428},{x:773,y:378},{x:768,y:423},{x:744,y:452},{x:708,y:455},{x:676,y:432},{x:671,y:403},{x:668,y:371},{x:661,y:417},{x:672,y:431},{x:663,y:438},{x:653,y:441},{x:648,y:429},{x:660,y:433},{x:660,y:439},{x:648,y:428},{x:628,y:434},{x:612,y:423},{x:598,y:442},{x:591,y:430},{x:607,y:425},{x:597,y:443},{x:572,y:380},{x:564,y:416},{x:548,y:430},{x:528,y:436},{x:490,y:431},{x:481,y:404},{x:480,y:380},{x:527,y:348},{x:574,y:374},{x:575,y:430},{x:549,y:451},{x:521,y:459},{x:490,y:427},{x:496,y:445},{x:538,y:474},{x:564,y:424},{x:573,y:404},{x:564,y:476},{x:536,y:501},{x:507,y:478},{x:488,y:437},{x:476,y:416},{x:500,y:515},{x:538,y:553},{x:576,y:534},{x:574,y:483},{x:579,y:396},{x:573,y:476},{x:596,y:464},{x:651,y:453},{x:675,y:464},{x:676,y:411},{x:697,y:456},{x:738,y:455},{x:762,y:440},{x:770,y:378},{x:748,y:489},{x:721,y:500},{x:695,y:474},{x:674,y:435},{x:678,y:492},{x:696,y:540},{x:740,y:544},{x:766,y:509},{x:778,y:472},{x:772,y:375}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(.7),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t,r)}endShape(),pop()}headM(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:407,y:360},{x:500,y:380},{x:511,y:383},{x:505,y:360},{x:505,y:395},{x:526,y:398},{x:534,y:379},{x:522,y:380},{x:504,y:360},{x:524,y:376},{x:540,y:368},{x:556,y:344},{x:544,y:296},{x:517,y:249},{x:493,y:252},{x:481,y:309},{x:505,y:344},{x:539,y:345},{x:546,y:270},{x:536,y:261},{x:535,y:274},{x:546,y:213},{x:620,y:164},{x:692,y:149},{x:737,y:166},{x:781,y:228},{x:772,y:279},{x:787,y:314},{x:803,y:321},{x:814,y:280},{x:808,y:258},{x:788,y:241},{x:776,y:262},{x:784,y:293},{x:787,y:308},{x:810,y:297},{x:807,y:313},{x:798,y:322},{x:778,y:293},{x:786,y:324},{x:806,y:332},{x:811,y:302},{x:814,y:327},{x:802,y:336},{x:788,y:328},{x:781,y:318},{x:772,y:316},{x:777,y:328},{x:787,y:325},{x:764,y:334},{x:712,y:326},{x:711,y:312},{x:722,y:316},{x:722,y:327},{x:712,y:332},{x:709,y:318},{x:707,y:296},{x:696,y:256},{x:712,y:288},{x:699,y:337},{x:660,y:360},{x:631,y:347},{x:623,y:304},{x:628,y:352},{x:665,y:375},{x:694,y:360},{x:694,y:314},{x:701,y:290},{x:688,y:248},{x:648,y:244},{x:617,y:264},{x:620,y:313},{x:666,y:325},{x:697,y:313},{x:705,y:288},{x:709,y:317},{x:713,y:330},{x:709,y:380},{x:684,y:416},{x:654,y:419},{x:614,y:376},{x:584,y:311},{x:600,y:345},{x:667,y:404},{x:700,y:373},{x:712,y:329},{x:732,y:329},{x:738,y:376},{x:756,y:455},{x:778,y:465},{x:796,y:456},{x:786,y:347},{x:770,y:332},{x:743,y:347},{x:755,y:444},{x:787,y:445},{x:780,y:351},{x:764,y:343},{x:750,y:438},{x:728,y:461},{x:694,y:468},{x:679,y:463},{x:660,y:439},{x:641,y:434},{x:569,y:438},{x:554,y:380},{x:542,y:365}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(.6),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t,r)}endShape(),pop()}bodyM(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:366,y:663},{x:388,y:588},{x:388,y:553},{x:400,y:479},{x:392,y:416},{x:451,y:408},{x:522,y:410},{x:581,y:430},{x:597,y:485},{x:697,y:480},{x:723,y:514},{x:798,y:496},{x:816,y:387},{x:846,y:371},{x:890,y:403},{x:939,y:412},{x:973,y:412},{x:972,y:480},{x:958,y:555},{x:964,y:627},{x:960,y:657}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(.7),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t,r+.4*o)}endShape(),pop()}headR(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:881,y:680},{x:456,y:380},{x:479,y:441},{x:512,y:492},{x:582,y:518},{x:638,y:525},{x:681,y:490},{x:697,y:488},{x:716,y:437},{x:713,y:405},{x:722,y:383},{x:708,y:373},{x:703,y:354},{x:699,y:362},{x:699,y:381},{x:724,y:386},{x:740,y:373},{x:738,y:325},{x:737,y:298},{x:713,y:286},{x:704,y:320},{x:723,y:307},{x:737,y:325},{x:731,y:293},{x:715,y:260},{x:716,y:193},{x:681,y:167},{x:608,y:161},{x:536,y:177},{x:488,y:215},{x:468,y:268},{x:473,y:277},{x:475,y:269},{x:459,y:277},{x:458,y:309},{x:478,y:312},{x:494,y:301},{x:497,y:270},{x:460,y:273},{x:457,y:325},{x:482,y:327},{x:493,y:304},{x:484,y:323},{x:463,y:327},{x:452,y:317},{x:458,y:333},{x:479,y:337},{x:489,y:321},{x:497,y:340},{x:480,y:331},{x:488,y:325},{x:508,y:333},{x:532,y:325},{x:523,y:324},{x:524,y:336},{x:539,y:332},{x:535,y:325},{x:529,y:336},{x:552,y:322},{x:548,y:287},{x:562,y:264},{x:567,y:303},{x:576,y:321},{x:626,y:335},{x:644,y:330},{x:644,y:321},{x:650,y:309},{x:624,y:264},{x:598,y:256},{x:564,y:266},{x:564,y:321},{x:589,y:368},{x:615,y:368},{x:632,y:352},{x:642,y:317},{x:644,y:367},{x:630,y:389},{x:598,y:392},{x:583,y:371},{x:551,y:316},{x:577,y:377},{x:619,y:451},{x:664,y:481},{x:681,y:461},{x:694,y:432},{x:678,y:381},{x:656,y:435},{x:629,y:417},{x:658,y:392},{x:677,y:419},{x:686,y:445},{x:664,y:482},{x:591,y:400},{x:584,y:377},{x:540,y:365},{x:479,y:383},{x:476,y:414},{x:503,y:434},{x:552,y:426},{x:600,y:400},{x:574,y:397},{x:513,y:416},{x:480,y:410},{x:467,y:417},{x:484,y:413},{x:511,y:420},{x:566,y:404},{x:589,y:397},{x:556,y:355},{x:531,y:345},{x:505,y:359},{x:490,y:372},{x:460,y:400},{x:448,y:347},{x:465,y:280},{x:456,y:307},{x:478,y:317},{x:496,y:301},{x:496,y:273},{x:464,y:273},{x:455,y:321},{x:469,y:327},{x:486,y:325},{x:495,y:305},{x:484,y:338},{x:463,y:338},{x:452,y:320},{x:457,y:381}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(.6),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t+.02*globeScale,r)}endShape(),pop()}bodyR(){strokeWeight(this.strokeWeight),stroke(this.stroke),noFill();let e=this.w,o=this.h,t=[{x:368,y:683},{x:374,y:692},{x:356,y:522},{x:360,y:391},{x:384,y:378},{x:466,y:377},{x:459,y:385},{x:459,y:406},{x:480,y:438},{x:508,y:491},{x:571,y:515},{x:641,y:528},{x:680,y:491},{x:699,y:484},{x:716,y:432},{x:712,y:398},{x:728,y:383},{x:763,y:379},{x:816,y:377},{x:833,y:376},{x:844,y:367},{x:841,y:375},{x:811,y:365},{x:832,y:383},{x:856,y:380},{x:867,y:366},{x:882,y:543},{x:889,y:684},{x:866,y:541},{x:888,y:665},{x:882,y:555},{x:881,y:680}];for(let[e,o]of t.entries())o.x+=e*this.offset%this.someValue,o.y+=e*this.offset%this.someValue;let i=min(t.map((e=>e.x))),l=max(t.map((e=>e.x))),a=min(t.map((e=>e.y))),s=max(t.map((e=>e.y)));push(),translate(this.pos.x,this.pos.y),scale(.6),beginShape();for(let n of t){let t=map(n.x,i,l,-e/2,e/2)+noise(n.x*this.noiseScale+this.xoff)*this.noiseAmp,r=map(n.y,a,s,-o/2,o/2)+noise(n.y*this.noiseScale+this.yoff)*this.noiseAmp;curveVertex(t,r+.4*o)}endShape(),pop()}animate(){endItTriggered||(this.xoff+=this.noiseSpeed,this.yoff+=this.noiseSpeed,endItOn&&interactionOn&&(mouseX>=buttonX-2*buttonS&&mouseX<=buttonX&&mouseY>=buttonY-4*buttonS&&mouseY<=width/aspectRatio?this.noiseAmp=(map(mouseX,buttonX-2*buttonS,buttonX,originalNoise,targetNoise)+map(mouseY,buttonY-4*buttonS,width/aspectRatio,originalNoise,targetNoise))/2:mouseX>=buttonX&&mouseY>=buttonY-4*buttonS&&mouseY<=width/aspectRatio?this.noiseAmp=map(mouseX,buttonX,width,targetNoise,originalNoise)+map(mouseY,width/aspectRatio,buttonY-4*buttonS,targetNoise,originalNoise):this.noiseAmp=.02*globeScale,this.noiseAmp>=.06*globeScale&&(this.xoff=0,this.yoff=1e3)))}}function colleagueF(){let e=.24*globeScale,o=.09*globeScale,t=R.random_num(.001*globeScale,.004*globeScale),i=.02*globeScale,l=.001*globeScale,a=.02*globeScale,s=R.random_num(0,1);colleagueL=new Colleagues(.36*globeScale,.09*globeScale,e,o,t,l,i,s/2,a),colleagueM=new Colleagues(.63*globeScale,.09*globeScale,e,o,t,l,i,-s,a),colleagueR=new Colleagues(.9*globeScale,.09*globeScale,e,o,t,l,i,s/3,a)}
let R,hash,projectNumber,mintNumber,globeScale,currentPopIndex,popX,popY,someNum,time,sixsixsix,scrollBarBottom,scrollBarTop,scrollW,scrollH,scrollY,imageAlpha,textAlpha,endItPageY,maxH,maxW,blueX,blueY,blueW,blueH,silImg,showSils1,showSils2,showSils3,showSils4,showSils5,sils1,sils2,sils3,sils4,sils5,silsW,silsH,silsX,silsY,silsW2,silsH2,silsX2,silsY2,silsW3,silsH3,silsX3,silsY3,silsW4,silsH4,silsX4,silsY4,showRatSil,ratSil1,ratSilW,ratSilH,ratSilX,ratSilY,silStrokeW,ranSilsAnim,words,wordsC,timeIndex,endItWordsS,originalEndW,targetEndW,textY,circleY,circleS,nameArray,nameCSV,ranNameIndex,rowNames,rowStringNames,ranRowNames,rowNumNames,poemArray,poemCSV,poemS,poemX,poemY,ranPoemIndex,poemSpacing,row,rowString,ranRow,rowNum,colleagueL,colleagueM,colleagueR,ranColl,zoomPage,zoomImg,colleagueImg,ranC,noiseAmpZ,originalNoise,targetNoise,noiseSkip,noiseSZ,ranAlphaBack,randFlyInteract,mainScreenX,mainScreenY,mainScreenW,mainScreenH,flies1,flySize,flyRotation,flyBackColor,ranFlyShape,paintC,paintW,paintH,paintX,paintY,paintR,randMeatC,meatCIndex,meatR,meatColor,meatAlpha,meatY,meatSpacing,numMeatLines,meatAmp,meatAmpTarget,roundOn,ranCurve,die1,die2,die3,dieR,ranTieR,dieColor,dieAlpha,dieColor2,dieAlpha2,tieDieBackColor,dieY,dieX,dieSpacing,numDieLines,dieAmp,dieAmpTarget,dieScale,stockCIndex,ranArrowNum,ranColumnSpace,ranFire,arrowHeadH,arrowStroke,stock4,arrowY,arrowSpeed,stockC1,stockC2,stockAlpha,angle,amt,gradientC,s,b,stockHue,stockSat,offset1,offset2,a,ranWiggle,xpos1,xpos2,xpos3,factorNum,lightBack1,lightBack2,lightBack3,lightSkip,lightScale,lightAmp,lightOffset,rectX,rectY,rectS,lightCIndex2,randLightC2,randLightC,lightsBackColor,ranLightBack,peaGreen,whiteC,greyC,midG,iconC,lineC,offCol,camIcon1,camIcon2,camCol,micIcon1,micIcon2,micCol,moreIcon1,moreIcon2,moreIcon3,moreCol,endItButton,buttonX,buttonY,buttonS,origButtonS,targButtonS,buttonC,hyperTIcon1,hyperTIcon2,hyperTIcon3,hyperTIcon4,hyperCol,touchPoint1,touchPoint2,touchPoint3,touchCol,align1,align2,alignCol,eco1,ecoCol,greenEco,dotR,dotM,dotL,dotCol,disrupt1,disrupt2,disruptCol,whiteB1,whiteB2,whiteB3,whiteB4,whiteCol,iconScale,iconScale2,iconScale3,iconSkip,employee,currentImageIndex,params,ranBackOn=!0,interactionOn=!0,lightsOn=!1,tieDieOn=!1,stockOn=!1,meatOn=!1,fliesOn=!1,showSils=!0,zoomMeatOn=!1,sixOn=!1,purpleOn=!1,moveColorOn=!1,mapMeatOn=!1,arrowMoveOn=!1,collapseMeatOn=!1,showImage=!1,endItOn=!1,blinkOn=!0,showColls=!0,popImg=[],popPositions=[],popSpamOn=!1,nextPopUp=!1,turnOffSpam=!1,popUpNum=1,keepSpam=!1,waitTime=1e3,scrollAlpha=0,angleV=0,endItTriggered=!1,showScroll=!0,silsAnimOn=!1,ranReflect=!1,timeArray=["today","yesterday","tomorrow","forever","eternally","unfortunately","regrettably","last week","last year","10 years ago","flaccidly","listlessly","fully nude","on jenkem","high on K2","shidding","shaking","oxidizing","from a funeral","without bones","heavily perspiring","from an adult bookstore","after AEA"],squiggle=[],aspectRatio=1.777,backC=255,rareFlyOn=!1,showFlies=!1,flyImg=[],paint1=[],meat1=[],meat2=[],tieDieMoveOn=!1,stockUp=!1,stock1=[],stock2=[],stock3=[],showStocks=!0,showArrows=!0,stockArrow=[],stockArrowHead1=[],arrowUp=!0,stockCBack=[],showBackWalls=!0,reflectOn=!1,wiggleOn=!1,someFactor=60,factors=[],lightsFlicker=!1,lightBack=[],topLights=[],tileSpace=0,lightsColor2=[],cursorHand=!1,camOn=!1,micOn=!1,moreOn=!1,hyperOn=!1,touchOn=!1,alignOn=!1,ecoOn=!1,disruptOn=!1,whiteOn=!1,offlineOn=!1,dotOn=!1,imageCounter=0,imagesLoaded=!1;
nameless dread is our shared digital suffering. meetings that have no start or end. colleagues without bone or feature. routine dismantlings. a camera lens and its scalpel. and the memories lost in its unending carve.
one more day to achieve productivity salvation. one more year to win a grand prize. one more sheet cake to celebrate detaching retinas. the lips and holes of a generation limply leaking from the casing of an animal we never knew.
what is legacy? who deserves to be remembered? is it better to feel your own demise or quietly bleed into the polyester of a desk chair until there’s nothing left? what things are lost in our state of perpetual transaction? what are we euthanizing to vaguely live? is there comfort in that destruction? is our core self diluting into something unrecognizable in the psychotic penetration of tongues to eardrums or bleeding fingers to screens? is there relief in submission?
INSPIRATION
heavily inspired by a decade of producing digital waste no one wanted or asked for. the color palettes are muted as colleagues lose vibrancy and elasticity in a state of absent production. sparse paint strokes function as bandages desperately attempting to hold skin together that seeks no bandage and is unaware of the wounds it carries. lines are what remains. waiting patiently to be paved over. under the illusion of happiness.
TECHNICAL COMPOSITION & CONCEPT
it had to be generative. because there’s comedy in its generative nature. we’re prescribed vague digital suffering daily. and this project is no different. you exist in the nameless dread it chooses you to exist in. a meeting that never ends. with people you wish you had never met. engaged in insect toil that in the end will be forgotten.
to further indulge in that toil, the employees that sit as the focal point of each meeting container were hand illustrated. a several hundred hour burden that provides a level of unblemished human suffering unreplicable by machine.
this project demands the collector exist in its suffocating coils as they pour from the hole we worship at daily.
working with someone as gifted as sydney parks to fully realize the pain the code could inflict was vital. every iteration was an escalation. every realization of silhouette or background another level of rot. or in some cases false salvation. she explored and amplified every crevice of this depraved meeting. she is not only a coding mastermind but a visionary with a nuanced understanding of building the impossible.
INTERACTIVITY
everything is clickable. everything is fuckable. the lives of those forced to endure the never ending meeting are mere reflections of our own inconsequence.
press the ‘m’ key on your keyboard to download a gif of your output.
nameless dread is our shared digital suffering. meetings that have no start or end. colleagues without bone or feature. routine dismantlings. a camera lens and its scalpel. and the memories lost in its unending carve.
one more day to achieve productivity salvation. one more year to win a grand prize. one more sheet cake to celebrate detaching retinas. the lips and holes of a generation limply leaking from the casing of an animal we never knew.
what is legacy? who deserves to be remembered? is it better to feel your own demise or quietly bleed into the polyester of a desk chair until there’s nothing left? what things are lost in our state of perpetual transaction? what are we euthanizing to vaguely live? is there comfort in that destruction? is our core self diluting into something unrecognizable in the psychotic penetration of tongues to eardrums or bleeding fingers to screens? is there relief in submission?
INSPIRATION
heavily inspired by a decade of producing digital waste no one wanted or asked for. the color palettes are muted as colleagues lose vibrancy and elasticity in a state of absent production. sparse paint strokes function as bandages desperately attempting to hold skin together that seeks no bandage and is unaware of the wounds it carries. lines are what remains. waiting patiently to be paved over. under the illusion of happiness.
TECHNICAL COMPOSITION & CONCEPT
it had to be generative. because there’s comedy in its generative nature. we’re prescribed vague digital suffering daily. and this project is no different. you exist in the nameless dread it chooses you to exist in. a meeting that never ends. with people you wish you had never met. engaged in insect toil that in the end will be forgotten.
to further indulge in that toil, the employees that sit as the focal point of each meeting container were hand illustrated. a several hundred hour burden that provides a level of unblemished human suffering unreplicable by machine.
this project demands the collector exist in its suffocating coils as they pour from the hole we worship at daily.
working with someone as gifted as sydney parks to fully realize the pain the code could inflict was vital. every iteration was an escalation. every realization of silhouette or background another level of rot. or in some cases false salvation. she explored and amplified every crevice of this depraved meeting. she is not only a coding mastermind but a visionary with a nuanced understanding of building the impossible.
INTERACTIVITY
everything is clickable. everything is fuckable. the lives of those forced to endure the never ending meeting are mere reflections of our own inconsequence.
press the ‘m’ key on your keyboard to download a gif of your output.
per my last email…
one more day to achieve productivity salvation. one more year to win a grand prize. one more sheet cake to celebrate detaching retinas. the lips and holes of a generation limply leaking from the casing of an animal we never knew.
kind regards,
diewiththemostlikes