(window.webpackJsonp=window.webpackJsonp||[]).push([[53,21],{1491:function(e,t,o){"use strict";o(710)},1492:function(e,t,o){var n=o(106)((function(i){return i[1]}));n.push([e.i,".modal[data-v-34cad25a]{z-index:10}.modal-bg[data-v-34cad25a]{animation:bg-34cad25a .2s linear forwards;background:transparent;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9}@keyframes bg-34cad25a{0%{background:transparent}to{background:rgba(0,0,0,.7)}}.modal-inner[data-v-34cad25a]{animation:fadeIn-34cad25a .2s linear forwards;background:#fff;border:1px solid #ccc;border-radius:10px;left:50%;max-width:350px;padding:20px 20px 18px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:10}@keyframes fadeIn-34cad25a{0%{opacity:0;transform:translate(-50%,-20%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-text[data-v-34cad25a]{font-size:16px;text-align:center}.modal-close[data-v-34cad25a]{cursor:pointer;position:absolute;right:-10px;top:-10px;width:25px}.modal-close[data-v-34cad25a]:hover{transform:scale(1.06)}",""]),n.locals={},e.exports=n},1493:function(e,t,o){"use strict";o(711)},1494:function(e,t,o){var n=o(106),r=o(205),c=o(712),d=o(713),l=n((function(i){return i[1]})),h=r(c),f=r(d);l.push([e.i,'@font-face{font-family:"pixelWeb";src:url(/perfect-circle/disposable-digi.woff)}@font-face{font-family:"comicWeb";src:url('+h+')}@font-face{font-family:"comicWeb";font-weight:700;src:url('+f+')}@-o-viewport{width:100vw;zoom:1;user-zoom:fixed}@viewport{width:100vw;zoom:1;user-zoom:fixed}.container[data-v-2343289e]{left:0;position:fixed;top:0;--font-size:9vh;-webkit-backface-visibility:hidden}.container[data-v-2343289e],main[data-v-2343289e]{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}main[data-v-2343289e]{background:#101010 url(/perfect-circle/main.jpg) 50%;background-size:120% 100%;color:#f4f4f4;cursor:default;overflow:hidden;position:relative;text-align:center;-webkit-touch-callout:none}header h1[data-v-2343289e]{bottom:calc(50% + 20px + .75rem);font-weight:400;left:calc(50% - 3rem);opacity:0;pointer-events:none;position:absolute;text-shadow:.05rem .05rem 0 #101010,-.03rem .05rem 0 #101010,-.03rem -.03rem 0 #101010,.05rem -.03rem 0 #101010,0 0 .2rem #101010,0 0 .4rem #101010;transform:translateY(-.75rem);transition:transform .75s,opacity .75s;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:6rem;z-index:3}header h1.on[data-v-2343289e]{opacity:1;transform:translateY(0)}header h1 span[data-v-2343289e]:first-child{display:block;font-size:.45rem}header h1 span[data-v-2343289e]:nth-child(2){display:block;font-size:.5rem;text-transform:uppercase}header h1 strong[data-v-2343289e]{display:inline-block;font-size:.925em;margin:.01rem -.07rem 0 0;vertical-align:top}header h1 strong[data-v-2343289e]:nth-child(2){margin:.01rem 0 0 .12rem}header button[data-v-2343289e]{align-items:center;background:#f4f4f4;border:none;border-radius:50%;color:#f4f4f4;cursor:pointer;display:flex;font-size:.4rem;font-weight:700;height:1rem;justify-content:center;left:calc(50% - .5rem);outline:none;pointer-events:none;position:absolute;-webkit-text-decoration:none;text-decoration:none;text-transform:uppercase;top:calc(50% - .5rem - 20px);transform:scale(.2);transition:transform .5s,color .5s;width:1rem;z-index:3}header button.on[data-v-2343289e]{color:#101010;pointer-events:auto;transform:scale(1)}section[data-v-2343289e]{height:100vh;left:50%;margin:-50vh 0 0 -50vh;position:absolute;top:calc(50% - 20px);width:100vh;z-index:2}section h2[data-v-2343289e]{font-size:.35rem;font-weight:400;left:0;margin:-.7rem 0 0;opacity:0;pointer-events:none;position:absolute;right:0;text-shadow:2px 2px 0 #101010;top:50%;transition:opacity .5s}section h2.on[data-v-2343289e]{opacity:1}section h2 span[data-v-2343289e]{display:block;height:1rem}section div[data-v-2343289e],section svg[data-v-2343289e]{contain:layout;height:100%;left:0;position:absolute;top:0;width:100%}section svg[data-v-2343289e]{fill:none}section div[data-v-2343289e]{cursor:crosshair}section p[data-v-2343289e]{bottom:calc(50% - .36rem);color:#c00;contain:layout;font-family:"pixelWeb",sans-serif;font-size:1rem;left:0;position:absolute;right:0;text-shadow:2px 2px 0 #101010}section p span[data-v-2343289e]{display:inline-block}section p span[data-v-2343289e]:first-child{width:.4rem}section p span[data-v-2343289e]:nth-child(2),section p span[data-v-2343289e]:nth-child(3){width:.6rem}section p span[data-v-2343289e]:nth-child(4){width:.35rem}section p span[data-v-2343289e]:nth-child(5){font-size:.85rem;width:.5rem}section p span[data-v-2343289e]:nth-child(6){font-size:.85rem;text-align:left;width:1.08rem}footer[data-v-2343289e]{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}footer[data-v-2343289e]:before{background:#f4f4f4;border-radius:50%;content:"";height:.2rem;left:calc(50% - .1rem);position:absolute;top:calc(50% - .1rem - 20px);width:.2rem}footer ul[data-v-2343289e]{list-style:none}footer li[data-v-2343289e]{display:none;margin:.4rem 0 0}footer li[data-v-2343289e],footer p[data-v-2343289e]{font-size:.4rem;left:.1rem;position:absolute;right:0;text-shadow:2px 2px 0 #101010;top:calc(50% - 20px)}footer p[data-v-2343289e]{margin:.35rem 0 0;z-index:5}footer p span[data-v-2343289e]{color:#c00;font-family:"pixelWeb",sans-serif;font-size:.45rem;margin:0 0 0 .08rem}#share[data-v-2343289e]{bottom:60px;display:none;left:50%;position:absolute;transform:translateX(-50%);white-space:nowrap}#share button[data-v-2343289e]{border:2px solid #101010;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:18px;font-weight:700;min-width:95px;padding:14px 7px 16px;text-shadow:-1px -1px 10px rgba(0,0,0,.25),1px 2px 0 #101010}#share button+button[data-v-2343289e]{margin-left:-2px}#share button[data-v-2343289e]:first-child{border-radius:16px 6px 6px 16px}#share button[data-v-2343289e]:last-child{border-radius:6px 16px 16px 6px}#share button#shareTwitter[data-v-2343289e]{background:#1da1f2}#share button#shareCopy[data-v-2343289e]{background:#7676ea}#share button#shareCopy.shareCopyDone[data-v-2343289e]{background:#5b5b99;color:transparent;position:relative;text-shadow:none}#share button#shareCopy.shareCopyDone[data-v-2343289e]:after{color:#fff;content:"Done!";font-size:22px;left:10px;position:absolute;text-shadow:1px 2px 0 #101010;top:11px;transform:rotate(-20deg)}#share button#shareWhatsApp[data-v-2343289e]{background:#1ebea5;letter-spacing:-1px}#share button#shareMore[data-v-2343289e]{background:grey;min-width:0}#sound[data-v-2343289e]{font-size:16px;opacity:.5;position:absolute;right:0;top:0}#sound label[data-v-2343289e]{cursor:pointer;display:inline-block;padding:6px 8px 6px 6px}#sound input[data-v-2343289e]{accent-color:grey;cursor:pointer;margin:0 4px 0 0}#loading[data-v-2343289e]{font-family:sans-serif;font-size:16px;left:50%;letter-spacing:.4em;opacity:.5;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-100%)}#loading[data-v-2343289e]:before{content:"Loading"}.blink[data-v-2343289e]{animation:blink-animation-2343289e .6s steps(2,start) 3}.blink-grow[data-v-2343289e]{animation:blink-grow-2343289e 1s ease-in-out infinite}@keyframes blink-animation-2343289e{to{visibility:hidden}}@keyframes blink-grow-2343289e{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.site-logo[data-v-2343289e]{font-size:0;left:13px;max-width:145px;position:fixed;top:13px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:6}.controls-icon[data-v-2343289e]{cursor:pointer;height:27px}.controls-icon[data-v-2343289e]:hover{transform:scale(1.08)}.controls[data-v-2343289e]{display:grid;grid-template-columns:1fr 1fr;line-height:0;opacity:.7;position:fixed;right:14px;top:10px;z-index:2;grid-gap:20px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.controls[data-v-2343289e] :first-child{opacity:.55;padding:3px}.tweet[data-v-2343289e]{background:#1da1f2;width:90px}.copy[data-v-2343289e]{background:#b780ff;width:90px}.share[data-v-2343289e]{bottom:15px;left:50%;position:fixed;transform:translateX(-50%);grid-gap:15px;animation:shareFade-2343289e .4s ease-in-out .3s forwards;opacity:0;z-index:4}.share[data-v-2343289e],.share-btn[data-v-2343289e]{display:flex;justify-content:center}.share-btn[data-v-2343289e]{align-items:center;border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:comicWeb;font-size:18px;height:40px;line-height:0;-webkit-text-decoration:none;text-decoration:none;transition:transform .2s ease-in-out,opacity .2s ease-in-out;z-index:5}.share-btn[data-v-2343289e]:disabled{opacity:.7;pointer-events:none}.share button[data-v-2343289e]:hover{transform:scale(1.08)}.shirt-desktop[data-v-2343289e],.shirt-mobile[data-v-2343289e]{background:#ff2525}.shirt-desktop[data-v-2343289e]{width:165px}.shirt-mobile[data-v-2343289e]{display:none;width:90px}@keyframes shareFade-2343289e{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.pinwheel[data-v-2343289e]{animation:pinwheelFade-2343289e 1s ease-in-out forwards,spin-2343289e 20s linear infinite;left:50%;opacity:.1;pointer-events:none;position:fixed;top:calc(50% - .25rem);width:max(100vh,100vw);z-index:0}.pinwheel-fast[data-v-2343289e]{animation:pinwheelFade-2343289e 1s ease-in-out forwards,spin-2343289e 10s linear infinite}.vignette[data-v-2343289e]{animation:vignetteFade-2343289e 1s ease-in-out forwards;background:radial-gradient(circle,hsla(0,0%,100%,.2) 0,transparent 50%,transparent 100%);height:100%;left:0;pointer-events:none;position:fixed;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:1}.vignette-legendary[data-v-2343289e]{background:radial-gradient(circle,hsla(0,0%,100%,.5) 0,transparent 60%,transparent 100%)}.divine[data-v-2343289e]{animation:divine-2343289e 20s linear infinite;background:#101010 url(/perfect-circle/space.jpg) 50%;background-repeat:repeat;background-size:900px auto}.best-score[data-v-2343289e]{filter:drop-shadow(0 0 15px var(--score-color))}#perfect-circle-skyscraper[data-v-2343289e]{contain:layout style;height:600px;position:fixed;right:0;top:50%;transform:translateY(-50%);width:160px;z-index:999999}@keyframes flash-2343289e{0%{opacity:0}to{opacity:1}}@keyframes divine-2343289e{0%{background-position:0 0}to{background-position:900px 0}}@keyframes pinwheelFade-2343289e{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:.1;transform:translate(-50%,-50%) scale(1)}}@keyframes vignetteFade-2343289e{0%{opacity:0}to{opacity:.5}}@keyframes spin-2343289e{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.svg-container-spin[data-v-2343289e]{animation:spinSvg-2343289e 10s linear infinite}@keyframes spinSvg-2343289e{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media screen and (max-width:900px){.site-logo[data-v-2343289e]{max-width:120px}.controls[data-v-2343289e]{right:10px;grid-gap:18px}.share[data-v-2343289e]{bottom:30px;left:50%;right:auto;transform:translateX(-50%)}@keyframes shareFade-2343289e{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}#perfect-circle-center-ad[data-v-2343289e]{display:none}}@media screen and (max-width:500px){.shirt-desktop[data-v-2343289e]{display:none}.shirt-mobile[data-v-2343289e]{display:block}}',""]),l.locals={},e.exports=l},1495:function(e,t,o){"use strict";o(714)},1496:function(e,t,o){var n=o(106)((function(i){return i[1]}));n.push([e.i,'.perfect-circle{position:fixed;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(0,0,0,0);background:#101010;font-family:"comicWeb","Verdana",sans-serif;font-size:9vh;line-height:1.2;overflow:hidden;word-spacing:0}@media (min-aspect-ratio:1/1){.perfect-circle{font-size:10.8vh}.perfect-circle main{background-size:100% 120%}.perfect-circle section{height:120vh;margin:-60vh 0 0 -60vh;width:120vh}}@media (max-width:1400px){#perfect-circle-skyscraper{display:none}}',""]),n.locals={},e.exports=n},1981:function(e,t,o){"use strict";o.r(t);var n,r,c,d,l,h,f,m,v,w=o(11),x=(o(67),o(87),o(69),o(345),o(15),o(46),o(290)),y={},k=(o(1491),o(30)),_=Object(k.a)(y,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"modal"},[t("div",{staticClass:"modal-bg",on:{click:function(t){return e.$emit("close")}}}),e._v(" "),t("div",{staticClass:"modal-inner"},[t("img",{staticClass:"modal-close",attrs:{src:"/perfect-circle/close.svg"},on:{click:function(t){return e.$emit("close")}}}),e._v(" "),t("div",{staticClass:"modal-text"},[e._v("Originally created by Matt Round")])])])}),[],!1,null,"34cad25a",null).exports,C=o(287),M={x:500,y:500},z={};function D(e){var t=480*(e-.75);return t=Math.min(t,120),"hsl("+(t=Math.max(t,0))+", 100%, "+(40+.2*t)+"%)"}var S,A,W={components:{Modal:_,Logo:C.default},data:function(){return{isDrawing:!1,start:!1,score:0,hasDrawn:!1,best:0,showBest:!1,newBestScore:!1,scoreColor:"",message:"",sound:!0,showInfo:!1,copied:!1,valid:!1,loadingShirt:!1}},head:function(){return{htmlAttrs:{class:"perfect-circle"},link:[{rel:"preload",href:"/perfect-circle/disposable-digi.woff",as:"font",type:"font/woff",crossorigin:!0}],meta:[{name:"theme-color",content:"#101010"}]}},mounted:function(){n={count:2e3,angle:-2.5,lastX:0,lastY:0,stroke:20,radiusCorrect:0,message:"",sound:!0},M={x:500,y:500},z={},m=new x.Howl({src:["/perfect-circle/fx.mp3"],volume:.3,sprite:{error:[473,303],best:[1243,809],drawing:[2539,10450]}}),v=new x.Howl({src:["/perfect-circle/ahh.mp3"],volume:.3}),this.demoAnim()},computed:{scoreString:function(){return 0===this.score?" XXX":(" "+this.score).slice(-4)},bestString:function(){return(100*this.best).toFixed(1)+"%"}},watch:{sound:function(e){Howler.mute(!e)}},methods:{setupDrawContainer:function(){var e=this;["mousedown","touchstart"].forEach((function(t){return e.$refs.drawContainer.addEventListener(t,e.onDrawStart,!1)})),["mousemove","touchmove"].forEach((function(t){return e.$refs.drawContainer.addEventListener(t,e.onDrawMove,!1)})),["mouseup","mouseout","touchend","touchcancel"].forEach((function(t){return e.$refs.drawContainer.addEventListener(t,e.onDrawEnd,!1)}))},onDrawStart:function(e){var t=this;if(this.isDrawing)return!1;this.hasDrawn=!0,this.showBest=!1,this.newBestScore=!1,this.isDrawing=!0,this.copied=!1,this.valid=!1;var o=this.coords(e);return z.x=o.x,z.y=o.y,z.time=Date.now(),z.speed=0,z.accuracy=1,z.dx=0,z.dy=0,z.angle=180+180*Math.atan2(o.y-M.y,o.x-M.x)/Math.PI,z.radius=Math.sqrt(Math.pow(o.x-M.x,2)+Math.pow(o.y-M.y,2)),z.distance=0,z.stroke=20,r=z.radius,l=0,c=0,d=0,this.$refs.svgContainer.replaceChildren(),this.isDrawing=!0,h=setTimeout((function(){t.$refs.drawContainer.dispatchEvent(new Event("mouseup")),t.message="Too slow"}),7e3),f=m.play("drawing"),m.volume(0,f),r<100&&(this.$refs.drawContainer.dispatchEvent(new Event("mouseup")),this.message="Too close to dot"),!1},onDrawMove:function(e){if(!this.isDrawing)return!1;var time=Date.now(),t=this.coords(e),o=t.x-z.x,n=t.y-z.y,h=Math.sqrt(Math.pow(o,2)+Math.pow(n,2));if(h<6)return m.volume(0,f),!1;var v=h/(.001+time-z.time);0==z.distance&&(z.distance=h),0==z.speed&&(z.speed=v);var w=1.5+2/(.05+v);w=(3*z.stroke+w)/4,w=Math.min(w,20);var x=180+180*Math.atan2(t.y-M.y,t.x-M.x)/Math.PI,y=x-z.angle;y<-180?y+=360:y>180&&(y-=360);var k=y<0?-1:1;if(0==l){if(Math.abs(y)<.1)return!1;l=k}var _=Math.sqrt(Math.pow(t.x-M.x,2)+Math.pow(t.y-M.y,2)),C=1-Math.abs((_+z.radius)/2-r)/r;C=Math.max(C,0);var S=z.dx*h/z.distance,A=z.dy*h/z.distance,W=o+(o-S),E=n+(n-A);return this.draw("path",{d:"M"+z.x+" "+z.y+" C"+(z.x+S/3.5)+" "+(z.y+A/3.5)+","+(t.x-W/3.5)+" "+(t.y-E/3.5)+","+t.x+" "+t.y,style:"stroke: "+D(C)+"; stroke-width:"+w+"px;"}),m.volume(Math.min(C*v/75,.15),f),k!=l?(this.$refs.drawContainer.dispatchEvent(new Event("mouseup")),this.message="Wrong way",!1):_<30?(this.$refs.drawContainer.dispatchEvent(new Event("mouseup")),this.message="Too close to dot",!1):(z.x=t.x,z.y=t.y,z.time=time,z.speed=v,z.accuracy=C,z.dx=o,z.dy=n,z.angle=x,z.radius=_,z.distance=h,z.stroke=w,y=Math.abs(y),(d+=y)>360&&(y-=d-360,d=360),c+=y*C,this.score=Math.min(Math.round(1e3*c/d),999),this.scoreColor=D(c/d),360==d&&this.onComplete(),!1)},onComplete:function(){if(m.stop(f),this.isDrawing=!1,this.valid=!0,0==this.best?this.message="Have another go!":this.showBest=!0,clearTimeout(h),this.score>Math.round(1e3*this.best)){if(this.best=c/d,this.bestColor=D(this.best),this.score>=950&&v.play(),m.play("best"),0==this.best)return!1;this.newBestScore=!0,this.showBest=!1,999===this.score?this.message="Perfect circle":this.score>=990?this.message="Divine circle":this.score>=980?this.message="Legendary circle":this.message="New best score"}},onDrawEnd:function(e){return!!this.isDrawing&&(d>335?this.onComplete():(this.isDrawing=!1,m.stop(f),m.play("error"),this.score=0,this.scoreColor=D(0),this.message="Draw a full circle",clearTimeout(h)),!1)},onGoClick:function(){this.start=!0,this.setupDrawContainer(),setTimeout((function(){n.count=0}),500)},coords:function(e){this.$refs.svgContainer.classList.remove("svg-container-spin");var t=this.$refs.svgContainer.getBoundingClientRect(),o=1e3/t.width,n={};return 0===e.type.indexOf("touch")?(n.x=o*(e.touches[0].pageX-t.left),n.y=o*(e.touches[0].pageY-t.top)):(n.x=o*(e.pageX-t.left),n.y=o*(e.pageY-t.top)),n},draw:function(e,t){var o=document.createElementNS("http://www.w3.org/2000/svg",e);for(var a in t)o.setAttribute(a,t[a]);this.$refs.svgContainer.appendChild(o)},demoAnim:function(){if(!(this.hasDrawn||(n.count--,n.count<491))){var e=.04+.01*Math.cos(2+n.count/47);n.angle+=e;var t=280+85*Math.sin(4+n.count/66),o=M.x+t*Math.cos(n.angle)+50*Math.sin(1+n.count/29),r=M.y+t*Math.sin(n.angle)+50*Math.cos(5+n.count/17);t=Math.sqrt(Math.pow(o-M.x,2)+Math.pow(r-M.y,2)),0==n.radiusCorrect&&(n.radiusCorrect=t);var c=1-Math.abs(t-n.radiusCorrect)/n.radiusCorrect;0==n.lastX&&(n.lastX=o,n.lastY=r,requestAnimationFrame(this.demoAnim)),this.draw("path",{d:"M"+n.lastX+" "+n.lastY+" L"+o+" "+r,style:"stroke: "+D(c)+"; stroke-width:"+n.stroke+"px;"}),n.lastX=o,n.lastY=r;var d=16-300*e;n.stroke=(9*n.stroke+d)/10,requestAnimationFrame(this.demoAnim)}},copy:(A=Object(w.a)(regeneratorRuntime.mark((function e(){var text;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return text="My circle is ".concat((this.score/10).toFixed(1),"% perfect, can you beat that? https://neal.fun/perfect-circle/"),this.copied=!0,e.prev=2,e.next=5,navigator.clipboard.writeText(text);case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(2),console.error("Failed to copy: ",e.t0);case 10:case"end":return e.stop()}}),e,this,[[2,7]])}))),function(){return A.apply(this,arguments)}),getTshirtLink:(S=Object(w.a)(regeneratorRuntime.mark((function e(){var t,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this.loadingShirt=!0,e.next=4,fetch("https://perfect-circle.neal.fun/?accuracy=".concat((this.score/10).toFixed(1)),{method:"POST",mode:"cors",cache:"no-cache",credentials:"same-origin",headers:{"Content-Type":"text/plain"},body:this.$refs.svgContainer.outerHTML});case 4:return t=e.sent,e.next=7,t.json();case 7:o=e.sent,this.loadingShirt=!1,o.storeLink&&(window.location.href=o.storeLink),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),this.loadingShirt=!1;case 15:case"end":return e.stop()}}),e,this,[[0,12]])}))),function(){return S.apply(this,arguments)}),tweet:function(){var e="⭕️ My circle is ".concat((this.score/10).toFixed(1),"% perfect, can you beat that?"),t="https://twitter.com/intent/tweet?text=".concat(encodeURIComponent(e),"&url=").concat(encodeURIComponent("https://neal.fun/perfect-circle/"));window.open(t,"_blank")}},beforeDestroy:function(){Howler.unload(),this.hasDrawn=!0;try{window.ramp&&window.ramp.destroyUnits("all")}catch(e){}}},E=W,L=(o(1493),o(1495),Object(k.a)(E,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"container"},[t("Logo",{attrs:{className:"site-logo",name:"perfect-circle"}}),e._v(" "),e.showInfo?t("Modal",{on:{close:function(t){e.showInfo=!1}}}):e._e(),e._v(" "),t("AdPlaywire",{attrs:{type:"sky_atf",name:"perfect-circle-skyscraper",minWidth:1400}}),e._v(" "),t("main",{class:{divine:e.score>=990&&e.valid}},[t("header",[t("h1",{class:{on:!e.start}},[t("span",[e._v("Can you draw a")]),e._v(" "),e._m(0)]),e._v(" "),t("button",{class:{on:!e.start},on:{click:e.onGoClick}},[e._v("Go")])]),e._v(" "),t("section",{class:{"best-score":e.newBestScore},style:{"--score-color":e.scoreColor}},[t("h2",{class:{on:!e.hasDrawn&&e.start}},[t("span",[e._v("Draw a circle")]),e._v(" "),t("span",[e._v("around this")])]),e._v(" "),t("svg",{ref:"svgContainer",class:{"svg-container-spin":e.score>=970&&e.valid},attrs:{"stroke-linecap":"round",fill:"none",viewBox:"0 0 1000 1000",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}}),e._v(" "),t("p",{directives:[{name:"show",rawName:"v-show",value:e.hasDrawn,expression:"hasDrawn"}],ref:"score",style:{color:e.scoreColor}},[t("span",[e._v(e._s(e.scoreString.charAt(0)))]),t("span",[e._v(e._s(e.scoreString.charAt(1)))]),t("span",[e._v(e._s(e.scoreString.charAt(2)))]),t("span"),t("span",[e._v(e._s(e.scoreString.charAt(3)))]),t("span",[e._v("%")])]),e._v(" "),t("div",{ref:"drawContainer"})]),e._v(" "),t("footer",{directives:[{name:"show",rawName:"v-show",value:!e.isDrawing,expression:"!isDrawing"}]},[e.showBest?t("p",[e._v("\n Best:"),t("span",{style:{color:e.bestColor}},[e._v(e._s(e.bestString))])]):t("p",{class:{blink:e.newBestScore,"blink-grow":e.newBestScore&&e.score>=960}},[e._v("\n "+e._s(e.message)+"\n ")])]),e._v(" "),t("div",{staticClass:"controls"},[t("img",{staticClass:"controls-icon",attrs:{src:"/perfect-circle/info.svg"},on:{click:function(t){e.showInfo=!0}}}),e._v(" "),t("img",{staticClass:"controls-icon",attrs:{src:"/perfect-circle/".concat(e.sound?"un":"","muted.svg")},on:{click:function(t){e.sound=!e.sound}}})])]),e._v(" "),e.valid?t("div",{staticClass:"share"},[t("button",{staticClass:"share-btn tweet",on:{click:e.tweet}},[e._v("Tweet")]),e._v(" "),t("button",{staticClass:"share-btn copy",on:{click:e.copy}},[e._v("\n "+e._s(e.copied?"Copied":"Copy")+"\n ")])]):e._e(),e._v(" "),t("img",{directives:[{name:"show",rawName:"v-show",value:e.score>=950&&e.valid,expression:"score >= 950 && valid"}],staticClass:"pinwheel",class:{"pinwheel-fast":e.score>=970},attrs:{src:"/perfect-circle/pinwheel.svg"}}),e._v(" "),e.score>=960&&e.valid?t("div",{staticClass:"vignette",class:{"vignette-legendary":e.score>=960&&e.valid}}):e._e()],1)}),[function(){var e=this,t=e._self._c;return t("span",[t("strong",[e._v("perfect")]),e._v(" circle"),t("strong",[e._v("?")])])}],!1,null,"2343289e",null));t.default=L.exports;installComponents(L,{Logo:o(287).default,AdPlaywire:o(407).default,Header:o(337).default,Footer:o(320).default})},316:function(e,t,o){var content=o(336);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(107).default)("34af6314",content,!0,{sourceMap:!1})},335:function(e,t,o){"use strict";o(316)},336:function(e,t,o){var n=o(106)((function(i){return i[1]}));n.push([e.i,".header-wrapper[data-v-49976d09]{background-color:#fff;font-size:30px;font-weight:700;height:94px;margin-bottom:25px}.header-inner[data-v-49976d09],.header-wrapper[data-v-49976d09]{align-items:center;display:flex}.header-inner[data-v-49976d09]{margin-left:auto;margin-right:auto;padding:0 0 0 14px;position:relative;width:100%}.header-site-link[data-v-49976d09]{width:144px}.social-img[data-v-49976d09]{height:23px}.social-img-twitter[data-v-49976d09]{padding:1px}.social-link[data-v-49976d09]:hover{transform:scale(1.08)}.socials[data-v-49976d09]{display:flex;grid-gap:15px;display:none}#header-skyscraper[data-v-49976d09]{bottom:0;height:105px;overflow:hidden;position:absolute;right:0;width:720px}@media only screen and (max-width:600px){.header-wrapper[data-v-49976d09]{height:90px}.header-inner[data-v-49976d09]{padding:0 20px}.header-site-link[data-v-49976d09]{width:130px}}",""]),n.locals={},e.exports=n},337:function(e,t,o){"use strict";o.r(t);o(143);var n=o(293),r=o(287),c={props:{width:{type:Number,required:!0},showAd:{type:Boolean,required:!1,default:!0}},components:{Ad:n.default,Logo:r.default}},d=(o(335),o(30)),component=Object(d.a)(c,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"header-wrapper"},[t("div",{staticClass:"header-inner",style:{maxWidth:e.width+"px"}},[t("Logo",{attrs:{className:"header-site-link",name:"default"}}),e._v(" "),t("client-only",[e.width>=900&&e.showAd?t("Ad",{attrs:{slotId:"8007340466",adStyle:"display: block; width: 728px; height: 90px; margin-left: auto;",adFormat:"none",isResponsive:!1,minWidth:960}}):e._e()],1)],1)])}),[],!1,null,"49976d09",null);t.default=component.exports;installComponents(component,{Logo:o(287).default,Ad:o(293).default})},407:function(e,t,o){"use strict";o.r(t);o(31),o(143);var n={name:"AdPlaywire",props:{name:{type:String,required:!0},minWidth:{type:Number,required:!1,default:-1},maxWidth:{type:Number,required:!1,default:-1},type:{type:String,required:!0}},computed:{shouldDisplay:function(){return!(this.minWidth>0&&window.innerWidth0&&window.innerWidth>=this.maxWidth)}},mounted:function(){var e=this;this.shouldDisplay&&window.addEventListener("load",(function(){e.loadAd()}))},methods:{loadAd:function(){var e=this;if(!window.rampAdded){window.rampAdded=!0;var script=document.createElement("script");script.src="https://cdn.intergient.com/1024587/73417/ramp.js",script.async=!0,document.head.appendChild(script),window.ramp=window.ramp||{},window.ramp.que=window.ramp.que||[],window.ramp.passiveMode=!0}window.ramp.que.push((function(){var t=[];t.push({selectorId:e.name,type:e.type});var o=window.ramp;o.addUnits(t).then((function(){o.displayUnits()})).catch((function(e){console.error(e)}))}))}},beforeDestroy:function(){if(window.ramp)try{window.ramp.destroyUnits(this.name)}catch(e){console.log(e)}}},r=o(30),component=Object(r.a)(n,(function(){var e=this,t=e._self._c;return t("client-only",[t("div",{attrs:{id:e.name,type:e.type}})])}),[],!1,null,null,null);t.default=component.exports},710:function(e,t,o){var content=o(1492);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(107).default)("d183ab06",content,!0,{sourceMap:!1})},711:function(e,t,o){var content=o(1494);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(107).default)("fbb2a124",content,!0,{sourceMap:!1})},714:function(e,t,o){var content=o(1496);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(107).default)("0aee17b8",content,!0,{sourceMap:!1})}}]);